igniteui-webcomponents 5.3.0 → 5.4.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 (491) hide show
  1. package/CHANGELOG.md +100 -0
  2. package/README.md +10 -5
  3. package/animations/player.d.ts +1 -0
  4. package/animations/player.js +7 -0
  5. package/animations/player.js.map +1 -1
  6. package/animations/presets/scale/index.d.ts +2 -0
  7. package/animations/presets/scale/index.js +12 -0
  8. package/animations/presets/scale/index.js.map +1 -0
  9. package/components/avatar/avatar.d.ts +2 -1
  10. package/components/avatar/avatar.js.map +1 -1
  11. package/components/badge/badge.d.ts +2 -2
  12. package/components/badge/badge.js.map +1 -1
  13. package/components/button/button.d.ts +2 -1
  14. package/components/button/button.js.map +1 -1
  15. package/components/button/icon-button.d.ts +2 -1
  16. package/components/button/icon-button.js.map +1 -1
  17. package/components/button-group/button-group.d.ts +3 -2
  18. package/components/button-group/button-group.js.map +1 -1
  19. package/components/button-group/themes/light/button-group.indigo.css.js +1 -1
  20. package/components/button-group/themes/light/button-group.indigo.css.js.map +1 -1
  21. package/components/calendar/base.d.ts +2 -2
  22. package/components/calendar/base.js.map +1 -1
  23. package/components/calendar/calendar.d.ts +5 -4
  24. package/components/calendar/calendar.js.map +1 -1
  25. package/components/calendar/days-view/days-view.js +5 -1
  26. package/components/calendar/days-view/days-view.js.map +1 -1
  27. package/components/calendar/themes/calendar.base.css.js +1 -1
  28. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  29. package/components/calendar/themes/dark/calendar.bootstrap.css.js +1 -1
  30. package/components/calendar/themes/dark/calendar.bootstrap.css.js.map +1 -1
  31. package/components/calendar/themes/dark/calendar.fluent.css.js +1 -1
  32. package/components/calendar/themes/dark/calendar.fluent.css.js.map +1 -1
  33. package/components/calendar/themes/dark/calendar.indigo.css.js +1 -1
  34. package/components/calendar/themes/dark/calendar.indigo.css.js.map +1 -1
  35. package/components/calendar/themes/dark/calendar.material.css.js +1 -1
  36. package/components/calendar/themes/dark/calendar.material.css.js.map +1 -1
  37. package/components/calendar/themes/light/calendar.bootstrap.css.js +1 -1
  38. package/components/calendar/themes/light/calendar.bootstrap.css.js.map +1 -1
  39. package/components/calendar/themes/light/calendar.fluent.css.js +1 -1
  40. package/components/calendar/themes/light/calendar.fluent.css.js.map +1 -1
  41. package/components/calendar/themes/light/calendar.indigo.css.js +1 -1
  42. package/components/calendar/themes/light/calendar.indigo.css.js.map +1 -1
  43. package/components/calendar/themes/light/calendar.material.css.js +1 -1
  44. package/components/calendar/themes/light/calendar.material.css.js.map +1 -1
  45. package/components/calendar/themes/light/calendar.shared.css.js +1 -1
  46. package/components/calendar/themes/light/calendar.shared.css.js.map +1 -1
  47. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js +1 -1
  48. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js.map +1 -1
  49. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js +1 -1
  50. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js.map +1 -1
  51. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js +1 -1
  52. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js.map +1 -1
  53. package/components/calendar/themes/shared/fluent/days-view.fluent.css.js +1 -1
  54. package/components/calendar/themes/shared/fluent/days-view.fluent.css.js.map +1 -1
  55. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js +1 -1
  56. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js.map +1 -1
  57. package/components/calendar/themes/shared/material/calendar.material.css.js +1 -1
  58. package/components/calendar/themes/shared/material/calendar.material.css.js.map +1 -1
  59. package/components/calendar/themes/shared/material/days-view.material.css.js +1 -1
  60. package/components/calendar/themes/shared/material/days-view.material.css.js.map +1 -1
  61. package/components/calendar/types.d.ts +3 -0
  62. package/components/calendar/types.js.map +1 -1
  63. package/components/card/card.actions.d.ts +2 -1
  64. package/components/card/card.actions.js.map +1 -1
  65. package/components/card/themes/card.actions.base.css.js +1 -1
  66. package/components/card/themes/card.actions.base.css.js.map +1 -1
  67. package/components/card/themes/container.js +2 -1
  68. package/components/card/themes/container.js.map +1 -1
  69. package/components/card/themes/dark/card.bootstrap.css.js +1 -1
  70. package/components/card/themes/dark/card.bootstrap.css.js.map +1 -1
  71. package/components/card/themes/dark/card.fluent.css.js +1 -1
  72. package/components/card/themes/dark/card.fluent.css.js.map +1 -1
  73. package/components/card/themes/dark/card.indigo.css.js +1 -1
  74. package/components/card/themes/dark/card.indigo.css.js.map +1 -1
  75. package/components/card/themes/dark/card.material.css.js +1 -1
  76. package/components/card/themes/dark/card.material.css.js.map +1 -1
  77. package/components/card/themes/dark/card.shared.css.js +1 -1
  78. package/components/card/themes/dark/card.shared.css.js.map +1 -1
  79. package/components/card/themes/light/container/card.bootstrap.css.js +1 -1
  80. package/components/card/themes/light/container/card.bootstrap.css.js.map +1 -1
  81. package/components/card/themes/light/container/card.fluent.css.js +1 -1
  82. package/components/card/themes/light/container/card.fluent.css.js.map +1 -1
  83. package/components/card/themes/light/container/card.indigo.css.js +1 -1
  84. package/components/card/themes/light/container/card.indigo.css.js.map +1 -1
  85. package/components/card/themes/light/container/card.material.css.js +1 -1
  86. package/components/card/themes/light/container/card.material.css.js.map +1 -1
  87. package/components/card/themes/light/container/card.shared.css.js +1 -1
  88. package/components/card/themes/light/container/card.shared.css.js.map +1 -1
  89. package/components/card/themes/shared/container/card.bootstrap.css.d.ts +1 -0
  90. package/components/card/themes/shared/container/card.bootstrap.css.js +3 -0
  91. package/components/card/themes/shared/container/card.bootstrap.css.js.map +1 -0
  92. package/components/card/themes/shared/container/card.indigo.css.js +1 -1
  93. package/components/card/themes/shared/container/card.indigo.css.js.map +1 -1
  94. package/components/card/themes/shared/content/card.content.bootstrap.css.js +1 -1
  95. package/components/card/themes/shared/content/card.content.bootstrap.css.js.map +1 -1
  96. package/components/card/themes/shared/header/card.header.bootstrap.css.js +1 -1
  97. package/components/card/themes/shared/header/card.header.bootstrap.css.js.map +1 -1
  98. package/components/card/themes/shared/header/card.header.fluent.css.js +1 -1
  99. package/components/card/themes/shared/header/card.header.fluent.css.js.map +1 -1
  100. package/components/card/themes/shared/header/card.header.indigo.css.js +1 -1
  101. package/components/card/themes/shared/header/card.header.indigo.css.js.map +1 -1
  102. package/components/carousel/carousel-slide.d.ts +5 -1
  103. package/components/carousel/carousel-slide.js.map +1 -1
  104. package/components/carousel/carousel.d.ts +3 -2
  105. package/components/carousel/carousel.js.map +1 -1
  106. package/components/carousel/themes/dark/carousel.bootstrap.css.js +1 -1
  107. package/components/carousel/themes/dark/carousel.bootstrap.css.js.map +1 -1
  108. package/components/carousel/themes/dark/carousel.fluent.css.js +1 -1
  109. package/components/carousel/themes/dark/carousel.fluent.css.js.map +1 -1
  110. package/components/carousel/themes/dark/carousel.indigo.css.js +1 -1
  111. package/components/carousel/themes/dark/carousel.indigo.css.js.map +1 -1
  112. package/components/carousel/themes/dark/carousel.material.css.js +1 -1
  113. package/components/carousel/themes/dark/carousel.material.css.js.map +1 -1
  114. package/components/carousel/themes/light/carousel.bootstrap.css.js +1 -1
  115. package/components/carousel/themes/light/carousel.bootstrap.css.js.map +1 -1
  116. package/components/carousel/themes/light/carousel.fluent.css.js +1 -1
  117. package/components/carousel/themes/light/carousel.fluent.css.js.map +1 -1
  118. package/components/carousel/themes/light/carousel.indigo.css.js +1 -1
  119. package/components/carousel/themes/light/carousel.indigo.css.js.map +1 -1
  120. package/components/carousel/themes/light/carousel.material.css.js +1 -1
  121. package/components/carousel/themes/light/carousel.material.css.js.map +1 -1
  122. package/components/carousel/themes/shared/carousel.bootstrap.css.js +1 -1
  123. package/components/carousel/themes/shared/carousel.bootstrap.css.js.map +1 -1
  124. package/components/carousel/themes/shared/carousel.common.css.js +1 -1
  125. package/components/carousel/themes/shared/carousel.common.css.js.map +1 -1
  126. package/components/carousel/themes/shared/carousel.fluent.css.js +1 -1
  127. package/components/carousel/themes/shared/carousel.fluent.css.js.map +1 -1
  128. package/components/carousel/themes/shared/carousel.indigo.css.js +1 -1
  129. package/components/carousel/themes/shared/carousel.indigo.css.js.map +1 -1
  130. package/components/checkbox/checkbox-base.d.ts +6 -3
  131. package/components/checkbox/checkbox-base.js.map +1 -1
  132. package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js +1 -1
  133. package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js.map +1 -1
  134. package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js +1 -1
  135. package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js.map +1 -1
  136. package/components/checkbox/themes/dark/checkbox/checkbox.indigo.css.js +1 -1
  137. package/components/checkbox/themes/dark/checkbox/checkbox.indigo.css.js.map +1 -1
  138. package/components/checkbox/themes/dark/checkbox/checkbox.material.css.js +1 -1
  139. package/components/checkbox/themes/dark/checkbox/checkbox.material.css.js.map +1 -1
  140. package/components/checkbox/themes/dark/switch/switch.bootstrap.css.js +1 -1
  141. package/components/checkbox/themes/dark/switch/switch.bootstrap.css.js.map +1 -1
  142. package/components/checkbox/themes/dark/switch/switch.fluent.css.js +1 -1
  143. package/components/checkbox/themes/dark/switch/switch.fluent.css.js.map +1 -1
  144. package/components/checkbox/themes/dark/switch/switch.indigo.css.js +1 -1
  145. package/components/checkbox/themes/dark/switch/switch.indigo.css.js.map +1 -1
  146. package/components/checkbox/themes/dark/switch/switch.material.css.js +1 -1
  147. package/components/checkbox/themes/dark/switch/switch.material.css.js.map +1 -1
  148. package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.js +1 -1
  149. package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.js.map +1 -1
  150. package/components/checkbox/themes/light/checkbox/checkbox.fluent.css.js +1 -1
  151. package/components/checkbox/themes/light/checkbox/checkbox.fluent.css.js.map +1 -1
  152. package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.js +1 -1
  153. package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.js.map +1 -1
  154. package/components/checkbox/themes/light/checkbox/checkbox.material.css.js +1 -1
  155. package/components/checkbox/themes/light/checkbox/checkbox.material.css.js.map +1 -1
  156. package/components/checkbox/themes/light/switch/switch.bootstrap.css.js +1 -1
  157. package/components/checkbox/themes/light/switch/switch.bootstrap.css.js.map +1 -1
  158. package/components/checkbox/themes/light/switch/switch.fluent.css.js +1 -1
  159. package/components/checkbox/themes/light/switch/switch.fluent.css.js.map +1 -1
  160. package/components/checkbox/themes/light/switch/switch.indigo.css.js +1 -1
  161. package/components/checkbox/themes/light/switch/switch.indigo.css.js.map +1 -1
  162. package/components/checkbox/themes/light/switch/switch.material.css.js +1 -1
  163. package/components/checkbox/themes/light/switch/switch.material.css.js.map +1 -1
  164. package/components/checkbox/themes/light/switch/switch.shared.css.js +1 -1
  165. package/components/checkbox/themes/light/switch/switch.shared.css.js.map +1 -1
  166. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
  167. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
  168. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js +1 -1
  169. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js.map +1 -1
  170. package/components/checkbox/themes/shared/switch/switch.common.css.js +1 -1
  171. package/components/checkbox/themes/shared/switch/switch.common.css.js.map +1 -1
  172. package/components/checkbox/themes/shared/switch/switch.fluent.css.js +1 -1
  173. package/components/checkbox/themes/shared/switch/switch.fluent.css.js.map +1 -1
  174. package/components/checkbox/themes/shared/switch/switch.indigo.css.js +1 -1
  175. package/components/checkbox/themes/shared/switch/switch.indigo.css.js.map +1 -1
  176. package/components/checkbox/themes/shared/switch/switch.material.css.js +1 -1
  177. package/components/checkbox/themes/shared/switch/switch.material.css.js.map +1 -1
  178. package/components/chip/themes/dark/chip.bootstrap.css.js +1 -1
  179. package/components/chip/themes/dark/chip.bootstrap.css.js.map +1 -1
  180. package/components/chip/themes/light/chip.bootstrap.css.js +1 -1
  181. package/components/chip/themes/light/chip.bootstrap.css.js.map +1 -1
  182. package/components/chip/themes/shared/chip.bootstrap.css.js +1 -1
  183. package/components/chip/themes/shared/chip.bootstrap.css.js.map +1 -1
  184. package/components/combo/combo.d.ts +2 -2
  185. package/components/combo/combo.js +23 -12
  186. package/components/combo/combo.js.map +1 -1
  187. package/components/combo/themes/dark/combo.bootstrap.css.js +1 -1
  188. package/components/combo/themes/dark/combo.bootstrap.css.js.map +1 -1
  189. package/components/combo/themes/dark/combo.fluent.css.js +1 -1
  190. package/components/combo/themes/dark/combo.fluent.css.js.map +1 -1
  191. package/components/combo/themes/dark/combo.indigo.css.js +1 -1
  192. package/components/combo/themes/dark/combo.indigo.css.js.map +1 -1
  193. package/components/combo/themes/dark/combo.material.css.js +1 -1
  194. package/components/combo/themes/dark/combo.material.css.js.map +1 -1
  195. package/components/combo/themes/light/combo.bootstrap.css.js +1 -1
  196. package/components/combo/themes/light/combo.bootstrap.css.js.map +1 -1
  197. package/components/combo/themes/light/combo.fluent.css.js +1 -1
  198. package/components/combo/themes/light/combo.fluent.css.js.map +1 -1
  199. package/components/combo/themes/light/combo.indigo.css.js +1 -1
  200. package/components/combo/themes/light/combo.indigo.css.js.map +1 -1
  201. package/components/combo/themes/light/combo.material.css.js +1 -1
  202. package/components/combo/themes/light/combo.material.css.js.map +1 -1
  203. package/components/combo/themes/light/combo.shared.css.js +1 -1
  204. package/components/combo/themes/light/combo.shared.css.js.map +1 -1
  205. package/components/common/controllers/drag.d.ts +13 -0
  206. package/components/common/controllers/drag.js +30 -4
  207. package/components/common/controllers/drag.js.map +1 -1
  208. package/components/common/controllers/root-scroll.d.ts +2 -1
  209. package/components/common/controllers/root-scroll.js.map +1 -1
  210. package/components/common/definitions/defineAllComponents.js +2 -0
  211. package/components/common/definitions/defineAllComponents.js.map +1 -1
  212. package/components/common/mixins/alert.d.ts +2 -1
  213. package/components/common/mixins/alert.js.map +1 -1
  214. package/components/common/mixins/forms/associated.js +1 -1
  215. package/components/common/mixins/forms/associated.js.map +1 -1
  216. package/components/common/mixins/forms/form-value.d.ts +1 -0
  217. package/components/common/mixins/forms/form-value.js +16 -0
  218. package/components/common/mixins/forms/form-value.js.map +1 -1
  219. package/components/common/util.d.ts +11 -3
  220. package/components/common/util.js +110 -3
  221. package/components/common/util.js.map +1 -1
  222. package/components/date-picker/date-picker.d.ts +5 -5
  223. package/components/date-picker/date-picker.js.map +1 -1
  224. package/components/date-picker/themes/dark/date-picker.bootstrap.css.js +1 -1
  225. package/components/date-picker/themes/dark/date-picker.bootstrap.css.js.map +1 -1
  226. package/components/date-picker/themes/dark/date-picker.fluent.css.js +1 -1
  227. package/components/date-picker/themes/dark/date-picker.fluent.css.js.map +1 -1
  228. package/components/date-picker/themes/dark/date-picker.indigo.css.js +1 -1
  229. package/components/date-picker/themes/dark/date-picker.indigo.css.js.map +1 -1
  230. package/components/date-picker/themes/dark/date-picker.material.css.js +1 -1
  231. package/components/date-picker/themes/dark/date-picker.material.css.js.map +1 -1
  232. package/components/date-picker/themes/light/date-picker.bootstrap.css.js +1 -1
  233. package/components/date-picker/themes/light/date-picker.bootstrap.css.js.map +1 -1
  234. package/components/date-picker/themes/light/date-picker.fluent.css.js +1 -1
  235. package/components/date-picker/themes/light/date-picker.fluent.css.js.map +1 -1
  236. package/components/date-picker/themes/light/date-picker.indigo.css.js +1 -1
  237. package/components/date-picker/themes/light/date-picker.indigo.css.js.map +1 -1
  238. package/components/date-picker/themes/light/date-picker.material.css.js +1 -1
  239. package/components/date-picker/themes/light/date-picker.material.css.js.map +1 -1
  240. package/components/date-picker/themes/light/date-picker.shared.css.js +1 -1
  241. package/components/date-picker/themes/light/date-picker.shared.css.js.map +1 -1
  242. package/components/date-picker/themes/shared/date-picker.fluent.css.js +1 -1
  243. package/components/date-picker/themes/shared/date-picker.fluent.css.js.map +1 -1
  244. package/components/divider/divider.d.ts +2 -1
  245. package/components/divider/divider.js.map +1 -1
  246. package/components/dropdown/dropdown.d.ts +4 -4
  247. package/components/dropdown/dropdown.js.map +1 -1
  248. package/components/dropdown/themes/dark/dropdown.bootstrap.css.js +1 -1
  249. package/components/dropdown/themes/dark/dropdown.bootstrap.css.js.map +1 -1
  250. package/components/dropdown/themes/dark/dropdown.fluent.css.js +1 -1
  251. package/components/dropdown/themes/dark/dropdown.fluent.css.js.map +1 -1
  252. package/components/dropdown/themes/dark/dropdown.indigo.css.js +1 -1
  253. package/components/dropdown/themes/dark/dropdown.indigo.css.js.map +1 -1
  254. package/components/dropdown/themes/dark/dropdown.material.css.js +1 -1
  255. package/components/dropdown/themes/dark/dropdown.material.css.js.map +1 -1
  256. package/components/dropdown/themes/dark/dropdown.shared.css.js +1 -1
  257. package/components/dropdown/themes/dark/dropdown.shared.css.js.map +1 -1
  258. package/components/dropdown/themes/light/dropdown.bootstrap.css.js +1 -1
  259. package/components/dropdown/themes/light/dropdown.bootstrap.css.js.map +1 -1
  260. package/components/dropdown/themes/light/dropdown.fluent.css.js +1 -1
  261. package/components/dropdown/themes/light/dropdown.fluent.css.js.map +1 -1
  262. package/components/dropdown/themes/light/dropdown.indigo.css.js +1 -1
  263. package/components/dropdown/themes/light/dropdown.indigo.css.js.map +1 -1
  264. package/components/dropdown/themes/light/dropdown.material.css.js +1 -1
  265. package/components/dropdown/themes/light/dropdown.material.css.js.map +1 -1
  266. package/components/dropdown/themes/light/dropdown.shared.css.js +1 -1
  267. package/components/dropdown/themes/light/dropdown.shared.css.js.map +1 -1
  268. package/components/expansion-panel/expansion-panel.d.ts +2 -1
  269. package/components/expansion-panel/expansion-panel.js.map +1 -1
  270. package/components/file-input/file-input.d.ts +85 -0
  271. package/components/file-input/file-input.js +155 -0
  272. package/components/file-input/file-input.js.map +1 -0
  273. package/components/file-input/themes/file-input.base.css.d.ts +1 -0
  274. package/components/file-input/themes/file-input.base.css.js +3 -0
  275. package/components/file-input/themes/file-input.base.css.js.map +1 -0
  276. package/components/file-input/themes/shared/file-input.bootstrap.css.d.ts +1 -0
  277. package/components/file-input/themes/shared/file-input.bootstrap.css.js +3 -0
  278. package/components/file-input/themes/shared/file-input.bootstrap.css.js.map +1 -0
  279. package/components/file-input/themes/shared/file-input.fluent.css.d.ts +1 -0
  280. package/components/file-input/themes/shared/file-input.fluent.css.js +3 -0
  281. package/components/file-input/themes/shared/file-input.fluent.css.js.map +1 -0
  282. package/components/file-input/themes/shared/file-input.indigo.css.d.ts +1 -0
  283. package/components/file-input/themes/shared/file-input.indigo.css.js +3 -0
  284. package/components/file-input/themes/shared/file-input.indigo.css.js.map +1 -0
  285. package/components/file-input/themes/shared/file-input.material.css.d.ts +1 -0
  286. package/components/file-input/themes/shared/file-input.material.css.js +3 -0
  287. package/components/file-input/themes/shared/file-input.material.css.js.map +1 -0
  288. package/components/file-input/themes/themes.d.ts +2 -0
  289. package/components/file-input/themes/themes.js +50 -0
  290. package/components/file-input/themes/themes.js.map +1 -0
  291. package/components/file-input/validators.d.ts +3 -0
  292. package/components/file-input/validators.js +5 -0
  293. package/components/file-input/validators.js.map +1 -0
  294. package/components/icon/icon.registry.js +2 -2
  295. package/components/icon/icon.registry.js.map +1 -1
  296. package/components/input/input-base.d.ts +3 -1
  297. package/components/input/input-base.js +6 -2
  298. package/components/input/input-base.js.map +1 -1
  299. package/components/input/input.d.ts +2 -2
  300. package/components/input/input.js.map +1 -1
  301. package/components/input/themes/dark/input.fluent.css.js +1 -1
  302. package/components/input/themes/dark/input.fluent.css.js.map +1 -1
  303. package/components/input/themes/light/input.fluent.css.js +1 -1
  304. package/components/input/themes/light/input.fluent.css.js.map +1 -1
  305. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  306. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  307. package/components/input/themes/shared/input.fluent.css.js +1 -1
  308. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  309. package/components/input/themes/shared/input.material.css.js +1 -1
  310. package/components/input/themes/shared/input.material.css.js.map +1 -1
  311. package/components/mask-input/mask-input.d.ts +2 -1
  312. package/components/mask-input/mask-input.js.map +1 -1
  313. package/components/nav-drawer/nav-drawer.d.ts +2 -1
  314. package/components/nav-drawer/nav-drawer.js.map +1 -1
  315. package/components/popover/popover.d.ts +19 -3
  316. package/components/popover/popover.js +58 -9
  317. package/components/popover/popover.js.map +1 -1
  318. package/components/progress/linear-progress.d.ts +2 -1
  319. package/components/progress/linear-progress.js.map +1 -1
  320. package/components/radio/radio.d.ts +12 -3
  321. package/components/radio/radio.js +18 -0
  322. package/components/radio/radio.js.map +1 -1
  323. package/components/radio/themes/dark/radio.bootstrap.css.js +1 -1
  324. package/components/radio/themes/dark/radio.bootstrap.css.js.map +1 -1
  325. package/components/radio/themes/light/radio.bootstrap.css.js +1 -1
  326. package/components/radio/themes/light/radio.bootstrap.css.js.map +1 -1
  327. package/components/radio/themes/light/radio.shared.css.js +1 -1
  328. package/components/radio/themes/light/radio.shared.css.js.map +1 -1
  329. package/components/radio/themes/shared/radio.bootstrap.css.js +1 -1
  330. package/components/radio/themes/shared/radio.bootstrap.css.js.map +1 -1
  331. package/components/radio-group/radio-group.d.ts +2 -1
  332. package/components/radio-group/radio-group.js.map +1 -1
  333. package/components/rating/themes/dark/rating.indigo.css.js +1 -1
  334. package/components/rating/themes/dark/rating.indigo.css.js.map +1 -1
  335. package/components/rating/themes/light/rating.indigo.css.js +1 -1
  336. package/components/rating/themes/light/rating.indigo.css.js.map +1 -1
  337. package/components/rating/themes/light/rating.shared.css.js +1 -1
  338. package/components/rating/themes/light/rating.shared.css.js.map +1 -1
  339. package/components/rating/themes/rating.base.css.js +1 -1
  340. package/components/rating/themes/rating.base.css.js.map +1 -1
  341. package/components/rating/themes/shared/rating.common.css.js +1 -1
  342. package/components/rating/themes/shared/rating.common.css.js.map +1 -1
  343. package/components/rating/themes/shared/rating.indigo.css.js +1 -1
  344. package/components/rating/themes/shared/rating.indigo.css.js.map +1 -1
  345. package/components/resize-container/resize-container.d.ts +1 -0
  346. package/components/resize-container/resize-container.js.map +1 -1
  347. package/components/select/select.d.ts +4 -4
  348. package/components/select/select.js.map +1 -1
  349. package/components/select/themes/dark/select.bootstrap.css.js +1 -1
  350. package/components/select/themes/dark/select.bootstrap.css.js.map +1 -1
  351. package/components/select/themes/dark/select.fluent.css.js +1 -1
  352. package/components/select/themes/dark/select.fluent.css.js.map +1 -1
  353. package/components/select/themes/dark/select.indigo.css.js +1 -1
  354. package/components/select/themes/dark/select.indigo.css.js.map +1 -1
  355. package/components/select/themes/dark/select.material.css.js +1 -1
  356. package/components/select/themes/dark/select.material.css.js.map +1 -1
  357. package/components/select/themes/light/select.bootstrap.css.js +1 -1
  358. package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
  359. package/components/select/themes/light/select.fluent.css.js +1 -1
  360. package/components/select/themes/light/select.fluent.css.js.map +1 -1
  361. package/components/select/themes/light/select.indigo.css.js +1 -1
  362. package/components/select/themes/light/select.indigo.css.js.map +1 -1
  363. package/components/select/themes/light/select.material.css.js +1 -1
  364. package/components/select/themes/light/select.material.css.js.map +1 -1
  365. package/components/select/themes/light/select.shared.css.js +1 -1
  366. package/components/select/themes/light/select.shared.css.js.map +1 -1
  367. package/components/slider/range-slider.d.ts +5 -3
  368. package/components/slider/range-slider.js.map +1 -1
  369. package/components/slider/slider-base.d.ts +3 -2
  370. package/components/slider/slider-base.js +1 -3
  371. package/components/slider/slider-base.js.map +1 -1
  372. package/components/slider/themes/dark/slider.bootstrap.css.js +1 -1
  373. package/components/slider/themes/dark/slider.bootstrap.css.js.map +1 -1
  374. package/components/slider/themes/light/slider.bootstrap.css.js +1 -1
  375. package/components/slider/themes/light/slider.bootstrap.css.js.map +1 -1
  376. package/components/snackbar/themes/dark/snackbar.fluent.css.js +1 -1
  377. package/components/snackbar/themes/dark/snackbar.fluent.css.js.map +1 -1
  378. package/components/snackbar/themes/light/snackbar.fluent.css.js +1 -1
  379. package/components/snackbar/themes/light/snackbar.fluent.css.js.map +1 -1
  380. package/components/snackbar/themes/light/snackbar.shared.css.js +1 -1
  381. package/components/snackbar/themes/light/snackbar.shared.css.js.map +1 -1
  382. package/components/stepper/animations.d.ts +2 -1
  383. package/components/stepper/animations.js.map +1 -1
  384. package/components/stepper/step.d.ts +8 -3
  385. package/components/stepper/step.js.map +1 -1
  386. package/components/stepper/stepper.common.d.ts +8 -4
  387. package/components/stepper/stepper.common.js.map +1 -1
  388. package/components/stepper/stepper.d.ts +6 -5
  389. package/components/stepper/stepper.js.map +1 -1
  390. package/components/stepper/themes/step/step.base.css.js +1 -1
  391. package/components/stepper/themes/step/step.base.css.js.map +1 -1
  392. package/components/tabs/tabs.d.ts +3 -2
  393. package/components/tabs/tabs.js.map +1 -1
  394. package/components/textarea/textarea.d.ts +2 -2
  395. package/components/textarea/textarea.js.map +1 -1
  396. package/components/textarea/themes/dark/textarea.fluent.css.js +1 -1
  397. package/components/textarea/themes/dark/textarea.fluent.css.js.map +1 -1
  398. package/components/textarea/themes/light/textarea.fluent.css.js +1 -1
  399. package/components/textarea/themes/light/textarea.fluent.css.js.map +1 -1
  400. package/components/textarea/themes/shared/textarea.common.css.js +1 -1
  401. package/components/textarea/themes/shared/textarea.common.css.js.map +1 -1
  402. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  403. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  404. package/components/tile-manager/tile-ghost-util.js +2 -0
  405. package/components/tile-manager/tile-ghost-util.js.map +1 -1
  406. package/components/tile-manager/tile-manager.js.map +1 -1
  407. package/components/tile-manager/tile.d.ts +4 -2
  408. package/components/tile-manager/tile.js +36 -17
  409. package/components/tile-manager/tile.js.map +1 -1
  410. package/components/toast/themes/dark/toast.bootstrap.css.js +1 -1
  411. package/components/toast/themes/dark/toast.bootstrap.css.js.map +1 -1
  412. package/components/toast/themes/dark/toast.fluent.css.js +1 -1
  413. package/components/toast/themes/dark/toast.fluent.css.js.map +1 -1
  414. package/components/toast/themes/dark/toast.material.css.js +1 -1
  415. package/components/toast/themes/dark/toast.material.css.js.map +1 -1
  416. package/components/toast/themes/dark/toast.shared.css.js +1 -1
  417. package/components/toast/themes/dark/toast.shared.css.js.map +1 -1
  418. package/components/toast/themes/light/toast.bootstrap.css.js +1 -1
  419. package/components/toast/themes/light/toast.bootstrap.css.js.map +1 -1
  420. package/components/toast/themes/light/toast.fluent.css.js +1 -1
  421. package/components/toast/themes/light/toast.fluent.css.js.map +1 -1
  422. package/components/toast/themes/light/toast.shared.css.js +1 -1
  423. package/components/toast/themes/light/toast.shared.css.js.map +1 -1
  424. package/components/tooltip/controller.d.ts +87 -0
  425. package/components/tooltip/controller.js +172 -0
  426. package/components/tooltip/controller.js.map +1 -0
  427. package/components/tooltip/service.d.ts +12 -0
  428. package/components/tooltip/service.js +42 -0
  429. package/components/tooltip/service.js.map +1 -0
  430. package/components/tooltip/themes/dark/tooltip.bootstrap.css.d.ts +1 -0
  431. package/components/tooltip/themes/dark/tooltip.bootstrap.css.js +3 -0
  432. package/components/tooltip/themes/dark/tooltip.bootstrap.css.js.map +1 -0
  433. package/components/tooltip/themes/dark/tooltip.fluent.css.d.ts +1 -0
  434. package/components/tooltip/themes/dark/tooltip.fluent.css.js +3 -0
  435. package/components/tooltip/themes/dark/tooltip.fluent.css.js.map +1 -0
  436. package/components/tooltip/themes/dark/tooltip.indigo.css.d.ts +1 -0
  437. package/components/tooltip/themes/dark/tooltip.indigo.css.js +3 -0
  438. package/components/tooltip/themes/dark/tooltip.indigo.css.js.map +1 -0
  439. package/components/tooltip/themes/dark/tooltip.material.css.d.ts +1 -0
  440. package/components/tooltip/themes/dark/tooltip.material.css.js +3 -0
  441. package/components/tooltip/themes/dark/tooltip.material.css.js.map +1 -0
  442. package/components/tooltip/themes/light/tooltip.bootstrap.css.d.ts +1 -0
  443. package/components/tooltip/themes/light/tooltip.bootstrap.css.js +3 -0
  444. package/components/tooltip/themes/light/tooltip.bootstrap.css.js.map +1 -0
  445. package/components/tooltip/themes/light/tooltip.fluent.css.d.ts +1 -0
  446. package/components/tooltip/themes/light/tooltip.fluent.css.js +3 -0
  447. package/components/tooltip/themes/light/tooltip.fluent.css.js.map +1 -0
  448. package/components/tooltip/themes/light/tooltip.indigo.css.d.ts +1 -0
  449. package/components/tooltip/themes/light/tooltip.indigo.css.js +3 -0
  450. package/components/tooltip/themes/light/tooltip.indigo.css.js.map +1 -0
  451. package/components/tooltip/themes/light/tooltip.material.css.d.ts +1 -0
  452. package/components/tooltip/themes/light/tooltip.material.css.js +3 -0
  453. package/components/tooltip/themes/light/tooltip.material.css.js.map +1 -0
  454. package/components/tooltip/themes/light/tooltip.shared.css.d.ts +1 -0
  455. package/components/tooltip/themes/light/tooltip.shared.css.js +3 -0
  456. package/components/tooltip/themes/light/tooltip.shared.css.js.map +1 -0
  457. package/components/tooltip/themes/shared/tooltip.common.css.d.ts +1 -0
  458. package/components/tooltip/themes/shared/tooltip.common.css.js +3 -0
  459. package/components/tooltip/themes/shared/tooltip.common.css.js.map +1 -0
  460. package/components/tooltip/themes/shared/tooltip.indigo.css.d.ts +1 -0
  461. package/components/tooltip/themes/shared/tooltip.indigo.css.js +3 -0
  462. package/components/tooltip/themes/shared/tooltip.indigo.css.js.map +1 -0
  463. package/components/tooltip/themes/themes.d.ts +2 -0
  464. package/components/tooltip/themes/themes.js +47 -0
  465. package/components/tooltip/themes/themes.js.map +1 -0
  466. package/components/tooltip/themes/tooltip.base.css.d.ts +1 -0
  467. package/components/tooltip/themes/tooltip.base.css.js +3 -0
  468. package/components/tooltip/themes/tooltip.base.css.js.map +1 -0
  469. package/components/tooltip/tooltip.d.ts +154 -0
  470. package/components/tooltip/tooltip.js +284 -0
  471. package/components/tooltip/tooltip.js.map +1 -0
  472. package/components/tree/tree.common.d.ts +4 -6
  473. package/components/tree/tree.common.js.map +1 -1
  474. package/components/tree/tree.d.ts +2 -1
  475. package/components/tree/tree.js.map +1 -1
  476. package/components/tree/tree.selection.js.map +1 -1
  477. package/components/types.d.ts +30 -2
  478. package/components/types.js.map +1 -1
  479. package/custom-elements.json +14111 -11208
  480. package/igniteui-webcomponents.css-data.json +1 -1
  481. package/igniteui-webcomponents.html-data.json +1 -1
  482. package/index.d.ts +16 -6
  483. package/index.js +3 -1
  484. package/index.js.map +1 -1
  485. package/package.json +2 -2
  486. package/theming/types.d.ts +2 -2
  487. package/theming/types.js.map +1 -1
  488. package/web-types.json +2 -2
  489. package/components/common/decorators/blazorTypeOverride.d.ts +0 -7
  490. package/components/common/decorators/blazorTypeOverride.js +0 -4
  491. package/components/common/decorators/blazorTypeOverride.js.map +0 -1
@@ -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 { isEmpty } from '../common/util.js';\nimport 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 || isEmpty(items)) {\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 Array.from(this.itemSelection);\n }\n\n /** Returns array of the items in indeterminate state. */\n private getIndeterminateItems(): IgcTreeItemComponent[] {\n return Array.from(this.indeterminateItems);\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 { isEmpty } from '../common/util.js';\nimport type IgcTreeItemComponent from './tree-item.js';\nimport type { TreeSelectionEventInit } 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: TreeSelectionEventInit = {\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: TreeSelectionEventInit = {\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 || isEmpty(items)) {\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 Array.from(this.itemSelection);\n }\n\n /** Returns array of the items in indeterminate state. */\n private getIndeterminateItems(): IgcTreeItemComponent[] {\n return Array.from(this.indeterminateItems);\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,5 +1,33 @@
1
- export type StyleVariant = 'primary' | 'info' | 'success' | 'warning' | 'danger';
2
- export type SelectionRangeDirection = 'none' | 'backward' | 'forward';
1
+ export type AbsolutePosition = 'bottom' | 'middle' | 'top';
2
+ export type ContentOrientation = 'horizontal' | 'vertical';
3
+ export type HorizontalTransitionAnimation = 'slide' | 'fade' | 'none';
4
+ export type PickerMode = 'dropdown' | 'dialog';
5
+ export type PopoverScrollStrategy = 'scroll' | 'block' | 'close';
3
6
  export type RangeTextSelectMode = 'preserve' | 'select' | 'start' | 'end';
7
+ export type SelectionRangeDirection = 'none' | 'backward' | 'forward';
8
+ export type StyleVariant = 'primary' | 'info' | 'success' | 'warning' | 'danger';
9
+ export type ToggleLabelPosition = 'after' | 'before';
10
+ export type TreeSelection = 'none' | 'multiple' | 'cascade';
11
+ export type AvatarShape = 'square' | 'circle' | 'rounded';
12
+ export type BadgeShape = 'rounded' | 'square';
13
+ export type ButtonGroupSelection = 'single' | 'single-required' | 'multiple';
14
+ export type ButtonVariant = 'contained' | 'flat' | 'outlined' | 'fab';
15
+ export type CarouselIndicatorsOrientation = 'end' | 'start';
16
+ export type DividerType = 'solid' | 'dashed';
17
+ export type ExpansionPanelIndicatorPosition = 'start' | 'end' | 'none';
18
+ export type IconButtonVariant = 'contained' | 'flat' | 'outlined';
19
+ export type InputType = 'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'url';
20
+ export type LinearProgressLabelAlign = 'top-start' | 'top' | 'top-end' | 'bottom-start' | 'bottom' | 'bottom-end';
21
+ export type MaskInputValueMode = 'raw' | 'withFormatting';
22
+ export type NavDrawerPosition = 'start' | 'end' | 'top' | 'bottom' | 'relative';
23
+ export type SliderTickLabelRotation = 0 | 90 | -90;
24
+ export type SliderTickOrientation = 'end' | 'mirror' | 'start';
25
+ export type StepperOrientation = 'horizontal' | 'vertical';
26
+ export type StepperStepType = 'full' | 'indicator' | 'title';
27
+ export type StepperTitlePosition = 'bottom' | 'top' | 'end' | 'start';
28
+ export type StepperVerticalAnimation = 'grow' | 'fade' | 'none';
29
+ export type TabsActivation = 'auto' | 'manual';
30
+ export type TabsAlignment = 'start' | 'end' | 'center' | 'justify';
31
+ export type TextareaResize = 'vertical' | 'auto' | 'none';
4
32
  export type TileManagerDragMode = 'none' | 'tile-header' | 'tile';
5
33
  export type TileManagerResizeMode = 'none' | 'hover' | 'always';
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/components/types.ts"],"names":[],"mappings":"","sourcesContent":["export type StyleVariant =\n | 'primary'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger';\nexport type SelectionRangeDirection = 'none' | 'backward' | 'forward';\nexport type RangeTextSelectMode = 'preserve' | 'select' | 'start' | 'end';\n\nexport type TileManagerDragMode = 'none' | 'tile-header' | 'tile';\nexport type TileManagerResizeMode = 'none' | 'hover' | 'always';\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/components/types.ts"],"names":[],"mappings":"","sourcesContent":["// Public API types\n// NOTE: use default value as first in order where possible for union types\n\n//#region shared types\nexport type AbsolutePosition = 'bottom' | 'middle' | 'top';\nexport type ContentOrientation = 'horizontal' | 'vertical';\nexport type HorizontalTransitionAnimation = 'slide' | 'fade' | 'none';\nexport type PickerMode = 'dropdown' | 'dialog';\nexport type PopoverScrollStrategy = 'scroll' | 'block' | 'close';\nexport type RangeTextSelectMode = 'preserve' | 'select' | 'start' | 'end';\nexport type SelectionRangeDirection = 'none' | 'backward' | 'forward';\nexport type StyleVariant =\n | 'primary'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger';\nexport type ToggleLabelPosition = 'after' | 'before';\nexport type TreeSelection = 'none' | 'multiple' | 'cascade';\n//#endregion\n\n//#region component-specific\nexport type AvatarShape = 'square' | 'circle' | 'rounded';\nexport type BadgeShape = 'rounded' | 'square';\nexport type ButtonGroupSelection = 'single' | 'single-required' | 'multiple';\nexport type ButtonVariant = 'contained' | 'flat' | 'outlined' | 'fab';\nexport type CarouselIndicatorsOrientation = 'end' | 'start';\nexport type DividerType = 'solid' | 'dashed';\nexport type ExpansionPanelIndicatorPosition = 'start' | 'end' | 'none';\nexport type IconButtonVariant = 'contained' | 'flat' | 'outlined';\nexport type InputType =\n | 'email'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'url';\nexport type LinearProgressLabelAlign =\n | 'top-start'\n | 'top'\n | 'top-end'\n | 'bottom-start'\n | 'bottom'\n | 'bottom-end';\nexport type MaskInputValueMode = 'raw' | 'withFormatting';\nexport type NavDrawerPosition = 'start' | 'end' | 'top' | 'bottom' | 'relative';\nexport type SliderTickLabelRotation = 0 | 90 | -90;\nexport type SliderTickOrientation = 'end' | 'mirror' | 'start';\nexport type StepperOrientation = 'horizontal' | 'vertical';\nexport type StepperStepType = 'full' | 'indicator' | 'title';\nexport type StepperTitlePosition = 'bottom' | 'top' | 'end' | 'start';\nexport type StepperVerticalAnimation = 'grow' | 'fade' | 'none';\nexport type TabsActivation = 'auto' | 'manual';\nexport type TabsAlignment = 'start' | 'end' | 'center' | 'justify';\nexport type TextareaResize = 'vertical' | 'auto' | 'none';\nexport type TileManagerDragMode = 'none' | 'tile-header' | 'tile';\nexport type TileManagerResizeMode = 'none' | 'hover' | 'always';\n//#endregion\n"]}