igniteui-webcomponents 7.1.0 → 7.1.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 (281) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +13 -11
  3. package/animations/easings.d.ts +1 -1
  4. package/animations/easings.js +1 -1
  5. package/animations/easings.js.map +1 -1
  6. package/components/badge/themes/dark/badge.indigo.css.js +1 -1
  7. package/components/badge/themes/dark/badge.indigo.css.js.map +1 -1
  8. package/components/button/themes/button/light/button.indigo.css.js +1 -1
  9. package/components/button/themes/button/light/button.indigo.css.js.map +1 -1
  10. package/components/button/themes/icon-button/dark/icon-button.indigo.css.js +1 -1
  11. package/components/button/themes/icon-button/dark/icon-button.indigo.css.js.map +1 -1
  12. package/components/button-group/button-group.js +2 -2
  13. package/components/button-group/button-group.js.map +1 -1
  14. package/components/button-group/themes/dark/button-group.bootstrap.css.js +1 -1
  15. package/components/button-group/themes/dark/button-group.bootstrap.css.js.map +1 -1
  16. package/components/button-group/themes/dark/button-group.fluent.css.js +1 -1
  17. package/components/button-group/themes/dark/button-group.fluent.css.js.map +1 -1
  18. package/components/button-group/themes/dark/button-group.indigo.css.js +1 -1
  19. package/components/button-group/themes/dark/button-group.indigo.css.js.map +1 -1
  20. package/components/button-group/themes/dark/button-group.material.css.js +1 -1
  21. package/components/button-group/themes/dark/button-group.material.css.js.map +1 -1
  22. package/components/button-group/themes/dark/button-group.shared.css.js +1 -1
  23. package/components/button-group/themes/dark/button-group.shared.css.js.map +1 -1
  24. package/components/button-group/themes/light/button-group.bootstrap.css.js +1 -1
  25. package/components/button-group/themes/light/button-group.bootstrap.css.js.map +1 -1
  26. package/components/button-group/themes/light/button-group.fluent.css.js +1 -1
  27. package/components/button-group/themes/light/button-group.fluent.css.js.map +1 -1
  28. package/components/button-group/themes/light/button-group.indigo.css.js +1 -1
  29. package/components/button-group/themes/light/button-group.indigo.css.js.map +1 -1
  30. package/components/button-group/themes/light/button-group.material.css.js +1 -1
  31. package/components/button-group/themes/light/button-group.material.css.js.map +1 -1
  32. package/components/button-group/themes/light/button-group.shared.css.js +1 -1
  33. package/components/button-group/themes/light/button-group.shared.css.js.map +1 -1
  34. package/components/button-group/themes/shared/button/button.bootstrap.css.js +1 -1
  35. package/components/button-group/themes/shared/button/button.bootstrap.css.js.map +1 -1
  36. package/components/button-group/themes/shared/button/button.common.css.js +1 -1
  37. package/components/button-group/themes/shared/button/button.common.css.js.map +1 -1
  38. package/components/button-group/themes/shared/button/button.fluent.css.js +1 -1
  39. package/components/button-group/themes/shared/button/button.fluent.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/button-group/themes/shared/button/button.material.css.js +1 -1
  43. package/components/button-group/themes/shared/button/button.material.css.js.map +1 -1
  44. package/components/calendar/calendar.js +3 -3
  45. package/components/calendar/calendar.js.map +1 -1
  46. package/components/calendar/days-view/days-view.js +13 -11
  47. package/components/calendar/days-view/days-view.js.map +1 -1
  48. package/components/calendar/helpers.js +2 -2
  49. package/components/calendar/helpers.js.map +1 -1
  50. package/components/calendar/themes/dark/calendar.indigo.css.js +1 -1
  51. package/components/calendar/themes/dark/calendar.indigo.css.js.map +1 -1
  52. package/components/card/themes/dark/card.indigo.css.js +1 -1
  53. package/components/card/themes/dark/card.indigo.css.js.map +1 -1
  54. package/components/carousel/carousel.js +2 -2
  55. package/components/carousel/carousel.js.map +1 -1
  56. package/components/chat/chat-message.js +1 -0
  57. package/components/chat/chat-message.js.map +1 -1
  58. package/components/chat/themes/dark/chat.bootstrap.css.js +1 -1
  59. package/components/chat/themes/dark/chat.bootstrap.css.js.map +1 -1
  60. package/components/chat/themes/dark/chat.fluent.css.js +1 -1
  61. package/components/chat/themes/dark/chat.fluent.css.js.map +1 -1
  62. package/components/chat/themes/dark/chat.indigo.css.js +1 -1
  63. package/components/chat/themes/dark/chat.indigo.css.js.map +1 -1
  64. package/components/chat/themes/dark/chat.material.css.js +1 -1
  65. package/components/chat/themes/dark/chat.material.css.js.map +1 -1
  66. package/components/chat/themes/light/chat.bootstrap.css.js +1 -1
  67. package/components/chat/themes/light/chat.bootstrap.css.js.map +1 -1
  68. package/components/chat/themes/light/chat.fluent.css.js +1 -1
  69. package/components/chat/themes/light/chat.fluent.css.js.map +1 -1
  70. package/components/chat/themes/light/chat.indigo.css.js +1 -1
  71. package/components/chat/themes/light/chat.indigo.css.js.map +1 -1
  72. package/components/chat/themes/light/chat.material.css.js +1 -1
  73. package/components/chat/themes/light/chat.material.css.js.map +1 -1
  74. package/components/chat/themes/light/chat.shared.css.js +1 -1
  75. package/components/chat/themes/light/chat.shared.css.js.map +1 -1
  76. package/components/chat/themes/message.base.css.js +1 -1
  77. package/components/chat/themes/message.base.css.js.map +1 -1
  78. package/components/chat/themes/message.js +0 -14
  79. package/components/chat/themes/message.js.map +1 -1
  80. package/components/chat/themes/shared/chat-message/chat-message.common.css.js +1 -1
  81. package/components/chat/themes/shared/chat-message/chat-message.common.css.js.map +1 -1
  82. package/components/chat/themes/shared/chat-message/chat-message.indigo.css.js +1 -1
  83. package/components/chat/themes/shared/chat-message/chat-message.indigo.css.js.map +1 -1
  84. package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js +1 -1
  85. package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js.map +1 -1
  86. package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js +1 -1
  87. package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js.map +1 -1
  88. package/components/checkbox/themes/dark/checkbox/checkbox.indigo.css.js +1 -1
  89. package/components/checkbox/themes/dark/checkbox/checkbox.indigo.css.js.map +1 -1
  90. package/components/checkbox/themes/dark/checkbox/checkbox.material.css.js +1 -1
  91. package/components/checkbox/themes/dark/checkbox/checkbox.material.css.js.map +1 -1
  92. package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.js +1 -1
  93. package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.js.map +1 -1
  94. package/components/checkbox/themes/light/checkbox/checkbox.fluent.css.js +1 -1
  95. package/components/checkbox/themes/light/checkbox/checkbox.fluent.css.js.map +1 -1
  96. package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.js +1 -1
  97. package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.js.map +1 -1
  98. package/components/checkbox/themes/light/checkbox/checkbox.material.css.js +1 -1
  99. package/components/checkbox/themes/light/checkbox/checkbox.material.css.js.map +1 -1
  100. package/components/checkbox/themes/light/checkbox/checkbox.shared.css.js +1 -1
  101. package/components/checkbox/themes/light/checkbox/checkbox.shared.css.js.map +1 -1
  102. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
  103. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
  104. package/components/checkbox/themes/shared/checkbox/checkbox.common.css.js +1 -1
  105. package/components/checkbox/themes/shared/checkbox/checkbox.common.css.js.map +1 -1
  106. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js +1 -1
  107. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js.map +1 -1
  108. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js +1 -1
  109. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js.map +1 -1
  110. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js +1 -1
  111. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js.map +1 -1
  112. package/components/chip/chip.d.ts +1 -0
  113. package/components/chip/chip.js +3 -1
  114. package/components/chip/chip.js.map +1 -1
  115. package/components/chip/themes/chip.base.css.js +1 -1
  116. package/components/chip/themes/chip.base.css.js.map +1 -1
  117. package/components/chip/themes/dark/chip.indigo.css.js +1 -1
  118. package/components/chip/themes/dark/chip.indigo.css.js.map +1 -1
  119. package/components/chip/themes/shared/chip.common.css.js +1 -1
  120. package/components/chip/themes/shared/chip.common.css.js.map +1 -1
  121. package/components/combo/combo-header.js.map +1 -1
  122. package/components/combo/combo-item.d.ts +7 -3
  123. package/components/combo/combo-item.js +5 -4
  124. package/components/combo/combo-item.js.map +1 -1
  125. package/components/combo/combo-list.js.map +1 -1
  126. package/components/combo/combo.d.ts +92 -81
  127. package/components/combo/combo.js +327 -281
  128. package/components/combo/combo.js.map +1 -1
  129. package/components/combo/controllers/data.d.ts +50 -13
  130. package/components/combo/controllers/data.js +49 -28
  131. package/components/combo/controllers/data.js.map +1 -1
  132. package/components/combo/controllers/navigation.d.ts +19 -18
  133. package/components/combo/controllers/navigation.js +73 -90
  134. package/components/combo/controllers/navigation.js.map +1 -1
  135. package/components/combo/operations/filter.d.ts +2 -2
  136. package/components/combo/operations/filter.js.map +1 -1
  137. package/components/combo/operations/group.d.ts +2 -2
  138. package/components/combo/operations/group.js.map +1 -1
  139. package/components/combo/themes/dark/combo.indigo.css.js +1 -1
  140. package/components/combo/themes/dark/combo.indigo.css.js.map +1 -1
  141. package/components/common/context.d.ts +1 -1
  142. package/components/common/context.js +1 -1
  143. package/components/common/context.js.map +1 -1
  144. package/components/common/controllers/drag.js +2 -2
  145. package/components/common/controllers/drag.js.map +1 -1
  146. package/components/common/controllers/key-bindings.d.ts +100 -18
  147. package/components/common/controllers/key-bindings.js +54 -47
  148. package/components/common/controllers/key-bindings.js.map +1 -1
  149. package/components/common/controllers/root-click.js +3 -3
  150. package/components/common/controllers/root-click.js.map +1 -1
  151. package/components/common/controllers/slot.d.ts +1 -1
  152. package/components/common/controllers/slot.js.map +1 -1
  153. package/components/common/mixins/combo-box.d.ts +24 -19
  154. package/components/common/mixins/combo-box.js +26 -23
  155. package/components/common/mixins/combo-box.js.map +1 -1
  156. package/components/common/util.d.ts +45 -18
  157. package/components/common/util.js +13 -27
  158. package/components/common/util.js.map +1 -1
  159. package/components/date-picker/date-picker.d.ts +3 -3
  160. package/components/date-picker/date-picker.js +10 -10
  161. package/components/date-picker/date-picker.js.map +1 -1
  162. package/components/date-picker/themes/dark/date-picker.indigo.css.js +1 -1
  163. package/components/date-picker/themes/dark/date-picker.indigo.css.js.map +1 -1
  164. package/components/date-range-picker/date-range-picker.d.ts +3 -4
  165. package/components/date-range-picker/date-range-picker.js +11 -11
  166. package/components/date-range-picker/date-range-picker.js.map +1 -1
  167. package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js +1 -1
  168. package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js.map +1 -1
  169. package/components/date-time-input/date-time-input.js +1 -1
  170. package/components/date-time-input/date-time-input.js.map +1 -1
  171. package/components/date-time-input/datetime-mask-parser.d.ts +1 -2
  172. package/components/date-time-input/datetime-mask-parser.js +1 -2
  173. package/components/date-time-input/datetime-mask-parser.js.map +1 -1
  174. package/components/dialog/themes/dark/dialog.indigo.css.js +1 -1
  175. package/components/dialog/themes/dark/dialog.indigo.css.js.map +1 -1
  176. package/components/dropdown/dropdown.d.ts +2 -2
  177. package/components/dropdown/dropdown.js +6 -6
  178. package/components/dropdown/dropdown.js.map +1 -1
  179. package/components/dropdown/themes/dark/dropdown.indigo.css.js +1 -1
  180. package/components/dropdown/themes/dark/dropdown.indigo.css.js.map +1 -1
  181. package/components/dropdown/themes/shared/item/dropdown-item.common.css.js +1 -1
  182. package/components/dropdown/themes/shared/item/dropdown-item.common.css.js.map +1 -1
  183. package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js +1 -1
  184. package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js.map +1 -1
  185. package/components/highlight/service.js +1 -1
  186. package/components/highlight/service.js.map +1 -1
  187. package/components/input/themes/shared/input.material.css.js +1 -1
  188. package/components/input/themes/shared/input.material.css.js.map +1 -1
  189. package/components/list/themes/dark/container/list.bootstrap.css.js +1 -1
  190. package/components/list/themes/dark/container/list.bootstrap.css.js.map +1 -1
  191. package/components/nav-drawer/themes/container.base.css.js +1 -1
  192. package/components/nav-drawer/themes/container.base.css.js.map +1 -1
  193. package/components/navbar/themes/dark/navbar.indigo.css.js +1 -1
  194. package/components/navbar/themes/dark/navbar.indigo.css.js.map +1 -1
  195. package/components/progress/themes/circular/dark/circular.progress.indigo.css.js +1 -1
  196. package/components/progress/themes/circular/dark/circular.progress.indigo.css.js.map +1 -1
  197. package/components/progress/themes/circular/dark/circular.progress.shared.css.js +1 -1
  198. package/components/progress/themes/circular/dark/circular.progress.shared.css.js.map +1 -1
  199. package/components/progress/themes/circular/light/circular.progress.indigo.css.js +1 -1
  200. package/components/progress/themes/circular/light/circular.progress.indigo.css.js.map +1 -1
  201. package/components/progress/themes/circular/light/circular.progress.shared.css.js +1 -1
  202. package/components/progress/themes/circular/light/circular.progress.shared.css.js.map +1 -1
  203. package/components/progress/themes/circular/shared/circular.progress.common.css.js +1 -1
  204. package/components/progress/themes/circular/shared/circular.progress.common.css.js.map +1 -1
  205. package/components/progress/themes/linear/dark/linear.progress.indigo.css.js +1 -1
  206. package/components/progress/themes/linear/dark/linear.progress.indigo.css.js.map +1 -1
  207. package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
  208. package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
  209. package/components/radio/radio.js +1 -1
  210. package/components/radio/radio.js.map +1 -1
  211. package/components/rating/rating.d.ts +57 -28
  212. package/components/rating/rating.js +123 -120
  213. package/components/rating/rating.js.map +1 -1
  214. package/components/resize-container/resize-controller.js +2 -2
  215. package/components/resize-container/resize-controller.js.map +1 -1
  216. package/components/select/select.d.ts +3 -3
  217. package/components/select/select.js +10 -10
  218. package/components/select/select.js.map +1 -1
  219. package/components/select/themes/dark/select.indigo.css.js +1 -1
  220. package/components/select/themes/dark/select.indigo.css.js.map +1 -1
  221. package/components/snackbar/themes/dark/snackbar.indigo.css.js +1 -1
  222. package/components/snackbar/themes/dark/snackbar.indigo.css.js.map +1 -1
  223. package/components/splitter/splitter.d.ts +2 -2
  224. package/components/splitter/splitter.js.map +1 -1
  225. package/components/splitter/types.d.ts +11 -5
  226. package/components/splitter/types.js.map +1 -1
  227. package/components/stepper/common/state.d.ts +1 -1
  228. package/components/stepper/common/state.js.map +1 -1
  229. package/components/stepper/stepper.js +3 -3
  230. package/components/stepper/stepper.js.map +1 -1
  231. package/components/stepper/themes/step/dark/step.bootstrap.css.js +1 -1
  232. package/components/stepper/themes/step/dark/step.bootstrap.css.js.map +1 -1
  233. package/components/stepper/themes/step/dark/step.indigo.css.js +1 -1
  234. package/components/stepper/themes/step/dark/step.indigo.css.js.map +1 -1
  235. package/components/stepper/themes/step/dark/step.material.css.js +1 -1
  236. package/components/stepper/themes/step/dark/step.material.css.js.map +1 -1
  237. package/components/tabs/tab.d.ts +0 -1
  238. package/components/tabs/tab.js +2 -3
  239. package/components/tabs/tab.js.map +1 -1
  240. package/components/tabs/tabs.js +3 -3
  241. package/components/tabs/tabs.js.map +1 -1
  242. package/components/tile-manager/themes/dark/tile-manager.indigo.css.js +1 -1
  243. package/components/tile-manager/themes/dark/tile-manager.indigo.css.js.map +1 -1
  244. package/components/tile-manager/tile.js +2 -2
  245. package/components/tile-manager/tile.js.map +1 -1
  246. package/components/toast/themes/dark/toast.indigo.css.js +1 -1
  247. package/components/toast/themes/dark/toast.indigo.css.js.map +1 -1
  248. package/components/tree/themes/dark/container.bootstrap.css.js +1 -1
  249. package/components/tree/themes/dark/container.bootstrap.css.js.map +1 -1
  250. package/components/tree/themes/dark/container.indigo.css.js +1 -1
  251. package/components/tree/themes/dark/container.indigo.css.js.map +1 -1
  252. package/components/tree/themes/shared/item.indigo.css.js +1 -1
  253. package/components/tree/themes/shared/item.indigo.css.js.map +1 -1
  254. package/components/tree/tree-item.js +2 -3
  255. package/components/tree/tree-item.js.map +1 -1
  256. package/custom-elements.json +1726 -983
  257. package/igniteui-webcomponents.css-data.json +1 -1
  258. package/igniteui-webcomponents.html-data.json +1 -1
  259. package/index.d.ts +1 -1
  260. package/index.js.map +1 -1
  261. package/package.json +1 -1
  262. package/skills/README.md +3 -0
  263. package/skills/igniteui-wc-choose-components/SKILL.md +53 -0
  264. package/skills/igniteui-wc-generate-from-image-design/SKILL.md +228 -0
  265. package/skills/igniteui-wc-generate-from-image-design/references/component-mapping.md +130 -0
  266. package/skills/igniteui-wc-generate-from-image-design/references/gotchas.md +147 -0
  267. package/skills/igniteui-wc-integrate-with-framework/SKILL.md +22 -1
  268. package/skills/igniteui-wc-integrate-with-framework/references/angular.md +2 -0
  269. package/skills/igniteui-wc-integrate-with-framework/references/react.md +2 -0
  270. package/skills/igniteui-wc-integrate-with-framework/references/vanilla-js.md +2 -0
  271. package/skills/igniteui-wc-integrate-with-framework/references/vue.md +2 -0
  272. package/web-types.json +2 -2
  273. package/components/chat/themes/shared/chat-message/chat-message.bootstrap.css.d.ts +0 -1
  274. package/components/chat/themes/shared/chat-message/chat-message.bootstrap.css.js +0 -3
  275. package/components/chat/themes/shared/chat-message/chat-message.bootstrap.css.js.map +0 -1
  276. package/components/chat/themes/shared/chat-message/chat-message.fluent.css.d.ts +0 -1
  277. package/components/chat/themes/shared/chat-message/chat-message.fluent.css.js +0 -3
  278. package/components/chat/themes/shared/chat-message/chat-message.fluent.css.js.map +0 -1
  279. package/components/combo/controllers/selection.d.ts +0 -33
  280. package/components/combo/controllers/selection.js +0 -169
  281. package/components/combo/controllers/selection.js.map +0 -1
@@ -1,11 +1,10 @@
1
1
  import { type IComboResourceStrings } from 'igniteui-i18n-core';
2
- import { LitElement, type TemplateResult } from 'lit';
3
- import type { Constructor } from '../common/mixins/constructor.js';
4
- import { DataController } from './controllers/data.js';
5
- import { ComboNavigationController } from './controllers/navigation.js';
6
- import { SelectionController } from './controllers/selection.js';
2
+ import { type PropertyValues, type TemplateResult } from 'lit';
3
+ import { IgcBaseComboBoxComponent } from '../common/mixins/combo-box.js';
4
+ import type { AbstractConstructor } from '../common/mixins/constructor.js';
5
+ import type { Validator } from '../common/validators.js';
7
6
  import type { ComboItemTemplate, ComboRenderFunction, ComboValue, FilteringOptions, GroupingDirection, IgcComboComponentEventMap, Item, Keys } from './types.js';
8
- declare const IgcComboComponent_base: Constructor<import("../common/mixins/forms/types.js").FormRequiredInterface & import("../common/mixins/forms/types.js").FormAssociatedElementInterface> & Constructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcComboComponentEventMap>> & Constructor<LitElement>;
7
+ declare const IgcComboComponent_base: import("../common/mixins/constructor.js").Constructor<import("../common/mixins/forms/types.js").FormRequiredInterface & import("../common/mixins/forms/types.js").FormAssociatedElementInterface> & import("../common/mixins/constructor.js").Constructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcComboComponentEventMap>> & AbstractConstructor<IgcBaseComboBoxComponent>;
9
8
  /**
10
9
  * The Combo component is similar to the Select component in that it provides a list of options from which the user can make a selection.
11
10
  * In contrast to the Select component, the Combo component displays all options in a virtualized list of items,
@@ -60,37 +59,41 @@ export default class IgcComboComponent<T extends object = any> extends IgcComboC
60
59
  static readonly tagName = "igc-combo";
61
60
  static styles: import("lit").CSSResult[];
62
61
  static register(): void;
63
- protected get __validators(): import("../common/validators.js").Validator<IgcComboComponent<any>>[];
62
+ protected get __validators(): Validator<IgcComboComponent<T>>[];
63
+ private readonly _slots;
64
+ protected readonly _rootClickController: import("../common/controllers/root-click.js").RootClickController;
65
+ protected readonly _i18nController: import("../common/i18n/i18n-controller.js").I18nController<IComboResourceStrings>;
66
+ protected readonly _formValue: import("../common/mixins/forms/form-value.js").FormValue<ComboValue<T>[]>;
64
67
  /** The primary input of the combo component. */
65
- private _inputRef;
68
+ private readonly _inputRef;
66
69
  /** The search input of the combo component. */
67
- private _searchRef;
70
+ private readonly _searchRef;
68
71
  /** The combo virtualized dropdown list. */
69
- private _listRef;
70
- private readonly _rootClickController;
71
- protected readonly _i18nController: import("../common/i18n/i18n-controller.js").I18nController<IComboResourceStrings>;
72
- protected readonly _formValue: import("../common/mixins/forms/form-value.js").FormValue<ComboValue<T>[]>;
72
+ private readonly _listRef;
73
+ private readonly _state;
74
+ private readonly _navigation;
73
75
  private _data;
74
76
  private _valueKey?;
75
77
  private _displayKey?;
76
- private _groupKey?;
78
+ private _placeholderSearch?;
77
79
  private _disableFiltering;
78
80
  private _singleSelect;
79
- private _groupSorting;
81
+ private _selected;
80
82
  private _filteringOptions;
81
- private _activeDescendant;
83
+ private set _activeIndex(value);
84
+ private get _activeIndex();
85
+ private set _searchTerm(value);
86
+ private get _searchTerm();
87
+ private _activeDescendant?;
82
88
  private _displayValue;
83
- protected _state: DataController<T>;
84
- protected _selection: SelectionController<T>;
85
- protected _navigation: ComboNavigationController<T>;
86
- protected inputSuffix: HTMLElement[];
87
- protected inputPrefix: HTMLElement[];
89
+ private get _mainAriaLabel();
88
90
  /** The data source used to generate the list of options. */
89
91
  set data(value: T[]);
90
92
  get data(): T[];
91
93
  /**
92
94
  * The outlined attribute of the control.
93
95
  * @attr outlined
96
+ * @default false
94
97
  */
95
98
  outlined: boolean;
96
99
  /**
@@ -108,6 +111,7 @@ export default class IgcComboComponent<T extends object = any> extends IgcComboC
108
111
  /**
109
112
  * Focuses the list of options when the menu opens.
110
113
  * @attr autofocus-list
114
+ * @default false
111
115
  */
112
116
  autofocusList: boolean;
113
117
  /**
@@ -120,24 +124,18 @@ export default class IgcComboComponent<T extends object = any> extends IgcComboC
120
124
  * The label attribute of the control.
121
125
  * @attr label
122
126
  */
123
- label: string;
127
+ label?: string;
124
128
  /**
125
129
  * The placeholder attribute of the control.
126
130
  * @attr placeholder
127
131
  */
128
- placeholder: string;
132
+ placeholder?: string;
129
133
  /**
130
134
  * The placeholder attribute of the search input.
131
135
  * @attr placeholder-search
132
136
  */
133
- set placeholderSearch(value: string);
137
+ set placeholderSearch(value: string | undefined);
134
138
  get placeholderSearch(): string;
135
- private _placeholderSearch;
136
- /**
137
- * Sets the open state of the component.
138
- * @attr open
139
- */
140
- open: boolean;
141
139
  /**
142
140
  * The resource strings for localization.
143
141
  */
@@ -159,16 +157,14 @@ export default class IgcComboComponent<T extends object = any> extends IgcComboC
159
157
  * The key in the data source used to group items in the list.
160
158
  * @attr group-key
161
159
  */
162
- set groupKey(value: Keys<T> | undefined);
163
- get groupKey(): Keys<T> | undefined;
160
+ groupKey?: Keys<T> | string;
164
161
  /**
165
162
  * Sorts the items in each group by ascending or descending order.
166
163
  * @attr group-sorting
167
- * @default asc
164
+ * @default "asc"
168
165
  * @type {"asc" | "desc" | "none"}
169
166
  */
170
- set groupSorting(value: GroupingDirection);
171
- get groupSorting(): GroupingDirection;
167
+ groupSorting: GroupingDirection;
172
168
  /**
173
169
  * An object that configures the filtering of the combo.
174
170
  * @attr filtering-options
@@ -182,6 +178,7 @@ export default class IgcComboComponent<T extends object = any> extends IgcComboC
182
178
  /**
183
179
  * Enables the case sensitive search icon in the filtering input.
184
180
  * @attr case-sensitive-icon
181
+ * @default false
185
182
  */
186
183
  caseSensitiveIcon: boolean;
187
184
  /**
@@ -239,28 +236,67 @@ export default class IgcComboComponent<T extends object = any> extends IgcComboC
239
236
  * represented by the value key, when provided.
240
237
  */
241
238
  get value(): ComboValue<T>[];
242
- protected _updateSelection(): void;
243
- protected toggleDirectiveChange(): void;
239
+ /**
240
+ * Returns the current selection as an array of objects as provided in the `data` source.
241
+ */
242
+ get selection(): T[];
244
243
  constructor();
245
- protected firstUpdated(): Promise<void>;
244
+ protected willUpdate(props: PropertyValues<this>): void;
246
245
  protected _restoreDefaultValue(): void;
247
246
  protected _setDefaultValue(current: string | null): void;
248
- protected _setFormValue(): void;
249
- protected resetSearchTerm(): void;
250
- protected updateValue(initial?: boolean): void;
247
+ protected _show(emitEvent?: boolean): Promise<boolean>;
248
+ protected _hide(emitEvent?: boolean): Promise<boolean>;
249
+ /**
250
+ * Resolves user-provided items (value keys or object references)
251
+ * to actual objects from the data source in a single pass.
252
+ */
253
+ private _resolveItems;
254
+ /**
255
+ * Gets the value representation of a data record
256
+ * (its value-key property, or the record itself).
257
+ */
258
+ private _resolveItemValue;
259
+ /**
260
+ * Maps data items to their value representations using the given key.
261
+ * When key is undefined, returns the items themselves.
262
+ */
263
+ private _getValues;
264
+ private _emitSelectionChange;
265
+ private _selectItems;
266
+ private _deselectItems;
267
+ /**
268
+ * Syncs the internal `_selected` set from the current `_formValue`.
269
+ * This is a one-way sync: source of truth (_formValue) → view (_selected).
270
+ */
271
+ private _syncSelectionFromValue;
272
+ /**
273
+ * Finds an item in the data array by its value (or value key).
274
+ * Returns undefined if the item is not found.
275
+ */
276
+ private _findItemByValue;
277
+ protected _syncValueFromSelection(initial?: boolean): void;
278
+ private _toggleSelection;
279
+ private _selectByIndex;
280
+ private _clearSelection;
281
+ private _clearSingleSelection;
282
+ protected _handleMainInput({ detail, }: CustomEvent<string>): Promise<void>;
283
+ protected _handleFocusIn(): void;
284
+ protected _handleBlur(): void;
285
+ protected _handleSearchInput({ detail }: CustomEvent<string>): void;
286
+ private _handleClosing;
287
+ private _itemClickHandler;
288
+ private _handleClearIconClick;
289
+ private _handleCaseSensitivity;
251
290
  /** Sets focus on the component. */
252
291
  focus(options?: FocusOptions): void;
253
292
  /** Removes focus from the component. */
254
293
  blur(): void;
255
- /**
256
- * Returns the current selection as an array of objects as provided in the `data` source.
257
- */
258
- get selection(): T[];
259
294
  /**
260
295
  * Selects option(s) in the list by either reference or valueKey.
261
296
  * If not argument is provided all items will be selected.
262
- * @param { Item<T> | Items<T> } items - One or more items to be selected. Multiple items should be passed as an array.
297
+ * @param { Item<T> | Item<T>[] } items - One or more items to be selected. Multiple items should be passed as an array.
263
298
  * When valueKey is specified, the corresponding value should be used in place of the item reference.
299
+ *
264
300
  * @example
265
301
  * ```typescript
266
302
  * const combo<IgcComboComponent<T>> = document.querySelector('igc-combo');
@@ -282,8 +318,9 @@ export default class IgcComboComponent<T extends object = any> extends IgcComboC
282
318
  /**
283
319
  * Deselects option(s) in the list by either reference or valueKey.
284
320
  * If not argument is provided all items will be deselected.
285
- * @param { Item<T> | Items<T> } items - One or more items to be deselected. Multiple items should be passed as an array.
321
+ * @param { Item<T> | Item<T>[] } items - One or more items to be deselected. Multiple items should be passed as an array.
286
322
  * When valueKey is specified, the corresponding value should be used in place of the item reference.
323
+ *
287
324
  * @example
288
325
  * ```typescript
289
326
  * const combo<IgcComboComponent<T>> = document.querySelector('igc-combo');
@@ -302,40 +339,14 @@ export default class IgcComboComponent<T extends object = any> extends IgcComboC
302
339
  * ```
303
340
  */
304
341
  deselect(items?: Item<T> | Item<T>[]): void;
305
- protected handleMainInput({ detail }: CustomEvent<string>): Promise<void>;
306
- protected _handleFocusIn(): void;
307
- protected _handleBlur(): void;
308
- protected handleSearchInput({ detail }: CustomEvent<string>): void;
309
- protected handleOpening(): boolean;
310
- protected handleClosing(): boolean;
311
- protected _show(emitEvent?: boolean): Promise<boolean>;
312
- /** Shows the list of options. */
313
- show(): Promise<boolean>;
314
- protected _hide(emitEvent?: boolean): Promise<boolean>;
315
- /** Hides the list of options. */
316
- hide(): Promise<boolean>;
317
- protected _toggle(emit?: boolean): Promise<boolean>;
318
- /** Toggles the list of options. */
319
- toggle(): Promise<boolean>;
320
- private _getActiveDescendantId;
321
- protected itemRenderer: ComboRenderFunction<T>;
322
- protected itemClickHandler(event: PointerEvent): void;
323
- protected toggleSelect(index: number): void;
324
- protected selectByIndex(index: number): void;
325
- /** @hidden @internal */
326
- clearSelection(): void;
327
- protected clearSingleSelection(): void;
328
- protected handleClearIconClick(e: PointerEvent): void;
329
- protected toggleCaseSensitivity(): void;
330
- protected getMainAriaLabel(): string;
331
- private _stopPropagation;
332
- private renderToggleIcon;
333
- private renderClearIcon;
334
- private renderMainInput;
335
- private renderSearchInput;
336
- private renderEmptyTemplate;
337
- private renderList;
338
- private renderHelperText;
342
+ protected _itemRenderer: ComboRenderFunction<T>;
343
+ private _renderToggleIcon;
344
+ private _renderClearIcon;
345
+ private _renderMainInput;
346
+ private _renderSearchInput;
347
+ private _renderEmptyTemplate;
348
+ private _renderList;
349
+ private _renderHelperText;
339
350
  protected render(): TemplateResult<1>;
340
351
  }
341
352
  declare global {