igniteui-webcomponents 7.3.0 → 7.3.2

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 (322) hide show
  1. package/CHANGELOG.md +64 -1
  2. package/README.md +30 -0
  3. package/components/avatar/avatar.d.ts +1 -2
  4. package/components/avatar/avatar.js +4 -8
  5. package/components/avatar/avatar.js.map +1 -1
  6. package/components/avatar/themes/avatar.base.css.js +1 -1
  7. package/components/avatar/themes/avatar.base.css.js.map +1 -1
  8. package/components/badge/badge.d.ts +6 -1
  9. package/components/badge/badge.js +8 -5
  10. package/components/badge/badge.js.map +1 -1
  11. package/components/badge/themes/badge.base.css.js +1 -1
  12. package/components/badge/themes/badge.base.css.js.map +1 -1
  13. package/components/banner/themes/banner.base.css.js +1 -1
  14. package/components/banner/themes/banner.base.css.js.map +1 -1
  15. package/components/banner/themes/shared/banner.indigo.css.js +1 -1
  16. package/components/banner/themes/shared/banner.indigo.css.js.map +1 -1
  17. package/components/calendar/base.d.ts +7 -2
  18. package/components/calendar/base.js +8 -3
  19. package/components/calendar/base.js.map +1 -1
  20. package/components/calendar/calendar.d.ts +4 -0
  21. package/components/calendar/calendar.js +41 -14
  22. package/components/calendar/calendar.js.map +1 -1
  23. package/components/calendar/days-view/days-view.d.ts +3 -6
  24. package/components/calendar/days-view/days-view.js +7 -16
  25. package/components/calendar/days-view/days-view.js.map +1 -1
  26. package/components/calendar/helpers.d.ts +13 -0
  27. package/components/calendar/helpers.js +15 -0
  28. package/components/calendar/helpers.js.map +1 -1
  29. package/components/calendar/themes/calendar.base.css.js +1 -1
  30. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  31. package/components/calendar/themes/days-view.base.css.js +1 -1
  32. package/components/calendar/themes/days-view.base.css.js.map +1 -1
  33. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js +1 -1
  34. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js.map +1 -1
  35. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js +1 -1
  36. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js.map +1 -1
  37. package/components/calendar/themes/shared/fluent/days-view.fluent.css.js +1 -1
  38. package/components/calendar/themes/shared/fluent/days-view.fluent.css.js.map +1 -1
  39. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js +1 -1
  40. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js.map +1 -1
  41. package/components/calendar/themes/shared/indigo/days-view.indigo.css.js +1 -1
  42. package/components/calendar/themes/shared/indigo/days-view.indigo.css.js.map +1 -1
  43. package/components/calendar/themes/shared/material/days-view.material.css.js +1 -1
  44. package/components/calendar/themes/shared/material/days-view.material.css.js.map +1 -1
  45. package/components/calendar/themes/year-month-view.base.css.js +1 -1
  46. package/components/calendar/themes/year-month-view.base.css.js.map +1 -1
  47. package/components/card/themes/container.base.css.js +1 -1
  48. package/components/card/themes/container.base.css.js.map +1 -1
  49. package/components/carousel/themes/carousel.base.css.js +1 -1
  50. package/components/carousel/themes/carousel.base.css.js.map +1 -1
  51. package/components/carousel/themes/shared/carousel.indigo.css.js +1 -1
  52. package/components/carousel/themes/shared/carousel.indigo.css.js.map +1 -1
  53. package/components/chat/themes/chat.base.css.js +1 -1
  54. package/components/chat/themes/chat.base.css.js.map +1 -1
  55. package/components/chat/themes/message.base.css.js +1 -1
  56. package/components/chat/themes/message.base.css.js.map +1 -1
  57. package/components/checkbox/themes/checkbox.base.css.js +1 -1
  58. package/components/checkbox/themes/checkbox.base.css.js.map +1 -1
  59. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
  60. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
  61. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js +1 -1
  62. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js.map +1 -1
  63. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js +1 -1
  64. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js.map +1 -1
  65. package/components/checkbox/themes/shared/switch/switch.fluent.css.js +1 -1
  66. package/components/checkbox/themes/shared/switch/switch.fluent.css.js.map +1 -1
  67. package/components/checkbox/themes/shared/switch/switch.indigo.css.js +1 -1
  68. package/components/checkbox/themes/shared/switch/switch.indigo.css.js.map +1 -1
  69. package/components/checkbox/themes/shared/switch/switch.material.css.js +1 -1
  70. package/components/checkbox/themes/shared/switch/switch.material.css.js.map +1 -1
  71. package/components/checkbox/themes/switch.base.css.js +1 -1
  72. package/components/checkbox/themes/switch.base.css.js.map +1 -1
  73. package/components/chip/chip.d.ts +30 -14
  74. package/components/chip/chip.js +54 -48
  75. package/components/chip/chip.js.map +1 -1
  76. package/components/chip/themes/chip.base.css.js +1 -1
  77. package/components/chip/themes/chip.base.css.js.map +1 -1
  78. package/components/chip/themes/dark/chip.bootstrap.css.js +1 -1
  79. package/components/chip/themes/dark/chip.bootstrap.css.js.map +1 -1
  80. package/components/chip/themes/dark/chip.fluent.css.js +1 -1
  81. package/components/chip/themes/dark/chip.fluent.css.js.map +1 -1
  82. package/components/chip/themes/dark/chip.indigo.css.js +1 -1
  83. package/components/chip/themes/dark/chip.indigo.css.js.map +1 -1
  84. package/components/chip/themes/dark/chip.material.css.js +1 -1
  85. package/components/chip/themes/dark/chip.material.css.js.map +1 -1
  86. package/components/chip/themes/light/chip.bootstrap.css.js +1 -1
  87. package/components/chip/themes/light/chip.bootstrap.css.js.map +1 -1
  88. package/components/chip/themes/light/chip.fluent.css.js +1 -1
  89. package/components/chip/themes/light/chip.fluent.css.js.map +1 -1
  90. package/components/chip/themes/light/chip.indigo.css.js +1 -1
  91. package/components/chip/themes/light/chip.indigo.css.js.map +1 -1
  92. package/components/chip/themes/light/chip.material.css.js +1 -1
  93. package/components/chip/themes/light/chip.material.css.js.map +1 -1
  94. package/components/chip/themes/shared/chip.bootstrap.css.js +1 -1
  95. package/components/chip/themes/shared/chip.bootstrap.css.js.map +1 -1
  96. package/components/chip/themes/shared/chip.common.css.js +1 -1
  97. package/components/chip/themes/shared/chip.common.css.js.map +1 -1
  98. package/components/chip/themes/shared/chip.fluent.css.js +1 -1
  99. package/components/chip/themes/shared/chip.fluent.css.js.map +1 -1
  100. package/components/chip/themes/shared/chip.indigo.css.js +1 -1
  101. package/components/chip/themes/shared/chip.indigo.css.js.map +1 -1
  102. package/components/color-picker/color-picker.d.ts +2 -2
  103. package/components/color-picker/color-picker.js.map +1 -1
  104. package/components/color-picker/picker-canvas.js +2 -1
  105. package/components/color-picker/picker-canvas.js.map +1 -1
  106. package/components/color-picker/themes/color-picker.base.css.js +1 -1
  107. package/components/color-picker/themes/color-picker.base.css.js.map +1 -1
  108. package/components/combo/themes/combo-item.base.css.js +1 -1
  109. package/components/combo/themes/combo-item.base.css.js.map +1 -1
  110. package/components/combo/themes/combo.base.css.js +1 -1
  111. package/components/combo/themes/combo.base.css.js.map +1 -1
  112. package/components/combo/themes/shared/combo.bootstrap.css.js +1 -1
  113. package/components/combo/themes/shared/combo.bootstrap.css.js.map +1 -1
  114. package/components/date-picker/date-picker.base.d.ts +11 -2
  115. package/components/date-picker/date-picker.base.js +8 -3
  116. package/components/date-picker/date-picker.base.js.map +1 -1
  117. package/components/date-picker/themes/date-picker.base.css.js +1 -1
  118. package/components/date-picker/themes/date-picker.base.css.js.map +1 -1
  119. package/components/date-range-picker/date-range-picker.base.css.js +1 -1
  120. package/components/date-range-picker/date-range-picker.base.css.js.map +1 -1
  121. package/components/date-range-picker/predefined-ranges-area.base.css.js +1 -1
  122. package/components/date-range-picker/predefined-ranges-area.base.css.js.map +1 -1
  123. package/components/divider/themes/divider.base.css.js +1 -1
  124. package/components/divider/themes/divider.base.css.js.map +1 -1
  125. package/components/dropdown/themes/dropdown-item.base.css.js +1 -1
  126. package/components/dropdown/themes/dropdown-item.base.css.js.map +1 -1
  127. package/components/dropdown/themes/dropdown.base.css.js +1 -1
  128. package/components/dropdown/themes/dropdown.base.css.js.map +1 -1
  129. package/components/file-input/themes/file-input.base.css.js +1 -1
  130. package/components/file-input/themes/file-input.base.css.js.map +1 -1
  131. package/components/file-input/themes/shared/file-input.bootstrap.css.js +1 -1
  132. package/components/file-input/themes/shared/file-input.bootstrap.css.js.map +1 -1
  133. package/components/input/themes/shared/input.indigo.css.js +1 -1
  134. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  135. package/components/input/themes/shared/input.material.css.js +1 -1
  136. package/components/input/themes/shared/input.material.css.js.map +1 -1
  137. package/components/list/themes/item.base.css.js +1 -1
  138. package/components/list/themes/item.base.css.js.map +1 -1
  139. package/components/nav-drawer/themes/item.base.css.js +1 -1
  140. package/components/nav-drawer/themes/item.base.css.js.map +1 -1
  141. package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
  142. package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
  143. package/components/progress/themes/linear/shared/linear.progress.bootstrap.css.js +3 -0
  144. package/components/progress/themes/linear/shared/linear.progress.bootstrap.css.js.map +1 -0
  145. package/components/progress/themes/linear/themes.js +3 -2
  146. package/components/progress/themes/linear/themes.js.map +1 -1
  147. package/components/qr-code/qr-code.d.ts +28 -1
  148. package/components/qr-code/qr-code.js +56 -13
  149. package/components/qr-code/qr-code.js.map +1 -1
  150. package/components/qr-code/renderer/export.d.ts +28 -0
  151. package/components/qr-code/renderer/export.js +120 -0
  152. package/components/qr-code/renderer/export.js.map +1 -0
  153. package/components/qr-code/types.d.ts +26 -0
  154. package/components/qr-code/types.js.map +1 -1
  155. package/components/radio/themes/radio.base.css.js +1 -1
  156. package/components/radio/themes/radio.base.css.js.map +1 -1
  157. package/components/radio/themes/shared/radio.bootstrap.css.js +1 -1
  158. package/components/radio/themes/shared/radio.bootstrap.css.js.map +1 -1
  159. package/components/radio/themes/shared/radio.indigo.css.js +1 -1
  160. package/components/radio/themes/shared/radio.indigo.css.js.map +1 -1
  161. package/components/resize-container/themes/resize-container.base.css.js +1 -1
  162. package/components/resize-container/themes/resize-container.base.css.js.map +1 -1
  163. package/components/select/themes/select.base.css.js +1 -1
  164. package/components/select/themes/select.base.css.js.map +1 -1
  165. package/components/select/themes/shared/select.bootstrap.css.js +1 -1
  166. package/components/select/themes/shared/select.bootstrap.css.js.map +1 -1
  167. package/components/slider/themes/shared/slider.material.css.js +1 -1
  168. package/components/slider/themes/shared/slider.material.css.js.map +1 -1
  169. package/components/slider/themes/slider.base.css.js +1 -1
  170. package/components/slider/themes/slider.base.css.js.map +1 -1
  171. package/components/snackbar/themes/snackbar.base.css.js +1 -1
  172. package/components/snackbar/themes/snackbar.base.css.js.map +1 -1
  173. package/components/splitter/themes/splitter.base.css.js +1 -1
  174. package/components/splitter/themes/splitter.base.css.js.map +1 -1
  175. package/components/stepper/themes/step/step.base.css.js +1 -1
  176. package/components/stepper/themes/step/step.base.css.js.map +1 -1
  177. package/components/tabs/themes/shared/tab/tab.bootstrap.css.js +1 -1
  178. package/components/tabs/themes/shared/tab/tab.bootstrap.css.js.map +1 -1
  179. package/components/tabs/themes/shared/tab/tab.fluent.css.js +1 -1
  180. package/components/tabs/themes/shared/tab/tab.fluent.css.js.map +1 -1
  181. package/components/tabs/themes/shared/tab/tab.indigo.css.js +1 -1
  182. package/components/tabs/themes/shared/tab/tab.indigo.css.js.map +1 -1
  183. package/components/tabs/themes/shared/tab/tab.material.css.js +1 -1
  184. package/components/tabs/themes/shared/tab/tab.material.css.js.map +1 -1
  185. package/components/tabs/themes/shared/tabs/tabs.fluent.css.js +1 -1
  186. package/components/tabs/themes/shared/tabs/tabs.fluent.css.js.map +1 -1
  187. package/components/tabs/themes/shared/tabs/tabs.indigo.css.js +1 -1
  188. package/components/tabs/themes/shared/tabs/tabs.indigo.css.js.map +1 -1
  189. package/components/tabs/themes/shared/tabs/tabs.material.css.js +1 -1
  190. package/components/tabs/themes/shared/tabs/tabs.material.css.js.map +1 -1
  191. package/components/tabs/themes/tab.base.css.js +1 -1
  192. package/components/tabs/themes/tab.base.css.js.map +1 -1
  193. package/components/textarea/textarea.d.ts +2 -15
  194. package/components/textarea/textarea.js +48 -93
  195. package/components/textarea/textarea.js.map +1 -1
  196. package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
  197. package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
  198. package/components/textarea/themes/shared/textarea.common.css.js +1 -1
  199. package/components/textarea/themes/shared/textarea.common.css.js.map +1 -1
  200. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  201. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  202. package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
  203. package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
  204. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  205. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  206. package/components/tile-manager/position.d.ts +2 -9
  207. package/components/tile-manager/position.js +27 -42
  208. package/components/tile-manager/position.js.map +1 -1
  209. package/components/tile-manager/resize-state.d.ts +11 -22
  210. package/components/tile-manager/resize-state.js +60 -119
  211. package/components/tile-manager/resize-state.js.map +1 -1
  212. package/components/tile-manager/resize-util.d.ts +3 -7
  213. package/components/tile-manager/resize-util.js +65 -72
  214. package/components/tile-manager/resize-util.js.map +1 -1
  215. package/components/tile-manager/serializer.d.ts +1 -1
  216. package/components/tile-manager/serializer.js +9 -10
  217. package/components/tile-manager/serializer.js.map +1 -1
  218. package/components/tile-manager/themes/shared/tile/tile.common.css.js +1 -1
  219. package/components/tile-manager/themes/shared/tile/tile.common.css.js.map +1 -1
  220. package/components/tile-manager/themes/tile.base.css.js +1 -1
  221. package/components/tile-manager/themes/tile.base.css.js.map +1 -1
  222. package/components/tile-manager/tile-ghost-util.js +16 -20
  223. package/components/tile-manager/tile-ghost-util.js.map +1 -1
  224. package/components/tile-manager/tile-manager.d.ts +5 -2
  225. package/components/tile-manager/tile-manager.js +27 -23
  226. package/components/tile-manager/tile-manager.js.map +1 -1
  227. package/components/tile-manager/tile.d.ts +32 -18
  228. package/components/tile-manager/tile.js +181 -161
  229. package/components/tile-manager/tile.js.map +1 -1
  230. package/components/tile-manager/types.d.ts +1 -5
  231. package/components/tile-manager/types.js.map +1 -1
  232. package/components/toast/themes/toast.base.css.js +1 -1
  233. package/components/toast/themes/toast.base.css.js.map +1 -1
  234. package/components/tooltip/themes/tooltip.base.css.js +1 -1
  235. package/components/tooltip/themes/tooltip.base.css.js.map +1 -1
  236. package/components/tree/themes/item.base.css.js +1 -1
  237. package/components/tree/themes/item.base.css.js.map +1 -1
  238. package/components/validation-container/themes/validator.base.css.js +1 -1
  239. package/components/validation-container/themes/validator.base.css.js.map +1 -1
  240. package/components/validation-container/validation-container.d.ts +10 -12
  241. package/components/validation-container/validation-container.js +14 -17
  242. package/components/validation-container/validation-container.js.map +1 -1
  243. package/custom-elements.json +1061 -946
  244. package/igniteui-webcomponents.css-data.json +1 -1
  245. package/igniteui-webcomponents.html-data.json +1 -1
  246. package/index.d.ts +2 -1
  247. package/index.js.map +1 -1
  248. package/internals/definitions/defineAllComponents.js +4 -0
  249. package/internals/definitions/defineAllComponents.js.map +1 -1
  250. package/internals/directives/drag.d.ts +144 -0
  251. package/internals/directives/drag.js +278 -0
  252. package/internals/directives/drag.js.map +1 -0
  253. package/internals/directives/resize.d.ts +109 -0
  254. package/internals/directives/resize.js +214 -0
  255. package/internals/directives/resize.js.map +1 -0
  256. package/internals/templates/input-shell.d.ts +12 -1
  257. package/internals/templates/input-shell.js +17 -10
  258. package/internals/templates/input-shell.js.map +1 -1
  259. package/internals/utils/dom.d.ts +2 -0
  260. package/internals/utils/dom.js +3 -0
  261. package/internals/utils/dom.js.map +1 -1
  262. package/internals/utils/events.d.ts +2 -0
  263. package/internals/utils/events.js +3 -0
  264. package/internals/utils/events.js.map +1 -1
  265. package/package.json +1 -1
  266. package/skills/README.md +1 -0
  267. package/skills/igniteui-wc-generate-from-image-design/references/gotchas.md +21 -0
  268. package/skills/igniteui-wc-integrate-with-framework/SKILL.md +4 -3
  269. package/skills/igniteui-wc-integrate-with-framework/references/vanilla-js.md +14 -0
  270. package/skills/igniteui-wc-migrate-grid-lite-to-premium/SKILL.md +12 -2
  271. package/web-types.json +2 -2
  272. package/components/resize-container/default-ghost.d.ts +0 -5
  273. package/components/resize-container/default-ghost.js +0 -20
  274. package/components/resize-container/default-ghost.js.map +0 -1
  275. package/components/resize-container/resize-container.d.ts +0 -60
  276. package/components/resize-container/resize-container.js +0 -156
  277. package/components/resize-container/resize-container.js.map +0 -1
  278. package/components/resize-container/resize-controller.d.ts +0 -46
  279. package/components/resize-container/resize-controller.js +0 -195
  280. package/components/resize-container/resize-controller.js.map +0 -1
  281. package/components/resize-container/themes/dark/resize-indicator.bootstrap.css.js +0 -3
  282. package/components/resize-container/themes/dark/resize-indicator.bootstrap.css.js.map +0 -1
  283. package/components/resize-container/themes/dark/resize-indicator.fluent.css.d.ts +0 -1
  284. package/components/resize-container/themes/dark/resize-indicator.fluent.css.js +0 -3
  285. package/components/resize-container/themes/dark/resize-indicator.fluent.css.js.map +0 -1
  286. package/components/resize-container/themes/dark/resize-indicator.indigo.css.d.ts +0 -1
  287. package/components/resize-container/themes/dark/resize-indicator.indigo.css.js +0 -3
  288. package/components/resize-container/themes/dark/resize-indicator.indigo.css.js.map +0 -1
  289. package/components/resize-container/themes/dark/resize-indicator.material.css.d.ts +0 -1
  290. package/components/resize-container/themes/dark/resize-indicator.material.css.js +0 -3
  291. package/components/resize-container/themes/dark/resize-indicator.material.css.js.map +0 -1
  292. package/components/resize-container/themes/dark/resize-indicator.shared.css.d.ts +0 -1
  293. package/components/resize-container/themes/dark/resize-indicator.shared.css.js +0 -3
  294. package/components/resize-container/themes/dark/resize-indicator.shared.css.js.map +0 -1
  295. package/components/resize-container/themes/light/resize-indicator.bootstrap.css.d.ts +0 -1
  296. package/components/resize-container/themes/light/resize-indicator.bootstrap.css.js +0 -3
  297. package/components/resize-container/themes/light/resize-indicator.bootstrap.css.js.map +0 -1
  298. package/components/resize-container/themes/light/resize-indicator.fluent.css.d.ts +0 -1
  299. package/components/resize-container/themes/light/resize-indicator.fluent.css.js +0 -3
  300. package/components/resize-container/themes/light/resize-indicator.fluent.css.js.map +0 -1
  301. package/components/resize-container/themes/light/resize-indicator.indigo.css.d.ts +0 -1
  302. package/components/resize-container/themes/light/resize-indicator.indigo.css.js +0 -3
  303. package/components/resize-container/themes/light/resize-indicator.indigo.css.js.map +0 -1
  304. package/components/resize-container/themes/light/resize-indicator.material.css.d.ts +0 -1
  305. package/components/resize-container/themes/light/resize-indicator.material.css.js +0 -3
  306. package/components/resize-container/themes/light/resize-indicator.material.css.js.map +0 -1
  307. package/components/resize-container/themes/light/resize-indicator.shared.css.d.ts +0 -1
  308. package/components/resize-container/themes/light/resize-indicator.shared.css.js +0 -3
  309. package/components/resize-container/themes/light/resize-indicator.shared.css.js.map +0 -1
  310. package/components/resize-container/themes/shared/resize-container.common.css.d.ts +0 -1
  311. package/components/resize-container/themes/shared/resize-container.common.css.js +0 -3
  312. package/components/resize-container/themes/shared/resize-container.common.css.js.map +0 -1
  313. package/components/resize-container/themes/themes.d.ts +0 -2
  314. package/components/resize-container/themes/themes.js +0 -47
  315. package/components/resize-container/themes/themes.js.map +0 -1
  316. package/components/resize-container/types.d.ts +0 -40
  317. package/components/resize-container/types.js +0 -2
  318. package/components/resize-container/types.js.map +0 -1
  319. package/internals/controllers/drag.d.ts +0 -166
  320. package/internals/controllers/drag.js +0 -283
  321. package/internals/controllers/drag.js.map +0 -1
  322. /package/components/{resize-container/themes/dark/resize-indicator.bootstrap.css.d.ts → progress/themes/linear/shared/linear.progress.bootstrap.css.d.ts} +0 -0
@@ -19,6 +19,8 @@ export declare function getElementFromPath<K extends keyof HTMLElementTagNameMap
19
19
  export declare function getElementFromPath<T extends Element>(predicate: string | ((element: Element) => boolean), event: Event): T | undefined;
20
20
  /** Reusable event listener that just stops the propagation of the event. */
21
21
  export declare function stopPropagation(event: Event): void;
22
+ /** Reusable event listener that just prevents the default action of the event. */
23
+ export declare function preventDefault(event: Event): void;
22
24
  /**
23
25
  * Returns whether focus has moved outside of the given host element for
24
26
  * a `focusout`/`blur` event, that is the element gaining focus is not
@@ -10,6 +10,9 @@ export function getElementFromPath(predicate, event) {
10
10
  export function stopPropagation(event) {
11
11
  event.stopPropagation();
12
12
  }
13
+ export function preventDefault(event) {
14
+ event.preventDefault();
15
+ }
13
16
  export function focusLeftHost(host, event) {
14
17
  return !host.contains(event.relatedTarget);
15
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/internals/utils/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA2B7D,MAAM,UAAU,kBAAkB,CAChC,SAAmD,EACnD,KAAY;IAEZ,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC;QAC9B,CAAC,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACtC,CAAC,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEjC,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAC7C,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CACjB,CAAC;AAC3B,CAAC;AAGD,MAAM,UAAU,eAAe,CAAC,KAAY;IAC1C,KAAK,CAAC,eAAe,EAAE,CAAC;AAC1B,CAAC;AAOD,MAAM,UAAU,aAAa,CAAC,IAAa,EAAE,KAAiB;IAC5D,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAA4B,CAAC,CAAC;AAC5D,CAAC;AAMD,MAAM,UAAU,oBAAoB,CAClC,OAAgB,EAChB,KAAa,EACb,QAA4C,EAC5C,OAA2C;IAE3C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,CAAC,GAAU,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhC,IAAI,CAAC,OAAO,EAAE,CAAC;YAEb,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,OAAO,qBAAqB,CAAC,OAAO,CAAC;YACnC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC;YAC1B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAWD,MAAM,UAAU,oBAAoB,CAGlC,MAAmB,EACnB,SAAY,EACZ,OAA2C,EAC3C,OAA2C;IAE3C,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,KAAY,EAAE,EAAE,CACpC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAuB,CAAC,CAAC;IAEhD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC","sourcesContent":["import { isServer } from 'lit';\nimport { isElement } from './dom.js';\nimport { isEventListenerObject, isString } from './types.js';\n\n/**\n * Finds the first element in the event's composed path that matches the provided predicate, which can be either a string selector or a function.\n *\n * @param predicate - A string representing a CSS selector or a function that takes an Element and returns a boolean indicating a match.\n * @param event - The event whose composed path will be searched for the matching element.\n * @returns The first Element that matches the predicate, or undefined if no match is found.\n *\n * @example\n * ```typescript\n * // Using a string selector\n * const button = getElementFromPath('button', event);\n * ```\n * ```typescript\n * // Using a predicate function\n * const customElement = getElementFromPath((el) => el.tagName === 'MY-ELEMENT', event);\n * ```\n */\nexport function getElementFromPath<K extends keyof HTMLElementTagNameMap>(\n predicate: K,\n event: Event\n): HTMLElementTagNameMap[K] | undefined;\nexport function getElementFromPath<T extends Element>(\n predicate: string | ((element: Element) => boolean),\n event: Event\n): T | undefined;\nexport function getElementFromPath(\n predicate: string | ((element: Element) => boolean),\n event: Event\n) {\n const func = isString(predicate)\n ? (e: Element) => e.matches(predicate)\n : (e: Element) => predicate(e);\n\n return Iterator.from(event.composedPath()).find(\n (item) => isElement(item) && func(item)\n ) as Element | undefined;\n}\n\n/** Reusable event listener that just stops the propagation of the event. */\nexport function stopPropagation(event: Event): void {\n event.stopPropagation();\n}\n\n/**\n * Returns whether focus has moved outside of the given host element for\n * a `focusout`/`blur` event, that is the element gaining focus is not\n * a descendant of the host.\n */\nexport function focusLeftHost(host: Element, event: FocusEvent): boolean {\n return !host.contains(event.relatedTarget as Node | null);\n}\n\n/**\n * Adds an event listener that holds only a weak reference to the passed\n * `listener`, thus not preventing it from being garbage collected.\n */\nexport function addWeakEventListener(\n element: Element,\n event: string,\n listener: EventListenerOrEventListenerObject,\n options?: AddEventListenerOptions | boolean\n): void {\n const weakRef = new WeakRef(listener);\n const wrapped = (evt: Event) => {\n const handler = weakRef.deref();\n\n if (!handler) {\n // The listener has been garbage collected - detach the wrapper as well\n element.removeEventListener(event, wrapped, options);\n return;\n }\n\n return isEventListenerObject(handler)\n ? handler.handleEvent(evt)\n : handler(evt);\n };\n\n element.addEventListener(event, wrapped, options);\n}\n\ntype EventTypeOf<T extends keyof HTMLElementEventMap | keyof WindowEventMap> =\n (HTMLElementEventMap & WindowEventMap)[T];\n\n/**\n * Safely adds an event listener to an HTMLElement, automatically handling\n * server-side rendering environments by doing nothing if `isServer` is true.\n * This function also correctly binds the `handler`'s `this` context to the `target` element\n * and ensures proper event type inference.\n */\nexport function addSafeEventListener<\n E extends keyof HTMLElementEventMap | keyof WindowEventMap,\n>(\n target: HTMLElement,\n eventName: E,\n handler: (event: EventTypeOf<E>) => unknown,\n options?: boolean | AddEventListenerOptions\n): void {\n if (isServer) {\n return;\n }\n\n const boundHandler = (event: Event) =>\n handler.call(target, event as EventTypeOf<E>);\n\n target.addEventListener(eventName, boundHandler, options);\n}\n"]}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/internals/utils/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA2B7D,MAAM,UAAU,kBAAkB,CAChC,SAAmD,EACnD,KAAY;IAEZ,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC;QAC9B,CAAC,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACtC,CAAC,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEjC,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAC7C,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CACjB,CAAC;AAC3B,CAAC;AAGD,MAAM,UAAU,eAAe,CAAC,KAAY;IAC1C,KAAK,CAAC,eAAe,EAAE,CAAC;AAC1B,CAAC;AAGD,MAAM,UAAU,cAAc,CAAC,KAAY;IACzC,KAAK,CAAC,cAAc,EAAE,CAAC;AACzB,CAAC;AAOD,MAAM,UAAU,aAAa,CAAC,IAAa,EAAE,KAAiB;IAC5D,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAA4B,CAAC,CAAC;AAC5D,CAAC;AAMD,MAAM,UAAU,oBAAoB,CAClC,OAAgB,EAChB,KAAa,EACb,QAA4C,EAC5C,OAA2C;IAE3C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,CAAC,GAAU,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhC,IAAI,CAAC,OAAO,EAAE,CAAC;YAEb,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,OAAO,qBAAqB,CAAC,OAAO,CAAC;YACnC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC;YAC1B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAWD,MAAM,UAAU,oBAAoB,CAGlC,MAAmB,EACnB,SAAY,EACZ,OAA2C,EAC3C,OAA2C;IAE3C,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,KAAY,EAAE,EAAE,CACpC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAuB,CAAC,CAAC;IAEhD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC","sourcesContent":["import { isServer } from 'lit';\nimport { isElement } from './dom.js';\nimport { isEventListenerObject, isString } from './types.js';\n\n/**\n * Finds the first element in the event's composed path that matches the provided predicate, which can be either a string selector or a function.\n *\n * @param predicate - A string representing a CSS selector or a function that takes an Element and returns a boolean indicating a match.\n * @param event - The event whose composed path will be searched for the matching element.\n * @returns The first Element that matches the predicate, or undefined if no match is found.\n *\n * @example\n * ```typescript\n * // Using a string selector\n * const button = getElementFromPath('button', event);\n * ```\n * ```typescript\n * // Using a predicate function\n * const customElement = getElementFromPath((el) => el.tagName === 'MY-ELEMENT', event);\n * ```\n */\nexport function getElementFromPath<K extends keyof HTMLElementTagNameMap>(\n predicate: K,\n event: Event\n): HTMLElementTagNameMap[K] | undefined;\nexport function getElementFromPath<T extends Element>(\n predicate: string | ((element: Element) => boolean),\n event: Event\n): T | undefined;\nexport function getElementFromPath(\n predicate: string | ((element: Element) => boolean),\n event: Event\n) {\n const func = isString(predicate)\n ? (e: Element) => e.matches(predicate)\n : (e: Element) => predicate(e);\n\n return Iterator.from(event.composedPath()).find(\n (item) => isElement(item) && func(item)\n ) as Element | undefined;\n}\n\n/** Reusable event listener that just stops the propagation of the event. */\nexport function stopPropagation(event: Event): void {\n event.stopPropagation();\n}\n\n/** Reusable event listener that just prevents the default action of the event. */\nexport function preventDefault(event: Event): void {\n event.preventDefault();\n}\n\n/**\n * Returns whether focus has moved outside of the given host element for\n * a `focusout`/`blur` event, that is the element gaining focus is not\n * a descendant of the host.\n */\nexport function focusLeftHost(host: Element, event: FocusEvent): boolean {\n return !host.contains(event.relatedTarget as Node | null);\n}\n\n/**\n * Adds an event listener that holds only a weak reference to the passed\n * `listener`, thus not preventing it from being garbage collected.\n */\nexport function addWeakEventListener(\n element: Element,\n event: string,\n listener: EventListenerOrEventListenerObject,\n options?: AddEventListenerOptions | boolean\n): void {\n const weakRef = new WeakRef(listener);\n const wrapped = (evt: Event) => {\n const handler = weakRef.deref();\n\n if (!handler) {\n // The listener has been garbage collected - detach the wrapper as well\n element.removeEventListener(event, wrapped, options);\n return;\n }\n\n return isEventListenerObject(handler)\n ? handler.handleEvent(evt)\n : handler(evt);\n };\n\n element.addEventListener(event, wrapped, options);\n}\n\ntype EventTypeOf<T extends keyof HTMLElementEventMap | keyof WindowEventMap> =\n (HTMLElementEventMap & WindowEventMap)[T];\n\n/**\n * Safely adds an event listener to an HTMLElement, automatically handling\n * server-side rendering environments by doing nothing if `isServer` is true.\n * This function also correctly binds the `handler`'s `this` context to the `target` element\n * and ensures proper event type inference.\n */\nexport function addSafeEventListener<\n E extends keyof HTMLElementEventMap | keyof WindowEventMap,\n>(\n target: HTMLElement,\n eventName: E,\n handler: (event: EventTypeOf<E>) => unknown,\n options?: boolean | AddEventListenerOptions\n): void {\n if (isServer) {\n return;\n }\n\n const boundHandler = (event: Event) =>\n handler.call(target, event as EventTypeOf<E>);\n\n target.addEventListener(eventName, boundHandler, options);\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "igniteui-webcomponents",
3
- "version": "7.3.0",
3
+ "version": "7.3.2",
4
4
  "description": "Ignite UI for Web Components is a complete library of UI components, giving you the ability to build modern web applications using encapsulation and the concept of reusable components in a dependency-free approach.",
5
5
  "author": "Infragistics",
6
6
  "license": "MIT",
package/skills/README.md CHANGED
@@ -15,6 +15,7 @@ Skills are structured instructions that help AI agents understand and execute co
15
15
  | [igniteui-wc-customize-component-theme](./igniteui-wc-customize-component-theme/SKILL.md) | Customize styling using CSS custom properties, parts, and theming system | Applying custom brand colors/styles |
16
16
  | [igniteui-wc-generate-from-image-design](./igniteui-wc-generate-from-image-design/SKILL.md) | Implement a view from a screenshot or mockup using Ignite UI Web Components | Converting a design image into UI |
17
17
  | [igniteui-wc-optimize-bundle-size](./igniteui-wc-optimize-bundle-size/SKILL.md) | Reduce bundle size by importing only needed components and lazy loading | Optimizing production performance |
18
+ | [igniteui-wc-migrate-grid-lite-to-premium](./igniteui-wc-migrate-grid-lite-to-premium/SKILL.md) | Migrate from Grid Lite to the premium Data Grid | Adopting enterprise grid features |
18
19
 
19
20
  ## How to Use
20
21
 
@@ -134,6 +134,27 @@ For core UI component theming, prefer `create_component_theme` and apply the ret
134
134
  ### Grid theming is package-specific
135
135
  `igniteui-grid-lite` and the premium grid packages do not map to Angular's `igx-grid__*` internal class structure. Use `get_component_design_tokens("grid")`, the exact grid package docs, and exposed tokens or parts for the package present in the workspace.
136
136
 
137
+ ### `igniteui-webcomponents-grids` theme must be injected into the shadow root
138
+
139
+ A bare CSS import (`import '...material.css'`) lands in the document head and selector rules outside a Shadow root never reach inside it. When the grid is rendered inside a Shadow root, the theme must be injected there too — it targets the grid's internal structure and elements. Without it, internal grid elements render with broken dimensions; checkboxes can expand to 1,100 px wide and collapse the entire grid UI.
140
+
141
+ Import the theme as an inline string (requires bundler support for `?inline`, e.g. Vite) and inject it as a `<style>` tag inside the shadow root. The exact approach depends on the framework — for a LitElement component, render it at the top of `render()`:
142
+
143
+ ```typescript
144
+ import { html } from 'lit';
145
+ import gridTheme from 'igniteui-webcomponents-grids/grids/themes/light/material.css?inline';
146
+
147
+ // LitElement example — adapt to your Shadow DOM approach (Stencil, FAST, vanilla attachShadow, etc.)
148
+ render() {
149
+ return html`
150
+ <style>${gridTheme}</style>
151
+ <igc-grid ...></igc-grid>
152
+ `;
153
+ }
154
+ ```
155
+
156
+ Apply the same `?inline` + `<style>` approach for dark or other theme variants.
157
+
137
158
  ### Read luminance warnings from palette generation
138
159
  If palette generation returns a luminance warning for a generated surface, do not ignore it. If the design needs multiple surface depths, use `create_custom_palette` or define semantic CSS variables such as `--surface-1` and `--surface-2` in the main stylesheet instead of relying on a single generated surface color.
139
160
 
@@ -96,7 +96,8 @@ Before loading a reference, identify the target framework from the project conte
96
96
  - No major framework found in `package.json`
97
97
  - Plain `.html` files reference a `<script type="module">`
98
98
  - Entry point is a plain `.js` or `.ts` file with no framework imports
99
- - User explicitly asks for vanilla JS or HTML integration
99
+ - `package.json` contains "lit" start with the vanilla JS reference; if using Shadow DOM, follow the Shadow root theming note for grids
100
+ - User explicitly asks for vanilla JS, HTML, or LitElement integration
100
101
 
101
102
  → **Load:** [vanilla-js.md](./references/vanilla-js.md)
102
103
 
@@ -106,7 +107,7 @@ Before loading a reference, identify the target framework from the project conte
106
107
 
107
108
  Ask the user directly:
108
109
 
109
- > "What framework or platform are you using? (React, Angular, Vue 3, or Vanilla JS / HTML)"
110
+ > "What framework or platform are you using? (React, Angular, Vue 3, Vanilla JS / HTML, or LitElement)"
110
111
 
111
112
  Then load the matching reference from the options above.
112
113
 
@@ -119,7 +120,7 @@ Then load the matching reference from the options above.
119
120
  | React | [react.md](./references/react.md) |
120
121
  | Angular | [angular.md](./references/angular.md) |
121
122
  | Vue 3 | [vue.md](./references/vue.md) |
122
- | Vanilla JS / HTML | [vanilla-js.md](./references/vanilla-js.md) |
123
+ | Vanilla JS / HTML / LitElement | [vanilla-js.md](./references/vanilla-js.md) |
123
124
 
124
125
  Each reference covers:
125
126
 
@@ -113,6 +113,20 @@ document.body.innerHTML = '<igc-button>Click</igc-button>';
113
113
 
114
114
  Ensure you import a theme CSS file in your entry point. Without it, components render unstyled.
115
115
 
116
+ **`igniteui-webcomponents-grids` inside a Shadow root:** A bare `import '...css'` lands in the document head and never reaches inside a Shadow root — the grid's internal structure and elements receive no styles and render with incorrect dimensions. Import the theme as an inline string and inject it as a `<style>` tag inside the shadow root (requires bundler support for `?inline`, e.g. Vite). For a LitElement component:
117
+
118
+ ```typescript
119
+ import { html } from 'lit';
120
+ import gridTheme from 'igniteui-webcomponents-grids/grids/themes/light/material.css?inline';
121
+
122
+ render() {
123
+ return html`
124
+ <style>${gridTheme}</style>
125
+ <igc-grid ...></igc-grid>
126
+ `;
127
+ }
128
+ ```
129
+
116
130
  ## Next Steps
117
131
 
118
132
  - [Optimize bundle size](../../igniteui-wc-optimize-bundle-size/SKILL.md) — import only the components you use
@@ -108,11 +108,21 @@ import {
108
108
  IgcNoopFilteringStrategy,
109
109
  } from 'igniteui-webcomponents-grids';
110
110
 
111
- // Theme - change to the grids-specific path
111
+ // Theme import as an inline string so it can be injected into the shadow root (requires bundler support for ?inline, e.g. Vite)
112
112
  // Available: light|dark x bootstrap|material|fluent|indigo
113
- import 'igniteui-webcomponents-grids/grids/themes/light/bootstrap.css';
113
+ import gridTheme from 'igniteui-webcomponents-grids/grids/themes/light/material.css?inline';
114
114
  ```
115
115
 
116
+ > **Grid inside a Shadow root — required step:** A bare CSS import lands in the document head and never reaches inside a Shadow root — the grid's internal structure and elements get no styles. Inject the theme as a `<style>` tag inside the shadow root. For a LitElement component, at the top of `render()`:
117
+ > ```typescript
118
+ > render() {
119
+ > return html`
120
+ > <style>${gridTheme}</style>
121
+ > <igc-grid ...></igc-grid>
122
+ > `;
123
+ > }
124
+ > ```
125
+
116
126
  ## Step 3 - Update HTML Tags
117
127
 
118
128
  | Grid Lite | Premium Grid |