igniteui-webcomponents 4.2.2 → 4.3.0-alpha.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 (409) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +2 -6
  3. package/components/accordion/accordion.js +2 -1
  4. package/components/accordion/accordion.js.map +1 -1
  5. package/components/avatar/avatar.js +2 -2
  6. package/components/avatar/avatar.js.map +1 -1
  7. package/components/avatar/themes/dark/avatar.base.bootstrap.css.js +13 -0
  8. package/components/avatar/themes/dark/avatar.base.bootstrap.css.js.map +1 -0
  9. package/components/avatar/themes/{avatar.base.css.js → light/avatar.base.css.js} +23 -8
  10. package/components/avatar/themes/light/avatar.base.css.js.map +1 -0
  11. package/components/avatar/themes/light/avatar.bootstrap.css.js +24 -0
  12. package/components/avatar/themes/light/avatar.bootstrap.css.js.map +1 -0
  13. package/components/badge/badge.js.map +1 -1
  14. package/components/badge/themes/light/badge.base.css.js +4 -5
  15. package/components/badge/themes/light/badge.base.css.js.map +1 -1
  16. package/components/button/button-base.js.map +1 -1
  17. package/components/button/button.js.map +1 -1
  18. package/components/button/icon-button.js +1 -1
  19. package/components/button/icon-button.js.map +1 -1
  20. package/components/button/themes/button/dark/button.bootstrap.css.js +13 -0
  21. package/components/button/themes/button/dark/button.bootstrap.css.js.map +1 -0
  22. package/components/button/themes/button/dark/button.fluent.css.js +11 -1
  23. package/components/button/themes/button/dark/button.fluent.css.js.map +1 -1
  24. package/components/button/themes/button/dark/button.indigo.css.d.ts +1 -0
  25. package/components/button/themes/button/dark/button.indigo.css.js +13 -0
  26. package/components/button/themes/button/dark/button.indigo.css.js.map +1 -0
  27. package/components/button/themes/button/dark/button.material.css.d.ts +1 -0
  28. package/components/button/themes/button/dark/button.material.css.js +13 -0
  29. package/components/button/themes/button/dark/button.material.css.js.map +1 -0
  30. package/components/button/themes/button/light/button.base.css.js +6 -57
  31. package/components/button/themes/button/light/button.base.css.js.map +1 -1
  32. package/components/button/themes/button/light/button.bootstrap.css.js +227 -71
  33. package/components/button/themes/button/light/button.bootstrap.css.js.map +1 -1
  34. package/components/button/themes/button/light/button.fluent.css.js +287 -70
  35. package/components/button/themes/button/light/button.fluent.css.js.map +1 -1
  36. package/components/button/themes/button/light/button.indigo.css.js +280 -78
  37. package/components/button/themes/button/light/button.indigo.css.js.map +1 -1
  38. package/components/button/themes/button/light/button.material.css.js +280 -170
  39. package/components/button/themes/button/light/button.material.css.js.map +1 -1
  40. package/components/button/themes/icon-button/light/icon-button.base.css.js +10 -8
  41. package/components/button/themes/icon-button/light/icon-button.base.css.js.map +1 -1
  42. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js +24 -0
  43. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js.map +1 -1
  44. package/components/button/themes/icon-button/light/icon-button.fluent.css.js +16 -0
  45. package/components/button/themes/icon-button/light/icon-button.fluent.css.js.map +1 -1
  46. package/components/button/themes/icon-button/light/icon-button.indigo.css.js +9 -0
  47. package/components/button/themes/icon-button/light/icon-button.indigo.css.js.map +1 -1
  48. package/components/button/themes/icon-button/light/icon-button.material.css.js +7 -0
  49. package/components/button/themes/icon-button/light/icon-button.material.css.js.map +1 -1
  50. package/components/calendar/calendar.js.map +1 -1
  51. package/components/calendar/common/calendar-base.d.ts +7 -3
  52. package/components/calendar/common/calendar-base.js +24 -2
  53. package/components/calendar/common/calendar-base.js.map +1 -1
  54. package/components/calendar/days-view/days-view.js.map +1 -1
  55. package/components/calendar/months-view/months-view.js.map +1 -1
  56. package/components/calendar/themes/calendar.base.css.js +4 -5
  57. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  58. package/components/calendar/themes/fluent/calendar.fluent.css.js +4 -5
  59. package/components/calendar/themes/fluent/calendar.fluent.css.js.map +1 -1
  60. package/components/calendar/years-view/years-view.js.map +1 -1
  61. package/components/card/card.actions.js.map +1 -1
  62. package/components/card/card.content.js.map +1 -1
  63. package/components/card/card.header.js.map +1 -1
  64. package/components/card/card.js.map +1 -1
  65. package/components/card/card.media.js +2 -1
  66. package/components/card/card.media.js.map +1 -1
  67. package/components/card/themes/light/card.actions.bootstrap.css.js +4 -5
  68. package/components/card/themes/light/card.actions.bootstrap.css.js.map +1 -1
  69. package/components/card/themes/light/card.actions.material.css.js +4 -5
  70. package/components/card/themes/light/card.actions.material.css.js.map +1 -1
  71. package/components/card/themes/light/card.content.bootstrap.css.js +5 -8
  72. package/components/card/themes/light/card.content.bootstrap.css.js.map +1 -1
  73. package/components/card/themes/light/card.content.indigo.css.js +5 -8
  74. package/components/card/themes/light/card.content.indigo.css.js.map +1 -1
  75. package/components/card/themes/light/card.content.material.css.js +5 -8
  76. package/components/card/themes/light/card.content.material.css.js.map +1 -1
  77. package/components/card/themes/light/card.header.bootstrap.css.js +4 -8
  78. package/components/card/themes/light/card.header.bootstrap.css.js.map +1 -1
  79. package/components/card/themes/light/card.header.fluent.css.js +4 -8
  80. package/components/card/themes/light/card.header.fluent.css.js.map +1 -1
  81. package/components/card/themes/light/card.header.indigo.css.js +4 -8
  82. package/components/card/themes/light/card.header.indigo.css.js.map +1 -1
  83. package/components/card/themes/light/card.header.material.css.js +4 -8
  84. package/components/card/themes/light/card.header.material.css.js.map +1 -1
  85. package/components/card/themes/light/card.material.css.js +15 -5
  86. package/components/card/themes/light/card.material.css.js.map +1 -1
  87. package/components/card/themes/light/card.media.material.css.js +4 -5
  88. package/components/card/themes/light/card.media.material.css.js.map +1 -1
  89. package/components/checkbox/checkbox-base.js.map +1 -1
  90. package/components/checkbox/checkbox.js.map +1 -1
  91. package/components/checkbox/switch.js.map +1 -1
  92. package/components/checkbox/themes/dark/checkbox.bootstrap.css.d.ts +1 -0
  93. package/components/checkbox/themes/dark/checkbox.bootstrap.css.js +13 -0
  94. package/components/checkbox/themes/dark/checkbox.bootstrap.css.js.map +1 -0
  95. package/components/checkbox/themes/dark/checkbox.fluent.css.js +11 -1
  96. package/components/checkbox/themes/dark/checkbox.fluent.css.js.map +1 -1
  97. package/components/checkbox/themes/dark/checkbox.indigo.css.js +11 -1
  98. package/components/checkbox/themes/dark/checkbox.indigo.css.js.map +1 -1
  99. package/components/checkbox/themes/dark/checkbox.material.css.d.ts +1 -0
  100. package/components/checkbox/themes/dark/checkbox.material.css.js +13 -0
  101. package/components/checkbox/themes/dark/checkbox.material.css.js.map +1 -0
  102. package/components/checkbox/themes/dark/switch.bootstrap.css.d.ts +1 -0
  103. package/components/checkbox/themes/dark/switch.bootstrap.css.js +13 -0
  104. package/components/checkbox/themes/dark/switch.bootstrap.css.js.map +1 -0
  105. package/components/checkbox/themes/dark/switch.fluent.css.js +11 -1
  106. package/components/checkbox/themes/dark/switch.fluent.css.js.map +1 -1
  107. package/components/checkbox/themes/dark/switch.indigo.css.js +11 -1
  108. package/components/checkbox/themes/dark/switch.indigo.css.js.map +1 -1
  109. package/components/checkbox/themes/dark/switch.material.css.d.ts +1 -0
  110. package/components/checkbox/themes/dark/switch.material.css.js +13 -0
  111. package/components/checkbox/themes/dark/switch.material.css.js.map +1 -0
  112. package/components/checkbox/themes/light/checkbox.base.css.js +15 -51
  113. package/components/checkbox/themes/light/checkbox.base.css.js.map +1 -1
  114. package/components/checkbox/themes/light/checkbox.bootstrap.css.js +122 -46
  115. package/components/checkbox/themes/light/checkbox.bootstrap.css.js.map +1 -1
  116. package/components/checkbox/themes/light/checkbox.fluent.css.js +170 -87
  117. package/components/checkbox/themes/light/checkbox.fluent.css.js.map +1 -1
  118. package/components/checkbox/themes/light/checkbox.indigo.css.js +134 -49
  119. package/components/checkbox/themes/light/checkbox.indigo.css.js.map +1 -1
  120. package/components/checkbox/themes/light/checkbox.material.css.js +146 -18
  121. package/components/checkbox/themes/light/checkbox.material.css.js.map +1 -1
  122. package/components/checkbox/themes/light/switch.base.css.js +29 -56
  123. package/components/checkbox/themes/light/switch.base.css.js.map +1 -1
  124. package/components/checkbox/themes/light/switch.bootstrap.css.js +146 -95
  125. package/components/checkbox/themes/light/switch.bootstrap.css.js.map +1 -1
  126. package/components/checkbox/themes/light/switch.fluent.css.js +142 -80
  127. package/components/checkbox/themes/light/switch.fluent.css.js.map +1 -1
  128. package/components/checkbox/themes/light/switch.indigo.css.js +152 -97
  129. package/components/checkbox/themes/light/switch.indigo.css.js.map +1 -1
  130. package/components/checkbox/themes/light/switch.material.css.js +169 -37
  131. package/components/checkbox/themes/light/switch.material.css.js.map +1 -1
  132. package/components/chip/chip.js.map +1 -1
  133. package/components/chip/themes/chip.base.css.js +4 -5
  134. package/components/chip/themes/chip.base.css.js.map +1 -1
  135. package/components/chip/themes/chip.bootstrap.css.js +4 -5
  136. package/components/chip/themes/chip.bootstrap.css.js.map +1 -1
  137. package/components/chip/themes/chip.fluent.css.js +5 -5
  138. package/components/chip/themes/chip.fluent.css.js.map +1 -1
  139. package/components/chip/themes/chip.indigo.css.js +4 -5
  140. package/components/chip/themes/chip.indigo.css.js.map +1 -1
  141. package/components/chip/themes/chip.material.css.js +5 -5
  142. package/components/chip/themes/chip.material.css.js.map +1 -1
  143. package/components/combo/combo-header.js.map +1 -1
  144. package/components/combo/combo-item.d.ts +5 -0
  145. package/components/combo/combo-item.js.map +1 -1
  146. package/components/combo/combo-list.js +2 -1
  147. package/components/combo/combo-list.js.map +1 -1
  148. package/components/combo/combo.d.ts +50 -4
  149. package/components/combo/combo.js +57 -26
  150. package/components/combo/combo.js.map +1 -1
  151. package/components/combo/controllers/data.js +9 -5
  152. package/components/combo/controllers/data.js.map +1 -1
  153. package/components/combo/controllers/selection.d.ts +2 -1
  154. package/components/combo/controllers/selection.js +14 -2
  155. package/components/combo/controllers/selection.js.map +1 -1
  156. package/components/combo/operations/filter.d.ts +3 -1
  157. package/components/combo/operations/filter.js +10 -7
  158. package/components/combo/operations/filter.js.map +1 -1
  159. package/components/combo/operations/group.d.ts +2 -2
  160. package/components/combo/operations/group.js +8 -5
  161. package/components/combo/operations/group.js.map +1 -1
  162. package/components/combo/themes/light/combo.base.css.js +4 -5
  163. package/components/combo/themes/light/combo.base.css.js.map +1 -1
  164. package/components/combo/themes/light/header/combo-header.base.css.js +4 -5
  165. package/components/combo/themes/light/header/combo-header.base.css.js.map +1 -1
  166. package/components/combo/themes/light/item/combo-item.base.css.js +4 -5
  167. package/components/combo/themes/light/item/combo-item.base.css.js.map +1 -1
  168. package/components/combo/types.d.ts +5 -4
  169. package/components/combo/types.js.map +1 -1
  170. package/components/common/mixins/sizable.js.map +1 -1
  171. package/components/date-time-input/date-time-input.js +2 -1
  172. package/components/date-time-input/date-time-input.js.map +1 -1
  173. package/components/date-time-input/date-util.js +2 -1
  174. package/components/date-time-input/date-util.js.map +1 -1
  175. package/components/dialog/dialog.d.ts +8 -1
  176. package/components/dialog/dialog.js +12 -3
  177. package/components/dialog/dialog.js.map +1 -1
  178. package/components/dialog/themes/light/dialog.base.css.js +5 -13
  179. package/components/dialog/themes/light/dialog.base.css.js.map +1 -1
  180. package/components/dropdown/dropdown-group.js.map +1 -1
  181. package/components/dropdown/dropdown-header.js.map +1 -1
  182. package/components/dropdown/dropdown-item.js.map +1 -1
  183. package/components/dropdown/dropdown.js +2 -0
  184. package/components/dropdown/dropdown.js.map +1 -1
  185. package/components/dropdown/themes/light/dropdown-group.base.css.js +4 -5
  186. package/components/dropdown/themes/light/dropdown-group.base.css.js.map +1 -1
  187. package/components/dropdown/themes/light/dropdown-header.base.css.js +4 -5
  188. package/components/dropdown/themes/light/dropdown-header.base.css.js.map +1 -1
  189. package/components/dropdown/themes/light/dropdown-item.base.css.js +4 -5
  190. package/components/dropdown/themes/light/dropdown-item.base.css.js.map +1 -1
  191. package/components/dropdown/themes/light/dropdown.base.css.js +4 -5
  192. package/components/dropdown/themes/light/dropdown.base.css.js.map +1 -1
  193. package/components/expansion-panel/expansion-panel.d.ts +1 -0
  194. package/components/expansion-panel/expansion-panel.js.map +1 -1
  195. package/components/expansion-panel/themes/light/expansion-panel.base.css.js +4 -5
  196. package/components/expansion-panel/themes/light/expansion-panel.base.css.js.map +1 -1
  197. package/components/form/form.js +2 -1
  198. package/components/form/form.js.map +1 -1
  199. package/components/icon/dark/icon.bootstrap.css.d.ts +1 -0
  200. package/components/icon/dark/icon.bootstrap.css.js +13 -0
  201. package/components/icon/dark/icon.bootstrap.css.js.map +1 -0
  202. package/components/icon/dark/icon.fluent.css.d.ts +1 -0
  203. package/components/{avatar/themes/avatar.bootstrap.css.js → icon/dark/icon.fluent.css.js} +11 -5
  204. package/components/icon/dark/icon.fluent.css.js.map +1 -0
  205. package/components/icon/dark/icon.indigo.css.d.ts +1 -0
  206. package/components/icon/dark/icon.indigo.css.js +13 -0
  207. package/components/icon/dark/icon.indigo.css.js.map +1 -0
  208. package/components/icon/dark/icon.material.css.d.ts +1 -0
  209. package/components/icon/dark/icon.material.css.js +13 -0
  210. package/components/icon/dark/icon.material.css.js.map +1 -0
  211. package/components/icon/icon.base.css.d.ts +1 -0
  212. package/components/icon/{icon.material.css.js → icon.base.css.js} +11 -13
  213. package/components/icon/icon.base.css.js.map +1 -0
  214. package/components/icon/icon.js +12 -3
  215. package/components/icon/icon.js.map +1 -1
  216. package/components/icon/light/icon.bootstrap.css.d.ts +1 -0
  217. package/components/icon/light/icon.bootstrap.css.js +58 -0
  218. package/components/icon/light/icon.bootstrap.css.js.map +1 -0
  219. package/components/icon/light/icon.fluent.css.d.ts +1 -0
  220. package/components/icon/light/icon.fluent.css.js +58 -0
  221. package/components/icon/light/icon.fluent.css.js.map +1 -0
  222. package/components/icon/light/icon.indigo.css.d.ts +1 -0
  223. package/components/icon/light/icon.indigo.css.js +58 -0
  224. package/components/icon/light/icon.indigo.css.js.map +1 -0
  225. package/components/icon/light/icon.material.css.d.ts +1 -0
  226. package/components/icon/light/icon.material.css.js +58 -0
  227. package/components/icon/light/icon.material.css.js.map +1 -0
  228. package/components/input/input-base.js.map +1 -1
  229. package/components/input/input.js +2 -1
  230. package/components/input/input.js.map +1 -1
  231. package/components/input/themes/light/input.base.css.js +4 -5
  232. package/components/input/themes/light/input.base.css.js.map +1 -1
  233. package/components/list/list-header.js.map +1 -1
  234. package/components/list/list-item.js.map +1 -1
  235. package/components/list/list.js.map +1 -1
  236. package/components/list/themes/light/list-header.base.css.js +4 -5
  237. package/components/list/themes/light/list-header.base.css.js.map +1 -1
  238. package/components/list/themes/light/list-item.base.css.js +4 -5
  239. package/components/list/themes/light/list-item.base.css.js.map +1 -1
  240. package/components/list/themes/light/list.base.css.js +4 -5
  241. package/components/list/themes/light/list.base.css.js.map +1 -1
  242. package/components/mask-input/mask-input-base.js.map +1 -1
  243. package/components/mask-input/mask-input.js +2 -1
  244. package/components/mask-input/mask-input.js.map +1 -1
  245. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  246. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  247. package/components/nav-drawer/nav-drawer.js.map +1 -1
  248. package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js +4 -5
  249. package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js.map +1 -1
  250. package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js +4 -5
  251. package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js.map +1 -1
  252. package/components/nav-drawer/themes/light/nav-drawer.base.css.js +4 -5
  253. package/components/nav-drawer/themes/light/nav-drawer.base.css.js.map +1 -1
  254. package/components/navbar/navbar.js +3 -2
  255. package/components/navbar/navbar.js.map +1 -1
  256. package/components/navbar/themes/dark/navbar.bootstrap.css.d.ts +1 -0
  257. package/components/navbar/themes/dark/navbar.bootstrap.css.js +13 -0
  258. package/components/navbar/themes/dark/navbar.bootstrap.css.js.map +1 -0
  259. package/components/navbar/themes/dark/navbar.fluent.css.d.ts +1 -0
  260. package/components/navbar/themes/dark/navbar.fluent.css.js +13 -0
  261. package/components/navbar/themes/dark/navbar.fluent.css.js.map +1 -0
  262. package/components/navbar/themes/dark/navbar.indigo.css.d.ts +1 -0
  263. package/components/navbar/themes/dark/navbar.indigo.css.js +13 -0
  264. package/components/navbar/themes/dark/navbar.indigo.css.js.map +1 -0
  265. package/components/navbar/themes/dark/navbar.material.css.d.ts +1 -0
  266. package/components/navbar/themes/dark/navbar.material.css.js +13 -0
  267. package/components/navbar/themes/dark/navbar.material.css.js.map +1 -0
  268. package/components/navbar/themes/light/navbar.bootstrap.css.js +60 -6
  269. package/components/navbar/themes/light/navbar.bootstrap.css.js.map +1 -1
  270. package/components/navbar/themes/light/navbar.fluent.css.js +66 -1
  271. package/components/navbar/themes/light/navbar.fluent.css.js.map +1 -1
  272. package/components/navbar/themes/light/navbar.indigo.css.js +63 -3
  273. package/components/navbar/themes/light/navbar.indigo.css.js.map +1 -1
  274. package/components/navbar/themes/light/navbar.material.css.d.ts +1 -0
  275. package/components/navbar/themes/light/navbar.material.css.js +67 -0
  276. package/components/navbar/themes/light/navbar.material.css.js.map +1 -0
  277. package/components/navbar/themes/navbar.base.css.d.ts +1 -0
  278. package/components/navbar/themes/{light/navbar.base.css.js → navbar.base.css.js} +9 -11
  279. package/components/navbar/themes/navbar.base.css.js.map +1 -0
  280. package/components/progress/base.js.map +1 -1
  281. package/components/progress/circular-gradient.js +2 -1
  282. package/components/progress/circular-gradient.js.map +1 -1
  283. package/components/progress/circular-progress.js.map +1 -1
  284. package/components/progress/linear-progress.js.map +1 -1
  285. package/components/progress/themes/circular/circular.progress.base.css.js +4 -5
  286. package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
  287. package/components/progress/themes/linear/linear.progress.base.css.js +4 -5
  288. package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
  289. package/components/progress/themes/linear/linear.progress.bootstrap.css.js +4 -5
  290. package/components/progress/themes/linear/linear.progress.bootstrap.css.js.map +1 -1
  291. package/components/progress/themes/linear/linear.progress.indigo.css.js +4 -5
  292. package/components/progress/themes/linear/linear.progress.indigo.css.js.map +1 -1
  293. package/components/radio/radio.js +6 -3
  294. package/components/radio/radio.js.map +1 -1
  295. package/components/radio/themes/dark/radio.bootstrap.css.d.ts +1 -0
  296. package/components/radio/themes/dark/radio.bootstrap.css.js +13 -0
  297. package/components/radio/themes/dark/radio.bootstrap.css.js.map +1 -0
  298. package/components/radio/themes/dark/radio.fluent.css.js +11 -1
  299. package/components/radio/themes/dark/radio.fluent.css.js.map +1 -1
  300. package/components/radio/themes/dark/radio.indigo.css.js +11 -1
  301. package/components/radio/themes/dark/radio.indigo.css.js.map +1 -1
  302. package/components/radio/themes/dark/radio.material.css.js +11 -1
  303. package/components/radio/themes/dark/radio.material.css.js.map +1 -1
  304. package/components/radio/themes/light/radio.base.css.js +22 -41
  305. package/components/radio/themes/light/radio.base.css.js.map +1 -1
  306. package/components/radio/themes/light/radio.bootstrap.css.js +100 -30
  307. package/components/radio/themes/light/radio.bootstrap.css.js.map +1 -1
  308. package/components/radio/themes/light/radio.fluent.css.js +156 -71
  309. package/components/radio/themes/light/radio.fluent.css.js.map +1 -1
  310. package/components/radio/themes/light/radio.indigo.css.js +104 -56
  311. package/components/radio/themes/light/radio.indigo.css.js.map +1 -1
  312. package/components/radio/themes/light/radio.material.css.js +129 -16
  313. package/components/radio/themes/light/radio.material.css.js.map +1 -1
  314. package/components/radio-group/radio-group.base.css.js +4 -5
  315. package/components/radio-group/radio-group.base.css.js.map +1 -1
  316. package/components/radio-group/radio-group.js.map +1 -1
  317. package/components/rating/rating-symbol.base.css.js +4 -5
  318. package/components/rating/rating-symbol.base.css.js.map +1 -1
  319. package/components/rating/rating-symbol.js +2 -1
  320. package/components/rating/rating-symbol.js.map +1 -1
  321. package/components/rating/rating.base.css.js +4 -5
  322. package/components/rating/rating.base.css.js.map +1 -1
  323. package/components/rating/rating.js.map +1 -1
  324. package/components/ripple/ripple.js +2 -1
  325. package/components/ripple/ripple.js.map +1 -1
  326. package/components/ripple/ripple.material.css.js +4 -5
  327. package/components/ripple/ripple.material.css.js.map +1 -1
  328. package/components/select/select-group.js +2 -1
  329. package/components/select/select-group.js.map +1 -1
  330. package/components/select/select-header.js +2 -1
  331. package/components/select/select-header.js.map +1 -1
  332. package/components/select/select-item.js +2 -1
  333. package/components/select/select-item.js.map +1 -1
  334. package/components/select/select.d.ts +2 -0
  335. package/components/select/select.js +7 -4
  336. package/components/select/select.js.map +1 -1
  337. package/components/select/themes/light/select.base.css.js +4 -5
  338. package/components/select/themes/light/select.base.css.js.map +1 -1
  339. package/components/slider/range-slider.js +2 -1
  340. package/components/slider/range-slider.js.map +1 -1
  341. package/components/slider/slider-base.js.map +1 -1
  342. package/components/slider/slider-label.js +2 -1
  343. package/components/slider/slider-label.js.map +1 -1
  344. package/components/slider/slider.js +2 -1
  345. package/components/slider/slider.js.map +1 -1
  346. package/components/slider/themes/light/slider.base.css.js +4 -5
  347. package/components/slider/themes/light/slider.base.css.js.map +1 -1
  348. package/components/snackbar/snackbar.js.map +1 -1
  349. package/components/snackbar/themes/light/snackbar.base.css.js +4 -5
  350. package/components/snackbar/themes/light/snackbar.base.css.js.map +1 -1
  351. package/components/stepper/step.js.map +1 -1
  352. package/components/stepper/stepper.d.ts +1 -1
  353. package/components/stepper/stepper.js +12 -3
  354. package/components/stepper/stepper.js.map +1 -1
  355. package/components/stepper/themes/step/light/step.base.css.js +7 -5
  356. package/components/stepper/themes/step/light/step.base.css.js.map +1 -1
  357. package/components/stepper/themes/stepper/stepper.base.css.js +13 -6
  358. package/components/stepper/themes/stepper/stepper.base.css.js.map +1 -1
  359. package/components/stepper/themes/stepper/stepper.bootstrap.css.js +4 -5
  360. package/components/stepper/themes/stepper/stepper.bootstrap.css.js.map +1 -1
  361. package/components/stepper/themes/stepper/stepper.fluent.css.js +4 -5
  362. package/components/stepper/themes/stepper/stepper.fluent.css.js.map +1 -1
  363. package/components/stepper/themes/stepper/stepper.indigo.css.js +4 -5
  364. package/components/stepper/themes/stepper/stepper.indigo.css.js.map +1 -1
  365. package/components/tabs/tab-panel.js +2 -1
  366. package/components/tabs/tab-panel.js.map +1 -1
  367. package/components/tabs/tab.js.map +1 -1
  368. package/components/tabs/tabs.js +1 -1
  369. package/components/tabs/tabs.js.map +1 -1
  370. package/components/tabs/themes/light/tab-panel.base.css.js +12 -8
  371. package/components/tabs/themes/light/tab-panel.base.css.js.map +1 -1
  372. package/components/tabs/themes/light/tab.base.css.js +5 -8
  373. package/components/tabs/themes/light/tab.base.css.js.map +1 -1
  374. package/components/tabs/themes/light/tabs.base.css.js +29 -6
  375. package/components/tabs/themes/light/tabs.base.css.js.map +1 -1
  376. package/components/toast/toast.js.map +1 -1
  377. package/components/toggle/toggle.directive.js +2 -1
  378. package/components/toggle/toggle.directive.js.map +1 -1
  379. package/components/tree/themes/light/tree-item.base.css.js +4 -5
  380. package/components/tree/themes/light/tree-item.base.css.js.map +1 -1
  381. package/components/tree/themes/light/tree.base.css.js +4 -5
  382. package/components/tree/themes/light/tree.base.css.js.map +1 -1
  383. package/components/tree/tree-item.js.map +1 -1
  384. package/components/tree/tree.js.map +1 -1
  385. package/custom-elements.json +60 -38
  386. package/index.d.ts +1 -1
  387. package/index.js +1 -0
  388. package/index.js.map +1 -1
  389. package/package.json +4 -4
  390. package/themes/dark/bootstrap.css +318 -0
  391. package/themes/dark/fluent.css +301 -23
  392. package/themes/dark/indigo.css +305 -12
  393. package/themes/dark/material.css +327 -6
  394. package/themes/light/bootstrap.css +108 -0
  395. package/themes/light/fluent.css +108 -0
  396. package/themes/light/indigo.css +108 -0
  397. package/themes/light/material.css +108 -0
  398. package/vscode-html-custom-data.json +26 -32
  399. package/components/avatar/themes/avatar.base.css.js.map +0 -1
  400. package/components/avatar/themes/avatar.bootstrap.css.js.map +0 -1
  401. package/components/combo/utils/converters.d.ts +0 -3
  402. package/components/combo/utils/converters.js +0 -9
  403. package/components/combo/utils/converters.js.map +0 -1
  404. package/components/icon/icon.material.css.js.map +0 -1
  405. package/components/navbar/themes/light/navbar.base.css.js.map +0 -1
  406. /package/components/avatar/themes/{avatar.base.css.d.ts → dark/avatar.base.bootstrap.css.d.ts} +0 -0
  407. /package/components/avatar/themes/{avatar.bootstrap.css.d.ts → light/avatar.base.css.d.ts} +0 -0
  408. /package/components/{icon/icon.material.css.d.ts → avatar/themes/light/avatar.bootstrap.css.d.ts} +0 -0
  409. /package/components/{navbar/themes/light/navbar.base.css.d.ts → button/themes/button/dark/button.bootstrap.css.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../src/components/dialog/dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { createCounter } from '../common/util.js';\nimport { styles } from './themes/light/dialog.base.css.js';\nimport { styles as bootstrap } from './themes/light/dialog.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/dialog.fluent.css.js';\nimport { styles as indigo } from './themes/light/dialog.indigo.css.js';\nimport { styles as material } from './themes/light/dialog.material.css.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { defineComponents } from '../common/definitions/defineComponents.js';\nimport IgcButtonComponent from '../button/button.js';\n\ndefineComponents(IgcButtonComponent);\n\nexport interface IgcDialogEventMap {\n igcClosing: CustomEvent<void>;\n igcClosed: CustomEvent<void>;\n}\n\n/**\n * Represents a Dialog component.\n *\n * @element igc-dialog\n *\n * @fires igcClosing - Emitter just before the dialog is closed.\n * @fires igcClosed - Emitted after closing the dialog.\n *\n * @slot - Renders content inside the default slot.\n * @slot title - Renders the title of the dialog header.\n * @slot footer - Renders the dialog footer.\n *\n * @csspart base - The base wrapper of the dialog.\n * @csspart title - The title container.\n * @csspart footer - The footer container.\n * @csspart overlay - The overlay.\n */\n@themes({ bootstrap, material, fluent, indigo })\n@blazorAdditionalDependencies('IgcButtonComponent')\nexport default class IgcDialogComponent extends EventEmitterMixin<\n IgcDialogEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-dialog';\n public static styles = [styles];\n\n private static readonly increment = createCounter();\n private titleId = `title-${IgcDialogComponent.increment()}`;\n\n @query('dialog', true)\n private dialog!: HTMLDialogElement;\n\n /**\n * Whether the dialog should be closed when pressing the 'ESCAPE' button.\n * @attr close-on-escape\n */\n @property({ type: Boolean, attribute: 'close-on-escape' })\n public closeOnEscape = true;\n\n /**\n * Whether the dialog should be closed when clicking outside of it.\n * @attr close-on-outside-click\n */\n @property({ type: Boolean, attribute: 'close-on-outside-click' })\n public closeOnOutsideClick = false;\n\n /**\n * Whether to hide the default action button for the dialog.\n *\n * When there is projected content in the `footer` slot this property\n * has no effect.\n * @attr hide-default-action\n */\n @property({ type: Boolean, attribute: 'hide-default-action' })\n public hideDefaultAction = false;\n\n /**\n * Whether the dialog is opened.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n /**\n * Sets the title of the dialog.\n * @attr\n */\n @property()\n public override title!: string;\n\n /** Sets the return value for the dialog. */\n @property({ attribute: false })\n public returnValue!: string;\n\n @watch('open', { waitUntilFirstUpdate: true })\n protected handleOpenState() {\n this.open ? this.dialog.showModal() : this.dialog.close();\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n if (this.open) {\n this.dialog.showModal();\n }\n }\n\n /** Opens the dialog. */\n public show() {\n if (this.open) {\n return;\n }\n\n this.open = true;\n }\n\n /** Closes the dialog. */\n public hide() {\n if (!this.open) {\n return;\n }\n\n this.open = false;\n }\n\n /** Toggles the open state of the dialog. */\n public toggle() {\n this.open ? this.hide() : this.show();\n }\n\n protected async hideWithEvent() {\n if (!this.open) {\n return;\n }\n\n if (!this.handleClosing()) {\n return;\n }\n\n this.open = false;\n await this.updateComplete;\n this.emitEvent('igcClosed');\n }\n\n private handleCancel(event: Event) {\n event.preventDefault();\n\n if (this.closeOnEscape) {\n this.hideWithEvent();\n }\n }\n\n private handleClick({ clientX, clientY, target }: MouseEvent) {\n if (this.closeOnOutsideClick && this.dialog.isSameNode(target as Node)) {\n const { left, top, right, bottom } = this.dialog.getBoundingClientRect();\n const between = (x: number, low: number, high: number) =>\n x >= low && x <= high;\n if (!(between(clientX, left, right) && between(clientY, top, bottom))) {\n this.hideWithEvent();\n }\n }\n }\n\n private handleClosing(): boolean {\n return this.emitEvent('igcClosing', { cancelable: true });\n }\n\n protected formSubmitHandler = (e: Event) => {\n if (e instanceof SubmitEvent && e.submitter) {\n this.returnValue = (e.submitter as any)?.value || '';\n }\n if (!e.defaultPrevented) {\n this.hideWithEvent();\n }\n };\n\n private handleSlotChange() {\n // Setup submit handling for supported forms\n Array.from(this.querySelectorAll('igc-form, form'))\n .filter((each) => each.getAttribute('method') === 'dialog')\n .forEach((form) => {\n const event = /igc-form/i.test(form.tagName) ? 'igcSubmit' : 'submit';\n form.removeEventListener(event, this.formSubmitHandler);\n form.addEventListener(event, this.formSubmitHandler);\n });\n }\n\n protected override render() {\n const label = this.ariaLabel ? this.ariaLabel : undefined;\n const labelledby = label ? undefined : this.titleId;\n\n return html`\n <div part=\"backdrop\" aria-hidden=\"true\" ?hidden=${!this.open}></div>\n <dialog\n part=\"base\"\n role=\"dialog\"\n @click=${this.handleClick}\n @cancel=${this.handleCancel}\n aria-label=${ifDefined(label)}\n aria-labelledby=${ifDefined(labelledby)}\n >\n <header part=\"title\" id=${this.titleId}>\n <slot name=\"title\"><span>${this.title}</span></slot>\n </header>\n <section part=\"content\">\n <slot @slotchange=${this.handleSlotChange}></slot>\n </section>\n <footer part=\"footer\">\n <slot name=\"footer\">\n ${this.hideDefaultAction\n ? nothing\n : html`<igc-button variant=\"flat\" @click=${this.hideWithEvent}\n >OK</igc-button\n >`}\n </slot>\n </footer>\n </dialog>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dialog': IgcDialogComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../src/components/dialog/dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { createCounter } from '../common/util.js';\nimport { styles } from './themes/light/dialog.base.css.js';\nimport { styles as bootstrap } from './themes/light/dialog.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/dialog.fluent.css.js';\nimport { styles as indigo } from './themes/light/dialog.indigo.css.js';\nimport { styles as material } from './themes/light/dialog.material.css.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { defineComponents } from '../common/definitions/defineComponents.js';\nimport IgcButtonComponent from '../button/button.js';\n\ndefineComponents(IgcButtonComponent);\n\nexport interface IgcDialogEventMap {\n igcClosing: CustomEvent<void>;\n igcClosed: CustomEvent<void>;\n}\n\n/**\n * Represents a Dialog component.\n *\n * @element igc-dialog\n *\n * @fires igcClosing - Emitter just before the dialog is closed.\n * @fires igcClosed - Emitted after closing the dialog.\n *\n * @slot - Renders content inside the default slot.\n * @slot title - Renders the title of the dialog header.\n * @slot footer - Renders the dialog footer.\n *\n * @csspart base - The base wrapper of the dialog.\n * @csspart title - The title container.\n * @csspart footer - The footer container.\n * @csspart overlay - The overlay.\n */\n@themes({ bootstrap, material, fluent, indigo })\n@blazorAdditionalDependencies('IgcButtonComponent')\nexport default class IgcDialogComponent extends EventEmitterMixin<\n IgcDialogEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-dialog';\n public static styles = [styles];\n\n private static readonly increment = createCounter();\n private titleId = `title-${IgcDialogComponent.increment()}`;\n\n @query('dialog', true)\n private dialog!: HTMLDialogElement;\n\n /* blazorSuppress */\n /**\n * Whether the dialog should be closed when pressing the 'ESCAPE' button.\n * @deprecated since version 4.2.3. Use `keepOpenOnEscape` instead.\n * @attr close-on-escape\n */\n @property({ type: Boolean, attribute: 'close-on-escape' })\n public set closeOnEscape(value: boolean) {\n this.keepOpenOnEscape = !value;\n }\n public get closeOnEscape(): boolean {\n return !this.keepOpenOnEscape;\n }\n\n /**\n * Whether the dialog should be kept open when pressing the 'ESCAPE' button.\n * @attr keep-open-on-escape\n */\n @property({ type: Boolean, attribute: 'keep-open-on-escape' })\n public keepOpenOnEscape = false;\n\n /**\n * Whether the dialog should be closed when clicking outside of it.\n * @attr close-on-outside-click\n */\n @property({ type: Boolean, attribute: 'close-on-outside-click' })\n public closeOnOutsideClick = false;\n\n /**\n * Whether to hide the default action button for the dialog.\n *\n * When there is projected content in the `footer` slot this property\n * has no effect.\n * @attr hide-default-action\n */\n @property({ type: Boolean, attribute: 'hide-default-action' })\n public hideDefaultAction = false;\n\n /**\n * Whether the dialog is opened.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n /**\n * Sets the title of the dialog.\n * @attr\n */\n @property()\n public override title!: string;\n\n /** Sets the return value for the dialog. */\n @property({ attribute: false })\n public returnValue!: string;\n\n @watch('open', { waitUntilFirstUpdate: true })\n protected handleOpenState() {\n this.open ? this.dialog.showModal() : this.dialog.close();\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n if (this.open) {\n this.dialog.showModal();\n }\n }\n\n /** Opens the dialog. */\n public show() {\n if (this.open) {\n return;\n }\n\n this.open = true;\n }\n\n /** Closes the dialog. */\n public hide() {\n if (!this.open) {\n return;\n }\n\n this.open = false;\n }\n\n /** Toggles the open state of the dialog. */\n public toggle() {\n this.open ? this.hide() : this.show();\n }\n\n protected async hideWithEvent() {\n if (!this.open) {\n return;\n }\n\n if (!this.handleClosing()) {\n return;\n }\n\n this.open = false;\n await this.updateComplete;\n this.emitEvent('igcClosed');\n }\n\n private handleCancel(event: Event) {\n event.preventDefault();\n\n if (!this.keepOpenOnEscape) {\n this.hideWithEvent();\n }\n }\n\n private handleClick({ clientX, clientY, target }: MouseEvent) {\n if (this.closeOnOutsideClick && this.dialog.isSameNode(target as Node)) {\n const { left, top, right, bottom } = this.dialog.getBoundingClientRect();\n const between = (x: number, low: number, high: number) =>\n x >= low && x <= high;\n if (!(between(clientX, left, right) && between(clientY, top, bottom))) {\n this.hideWithEvent();\n }\n }\n }\n\n private handleClosing(): boolean {\n return this.emitEvent('igcClosing', { cancelable: true });\n }\n\n protected formSubmitHandler = (e: Event) => {\n if (e instanceof SubmitEvent && e.submitter) {\n this.returnValue = (e.submitter as any)?.value || '';\n }\n if (!e.defaultPrevented) {\n this.hideWithEvent();\n }\n };\n\n private handleSlotChange() {\n // Setup submit handling for supported forms\n Array.from(this.querySelectorAll('igc-form, form'))\n .filter((each) => each.getAttribute('method') === 'dialog')\n .forEach((form) => {\n const event = /igc-form/i.test(form.tagName) ? 'igcSubmit' : 'submit';\n form.removeEventListener(event, this.formSubmitHandler);\n form.addEventListener(event, this.formSubmitHandler);\n });\n }\n\n protected override render() {\n const label = this.ariaLabel ? this.ariaLabel : undefined;\n const labelledby = label ? undefined : this.titleId;\n\n return html`\n <div part=\"backdrop\" aria-hidden=\"true\" ?hidden=${!this.open}></div>\n <dialog\n part=\"base\"\n role=\"dialog\"\n @click=${this.handleClick}\n @cancel=${this.handleCancel}\n aria-label=${ifDefined(label)}\n aria-labelledby=${ifDefined(labelledby)}\n >\n <header part=\"title\" id=${this.titleId}>\n <slot name=\"title\"><span>${this.title}</span></slot>\n </header>\n <section part=\"content\">\n <slot @slotchange=${this.handleSlotChange}></slot>\n </section>\n <footer part=\"footer\">\n <slot name=\"footer\">\n ${this.hideDefaultAction\n ? nothing\n : html`<igc-button variant=\"flat\" @click=${this.hideWithEvent}\n >OK</igc-button\n >`}\n </slot>\n </footer>\n </dialog>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dialog': IgcDialogComponent;\n }\n}\n"]}
@@ -1,11 +1,10 @@
1
1
  import { css } from 'lit';
2
2
  export const styles = css `:host {
3
3
  --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
4
- --is-medium:
5
- min(
6
- clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
7
- clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
8
- );
4
+ --is-medium: min(
5
+ clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
6
+ clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
7
+ );
9
8
  --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
10
9
  position: relative;
11
10
  -webkit-box-sizing: border-box;
@@ -110,17 +109,10 @@ slot[name=footer]::slotted(:not(:last-child)) {
110
109
  margin-inline-end: 0.5rem;
111
110
  }
112
111
 
113
- dialog::-webkit-backdrop {
114
- background: none;
115
- }
116
-
117
- dialog::backdrop {
118
- background: none;
119
- }
120
-
121
112
  [part=backdrop] {
122
113
  position: fixed;
123
114
  inset: 0;
124
115
  background: hsla(var(--ig-gray-500), 0.54);
116
+ z-index: 10005;
125
117
  }`;
126
118
  //# sourceMappingURL=dialog.base.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.base.css.js","sourceRoot":"","sources":["../../../../../src/components/dialog/themes/light/dialog.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2HvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium:\n min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--ig-scrollbar-size);\n scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--ig-scrollbar-size);\n height: var(--ig-scrollbar-size);\n background: var(--ig-scrollbar-track-background);\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--ig-scrollbar-thumb-background);\n}\n\n[hidden] {\n display: none !important;\n}\n\n/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */\n:host {\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 2px), 2px);\n background: hsla(var(--ig-surface-500), var(--ig-surface-a));\n color: var(--ig-surface-500-contrast);\n border-style: none;\n padding: unset;\n}\n\n[part=base] {\n background: inherit;\n color: inherit;\n border-style: inherit;\n padding: inherit;\n border: inherit;\n border-radius: inherit;\n min-width: inherit;\n -webkit-box-shadow: var(--ig-elevation-24);\n box-shadow: var(--ig-elevation-24);\n}\n\n[part=content] {\n color: var(--content-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n font-family: var(--ig-body-1-font-family, var(--ig-font-family));\n font-size: var(--ig-body-1-font-size);\n font-weight: var(--ig-body-1-font-weight);\n font-style: var(--ig-body-1-font-style);\n line-height: var(--ig-body-1-line-height);\n letter-spacing: var(--ig-body-1-letter-spacing);\n text-transform: var(--ig-body-1-text-transform);\n margin-top: var(--ig-body-1-margin-top);\n margin-bottom: var(--ig-body-1-margin-bottom);\n margin: 0;\n}\n\n[part=title],\n[part=footer] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n font-family: var(--ig-h6-font-family, var(--ig-font-family));\n font-size: var(--ig-h6-font-size);\n font-weight: var(--ig-h6-font-weight);\n font-style: var(--ig-h6-font-style);\n line-height: var(--ig-h6-line-height);\n letter-spacing: var(--ig-h6-letter-spacing);\n text-transform: var(--ig-h6-text-transform);\n margin-top: var(--ig-h6-margin-top);\n margin-bottom: var(--ig-h6-margin-bottom);\n margin: 0;\n}\n\n[part=footer] {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n}\n\n::slotted(*) {\n font: inherit;\n letter-spacing: inherit;\n line-height: inherit;\n text-transform: inherit;\n margin: 0;\n}\n\nslot[name=title]::slotted(:not(:last-child)),\nslot[name=footer]::slotted(:not(:last-child)) {\n -webkit-margin-end: 0.5rem;\n margin-inline-end: 0.5rem;\n}\n\ndialog::-webkit-backdrop {\n background: none;\n}\n\ndialog::backdrop {\n background: none;\n}\n\n[part=backdrop] {\n position: fixed;\n inset: 0;\n background: hsla(var(--ig-gray-500), 0.54);\n}`;\n"]}
1
+ {"version":3,"file":"dialog.base.css.js","sourceRoot":"","sources":["../../../../../src/components/dialog/themes/light/dialog.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmHvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium: min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--ig-scrollbar-size);\n scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--ig-scrollbar-size);\n height: var(--ig-scrollbar-size);\n background: var(--ig-scrollbar-track-background);\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--ig-scrollbar-thumb-background);\n}\n\n[hidden] {\n display: none !important;\n}\n\n/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */\n:host {\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 2px), 2px);\n background: hsla(var(--ig-surface-500), var(--ig-surface-a));\n color: var(--ig-surface-500-contrast);\n border-style: none;\n padding: unset;\n}\n\n[part=base] {\n background: inherit;\n color: inherit;\n border-style: inherit;\n padding: inherit;\n border: inherit;\n border-radius: inherit;\n min-width: inherit;\n -webkit-box-shadow: var(--ig-elevation-24);\n box-shadow: var(--ig-elevation-24);\n}\n\n[part=content] {\n color: var(--content-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n font-family: var(--ig-body-1-font-family, var(--ig-font-family));\n font-size: var(--ig-body-1-font-size);\n font-weight: var(--ig-body-1-font-weight);\n font-style: var(--ig-body-1-font-style);\n line-height: var(--ig-body-1-line-height);\n letter-spacing: var(--ig-body-1-letter-spacing);\n text-transform: var(--ig-body-1-text-transform);\n margin-top: var(--ig-body-1-margin-top);\n margin-bottom: var(--ig-body-1-margin-bottom);\n margin: 0;\n}\n\n[part=title],\n[part=footer] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n font-family: var(--ig-h6-font-family, var(--ig-font-family));\n font-size: var(--ig-h6-font-size);\n font-weight: var(--ig-h6-font-weight);\n font-style: var(--ig-h6-font-style);\n line-height: var(--ig-h6-line-height);\n letter-spacing: var(--ig-h6-letter-spacing);\n text-transform: var(--ig-h6-text-transform);\n margin-top: var(--ig-h6-margin-top);\n margin-bottom: var(--ig-h6-margin-bottom);\n margin: 0;\n}\n\n[part=footer] {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n}\n\n::slotted(*) {\n font: inherit;\n letter-spacing: inherit;\n line-height: inherit;\n text-transform: inherit;\n margin: 0;\n}\n\nslot[name=title]::slotted(:not(:last-child)),\nslot[name=footer]::slotted(:not(:last-child)) {\n -webkit-margin-end: 0.5rem;\n margin-inline-end: 0.5rem;\n}\n\n[part=backdrop] {\n position: fixed;\n inset: 0;\n background: hsla(var(--ig-gray-500), 0.54);\n z-index: 10005;\n}`;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-group.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown-group.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAGxE,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6CAA6C,CAAC;AAWhE,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,UAAU;IAW/C,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAES,SAAS;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAE,CAAC;IACvC,CAAC;IAEkB,MAAM;;QACvB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,mCAAI,OAAO,CAAC,CAAC;QAExD,OAAO,IAAI,CAAA;;;KAGV,CAAC;IACJ,CAAC;;AA5BsB,iCAAO,GAAW,oBAAoB,CAAC;AAEvC,gCAAM,GAAG,MAAM,CAAC;AAMvC;IAFC,cAAc,EAAE;IAChB,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;wDACzB;AAT5B,yBAAyB;IAD7C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;GACE,yBAAyB,CA8B7C;eA9BoB,yBAAyB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { queryAssignedElements } from 'lit/decorators.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { blazorSuppress } from '../common/decorators/blazorSuppress.js';\nimport { SizableInterface } from '../common/mixins/sizable.js';\nimport type IgcDropdownItemComponent from './dropdown-item';\nimport { styles } from './themes/light/dropdown-group.base.css.js';\nimport { styles as fluent } from './themes/light/dropdown-group.fluent.css.js';\n\n/**\n * @element igc-dropdown-group - A container for a group of `igc-dropdown-item` components.\n *\n * @slot label - Contains the group's label.\n * @slot - Intended to contain the items belonging to this group.\n *\n * @csspart label - The native label element.\n */\n@themes({ fluent })\nexport default class IgcDropdownGroupComponent extends LitElement {\n public static readonly tagName: string = 'igc-dropdown-group';\n\n public static override styles = styles;\n protected parent!: SizableInterface;\n\n /** All child `igc-dropdown-item`s. */\n @blazorSuppress()\n @queryAssignedElements({ flatten: true, selector: 'igc-dropdown-item' })\n public items!: Array<IgcDropdownItemComponent>;\n\n public override connectedCallback() {\n super.connectedCallback();\n\n this.setAttribute('role', 'group');\n this.parent = this.getParent();\n }\n\n protected getParent() {\n return this.closest('igc-dropdown')!;\n }\n\n protected override render() {\n this.setAttribute('size', this.parent?.size ?? 'large');\n\n return html`\n <label part=\"label\"><slot name=\"label\"></slot></label>\n <slot></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown-group': IgcDropdownGroupComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"dropdown-group.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown-group.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAGxE,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6CAA6C,CAAC;AAW/E,IAAqB,yBAAyB,GAA9C,MAAqB,yBAA0B,SAAQ,UAAU;IAW/C,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAES,SAAS;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAE,CAAC;IACvC,CAAC;IAEkB,MAAM;;QACvB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,mCAAI,OAAO,CAAC,CAAC;QAExD,OAAO,IAAI,CAAA;;;KAGV,CAAC;IACJ,CAAC;;AA5BsB,iCAAO,GAAW,oBAAoB,AAA/B,CAAgC;AAEvC,gCAAM,GAAG,MAAM,AAAT,CAAU;AAMhC;IAFN,cAAc,EAAE;IAChB,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;wDACzB;AAT5B,yBAAyB;IAD7C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;GACE,yBAAyB,CA8B7C;eA9BoB,yBAAyB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { queryAssignedElements } from 'lit/decorators.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { blazorSuppress } from '../common/decorators/blazorSuppress.js';\nimport { SizableInterface } from '../common/mixins/sizable.js';\nimport type IgcDropdownItemComponent from './dropdown-item';\nimport { styles } from './themes/light/dropdown-group.base.css.js';\nimport { styles as fluent } from './themes/light/dropdown-group.fluent.css.js';\n\n/**\n * @element igc-dropdown-group - A container for a group of `igc-dropdown-item` components.\n *\n * @slot label - Contains the group's label.\n * @slot - Intended to contain the items belonging to this group.\n *\n * @csspart label - The native label element.\n */\n@themes({ fluent })\nexport default class IgcDropdownGroupComponent extends LitElement {\n public static readonly tagName: string = 'igc-dropdown-group';\n\n public static override styles = styles;\n protected parent!: SizableInterface;\n\n /** All child `igc-dropdown-item`s. */\n @blazorSuppress()\n @queryAssignedElements({ flatten: true, selector: 'igc-dropdown-item' })\n public items!: Array<IgcDropdownItemComponent>;\n\n public override connectedCallback() {\n super.connectedCallback();\n\n this.setAttribute('role', 'group');\n this.parent = this.getParent();\n }\n\n protected getParent() {\n return this.closest('igc-dropdown')!;\n }\n\n protected override render() {\n this.setAttribute('size', this.parent?.size ?? 'large');\n\n return html`\n <label part=\"label\"><slot name=\"label\"></slot></label>\n <slot></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown-group': IgcDropdownGroupComponent;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-header.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown-header.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,4CAA4C,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAQjE,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,UAAU;IAK7C,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AANsB,kCAAO,GAAW,qBAAqB,CAAC;AAExC,iCAAM,GAAG,MAAM,CAAC;AAHpB,0BAA0B;IAD9C,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;GACT,0BAA0B,CAQ9C;eARoB,0BAA0B","sourcesContent":["import { html, LitElement } from 'lit';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { styles } from './themes/light/dropdown-header.base.css.js';\nimport { styles as bootstrap } from './themes/light/dropdown-header.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/dropdown-header.fluent.css.js';\n\n/**\n * @element igc-dropdown-header - Represents a header item in a dropdown list.\n *\n * @slot - Renders the header.\n */\n@themes({ bootstrap, fluent })\nexport default class IgcDropdownHeaderComponent extends LitElement {\n public static readonly tagName: string = 'igc-dropdown-header';\n\n public static override styles = styles;\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown-header': IgcDropdownHeaderComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"dropdown-header.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown-header.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,4CAA4C,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAQhF,IAAqB,0BAA0B,GAA/C,MAAqB,0BAA2B,SAAQ,UAAU;IAK7C,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AANsB,kCAAO,GAAW,qBAAqB,AAAhC,CAAiC;AAExC,iCAAM,GAAG,MAAM,AAAT,CAAU;AAHpB,0BAA0B;IAD9C,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;GACT,0BAA0B,CAQ9C;eARoB,0BAA0B","sourcesContent":["import { html, LitElement } from 'lit';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { styles } from './themes/light/dropdown-header.base.css.js';\nimport { styles as bootstrap } from './themes/light/dropdown-header.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/dropdown-header.fluent.css.js';\n\n/**\n * @element igc-dropdown-header - Represents a header item in a dropdown list.\n *\n * @slot - Renders the header.\n */\n@themes({ bootstrap, fluent })\nexport default class IgcDropdownHeaderComponent extends LitElement {\n public static readonly tagName: string = 'igc-dropdown-header';\n\n public static override styles = styles;\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown-header': IgcDropdownHeaderComponent;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-item.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown-item.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAClE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,4CAA4C,CAAC;AAgB/D,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,UAAU;IAAjD;;QA4BN,aAAQ,GAAG,KAAK,CAAC;QAOjB,WAAM,GAAG,KAAK,CAAC;QAOf,aAAQ,GAAG,KAAK,CAAC;IA6B1B,CAAC;IA1DC,IAAW,KAAK;;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC;IAC5D,CAAC;IAED,IAAW,KAAK,CAAC,KAAa;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAwBS,cAAc;QACtB,IAAI,CAAC,QAAQ;YACX,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAGS,cAAc;QACtB,IAAI,CAAC,QAAQ;YACX,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAC5C,CAAC;IAEe,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;;AArEsB,gCAAO,GAAW,mBAAmB,CAAC;AAEtC,+BAAM,GAAG,MAAM,CAAC;AAUvC;IADC,QAAQ,EAAE;qDAGV;AAaD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0DACnB;AAOxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wDACrB;AAOtB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0DACnB;AAGxB;IADC,KAAK,CAAC,UAAU,CAAC;8DAMjB;AAGD;IADC,KAAK,CAAC,UAAU,CAAC;8DAKjB;AAzDkB,wBAAwB;IAD5C,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;GACjB,wBAAwB,CAuE5C;eAvEoB,wBAAwB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { styles } from './themes/light/dropdown-item.base.css.js';\nimport { styles as bootstrap } from './themes/light/dropdown-item.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/dropdown-item.fluent.css.js';\nimport { styles as indigo } from './themes/light/dropdown-item.indigo.css.js';\n\n/**\n * Represents an item in a dropdown list.\n *\n * @element igc-dropdown-item\n *\n * @slot prefix - Renders content before the item's main content.\n * @slot - Renders the item's main content.\n * @slot suffix - Renders content after the item's main content.\n *\n * @csspart prefix - The prefix wrapper.\n * @csspart content - The main content wrapper.\n * @csspart suffix - The suffix wrapper.\n */\n@themes({ bootstrap, fluent, indigo })\nexport default class IgcDropdownItemComponent extends LitElement {\n public static readonly tagName: string = 'igc-dropdown-item';\n\n public static override styles = styles;\n\n private _value!: string;\n\n /**\n * Тhe current value of the item.\n * If not specified, the element's text content is used.\n * @attr\n */\n @property()\n public get value() {\n return this._value ? this._value : this.textContent ?? '';\n }\n\n public set value(value: string) {\n const oldVal = this._value;\n this._value = value;\n this.requestUpdate('value', oldVal);\n }\n\n /**\n * Determines whether the item is selected.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public selected = false;\n\n /**\n * Determines whether the item is active.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public active = false;\n\n /**\n * Determines whether the item is disabled.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n @watch('selected')\n protected selectedChange() {\n this.selected\n ? this.setAttribute('aria-selected', 'true')\n : this.removeAttribute('aria-selected');\n this.active = this.selected;\n }\n\n @watch('disabled')\n protected disabledChange() {\n this.disabled\n ? this.setAttribute('aria-disabled', 'true')\n : this.removeAttribute('aria-disabled');\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'option');\n }\n\n protected override render() {\n return html`\n <section part=\"prefix\"><slot name=\"prefix\"></slot></section>\n <section part=\"content\"><slot></slot></section>\n <section part=\"suffix\"><slot name=\"suffix\"></slot></section>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown-item': IgcDropdownItemComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"dropdown-item.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown-item.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAClE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,4CAA4C,CAAC;AAgB9E,IAAqB,wBAAwB,GAA7C,MAAqB,wBAAyB,SAAQ,UAAU;IAAhE;;QA4BS,aAAQ,GAAG,KAAK,CAAC;QAOjB,WAAM,GAAG,KAAK,CAAC;QAOf,aAAQ,GAAG,KAAK,CAAC;IA6B1B,CAAC;IA1DC,IAAW,KAAK;;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC;IAC5D,CAAC;IAED,IAAW,KAAK,CAAC,KAAa;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAwBS,cAAc;QACtB,IAAI,CAAC,QAAQ;YACX,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAGS,cAAc;QACtB,IAAI,CAAC,QAAQ;YACX,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAC5C,CAAC;IAEe,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;;AArEsB,gCAAO,GAAW,mBAAmB,AAA9B,CAA+B;AAEtC,+BAAM,GAAG,MAAM,AAAT,CAAU;AAUvC;IADC,QAAQ,EAAE;qDAGV;AAaM;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0DACnB;AAOjB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wDACrB;AAOf;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0DACnB;AAGd;IADT,KAAK,CAAC,UAAU,CAAC;8DAMjB;AAGS;IADT,KAAK,CAAC,UAAU,CAAC;8DAKjB;AAzDkB,wBAAwB;IAD5C,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;GACjB,wBAAwB,CAuE5C;eAvEoB,wBAAwB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { styles } from './themes/light/dropdown-item.base.css.js';\nimport { styles as bootstrap } from './themes/light/dropdown-item.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/dropdown-item.fluent.css.js';\nimport { styles as indigo } from './themes/light/dropdown-item.indigo.css.js';\n\n/**\n * Represents an item in a dropdown list.\n *\n * @element igc-dropdown-item\n *\n * @slot prefix - Renders content before the item's main content.\n * @slot - Renders the item's main content.\n * @slot suffix - Renders content after the item's main content.\n *\n * @csspart prefix - The prefix wrapper.\n * @csspart content - The main content wrapper.\n * @csspart suffix - The suffix wrapper.\n */\n@themes({ bootstrap, fluent, indigo })\nexport default class IgcDropdownItemComponent extends LitElement {\n public static readonly tagName: string = 'igc-dropdown-item';\n\n public static override styles = styles;\n\n private _value!: string;\n\n /**\n * Тhe current value of the item.\n * If not specified, the element's text content is used.\n * @attr\n */\n @property()\n public get value() {\n return this._value ? this._value : this.textContent ?? '';\n }\n\n public set value(value: string) {\n const oldVal = this._value;\n this._value = value;\n this.requestUpdate('value', oldVal);\n }\n\n /**\n * Determines whether the item is selected.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public selected = false;\n\n /**\n * Determines whether the item is active.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public active = false;\n\n /**\n * Determines whether the item is disabled.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n @watch('selected')\n protected selectedChange() {\n this.selected\n ? this.setAttribute('aria-selected', 'true')\n : this.removeAttribute('aria-selected');\n this.active = this.selected;\n }\n\n @watch('disabled')\n protected disabledChange() {\n this.disabled\n ? this.setAttribute('aria-disabled', 'true')\n : this.removeAttribute('aria-disabled');\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'option');\n }\n\n protected override render() {\n return html`\n <section part=\"prefix\"><slot name=\"prefix\"></slot></section>\n <section part=\"content\"><slot></slot></section>\n <section part=\"suffix\"><slot name=\"suffix\"></slot></section>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown-item': IgcDropdownItemComponent;\n }\n}\n"]}
@@ -32,6 +32,7 @@ let IgcDropdownComponent = class IgcDropdownComponent extends SizableMixin(Event
32
32
  if (!this.target)
33
33
  return;
34
34
  this.toggleController.target = this.target;
35
+ this.requestUpdate();
35
36
  if (this.open) {
36
37
  document.addEventListener('keydown', this.handleKeyDown);
37
38
  this.target.addEventListener('focusout', this.handleFocusout);
@@ -106,6 +107,7 @@ let IgcDropdownComponent = class IgcDropdownComponent extends SizableMixin(Event
106
107
  this.target.setAttribute('aria-haspopup', 'listbox');
107
108
  }
108
109
  await this.updateComplete;
110
+ this.toggleDirectiveChange();
109
111
  this.setInitialSelection();
110
112
  }
111
113
  async getUpdateComplete() {
@@ -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 {\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 /**\n * Whether the dropdown should be kept open on selection.\n * @attr keep-open-on-select\n */\n @property({ type: Boolean, attribute: 'keep-open-on-select' })\n public keepOpenOnSelect = false;\n\n /**\n * Sets the open state of the component.\n * @attr\n */\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 * @attr\n */\n @property()\n public placement: IgcPlacement = 'bottom-start';\n\n /**\n * Sets the component's positioning strategy.\n * @attr position-strategy\n */\n @property({ attribute: 'position-strategy' })\n public positionStrategy: 'absolute' | 'fixed' = 'absolute';\n\n /**\n * Determines the behavior of the component during scrolling the container.\n * @attr scroll-strategy\n */\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 * @attr\n */\n @property({ type: Boolean })\n public flip = false;\n\n /**\n * The distance from the target element.\n * @attr\n */\n @property({ type: Number })\n public distance = 0;\n\n /**\n * Whether the component should be kept open on clicking outside of it.\n * @attr keep-open-on-outside-click\n */\n @property({ type: Boolean, attribute: 'keep-open-on-outside-click' })\n public keepOpenOnOutsideClick = false;\n\n /**\n * Whether the dropdown's width should be the same as the target's one.\n * @attr same-width\n */\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
+ {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EACL,QAAQ,EACR,KAAK,EACL,qBAAqB,EACrB,KAAK,GACN,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,sDAAsD,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAMrE,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAC7D,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,yBAAyB,MAAM,qBAAqB,CAAC;AAC5D,OAAO,0BAA0B,MAAM,sBAAsB,CAAC;AAC9D,OAAO,wBAAwB,MAAM,oBAAoB,CAAC;AAE1D,gBAAgB,CACd,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,CACzB,CAAC;AA2BF,IAAqB,oBAAoB,GAAzC,MAAqB,oBACnB,SAAQ,YAAY,CAClB,iBAAiB,CAA+C,UAAU,CAAC,CAC5E;IA6BD,IAAc,QAAQ;QACpB,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,CAAC;IAkFS,qBAAqB;;QAC7B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3C,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC9D,IAAI,CAAC,YAAY,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAI,IAAI,CAAC;SACnE;aAAM;YACL,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SAClE;QAED,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IAQS,aAAa;QACrB,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAEnC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;IAGS,UAAU;QAClB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QApIO,oBAAe,GAA0B,IAAI,GAAG,CAC/D,MAAM,CAAC,OAAO,CAAC;YACb,MAAM,EAAE,IAAI,CAAC,WAAW;YACxB,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,OAAO,EAAE,IAAI,CAAC,gBAAgB;YAC9B,SAAS,EAAE,IAAI,CAAC,kBAAkB;YAClC,SAAS,EAAE,IAAI,CAAC,gBAAgB;YAChC,UAAU,EAAE,IAAI,CAAC,kBAAkB;YACnC,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,GAAG,EAAE,IAAI,CAAC,QAAQ;SACnB,CAAC,CACH,CAAC;QA0BK,qBAAgB,GAAG,KAAK,CAAC;QAOzB,SAAI,GAAG,KAAK,CAAC;QAOb,cAAS,GAAiB,cAAc,CAAC;QAOzC,qBAAgB,GAAyB,UAAU,CAAC;QAOpD,mBAAc,GAAiC,QAAQ,CAAC;QAQxD,SAAI,GAAG,KAAK,CAAC;QAOb,aAAQ,GAAG,CAAC,CAAC;QAOb,2BAAsB,GAAG,KAAK,CAAC;QAO/B,cAAS,GAAG,KAAK,CAAC;QAsEf,kBAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;;YACjD,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAAE,OAAO;YAEzE,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACvC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,MAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAC;aACjD;QACH,CAAC,CAAC;QAkCQ,sBAAiB,GAAG,KAAK,IAAI,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;oBAAE,OAAO;gBAClC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,MAAM,IAAI,CAAC,cAAc,CAAC;gBAC1B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;aAC7B;iBAAM;gBACL,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;QACH,CAAC,CAAC;QAnFA,IAAI,CAAC,gBAAgB,GAAG,IAAI,mBAAmB,CAAC,IAAI,EAAE;YACpD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IAEe,KAAK,CAAC,YAAY;QAChC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;SACtD;QAED,MAAM,IAAI,CAAC,cAAc,CAAC;QAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEkB,KAAK,CAAC,iBAAiB;QACxC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC/C,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,mBAAmB;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;QACzD,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SAC9B;IACH,CAAC;IAaS,SAAS;QACjB,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,KAAK,CAC5D,CAAC;IACJ,CAAC;IAES,QAAQ;QAChB,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAC7D,CAAC;IACJ,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAES,UAAU;QAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAES,WAAW,CAAC,KAAiB;QACrC,MAAM,IAAI,GAAG,KAAK;aACf,YAAY,EAAE;aACd,IAAI,CACH,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,wBAAwB,CACjB,CAAC;QAEhC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAaS,aAAa;QACrB,MAAM,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAES,aAAa;QACrB,MAAM,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAES,YAAY,CAAC,IAA8B;QACnD,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAES,gBAAgB;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IAES,cAAc,CAAC,KAAY;QACnC,KAAK,CAAC,cAAc,EAAE,CAAC;QACtB,KAAK,CAAC,MAAsB,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;IAES,OAAO,CAAC,KAAa;QAC7B,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;QACnB,IAAI,IAA+B,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC9B,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE;gBACrB,IAAI,GAAG,CAAC,CAAC;gBACT,SAAS,GAAG,KAAK,CAAC;aACnB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC;IAES,YAAY,CAAC,KAA+B;QACpD,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;SAChC;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;IAChC,CAAC;IAES,UAAU,CAClB,IAA8B,EAC9B,IAAI,GAAG,IAAI;QAEX,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC;SACpC;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC;QAClC,IAAI,IAAI;YAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QAEjD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAES,QAAQ,CAAC,SAAiB,EAAE,YAAqB;;QACzD,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;QACf,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,KAAK,GAAG,YAAY;gBAClB,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,MAAA,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,mCAAI,KAAK,CAAC;SAC1D;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,mCAAmC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC5E,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAEO,YAAY,CAAC,QAAgB;QACnC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACpD,OAAO,IAAI,CAAC;SACb;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAExC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAEjC,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,kBAAkB,CAAC,OAAiC;QAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;QACxD,IAAI,UAAU,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;SAC5D;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE;YAC1C,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;SAClE;IACH,CAAC;IAES,mCAAmC,CAC3C,UAAkB,EAClB,SAAiB;QAEjB,IAAI,KAAK,GAAG,UAAU,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,CAAC,CAAC,CAAC;SACX;QAED,OAAO,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,QAAQ,EAAE;YACpE,KAAK,IAAI,SAAS,CAAC;SACpB;QAED,KAAK,IAAI,SAAS,CAAC;QAEnB,OAAO,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAES,kBAAkB;QAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAES,gBAAgB;QACxB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACvB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE,OAAO;QAE1C,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAElB,IAAI,IAAI,EAAE;YACR,MAAM,IAAI,CAAC,cAAc,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;SAC7B;IACH,CAAC;IAIM,IAAI,CAAC,MAAoB;QAC9B,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAEjC,IAAI,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAEjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAGM,IAAI;QACT,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAIM,MAAM,CAAC,MAAoB;QAChC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAQM,UAAU,CAAC,KAAsB;QACtC,MAAM,KAAK,GACT,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,KAAgB,CAAC;QAE5E,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAQM,MAAM,CAAC,KAAsB;QAClC,MAAM,IAAI,GACR,OAAO,KAAK,KAAK,QAAQ;YACvB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI;YAC1B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAe,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAGM,cAAc;QACnB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC;SACpC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;iBAIE,IAAI,CAAC,iBAAiB;sBACjB,IAAI,CAAC,gBAAgB;;;;;gBAK3B,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;iBAC5C,IAAI,CAAC,WAAW;UACvB,IAAI,CAAC,gBAAgB,CAAC,eAAe;;;;;;KAM1C,CAAC;IACJ,CAAC;;AA9csB,4BAAO,GAAW,cAAc,AAAzB,CAA0B;AAE1C,2BAAM,GAAG,MAAM,AAAT,CAAU;AAMpB;IADT,KAAK,EAAE;wDACwC;AAsBxC;IADP,qBAAqB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;yDACD;AAG/B;IADT,KAAK,CAAC,eAAe,CAAC;qDACS;AAGtB;IADT,KAAK,CAAC,eAAe,CAAC;6DACiB;AAG9B;IADT,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;mDACtB;AAGxC;IADT,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC;oDACrB;AAO7C;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;8DAC9B;AAOzB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDACR;AAOb;IADN,QAAQ,EAAE;uDACqC;AAOzC;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;8DACc;AAOpD;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;4DACoB;AAQxD;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDACR;AAOb;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sDACP;AAOb;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,CAAC;oEAC/B;AAO/B;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;uDAC5B;AAGf;IADT,KAAK,CAAC,MAAM,CAAC;iEAgBb;AAQS;IANT,KAAK,CAAC,WAAW,CAAC;IAClB,KAAK,CAAC,MAAM,CAAC;IACb,KAAK,CAAC,kBAAkB,CAAC;IACzB,KAAK,CAAC,qBAAqB,CAAC;IAC5B,KAAK,CAAC,UAAU,CAAC;IACjB,KAAK,CAAC,WAAW,CAAC;yDAKlB;AAGS;IADT,KAAK,CAAC,MAAM,CAAC;sDAGb;AAsPM;IADN,cAAc,EAAE;gDAOhB;AASM;IADN,cAAc,EAAE;kDAGhB;AAQM;IADN,cAAc,EAAE;sDAMhB;AAQM;IADN,cAAc,EAAE;kDAQhB;AAvbkB,oBAAoB;IAJxC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACrC,4BAA4B,CAC3B,iFAAiF,CAClF;GACoB,oBAAoB,CAsdxC;eAtdoB,oBAAoB","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 /**\n * Whether the dropdown should be kept open on selection.\n * @attr keep-open-on-select\n */\n @property({ type: Boolean, attribute: 'keep-open-on-select' })\n public keepOpenOnSelect = false;\n\n /**\n * Sets the open state of the component.\n * @attr\n */\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 * @attr\n */\n @property()\n public placement: IgcPlacement = 'bottom-start';\n\n /**\n * Sets the component's positioning strategy.\n * @attr position-strategy\n */\n @property({ attribute: 'position-strategy' })\n public positionStrategy: 'absolute' | 'fixed' = 'absolute';\n\n /**\n * Determines the behavior of the component during scrolling the container.\n * @attr scroll-strategy\n */\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 * @attr\n */\n @property({ type: Boolean })\n public flip = false;\n\n /**\n * The distance from the target element.\n * @attr\n */\n @property({ type: Number })\n public distance = 0;\n\n /**\n * Whether the component should be kept open on clicking outside of it.\n * @attr keep-open-on-outside-click\n */\n @property({ type: Boolean, attribute: 'keep-open-on-outside-click' })\n public keepOpenOnOutsideClick = false;\n\n /**\n * Whether the dropdown's width should be the same as the target's one.\n * @attr same-width\n */\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 this.requestUpdate();\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.toggleDirectiveChange();\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,11 +1,10 @@
1
1
  import { css } from 'lit';
2
2
  export const styles = css `:host {
3
3
  --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
4
- --is-medium:
5
- min(
6
- clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
7
- clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
8
- );
4
+ --is-medium: min(
5
+ clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
6
+ clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
7
+ );
9
8
  --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
10
9
  position: relative;
11
10
  -webkit-box-sizing: border-box;
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0DvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium:\n min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--ig-scrollbar-size);\n scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--ig-scrollbar-size);\n height: var(--ig-scrollbar-size);\n background: var(--ig-scrollbar-track-background);\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--ig-scrollbar-thumb-background);\n}\n\n[hidden] {\n display: none !important;\n}\n\n/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */\n:host {\n pointer-events: auto;\n}\n:host ::slotted([slot=label]) {\n font-family: var(--ig-overline-font-family, var(--ig-font-family));\n font-size: var(--ig-overline-font-size);\n font-weight: var(--ig-overline-font-weight);\n font-style: var(--ig-overline-font-style);\n line-height: var(--ig-overline-line-height);\n letter-spacing: var(--ig-overline-letter-spacing);\n text-transform: var(--ig-overline-text-transform);\n margin-top: var(--ig-overline-margin-top);\n margin-bottom: var(--ig-overline-margin-bottom);\n white-space: nowrap;\n -o-text-overflow: ellipsis;\n text-overflow: ellipsis;\n overflow: hidden;\n display: block;\n white-space: nowrap;\n position: relative;\n color: hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n pointer-events: none;\n padding-inline: max(var(--is-large, 1) * max(16px, -1 * 16px) * var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)), var(--is-medium, 1) * max(8px, -1 * 8px) * var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)), var(--is-small, 1) * max(4px, -1 * 4px) * var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));\n padding-block: max(var(--is-large, 1) * max(8px, -1 * 8px) * var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)), var(--is-medium, 1) * max(4px, -1 * 4px) * var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)), var(--is-small, 1) * max(2px, -1 * 2px) * var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));\n}`;\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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyDvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium: min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--ig-scrollbar-size);\n scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--ig-scrollbar-size);\n height: var(--ig-scrollbar-size);\n background: var(--ig-scrollbar-track-background);\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--ig-scrollbar-thumb-background);\n}\n\n[hidden] {\n display: none !important;\n}\n\n/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */\n:host {\n pointer-events: auto;\n}\n:host ::slotted([slot=label]) {\n font-family: var(--ig-overline-font-family, var(--ig-font-family));\n font-size: var(--ig-overline-font-size);\n font-weight: var(--ig-overline-font-weight);\n font-style: var(--ig-overline-font-style);\n line-height: var(--ig-overline-line-height);\n letter-spacing: var(--ig-overline-letter-spacing);\n text-transform: var(--ig-overline-text-transform);\n margin-top: var(--ig-overline-margin-top);\n margin-bottom: var(--ig-overline-margin-bottom);\n white-space: nowrap;\n -o-text-overflow: ellipsis;\n text-overflow: ellipsis;\n overflow: hidden;\n display: block;\n white-space: nowrap;\n position: relative;\n color: hsla(var(--ig-secondary-500), var(--ig-secondary-a));\n pointer-events: none;\n padding-inline: max(var(--is-large, 1) * max(16px, -1 * 16px) * var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)), var(--is-medium, 1) * max(8px, -1 * 8px) * var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)), var(--is-small, 1) * max(4px, -1 * 4px) * var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));\n padding-block: max(var(--is-large, 1) * max(8px, -1 * 8px) * var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)), var(--is-medium, 1) * max(4px, -1 * 4px) * var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)), var(--is-small, 1) * max(2px, -1 * 2px) * var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));\n}`;\n"]}
@@ -1,11 +1,10 @@
1
1
  import { css } from 'lit';
2
2
  export const styles = css `:host {
3
3
  --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
4
- --is-medium:
5
- min(
6
- clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
7
- clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
8
- );
4
+ --is-medium: min(
5
+ clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
6
+ clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
7
+ );
9
8
  --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
10
9
  position: relative;
11
10
  -webkit-box-sizing: border-box;
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-header.base.css.js","sourceRoot":"","sources":["../../../../../src/components/dropdown/themes/light/dropdown-header.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2DvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium:\n min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--ig-scrollbar-size);\n scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--ig-scrollbar-size);\n height: var(--ig-scrollbar-size);\n background: var(--ig-scrollbar-track-background);\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--ig-scrollbar-thumb-background);\n}\n\n[hidden] {\n display: none !important;\n}\n\n/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */\n:host {\n font-family: var(--ig-overline-font-family, var(--ig-font-family));\n font-size: var(--ig-overline-font-size);\n font-weight: var(--ig-overline-font-weight);\n font-style: var(--ig-overline-font-style);\n line-height: var(--ig-overline-line-height);\n letter-spacing: var(--ig-overline-letter-spacing);\n text-transform: var(--ig-overline-text-transform);\n margin-top: var(--ig-overline-margin-top);\n margin-bottom: var(--ig-overline-margin-bottom);\n white-space: nowrap;\n -o-text-overflow: ellipsis;\n text-overflow: ellipsis;\n overflow: hidden;\n display: block;\n white-space: nowrap;\n position: relative;\n color: var(--header-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));\n pointer-events: none;\n padding-inline: max(var(--is-large, 1) * max(16px, -1 * 16px) * var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)), var(--is-medium, 1) * max(8px, -1 * 8px) * var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)), var(--is-small, 1) * max(4px, -1 * 4px) * var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));\n padding-block: max(var(--is-large, 1) * max(8px, -1 * 8px) * var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)), var(--is-medium, 1) * max(4px, -1 * 4px) * var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)), var(--is-small, 1) * max(2px, -1 * 2px) * var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));\n}\n\n::slotted(*) {\n font: inherit;\n}`;\n"]}
1
+ {"version":3,"file":"dropdown-header.base.css.js","sourceRoot":"","sources":["../../../../../src/components/dropdown/themes/light/dropdown-header.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0DvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium: min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--ig-scrollbar-size);\n scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--ig-scrollbar-size);\n height: var(--ig-scrollbar-size);\n background: var(--ig-scrollbar-track-background);\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--ig-scrollbar-thumb-background);\n}\n\n[hidden] {\n display: none !important;\n}\n\n/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */\n:host {\n font-family: var(--ig-overline-font-family, var(--ig-font-family));\n font-size: var(--ig-overline-font-size);\n font-weight: var(--ig-overline-font-weight);\n font-style: var(--ig-overline-font-style);\n line-height: var(--ig-overline-line-height);\n letter-spacing: var(--ig-overline-letter-spacing);\n text-transform: var(--ig-overline-text-transform);\n margin-top: var(--ig-overline-margin-top);\n margin-bottom: var(--ig-overline-margin-bottom);\n white-space: nowrap;\n -o-text-overflow: ellipsis;\n text-overflow: ellipsis;\n overflow: hidden;\n display: block;\n white-space: nowrap;\n position: relative;\n color: var(--header-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));\n pointer-events: none;\n padding-inline: max(var(--is-large, 1) * max(16px, -1 * 16px) * var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)), var(--is-medium, 1) * max(8px, -1 * 8px) * var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)), var(--is-small, 1) * max(4px, -1 * 4px) * var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));\n padding-block: max(var(--is-large, 1) * max(8px, -1 * 8px) * var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)), var(--is-medium, 1) * max(4px, -1 * 4px) * var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)), var(--is-small, 1) * max(2px, -1 * 2px) * var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));\n}\n\n::slotted(*) {\n font: inherit;\n}`;\n"]}
@@ -1,11 +1,10 @@
1
1
  import { css } from 'lit';
2
2
  export const styles = css `:host {
3
3
  --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
4
- --is-medium:
5
- min(
6
- clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
7
- clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
8
- );
4
+ --is-medium: min(
5
+ clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
6
+ clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
7
+ );
9
8
  --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
10
9
  position: relative;
11
10
  -webkit-box-sizing: border-box;
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0HvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium:\n min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--ig-scrollbar-size);\n scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--ig-scrollbar-size);\n height: var(--ig-scrollbar-size);\n background: var(--ig-scrollbar-track-background);\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--ig-scrollbar-thumb-background);\n}\n\n[hidden] {\n display: none !important;\n}\n\n/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */\n:host {\n font-family: var(--ig-body-2-font-family, var(--ig-font-family));\n font-size: var(--ig-body-2-font-size);\n font-weight: var(--ig-body-2-font-weight);\n font-style: var(--ig-body-2-font-style);\n line-height: var(--ig-body-2-line-height);\n letter-spacing: var(--ig-body-2-letter-spacing);\n text-transform: var(--ig-body-2-text-transform);\n margin-top: var(--ig-body-2-margin-top);\n margin-bottom: var(--ig-body-2-margin-bottom);\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 100%;\n white-space: nowrap;\n position: relative;\n cursor: pointer;\n color: hsla(var(--ig-gray-800), var(--ig-gray-a));\n outline-style: none;\n padding-inline: max(var(--is-large, 1) * max(24px, -1 * 24px) * var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)), var(--is-medium, 1) * max(12px, -1 * 12px) * var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)), var(--is-small, 1) * max(6px, -1 * 6px) * var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));\n padding-block: max(var(--is-large, 1) * max(8px, -1 * 8px) * var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)), var(--is-medium, 1) * max(4px, -1 * 4px) * var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)), var(--is-small, 1) * max(2px, -1 * 2px) * var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));\n}\n\n:host(:hover),\n:host([active]) {\n background: hsla(var(--ig-gray-200), var(--ig-gray-a));\n}\n\n:host([selected]) {\n background: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n color: var(--ig-secondary-100-contrast);\n}\n\n:host([selected]:hover),\n:host([selected][active]) {\n background: hsla(var(--ig-secondary-200), var(--ig-secondary-a));\n color: var(--ig-secondary-200-contrast);\n}\n\n:host([disabled]) {\n color: hsla(var(--ig-gray-500), var(--ig-gray-a));\n cursor: default;\n pointer-events: none;\n}\n\n::slotted(*) {\n font: inherit;\n}\n\n[part=content] {\n white-space: nowrap;\n -o-text-overflow: ellipsis;\n text-overflow: ellipsis;\n overflow: hidden;\n display: block;\n width: 100%;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n[part=prefix],\n[part=suffix] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n[name=prefix]::slotted(*) {\n -webkit-margin-end: max(var(--is-large, 1) * max(16px, -1 * 16px) * var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)), var(--is-medium, 1) * max(16px, -1 * 16px) * var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)), var(--is-small, 1) * max(16px, -1 * 16px) * var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)));\n margin-inline-end: max(var(--is-large, 1) * max(16px, -1 * 16px) * var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)), var(--is-medium, 1) * max(16px, -1 * 16px) * var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)), var(--is-small, 1) * max(16px, -1 * 16px) * var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)));\n}\n\n[name=suffix]::slotted(*) {\n -webkit-margin-start: max(var(--is-large, 1) * max(16px, -1 * 16px) * var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)), var(--is-medium, 1) * max(16px, -1 * 16px) * var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)), var(--is-small, 1) * max(16px, -1 * 16px) * var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)));\n margin-inline-start: max(var(--is-large, 1) * max(16px, -1 * 16px) * var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)), var(--is-medium, 1) * max(16px, -1 * 16px) * var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)), var(--is-small, 1) * max(16px, -1 * 16px) * var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)));\n}`;\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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyHvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium: min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--ig-scrollbar-size);\n scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--ig-scrollbar-size);\n height: var(--ig-scrollbar-size);\n background: var(--ig-scrollbar-track-background);\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--ig-scrollbar-thumb-background);\n}\n\n[hidden] {\n display: none !important;\n}\n\n/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */\n:host {\n font-family: var(--ig-body-2-font-family, var(--ig-font-family));\n font-size: var(--ig-body-2-font-size);\n font-weight: var(--ig-body-2-font-weight);\n font-style: var(--ig-body-2-font-style);\n line-height: var(--ig-body-2-line-height);\n letter-spacing: var(--ig-body-2-letter-spacing);\n text-transform: var(--ig-body-2-text-transform);\n margin-top: var(--ig-body-2-margin-top);\n margin-bottom: var(--ig-body-2-margin-bottom);\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 100%;\n white-space: nowrap;\n position: relative;\n cursor: pointer;\n color: hsla(var(--ig-gray-800), var(--ig-gray-a));\n outline-style: none;\n padding-inline: max(var(--is-large, 1) * max(24px, -1 * 24px) * var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)), var(--is-medium, 1) * max(12px, -1 * 12px) * var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)), var(--is-small, 1) * max(6px, -1 * 6px) * var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));\n padding-block: max(var(--is-large, 1) * max(8px, -1 * 8px) * var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)), var(--is-medium, 1) * max(4px, -1 * 4px) * var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)), var(--is-small, 1) * max(2px, -1 * 2px) * var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));\n}\n\n:host(:hover),\n:host([active]) {\n background: hsla(var(--ig-gray-200), var(--ig-gray-a));\n}\n\n:host([selected]) {\n background: hsla(var(--ig-secondary-100), var(--ig-secondary-a));\n color: var(--ig-secondary-100-contrast);\n}\n\n:host([selected]:hover),\n:host([selected][active]) {\n background: hsla(var(--ig-secondary-200), var(--ig-secondary-a));\n color: var(--ig-secondary-200-contrast);\n}\n\n:host([disabled]) {\n color: hsla(var(--ig-gray-500), var(--ig-gray-a));\n cursor: default;\n pointer-events: none;\n}\n\n::slotted(*) {\n font: inherit;\n}\n\n[part=content] {\n white-space: nowrap;\n -o-text-overflow: ellipsis;\n text-overflow: ellipsis;\n overflow: hidden;\n display: block;\n width: 100%;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n[part=prefix],\n[part=suffix] {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n[name=prefix]::slotted(*) {\n -webkit-margin-end: max(var(--is-large, 1) * max(16px, -1 * 16px) * var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)), var(--is-medium, 1) * max(16px, -1 * 16px) * var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)), var(--is-small, 1) * max(16px, -1 * 16px) * var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)));\n margin-inline-end: max(var(--is-large, 1) * max(16px, -1 * 16px) * var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)), var(--is-medium, 1) * max(16px, -1 * 16px) * var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)), var(--is-small, 1) * max(16px, -1 * 16px) * var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)));\n}\n\n[name=suffix]::slotted(*) {\n -webkit-margin-start: max(var(--is-large, 1) * max(16px, -1 * 16px) * var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)), var(--is-medium, 1) * max(16px, -1 * 16px) * var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)), var(--is-small, 1) * max(16px, -1 * 16px) * var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)));\n margin-inline-start: max(var(--is-large, 1) * max(16px, -1 * 16px) * var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)), var(--is-medium, 1) * max(16px, -1 * 16px) * var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)), var(--is-small, 1) * max(16px, -1 * 16px) * var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)));\n}`;\n"]}
@@ -1,11 +1,10 @@
1
1
  import { css } from 'lit';
2
2
  export const styles = css `:host {
3
3
  --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
4
- --is-medium:
5
- min(
6
- clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
7
- clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
8
- );
4
+ --is-medium: min(
5
+ clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
6
+ clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
7
+ );
9
8
  --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
10
9
  position: relative;
11
10
  -webkit-box-sizing: border-box;
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+DvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium:\n min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--ig-scrollbar-size);\n scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--ig-scrollbar-size);\n height: var(--ig-scrollbar-size);\n background: var(--ig-scrollbar-track-background);\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--ig-scrollbar-thumb-background);\n}\n\n[hidden] {\n display: none !important;\n}\n\n/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */\n:host {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n font-family: var(--ig-font-family);\n}\n\n[part=base] {\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.25rem), 0.25rem);\n overflow-y: auto;\n overflow-x: hidden;\n background: hsla(var(--ig-surface-500), var(--ig-surface-a));\n -webkit-box-shadow: var(--ig-elevation-8);\n box-shadow: var(--ig-elevation-8);\n min-width: 7rem;\n padding: 0.5rem 0;\n z-index: 10005;\n}\n\n:host([size=small]) {\n --component-size: var(--ig-size, var(--ig-size-small));\n}\n\n:host([size=medium]) {\n --component-size: var(--ig-size, var(--ig-size-medium));\n}\n\n:host([size=large]) {\n --component-size: var(--ig-size, var(--ig-size-large));\n}`;\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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8DvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium: min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--ig-scrollbar-size);\n scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--ig-scrollbar-size);\n height: var(--ig-scrollbar-size);\n background: var(--ig-scrollbar-track-background);\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--ig-scrollbar-thumb-background);\n}\n\n[hidden] {\n display: none !important;\n}\n\n/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */\n:host {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n font-family: var(--ig-font-family);\n}\n\n[part=base] {\n border-radius: clamp(0rem, calc(var(--ig-radius-factor) * 0.25rem), 0.25rem);\n overflow-y: auto;\n overflow-x: hidden;\n background: hsla(var(--ig-surface-500), var(--ig-surface-a));\n -webkit-box-shadow: var(--ig-elevation-8);\n box-shadow: var(--ig-elevation-8);\n min-width: 7rem;\n padding: 0.5rem 0;\n z-index: 10005;\n}\n\n:host([size=small]) {\n --component-size: var(--ig-size, var(--ig-size-small));\n}\n\n:host([size=medium]) {\n --component-size: var(--ig-size, var(--ig-size-medium));\n}\n\n:host([size=large]) {\n --component-size: var(--ig-size, var(--ig-size-large));\n}`;\n"]}
@@ -14,6 +14,7 @@ declare const IgcExpansionPanelComponent_base: import("../common/mixins/construc
14
14
  *
15
15
  * @element igc-expansion-panel
16
16
  *
17
+ * @slot - renders the default content of the panel
17
18
  * @slot title - renders the title of the panel's header
18
19
  * @slot subtitle - renders the subtitle of the panel's header
19
20
  * @slot indicator - renders the expand/collapsed indicator
@@ -1 +1 @@
1
- {"version":3,"file":"expansion-panel.js","sourceRoot":"","sources":["../../../src/components/expansion-panel/expansion-panel.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { styles } from './themes/light/expansion-panel.base.css.js';\nimport { styles as bootstrap } from './themes/light/expansion-panel.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/expansion-panel.fluent.css.js';\nimport { styles as indigo } from './themes/light/expansion-panel.indigo.css.js';\nimport { createCounter } from '../common/util.js';\n\nimport { defineComponents } from '../common/definitions/defineComponents.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport {\n AnimationPlayer,\n growVerIn,\n growVerOut,\n} from '../../animations/index.js';\n\ndefineComponents(IgcIconComponent);\n\nexport interface IgcExpansionPanelComponentEventMap {\n igcOpening: CustomEvent<IgcExpansionPanelComponent>;\n igcOpened: CustomEvent<IgcExpansionPanelComponent>;\n igcClosing: CustomEvent<IgcExpansionPanelComponent>;\n igcClosed: CustomEvent<IgcExpansionPanelComponent>;\n}\n\n/**\n * The Expansion Panel Component provides a way to display information in a toggleable way -\n * compact summary view containing title and description and expanded detail view containing\n * additional content to the summary header.\n *\n * @element igc-expansion-panel\n *\n * @slot title - renders the title of the panel's header\n * @slot subtitle - renders the subtitle of the panel's header\n * @slot indicator - renders the expand/collapsed indicator\n *\n * @fires igcOpening - Emitted before opening the expansion panel.\n * @fires igcOpened - Emitted after the expansion panel is opened.\n * @fires igcClosing - Emitted before closing the expansion panel.\n * @fires igcClosed - Emitted after the expansion panel is closed.\n *\n * @csspart header - The container of the expansion indicator, title and subtitle.\n * @csspart title - The title container.\n * @csspart subtitle - The subtitle container.\n * @csspart indicator - The indicator container.\n * @csspart content - The expansion panel's content wrapper.\n */\n@themes({ bootstrap, fluent, indigo })\nexport default class IgcExpansionPanelComponent extends EventEmitterMixin<\n IgcExpansionPanelComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-expansion-panel';\n public static styles = styles;\n private static readonly increment = createCounter();\n private animationPlayer!: AnimationPlayer;\n\n /**\n * Indicates whether the contents of the control should be visible.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public open = false;\n\n /**\n * Get/Set whether the expansion panel is disabled. Disabled panels are ignored for user interactions.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public disabled = false;\n\n /**\n * The indicator position of the expansion panel.\n * @attr indicator-position\n */\n @property({ reflect: true, attribute: 'indicator-position' })\n public indicatorPosition: 'start' | 'end' | 'none' = 'start';\n\n @query('[part~=\"header\"]', true)\n protected panelHeader!: HTMLElement;\n\n @query('[part~=\"content\"]', true)\n protected panelContent!: HTMLElement;\n\n private panelId!: string;\n\n public override connectedCallback() {\n super.connectedCallback();\n this.panelId =\n this.getAttribute('id') ||\n `igc-expansion-panel-${IgcExpansionPanelComponent.increment()}`;\n }\n\n public override firstUpdated() {\n this.animationPlayer = new AnimationPlayer(this.panelContent);\n }\n\n private handleClicked() {\n this.panelHeader!.focus();\n\n if (this.open) {\n this.closeWithEvent();\n } else {\n this.openWithEvent();\n }\n }\n\n private handleKeydown(event: KeyboardEvent) {\n if (this.disabled) {\n return;\n }\n\n switch (event.key.toLowerCase()) {\n case 'arrowdown':\n case 'down':\n if (event.altKey) {\n this.openWithEvent();\n }\n break;\n case 'arrowup':\n case 'up':\n if (event.altKey) {\n this.closeWithEvent();\n }\n break;\n case 'enter':\n case ' ':\n this.open ? this.closeWithEvent() : this.openWithEvent();\n break;\n }\n }\n\n private async toggleAnimation(dir: 'open' | 'close') {\n const animation = dir === 'open' ? growVerIn : growVerOut;\n\n const [_, event] = await Promise.all([\n this.animationPlayer.stopAll(),\n this.animationPlayer.play(animation),\n ]);\n\n return event.type === 'finish';\n }\n\n /**\n * @private\n * Opens the panel.\n */\n private async openWithEvent() {\n if (this.open) {\n return;\n }\n\n const args = {\n cancelable: true,\n detail: this,\n };\n\n const allowed = this.emitEvent('igcOpening', args);\n\n if (!allowed) {\n return;\n }\n\n this.open = true;\n\n if (await this.toggleAnimation('open')) {\n this.emitEvent('igcOpened', { detail: this });\n }\n }\n\n /**\n * @private\n * Closes the panel.\n */\n private async closeWithEvent() {\n if (!this.open) {\n return;\n }\n\n const args = {\n cancelable: true,\n detail: this,\n };\n\n const allowed = this.emitEvent('igcClosing', args);\n\n if (!allowed) {\n return;\n }\n\n this.open = false;\n\n if (await this.toggleAnimation('close')) {\n this.emitEvent('igcClosed', { detail: this });\n }\n }\n\n /** Toggles panel open state. */\n public toggle(): void {\n this.open ? this.hide() : this.show();\n }\n\n /** Hides the panel content. */\n public hide(): void {\n if (this.open) {\n this.toggleAnimation('close');\n }\n\n this.open = false;\n }\n\n /** Shows the panel content. */\n public show(): void {\n if (!this.open) {\n this.toggleAnimation('open');\n }\n\n this.open = true;\n }\n\n private indicatorTemplate() {\n return html`\n <div part=\"indicator\" aria-hidden=\"true\">\n <slot name=\"indicator\">\n <igc-icon\n name=${this.open ? 'keyboard_arrow_up' : 'keyboard_arrow_down'}\n collection=\"internal\"\n >\n </igc-icon>\n </slot>\n </div>\n `;\n }\n\n private headerTemplate() {\n return html`\n <div\n part=\"header\"\n id=\"${this.panelId!}-header\"\n role=\"button\"\n aria-expanded=\"${this.open}\"\n aria-disabled=\"${this.disabled}\"\n aria-controls=\"${this.panelId!}-content\"\n tabindex=${this.disabled ? '-1' : '0'}\n @click=${this.handleClicked}\n @keydown=${this.handleKeydown}\n >\n ${this.indicatorTemplate()}\n <div>\n <slot name=\"title\" part=\"title\"></slot>\n <slot name=\"subtitle\" part=\"subtitle\"></slot>\n </div>\n </div>\n `;\n }\n\n private contentTemplate() {\n return html`\n <div\n part=\"content\"\n role=\"region\"\n id=\"${this.panelId!}-content\"\n aria-labelledby=\"${this.panelId!}-header\"\n aria-hidden=${!this.open}\n >\n <slot></slot>\n </div>\n `;\n }\n\n protected override render() {\n return html` ${this.headerTemplate()} ${this.contentTemplate()}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-expansion-panel': IgcExpansionPanelComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"expansion-panel.js","sourceRoot":"","sources":["../../../src/components/expansion-panel/expansion-panel.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,4CAA4C,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,eAAe,EACf,SAAS,EACT,UAAU,GACX,MAAM,2BAA2B,CAAC;AAEnC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;AAiCnC,IAAqB,0BAA0B,kCAA/C,MAAqB,0BAA2B,SAAQ,iBAAiB,CAGvE,UAAU,CAAC;IAHb;;QAcS,SAAI,GAAG,KAAK,CAAC;QAOb,aAAQ,GAAG,KAAK,CAAC;QAOjB,sBAAiB,GAA6B,OAAO,CAAC;IAqM/D,CAAC;IA3LiB,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO;YACV,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBACvB,uBAAuB,4BAA0B,CAAC,SAAS,EAAE,EAAE,CAAC;IACpE,CAAC;IAEe,YAAY;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChE,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,WAAY,CAAC,KAAK,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAEO,aAAa,CAAC,KAAoB;QACxC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QAED,QAAQ,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE;YAC/B,KAAK,WAAW,CAAC;YACjB,KAAK,MAAM;gBACT,IAAI,KAAK,CAAC,MAAM,EAAE;oBAChB,IAAI,CAAC,aAAa,EAAE,CAAC;iBACtB;gBACD,MAAM;YACR,KAAK,SAAS,CAAC;YACf,KAAK,IAAI;gBACP,IAAI,KAAK,CAAC,MAAM,EAAE;oBAChB,IAAI,CAAC,cAAc,EAAE,CAAC;iBACvB;gBACD,MAAM;YACR,KAAK,OAAO,CAAC;YACb,KAAK,GAAG;gBACN,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzD,MAAM;SACT;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,GAAqB;QACjD,MAAM,SAAS,GAAG,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAE1D,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;YAC9B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;SACrC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;IACjC,CAAC;IAMO,KAAK,CAAC,aAAa;QACzB,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,OAAO;SACR;QAED,MAAM,IAAI,GAAG;YACX,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,IAAI;SACb,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAEnD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;YACtC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;SAC/C;IACH,CAAC;IAMO,KAAK,CAAC,cAAc;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,OAAO;SACR;QAED,MAAM,IAAI,GAAG;YACX,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,IAAI;SACb,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAEnD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAElB,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;YACvC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;SAC/C;IACH,CAAC;IAGM,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;IAGM,IAAI;QACT,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;SAC/B;QAED,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAGM,IAAI;QACT,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;SAC9B;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEO,iBAAiB;QACvB,OAAO,IAAI,CAAA;;;;mBAII,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB;;;;;;KAMrE,CAAC;IACJ,CAAC;IAEO,cAAc;QACpB,OAAO,IAAI,CAAA;;;cAGD,IAAI,CAAC,OAAQ;;yBAEF,IAAI,CAAC,IAAI;yBACT,IAAI,CAAC,QAAQ;yBACb,IAAI,CAAC,OAAQ;mBACnB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;iBAC5B,IAAI,CAAC,aAAa;mBAChB,IAAI,CAAC,aAAa;;UAE3B,IAAI,CAAC,iBAAiB,EAAE;;;;;;KAM7B,CAAC;IACJ,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAA;;;;cAID,IAAI,CAAC,OAAQ;2BACA,IAAI,CAAC,OAAQ;sBAClB,CAAC,IAAI,CAAC,IAAI;;;;KAI3B,CAAC;IACJ,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;IACnE,CAAC;;AA5NsB,kCAAO,GAAG,qBAAqB,AAAxB,CAAyB;AACzC,iCAAM,GAAG,MAAM,AAAT,CAAU;AACN,oCAAS,GAAG,aAAa,EAAE,AAAlB,CAAmB;AAQ7C;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wDACvB;AAOb;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4DACnB;AAOjB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;qEACA;AAGnD;IADT,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC;+DACI;AAG1B;IADT,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC;gEACI;AAlClB,0BAA0B;IAD9C,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;GACjB,0BAA0B,CAiO9C;eAjOoB,0BAA0B","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { styles } from './themes/light/expansion-panel.base.css.js';\nimport { styles as bootstrap } from './themes/light/expansion-panel.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/expansion-panel.fluent.css.js';\nimport { styles as indigo } from './themes/light/expansion-panel.indigo.css.js';\nimport { createCounter } from '../common/util.js';\n\nimport { defineComponents } from '../common/definitions/defineComponents.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport {\n AnimationPlayer,\n growVerIn,\n growVerOut,\n} from '../../animations/index.js';\n\ndefineComponents(IgcIconComponent);\n\nexport interface IgcExpansionPanelComponentEventMap {\n igcOpening: CustomEvent<IgcExpansionPanelComponent>;\n igcOpened: CustomEvent<IgcExpansionPanelComponent>;\n igcClosing: CustomEvent<IgcExpansionPanelComponent>;\n igcClosed: CustomEvent<IgcExpansionPanelComponent>;\n}\n\n/**\n * The Expansion Panel Component provides a way to display information in a toggleable way -\n * compact summary view containing title and description and expanded detail view containing\n * additional content to the summary header.\n *\n * @element igc-expansion-panel\n *\n * @slot - renders the default content of the panel\n * @slot title - renders the title of the panel's header\n * @slot subtitle - renders the subtitle of the panel's header\n * @slot indicator - renders the expand/collapsed indicator\n *\n * @fires igcOpening - Emitted before opening the expansion panel.\n * @fires igcOpened - Emitted after the expansion panel is opened.\n * @fires igcClosing - Emitted before closing the expansion panel.\n * @fires igcClosed - Emitted after the expansion panel is closed.\n *\n * @csspart header - The container of the expansion indicator, title and subtitle.\n * @csspart title - The title container.\n * @csspart subtitle - The subtitle container.\n * @csspart indicator - The indicator container.\n * @csspart content - The expansion panel's content wrapper.\n */\n@themes({ bootstrap, fluent, indigo })\nexport default class IgcExpansionPanelComponent extends EventEmitterMixin<\n IgcExpansionPanelComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-expansion-panel';\n public static styles = styles;\n private static readonly increment = createCounter();\n private animationPlayer!: AnimationPlayer;\n\n /**\n * Indicates whether the contents of the control should be visible.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public open = false;\n\n /**\n * Get/Set whether the expansion panel is disabled. Disabled panels are ignored for user interactions.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public disabled = false;\n\n /**\n * The indicator position of the expansion panel.\n * @attr indicator-position\n */\n @property({ reflect: true, attribute: 'indicator-position' })\n public indicatorPosition: 'start' | 'end' | 'none' = 'start';\n\n @query('[part~=\"header\"]', true)\n protected panelHeader!: HTMLElement;\n\n @query('[part~=\"content\"]', true)\n protected panelContent!: HTMLElement;\n\n private panelId!: string;\n\n public override connectedCallback() {\n super.connectedCallback();\n this.panelId =\n this.getAttribute('id') ||\n `igc-expansion-panel-${IgcExpansionPanelComponent.increment()}`;\n }\n\n public override firstUpdated() {\n this.animationPlayer = new AnimationPlayer(this.panelContent);\n }\n\n private handleClicked() {\n this.panelHeader!.focus();\n\n if (this.open) {\n this.closeWithEvent();\n } else {\n this.openWithEvent();\n }\n }\n\n private handleKeydown(event: KeyboardEvent) {\n if (this.disabled) {\n return;\n }\n\n switch (event.key.toLowerCase()) {\n case 'arrowdown':\n case 'down':\n if (event.altKey) {\n this.openWithEvent();\n }\n break;\n case 'arrowup':\n case 'up':\n if (event.altKey) {\n this.closeWithEvent();\n }\n break;\n case 'enter':\n case ' ':\n this.open ? this.closeWithEvent() : this.openWithEvent();\n break;\n }\n }\n\n private async toggleAnimation(dir: 'open' | 'close') {\n const animation = dir === 'open' ? growVerIn : growVerOut;\n\n const [_, event] = await Promise.all([\n this.animationPlayer.stopAll(),\n this.animationPlayer.play(animation),\n ]);\n\n return event.type === 'finish';\n }\n\n /**\n * @private\n * Opens the panel.\n */\n private async openWithEvent() {\n if (this.open) {\n return;\n }\n\n const args = {\n cancelable: true,\n detail: this,\n };\n\n const allowed = this.emitEvent('igcOpening', args);\n\n if (!allowed) {\n return;\n }\n\n this.open = true;\n\n if (await this.toggleAnimation('open')) {\n this.emitEvent('igcOpened', { detail: this });\n }\n }\n\n /**\n * @private\n * Closes the panel.\n */\n private async closeWithEvent() {\n if (!this.open) {\n return;\n }\n\n const args = {\n cancelable: true,\n detail: this,\n };\n\n const allowed = this.emitEvent('igcClosing', args);\n\n if (!allowed) {\n return;\n }\n\n this.open = false;\n\n if (await this.toggleAnimation('close')) {\n this.emitEvent('igcClosed', { detail: this });\n }\n }\n\n /** Toggles panel open state. */\n public toggle(): void {\n this.open ? this.hide() : this.show();\n }\n\n /** Hides the panel content. */\n public hide(): void {\n if (this.open) {\n this.toggleAnimation('close');\n }\n\n this.open = false;\n }\n\n /** Shows the panel content. */\n public show(): void {\n if (!this.open) {\n this.toggleAnimation('open');\n }\n\n this.open = true;\n }\n\n private indicatorTemplate() {\n return html`\n <div part=\"indicator\" aria-hidden=\"true\">\n <slot name=\"indicator\">\n <igc-icon\n name=${this.open ? 'keyboard_arrow_up' : 'keyboard_arrow_down'}\n collection=\"internal\"\n >\n </igc-icon>\n </slot>\n </div>\n `;\n }\n\n private headerTemplate() {\n return html`\n <div\n part=\"header\"\n id=\"${this.panelId!}-header\"\n role=\"button\"\n aria-expanded=\"${this.open}\"\n aria-disabled=\"${this.disabled}\"\n aria-controls=\"${this.panelId!}-content\"\n tabindex=${this.disabled ? '-1' : '0'}\n @click=${this.handleClicked}\n @keydown=${this.handleKeydown}\n >\n ${this.indicatorTemplate()}\n <div>\n <slot name=\"title\" part=\"title\"></slot>\n <slot name=\"subtitle\" part=\"subtitle\"></slot>\n </div>\n </div>\n `;\n }\n\n private contentTemplate() {\n return html`\n <div\n part=\"content\"\n role=\"region\"\n id=\"${this.panelId!}-content\"\n aria-labelledby=\"${this.panelId!}-header\"\n aria-hidden=${!this.open}\n >\n <slot></slot>\n </div>\n `;\n }\n\n protected override render() {\n return html` ${this.headerTemplate()} ${this.contentTemplate()}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-expansion-panel': IgcExpansionPanelComponent;\n }\n}\n"]}