igniteui-webcomponents 5.1.2 → 5.2.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 (370) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/components/avatar/themes/avatar.base.css.js +1 -1
  3. package/components/avatar/themes/avatar.base.css.js.map +1 -1
  4. package/components/avatar/themes/dark/avatar.bootstrap.css.js +1 -1
  5. package/components/avatar/themes/dark/avatar.bootstrap.css.js.map +1 -1
  6. package/components/avatar/themes/light/avatar.bootstrap.css.js +1 -1
  7. package/components/avatar/themes/light/avatar.bootstrap.css.js.map +1 -1
  8. package/components/avatar/themes/light/avatar.shared.css.js +1 -1
  9. package/components/avatar/themes/light/avatar.shared.css.js.map +1 -1
  10. package/components/avatar/themes/shared/avatar.common.css.js +1 -1
  11. package/components/avatar/themes/shared/avatar.common.css.js.map +1 -1
  12. package/components/avatar/themes/shared/avatar.indigo.css.js +1 -1
  13. package/components/avatar/themes/shared/avatar.indigo.css.js.map +1 -1
  14. package/components/badge/themes/badge.base.css.js +1 -1
  15. package/components/badge/themes/badge.base.css.js.map +1 -1
  16. package/components/badge/themes/dark/badge.bootstrap.css.js +1 -1
  17. package/components/badge/themes/dark/badge.bootstrap.css.js.map +1 -1
  18. package/components/badge/themes/dark/badge.indigo.css.js +1 -1
  19. package/components/badge/themes/dark/badge.indigo.css.js.map +1 -1
  20. package/components/badge/themes/light/badge.bootstrap.css.js +1 -1
  21. package/components/badge/themes/light/badge.bootstrap.css.js.map +1 -1
  22. package/components/badge/themes/light/badge.indigo.css.js +1 -1
  23. package/components/badge/themes/light/badge.indigo.css.js.map +1 -1
  24. package/components/badge/themes/light/badge.shared.css.js +1 -1
  25. package/components/badge/themes/light/badge.shared.css.js.map +1 -1
  26. package/components/badge/themes/shared/badge.common.css.js +1 -1
  27. package/components/badge/themes/shared/badge.common.css.js.map +1 -1
  28. package/components/badge/themes/shared/badge.indigo.css.js +1 -1
  29. package/components/badge/themes/shared/badge.indigo.css.js.map +1 -1
  30. package/components/button/themes/button/button.base.css.js +1 -1
  31. package/components/button/themes/button/button.base.css.js.map +1 -1
  32. package/components/button/themes/icon-button/icon-button.base.css.js +1 -1
  33. package/components/button/themes/icon-button/icon-button.base.css.js.map +1 -1
  34. package/components/button-group/themes/button.base.css.js +1 -1
  35. package/components/button-group/themes/button.base.css.js.map +1 -1
  36. package/components/button-group/themes/group.base.css.js +1 -1
  37. package/components/button-group/themes/group.base.css.js.map +1 -1
  38. package/components/calendar/base.d.ts +7 -7
  39. package/components/calendar/base.js +23 -16
  40. package/components/calendar/base.js.map +1 -1
  41. package/components/calendar/calendar.js.map +1 -1
  42. package/components/calendar/helpers.d.ts +28 -3
  43. package/components/calendar/helpers.js +36 -11
  44. package/components/calendar/helpers.js.map +1 -1
  45. package/components/calendar/themes/calendar.base.css.js +1 -1
  46. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  47. package/components/card/themes/card.actions.base.css.js +1 -1
  48. package/components/card/themes/card.actions.base.css.js.map +1 -1
  49. package/components/card/themes/card.content.base.css.js +1 -1
  50. package/components/card/themes/card.content.base.css.js.map +1 -1
  51. package/components/card/themes/card.header.base.css.js +1 -1
  52. package/components/card/themes/card.header.base.css.js.map +1 -1
  53. package/components/card/themes/card.media.base.css.js +1 -1
  54. package/components/card/themes/card.media.base.css.js.map +1 -1
  55. package/components/card/themes/container.base.css.js +1 -1
  56. package/components/card/themes/container.base.css.js.map +1 -1
  57. package/components/card/themes/dark/card.fluent.css.js +1 -1
  58. package/components/card/themes/dark/card.fluent.css.js.map +1 -1
  59. package/components/card/themes/light/container/card.fluent.css.js +1 -1
  60. package/components/card/themes/light/container/card.fluent.css.js.map +1 -1
  61. package/components/carousel/themes/carousel-indicator-container.base.css.js +1 -1
  62. package/components/carousel/themes/carousel-indicator-container.base.css.js.map +1 -1
  63. package/components/carousel/themes/carousel-indicator.base.css.js +1 -1
  64. package/components/carousel/themes/carousel-indicator.base.css.js.map +1 -1
  65. package/components/carousel/themes/carousel-slide.base.css.js +1 -1
  66. package/components/carousel/themes/carousel-slide.base.css.js.map +1 -1
  67. package/components/carousel/themes/carousel.base.css.js +1 -1
  68. package/components/carousel/themes/carousel.base.css.js.map +1 -1
  69. package/components/checkbox/checkbox-base.d.ts +3 -1
  70. package/components/checkbox/checkbox-base.js +14 -10
  71. package/components/checkbox/checkbox-base.js.map +1 -1
  72. package/components/checkbox/checkbox.js +1 -2
  73. package/components/checkbox/checkbox.js.map +1 -1
  74. package/components/checkbox/themes/checkbox.base.css.js +1 -1
  75. package/components/checkbox/themes/checkbox.base.css.js.map +1 -1
  76. package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js +1 -1
  77. package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js.map +1 -1
  78. package/components/checkbox/themes/dark/checkbox/checkbox.indigo.css.js +1 -1
  79. package/components/checkbox/themes/dark/checkbox/checkbox.indigo.css.js.map +1 -1
  80. package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.js +1 -1
  81. package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.js.map +1 -1
  82. package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.js +1 -1
  83. package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.js.map +1 -1
  84. package/components/checkbox/themes/light/checkbox/checkbox.shared.css.js +1 -1
  85. package/components/checkbox/themes/light/checkbox/checkbox.shared.css.js.map +1 -1
  86. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
  87. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
  88. package/components/checkbox/themes/shared/checkbox/checkbox.common.css.js +1 -1
  89. package/components/checkbox/themes/shared/checkbox/checkbox.common.css.js.map +1 -1
  90. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js +1 -1
  91. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js.map +1 -1
  92. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js +1 -1
  93. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js.map +1 -1
  94. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js +1 -1
  95. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js.map +1 -1
  96. package/components/checkbox/themes/switch.base.css.js +1 -1
  97. package/components/checkbox/themes/switch.base.css.js.map +1 -1
  98. package/components/chip/themes/chip.base.css.js +1 -1
  99. package/components/chip/themes/chip.base.css.js.map +1 -1
  100. package/components/combo/combo-item.d.ts +4 -2
  101. package/components/combo/combo-item.js +19 -16
  102. package/components/combo/combo-item.js.map +1 -1
  103. package/components/combo/combo.d.ts +52 -41
  104. package/components/combo/combo.js +340 -339
  105. package/components/combo/combo.js.map +1 -1
  106. package/components/combo/controllers/data.d.ts +3 -1
  107. package/components/combo/controllers/data.js +9 -2
  108. package/components/combo/controllers/data.js.map +1 -1
  109. package/components/combo/controllers/navigation.d.ts +3 -1
  110. package/components/combo/controllers/navigation.js +4 -3
  111. package/components/combo/controllers/navigation.js.map +1 -1
  112. package/components/combo/controllers/selection.d.ts +14 -6
  113. package/components/combo/controllers/selection.js +66 -59
  114. package/components/combo/controllers/selection.js.map +1 -1
  115. package/components/combo/themes/combo-header.base.css.js +1 -1
  116. package/components/combo/themes/combo-header.base.css.js.map +1 -1
  117. package/components/combo/themes/combo-item.base.css.js +1 -1
  118. package/components/combo/themes/combo-item.base.css.js.map +1 -1
  119. package/components/combo/themes/combo.base.css.js +1 -1
  120. package/components/combo/themes/combo.base.css.js.map +1 -1
  121. package/components/common/mixins/alert.js.map +1 -1
  122. package/components/common/mixins/combo-box.js.map +1 -1
  123. package/components/common/mixins/forms/associated.js +41 -39
  124. package/components/common/mixins/forms/associated.js.map +1 -1
  125. package/components/common/mixins/forms/form-value.d.ts +32 -0
  126. package/components/common/mixins/forms/form-value.js +59 -0
  127. package/components/common/mixins/forms/form-value.js.map +1 -0
  128. package/components/common/mixins/forms/types.d.ts +9 -8
  129. package/components/common/mixins/forms/types.js.map +1 -1
  130. package/components/common/util.d.ts +3 -0
  131. package/components/common/util.js +13 -0
  132. package/components/common/util.js.map +1 -1
  133. package/components/common/validators.d.ts +7 -7
  134. package/components/common/validators.js +24 -17
  135. package/components/common/validators.js.map +1 -1
  136. package/components/date-picker/date-picker.d.ts +17 -14
  137. package/components/date-picker/date-picker.js +30 -20
  138. package/components/date-picker/date-picker.js.map +1 -1
  139. package/components/date-picker/themes/date-picker.base.css.js +1 -1
  140. package/components/date-picker/themes/date-picker.base.css.js.map +1 -1
  141. package/components/date-picker/validators.js +2 -2
  142. package/components/date-picker/validators.js.map +1 -1
  143. package/components/date-time-input/date-time-input.d.ts +9 -6
  144. package/components/date-time-input/date-time-input.js +33 -30
  145. package/components/date-time-input/date-time-input.js.map +1 -1
  146. package/components/date-time-input/date-util.js +2 -12
  147. package/components/date-time-input/date-util.js.map +1 -1
  148. package/components/date-time-input/validators.js +2 -2
  149. package/components/date-time-input/validators.js.map +1 -1
  150. package/components/dialog/themes/dialog.base.css.js +1 -1
  151. package/components/dialog/themes/dialog.base.css.js.map +1 -1
  152. package/components/dialog/themes/shared/dialog.fluent.css.js +1 -1
  153. package/components/dialog/themes/shared/dialog.fluent.css.js.map +1 -1
  154. package/components/divider/themes/divider.base.css.js +1 -1
  155. package/components/divider/themes/divider.base.css.js.map +1 -1
  156. package/components/dropdown/themes/dropdown-group.base.css.js +1 -1
  157. package/components/dropdown/themes/dropdown-group.base.css.js.map +1 -1
  158. package/components/dropdown/themes/dropdown-header.base.css.js +1 -1
  159. package/components/dropdown/themes/dropdown-header.base.css.js.map +1 -1
  160. package/components/dropdown/themes/dropdown-item.base.css.js +1 -1
  161. package/components/dropdown/themes/dropdown-item.base.css.js.map +1 -1
  162. package/components/dropdown/themes/dropdown.base.css.js +1 -1
  163. package/components/dropdown/themes/dropdown.base.css.js.map +1 -1
  164. package/components/dropdown/themes/header.js +7 -0
  165. package/components/dropdown/themes/header.js.map +1 -1
  166. package/components/dropdown/themes/shared/dropdown.bootstrap.css.js +1 -1
  167. package/components/dropdown/themes/shared/dropdown.bootstrap.css.js.map +1 -1
  168. package/components/dropdown/themes/shared/header/dropdown-header.fluent.css.d.ts +1 -0
  169. package/components/dropdown/themes/shared/header/dropdown-header.fluent.css.js +3 -0
  170. package/components/dropdown/themes/shared/header/dropdown-header.fluent.css.js.map +1 -0
  171. package/components/expansion-panel/themes/expansion-panel.base.css.js +1 -1
  172. package/components/expansion-panel/themes/expansion-panel.base.css.js.map +1 -1
  173. package/components/icon/icon-state.broadcast.d.ts +1 -0
  174. package/components/icon/icon-state.broadcast.js +4 -1
  175. package/components/icon/icon-state.broadcast.js.map +1 -1
  176. package/components/icon/registry/types.d.ts +1 -0
  177. package/components/icon/registry/types.js.map +1 -1
  178. package/components/icon/themes/icon.base.css.js +1 -1
  179. package/components/icon/themes/icon.base.css.js.map +1 -1
  180. package/components/input/input-base.js +8 -2
  181. package/components/input/input-base.js.map +1 -1
  182. package/components/input/input.d.ts +21 -9
  183. package/components/input/input.js +59 -32
  184. package/components/input/input.js.map +1 -1
  185. package/components/input/themes/input.base.css.js +1 -1
  186. package/components/input/themes/input.base.css.js.map +1 -1
  187. package/components/input/themes/shared/input.common.css.js +1 -1
  188. package/components/input/themes/shared/input.common.css.js.map +1 -1
  189. package/components/input/themes/shared/input.indigo.css.js +1 -1
  190. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  191. package/components/input/themes/shared/input.material.css.js +1 -1
  192. package/components/input/themes/shared/input.material.css.js.map +1 -1
  193. package/components/list/themes/container.base.css.js +1 -1
  194. package/components/list/themes/container.base.css.js.map +1 -1
  195. package/components/list/themes/dark/container/list.bootstrap.css.js +1 -1
  196. package/components/list/themes/dark/container/list.bootstrap.css.js.map +1 -1
  197. package/components/list/themes/dark/container/list.fluent.css.js +1 -1
  198. package/components/list/themes/dark/container/list.fluent.css.js.map +1 -1
  199. package/components/list/themes/dark/container/list.indigo.css.js +1 -1
  200. package/components/list/themes/dark/container/list.indigo.css.js.map +1 -1
  201. package/components/list/themes/dark/container/list.material.css.js +1 -1
  202. package/components/list/themes/dark/container/list.material.css.js.map +1 -1
  203. package/components/list/themes/dark/header/list-header.bootstrap.css.js +1 -1
  204. package/components/list/themes/dark/header/list-header.bootstrap.css.js.map +1 -1
  205. package/components/list/themes/dark/header/list-header.fluent.css.js +1 -1
  206. package/components/list/themes/dark/header/list-header.fluent.css.js.map +1 -1
  207. package/components/list/themes/dark/header/list-header.indigo.css.js +1 -1
  208. package/components/list/themes/dark/header/list-header.indigo.css.js.map +1 -1
  209. package/components/list/themes/dark/header/list-header.material.css.js +1 -1
  210. package/components/list/themes/dark/header/list-header.material.css.js.map +1 -1
  211. package/components/list/themes/dark/item/list-item.bootstrap.css.js +1 -1
  212. package/components/list/themes/dark/item/list-item.bootstrap.css.js.map +1 -1
  213. package/components/list/themes/dark/item/list-item.fluent.css.js +1 -1
  214. package/components/list/themes/dark/item/list-item.fluent.css.js.map +1 -1
  215. package/components/list/themes/dark/item/list-item.indigo.css.js +1 -1
  216. package/components/list/themes/dark/item/list-item.indigo.css.js.map +1 -1
  217. package/components/list/themes/dark/item/list-item.material.css.js +1 -1
  218. package/components/list/themes/dark/item/list-item.material.css.js.map +1 -1
  219. package/components/list/themes/item.base.css.js +1 -1
  220. package/components/list/themes/item.base.css.js.map +1 -1
  221. package/components/list/themes/light/container/list.fluent.css.js +1 -1
  222. package/components/list/themes/light/container/list.fluent.css.js.map +1 -1
  223. package/components/list/themes/light/container/list.indigo.css.js +1 -1
  224. package/components/list/themes/light/container/list.indigo.css.js.map +1 -1
  225. package/components/list/themes/light/container/list.shared.css.js +1 -1
  226. package/components/list/themes/light/container/list.shared.css.js.map +1 -1
  227. package/components/list/themes/light/header/list-header.fluent.css.js +1 -1
  228. package/components/list/themes/light/header/list-header.fluent.css.js.map +1 -1
  229. package/components/list/themes/light/header/list-header.indigo.css.js +1 -1
  230. package/components/list/themes/light/header/list-header.indigo.css.js.map +1 -1
  231. package/components/list/themes/light/item/list-item.fluent.css.js +1 -1
  232. package/components/list/themes/light/item/list-item.fluent.css.js.map +1 -1
  233. package/components/list/themes/light/item/list-item.indigo.css.js +1 -1
  234. package/components/list/themes/light/item/list-item.indigo.css.js.map +1 -1
  235. package/components/list/themes/shared/container/list.indigo.css.js +1 -1
  236. package/components/list/themes/shared/container/list.indigo.css.js.map +1 -1
  237. package/components/list/themes/shared/item/list-item.common.css.js +1 -1
  238. package/components/list/themes/shared/item/list-item.common.css.js.map +1 -1
  239. package/components/list/themes/shared/item/list-item.fluent.css.js +1 -1
  240. package/components/list/themes/shared/item/list-item.fluent.css.js.map +1 -1
  241. package/components/list/themes/shared/item/list-item.indigo.css.js +1 -1
  242. package/components/list/themes/shared/item/list-item.indigo.css.js.map +1 -1
  243. package/components/mask-input/mask-input.d.ts +5 -3
  244. package/components/mask-input/mask-input.js +35 -23
  245. package/components/mask-input/mask-input.js.map +1 -1
  246. package/components/nav-drawer/themes/container.base.css.js +1 -1
  247. package/components/nav-drawer/themes/container.base.css.js.map +1 -1
  248. package/components/nav-drawer/themes/header-item.base.css.js +1 -1
  249. package/components/nav-drawer/themes/header-item.base.css.js.map +1 -1
  250. package/components/nav-drawer/themes/item.base.css.js +1 -1
  251. package/components/nav-drawer/themes/item.base.css.js.map +1 -1
  252. package/components/navbar/themes/navbar.base.css.js +1 -1
  253. package/components/navbar/themes/navbar.base.css.js.map +1 -1
  254. package/components/popover/themes/light/popover.base.css.js +1 -1
  255. package/components/popover/themes/light/popover.base.css.js.map +1 -1
  256. package/components/progress/base.d.ts +11 -12
  257. package/components/progress/base.js +59 -70
  258. package/components/progress/base.js.map +1 -1
  259. package/components/progress/circular-progress.d.ts +0 -1
  260. package/components/progress/circular-progress.js +15 -15
  261. package/components/progress/circular-progress.js.map +1 -1
  262. package/components/progress/linear-progress.js +7 -13
  263. package/components/progress/linear-progress.js.map +1 -1
  264. package/components/progress/themes/circular/circular.progress.base.css.js +1 -1
  265. package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
  266. package/components/progress/themes/circular/shared/circular.progress.bootstrap.css.js +1 -1
  267. package/components/progress/themes/circular/shared/circular.progress.bootstrap.css.js.map +1 -1
  268. package/components/progress/themes/circular/shared/circular.progress.common.css.js +1 -1
  269. package/components/progress/themes/circular/shared/circular.progress.common.css.js.map +1 -1
  270. package/components/progress/themes/circular/shared/circular.progress.fluent.css.js +1 -1
  271. package/components/progress/themes/circular/shared/circular.progress.fluent.css.js.map +1 -1
  272. package/components/progress/themes/circular/shared/circular.progress.indigo.css.js +1 -1
  273. package/components/progress/themes/circular/shared/circular.progress.indigo.css.js.map +1 -1
  274. package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
  275. package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
  276. package/components/progress/themes/linear/shared/linear.progress.bootstrap.css.js +1 -1
  277. package/components/progress/themes/linear/shared/linear.progress.bootstrap.css.js.map +1 -1
  278. package/components/progress/themes/linear/shared/linear.progress.common.css.js +1 -1
  279. package/components/progress/themes/linear/shared/linear.progress.common.css.js.map +1 -1
  280. package/components/progress/themes/linear/shared/linear.progress.fluent.css.js +1 -1
  281. package/components/progress/themes/linear/shared/linear.progress.fluent.css.js.map +1 -1
  282. package/components/progress/themes/linear/shared/linear.progress.indigo.css.js +1 -1
  283. package/components/progress/themes/linear/shared/linear.progress.indigo.css.js.map +1 -1
  284. package/components/radio/radio.d.ts +4 -3
  285. package/components/radio/radio.js +48 -33
  286. package/components/radio/radio.js.map +1 -1
  287. package/components/radio/themes/radio.base.css.js +1 -1
  288. package/components/radio/themes/radio.base.css.js.map +1 -1
  289. package/components/radio-group/radio-group.base.css.js +1 -1
  290. package/components/radio-group/radio-group.base.css.js.map +1 -1
  291. package/components/radio-group/radio-group.d.ts +4 -0
  292. package/components/radio-group/radio-group.js +18 -0
  293. package/components/radio-group/radio-group.js.map +1 -1
  294. package/components/rating/rating-symbol.js +2 -2
  295. package/components/rating/rating-symbol.js.map +1 -1
  296. package/components/rating/rating.d.ts +25 -17
  297. package/components/rating/rating.js +47 -43
  298. package/components/rating/rating.js.map +1 -1
  299. package/components/rating/themes/rating-symbol.base.css.js +1 -1
  300. package/components/rating/themes/rating-symbol.base.css.js.map +1 -1
  301. package/components/rating/themes/rating.base.css.js +1 -1
  302. package/components/rating/themes/rating.base.css.js.map +1 -1
  303. package/components/ripple/ripple.material.css.js +1 -1
  304. package/components/ripple/ripple.material.css.js.map +1 -1
  305. package/components/select/select.d.ts +7 -9
  306. package/components/select/select.js +29 -31
  307. package/components/select/select.js.map +1 -1
  308. package/components/select/themes/select.base.css.js +1 -1
  309. package/components/select/themes/select.base.css.js.map +1 -1
  310. package/components/slider/slider-base.d.ts +0 -1
  311. package/components/slider/slider-base.js +0 -4
  312. package/components/slider/slider-base.js.map +1 -1
  313. package/components/slider/slider.d.ts +3 -2
  314. package/components/slider/slider.js +9 -9
  315. package/components/slider/slider.js.map +1 -1
  316. package/components/slider/themes/slider.base.css.js +1 -1
  317. package/components/slider/themes/slider.base.css.js.map +1 -1
  318. package/components/snackbar/themes/snackbar.base.css.js +1 -1
  319. package/components/snackbar/themes/snackbar.base.css.js.map +1 -1
  320. package/components/stepper/step.d.ts +1 -1
  321. package/components/stepper/step.js.map +1 -1
  322. package/components/stepper/themes/step/step.base.css.js +1 -1
  323. package/components/stepper/themes/step/step.base.css.js.map +1 -1
  324. package/components/stepper/themes/stepper/stepper.base.css.js +1 -1
  325. package/components/stepper/themes/stepper/stepper.base.css.js.map +1 -1
  326. package/components/tabs/themes/dark/tab.bootstrap.css.js +1 -1
  327. package/components/tabs/themes/dark/tab.bootstrap.css.js.map +1 -1
  328. package/components/tabs/themes/dark/tab.fluent.css.js +1 -1
  329. package/components/tabs/themes/dark/tab.fluent.css.js.map +1 -1
  330. package/components/tabs/themes/dark/tab.indigo.css.js +1 -1
  331. package/components/tabs/themes/dark/tab.indigo.css.js.map +1 -1
  332. package/components/tabs/themes/dark/tab.material.css.js +1 -1
  333. package/components/tabs/themes/dark/tab.material.css.js.map +1 -1
  334. package/components/tabs/themes/light/tab.bootstrap.css.js +1 -1
  335. package/components/tabs/themes/light/tab.bootstrap.css.js.map +1 -1
  336. package/components/tabs/themes/light/tab.fluent.css.js +1 -1
  337. package/components/tabs/themes/light/tab.fluent.css.js.map +1 -1
  338. package/components/tabs/themes/light/tab.indigo.css.js +1 -1
  339. package/components/tabs/themes/light/tab.indigo.css.js.map +1 -1
  340. package/components/tabs/themes/tab.base.css.js +1 -1
  341. package/components/tabs/themes/tab.base.css.js.map +1 -1
  342. package/components/tabs/themes/tabs.base.css.js +1 -1
  343. package/components/tabs/themes/tabs.base.css.js.map +1 -1
  344. package/components/textarea/textarea.d.ts +5 -4
  345. package/components/textarea/textarea.js +15 -8
  346. package/components/textarea/textarea.js.map +1 -1
  347. package/components/textarea/themes/shared/textarea.common.css.js +1 -1
  348. package/components/textarea/themes/shared/textarea.common.css.js.map +1 -1
  349. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  350. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  351. package/components/textarea/themes/textarea.base.css.js +1 -1
  352. package/components/textarea/themes/textarea.base.css.js.map +1 -1
  353. package/components/toast/themes/toast.base.css.js +1 -1
  354. package/components/toast/themes/toast.base.css.js.map +1 -1
  355. package/components/tree/themes/container.base.css.js +1 -1
  356. package/components/tree/themes/container.base.css.js.map +1 -1
  357. package/components/tree/themes/shared/item.material.css.js +1 -1
  358. package/components/tree/themes/shared/item.material.css.js.map +1 -1
  359. package/custom-elements.json +2184 -1951
  360. package/igniteui-webcomponents.html-data.json +1 -1
  361. package/package.json +1 -1
  362. package/themes/dark/bootstrap.css +1 -1
  363. package/themes/dark/fluent.css +1 -1
  364. package/themes/dark/indigo.css +1 -1
  365. package/themes/dark/material.css +1 -1
  366. package/themes/light/bootstrap.css +1 -1
  367. package/themes/light/fluent.css +1 -1
  368. package/themes/light/indigo.css +1 -1
  369. package/themes/light/material.css +1 -1
  370. package/web-types.json +1 -1
@@ -1,10 +1,19 @@
1
- import { isEmpty } from '../../common/util.js';
1
+ import { asArray, isEmpty } from '../../common/util.js';
2
2
  export class SelectionController {
3
- get data() {
4
- return this.host.data;
3
+ get isEmpty() {
4
+ return isEmpty(this._selected);
5
5
  }
6
- resetSearchTerm() {
7
- this.host.resetSearchTerm();
6
+ get asArray() {
7
+ return Array.from(this._selected);
8
+ }
9
+ has(item) {
10
+ return this._selected.has(item);
11
+ }
12
+ clear() {
13
+ this._selected.clear();
14
+ }
15
+ getSelectedValuesByKey(key) {
16
+ return this.asArray.map((item) => item[key] ?? item);
8
17
  }
9
18
  getValue(items, key) {
10
19
  return items.map((item) => item[key] ?? item);
@@ -13,63 +22,71 @@ export class SelectionController {
13
22
  return this.host.emitEvent('igcChange', { cancelable: true, detail });
14
23
  }
15
24
  getItemsByValueKey(keys) {
16
- return keys.map((key) => this.data.find((i) => i[this.host.valueKey] === key));
25
+ const _keys = new Set(keys);
26
+ return this.host.data.filter((item) => _keys.has(item[this.host.valueKey]));
17
27
  }
18
28
  selectValueKeys(keys) {
19
- if (isEmpty(keys))
29
+ if (isEmpty(keys)) {
20
30
  return;
21
- this.getItemsByValueKey(keys).forEach((item) => {
22
- return item && this._selected.add(item);
23
- });
31
+ }
32
+ for (const item of this.getItemsByValueKey(keys)) {
33
+ this._selected.add(item);
34
+ }
24
35
  }
25
36
  deselectValueKeys(keys) {
26
- if (isEmpty(keys))
37
+ if (isEmpty(keys)) {
27
38
  return;
28
- this.getItemsByValueKey(keys).forEach((item) => {
29
- return item && this._selected.delete(item);
30
- });
39
+ }
40
+ for (const item of this.getItemsByValueKey(keys)) {
41
+ this._selected.delete(item);
42
+ }
31
43
  }
32
44
  selectObjects(items) {
33
- if (isEmpty(items))
45
+ if (isEmpty(items)) {
34
46
  return;
35
- items.forEach((item) => {
36
- const i = this.data.includes(item);
37
- if (i) {
47
+ }
48
+ const dataSet = new Set(this.host.data);
49
+ for (const item of items) {
50
+ if (dataSet.has(item)) {
38
51
  this._selected.add(item);
39
52
  }
40
- });
53
+ }
41
54
  }
42
55
  deselectObjects(items) {
43
- if (isEmpty(items))
56
+ if (isEmpty(items)) {
44
57
  return;
45
- items.forEach((item) => {
46
- const i = this.data.includes(item);
47
- if (i) {
58
+ }
59
+ const dataSet = new Set(this.host.data);
60
+ for (const item of items) {
61
+ if (dataSet.has(item)) {
48
62
  this._selected.delete(item);
49
63
  }
50
- });
64
+ }
51
65
  }
52
66
  selectAll() {
53
- this.data.forEach((item) => {
54
- this._selected.add(item);
55
- });
67
+ this._selected = new Set(this.host.data);
56
68
  this.host.requestUpdate();
57
69
  }
58
70
  deselectAll() {
59
- this._selected.clear();
71
+ this.clear();
60
72
  this.host.requestUpdate();
61
73
  }
62
74
  async select(items, emit = false) {
63
- const { singleSelect } = this.host;
75
+ let _items = asArray(items);
76
+ const singleSelect = this.host.singleSelect;
64
77
  if (singleSelect) {
65
- this._selected.clear();
66
- this.resetSearchTerm();
78
+ this.clear();
79
+ this.state.searchTerm = '';
67
80
  }
68
- if (!items || isEmpty(items)) {
69
- !singleSelect && this.selectAll();
81
+ if (isEmpty(_items)) {
82
+ if (!singleSelect) {
83
+ this.selectAll();
84
+ }
70
85
  return;
71
86
  }
72
- const _items = singleSelect ? items.slice(0, 1) : items;
87
+ if (singleSelect) {
88
+ _items = _items.slice(0, 1);
89
+ }
73
90
  const values = this.host.valueKey
74
91
  ? this.getItemsByValueKey(_items)
75
92
  : _items;
@@ -92,11 +109,12 @@ export class SelectionController {
92
109
  this.host.requestUpdate();
93
110
  }
94
111
  async deselect(items, emit = false) {
95
- if (!items || isEmpty(items)) {
112
+ let _items = asArray(items);
113
+ if (isEmpty(_items)) {
96
114
  if (emit &&
97
115
  !this.handleChange({
98
116
  newValue: [],
99
- items: Array.from(this.selected),
117
+ items: this.asArray,
100
118
  type: 'deselection',
101
119
  })) {
102
120
  return;
@@ -104,7 +122,9 @@ export class SelectionController {
104
122
  this.deselectAll();
105
123
  return;
106
124
  }
107
- const _items = this.host.singleSelect ? items.slice(0, 1) : items;
125
+ if (this.host.singleSelect) {
126
+ _items = _items.slice(0, 1);
127
+ }
108
128
  const values = this.host.valueKey
109
129
  ? this.getItemsByValueKey(_items)
110
130
  : _items;
@@ -126,33 +146,20 @@ export class SelectionController {
126
146
  }
127
147
  this.host.requestUpdate();
128
148
  }
129
- get selected() {
130
- return this._selected;
131
- }
132
149
  changeSelection(index) {
133
- const item = this.data[index];
134
- if (this.host.valueKey) {
135
- !this.selected.has(item)
136
- ? this.select([item[this.host.valueKey]], true)
137
- : this.deselect([item[this.host.valueKey]], true);
138
- }
139
- else {
140
- !this.selected.has(item)
141
- ? this.select([item], true)
142
- : this.deselect([item], true);
143
- }
150
+ const valueKey = this.host.valueKey;
151
+ const record = this.host.data[index];
152
+ const item = valueKey ? record[valueKey] : record;
153
+ this.has(record) ? this.deselect(item, true) : this.select(item, true);
144
154
  }
145
155
  selectByIndex(index) {
146
- const item = this.data[index];
147
- if (this.host.valueKey) {
148
- this.select([item[this.host.valueKey]], true);
149
- }
150
- else {
151
- this.select([item], true);
152
- }
156
+ const valueKey = this.host.valueKey;
157
+ const item = this.host.data[index];
158
+ this.select(valueKey ? item[valueKey] : item, true);
153
159
  }
154
- constructor(host) {
160
+ constructor(host, state) {
155
161
  this.host = host;
162
+ this.state = state;
156
163
  this._selected = new Set();
157
164
  this.host.addController(this);
158
165
  }
@@ -1 +1 @@
1
- {"version":3,"file":"selection.js","sourceRoot":"","sources":["../../../../src/components/combo/controllers/selection.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ReactiveController } from 'lit';\n\nimport { isEmpty } from '../../common/util.js';\nimport type {\n ComboHost,\n ComboValue,\n IgcComboChangeEventArgs,\n Item,\n Keys,\n Values,\n} from '../types.js';\n\nexport class SelectionController<T extends object>\n implements ReactiveController\n{\n private _selected: Set<T> = new Set();\n\n public get data() {\n return this.host.data;\n }\n\n public resetSearchTerm() {\n // @ts-expect-error protected access\n this.host.resetSearchTerm();\n }\n\n public getValue(items: T[], key: Keys<T>): ComboValue<T>[] {\n return items.map((item) => item[key] ?? item);\n }\n\n private handleChange(detail: IgcComboChangeEventArgs) {\n return this.host.emitEvent('igcChange', { cancelable: true, detail });\n }\n\n private getItemsByValueKey(keys: Values<T>[]) {\n return keys.map((key) =>\n this.data.find((i) => i[this.host.valueKey!] === key)\n );\n }\n\n private selectValueKeys(keys: Values<T>[]) {\n if (isEmpty(keys)) return;\n\n this.getItemsByValueKey(keys).forEach((item) => {\n return item && this._selected.add(item);\n });\n }\n\n private deselectValueKeys(keys: Values<T>[]) {\n if (isEmpty(keys)) return;\n\n this.getItemsByValueKey(keys).forEach((item) => {\n return item && this._selected.delete(item);\n });\n }\n\n private selectObjects(items: T[]) {\n if (isEmpty(items)) return;\n\n items.forEach((item) => {\n const i = this.data.includes(item);\n if (i) {\n this._selected.add(item);\n }\n });\n }\n\n private deselectObjects(items: T[]) {\n if (isEmpty(items)) return;\n\n items.forEach((item) => {\n const i = this.data.includes(item);\n if (i) {\n this._selected.delete(item);\n }\n });\n }\n\n private selectAll() {\n this.data.forEach((item) => {\n this._selected.add(item);\n });\n this.host.requestUpdate();\n }\n\n private deselectAll() {\n this._selected.clear();\n this.host.requestUpdate();\n }\n\n public async select(items?: Item<T>[], emit = false) {\n const { singleSelect } = this.host;\n\n if (singleSelect) {\n this._selected.clear();\n this.resetSearchTerm();\n }\n\n if (!items || isEmpty(items)) {\n !singleSelect && this.selectAll();\n return;\n }\n\n const _items = singleSelect ? items.slice(0, 1) : items;\n\n const values = this.host.valueKey\n ? this.getItemsByValueKey(_items as Values<T>[])\n : _items;\n const selected = Array.from(this._selected.values());\n const payload = [...values, ...selected] as T[];\n\n if (\n emit &&\n !this.handleChange({\n newValue: this.getValue(payload, this.host.valueKey!),\n items: values as T[],\n type: 'selection',\n })\n ) {\n return;\n }\n\n if (this.host.valueKey) {\n this.selectValueKeys(_items as Values<T>[]);\n } else {\n this.selectObjects(_items as T[]);\n }\n\n this.host.requestUpdate();\n }\n\n public async deselect(items?: Item<T>[], emit = false) {\n if (!items || isEmpty(items)) {\n if (\n emit &&\n !this.handleChange({\n newValue: [],\n items: Array.from(this.selected),\n type: 'deselection',\n })\n ) {\n return;\n }\n\n this.deselectAll();\n return;\n }\n\n const _items = this.host.singleSelect ? items.slice(0, 1) : items;\n const values = this.host.valueKey\n ? this.getItemsByValueKey(_items as Values<T>[])\n : _items;\n const selected = Array.from(this._selected.values());\n const payload = selected.filter((item) => item !== values[0]);\n\n if (\n emit &&\n !this.handleChange({\n newValue: this.getValue(payload, this.host.valueKey!),\n items: values as T[],\n type: 'deselection',\n })\n ) {\n return;\n }\n\n if (this.host.valueKey) {\n this.deselectValueKeys(_items as Values<T>[]);\n } else {\n this.deselectObjects(_items as T[]);\n }\n\n this.host.requestUpdate();\n }\n\n public get selected(): Set<T> {\n return this._selected;\n }\n\n public changeSelection(index: number) {\n const item = this.data[index];\n\n if (this.host.valueKey) {\n !this.selected.has(item)\n ? this.select([item[this.host.valueKey]], true)\n : this.deselect([item[this.host.valueKey]], true);\n } else {\n !this.selected.has(item)\n ? this.select([item], true)\n : this.deselect([item], true);\n }\n }\n\n public selectByIndex(index: number) {\n const item = this.data[index];\n\n if (this.host.valueKey) {\n this.select([item[this.host.valueKey]], true);\n } else {\n this.select([item], true);\n }\n }\n\n constructor(protected host: ComboHost<T>) {\n this.host.addController(this);\n }\n\n public hostConnected() {}\n\n public hostDisconnected() {}\n}\n"]}
1
+ {"version":3,"file":"selection.js","sourceRoot":"","sources":["../../../../src/components/combo/controllers/selection.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ReactiveController } from 'lit';\n\nimport { asArray, isEmpty } from '../../common/util.js';\nimport type {\n ComboHost,\n ComboValue,\n IgcComboChangeEventArgs,\n Item,\n Keys,\n Values,\n} from '../types.js';\nimport type { DataController } from './data.js';\n\nexport class SelectionController<T extends object>\n implements ReactiveController\n{\n private _selected: Set<T> = new Set();\n\n /** Whether the current selection is empty */\n public get isEmpty() {\n return isEmpty(this._selected);\n }\n\n /** Returns the current selection as an array */\n public get asArray() {\n return Array.from(this._selected);\n }\n\n /** Whether the current selection has the given item */\n public has(item?: T) {\n return this._selected.has(item!);\n }\n\n /** Clears the current selection */\n public clear() {\n this._selected.clear();\n }\n\n public getSelectedValuesByKey(key?: Keys<T>) {\n return this.asArray.map((item) => item[key!] ?? item);\n }\n\n public getValue(items: T[], key: Keys<T>): ComboValue<T>[] {\n return items.map((item) => item[key] ?? item);\n }\n\n private handleChange(detail: IgcComboChangeEventArgs) {\n return this.host.emitEvent('igcChange', { cancelable: true, detail });\n }\n\n private getItemsByValueKey(keys: Values<T>[]) {\n const _keys = new Set(keys);\n return this.host.data.filter((item) =>\n _keys.has(item[this.host.valueKey!])\n );\n }\n\n private selectValueKeys(keys: Values<T>[]) {\n if (isEmpty(keys)) {\n return;\n }\n\n for (const item of this.getItemsByValueKey(keys)) {\n this._selected.add(item);\n }\n }\n\n private deselectValueKeys(keys: Values<T>[]) {\n if (isEmpty(keys)) {\n return;\n }\n\n for (const item of this.getItemsByValueKey(keys)) {\n this._selected.delete(item);\n }\n }\n\n private selectObjects(items: T[]) {\n if (isEmpty(items)) {\n return;\n }\n\n const dataSet = new Set(this.host.data);\n\n for (const item of items) {\n if (dataSet.has(item)) {\n this._selected.add(item);\n }\n }\n }\n\n private deselectObjects(items: T[]) {\n if (isEmpty(items)) {\n return;\n }\n\n const dataSet = new Set(this.host.data);\n\n for (const item of items) {\n if (dataSet.has(item)) {\n this._selected.delete(item);\n }\n }\n }\n\n private selectAll() {\n this._selected = new Set(this.host.data);\n this.host.requestUpdate();\n }\n\n private deselectAll() {\n this.clear();\n this.host.requestUpdate();\n }\n\n public async select(items?: Item<T> | Item<T>[], emit = false) {\n let _items = asArray(items);\n const singleSelect = this.host.singleSelect;\n\n if (singleSelect) {\n this.clear();\n this.state.searchTerm = '';\n }\n\n if (isEmpty(_items)) {\n if (!singleSelect) {\n this.selectAll();\n }\n return;\n }\n\n if (singleSelect) {\n _items = _items.slice(0, 1);\n }\n\n const values = this.host.valueKey\n ? this.getItemsByValueKey(_items as Values<T>[])\n : _items;\n const selected = Array.from(this._selected.values());\n const payload = [...values, ...selected] as T[];\n\n if (\n emit &&\n !this.handleChange({\n newValue: this.getValue(payload, this.host.valueKey!),\n items: values as T[],\n type: 'selection',\n })\n ) {\n return;\n }\n\n if (this.host.valueKey) {\n this.selectValueKeys(_items as Values<T>[]);\n } else {\n this.selectObjects(_items as T[]);\n }\n\n this.host.requestUpdate();\n }\n\n public async deselect(items?: Item<T> | Item<T>[], emit = false) {\n let _items = asArray(items);\n\n if (isEmpty(_items)) {\n if (\n emit &&\n !this.handleChange({\n newValue: [],\n items: this.asArray,\n type: 'deselection',\n })\n ) {\n return;\n }\n\n this.deselectAll();\n return;\n }\n\n if (this.host.singleSelect) {\n _items = _items.slice(0, 1);\n }\n\n const values = this.host.valueKey\n ? this.getItemsByValueKey(_items as Values<T>[])\n : _items;\n const selected = Array.from(this._selected.values());\n const payload = selected.filter((item) => item !== values[0]);\n\n if (\n emit &&\n !this.handleChange({\n newValue: this.getValue(payload, this.host.valueKey!),\n items: values as T[],\n type: 'deselection',\n })\n ) {\n return;\n }\n\n if (this.host.valueKey) {\n this.deselectValueKeys(_items as Values<T>[]);\n } else {\n this.deselectObjects(_items as T[]);\n }\n\n this.host.requestUpdate();\n }\n\n public changeSelection(index: number) {\n const valueKey = this.host.valueKey;\n const record = this.host.data[index];\n const item = valueKey ? record[valueKey] : record;\n\n this.has(record) ? this.deselect(item, true) : this.select(item, true);\n }\n\n public selectByIndex(index: number) {\n const valueKey = this.host.valueKey;\n const item = this.host.data[index];\n\n this.select(valueKey ? item[valueKey] : item, true);\n }\n\n constructor(\n protected host: ComboHost<T>,\n protected state: DataController<T>\n ) {\n this.host.addController(this);\n }\n\n public hostConnected() {}\n\n public hostDisconnected() {}\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size);height:var(--ig-scrollbar-size);background:var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background)}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{font-family:var(--ig-overline-font-family, var(--ig-font-family));font-size:var(--ig-overline-font-size);font-weight:var(--ig-overline-font-weight);font-style:var(--ig-overline-font-style);line-height:var(--ig-overline-line-height);letter-spacing:var(--ig-overline-letter-spacing);text-transform:var(--ig-overline-text-transform);margin-top:var(--ig-overline-margin-top);margin-bottom:var(--ig-overline-margin-bottom);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;white-space:nowrap;position:relative;pointer-events:none}::slotted(*){font:inherit}:host{--component-size: var(--ig-size, var(--default-size));--default-size: var(--combo-size) !important}`;
2
+ export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{font-family:var(--ig-overline-font-family, var(--ig-font-family));font-size:var(--ig-overline-font-size);font-weight:var(--ig-overline-font-weight);font-style:var(--ig-overline-font-style);line-height:var(--ig-overline-line-height);letter-spacing:var(--ig-overline-letter-spacing);text-transform:var(--ig-overline-text-transform);margin-top:var(--ig-overline-margin-top);margin-bottom:var(--ig-overline-margin-bottom);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;white-space:nowrap;position:relative;pointer-events:none}::slotted(*){font:inherit}:host{--component-size: var(--ig-size, var(--default-size));--default-size: var(--combo-size) !important}`;
3
3
  //# sourceMappingURL=combo-header.base.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"combo-header.base.css.js","sourceRoot":"","sources":["../../../../src/components/combo/themes/combo-header.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,89CAA89C,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size);height:var(--ig-scrollbar-size);background:var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background)}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{font-family:var(--ig-overline-font-family, var(--ig-font-family));font-size:var(--ig-overline-font-size);font-weight:var(--ig-overline-font-weight);font-style:var(--ig-overline-font-style);line-height:var(--ig-overline-line-height);letter-spacing:var(--ig-overline-letter-spacing);text-transform:var(--ig-overline-text-transform);margin-top:var(--ig-overline-margin-top);margin-bottom:var(--ig-overline-margin-bottom);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;white-space:nowrap;position:relative;pointer-events:none}::slotted(*){font:inherit}:host{--component-size: var(--ig-size, var(--default-size));--default-size: var(--combo-size) !important}`;\n"]}
1
+ {"version":3,"file":"combo-header.base.css.js","sourceRoot":"","sources":["../../../../src/components/combo/themes/combo-header.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,snDAAsnD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{font-family:var(--ig-overline-font-family, var(--ig-font-family));font-size:var(--ig-overline-font-size);font-weight:var(--ig-overline-font-weight);font-style:var(--ig-overline-font-style);line-height:var(--ig-overline-line-height);letter-spacing:var(--ig-overline-letter-spacing);text-transform:var(--ig-overline-text-transform);margin-top:var(--ig-overline-margin-top);margin-bottom:var(--ig-overline-margin-bottom);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;white-space:nowrap;position:relative;pointer-events:none}::slotted(*){font:inherit}:host{--component-size: var(--ig-size, var(--default-size));--default-size: var(--combo-size) !important}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size);height:var(--ig-scrollbar-size);background:var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background)}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);display:flex;justify-content:flex-start;align-items:center;width:100%;white-space:nowrap;position:relative;cursor:pointer;outline-style:none;padding-inline:max(var(--is-large, 1)*max(1.5rem, -1 * 1.5rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(1.25rem, -1 * 1.25rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)))}:host([disabled]){cursor:default;pointer-events:none}::slotted(*){font:inherit}[part=content]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;width:100%;align-items:center}[part=prefix],[part=suffix]{display:flex;align-items:center;justify-content:center}[name=prefix]::slotted(*){--component-size: var(--dropdown-size) !important;margin-inline-end:max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}[name=suffix]::slotted(*){--component-size: var(--dropdown-size) !important;margin-inline-start:max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}:host{--component-size: var(--ig-size, var(--default-size));--default-size: var(--combo-size) !important;gap:.5rem}igc-checkbox{pointer-events:none}`;
2
+ export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);display:flex;justify-content:flex-start;align-items:center;width:100%;white-space:nowrap;position:relative;cursor:pointer;outline-style:none;padding-inline:max(var(--is-large, 1)*max(1.5rem, -1 * 1.5rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(1.25rem, -1 * 1.25rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)))}:host([disabled]){cursor:default;pointer-events:none}::slotted(*){font:inherit}[part=content]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;width:100%;align-items:center}[part=prefix],[part=suffix]{display:flex;align-items:center;justify-content:center}[name=prefix]::slotted(*){--component-size: var(--dropdown-size) !important;margin-inline-end:max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}[name=suffix]::slotted(*){--component-size: var(--dropdown-size) !important;margin-inline-start:max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}:host{--component-size: var(--ig-size, var(--default-size));--default-size: var(--combo-size) !important;gap:.5rem}igc-checkbox{pointer-events:none}`;
3
3
  //# sourceMappingURL=combo-item.base.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"combo-item.base.css.js","sourceRoot":"","sources":["../../../../src/components/combo/themes/combo-item.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,u5FAAu5F,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size);height:var(--ig-scrollbar-size);background:var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background)}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);display:flex;justify-content:flex-start;align-items:center;width:100%;white-space:nowrap;position:relative;cursor:pointer;outline-style:none;padding-inline:max(var(--is-large, 1)*max(1.5rem, -1 * 1.5rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(1.25rem, -1 * 1.25rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)))}:host([disabled]){cursor:default;pointer-events:none}::slotted(*){font:inherit}[part=content]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;width:100%;align-items:center}[part=prefix],[part=suffix]{display:flex;align-items:center;justify-content:center}[name=prefix]::slotted(*){--component-size: var(--dropdown-size) !important;margin-inline-end:max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}[name=suffix]::slotted(*){--component-size: var(--dropdown-size) !important;margin-inline-start:max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}:host{--component-size: var(--ig-size, var(--default-size));--default-size: var(--combo-size) !important;gap:.5rem}igc-checkbox{pointer-events:none}`;\n"]}
1
+ {"version":3,"file":"combo-item.base.css.js","sourceRoot":"","sources":["../../../../src/components/combo/themes/combo-item.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,+iGAA+iG,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);display:flex;justify-content:flex-start;align-items:center;width:100%;white-space:nowrap;position:relative;cursor:pointer;outline-style:none;padding-inline:max(var(--is-large, 1)*max(1.5rem, -1 * 1.5rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(1.25rem, -1 * 1.25rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)))}:host([disabled]){cursor:default;pointer-events:none}::slotted(*){font:inherit}[part=content]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;width:100%;align-items:center}[part=prefix],[part=suffix]{display:flex;align-items:center;justify-content:center}[name=prefix]::slotted(*){--component-size: var(--dropdown-size) !important;margin-inline-end:max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}[name=suffix]::slotted(*){--component-size: var(--dropdown-size) !important;margin-inline-start:max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}:host{--component-size: var(--ig-size, var(--default-size));--default-size: var(--combo-size) !important;gap:.5rem}igc-checkbox{pointer-events:none}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size);height:var(--ig-scrollbar-size);background:var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background)}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:block;font-family:var(--ig-font-family)}:host igc-icon,:host ::slotted(igc-icon),:host igc-input:not([part=search-input]){--component-size: var(--combo-size) !important}:host>igc-input::part(input){text-overflow:ellipsis;cursor:pointer}:host(:not([single-select]))>igc-input::part(input)::-moz-selection{background:rgba(0,0,0,0)}:host(:not([single-select]))>igc-input::part(input)::selection{background:rgba(0,0,0,0)}[part=helper-text]{line-height:1}[part=helper-text] ::slotted([slot=helper-text]){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);line-height:inherit}[part=clear-icon],[part=toggle-icon],[part~=case-icon]{display:flex;cursor:pointer}[part=list-wrapper]{border-radius:clamp(0rem,calc(var(--ig-radius-factor, 1) * 0.25rem),0.25rem);width:100%;box-shadow:var(--elevation);overflow:hidden;outline-style:none}[part=list-wrapper] igc-input{--ig-size: var(--ig-size-small);--ig-theme: material}[part=list-wrapper] [part="case-icon active"]{color:hsl(from var(--ig-primary-500) h s l/1)}[part=filter-input]{padding-inline:max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));padding-block:max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));z-index:26}[part=list]{min-height:12.5rem !important;outline-style:none}[part=empty]{display:flex;justify-content:center;align-items:center;width:100%;padding:1rem 1.5rem;font-size:.8125rem}[part~=group-header],[part~=item]{inset-inline-start:0}:host(:disabled),:host([disabled]){pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host(:disabled) igc-input::part(input)::-moz-selection, :host([disabled]) igc-input::part(input)::-moz-selection{background:rgba(0,0,0,0)}:host(:disabled) igc-input::part(input)::selection,:host([disabled]) igc-input::part(input)::selection{background:rgba(0,0,0,0)}`;
2
+ export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:block;font-family:var(--ig-font-family)}:host igc-icon,:host ::slotted(igc-icon),:host igc-input:not([part=search-input]){--component-size: var(--combo-size) !important}:host>igc-input::part(input){text-overflow:ellipsis;cursor:pointer}:host(:not([single-select]))>igc-input::part(input)::-moz-selection{background:rgba(0,0,0,0)}:host(:not([single-select]))>igc-input::part(input)::selection{background:rgba(0,0,0,0)}[part=helper-text]{line-height:1}[part=helper-text] ::slotted([slot=helper-text]){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);line-height:inherit}[part=clear-icon],[part=toggle-icon],[part~=case-icon]{display:flex;cursor:pointer}[part=list-wrapper]{border-radius:clamp(0rem,calc(var(--ig-radius-factor, 1) * 0.25rem),0.25rem);width:100%;box-shadow:var(--elevation);overflow:hidden;outline-style:none}[part=list-wrapper] igc-input{--ig-size: var(--ig-size-small);--ig-theme: material}[part=list-wrapper] [part="case-icon active"]{color:hsl(from var(--ig-primary-500) h s l/1)}[part=filter-input]{padding-inline:max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));padding-block:max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));z-index:26}[part=list]{min-height:12.5rem !important;outline-style:none}[part=empty]{display:flex;justify-content:center;align-items:center;width:100%;padding:1rem 1.5rem;font-size:.8125rem}[part~=group-header],[part~=item]{inset-inline-start:0}:host(:disabled),:host([disabled]){pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host(:disabled) igc-input::part(input)::-moz-selection, :host([disabled]) igc-input::part(input)::-moz-selection{background:rgba(0,0,0,0)}:host(:disabled) igc-input::part(input)::selection,:host([disabled]) igc-input::part(input)::selection{background:rgba(0,0,0,0)}`;
3
3
  //# sourceMappingURL=combo.base.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"combo.base.css.js","sourceRoot":"","sources":["../../../../src/components/combo/themes/combo.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,6+GAA6+G,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size);height:var(--ig-scrollbar-size);background:var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background)}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:block;font-family:var(--ig-font-family)}:host igc-icon,:host ::slotted(igc-icon),:host igc-input:not([part=search-input]){--component-size: var(--combo-size) !important}:host>igc-input::part(input){text-overflow:ellipsis;cursor:pointer}:host(:not([single-select]))>igc-input::part(input)::-moz-selection{background:rgba(0,0,0,0)}:host(:not([single-select]))>igc-input::part(input)::selection{background:rgba(0,0,0,0)}[part=helper-text]{line-height:1}[part=helper-text] ::slotted([slot=helper-text]){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);line-height:inherit}[part=clear-icon],[part=toggle-icon],[part~=case-icon]{display:flex;cursor:pointer}[part=list-wrapper]{border-radius:clamp(0rem,calc(var(--ig-radius-factor, 1) * 0.25rem),0.25rem);width:100%;box-shadow:var(--elevation);overflow:hidden;outline-style:none}[part=list-wrapper] igc-input{--ig-size: var(--ig-size-small);--ig-theme: material}[part=list-wrapper] [part=\"case-icon active\"]{color:hsl(from var(--ig-primary-500) h s l/1)}[part=filter-input]{padding-inline:max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));padding-block:max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));z-index:26}[part=list]{min-height:12.5rem !important;outline-style:none}[part=empty]{display:flex;justify-content:center;align-items:center;width:100%;padding:1rem 1.5rem;font-size:.8125rem}[part~=group-header],[part~=item]{inset-inline-start:0}:host(:disabled),:host([disabled]){pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host(:disabled) igc-input::part(input)::-moz-selection, :host([disabled]) igc-input::part(input)::-moz-selection{background:rgba(0,0,0,0)}:host(:disabled) igc-input::part(input)::selection,:host([disabled]) igc-input::part(input)::selection{background:rgba(0,0,0,0)}`;\n"]}
1
+ {"version":3,"file":"combo.base.css.js","sourceRoot":"","sources":["../../../../src/components/combo/themes/combo.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,qoHAAqoH,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:block;font-family:var(--ig-font-family)}:host igc-icon,:host ::slotted(igc-icon),:host igc-input:not([part=search-input]){--component-size: var(--combo-size) !important}:host>igc-input::part(input){text-overflow:ellipsis;cursor:pointer}:host(:not([single-select]))>igc-input::part(input)::-moz-selection{background:rgba(0,0,0,0)}:host(:not([single-select]))>igc-input::part(input)::selection{background:rgba(0,0,0,0)}[part=helper-text]{line-height:1}[part=helper-text] ::slotted([slot=helper-text]){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);line-height:inherit}[part=clear-icon],[part=toggle-icon],[part~=case-icon]{display:flex;cursor:pointer}[part=list-wrapper]{border-radius:clamp(0rem,calc(var(--ig-radius-factor, 1) * 0.25rem),0.25rem);width:100%;box-shadow:var(--elevation);overflow:hidden;outline-style:none}[part=list-wrapper] igc-input{--ig-size: var(--ig-size-small);--ig-theme: material}[part=list-wrapper] [part=\"case-icon active\"]{color:hsl(from var(--ig-primary-500) h s l/1)}[part=filter-input]{padding-inline:max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));padding-block:max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));z-index:26}[part=list]{min-height:12.5rem !important;outline-style:none}[part=empty]{display:flex;justify-content:center;align-items:center;width:100%;padding:1rem 1.5rem;font-size:.8125rem}[part~=group-header],[part~=item]{inset-inline-start:0}:host(:disabled),:host([disabled]){pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host(:disabled) igc-input::part(input)::-moz-selection, :host([disabled]) igc-input::part(input)::-moz-selection{background:rgba(0,0,0,0)}:host(:disabled) igc-input::part(input)::selection,:host([disabled]) igc-input::part(input)::selection{background:rgba(0,0,0,0)}`;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../../src/components/common/mixins/alert.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport type { addAnimationController } from '../../../animations/player.js';\nimport { fadeIn, fadeOut } from '../../../animations/presets/fade/index.js';\nimport { watch } from '../decorators/watch.js';\n\n// It'd be better to have this as a mixin rather than a base class once the analyzer\n// knows how to resolve multiple mixin chains\n\nexport abstract class IgcBaseAlertLikeComponent extends LitElement {\n private _internals: ElementInternals;\n protected _autoHideTimeout?: number;\n\n protected declare abstract _animationPlayer: ReturnType<\n typeof addAnimationController\n >;\n\n /**\n * Whether the component is in shown state.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n /**\n * Determines the duration in ms in which the component will be visible.\n * @attr display-time\n */\n @property({ type: Number, attribute: 'display-time' })\n public displayTime = 4000;\n\n /**\n * Determines whether the component should close after the `displayTime` is over.\n * @attr keep-open\n */\n @property({ type: Boolean, reflect: true, attribute: 'keep-open' })\n public keepOpen = false;\n\n /**\n * Sets the position of the component in the viewport.\n * @attr\n */\n @property({ reflect: true })\n public position: 'bottom' | 'middle' | 'top' = 'bottom';\n\n @watch('displayTime', { waitUntilFirstUpdate: true })\n protected displayTimeChange() {\n this.setAutoHideTimer();\n }\n\n @watch('keepOpen', { waitUntilFirstUpdate: true })\n protected keepOpenChange() {\n clearTimeout(this._autoHideTimeout);\n }\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n\n this._internals.role = 'status';\n this._internals.ariaLive = 'polite';\n }\n\n private async toggleAnimation(state: 'open' | 'close') {\n const animation = state === 'open' ? fadeIn : fadeOut;\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 private setAutoHideTimer() {\n clearTimeout(this._autoHideTimeout);\n if (this.open && this.displayTime > 0 && !this.keepOpen) {\n this._autoHideTimeout = setTimeout(() => this.hide(), this.displayTime);\n }\n }\n\n /** Opens the component. */\n public async show(): Promise<boolean> {\n if (this.open) {\n return false;\n }\n\n this.open = true;\n await this.toggleAnimation('open');\n this.setAutoHideTimer();\n return true;\n }\n\n /** Closes the component. */\n public async hide(): Promise<boolean> {\n if (!this.open) {\n return false;\n }\n\n clearTimeout(this._autoHideTimeout);\n await this.toggleAnimation('close');\n this.open = false;\n return true;\n }\n\n /** Toggles the open state of the component. */\n public async toggle(): Promise<boolean> {\n return this.open ? this.hide() : this.show();\n }\n}\n"]}
1
+ {"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../../src/components/common/mixins/alert.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport type { addAnimationController } from '../../../animations/player.js';\nimport { fadeIn, fadeOut } from '../../../animations/presets/fade/index.js';\nimport { watch } from '../decorators/watch.js';\n\n// It'd be better to have this as a mixin rather than a base class once the analyzer\n// knows how to resolve multiple mixin chains\n\nexport abstract class IgcBaseAlertLikeComponent extends LitElement {\n private _internals: ElementInternals;\n protected _autoHideTimeout?: number;\n\n declare protected abstract _animationPlayer: ReturnType<\n typeof addAnimationController\n >;\n\n /**\n * Whether the component is in shown state.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n /**\n * Determines the duration in ms in which the component will be visible.\n * @attr display-time\n */\n @property({ type: Number, attribute: 'display-time' })\n public displayTime = 4000;\n\n /**\n * Determines whether the component should close after the `displayTime` is over.\n * @attr keep-open\n */\n @property({ type: Boolean, reflect: true, attribute: 'keep-open' })\n public keepOpen = false;\n\n /**\n * Sets the position of the component in the viewport.\n * @attr\n */\n @property({ reflect: true })\n public position: 'bottom' | 'middle' | 'top' = 'bottom';\n\n @watch('displayTime', { waitUntilFirstUpdate: true })\n protected displayTimeChange() {\n this.setAutoHideTimer();\n }\n\n @watch('keepOpen', { waitUntilFirstUpdate: true })\n protected keepOpenChange() {\n clearTimeout(this._autoHideTimeout);\n }\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n\n this._internals.role = 'status';\n this._internals.ariaLive = 'polite';\n }\n\n private async toggleAnimation(state: 'open' | 'close') {\n const animation = state === 'open' ? fadeIn : fadeOut;\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 private setAutoHideTimer() {\n clearTimeout(this._autoHideTimeout);\n if (this.open && this.displayTime > 0 && !this.keepOpen) {\n this._autoHideTimeout = setTimeout(() => this.hide(), this.displayTime);\n }\n }\n\n /** Opens the component. */\n public async show(): Promise<boolean> {\n if (this.open) {\n return false;\n }\n\n this.open = true;\n await this.toggleAnimation('open');\n this.setAutoHideTimer();\n return true;\n }\n\n /** Closes the component. */\n public async hide(): Promise<boolean> {\n if (!this.open) {\n return false;\n }\n\n clearTimeout(this._autoHideTimeout);\n await this.toggleAnimation('close');\n this.open = false;\n return true;\n }\n\n /** Toggles the open state of the component. */\n public async toggle(): Promise<boolean> {\n return this.open ? this.hide() : this.show();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"combo-box.js","sourceRoot":"","sources":["../../../../src/components/common/mixins/combo-box.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { addRootClickHandler } from '../controllers/root-click.js';\nimport { iterNodes } from '../util.js';\nimport type { UnpackCustomEvent } from './event-emitter.js';\n\ninterface IgcBaseComboBoxEventMap {\n igcOpening: CustomEvent<void>;\n igcOpened: CustomEvent<void>;\n igcClosing: CustomEvent<void>;\n igcClosed: CustomEvent<void>;\n}\n\nexport abstract class IgcBaseComboBoxLikeComponent extends LitElement {\n public declare emitEvent: <\n K extends keyof IgcBaseComboBoxEventMap,\n D extends UnpackCustomEvent<IgcBaseComboBoxEventMap[K]>,\n >(\n event: K,\n eventInitDict?: CustomEventInit<D>\n ) => boolean;\n\n protected _rootClickController = addRootClickHandler(this);\n\n /**\n * Whether the component dropdown should be kept open on selection.\n * @attr keep-open-on-select\n */\n @property({ type: Boolean, reflect: true, attribute: 'keep-open-on-select' })\n public keepOpenOnSelect = false;\n\n /**\n * Whether the component dropdown should be kept open on clicking outside of it.\n * @attr keep-open-on-outside-click\n */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'keep-open-on-outside-click',\n })\n public keepOpenOnOutsideClick = false;\n\n /**\n * Sets the open state of the component.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n protected emitClosing() {\n return this.emitEvent('igcClosing', { cancelable: true });\n }\n\n protected emitClosed() {\n return this.emitEvent('igcClosed');\n }\n\n protected emitOpening() {\n return this.emitEvent('igcOpening', { cancelable: true });\n }\n\n protected emitOpened() {\n return this.emitEvent('igcOpened');\n }\n\n protected handleAnchorClick() {\n this.open ? this._hide(true) : this._show(true);\n }\n\n protected async _hide(emitEvent = false) {\n if (!this.open || (emitEvent && !this.emitClosing())) {\n return false;\n }\n\n this.open = false;\n\n if (emitEvent) {\n await this.updateComplete;\n this.emitClosed();\n }\n\n return true;\n }\n\n protected async _show(emitEvent = false) {\n if (this.open || (emitEvent && !this.emitOpening())) {\n return false;\n }\n\n this.open = true;\n\n if (emitEvent) {\n await this.updateComplete;\n this.emitOpened();\n }\n\n return true;\n }\n\n /** Shows the component. */\n public async show(): Promise<boolean> {\n return this._show();\n }\n\n /** Hides the component. */\n public async hide(): Promise<boolean> {\n return this._hide();\n }\n\n /** Toggles the open state of the component. */\n public async toggle(): Promise<boolean> {\n return this.open ? this.hide() : this.show();\n }\n}\n\nexport function getItems<T extends HTMLElement>(root: Node, tagName: string) {\n return iterNodes<T>(root, 'SHOW_ELEMENT', (item) => item.matches(tagName));\n}\n\nexport function getActiveItems<T extends HTMLElement & { disabled: boolean }>(\n root: Node,\n tagName: string\n) {\n return iterNodes<T>(\n root,\n 'SHOW_ELEMENT',\n (item) => item.matches(tagName) && !item.disabled\n );\n}\n\nexport function getNextActiveItem<\n T extends HTMLElement & { disabled: boolean },\n>(items: T[], from: T) {\n const current = items.indexOf(from);\n\n for (let i = current + 1; i < items.length; i++) {\n if (!items[i].disabled) {\n return items[i];\n }\n }\n\n return items[current];\n}\n\nexport function getPreviousActiveItem<\n T extends HTMLElement & { disabled: boolean },\n>(items: T[], from: T) {\n const current = items.indexOf(from);\n\n for (let i = current - 1; i >= 0; i--) {\n if (!items[i].disabled) {\n return items[i];\n }\n }\n\n return items[current];\n}\n\nexport function setInitialSelectionState<\n T extends HTMLElement & { selected: boolean },\n>(items: T[]) {\n const lastSelected = items.filter((item) => item.selected).at(-1) ?? null;\n\n for (const item of items) {\n if (item !== lastSelected) {\n item.selected = false;\n }\n }\n\n return lastSelected;\n}\n"]}
1
+ {"version":3,"file":"combo-box.js","sourceRoot":"","sources":["../../../../src/components/common/mixins/combo-box.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { addRootClickHandler } from '../controllers/root-click.js';\nimport { iterNodes } from '../util.js';\nimport type { UnpackCustomEvent } from './event-emitter.js';\n\ninterface IgcBaseComboBoxEventMap {\n igcOpening: CustomEvent<void>;\n igcOpened: CustomEvent<void>;\n igcClosing: CustomEvent<void>;\n igcClosed: CustomEvent<void>;\n}\n\nexport abstract class IgcBaseComboBoxLikeComponent extends LitElement {\n declare public emitEvent: <\n K extends keyof IgcBaseComboBoxEventMap,\n D extends UnpackCustomEvent<IgcBaseComboBoxEventMap[K]>,\n >(\n event: K,\n eventInitDict?: CustomEventInit<D>\n ) => boolean;\n\n protected _rootClickController = addRootClickHandler(this);\n\n /**\n * Whether the component dropdown should be kept open on selection.\n * @attr keep-open-on-select\n */\n @property({ type: Boolean, reflect: true, attribute: 'keep-open-on-select' })\n public keepOpenOnSelect = false;\n\n /**\n * Whether the component dropdown should be kept open on clicking outside of it.\n * @attr keep-open-on-outside-click\n */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'keep-open-on-outside-click',\n })\n public keepOpenOnOutsideClick = false;\n\n /**\n * Sets the open state of the component.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n protected emitClosing() {\n return this.emitEvent('igcClosing', { cancelable: true });\n }\n\n protected emitClosed() {\n return this.emitEvent('igcClosed');\n }\n\n protected emitOpening() {\n return this.emitEvent('igcOpening', { cancelable: true });\n }\n\n protected emitOpened() {\n return this.emitEvent('igcOpened');\n }\n\n protected handleAnchorClick() {\n this.open ? this._hide(true) : this._show(true);\n }\n\n protected async _hide(emitEvent = false) {\n if (!this.open || (emitEvent && !this.emitClosing())) {\n return false;\n }\n\n this.open = false;\n\n if (emitEvent) {\n await this.updateComplete;\n this.emitClosed();\n }\n\n return true;\n }\n\n protected async _show(emitEvent = false) {\n if (this.open || (emitEvent && !this.emitOpening())) {\n return false;\n }\n\n this.open = true;\n\n if (emitEvent) {\n await this.updateComplete;\n this.emitOpened();\n }\n\n return true;\n }\n\n /** Shows the component. */\n public async show(): Promise<boolean> {\n return this._show();\n }\n\n /** Hides the component. */\n public async hide(): Promise<boolean> {\n return this._hide();\n }\n\n /** Toggles the open state of the component. */\n public async toggle(): Promise<boolean> {\n return this.open ? this.hide() : this.show();\n }\n}\n\nexport function getItems<T extends HTMLElement>(root: Node, tagName: string) {\n return iterNodes<T>(root, 'SHOW_ELEMENT', (item) => item.matches(tagName));\n}\n\nexport function getActiveItems<T extends HTMLElement & { disabled: boolean }>(\n root: Node,\n tagName: string\n) {\n return iterNodes<T>(\n root,\n 'SHOW_ELEMENT',\n (item) => item.matches(tagName) && !item.disabled\n );\n}\n\nexport function getNextActiveItem<\n T extends HTMLElement & { disabled: boolean },\n>(items: T[], from: T) {\n const current = items.indexOf(from);\n\n for (let i = current + 1; i < items.length; i++) {\n if (!items[i].disabled) {\n return items[i];\n }\n }\n\n return items[current];\n}\n\nexport function getPreviousActiveItem<\n T extends HTMLElement & { disabled: boolean },\n>(items: T[], from: T) {\n const current = items.indexOf(from);\n\n for (let i = current - 1; i >= 0; i--) {\n if (!items[i].disabled) {\n return items[i];\n }\n }\n\n return items[current];\n}\n\nexport function setInitialSelectionState<\n T extends HTMLElement & { selected: boolean },\n>(items: T[]) {\n const lastSelected = items.filter((item) => item.selected).at(-1) ?? null;\n\n for (const item of items) {\n if (item !== lastSelected) {\n item.selected = false;\n }\n }\n\n return lastSelected;\n}\n"]}
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { property } from 'lit/decorators.js';
8
- import { isFunction } from '../../util.js';
8
+ import { isFunction, isString } from '../../util.js';
9
9
  function BaseFormAssociated(base) {
10
10
  class BaseFormAssociatedElement extends base {
11
11
  get __validators() {
@@ -42,6 +42,7 @@ function BaseFormAssociated(base) {
42
42
  this._disabled = false;
43
43
  this._invalid = false;
44
44
  this._dirty = false;
45
+ this._pristine = true;
45
46
  this.__internals = this.attachInternals();
46
47
  this.addEventListener('invalid', this._handleInvalid);
47
48
  }
@@ -49,9 +50,6 @@ function BaseFormAssociated(base) {
49
50
  super.connectedCallback();
50
51
  this._dirty = false;
51
52
  this._updateValidity();
52
- if (!this.hasUpdated) {
53
- this._setInitialDefaultValue();
54
- }
55
53
  }
56
54
  _handleInvalid(event) {
57
55
  event.preventDefault();
@@ -76,9 +74,14 @@ function BaseFormAssociated(base) {
76
74
  }
77
75
  return { validity, message };
78
76
  }
79
- _setInitialDefaultValue() { }
80
- _setDefaultValue(_prev, _current) { }
81
- _restoreDefaultValue() { }
77
+ _setDefaultValue(current) {
78
+ this._formValue.defaultValue = current;
79
+ }
80
+ _restoreDefaultValue() {
81
+ this._formValue.setValueAndFormState(this._formValue.defaultValue);
82
+ this._updateValidity();
83
+ this.requestUpdate();
84
+ }
82
85
  _validate(message) {
83
86
  this._updateValidity(message);
84
87
  this._setInvalidState();
@@ -106,6 +109,7 @@ function BaseFormAssociated(base) {
106
109
  this.__internals.setValidity(validity, message);
107
110
  }
108
111
  _setFormValue(value, state) {
112
+ this._pristine = false;
109
113
  this.__internals.setFormValue(value, state);
110
114
  }
111
115
  formAssociatedCallback(_form) { }
@@ -115,8 +119,8 @@ function BaseFormAssociated(base) {
115
119
  }
116
120
  formResetCallback() {
117
121
  this._restoreDefaultValue();
122
+ this._pristine = true;
118
123
  this._dirty = false;
119
- this.performUpdate();
120
124
  this.invalid = false;
121
125
  }
122
126
  formStateRestoreCallback(_state, _mode) { }
@@ -148,54 +152,52 @@ function BaseFormAssociated(base) {
148
152
  }
149
153
  export function FormAssociatedMixin(base) {
150
154
  class FormAssociatedElement extends BaseFormAssociated(base) {
151
- attributeChangedCallback(name, prev, current) {
152
- super.attributeChangedCallback(name, prev, current);
153
- if (name === 'value') {
154
- this._setDefaultValue(prev, current);
155
+ set defaultValue(value) {
156
+ this._formValue.defaultValue = value;
157
+ if (this._pristine && 'value' in this) {
158
+ this.value = this.defaultValue;
159
+ this._pristine = true;
160
+ this._validate();
155
161
  }
156
162
  }
157
- _setDefaultValue(_, current) {
158
- this._defaultValue = current;
159
- }
160
- _restoreDefaultValue() {
161
- if ('value' in this) {
162
- this.value = this._defaultValue;
163
- }
163
+ get defaultValue() {
164
+ return this._formValue.defaultValue;
164
165
  }
165
- _setInitialDefaultValue() {
166
- if ('_value' in this) {
167
- this._defaultValue = this._value;
166
+ attributeChangedCallback(name, prev, current) {
167
+ super.attributeChangedCallback(name, prev, current);
168
+ if (name === 'value') {
169
+ this._setDefaultValue(current);
168
170
  }
169
171
  }
170
172
  }
173
+ __decorate([
174
+ property({ attribute: false })
175
+ ], FormAssociatedElement.prototype, "defaultValue", null);
171
176
  return FormAssociatedElement;
172
177
  }
173
178
  export function FormAssociatedCheckboxMixin(base) {
174
179
  class FormAssociatedCheckboxElement extends BaseFormAssociated(base) {
175
- constructor() {
176
- super(...arguments);
177
- this._defaultChecked = false;
180
+ set defaultChecked(value) {
181
+ this._formValue.defaultValue = value;
182
+ if (this._pristine && 'checked' in this) {
183
+ this.checked = this.defaultChecked;
184
+ this._pristine = true;
185
+ this._validate();
186
+ }
187
+ }
188
+ get defaultChecked() {
189
+ return this._formValue.defaultValue;
178
190
  }
179
191
  attributeChangedCallback(name, prev, current) {
180
192
  super.attributeChangedCallback(name, prev, current);
181
193
  if (name === 'checked') {
182
- this._setDefaultValue(prev, current);
183
- }
184
- }
185
- _setDefaultValue(_, current) {
186
- this._defaultChecked = current !== null;
187
- }
188
- _restoreDefaultValue() {
189
- if ('checked' in this) {
190
- this.checked = this._defaultChecked;
191
- }
192
- }
193
- _setInitialDefaultValue() {
194
- if ('checked' in this) {
195
- this._defaultChecked = this.checked;
194
+ this._setDefaultValue(isString(current) ? 'true' : null);
196
195
  }
197
196
  }
198
197
  }
198
+ __decorate([
199
+ property({ attribute: false })
200
+ ], FormAssociatedCheckboxElement.prototype, "defaultChecked", null);
199
201
  return FormAssociatedCheckboxElement;
200
202
  }
201
203
  //# sourceMappingURL=associated.js.map