igniteui-webcomponents 6.1.2 → 6.2.1

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 (502) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/LICENSE +1 -1
  3. package/README.md +13 -1
  4. package/components/accordion/accordion.js +1 -4
  5. package/components/accordion/accordion.js.map +1 -1
  6. package/components/accordion/themes/accordion.base.css.js +1 -1
  7. package/components/accordion/themes/accordion.base.css.js.map +1 -1
  8. package/components/banner/themes/banner.base.css.js +1 -1
  9. package/components/banner/themes/banner.base.css.js.map +1 -1
  10. package/components/banner/themes/shared/banner.bootstrap.css.js +1 -1
  11. package/components/banner/themes/shared/banner.bootstrap.css.js.map +1 -1
  12. package/components/banner/themes/shared/banner.fluent.css.js +1 -1
  13. package/components/banner/themes/shared/banner.fluent.css.js.map +1 -1
  14. package/components/banner/themes/shared/banner.indigo.css.js +1 -1
  15. package/components/banner/themes/shared/banner.indigo.css.js.map +1 -1
  16. package/components/banner/themes/shared/banner.material.css.js +1 -1
  17. package/components/banner/themes/shared/banner.material.css.js.map +1 -1
  18. package/components/button/themes/button/button.base.css.js +1 -1
  19. package/components/button/themes/button/button.base.css.js.map +1 -1
  20. package/components/button/themes/button/shared/button.common.css.js +1 -1
  21. package/components/button/themes/button/shared/button.common.css.js.map +1 -1
  22. package/components/button/themes/button/shared/button.fluent.css.js +1 -1
  23. package/components/button/themes/button/shared/button.fluent.css.js.map +1 -1
  24. package/components/button/themes/button/shared/button.indigo.css.js +1 -1
  25. package/components/button/themes/button/shared/button.indigo.css.js.map +1 -1
  26. package/components/button/themes/icon-button/icon-button.base.css.js +1 -1
  27. package/components/button/themes/icon-button/icon-button.base.css.js.map +1 -1
  28. package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.js +1 -1
  29. package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.js.map +1 -1
  30. package/components/button/themes/icon-button/shared/icon-button.fluent.css.js +1 -1
  31. package/components/button/themes/icon-button/shared/icon-button.fluent.css.js.map +1 -1
  32. package/components/button/themes/icon-button/shared/icon-button.indigo.css.js +1 -1
  33. package/components/button/themes/icon-button/shared/icon-button.indigo.css.js.map +1 -1
  34. package/components/button/themes/icon-button/shared/icon-button.material.css.js +1 -1
  35. package/components/button/themes/icon-button/shared/icon-button.material.css.js.map +1 -1
  36. package/components/button-group/themes/shared/button/button.bootstrap.css.js +1 -1
  37. package/components/button-group/themes/shared/button/button.bootstrap.css.js.map +1 -1
  38. package/components/button-group/themes/shared/button/button.common.css.js +1 -1
  39. package/components/button-group/themes/shared/button/button.common.css.js.map +1 -1
  40. package/components/button-group/themes/shared/button/button.indigo.css.js +1 -1
  41. package/components/button-group/themes/shared/button/button.indigo.css.js.map +1 -1
  42. package/components/calendar/calendar.d.ts +1 -1
  43. package/components/calendar/days-view/days-view.js +1 -3
  44. package/components/calendar/days-view/days-view.js.map +1 -1
  45. package/components/calendar/months-view/months-view.js +1 -3
  46. package/components/calendar/months-view/months-view.js.map +1 -1
  47. package/components/calendar/themes/calendar.base.css.js +1 -1
  48. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  49. package/components/calendar/themes/days-view.base.css.js +1 -1
  50. package/components/calendar/themes/days-view.base.css.js.map +1 -1
  51. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js +1 -1
  52. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js.map +1 -1
  53. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js +1 -1
  54. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js.map +1 -1
  55. package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js +1 -1
  56. package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js.map +1 -1
  57. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js +1 -1
  58. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js.map +1 -1
  59. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js +1 -1
  60. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js.map +1 -1
  61. package/components/calendar/themes/shared/material/calendar.material.css.js +1 -1
  62. package/components/calendar/themes/shared/material/calendar.material.css.js.map +1 -1
  63. package/components/calendar/themes/year-month-view.base.css.js +1 -1
  64. package/components/calendar/themes/year-month-view.base.css.js.map +1 -1
  65. package/components/calendar/years-view/years-view.js +1 -3
  66. package/components/calendar/years-view/years-view.js.map +1 -1
  67. package/components/card/themes/card.actions.base.css.js +1 -1
  68. package/components/card/themes/card.actions.base.css.js.map +1 -1
  69. package/components/card/themes/card.content.base.css.js +1 -1
  70. package/components/card/themes/card.content.base.css.js.map +1 -1
  71. package/components/card/themes/card.header.base.css.js +1 -1
  72. package/components/card/themes/card.header.base.css.js.map +1 -1
  73. package/components/card/themes/content.js +7 -0
  74. package/components/card/themes/content.js.map +1 -1
  75. package/components/card/themes/shared/actions/card.actions.bootstrap.css.js +1 -1
  76. package/components/card/themes/shared/actions/card.actions.bootstrap.css.js.map +1 -1
  77. package/components/card/themes/shared/actions/card.actions.indigo.css.js +1 -1
  78. package/components/card/themes/shared/actions/card.actions.indigo.css.js.map +1 -1
  79. package/components/card/themes/shared/container/card.bootstrap.css.js +1 -1
  80. package/components/card/themes/shared/container/card.bootstrap.css.js.map +1 -1
  81. package/components/card/themes/shared/container/card.indigo.css.js +1 -1
  82. package/components/card/themes/shared/container/card.indigo.css.js.map +1 -1
  83. package/components/card/themes/shared/content/card.content.bootstrap.css.js +1 -1
  84. package/components/card/themes/shared/content/card.content.bootstrap.css.js.map +1 -1
  85. package/components/card/themes/shared/content/card.content.indigo.css.d.ts +1 -0
  86. package/components/card/themes/shared/content/card.content.indigo.css.js +3 -0
  87. package/components/card/themes/shared/content/card.content.indigo.css.js.map +1 -0
  88. package/components/card/themes/shared/header/card.header.fluent.css.js +1 -1
  89. package/components/card/themes/shared/header/card.header.fluent.css.js.map +1 -1
  90. package/components/card/themes/shared/header/card.header.indigo.css.js +1 -1
  91. package/components/card/themes/shared/header/card.header.indigo.css.js.map +1 -1
  92. package/components/carousel/carousel-indicator.d.ts +1 -1
  93. package/components/carousel/carousel-indicator.js.map +1 -1
  94. package/components/carousel/carousel-slide.d.ts +3 -3
  95. package/components/carousel/carousel-slide.js +7 -13
  96. package/components/carousel/carousel-slide.js.map +1 -1
  97. package/components/carousel/carousel.d.ts +39 -38
  98. package/components/carousel/carousel.js +160 -156
  99. package/components/carousel/carousel.js.map +1 -1
  100. package/components/carousel/themes/carousel.base.css.js +1 -1
  101. package/components/carousel/themes/carousel.base.css.js.map +1 -1
  102. package/components/carousel/themes/shared/carousel.indigo.css.js +1 -1
  103. package/components/carousel/themes/shared/carousel.indigo.css.js.map +1 -1
  104. package/components/checkbox/checkbox-base.d.ts +3 -5
  105. package/components/checkbox/checkbox-base.js +15 -21
  106. package/components/checkbox/checkbox-base.js.map +1 -1
  107. package/components/checkbox/checkbox.d.ts +3 -4
  108. package/components/checkbox/checkbox.js +18 -17
  109. package/components/checkbox/checkbox.js.map +1 -1
  110. package/components/checkbox/switch.d.ts +0 -1
  111. package/components/checkbox/switch.js +7 -10
  112. package/components/checkbox/switch.js.map +1 -1
  113. package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js +1 -1
  114. package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js.map +1 -1
  115. package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js +1 -1
  116. package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js.map +1 -1
  117. package/components/checkbox/themes/dark/switch/switch.bootstrap.css.js +1 -1
  118. package/components/checkbox/themes/dark/switch/switch.bootstrap.css.js.map +1 -1
  119. package/components/checkbox/themes/dark/switch/switch.fluent.css.js +1 -1
  120. package/components/checkbox/themes/dark/switch/switch.fluent.css.js.map +1 -1
  121. package/components/checkbox/themes/dark/switch/switch.indigo.css.js +1 -1
  122. package/components/checkbox/themes/dark/switch/switch.indigo.css.js.map +1 -1
  123. package/components/checkbox/themes/dark/switch/switch.material.css.js +1 -1
  124. package/components/checkbox/themes/dark/switch/switch.material.css.js.map +1 -1
  125. package/components/checkbox/themes/light/switch/switch.bootstrap.css.js +1 -1
  126. package/components/checkbox/themes/light/switch/switch.bootstrap.css.js.map +1 -1
  127. package/components/checkbox/themes/light/switch/switch.fluent.css.js +1 -1
  128. package/components/checkbox/themes/light/switch/switch.fluent.css.js.map +1 -1
  129. package/components/checkbox/themes/light/switch/switch.indigo.css.js +1 -1
  130. package/components/checkbox/themes/light/switch/switch.indigo.css.js.map +1 -1
  131. package/components/checkbox/themes/light/switch/switch.material.css.js +1 -1
  132. package/components/checkbox/themes/light/switch/switch.material.css.js.map +1 -1
  133. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
  134. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
  135. package/components/checkbox/themes/shared/checkbox/checkbox.common.css.js +1 -1
  136. package/components/checkbox/themes/shared/checkbox/checkbox.common.css.js.map +1 -1
  137. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js +1 -1
  138. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js.map +1 -1
  139. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js +1 -1
  140. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js.map +1 -1
  141. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js +1 -1
  142. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js.map +1 -1
  143. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js +1 -1
  144. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js.map +1 -1
  145. package/components/checkbox/themes/shared/switch/switch.common.css.js +1 -1
  146. package/components/checkbox/themes/shared/switch/switch.common.css.js.map +1 -1
  147. package/components/checkbox/themes/shared/switch/switch.fluent.css.js +1 -1
  148. package/components/checkbox/themes/shared/switch/switch.fluent.css.js.map +1 -1
  149. package/components/checkbox/themes/shared/switch/switch.indigo.css.js +1 -1
  150. package/components/checkbox/themes/shared/switch/switch.indigo.css.js.map +1 -1
  151. package/components/chip/chip.d.ts +11 -11
  152. package/components/chip/chip.js +61 -65
  153. package/components/chip/chip.js.map +1 -1
  154. package/components/chip/themes/chip.base.css.js +1 -1
  155. package/components/chip/themes/chip.base.css.js.map +1 -1
  156. package/components/chip/themes/shared/chip.indigo.css.js +1 -1
  157. package/components/chip/themes/shared/chip.indigo.css.js.map +1 -1
  158. package/components/combo/combo.d.ts +3 -3
  159. package/components/combo/combo.js +12 -6
  160. package/components/combo/combo.js.map +1 -1
  161. package/components/combo/controllers/navigation.js +1 -1
  162. package/components/combo/controllers/navigation.js.map +1 -1
  163. package/components/combo/themes/combo-item.base.css.js +1 -1
  164. package/components/combo/themes/combo-item.base.css.js.map +1 -1
  165. package/components/combo/themes/combo.base.css.js +1 -1
  166. package/components/combo/themes/combo.base.css.js.map +1 -1
  167. package/components/combo/themes/shared/combo.bootstrap.css.js +1 -1
  168. package/components/combo/themes/shared/combo.bootstrap.css.js.map +1 -1
  169. package/components/combo/themes/shared/combo.common.css.js +1 -1
  170. package/components/combo/themes/shared/combo.common.css.js.map +1 -1
  171. package/components/combo/themes/shared/combo.fluent.css.js +1 -1
  172. package/components/combo/themes/shared/combo.fluent.css.js.map +1 -1
  173. package/components/combo/themes/shared/combo.indigo.css.js +1 -1
  174. package/components/combo/themes/shared/combo.indigo.css.js.map +1 -1
  175. package/components/combo/themes/shared/combo.material.css.js +1 -1
  176. package/components/combo/themes/shared/combo.material.css.js.map +1 -1
  177. package/components/common/controllers/internals.d.ts +66 -2
  178. package/components/common/controllers/internals.js +21 -0
  179. package/components/common/controllers/internals.js.map +1 -1
  180. package/components/common/controllers/key-bindings.js +4 -3
  181. package/components/common/controllers/key-bindings.js.map +1 -1
  182. package/components/common/controllers/slot.d.ts +87 -0
  183. package/components/common/controllers/slot.js +75 -0
  184. package/components/common/controllers/slot.js.map +1 -0
  185. package/components/common/mixins/forms/associated.d.ts +1 -1
  186. package/components/common/mixins/forms/associated.js +91 -36
  187. package/components/common/mixins/forms/associated.js.map +1 -1
  188. package/components/common/mixins/forms/form-transformers.d.ts +21 -0
  189. package/components/common/mixins/forms/form-transformers.js +64 -0
  190. package/components/common/mixins/forms/form-transformers.js.map +1 -0
  191. package/components/common/mixins/forms/form-value.d.ts +7 -36
  192. package/components/common/mixins/forms/form-value.js +2 -64
  193. package/components/common/mixins/forms/form-value.js.map +1 -1
  194. package/components/common/mixins/forms/types.d.ts +19 -10
  195. package/components/common/mixins/forms/types.js +2 -1
  196. package/components/common/mixins/forms/types.js.map +1 -1
  197. package/components/common/util.d.ts +20 -0
  198. package/components/common/util.js +59 -1
  199. package/components/common/util.js.map +1 -1
  200. package/components/date-picker/date-picker.d.ts +1 -3
  201. package/components/date-picker/date-picker.js +13 -15
  202. package/components/date-picker/date-picker.js.map +1 -1
  203. package/components/date-picker/themes/dark/date-picker.indigo.css.js +1 -1
  204. package/components/date-picker/themes/dark/date-picker.indigo.css.js.map +1 -1
  205. package/components/date-picker/themes/date-picker.base.css.js +1 -1
  206. package/components/date-picker/themes/date-picker.base.css.js.map +1 -1
  207. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js +1 -1
  208. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js.map +1 -1
  209. package/components/date-picker/themes/shared/date-picker.common.css.js +1 -1
  210. package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -1
  211. package/components/date-picker/themes/shared/date-picker.fluent.css.js +1 -1
  212. package/components/date-picker/themes/shared/date-picker.fluent.css.js.map +1 -1
  213. package/components/date-picker/themes/shared/date-picker.indigo.css.js +1 -1
  214. package/components/date-picker/themes/shared/date-picker.indigo.css.js.map +1 -1
  215. package/components/date-picker/themes/shared/date-picker.material.css.js +1 -1
  216. package/components/date-picker/themes/shared/date-picker.material.css.js.map +1 -1
  217. package/components/date-range-picker/date-range-picker.base.css.js +1 -1
  218. package/components/date-range-picker/date-range-picker.base.css.js.map +1 -1
  219. package/components/date-range-picker/date-range-picker.d.ts +2 -4
  220. package/components/date-range-picker/date-range-picker.js +19 -27
  221. package/components/date-range-picker/date-range-picker.js.map +1 -1
  222. package/components/date-range-picker/predefined-ranges-area.base.css.js +1 -1
  223. package/components/date-range-picker/predefined-ranges-area.base.css.js.map +1 -1
  224. package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js +1 -1
  225. package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js.map +1 -1
  226. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js +1 -1
  227. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js.map +1 -1
  228. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js +1 -1
  229. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js.map +1 -1
  230. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js +1 -1
  231. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js.map +1 -1
  232. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js +1 -1
  233. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js.map +1 -1
  234. package/components/date-range-picker/themes/shared/date-range-picker.material.css.js +1 -1
  235. package/components/date-range-picker/themes/shared/date-range-picker.material.css.js.map +1 -1
  236. package/components/date-time-input/date-time-input.d.ts +1 -2
  237. package/components/date-time-input/date-time-input.js +8 -8
  238. package/components/date-time-input/date-time-input.js.map +1 -1
  239. package/components/dialog/dialog.d.ts +23 -25
  240. package/components/dialog/dialog.js +108 -115
  241. package/components/dialog/dialog.js.map +1 -1
  242. package/components/dialog/themes/dark/dialog.bootstrap.css.js +1 -1
  243. package/components/dialog/themes/dark/dialog.bootstrap.css.js.map +1 -1
  244. package/components/dialog/themes/dialog.base.css.js +1 -1
  245. package/components/dialog/themes/dialog.base.css.js.map +1 -1
  246. package/components/dialog/themes/shared/dialog.bootstrap.css.js +1 -1
  247. package/components/dialog/themes/shared/dialog.bootstrap.css.js.map +1 -1
  248. package/components/dialog/themes/shared/dialog.common.css.js +1 -1
  249. package/components/dialog/themes/shared/dialog.common.css.js.map +1 -1
  250. package/components/dialog/themes/shared/dialog.fluent.css.js +1 -1
  251. package/components/dialog/themes/shared/dialog.fluent.css.js.map +1 -1
  252. package/components/dialog/themes/shared/dialog.indigo.css.js +1 -1
  253. package/components/dialog/themes/shared/dialog.indigo.css.js.map +1 -1
  254. package/components/dropdown/themes/dropdown-group.base.css.js +1 -1
  255. package/components/dropdown/themes/dropdown-group.base.css.js.map +1 -1
  256. package/components/dropdown/themes/dropdown-item.base.css.js +1 -1
  257. package/components/dropdown/themes/dropdown-item.base.css.js.map +1 -1
  258. package/components/dropdown/themes/shared/dropdown.indigo.css.js +1 -1
  259. package/components/dropdown/themes/shared/dropdown.indigo.css.js.map +1 -1
  260. package/components/dropdown/themes/shared/group/dropdown-group.fluent.css.js +1 -1
  261. package/components/dropdown/themes/shared/group/dropdown-group.fluent.css.js.map +1 -1
  262. package/components/dropdown/themes/shared/header/dropdown-header.common.css.js +1 -1
  263. package/components/dropdown/themes/shared/header/dropdown-header.common.css.js.map +1 -1
  264. package/components/dropdown/themes/shared/header/dropdown-header.indigo.css.js +1 -1
  265. package/components/dropdown/themes/shared/header/dropdown-header.indigo.css.js.map +1 -1
  266. package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js +1 -1
  267. package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js.map +1 -1
  268. package/components/expansion-panel/expansion-panel.d.ts +12 -14
  269. package/components/expansion-panel/expansion-panel.js +43 -57
  270. package/components/expansion-panel/expansion-panel.js.map +1 -1
  271. package/components/expansion-panel/themes/expansion-panel.base.css.js +1 -1
  272. package/components/expansion-panel/themes/expansion-panel.base.css.js.map +1 -1
  273. package/components/expansion-panel/themes/shared/expansion-panel.indigo.css.js +1 -1
  274. package/components/expansion-panel/themes/shared/expansion-panel.indigo.css.js.map +1 -1
  275. package/components/file-input/file-input.d.ts +1 -7
  276. package/components/file-input/file-input.js +13 -21
  277. package/components/file-input/file-input.js.map +1 -1
  278. package/components/file-input/themes/shared/file-input.bootstrap.css.js +1 -1
  279. package/components/file-input/themes/shared/file-input.bootstrap.css.js.map +1 -1
  280. package/components/file-input/themes/shared/file-input.material.css.js +1 -1
  281. package/components/file-input/themes/shared/file-input.material.css.js.map +1 -1
  282. package/components/input/input.d.ts +1 -8
  283. package/components/input/input.js +16 -23
  284. package/components/input/input.js.map +1 -1
  285. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  286. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  287. package/components/input/themes/shared/input.common.css.js +1 -1
  288. package/components/input/themes/shared/input.common.css.js.map +1 -1
  289. package/components/input/themes/shared/input.fluent.css.js +1 -1
  290. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  291. package/components/input/themes/shared/input.indigo.css.js +1 -1
  292. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  293. package/components/input/themes/shared/input.material.css.js +1 -1
  294. package/components/input/themes/shared/input.material.css.js.map +1 -1
  295. package/components/list/themes/header.base.css.js +1 -1
  296. package/components/list/themes/header.base.css.js.map +1 -1
  297. package/components/list/themes/item.base.css.js +1 -1
  298. package/components/list/themes/item.base.css.js.map +1 -1
  299. package/components/list/themes/shared/header/list-header.indigo.css.js +1 -1
  300. package/components/list/themes/shared/header/list-header.indigo.css.js.map +1 -1
  301. package/components/list/themes/shared/item/list-item.indigo.css.js +1 -1
  302. package/components/list/themes/shared/item/list-item.indigo.css.js.map +1 -1
  303. package/components/mask-input/mask-input-base.js +1 -0
  304. package/components/mask-input/mask-input-base.js.map +1 -1
  305. package/components/mask-input/mask-input.d.ts +2 -3
  306. package/components/mask-input/mask-input.js +5 -8
  307. package/components/mask-input/mask-input.js.map +1 -1
  308. package/components/nav-drawer/nav-drawer-item.d.ts +3 -4
  309. package/components/nav-drawer/nav-drawer-item.js +15 -18
  310. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  311. package/components/nav-drawer/nav-drawer.d.ts +1 -2
  312. package/components/nav-drawer/nav-drawer.js +9 -11
  313. package/components/nav-drawer/nav-drawer.js.map +1 -1
  314. package/components/nav-drawer/themes/container.base.css.js +1 -1
  315. package/components/nav-drawer/themes/container.base.css.js.map +1 -1
  316. package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js +1 -1
  317. package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js.map +1 -1
  318. package/components/nav-drawer/themes/shared/container/nav-drawer.common.css.js +1 -1
  319. package/components/nav-drawer/themes/shared/container/nav-drawer.common.css.js.map +1 -1
  320. package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js +1 -1
  321. package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js.map +1 -1
  322. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js +1 -1
  323. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js.map +1 -1
  324. package/components/nav-drawer/themes/shared/header-item/header-item.bootstrap.css.js +1 -1
  325. package/components/nav-drawer/themes/shared/header-item/header-item.bootstrap.css.js.map +1 -1
  326. package/components/nav-drawer/themes/shared/header-item/header-item.fluent.css.js +1 -1
  327. package/components/nav-drawer/themes/shared/header-item/header-item.fluent.css.js.map +1 -1
  328. package/components/nav-drawer/themes/shared/header-item/header-item.indigo.css.js +1 -1
  329. package/components/nav-drawer/themes/shared/header-item/header-item.indigo.css.js.map +1 -1
  330. package/components/nav-drawer/themes/shared/header-item/header-item.material.css.js +1 -1
  331. package/components/nav-drawer/themes/shared/header-item/header-item.material.css.js.map +1 -1
  332. package/components/nav-drawer/themes/shared/item/item.bootstrap.css.js +1 -1
  333. package/components/nav-drawer/themes/shared/item/item.bootstrap.css.js.map +1 -1
  334. package/components/nav-drawer/themes/shared/item/item.fluent.css.js +1 -1
  335. package/components/nav-drawer/themes/shared/item/item.fluent.css.js.map +1 -1
  336. package/components/nav-drawer/themes/shared/item/item.indigo.css.js +1 -1
  337. package/components/nav-drawer/themes/shared/item/item.indigo.css.js.map +1 -1
  338. package/components/nav-drawer/themes/shared/item/item.material.css.js +1 -1
  339. package/components/nav-drawer/themes/shared/item/item.material.css.js.map +1 -1
  340. package/components/navbar/themes/navbar.base.css.js +1 -1
  341. package/components/navbar/themes/navbar.base.css.js.map +1 -1
  342. package/components/navbar/themes/shared/navbar.bootstrap.css.js +1 -1
  343. package/components/navbar/themes/shared/navbar.bootstrap.css.js.map +1 -1
  344. package/components/navbar/themes/shared/navbar.indigo.css.js +1 -1
  345. package/components/navbar/themes/shared/navbar.indigo.css.js.map +1 -1
  346. package/components/popover/popover.d.ts +17 -16
  347. package/components/popover/popover.js +81 -91
  348. package/components/popover/popover.js.map +1 -1
  349. package/components/progress/base.d.ts +8 -8
  350. package/components/progress/base.js +19 -23
  351. package/components/progress/base.js.map +1 -1
  352. package/components/progress/circular-gradient.js.map +1 -1
  353. package/components/progress/circular-progress.d.ts +3 -4
  354. package/components/progress/circular-progress.js +15 -18
  355. package/components/progress/circular-progress.js.map +1 -1
  356. package/components/progress/linear-progress.d.ts +1 -0
  357. package/components/progress/linear-progress.js +5 -1
  358. package/components/progress/linear-progress.js.map +1 -1
  359. package/components/progress/themes/linear/shared/linear.progress.fluent.css.js +1 -1
  360. package/components/progress/themes/linear/shared/linear.progress.fluent.css.js.map +1 -1
  361. package/components/progress/themes/linear/shared/linear.progress.indigo.css.js +1 -1
  362. package/components/progress/themes/linear/shared/linear.progress.indigo.css.js.map +1 -1
  363. package/components/radio/radio.d.ts +3 -5
  364. package/components/radio/radio.js +33 -31
  365. package/components/radio/radio.js.map +1 -1
  366. package/components/radio/themes/dark/radio.fluent.css.js +1 -1
  367. package/components/radio/themes/dark/radio.fluent.css.js.map +1 -1
  368. package/components/radio/themes/shared/radio.bootstrap.css.js +1 -1
  369. package/components/radio/themes/shared/radio.bootstrap.css.js.map +1 -1
  370. package/components/radio/themes/shared/radio.common.css.js +1 -1
  371. package/components/radio/themes/shared/radio.common.css.js.map +1 -1
  372. package/components/radio/themes/shared/radio.fluent.css.js +1 -1
  373. package/components/radio/themes/shared/radio.fluent.css.js.map +1 -1
  374. package/components/radio/themes/shared/radio.indigo.css.js +1 -1
  375. package/components/radio/themes/shared/radio.indigo.css.js.map +1 -1
  376. package/components/radio/themes/shared/radio.material.css.js +1 -1
  377. package/components/radio/themes/shared/radio.material.css.js.map +1 -1
  378. package/components/radio-group/radio-group.d.ts +4 -4
  379. package/components/radio-group/radio-group.js +24 -21
  380. package/components/radio-group/radio-group.js.map +1 -1
  381. package/components/radio-group/themes/radio-group.base.css.js +1 -1
  382. package/components/radio-group/themes/radio-group.base.css.js.map +1 -1
  383. package/components/radio-group/themes/shared/radio-group.bootstrap.css.js +1 -1
  384. package/components/radio-group/themes/shared/radio-group.bootstrap.css.js.map +1 -1
  385. package/components/radio-group/themes/shared/radio-group.fluent.css.js +1 -1
  386. package/components/radio-group/themes/shared/radio-group.fluent.css.js.map +1 -1
  387. package/components/radio-group/themes/shared/radio-group.indigo.css.js +1 -1
  388. package/components/radio-group/themes/shared/radio-group.indigo.css.js.map +1 -1
  389. package/components/radio-group/themes/shared/radio-group.material.css.js +1 -1
  390. package/components/radio-group/themes/shared/radio-group.material.css.js.map +1 -1
  391. package/components/rating/rating.d.ts +1 -2
  392. package/components/rating/rating.js +4 -4
  393. package/components/rating/rating.js.map +1 -1
  394. package/components/rating/themes/rating.base.css.js +1 -1
  395. package/components/rating/themes/rating.base.css.js.map +1 -1
  396. package/components/rating/themes/shared/rating.indigo.css.js +1 -1
  397. package/components/rating/themes/shared/rating.indigo.css.js.map +1 -1
  398. package/components/resize-container/resize-container.d.ts +1 -1
  399. package/components/select/select.d.ts +35 -38
  400. package/components/select/select.js +138 -147
  401. package/components/select/select.js.map +1 -1
  402. package/components/select/themes/dark/select.bootstrap.css.js +1 -1
  403. package/components/select/themes/dark/select.bootstrap.css.js.map +1 -1
  404. package/components/select/themes/light/select.bootstrap.css.js +1 -1
  405. package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
  406. package/components/select/themes/shared/select.bootstrap.css.js +1 -1
  407. package/components/select/themes/shared/select.bootstrap.css.js.map +1 -1
  408. package/components/select/themes/shared/select.common.css.js +1 -1
  409. package/components/select/themes/shared/select.common.css.js.map +1 -1
  410. package/components/select/themes/shared/select.fluent.css.js +1 -1
  411. package/components/select/themes/shared/select.fluent.css.js.map +1 -1
  412. package/components/select/themes/shared/select.indigo.css.js +1 -1
  413. package/components/select/themes/shared/select.indigo.css.js.map +1 -1
  414. package/components/select/themes/shared/select.material.css.js +1 -1
  415. package/components/select/themes/shared/select.material.css.js.map +1 -1
  416. package/components/slider/slider-base.js +0 -1
  417. package/components/slider/slider-base.js.map +1 -1
  418. package/components/slider/slider-label.js.map +1 -1
  419. package/components/slider/slider.d.ts +1 -2
  420. package/components/slider/slider.js +5 -2
  421. package/components/slider/slider.js.map +1 -1
  422. package/components/slider/themes/shared/slider.common.css.js +1 -1
  423. package/components/slider/themes/shared/slider.common.css.js.map +1 -1
  424. package/components/slider/themes/slider.base.css.js +1 -1
  425. package/components/slider/themes/slider.base.css.js.map +1 -1
  426. package/components/snackbar/themes/shared/snackbar.indigo.css.js +1 -1
  427. package/components/snackbar/themes/shared/snackbar.indigo.css.js.map +1 -1
  428. package/components/snackbar/themes/snackbar.base.css.js +1 -1
  429. package/components/snackbar/themes/snackbar.base.css.js.map +1 -1
  430. package/components/stepper/step.d.ts +1 -1
  431. package/components/tabs/tabs.js +0 -1
  432. package/components/tabs/tabs.js.map +1 -1
  433. package/components/tabs/themes/shared/tab/tab.bootstrap.css.js +1 -1
  434. package/components/tabs/themes/shared/tab/tab.bootstrap.css.js.map +1 -1
  435. package/components/tabs/themes/shared/tab/tab.fluent.css.js +1 -1
  436. package/components/tabs/themes/shared/tab/tab.fluent.css.js.map +1 -1
  437. package/components/tabs/themes/shared/tab/tab.indigo.css.js +1 -1
  438. package/components/tabs/themes/shared/tab/tab.indigo.css.js.map +1 -1
  439. package/components/tabs/themes/shared/tab/tab.material.css.js +1 -1
  440. package/components/tabs/themes/shared/tab/tab.material.css.js.map +1 -1
  441. package/components/textarea/textarea.d.ts +14 -21
  442. package/components/textarea/textarea.js +66 -90
  443. package/components/textarea/textarea.js.map +1 -1
  444. package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
  445. package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
  446. package/components/textarea/themes/shared/textarea.common.css.js +1 -1
  447. package/components/textarea/themes/shared/textarea.common.css.js.map +1 -1
  448. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  449. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  450. package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
  451. package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
  452. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  453. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  454. package/components/textarea/themes/textarea.base.css.js +1 -1
  455. package/components/textarea/themes/textarea.base.css.js.map +1 -1
  456. package/components/tile-manager/position.js +2 -1
  457. package/components/tile-manager/position.js.map +1 -1
  458. package/components/tile-manager/resize-state.js +1 -1
  459. package/components/tile-manager/resize-state.js.map +1 -1
  460. package/components/tile-manager/tile.d.ts +8 -12
  461. package/components/tile-manager/tile.js +16 -37
  462. package/components/tile-manager/tile.js.map +1 -1
  463. package/components/toast/themes/shared/toast.bootstrap.css.js +1 -1
  464. package/components/toast/themes/shared/toast.bootstrap.css.js.map +1 -1
  465. package/components/toast/themes/shared/toast.common.css.js +1 -1
  466. package/components/toast/themes/shared/toast.common.css.js.map +1 -1
  467. package/components/toast/themes/shared/toast.fluent.css.js +1 -1
  468. package/components/toast/themes/shared/toast.fluent.css.js.map +1 -1
  469. package/components/toast/themes/toast.base.css.js +1 -1
  470. package/components/toast/themes/toast.base.css.js.map +1 -1
  471. package/components/tooltip/themes/tooltip.base.css.js +1 -1
  472. package/components/tooltip/themes/tooltip.base.css.js.map +1 -1
  473. package/components/tree/themes/item.base.css.js +1 -1
  474. package/components/tree/themes/item.base.css.js.map +1 -1
  475. package/components/tree/themes/shared/item.common.css.js +1 -1
  476. package/components/tree/themes/shared/item.common.css.js.map +1 -1
  477. package/components/tree/themes/shared/item.indigo.css.js +1 -1
  478. package/components/tree/themes/shared/item.indigo.css.js.map +1 -1
  479. package/components/tree/themes/shared/item.material.css.js +1 -1
  480. package/components/tree/themes/shared/item.material.css.js.map +1 -1
  481. package/components/tree/tree.js +3 -1
  482. package/components/tree/tree.js.map +1 -1
  483. package/components/tree/tree.navigation.js +3 -3
  484. package/components/tree/tree.navigation.js.map +1 -1
  485. package/components/tree/tree.selection.js +6 -2
  486. package/components/tree/tree.selection.js.map +1 -1
  487. package/components/validation-container/validation-container.d.ts +2 -1
  488. package/components/validation-container/validation-container.js +19 -14
  489. package/components/validation-container/validation-container.js.map +1 -1
  490. package/custom-elements.json +9456 -6460
  491. package/igniteui-webcomponents.css-data.json +1 -1
  492. package/igniteui-webcomponents.html-data.json +1 -1
  493. package/package.json +1 -1
  494. package/themes/dark/bootstrap.css +1 -1
  495. package/themes/dark/fluent.css +1 -1
  496. package/themes/dark/indigo.css +1 -1
  497. package/themes/dark/material.css +1 -1
  498. package/themes/light/bootstrap.css +1 -1
  499. package/themes/light/fluent.css +1 -1
  500. package/themes/light/indigo.css +1 -1
  501. package/themes/light/material.css +1 -1
  502. package/web-types.json +2 -2
@@ -6,21 +6,23 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  var IgcSelectComponent_1;
8
8
  import { html } from 'lit';
9
- import { property, query, queryAssignedElements, state, } from 'lit/decorators.js';
9
+ import { property, query, state } from 'lit/decorators.js';
10
10
  import { ifDefined } from 'lit/directives/if-defined.js';
11
11
  import { addThemingController } from '../../theming/theming-controller.js';
12
12
  import { addKeybindings, altKey, arrowDown, arrowLeft, arrowRight, arrowUp, endKey, enterKey, escapeKey, homeKey, spaceBar, tabKey, } from '../common/controllers/key-bindings.js';
13
13
  import { addRootClickController } from '../common/controllers/root-click.js';
14
14
  import { addRootScrollHandler } from '../common/controllers/root-scroll.js';
15
+ import { addSlotController, setSlots } from '../common/controllers/slot.js';
15
16
  import { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';
16
17
  import { watch } from '../common/decorators/watch.js';
17
18
  import { registerComponent } from '../common/definitions/register.js';
18
19
  import { getActiveItems, getItems, getNextActiveItem, getPreviousActiveItem, IgcBaseComboBoxLikeComponent, setInitialSelectionState, } from '../common/mixins/combo-box.js';
19
20
  import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
20
21
  import { FormAssociatedRequiredMixin } from '../common/mixins/forms/associated-required.js';
21
- import { createFormValueState, } from '../common/mixins/forms/form-value.js';
22
+ import { FormValueSelectTransformers } from '../common/mixins/forms/form-transformers.js';
23
+ import { createFormValueState } from '../common/mixins/forms/form-value.js';
22
24
  import { partMap } from '../common/part-map.js';
23
- import { addSafeEventListener, findElementFromEventPath, isEmpty, isString, } from '../common/util.js';
25
+ import { addSafeEventListener, findElementFromEventPath, isString, } from '../common/util.js';
24
26
  import IgcIconComponent from '../icon/icon.js';
25
27
  import IgcInputComponent from '../input/input.js';
26
28
  import IgcPopoverComponent from '../popover/popover.js';
@@ -32,20 +34,21 @@ import { styles } from './themes/select.base.css.js';
32
34
  import { styles as shared } from './themes/shared/select.common.css.js';
33
35
  import { all } from './themes/themes.js';
34
36
  import { selectValidators } from './validators.js';
37
+ const Slots = setSlots('prefix', 'suffix', 'header', 'footer', 'helper-text', 'toggle-icon', 'toggle-icon-expanded', 'value-missing', 'custom-error', 'invalid');
35
38
  let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends FormAssociatedRequiredMixin(EventEmitterMixin(IgcBaseComboBoxLikeComponent)) {
36
39
  static register() {
37
40
  registerComponent(IgcSelectComponent_1, IgcIconComponent, IgcInputComponent, IgcPopoverComponent, IgcSelectGroupComponent, IgcSelectHeaderComponent, IgcSelectItemComponent);
38
41
  }
39
- get _activeItems() {
40
- return Array.from(getActiveItems(this, IgcSelectItemComponent.tagName));
41
- }
42
42
  get __validators() {
43
43
  return selectValidators;
44
44
  }
45
+ get _activeItems() {
46
+ return Array.from(getActiveItems(this, IgcSelectItemComponent.tagName));
47
+ }
45
48
  set value(value) {
46
49
  this._updateValue(value);
47
- const item = this.getItem(this._formValue.value);
48
- item ? this.setSelectedItem(item) : this.clearSelectedItem();
50
+ const item = this._getItem(this._formValue.value);
51
+ item ? this._setSelectedItem(item) : this._clearSelectedItem();
49
52
  }
50
53
  get value() {
51
54
  return this._formValue.value;
@@ -59,29 +62,27 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
59
62
  get selectedItem() {
60
63
  return this._selectedItem;
61
64
  }
62
- scrollStrategyChanged() {
65
+ _scrollStrategyChange() {
63
66
  this._rootScrollController.update({ resetListeners: true });
64
67
  }
65
- openChange() {
68
+ _openChange() {
66
69
  this._rootClickController.update();
67
70
  this._rootScrollController.update();
68
71
  }
69
72
  constructor() {
70
73
  super();
74
+ this._searchTerm = '';
75
+ this._lastKeyTime = 0;
76
+ this._slots = addSlotController(this, { slots: Slots });
77
+ this._rootScrollController = addRootScrollHandler(this, {
78
+ hideCallback: this._handleClosing,
79
+ });
71
80
  this._rootClickController = addRootClickController(this, {
72
- onHide: this.handleClosing,
81
+ onHide: this._handleClosing,
73
82
  });
74
83
  this._formValue = createFormValueState(this, {
75
84
  initialValue: undefined,
76
- transformers: {
77
- setValue: (value) => value || undefined,
78
- setDefaultValue: (value) => value || undefined,
79
- },
80
- });
81
- this._searchTerm = '';
82
- this._lastKeyTime = 0;
83
- this._rootScrollController = addRootScrollHandler(this, {
84
- hideCallback: this.handleClosing,
85
+ transformers: FormValueSelectTransformers,
85
86
  });
86
87
  this._selectedItem = null;
87
88
  this.outlined = false;
@@ -93,32 +94,27 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
93
94
  skip: () => this.disabled,
94
95
  bindingDefaults: { preventDefault: true, triggers: ['keydownRepeat'] },
95
96
  })
96
- .set([altKey, arrowDown], this.altArrowDown)
97
- .set([altKey, arrowUp], this.altArrowUp)
98
- .set(arrowDown, this.onArrowDown)
99
- .set(arrowUp, this.onArrowUp)
100
- .set(arrowLeft, this.onArrowUp)
101
- .set(arrowRight, this.onArrowDown)
102
- .set(tabKey, this.onTabKey, { preventDefault: false })
103
- .set(escapeKey, this.onEscapeKey)
104
- .set(homeKey, this.onHomeKey)
105
- .set(endKey, this.onEndKey)
106
- .set(spaceBar, this.onSpaceBarKey)
107
- .set(enterKey, this.onEnterKey);
108
- addSafeEventListener(this, 'keydown', this.handleSearch);
109
- addSafeEventListener(this, 'focusin', this.handleFocusIn);
110
- addSafeEventListener(this, 'focusout', this.handleFocusOut);
111
- }
112
- createRenderRoot() {
113
- const root = super.createRenderRoot();
114
- root.addEventListener('slotchange', () => this.requestUpdate());
115
- return root;
97
+ .set([altKey, arrowDown], this._handleAltArrowDown)
98
+ .set([altKey, arrowUp], this._handleAltArrowUp)
99
+ .set(arrowDown, this._handleArrowDown)
100
+ .set(arrowUp, this._handleArrowUp)
101
+ .set(arrowLeft, this._handleArrowUp)
102
+ .set(arrowRight, this._handleArrowDown)
103
+ .set(tabKey, this._handleTab, { preventDefault: false })
104
+ .set(escapeKey, this._handleEscape)
105
+ .set(homeKey, this._handleHome)
106
+ .set(endKey, this._handleEnd)
107
+ .set(spaceBar, this._handleSpace)
108
+ .set(enterKey, this._handleEnter);
109
+ addSafeEventListener(this, 'keydown', this._handleSearch);
110
+ addSafeEventListener(this, 'focusin', this._handleFocusIn);
111
+ addSafeEventListener(this, 'focusout', this._handleFocusOut);
116
112
  }
117
113
  async firstUpdated() {
118
114
  await this.updateComplete;
119
115
  const selected = setInitialSelectionState(this.items);
120
116
  if (this.value && !selected) {
121
- this._selectItem(this.getItem(this.value), false);
117
+ this._selectItem(this._getItem(this.value), false);
122
118
  }
123
119
  if (selected && selected.value !== this.value) {
124
120
  this.defaultValue = selected.value;
@@ -127,30 +123,9 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
127
123
  if (this.autofocus) {
128
124
  this.focus();
129
125
  }
130
- this._updateValidity();
131
- }
132
- handleFocusIn({ relatedTarget }) {
133
- this._dirty = true;
134
- if (this.contains(relatedTarget) || this.open) {
135
- return;
136
- }
137
- }
138
- handleFocusOut({ relatedTarget }) {
139
- if (this.contains(relatedTarget)) {
140
- return;
141
- }
142
- this.checkValidity();
143
- }
144
- handleClick(event) {
145
- const item = findElementFromEventPath(IgcSelectItemComponent.tagName, event);
146
- if (item && this._activeItems.includes(item)) {
147
- this._selectItem(item);
148
- }
149
- }
150
- handleChange(item) {
151
- return this.emitEvent('igcChange', { detail: item });
126
+ this._validate();
152
127
  }
153
- handleSearch(event) {
128
+ _handleSearch(event) {
154
129
  if (!/^.$/u.test(event.key)) {
155
130
  return;
156
131
  }
@@ -163,74 +138,99 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
163
138
  this._searchTerm += event.key.toLocaleLowerCase();
164
139
  const item = this._activeItems.find((item) => item.textContent?.trim().toLocaleLowerCase().startsWith(this._searchTerm));
165
140
  if (item) {
166
- this.open ? this.activateItem(item) : this._selectItem(item);
141
+ this.open ? this._activateItem(item) : this._selectItem(item);
167
142
  this._activeItem.focus();
168
143
  }
169
144
  }
170
- handleAnchorClick() {
171
- super.handleAnchorClick();
172
- this.focusItemOnOpen();
173
- }
174
- onEnterKey() {
145
+ _handleEnter() {
175
146
  this.open && this._activeItem
176
147
  ? this._selectItem(this._activeItem)
177
148
  : this.handleAnchorClick();
178
149
  }
179
- onSpaceBarKey() {
150
+ _handleSpace() {
180
151
  if (!this.open) {
181
152
  this.handleAnchorClick();
182
153
  }
183
154
  }
184
- onArrowDown() {
155
+ _handleArrowDown() {
185
156
  const item = getNextActiveItem(this.items, this._activeItem);
186
157
  this.open ? this._navigateToActiveItem(item) : this._selectItem(item);
187
158
  }
188
- onArrowUp() {
159
+ _handleArrowUp() {
189
160
  const item = getPreviousActiveItem(this.items, this._activeItem);
190
161
  this.open ? this._navigateToActiveItem(item) : this._selectItem(item);
191
162
  }
192
- altArrowDown() {
163
+ _handleAltArrowDown() {
193
164
  if (!this.open) {
194
165
  this._show(true);
195
- this.focusItemOnOpen();
166
+ this._focusItemOnOpen();
196
167
  }
197
168
  }
198
- async altArrowUp() {
169
+ async _handleAltArrowUp() {
199
170
  if (this.open && (await this._hide(true))) {
200
171
  this._input.focus();
201
172
  }
202
173
  }
203
- async onEscapeKey() {
174
+ async _handleEscape() {
204
175
  if (await this._hide(true)) {
205
176
  this._input.focus();
206
177
  }
207
178
  }
208
- onTabKey(event) {
179
+ _handleTab(event) {
209
180
  if (this.open) {
210
181
  event.preventDefault();
211
182
  this._selectItem(this._activeItem ?? this._selectedItem);
212
183
  this._hide(true);
213
184
  }
214
185
  }
215
- onHomeKey() {
186
+ _handleHome() {
216
187
  const item = this._activeItems.at(0);
217
188
  this.open ? this._navigateToActiveItem(item) : this._selectItem(item);
218
189
  }
219
- onEndKey() {
190
+ _handleEnd() {
220
191
  const item = this._activeItems.at(-1);
221
192
  this.open ? this._navigateToActiveItem(item) : this._selectItem(item);
222
193
  }
223
- handleClosing() {
194
+ _handleFocusIn() {
195
+ this._setTouchedState();
196
+ }
197
+ _handleFocusOut({ relatedTarget }) {
198
+ if (this.contains(relatedTarget)) {
199
+ return;
200
+ }
201
+ super._handleBlur();
202
+ }
203
+ _handleClick(event) {
204
+ const item = findElementFromEventPath(IgcSelectItemComponent.tagName, event);
205
+ if (item && this._activeItems.includes(item)) {
206
+ this._selectItem(item);
207
+ }
208
+ }
209
+ _handleChange(item) {
210
+ this._setTouchedState();
211
+ return this.emitEvent('igcChange', { detail: item });
212
+ }
213
+ _handleClosing() {
224
214
  this._hide(true);
225
215
  }
226
- activateItem(item) {
216
+ handleAnchorClick() {
217
+ super.handleAnchorClick();
218
+ this._focusItemOnOpen();
219
+ }
220
+ _restoreDefaultValue() {
221
+ super._restoreDefaultValue();
222
+ this._formValue.setValueAndFormState(this._formValue.defaultValue);
223
+ const item = this._getItem(this._formValue.value);
224
+ item ? this._setSelectedItem(item) : this._clearSelectedItem();
225
+ }
226
+ _activateItem(item) {
227
227
  if (this._activeItem) {
228
228
  this._activeItem.active = false;
229
229
  }
230
230
  this._activeItem = item;
231
231
  this._activeItem.active = true;
232
232
  }
233
- setSelectedItem(item) {
233
+ _setSelectedItem(item) {
234
234
  if (this._selectedItem) {
235
235
  this._selectedItem.selected = false;
236
236
  }
@@ -240,7 +240,7 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
240
240
  }
241
241
  _selectItem(item, emit = true) {
242
242
  if (!item) {
243
- this.clearSelectedItem();
243
+ this._clearSelectedItem();
244
244
  this._updateValue();
245
245
  return null;
246
246
  }
@@ -251,11 +251,11 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
251
251
  this._input.focus();
252
252
  return this._selectedItem;
253
253
  }
254
- const newItem = this.setSelectedItem(item);
255
- this.activateItem(newItem);
254
+ const newItem = this._setSelectedItem(item);
255
+ this._activateItem(newItem);
256
256
  this._updateValue(newItem.value);
257
257
  if (emit)
258
- this.handleChange(newItem);
258
+ this._handleChange(newItem);
259
259
  if (shouldFocus)
260
260
  this._input.focus();
261
261
  if (shouldHide)
@@ -264,26 +264,25 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
264
264
  }
265
265
  _navigateToActiveItem(item) {
266
266
  if (item) {
267
- this.activateItem(item);
267
+ this._activateItem(item);
268
268
  this._activeItem.focus({ preventScroll: true });
269
269
  item.scrollIntoView({ behavior: 'auto', block: 'nearest' });
270
270
  }
271
271
  }
272
272
  _updateValue(value) {
273
273
  this._formValue.setValueAndFormState(value);
274
- this._validate();
275
274
  }
276
- clearSelectedItem() {
275
+ _clearSelectedItem() {
277
276
  if (this._selectedItem) {
278
277
  this._selectedItem.selected = false;
279
278
  }
280
279
  this._selectedItem = null;
281
280
  }
282
- async focusItemOnOpen() {
281
+ async _focusItemOnOpen() {
283
282
  await this.updateComplete;
284
283
  (this._selectedItem || this._activeItem)?.focus();
285
284
  }
286
- getItem(value) {
285
+ _getItem(value) {
287
286
  return this.items.find((item) => item.value === value);
288
287
  }
289
288
  focus(options) {
@@ -299,57 +298,54 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
299
298
  return valid;
300
299
  }
301
300
  navigateTo(value) {
302
- const item = isString(value) ? this.getItem(value) : this.items[value];
301
+ const item = isString(value) ? this._getItem(value) : this.items[value];
303
302
  if (item) {
304
303
  this._navigateToActiveItem(item);
305
304
  }
306
305
  return item ?? null;
307
306
  }
308
307
  select(value) {
309
- const item = isString(value) ? this.getItem(value) : this.items[value];
308
+ const item = isString(value) ? this._getItem(value) : this.items[value];
310
309
  return item ? this._selectItem(item, false) : null;
311
310
  }
312
311
  clearSelection() {
313
312
  this._updateValue();
314
- this.clearSelectedItem();
313
+ this._clearSelectedItem();
315
314
  }
316
- renderInputSlots() {
317
- const prefixName = isEmpty(this._inputPrefix) ? '' : 'prefix';
318
- const suffixName = isEmpty(this._inputSuffix) ? '' : 'suffix';
315
+ _renderInputSlots() {
316
+ const prefix = this._slots.hasAssignedElements('prefix') ? 'prefix' : '';
317
+ const suffix = this._slots.hasAssignedElements('suffix') ? 'suffix' : '';
319
318
  return html `
320
- <span slot=${prefixName}>
319
+ <span slot=${prefix}>
321
320
  <slot name="prefix"></slot>
322
321
  </span>
323
322
 
324
- <span slot=${suffixName}>
323
+ <span slot=${suffix}>
325
324
  <slot name="suffix"></slot>
326
325
  </span>
327
326
  `;
328
327
  }
329
- renderToggleIcon() {
328
+ _renderToggleIcon() {
330
329
  const parts = { 'toggle-icon': true, filled: !!this.value };
331
- const iconHidden = this.open && !isEmpty(this._expandedIconSlot);
332
- const iconExpandedHidden = !iconHidden;
330
+ const iconName = this.open ? 'input_collapse' : 'input_expand';
331
+ const iconHidden = this.open && this._slots.hasAssignedElements('toggle-icon-expanded');
333
332
  return html `
334
333
  <span slot="suffix" part=${partMap(parts)} aria-hidden="true">
335
334
  <slot name="toggle-icon" ?hidden=${iconHidden}>
336
- <igc-icon
337
- name=${this.open ? 'input_collapse' : 'input_expand'}
338
- collection="default"
339
- ></igc-icon>
335
+ <igc-icon name=${iconName} collection="default"></igc-icon>
340
336
  </slot>
341
- <slot name="toggle-icon-expanded" ?hidden=${iconExpandedHidden}></slot>
337
+ <slot name="toggle-icon-expanded" ?hidden=${!iconHidden}></slot>
342
338
  </span>
343
339
  `;
344
340
  }
345
- renderHelperText() {
341
+ _renderHelperText() {
346
342
  return IgcValidationContainerComponent.create(this, {
347
343
  id: 'select-helper-text',
348
344
  slot: 'anchor',
349
345
  hasHelperText: true,
350
346
  });
351
347
  }
352
- renderInputAnchor() {
348
+ _renderInputAnchor() {
353
349
  const value = this.selectedItem?.textContent?.trim();
354
350
  return html `
355
351
  <igc-input
@@ -359,9 +355,8 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
359
355
  readonly
360
356
  aria-controls="dropdown"
361
357
  aria-describedby="select-helper-text"
362
- aria-expanded=${this.open ? 'true' : 'false'}
358
+ aria-expanded=${this.open}
363
359
  exportparts="container: input, input: native-input, label, prefix, suffix"
364
- tabIndex=${this.disabled ? -1 : 0}
365
360
  value=${ifDefined(value)}
366
361
  placeholder=${ifDefined(this.placeholder)}
367
362
  label=${ifDefined(this.label)}
@@ -371,37 +366,42 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
371
366
  .outlined=${this.outlined}
372
367
  @click=${this.handleAnchorClick}
373
368
  >
374
- ${this.renderInputSlots()} ${this.renderToggleIcon()}
369
+ ${this._renderInputSlots()} ${this._renderToggleIcon()}
375
370
  </igc-input>
376
371
 
377
- ${this.renderHelperText()}
372
+ ${this._renderHelperText()}
378
373
  `;
379
374
  }
380
- renderDropdown() {
381
- return html `<div part="base" .inert=${!this.open}>
382
- <div
383
- id="dropdown"
384
- role="listbox"
385
- part="list"
386
- aria-labelledby="input"
387
- @click=${this.handleClick}
388
- >
389
- <slot name="header"></slot>
390
- <slot></slot>
391
- <slot name="footer"></slot>
375
+ _renderDropdown() {
376
+ return html `
377
+ <div part="base" .inert=${!this.open}>
378
+ <div
379
+ id="dropdown"
380
+ role="listbox"
381
+ part="list"
382
+ aria-labelledby="input"
383
+ @click=${this._handleClick}
384
+ >
385
+ <slot name="header"></slot>
386
+ <slot></slot>
387
+ <slot name="footer"></slot>
388
+ </div>
392
389
  </div>
393
- </div>`;
390
+ `;
394
391
  }
395
392
  render() {
396
- return html `<igc-popover
397
- ?open=${this.open}
398
- flip
399
- shift
400
- same-width
401
- .offset=${this.distance}
402
- .placement=${this.placement}
403
- >${this.renderInputAnchor()} ${this.renderDropdown()}
404
- </igc-popover>`;
393
+ return html `
394
+ <igc-popover
395
+ ?open=${this.open}
396
+ flip
397
+ shift
398
+ same-width
399
+ .offset=${this.distance}
400
+ .placement=${this.placement}
401
+ >
402
+ ${this._renderInputAnchor()} ${this._renderDropdown()}
403
+ </igc-popover>
404
+ `;
405
405
  }
406
406
  };
407
407
  IgcSelectComponent.tagName = 'igc-select';
@@ -415,15 +415,6 @@ __decorate([
415
415
  __decorate([
416
416
  query(IgcInputComponent.tagName, true)
417
417
  ], IgcSelectComponent.prototype, "_input", void 0);
418
- __decorate([
419
- queryAssignedElements({ slot: 'suffix' })
420
- ], IgcSelectComponent.prototype, "_inputSuffix", void 0);
421
- __decorate([
422
- queryAssignedElements({ slot: 'prefix' })
423
- ], IgcSelectComponent.prototype, "_inputPrefix", void 0);
424
- __decorate([
425
- queryAssignedElements({ slot: 'toggle-icon-expanded' })
426
- ], IgcSelectComponent.prototype, "_expandedIconSlot", void 0);
427
418
  __decorate([
428
419
  property()
429
420
  ], IgcSelectComponent.prototype, "value", null);
@@ -450,10 +441,10 @@ __decorate([
450
441
  ], IgcSelectComponent.prototype, "scrollStrategy", void 0);
451
442
  __decorate([
452
443
  watch('scrollStrategy', { waitUntilFirstUpdate: true })
453
- ], IgcSelectComponent.prototype, "scrollStrategyChanged", null);
444
+ ], IgcSelectComponent.prototype, "_scrollStrategyChange", null);
454
445
  __decorate([
455
446
  watch('open', { waitUntilFirstUpdate: true })
456
- ], IgcSelectComponent.prototype, "openChange", null);
447
+ ], IgcSelectComponent.prototype, "_openChange", null);
457
448
  IgcSelectComponent = IgcSelectComponent_1 = __decorate([
458
449
  blazorAdditionalDependencies('IgcIconComponent, IgcInputComponent, IgcSelectGroupComponent, IgcSelectHeaderComponent, IgcSelectItemComponent')
459
450
  ], IgcSelectComponent);