igniteui-webcomponents 4.6.0 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/animations/player.js.map +1 -1
  3. package/components/accordion/accordion.js.map +1 -1
  4. package/components/avatar/avatar.d.ts +4 -3
  5. package/components/avatar/avatar.js +20 -24
  6. package/components/avatar/avatar.js.map +1 -1
  7. package/components/avatar/themes/themes.js +8 -9
  8. package/components/avatar/themes/themes.js.map +1 -1
  9. package/components/badge/badge.d.ts +4 -1
  10. package/components/badge/badge.js +15 -5
  11. package/components/badge/badge.js.map +1 -1
  12. package/components/badge/themes/themes.js +8 -9
  13. package/components/badge/themes/themes.js.map +1 -1
  14. package/components/button/button-base.d.ts +5 -6
  15. package/components/button/button-base.js +13 -26
  16. package/components/button/button-base.js.map +1 -1
  17. package/components/button/button.d.ts +2 -8
  18. package/components/button/button.js +6 -14
  19. package/components/button/button.js.map +1 -1
  20. package/components/button/icon-button.d.ts +1 -1
  21. package/components/button/icon-button.js +2 -1
  22. package/components/button/icon-button.js.map +1 -1
  23. package/components/button/themes/button/themes.js +8 -9
  24. package/components/button/themes/button/themes.js.map +1 -1
  25. package/components/button/themes/icon-button/themes.js +8 -9
  26. package/components/button/themes/icon-button/themes.js.map +1 -1
  27. package/components/button-group/button-group.d.ts +1 -1
  28. package/components/button-group/button-group.js +2 -1
  29. package/components/button-group/button-group.js.map +1 -1
  30. package/components/button-group/themes/button.js +6 -13
  31. package/components/button-group/themes/button.js.map +1 -1
  32. package/components/button-group/themes/group.js +8 -9
  33. package/components/button-group/themes/group.js.map +1 -1
  34. package/components/button-group/toggle-button.d.ts +2 -2
  35. package/components/button-group/toggle-button.js +7 -13
  36. package/components/button-group/toggle-button.js.map +1 -1
  37. package/components/calendar/calendar.d.ts +1 -1
  38. package/components/calendar/calendar.js +2 -1
  39. package/components/calendar/calendar.js.map +1 -1
  40. package/components/calendar/common/calendar-base.js.map +1 -1
  41. package/components/calendar/common/calendar.model.js.map +1 -1
  42. package/components/calendar/common/utils.js.map +1 -1
  43. package/components/calendar/days-view/days-view.js.map +1 -1
  44. package/components/calendar/months-view/months-view.js.map +1 -1
  45. package/components/calendar/themes/calendar.js +8 -9
  46. package/components/calendar/themes/calendar.js.map +1 -1
  47. package/components/calendar/years-view/years-view.js.map +1 -1
  48. package/components/card/card.content.d.ts +1 -1
  49. package/components/card/card.content.js +2 -1
  50. package/components/card/card.content.js.map +1 -1
  51. package/components/card/card.d.ts +1 -1
  52. package/components/card/card.header.d.ts +1 -1
  53. package/components/card/card.header.js +2 -1
  54. package/components/card/card.header.js.map +1 -1
  55. package/components/card/card.js +2 -1
  56. package/components/card/card.js.map +1 -1
  57. package/components/card/themes/container.js +8 -9
  58. package/components/card/themes/container.js.map +1 -1
  59. package/components/card/themes/content.js +8 -9
  60. package/components/card/themes/content.js.map +1 -1
  61. package/components/card/themes/header.js +8 -9
  62. package/components/card/themes/header.js.map +1 -1
  63. package/components/checkbox/checkbox-base.js.map +1 -1
  64. package/components/chip/chip.d.ts +1 -1
  65. package/components/chip/chip.js +2 -1
  66. package/components/chip/chip.js.map +1 -1
  67. package/components/chip/themes/themes.js +8 -9
  68. package/components/chip/themes/themes.js.map +1 -1
  69. package/components/combo/combo-item.d.ts +2 -0
  70. package/components/combo/combo-item.js +10 -11
  71. package/components/combo/combo-item.js.map +1 -1
  72. package/components/combo/combo-list.d.ts +0 -1
  73. package/components/combo/combo-list.js +0 -6
  74. package/components/combo/combo-list.js.map +1 -1
  75. package/components/combo/combo.d.ts +4 -5
  76. package/components/combo/combo.js +51 -39
  77. package/components/combo/combo.js.map +1 -1
  78. package/components/combo/controllers/navigation.js.map +1 -1
  79. package/components/combo/controllers/selection.js.map +1 -1
  80. package/components/combo/operations/group.d.ts +2 -2
  81. package/components/combo/operations/group.js +13 -26
  82. package/components/combo/operations/group.js.map +1 -1
  83. package/components/combo/themes/dark/combo.bootstrap.css.js +1 -1
  84. package/components/combo/themes/dark/combo.bootstrap.css.js.map +1 -1
  85. package/components/combo/themes/dark/combo.fluent.css.js +1 -1
  86. package/components/combo/themes/dark/combo.fluent.css.js.map +1 -1
  87. package/components/combo/themes/light/combo.bootstrap.css.js +1 -1
  88. package/components/combo/themes/light/combo.bootstrap.css.js.map +1 -1
  89. package/components/combo/themes/light/combo.fluent.css.js +1 -1
  90. package/components/combo/themes/light/combo.fluent.css.js.map +1 -1
  91. package/components/common/controllers/key-bindings.js.map +1 -1
  92. package/components/common/controllers/root-click.d.ts +1 -1
  93. package/components/common/controllers/root-click.js.map +1 -1
  94. package/components/common/controllers/root-scroll.js.map +1 -1
  95. package/components/common/decorators/watch.js.map +1 -1
  96. package/components/common/definitions/defineComponents.js.map +1 -1
  97. package/components/common/definitions/register.js.map +1 -1
  98. package/components/common/mixins/alert.js.map +1 -1
  99. package/components/common/mixins/combo-box.js.map +1 -1
  100. package/components/common/mixins/form-associated.js.map +1 -1
  101. package/components/common/util.js.map +1 -1
  102. package/components/date-time-input/date-time-input.js.map +1 -1
  103. package/components/date-time-input/date-util.js.map +1 -1
  104. package/components/dialog/dialog.js +2 -1
  105. package/components/dialog/dialog.js.map +1 -1
  106. package/components/dialog/themes/themes.js +8 -9
  107. package/components/dialog/themes/themes.js.map +1 -1
  108. package/components/dropdown/dropdown.js.map +1 -1
  109. package/components/dropdown/themes/dark/dropdown.bootstrap.css.js +1 -1
  110. package/components/dropdown/themes/dark/dropdown.bootstrap.css.js.map +1 -1
  111. package/components/dropdown/themes/dark/dropdown.fluent.css.js +1 -1
  112. package/components/dropdown/themes/dark/dropdown.fluent.css.js.map +1 -1
  113. package/components/dropdown/themes/light/dropdown.bootstrap.css.js +1 -1
  114. package/components/dropdown/themes/light/dropdown.bootstrap.css.js.map +1 -1
  115. package/components/dropdown/themes/light/dropdown.fluent.css.js +1 -1
  116. package/components/dropdown/themes/light/dropdown.fluent.css.js.map +1 -1
  117. package/components/dropdown/themes/shared/item/dropdown-item.fluent.css.js +1 -1
  118. package/components/dropdown/themes/shared/item/dropdown-item.fluent.css.js.map +1 -1
  119. package/components/expansion-panel/expansion-panel.d.ts +1 -1
  120. package/components/expansion-panel/expansion-panel.js +2 -1
  121. package/components/expansion-panel/expansion-panel.js.map +1 -1
  122. package/components/expansion-panel/themes/themes.js +8 -9
  123. package/components/expansion-panel/themes/themes.js.map +1 -1
  124. package/components/form/form.js.map +1 -1
  125. package/components/icon/icon.d.ts +2 -2
  126. package/components/icon/icon.js +6 -7
  127. package/components/icon/icon.js.map +1 -1
  128. package/components/icon/icon.registry.js.map +1 -1
  129. package/components/icon/themes/themes.js +8 -9
  130. package/components/icon/themes/themes.js.map +1 -1
  131. package/components/input/input-base.js +0 -4
  132. package/components/input/input-base.js.map +1 -1
  133. package/components/list/list-header.d.ts +1 -1
  134. package/components/list/list-header.js +2 -1
  135. package/components/list/list-header.js.map +1 -1
  136. package/components/list/list-item.d.ts +1 -1
  137. package/components/list/list-item.js +2 -1
  138. package/components/list/list-item.js.map +1 -1
  139. package/components/list/themes/header.js +8 -9
  140. package/components/list/themes/header.js.map +1 -1
  141. package/components/list/themes/item.js +8 -9
  142. package/components/list/themes/item.js.map +1 -1
  143. package/components/mask-input/mask-input-base.js.map +1 -1
  144. package/components/mask-input/mask-input.js.map +1 -1
  145. package/components/mask-input/mask-parser.js.map +1 -1
  146. package/components/nav-drawer/nav-drawer-header-item.d.ts +1 -1
  147. package/components/nav-drawer/nav-drawer-header-item.js +2 -1
  148. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  149. package/components/nav-drawer/nav-drawer-item.d.ts +1 -1
  150. package/components/nav-drawer/nav-drawer-item.js +2 -1
  151. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  152. package/components/nav-drawer/nav-drawer.d.ts +1 -1
  153. package/components/nav-drawer/nav-drawer.js +2 -1
  154. package/components/nav-drawer/nav-drawer.js.map +1 -1
  155. package/components/nav-drawer/themes/container.base.css.js +1 -1
  156. package/components/nav-drawer/themes/container.base.css.js.map +1 -1
  157. package/components/nav-drawer/themes/container.js +8 -9
  158. package/components/nav-drawer/themes/container.js.map +1 -1
  159. package/components/nav-drawer/themes/header-item.js +2 -21
  160. package/components/nav-drawer/themes/header-item.js.map +1 -1
  161. package/components/nav-drawer/themes/item.js +4 -17
  162. package/components/nav-drawer/themes/item.js.map +1 -1
  163. package/components/navbar/navbar.d.ts +1 -1
  164. package/components/navbar/navbar.js +2 -1
  165. package/components/navbar/navbar.js.map +1 -1
  166. package/components/navbar/themes/themes.js +8 -9
  167. package/components/navbar/themes/themes.js.map +1 -1
  168. package/components/popover/popover.js.map +1 -1
  169. package/components/progress/base.js.map +1 -1
  170. package/components/progress/circular-progress.d.ts +1 -1
  171. package/components/progress/circular-progress.js +2 -1
  172. package/components/progress/circular-progress.js.map +1 -1
  173. package/components/progress/linear-progress.d.ts +1 -1
  174. package/components/progress/linear-progress.js +2 -1
  175. package/components/progress/linear-progress.js.map +1 -1
  176. package/components/progress/themes/circular/themes.js +8 -9
  177. package/components/progress/themes/circular/themes.js.map +1 -1
  178. package/components/progress/themes/linear/themes.js +8 -9
  179. package/components/progress/themes/linear/themes.js.map +1 -1
  180. package/components/radio/radio.js.map +1 -1
  181. package/components/radio/utils.js.map +1 -1
  182. package/components/rating/rating.d.ts +5 -0
  183. package/components/rating/rating.js +13 -2
  184. package/components/rating/rating.js.map +1 -1
  185. package/components/rating/themes/themes.js +8 -9
  186. package/components/rating/themes/themes.js.map +1 -1
  187. package/components/select/select-group.js.map +1 -1
  188. package/components/select/select-item.js.map +1 -1
  189. package/components/select/select.js.map +1 -1
  190. package/components/select/themes/dark/select.bootstrap.css.js +1 -1
  191. package/components/select/themes/dark/select.bootstrap.css.js.map +1 -1
  192. package/components/select/themes/dark/select.fluent.css.js +1 -1
  193. package/components/select/themes/dark/select.fluent.css.js.map +1 -1
  194. package/components/select/themes/light/select.bootstrap.css.js +1 -1
  195. package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
  196. package/components/select/themes/light/select.fluent.css.js +1 -1
  197. package/components/select/themes/light/select.fluent.css.js.map +1 -1
  198. package/components/slider/range-slider.js.map +1 -1
  199. package/components/slider/slider-base.js.map +1 -1
  200. package/components/slider/slider.js.map +1 -1
  201. package/components/snackbar/snackbar.d.ts +1 -1
  202. package/components/snackbar/snackbar.js +2 -1
  203. package/components/snackbar/snackbar.js.map +1 -1
  204. package/components/snackbar/themes/themes.js +8 -9
  205. package/components/snackbar/themes/themes.js.map +1 -1
  206. package/components/stepper/step.d.ts +1 -1
  207. package/components/stepper/step.js +2 -1
  208. package/components/stepper/step.js.map +1 -1
  209. package/components/stepper/stepper.js.map +1 -1
  210. package/components/stepper/themes/step/themes.js +8 -9
  211. package/components/stepper/themes/step/themes.js.map +1 -1
  212. package/components/tabs/tab.d.ts +1 -1
  213. package/components/tabs/tab.js +2 -1
  214. package/components/tabs/tab.js.map +1 -1
  215. package/components/tabs/tabs.d.ts +1 -1
  216. package/components/tabs/tabs.js +2 -1
  217. package/components/tabs/tabs.js.map +1 -1
  218. package/components/tabs/themes/tab-themes.js +4 -17
  219. package/components/tabs/themes/tab-themes.js.map +1 -1
  220. package/components/tabs/themes/tabs-themes.js +8 -9
  221. package/components/tabs/themes/tabs-themes.js.map +1 -1
  222. package/components/textarea/textarea.js.map +1 -1
  223. package/components/toast/themes/themes.js +8 -9
  224. package/components/toast/themes/themes.js.map +1 -1
  225. package/components/toast/toast.js +2 -1
  226. package/components/toast/toast.js.map +1 -1
  227. package/components/tree/tree-item.d.ts +1 -1
  228. package/components/tree/tree-item.js +20 -4
  229. package/components/tree/tree-item.js.map +1 -1
  230. package/components/tree/tree.d.ts +5 -0
  231. package/components/tree/tree.js +4 -0
  232. package/components/tree/tree.js.map +1 -1
  233. package/components/tree/tree.navigation.js.map +1 -1
  234. package/components/tree/tree.selection.js.map +1 -1
  235. package/custom-elements.json +190 -378
  236. package/package.json +1 -1
  237. package/theming/config.js.map +1 -1
  238. package/theming/theming-controller.js.map +1 -1
  239. package/theming/utils.js.map +1 -1
  240. package/components/toggle/toggle.controller.d.ts +0 -52
  241. package/components/toggle/toggle.controller.js +0 -92
  242. package/components/toggle/toggle.controller.js.map +0 -1
  243. package/components/toggle/toggle.directive.d.ts +0 -20
  244. package/components/toggle/toggle.directive.js +0 -94
  245. package/components/toggle/toggle.directive.js.map +0 -1
  246. package/components/toggle/types.d.ts +0 -51
  247. package/components/toggle/types.js +0 -2
  248. package/components/toggle/types.js.map +0 -1
@@ -8,35 +8,34 @@ import { styles as fluentLight } from './light/chip.fluent.css.js';
8
8
  import { styles as indigoLight } from './light/chip.indigo.css.js';
9
9
  import { styles as materialLight } from './light/chip.material.css.js';
10
10
  import { styles as bootstrap } from './shared/chip.bootstrap.css.js';
11
- import { styles as shared } from './shared/chip.common.css.js';
12
11
  import { styles as fluent } from './shared/chip.fluent.css.js';
13
12
  import { styles as indigo } from './shared/chip.indigo.css.js';
14
13
  const light = {
15
14
  bootstrap: css `
16
- ${shared} ${bootstrap} ${bootstrapLight}
15
+ ${bootstrap} ${bootstrapLight}
17
16
  `,
18
17
  material: css `
19
- ${shared} ${materialLight}
18
+ ${materialLight}
20
19
  `,
21
20
  fluent: css `
22
- ${shared} ${fluent} ${fluentLight}
21
+ ${fluent} ${fluentLight}
23
22
  `,
24
23
  indigo: css `
25
- ${shared} ${indigo} ${indigoLight}
24
+ ${indigo} ${indigoLight}
26
25
  `,
27
26
  };
28
27
  const dark = {
29
28
  bootstrap: css `
30
- ${shared} ${bootstrap} ${bootstrapDark}
29
+ ${bootstrap} ${bootstrapDark}
31
30
  `,
32
31
  material: css `
33
- ${shared} ${materialDark}
32
+ ${materialDark}
34
33
  `,
35
34
  fluent: css `
36
- ${shared} ${fluent} ${fluentDark}
35
+ ${fluent} ${fluentDark}
37
36
  `,
38
37
  indigo: css `
39
- ${shared} ${indigo} ${indigoDark}
38
+ ${indigo} ${indigoDark}
40
39
  `,
41
40
  };
42
41
  export const all = { light, dark };
@@ -1 +1 @@
1
- {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../src/components/chip/themes/themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAG/D,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE,GAAG,CAAA;MACV,MAAM,IAAI,SAAS,IAAI,cAAc;GACxC;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,MAAM,IAAI,aAAa;GAC1B;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM,IAAI,WAAW;GAClC;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM,IAAI,WAAW;GAClC;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,SAAS,EAAE,GAAG,CAAA;MACV,MAAM,IAAI,SAAS,IAAI,aAAa;GACvC;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,MAAM,IAAI,YAAY;GACzB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM,IAAI,UAAU;GACjC;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM,IAAI,UAAU;GACjC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\n// Dark Overrides\nimport { styles as bootstrapDark } from './dark/chip.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/chip.fluent.css.js';\nimport { styles as indigoDark } from './dark/chip.indigo.css.js';\nimport { styles as materialDark } from './dark/chip.material.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/chip.bootstrap.css.js';\nimport { styles as fluentLight } from './light/chip.fluent.css.js';\nimport { styles as indigoLight } from './light/chip.indigo.css.js';\nimport { styles as materialLight } from './light/chip.material.css.js';\n// Shared Styles\nimport { styles as bootstrap } from './shared/chip.bootstrap.css.js';\nimport { styles as shared } from './shared/chip.common.css.js';\nimport { styles as fluent } from './shared/chip.fluent.css.js';\nimport { styles as indigo } from './shared/chip.indigo.css.js';\nimport { Themes } from '../../../theming/types.js';\n\nconst light = {\n bootstrap: css`\n ${shared} ${bootstrap} ${bootstrapLight}\n `,\n material: css`\n ${shared} ${materialLight}\n `,\n fluent: css`\n ${shared} ${fluent} ${fluentLight}\n `,\n indigo: css`\n ${shared} ${indigo} ${indigoLight}\n `,\n};\n\nconst dark = {\n bootstrap: css`\n ${shared} ${bootstrap} ${bootstrapDark}\n `,\n material: css`\n ${shared} ${materialDark}\n `,\n fluent: css`\n ${shared} ${fluent} ${fluentDark}\n `,\n indigo: css`\n ${shared} ${indigo} ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
1
+ {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../src/components/chip/themes/themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAG/D,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,cAAc;GAC9B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,aAAa;GAChB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,aAAa;GAC7B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,YAAY;GACf;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\n// Dark Overrides\nimport { styles as bootstrapDark } from './dark/chip.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/chip.fluent.css.js';\nimport { styles as indigoDark } from './dark/chip.indigo.css.js';\nimport { styles as materialDark } from './dark/chip.material.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/chip.bootstrap.css.js';\nimport { styles as fluentLight } from './light/chip.fluent.css.js';\nimport { styles as indigoLight } from './light/chip.indigo.css.js';\nimport { styles as materialLight } from './light/chip.material.css.js';\n// Shared Styles\nimport { styles as bootstrap } from './shared/chip.bootstrap.css.js';\nimport { styles as fluent } from './shared/chip.fluent.css.js';\nimport { styles as indigo } from './shared/chip.indigo.css.js';\nimport { Themes } from '../../../theming/types.js';\n\nconst light = {\n bootstrap: css`\n ${bootstrap} ${bootstrapLight}\n `,\n material: css`\n ${materialLight}\n `,\n fluent: css`\n ${fluent} ${fluentLight}\n `,\n indigo: css`\n ${indigo} ${indigoLight}\n `,\n};\n\nconst dark = {\n bootstrap: css`\n ${bootstrap} ${bootstrapDark}\n `,\n material: css`\n ${materialDark}\n `,\n fluent: css`\n ${fluent} ${fluentDark}\n `,\n indigo: css`\n ${indigo} ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
@@ -3,6 +3,7 @@ export default class IgcComboItemComponent extends LitElement {
3
3
  static readonly tagName: string;
4
4
  static styles: import("lit").CSSResult;
5
5
  static register(): void;
6
+ private _internals;
6
7
  index: number;
7
8
  /**
8
9
  * Determines whether the item is selected.
@@ -19,6 +20,7 @@ export default class IgcComboItemComponent extends LitElement {
19
20
  */
20
21
  hideCheckbox: boolean;
21
22
  protected selectedChange(): void;
23
+ constructor();
22
24
  connectedCallback(): void;
23
25
  private renderCheckbox;
24
26
  protected render(): import("lit-html").TemplateResult<1>;
@@ -13,19 +13,19 @@ import { watch } from '../common/decorators/watch.js';
13
13
  import { registerComponent } from '../common/definitions/register.js';
14
14
  import { all } from '../dropdown/themes/item.js';
15
15
  let IgcComboItemComponent = class IgcComboItemComponent extends LitElement {
16
- constructor() {
17
- super(...arguments);
18
- this.selected = false;
19
- this.active = false;
20
- this.hideCheckbox = false;
21
- }
22
16
  static register() {
23
17
  registerComponent(this, IgcCheckboxComponent);
24
18
  }
25
19
  selectedChange() {
26
- this.selected
27
- ? this.setAttribute('aria-selected', 'true')
28
- : this.removeAttribute('aria-selected');
20
+ this._internals.ariaSelected = `${this.selected}`;
21
+ }
22
+ constructor() {
23
+ super();
24
+ this.selected = false;
25
+ this.active = false;
26
+ this.hideCheckbox = false;
27
+ this._internals = this.attachInternals();
28
+ this._internals.role = 'option';
29
29
  }
30
30
  connectedCallback() {
31
31
  super.connectedCallback();
@@ -34,9 +34,8 @@ let IgcComboItemComponent = class IgcComboItemComponent extends LitElement {
34
34
  renderCheckbox() {
35
35
  return html `<section part="prefix">
36
36
  <igc-checkbox
37
- aria-hidden="true"
37
+ inert
38
38
  ?checked=${this.selected}
39
- tabindex="-1"
40
39
  exportparts="control: checkbox, indicator: checkbox-indicator, checked"
41
40
  ></igc-checkbox>
42
41
  </section>`;
@@ -1 +1 @@
1
- {"version":3,"file":"combo-item.js","sourceRoot":"","sources":["../../../src/components/combo/combo-item.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAIlC,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,UAAU;IAA9C;;QAgBN,aAAQ,GAAG,KAAK,CAAC;QAMjB,WAAM,GAAG,KAAK,CAAC;QAOf,iBAAY,GAAG,KAAK,CAAC;IAiC9B,CAAC;IA1DQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IAChD,CAAC;IA0BS,cAAc;QACtB,IAAI,CAAC,QAAQ;YACX,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAC5C,CAAC;IAEe,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAEO,cAAc;QACpB,OAAO,IAAI,CAAA;;;mBAGI,IAAI,CAAC,QAAQ;;;;eAIjB,CAAC;IACd,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;QACP,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,OAAO;;;;KAIvD,CAAC;IACJ,CAAC;;AA5DsB,6BAAO,GAAW,gBAAgB,AAA3B,CAA4B;AACnC,4BAAM,GAAG,MAAM,AAAT,CAAU;AAOhC;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;oDACT;AAOf;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uDACnB;AAMjB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;qDACrB;AAOf;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;2DAC5C;AAGlB;IADT,KAAK,CAAC,UAAU,CAAC;2DAKjB;AApCkB,qBAAqB;IADzC,MAAM,CAAC,GAAG,CAAC;GACS,qBAAqB,CA8DzC;eA9DoB,qBAAqB","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { styles } from './themes/combo-item.base.css.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport IgcCheckboxComponent from '../checkbox/checkbox.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { all } from '../dropdown/themes/item.js';\n\n/* blazorSuppress */\n@themes(all)\nexport default class IgcComboItemComponent extends LitElement {\n public static readonly tagName: string = 'igc-combo-item';\n public static override styles = styles;\n\n public static register() {\n registerComponent(this, IgcCheckboxComponent);\n }\n\n @property({ attribute: false })\n public index!: number;\n\n /**\n * Determines whether the item is selected.\n * @attr selected\n */\n @property({ type: Boolean, reflect: true })\n public selected = false;\n\n /**\n * Determines whether the item is active.\n */\n @property({ type: Boolean, reflect: true })\n public active = false;\n\n /**\n * Determines whether the item is active.\n * @attr hide-checkbox\n */\n @property({ attribute: 'hide-checkbox', type: Boolean, reflect: false })\n public hideCheckbox = false;\n\n @watch('selected')\n protected selectedChange() {\n this.selected\n ? this.setAttribute('aria-selected', 'true')\n : this.removeAttribute('aria-selected');\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'option');\n }\n\n private renderCheckbox() {\n return html`<section part=\"prefix\">\n <igc-checkbox\n aria-hidden=\"true\"\n ?checked=${this.selected}\n tabindex=\"-1\"\n exportparts=\"control: checkbox, indicator: checkbox-indicator, checked\"\n ></igc-checkbox>\n </section>`;\n }\n\n protected override render() {\n return html`\n ${!this.hideCheckbox ? this.renderCheckbox() : nothing}\n <section id=\"content\" part=\"content\">\n <slot></slot>\n </section>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-combo-item': IgcComboItemComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"combo-item.js","sourceRoot":"","sources":["../../../src/components/combo/combo-item.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAIlC,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,UAAU;IAIpD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IAChD,CAAC;IA4BS,cAAc;QACtB,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpD,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QArBH,aAAQ,GAAG,KAAK,CAAC;QAMjB,WAAM,GAAG,KAAK,CAAC;QAOf,iBAAY,GAAG,KAAK,CAAC;QAU1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC;IAClC,CAAC;IAEe,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAEO,cAAc;QACpB,OAAO,IAAI,CAAA;;;mBAGI,IAAI,CAAC,QAAQ;;;eAGjB,CAAC;IACd,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;QACP,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,OAAO;;;;KAIvD,CAAC;IACJ,CAAC;;AAlEsB,6BAAO,GAAW,gBAAgB,AAA3B,CAA4B;AACnC,4BAAM,GAAG,MAAM,AAAT,CAAU;AAShC;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;oDACT;AAOf;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uDACnB;AAMjB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;qDACrB;AAOf;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;2DAC5C;AAGlB;IADT,KAAK,CAAC,UAAU,CAAC;2DAGjB;AApCkB,qBAAqB;IADzC,MAAM,CAAC,GAAG,CAAC;GACS,qBAAqB,CAoEzC;eApEoB,qBAAqB","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { styles } from './themes/combo-item.base.css.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport IgcCheckboxComponent from '../checkbox/checkbox.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { all } from '../dropdown/themes/item.js';\n\n/* blazorSuppress */\n@themes(all)\nexport default class IgcComboItemComponent extends LitElement {\n public static readonly tagName: string = 'igc-combo-item';\n public static override styles = styles;\n\n public static register() {\n registerComponent(this, IgcCheckboxComponent);\n }\n\n private _internals: ElementInternals;\n\n @property({ attribute: false })\n public index!: number;\n\n /**\n * Determines whether the item is selected.\n * @attr selected\n */\n @property({ type: Boolean, reflect: true })\n public selected = false;\n\n /**\n * Determines whether the item is active.\n */\n @property({ type: Boolean, reflect: true })\n public active = false;\n\n /**\n * Determines whether the item is active.\n * @attr hide-checkbox\n */\n @property({ attribute: 'hide-checkbox', type: Boolean, reflect: false })\n public hideCheckbox = false;\n\n @watch('selected')\n protected selectedChange() {\n this._internals.ariaSelected = `${this.selected}`;\n }\n\n constructor() {\n super();\n\n this._internals = this.attachInternals();\n this._internals.role = 'option';\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'option');\n }\n\n private renderCheckbox() {\n return html`<section part=\"prefix\">\n <igc-checkbox\n inert\n ?checked=${this.selected}\n exportparts=\"control: checkbox, indicator: checkbox-indicator, checked\"\n ></igc-checkbox>\n </section>`;\n }\n\n protected override render() {\n return html`\n ${!this.hideCheckbox ? this.renderCheckbox() : nothing}\n <section id=\"content\" part=\"content\">\n <slot></slot>\n </section>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-combo-item': IgcComboItemComponent;\n }\n}\n"]}
@@ -3,7 +3,6 @@ export default class IgcComboListComponent extends LitVirtualizer {
3
3
  static readonly tagName = "igc-combo-list";
4
4
  scroller: boolean;
5
5
  static register(): void;
6
- connectedCallback(): Promise<void>;
7
6
  }
8
7
  declare global {
9
8
  interface HTMLElementTagNameMap {
@@ -8,12 +8,6 @@ class IgcComboListComponent extends LitVirtualizer {
8
8
  static register() {
9
9
  registerComponent(this);
10
10
  }
11
- async connectedCallback() {
12
- await super.layoutComplete;
13
- super.connectedCallback();
14
- this.setAttribute('tabindex', '0');
15
- this.setAttribute('role', 'listbox');
16
- }
17
11
  }
18
12
  IgcComboListComponent.tagName = 'igc-combo-list';
19
13
  export default IgcComboListComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"combo-list.js","sourceRoot":"","sources":["../../../src/components/combo/combo-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAItE,MAAqB,qBAAsB,SAAQ,cAAc;IAAjE;;QAEkB,aAAQ,GAAG,IAAI,CAAC;IAalC,CAAC;IAXQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEe,KAAK,CAAC,iBAAiB;QACrC,MAAM,KAAK,CAAC,cAAc,CAAC;QAE3B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;;AAbsB,6BAAO,GAAG,gBAAgB,AAAnB,CAAoB;eAD/B,qBAAqB","sourcesContent":["import { LitVirtualizer } from '@lit-labs/virtualizer/LitVirtualizer.js';\n\nimport { registerComponent } from '../common/definitions/register.js';\n\n/* blazorSuppress */\n/* blazorAlternateBaseType: BaseElement */\nexport default class IgcComboListComponent extends LitVirtualizer {\n public static readonly tagName = 'igc-combo-list';\n public override scroller = true;\n\n public static register() {\n registerComponent(this);\n }\n\n public override async connectedCallback() {\n await super.layoutComplete;\n\n super.connectedCallback();\n this.setAttribute('tabindex', '0');\n this.setAttribute('role', 'listbox');\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-combo-list': IgcComboListComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"combo-list.js","sourceRoot":"","sources":["../../../src/components/combo/combo-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAItE,MAAqB,qBAAsB,SAAQ,cAAc;IAAjE;;QAEkB,aAAQ,GAAG,IAAI,CAAC;IAKlC,CAAC;IAHQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;;AALsB,6BAAO,GAAG,gBAAgB,AAAnB,CAAoB;eAD/B,qBAAqB","sourcesContent":["import { LitVirtualizer } from '@lit-labs/virtualizer/LitVirtualizer.js';\n\nimport { registerComponent } from '../common/definitions/register.js';\n\n/* blazorSuppress */\n/* blazorAlternateBaseType: BaseElement */\nexport default class IgcComboListComponent extends LitVirtualizer {\n public static readonly tagName = 'igc-combo-list';\n public override scroller = true;\n\n public static register() {\n registerComponent(this);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-combo-list': IgcComboListComponent;\n }\n}\n"]}
@@ -7,8 +7,6 @@ import { themeSymbol } from '../../theming/theming-decorator.js';
7
7
  import { Constructor } from '../common/mixins/constructor.js';
8
8
  import type { Validator } from '../common/validators.js';
9
9
  import IgcInputComponent from '../input/input.js';
10
- import { IgcToggleController } from '../toggle/toggle.controller.js';
11
- import { IgcToggleComponent } from '../toggle/types.js';
12
10
  declare const IgcComboComponent_base: Constructor<import("../common/mixins/form-associated-required.js").FormRequiredInterface & import("../common/mixins/form-associated.js").FormAssociatedElementInterface> & import("../common/mixins/constructor.js").AbstractConstructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcComboEventMap>> & Constructor<LitElement>;
13
11
  /**
14
12
  * 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.
@@ -58,18 +56,18 @@ declare const IgcComboComponent_base: Constructor<import("../common/mixins/form-
58
56
  * @csspart footer - The container holding the footer content.
59
57
  * @csspart empty - The container holding the empty content.
60
58
  */
61
- export default class IgcComboComponent<T extends object = any> extends IgcComboComponent_base implements Partial<IgcToggleComponent> {
59
+ export default class IgcComboComponent<T extends object = any> extends IgcComboComponent_base {
62
60
  static readonly tagName = "igc-combo";
63
61
  static styles: import("lit").CSSResult;
64
62
  static register(): void;
65
63
  private _value;
64
+ private _activeDescendant;
66
65
  private _displayValue;
67
66
  private _filteringOptions;
68
67
  protected validators: Validator<this>[];
69
68
  protected navigationController: NavigationController<T>;
70
69
  protected selectionController: SelectionController<T>;
71
70
  protected dataController: DataController<T>;
72
- protected toggleController: IgcToggleController;
73
71
  private readonly [themeSymbol];
74
72
  protected helperText: Array<HTMLElement>;
75
73
  protected inputSuffix: Array<HTMLElement>;
@@ -188,8 +186,8 @@ export default class IgcComboComponent<T extends object = any> extends IgcComboC
188
186
  protected updateFilterKey(): void;
189
187
  protected pipeline(): Promise<void>;
190
188
  protected toggleDirectiveChange(): void;
189
+ private _rootClickController;
191
190
  constructor();
192
- protected getUpdateComplete(): Promise<boolean>;
193
191
  protected resetSearchTerm(): void;
194
192
  protected resetState(): void;
195
193
  protected requiredChange(): Promise<void>;
@@ -310,6 +308,7 @@ export default class IgcComboComponent<T extends object = any> extends IgcComboC
310
308
  protected toggleCaseSensitivity(): void;
311
309
  protected get hasPrefixes(): boolean;
312
310
  protected get hasSuffixes(): boolean;
311
+ private _stopPropagation;
313
312
  private renderToggleIcon;
314
313
  private renderClearIcon;
315
314
  private renderMainInput;
@@ -8,7 +8,6 @@ import { LitElement, html } from 'lit';
8
8
  import { property, query, queryAssignedElements, state, } from 'lit/decorators.js';
9
9
  import { ifDefined } from 'lit/directives/if-defined.js';
10
10
  import { live } from 'lit/directives/live.js';
11
- import { styleMap } from 'lit/directives/style-map.js';
12
11
  import IgcComboHeaderComponent from './combo-header.js';
13
12
  import IgcComboItemComponent from './combo-item.js';
14
13
  import IgcComboListComponent from './combo-list.js';
@@ -18,6 +17,7 @@ import { SelectionController } from './controllers/selection.js';
18
17
  import { styles } from './themes/combo.base.css.js';
19
18
  import { all } from './themes/themes.js';
20
19
  import { themeSymbol, themes } from '../../theming/theming-decorator.js';
20
+ import { addRootClickHandler } from '../common/controllers/root-click.js';
21
21
  import { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';
22
22
  import { blazorIndirectRender } from '../common/decorators/blazorIndirectRender.js';
23
23
  import { watch } from '../common/decorators/watch.js';
@@ -28,10 +28,10 @@ import { FormAssociatedRequiredMixin } from '../common/mixins/form-associated-re
28
28
  import { partNameMap } from '../common/util.js';
29
29
  import IgcIconComponent from '../icon/icon.js';
30
30
  import IgcInputComponent from '../input/input.js';
31
- import { IgcToggleController } from '../toggle/toggle.controller.js';
31
+ import IgcPopoverComponent from '../popover/popover.js';
32
32
  let IgcComboComponent = class IgcComboComponent extends FormAssociatedRequiredMixin(EventEmitterMixin(LitElement)) {
33
33
  static register() {
34
- registerComponent(this, IgcIconComponent, IgcComboListComponent, IgcComboItemComponent, IgcComboHeaderComponent, IgcInputComponent);
34
+ registerComponent(this, IgcIconComponent, IgcComboListComponent, IgcComboItemComponent, IgcComboHeaderComponent, IgcInputComponent, IgcPopoverComponent);
35
35
  }
36
36
  get filteringOptions() {
37
37
  return this._filteringOptions;
@@ -61,10 +61,7 @@ let IgcComboComponent = class IgcComboComponent extends FormAssociatedRequiredMi
61
61
  this.dataState = await this.dataController.apply([...this.data]);
62
62
  }
63
63
  toggleDirectiveChange() {
64
- if (!this.target)
65
- return;
66
- this.toggleController.target = this.target;
67
- this.target.setAttribute('aria-expanded', this.open ? 'true' : 'false');
64
+ this._rootClickController.update();
68
65
  }
69
66
  constructor() {
70
67
  super();
@@ -109,6 +106,15 @@ let IgcComboComponent = class IgcComboComponent extends FormAssociatedRequiredMi
109
106
  this.positionStrategy = 'fixed';
110
107
  this.sameWidth = true;
111
108
  this.dataState = [];
109
+ this._rootClickController = addRootClickHandler(this, {
110
+ hideCallback: async () => {
111
+ if (!this.handleClosing())
112
+ return;
113
+ this.open = false;
114
+ await this.updateComplete;
115
+ this.emitEvent('igcClosed');
116
+ },
117
+ });
112
118
  this.itemRenderer = (item, index) => {
113
119
  const record = item;
114
120
  const dataItem = this.data.at(record.dataIndex);
@@ -117,17 +123,22 @@ let IgcComboComponent = class IgcComboComponent extends FormAssociatedRequiredMi
117
123
  const headerTemplate = html `<igc-combo-header part="group-header"
118
124
  >${this.groupHeaderTemplate({ item: record.value })}</igc-combo-header
119
125
  >`;
120
- const itemParts = partNameMap({
121
- item: true,
122
- selected,
123
- active,
124
- });
126
+ const itemPosition = index + 1;
127
+ const itemId = this.id
128
+ ? `${this.id}-item-${itemPosition}`
129
+ : `item-${itemPosition}`;
130
+ if (active) {
131
+ this._activeDescendant = itemId;
132
+ }
125
133
  const itemTemplate = html `<igc-combo-item
126
- part="${itemParts}"
134
+ id=${itemId}
135
+ part=${partNameMap({ item: true, selected, active })}
136
+ aria-setsize=${this.dataState.length}
137
+ aria-posinset=${itemPosition}
127
138
  exportparts="checkbox, checkbox-indicator, checked"
128
139
  @click=${this.itemClickHandler.bind(this)}
129
140
  .index=${index}
130
- .active=${active}
141
+ ?active=${active}
131
142
  ?selected=${selected}
132
143
  ?hide-checkbox=${this.singleSelect}
133
144
  >${this.itemTemplate({ item: record.value })}</igc-combo-item
@@ -136,16 +147,6 @@ let IgcComboComponent = class IgcComboComponent extends FormAssociatedRequiredMi
136
147
  ? headerTemplate
137
148
  : itemTemplate}`;
138
149
  };
139
- this.toggleController = new IgcToggleController(this, {
140
- target: this.target,
141
- closeCallback: async () => {
142
- if (!this.handleClosing())
143
- return;
144
- this.open = false;
145
- await this.updateComplete;
146
- this.emitEvent('igcClosed');
147
- },
148
- });
149
150
  this.addEventListener('focus', () => {
150
151
  this.emitEvent('igcFocus');
151
152
  });
@@ -160,11 +161,6 @@ let IgcComboComponent = class IgcComboComponent extends FormAssociatedRequiredMi
160
161
  });
161
162
  this.addEventListener('keydown', this.navigationController.navigateHost.bind(this.navigationController));
162
163
  }
163
- async getUpdateComplete() {
164
- const result = await super.getUpdateComplete();
165
- await this.toggleController.rendered;
166
- return result;
167
- }
168
164
  resetSearchTerm() {
169
165
  this.dataController.searchTerm = '';
170
166
  }
@@ -380,6 +376,9 @@ let IgcComboComponent = class IgcComboComponent extends FormAssociatedRequiredMi
380
376
  get hasSuffixes() {
381
377
  return this.inputSuffix.length > 0;
382
378
  }
379
+ _stopPropagation(e) {
380
+ e.stopPropagation();
381
+ }
383
382
  renderToggleIcon() {
384
383
  const openIcon = this[themeSymbol] === 'material' ? 'keyboard_arrow_up' : 'arrow_drop_up';
385
384
  const closeIcon = this[themeSymbol] === 'material'
@@ -424,8 +423,11 @@ let IgcComboComponent = class IgcComboComponent extends FormAssociatedRequiredMi
424
423
  renderMainInput() {
425
424
  return html `<igc-input
426
425
  id="target"
426
+ slot="anchor"
427
427
  role="combobox"
428
428
  aria-controls="dropdown"
429
+ aria-owns="dropdown"
430
+ aria-expanded=${this.open ? 'true' : 'false'}
429
431
  aria-describedby="helper-text"
430
432
  aria-disabled=${this.disabled}
431
433
  exportparts="container: input, input: native-input, label, prefix, suffix"
@@ -435,14 +437,14 @@ let IgcComboComponent = class IgcComboComponent extends FormAssociatedRequiredMi
435
437
  }}
436
438
  placeholder=${ifDefined(this.placeholder)}
437
439
  label=${ifDefined(this.label)}
438
- @igcChange=${(e) => e.stopPropagation()}
440
+ @igcChange=${this._stopPropagation}
439
441
  @igcFocus=${(e) => {
440
442
  e.stopPropagation();
441
443
  requestAnimationFrame(() => {
442
444
  this.target.select();
443
445
  });
444
446
  }}
445
- @igcBlur=${(e) => e.stopPropagation()}
447
+ @igcBlur=${this._stopPropagation}
446
448
  @igcInput=${this.handleMainInput}
447
449
  @keydown=${this.handleMainInputKeydown}
448
450
  .value=${this._displayValue}
@@ -472,8 +474,8 @@ let IgcComboComponent = class IgcComboComponent extends FormAssociatedRequiredMi
472
474
  part="search-input"
473
475
  placeholder=${this.placeholderSearch}
474
476
  exportparts="input: search-input"
475
- @igcFocus=${(e) => e.stopPropagation()}
476
- @igcBlur=${(e) => e.stopPropagation()}
477
+ @igcFocus=${this._stopPropagation}
478
+ @igcBlur=${this._stopPropagation}
477
479
  @igcInput=${this.handleSearchInput}
478
480
  @keydown=${this.handleSearchInputKeydown}
479
481
  >
@@ -496,23 +498,27 @@ let IgcComboComponent = class IgcComboComponent extends FormAssociatedRequiredMi
496
498
  </div>`;
497
499
  }
498
500
  renderList() {
501
+ const hasItems = this.dataState.length > 0;
499
502
  return html `<div
503
+ .inert=${!this.open}
500
504
  @keydown=${this.listKeydownHandler}
501
505
  part="list-wrapper"
502
- style=${styleMap({ position: this.positionStrategy })}
503
- ${this.toggleController.toggleDirective}
504
506
  >
505
507
  ${this.renderSearchInput()}
506
508
  <div part="header">
507
509
  <slot name="header"></slot>
508
510
  </div>
509
511
  <igc-combo-list
512
+ aria-multiselectable=${!this.singleSelect}
510
513
  id="dropdown"
511
514
  part="list"
512
- aria-label="${this.label}"
515
+ role="listbox"
516
+ tabindex="0"
517
+ aria-labelledby="target"
518
+ aria-activedescendant=${ifDefined(this._activeDescendant)}
513
519
  .items=${this.dataState}
514
520
  .renderItem=${this.itemRenderer}
515
- ?hidden=${this.dataState.length === 0}
521
+ ?hidden=${!hasItems}
516
522
  >
517
523
  </igc-combo-list>
518
524
  ${this.renderEmptyTemplate()}
@@ -532,12 +538,18 @@ let IgcComboComponent = class IgcComboComponent extends FormAssociatedRequiredMi
532
538
  }
533
539
  render() {
534
540
  return html `
535
- ${this.renderMainInput()}${this.renderList()}${this.renderHelperText()}
541
+ <igc-popover ?open=${this.open} flip shift same-width strategy="fixed">
542
+ ${this.renderMainInput()} ${this.renderList()}
543
+ </igc-popover>
544
+ ${this.renderHelperText()}
536
545
  `;
537
546
  }
538
547
  };
539
548
  IgcComboComponent.tagName = 'igc-combo';
540
549
  IgcComboComponent.styles = styles;
550
+ __decorate([
551
+ state()
552
+ ], IgcComboComponent.prototype, "_activeDescendant", void 0);
541
553
  __decorate([
542
554
  state()
543
555
  ], IgcComboComponent.prototype, "_displayValue", void 0);
@@ -650,7 +662,7 @@ __decorate([
650
662
  ], IgcComboComponent.prototype, "value", null);
651
663
  IgcComboComponent = __decorate([
652
664
  themes(all),
653
- blazorAdditionalDependencies('IgcIconComponent, IgcInputComponent'),
665
+ blazorAdditionalDependencies('IgcIconComponent, IgcInputComponent, IgcPopoverComponent'),
654
666
  blazorIndirectRender
655
667
  ], IgcComboComponent);
656
668
  export default IgcComboComponent;