igniteui-webcomponents 3.3.0-beta.0 → 3.4.0-beta.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 (265) hide show
  1. package/CHANGELOG.md +45 -20
  2. package/README.md +7 -2
  3. package/components/accordion/accordion.d.ts +36 -0
  4. package/components/accordion/accordion.js +129 -0
  5. package/components/accordion/accordion.js.map +1 -0
  6. package/components/accordion/themes/accordion.base.css.d.ts +1 -0
  7. package/components/accordion/themes/accordion.base.css.js +3 -0
  8. package/components/accordion/themes/accordion.base.css.js.map +1 -0
  9. package/components/button/button-base.js +7 -2
  10. package/components/button/button-base.js.map +1 -1
  11. package/components/button/icon-button.d.ts +0 -1
  12. package/components/button/icon-button.js +3 -1
  13. package/components/button/icon-button.js.map +1 -1
  14. package/components/button/themes/button/light/button.base.css.js +1 -1
  15. package/components/button/themes/button/light/button.base.css.js.map +1 -1
  16. package/components/button/themes/button/light/button.material.css.js +1 -1
  17. package/components/button/themes/button/light/button.material.css.js.map +1 -1
  18. package/components/calendar/calendar.d.ts +0 -4
  19. package/components/calendar/calendar.js +6 -4
  20. package/components/calendar/calendar.js.map +1 -1
  21. package/components/calendar/common/calendar-base.js +3 -1
  22. package/components/calendar/common/calendar-base.js.map +1 -1
  23. package/components/calendar/common/calendar.model.js.map +1 -1
  24. package/components/calendar/days-view/days-view.d.ts +3 -0
  25. package/components/calendar/days-view/days-view.js +19 -7
  26. package/components/calendar/days-view/days-view.js.map +1 -1
  27. package/components/calendar/months-view/months-view.d.ts +1 -0
  28. package/components/calendar/months-view/months-view.js +2 -2
  29. package/components/calendar/months-view/months-view.js.map +1 -1
  30. package/components/calendar/years-view/years-view.d.ts +1 -0
  31. package/components/calendar/years-view/years-view.js +2 -2
  32. package/components/calendar/years-view/years-view.js.map +1 -1
  33. package/components/card/card.js +6 -0
  34. package/components/card/card.js.map +1 -1
  35. package/components/checkbox/checkbox-base.js +7 -2
  36. package/components/checkbox/checkbox-base.js.map +1 -1
  37. package/components/checkbox/checkbox.d.ts +1 -0
  38. package/components/checkbox/checkbox.js +6 -5
  39. package/components/checkbox/checkbox.js.map +1 -1
  40. package/components/checkbox/switch.d.ts +1 -0
  41. package/components/checkbox/switch.js +6 -5
  42. package/components/checkbox/switch.js.map +1 -1
  43. package/components/chip/chip.d.ts +1 -1
  44. package/components/chip/chip.js +12 -1
  45. package/components/chip/chip.js.map +1 -1
  46. package/components/common/decorators/blazorAdditionalDependencies.d.ts +5 -0
  47. package/components/common/decorators/blazorAdditionalDependencies.js +6 -0
  48. package/components/common/decorators/blazorAdditionalDependencies.js.map +1 -0
  49. package/components/common/decorators/blazorDeepImport.d.ts +4 -0
  50. package/components/common/decorators/blazorDeepImport.js +2 -0
  51. package/components/common/decorators/blazorDeepImport.js.map +1 -0
  52. package/components/common/decorators/index.d.ts +1 -0
  53. package/components/common/decorators/index.js +1 -0
  54. package/components/common/decorators/index.js.map +1 -1
  55. package/components/common/definitions/defineAllComponents.js +2 -0
  56. package/components/common/definitions/defineAllComponents.js.map +1 -1
  57. package/components/common/i18n/calendar.resources.js.map +1 -1
  58. package/components/common/types.d.ts +1 -0
  59. package/components/common/types.js +2 -0
  60. package/components/common/types.js.map +1 -0
  61. package/components/common/util.d.ts +2 -1
  62. package/components/common/util.js +5 -2
  63. package/components/common/util.js.map +1 -1
  64. package/components/date-time-input/date-time-input.d.ts +2 -0
  65. package/components/date-time-input/date-time-input.js +12 -2
  66. package/components/date-time-input/date-time-input.js.map +1 -1
  67. package/components/dialog/dialog.d.ts +69 -0
  68. package/components/dialog/dialog.js +168 -0
  69. package/components/dialog/dialog.js.map +1 -0
  70. package/components/dialog/themes/light/dialog.base.css.d.ts +1 -0
  71. package/components/dialog/themes/light/dialog.base.css.js +3 -0
  72. package/components/dialog/themes/light/dialog.base.css.js.map +1 -0
  73. package/components/dialog/themes/light/dialog.bootstrap.css.d.ts +1 -0
  74. package/components/dialog/themes/light/dialog.bootstrap.css.js +3 -0
  75. package/components/dialog/themes/light/dialog.bootstrap.css.js.map +1 -0
  76. package/components/dialog/themes/light/dialog.fluent.css.d.ts +1 -0
  77. package/components/dialog/themes/light/dialog.fluent.css.js +3 -0
  78. package/components/dialog/themes/light/dialog.fluent.css.js.map +1 -0
  79. package/components/dialog/themes/light/dialog.indigo.css.d.ts +1 -0
  80. package/components/dialog/themes/light/dialog.indigo.css.js +3 -0
  81. package/components/dialog/themes/light/dialog.indigo.css.js.map +1 -0
  82. package/components/dialog/themes/light/dialog.material.css.d.ts +1 -0
  83. package/components/dialog/themes/light/dialog.material.css.js +3 -0
  84. package/components/dialog/themes/light/dialog.material.css.js.map +1 -0
  85. package/components/dropdown/dropdown-group.d.ts +4 -3
  86. package/components/dropdown/dropdown-group.js +8 -11
  87. package/components/dropdown/dropdown-group.js.map +1 -1
  88. package/components/dropdown/dropdown-header.d.ts +1 -1
  89. package/components/dropdown/dropdown-header.js.map +1 -1
  90. package/components/dropdown/dropdown-item.d.ts +1 -1
  91. package/components/dropdown/dropdown-item.js.map +1 -1
  92. package/components/dropdown/dropdown.d.ts +34 -28
  93. package/components/dropdown/dropdown.js +76 -87
  94. package/components/dropdown/dropdown.js.map +1 -1
  95. package/components/dropdown/themes/light/dropdown-group.base.css.js +1 -1
  96. package/components/dropdown/themes/light/dropdown-group.base.css.js.map +1 -1
  97. package/components/dropdown/themes/light/dropdown-group.fluent.css.js +1 -1
  98. package/components/dropdown/themes/light/dropdown-group.fluent.css.js.map +1 -1
  99. package/components/dropdown/themes/light/dropdown-item.base.css.js +1 -1
  100. package/components/dropdown/themes/light/dropdown-item.base.css.js.map +1 -1
  101. package/components/dropdown/themes/light/dropdown.base.css.js +1 -1
  102. package/components/dropdown/themes/light/dropdown.base.css.js.map +1 -1
  103. package/components/dropdown/themes/light/dropdown.fluent.css.js +1 -1
  104. package/components/dropdown/themes/light/dropdown.fluent.css.js.map +1 -1
  105. package/components/expansion-panel/expansion-panel.d.ts +1 -1
  106. package/components/expansion-panel/expansion-panel.js +11 -6
  107. package/components/expansion-panel/expansion-panel.js.map +1 -1
  108. package/components/expansion-panel/themes/light/expansion-panel.base.css.js +1 -1
  109. package/components/expansion-panel/themes/light/expansion-panel.base.css.js.map +1 -1
  110. package/components/form/form.js +4 -3
  111. package/components/form/form.js.map +1 -1
  112. package/components/icon/icon.js +6 -8
  113. package/components/icon/icon.js.map +1 -1
  114. package/components/icon/icon.registry.js +2 -0
  115. package/components/icon/icon.registry.js.map +1 -1
  116. package/components/input/input-base.d.ts +2 -1
  117. package/components/input/input-base.js +9 -6
  118. package/components/input/input-base.js.map +1 -1
  119. package/components/input/input.d.ts +1 -0
  120. package/components/input/input.js +5 -0
  121. package/components/input/input.js.map +1 -1
  122. package/components/input/themes/light/input.base.css.js +1 -1
  123. package/components/input/themes/light/input.base.css.js.map +1 -1
  124. package/components/input/themes/light/input.bootstrap.css.js +1 -1
  125. package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
  126. package/components/input/themes/light/input.fluent.css.js +1 -1
  127. package/components/input/themes/light/input.fluent.css.js.map +1 -1
  128. package/components/input/themes/light/input.indigo.css.js +1 -1
  129. package/components/input/themes/light/input.indigo.css.js.map +1 -1
  130. package/components/list/list.js +4 -0
  131. package/components/list/list.js.map +1 -1
  132. package/components/mask-input/mask-input-base.js +7 -2
  133. package/components/mask-input/mask-input-base.js.map +1 -1
  134. package/components/nav-drawer/nav-drawer.js +4 -0
  135. package/components/nav-drawer/nav-drawer.js.map +1 -1
  136. package/components/progress/circular-progress.d.ts +1 -1
  137. package/components/progress/circular-progress.js +3 -0
  138. package/components/progress/circular-progress.js.map +1 -1
  139. package/components/progress/linear-progress.js +1 -0
  140. package/components/progress/linear-progress.js.map +1 -1
  141. package/components/progress/themes/circular/circular.progress.base.css.js +1 -1
  142. package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
  143. package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
  144. package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
  145. package/components/progress/themes/linear/linear.progress.bootstrap.css.js +1 -1
  146. package/components/progress/themes/linear/linear.progress.bootstrap.css.js.map +1 -1
  147. package/components/progress/themes/linear/linear.progress.fluent.css.js +1 -1
  148. package/components/progress/themes/linear/linear.progress.fluent.css.js.map +1 -1
  149. package/components/progress/themes/linear/linear.progress.indigo.css.js +1 -1
  150. package/components/progress/themes/linear/linear.progress.indigo.css.js.map +1 -1
  151. package/components/radio/radio.d.ts +1 -0
  152. package/components/radio/radio.js +6 -5
  153. package/components/radio/radio.js.map +1 -1
  154. package/components/radio-group/radio-group.d.ts +0 -1
  155. package/components/radio-group/radio-group.js +7 -6
  156. package/components/radio-group/radio-group.js.map +1 -1
  157. package/components/rating/rating-symbol.base.css.d.ts +1 -0
  158. package/components/rating/rating-symbol.base.css.js +3 -0
  159. package/components/rating/rating-symbol.base.css.js.map +1 -0
  160. package/components/rating/rating-symbol.d.ts +8 -2
  161. package/components/rating/rating-symbol.js +12 -3
  162. package/components/rating/rating-symbol.js.map +1 -1
  163. package/components/rating/rating.base.css.js +1 -1
  164. package/components/rating/rating.base.css.js.map +1 -1
  165. package/components/rating/rating.bootstrap.css.js +1 -1
  166. package/components/rating/rating.bootstrap.css.js.map +1 -1
  167. package/components/rating/rating.d.ts +38 -21
  168. package/components/rating/rating.fluent.css.js +1 -1
  169. package/components/rating/rating.fluent.css.js.map +1 -1
  170. package/components/rating/rating.indigo.css.js +1 -1
  171. package/components/rating/rating.indigo.css.js.map +1 -1
  172. package/components/rating/rating.js +116 -57
  173. package/components/rating/rating.js.map +1 -1
  174. package/components/select/select-group.d.ts +31 -0
  175. package/components/select/select-group.js +69 -0
  176. package/components/select/select-group.js.map +1 -0
  177. package/components/select/select-header.d.ts +15 -0
  178. package/components/select/select-header.js +5 -0
  179. package/components/select/select-header.js.map +1 -0
  180. package/components/select/select-item.d.ts +30 -0
  181. package/components/select/select-item.js +39 -0
  182. package/components/select/select-item.js.map +1 -0
  183. package/components/select/select.d.ts +112 -0
  184. package/components/select/select.js +343 -0
  185. package/components/select/select.js.map +1 -0
  186. package/components/select/themes/dark/select.bootstrap.css.d.ts +1 -0
  187. package/components/select/themes/dark/select.bootstrap.css.js +3 -0
  188. package/components/select/themes/dark/select.bootstrap.css.js.map +1 -0
  189. package/components/select/themes/dark/select.fluent.css.d.ts +1 -0
  190. package/components/select/themes/dark/select.fluent.css.js +3 -0
  191. package/components/select/themes/dark/select.fluent.css.js.map +1 -0
  192. package/components/select/themes/dark/select.indigo.css.d.ts +1 -0
  193. package/components/select/themes/dark/select.indigo.css.js +3 -0
  194. package/components/select/themes/dark/select.indigo.css.js.map +1 -0
  195. package/components/select/themes/dark/select.material.css.d.ts +1 -0
  196. package/components/select/themes/dark/select.material.css.js +3 -0
  197. package/components/select/themes/dark/select.material.css.js.map +1 -0
  198. package/components/select/themes/light/select.base.css.d.ts +1 -0
  199. package/components/select/themes/light/select.base.css.js +3 -0
  200. package/components/select/themes/light/select.base.css.js.map +1 -0
  201. package/components/select/themes/light/select.bootstrap.css.d.ts +1 -0
  202. package/components/select/themes/light/select.bootstrap.css.js +3 -0
  203. package/components/select/themes/light/select.bootstrap.css.js.map +1 -0
  204. package/components/select/themes/light/select.fluent.css.d.ts +1 -0
  205. package/components/select/themes/light/select.fluent.css.js +3 -0
  206. package/components/select/themes/light/select.fluent.css.js.map +1 -0
  207. package/components/select/themes/light/select.indigo.css.d.ts +1 -0
  208. package/components/select/themes/light/select.indigo.css.js +3 -0
  209. package/components/select/themes/light/select.indigo.css.js.map +1 -0
  210. package/components/select/themes/light/select.material.css.d.ts +1 -0
  211. package/components/select/themes/light/select.material.css.js +3 -0
  212. package/components/select/themes/light/select.material.css.js.map +1 -0
  213. package/components/slider/range-slider.js.map +1 -1
  214. package/components/slider/slider-base.d.ts +0 -1
  215. package/components/slider/slider-base.js +12 -9
  216. package/components/slider/slider-base.js.map +1 -1
  217. package/components/slider/themes/light/slider.base.css.js +1 -1
  218. package/components/slider/themes/light/slider.base.css.js.map +1 -1
  219. package/components/slider/themes/light/slider.bootstrap.css.js +1 -1
  220. package/components/slider/themes/light/slider.bootstrap.css.js.map +1 -1
  221. package/components/slider/themes/light/slider.fluent.css.js +1 -1
  222. package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
  223. package/components/slider/themes/light/slider.indigo.css.js +1 -1
  224. package/components/slider/themes/light/slider.indigo.css.js.map +1 -1
  225. package/components/slider/themes/light/slider.material.css.js +1 -1
  226. package/components/slider/themes/light/slider.material.css.js.map +1 -1
  227. package/components/snackbar/snackbar.js +3 -0
  228. package/components/snackbar/snackbar.js.map +1 -1
  229. package/components/tabs/tab-panel.js +2 -3
  230. package/components/tabs/tab-panel.js.map +1 -1
  231. package/components/tabs/tab.js +1 -1
  232. package/components/tabs/tab.js.map +1 -1
  233. package/components/tabs/tabs.d.ts +2 -4
  234. package/components/tabs/tabs.js +17 -11
  235. package/components/tabs/tabs.js.map +1 -1
  236. package/components/tabs/themes/light/tab.base.css.js +1 -1
  237. package/components/tabs/themes/light/tab.base.css.js.map +1 -1
  238. package/components/toast/toast.d.ts +1 -0
  239. package/components/toast/toast.js +9 -0
  240. package/components/toast/toast.js.map +1 -1
  241. package/components/toggle/toggle.controller.d.ts +24 -4
  242. package/components/toggle/toggle.controller.js +36 -30
  243. package/components/toggle/toggle.controller.js.map +1 -1
  244. package/components/toggle/toggle.directive.d.ts +1 -1
  245. package/components/toggle/toggle.directive.js +1 -0
  246. package/components/toggle/toggle.directive.js.map +1 -1
  247. package/components/tree/themes/light/tree.base.css.js +1 -1
  248. package/components/tree/themes/light/tree.base.css.js.map +1 -1
  249. package/components/tree/tree-item.d.ts +0 -1
  250. package/components/tree/tree-item.js +8 -1
  251. package/components/tree/tree-item.js.map +1 -1
  252. package/components/tree/tree.common.js.map +1 -1
  253. package/components/tree/tree.d.ts +2 -2
  254. package/components/tree/tree.js +22 -2
  255. package/components/tree/tree.js.map +1 -1
  256. package/custom-elements.json +738 -42
  257. package/index.d.ts +12 -12
  258. package/index.js +9 -11
  259. package/index.js.map +1 -1
  260. package/package.json +10 -8
  261. package/themes/dark/bootstrap.css +1 -1
  262. package/themes/dark/fluent.css +1 -1
  263. package/themes/dark/indigo.css +1 -1
  264. package/themes/dark/material.css +1 -1
  265. package/vscode-html-custom-data.json +305 -41
@@ -5,27 +5,37 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { html, LitElement } from 'lit';
8
- import { property, query, queryAssignedElements } from 'lit/decorators.js';
8
+ import { property, query, queryAssignedElements, state, } from 'lit/decorators.js';
9
+ import { styleMap } from 'lit/directives/style-map.js';
10
+ import { themes } from '../../theming/theming-decorator.js';
11
+ import { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';
12
+ import { blazorSuppress } from '../common/decorators/blazorSuppress.js';
13
+ import { watch } from '../common/decorators/watch.js';
9
14
  import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
15
+ import { SizableMixin } from '../common/mixins/sizable.js';
16
+ import { IgcToggleController } from '../toggle/toggle.controller.js';
10
17
  import { styles } from './themes/light/dropdown.base.css.js';
11
18
  import { styles as bootstrap } from './themes/light/dropdown.bootstrap.css.js';
12
19
  import { styles as fluent } from './themes/light/dropdown.fluent.css.js';
13
20
  import { styles as indigo } from './themes/light/dropdown.indigo.css.js';
21
+ import { defineComponents } from '../common/definitions/defineComponents.js';
22
+ import IgcDropdownGroupComponent from './dropdown-group.js';
23
+ import IgcDropdownHeaderComponent from './dropdown-header.js';
14
24
  import IgcDropdownItemComponent from './dropdown-item.js';
15
- import { IgcToggleController } from '../toggle/toggle.controller.js';
16
- import { styleMap } from 'lit/directives/style-map.js';
17
- import { SizableMixin } from '../common/mixins/sizable.js';
18
- import { themes } from '../../theming/theming-decorator.js';
19
- import { watch } from '../common/decorators/watch.js';
20
- import { blazorSuppress } from '../common/decorators/blazorSuppress.js';
21
- export var DropdownActionKey;
22
- (function (DropdownActionKey) {
23
- DropdownActionKey["ESCAPE"] = "escape";
24
- DropdownActionKey["ENTER"] = "enter";
25
- })(DropdownActionKey || (DropdownActionKey = {}));
25
+ defineComponents(IgcDropdownGroupComponent, IgcDropdownHeaderComponent, IgcDropdownItemComponent);
26
26
  let IgcDropdownComponent = class IgcDropdownComponent extends SizableMixin(EventEmitterMixin(LitElement)) {
27
27
  constructor() {
28
28
  super();
29
+ this.keyDownHandlers = new Map(Object.entries({
30
+ Escape: this.onEscapeKey,
31
+ Enter: this.onEnterKey,
32
+ ArrowUp: this.onArrowUpKeyDown,
33
+ ArrowDown: this.onArrowDownKeyDown,
34
+ ArrowLeft: this.onArrowUpKeyDown,
35
+ ArrowRight: this.onArrowDownKeyDown,
36
+ Home: this.onHomeKey,
37
+ End: this.onEndKey,
38
+ }));
29
39
  this.keepOpenOnSelect = false;
30
40
  this.open = false;
31
41
  this.placement = 'bottom-start';
@@ -36,62 +46,35 @@ let IgcDropdownComponent = class IgcDropdownComponent extends SizableMixin(Event
36
46
  this.keepOpenOnOutsideClick = false;
37
47
  this.sameWidth = false;
38
48
  this.handleKeyDown = (event) => {
39
- if (this.open &&
40
- event &&
41
- (event.composedPath().includes(this.target) ||
42
- event.composedPath().includes(this.content))) {
43
- const key = event.key.toLowerCase();
44
- const navKeys = [
45
- 'esc',
46
- 'escape',
47
- 'enter',
48
- 'arrowup',
49
- 'up',
50
- 'arrowdown',
51
- 'down',
52
- ];
53
- if (navKeys.indexOf(key) === -1) {
54
- return;
55
- }
49
+ var _a;
50
+ const path = event.composedPath();
51
+ if (!(path.includes(this.target) || path.includes(this.content)))
52
+ return;
53
+ if (this.keyDownHandlers.has(event.key)) {
56
54
  event.preventDefault();
57
55
  event.stopPropagation();
58
- switch (key) {
59
- case 'esc':
60
- case 'escape':
61
- this.handleItemActionKey(DropdownActionKey.ESCAPE);
62
- break;
63
- case 'enter':
64
- this.handleItemActionKey(DropdownActionKey.ENTER);
65
- break;
66
- case 'arrowup':
67
- case 'up':
68
- this.onArrowUpKeyDown();
69
- break;
70
- case 'arrowdown':
71
- case 'down':
72
- this.onArrowDownKeyDown();
73
- break;
74
- default:
75
- return;
76
- }
56
+ (_a = this.keyDownHandlers.get(event.key)) === null || _a === void 0 ? void 0 : _a.call(this);
77
57
  }
78
58
  };
79
- this.handleTargetClick = () => {
59
+ this.handleTargetClick = async () => {
80
60
  if (!this.open) {
81
61
  if (!this.handleOpening())
82
62
  return;
83
63
  this.show();
64
+ await this.updateComplete;
84
65
  this.emitEvent('igcOpened');
85
66
  }
86
67
  else {
87
68
  this._hide();
88
69
  }
89
70
  };
90
- this.toggleController = new IgcToggleController(this, this.target);
71
+ this.toggleController = new IgcToggleController(this, {
72
+ target: this.target,
73
+ closeCallback: () => this._hide(),
74
+ });
91
75
  }
92
76
  get allItems() {
93
- const groupItems = this.groups.flatMap((group) => group.items);
94
- return [...this.items, ...groupItems];
77
+ return [...this.items, ...this.groups.flatMap((group) => group.items)];
95
78
  }
96
79
  toggleDirectiveChange() {
97
80
  var _a;
@@ -112,44 +95,50 @@ let IgcDropdownComponent = class IgcDropdownComponent extends SizableMixin(Event
112
95
  updateOptions() {
113
96
  if (!this.toggleController)
114
97
  return;
115
- this.toggleController.updateToggleDir();
98
+ this.toggleController.update();
116
99
  }
117
100
  sizeChange() {
118
- this.groups.forEach((g) => (g.size = this.size));
101
+ this.groups.forEach((g) => g.requestUpdate());
119
102
  }
120
- firstUpdated() {
103
+ async firstUpdated() {
121
104
  if (this.targetNodes.length) {
122
105
  this.target = this.targetNodes[0];
123
106
  this.target.setAttribute('aria-haspopup', 'listbox');
124
107
  }
108
+ await this.updateComplete;
109
+ this.setInitialSelection();
125
110
  }
126
111
  async getUpdateComplete() {
127
112
  const result = await super.getUpdateComplete();
128
113
  await this.toggleController.rendered;
129
114
  return result;
130
115
  }
131
- handleItemActionKey(key) {
132
- switch (key) {
133
- case DropdownActionKey.ENTER:
134
- this.selectItem(this.activeItem);
135
- this.handleChange(this.activeItem);
136
- break;
137
- case DropdownActionKey.ESCAPE:
138
- break;
116
+ setInitialSelection() {
117
+ const item = this.allItems.filter((item) => item.selected).at(-1);
118
+ this.allItems.forEach((item) => (item.selected = false));
119
+ if (item) {
120
+ this.selectItem(item, false);
139
121
  }
140
- if (!this.keepOpenOnSelect)
141
- this._hide();
122
+ }
123
+ onHomeKey() {
124
+ this.navigateTo(this.allItems.filter((item) => !item.disabled).at(0).value);
125
+ }
126
+ onEndKey() {
127
+ this.navigateTo(this.allItems.filter((item) => !item.disabled).at(-1).value);
128
+ }
129
+ onEscapeKey() {
130
+ this._hide();
131
+ }
132
+ onEnterKey() {
133
+ this.selectItem(this.activeItem);
142
134
  }
143
135
  handleClick(event) {
144
- const newSelectedItem = event
136
+ const item = event
145
137
  .composedPath()
146
138
  .find((e) => e instanceof IgcDropdownItemComponent);
147
- if (!newSelectedItem || newSelectedItem.disabled)
139
+ if (!item || item.disabled)
148
140
  return;
149
- this.selectItem(newSelectedItem);
150
- this.handleChange(newSelectedItem);
151
- if (!this.keepOpenOnSelect)
152
- this._hide();
141
+ this.selectItem(item);
153
142
  }
154
143
  handleOpening() {
155
144
  const args = { cancelable: true };
@@ -186,25 +175,25 @@ let IgcDropdownComponent = class IgcDropdownComponent extends SizableMixin(Event
186
175
  activateItem(value) {
187
176
  if (!value)
188
177
  return;
189
- if (this.activeItem && this.activeItem !== value) {
178
+ if (this.activeItem) {
190
179
  this.activeItem.active = false;
191
180
  }
192
181
  this.activeItem = value;
193
182
  this.activeItem.active = true;
194
183
  }
195
184
  selectItem(item, emit = true) {
196
- const oldItem = this.selectedItem;
197
- if (!item) {
185
+ if (!item)
198
186
  return null;
199
- }
200
- if (oldItem && oldItem !== item) {
201
- oldItem.selected = false;
187
+ if (this.selectedItem) {
188
+ this.selectedItem.selected = false;
202
189
  }
203
190
  this.activateItem(item);
204
191
  this.selectedItem = item;
205
192
  this.selectedItem.selected = true;
206
193
  if (emit)
207
194
  this.handleChange(this.selectedItem);
195
+ if (emit && !this.keepOpenOnSelect)
196
+ this._hide();
208
197
  return this.selectedItem;
209
198
  }
210
199
  navigate(direction, currentIndex) {
@@ -264,13 +253,14 @@ let IgcDropdownComponent = class IgcDropdownComponent extends SizableMixin(Event
264
253
  onArrowUpKeyDown() {
265
254
  this.navigatePrev();
266
255
  }
267
- _hide(emit = true) {
268
- if (emit && !this.handleClosing())
269
- return;
256
+ async _hide(emit = true) {
270
257
  if (!this.open)
271
258
  return;
259
+ if (emit && !this.handleClosing())
260
+ return;
272
261
  this.open = false;
273
262
  if (emit) {
263
+ await this.updateComplete;
274
264
  this.emitEvent('igcClosed');
275
265
  }
276
266
  }
@@ -285,12 +275,7 @@ let IgcDropdownComponent = class IgcDropdownComponent extends SizableMixin(Event
285
275
  this._hide(false);
286
276
  }
287
277
  toggle(target) {
288
- if (!this.open) {
289
- this.show(target);
290
- }
291
- else {
292
- this.hide();
293
- }
278
+ this.open ? this.hide() : this.show(target);
294
279
  }
295
280
  navigateTo(value) {
296
281
  const index = typeof value === 'string' ? this.getItem(value).index : value;
@@ -332,6 +317,9 @@ let IgcDropdownComponent = class IgcDropdownComponent extends SizableMixin(Event
332
317
  };
333
318
  IgcDropdownComponent.tagName = 'igc-dropdown';
334
319
  IgcDropdownComponent.styles = styles;
320
+ __decorate([
321
+ state()
322
+ ], IgcDropdownComponent.prototype, "activeItem", void 0);
335
323
  __decorate([
336
324
  queryAssignedElements({ slot: 'target' })
337
325
  ], IgcDropdownComponent.prototype, "targetNodes", void 0);
@@ -401,7 +389,8 @@ __decorate([
401
389
  blazorSuppress()
402
390
  ], IgcDropdownComponent.prototype, "select", null);
403
391
  IgcDropdownComponent = __decorate([
404
- themes({ bootstrap, fluent, indigo })
392
+ themes({ bootstrap, fluent, indigo }),
393
+ blazorAdditionalDependencies('IgcDropdownItemComponent, IgcDropdownHeaderComponent, IgcDropdownGroupComponent')
405
394
  ], IgcDropdownComponent);
406
395
  export default IgcDropdownComponent;
407
396
  //# sourceMappingURL=dropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, query, queryAssignedElements } from 'lit/decorators.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { styles } from './themes/light/dropdown.base.css.js';\nimport { styles as bootstrap } from './themes/light/dropdown.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/dropdown.fluent.css.js';\nimport { styles as indigo } from './themes/light/dropdown.indigo.css.js';\nimport type {\n IgcPlacement,\n IgcToggleComponent,\n IgcToggleEventMap,\n} from '../toggle/types';\nimport IgcDropdownItemComponent from './dropdown-item.js';\nimport { IgcToggleController } from '../toggle/toggle.controller.js';\nimport type IgcDropdownGroupComponent from './dropdown-group';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { SizableMixin } from '../common/mixins/sizable.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { blazorSuppress } from '../common/decorators/blazorSuppress.js';\n\nexport enum DropdownActionKey {\n ESCAPE = 'escape',\n ENTER = 'enter',\n}\n\nexport interface IgcDropdownEventMap extends IgcToggleEventMap {\n igcChange: CustomEvent<IgcDropdownItemComponent>;\n}\n\n/**\n * Represents a DropDown component.\n *\n * @element igc-dropdown\n *\n * @fires igcChange - Emitted when the selected item changes.\n * @fires igcOpening - Emitted just before the dropdown is open.\n * @fires igcOpened - Emitted after the dropdown is open.\n * @fires igcClosing - Emitter just before the dropdown is closed.\n * @fires igcClosed - Emitted after closing the dropdown.\n *\n * @slot target - Renders the dropdown's target element.\n * @slot - Renders the dropdown list items.\n *\n * @csspart base - The dropdown list wrapper.\n * @csspart list - The dropdown list.\n */\n@themes({ bootstrap, fluent, indigo })\nexport default class IgcDropdownComponent\n extends SizableMixin(\n EventEmitterMixin<IgcDropdownEventMap, Constructor<LitElement>>(LitElement)\n )\n implements IgcToggleComponent\n{\n public static readonly tagName = 'igc-dropdown';\n\n public static styles = styles;\n\n private toggleController!: IgcToggleController;\n private selectedItem!: IgcDropdownItemComponent | null;\n private activeItem!: IgcDropdownItemComponent;\n private target!: HTMLElement;\n\n private get allItems(): IgcDropdownItemComponent[] {\n const groupItems: IgcDropdownItemComponent[] = this.groups.flatMap(\n (group) => group.items\n );\n return [...this.items, ...groupItems];\n }\n\n @queryAssignedElements({ slot: 'target' })\n private targetNodes!: Array<HTMLElement>;\n\n @query('[part=\"base\"]')\n protected content!: HTMLElement;\n\n @query('[part=\"list\"]')\n protected scrollContainer!: HTMLElement;\n\n @queryAssignedElements({ flatten: true, selector: 'igc-dropdown-item' })\n protected items!: Array<IgcDropdownItemComponent>;\n\n @queryAssignedElements({ flatten: true, selector: 'igc-dropdown-group' })\n protected groups!: Array<IgcDropdownGroupComponent>;\n\n /** Whether the dropdown should be kept open on selection. */\n @property({ type: Boolean, attribute: 'keep-open-on-select' })\n public keepOpenOnSelect = false;\n\n /** Sets the open state of the component. */\n @property({ type: Boolean })\n public open = false;\n\n /** The preferred placement of the component around the target element.\n * @type {\"top\" | \"top-start\" | \"top-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"right\" | \"right-start\" | \"right-end\" | \"left\" | \"left-start\" | \"left-end\"}\n */\n @property()\n public placement: IgcPlacement = 'bottom-start';\n\n /** Sets the component's positioning strategy. */\n @property({ attribute: 'position-strategy' })\n public positionStrategy: 'absolute' | 'fixed' = 'absolute';\n\n /** Determines the behavior of the component during scrolling the container. */\n @property({ attribute: 'scroll-strategy' })\n public scrollStrategy: 'scroll' | 'block' | 'close' = 'scroll';\n\n /**\n * Whether the component should be flipped to the opposite side of the target once it's about to overflow the visible area.\n * When true, once enough space is detected on its preferred side, it will flip back.\n */\n @property({ type: Boolean })\n public flip = false;\n\n /** The distance from the target element. */\n @property({ type: Number })\n public distance = 0;\n\n /** Whether the component should be kept open on clicking outside of it. */\n @property({ type: Boolean, attribute: 'keep-open-on-outside-click' })\n public keepOpenOnOutsideClick = false;\n\n /** Whether the dropdown's width should be the same as the target's one. */\n @property({ type: Boolean, attribute: 'same-width' })\n public sameWidth = false;\n\n @watch('open')\n protected toggleDirectiveChange() {\n if (!this.target) return;\n this.toggleController.target = this.target;\n\n if (this.open) {\n document.addEventListener('keydown', this.handleKeyDown);\n this.target.addEventListener('focusout', this.handleFocusout);\n this.selectedItem = this.allItems.find((i) => i.selected) ?? null;\n } else {\n document.removeEventListener('keydown', this.handleKeyDown);\n this.target.removeEventListener('focusout', this.handleFocusout);\n }\n\n this.target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n\n @watch('placement')\n @watch('flip')\n @watch('positionStrategy')\n @watch('closeOnOutsideClick')\n @watch('distance')\n @watch('sameWidth')\n protected updateOptions() {\n if (!this.toggleController) return;\n\n this.toggleController.updateToggleDir();\n }\n\n @watch('size')\n protected sizeChange() {\n this.groups.forEach((g) => (g.size = this.size));\n }\n\n constructor() {\n super();\n\n this.toggleController = new IgcToggleController(this, this.target);\n }\n\n public override firstUpdated() {\n if (this.targetNodes.length) {\n this.target = this.targetNodes[0];\n this.target.setAttribute('aria-haspopup', 'listbox');\n }\n }\n\n protected override async getUpdateComplete() {\n const result = await super.getUpdateComplete();\n await this.toggleController.rendered;\n return result;\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (\n this.open &&\n event &&\n (event.composedPath().includes(this.target) ||\n event.composedPath().includes(this.content))\n ) {\n const key = event.key.toLowerCase();\n const navKeys = [\n 'esc',\n 'escape',\n 'enter',\n 'arrowup',\n 'up',\n 'arrowdown',\n 'down',\n ];\n if (navKeys.indexOf(key) === -1) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n switch (key) {\n case 'esc':\n case 'escape':\n this.handleItemActionKey(DropdownActionKey.ESCAPE);\n break;\n case 'enter':\n this.handleItemActionKey(DropdownActionKey.ENTER);\n break;\n case 'arrowup':\n case 'up':\n this.onArrowUpKeyDown();\n break;\n case 'arrowdown':\n case 'down':\n this.onArrowDownKeyDown();\n break;\n default:\n return;\n }\n }\n };\n\n private handleItemActionKey(key: DropdownActionKey) {\n switch (key) {\n case DropdownActionKey.ENTER:\n this.selectItem(this.activeItem);\n this.handleChange(this.activeItem);\n break;\n case DropdownActionKey.ESCAPE:\n break;\n }\n\n if (!this.keepOpenOnSelect) this._hide();\n }\n\n private handleClick(event: MouseEvent) {\n const newSelectedItem = event\n .composedPath()\n .find(\n (e) => e instanceof IgcDropdownItemComponent\n ) as IgcDropdownItemComponent;\n\n if (!newSelectedItem || newSelectedItem.disabled) return;\n\n this.selectItem(newSelectedItem);\n this.handleChange(newSelectedItem);\n if (!this.keepOpenOnSelect) this._hide();\n }\n\n private handleTargetClick = () => {\n if (!this.open) {\n if (!this.handleOpening()) return;\n this.show();\n this.emitEvent('igcOpened');\n } else {\n this._hide();\n }\n };\n\n private handleOpening() {\n const args = { cancelable: true };\n return this.emitEvent('igcOpening', args);\n }\n\n private handleClosing(): boolean {\n const args = { cancelable: true };\n return this.emitEvent('igcClosing', args);\n }\n\n private handleChange(item: IgcDropdownItemComponent) {\n const args = { detail: item };\n this.emitEvent('igcChange', args);\n }\n\n private handleSlotChange() {\n if (!this.target) return;\n this.target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n\n private handleFocusout(event: Event) {\n event.preventDefault();\n (event.target as HTMLElement).focus();\n }\n\n private getItem(value: string) {\n let itemIndex = -1;\n let item!: IgcDropdownItemComponent;\n this.allItems.find((i, index) => {\n if (i.value === value) {\n item = i;\n itemIndex = index;\n }\n });\n return { item: item, index: itemIndex };\n }\n\n private activateItem(value: IgcDropdownItemComponent) {\n if (!value) return;\n\n if (this.activeItem && this.activeItem !== value) {\n this.activeItem.active = false;\n }\n\n this.activeItem = value;\n this.activeItem.active = true;\n }\n\n private selectItem(\n item: IgcDropdownItemComponent,\n emit = true\n ): IgcDropdownItemComponent | null {\n const oldItem = this.selectedItem;\n\n if (!item) {\n return null;\n }\n\n if (oldItem && oldItem !== item) {\n oldItem.selected = false;\n }\n\n this.activateItem(item);\n this.selectedItem = item;\n this.selectedItem.selected = true;\n if (emit) this.handleChange(this.selectedItem);\n\n return this.selectedItem;\n }\n\n private navigate(direction: -1 | 1, currentIndex?: number) {\n let index = -1;\n if (this.activeItem) {\n index = currentIndex\n ? currentIndex\n : [...this.allItems].indexOf(this.activeItem) ?? index;\n }\n\n const newIndex = this.getNearestSiblingFocusableItemIndex(index, direction);\n this.navigateItem(newIndex);\n }\n\n private navigateItem(newIndex: number): IgcDropdownItemComponent | null {\n if (!this.allItems) {\n return null;\n }\n\n if (newIndex < 0 || newIndex >= this.allItems.length) {\n return null;\n }\n\n const newItem = this.allItems[newIndex];\n\n this.activateItem(newItem);\n this.scrollToHiddenItem(newItem);\n\n return newItem;\n }\n\n private scrollToHiddenItem(newItem: IgcDropdownItemComponent) {\n const elementRect = newItem.getBoundingClientRect();\n const parentRect = this.content.getBoundingClientRect();\n if (parentRect.top > elementRect.top) {\n this.content.scrollTop -= parentRect.top - elementRect.top;\n }\n\n if (parentRect.bottom < elementRect.bottom) {\n this.content.scrollTop += elementRect.bottom - parentRect.bottom;\n }\n }\n\n private getNearestSiblingFocusableItemIndex(\n startIndex: number,\n direction: -1 | 1\n ): number {\n let index = startIndex;\n const items = this.allItems;\n if (!items) {\n return -1;\n }\n\n while (items[index + direction] && items[index + direction].disabled) {\n index += direction;\n }\n\n index += direction;\n\n return index > -1 && index < items.length ? index : -1;\n }\n\n private navigateNext() {\n this.navigate(1);\n }\n\n private navigatePrev() {\n this.navigate(-1);\n }\n\n private onArrowDownKeyDown() {\n this.navigateNext();\n }\n\n private onArrowUpKeyDown() {\n this.navigatePrev();\n }\n\n private _hide(emit = true) {\n if (emit && !this.handleClosing()) return;\n\n if (!this.open) return;\n\n this.open = false;\n\n if (emit) {\n this.emitEvent('igcClosed');\n }\n }\n\n /** Shows the dropdown. */\n @blazorSuppress()\n public show(target?: HTMLElement) {\n if (this.open && !target) return;\n\n if (target) this.target = target;\n\n this.open = true;\n }\n\n /** Hides the dropdown. */\n public hide(): void {\n this._hide(false);\n }\n\n /** Toggles the open state of the dropdown. */\n @blazorSuppress()\n public toggle(target?: HTMLElement): void {\n if (!this.open) {\n this.show(target);\n } else {\n this.hide();\n }\n }\n\n /** Navigates to the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string): IgcDropdownItemComponent | null;\n /** Navigates to the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public navigateTo(index: number): IgcDropdownItemComponent | null;\n /** Navigates to the specified item. If it exists, returns the found item, otherwise - null. */\n @blazorSuppress()\n public navigateTo(value: string | number): IgcDropdownItemComponent | null {\n const index =\n typeof value === 'string' ? this.getItem(value).index : (value as number);\n\n return this.navigateItem(index);\n }\n\n /** Selects the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public select(value: string): IgcDropdownItemComponent | null;\n /** Selects the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public select(index: number): IgcDropdownItemComponent | null;\n /** Selects the specified item. If it exists, returns the found item, otherwise - null. */\n @blazorSuppress()\n public select(value: string | number): IgcDropdownItemComponent | null {\n const item =\n typeof value === 'string'\n ? this.getItem(value).item\n : this.allItems[value as number];\n\n return this.selectItem(item, false);\n }\n\n /** Clears the current selection of the dropdown. */\n public clearSelection() {\n if (this.selectedItem) {\n this.selectedItem.selected = false;\n }\n this.selectedItem = null;\n }\n\n protected override render() {\n return html`\n <slot\n id=\"igcDDLTarget\"\n name=\"target\"\n @click=${this.handleTargetClick}\n @slotchange=${this.handleSlotChange}\n >\n </slot>\n <div\n part=\"base\"\n style=${styleMap({ position: this.positionStrategy })}\n @click=${this.handleClick}\n ${this.toggleController.toggleDirective}\n >\n <div role=\"listbox\" part=\"list\" aria-labelledby=\"igcDDLTarget\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown': IgcDropdownComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { blazorSuppress } from '../common/decorators/blazorSuppress.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { SizableMixin } from '../common/mixins/sizable.js';\nimport { IgcToggleController } from '../toggle/toggle.controller.js';\nimport type {\n IgcPlacement,\n IgcToggleComponent,\n IgcToggleEventMap,\n} from '../toggle/types';\nimport { styles } from './themes/light/dropdown.base.css.js';\nimport { styles as bootstrap } from './themes/light/dropdown.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/dropdown.fluent.css.js';\nimport { styles as indigo } from './themes/light/dropdown.indigo.css.js';\n\nimport { defineComponents } from '../common/definitions/defineComponents.js';\nimport IgcDropdownGroupComponent from './dropdown-group.js';\nimport IgcDropdownHeaderComponent from './dropdown-header.js';\nimport IgcDropdownItemComponent from './dropdown-item.js';\n\ndefineComponents(\n IgcDropdownGroupComponent,\n IgcDropdownHeaderComponent,\n IgcDropdownItemComponent\n);\n\nexport interface IgcDropdownEventMap extends IgcToggleEventMap {\n igcChange: CustomEvent<IgcDropdownItemComponent>;\n}\n\n/**\n * Represents a DropDown component.\n *\n * @element igc-dropdown\n *\n * @fires igcChange - Emitted when the selected item changes.\n * @fires igcOpening - Emitted just before the dropdown is open.\n * @fires igcOpened - Emitted after the dropdown is open.\n * @fires igcClosing - Emitter just before the dropdown is closed.\n * @fires igcClosed - Emitted after closing the dropdown.\n *\n * @slot target - Renders the dropdown's target element.\n * @slot - Renders the dropdown list items.\n *\n * @csspart base - The dropdown list wrapper.\n * @csspart list - The dropdown list.\n */\n@themes({ bootstrap, fluent, indigo })\n@blazorAdditionalDependencies(\n 'IgcDropdownItemComponent, IgcDropdownHeaderComponent, IgcDropdownGroupComponent'\n)\nexport default class IgcDropdownComponent\n extends SizableMixin(\n EventEmitterMixin<IgcDropdownEventMap, Constructor<LitElement>>(LitElement)\n )\n implements IgcToggleComponent\n{\n /** @private */\n public static readonly tagName: string = 'igc-dropdown';\n\n public static styles = styles;\n\n protected toggleController!: IgcToggleController;\n protected selectedItem!: IgcDropdownItemComponent | null;\n\n @state()\n protected activeItem!: IgcDropdownItemComponent;\n\n protected target!: HTMLElement;\n\n private readonly keyDownHandlers: Map<string, Function> = new Map(\n Object.entries({\n Escape: this.onEscapeKey,\n Enter: this.onEnterKey,\n ArrowUp: this.onArrowUpKeyDown,\n ArrowDown: this.onArrowDownKeyDown,\n ArrowLeft: this.onArrowUpKeyDown,\n ArrowRight: this.onArrowDownKeyDown,\n Home: this.onHomeKey,\n End: this.onEndKey,\n })\n );\n\n protected get allItems() {\n return [...this.items, ...this.groups.flatMap((group) => group.items)];\n }\n\n @queryAssignedElements({ slot: 'target' })\n private targetNodes!: Array<HTMLElement>;\n\n @query('[part=\"base\"]')\n protected content!: HTMLElement;\n\n @query('[part=\"list\"]')\n protected scrollContainer!: HTMLElement;\n\n @queryAssignedElements({ flatten: true, selector: 'igc-dropdown-item' })\n protected items!: Array<IgcDropdownItemComponent>;\n\n @queryAssignedElements({ flatten: true, selector: 'igc-dropdown-group' })\n protected groups!: Array<IgcDropdownGroupComponent>;\n\n /** Whether the dropdown should be kept open on selection. */\n @property({ type: Boolean, attribute: 'keep-open-on-select' })\n public keepOpenOnSelect = false;\n\n /** Sets the open state of the component. */\n @property({ type: Boolean })\n public open = false;\n\n /** The preferred placement of the component around the target element.\n * @type {\"top\" | \"top-start\" | \"top-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"right\" | \"right-start\" | \"right-end\" | \"left\" | \"left-start\" | \"left-end\"}\n */\n @property()\n public placement: IgcPlacement = 'bottom-start';\n\n /** Sets the component's positioning strategy. */\n @property({ attribute: 'position-strategy' })\n public positionStrategy: 'absolute' | 'fixed' = 'absolute';\n\n /** Determines the behavior of the component during scrolling the container. */\n @property({ attribute: 'scroll-strategy' })\n public scrollStrategy: 'scroll' | 'block' | 'close' = 'scroll';\n\n /**\n * Whether the component should be flipped to the opposite side of the target once it's about to overflow the visible area.\n * When true, once enough space is detected on its preferred side, it will flip back.\n */\n @property({ type: Boolean })\n public flip = false;\n\n /** The distance from the target element. */\n @property({ type: Number })\n public distance = 0;\n\n /** Whether the component should be kept open on clicking outside of it. */\n @property({ type: Boolean, attribute: 'keep-open-on-outside-click' })\n public keepOpenOnOutsideClick = false;\n\n /** Whether the dropdown's width should be the same as the target's one. */\n @property({ type: Boolean, attribute: 'same-width' })\n public sameWidth = false;\n\n @watch('open')\n protected toggleDirectiveChange() {\n if (!this.target) return;\n this.toggleController.target = this.target;\n\n if (this.open) {\n document.addEventListener('keydown', this.handleKeyDown);\n this.target.addEventListener('focusout', this.handleFocusout);\n this.selectedItem = this.allItems.find((i) => i.selected) ?? null;\n } else {\n document.removeEventListener('keydown', this.handleKeyDown);\n this.target.removeEventListener('focusout', this.handleFocusout);\n }\n\n this.target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n\n @watch('placement')\n @watch('flip')\n @watch('positionStrategy')\n @watch('closeOnOutsideClick')\n @watch('distance')\n @watch('sameWidth')\n protected updateOptions() {\n if (!this.toggleController) return;\n\n this.toggleController.update();\n }\n\n @watch('size')\n protected sizeChange() {\n this.groups.forEach((g) => g.requestUpdate());\n }\n\n constructor() {\n super();\n this.toggleController = new IgcToggleController(this, {\n target: this.target,\n closeCallback: () => this._hide(),\n });\n }\n\n public override async firstUpdated() {\n if (this.targetNodes.length) {\n this.target = this.targetNodes[0];\n this.target.setAttribute('aria-haspopup', 'listbox');\n }\n\n await this.updateComplete;\n this.setInitialSelection();\n }\n\n protected override async getUpdateComplete() {\n const result = await super.getUpdateComplete();\n await this.toggleController.rendered;\n return result;\n }\n\n protected setInitialSelection() {\n const item = this.allItems.filter((item) => item.selected).at(-1);\n this.allItems.forEach((item) => (item.selected = false));\n if (item) {\n this.selectItem(item, false);\n }\n }\n\n protected handleKeyDown = (event: KeyboardEvent) => {\n const path = event.composedPath();\n if (!(path.includes(this.target) || path.includes(this.content))) return;\n\n if (this.keyDownHandlers.has(event.key)) {\n event.preventDefault();\n event.stopPropagation();\n this.keyDownHandlers.get(event.key)?.call(this);\n }\n };\n\n protected onHomeKey() {\n this.navigateTo(\n this.allItems.filter((item) => !item.disabled).at(0)!.value\n );\n }\n\n protected onEndKey() {\n this.navigateTo(\n this.allItems.filter((item) => !item.disabled).at(-1)!.value\n );\n }\n\n protected onEscapeKey() {\n this._hide();\n }\n\n protected onEnterKey() {\n this.selectItem(this.activeItem);\n }\n\n protected handleClick(event: MouseEvent) {\n const item = event\n .composedPath()\n .find(\n (e) => e instanceof IgcDropdownItemComponent\n ) as IgcDropdownItemComponent;\n\n if (!item || item.disabled) return;\n\n this.selectItem(item);\n }\n\n protected handleTargetClick = async () => {\n if (!this.open) {\n if (!this.handleOpening()) return;\n this.show();\n await this.updateComplete;\n this.emitEvent('igcOpened');\n } else {\n this._hide();\n }\n };\n\n protected handleOpening() {\n const args = { cancelable: true };\n return this.emitEvent('igcOpening', args);\n }\n\n protected handleClosing(): boolean {\n const args = { cancelable: true };\n return this.emitEvent('igcClosing', args);\n }\n\n protected handleChange(item: IgcDropdownItemComponent) {\n const args = { detail: item };\n this.emitEvent('igcChange', args);\n }\n\n protected handleSlotChange() {\n if (!this.target) return;\n this.target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n\n protected handleFocusout(event: Event) {\n event.preventDefault();\n (event.target as HTMLElement).focus();\n }\n\n protected getItem(value: string) {\n let itemIndex = -1;\n let item!: IgcDropdownItemComponent;\n this.allItems.find((i, index) => {\n if (i.value === value) {\n item = i;\n itemIndex = index;\n }\n });\n return { item: item, index: itemIndex };\n }\n\n protected activateItem(value: IgcDropdownItemComponent) {\n if (!value) return;\n\n if (this.activeItem) {\n this.activeItem.active = false;\n }\n\n this.activeItem = value;\n this.activeItem.active = true;\n }\n\n protected selectItem(\n item: IgcDropdownItemComponent,\n emit = true\n ): IgcDropdownItemComponent | null {\n if (!item) return null;\n\n if (this.selectedItem) {\n this.selectedItem.selected = false;\n }\n\n this.activateItem(item);\n this.selectedItem = item;\n this.selectedItem.selected = true;\n if (emit) this.handleChange(this.selectedItem);\n if (emit && !this.keepOpenOnSelect) this._hide();\n\n return this.selectedItem;\n }\n\n protected navigate(direction: -1 | 1, currentIndex?: number) {\n let index = -1;\n if (this.activeItem) {\n index = currentIndex\n ? currentIndex\n : [...this.allItems].indexOf(this.activeItem) ?? index;\n }\n\n const newIndex = this.getNearestSiblingFocusableItemIndex(index, direction);\n this.navigateItem(newIndex);\n }\n\n private navigateItem(newIndex: number): IgcDropdownItemComponent | null {\n if (!this.allItems) {\n return null;\n }\n\n if (newIndex < 0 || newIndex >= this.allItems.length) {\n return null;\n }\n\n const newItem = this.allItems[newIndex];\n\n this.activateItem(newItem);\n this.scrollToHiddenItem(newItem);\n\n return newItem;\n }\n\n private scrollToHiddenItem(newItem: IgcDropdownItemComponent) {\n const elementRect = newItem.getBoundingClientRect();\n const parentRect = this.content.getBoundingClientRect();\n if (parentRect.top > elementRect.top) {\n this.content.scrollTop -= parentRect.top - elementRect.top;\n }\n\n if (parentRect.bottom < elementRect.bottom) {\n this.content.scrollTop += elementRect.bottom - parentRect.bottom;\n }\n }\n\n protected getNearestSiblingFocusableItemIndex(\n startIndex: number,\n direction: -1 | 1\n ): number {\n let index = startIndex;\n const items = this.allItems;\n if (!items) {\n return -1;\n }\n\n while (items[index + direction] && items[index + direction].disabled) {\n index += direction;\n }\n\n index += direction;\n\n return index > -1 && index < items.length ? index : -1;\n }\n\n private navigateNext() {\n this.navigate(1);\n }\n\n private navigatePrev() {\n this.navigate(-1);\n }\n\n protected onArrowDownKeyDown() {\n this.navigateNext();\n }\n\n protected onArrowUpKeyDown() {\n this.navigatePrev();\n }\n\n private async _hide(emit = true) {\n if (!this.open) return;\n if (emit && !this.handleClosing()) return;\n\n this.open = false;\n\n if (emit) {\n await this.updateComplete;\n this.emitEvent('igcClosed');\n }\n }\n\n /** Shows the dropdown. */\n @blazorSuppress()\n public show(target?: HTMLElement) {\n if (this.open && !target) return;\n\n if (target) this.target = target;\n\n this.open = true;\n }\n\n /** Hides the dropdown. */\n public hide(): void {\n this._hide(false);\n }\n\n /** Toggles the open state of the dropdown. */\n @blazorSuppress()\n public toggle(target?: HTMLElement): void {\n this.open ? this.hide() : this.show(target);\n }\n\n /** Navigates to the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string): IgcDropdownItemComponent | null;\n /** Navigates to the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public navigateTo(index: number): IgcDropdownItemComponent | null;\n /** Navigates to the specified item. If it exists, returns the found item, otherwise - null. */\n @blazorSuppress()\n public navigateTo(value: string | number): IgcDropdownItemComponent | null {\n const index =\n typeof value === 'string' ? this.getItem(value).index : (value as number);\n\n return this.navigateItem(index);\n }\n\n /** Selects the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public select(value: string): IgcDropdownItemComponent | null;\n /** Selects the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public select(index: number): IgcDropdownItemComponent | null;\n /** Selects the specified item. If it exists, returns the found item, otherwise - null. */\n @blazorSuppress()\n public select(value: string | number): IgcDropdownItemComponent | null {\n const item =\n typeof value === 'string'\n ? this.getItem(value).item\n : this.allItems[value as number];\n\n return this.selectItem(item, false);\n }\n\n /** Clears the current selection of the dropdown. */\n public clearSelection() {\n if (this.selectedItem) {\n this.selectedItem.selected = false;\n }\n this.selectedItem = null;\n }\n\n protected override render() {\n return html`\n <slot\n id=\"igcDDLTarget\"\n name=\"target\"\n @click=${this.handleTargetClick}\n @slotchange=${this.handleSlotChange}\n >\n </slot>\n <div\n part=\"base\"\n style=${styleMap({ position: this.positionStrategy })}\n @click=${this.handleClick}\n ${this.toggleController.toggleDirective}\n >\n <div role=\"listbox\" part=\"list\" aria-labelledby=\"igcDDLTarget\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown': IgcDropdownComponent;\n }\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{pointer-events:auto}:host ::slotted([slot=label]){font-family:var(--igc-overline-font-family);font-weight:var(--igc-overline-font-weight);font-size:var(--igc-overline-font-size);font-style:var(--igc-overline-font-style);letter-spacing:var(--igc-overline-letter-spacing);text-transform:var(--igc-overline-text-transform);line-height:var(--igc-overline-line-height);margin-top:var(--igc-overline-margin-top);margin-bottom:var(--igc-overline-margin-bottom);white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;display:block;white-space:nowrap;position:relative;color:hsla(var(--igc-secondary-500), var(--igc-secondary-a));pointer-events:none}:host([size=small]) ::slotted(igc-dropdown-item){padding:var(--igc-spacing-small) calc(var(--igc-spacing-small)*3)}:host([size=small]) ::slotted([slot=label]){padding:var(--igc-spacing-small) calc(var(--igc-spacing-small)*2)}:host([size=medium]) ::slotted(igc-dropdown-item){padding:var(--igc-spacing-medium) calc(var(--igc-spacing-medium)*3)}:host([size=medium]) ::slotted([slot=label]){padding:var(--igc-spacing-medium) calc(var(--igc-spacing-medium)*2)}:host([size=large]) ::slotted(igc-dropdown-item){padding:var(--igc-spacing-large) calc(var(--igc-spacing-large)*3)}:host([size=large]) ::slotted([slot=label]){padding:var(--igc-spacing-large) calc(var(--igc-spacing-large)*2)}`;
2
+ export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{pointer-events:auto}:host ::slotted([slot=label]){font-family:var(--igc-overline-font-family);font-weight:var(--igc-overline-font-weight);font-size:var(--igc-overline-font-size);font-style:var(--igc-overline-font-style);letter-spacing:var(--igc-overline-letter-spacing);text-transform:var(--igc-overline-text-transform);line-height:var(--igc-overline-line-height);margin-top:var(--igc-overline-margin-top);margin-bottom:var(--igc-overline-margin-bottom);white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;display:block;white-space:nowrap;position:relative;color:hsla(var(--igc-secondary-500), var(--igc-secondary-a));pointer-events:none}:host([size=small]) ::slotted(igc-dropdown-item),:host([size=small]) ::slotted(igc-select-item){padding:var(--igc-spacing-small) calc(var(--igc-spacing-small)*3)}:host([size=small]) ::slotted([slot=label]){padding:var(--igc-spacing-small) calc(var(--igc-spacing-small)*2)}:host([size=medium]) ::slotted(igc-dropdown-item),:host([size=medium]) ::slotted(igc-select-item){padding:var(--igc-spacing-medium) calc(var(--igc-spacing-medium)*3)}:host([size=medium]) ::slotted([slot=label]){padding:var(--igc-spacing-medium) calc(var(--igc-spacing-medium)*2)}:host([size=large]) ::slotted(igc-dropdown-item),:host([size=large]) ::slotted(igc-select-item){padding:var(--igc-spacing-large) calc(var(--igc-spacing-large)*3)}:host([size=large]) ::slotted([slot=label]){padding:var(--igc-spacing-large) calc(var(--igc-spacing-large)*2)}`;
3
3
  //# sourceMappingURL=dropdown-group.base.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-group.base.css.js","sourceRoot":"","sources":["../../../../../src/components/dropdown/themes/light/dropdown-group.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,6iEAA6iE,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{pointer-events:auto}:host ::slotted([slot=label]){font-family:var(--igc-overline-font-family);font-weight:var(--igc-overline-font-weight);font-size:var(--igc-overline-font-size);font-style:var(--igc-overline-font-style);letter-spacing:var(--igc-overline-letter-spacing);text-transform:var(--igc-overline-text-transform);line-height:var(--igc-overline-line-height);margin-top:var(--igc-overline-margin-top);margin-bottom:var(--igc-overline-margin-bottom);white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;display:block;white-space:nowrap;position:relative;color:hsla(var(--igc-secondary-500), var(--igc-secondary-a));pointer-events:none}:host([size=small]) ::slotted(igc-dropdown-item){padding:var(--igc-spacing-small) calc(var(--igc-spacing-small)*3)}:host([size=small]) ::slotted([slot=label]){padding:var(--igc-spacing-small) calc(var(--igc-spacing-small)*2)}:host([size=medium]) ::slotted(igc-dropdown-item){padding:var(--igc-spacing-medium) calc(var(--igc-spacing-medium)*3)}:host([size=medium]) ::slotted([slot=label]){padding:var(--igc-spacing-medium) calc(var(--igc-spacing-medium)*2)}:host([size=large]) ::slotted(igc-dropdown-item){padding:var(--igc-spacing-large) calc(var(--igc-spacing-large)*3)}:host([size=large]) ::slotted([slot=label]){padding:var(--igc-spacing-large) calc(var(--igc-spacing-large)*2)}`;\n"]}
1
+ {"version":3,"file":"dropdown-group.base.css.js","sourceRoot":"","sources":["../../../../../src/components/dropdown/themes/light/dropdown-group.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,2rEAA2rE,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{pointer-events:auto}:host ::slotted([slot=label]){font-family:var(--igc-overline-font-family);font-weight:var(--igc-overline-font-weight);font-size:var(--igc-overline-font-size);font-style:var(--igc-overline-font-style);letter-spacing:var(--igc-overline-letter-spacing);text-transform:var(--igc-overline-text-transform);line-height:var(--igc-overline-line-height);margin-top:var(--igc-overline-margin-top);margin-bottom:var(--igc-overline-margin-bottom);white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;display:block;white-space:nowrap;position:relative;color:hsla(var(--igc-secondary-500), var(--igc-secondary-a));pointer-events:none}:host([size=small]) ::slotted(igc-dropdown-item),:host([size=small]) ::slotted(igc-select-item){padding:var(--igc-spacing-small) calc(var(--igc-spacing-small)*3)}:host([size=small]) ::slotted([slot=label]){padding:var(--igc-spacing-small) calc(var(--igc-spacing-small)*2)}:host([size=medium]) ::slotted(igc-dropdown-item),:host([size=medium]) ::slotted(igc-select-item){padding:var(--igc-spacing-medium) calc(var(--igc-spacing-medium)*3)}:host([size=medium]) ::slotted([slot=label]){padding:var(--igc-spacing-medium) calc(var(--igc-spacing-medium)*2)}:host([size=large]) ::slotted(igc-dropdown-item),:host([size=large]) ::slotted(igc-select-item){padding:var(--igc-spacing-large) calc(var(--igc-spacing-large)*3)}:host([size=large]) ::slotted([slot=label]){padding:var(--igc-spacing-large) calc(var(--igc-spacing-large)*2)}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host([size=small]) ::slotted(igc-dropdown-item),:host([size=small]) ::slotted([slot=label]){padding:var(--igc-spacing-small)}:host([size=medium]) ::slotted(igc-dropdown-item),:host([size=medium]) ::slotted([slot=label]){padding:var(--igc-spacing-medium)}:host([size=large]) ::slotted(igc-dropdown-item),:host([size=large]) ::slotted([slot=label]){padding:var(--igc-spacing-large)}`;
2
+ export const styles = css `:host([size=small]) ::slotted(igc-dropdown-item),:host([size=small]) ::slotted(igc-select-item),:host([size=small]) ::slotted([slot=label]){padding:var(--igc-spacing-small)}:host([size=medium]) ::slotted(igc-dropdown-item),:host([size=medium]) ::slotted(igc-select-item),:host([size=medium]) ::slotted([slot=label]){padding:var(--igc-spacing-medium)}:host([size=large]) ::slotted(igc-dropdown-item),:host([size=large]) ::slotted(igc-select-item),:host([size=large]) ::slotted([slot=label]){padding:var(--igc-spacing-large)}`;
3
3
  //# sourceMappingURL=dropdown-group.fluent.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-group.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/dropdown/themes/light/dropdown-group.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,+XAA+X,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host([size=small]) ::slotted(igc-dropdown-item),:host([size=small]) ::slotted([slot=label]){padding:var(--igc-spacing-small)}:host([size=medium]) ::slotted(igc-dropdown-item),:host([size=medium]) ::slotted([slot=label]){padding:var(--igc-spacing-medium)}:host([size=large]) ::slotted(igc-dropdown-item),:host([size=large]) ::slotted([slot=label]){padding:var(--igc-spacing-large)}`;\n"]}
1
+ {"version":3,"file":"dropdown-group.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/dropdown/themes/light/dropdown-group.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,6gBAA6gB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host([size=small]) ::slotted(igc-dropdown-item),:host([size=small]) ::slotted(igc-select-item),:host([size=small]) ::slotted([slot=label]){padding:var(--igc-spacing-small)}:host([size=medium]) ::slotted(igc-dropdown-item),:host([size=medium]) ::slotted(igc-select-item),:host([size=medium]) ::slotted([slot=label]){padding:var(--igc-spacing-medium)}:host([size=large]) ::slotted(igc-dropdown-item),:host([size=large]) ::slotted(igc-select-item),:host([size=large]) ::slotted([slot=label]){padding:var(--igc-spacing-large)}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{font-family:var(--igc-body-2-font-family);font-weight:var(--igc-body-2-font-weight);font-size:var(--igc-body-2-font-size);font-style:var(--igc-body-2-font-style);letter-spacing:var(--igc-body-2-letter-spacing);text-transform:var(--igc-body-2-text-transform);line-height:var(--igc-body-2-line-height);margin-top:var(--igc-body-2-margin-top);margin-bottom:var(--igc-body-2-margin-bottom);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;white-space:nowrap;position:relative;cursor:pointer;color:hsla(var(--igc-gray-800), var(--igc-gray-a))}:host(:hover),:host([active]){background:hsla(var(--igc-gray-200), var(--igc-gray-a))}:host([selected]){background:hsla(var(--igc-secondary-100), var(--igc-secondary-a));color:var(--igc-secondary-100-contrast)}:host([selected]:hover),:host([selected][active]){background:hsla(var(--igc-secondary-200), var(--igc-secondary-a));color:var(--igc-secondary-200-contrast)}:host([disabled]){color:hsla(var(--igc-gray-500), var(--igc-gray-a));cursor:default;pointer-events:none}::slotted(*){font:inherit}[part=content]{white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;display:block;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}[part=prefix],[part=suffix]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}[name=prefix]::slotted(*){-webkit-margin-end:calc(var(--igc-spacing-large)*2);margin-inline-end:calc(var(--igc-spacing-large)*2)}[name=suffix]::slotted(*){-webkit-margin-start:calc(var(--igc-spacing-large)*2);margin-inline-start:calc(var(--igc-spacing-large)*2)}`;
2
+ export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{font-family:var(--igc-body-2-font-family);font-weight:var(--igc-body-2-font-weight);font-size:var(--igc-body-2-font-size);font-style:var(--igc-body-2-font-style);letter-spacing:var(--igc-body-2-letter-spacing);text-transform:var(--igc-body-2-text-transform);line-height:var(--igc-body-2-line-height);margin-top:var(--igc-body-2-margin-top);margin-bottom:var(--igc-body-2-margin-bottom);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;white-space:nowrap;position:relative;cursor:pointer;color:hsla(var(--igc-gray-800), var(--igc-gray-a));outline-style:none}:host(:hover),:host([active]){background:hsla(var(--igc-gray-200), var(--igc-gray-a))}:host([selected]){background:hsla(var(--igc-secondary-100), var(--igc-secondary-a));color:var(--igc-secondary-100-contrast)}:host([selected]:hover),:host([selected][active]){background:hsla(var(--igc-secondary-200), var(--igc-secondary-a));color:var(--igc-secondary-200-contrast)}:host([disabled]){color:hsla(var(--igc-gray-500), var(--igc-gray-a));cursor:default;pointer-events:none}::slotted(*){font:inherit}[part=content]{white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;display:block;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}[part=prefix],[part=suffix]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}[name=prefix]::slotted(*){-webkit-margin-end:calc(var(--igc-spacing-large)*2);margin-inline-end:calc(var(--igc-spacing-large)*2)}[name=suffix]::slotted(*){-webkit-margin-start:calc(var(--igc-spacing-large)*2);margin-inline-start:calc(var(--igc-spacing-large)*2)}`;
3
3
  //# sourceMappingURL=dropdown-item.base.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-item.base.css.js","sourceRoot":"","sources":["../../../../../src/components/dropdown/themes/light/dropdown-item.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,kiFAAkiF,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{font-family:var(--igc-body-2-font-family);font-weight:var(--igc-body-2-font-weight);font-size:var(--igc-body-2-font-size);font-style:var(--igc-body-2-font-style);letter-spacing:var(--igc-body-2-letter-spacing);text-transform:var(--igc-body-2-text-transform);line-height:var(--igc-body-2-line-height);margin-top:var(--igc-body-2-margin-top);margin-bottom:var(--igc-body-2-margin-bottom);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;white-space:nowrap;position:relative;cursor:pointer;color:hsla(var(--igc-gray-800), var(--igc-gray-a))}:host(:hover),:host([active]){background:hsla(var(--igc-gray-200), var(--igc-gray-a))}:host([selected]){background:hsla(var(--igc-secondary-100), var(--igc-secondary-a));color:var(--igc-secondary-100-contrast)}:host([selected]:hover),:host([selected][active]){background:hsla(var(--igc-secondary-200), var(--igc-secondary-a));color:var(--igc-secondary-200-contrast)}:host([disabled]){color:hsla(var(--igc-gray-500), var(--igc-gray-a));cursor:default;pointer-events:none}::slotted(*){font:inherit}[part=content]{white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;display:block;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}[part=prefix],[part=suffix]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}[name=prefix]::slotted(*){-webkit-margin-end:calc(var(--igc-spacing-large)*2);margin-inline-end:calc(var(--igc-spacing-large)*2)}[name=suffix]::slotted(*){-webkit-margin-start:calc(var(--igc-spacing-large)*2);margin-inline-start:calc(var(--igc-spacing-large)*2)}`;\n"]}
1
+ {"version":3,"file":"dropdown-item.base.css.js","sourceRoot":"","sources":["../../../../../src/components/dropdown/themes/light/dropdown-item.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,qjFAAqjF,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{font-family:var(--igc-body-2-font-family);font-weight:var(--igc-body-2-font-weight);font-size:var(--igc-body-2-font-size);font-style:var(--igc-body-2-font-style);letter-spacing:var(--igc-body-2-letter-spacing);text-transform:var(--igc-body-2-text-transform);line-height:var(--igc-body-2-line-height);margin-top:var(--igc-body-2-margin-top);margin-bottom:var(--igc-body-2-margin-bottom);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;white-space:nowrap;position:relative;cursor:pointer;color:hsla(var(--igc-gray-800), var(--igc-gray-a));outline-style:none}:host(:hover),:host([active]){background:hsla(var(--igc-gray-200), var(--igc-gray-a))}:host([selected]){background:hsla(var(--igc-secondary-100), var(--igc-secondary-a));color:var(--igc-secondary-100-contrast)}:host([selected]:hover),:host([selected][active]){background:hsla(var(--igc-secondary-200), var(--igc-secondary-a));color:var(--igc-secondary-200-contrast)}:host([disabled]){color:hsla(var(--igc-gray-500), var(--igc-gray-a));cursor:default;pointer-events:none}::slotted(*){font:inherit}[part=content]{white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;display:block;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}[part=prefix],[part=suffix]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}[name=prefix]::slotted(*){-webkit-margin-end:calc(var(--igc-spacing-large)*2);margin-inline-end:calc(var(--igc-spacing-large)*2)}[name=suffix]::slotted(*){-webkit-margin-start:calc(var(--igc-spacing-large)*2);margin-inline-start:calc(var(--igc-spacing-large)*2)}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--igc-font-family)}[part=base]{border-radius:clamp(0rem,var(--igc-radius-factor)*.25rem,.25rem);overflow-y:auto;overflow-x:hidden;background:hsla(var(--igc-surface-500), var(--igc-surface-a));-webkit-box-shadow:var(--igc-elevation-8);box-shadow:var(--igc-elevation-8);min-width:7rem;padding:.5rem 0;z-index:10005}:host([size=small]) ::slotted(igc-dropdown-item){padding:var(--igc-spacing-small) calc(var(--igc-spacing-small)*3)}:host([size=small]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-small) calc(var(--igc-spacing-small)*2)}:host([size=medium]) ::slotted(igc-dropdown-item){padding:var(--igc-spacing-medium) calc(var(--igc-spacing-medium)*3)}:host([size=medium]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-medium) calc(var(--igc-spacing-medium)*2)}:host([size=large]) ::slotted(igc-dropdown-item){padding:var(--igc-spacing-large) calc(var(--igc-spacing-large)*3)}:host([size=large]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-large) calc(var(--igc-spacing-large)*2)}`;
2
+ export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--igc-font-family)}[part=base]{border-radius:clamp(0rem,var(--igc-radius-factor)*.25rem,.25rem);overflow-y:auto;overflow-x:hidden;background:hsla(var(--igc-surface-500), var(--igc-surface-a));-webkit-box-shadow:var(--igc-elevation-8);box-shadow:var(--igc-elevation-8);min-width:7rem;padding:.5rem 0;z-index:10005}:host([size=small]) ::slotted(igc-dropdown-item),:host([size=small]) ::slotted(igc-select-item){padding:var(--igc-spacing-small) calc(var(--igc-spacing-small)*3)}:host([size=small]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-small) calc(var(--igc-spacing-small)*2)}:host([size=medium]) ::slotted(igc-dropdown-item),:host([size=medium]) ::slotted(igc-select-item){padding:var(--igc-spacing-medium) calc(var(--igc-spacing-medium)*3)}:host([size=medium]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-medium) calc(var(--igc-spacing-medium)*2)}:host([size=large]) ::slotted(igc-dropdown-item),:host([size=large]) ::slotted(igc-select-item){padding:var(--igc-spacing-large) calc(var(--igc-spacing-large)*3)}:host([size=large]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-large) calc(var(--igc-spacing-large)*2)}`;
3
3
  //# sourceMappingURL=dropdown.base.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.base.css.js","sourceRoot":"","sources":["../../../../../src/components/dropdown/themes/light/dropdown.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,kyDAAkyD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--igc-font-family)}[part=base]{border-radius:clamp(0rem,var(--igc-radius-factor)*.25rem,.25rem);overflow-y:auto;overflow-x:hidden;background:hsla(var(--igc-surface-500), var(--igc-surface-a));-webkit-box-shadow:var(--igc-elevation-8);box-shadow:var(--igc-elevation-8);min-width:7rem;padding:.5rem 0;z-index:10005}:host([size=small]) ::slotted(igc-dropdown-item){padding:var(--igc-spacing-small) calc(var(--igc-spacing-small)*3)}:host([size=small]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-small) calc(var(--igc-spacing-small)*2)}:host([size=medium]) ::slotted(igc-dropdown-item){padding:var(--igc-spacing-medium) calc(var(--igc-spacing-medium)*3)}:host([size=medium]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-medium) calc(var(--igc-spacing-medium)*2)}:host([size=large]) ::slotted(igc-dropdown-item){padding:var(--igc-spacing-large) calc(var(--igc-spacing-large)*3)}:host([size=large]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-large) calc(var(--igc-spacing-large)*2)}`;\n"]}
1
+ {"version":3,"file":"dropdown.base.css.js","sourceRoot":"","sources":["../../../../../src/components/dropdown/themes/light/dropdown.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,g7DAAg7D,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--igc-font-family)}[part=base]{border-radius:clamp(0rem,var(--igc-radius-factor)*.25rem,.25rem);overflow-y:auto;overflow-x:hidden;background:hsla(var(--igc-surface-500), var(--igc-surface-a));-webkit-box-shadow:var(--igc-elevation-8);box-shadow:var(--igc-elevation-8);min-width:7rem;padding:.5rem 0;z-index:10005}:host([size=small]) ::slotted(igc-dropdown-item),:host([size=small]) ::slotted(igc-select-item){padding:var(--igc-spacing-small) calc(var(--igc-spacing-small)*3)}:host([size=small]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-small) calc(var(--igc-spacing-small)*2)}:host([size=medium]) ::slotted(igc-dropdown-item),:host([size=medium]) ::slotted(igc-select-item){padding:var(--igc-spacing-medium) calc(var(--igc-spacing-medium)*3)}:host([size=medium]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-medium) calc(var(--igc-spacing-medium)*2)}:host([size=large]) ::slotted(igc-dropdown-item),:host([size=large]) ::slotted(igc-select-item){padding:var(--igc-spacing-large) calc(var(--igc-spacing-large)*3)}:host([size=large]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-large) calc(var(--igc-spacing-large)*2)}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host([size=small]) ::slotted(igc-dropdown-item),:host([size=small]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-small)}:host([size=medium]) ::slotted(igc-dropdown-item),:host([size=medium]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-medium)}:host([size=large]) ::slotted(igc-dropdown-item),:host([size=large]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-large)}[part=base]{border-radius:clamp(0rem,var(--igc-radius-factor)*.125rem,.125rem);-webkit-box-shadow:var(--igc-elevation-4);box-shadow:var(--igc-elevation-4);padding:0}`;
2
+ export const styles = css `:host([size=small]) ::slotted(igc-dropdown-item),:host([size=small]) ::slotted(igc-select-item),:host([size=small]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-small)}:host([size=medium]) ::slotted(igc-dropdown-item),:host([size=medium]) ::slotted(igc-select-item),:host([size=medium]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-medium)}:host([size=large]) ::slotted(igc-dropdown-item),:host([size=large]) ::slotted(igc-select-item),:host([size=large]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-large)}[part=base]{border-radius:clamp(0rem,var(--igc-radius-factor)*.125rem,.125rem);-webkit-box-shadow:var(--igc-elevation-4);box-shadow:var(--igc-elevation-4);padding:0}`;
3
3
  //# sourceMappingURL=dropdown.fluent.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/dropdown/themes/light/dropdown.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,yjBAAyjB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host([size=small]) ::slotted(igc-dropdown-item),:host([size=small]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-small)}:host([size=medium]) ::slotted(igc-dropdown-item),:host([size=medium]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-medium)}:host([size=large]) ::slotted(igc-dropdown-item),:host([size=large]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-large)}[part=base]{border-radius:clamp(0rem,var(--igc-radius-factor)*.125rem,.125rem);-webkit-box-shadow:var(--igc-elevation-4);box-shadow:var(--igc-elevation-4);padding:0}`;\n"]}
1
+ {"version":3,"file":"dropdown.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/dropdown/themes/light/dropdown.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,usBAAusB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host([size=small]) ::slotted(igc-dropdown-item),:host([size=small]) ::slotted(igc-select-item),:host([size=small]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-small)}:host([size=medium]) ::slotted(igc-dropdown-item),:host([size=medium]) ::slotted(igc-select-item),:host([size=medium]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-medium)}:host([size=large]) ::slotted(igc-dropdown-item),:host([size=large]) ::slotted(igc-select-item),:host([size=large]) ::slotted(igc-dropdown-header){padding:var(--igc-spacing-large)}[part=base]{border-radius:clamp(0rem,var(--igc-radius-factor)*.125rem,.125rem);-webkit-box-shadow:var(--igc-elevation-4);box-shadow:var(--igc-elevation-4);padding:0}`;\n"]}
@@ -1,6 +1,5 @@
1
1
  import { LitElement } from 'lit';
2
2
  import { Constructor } from '../common/mixins/constructor.js';
3
- import '../icon/icon.js';
4
3
  export interface IgcExpansionPanelComponentEventMap {
5
4
  igcOpening: CustomEvent<IgcExpansionPanelComponent>;
6
5
  igcOpened: CustomEvent<IgcExpansionPanelComponent>;
@@ -33,6 +32,7 @@ declare const IgcExpansionPanelComponent_base: import("../common/mixins/construc
33
32
  export default class IgcExpansionPanelComponent extends IgcExpansionPanelComponent_base {
34
33
  static readonly tagName = "igc-expansion-panel";
35
34
  static styles: import("lit").CSSResult;
35
+ private static readonly increment;
36
36
  /** Indicates whether the contents of the control should be visible. */
37
37
  open: boolean;
38
38
  /** Get/Set whether the expansion panel is disabled. Disabled panels are ignored for user interactions. */
@@ -4,6 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ var IgcExpansionPanelComponent_1;
7
8
  import { LitElement, html } from 'lit';
8
9
  import { property, query } from 'lit/decorators.js';
9
10
  import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
@@ -12,9 +13,11 @@ import { styles } from './themes/light/expansion-panel.base.css.js';
12
13
  import { styles as bootstrap } from './themes/light/expansion-panel.bootstrap.css.js';
13
14
  import { styles as fluent } from './themes/light/expansion-panel.fluent.css.js';
14
15
  import { styles as indigo } from './themes/light/expansion-panel.indigo.css.js';
15
- import '../icon/icon.js';
16
- let NEXT_ID = 0;
17
- let IgcExpansionPanelComponent = class IgcExpansionPanelComponent extends EventEmitterMixin(LitElement) {
16
+ import { createCounter } from '../common/util.js';
17
+ import { defineComponents } from '../common/definitions/defineComponents.js';
18
+ import IgcIconComponent from '../icon/icon.js';
19
+ defineComponents(IgcIconComponent);
20
+ let IgcExpansionPanelComponent = IgcExpansionPanelComponent_1 = class IgcExpansionPanelComponent extends EventEmitterMixin(LitElement) {
18
21
  constructor() {
19
22
  super(...arguments);
20
23
  this.open = false;
@@ -23,8 +26,9 @@ let IgcExpansionPanelComponent = class IgcExpansionPanelComponent extends EventE
23
26
  }
24
27
  connectedCallback() {
25
28
  super.connectedCallback();
26
- const id = this.getAttribute('id');
27
- this.panelId = id ? id : 'igc-expansion-panel-' + ++NEXT_ID;
29
+ this.panelId =
30
+ this.getAttribute('id') ||
31
+ `igc-expansion-panel-${IgcExpansionPanelComponent_1.increment()}`;
28
32
  }
29
33
  handleClicked() {
30
34
  this.panelHeader.focus();
@@ -149,6 +153,7 @@ let IgcExpansionPanelComponent = class IgcExpansionPanelComponent extends EventE
149
153
  };
150
154
  IgcExpansionPanelComponent.tagName = 'igc-expansion-panel';
151
155
  IgcExpansionPanelComponent.styles = styles;
156
+ IgcExpansionPanelComponent.increment = createCounter();
152
157
  __decorate([
153
158
  property({ reflect: true, type: Boolean })
154
159
  ], IgcExpansionPanelComponent.prototype, "open", void 0);
@@ -161,7 +166,7 @@ __decorate([
161
166
  __decorate([
162
167
  query('[part~="header"]', true)
163
168
  ], IgcExpansionPanelComponent.prototype, "panelHeader", void 0);
164
- IgcExpansionPanelComponent = __decorate([
169
+ IgcExpansionPanelComponent = IgcExpansionPanelComponent_1 = __decorate([
165
170
  themes({ bootstrap, fluent, indigo })
166
171
  ], IgcExpansionPanelComponent);
167
172
  export default IgcExpansionPanelComponent;