igniteui-webcomponents 4.3.1 → 4.4.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 (369) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/animations/presets/fade/index.d.ts +2 -2
  3. package/animations/presets/fade/index.js +4 -6
  4. package/animations/presets/fade/index.js.map +1 -1
  5. package/animations/presets/grow/index.d.ts +2 -2
  6. package/animations/presets/grow/index.js +8 -10
  7. package/animations/presets/grow/index.js.map +1 -1
  8. package/animations/presets/index.d.ts +1 -0
  9. package/animations/presets/index.js +1 -0
  10. package/animations/presets/index.js.map +1 -1
  11. package/animations/presets/slide/index.d.ts +3 -0
  12. package/animations/presets/slide/index.js +16 -0
  13. package/animations/presets/slide/index.js.map +1 -0
  14. package/components/avatar/avatar.js +5 -2
  15. package/components/avatar/avatar.js.map +1 -1
  16. package/components/avatar/themes/{light/avatar.base.css.js → avatar.base.css.js} +2 -20
  17. package/components/avatar/themes/avatar.base.css.js.map +1 -0
  18. package/components/avatar/themes/dark/{avatar.base.bootstrap.css.js → avatar.bootstrap.css.js} +1 -1
  19. package/components/avatar/themes/dark/avatar.bootstrap.css.js.map +1 -0
  20. package/components/avatar/themes/dark/avatar.fluent.css.d.ts +1 -0
  21. package/components/avatar/themes/dark/avatar.fluent.css.js +3 -0
  22. package/components/avatar/themes/dark/avatar.fluent.css.js.map +1 -0
  23. package/components/avatar/themes/dark/avatar.indigo.css.d.ts +1 -0
  24. package/components/avatar/themes/dark/avatar.indigo.css.js +3 -0
  25. package/components/avatar/themes/dark/avatar.indigo.css.js.map +1 -0
  26. package/components/avatar/themes/dark/avatar.material.css.d.ts +1 -0
  27. package/components/avatar/themes/dark/avatar.material.css.js +3 -0
  28. package/components/avatar/themes/dark/avatar.material.css.js.map +1 -0
  29. package/components/avatar/themes/light/avatar.bootstrap.css.js +17 -3
  30. package/components/avatar/themes/light/avatar.bootstrap.css.js.map +1 -1
  31. package/components/avatar/themes/light/avatar.fluent.css.d.ts +1 -0
  32. package/components/avatar/themes/light/avatar.fluent.css.js +27 -0
  33. package/components/avatar/themes/light/avatar.fluent.css.js.map +1 -0
  34. package/components/avatar/themes/light/avatar.indigo.css.d.ts +1 -0
  35. package/components/avatar/themes/light/avatar.indigo.css.js +27 -0
  36. package/components/avatar/themes/light/avatar.indigo.css.js.map +1 -0
  37. package/components/avatar/themes/light/avatar.material.css.d.ts +1 -0
  38. package/components/avatar/themes/light/avatar.material.css.js +27 -0
  39. package/components/avatar/themes/light/avatar.material.css.js.map +1 -0
  40. package/components/button/button-base.d.ts +14 -6
  41. package/components/button/button-base.js +51 -18
  42. package/components/button/button-base.js.map +1 -1
  43. package/components/button/themes/button/light/button.base.css.js +4 -4
  44. package/components/button/themes/button/light/button.base.css.js.map +1 -1
  45. package/components/button/themes/button/light/button.bootstrap.css.js +64 -32
  46. package/components/button/themes/button/light/button.bootstrap.css.js.map +1 -1
  47. package/components/button/themes/button/light/button.fluent.css.js +75 -40
  48. package/components/button/themes/button/light/button.fluent.css.js.map +1 -1
  49. package/components/button/themes/button/light/button.indigo.css.js +86 -42
  50. package/components/button/themes/button/light/button.indigo.css.js.map +1 -1
  51. package/components/button/themes/button/light/button.material.css.js +88 -38
  52. package/components/button/themes/button/light/button.material.css.js.map +1 -1
  53. package/components/button/themes/icon-button/light/icon-button.base.css.js +2 -1
  54. package/components/button/themes/icon-button/light/icon-button.base.css.js.map +1 -1
  55. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js +12 -7
  56. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js.map +1 -1
  57. package/components/button/themes/icon-button/light/icon-button.fluent.css.js +4 -3
  58. package/components/button/themes/icon-button/light/icon-button.fluent.css.js.map +1 -1
  59. package/components/button/themes/icon-button/light/icon-button.indigo.css.js +6 -4
  60. package/components/button/themes/icon-button/light/icon-button.indigo.css.js.map +1 -1
  61. package/components/button/themes/icon-button/light/icon-button.material.css.js +7 -4
  62. package/components/button/themes/icon-button/light/icon-button.material.css.js.map +1 -1
  63. package/components/calendar/themes/bootstrap/days-view.bootstrap.css.js +2 -2
  64. package/components/calendar/themes/bootstrap/days-view.bootstrap.css.js.map +1 -1
  65. package/components/calendar/themes/bootstrap/year-month-view.bootstrap.css.js +2 -2
  66. package/components/calendar/themes/bootstrap/year-month-view.bootstrap.css.js.map +1 -1
  67. package/components/calendar/themes/calendar.base.css.js +1 -0
  68. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  69. package/components/calendar/themes/fluent/calendar.fluent.css.js +2 -1
  70. package/components/calendar/themes/fluent/calendar.fluent.css.js.map +1 -1
  71. package/components/checkbox/checkbox-base.d.ts +8 -35
  72. package/components/checkbox/checkbox-base.js +28 -41
  73. package/components/checkbox/checkbox-base.js.map +1 -1
  74. package/components/checkbox/checkbox.d.ts +0 -1
  75. package/components/checkbox/checkbox.js +5 -16
  76. package/components/checkbox/checkbox.js.map +1 -1
  77. package/components/checkbox/switch.d.ts +0 -2
  78. package/components/checkbox/switch.js +4 -16
  79. package/components/checkbox/switch.js.map +1 -1
  80. package/components/checkbox/themes/light/checkbox.base.css.js +2 -1
  81. package/components/checkbox/themes/light/checkbox.base.css.js.map +1 -1
  82. package/components/checkbox/themes/light/checkbox.bootstrap.css.js +26 -9
  83. package/components/checkbox/themes/light/checkbox.bootstrap.css.js.map +1 -1
  84. package/components/checkbox/themes/light/checkbox.fluent.css.js +31 -15
  85. package/components/checkbox/themes/light/checkbox.fluent.css.js.map +1 -1
  86. package/components/checkbox/themes/light/checkbox.indigo.css.js +31 -13
  87. package/components/checkbox/themes/light/checkbox.indigo.css.js.map +1 -1
  88. package/components/checkbox/themes/light/checkbox.material.css.js +24 -12
  89. package/components/checkbox/themes/light/checkbox.material.css.js.map +1 -1
  90. package/components/checkbox/themes/light/switch.base.css.js +2 -1
  91. package/components/checkbox/themes/light/switch.base.css.js.map +1 -1
  92. package/components/checkbox/themes/light/switch.bootstrap.css.js +12 -4
  93. package/components/checkbox/themes/light/switch.bootstrap.css.js.map +1 -1
  94. package/components/checkbox/themes/light/switch.fluent.css.js +33 -15
  95. package/components/checkbox/themes/light/switch.fluent.css.js.map +1 -1
  96. package/components/checkbox/themes/light/switch.indigo.css.js +26 -11
  97. package/components/checkbox/themes/light/switch.indigo.css.js.map +1 -1
  98. package/components/checkbox/themes/light/switch.material.css.js +14 -7
  99. package/components/checkbox/themes/light/switch.material.css.js.map +1 -1
  100. package/components/chip/themes/chip.base.css.js +0 -2
  101. package/components/chip/themes/chip.base.css.js.map +1 -1
  102. package/components/chip/themes/chip.bootstrap.css.js +2 -2
  103. package/components/chip/themes/chip.bootstrap.css.js.map +1 -1
  104. package/components/chip/themes/chip.fluent.css.js +2 -2
  105. package/components/chip/themes/chip.fluent.css.js.map +1 -1
  106. package/components/chip/themes/chip.indigo.css.js +2 -2
  107. package/components/chip/themes/chip.indigo.css.js.map +1 -1
  108. package/components/chip/themes/chip.material.css.js +2 -2
  109. package/components/chip/themes/chip.material.css.js.map +1 -1
  110. package/components/combo/combo.d.ts +7 -32
  111. package/components/combo/combo.js +57 -49
  112. package/components/combo/combo.js.map +1 -1
  113. package/components/combo/controllers/selection.js +1 -3
  114. package/components/combo/controllers/selection.js.map +1 -1
  115. package/components/combo/themes/light/combo.bootstrap.css.js +27 -24
  116. package/components/combo/themes/light/combo.bootstrap.css.js.map +1 -1
  117. package/components/combo/themes/light/combo.fluent.css.js +27 -24
  118. package/components/combo/themes/light/combo.fluent.css.js.map +1 -1
  119. package/components/combo/themes/light/combo.indigo.css.js +26 -23
  120. package/components/combo/themes/light/combo.indigo.css.js.map +1 -1
  121. package/components/combo/themes/light/combo.material.css.js +32 -23
  122. package/components/combo/themes/light/combo.material.css.js.map +1 -1
  123. package/components/combo/themes/light/item/combo-item.base.css.js +0 -1
  124. package/components/combo/themes/light/item/combo-item.base.css.js.map +1 -1
  125. package/components/common/localization/validation-en.d.ts +10 -0
  126. package/components/common/localization/validation-en.js +10 -0
  127. package/components/common/localization/validation-en.js.map +1 -0
  128. package/components/common/mixins/form-associated-required.d.ts +16 -0
  129. package/components/common/mixins/form-associated-required.js +29 -0
  130. package/components/common/mixins/form-associated-required.js.map +1 -0
  131. package/components/common/mixins/form-associated.d.ts +92 -0
  132. package/components/common/mixins/form-associated.js +151 -0
  133. package/components/common/mixins/form-associated.js.map +1 -0
  134. package/components/common/util.d.ts +38 -0
  135. package/components/common/util.js +34 -0
  136. package/components/common/util.js.map +1 -1
  137. package/components/common/validators.d.ts +45 -0
  138. package/components/common/validators.js +54 -0
  139. package/components/common/validators.js.map +1 -0
  140. package/components/date-time-input/date-time-input.d.ts +30 -11
  141. package/components/date-time-input/date-time-input.js +147 -135
  142. package/components/date-time-input/date-time-input.js.map +1 -1
  143. package/components/date-time-input/date-util.d.ts +1 -0
  144. package/components/date-time-input/date-util.js +6 -3
  145. package/components/date-time-input/date-util.js.map +1 -1
  146. package/components/dialog/dialog.js +1 -1
  147. package/components/dialog/dialog.js.map +1 -1
  148. package/components/dialog/themes/light/dialog.base.css.js +1 -1
  149. package/components/dialog/themes/light/dialog.base.css.js.map +1 -1
  150. package/components/dropdown/dropdown-item.js +2 -6
  151. package/components/dropdown/dropdown-item.js.map +1 -1
  152. package/components/dropdown/themes/light/dropdown.bootstrap.css.js +1 -1
  153. package/components/dropdown/themes/light/dropdown.bootstrap.css.js.map +1 -1
  154. package/components/dropdown/themes/light/dropdown.fluent.css.js +1 -1
  155. package/components/dropdown/themes/light/dropdown.fluent.css.js.map +1 -1
  156. package/components/dropdown/themes/light/dropdown.indigo.css.js +1 -1
  157. package/components/dropdown/themes/light/dropdown.indigo.css.js.map +1 -1
  158. package/components/dropdown/themes/light/dropdown.material.css.js +1 -1
  159. package/components/dropdown/themes/light/dropdown.material.css.js.map +1 -1
  160. package/components/dropdown/themes/light/group/dropdown-group.bootstrap.css.js +1 -1
  161. package/components/dropdown/themes/light/group/dropdown-group.bootstrap.css.js.map +1 -1
  162. package/components/dropdown/themes/light/group/dropdown-group.fluent.css.js +1 -1
  163. package/components/dropdown/themes/light/group/dropdown-group.fluent.css.js.map +1 -1
  164. package/components/dropdown/themes/light/group/dropdown-group.indigo.css.js +1 -1
  165. package/components/dropdown/themes/light/group/dropdown-group.indigo.css.js.map +1 -1
  166. package/components/dropdown/themes/light/group/dropdown-group.material.css.js +1 -1
  167. package/components/dropdown/themes/light/group/dropdown-group.material.css.js.map +1 -1
  168. package/components/dropdown/themes/light/header/dropdown-header.bootstrap.css.js +1 -1
  169. package/components/dropdown/themes/light/header/dropdown-header.bootstrap.css.js.map +1 -1
  170. package/components/dropdown/themes/light/header/dropdown-header.fluent.css.js +1 -1
  171. package/components/dropdown/themes/light/header/dropdown-header.fluent.css.js.map +1 -1
  172. package/components/dropdown/themes/light/header/dropdown-header.indigo.css.js +1 -1
  173. package/components/dropdown/themes/light/header/dropdown-header.indigo.css.js.map +1 -1
  174. package/components/dropdown/themes/light/header/dropdown-header.material.css.js +1 -1
  175. package/components/dropdown/themes/light/header/dropdown-header.material.css.js.map +1 -1
  176. package/components/dropdown/themes/light/item/dropdown-item.bootstrap.css.js +1 -1
  177. package/components/dropdown/themes/light/item/dropdown-item.bootstrap.css.js.map +1 -1
  178. package/components/dropdown/themes/light/item/dropdown-item.fluent.css.js +1 -1
  179. package/components/dropdown/themes/light/item/dropdown-item.fluent.css.js.map +1 -1
  180. package/components/dropdown/themes/light/item/dropdown-item.indigo.css.js +1 -1
  181. package/components/dropdown/themes/light/item/dropdown-item.indigo.css.js.map +1 -1
  182. package/components/dropdown/themes/light/item/dropdown-item.material.css.js +1 -1
  183. package/components/dropdown/themes/light/item/dropdown-item.material.css.js.map +1 -1
  184. package/components/expansion-panel/expansion-panel.js +1 -1
  185. package/components/expansion-panel/expansion-panel.js.map +1 -1
  186. package/components/form/form.d.ts +3 -0
  187. package/components/form/form.js.map +1 -1
  188. package/components/icon/icon.base.css.js +0 -8
  189. package/components/icon/icon.base.css.js.map +1 -1
  190. package/components/icon/light/icon.bootstrap.css.js +7 -1
  191. package/components/icon/light/icon.bootstrap.css.js.map +1 -1
  192. package/components/icon/light/icon.fluent.css.js +7 -1
  193. package/components/icon/light/icon.fluent.css.js.map +1 -1
  194. package/components/icon/light/icon.indigo.css.js +7 -1
  195. package/components/icon/light/icon.indigo.css.js.map +1 -1
  196. package/components/icon/light/icon.material.css.js +7 -1
  197. package/components/icon/light/icon.material.css.js.map +1 -1
  198. package/components/input/input-base.d.ts +10 -20
  199. package/components/input/input-base.js +19 -20
  200. package/components/input/input-base.js.map +1 -1
  201. package/components/input/input.d.ts +24 -15
  202. package/components/input/input.js +106 -48
  203. package/components/input/input.js.map +1 -1
  204. package/components/input/themes/light/input.base.css.js +0 -3
  205. package/components/input/themes/light/input.base.css.js.map +1 -1
  206. package/components/input/themes/light/input.bootstrap.css.js +7 -17
  207. package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
  208. package/components/input/themes/light/input.fluent.css.js +6 -19
  209. package/components/input/themes/light/input.fluent.css.js.map +1 -1
  210. package/components/input/themes/light/input.indigo.css.js +16 -1
  211. package/components/input/themes/light/input.indigo.css.js.map +1 -1
  212. package/components/input/themes/light/input.material.css.js +30 -11
  213. package/components/input/themes/light/input.material.css.js.map +1 -1
  214. package/components/list/themes/light/list-header.base.css.js +0 -32
  215. package/components/list/themes/light/list-header.base.css.js.map +1 -1
  216. package/components/list/themes/light/list-item.base.css.js +1 -33
  217. package/components/list/themes/light/list-item.base.css.js.map +1 -1
  218. package/components/list/themes/light/list-item.bootstrap.css.js +1 -1
  219. package/components/list/themes/light/list-item.bootstrap.css.js.map +1 -1
  220. package/components/list/themes/light/list-item.fluent.css.js +1 -1
  221. package/components/list/themes/light/list-item.fluent.css.js.map +1 -1
  222. package/components/list/themes/light/list-item.indigo.css.js +1 -1
  223. package/components/list/themes/light/list-item.indigo.css.js.map +1 -1
  224. package/components/list/themes/light/list.base.css.js +1 -1
  225. package/components/list/themes/light/list.base.css.js.map +1 -1
  226. package/components/list/themes/light/list.bootstrap.css.js +1 -1
  227. package/components/list/themes/light/list.bootstrap.css.js.map +1 -1
  228. package/components/mask-input/mask-input-base.d.ts +2 -9
  229. package/components/mask-input/mask-input-base.js +7 -12
  230. package/components/mask-input/mask-input-base.js.map +1 -1
  231. package/components/mask-input/mask-input.d.ts +5 -6
  232. package/components/mask-input/mask-input.js +42 -51
  233. package/components/mask-input/mask-input.js.map +1 -1
  234. package/components/mask-input/mask-parser.js +1 -0
  235. package/components/mask-input/mask-parser.js.map +1 -1
  236. package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.js +2 -2
  237. package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.js.map +1 -1
  238. package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.js +2 -2
  239. package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.js.map +1 -1
  240. package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js +0 -32
  241. package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js.map +1 -1
  242. package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js +1 -34
  243. package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js.map +1 -1
  244. package/components/nav-drawer/themes/light/nav-drawer.base.css.js +1 -1
  245. package/components/nav-drawer/themes/light/nav-drawer.base.css.js.map +1 -1
  246. package/components/navbar/themes/light/navbar.bootstrap.css.js +0 -32
  247. package/components/navbar/themes/light/navbar.bootstrap.css.js.map +1 -1
  248. package/components/navbar/themes/light/navbar.fluent.css.js +0 -32
  249. package/components/navbar/themes/light/navbar.fluent.css.js.map +1 -1
  250. package/components/navbar/themes/light/navbar.indigo.css.js +0 -32
  251. package/components/navbar/themes/light/navbar.indigo.css.js.map +1 -1
  252. package/components/navbar/themes/light/navbar.material.css.js +0 -32
  253. package/components/navbar/themes/light/navbar.material.css.js.map +1 -1
  254. package/components/progress/themes/linear/linear.progress.base.css.js +1 -0
  255. package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
  256. package/components/progress/themes/linear/linear.progress.indigo.css.js +0 -32
  257. package/components/progress/themes/linear/linear.progress.indigo.css.js.map +1 -1
  258. package/components/radio/radio.d.ts +13 -37
  259. package/components/radio/radio.js +135 -97
  260. package/components/radio/radio.js.map +1 -1
  261. package/components/radio/themes/light/radio.bootstrap.css.js +8 -36
  262. package/components/radio/themes/light/radio.bootstrap.css.js.map +1 -1
  263. package/components/radio/themes/light/radio.fluent.css.js +0 -32
  264. package/components/radio/themes/light/radio.fluent.css.js.map +1 -1
  265. package/components/radio/themes/light/radio.indigo.css.js +11 -37
  266. package/components/radio/themes/light/radio.indigo.css.js.map +1 -1
  267. package/components/radio/themes/light/radio.material.css.js +1 -33
  268. package/components/radio/themes/light/radio.material.css.js.map +1 -1
  269. package/components/radio-group/radio-group.d.ts +0 -4
  270. package/components/radio-group/radio-group.js +3 -54
  271. package/components/radio-group/radio-group.js.map +1 -1
  272. package/components/rating/dark/rating.fluent.css.d.ts +1 -0
  273. package/components/rating/dark/rating.fluent.css.js +3 -0
  274. package/components/rating/dark/rating.fluent.css.js.map +1 -0
  275. package/components/rating/rating-symbol.base.css.js +1 -1
  276. package/components/rating/rating-symbol.base.css.js.map +1 -1
  277. package/components/rating/rating.base.css.js +8 -4
  278. package/components/rating/rating.base.css.js.map +1 -1
  279. package/components/rating/rating.d.ts +10 -11
  280. package/components/rating/rating.fluent.css.js +13 -7
  281. package/components/rating/rating.fluent.css.js.map +1 -1
  282. package/components/rating/rating.js +19 -15
  283. package/components/rating/rating.js.map +1 -1
  284. package/components/select/select-item.d.ts +0 -2
  285. package/components/select/select-item.js +0 -3
  286. package/components/select/select-item.js.map +1 -1
  287. package/components/select/select.d.ts +7 -34
  288. package/components/select/select.js +27 -37
  289. package/components/select/select.js.map +1 -1
  290. package/components/select/themes/light/select.base.css.js +1 -0
  291. package/components/select/themes/light/select.base.css.js.map +1 -1
  292. package/components/select/themes/light/select.bootstrap.css.js +5 -37
  293. package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
  294. package/components/select/themes/light/select.fluent.css.js +5 -37
  295. package/components/select/themes/light/select.fluent.css.js.map +1 -1
  296. package/components/select/themes/light/select.indigo.css.js +4 -36
  297. package/components/select/themes/light/select.indigo.css.js.map +1 -1
  298. package/components/select/themes/light/select.material.css.js +14 -46
  299. package/components/select/themes/light/select.material.css.js.map +1 -1
  300. package/components/slider/slider.d.ts +4 -12
  301. package/components/slider/slider.js +16 -25
  302. package/components/slider/slider.js.map +1 -1
  303. package/components/slider/themes/light/slider.base.css.js +17 -8
  304. package/components/slider/themes/light/slider.base.css.js.map +1 -1
  305. package/components/slider/themes/light/slider.fluent.css.js +6 -3
  306. package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
  307. package/components/slider/themes/light/slider.indigo.css.js +4 -1
  308. package/components/slider/themes/light/slider.indigo.css.js.map +1 -1
  309. package/components/snackbar/snackbar.js +1 -1
  310. package/components/snackbar/snackbar.js.map +1 -1
  311. package/components/stepper/animations.d.ts +2 -0
  312. package/components/stepper/animations.js +22 -0
  313. package/components/stepper/animations.js.map +1 -0
  314. package/components/stepper/step.d.ts +17 -8
  315. package/components/stepper/step.js +29 -0
  316. package/components/stepper/step.js.map +1 -1
  317. package/components/stepper/stepper.d.ts +19 -3
  318. package/components/stepper/stepper.js +58 -7
  319. package/components/stepper/stepper.js.map +1 -1
  320. package/components/stepper/themes/step/light/step.base.css.js +44 -165
  321. package/components/stepper/themes/step/light/step.base.css.js.map +1 -1
  322. package/components/stepper/themes/step/light/step.bootstrap.css.js +116 -19
  323. package/components/stepper/themes/step/light/step.bootstrap.css.js.map +1 -1
  324. package/components/stepper/themes/step/light/step.fluent.css.js +112 -12
  325. package/components/stepper/themes/step/light/step.fluent.css.js.map +1 -1
  326. package/components/stepper/themes/step/light/step.indigo.css.js +112 -25
  327. package/components/stepper/themes/step/light/step.indigo.css.js.map +1 -1
  328. package/components/stepper/themes/step/light/step.material.css.js +112 -4
  329. package/components/stepper/themes/step/light/step.material.css.js.map +1 -1
  330. package/components/stepper/themes/stepper/stepper.base.css.js +2 -0
  331. package/components/stepper/themes/stepper/stepper.base.css.js.map +1 -1
  332. package/components/toast/toast.js +1 -1
  333. package/components/toast/toast.js.map +1 -1
  334. package/components/tree/themes/light/tree-item.base.css.js +0 -3
  335. package/components/tree/themes/light/tree-item.base.css.js.map +1 -1
  336. package/components/tree/themes/light/tree-item.bootstrap.css.js +60 -3
  337. package/components/tree/themes/light/tree-item.bootstrap.css.js.map +1 -1
  338. package/components/tree/themes/light/tree-item.fluent.css.js +58 -1
  339. package/components/tree/themes/light/tree-item.fluent.css.js.map +1 -1
  340. package/components/tree/themes/light/tree-item.indigo.css.js +58 -1
  341. package/components/tree/themes/light/tree-item.indigo.css.js.map +1 -1
  342. package/components/tree/themes/light/tree-item.material.css.d.ts +1 -0
  343. package/components/tree/themes/light/tree-item.material.css.js +58 -0
  344. package/components/tree/themes/light/tree-item.material.css.js.map +1 -0
  345. package/components/tree/tree-item.js +8 -6
  346. package/components/tree/tree-item.js.map +1 -1
  347. package/components/tree/tree.d.ts +0 -6
  348. package/components/tree/tree.js +0 -4
  349. package/components/tree/tree.js.map +1 -1
  350. package/components/tree/tree.navigation.js +3 -2
  351. package/components/tree/tree.navigation.js.map +1 -1
  352. package/custom-elements.json +798 -525
  353. package/package.json +3 -3
  354. package/themes/dark/bootstrap.css +274 -61
  355. package/themes/dark/fluent.css +291 -60
  356. package/themes/dark/indigo.css +508 -3
  357. package/themes/dark/material.css +244 -54
  358. package/themes/light/bootstrap.css +5 -2
  359. package/themes/light/fluent.css +5 -2
  360. package/themes/light/indigo.css +229 -2
  361. package/themes/light/material.css +5 -2
  362. package/vscode-html-custom-data.json +239 -286
  363. package/components/avatar/themes/dark/avatar.base.bootstrap.css.js.map +0 -1
  364. package/components/avatar/themes/light/avatar.base.css.js.map +0 -1
  365. package/components/common/types.d.ts +0 -1
  366. package/components/common/types.js +0 -2
  367. package/components/common/types.js.map +0 -1
  368. /package/components/avatar/themes/{light/avatar.base.css.d.ts → avatar.base.css.d.ts} +0 -0
  369. /package/components/avatar/themes/dark/{avatar.base.bootstrap.css.d.ts → avatar.bootstrap.css.d.ts} +0 -0
@@ -8,9 +8,6 @@ import { queryAssignedNodes } from 'lit/decorators.js';
8
8
  import { watch } from '../common/decorators/watch.js';
9
9
  import IgcDropdownItemComponent from '../dropdown/dropdown-item.js';
10
10
  class IgcSelectItemComponent extends IgcDropdownItemComponent {
11
- constructor() {
12
- super();
13
- }
14
11
  activeChange() {
15
12
  this.tabIndex = this.active ? 0 : -1;
16
13
  if (this.active) {
@@ -1 +1 @@
1
- {"version":3,"file":"select-item.js","sourceRoot":"","sources":["../../../src/components/select/select-item.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,wBAAwB,MAAM,8BAA8B,CAAC;AAepE,MAAqB,sBAAuB,SAAQ,wBAAwB;IAO1E;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAGS,YAAY;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;IACH,CAAC;IAGD,IAAoB,WAAW;QAC7B,OAAO,IAAI,CAAC,OAAO;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,WAAW,0CAAE,IAAI,EAAE,CAAA,EAAA,CAAC;aACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;aACvB,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAGD,IAAoB,WAAW,CAAC,KAAa;QAC3C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;;AA5B+B,8BAAO,GAAG,iBAAiB,CAAC;AAHpD;IADP,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uDACL;AAUvB;IADT,KAAK,CAAC,QAAQ,CAAC;0DAOf;eAlBkB,sBAAsB","sourcesContent":["import { queryAssignedNodes } from 'lit/decorators.js';\nimport { watch } from '../common/decorators/watch.js';\nimport IgcDropdownItemComponent from '../dropdown/dropdown-item.js';\n\n/**\n * Represents an item in a select list.\n *\n * @element igc-select-item\n *\n * @slot - Renders the all content bar the prefix and suffix.\n * @slot prefix - Renders content before the main content area.\n * @slot suffix - Renders content after the main content area.\n *\n * @csspart prefix - The prefix wrapper.\n * @csspart content - The main content wrapper.\n * @csspart suffix - The suffix wrapper.\n */\nexport default class IgcSelectItemComponent extends IgcDropdownItemComponent {\n @queryAssignedNodes({ flatten: true })\n private content!: Array<Element>;\n\n /** @private */\n public static override readonly tagName = 'igc-select-item';\n\n constructor() {\n super();\n }\n\n @watch('active')\n protected activeChange() {\n this.tabIndex = this.active ? 0 : -1;\n\n if (this.active) {\n this.focus();\n }\n }\n\n /** Returns the text of the item without the prefix and suffix content. */\n public override get textContent() {\n return this.content\n .map((t) => t.textContent?.trim())\n .filter((t) => t !== '')\n .join(' ');\n }\n\n /** Sets the textContent of the item without touching the prefix and suffix content. */\n public override set textContent(value: string) {\n const text = new Text(value);\n this.content.forEach((n) => n.remove());\n this.appendChild(text);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-select-item': IgcSelectItemComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"select-item.js","sourceRoot":"","sources":["../../../src/components/select/select-item.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,wBAAwB,MAAM,8BAA8B,CAAC;AAepE,MAAqB,sBAAuB,SAAQ,wBAAwB;IAOhE,YAAY;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;IACH,CAAC;IAGD,IAAoB,WAAW;QAC7B,OAAO,IAAI,CAAC,OAAO;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,WAAW,0CAAE,IAAI,EAAE,CAAA,EAAA,CAAC;aACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;aACvB,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAGD,IAAoB,WAAW,CAAC,KAAa;QAC3C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;;AAxB+B,8BAAO,GAAG,iBAAiB,CAAC;AAFpD;IADP,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uDACL;AAKvB;IADT,KAAK,CAAC,QAAQ,CAAC;0DAOf;eAbkB,sBAAsB","sourcesContent":["import { queryAssignedNodes } from 'lit/decorators.js';\nimport { watch } from '../common/decorators/watch.js';\nimport IgcDropdownItemComponent from '../dropdown/dropdown-item.js';\n\n/**\n * Represents an item in a select list.\n *\n * @element igc-select-item\n *\n * @slot - Renders the all content bar the prefix and suffix.\n * @slot prefix - Renders content before the main content area.\n * @slot suffix - Renders content after the main content area.\n *\n * @csspart prefix - The prefix wrapper.\n * @csspart content - The main content wrapper.\n * @csspart suffix - The suffix wrapper.\n */\nexport default class IgcSelectItemComponent extends IgcDropdownItemComponent {\n @queryAssignedNodes({ flatten: true })\n private content!: Array<Element>;\n\n public static override readonly tagName = 'igc-select-item';\n\n @watch('active')\n protected activeChange() {\n this.tabIndex = this.active ? 0 : -1;\n\n if (this.active) {\n this.focus();\n }\n }\n\n /** Returns the text of the item without the prefix and suffix content. */\n public override get textContent() {\n return this.content\n .map((t) => t.textContent?.trim())\n .filter((t) => t !== '')\n .join(' ');\n }\n\n /** Sets the textContent of the item without touching the prefix and suffix content. */\n public override set textContent(value: string) {\n const text = new Text(value);\n this.content.forEach((n) => n.remove());\n this.appendChild(text);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-select-item': IgcSelectItemComponent;\n }\n}\n"]}
@@ -4,11 +4,12 @@ import IgcDropdownComponent, { IgcDropdownEventMap } from '../dropdown/dropdown.
4
4
  import IgcInputComponent from '../input/input.js';
5
5
  import IgcSelectGroupComponent from './select-group.js';
6
6
  import IgcSelectItemComponent from './select-item.js';
7
+ import { Validator } from '../common/validators.js';
7
8
  export interface IgcSelectEventMap extends IgcDropdownEventMap {
8
9
  igcFocus: CustomEvent<void>;
9
10
  igcBlur: CustomEvent<void>;
10
11
  }
11
- declare const IgcSelectComponent_base: import("../common/mixins/constructor.js").AbstractConstructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcSelectEventMap>> & Constructor<IgcDropdownComponent>;
12
+ declare const IgcSelectComponent_base: Constructor<import("../common/mixins/form-associated-required.js").FormRequiredInterface & import("../common/mixins/form-associated.js").FormAssociatedElementInterface> & import("../common/mixins/constructor.js").AbstractConstructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcSelectEventMap>> & Constructor<IgcDropdownComponent>;
12
13
  /**
13
14
  * @element igc-select
14
15
  *
@@ -37,11 +38,11 @@ declare const IgcSelectComponent_base: import("../common/mixins/constructor.js")
37
38
  * @csspart helper-text - The helper text wrapper.
38
39
  */
39
40
  export default class IgcSelectComponent extends IgcSelectComponent_base {
40
- /** @private */
41
41
  static readonly tagName = "igc-select";
42
42
  static styles: import("lit").CSSResult;
43
43
  private searchTerm;
44
44
  private lastKeyTime;
45
+ protected validators: Validator<this>[];
45
46
  private readonly [themeSymbol];
46
47
  private readonly targetKeyHandlers;
47
48
  protected items: Array<IgcSelectItemComponent>;
@@ -55,27 +56,7 @@ export default class IgcSelectComponent extends IgcSelectComponent_base {
55
56
  * The value attribute of the control.
56
57
  * @attr
57
58
  */
58
- value?: string | undefined;
59
- /**
60
- * The name attribute of the control.
61
- * @attr
62
- */
63
- name: string;
64
- /**
65
- * The disabled attribute of the control.
66
- * @attr
67
- */
68
- disabled: boolean;
69
- /**
70
- * The required attribute of the control.
71
- * @attr
72
- */
73
- required: boolean;
74
- /**
75
- * The invalid attribute of the control.
76
- * @attr
77
- */
78
- invalid: boolean;
59
+ value?: string;
79
60
  /**
80
61
  * The outlined attribute of the control.
81
62
  * @attr
@@ -97,13 +78,13 @@ export default class IgcSelectComponent extends IgcSelectComponent_base {
97
78
  */
98
79
  placeholder: string;
99
80
  /**
100
- * @deprecated since version 5.0. It will be removed in the next major release.
81
+ * @deprecated since version 4.3.0
101
82
  * @hidden @internal @private
102
83
  */
103
84
  positionStrategy: 'absolute' | 'fixed';
104
85
  /**
105
86
  * Whether the dropdown's width should be the same as the target's one.
106
- * @deprecated since version 5.0. It will be removed in the next major release.
87
+ * @deprecated since version 4.3.0
107
88
  * @hidden @internal @private
108
89
  * @attr same-width
109
90
  */
@@ -111,16 +92,11 @@ export default class IgcSelectComponent extends IgcSelectComponent_base {
111
92
  /**
112
93
  * Whether the component should be flipped to the opposite side of the target once it's about to overflow the visible area.
113
94
  * When true, once enough space is detected on its preferred side, it will flip back.
114
- * @deprecated since version 5.0. It will be removed in the next major release.
95
+ * @deprecated since version 4.3.0
115
96
  * @hidden @internal @private
116
97
  * @attr
117
98
  */
118
99
  flip: boolean;
119
- /**
120
- * The direction attribute of the control.
121
- * @attr
122
- */
123
- dir: 'ltr' | 'rtl' | 'auto';
124
100
  constructor();
125
101
  /** Override the dropdown target focusout behavior to prevent the focus from
126
102
  * being returned to the target element when the select loses focus. */
@@ -133,12 +109,9 @@ export default class IgcSelectComponent extends IgcSelectComponent_base {
133
109
  blur(): void;
134
110
  /** Checks the validity of the control and moves the focus to it if it is not valid. */
135
111
  reportValidity(): boolean;
136
- /** Checks the validity of the control. */
137
- checkValidity(): boolean;
138
112
  protected firstUpdated(): Promise<void>;
139
113
  protected updateValue(): void;
140
114
  protected updateSelected(): void;
141
- protected validate(): void;
142
115
  protected selectNext(): void;
143
116
  protected selectPrev(): void;
144
117
  protected selectInteractiveItem(index: number): void;
@@ -7,13 +7,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { html } from 'lit';
8
8
  import { property, query, queryAssignedElements, state, } from 'lit/decorators.js';
9
9
  import { ifDefined } from 'lit/directives/if-defined.js';
10
+ import { live } from 'lit/directives/live.js';
10
11
  import { styleMap } from 'lit/directives/style-map.js';
11
12
  import { themes, themeSymbol } from '../../theming/index.js';
13
+ import { alternateName } from '../common/decorators/alternateName.js';
12
14
  import { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';
13
15
  import { watch } from '../common/decorators/watch.js';
14
16
  import { defineComponents } from '../common/definitions/defineComponents.js';
15
17
  import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
16
18
  import { partNameMap } from '../common/util.js';
19
+ import { FormAssociatedRequiredMixin } from '../common/mixins/form-associated-required.js';
17
20
  import IgcDropdownComponent from '../dropdown/dropdown.js';
18
21
  import IgcIconComponent from '../icon/icon.js';
19
22
  import IgcInputComponent from '../input/input.js';
@@ -25,13 +28,14 @@ import { styles as bootstrap } from './themes/light/select.bootstrap.css.js';
25
28
  import { styles as fluent } from './themes/light/select.fluent.css.js';
26
29
  import { styles as indigo } from './themes/light/select.indigo.css.js';
27
30
  import { styles as material } from './themes/light/select.material.css.js';
28
- import { alternateName } from '../common/decorators/alternateName.js';
31
+ import { requiredValidator } from '../common/validators.js';
29
32
  defineComponents(IgcIconComponent, IgcInputComponent, IgcSelectGroupComponent, IgcSelectHeaderComponent, IgcSelectItemComponent);
30
- let IgcSelectComponent = class IgcSelectComponent extends EventEmitterMixin(IgcDropdownComponent) {
33
+ let IgcSelectComponent = class IgcSelectComponent extends FormAssociatedRequiredMixin(EventEmitterMixin(IgcDropdownComponent)) {
31
34
  constructor() {
32
35
  super();
33
36
  this.searchTerm = '';
34
37
  this.lastKeyTime = Date.now();
38
+ this.validators = [requiredValidator];
35
39
  this.targetKeyHandlers = new Map(Object.entries({
36
40
  ' ': this.onTargetEnterKey,
37
41
  Tab: this.onTargetTabKey,
@@ -44,14 +48,10 @@ let IgcSelectComponent = class IgcSelectComponent extends EventEmitterMixin(IgcD
44
48
  Home: this.onTargetHomeKey,
45
49
  End: this.onTargetEndKey,
46
50
  }));
47
- this.disabled = false;
48
- this.required = false;
49
- this.invalid = false;
50
51
  this.outlined = false;
51
52
  this.positionStrategy = 'fixed';
52
53
  this.sameWidth = true;
53
54
  this.flip = true;
54
- this.dir = 'auto';
55
55
  this.size = 'medium';
56
56
  this.addEventListener('igcChange', () => {
57
57
  if (this.open)
@@ -70,24 +70,24 @@ let IgcSelectComponent = class IgcSelectComponent extends EventEmitterMixin(IgcD
70
70
  super.blur();
71
71
  }
72
72
  reportValidity() {
73
- const valid = this.checkValidity();
73
+ const valid = super.reportValidity();
74
74
  if (!valid)
75
75
  this.target.focus();
76
76
  return valid;
77
77
  }
78
- checkValidity() {
79
- this.invalid = this.required && !this.value;
80
- return !this.invalid;
81
- }
82
78
  async firstUpdated() {
83
79
  super.firstUpdated();
84
80
  await this.updateComplete;
85
81
  if (!this.selectedItem && this.value) {
86
82
  this.updateSelected();
87
83
  }
84
+ else if (this.selectedItem && !this.value) {
85
+ this._defaultValue = this.selectedItem.value;
86
+ }
88
87
  if (this.autofocus) {
89
88
  this.target.focus();
90
89
  }
90
+ this.updateValidity();
91
91
  }
92
92
  updateValue() {
93
93
  var _a;
@@ -95,21 +95,28 @@ let IgcSelectComponent = class IgcSelectComponent extends EventEmitterMixin(IgcD
95
95
  }
96
96
  updateSelected() {
97
97
  var _a;
98
- if (this.allItems.length === 0)
98
+ if (this.allItems.length === 0) {
99
+ this.setFormValue(null);
100
+ this.updateValidity();
101
+ this.setInvalidState();
99
102
  return;
103
+ }
100
104
  if (((_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.value) !== this.value) {
101
105
  const matches = this.allItems.filter((i) => i.value === this.value);
102
106
  const index = this.allItems.indexOf(matches.at(-1));
103
107
  if (index === -1) {
104
108
  this.value = undefined;
105
109
  this.clearSelection();
110
+ this.setFormValue(null);
111
+ this.updateValidity();
112
+ this.setInvalidState();
106
113
  return;
107
114
  }
108
115
  this.select(index);
109
116
  }
110
- }
111
- validate() {
112
- this.updateComplete.then(() => this.reportValidity());
117
+ this.setFormValue(this.value);
118
+ this.updateValidity();
119
+ this.setInvalidState();
113
120
  }
114
121
  selectNext() {
115
122
  var _a;
@@ -152,11 +159,13 @@ let IgcSelectComponent = class IgcSelectComponent extends EventEmitterMixin(IgcD
152
159
  }
153
160
  }
154
161
  handleFocus() {
162
+ this._dirty = true;
155
163
  if (this.open)
156
164
  return;
157
165
  this.emitEvent('igcFocus');
158
166
  }
159
167
  handleBlur() {
168
+ this.setInvalidState();
160
169
  if (this.open)
161
170
  return;
162
171
  this.emitEvent('igcBlur');
@@ -240,11 +249,10 @@ let IgcSelectComponent = class IgcSelectComponent extends EventEmitterMixin(IgcD
240
249
  placeholder=${ifDefined(this.placeholder)}
241
250
  label=${ifDefined(this.label)}
242
251
  size=${this.size}
243
- dir=${this.dir}
244
252
  tabindex="-1"
245
- .disabled="${this.disabled}"
253
+ .disabled=${this.disabled}
246
254
  .required=${this.required}
247
- .invalid=${this.invalid}
255
+ .invalid=${live(this.invalid)}
248
256
  .outlined=${this.outlined}
249
257
  @igcBlur=${(e) => e.stopPropagation()}
250
258
  @igcFocus=${(e) => e.stopPropagation()}
@@ -319,20 +327,8 @@ __decorate([
319
327
  query('div[role="combobox"]')
320
328
  ], IgcSelectComponent.prototype, "target", void 0);
321
329
  __decorate([
322
- property({ reflect: false, type: String })
330
+ property({ reflect: false })
323
331
  ], IgcSelectComponent.prototype, "value", void 0);
324
- __decorate([
325
- property()
326
- ], IgcSelectComponent.prototype, "name", void 0);
327
- __decorate([
328
- property({ reflect: true, type: Boolean })
329
- ], IgcSelectComponent.prototype, "disabled", void 0);
330
- __decorate([
331
- property({ reflect: true, type: Boolean })
332
- ], IgcSelectComponent.prototype, "required", void 0);
333
- __decorate([
334
- property({ reflect: true, type: Boolean })
335
- ], IgcSelectComponent.prototype, "invalid", void 0);
336
332
  __decorate([
337
333
  property({ reflect: true, type: Boolean })
338
334
  ], IgcSelectComponent.prototype, "outlined", void 0);
@@ -351,9 +347,6 @@ __decorate([
351
347
  __decorate([
352
348
  property({ type: Boolean })
353
349
  ], IgcSelectComponent.prototype, "flip", void 0);
354
- __decorate([
355
- property({ reflect: true })
356
- ], IgcSelectComponent.prototype, "dir", void 0);
357
350
  __decorate([
358
351
  alternateName('focusComponent')
359
352
  ], IgcSelectComponent.prototype, "focus", null);
@@ -366,9 +359,6 @@ __decorate([
366
359
  __decorate([
367
360
  watch('value')
368
361
  ], IgcSelectComponent.prototype, "updateSelected", null);
369
- __decorate([
370
- watch('value')
371
- ], IgcSelectComponent.prototype, "validate", null);
372
362
  IgcSelectComponent = __decorate([
373
363
  themes({ bootstrap, material, fluent, indigo }, true),
374
364
  blazorAdditionalDependencies('IgcIconComponent, IgcInputComponent, IgcSelectGroupComponent, IgcSelectHeaderComponent, IgcSelectItemComponent')
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/components/select/select.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { themes, themeSymbol } from '../../theming/index.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { defineComponents } from '../common/definitions/defineComponents.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { partNameMap } from '../common/util.js';\nimport IgcDropdownItemComponent from '../dropdown/dropdown-item.js';\nimport IgcDropdownComponent, {\n IgcDropdownEventMap,\n} from '../dropdown/dropdown.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport IgcInputComponent from '../input/input.js';\nimport IgcSelectGroupComponent from './select-group.js';\nimport IgcSelectHeaderComponent from './select-header.js';\nimport IgcSelectItemComponent from './select-item.js';\nimport type { Theme } from '../../theming/types.js';\nimport { styles } from './themes/light/select.base.css.js';\nimport { styles as bootstrap } from './themes/light/select.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/select.fluent.css.js';\nimport { styles as indigo } from './themes/light/select.indigo.css.js';\nimport { styles as material } from './themes/light/select.material.css.js';\nimport { alternateName } from '../common/decorators/alternateName.js';\n\ndefineComponents(\n IgcIconComponent,\n IgcInputComponent,\n IgcSelectGroupComponent,\n IgcSelectHeaderComponent,\n IgcSelectItemComponent\n);\n\nexport interface IgcSelectEventMap extends IgcDropdownEventMap {\n igcFocus: CustomEvent<void>;\n igcBlur: CustomEvent<void>;\n}\n\n@themes({ bootstrap, material, fluent, indigo }, true)\n@blazorAdditionalDependencies(\n 'IgcIconComponent, IgcInputComponent, IgcSelectGroupComponent, IgcSelectHeaderComponent, IgcSelectItemComponent'\n)\n/**\n * @element igc-select\n *\n * @slot - Renders the list of select items.\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot header - Renders a container before the list of options.\n * @slot footer - Renders a container after the list of options.\n * @slot helper-text - Renders content below the input.\n * @slot toggle-icon - Renders content inside the suffix container.\n *\n * @fires igcFocus - Emitted when the select gains focus.\n * @fires igcBlur - Emitted when the select loses focus.\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcOpening - Emitted just before the list of options is opened.\n * @fires igcOpened - Emitted after the list of options is opened.\n * @fires igcClosing - Emitter just before the list of options is closed.\n * @fires igcClosed - Emitted after the list of options is closed.\n *\n * @csspart list - The list of options wrapper.\n * @csspart input - The encapsulated igc-input.\n * @csspart label - The encapsulated text label.\n * @csspart prefix - The prefix wrapper.\n * @csspart suffix - The suffix wrapper.\n * @csspart toggle-icon - The toggle icon wrapper.\n * @csspart helper-text - The helper text wrapper.\n */\nexport default class IgcSelectComponent extends EventEmitterMixin<\n IgcSelectEventMap,\n Constructor<IgcDropdownComponent>\n>(IgcDropdownComponent) {\n /** @private */\n public static readonly tagName = 'igc-select';\n public static styles = styles;\n private searchTerm = '';\n private lastKeyTime = Date.now();\n private declare readonly [themeSymbol]: Theme;\n\n private readonly targetKeyHandlers: Map<string, Function> = new Map(\n Object.entries({\n ' ': this.onTargetEnterKey,\n Tab: this.onTargetTabKey,\n Escape: this.onEscapeKey,\n Enter: this.onTargetEnterKey,\n ArrowLeft: this.onTargetArrowLeftKeyDown,\n ArrowRight: this.onTargetArrowRightKeyDown,\n ArrowUp: this.onTargetArrowUpKeyDown,\n ArrowDown: this.onTargetArrowDownKeyDown,\n Home: this.onTargetHomeKey,\n End: this.onTargetEndKey,\n })\n );\n\n @queryAssignedElements({ flatten: true, selector: 'igc-select-item' })\n protected override items!: Array<IgcSelectItemComponent>;\n\n @queryAssignedElements({ flatten: true, selector: 'igc-select-group' })\n protected override groups!: Array<IgcSelectGroupComponent>;\n\n @queryAssignedElements({ slot: 'helper-text' })\n protected helperText!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'suffix' })\n protected inputSuffix!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'prefix' })\n protected inputPrefix!: Array<HTMLElement>;\n\n @state()\n protected override selectedItem!: IgcSelectItemComponent | null;\n\n @query('div[role=\"combobox\"]')\n protected override target!: IgcInputComponent;\n\n /**\n * The value attribute of the control.\n * @attr\n */\n @property({ reflect: false, type: String })\n public value?: string | undefined;\n\n /**\n * The name attribute of the control.\n * @attr\n */\n @property()\n public name!: string;\n\n /**\n * The disabled attribute of the control.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public disabled = false;\n\n /**\n * The required attribute of the control.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public required = false;\n\n /**\n * The invalid attribute of the control.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public invalid = false;\n\n /**\n * The outlined attribute of the control.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public outlined = false;\n\n /**\n * The autofocus attribute of the control.\n * @attr\n */\n @property({ type: Boolean })\n public override autofocus!: boolean;\n\n /**\n * The label attribute of the control.\n * @attr\n */\n @property()\n public label!: string;\n\n /**\n * The placeholder attribute of the control.\n * @attr\n */\n @property()\n public placeholder!: string;\n\n /**\n * @deprecated since version 5.0. It will be removed in the next major release.\n * @hidden @internal @private\n */\n public override positionStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * Whether the dropdown's width should be the same as the target's one.\n * @deprecated since version 5.0. It will be removed in the next major release.\n * @hidden @internal @private\n * @attr same-width\n */\n @property({ type: Boolean, attribute: 'same-width' })\n public override sameWidth = true;\n\n /**\n * Whether the component should be flipped to the opposite side of the target once it's about to overflow the visible area.\n * When true, once enough space is detected on its preferred side, it will flip back.\n * @deprecated since version 5.0. It will be removed in the next major release.\n * @hidden @internal @private\n * @attr\n */\n @property({ type: Boolean })\n public override flip = true;\n\n /**\n * The direction attribute of the control.\n * @attr\n */\n @property({ reflect: true })\n public override dir: 'ltr' | 'rtl' | 'auto' = 'auto';\n\n constructor() {\n super();\n this.size = 'medium';\n\n /** Return the focus to the target element when closing the list of options. */\n this.addEventListener('igcChange', () => {\n if (this.open) this.target.focus();\n });\n }\n\n /** Override the dropdown target focusout behavior to prevent the focus from\n * being returned to the target element when the select loses focus. */\n protected override handleFocusout() {}\n\n /** Monitor input slot changes and request update */\n protected inputSlotChanged() {\n this.requestUpdate();\n }\n\n /** Sets focus on the component. */\n @alternateName('focusComponent')\n public override focus(options?: FocusOptions) {\n this.target.focus(options);\n }\n\n /** Removes focus from the component. */\n @alternateName('blurComponent')\n public override blur() {\n this.target.blur();\n super.blur();\n }\n\n /** Checks the validity of the control and moves the focus to it if it is not valid. */\n public reportValidity() {\n const valid = this.checkValidity();\n if (!valid) this.target.focus();\n return valid;\n }\n\n /** Checks the validity of the control. */\n public checkValidity() {\n this.invalid = this.required && !this.value;\n return !this.invalid;\n }\n\n protected override async firstUpdated() {\n super.firstUpdated();\n await this.updateComplete;\n\n if (!this.selectedItem && this.value) {\n this.updateSelected();\n }\n\n if (this.autofocus) {\n this.target.focus();\n }\n }\n\n @watch('selectedItem')\n protected updateValue() {\n this.value = this.selectedItem?.value;\n }\n\n @watch('value')\n protected updateSelected() {\n if (this.allItems.length === 0) return;\n\n if (this.selectedItem?.value !== this.value) {\n const matches = this.allItems.filter((i) => i.value === this.value);\n const index = this.allItems.indexOf(\n matches.at(-1) as IgcSelectItemComponent\n );\n\n if (index === -1) {\n this.value = undefined;\n this.clearSelection();\n return;\n }\n\n this.select(index);\n }\n }\n\n @watch('value')\n protected validate() {\n this.updateComplete.then(() => this.reportValidity());\n }\n\n protected selectNext() {\n const activeItemIndex = [...this.allItems].indexOf(\n this.selectedItem ?? this.activeItem\n );\n\n const next = this.getNearestSiblingFocusableItemIndex(\n activeItemIndex ?? -1,\n 1\n );\n this.selectItem(this.allItems[next], true);\n }\n\n protected selectPrev() {\n const activeItemIndex = [...this.allItems].indexOf(\n this.selectedItem ?? this.activeItem\n );\n const prev = this.getNearestSiblingFocusableItemIndex(\n activeItemIndex ?? -1,\n -1\n );\n this.selectItem(this.allItems[prev], true);\n }\n\n protected selectInteractiveItem(index: number) {\n const item = this.allItems\n .filter((i) => !i.disabled)\n .at(index) as IgcDropdownItemComponent;\n\n if (item.value !== this.value) {\n this.selectItem(item, true);\n }\n }\n\n protected searchItem(event: KeyboardEvent): void {\n // ignore longer keys ('Alt', 'ArrowDown', etc)\n if (!/^.$/u.test(event.key)) {\n return;\n }\n\n const currentTime = Date.now();\n\n if (currentTime - this.lastKeyTime > 500) {\n this.searchTerm = '';\n }\n\n this.searchTerm += event.key;\n this.lastKeyTime = currentTime;\n\n const item = this.allItems\n .filter((i) => !i.disabled)\n .find(\n (i) =>\n i.textContent\n ?.trim()\n .toLowerCase()\n .startsWith(this.searchTerm.toLowerCase())\n );\n\n if (item && this.value !== item.value) {\n this.open ? this.activateItem(item) : this.selectItem(item);\n }\n }\n\n protected handleFocus() {\n if (this.open) return;\n this.emitEvent('igcFocus');\n }\n\n protected handleBlur() {\n if (this.open) return;\n this.emitEvent('igcBlur');\n }\n\n protected onTargetTabKey() {\n this.target.blur();\n if (this.open) this.hide();\n }\n\n protected onTargetEnterKey() {\n !this.open ? this.target.click() : this.onEnterKey();\n }\n\n protected onTargetArrowLeftKeyDown() {\n !this.open ? this.selectPrev() : this.onArrowUpKeyDown();\n }\n\n protected onTargetArrowRightKeyDown() {\n !this.open ? this.selectNext() : this.onArrowDownKeyDown();\n }\n\n protected onTargetArrowUpKeyDown(event: KeyboardEvent) {\n if (event.altKey) {\n this.toggle();\n } else {\n !this.open ? this.selectPrev() : this.onArrowUpKeyDown();\n }\n }\n\n protected onTargetArrowDownKeyDown(event: KeyboardEvent) {\n if (event.altKey) {\n this.toggle();\n } else {\n !this.open ? this.selectNext() : this.onArrowDownKeyDown();\n }\n }\n\n protected onTargetHomeKey() {\n !this.open ? this.selectInteractiveItem(0) : this.onHomeKey();\n }\n\n protected onTargetEndKey() {\n !this.open ? this.selectInteractiveItem(-1) : this.onEndKey();\n }\n\n protected handleTargetKeyDown(event: KeyboardEvent) {\n event.stopPropagation();\n\n if (this.targetKeyHandlers.has(event.key)) {\n event.preventDefault();\n this.targetKeyHandlers.get(event.key)?.call(this, event);\n } else {\n this.searchItem(event);\n }\n }\n\n protected get hasPrefixes() {\n return this.inputPrefix.length > 0;\n }\n\n protected get hasSuffixes() {\n return this.inputSuffix.length > 0;\n }\n\n protected override render() {\n const openIcon =\n this[themeSymbol] === 'material' ? 'keyboard_arrow_up' : 'arrow_drop_up';\n const closeIcon =\n this[themeSymbol] === 'material'\n ? 'keyboard_arrow_down'\n : 'arrow_drop_down';\n\n return html`\n <div\n role=\"combobox\"\n tabindex=${this.disabled ? -1 : 0}\n aria-controls=\"dropdown\"\n aria-describedby=\"helper-text\"\n aria-disabled=${this.disabled}\n @focusin=${this.handleFocus}\n @focusout=${this.handleBlur}\n @keydown=${this.handleTargetKeyDown}\n @click=${this.handleTargetClick}\n >\n <igc-input\n id=\"input\"\n readonly\n exportparts=\"container: input, input: native-input, label, prefix, suffix\"\n value=${ifDefined(this.selectedItem?.textContent?.trim())}\n placeholder=${ifDefined(this.placeholder)}\n label=${ifDefined(this.label)}\n size=${this.size}\n dir=${this.dir}\n tabindex=\"-1\"\n .disabled=\"${this.disabled}\"\n .required=${this.required}\n .invalid=${this.invalid}\n .outlined=${this.outlined}\n @igcBlur=${(e: Event) => e.stopPropagation()}\n @igcFocus=${(e: Event) => e.stopPropagation()}\n >\n <span slot=${this.hasPrefixes ? 'prefix' : ''}>\n <slot name=\"prefix\" @slotchange=${this.inputSlotChanged}></slot>\n </span>\n <span slot=${this.hasSuffixes ? 'suffix' : ''}>\n <slot name=\"suffix\" @slotchange=${this.inputSlotChanged}></slot>\n </span>\n <span\n slot=\"suffix\"\n part=\"${partNameMap({\n 'toggle-icon': true,\n filled: this.value!,\n })}\"\n >\n <slot name=\"toggle-icon\">\n <igc-icon\n size=${this.size}\n name=${this.open ? openIcon : closeIcon}\n collection=\"internal\"\n aria-hidden=\"true\"\n ></igc-icon>\n </slot>\n </span>\n </igc-input>\n </div>\n <div\n id=\"helper-text\"\n part=\"helper-text\"\n ?hidden=\"${this.helperText.length === 0}\"\n >\n <slot name=\"helper-text\" @slotchange=\"${this.inputSlotChanged}\"></slot>\n </div>\n <div\n part=\"base\"\n style=${styleMap({ position: this.positionStrategy })}\n @click=${this.handleClick}\n ${this.toggleController.toggleDirective}\n >\n <div id=\"dropdown\" role=\"listbox\" part=\"list\" aria-labelledby=\"input\">\n <slot name=\"header\"></slot>\n <slot></slot>\n <slot name=\"footer\"></slot>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-select': IgcSelectComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/components/select/select.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { themes, themeSymbol } from '../../theming/index.js';\nimport { alternateName } from '../common/decorators/alternateName.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { defineComponents } from '../common/definitions/defineComponents.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { partNameMap } from '../common/util.js';\nimport { FormAssociatedRequiredMixin } from '../common/mixins/form-associated-required.js';\nimport IgcDropdownItemComponent from '../dropdown/dropdown-item.js';\nimport IgcDropdownComponent, {\n IgcDropdownEventMap,\n} from '../dropdown/dropdown.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport IgcInputComponent from '../input/input.js';\nimport IgcSelectGroupComponent from './select-group.js';\nimport IgcSelectHeaderComponent from './select-header.js';\nimport IgcSelectItemComponent from './select-item.js';\nimport type { Theme } from '../../theming/types.js';\nimport { styles } from './themes/light/select.base.css.js';\nimport { styles as bootstrap } from './themes/light/select.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/select.fluent.css.js';\nimport { styles as indigo } from './themes/light/select.indigo.css.js';\nimport { styles as material } from './themes/light/select.material.css.js';\nimport { requiredValidator, Validator } from '../common/validators.js';\n\ndefineComponents(\n IgcIconComponent,\n IgcInputComponent,\n IgcSelectGroupComponent,\n IgcSelectHeaderComponent,\n IgcSelectItemComponent\n);\n\nexport interface IgcSelectEventMap extends IgcDropdownEventMap {\n igcFocus: CustomEvent<void>;\n igcBlur: CustomEvent<void>;\n}\n\n@themes({ bootstrap, material, fluent, indigo }, true)\n@blazorAdditionalDependencies(\n 'IgcIconComponent, IgcInputComponent, IgcSelectGroupComponent, IgcSelectHeaderComponent, IgcSelectItemComponent'\n)\n/**\n * @element igc-select\n *\n * @slot - Renders the list of select items.\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot header - Renders a container before the list of options.\n * @slot footer - Renders a container after the list of options.\n * @slot helper-text - Renders content below the input.\n * @slot toggle-icon - Renders content inside the suffix container.\n *\n * @fires igcFocus - Emitted when the select gains focus.\n * @fires igcBlur - Emitted when the select loses focus.\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcOpening - Emitted just before the list of options is opened.\n * @fires igcOpened - Emitted after the list of options is opened.\n * @fires igcClosing - Emitter just before the list of options is closed.\n * @fires igcClosed - Emitted after the list of options is closed.\n *\n * @csspart list - The list of options wrapper.\n * @csspart input - The encapsulated igc-input.\n * @csspart label - The encapsulated text label.\n * @csspart prefix - The prefix wrapper.\n * @csspart suffix - The suffix wrapper.\n * @csspart toggle-icon - The toggle icon wrapper.\n * @csspart helper-text - The helper text wrapper.\n */\nexport default class IgcSelectComponent extends FormAssociatedRequiredMixin(\n EventEmitterMixin<IgcSelectEventMap, Constructor<IgcDropdownComponent>>(\n IgcDropdownComponent\n )\n) {\n public static readonly tagName = 'igc-select';\n public static styles = styles;\n private searchTerm = '';\n private lastKeyTime = Date.now();\n\n protected override validators: Validator<this>[] = [requiredValidator];\n private declare readonly [themeSymbol]: Theme;\n\n private readonly targetKeyHandlers: Map<string, Function> = new Map(\n Object.entries({\n ' ': this.onTargetEnterKey,\n Tab: this.onTargetTabKey,\n Escape: this.onEscapeKey,\n Enter: this.onTargetEnterKey,\n ArrowLeft: this.onTargetArrowLeftKeyDown,\n ArrowRight: this.onTargetArrowRightKeyDown,\n ArrowUp: this.onTargetArrowUpKeyDown,\n ArrowDown: this.onTargetArrowDownKeyDown,\n Home: this.onTargetHomeKey,\n End: this.onTargetEndKey,\n })\n );\n\n @queryAssignedElements({ flatten: true, selector: 'igc-select-item' })\n protected override items!: Array<IgcSelectItemComponent>;\n\n @queryAssignedElements({ flatten: true, selector: 'igc-select-group' })\n protected override groups!: Array<IgcSelectGroupComponent>;\n\n @queryAssignedElements({ slot: 'helper-text' })\n protected helperText!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'suffix' })\n protected inputSuffix!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'prefix' })\n protected inputPrefix!: Array<HTMLElement>;\n\n @state()\n protected override selectedItem!: IgcSelectItemComponent | null;\n\n @query('div[role=\"combobox\"]')\n protected override target!: IgcInputComponent;\n\n /**\n * The value attribute of the control.\n * @attr\n */\n @property({ reflect: false })\n public value?: string;\n\n /**\n * The outlined attribute of the control.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public outlined = false;\n\n /**\n * The autofocus attribute of the control.\n * @attr\n */\n @property({ type: Boolean })\n public override autofocus!: boolean;\n\n /**\n * The label attribute of the control.\n * @attr\n */\n @property()\n public label!: string;\n\n /**\n * The placeholder attribute of the control.\n * @attr\n */\n @property()\n public placeholder!: string;\n\n /**\n * @deprecated since version 4.3.0\n * @hidden @internal @private\n */\n public override positionStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * Whether the dropdown's width should be the same as the target's one.\n * @deprecated since version 4.3.0\n * @hidden @internal @private\n * @attr same-width\n */\n @property({ type: Boolean, attribute: 'same-width' })\n public override sameWidth = true;\n\n /**\n * Whether the component should be flipped to the opposite side of the target once it's about to overflow the visible area.\n * When true, once enough space is detected on its preferred side, it will flip back.\n * @deprecated since version 4.3.0\n * @hidden @internal @private\n * @attr\n */\n @property({ type: Boolean })\n public override flip = true;\n\n constructor() {\n super();\n this.size = 'medium';\n\n /** Return the focus to the target element when closing the list of options. */\n this.addEventListener('igcChange', () => {\n if (this.open) this.target.focus();\n });\n }\n\n /** Override the dropdown target focusout behavior to prevent the focus from\n * being returned to the target element when the select loses focus. */\n protected override handleFocusout() {}\n\n /** Monitor input slot changes and request update */\n protected inputSlotChanged() {\n this.requestUpdate();\n }\n\n /** Sets focus on the component. */\n @alternateName('focusComponent')\n public override focus(options?: FocusOptions) {\n this.target.focus(options);\n }\n\n /** Removes focus from the component. */\n @alternateName('blurComponent')\n public override blur() {\n this.target.blur();\n super.blur();\n }\n\n /** Checks the validity of the control and moves the focus to it if it is not valid. */\n public override reportValidity() {\n const valid = super.reportValidity();\n if (!valid) this.target.focus();\n return valid;\n }\n\n protected override async firstUpdated() {\n super.firstUpdated();\n await this.updateComplete;\n\n if (!this.selectedItem && this.value) {\n this.updateSelected();\n } else if (this.selectedItem && !this.value) {\n this._defaultValue = this.selectedItem.value;\n }\n\n if (this.autofocus) {\n this.target.focus();\n }\n\n this.updateValidity();\n }\n\n @watch('selectedItem')\n protected updateValue() {\n this.value = this.selectedItem?.value;\n }\n\n @watch('value')\n protected updateSelected() {\n if (this.allItems.length === 0) {\n this.setFormValue(null);\n this.updateValidity();\n this.setInvalidState();\n return;\n }\n\n if (this.selectedItem?.value !== this.value) {\n const matches = this.allItems.filter((i) => i.value === this.value);\n const index = this.allItems.indexOf(\n matches.at(-1) as IgcSelectItemComponent\n );\n\n if (index === -1) {\n this.value = undefined;\n this.clearSelection();\n this.setFormValue(null);\n this.updateValidity();\n this.setInvalidState();\n return;\n }\n\n this.select(index);\n }\n this.setFormValue(this.value!);\n this.updateValidity();\n this.setInvalidState();\n }\n\n protected selectNext() {\n const activeItemIndex = [...this.allItems].indexOf(\n this.selectedItem ?? this.activeItem\n );\n\n const next = this.getNearestSiblingFocusableItemIndex(\n activeItemIndex ?? -1,\n 1\n );\n this.selectItem(this.allItems[next], true);\n }\n\n protected selectPrev() {\n const activeItemIndex = [...this.allItems].indexOf(\n this.selectedItem ?? this.activeItem\n );\n const prev = this.getNearestSiblingFocusableItemIndex(\n activeItemIndex ?? -1,\n -1\n );\n this.selectItem(this.allItems[prev], true);\n }\n\n protected selectInteractiveItem(index: number) {\n const item = this.allItems\n .filter((i) => !i.disabled)\n .at(index) as IgcDropdownItemComponent;\n\n if (item.value !== this.value) {\n this.selectItem(item, true);\n }\n }\n\n protected searchItem(event: KeyboardEvent): void {\n // ignore longer keys ('Alt', 'ArrowDown', etc)\n if (!/^.$/u.test(event.key)) {\n return;\n }\n\n const currentTime = Date.now();\n\n if (currentTime - this.lastKeyTime > 500) {\n this.searchTerm = '';\n }\n\n this.searchTerm += event.key;\n this.lastKeyTime = currentTime;\n\n const item = this.allItems\n .filter((i) => !i.disabled)\n .find(\n (i) =>\n i.textContent\n ?.trim()\n .toLowerCase()\n .startsWith(this.searchTerm.toLowerCase())\n );\n\n if (item && this.value !== item.value) {\n this.open ? this.activateItem(item) : this.selectItem(item);\n }\n }\n\n protected handleFocus() {\n this._dirty = true;\n if (this.open) return;\n this.emitEvent('igcFocus');\n }\n\n protected handleBlur() {\n this.setInvalidState();\n if (this.open) return;\n this.emitEvent('igcBlur');\n }\n\n protected onTargetTabKey() {\n this.target.blur();\n if (this.open) this.hide();\n }\n\n protected onTargetEnterKey() {\n !this.open ? this.target.click() : this.onEnterKey();\n }\n\n protected onTargetArrowLeftKeyDown() {\n !this.open ? this.selectPrev() : this.onArrowUpKeyDown();\n }\n\n protected onTargetArrowRightKeyDown() {\n !this.open ? this.selectNext() : this.onArrowDownKeyDown();\n }\n\n protected onTargetArrowUpKeyDown(event: KeyboardEvent) {\n if (event.altKey) {\n this.toggle();\n } else {\n !this.open ? this.selectPrev() : this.onArrowUpKeyDown();\n }\n }\n\n protected onTargetArrowDownKeyDown(event: KeyboardEvent) {\n if (event.altKey) {\n this.toggle();\n } else {\n !this.open ? this.selectNext() : this.onArrowDownKeyDown();\n }\n }\n\n protected onTargetHomeKey() {\n !this.open ? this.selectInteractiveItem(0) : this.onHomeKey();\n }\n\n protected onTargetEndKey() {\n !this.open ? this.selectInteractiveItem(-1) : this.onEndKey();\n }\n\n protected handleTargetKeyDown(event: KeyboardEvent) {\n event.stopPropagation();\n\n if (this.targetKeyHandlers.has(event.key)) {\n event.preventDefault();\n this.targetKeyHandlers.get(event.key)?.call(this, event);\n } else {\n this.searchItem(event);\n }\n }\n\n protected get hasPrefixes() {\n return this.inputPrefix.length > 0;\n }\n\n protected get hasSuffixes() {\n return this.inputSuffix.length > 0;\n }\n\n protected override render() {\n const openIcon =\n this[themeSymbol] === 'material' ? 'keyboard_arrow_up' : 'arrow_drop_up';\n const closeIcon =\n this[themeSymbol] === 'material'\n ? 'keyboard_arrow_down'\n : 'arrow_drop_down';\n\n return html`\n <div\n role=\"combobox\"\n tabindex=${this.disabled ? -1 : 0}\n aria-controls=\"dropdown\"\n aria-describedby=\"helper-text\"\n aria-disabled=${this.disabled}\n @focusin=${this.handleFocus}\n @focusout=${this.handleBlur}\n @keydown=${this.handleTargetKeyDown}\n @click=${this.handleTargetClick}\n >\n <igc-input\n id=\"input\"\n readonly\n exportparts=\"container: input, input: native-input, label, prefix, suffix\"\n value=${ifDefined(this.selectedItem?.textContent?.trim())}\n placeholder=${ifDefined(this.placeholder)}\n label=${ifDefined(this.label)}\n size=${this.size}\n tabindex=\"-1\"\n .disabled=${this.disabled}\n .required=${this.required}\n .invalid=${live(this.invalid)}\n .outlined=${this.outlined}\n @igcBlur=${(e: Event) => e.stopPropagation()}\n @igcFocus=${(e: Event) => e.stopPropagation()}\n >\n <span slot=${this.hasPrefixes ? 'prefix' : ''}>\n <slot name=\"prefix\" @slotchange=${this.inputSlotChanged}></slot>\n </span>\n <span slot=${this.hasSuffixes ? 'suffix' : ''}>\n <slot name=\"suffix\" @slotchange=${this.inputSlotChanged}></slot>\n </span>\n <span\n slot=\"suffix\"\n part=\"${partNameMap({\n 'toggle-icon': true,\n filled: this.value!,\n })}\"\n >\n <slot name=\"toggle-icon\">\n <igc-icon\n size=${this.size}\n name=${this.open ? openIcon : closeIcon}\n collection=\"internal\"\n aria-hidden=\"true\"\n ></igc-icon>\n </slot>\n </span>\n </igc-input>\n </div>\n <div\n id=\"helper-text\"\n part=\"helper-text\"\n ?hidden=\"${this.helperText.length === 0}\"\n >\n <slot name=\"helper-text\" @slotchange=\"${this.inputSlotChanged}\"></slot>\n </div>\n <div\n part=\"base\"\n style=${styleMap({ position: this.positionStrategy })}\n @click=${this.handleClick}\n ${this.toggleController.toggleDirective}\n >\n <div id=\"dropdown\" role=\"listbox\" part=\"list\" aria-labelledby=\"input\">\n <slot name=\"header\"></slot>\n <slot></slot>\n <slot name=\"footer\"></slot>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-select': IgcSelectComponent;\n }\n}\n"]}
@@ -31,6 +31,7 @@ export const styles = css `:host {
31
31
  [hidden] {
32
32
  display: none !important;
33
33
  }
34
+
34
35
  :host {
35
36
  display: -webkit-box;
36
37
  display: -ms-flexbox;
@@ -1 +1 @@
1
- {"version":3,"file":"select.base.css.js","sourceRoot":"","sources":["../../../../../src/components/select/themes/light/select.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyGvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium: min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--ig-scrollbar-size);\n scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--ig-scrollbar-size);\n height: var(--ig-scrollbar-size);\n background: var(--ig-scrollbar-track-background);\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--ig-scrollbar-thumb-background);\n}\n\n:host([hidden]),\n[hidden] {\n display: none !important;\n}\n:host {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n font-family: var(--ig-font-family);\n}\n\n[part=base] {\n overflow-y: auto;\n overflow-x: hidden;\n min-width: 7rem;\n z-index: 10005;\n}\n\n:host([size=small]) {\n --component-size: var(--ig-size, var(--ig-size-small));\n}\n\n:host([size=medium]) {\n --component-size: var(--ig-size, var(--ig-size-medium));\n}\n\n:host([size=large]) {\n --component-size: var(--ig-size, var(--ig-size-large));\n}\n\n:host {\n display: block;\n}\n\n[role=combobox] {\n outline-style: none;\n}\n\n:host([disabled]) [role=combobox] {\n pointer-events: none;\n}\n\nigc-input {\n cursor: pointer;\n}\n\nigc-input::part(input) {\n cursor: pointer;\n}\nigc-input::part(input)::-moz-selection {\n background: transparent;\n}\nigc-input::part(input)::selection {\n background: transparent;\n}\n\n[part=helper-text] {\n line-height: 1;\n}\n[part=helper-text] ::slotted([slot=helper-text]) {\n font-family: var(--ig-caption-font-family, var(--ig-font-family));\n font-size: var(--ig-caption-font-size);\n font-weight: var(--ig-caption-font-weight);\n font-style: var(--ig-caption-font-style);\n line-height: var(--ig-caption-line-height);\n letter-spacing: var(--ig-caption-letter-spacing);\n text-transform: var(--ig-caption-text-transform);\n margin-top: var(--ig-caption-margin-top);\n margin-bottom: var(--ig-caption-margin-bottom);\n line-height: inherit;\n}\n\n[name=prefix]::slotted(*),\n[name=suffix]::slotted(*) {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}`;\n"]}
1
+ {"version":3,"file":"select.base.css.js","sourceRoot":"","sources":["../../../../../src/components/select/themes/light/select.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0GvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium: min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--ig-scrollbar-size);\n scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--ig-scrollbar-size);\n height: var(--ig-scrollbar-size);\n background: var(--ig-scrollbar-track-background);\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--ig-scrollbar-thumb-background);\n}\n\n:host([hidden]),\n[hidden] {\n display: none !important;\n}\n\n:host {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n font-family: var(--ig-font-family);\n}\n\n[part=base] {\n overflow-y: auto;\n overflow-x: hidden;\n min-width: 7rem;\n z-index: 10005;\n}\n\n:host([size=small]) {\n --component-size: var(--ig-size, var(--ig-size-small));\n}\n\n:host([size=medium]) {\n --component-size: var(--ig-size, var(--ig-size-medium));\n}\n\n:host([size=large]) {\n --component-size: var(--ig-size, var(--ig-size-large));\n}\n\n:host {\n display: block;\n}\n\n[role=combobox] {\n outline-style: none;\n}\n\n:host([disabled]) [role=combobox] {\n pointer-events: none;\n}\n\nigc-input {\n cursor: pointer;\n}\n\nigc-input::part(input) {\n cursor: pointer;\n}\nigc-input::part(input)::-moz-selection {\n background: transparent;\n}\nigc-input::part(input)::selection {\n background: transparent;\n}\n\n[part=helper-text] {\n line-height: 1;\n}\n[part=helper-text] ::slotted([slot=helper-text]) {\n font-family: var(--ig-caption-font-family, var(--ig-font-family));\n font-size: var(--ig-caption-font-size);\n font-weight: var(--ig-caption-font-weight);\n font-style: var(--ig-caption-font-style);\n line-height: var(--ig-caption-line-height);\n letter-spacing: var(--ig-caption-letter-spacing);\n text-transform: var(--ig-caption-text-transform);\n margin-top: var(--ig-caption-margin-top);\n margin-bottom: var(--ig-caption-margin-bottom);\n line-height: inherit;\n}\n\n[name=prefix]::slotted(*),\n[name=suffix]::slotted(*) {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}`;\n"]}
@@ -1,37 +1,5 @@
1
1
  import { css } from 'lit';
2
2
  export const styles = css `:host {
3
- --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
4
- --is-medium: min(
5
- clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
6
- clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
7
- );
8
- --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
9
- position: relative;
10
- -webkit-box-sizing: border-box;
11
- box-sizing: border-box;
12
- scrollbar-width: var(--ig-scrollbar-size);
13
- scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);
14
- }
15
- :host *,
16
- :host *::before,
17
- :host *::after {
18
- -webkit-box-sizing: border-box;
19
- box-sizing: border-box;
20
- }
21
- :host ::-webkit-scrollbar {
22
- width: var(--ig-scrollbar-size);
23
- height: var(--ig-scrollbar-size);
24
- background: var(--ig-scrollbar-track-background);
25
- }
26
- :host ::-webkit-scrollbar-thumb {
27
- background: var(--ig-scrollbar-thumb-background);
28
- }
29
-
30
- :host([hidden]),
31
- [hidden] {
32
- display: none !important;
33
- }
34
- :host {
35
3
  --search-resting-elevation: var(--ig-input-search-resting-elevation, var(--ig-elevation-1));
36
4
  --search-hover-elevation: var(--ig-input-search-hover-elevation, var(--ig-elevation-2));
37
5
  --search-disabled-elevation: var(--ig-input-search-disabled-elevation, var(--ig-elevation-0));
@@ -77,12 +45,12 @@ export const styles = css `:host {
77
45
  --box-background-hover: var(--ig-input-box-background-hover, hsla(var(--ig-gray-200), var(--ig-gray-a)));
78
46
  --box-background-focus: var(--ig-input-box-background-focus, hsla(var(--ig-gray-300), var(--ig-gray-a)));
79
47
  --box-disabled-background: var(--ig-input-box-disabled-background, hsla(var(--ig-gray-100), var(--ig-gray-a)));
80
- --box-border-radius: var(--ig-input-box-border-radius, 0.25rem, 0rem, 1.25rem);
81
- --border-border-radius: var(--ig-input-border-border-radius, 0.25rem, 0rem, 1.25rem);
48
+ --box-border-radius: var(--ig-input-box-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));
49
+ --border-border-radius: var(--ig-input-border-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));
82
50
  --search-border-radius: var(--ig-input-search-border-radius, 0.25rem, 0rem, 1.25rem);
83
51
  --success-shadow-color: var(--ig-input-success-shadow-color, hsla(var(--ig-success-500), 0.38));
84
52
  --error-shadow-color: var(--ig-input-error-shadow-color, hsla(var(--ig-error-500), 0.38));
85
- --size: var(--ig-input-size, 1.9375rem, 2.375rem, 3rem);
53
+ --size: var(--ig-input-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.375rem, -1 * 2.375rem), var(--is-small, 1) * max(1.9375rem, -1 * 1.9375rem)));
86
54
  --toggle-button-background-focus--border: var(--ig-select-toggle-button-background-focus--border, hsla(var(--ig-gray-300), var(--ig-gray-a)));
87
55
  --toggle-button-background: var(--ig-select-toggle-button-background, hsla(var(--ig-gray-300), var(--ig-gray-a)));
88
56
  --toggle-button-background-focus: var(--ig-select-toggle-button-background-focus, hsla(var(--ig-gray-400), 0.3));
@@ -110,8 +78,8 @@ export const styles = css `:host {
110
78
  --disabled-item-text-color: var(--ig-drop-down-disabled-item-text-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));
111
79
  --border-color: var(--ig-drop-down-border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));
112
80
  --border-width: var(--ig-drop-down-border-width, 1px);
113
- --border-radius: var(--ig-drop-down-border-radius, 0.25rem, 0rem, 1.25rem);
114
- --item-border-radius: var(--ig-drop-down-item-border-radius, 0rem, 0rem, 1.25rem);
81
+ --border-radius: var(--ig-drop-down-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));
82
+ --item-border-radius: var(--ig-drop-down-item-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));
115
83
  --size: var(--ig-drop-down-size, max(var(--is-large, 1) * max(2.5rem, -1 * 2.5rem), var(--is-medium, 1) * max(2rem, -1 * 2rem), var(--is-small, 1) * max(1.75rem, -1 * 1.75rem)));
116
84
  }
117
85
  :host [part=helper-text] {
@@ -1 +1 @@
1
- {"version":3,"file":"select.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/select/themes/light/select.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsLvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium: min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--ig-scrollbar-size);\n scrollbar-color: var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background);\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--ig-scrollbar-size);\n height: var(--ig-scrollbar-size);\n background: var(--ig-scrollbar-track-background);\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--ig-scrollbar-thumb-background);\n}\n\n:host([hidden]),\n[hidden] {\n display: none !important;\n}\n:host {\n --search-resting-elevation: var(--ig-input-search-resting-elevation, var(--ig-elevation-1));\n --search-hover-elevation: var(--ig-input-search-hover-elevation, var(--ig-elevation-2));\n --search-disabled-elevation: var(--ig-input-search-disabled-elevation, var(--ig-elevation-0));\n --helper-text-color: var(--ig-input-helper-text-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n --input-prefix-background: var(--ig-input-input-prefix-background, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --input-prefix-color: var(--ig-input-input-prefix-color, hsla(var(--ig-gray-800), var(--ig-gray-a)));\n --input-prefix-background--filled: var(--ig-input-input-prefix-background--filled, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --input-prefix-color--filled: var(--ig-input-input-prefix-color--filled, hsla(var(--ig-gray-900), var(--ig-gray-a)));\n --input-prefix-background--focused: var(--ig-input-input-prefix-background--focused, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --input-prefix-color--focused: var(--ig-input-input-prefix-color--focused, hsla(var(--ig-gray-900), var(--ig-gray-a)));\n --input-suffix-background: var(--ig-input-input-suffix-background, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --input-suffix-color: var(--ig-input-input-suffix-color, hsla(var(--ig-gray-800), var(--ig-gray-a)));\n --input-suffix-background--filled: var(--ig-input-input-suffix-background--filled, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --input-suffix-color--filled: var(--ig-input-input-suffix-color--filled, hsla(var(--ig-gray-900), var(--ig-gray-a)));\n --input-suffix-background--focused: var(--ig-input-input-suffix-background--focused, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --input-suffix-color--focused: var(--ig-input-input-suffix-color--focused, hsla(var(--ig-gray-900), var(--ig-gray-a)));\n --idle-text-color: var(--ig-input-idle-text-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n --filled-text-color: var(--ig-input-filled-text-color, hsla(var(--ig-gray-900), var(--ig-gray-a)));\n --focused-text-color: var(--ig-input-focused-text-color, hsla(var(--ig-gray-900), var(--ig-gray-a)));\n --disabled-text-color: var(--ig-input-disabled-text-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n --idle-secondary-color: var(--ig-input-idle-secondary-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n --filled-secondary-color: var(--ig-input-filled-secondary-color, hsla(var(--ig-gray-600), var(--ig-gray-a)));\n --focused-secondary-color: var(--ig-input-focused-secondary-color, hsla(var(--ig-primary-500), 0.38));\n --idle-bottom-line-color: var(--ig-input-idle-bottom-line-color, hsla(var(--ig-gray-500), var(--ig-gray-a)));\n --hover-bottom-line-color: var(--ig-input-hover-bottom-line-color, hsla(var(--ig-gray-800), var(--ig-gray-a)));\n --focused-bottom-line-color: var(--ig-input-focused-bottom-line-color, hsla(var(--ig-primary-500), var(--ig-primary-a)));\n --interim-bottom-line-color: var(--ig-input-interim-bottom-line-color, hsla(var(--ig-primary-500), var(--ig-primary-a)));\n --disabled-bottom-line-color: var(--ig-input-disabled-bottom-line-color, hsla(var(--ig-gray-500), var(--ig-gray-a)));\n --disabled-border-color: var(--ig-input-disabled-border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --border-color: var(--ig-input-border-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n --hover-border-color: var(--ig-input-hover-border-color, hsla(var(--ig-gray-900), var(--ig-gray-a)));\n --focused-border-color: var(--ig-input-focused-border-color, hsla(var(--ig-primary-500), var(--ig-primary-a)));\n --border-background: var(--ig-input-border-background, transparent);\n --border-disabled-background: var(--ig-input-border-disabled-background, hsla(var(--ig-gray-100), var(--ig-gray-a)));\n --search-background: var(--ig-input-search-background, hsla(var(--ig-gray-50), var(--ig-gray-a)));\n --search-disabled-background: var(--ig-input-search-disabled-background, hsla(var(--ig-gray-100), var(--ig-gray-a)));\n --success-secondary-color: var(--ig-input-success-secondary-color, hsla(var(--ig-success-500), var(--ig-success-a)));\n --warning-secondary-color: var(--ig-input-warning-secondary-color, hsla(var(--ig-warn-500), var(--ig-warn-a)));\n --error-secondary-color: var(--ig-input-error-secondary-color, hsla(var(--ig-error-500), var(--ig-error-a)));\n --placeholder-color: var(--ig-input-placeholder-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n --disabled-placeholder-color: var(--ig-input-disabled-placeholder-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n --box-background: var(--ig-input-box-background, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n --box-background-hover: var(--ig-input-box-background-hover, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n --box-background-focus: var(--ig-input-box-background-focus, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --box-disabled-background: var(--ig-input-box-disabled-background, hsla(var(--ig-gray-100), var(--ig-gray-a)));\n --box-border-radius: var(--ig-input-box-border-radius, 0.25rem, 0rem, 1.25rem);\n --border-border-radius: var(--ig-input-border-border-radius, 0.25rem, 0rem, 1.25rem);\n --search-border-radius: var(--ig-input-search-border-radius, 0.25rem, 0rem, 1.25rem);\n --success-shadow-color: var(--ig-input-success-shadow-color, hsla(var(--ig-success-500), 0.38));\n --error-shadow-color: var(--ig-input-error-shadow-color, hsla(var(--ig-error-500), 0.38));\n --size: var(--ig-input-size, 1.9375rem, 2.375rem, 3rem);\n --toggle-button-background-focus--border: var(--ig-select-toggle-button-background-focus--border, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --toggle-button-background: var(--ig-select-toggle-button-background, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --toggle-button-background-focus: var(--ig-select-toggle-button-background-focus, hsla(var(--ig-gray-400), 0.3));\n --toggle-button-foreground: var(--ig-select-toggle-button-foreground, hsla(var(--ig-gray-800), var(--ig-gray-a)));\n --toggle-button-foreground-focus: var(--ig-select-toggle-button-foreground-focus, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n --toggle-button-foreground-filled: var(--ig-select-toggle-button-foreground-filled, hsla(var(--ig-gray-800), var(--ig-gray-a)));\n --toggle-button-background-disabled: var(--ig-select-toggle-button-background-disabled, hsla(var(--ig-gray-100), var(--ig-gray-a)));\n --toggle-button-foreground-disabled: var(--ig-select-toggle-button-foreground-disabled, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n --toggle-button-foreground--focus: var(--ig-select-toggle-button-foreground--focus, hsla(var(--ig-gray-800), var(--ig-gray-a)));\n --elevation: var(--ig-drop-down-elevation, var(--ig-elevation-0));\n --background-color: var(--ig-drop-down-background-color, hsla(var(--ig-surface-500), var(--ig-surface-a)));\n --header-text-color: var(--ig-drop-down-header-text-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n --item-text-color: var(--ig-drop-down-item-text-color, hsla(var(--ig-gray-800), var(--ig-gray-a)));\n --hover-item-text-color: var(--ig-drop-down-hover-item-text-color, hsla(var(--ig-gray-800), var(--ig-gray-a)));\n --hover-item-background: var(--ig-drop-down-hover-item-background, hsla(var(--ig-gray-100), var(--ig-gray-a)));\n --focused-item-background: var(--ig-drop-down-focused-item-background, hsla(var(--ig-primary-500), var(--ig-primary-a)));\n --focused-item-text-color: var(--ig-drop-down-focused-item-text-color, var(--ig-primary-600-contrast));\n --selected-item-background: var(--ig-drop-down-selected-item-background, hsla(var(--ig-primary-500), var(--ig-primary-a)));\n --selected-item-text-color: var(--ig-drop-down-selected-item-text-color, var(--ig-primary-600-contrast));\n --selected-hover-item-background: var(--ig-drop-down-selected-hover-item-background, hsla(var(--ig-primary-600), var(--ig-primary-a)));\n --selected-hover-item-text-color: var(--ig-drop-down-selected-hover-item-text-color, var(--ig-primary-600-contrast));\n --selected-focus-item-background: var(--ig-drop-down-selected-focus-item-background, hsla(var(--ig-primary-600), var(--ig-primary-a)));\n --selected-focus-item-text-color: var(--ig-drop-down-selected-focus-item-text-color, var(--ig-primary-600-contrast));\n --disabled-item-background: var(--ig-drop-down-disabled-item-background, hsla(var(--ig-gray-50), 0));\n --disabled-item-text-color: var(--ig-drop-down-disabled-item-text-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n --border-color: var(--ig-drop-down-border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --border-width: var(--ig-drop-down-border-width, 1px);\n --border-radius: var(--ig-drop-down-border-radius, 0.25rem, 0rem, 1.25rem);\n --item-border-radius: var(--ig-drop-down-item-border-radius, 0rem, 0rem, 1.25rem);\n --size: var(--ig-drop-down-size, max(var(--is-large, 1) * max(2.5rem, -1 * 2.5rem), var(--is-medium, 1) * max(2rem, -1 * 2rem), var(--is-small, 1) * max(1.75rem, -1 * 1.75rem)));\n}\n:host [part=helper-text] {\n margin-top: 0.25rem;\n}\n:host ::slotted([slot=helper-text]) {\n font-family: var(--ig-body-2-font-family, var(--ig-font-family));\n font-size: var(--ig-body-2-font-size);\n font-weight: var(--ig-body-2-font-weight);\n font-style: var(--ig-body-2-font-style);\n line-height: var(--ig-body-2-line-height);\n letter-spacing: var(--ig-body-2-letter-spacing);\n text-transform: var(--ig-body-2-text-transform);\n margin-top: var(--ig-body-2-margin-top);\n margin-bottom: var(--ig-body-2-margin-bottom);\n color: var(--helper-text-color);\n}\n\n[part=base] {\n background: var(--background-color);\n border-radius: var(--border-radius);\n padding: 0.5rem 0;\n border: 0.0625rem solid var(--border-color);\n}\n\n[part~=toggle-icon] {\n background: var(--toggle-button-background);\n color: var(--toggle-button-foreground);\n}\n[part~=toggle-icon] igc-icon {\n color: inherit;\n}\n\n:host(:focus-within) igc-input[readonly]:not([disabled])::part(input) {\n -webkit-box-shadow: 0 0 0 0.25rem var(--focused-secondary-color);\n box-shadow: 0 0 0 0.25rem var(--focused-secondary-color);\n border-color: var(--focused-border-color);\n}\n:host(:focus-within) [part~=toggle-icon] {\n background: var(--toggle-button-background-focus--border);\n color: var(--toggle-button-foreground-focus);\n}\n:host(:focus-within) [part~=toggle-icon] igc-icon {\n color: inherit;\n}\n\n:host([invalid]) igc-input[readonly]:not([disabled])::part(input),\n:host([invalid]:focus-within) igc-input[readonly]:not([disabled])::part(input) {\n -webkit-box-shadow: 0 0 0 0.25rem var(--error-shadow-color);\n box-shadow: 0 0 0 0.25rem var(--error-shadow-color);\n border-color: var(--error-secondary-color);\n}\n\n:host([invalid]) ::slotted([slot=helper-text]) {\n color: var(--error-secondary-color);\n}\n\n:host([disabled]) ::slotted([slot=helper-text]),\n:host(:disabled) ::slotted([slot=helper-text]) {\n color: var(--disabled-text-color);\n}\n:host([disabled]) [part~=toggle-icon],\n:host(:disabled) [part~=toggle-icon] {\n background: var(--toggle-button-background-disabled);\n color: var(--toggle-button-foreground-disabled);\n}\n:host([disabled]) [part~=toggle-icon] igc-icon,\n:host(:disabled) [part~=toggle-icon] igc-icon {\n color: inherit;\n}`;\n"]}
1
+ {"version":3,"file":"select.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/select/themes/light/select.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsJvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --search-resting-elevation: var(--ig-input-search-resting-elevation, var(--ig-elevation-1));\n --search-hover-elevation: var(--ig-input-search-hover-elevation, var(--ig-elevation-2));\n --search-disabled-elevation: var(--ig-input-search-disabled-elevation, var(--ig-elevation-0));\n --helper-text-color: var(--ig-input-helper-text-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n --input-prefix-background: var(--ig-input-input-prefix-background, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --input-prefix-color: var(--ig-input-input-prefix-color, hsla(var(--ig-gray-800), var(--ig-gray-a)));\n --input-prefix-background--filled: var(--ig-input-input-prefix-background--filled, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --input-prefix-color--filled: var(--ig-input-input-prefix-color--filled, hsla(var(--ig-gray-900), var(--ig-gray-a)));\n --input-prefix-background--focused: var(--ig-input-input-prefix-background--focused, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --input-prefix-color--focused: var(--ig-input-input-prefix-color--focused, hsla(var(--ig-gray-900), var(--ig-gray-a)));\n --input-suffix-background: var(--ig-input-input-suffix-background, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --input-suffix-color: var(--ig-input-input-suffix-color, hsla(var(--ig-gray-800), var(--ig-gray-a)));\n --input-suffix-background--filled: var(--ig-input-input-suffix-background--filled, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --input-suffix-color--filled: var(--ig-input-input-suffix-color--filled, hsla(var(--ig-gray-900), var(--ig-gray-a)));\n --input-suffix-background--focused: var(--ig-input-input-suffix-background--focused, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --input-suffix-color--focused: var(--ig-input-input-suffix-color--focused, hsla(var(--ig-gray-900), var(--ig-gray-a)));\n --idle-text-color: var(--ig-input-idle-text-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n --filled-text-color: var(--ig-input-filled-text-color, hsla(var(--ig-gray-900), var(--ig-gray-a)));\n --focused-text-color: var(--ig-input-focused-text-color, hsla(var(--ig-gray-900), var(--ig-gray-a)));\n --disabled-text-color: var(--ig-input-disabled-text-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n --idle-secondary-color: var(--ig-input-idle-secondary-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n --filled-secondary-color: var(--ig-input-filled-secondary-color, hsla(var(--ig-gray-600), var(--ig-gray-a)));\n --focused-secondary-color: var(--ig-input-focused-secondary-color, hsla(var(--ig-primary-500), 0.38));\n --idle-bottom-line-color: var(--ig-input-idle-bottom-line-color, hsla(var(--ig-gray-500), var(--ig-gray-a)));\n --hover-bottom-line-color: var(--ig-input-hover-bottom-line-color, hsla(var(--ig-gray-800), var(--ig-gray-a)));\n --focused-bottom-line-color: var(--ig-input-focused-bottom-line-color, hsla(var(--ig-primary-500), var(--ig-primary-a)));\n --interim-bottom-line-color: var(--ig-input-interim-bottom-line-color, hsla(var(--ig-primary-500), var(--ig-primary-a)));\n --disabled-bottom-line-color: var(--ig-input-disabled-bottom-line-color, hsla(var(--ig-gray-500), var(--ig-gray-a)));\n --disabled-border-color: var(--ig-input-disabled-border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --border-color: var(--ig-input-border-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n --hover-border-color: var(--ig-input-hover-border-color, hsla(var(--ig-gray-900), var(--ig-gray-a)));\n --focused-border-color: var(--ig-input-focused-border-color, hsla(var(--ig-primary-500), var(--ig-primary-a)));\n --border-background: var(--ig-input-border-background, transparent);\n --border-disabled-background: var(--ig-input-border-disabled-background, hsla(var(--ig-gray-100), var(--ig-gray-a)));\n --search-background: var(--ig-input-search-background, hsla(var(--ig-gray-50), var(--ig-gray-a)));\n --search-disabled-background: var(--ig-input-search-disabled-background, hsla(var(--ig-gray-100), var(--ig-gray-a)));\n --success-secondary-color: var(--ig-input-success-secondary-color, hsla(var(--ig-success-500), var(--ig-success-a)));\n --warning-secondary-color: var(--ig-input-warning-secondary-color, hsla(var(--ig-warn-500), var(--ig-warn-a)));\n --error-secondary-color: var(--ig-input-error-secondary-color, hsla(var(--ig-error-500), var(--ig-error-a)));\n --placeholder-color: var(--ig-input-placeholder-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n --disabled-placeholder-color: var(--ig-input-disabled-placeholder-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n --box-background: var(--ig-input-box-background, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n --box-background-hover: var(--ig-input-box-background-hover, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n --box-background-focus: var(--ig-input-box-background-focus, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --box-disabled-background: var(--ig-input-box-disabled-background, hsla(var(--ig-gray-100), var(--ig-gray-a)));\n --box-border-radius: var(--ig-input-box-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));\n --border-border-radius: var(--ig-input-border-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));\n --search-border-radius: var(--ig-input-search-border-radius, 0.25rem, 0rem, 1.25rem);\n --success-shadow-color: var(--ig-input-success-shadow-color, hsla(var(--ig-success-500), 0.38));\n --error-shadow-color: var(--ig-input-error-shadow-color, hsla(var(--ig-error-500), 0.38));\n --size: var(--ig-input-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.375rem, -1 * 2.375rem), var(--is-small, 1) * max(1.9375rem, -1 * 1.9375rem)));\n --toggle-button-background-focus--border: var(--ig-select-toggle-button-background-focus--border, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --toggle-button-background: var(--ig-select-toggle-button-background, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --toggle-button-background-focus: var(--ig-select-toggle-button-background-focus, hsla(var(--ig-gray-400), 0.3));\n --toggle-button-foreground: var(--ig-select-toggle-button-foreground, hsla(var(--ig-gray-800), var(--ig-gray-a)));\n --toggle-button-foreground-focus: var(--ig-select-toggle-button-foreground-focus, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n --toggle-button-foreground-filled: var(--ig-select-toggle-button-foreground-filled, hsla(var(--ig-gray-800), var(--ig-gray-a)));\n --toggle-button-background-disabled: var(--ig-select-toggle-button-background-disabled, hsla(var(--ig-gray-100), var(--ig-gray-a)));\n --toggle-button-foreground-disabled: var(--ig-select-toggle-button-foreground-disabled, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n --toggle-button-foreground--focus: var(--ig-select-toggle-button-foreground--focus, hsla(var(--ig-gray-800), var(--ig-gray-a)));\n --elevation: var(--ig-drop-down-elevation, var(--ig-elevation-0));\n --background-color: var(--ig-drop-down-background-color, hsla(var(--ig-surface-500), var(--ig-surface-a)));\n --header-text-color: var(--ig-drop-down-header-text-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n --item-text-color: var(--ig-drop-down-item-text-color, hsla(var(--ig-gray-800), var(--ig-gray-a)));\n --hover-item-text-color: var(--ig-drop-down-hover-item-text-color, hsla(var(--ig-gray-800), var(--ig-gray-a)));\n --hover-item-background: var(--ig-drop-down-hover-item-background, hsla(var(--ig-gray-100), var(--ig-gray-a)));\n --focused-item-background: var(--ig-drop-down-focused-item-background, hsla(var(--ig-primary-500), var(--ig-primary-a)));\n --focused-item-text-color: var(--ig-drop-down-focused-item-text-color, var(--ig-primary-600-contrast));\n --selected-item-background: var(--ig-drop-down-selected-item-background, hsla(var(--ig-primary-500), var(--ig-primary-a)));\n --selected-item-text-color: var(--ig-drop-down-selected-item-text-color, var(--ig-primary-600-contrast));\n --selected-hover-item-background: var(--ig-drop-down-selected-hover-item-background, hsla(var(--ig-primary-600), var(--ig-primary-a)));\n --selected-hover-item-text-color: var(--ig-drop-down-selected-hover-item-text-color, var(--ig-primary-600-contrast));\n --selected-focus-item-background: var(--ig-drop-down-selected-focus-item-background, hsla(var(--ig-primary-600), var(--ig-primary-a)));\n --selected-focus-item-text-color: var(--ig-drop-down-selected-focus-item-text-color, var(--ig-primary-600-contrast));\n --disabled-item-background: var(--ig-drop-down-disabled-item-background, hsla(var(--ig-gray-50), 0));\n --disabled-item-text-color: var(--ig-drop-down-disabled-item-text-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n --border-color: var(--ig-drop-down-border-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n --border-width: var(--ig-drop-down-border-width, 1px);\n --border-radius: var(--ig-drop-down-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.2) * 1.25rem), 1.25rem));\n --item-border-radius: var(--ig-drop-down-item-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));\n --size: var(--ig-drop-down-size, max(var(--is-large, 1) * max(2.5rem, -1 * 2.5rem), var(--is-medium, 1) * max(2rem, -1 * 2rem), var(--is-small, 1) * max(1.75rem, -1 * 1.75rem)));\n}\n:host [part=helper-text] {\n margin-top: 0.25rem;\n}\n:host ::slotted([slot=helper-text]) {\n font-family: var(--ig-body-2-font-family, var(--ig-font-family));\n font-size: var(--ig-body-2-font-size);\n font-weight: var(--ig-body-2-font-weight);\n font-style: var(--ig-body-2-font-style);\n line-height: var(--ig-body-2-line-height);\n letter-spacing: var(--ig-body-2-letter-spacing);\n text-transform: var(--ig-body-2-text-transform);\n margin-top: var(--ig-body-2-margin-top);\n margin-bottom: var(--ig-body-2-margin-bottom);\n color: var(--helper-text-color);\n}\n\n[part=base] {\n background: var(--background-color);\n border-radius: var(--border-radius);\n padding: 0.5rem 0;\n border: 0.0625rem solid var(--border-color);\n}\n\n[part~=toggle-icon] {\n background: var(--toggle-button-background);\n color: var(--toggle-button-foreground);\n}\n[part~=toggle-icon] igc-icon {\n color: inherit;\n}\n\n:host(:focus-within) igc-input[readonly]:not([disabled])::part(input) {\n -webkit-box-shadow: 0 0 0 0.25rem var(--focused-secondary-color);\n box-shadow: 0 0 0 0.25rem var(--focused-secondary-color);\n border-color: var(--focused-border-color);\n}\n:host(:focus-within) [part~=toggle-icon] {\n background: var(--toggle-button-background-focus--border);\n color: var(--toggle-button-foreground-focus);\n}\n:host(:focus-within) [part~=toggle-icon] igc-icon {\n color: inherit;\n}\n\n:host([invalid]) igc-input[readonly]:not([disabled])::part(input),\n:host([invalid]:focus-within) igc-input[readonly]:not([disabled])::part(input) {\n -webkit-box-shadow: 0 0 0 0.25rem var(--error-shadow-color);\n box-shadow: 0 0 0 0.25rem var(--error-shadow-color);\n border-color: var(--error-secondary-color);\n}\n\n:host([invalid]) ::slotted([slot=helper-text]) {\n color: var(--error-secondary-color);\n}\n\n:host([disabled]) ::slotted([slot=helper-text]),\n:host(:disabled) ::slotted([slot=helper-text]) {\n color: var(--disabled-text-color);\n}\n:host([disabled]) [part~=toggle-icon],\n:host(:disabled) [part~=toggle-icon] {\n background: var(--toggle-button-background-disabled);\n color: var(--toggle-button-foreground-disabled);\n}\n:host([disabled]) [part~=toggle-icon] igc-icon,\n:host(:disabled) [part~=toggle-icon] igc-icon {\n color: inherit;\n}`;\n"]}