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,5 +1,5 @@
1
- import IgcTreeItemComponent from './tree-item.js';
2
- import IgcTreeComponent from './tree.js';
1
+ import type IgcTreeItemComponent from './tree-item.js';
2
+ import type IgcTreeComponent from './tree.js';
3
3
  export declare class IgcTreeSelectionService {
4
4
  private tree;
5
5
  private itemSelection;
@@ -31,8 +31,12 @@ export class IgcTreeSelectionService {
31
31
  const oldIndeterminate = this.getIndeterminateItems();
32
32
  this.itemSelection.clear();
33
33
  this.indeterminateItems.clear();
34
- oldSelection.forEach((i) => (i.selected = false));
35
- oldIndeterminate.forEach((i) => (i.indeterminate = false));
34
+ oldSelection.forEach((i) => {
35
+ i.selected = false;
36
+ });
37
+ oldIndeterminate.forEach((i) => {
38
+ i.indeterminate = false;
39
+ });
36
40
  }
37
41
  isItemSelected(item) {
38
42
  return this.itemSelection.has(item);
@@ -169,7 +173,7 @@ export class IgcTreeSelectionService {
169
173
  itemAndAllChildren.forEach((i) => {
170
174
  this.selectDeselectItem(i, selected);
171
175
  });
172
- if (item && item.parent) {
176
+ if (item?.parent) {
173
177
  parents.add(item.parent);
174
178
  }
175
179
  });
@@ -187,7 +191,7 @@ export class IgcTreeSelectionService {
187
191
  }
188
192
  }
189
193
  handleItemSelectionState(item) {
190
- const itemsArray = item && item.getChildren() ? item.getChildren() : [];
194
+ const itemsArray = item?.getChildren() ? item.getChildren() : [];
191
195
  if (itemsArray.length) {
192
196
  if (itemsArray.every((i) => this.itemsToBeSelected.has(i))) {
193
197
  this.selectDeselectItem(item, true);
@@ -199,13 +203,11 @@ export class IgcTreeSelectionService {
199
203
  this.selectDeselectItem(item, false);
200
204
  }
201
205
  }
206
+ else if (this.isItemSelected(item)) {
207
+ this.selectDeselectItem(item, true);
208
+ }
202
209
  else {
203
- if (this.isItemSelected(item)) {
204
- this.selectDeselectItem(item, true);
205
- }
206
- else {
207
- this.selectDeselectItem(item, false);
208
- }
210
+ this.selectDeselectItem(item, false);
209
211
  }
210
212
  }
211
213
  updateItemsState(oldSelection, oldIndeterminate = []) {
@@ -1 +1 @@
1
- {"version":3,"file":"tree.selection.js","sourceRoot":"","sources":["../../../src/components/tree/tree.selection.ts"],"names":[],"mappings":"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","sourcesContent":["import IgcTreeItemComponent from './tree-item.js';\nimport { IgcSelectionEventArgs } from './tree.common.js';\nimport IgcTreeComponent from './tree.js';\n\n/* blazorSuppress */\nexport class IgcTreeSelectionService {\n private tree!: IgcTreeComponent;\n private itemSelection: Set<IgcTreeItemComponent> =\n new Set<IgcTreeItemComponent>();\n private indeterminateItems: Set<IgcTreeItemComponent> =\n new Set<IgcTreeItemComponent>();\n private itemsToBeSelected!: Set<IgcTreeItemComponent>;\n private itemsToBeIndeterminate!: Set<IgcTreeItemComponent>;\n\n constructor(tree: IgcTreeComponent) {\n this.tree = tree;\n }\n\n /** Select range from last selected item to the current specified item. */\n public selectMultipleItems(item: IgcTreeItemComponent): void {\n if (!this.itemSelection.size) {\n this.selectItem(item);\n return;\n }\n const lastSelectedItemIndex = this.tree.items.indexOf(\n this.getSelectedItems()[this.itemSelection.size - 1]\n );\n const currentItemIndex = this.tree.items.indexOf(item);\n const items = this.tree.items.slice(\n Math.min(currentItemIndex, lastSelectedItemIndex),\n Math.max(currentItemIndex, lastSelectedItemIndex) + 1\n );\n\n const added = items.filter(\n (_item: IgcTreeItemComponent) => !this.isItemSelected(_item)\n );\n const newSelection = this.getSelectedItems().concat(added);\n this.emitItemSelectionEvent(newSelection, added, []);\n }\n\n /** Select the specified item and emit event. */\n public selectItem(item: IgcTreeItemComponent): void {\n if (this.tree.selection === 'none') {\n return;\n }\n this.emitItemSelectionEvent([...this.getSelectedItems(), item], [item], []);\n }\n\n /** Deselect the specified item and emit event. */\n public deselectItem(item: IgcTreeItemComponent): void {\n const newSelection = this.getSelectedItems().filter(\n (_item: IgcTreeItemComponent) => _item !== item\n );\n this.emitItemSelectionEvent(newSelection, [], [item]);\n }\n\n /** Clears item selection */\n public clearItemsSelection(): void {\n const oldSelection = this.getSelectedItems();\n const oldIndeterminate = this.getIndeterminateItems();\n this.itemSelection.clear();\n this.indeterminateItems.clear();\n oldSelection.forEach((i: IgcTreeItemComponent) => (i.selected = false));\n oldIndeterminate.forEach(\n (i: IgcTreeItemComponent) => (i.indeterminate = false)\n );\n }\n\n public isItemSelected(item: IgcTreeItemComponent): boolean {\n return this.itemSelection.has(item);\n }\n\n public isItemIndeterminate(item: IgcTreeItemComponent): boolean {\n return this.indeterminateItems.has(item);\n }\n\n /** Called on item`s disconnectedCallback */\n public ensureStateOnItemDelete(item: IgcTreeItemComponent): void {\n // Don't update the internal state of the deleted items because when moving they should keep it\n // However update the state of their parents\n this.deselectItemsWithNoEvent(\n [item, ...item.getChildren({ flatten: true })],\n true\n );\n }\n\n /** Retrigger the selection state of the item. */\n public retriggerItemState(item: IgcTreeItemComponent): void {\n if (item.selected) {\n this.itemSelection.delete(item);\n this.selectItemsWithNoEvent([item]);\n } else {\n this.itemSelection.add(item);\n this.deselectItemsWithNoEvent([item]);\n }\n }\n\n private emitItemSelectionEvent(\n newSelection: IgcTreeItemComponent[],\n added: IgcTreeItemComponent[],\n removed: IgcTreeItemComponent[]\n ): void {\n const currSelection = this.getSelectedItems();\n if (this.areEqualCollections(currSelection, newSelection)) {\n return;\n }\n\n if (this.tree.selection === 'cascade') {\n this.emitCascadeItemSelectionEvent(currSelection, added, removed);\n return;\n }\n\n const args: IgcSelectionEventArgs = {\n detail: {\n newSelection,\n },\n cancelable: true,\n };\n\n const allowed = this.tree.emitEvent('igcSelection', args);\n if (!allowed) {\n return;\n }\n\n // if newSelection is overwritten do not proceed (Blazor)\n if (this.areEqualCollections(newSelection, args.detail.newSelection)) {\n this.itemSelection = new Set(newSelection);\n this.updateItemsState(currSelection);\n }\n }\n\n /** Select specified items. No event is emitted. */\n public selectItemsWithNoEvent(items: IgcTreeItemComponent[]): void {\n const oldSelection = this.getSelectedItems();\n\n if (this.tree && this.tree.selection === 'cascade') {\n this.cascadeSelectItemsWithNoEvent(items, oldSelection);\n return;\n }\n\n items.forEach((item: IgcTreeItemComponent) => this.itemSelection.add(item));\n\n this.updateItemsState(oldSelection);\n }\n\n /** Deselect specified items. No event is emitted. */\n public deselectItemsWithNoEvent(\n items?: IgcTreeItemComponent[],\n onDelete = false\n ): void {\n if (this.tree && this.tree.selection === 'cascade') {\n this.cascadeDeselectItemsWithNoEvent(items, onDelete);\n return;\n }\n const itemSet = new Set(items);\n const oldSelection = onDelete\n ? this.getSelectedItems().filter(\n (i: IgcTreeItemComponent) => !itemSet!.has(i)\n )\n : this.getSelectedItems();\n\n if (!items) {\n this.itemSelection.clear();\n } else {\n items.forEach((item: IgcTreeItemComponent) =>\n this.itemSelection.delete(item)\n );\n }\n\n this.updateItemsState(oldSelection);\n }\n\n private emitCascadeItemSelectionEvent(\n currSelection: IgcTreeItemComponent[],\n added: IgcTreeItemComponent[],\n removed: IgcTreeItemComponent[]\n ): void {\n const oldIndeterminate = this.getIndeterminateItems();\n\n this.calculateItemsNewSelectionState(currSelection, added, removed);\n\n const args: IgcSelectionEventArgs = {\n detail: {\n newSelection: Array.from(this.itemsToBeSelected),\n },\n cancelable: true,\n };\n\n const allowed = this.tree.emitEvent('igcSelection', args);\n\n if (!allowed) {\n return;\n }\n\n // if newSelection is overwritten do not proceed (Blazor)\n if (\n this.areEqualCollections(\n Array.from(this.itemsToBeSelected),\n args.detail.newSelection\n )\n ) {\n this.itemSelection = new Set<IgcTreeItemComponent>(\n this.itemsToBeSelected\n );\n this.indeterminateItems = new Set(this.itemsToBeIndeterminate);\n this.updateItemsState(currSelection, oldIndeterminate);\n }\n }\n\n private cascadeSelectItemsWithNoEvent(\n items: IgcTreeItemComponent[],\n oldSelection: IgcTreeItemComponent[]\n ): void {\n const oldIndeterminate = this.getIndeterminateItems();\n\n const newSelection = [...oldSelection, ...items];\n\n // retrieve only the rows without their parents/children which has to be added to the selection\n const newSelectionSet = new Set(newSelection);\n const removed = oldSelection!.filter((x) => !newSelectionSet.has(x));\n const added = newSelection!.filter((x) => !this.itemSelection.has(x));\n\n this.calculateItemsNewSelectionState(oldSelection, added, removed);\n\n this.itemSelection = new Set(this.itemsToBeSelected);\n this.indeterminateItems = new Set(this.itemsToBeIndeterminate);\n\n this.updateItemsState(oldSelection, oldIndeterminate);\n }\n\n private cascadeDeselectItemsWithNoEvent(\n items?: IgcTreeItemComponent[],\n onDelete = false\n ): void {\n const itemSet = new Set(items);\n const oldSelection = onDelete\n ? this.getSelectedItems().filter(\n (i: IgcTreeItemComponent) => !itemSet!.has(i)\n )\n : this.getSelectedItems();\n const oldIndeterminate = onDelete\n ? this.getIndeterminateItems().filter(\n (i: IgcTreeItemComponent) => !itemSet!.has(i)\n )\n : this.getIndeterminateItems();\n\n if (!items) {\n this.itemSelection.clear();\n this.indeterminateItems.clear();\n } else {\n this.calculateItemsNewSelectionState(oldSelection, [], items);\n\n this.itemSelection = new Set<IgcTreeItemComponent>(\n this.itemsToBeSelected\n );\n this.indeterminateItems = new Set<IgcTreeItemComponent>(\n this.itemsToBeIndeterminate\n );\n }\n\n this.updateItemsState(oldSelection, oldIndeterminate);\n }\n\n // OK (disabled children?)\n /**\n * populates the itemsToBeSelected and itemsToBeIndeterminate sets\n * with the items which will be eventually in selected/indeterminate state\n */\n private calculateItemsNewSelectionState(\n oldSelection: IgcTreeItemComponent[],\n added: IgcTreeItemComponent[],\n removed: IgcTreeItemComponent[]\n ): void {\n this.itemsToBeSelected = new Set<IgcTreeItemComponent>(oldSelection);\n this.itemsToBeIndeterminate = new Set<IgcTreeItemComponent>(\n this.getIndeterminateItems()\n );\n\n this.cascadeSelectionState(removed, false);\n this.cascadeSelectionState(added, true);\n }\n\n // OK (disabled children?)\n /** Ensures proper selection state for all predescessors and descendants during a selection event */\n private cascadeSelectionState(\n items: IgcTreeItemComponent[] | undefined,\n selected: boolean\n ): void {\n if (!items || items.length === 0) {\n return;\n }\n\n const parents = new Set<IgcTreeItemComponent>();\n items.forEach((item: IgcTreeItemComponent) => {\n // select/deselect items passed by event/api\n this.selectDeselectItem(item, selected);\n\n // select/deselect all of their children\n const itemAndAllChildren = item.getChildren({ flatten: true }) || [];\n itemAndAllChildren.forEach((i: IgcTreeItemComponent) => {\n this.selectDeselectItem(i, selected);\n });\n\n // add their direct parent to the set\n if (item && item.parent) {\n parents.add(item.parent);\n }\n });\n\n // handle direct parents from the set\n for (const parent of parents) {\n this.handleParentSelectionState(parent);\n }\n }\n\n // OK (disabled children?)\n /**\n * recursively handle the selection state of the direct and indirect parents\n */\n private handleParentSelectionState(item: IgcTreeItemComponent): void {\n if (!item) {\n return;\n }\n this.handleItemSelectionState(item);\n if (item.parent) {\n this.handleParentSelectionState(item.parent);\n }\n }\n\n // OK (disabled children?)\n /**\n * Handle the selection state of a given item based the selection states of its direct children\n */\n private handleItemSelectionState(item: IgcTreeItemComponent): void {\n const itemsArray = item && item.getChildren() ? item.getChildren() : [];\n if (itemsArray.length) {\n if (\n itemsArray.every((i: IgcTreeItemComponent) =>\n this.itemsToBeSelected.has(i)\n )\n ) {\n this.selectDeselectItem(item, true);\n } else if (\n itemsArray.some(\n (i: IgcTreeItemComponent) =>\n this.itemsToBeSelected.has(i) || this.itemsToBeIndeterminate.has(i)\n )\n ) {\n this.selectDeselectItem(item, false, true);\n } else {\n this.selectDeselectItem(item, false);\n }\n } else {\n // if the children of the item has been deleted and the item was selected do not change its state\n if (this.isItemSelected(item)) {\n this.selectDeselectItem(item, true);\n } else {\n this.selectDeselectItem(item, false);\n }\n }\n }\n\n /** Emits the `selectedChange` event for each item affected by the selection */\n private updateItemsState(\n oldSelection: IgcTreeItemComponent[],\n oldIndeterminate: IgcTreeItemComponent[] = []\n ): void {\n const selected = new Set<IgcTreeItemComponent>(oldSelection);\n const indeterminated = new Set<IgcTreeItemComponent>(oldIndeterminate);\n\n this.getSelectedItems().forEach((i: IgcTreeItemComponent) => {\n if (!selected.has(i)) {\n i.selected = true;\n }\n });\n\n oldSelection.forEach((i: IgcTreeItemComponent) => {\n if (!this.itemSelection.has(i)) {\n i.selected = false;\n }\n });\n\n if (this.tree.selection === 'cascade') {\n this.indeterminateItems.forEach((i: IgcTreeItemComponent) => {\n if (!indeterminated.has(i)) {\n i.indeterminate = true;\n }\n });\n\n oldIndeterminate.forEach((i: IgcTreeItemComponent) => {\n if (!this.indeterminateItems.has(i)) {\n i.indeterminate = false;\n }\n });\n }\n }\n\n /** Returns array of the selected items. */\n private getSelectedItems(): IgcTreeItemComponent[] {\n return this.itemSelection.size ? Array.from(this.itemSelection) : [];\n }\n\n /** Returns array of the items in indeterminate state. */\n private getIndeterminateItems(): IgcTreeItemComponent[] {\n return this.indeterminateItems.size\n ? Array.from(this.indeterminateItems)\n : [];\n }\n\n private areEqualCollections(\n first: IgcTreeItemComponent[],\n second: IgcTreeItemComponent[]\n ): boolean {\n return (\n first.length === second.length &&\n new Set(first.concat(second)).size === first.length\n );\n }\n\n private selectDeselectItem(\n item: IgcTreeItemComponent,\n select: boolean,\n indeterminate = false\n ): void {\n if (indeterminate) {\n this.itemsToBeIndeterminate.add(item);\n this.itemsToBeSelected.delete(item);\n return;\n }\n\n if (select) {\n this.itemsToBeSelected.add(item);\n this.itemsToBeIndeterminate.delete(item);\n } else {\n this.itemsToBeSelected.delete(item);\n this.itemsToBeIndeterminate.delete(item);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"tree.selection.js","sourceRoot":"","sources":["../../../src/components/tree/tree.selection.ts"],"names":[],"mappings":"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","sourcesContent":["import type IgcTreeItemComponent from './tree-item.js';\nimport type { IgcSelectionEventArgs } from './tree.common.js';\nimport type IgcTreeComponent from './tree.js';\n\n/* blazorSuppress */\nexport class IgcTreeSelectionService {\n private tree!: IgcTreeComponent;\n private itemSelection: Set<IgcTreeItemComponent> =\n new Set<IgcTreeItemComponent>();\n private indeterminateItems: Set<IgcTreeItemComponent> =\n new Set<IgcTreeItemComponent>();\n private itemsToBeSelected!: Set<IgcTreeItemComponent>;\n private itemsToBeIndeterminate!: Set<IgcTreeItemComponent>;\n\n constructor(tree: IgcTreeComponent) {\n this.tree = tree;\n }\n\n /** Select range from last selected item to the current specified item. */\n public selectMultipleItems(item: IgcTreeItemComponent): void {\n if (!this.itemSelection.size) {\n this.selectItem(item);\n return;\n }\n const lastSelectedItemIndex = this.tree.items.indexOf(\n this.getSelectedItems()[this.itemSelection.size - 1]\n );\n const currentItemIndex = this.tree.items.indexOf(item);\n const items = this.tree.items.slice(\n Math.min(currentItemIndex, lastSelectedItemIndex),\n Math.max(currentItemIndex, lastSelectedItemIndex) + 1\n );\n\n const added = items.filter(\n (_item: IgcTreeItemComponent) => !this.isItemSelected(_item)\n );\n const newSelection = this.getSelectedItems().concat(added);\n this.emitItemSelectionEvent(newSelection, added, []);\n }\n\n /** Select the specified item and emit event. */\n public selectItem(item: IgcTreeItemComponent): void {\n if (this.tree.selection === 'none') {\n return;\n }\n this.emitItemSelectionEvent([...this.getSelectedItems(), item], [item], []);\n }\n\n /** Deselect the specified item and emit event. */\n public deselectItem(item: IgcTreeItemComponent): void {\n const newSelection = this.getSelectedItems().filter(\n (_item: IgcTreeItemComponent) => _item !== item\n );\n this.emitItemSelectionEvent(newSelection, [], [item]);\n }\n\n /** Clears item selection */\n public clearItemsSelection(): void {\n const oldSelection = this.getSelectedItems();\n const oldIndeterminate = this.getIndeterminateItems();\n this.itemSelection.clear();\n this.indeterminateItems.clear();\n oldSelection.forEach((i: IgcTreeItemComponent) => {\n i.selected = false;\n });\n oldIndeterminate.forEach((i: IgcTreeItemComponent) => {\n i.indeterminate = false;\n });\n }\n\n public isItemSelected(item: IgcTreeItemComponent): boolean {\n return this.itemSelection.has(item);\n }\n\n public isItemIndeterminate(item: IgcTreeItemComponent): boolean {\n return this.indeterminateItems.has(item);\n }\n\n /** Called on item`s disconnectedCallback */\n public ensureStateOnItemDelete(item: IgcTreeItemComponent): void {\n // Don't update the internal state of the deleted items because when moving they should keep it\n // However update the state of their parents\n this.deselectItemsWithNoEvent(\n [item, ...item.getChildren({ flatten: true })],\n true\n );\n }\n\n /** Retrigger the selection state of the item. */\n public retriggerItemState(item: IgcTreeItemComponent): void {\n if (item.selected) {\n this.itemSelection.delete(item);\n this.selectItemsWithNoEvent([item]);\n } else {\n this.itemSelection.add(item);\n this.deselectItemsWithNoEvent([item]);\n }\n }\n\n private emitItemSelectionEvent(\n newSelection: IgcTreeItemComponent[],\n added: IgcTreeItemComponent[],\n removed: IgcTreeItemComponent[]\n ): void {\n const currSelection = this.getSelectedItems();\n if (this.areEqualCollections(currSelection, newSelection)) {\n return;\n }\n\n if (this.tree.selection === 'cascade') {\n this.emitCascadeItemSelectionEvent(currSelection, added, removed);\n return;\n }\n\n const args: IgcSelectionEventArgs = {\n detail: {\n newSelection,\n },\n cancelable: true,\n };\n\n const allowed = this.tree.emitEvent('igcSelection', args);\n if (!allowed) {\n return;\n }\n\n // if newSelection is overwritten do not proceed (Blazor)\n if (this.areEqualCollections(newSelection, args.detail.newSelection)) {\n this.itemSelection = new Set(newSelection);\n this.updateItemsState(currSelection);\n }\n }\n\n /** Select specified items. No event is emitted. */\n public selectItemsWithNoEvent(items: IgcTreeItemComponent[]): void {\n const oldSelection = this.getSelectedItems();\n\n if (this.tree && this.tree.selection === 'cascade') {\n this.cascadeSelectItemsWithNoEvent(items, oldSelection);\n return;\n }\n\n items.forEach((item: IgcTreeItemComponent) => this.itemSelection.add(item));\n\n this.updateItemsState(oldSelection);\n }\n\n /** Deselect specified items. No event is emitted. */\n public deselectItemsWithNoEvent(\n items?: IgcTreeItemComponent[],\n onDelete = false\n ): void {\n if (this.tree && this.tree.selection === 'cascade') {\n this.cascadeDeselectItemsWithNoEvent(items, onDelete);\n return;\n }\n const itemSet = new Set(items);\n const oldSelection = onDelete\n ? this.getSelectedItems().filter(\n (i: IgcTreeItemComponent) => !itemSet!.has(i)\n )\n : this.getSelectedItems();\n\n if (!items) {\n this.itemSelection.clear();\n } else {\n items.forEach((item: IgcTreeItemComponent) =>\n this.itemSelection.delete(item)\n );\n }\n\n this.updateItemsState(oldSelection);\n }\n\n private emitCascadeItemSelectionEvent(\n currSelection: IgcTreeItemComponent[],\n added: IgcTreeItemComponent[],\n removed: IgcTreeItemComponent[]\n ): void {\n const oldIndeterminate = this.getIndeterminateItems();\n\n this.calculateItemsNewSelectionState(currSelection, added, removed);\n\n const args: IgcSelectionEventArgs = {\n detail: {\n newSelection: Array.from(this.itemsToBeSelected),\n },\n cancelable: true,\n };\n\n const allowed = this.tree.emitEvent('igcSelection', args);\n\n if (!allowed) {\n return;\n }\n\n // if newSelection is overwritten do not proceed (Blazor)\n if (\n this.areEqualCollections(\n Array.from(this.itemsToBeSelected),\n args.detail.newSelection\n )\n ) {\n this.itemSelection = new Set<IgcTreeItemComponent>(\n this.itemsToBeSelected\n );\n this.indeterminateItems = new Set(this.itemsToBeIndeterminate);\n this.updateItemsState(currSelection, oldIndeterminate);\n }\n }\n\n private cascadeSelectItemsWithNoEvent(\n items: IgcTreeItemComponent[],\n oldSelection: IgcTreeItemComponent[]\n ): void {\n const oldIndeterminate = this.getIndeterminateItems();\n\n const newSelection = [...oldSelection, ...items];\n\n // retrieve only the rows without their parents/children which has to be added to the selection\n const newSelectionSet = new Set(newSelection);\n const removed = oldSelection!.filter((x) => !newSelectionSet.has(x));\n const added = newSelection!.filter((x) => !this.itemSelection.has(x));\n\n this.calculateItemsNewSelectionState(oldSelection, added, removed);\n\n this.itemSelection = new Set(this.itemsToBeSelected);\n this.indeterminateItems = new Set(this.itemsToBeIndeterminate);\n\n this.updateItemsState(oldSelection, oldIndeterminate);\n }\n\n private cascadeDeselectItemsWithNoEvent(\n items?: IgcTreeItemComponent[],\n onDelete = false\n ): void {\n const itemSet = new Set(items);\n const oldSelection = onDelete\n ? this.getSelectedItems().filter(\n (i: IgcTreeItemComponent) => !itemSet!.has(i)\n )\n : this.getSelectedItems();\n const oldIndeterminate = onDelete\n ? this.getIndeterminateItems().filter(\n (i: IgcTreeItemComponent) => !itemSet!.has(i)\n )\n : this.getIndeterminateItems();\n\n if (!items) {\n this.itemSelection.clear();\n this.indeterminateItems.clear();\n } else {\n this.calculateItemsNewSelectionState(oldSelection, [], items);\n\n this.itemSelection = new Set<IgcTreeItemComponent>(\n this.itemsToBeSelected\n );\n this.indeterminateItems = new Set<IgcTreeItemComponent>(\n this.itemsToBeIndeterminate\n );\n }\n\n this.updateItemsState(oldSelection, oldIndeterminate);\n }\n\n // OK (disabled children?)\n /**\n * populates the itemsToBeSelected and itemsToBeIndeterminate sets\n * with the items which will be eventually in selected/indeterminate state\n */\n private calculateItemsNewSelectionState(\n oldSelection: IgcTreeItemComponent[],\n added: IgcTreeItemComponent[],\n removed: IgcTreeItemComponent[]\n ): void {\n this.itemsToBeSelected = new Set<IgcTreeItemComponent>(oldSelection);\n this.itemsToBeIndeterminate = new Set<IgcTreeItemComponent>(\n this.getIndeterminateItems()\n );\n\n this.cascadeSelectionState(removed, false);\n this.cascadeSelectionState(added, true);\n }\n\n // OK (disabled children?)\n /** Ensures proper selection state for all predescessors and descendants during a selection event */\n private cascadeSelectionState(\n items: IgcTreeItemComponent[] | undefined,\n selected: boolean\n ): void {\n if (!items || items.length === 0) {\n return;\n }\n\n const parents = new Set<IgcTreeItemComponent>();\n items.forEach((item: IgcTreeItemComponent) => {\n // select/deselect items passed by event/api\n this.selectDeselectItem(item, selected);\n\n // select/deselect all of their children\n const itemAndAllChildren = item.getChildren({ flatten: true }) || [];\n itemAndAllChildren.forEach((i: IgcTreeItemComponent) => {\n this.selectDeselectItem(i, selected);\n });\n\n // add their direct parent to the set\n if (item?.parent) {\n parents.add(item.parent);\n }\n });\n\n // handle direct parents from the set\n for (const parent of parents) {\n this.handleParentSelectionState(parent);\n }\n }\n\n // OK (disabled children?)\n /**\n * recursively handle the selection state of the direct and indirect parents\n */\n private handleParentSelectionState(item: IgcTreeItemComponent): void {\n if (!item) {\n return;\n }\n this.handleItemSelectionState(item);\n if (item.parent) {\n this.handleParentSelectionState(item.parent);\n }\n }\n\n // OK (disabled children?)\n /**\n * Handle the selection state of a given item based the selection states of its direct children\n */\n private handleItemSelectionState(item: IgcTreeItemComponent): void {\n const itemsArray = item?.getChildren() ? item.getChildren() : [];\n if (itemsArray.length) {\n if (\n itemsArray.every((i: IgcTreeItemComponent) =>\n this.itemsToBeSelected.has(i)\n )\n ) {\n this.selectDeselectItem(item, true);\n } else if (\n itemsArray.some(\n (i: IgcTreeItemComponent) =>\n this.itemsToBeSelected.has(i) || this.itemsToBeIndeterminate.has(i)\n )\n ) {\n this.selectDeselectItem(item, false, true);\n } else {\n this.selectDeselectItem(item, false);\n }\n } else if (this.isItemSelected(item)) {\n // if the children of the item has been deleted and the item was selected do not change its state\n this.selectDeselectItem(item, true);\n } else {\n this.selectDeselectItem(item, false);\n }\n }\n\n /** Emits the `selectedChange` event for each item affected by the selection */\n private updateItemsState(\n oldSelection: IgcTreeItemComponent[],\n oldIndeterminate: IgcTreeItemComponent[] = []\n ): void {\n const selected = new Set<IgcTreeItemComponent>(oldSelection);\n const indeterminated = new Set<IgcTreeItemComponent>(oldIndeterminate);\n\n this.getSelectedItems().forEach((i: IgcTreeItemComponent) => {\n if (!selected.has(i)) {\n i.selected = true;\n }\n });\n\n oldSelection.forEach((i: IgcTreeItemComponent) => {\n if (!this.itemSelection.has(i)) {\n i.selected = false;\n }\n });\n\n if (this.tree.selection === 'cascade') {\n this.indeterminateItems.forEach((i: IgcTreeItemComponent) => {\n if (!indeterminated.has(i)) {\n i.indeterminate = true;\n }\n });\n\n oldIndeterminate.forEach((i: IgcTreeItemComponent) => {\n if (!this.indeterminateItems.has(i)) {\n i.indeterminate = false;\n }\n });\n }\n }\n\n /** Returns array of the selected items. */\n private getSelectedItems(): IgcTreeItemComponent[] {\n return this.itemSelection.size ? Array.from(this.itemSelection) : [];\n }\n\n /** Returns array of the items in indeterminate state. */\n private getIndeterminateItems(): IgcTreeItemComponent[] {\n return this.indeterminateItems.size\n ? Array.from(this.indeterminateItems)\n : [];\n }\n\n private areEqualCollections(\n first: IgcTreeItemComponent[],\n second: IgcTreeItemComponent[]\n ): boolean {\n return (\n first.length === second.length &&\n new Set(first.concat(second)).size === first.length\n );\n }\n\n private selectDeselectItem(\n item: IgcTreeItemComponent,\n select: boolean,\n indeterminate = false\n ): void {\n if (indeterminate) {\n this.itemsToBeIndeterminate.add(item);\n this.itemsToBeSelected.delete(item);\n return;\n }\n\n if (select) {\n this.itemsToBeSelected.add(item);\n this.itemsToBeIndeterminate.delete(item);\n } else {\n this.itemsToBeSelected.delete(item);\n this.itemsToBeIndeterminate.delete(item);\n }\n }\n}\n"]}