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
@@ -0,0 +1,154 @@
1
+ import { LitElement } from 'lit';
2
+ import type { Constructor } from '../common/mixins/constructor.js';
3
+ import { type PopoverPlacement } from '../popover/popover.js';
4
+ export interface IgcTooltipComponentEventMap {
5
+ igcOpening: CustomEvent<Element | null>;
6
+ igcOpened: CustomEvent<Element | null>;
7
+ igcClosing: CustomEvent<Element | null>;
8
+ igcClosed: CustomEvent<Element | null>;
9
+ }
10
+ declare const IgcTooltipComponent_base: Constructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcTooltipComponentEventMap>> & Constructor<LitElement>;
11
+ /**
12
+ * Provides a way to display supplementary information related to an element when a user interacts with it (e.g., hover, focus).
13
+ * It offers features such as placement customization, delays, sticky mode, and animations.
14
+ *
15
+ * @element igc-tooltip
16
+ *
17
+ * @slot - Default slot of the tooltip component.
18
+ * @slot close-button - Slot for custom sticky-mode close action (e.g., an icon/button).
19
+ *
20
+ * @csspart base - The wrapping container of the tooltip content.
21
+ *
22
+ * @fires igcOpening - Emitted before the tooltip begins to open. Can be canceled to prevent opening.
23
+ * @fires igcOpened - Emitted after the tooltip has successfully opened and is visible.
24
+ * @fires igcClosing - Emitted before the tooltip begins to close. Can be canceled to prevent closing.
25
+ * @fires igcClosed - Emitted after the tooltip has been fully removed from view.
26
+ */
27
+ export default class IgcTooltipComponent extends IgcTooltipComponent_base {
28
+ static readonly tagName = "igc-tooltip";
29
+ static styles: import("lit").CSSResult[];
30
+ static register(): void;
31
+ private readonly _internals;
32
+ private readonly _controller;
33
+ private readonly _containerRef;
34
+ private readonly _player;
35
+ private readonly _showAnimation;
36
+ private readonly _hideAnimation;
37
+ private _timeoutId?;
38
+ private _autoHideDelay;
39
+ private _showDelay;
40
+ private _hideDelay;
41
+ private _arrowElement;
42
+ private get _arrowOffset();
43
+ /**
44
+ * Whether the tooltip is showing.
45
+ *
46
+ * @attr open
47
+ * @default false
48
+ */
49
+ set open(value: boolean);
50
+ get open(): boolean;
51
+ /**
52
+ * Whether to disable the rendering of the arrow indicator for the tooltip.
53
+ *
54
+ * @attr disable-arrow
55
+ * @default false
56
+ */
57
+ disableArrow: boolean;
58
+ /**
59
+ * The offset of the tooltip from the anchor in pixels.
60
+ *
61
+ * @attr offset
62
+ * @default 6
63
+ */
64
+ offset: number;
65
+ /**
66
+ * Where to place the floating element relative to the parent anchor element.
67
+ *
68
+ * @attr placement
69
+ * @default top
70
+ */
71
+ placement: PopoverPlacement;
72
+ /**
73
+ * An element instance or an IDREF to use as the anchor for the tooltip.
74
+ *
75
+ * @attr anchor
76
+ */
77
+ anchor?: Element | string;
78
+ /**
79
+ * Which event triggers will show the tooltip.
80
+ * Expects a comma separate string of different event triggers.
81
+ *
82
+ * @attr show-triggers
83
+ * @default pointerenter
84
+ */
85
+ set showTriggers(value: string);
86
+ get showTriggers(): string;
87
+ /**
88
+ * Which event triggers will hide the tooltip.
89
+ * Expects a comma separate string of different event triggers.
90
+ *
91
+ * @attr hide-triggers
92
+ * @default pointerleave, click
93
+ */
94
+ set hideTriggers(value: string);
95
+ get hideTriggers(): string;
96
+ /**
97
+ * Specifies the number of milliseconds that should pass before showing the tooltip.
98
+ *
99
+ * @attr show-delay
100
+ * @default 200
101
+ */
102
+ set showDelay(value: number);
103
+ get showDelay(): number;
104
+ /**
105
+ * Specifies the number of milliseconds that should pass before hiding the tooltip.
106
+ *
107
+ * @attr hide-delay
108
+ * @default 300
109
+ */
110
+ set hideDelay(value: number);
111
+ get hideDelay(): number;
112
+ /**
113
+ * Specifies a plain text as tooltip content.
114
+ *
115
+ * @attr message
116
+ */
117
+ message: string;
118
+ /**
119
+ * Specifies if the tooltip remains visible until the user closes it via the close button or Esc key.
120
+ *
121
+ * @attr sticky
122
+ * @default false
123
+ */
124
+ sticky: boolean;
125
+ constructor();
126
+ protected firstUpdated(): void;
127
+ protected _onAnchorChange(): void;
128
+ protected _onStickyChange(): void;
129
+ private _emitEvent;
130
+ private _applyTooltipState;
131
+ /**
132
+ * Shows the tooltip if not already showing.
133
+ * If a target is provided, sets it as a transient anchor.
134
+ */
135
+ show(target?: Element | string): Promise<boolean>;
136
+ /** Hides the tooltip if not already hidden. */
137
+ hide(): Promise<boolean>;
138
+ /** Toggles the tooltip between shown/hidden state */
139
+ toggle(): Promise<boolean>;
140
+ protected _showWithEvent(): Promise<boolean>;
141
+ protected _hideWithEvent(): Promise<boolean>;
142
+ private _showOnInteraction;
143
+ private _stopTimeoutAndAnimation;
144
+ private _setAutoHide;
145
+ private _hideOnInteraction;
146
+ private _hideOnEscape;
147
+ protected render(): import("lit-html").TemplateResult<1>;
148
+ }
149
+ declare global {
150
+ interface HTMLElementTagNameMap {
151
+ 'igc-tooltip': IgcTooltipComponent;
152
+ }
153
+ }
154
+ export {};
@@ -0,0 +1,284 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var IgcTooltipComponent_1;
8
+ import { LitElement, html, nothing } from 'lit';
9
+ import { property, query } from 'lit/decorators.js';
10
+ import { createRef, ref } from 'lit/directives/ref.js';
11
+ import { EaseOut } from '../../animations/easings.js';
12
+ import { addAnimationController } from '../../animations/player.js';
13
+ import { fadeOut } from '../../animations/presets/fade/index.js';
14
+ import { scaleInCenter } from '../../animations/presets/scale/index.js';
15
+ import { themes } from '../../theming/theming-decorator.js';
16
+ import { watch } from '../common/decorators/watch.js';
17
+ import { registerComponent } from '../common/definitions/register.js';
18
+ import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
19
+ import { asNumber, isLTR } from '../common/util.js';
20
+ import IgcIconComponent from '../icon/icon.js';
21
+ import IgcPopoverComponent from '../popover/popover.js';
22
+ import { TooltipRegexes, addTooltipController } from './controller.js';
23
+ import { styles as shared } from './themes/shared/tooltip.common.css';
24
+ import { all } from './themes/themes.js';
25
+ import { styles } from './themes/tooltip.base.css.js';
26
+ let IgcTooltipComponent = IgcTooltipComponent_1 = class IgcTooltipComponent extends EventEmitterMixin(LitElement) {
27
+ static register() {
28
+ registerComponent(IgcTooltipComponent_1, IgcPopoverComponent, IgcIconComponent);
29
+ }
30
+ get _arrowOffset() {
31
+ if (this.placement.includes('-')) {
32
+ if (TooltipRegexes.horizontalStart.test(this.placement)) {
33
+ return -8;
34
+ }
35
+ if (TooltipRegexes.horizontalEnd.test(this.placement)) {
36
+ return 8;
37
+ }
38
+ if (TooltipRegexes.start.test(this.placement)) {
39
+ return isLTR(this) ? -8 : 8;
40
+ }
41
+ if (TooltipRegexes.end.test(this.placement)) {
42
+ return isLTR(this) ? 8 : -8;
43
+ }
44
+ }
45
+ return 0;
46
+ }
47
+ set open(value) {
48
+ this._controller.open = value;
49
+ }
50
+ get open() {
51
+ return this._controller.open;
52
+ }
53
+ set showTriggers(value) {
54
+ this._controller.showTriggers = value;
55
+ }
56
+ get showTriggers() {
57
+ return this._controller.showTriggers;
58
+ }
59
+ set hideTriggers(value) {
60
+ this._controller.hideTriggers = value;
61
+ }
62
+ get hideTriggers() {
63
+ return this._controller.hideTriggers;
64
+ }
65
+ set showDelay(value) {
66
+ this._showDelay = Math.max(0, asNumber(value));
67
+ }
68
+ get showDelay() {
69
+ return this._showDelay;
70
+ }
71
+ set hideDelay(value) {
72
+ this._hideDelay = Math.max(0, asNumber(value));
73
+ }
74
+ get hideDelay() {
75
+ return this._hideDelay;
76
+ }
77
+ constructor() {
78
+ super();
79
+ this._controller = addTooltipController(this, {
80
+ onShow: this._showOnInteraction,
81
+ onHide: this._hideOnInteraction,
82
+ onEscape: this._hideOnEscape,
83
+ });
84
+ this._containerRef = createRef();
85
+ this._player = addAnimationController(this, this._containerRef);
86
+ this._showAnimation = scaleInCenter({
87
+ duration: 150,
88
+ easing: EaseOut.Quad,
89
+ });
90
+ this._hideAnimation = fadeOut({
91
+ duration: 75,
92
+ easing: EaseOut.Sine,
93
+ });
94
+ this._autoHideDelay = 180;
95
+ this._showDelay = 200;
96
+ this._hideDelay = 300;
97
+ this.disableArrow = false;
98
+ this.offset = 6;
99
+ this.placement = 'top';
100
+ this.message = '';
101
+ this.sticky = false;
102
+ this._internals = this.attachInternals();
103
+ this._internals.role = 'tooltip';
104
+ this._internals.ariaAtomic = 'true';
105
+ this._internals.ariaLive = 'polite';
106
+ }
107
+ firstUpdated() {
108
+ if (this.open) {
109
+ this.updateComplete.then(() => {
110
+ this._player.playExclusive(this._showAnimation);
111
+ this.requestUpdate();
112
+ });
113
+ }
114
+ }
115
+ _onAnchorChange() {
116
+ this._controller.resolveAnchor(this.anchor);
117
+ }
118
+ _onStickyChange() {
119
+ this._internals.role = this.sticky ? 'status' : 'tooltip';
120
+ }
121
+ _emitEvent(name) {
122
+ return this.emitEvent(name, {
123
+ cancelable: name === 'igcOpening' || name === 'igcClosing',
124
+ detail: this._controller.anchor,
125
+ });
126
+ }
127
+ async _applyTooltipState({ show, withDelay = false, withEvents = false, }) {
128
+ if (show === this.open) {
129
+ return false;
130
+ }
131
+ if (withEvents && !this._emitEvent(show ? 'igcOpening' : 'igcClosing')) {
132
+ return false;
133
+ }
134
+ const commitStateChange = async () => {
135
+ if (show) {
136
+ this.open = true;
137
+ }
138
+ this.inert = true;
139
+ const animationComplete = await this._player.playExclusive(show ? this._showAnimation : this._hideAnimation);
140
+ this.inert = false;
141
+ this.open = show;
142
+ if (animationComplete && withEvents) {
143
+ this._emitEvent(show ? 'igcOpened' : 'igcClosed');
144
+ }
145
+ return animationComplete;
146
+ };
147
+ if (withDelay) {
148
+ clearTimeout(this._timeoutId);
149
+ return new Promise(() => {
150
+ this._timeoutId = setTimeout(async () => await commitStateChange(), show ? this.showDelay : this.hideDelay);
151
+ });
152
+ }
153
+ return commitStateChange();
154
+ }
155
+ async show(target) {
156
+ if (target) {
157
+ this._stopTimeoutAndAnimation();
158
+ this._controller.setAnchor(target, true);
159
+ }
160
+ return await this._applyTooltipState({ show: true });
161
+ }
162
+ async hide() {
163
+ return await this._applyTooltipState({ show: false });
164
+ }
165
+ async toggle() {
166
+ return await (this.open ? this.hide() : this.show());
167
+ }
168
+ _showWithEvent() {
169
+ return this._applyTooltipState({
170
+ show: true,
171
+ withDelay: true,
172
+ withEvents: true,
173
+ });
174
+ }
175
+ _hideWithEvent() {
176
+ return this._applyTooltipState({
177
+ show: false,
178
+ withDelay: true,
179
+ withEvents: true,
180
+ });
181
+ }
182
+ _showOnInteraction() {
183
+ this._stopTimeoutAndAnimation();
184
+ this._showWithEvent();
185
+ }
186
+ _stopTimeoutAndAnimation() {
187
+ clearTimeout(this._timeoutId);
188
+ this._player.stopAll();
189
+ }
190
+ _setAutoHide() {
191
+ this._stopTimeoutAndAnimation();
192
+ this._timeoutId = setTimeout(this._hideWithEvent.bind(this), this._autoHideDelay);
193
+ }
194
+ _hideOnInteraction() {
195
+ if (!this.sticky) {
196
+ this._setAutoHide();
197
+ }
198
+ }
199
+ async _hideOnEscape() {
200
+ await this.hide();
201
+ this._emitEvent('igcClosed');
202
+ }
203
+ render() {
204
+ return html `
205
+ <igc-popover
206
+ .inert=${!this.open}
207
+ .placement=${this.placement}
208
+ .offset=${this.offset}
209
+ .anchor=${this._controller.anchor ?? undefined}
210
+ .arrow=${this.disableArrow ? null : this._arrowElement}
211
+ .arrowOffset=${this._arrowOffset}
212
+ .shiftPadding=${8}
213
+ ?open=${this.open}
214
+ flip
215
+ shift
216
+ >
217
+ <div ${ref(this._containerRef)} part="base">
218
+ <slot>${this.message}</slot>
219
+ ${this.sticky
220
+ ? html `
221
+ <slot name="close-button" @click=${this._setAutoHide}>
222
+ <igc-icon
223
+ name="input_clear"
224
+ collection="default"
225
+ aria-hidden="true"
226
+ ></igc-icon>
227
+ </slot>
228
+ `
229
+ : nothing}
230
+ ${this.disableArrow ? nothing : html `<div id="arrow"></div>`}
231
+ </div>
232
+ </igc-popover>
233
+ `;
234
+ }
235
+ };
236
+ IgcTooltipComponent.tagName = 'igc-tooltip';
237
+ IgcTooltipComponent.styles = [styles, shared];
238
+ __decorate([
239
+ query('#arrow')
240
+ ], IgcTooltipComponent.prototype, "_arrowElement", void 0);
241
+ __decorate([
242
+ property({ type: Boolean, reflect: true })
243
+ ], IgcTooltipComponent.prototype, "open", null);
244
+ __decorate([
245
+ property({ attribute: 'disable-arrow', type: Boolean, reflect: true })
246
+ ], IgcTooltipComponent.prototype, "disableArrow", void 0);
247
+ __decorate([
248
+ property({ type: Number })
249
+ ], IgcTooltipComponent.prototype, "offset", void 0);
250
+ __decorate([
251
+ property()
252
+ ], IgcTooltipComponent.prototype, "placement", void 0);
253
+ __decorate([
254
+ property()
255
+ ], IgcTooltipComponent.prototype, "anchor", void 0);
256
+ __decorate([
257
+ property({ attribute: 'show-triggers' })
258
+ ], IgcTooltipComponent.prototype, "showTriggers", null);
259
+ __decorate([
260
+ property({ attribute: 'hide-triggers' })
261
+ ], IgcTooltipComponent.prototype, "hideTriggers", null);
262
+ __decorate([
263
+ property({ attribute: 'show-delay', type: Number })
264
+ ], IgcTooltipComponent.prototype, "showDelay", null);
265
+ __decorate([
266
+ property({ attribute: 'hide-delay', type: Number })
267
+ ], IgcTooltipComponent.prototype, "hideDelay", null);
268
+ __decorate([
269
+ property()
270
+ ], IgcTooltipComponent.prototype, "message", void 0);
271
+ __decorate([
272
+ property({ type: Boolean, reflect: true })
273
+ ], IgcTooltipComponent.prototype, "sticky", void 0);
274
+ __decorate([
275
+ watch('anchor')
276
+ ], IgcTooltipComponent.prototype, "_onAnchorChange", null);
277
+ __decorate([
278
+ watch('sticky')
279
+ ], IgcTooltipComponent.prototype, "_onStickyChange", null);
280
+ IgcTooltipComponent = IgcTooltipComponent_1 = __decorate([
281
+ themes(all)
282
+ ], IgcTooltipComponent);
283
+ export default IgcTooltipComponent;
284
+ //# sourceMappingURL=tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../../src/components/tooltip/tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { EaseOut } from '../../animations/easings.js';\nimport { addAnimationController } from '../../animations/player.js';\nimport { fadeOut } from '../../animations/presets/fade/index.js';\nimport { scaleInCenter } from '../../animations/presets/scale/index.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { asNumber, isLTR } from '../common/util.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport IgcPopoverComponent, {\n type PopoverPlacement,\n} from '../popover/popover.js';\nimport { TooltipRegexes, addTooltipController } from './controller.js';\nimport { styles as shared } from './themes/shared/tooltip.common.css';\nimport { all } from './themes/themes.js';\nimport { styles } from './themes/tooltip.base.css.js';\n\nexport interface IgcTooltipComponentEventMap {\n igcOpening: CustomEvent<Element | null>;\n igcOpened: CustomEvent<Element | null>;\n igcClosing: CustomEvent<Element | null>;\n igcClosed: CustomEvent<Element | null>;\n}\n\ntype TooltipStateOptions = {\n show: boolean;\n withDelay?: boolean;\n withEvents?: boolean;\n};\n\n/**\n * Provides a way to display supplementary information related to an element when a user interacts with it (e.g., hover, focus).\n * It offers features such as placement customization, delays, sticky mode, and animations.\n *\n * @element igc-tooltip\n *\n * @slot - Default slot of the tooltip component.\n * @slot close-button - Slot for custom sticky-mode close action (e.g., an icon/button).\n *\n * @csspart base - The wrapping container of the tooltip content.\n *\n * @fires igcOpening - Emitted before the tooltip begins to open. Can be canceled to prevent opening.\n * @fires igcOpened - Emitted after the tooltip has successfully opened and is visible.\n * @fires igcClosing - Emitted before the tooltip begins to close. Can be canceled to prevent closing.\n * @fires igcClosed - Emitted after the tooltip has been fully removed from view.\n */\n@themes(all)\nexport default class IgcTooltipComponent extends EventEmitterMixin<\n IgcTooltipComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-tooltip';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(\n IgcTooltipComponent,\n IgcPopoverComponent,\n IgcIconComponent\n );\n }\n\n private readonly _internals: ElementInternals;\n\n private readonly _controller = addTooltipController(this, {\n onShow: this._showOnInteraction,\n onHide: this._hideOnInteraction,\n onEscape: this._hideOnEscape,\n });\n\n private readonly _containerRef = createRef<HTMLElement>();\n private readonly _player = addAnimationController(this, this._containerRef);\n\n private readonly _showAnimation = scaleInCenter({\n duration: 150,\n easing: EaseOut.Quad,\n });\n\n private readonly _hideAnimation = fadeOut({\n duration: 75,\n easing: EaseOut.Sine,\n });\n\n private _timeoutId?: number;\n private _autoHideDelay = 180;\n private _showDelay = 200;\n private _hideDelay = 300;\n\n @query('#arrow')\n private _arrowElement!: HTMLElement;\n\n private get _arrowOffset() {\n if (this.placement.includes('-')) {\n // Horizontal start | end placement\n\n if (TooltipRegexes.horizontalStart.test(this.placement)) {\n return -8;\n }\n\n if (TooltipRegexes.horizontalEnd.test(this.placement)) {\n return 8;\n }\n\n // Vertical start | end placement\n\n if (TooltipRegexes.start.test(this.placement)) {\n return isLTR(this) ? -8 : 8;\n }\n\n if (TooltipRegexes.end.test(this.placement)) {\n return isLTR(this) ? 8 : -8;\n }\n }\n\n return 0;\n }\n\n /**\n * Whether the tooltip is showing.\n *\n * @attr open\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n public set open(value: boolean) {\n this._controller.open = value;\n }\n\n public get open(): boolean {\n return this._controller.open;\n }\n\n /**\n * Whether to disable the rendering of the arrow indicator for the tooltip.\n *\n * @attr disable-arrow\n * @default false\n */\n @property({ attribute: 'disable-arrow', type: Boolean, reflect: true })\n public disableArrow = false;\n\n /**\n * The offset of the tooltip from the anchor in pixels.\n *\n * @attr offset\n * @default 6\n */\n @property({ type: Number })\n public offset = 6;\n\n /**\n * Where to place the floating element relative to the parent anchor element.\n *\n * @attr placement\n * @default top\n */\n @property()\n public placement: PopoverPlacement = 'top';\n\n /**\n * An element instance or an IDREF to use as the anchor for the tooltip.\n *\n * @attr anchor\n */\n @property()\n public anchor?: Element | string;\n\n /**\n * Which event triggers will show the tooltip.\n * Expects a comma separate string of different event triggers.\n *\n * @attr show-triggers\n * @default pointerenter\n */\n @property({ attribute: 'show-triggers' })\n public set showTriggers(value: string) {\n this._controller.showTriggers = value;\n }\n\n public get showTriggers(): string {\n return this._controller.showTriggers;\n }\n\n /**\n * Which event triggers will hide the tooltip.\n * Expects a comma separate string of different event triggers.\n *\n * @attr hide-triggers\n * @default pointerleave, click\n */\n @property({ attribute: 'hide-triggers' })\n public set hideTriggers(value: string) {\n this._controller.hideTriggers = value;\n }\n\n public get hideTriggers(): string {\n return this._controller.hideTriggers;\n }\n\n /**\n * Specifies the number of milliseconds that should pass before showing the tooltip.\n *\n * @attr show-delay\n * @default 200\n */\n @property({ attribute: 'show-delay', type: Number })\n public set showDelay(value: number) {\n this._showDelay = Math.max(0, asNumber(value));\n }\n\n public get showDelay(): number {\n return this._showDelay;\n }\n\n /**\n * Specifies the number of milliseconds that should pass before hiding the tooltip.\n *\n * @attr hide-delay\n * @default 300\n */\n @property({ attribute: 'hide-delay', type: Number })\n public set hideDelay(value: number) {\n this._hideDelay = Math.max(0, asNumber(value));\n }\n\n public get hideDelay(): number {\n return this._hideDelay;\n }\n\n /**\n * Specifies a plain text as tooltip content.\n *\n * @attr message\n */\n @property()\n public message = '';\n\n /**\n * Specifies if the tooltip remains visible until the user closes it via the close button or Esc key.\n *\n * @attr sticky\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n public sticky = false;\n\n constructor() {\n super();\n\n this._internals = this.attachInternals();\n this._internals.role = 'tooltip';\n this._internals.ariaAtomic = 'true';\n this._internals.ariaLive = 'polite';\n }\n\n protected override firstUpdated(): void {\n if (this.open) {\n this.updateComplete.then(() => {\n this._player.playExclusive(this._showAnimation);\n this.requestUpdate();\n });\n }\n }\n\n @watch('anchor')\n protected _onAnchorChange(): void {\n this._controller.resolveAnchor(this.anchor);\n }\n\n @watch('sticky')\n protected _onStickyChange(): void {\n this._internals.role = this.sticky ? 'status' : 'tooltip';\n }\n\n private _emitEvent(name: keyof IgcTooltipComponentEventMap): boolean {\n return this.emitEvent(name, {\n cancelable: name === 'igcOpening' || name === 'igcClosing',\n detail: this._controller.anchor,\n });\n }\n\n private async _applyTooltipState({\n show,\n withDelay = false,\n withEvents = false,\n }: TooltipStateOptions): Promise<boolean> {\n if (show === this.open) {\n return false;\n }\n\n if (withEvents && !this._emitEvent(show ? 'igcOpening' : 'igcClosing')) {\n return false;\n }\n\n const commitStateChange = async () => {\n if (show) {\n this.open = true;\n }\n\n // Make the tooltip ignore most interactions while the animation\n // is running. In the rare case when the popover overlaps its anchor\n // this will prevent looping between the anchor and tooltip handlers.\n this.inert = true;\n\n const animationComplete = await this._player.playExclusive(\n show ? this._showAnimation : this._hideAnimation\n );\n\n this.inert = false;\n this.open = show;\n\n if (animationComplete && withEvents) {\n this._emitEvent(show ? 'igcOpened' : 'igcClosed');\n }\n\n return animationComplete;\n };\n\n if (withDelay) {\n clearTimeout(this._timeoutId);\n\n return new Promise(() => {\n this._timeoutId = setTimeout(\n async () => await commitStateChange(),\n show ? this.showDelay : this.hideDelay\n );\n });\n }\n\n return commitStateChange();\n }\n\n /**\n * Shows the tooltip if not already showing.\n * If a target is provided, sets it as a transient anchor.\n */\n public async show(target?: Element | string): Promise<boolean> {\n if (target) {\n this._stopTimeoutAndAnimation();\n this._controller.setAnchor(target, true);\n }\n\n return await this._applyTooltipState({ show: true });\n }\n\n /** Hides the tooltip if not already hidden. */\n public async hide(): Promise<boolean> {\n return await this._applyTooltipState({ show: false });\n }\n\n /** Toggles the tooltip between shown/hidden state */\n public async toggle(): Promise<boolean> {\n return await (this.open ? this.hide() : this.show());\n }\n\n protected _showWithEvent(): Promise<boolean> {\n return this._applyTooltipState({\n show: true,\n withDelay: true,\n withEvents: true,\n });\n }\n\n protected _hideWithEvent(): Promise<boolean> {\n return this._applyTooltipState({\n show: false,\n withDelay: true,\n withEvents: true,\n });\n }\n\n private _showOnInteraction(): void {\n this._stopTimeoutAndAnimation();\n this._showWithEvent();\n }\n\n private _stopTimeoutAndAnimation(): void {\n clearTimeout(this._timeoutId);\n this._player.stopAll();\n }\n\n private _setAutoHide(): void {\n this._stopTimeoutAndAnimation();\n\n this._timeoutId = setTimeout(\n this._hideWithEvent.bind(this),\n this._autoHideDelay\n );\n }\n\n private _hideOnInteraction(): void {\n if (!this.sticky) {\n this._setAutoHide();\n }\n }\n\n private async _hideOnEscape(): Promise<void> {\n await this.hide();\n this._emitEvent('igcClosed');\n }\n\n protected override render() {\n return html`\n <igc-popover\n .inert=${!this.open}\n .placement=${this.placement}\n .offset=${this.offset}\n .anchor=${this._controller.anchor ?? undefined}\n .arrow=${this.disableArrow ? null : this._arrowElement}\n .arrowOffset=${this._arrowOffset}\n .shiftPadding=${8}\n ?open=${this.open}\n flip\n shift\n >\n <div ${ref(this._containerRef)} part=\"base\">\n <slot>${this.message}</slot>\n ${this.sticky\n ? html`\n <slot name=\"close-button\" @click=${this._setAutoHide}>\n <igc-icon\n name=\"input_clear\"\n collection=\"default\"\n aria-hidden=\"true\"\n ></igc-icon>\n </slot>\n `\n : nothing}\n ${this.disableArrow ? nothing : html`<div id=\"arrow\"></div>`}\n </div>\n </igc-popover>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tooltip': IgcTooltipComponent;\n }\n}\n"]}
@@ -1,16 +1,14 @@
1
+ import type { RequiredProps } from '../common/util.js';
1
2
  import type IgcTreeItemComponent from './tree-item.js';
2
3
  export interface IgcTreeComponentEventMap {
3
- igcSelection: CustomEvent<TreeSelectionChange>;
4
+ igcSelection: CustomEvent<IgcTreeSelectionEventArgs>;
4
5
  igcItemExpanding: CustomEvent<IgcTreeItemComponent>;
5
6
  igcItemExpanded: CustomEvent<IgcTreeItemComponent>;
6
7
  igcItemCollapsing: CustomEvent<IgcTreeItemComponent>;
7
8
  igcItemCollapsed: CustomEvent<IgcTreeItemComponent>;
8
9
  igcActiveItem: CustomEvent<IgcTreeItemComponent>;
9
10
  }
10
- export interface IgcSelectionEventArgs {
11
- detail: TreeSelectionChange;
12
- cancelable: boolean;
13
- }
14
- export interface TreeSelectionChange {
11
+ export type TreeSelectionEventInit = RequiredProps<CustomEventInit<IgcTreeSelectionEventArgs>, 'detail' | 'cancelable'>;
12
+ export interface IgcTreeSelectionEventArgs {
15
13
  newSelection: IgcTreeItemComponent[];
16
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tree.common.js","sourceRoot":"","sources":["../../../src/components/tree/tree.common.ts"],"names":[],"mappings":"","sourcesContent":["import type IgcTreeItemComponent from './tree-item.js';\n\nexport interface IgcTreeComponentEventMap {\n /* alternateName: selectionChanged */\n igcSelection: CustomEvent<TreeSelectionChange>;\n igcItemExpanding: CustomEvent<IgcTreeItemComponent>;\n igcItemExpanded: CustomEvent<IgcTreeItemComponent>;\n igcItemCollapsing: CustomEvent<IgcTreeItemComponent>;\n igcItemCollapsed: CustomEvent<IgcTreeItemComponent>;\n igcActiveItem: CustomEvent<IgcTreeItemComponent>;\n}\nexport interface IgcSelectionEventArgs {\n detail: TreeSelectionChange;\n cancelable: boolean;\n}\n\nexport interface TreeSelectionChange {\n newSelection: IgcTreeItemComponent[];\n}\n"]}
1
+ {"version":3,"file":"tree.common.js","sourceRoot":"","sources":["../../../src/components/tree/tree.common.ts"],"names":[],"mappings":"","sourcesContent":["import type { RequiredProps } from '../common/util.js';\nimport type IgcTreeItemComponent from './tree-item.js';\n\nexport interface IgcTreeComponentEventMap {\n /* alternateName: selectionChanged */\n igcSelection: CustomEvent<IgcTreeSelectionEventArgs>;\n igcItemExpanding: CustomEvent<IgcTreeItemComponent>;\n igcItemExpanded: CustomEvent<IgcTreeItemComponent>;\n igcItemCollapsing: CustomEvent<IgcTreeItemComponent>;\n igcItemCollapsed: CustomEvent<IgcTreeItemComponent>;\n igcActiveItem: CustomEvent<IgcTreeItemComponent>;\n}\nexport type TreeSelectionEventInit = RequiredProps<\n CustomEventInit<IgcTreeSelectionEventArgs>,\n 'detail' | 'cancelable'\n>;\n\nexport interface IgcTreeSelectionEventArgs {\n newSelection: IgcTreeItemComponent[];\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { LitElement } from 'lit';
2
2
  import type { Constructor } from '../common/mixins/constructor.js';
3
+ import type { TreeSelection } from '../types.js';
3
4
  import IgcTreeItemComponent from './tree-item.js';
4
5
  import type { IgcTreeComponentEventMap } from './tree.common.js';
5
6
  import { IgcTreeNavigationService } from './tree.navigation.js';
@@ -42,7 +43,7 @@ export default class IgcTreeComponent extends IgcTreeComponent_base {
42
43
  * The selection state of the tree.
43
44
  * @attr
44
45
  */
45
- selection: 'none' | 'multiple' | 'cascade';
46
+ selection: TreeSelection;
46
47
  protected onDirChange(): void;
47
48
  protected selectionModeChange(): void;
48
49
  protected singleBranchExpandChange(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/components/tree/tree.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { styles } from './themes/container.base.css.js';\nimport { all } from './themes/container.js';\nimport IgcTreeItemComponent from './tree-item.js';\nimport type { IgcTreeComponentEventMap } from './tree.common.js';\nimport { IgcTreeNavigationService } from './tree.navigation.js';\nimport { IgcTreeSelectionService } from './tree.selection.js';\n\n/**\n * The tree allows users to represent hierarchical data in a tree-view structure,\n * maintaining parent-child relationships, as well as to define static tree-view structure without a corresponding data model.\n *\n * @element igc-tree\n *\n * @slot - Renders the tree items inside default slot.\n *\n * @fires igcSelection - Emitted when item selection is changing, before the selection completes.\n * @fires igcItemCollapsed - Emitted when tree item is collapsed.\n * @fires igcItemCollapsing - Emitted when tree item is about to collapse.\n * @fires igcItemExpanded - Emitted when tree item is expanded.\n * @fires igcItemExpanding - Emitted when tree item is about to expand.\n * @fires igcActiveItem - Emitted when the tree's `active` item changes.\n */\n@themes(all)\n@blazorAdditionalDependencies('IgcTreeItemComponent')\nexport default class IgcTreeComponent extends EventEmitterMixin<\n IgcTreeComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-tree';\n public static styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcTreeComponent, IgcTreeItemComponent);\n }\n\n /** @private @hidden @internal */\n public selectionService!: IgcTreeSelectionService;\n\n /** @private @hidden @internal */\n public navService!: IgcTreeNavigationService;\n\n /**\n * Whether a single or multiple of a parent's child items can be expanded.\n * @attr single-branch-expand\n */\n @property({ attribute: 'single-branch-expand', reflect: true, type: Boolean })\n public singleBranchExpand = false;\n\n /**\n * Whether clicking over nodes will change their expanded state or not.\n * @attr toggle-node-on-click\n */\n @property({ attribute: 'toggle-node-on-click', reflect: true, type: Boolean })\n public toggleNodeOnClick = false;\n\n /**\n * The selection state of the tree.\n * @attr\n */\n @property({ reflect: true })\n public selection: 'none' | 'multiple' | 'cascade' = 'none';\n\n @watch('dir')\n protected onDirChange(): void {\n this.items?.forEach((item: IgcTreeItemComponent) => {\n item.requestUpdate();\n });\n }\n\n @watch('selection', { waitUntilFirstUpdate: true })\n protected selectionModeChange(): void {\n this.selectionService.clearItemsSelection();\n this.items?.forEach((item: IgcTreeItemComponent) => {\n item.requestUpdate();\n });\n }\n\n @watch('singleBranchExpand')\n protected singleBranchExpandChange(): void {\n if (this.singleBranchExpand) {\n // if activeItem -> do not collapse its branch\n if (this.navService.activeItem) {\n const path = this.navService.activeItem.path;\n const remainExpanded = new Set(path.splice(0, path.length - 1));\n this.items.forEach((item) => {\n if (!remainExpanded.has(item)) {\n item.collapseWithEvent();\n }\n });\n } else {\n this.items.forEach((item) => item.collapseWithEvent());\n }\n }\n }\n\n constructor() {\n super();\n this.selectionService = new IgcTreeSelectionService(this);\n this.navService = new IgcTreeNavigationService(this, this.selectionService);\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'tree');\n this.addEventListener('keydown', this.handleKeydown);\n // set init to true for all items which are rendered along with the tree\n this.items.forEach((i: IgcTreeItemComponent) => {\n i.init = true;\n });\n const firstNotDisabledItem = this.items.find(\n (i: IgcTreeItemComponent) => !i.disabled\n );\n if (firstNotDisabledItem) {\n firstNotDisabledItem.tabIndex = 0;\n this.navService.focusItem(firstNotDisabledItem);\n }\n }\n\n /* blazorSuppress */\n /** Returns all of the tree's items. */\n public get items(): Array<IgcTreeItemComponent> {\n return Array.from(this.querySelectorAll('igc-tree-item'));\n }\n\n private handleKeydown(event: KeyboardEvent) {\n this.navService.handleKeydown(event);\n }\n\n /** @private */\n public expandToItem(item: IgcTreeItemComponent): void {\n if (item?.parent) {\n item.path.forEach((i) => {\n if (i !== item && !i.expanded) {\n i.expanded = true;\n }\n });\n }\n }\n\n /* blazorSuppress */\n /** Select all items if the items collection is empty. Otherwise, select the items in the items collection. */\n public select(\n /* alternateType: TreeItemCollection */\n items?: IgcTreeItemComponent[]\n ): void {\n if (!items) {\n this.selectionService.selectItemsWithNoEvent(\n this.selection === 'cascade'\n ? this.items.filter((item) => item.level === 0)\n : this.items\n );\n } else {\n this.selectionService.selectItemsWithNoEvent(items);\n }\n }\n\n /* blazorSuppress */\n /** Deselect all items if the items collection is empty. Otherwise, deselect the items in the items collection. */\n public deselect(\n /* alternateType: TreeItemCollection */\n items?: IgcTreeItemComponent[]\n ): void {\n this.selectionService.deselectItemsWithNoEvent(items);\n }\n\n /* blazorSuppress */\n /**\n * Expands all of the passed items.\n * If no items are passed, expands ALL items.\n */\n public expand(\n /* alternateType: TreeItemCollection */\n items?: IgcTreeItemComponent[]\n ): void {\n const _items = items || this.items;\n _items.forEach((item) => {\n item.expanded = true;\n });\n }\n\n /* blazorSuppress */\n /**\n * Collapses all of the passed items.\n * If no items are passed, collapses ALL items.\n */\n public collapse(\n /* alternateType: TreeItemCollection */\n items?: IgcTreeItemComponent[]\n ): void {\n const _items = items || this.items;\n _items.forEach((item) => {\n item.expanded = false;\n });\n }\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tree': IgcTreeComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/components/tree/tree.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport type { TreeSelection } from '../types.js';\nimport { styles } from './themes/container.base.css.js';\nimport { all } from './themes/container.js';\nimport IgcTreeItemComponent from './tree-item.js';\nimport type { IgcTreeComponentEventMap } from './tree.common.js';\nimport { IgcTreeNavigationService } from './tree.navigation.js';\nimport { IgcTreeSelectionService } from './tree.selection.js';\n\n/**\n * The tree allows users to represent hierarchical data in a tree-view structure,\n * maintaining parent-child relationships, as well as to define static tree-view structure without a corresponding data model.\n *\n * @element igc-tree\n *\n * @slot - Renders the tree items inside default slot.\n *\n * @fires igcSelection - Emitted when item selection is changing, before the selection completes.\n * @fires igcItemCollapsed - Emitted when tree item is collapsed.\n * @fires igcItemCollapsing - Emitted when tree item is about to collapse.\n * @fires igcItemExpanded - Emitted when tree item is expanded.\n * @fires igcItemExpanding - Emitted when tree item is about to expand.\n * @fires igcActiveItem - Emitted when the tree's `active` item changes.\n */\n@themes(all)\n@blazorAdditionalDependencies('IgcTreeItemComponent')\nexport default class IgcTreeComponent extends EventEmitterMixin<\n IgcTreeComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-tree';\n public static styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcTreeComponent, IgcTreeItemComponent);\n }\n\n /** @private @hidden @internal */\n public selectionService!: IgcTreeSelectionService;\n\n /** @private @hidden @internal */\n public navService!: IgcTreeNavigationService;\n\n /**\n * Whether a single or multiple of a parent's child items can be expanded.\n * @attr single-branch-expand\n */\n @property({ attribute: 'single-branch-expand', reflect: true, type: Boolean })\n public singleBranchExpand = false;\n\n /**\n * Whether clicking over nodes will change their expanded state or not.\n * @attr toggle-node-on-click\n */\n @property({ attribute: 'toggle-node-on-click', reflect: true, type: Boolean })\n public toggleNodeOnClick = false;\n\n /**\n * The selection state of the tree.\n * @attr\n */\n @property({ reflect: true })\n public selection: TreeSelection = 'none';\n\n @watch('dir')\n protected onDirChange(): void {\n this.items?.forEach((item: IgcTreeItemComponent) => {\n item.requestUpdate();\n });\n }\n\n @watch('selection', { waitUntilFirstUpdate: true })\n protected selectionModeChange(): void {\n this.selectionService.clearItemsSelection();\n this.items?.forEach((item: IgcTreeItemComponent) => {\n item.requestUpdate();\n });\n }\n\n @watch('singleBranchExpand')\n protected singleBranchExpandChange(): void {\n if (this.singleBranchExpand) {\n // if activeItem -> do not collapse its branch\n if (this.navService.activeItem) {\n const path = this.navService.activeItem.path;\n const remainExpanded = new Set(path.splice(0, path.length - 1));\n this.items.forEach((item) => {\n if (!remainExpanded.has(item)) {\n item.collapseWithEvent();\n }\n });\n } else {\n this.items.forEach((item) => item.collapseWithEvent());\n }\n }\n }\n\n constructor() {\n super();\n this.selectionService = new IgcTreeSelectionService(this);\n this.navService = new IgcTreeNavigationService(this, this.selectionService);\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'tree');\n this.addEventListener('keydown', this.handleKeydown);\n // set init to true for all items which are rendered along with the tree\n this.items.forEach((i: IgcTreeItemComponent) => {\n i.init = true;\n });\n const firstNotDisabledItem = this.items.find(\n (i: IgcTreeItemComponent) => !i.disabled\n );\n if (firstNotDisabledItem) {\n firstNotDisabledItem.tabIndex = 0;\n this.navService.focusItem(firstNotDisabledItem);\n }\n }\n\n /* blazorSuppress */\n /** Returns all of the tree's items. */\n public get items(): Array<IgcTreeItemComponent> {\n return Array.from(this.querySelectorAll('igc-tree-item'));\n }\n\n private handleKeydown(event: KeyboardEvent) {\n this.navService.handleKeydown(event);\n }\n\n /** @private */\n public expandToItem(item: IgcTreeItemComponent): void {\n if (item?.parent) {\n item.path.forEach((i) => {\n if (i !== item && !i.expanded) {\n i.expanded = true;\n }\n });\n }\n }\n\n /* blazorSuppress */\n /** Select all items if the items collection is empty. Otherwise, select the items in the items collection. */\n public select(\n /* alternateType: TreeItemCollection */\n items?: IgcTreeItemComponent[]\n ): void {\n if (!items) {\n this.selectionService.selectItemsWithNoEvent(\n this.selection === 'cascade'\n ? this.items.filter((item) => item.level === 0)\n : this.items\n );\n } else {\n this.selectionService.selectItemsWithNoEvent(items);\n }\n }\n\n /* blazorSuppress */\n /** Deselect all items if the items collection is empty. Otherwise, deselect the items in the items collection. */\n public deselect(\n /* alternateType: TreeItemCollection */\n items?: IgcTreeItemComponent[]\n ): void {\n this.selectionService.deselectItemsWithNoEvent(items);\n }\n\n /* blazorSuppress */\n /**\n * Expands all of the passed items.\n * If no items are passed, expands ALL items.\n */\n public expand(\n /* alternateType: TreeItemCollection */\n items?: IgcTreeItemComponent[]\n ): void {\n const _items = items || this.items;\n _items.forEach((item) => {\n item.expanded = true;\n });\n }\n\n /* blazorSuppress */\n /**\n * Collapses all of the passed items.\n * If no items are passed, collapses ALL items.\n */\n public collapse(\n /* alternateType: TreeItemCollection */\n items?: IgcTreeItemComponent[]\n ): void {\n const _items = items || this.items;\n _items.forEach((item) => {\n item.expanded = false;\n });\n }\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tree': IgcTreeComponent;\n }\n}\n"]}