igniteui-webcomponents 6.1.1 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/LICENSE +1 -1
  3. package/README.md +13 -1
  4. package/animations/player.d.ts +1 -1
  5. package/animations/player.js.map +1 -1
  6. package/components/calendar/calendar.d.ts +1 -0
  7. package/components/calendar/calendar.js +5 -8
  8. package/components/calendar/calendar.js.map +1 -1
  9. package/components/calendar/themes/calendar.base.css.js +1 -1
  10. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  11. package/components/calendar/themes/dark/calendar.bootstrap.css.js +1 -1
  12. package/components/calendar/themes/dark/calendar.bootstrap.css.js.map +1 -1
  13. package/components/calendar/themes/dark/calendar.fluent.css.js +1 -1
  14. package/components/calendar/themes/dark/calendar.fluent.css.js.map +1 -1
  15. package/components/calendar/themes/dark/calendar.indigo.css.js +1 -1
  16. package/components/calendar/themes/dark/calendar.indigo.css.js.map +1 -1
  17. package/components/calendar/themes/dark/calendar.material.css.js +1 -1
  18. package/components/calendar/themes/dark/calendar.material.css.js.map +1 -1
  19. package/components/calendar/themes/light/calendar.bootstrap.css.js +1 -1
  20. package/components/calendar/themes/light/calendar.bootstrap.css.js.map +1 -1
  21. package/components/calendar/themes/light/calendar.fluent.css.js +1 -1
  22. package/components/calendar/themes/light/calendar.fluent.css.js.map +1 -1
  23. package/components/calendar/themes/light/calendar.indigo.css.js +1 -1
  24. package/components/calendar/themes/light/calendar.indigo.css.js.map +1 -1
  25. package/components/calendar/themes/light/calendar.material.css.js +1 -1
  26. package/components/calendar/themes/light/calendar.material.css.js.map +1 -1
  27. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js +1 -1
  28. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js.map +1 -1
  29. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js +1 -1
  30. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js.map +1 -1
  31. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js +1 -1
  32. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js.map +1 -1
  33. package/components/calendar/themes/shared/material/calendar.material.css.js +1 -1
  34. package/components/calendar/themes/shared/material/calendar.material.css.js.map +1 -1
  35. package/components/card/themes/content.js +7 -0
  36. package/components/card/themes/content.js.map +1 -1
  37. package/components/card/themes/shared/content/card.content.indigo.css.d.ts +1 -0
  38. package/components/card/themes/shared/content/card.content.indigo.css.js +3 -0
  39. package/components/card/themes/shared/content/card.content.indigo.css.js.map +1 -0
  40. package/components/carousel/carousel-indicator.d.ts +1 -1
  41. package/components/carousel/carousel-indicator.js.map +1 -1
  42. package/components/carousel/carousel-slide.d.ts +3 -3
  43. package/components/carousel/carousel-slide.js +7 -13
  44. package/components/carousel/carousel-slide.js.map +1 -1
  45. package/components/carousel/carousel.d.ts +41 -42
  46. package/components/carousel/carousel.js +173 -187
  47. package/components/carousel/carousel.js.map +1 -1
  48. package/components/checkbox/checkbox-base.d.ts +3 -5
  49. package/components/checkbox/checkbox-base.js +15 -21
  50. package/components/checkbox/checkbox-base.js.map +1 -1
  51. package/components/checkbox/checkbox.d.ts +3 -4
  52. package/components/checkbox/checkbox.js +18 -17
  53. package/components/checkbox/checkbox.js.map +1 -1
  54. package/components/checkbox/switch.d.ts +0 -1
  55. package/components/checkbox/switch.js +7 -10
  56. package/components/checkbox/switch.js.map +1 -1
  57. package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js +1 -1
  58. package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js.map +1 -1
  59. package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js +1 -1
  60. package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js.map +1 -1
  61. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
  62. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
  63. package/components/checkbox/themes/shared/checkbox/checkbox.common.css.js +1 -1
  64. package/components/checkbox/themes/shared/checkbox/checkbox.common.css.js.map +1 -1
  65. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js +1 -1
  66. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js.map +1 -1
  67. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js +1 -1
  68. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js.map +1 -1
  69. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js +1 -1
  70. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js.map +1 -1
  71. package/components/chip/chip.d.ts +11 -11
  72. package/components/chip/chip.js +61 -65
  73. package/components/chip/chip.js.map +1 -1
  74. package/components/combo/combo.d.ts +3 -3
  75. package/components/combo/combo.js +12 -6
  76. package/components/combo/combo.js.map +1 -1
  77. package/components/combo/themes/dark/combo.bootstrap.css.js +1 -1
  78. package/components/combo/themes/dark/combo.bootstrap.css.js.map +1 -1
  79. package/components/combo/themes/light/combo.bootstrap.css.js +1 -1
  80. package/components/combo/themes/light/combo.bootstrap.css.js.map +1 -1
  81. package/components/combo/themes/light/combo.shared.css.js +1 -1
  82. package/components/combo/themes/light/combo.shared.css.js.map +1 -1
  83. package/components/combo/themes/shared/combo.common.css.js +1 -1
  84. package/components/combo/themes/shared/combo.common.css.js.map +1 -1
  85. package/components/combo/themes/shared/combo.indigo.css.js +1 -1
  86. package/components/combo/themes/shared/combo.indigo.css.js.map +1 -1
  87. package/components/combo/themes/shared/combo.material.css.js +1 -1
  88. package/components/combo/themes/shared/combo.material.css.js.map +1 -1
  89. package/components/common/controllers/internals.d.ts +66 -2
  90. package/components/common/controllers/internals.js +21 -0
  91. package/components/common/controllers/internals.js.map +1 -1
  92. package/components/common/controllers/slot.d.ts +87 -0
  93. package/components/common/controllers/slot.js +75 -0
  94. package/components/common/controllers/slot.js.map +1 -0
  95. package/components/common/mixins/alert.d.ts +7 -8
  96. package/components/common/mixins/alert.js +23 -34
  97. package/components/common/mixins/alert.js.map +1 -1
  98. package/components/common/mixins/forms/associated.d.ts +1 -1
  99. package/components/common/mixins/forms/associated.js +91 -36
  100. package/components/common/mixins/forms/associated.js.map +1 -1
  101. package/components/common/mixins/forms/form-transformers.d.ts +21 -0
  102. package/components/common/mixins/forms/form-transformers.js +64 -0
  103. package/components/common/mixins/forms/form-transformers.js.map +1 -0
  104. package/components/common/mixins/forms/form-value.d.ts +7 -36
  105. package/components/common/mixins/forms/form-value.js +2 -64
  106. package/components/common/mixins/forms/form-value.js.map +1 -1
  107. package/components/common/mixins/forms/types.d.ts +19 -10
  108. package/components/common/mixins/forms/types.js +2 -1
  109. package/components/common/mixins/forms/types.js.map +1 -1
  110. package/components/common/util.d.ts +1 -0
  111. package/components/common/util.js +3 -0
  112. package/components/common/util.js.map +1 -1
  113. package/components/date-picker/date-picker.d.ts +1 -3
  114. package/components/date-picker/date-picker.js +11 -13
  115. package/components/date-picker/date-picker.js.map +1 -1
  116. package/components/date-picker/themes/dark/date-picker.bootstrap.css.js +1 -1
  117. package/components/date-picker/themes/dark/date-picker.bootstrap.css.js.map +1 -1
  118. package/components/date-picker/themes/dark/date-picker.fluent.css.js +1 -1
  119. package/components/date-picker/themes/dark/date-picker.fluent.css.js.map +1 -1
  120. package/components/date-picker/themes/dark/date-picker.indigo.css.js +1 -1
  121. package/components/date-picker/themes/dark/date-picker.indigo.css.js.map +1 -1
  122. package/components/date-picker/themes/dark/date-picker.material.css.js +1 -1
  123. package/components/date-picker/themes/dark/date-picker.material.css.js.map +1 -1
  124. package/components/date-picker/themes/light/date-picker.bootstrap.css.js +1 -1
  125. package/components/date-picker/themes/light/date-picker.bootstrap.css.js.map +1 -1
  126. package/components/date-picker/themes/light/date-picker.fluent.css.js +1 -1
  127. package/components/date-picker/themes/light/date-picker.fluent.css.js.map +1 -1
  128. package/components/date-picker/themes/light/date-picker.indigo.css.js +1 -1
  129. package/components/date-picker/themes/light/date-picker.indigo.css.js.map +1 -1
  130. package/components/date-picker/themes/light/date-picker.material.css.js +1 -1
  131. package/components/date-picker/themes/light/date-picker.material.css.js.map +1 -1
  132. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js +1 -1
  133. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js.map +1 -1
  134. package/components/date-picker/themes/shared/date-picker.common.css.js +1 -1
  135. package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -1
  136. package/components/date-picker/themes/shared/date-picker.fluent.css.js +1 -1
  137. package/components/date-picker/themes/shared/date-picker.fluent.css.js.map +1 -1
  138. package/components/date-picker/themes/shared/date-picker.indigo.css.js +1 -1
  139. package/components/date-picker/themes/shared/date-picker.indigo.css.js.map +1 -1
  140. package/components/date-picker/themes/shared/date-picker.material.css.js +1 -1
  141. package/components/date-picker/themes/shared/date-picker.material.css.js.map +1 -1
  142. package/components/date-range-picker/date-range-picker.d.ts +1 -3
  143. package/components/date-range-picker/date-range-picker.js +19 -26
  144. package/components/date-range-picker/date-range-picker.js.map +1 -1
  145. package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.js +1 -1
  146. package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.js.map +1 -1
  147. package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.js +1 -1
  148. package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.js.map +1 -1
  149. package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js +1 -1
  150. package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js.map +1 -1
  151. package/components/date-range-picker/themes/dark/date-range-picker.material.css.js +1 -1
  152. package/components/date-range-picker/themes/dark/date-range-picker.material.css.js.map +1 -1
  153. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js +1 -1
  154. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js.map +1 -1
  155. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js +1 -1
  156. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js.map +1 -1
  157. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js +1 -1
  158. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js.map +1 -1
  159. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js +1 -1
  160. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js.map +1 -1
  161. package/components/date-range-picker/themes/shared/date-range-picker.material.css.js +1 -1
  162. package/components/date-range-picker/themes/shared/date-range-picker.material.css.js.map +1 -1
  163. package/components/date-time-input/date-time-input.d.ts +1 -2
  164. package/components/date-time-input/date-time-input.js +7 -7
  165. package/components/date-time-input/date-time-input.js.map +1 -1
  166. package/components/dialog/dialog.d.ts +23 -25
  167. package/components/dialog/dialog.js +108 -115
  168. package/components/dialog/dialog.js.map +1 -1
  169. package/components/dialog/themes/dark/dialog.bootstrap.css.js +1 -1
  170. package/components/dialog/themes/dark/dialog.bootstrap.css.js.map +1 -1
  171. package/components/expansion-panel/expansion-panel.d.ts +12 -14
  172. package/components/expansion-panel/expansion-panel.js +43 -56
  173. package/components/expansion-panel/expansion-panel.js.map +1 -1
  174. package/components/file-input/file-input.d.ts +1 -3
  175. package/components/file-input/file-input.js +6 -11
  176. package/components/file-input/file-input.js.map +1 -1
  177. package/components/file-input/themes/dark/file-input.bootstrap.css.d.ts +1 -0
  178. package/components/file-input/themes/dark/file-input.bootstrap.css.js +3 -0
  179. package/components/file-input/themes/dark/file-input.bootstrap.css.js.map +1 -0
  180. package/components/file-input/themes/dark/file-input.fluent.css.d.ts +1 -0
  181. package/components/file-input/themes/dark/file-input.fluent.css.js +3 -0
  182. package/components/file-input/themes/dark/file-input.fluent.css.js.map +1 -0
  183. package/components/file-input/themes/dark/file-input.indigo.css.d.ts +1 -0
  184. package/components/file-input/themes/dark/file-input.indigo.css.js +3 -0
  185. package/components/file-input/themes/dark/file-input.indigo.css.js.map +1 -0
  186. package/components/file-input/themes/dark/file-input.material.css.d.ts +1 -0
  187. package/components/file-input/themes/dark/file-input.material.css.js +3 -0
  188. package/components/file-input/themes/dark/file-input.material.css.js.map +1 -0
  189. package/components/file-input/themes/file-input.base.css.js +1 -1
  190. package/components/file-input/themes/file-input.base.css.js.map +1 -1
  191. package/components/file-input/themes/light/file-input.bootstrap.css.d.ts +1 -0
  192. package/components/file-input/themes/light/file-input.bootstrap.css.js +3 -0
  193. package/components/file-input/themes/light/file-input.bootstrap.css.js.map +1 -0
  194. package/components/file-input/themes/light/file-input.fluent.css.d.ts +1 -0
  195. package/components/file-input/themes/light/file-input.fluent.css.js +3 -0
  196. package/components/file-input/themes/light/file-input.fluent.css.js.map +1 -0
  197. package/components/file-input/themes/light/file-input.indigo.css.d.ts +1 -0
  198. package/components/file-input/themes/light/file-input.indigo.css.js +3 -0
  199. package/components/file-input/themes/light/file-input.indigo.css.js.map +1 -0
  200. package/components/file-input/themes/light/file-input.material.css.d.ts +1 -0
  201. package/components/file-input/themes/light/file-input.material.css.js +3 -0
  202. package/components/file-input/themes/light/file-input.material.css.js.map +1 -0
  203. package/components/file-input/themes/light/file-input.shared.css.d.ts +1 -0
  204. package/components/file-input/themes/light/file-input.shared.css.js +3 -0
  205. package/components/file-input/themes/light/file-input.shared.css.js.map +1 -0
  206. package/components/file-input/themes/shared/file-input.bootstrap.css.js +1 -1
  207. package/components/file-input/themes/shared/file-input.bootstrap.css.js.map +1 -1
  208. package/components/file-input/themes/shared/file-input.indigo.css.js +1 -1
  209. package/components/file-input/themes/shared/file-input.indigo.css.js.map +1 -1
  210. package/components/file-input/themes/shared/file-input.material.css.js +1 -1
  211. package/components/file-input/themes/shared/file-input.material.css.js.map +1 -1
  212. package/components/file-input/themes/themes.js +19 -0
  213. package/components/file-input/themes/themes.js.map +1 -1
  214. package/components/input/input.d.ts +1 -4
  215. package/components/input/input.js +7 -12
  216. package/components/input/input.js.map +1 -1
  217. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  218. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  219. package/components/input/themes/shared/input.common.css.js +1 -1
  220. package/components/input/themes/shared/input.common.css.js.map +1 -1
  221. package/components/input/themes/shared/input.fluent.css.js +1 -1
  222. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  223. package/components/input/themes/shared/input.indigo.css.js +1 -1
  224. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  225. package/components/input/themes/shared/input.material.css.js +1 -1
  226. package/components/input/themes/shared/input.material.css.js.map +1 -1
  227. package/components/mask-input/mask-input-base.js +1 -0
  228. package/components/mask-input/mask-input-base.js.map +1 -1
  229. package/components/mask-input/mask-input.d.ts +2 -3
  230. package/components/mask-input/mask-input.js +5 -8
  231. package/components/mask-input/mask-input.js.map +1 -1
  232. package/components/nav-drawer/nav-drawer-item.d.ts +3 -4
  233. package/components/nav-drawer/nav-drawer-item.js +15 -18
  234. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  235. package/components/nav-drawer/nav-drawer.d.ts +1 -2
  236. package/components/nav-drawer/nav-drawer.js +9 -11
  237. package/components/nav-drawer/nav-drawer.js.map +1 -1
  238. package/components/nav-drawer/themes/container.base.css.js +1 -1
  239. package/components/nav-drawer/themes/container.base.css.js.map +1 -1
  240. package/components/nav-drawer/themes/shared/container/nav-drawer.common.css.js +1 -1
  241. package/components/nav-drawer/themes/shared/container/nav-drawer.common.css.js.map +1 -1
  242. package/components/popover/popover.d.ts +17 -16
  243. package/components/popover/popover.js +81 -91
  244. package/components/popover/popover.js.map +1 -1
  245. package/components/progress/base.d.ts +8 -8
  246. package/components/progress/base.js +19 -23
  247. package/components/progress/base.js.map +1 -1
  248. package/components/progress/circular-gradient.js.map +1 -1
  249. package/components/progress/circular-progress.d.ts +3 -4
  250. package/components/progress/circular-progress.js +15 -18
  251. package/components/progress/circular-progress.js.map +1 -1
  252. package/components/progress/linear-progress.d.ts +1 -0
  253. package/components/progress/linear-progress.js +5 -1
  254. package/components/progress/linear-progress.js.map +1 -1
  255. package/components/radio/radio.d.ts +3 -5
  256. package/components/radio/radio.js +33 -31
  257. package/components/radio/radio.js.map +1 -1
  258. package/components/radio/themes/dark/radio.fluent.css.js +1 -1
  259. package/components/radio/themes/dark/radio.fluent.css.js.map +1 -1
  260. package/components/radio/themes/shared/radio.bootstrap.css.js +1 -1
  261. package/components/radio/themes/shared/radio.bootstrap.css.js.map +1 -1
  262. package/components/radio/themes/shared/radio.common.css.js +1 -1
  263. package/components/radio/themes/shared/radio.common.css.js.map +1 -1
  264. package/components/radio/themes/shared/radio.fluent.css.js +1 -1
  265. package/components/radio/themes/shared/radio.fluent.css.js.map +1 -1
  266. package/components/radio/themes/shared/radio.indigo.css.js +1 -1
  267. package/components/radio/themes/shared/radio.indigo.css.js.map +1 -1
  268. package/components/radio/themes/shared/radio.material.css.js +1 -1
  269. package/components/radio/themes/shared/radio.material.css.js.map +1 -1
  270. package/components/radio-group/radio-group.d.ts +4 -4
  271. package/components/radio-group/radio-group.js +24 -21
  272. package/components/radio-group/radio-group.js.map +1 -1
  273. package/components/rating/rating.d.ts +1 -2
  274. package/components/rating/rating.js +4 -3
  275. package/components/rating/rating.js.map +1 -1
  276. package/components/select/select.d.ts +35 -38
  277. package/components/select/select.js +138 -146
  278. package/components/select/select.js.map +1 -1
  279. package/components/select/themes/shared/select.bootstrap.css.js +1 -1
  280. package/components/select/themes/shared/select.bootstrap.css.js.map +1 -1
  281. package/components/select/themes/shared/select.common.css.js +1 -1
  282. package/components/select/themes/shared/select.common.css.js.map +1 -1
  283. package/components/select/themes/shared/select.fluent.css.js +1 -1
  284. package/components/select/themes/shared/select.fluent.css.js.map +1 -1
  285. package/components/select/themes/shared/select.indigo.css.js +1 -1
  286. package/components/select/themes/shared/select.indigo.css.js.map +1 -1
  287. package/components/select/themes/shared/select.material.css.js +1 -1
  288. package/components/select/themes/shared/select.material.css.js.map +1 -1
  289. package/components/slider/slider-label.js.map +1 -1
  290. package/components/slider/slider.d.ts +1 -2
  291. package/components/slider/slider.js +5 -2
  292. package/components/slider/slider.js.map +1 -1
  293. package/components/snackbar/snackbar.d.ts +3 -5
  294. package/components/snackbar/snackbar.js +5 -5
  295. package/components/snackbar/snackbar.js.map +1 -1
  296. package/components/stepper/stepper.d.ts +1 -0
  297. package/components/stepper/stepper.js +9 -0
  298. package/components/stepper/stepper.js.map +1 -1
  299. package/components/textarea/textarea.d.ts +13 -20
  300. package/components/textarea/textarea.js +66 -90
  301. package/components/textarea/textarea.js.map +1 -1
  302. package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
  303. package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
  304. package/components/textarea/themes/shared/textarea.common.css.js +1 -1
  305. package/components/textarea/themes/shared/textarea.common.css.js.map +1 -1
  306. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  307. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  308. package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
  309. package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
  310. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  311. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  312. package/components/tile-manager/position.js +2 -1
  313. package/components/tile-manager/position.js.map +1 -1
  314. package/components/tile-manager/tile.d.ts +8 -12
  315. package/components/tile-manager/tile.js +16 -37
  316. package/components/tile-manager/tile.js.map +1 -1
  317. package/components/toast/toast.d.ts +1 -2
  318. package/components/toast/toast.js +1 -1
  319. package/components/toast/toast.js.map +1 -1
  320. package/components/validation-container/validation-container.d.ts +9 -6
  321. package/components/validation-container/validation-container.js +56 -38
  322. package/components/validation-container/validation-container.js.map +1 -1
  323. package/custom-elements.json +9595 -6648
  324. package/igniteui-webcomponents.css-data.json +1 -1
  325. package/igniteui-webcomponents.html-data.json +1 -1
  326. package/package.json +1 -1
  327. package/web-types.json +2 -2
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--elevation: var(--ig-dialog-elevation, var(--ig-elevation-0));--background: var(--ig-dialog-background, var(--ig-surface-500));--title-color: var(--ig-dialog-title-color, var(--ig-gray-900));--border-color: var(--ig-dialog-border-color, var(--ig-gray-100));--backdrop: var(--ig-dialog-backdrop, hsl(from var(--ig-gray-500) h s l/0.54));--border-radius: var(--ig-dialog-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1111111111) * 2.25rem), 2.25rem));--default-size: var(--ig-dialog-default-size, 2);--ig-theme: bootstrap}`;
2
+ export const styles = css `:host{--elevation: var(--ig-dialog-elevation, var(--ig-elevation-0));--background: var(--ig-dialog-background, var(--ig-surface-500));--title-color: var(--ig-dialog-title-color, var(--ig-gray-900));--border-color: var(--ig-dialog-border-color, var(--ig-gray-300));--backdrop: var(--ig-dialog-backdrop, hsl(from var(--ig-gray-500) h s l/0.54));--border-radius: var(--ig-dialog-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1111111111) * 2.25rem), 2.25rem));--default-size: var(--ig-dialog-default-size, 2);--ig-theme: bootstrap}`;
3
3
  //# sourceMappingURL=dialog.bootstrap.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/dialog/themes/dark/dialog.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,6hBAA6hB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--elevation: var(--ig-dialog-elevation, var(--ig-elevation-0));--background: var(--ig-dialog-background, var(--ig-surface-500));--title-color: var(--ig-dialog-title-color, var(--ig-gray-900));--border-color: var(--ig-dialog-border-color, var(--ig-gray-100));--backdrop: var(--ig-dialog-backdrop, hsl(from var(--ig-gray-500) h s l/0.54));--border-radius: var(--ig-dialog-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1111111111) * 2.25rem), 2.25rem));--default-size: var(--ig-dialog-default-size, 2);--ig-theme: bootstrap}`;\n"]}
1
+ {"version":3,"file":"dialog.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/dialog/themes/dark/dialog.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,6hBAA6hB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--elevation: var(--ig-dialog-elevation, var(--ig-elevation-0));--background: var(--ig-dialog-background, var(--ig-surface-500));--title-color: var(--ig-dialog-title-color, var(--ig-gray-900));--border-color: var(--ig-dialog-border-color, var(--ig-gray-300));--backdrop: var(--ig-dialog-backdrop, hsl(from var(--ig-gray-500) h s l/0.54));--border-radius: var(--ig-dialog-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1111111111) * 2.25rem), 2.25rem));--default-size: var(--ig-dialog-default-size, 2);--ig-theme: bootstrap}`;\n"]}
@@ -36,12 +36,11 @@ export default class IgcExpansionPanelComponent extends IgcExpansionPanelCompone
36
36
  static readonly tagName = "igc-expansion-panel";
37
37
  static styles: import("lit").CSSResult[];
38
38
  static register(): void;
39
- private static readonly increment;
40
39
  private _panelId;
41
- private headerRef;
42
- private contentRef;
43
- private animationPlayer;
44
- private _indicatorExpandedElements;
40
+ private readonly _headerRef;
41
+ private readonly _contentRef;
42
+ private readonly _player;
43
+ private readonly _slots;
45
44
  /**
46
45
  * Indicates whether the contents of the control should be visible.
47
46
  * @attr
@@ -58,22 +57,21 @@ export default class IgcExpansionPanelComponent extends IgcExpansionPanelCompone
58
57
  */
59
58
  indicatorPosition: ExpansionPanelIndicatorPosition;
60
59
  constructor();
61
- protected createRenderRoot(): HTMLElement | DocumentFragment;
62
60
  connectedCallback(): void;
63
- private handleClick;
64
- private toggleWithEvent;
65
- private toggleAnimation;
66
- private openWithEvent;
67
- private closeWithEvent;
61
+ private _handleClick;
62
+ private _toggleWithEvent;
63
+ private _toggleAnimation;
64
+ private _openWithEvent;
65
+ private _closeWithEvent;
68
66
  /** Toggles the panel open/close state. */
69
67
  toggle(): Promise<boolean>;
70
68
  /** Hides the panel content. */
71
69
  hide(): Promise<boolean>;
72
70
  /** Shows the panel content. */
73
71
  show(): Promise<boolean>;
74
- private renderIndicatorTemplate;
75
- private renderHeaderTemplate;
76
- private renderContentTemplate;
72
+ private _renderIndicator;
73
+ private _renderHeader;
74
+ private _renderPanel;
77
75
  protected render(): import("lit-html").TemplateResult<1>;
78
76
  }
79
77
  declare global {
@@ -5,84 +5,82 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { html, LitElement, nothing } from 'lit';
8
- import { property, queryAssignedElements } from 'lit/decorators.js';
8
+ import { property } from 'lit/decorators.js';
9
9
  import { createRef, ref } from 'lit/directives/ref.js';
10
10
  import { addAnimationController } from '../../animations/player.js';
11
11
  import { growVerIn, growVerOut } from '../../animations/presets/grow/index.js';
12
12
  import { addThemingController } from '../../theming/theming-controller.js';
13
13
  import { addKeybindings, altKey, arrowDown, arrowUp, } from '../common/controllers/key-bindings.js';
14
+ import { addSlotController, setSlots } from '../common/controllers/slot.js';
14
15
  import { registerComponent } from '../common/definitions/register.js';
15
16
  import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
16
- import { createCounter, isEmpty } from '../common/util.js';
17
17
  import IgcIconComponent from '../icon/icon.js';
18
18
  import { styles } from './themes/expansion-panel.base.css.js';
19
19
  import { styles as shared } from './themes/shared/expansion-panel.common.css.js';
20
20
  import { all } from './themes/themes.js';
21
+ let nextId = 1;
21
22
  class IgcExpansionPanelComponent extends EventEmitterMixin(LitElement) {
22
23
  static register() {
23
24
  registerComponent(IgcExpansionPanelComponent, IgcIconComponent);
24
25
  }
25
26
  constructor() {
26
27
  super();
27
- this.headerRef = createRef();
28
- this.contentRef = createRef();
29
- this.animationPlayer = addAnimationController(this, this.contentRef);
28
+ this._panelId = `${IgcExpansionPanelComponent.tagName}-${nextId++}`;
29
+ this._headerRef = createRef();
30
+ this._contentRef = createRef();
31
+ this._player = addAnimationController(this, this._contentRef);
32
+ this._slots = addSlotController(this, {
33
+ slots: setSlots('title', 'subtitle', 'indicator', 'indicator-expanded'),
34
+ });
30
35
  this.open = false;
31
36
  this.disabled = false;
32
37
  this.indicatorPosition = 'start';
33
38
  addThemingController(this, all);
34
39
  addKeybindings(this, {
35
- ref: this.headerRef,
40
+ ref: this._headerRef,
36
41
  skip: () => this.disabled,
37
42
  bindingDefaults: { preventDefault: true },
38
43
  })
39
- .setActivateHandler(this.toggleWithEvent)
40
- .set([altKey, arrowDown], this.openWithEvent)
41
- .set([altKey, arrowUp], this.closeWithEvent);
42
- }
43
- createRenderRoot() {
44
- const root = super.createRenderRoot();
45
- root.addEventListener('slotchange', () => this.requestUpdate());
46
- return root;
44
+ .setActivateHandler(this._toggleWithEvent)
45
+ .set([altKey, arrowDown], this._openWithEvent)
46
+ .set([altKey, arrowUp], this._closeWithEvent);
47
47
  }
48
48
  connectedCallback() {
49
49
  super.connectedCallback();
50
- this._panelId =
51
- this.id ||
52
- `igc-expansion-panel-${IgcExpansionPanelComponent.increment()}`;
50
+ this._panelId = this.id || this._panelId;
53
51
  }
54
- handleClick() {
55
- this.headerRef.value.focus();
56
- this.toggleWithEvent();
52
+ _handleClick() {
53
+ this._headerRef.value.focus();
54
+ this._toggleWithEvent();
57
55
  }
58
- toggleWithEvent() {
59
- this.open ? this.closeWithEvent() : this.openWithEvent();
56
+ _toggleWithEvent() {
57
+ this.open ? this._closeWithEvent() : this._openWithEvent();
60
58
  }
61
- async toggleAnimation(dir) {
59
+ async _toggleAnimation(dir) {
62
60
  const animation = dir === 'open' ? growVerIn : growVerOut;
63
61
  const [_, event] = await Promise.all([
64
- this.animationPlayer.stopAll(),
65
- this.animationPlayer.play(animation()),
62
+ this._player.stopAll(),
63
+ this._player.play(animation()),
66
64
  ]);
67
65
  return event.type === 'finish';
68
66
  }
69
- async openWithEvent() {
67
+ async _openWithEvent() {
70
68
  if (this.open ||
71
69
  !this.emitEvent('igcOpening', { cancelable: true, detail: this })) {
72
70
  return;
73
71
  }
74
72
  this.open = true;
75
- if (await this.toggleAnimation('open')) {
73
+ if (await this._toggleAnimation('open')) {
76
74
  this.emitEvent('igcOpened', { detail: this });
77
75
  }
78
76
  }
79
- async closeWithEvent() {
77
+ async _closeWithEvent() {
80
78
  if (!(this.open &&
81
79
  this.emitEvent('igcClosing', { cancelable: true, detail: this }))) {
82
80
  return;
83
81
  }
84
82
  this.open = false;
85
- if (await this.toggleAnimation('close')) {
83
+ if (await this._toggleAnimation('close')) {
86
84
  this.emitEvent('igcClosed', { detail: this });
87
85
  }
88
86
  }
@@ -94,7 +92,7 @@ class IgcExpansionPanelComponent extends EventEmitterMixin(LitElement) {
94
92
  return false;
95
93
  }
96
94
  this.open = false;
97
- await this.toggleAnimation('close');
95
+ await this._toggleAnimation('close');
98
96
  return true;
99
97
  }
100
98
  async show() {
@@ -102,32 +100,25 @@ class IgcExpansionPanelComponent extends EventEmitterMixin(LitElement) {
102
100
  return false;
103
101
  }
104
102
  this.open = true;
105
- await this.toggleAnimation('open');
103
+ await this._toggleAnimation('open');
106
104
  return true;
107
105
  }
108
- renderIndicatorTemplate() {
109
- const indicatorHidden = this.open && this._indicatorExpandedElements.length > 0;
110
- const indicatorExpandedHidden = isEmpty(this._indicatorExpandedElements) || !this.open;
106
+ _renderIndicator() {
107
+ const iconName = this.open ? 'collapse' : 'expand';
108
+ const indicatorHidden = this.open && this._slots.hasAssignedElements('indicator-expanded');
111
109
  return html `
112
110
  <div part="indicator" aria-hidden="true">
113
111
  <slot name="indicator" ?hidden=${indicatorHidden}>
114
- <igc-icon
115
- name=${this.open ? 'collapse' : 'expand'}
116
- collection="default"
117
- >
118
- </igc-icon>
112
+ <igc-icon name=${iconName} collection="default"></igc-icon>
119
113
  </slot>
120
- <slot
121
- name="indicator-expanded"
122
- ?hidden=${indicatorExpandedHidden}
123
- ></slot>
114
+ <slot name="indicator-expanded" ?hidden=${!indicatorHidden}></slot>
124
115
  </div>
125
116
  `;
126
117
  }
127
- renderHeaderTemplate() {
118
+ _renderHeader() {
128
119
  return html `
129
120
  <div
130
- ${ref(this.headerRef)}
121
+ ${ref(this._headerRef)}
131
122
  part="header"
132
123
  id="${this._panelId}-header"
133
124
  role="button"
@@ -135,9 +126,9 @@ class IgcExpansionPanelComponent extends EventEmitterMixin(LitElement) {
135
126
  aria-disabled=${this.disabled}
136
127
  aria-controls="${this._panelId}-content"
137
128
  tabindex=${this.disabled ? '-1' : '0'}
138
- @click=${this.disabled ? nothing : this.handleClick}
129
+ @click=${this.disabled ? nothing : this._handleClick}
139
130
  >
140
- ${this.renderIndicatorTemplate()}
131
+ ${this._renderIndicator()}
141
132
  <div>
142
133
  <slot name="title" part="title"></slot>
143
134
  <slot name="subtitle" part="subtitle"></slot>
@@ -145,10 +136,10 @@ class IgcExpansionPanelComponent extends EventEmitterMixin(LitElement) {
145
136
  </div>
146
137
  `;
147
138
  }
148
- renderContentTemplate() {
139
+ _renderPanel() {
149
140
  return html `
150
141
  <div
151
- ${ref(this.contentRef)}
142
+ ${ref(this._contentRef)}
152
143
  part="content"
153
144
  role="region"
154
145
  id="${this._panelId}-content"
@@ -161,21 +152,17 @@ class IgcExpansionPanelComponent extends EventEmitterMixin(LitElement) {
161
152
  `;
162
153
  }
163
154
  render() {
164
- return html `${this.renderHeaderTemplate()}${this.renderContentTemplate()}`;
155
+ return html `${this._renderHeader()}${this._renderPanel()}`;
165
156
  }
166
157
  }
167
158
  IgcExpansionPanelComponent.tagName = 'igc-expansion-panel';
168
159
  IgcExpansionPanelComponent.styles = [styles, shared];
169
- IgcExpansionPanelComponent.increment = createCounter();
170
160
  export default IgcExpansionPanelComponent;
171
161
  __decorate([
172
- queryAssignedElements({ slot: 'indicator-expanded' })
173
- ], IgcExpansionPanelComponent.prototype, "_indicatorExpandedElements", void 0);
174
- __decorate([
175
- property({ reflect: true, type: Boolean })
162
+ property({ type: Boolean, reflect: true })
176
163
  ], IgcExpansionPanelComponent.prototype, "open", void 0);
177
164
  __decorate([
178
- property({ reflect: true, type: Boolean })
165
+ property({ type: Boolean, reflect: true })
179
166
  ], IgcExpansionPanelComponent.prototype, "disabled", void 0);
180
167
  __decorate([
181
168
  property({ reflect: true, attribute: 'indicator-position' })
@@ -1 +1 @@
1
- {"version":3,"file":"expansion-panel.js","sourceRoot":"","sources":["../../../src/components/expansion-panel/expansion-panel.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\nimport { createRef, type Ref, ref } from 'lit/directives/ref.js';\n\nimport { addAnimationController } from '../../animations/player.js';\nimport { growVerIn, growVerOut } from '../../animations/presets/grow/index.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport {\n addKeybindings,\n altKey,\n arrowDown,\n arrowUp,\n} from '../common/controllers/key-bindings.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { createCounter, isEmpty } from '../common/util.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport type { ExpansionPanelIndicatorPosition } from '../types.js';\nimport { styles } from './themes/expansion-panel.base.css.js';\nimport { styles as shared } from './themes/shared/expansion-panel.common.css.js';\nimport { all } from './themes/themes.js';\n\nexport interface IgcExpansionPanelComponentEventMap {\n igcOpening: CustomEvent<IgcExpansionPanelComponent>;\n igcOpened: CustomEvent<IgcExpansionPanelComponent>;\n igcClosing: CustomEvent<IgcExpansionPanelComponent>;\n igcClosed: CustomEvent<IgcExpansionPanelComponent>;\n}\n\n/**\n * The Expansion Panel Component provides a way to display information in a toggleable way -\n * compact summary view containing title and description and expanded detail view containing\n * additional content to the summary header.\n *\n * @element igc-expansion-panel\n *\n * @slot - renders the default content of the panel\n * @slot title - renders the title of the panel's header\n * @slot subtitle - renders the subtitle of the panel's header\n * @slot indicator - renders the expand/collapsed indicator\n * @slot indicator-expanded - renders the expanded state of the indicator\n *\n * @fires igcOpening - Emitted before opening the expansion panel.\n * @fires igcOpened - Emitted after the expansion panel is opened.\n * @fires igcClosing - Emitted before closing the expansion panel.\n * @fires igcClosed - Emitted after the expansion panel is closed.\n *\n * @csspart header - The container of the expansion indicator, title and subtitle.\n * @csspart title - The title container.\n * @csspart subtitle - The subtitle container.\n * @csspart indicator - The indicator container.\n * @csspart content - The expansion panel's content wrapper.\n */\nexport default class IgcExpansionPanelComponent extends EventEmitterMixin<\n IgcExpansionPanelComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-expansion-panel';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcExpansionPanelComponent, IgcIconComponent);\n }\n\n private static readonly increment = createCounter();\n\n private _panelId!: string;\n private headerRef: Ref<HTMLDivElement> = createRef();\n private contentRef: Ref<HTMLDivElement> = createRef();\n\n private animationPlayer = addAnimationController(this, this.contentRef);\n\n @queryAssignedElements({ slot: 'indicator-expanded' })\n private _indicatorExpandedElements!: HTMLElement[];\n\n /**\n * Indicates whether the contents of the control should be visible.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public open = false;\n\n /**\n * Get/Set whether the expansion panel is disabled. Disabled panels are ignored for user interactions.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public disabled = false;\n\n /**\n * The indicator position of the expansion panel.\n * @attr indicator-position\n */\n @property({ reflect: true, attribute: 'indicator-position' })\n public indicatorPosition: ExpansionPanelIndicatorPosition = 'start';\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n addKeybindings(this, {\n ref: this.headerRef,\n skip: () => this.disabled,\n bindingDefaults: { preventDefault: true },\n })\n .setActivateHandler(this.toggleWithEvent)\n .set([altKey, arrowDown], this.openWithEvent)\n .set([altKey, arrowUp], this.closeWithEvent);\n }\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this.requestUpdate());\n return root;\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n this._panelId =\n this.id ||\n `igc-expansion-panel-${IgcExpansionPanelComponent.increment()}`;\n }\n\n private handleClick() {\n this.headerRef.value!.focus();\n this.toggleWithEvent();\n }\n\n private toggleWithEvent() {\n this.open ? this.closeWithEvent() : this.openWithEvent();\n }\n\n private async toggleAnimation(dir: 'open' | 'close') {\n const animation = dir === 'open' ? growVerIn : growVerOut;\n\n const [_, event] = await Promise.all([\n this.animationPlayer.stopAll(),\n this.animationPlayer.play(animation()),\n ]);\n\n return event.type === 'finish';\n }\n\n private async openWithEvent() {\n if (\n this.open ||\n !this.emitEvent('igcOpening', { cancelable: true, detail: this })\n ) {\n return;\n }\n\n this.open = true;\n\n if (await this.toggleAnimation('open')) {\n this.emitEvent('igcOpened', { detail: this });\n }\n }\n\n private async closeWithEvent() {\n if (\n !(\n this.open &&\n this.emitEvent('igcClosing', { cancelable: true, detail: this })\n )\n ) {\n return;\n }\n\n this.open = false;\n\n if (await this.toggleAnimation('close')) {\n this.emitEvent('igcClosed', { detail: this });\n }\n }\n\n /** Toggles the panel open/close state. */\n public async toggle(): Promise<boolean> {\n return this.open ? this.hide() : this.show();\n }\n\n /** Hides the panel content. */\n public async hide(): Promise<boolean> {\n if (!this.open) {\n return false;\n }\n\n this.open = false;\n await this.toggleAnimation('close');\n return true;\n }\n\n /** Shows the panel content. */\n public async show(): Promise<boolean> {\n if (this.open) {\n return false;\n }\n\n this.open = true;\n await this.toggleAnimation('open');\n return true;\n }\n\n private renderIndicatorTemplate() {\n const indicatorHidden =\n this.open && this._indicatorExpandedElements.length > 0;\n const indicatorExpandedHidden =\n isEmpty(this._indicatorExpandedElements) || !this.open;\n\n return html`\n <div part=\"indicator\" aria-hidden=\"true\">\n <slot name=\"indicator\" ?hidden=${indicatorHidden}>\n <igc-icon\n name=${this.open ? 'collapse' : 'expand'}\n collection=\"default\"\n >\n </igc-icon>\n </slot>\n <slot\n name=\"indicator-expanded\"\n ?hidden=${indicatorExpandedHidden}\n ></slot>\n </div>\n `;\n }\n\n private renderHeaderTemplate() {\n return html`\n <div\n ${ref(this.headerRef)}\n part=\"header\"\n id=\"${this._panelId}-header\"\n role=\"button\"\n aria-expanded=${this.open}\n aria-disabled=${this.disabled}\n aria-controls=\"${this._panelId}-content\"\n tabindex=${this.disabled ? '-1' : '0'}\n @click=${this.disabled ? nothing : this.handleClick}\n >\n ${this.renderIndicatorTemplate()}\n <div>\n <slot name=\"title\" part=\"title\"></slot>\n <slot name=\"subtitle\" part=\"subtitle\"></slot>\n </div>\n </div>\n `;\n }\n\n private renderContentTemplate() {\n return html`\n <div\n ${ref(this.contentRef)}\n part=\"content\"\n role=\"region\"\n id=\"${this._panelId}-content\"\n aria-labelledby=\"${this._panelId}-header\"\n .inert=${!this.open}\n aria-hidden=${!this.open}\n >\n <slot></slot>\n </div>\n `;\n }\n\n protected override render() {\n return html`${this.renderHeaderTemplate()}${this.renderContentTemplate()}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-expansion-panel': IgcExpansionPanelComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"expansion-panel.js","sourceRoot":"","sources":["../../../src/components/expansion-panel/expansion-panel.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { addAnimationController } from '../../animations/player.js';\nimport { growVerIn, growVerOut } from '../../animations/presets/grow/index.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport {\n addKeybindings,\n altKey,\n arrowDown,\n arrowUp,\n} from '../common/controllers/key-bindings.js';\nimport { addSlotController, setSlots } from '../common/controllers/slot.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport type { ExpansionPanelIndicatorPosition } from '../types.js';\nimport { styles } from './themes/expansion-panel.base.css.js';\nimport { styles as shared } from './themes/shared/expansion-panel.common.css.js';\nimport { all } from './themes/themes.js';\n\nexport interface IgcExpansionPanelComponentEventMap {\n igcOpening: CustomEvent<IgcExpansionPanelComponent>;\n igcOpened: CustomEvent<IgcExpansionPanelComponent>;\n igcClosing: CustomEvent<IgcExpansionPanelComponent>;\n igcClosed: CustomEvent<IgcExpansionPanelComponent>;\n}\n\nlet nextId = 1;\n\n/**\n * The Expansion Panel Component provides a way to display information in a toggleable way -\n * compact summary view containing title and description and expanded detail view containing\n * additional content to the summary header.\n *\n * @element igc-expansion-panel\n *\n * @slot - renders the default content of the panel\n * @slot title - renders the title of the panel's header\n * @slot subtitle - renders the subtitle of the panel's header\n * @slot indicator - renders the expand/collapsed indicator\n * @slot indicator-expanded - renders the expanded state of the indicator\n *\n * @fires igcOpening - Emitted before opening the expansion panel.\n * @fires igcOpened - Emitted after the expansion panel is opened.\n * @fires igcClosing - Emitted before closing the expansion panel.\n * @fires igcClosed - Emitted after the expansion panel is closed.\n *\n * @csspart header - The container of the expansion indicator, title and subtitle.\n * @csspart title - The title container.\n * @csspart subtitle - The subtitle container.\n * @csspart indicator - The indicator container.\n * @csspart content - The expansion panel's content wrapper.\n */\nexport default class IgcExpansionPanelComponent extends EventEmitterMixin<\n IgcExpansionPanelComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-expansion-panel';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcExpansionPanelComponent, IgcIconComponent);\n }\n\n private _panelId = `${IgcExpansionPanelComponent.tagName}-${nextId++}`;\n private readonly _headerRef = createRef<HTMLElement>();\n private readonly _contentRef = createRef<HTMLElement>();\n\n private readonly _player = addAnimationController(this, this._contentRef);\n private readonly _slots = addSlotController(this, {\n slots: setSlots('title', 'subtitle', 'indicator', 'indicator-expanded'),\n });\n\n /**\n * Indicates whether the contents of the control should be visible.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n /**\n * Get/Set whether the expansion panel is disabled. Disabled panels are ignored for user interactions.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /**\n * The indicator position of the expansion panel.\n * @attr indicator-position\n */\n @property({ reflect: true, attribute: 'indicator-position' })\n public indicatorPosition: ExpansionPanelIndicatorPosition = 'start';\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n addKeybindings(this, {\n ref: this._headerRef,\n skip: () => this.disabled,\n bindingDefaults: { preventDefault: true },\n })\n .setActivateHandler(this._toggleWithEvent)\n .set([altKey, arrowDown], this._openWithEvent)\n .set([altKey, arrowUp], this._closeWithEvent);\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this._panelId = this.id || this._panelId;\n }\n\n private _handleClick(): void {\n this._headerRef.value!.focus();\n this._toggleWithEvent();\n }\n\n private _toggleWithEvent(): void {\n this.open ? this._closeWithEvent() : this._openWithEvent();\n }\n\n private async _toggleAnimation(dir: 'open' | 'close'): Promise<boolean> {\n const animation = dir === 'open' ? growVerIn : growVerOut;\n\n const [_, event] = await Promise.all([\n this._player.stopAll(),\n this._player.play(animation()),\n ]);\n\n return event.type === 'finish';\n }\n\n private async _openWithEvent(): Promise<void> {\n if (\n this.open ||\n !this.emitEvent('igcOpening', { cancelable: true, detail: this })\n ) {\n return;\n }\n\n this.open = true;\n\n if (await this._toggleAnimation('open')) {\n this.emitEvent('igcOpened', { detail: this });\n }\n }\n\n private async _closeWithEvent(): Promise<void> {\n if (\n !(\n this.open &&\n this.emitEvent('igcClosing', { cancelable: true, detail: this })\n )\n ) {\n return;\n }\n\n this.open = false;\n\n if (await this._toggleAnimation('close')) {\n this.emitEvent('igcClosed', { detail: this });\n }\n }\n\n /** Toggles the panel open/close state. */\n public async toggle(): Promise<boolean> {\n return this.open ? this.hide() : this.show();\n }\n\n /** Hides the panel content. */\n public async hide(): Promise<boolean> {\n if (!this.open) {\n return false;\n }\n\n this.open = false;\n await this._toggleAnimation('close');\n return true;\n }\n\n /** Shows the panel content. */\n public async show(): Promise<boolean> {\n if (this.open) {\n return false;\n }\n\n this.open = true;\n await this._toggleAnimation('open');\n return true;\n }\n\n private _renderIndicator() {\n const iconName = this.open ? 'collapse' : 'expand';\n const indicatorHidden =\n this.open && this._slots.hasAssignedElements('indicator-expanded');\n\n return html`\n <div part=\"indicator\" aria-hidden=\"true\">\n <slot name=\"indicator\" ?hidden=${indicatorHidden}>\n <igc-icon name=${iconName} collection=\"default\"></igc-icon>\n </slot>\n <slot name=\"indicator-expanded\" ?hidden=${!indicatorHidden}></slot>\n </div>\n `;\n }\n\n private _renderHeader() {\n return html`\n <div\n ${ref(this._headerRef)}\n part=\"header\"\n id=\"${this._panelId}-header\"\n role=\"button\"\n aria-expanded=${this.open}\n aria-disabled=${this.disabled}\n aria-controls=\"${this._panelId}-content\"\n tabindex=${this.disabled ? '-1' : '0'}\n @click=${this.disabled ? nothing : this._handleClick}\n >\n ${this._renderIndicator()}\n <div>\n <slot name=\"title\" part=\"title\"></slot>\n <slot name=\"subtitle\" part=\"subtitle\"></slot>\n </div>\n </div>\n `;\n }\n\n private _renderPanel() {\n return html`\n <div\n ${ref(this._contentRef)}\n part=\"content\"\n role=\"region\"\n id=\"${this._panelId}-content\"\n aria-labelledby=\"${this._panelId}-header\"\n .inert=${!this.open}\n aria-hidden=${!this.open}\n >\n <slot></slot>\n </div>\n `;\n }\n\n protected override render() {\n return html`${this._renderHeader()}${this._renderPanel()}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-expansion-panel': IgcExpansionPanelComponent;\n }\n}\n"]}
@@ -1,5 +1,4 @@
1
1
  import type { AbstractConstructor } from '../common/mixins/constructor.js';
2
- import { type FormValueOf } from '../common/mixins/forms/form-value.js';
3
2
  import { IgcInputBaseComponent, type IgcInputComponentEventMap } from '../input/input-base.js';
4
3
  export interface IgcFileInputComponentEventMap extends Omit<IgcInputComponentEventMap, 'igcChange' | 'igcInput'> {
5
4
  igcCancel: CustomEvent<FileList>;
@@ -35,7 +34,7 @@ export default class IgcFileInputComponent extends IgcFileInputComponent_base {
35
34
  static styles: import("lit").CSSResult[];
36
35
  static register(): void;
37
36
  protected get __validators(): import("../common/validators.js").Validator<IgcFileInputComponent>[];
38
- protected readonly _formValue: FormValueOf<FileList | null>;
37
+ protected readonly _formValue: import("../common/mixins/forms/form-value.js").FormValue<FileList | null>;
39
38
  private _hasActivation;
40
39
  private get _fileNames();
41
40
  /**
@@ -77,7 +76,6 @@ export default class IgcFileInputComponent extends IgcFileInputComponent_base {
77
76
  setRangeText(): void;
78
77
  private _handleChange;
79
78
  private _handleCancel;
80
- protected _handleFocus(): void;
81
79
  protected _handleBlur(): void;
82
80
  protected _handleClick(): void;
83
81
  protected renderFileParts(): import("lit-html").TemplateResult<1>;
@@ -11,7 +11,8 @@ import { addThemingController } from '../../theming/theming-controller.js';
11
11
  import IgcButtonComponent from '../button/button.js';
12
12
  import { registerComponent } from '../common/definitions/register.js';
13
13
  import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
14
- import { createFormValueState, defaultFileListTransformer, } from '../common/mixins/forms/form-value.js';
14
+ import { FormValueFileListTransformers } from '../common/mixins/forms/form-transformers.js';
15
+ import { createFormValueState } from '../common/mixins/forms/form-value.js';
15
16
  import { partMap } from '../common/part-map.js';
16
17
  import { isEmpty } from '../common/util.js';
17
18
  import { IgcInputBaseComponent, } from '../input/input-base.js';
@@ -48,7 +49,7 @@ class IgcFileInputComponent extends EventEmitterMixin(IgcInputBaseComponent) {
48
49
  super();
49
50
  this._formValue = createFormValueState(this, {
50
51
  initialValue: null,
51
- transformers: defaultFileListTransformer,
52
+ transformers: FormValueFileListTransformers,
52
53
  });
53
54
  this._hasActivation = false;
54
55
  this.multiple = false;
@@ -65,25 +66,21 @@ class IgcFileInputComponent extends EventEmitterMixin(IgcInputBaseComponent) {
65
66
  setRangeText() { }
66
67
  _handleChange() {
67
68
  this._hasActivation = false;
69
+ this._setTouchedState();
68
70
  this._formValue.setValueAndFormState(this.files);
69
- this._validate();
70
71
  this.requestUpdate();
71
72
  this.emitEvent('igcChange', { detail: this.files });
72
73
  }
73
74
  _handleCancel() {
74
75
  this._hasActivation = false;
76
+ this._setTouchedState();
75
77
  this._validate();
76
78
  this.emitEvent('igcCancel', {
77
79
  detail: this.files,
78
80
  });
79
81
  }
80
- _handleFocus() {
81
- this._dirty = true;
82
- }
83
82
  _handleBlur() {
84
- if (!this._hasActivation) {
85
- this._validate();
86
- }
83
+ this._hasActivation ? this._validate() : super._handleBlur();
87
84
  }
88
85
  _handleClick() {
89
86
  this._hasActivation = true;
@@ -118,12 +115,10 @@ class IgcFileInputComponent extends EventEmitterMixin(IgcInputBaseComponent) {
118
115
  ?multiple=${this.multiple}
119
116
  tabindex=${this.tabIndex}
120
117
  accept=${ifDefined(this.accept === '' ? undefined : this.accept)}
121
- aria-invalid=${this.invalid}
122
118
  aria-describedby=${ifDefined(isEmpty(this._helperText) ? nothing : 'helper-text')}
123
119
  @click=${this._handleClick}
124
120
  @change=${this._handleChange}
125
121
  @cancel=${this._handleCancel}
126
- @focus=${this._handleFocus}
127
122
  @blur=${this._handleBlur}
128
123
  />
129
124
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"file-input.js","sourceRoot":"","sources":["../../../src/components/file-input/file-input.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,kBAAkB,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EACL,oBAAoB,EACpB,0BAA0B,GAE3B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,qBAAqB,GAEtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,+BAA+B,MAAM,iDAAiD,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAiCjD,MAAqB,qBAAsB,SAAQ,iBAAiB,CAGlE,qBAAqB,CAAC;IAKf,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CACf,qBAAqB,EACrB,+BAA+B,EAC/B,kBAAkB,CACnB,CAAC;IACJ,CAAC;IAED,IAAuB,YAAY;QACjC,OAAO,cAAc,CAAC;IACxB,CAAC;IAWD,IAAY,UAAU;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAExD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aAC1B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aACxB,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAQD,IAAW,KAAK,CAAC,KAAa;QAC5B,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;IACjC,CAAC;IAoCD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC;IACnC,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QAxEkB,eAAU,GACpC,oBAAoB,CAAC,IAAI,EAAE;YACzB,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,0BAA0B;SACzC,CAAC,CAAC;QAGG,mBAAc,GAAG,KAAK,CAAC;QAgCxB,aAAQ,GAAG,KAAK,CAAC;QAQjB,WAAM,GAAG,EAAE,CAAC;QAaH,aAAQ,GAAG,CAAC,CAAC;QAIJ,aAAQ,GAAG,KAAK,CAAC;QASxC,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAEkB,oBAAoB;QACrC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACtB,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAC/B,CAAC;IAIe,iBAAiB,KAAU,CAAC;IAI5B,YAAY,KAAU,CAAC;IAE/B,aAAa;QACnB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YAC1B,MAAM,EAAE,IAAI,CAAC,KAAM;SACpB,CAAC,CAAC;IACL,CAAC;IAES,YAAY;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAGS,YAAY;QACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAEkB,eAAe;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,IAAI,gBAAgB,CAAC;QAEvD,OAAO,IAAI,CAAA;;;iDAGkC,IAAI,CAAC,QAAQ;;;;;;cAMhD,IAAI,CAAC,UAAU;YACjB,IAAI,CAAA,kCAAkC,SAAS,SAAS;;;;KAI/D,CAAC;IACJ,CAAC;IAES,WAAW;QACnB,OAAO,IAAI,CAAA;;aAEF,IAAI,CAAC,OAAO;eACV,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;;oBAElC,IAAI,CAAC,QAAQ;oBACb,IAAI,CAAC,QAAQ;qBACZ,IAAI,CAAC,SAAS;oBACf,IAAI,CAAC,QAAQ;mBACd,IAAI,CAAC,QAAQ;iBACf,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;uBACjD,IAAI,CAAC,OAAO;2BACR,SAAS,CAC1B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CACpD;iBACQ,IAAI,CAAC,YAAY;kBAChB,IAAI,CAAC,aAAa;kBAClB,IAAI,CAAC,aAAa;iBACnB,IAAI,CAAC,YAAY;gBAClB,IAAI,CAAC,WAAW;;KAE3B,CAAC;IACJ,CAAC;;AArLsB,6BAAO,GAAG,gBAAgB,AAAnB,CAAoB;AACpC,4BAAM,GAAG,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,AAA5C,CAA6C;eAL9C,qBAAqB;AA2BhC;IADP,KAAK,EAAE;6DACuB;AAgB/B;IADC,QAAQ,EAAE;kDAKV;AAYM;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uDACJ;AAQjB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qDACR;AAOH;IADf,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wDACQ;AAMpB;IADf,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uDACE;AAIJ;IADxB,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;uDACtB","sourcesContent":["import { html, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport IgcButtonComponent from '../button/button.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { AbstractConstructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport {\n createFormValueState,\n defaultFileListTransformer,\n type FormValueOf,\n} from '../common/mixins/forms/form-value.js';\nimport { partMap } from '../common/part-map.js';\nimport { isEmpty } from '../common/util.js';\nimport {\n IgcInputBaseComponent,\n type IgcInputComponentEventMap,\n} from '../input/input-base.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.js';\nimport { styles } from './themes/file-input.base.css.js';\nimport { all } from './themes/themes.js';\nimport { fileValidators } from './validators.js';\n\nexport interface IgcFileInputComponentEventMap\n extends Omit<IgcInputComponentEventMap, 'igcChange' | 'igcInput'> {\n igcCancel: CustomEvent<FileList>;\n igcChange: CustomEvent<FileList>;\n}\n\n/* blazorSuppress */\n/**\n * @element igc-file-input\n *\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot helper-text - Renders content below the input.\n * @slot file-selector-text - Renders content for the browse button when input type is file.\n * @slot file-missing-text - Renders content when input type is file and no file is chosen.\n * @slot value-missing - Renders content when the required validation fails.\n * @slot custom-error - Renders content when setCustomValidity(message) is set.\n * @slot invalid - Renders content when the component is in invalid state (validity.valid = false).\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcCancel - Emitted when the control's file picker dialog is canceled.\n *\n * @csspart container - The main wrapper that holds all main input elements.\n * @csspart input - The native input element.\n * @csspart label - The native label element.\n * @csspart file-names - The file names wrapper when input type is 'file'.\n * @csspart file-selector-button - The browse button when input type is 'file'.\n * @csspart prefix - The prefix wrapper.\n * @csspart suffix - The suffix wrapper.\n * @csspart helper-text - The helper text wrapper.\n */\nexport default class IgcFileInputComponent extends EventEmitterMixin<\n IgcFileInputComponentEventMap,\n AbstractConstructor<IgcInputBaseComponent>\n>(IgcInputBaseComponent) {\n public static readonly tagName = 'igc-file-input';\n public static styles = [...IgcInputBaseComponent.styles, styles];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(\n IgcFileInputComponent,\n IgcValidationContainerComponent,\n IgcButtonComponent\n );\n }\n\n protected override get __validators() {\n return fileValidators;\n }\n\n protected override readonly _formValue: FormValueOf<FileList | null> =\n createFormValueState(this, {\n initialValue: null,\n transformers: defaultFileListTransformer,\n });\n\n @state()\n private _hasActivation = false;\n\n private get _fileNames(): string | null {\n if (!this.files || this.files.length === 0) return null;\n\n return Array.from(this.files)\n .map((file) => file.name)\n .join(', ');\n }\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail\", false) */\n /**\n * The value of the control.\n * @attr\n */\n @property()\n public set value(value: string) {\n if (value === '' && this.input) {\n this.input.value = value;\n }\n }\n\n public get value(): string {\n return this.input?.value ?? '';\n }\n\n /**\n * The multiple attribute of the control.\n * Used to indicate that a file input allows the user to select more than one file.\n * @attr\n */\n @property({ type: Boolean })\n public multiple = false;\n\n /**\n * The accept attribute of the control.\n * Defines the file types as a list of comma-separated values that the file input should accept.\n * @attr\n */\n @property({ type: String })\n public accept = '';\n\n /**\n * The autofocus attribute of the control.\n * @attr\n */\n @property({ type: Boolean })\n public override autofocus!: boolean;\n\n /**\n * @internal\n */\n @property({ type: Number })\n public override tabIndex = 0;\n\n /** @hidden */\n @property({ type: Boolean, attribute: false, noAccessor: true })\n public override readonly readOnly = false;\n\n /** Returns the selected files, if any; otherwise returns null. */\n public get files(): FileList | null {\n return this.input?.files ?? null;\n }\n\n constructor() {\n super();\n addThemingController(this, all);\n }\n\n protected override _restoreDefaultValue(): void {\n this.input.value = '';\n super._restoreDefaultValue();\n }\n\n /* c8 ignore next 2 */\n /** @hidden */\n public override setSelectionRange(): void {}\n\n /* c8 ignore next 2 */\n /** @hidden */\n public override setRangeText(): void {}\n\n private _handleChange(): void {\n this._hasActivation = false;\n this._formValue.setValueAndFormState(this.files);\n this._validate();\n\n this.requestUpdate();\n this.emitEvent('igcChange', { detail: this.files! });\n }\n\n private _handleCancel(): void {\n this._hasActivation = false;\n this._validate();\n\n this.emitEvent('igcCancel', {\n detail: this.files!,\n });\n }\n\n protected _handleFocus(): void {\n this._dirty = true;\n }\n\n protected _handleBlur(): void {\n if (!this._hasActivation) {\n this._validate();\n }\n }\n\n /* c8 ignore next 3 */\n protected _handleClick(): void {\n this._hasActivation = true;\n }\n\n protected override renderFileParts() {\n const emptyText = this.placeholder ?? 'No file chosen';\n\n return html`\n <div part=\"file-parts\">\n <div part=\"file-selector-button\">\n <igc-button variant=\"flat\" ?disabled=${this.disabled} tabindex=\"-1\">\n <slot name=\"file-selector-text\">Browse</slot>\n </igc-button>\n </div>\n <div part=\"file-names\">\n <span>\n ${this._fileNames ??\n html`<slot name=\"file-missing-text\">${emptyText}</slot>`}\n </span>\n </div>\n </div>\n `;\n }\n\n protected renderInput() {\n return html`\n <input\n id=${this.inputId}\n part=${partMap(this.resolvePartNames('input'))}\n type=\"file\"\n ?disabled=${this.disabled}\n ?required=${this.required}\n ?autofocus=${this.autofocus}\n ?multiple=${this.multiple}\n tabindex=${this.tabIndex}\n accept=${ifDefined(this.accept === '' ? undefined : this.accept)}\n aria-invalid=${this.invalid}\n aria-describedby=${ifDefined(\n isEmpty(this._helperText) ? nothing : 'helper-text'\n )}\n @click=${this._handleClick}\n @change=${this._handleChange}\n @cancel=${this._handleCancel}\n @focus=${this._handleFocus}\n @blur=${this._handleBlur}\n />\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-file-input': IgcFileInputComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"file-input.js","sourceRoot":"","sources":["../../../src/components/file-input/file-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport IgcButtonComponent from '../button/button.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { AbstractConstructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormValueFileListTransformers } from '../common/mixins/forms/form-transformers.js';\nimport { createFormValueState } from '../common/mixins/forms/form-value.js';\nimport { partMap } from '../common/part-map.js';\nimport { isEmpty } from '../common/util.js';\nimport {\n IgcInputBaseComponent,\n type IgcInputComponentEventMap,\n} from '../input/input-base.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.js';\nimport { styles } from './themes/file-input.base.css.js';\nimport { all } from './themes/themes.js';\nimport { fileValidators } from './validators.js';\n\nexport interface IgcFileInputComponentEventMap\n extends Omit<IgcInputComponentEventMap, 'igcChange' | 'igcInput'> {\n igcCancel: CustomEvent<FileList>;\n igcChange: CustomEvent<FileList>;\n}\n\n/* blazorSuppress */\n/**\n * @element igc-file-input\n *\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot helper-text - Renders content below the input.\n * @slot file-selector-text - Renders content for the browse button when input type is file.\n * @slot file-missing-text - Renders content when input type is file and no file is chosen.\n * @slot value-missing - Renders content when the required validation fails.\n * @slot custom-error - Renders content when setCustomValidity(message) is set.\n * @slot invalid - Renders content when the component is in invalid state (validity.valid = false).\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcCancel - Emitted when the control's file picker dialog is canceled.\n *\n * @csspart container - The main wrapper that holds all main input elements.\n * @csspart input - The native input element.\n * @csspart label - The native label element.\n * @csspart file-names - The file names wrapper when input type is 'file'.\n * @csspart file-selector-button - The browse button when input type is 'file'.\n * @csspart prefix - The prefix wrapper.\n * @csspart suffix - The suffix wrapper.\n * @csspart helper-text - The helper text wrapper.\n */\nexport default class IgcFileInputComponent extends EventEmitterMixin<\n IgcFileInputComponentEventMap,\n AbstractConstructor<IgcInputBaseComponent>\n>(IgcInputBaseComponent) {\n public static readonly tagName = 'igc-file-input';\n public static styles = [...IgcInputBaseComponent.styles, styles];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(\n IgcFileInputComponent,\n IgcValidationContainerComponent,\n IgcButtonComponent\n );\n }\n\n protected override get __validators() {\n return fileValidators;\n }\n\n protected override readonly _formValue = createFormValueState(this, {\n initialValue: null,\n transformers: FormValueFileListTransformers,\n });\n\n @state()\n private _hasActivation = false;\n\n private get _fileNames(): string | null {\n if (!this.files || this.files.length === 0) return null;\n\n return Array.from(this.files)\n .map((file) => file.name)\n .join(', ');\n }\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail\", false) */\n /**\n * The value of the control.\n * @attr\n */\n @property()\n public set value(value: string) {\n if (value === '' && this.input) {\n this.input.value = value;\n }\n }\n\n public get value(): string {\n return this.input?.value ?? '';\n }\n\n /**\n * The multiple attribute of the control.\n * Used to indicate that a file input allows the user to select more than one file.\n * @attr\n */\n @property({ type: Boolean })\n public multiple = false;\n\n /**\n * The accept attribute of the control.\n * Defines the file types as a list of comma-separated values that the file input should accept.\n * @attr\n */\n @property({ type: String })\n public accept = '';\n\n /**\n * The autofocus attribute of the control.\n * @attr\n */\n @property({ type: Boolean })\n public override autofocus!: boolean;\n\n /**\n * @internal\n */\n @property({ type: Number })\n public override tabIndex = 0;\n\n /** @hidden */\n @property({ type: Boolean, attribute: false, noAccessor: true })\n public override readonly readOnly = false;\n\n /** Returns the selected files, if any; otherwise returns null. */\n public get files(): FileList | null {\n return this.input?.files ?? null;\n }\n\n constructor() {\n super();\n addThemingController(this, all);\n }\n\n protected override _restoreDefaultValue(): void {\n this.input.value = '';\n super._restoreDefaultValue();\n }\n\n /* c8 ignore next 2 */\n /** @hidden */\n public override setSelectionRange(): void {}\n\n /* c8 ignore next 2 */\n /** @hidden */\n public override setRangeText(): void {}\n\n private _handleChange(): void {\n this._hasActivation = false;\n this._setTouchedState();\n this._formValue.setValueAndFormState(this.files);\n\n this.requestUpdate();\n this.emitEvent('igcChange', { detail: this.files! });\n }\n\n private _handleCancel(): void {\n this._hasActivation = false;\n this._setTouchedState();\n this._validate();\n\n this.emitEvent('igcCancel', {\n detail: this.files!,\n });\n }\n\n protected override _handleBlur(): void {\n this._hasActivation ? this._validate() : super._handleBlur();\n }\n\n /* c8 ignore next 3 */\n protected _handleClick(): void {\n this._hasActivation = true;\n }\n\n protected override renderFileParts() {\n const emptyText = this.placeholder ?? 'No file chosen';\n\n return html`\n <div part=\"file-parts\">\n <div part=\"file-selector-button\">\n <igc-button variant=\"flat\" ?disabled=${this.disabled} tabindex=\"-1\">\n <slot name=\"file-selector-text\">Browse</slot>\n </igc-button>\n </div>\n <div part=\"file-names\">\n <span>\n ${this._fileNames ??\n html`<slot name=\"file-missing-text\">${emptyText}</slot>`}\n </span>\n </div>\n </div>\n `;\n }\n\n protected renderInput() {\n return html`\n <input\n id=${this.inputId}\n part=${partMap(this.resolvePartNames('input'))}\n type=\"file\"\n ?disabled=${this.disabled}\n ?required=${this.required}\n ?autofocus=${this.autofocus}\n ?multiple=${this.multiple}\n tabindex=${this.tabIndex}\n accept=${ifDefined(this.accept === '' ? undefined : this.accept)}\n aria-describedby=${ifDefined(\n isEmpty(this._helperText) ? nothing : 'helper-text'\n )}\n @click=${this._handleClick}\n @change=${this._handleChange}\n @cancel=${this._handleCancel}\n @blur=${this._handleBlur}\n />\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-file-input': IgcFileInputComponent;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--file-names-background--disabled: var(--ig-file-names-background--disabled, var(--ig-gray-100));--file-names-foreground: var(--ig-file-names-foreground, var(--ig-gray-700));--file-names-foreground--disabled: var(--ig-file-names-foreground--disabled, var(--ig-gray-400));--file-selector-button-background: var(--ig-file-selector-button-background, var(--ig-gray-300));--file-selector-button-background--focused: var(--ig-file-selector-button-background--focused, var(--ig-gray-300));--file-selector-button-background--filled: var(--ig-file-selector-button-background--filled, var(--ig-gray-300));--file-selector-button-background--disabled: var(--ig-file-selector-button-background--disabled, var(--ig-gray-100));--file-selector-button-foreground: var(--ig-file-selector-button-foreground, var(--ig-gray-800));--file-selector-button-foreground--disabled: var(--ig-file-selector-button-foreground--disabled, var(--ig-gray-400));--ig-theme: bootstrap}`;
3
+ //# sourceMappingURL=file-input.bootstrap.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-input.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/file-input/themes/dark/file-input.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,67BAA67B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--file-names-background--disabled: var(--ig-file-names-background--disabled, var(--ig-gray-100));--file-names-foreground: var(--ig-file-names-foreground, var(--ig-gray-700));--file-names-foreground--disabled: var(--ig-file-names-foreground--disabled, var(--ig-gray-400));--file-selector-button-background: var(--ig-file-selector-button-background, var(--ig-gray-300));--file-selector-button-background--focused: var(--ig-file-selector-button-background--focused, var(--ig-gray-300));--file-selector-button-background--filled: var(--ig-file-selector-button-background--filled, var(--ig-gray-300));--file-selector-button-background--disabled: var(--ig-file-selector-button-background--disabled, var(--ig-gray-100));--file-selector-button-foreground: var(--ig-file-selector-button-foreground, var(--ig-gray-800));--file-selector-button-foreground--disabled: var(--ig-file-selector-button-foreground--disabled, var(--ig-gray-400));--ig-theme: bootstrap}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--file-names-foreground--disabled: var(--ig-file-names-foreground--disabled, var(--ig-gray-300));--file-selector-button-foreground--disabled: var(--ig-file-selector-button-foreground--disabled, var(--ig-gray-200));--ig-theme: fluent}`;
3
+ //# sourceMappingURL=file-input.fluent.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-input.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/file-input/themes/dark/file-input.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,iPAAiP,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--file-names-foreground--disabled: var(--ig-file-names-foreground--disabled, var(--ig-gray-300));--file-selector-button-foreground--disabled: var(--ig-file-selector-button-foreground--disabled, var(--ig-gray-200));--ig-theme: fluent}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--file-names-foreground: var(--ig-file-names-foreground, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--file-names-foreground--focused: var(--ig-file-names-foreground--focused, var(--ig-gray-50-contrast));--file-names-foreground--filled: var(--ig-file-names-foreground--filled, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--file-names-foreground--disabled: var(--ig-file-names-foreground--disabled, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--file-selector-button-foreground: var(--ig-file-selector-button-foreground, var(--ig-primary-500-contrast));--file-selector-button-foreground--focused: var(--ig-file-selector-button-foreground--focused, var(--ig-gray-700));--file-selector-button-foreground--filled: var(--ig-file-selector-button-foreground--filled, var(--ig-gray-700));--file-selector-button-foreground--disabled: var(--ig-file-selector-button-foreground--disabled, hsl(from var(--ig-primary-500-contrast) h s l/0.2));--ig-theme: indigo}`;
3
+ //# sourceMappingURL=file-input.indigo.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-input.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/file-input/themes/dark/file-input.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,u8BAAu8B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--file-names-foreground: var(--ig-file-names-foreground, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--file-names-foreground--focused: var(--ig-file-names-foreground--focused, var(--ig-gray-50-contrast));--file-names-foreground--filled: var(--ig-file-names-foreground--filled, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--file-names-foreground--disabled: var(--ig-file-names-foreground--disabled, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--file-selector-button-foreground: var(--ig-file-selector-button-foreground, var(--ig-primary-500-contrast));--file-selector-button-foreground--focused: var(--ig-file-selector-button-foreground--focused, var(--ig-gray-700));--file-selector-button-foreground--filled: var(--ig-file-selector-button-foreground--filled, var(--ig-gray-700));--file-selector-button-foreground--disabled: var(--ig-file-selector-button-foreground--disabled, hsl(from var(--ig-primary-500-contrast) h s l/0.2));--ig-theme: indigo}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--file-names-foreground: var(--ig-file-names-foreground, var(--ig-gray-700));--file-selector-button-foreground: var(--ig-file-selector-button-foreground, var(--ig-secondary-500));--file-selector-button-foreground--focused: var(--ig-file-selector-button-foreground--focused, var(--ig-secondary-500));--file-selector-button-foreground--filled: var(--ig-file-selector-button-foreground--filled, var(--ig-secondary-500));--ig-theme: material}`;
3
+ //# sourceMappingURL=file-input.material.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-input.material.css.js","sourceRoot":"","sources":["../../../../../src/components/file-input/themes/dark/file-input.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,8bAA8b,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--file-names-foreground: var(--ig-file-names-foreground, var(--ig-gray-700));--file-selector-button-foreground: var(--ig-file-selector-button-foreground, var(--ig-secondary-500));--file-selector-button-foreground--focused: var(--ig-file-selector-button-foreground--focused, var(--ig-secondary-500));--file-selector-button-foreground--filled: var(--ig-file-selector-button-foreground--filled, var(--ig-secondary-500));--ig-theme: material}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host(:is(igc-file-input)) [part~=file-parts]{display:contents}:host(:is(igc-file-input)) [part=file-selector-button]{align-content:center;grid-area:1/2}:host(:is(igc-file-input)) [part=file-selector-button] igc-button::part(base){transition:none}:host(:is(igc-file-input)) [part=file-names]{display:flex;align-items:center;max-height:var(--size);height:100%;grid-area:1/3}:host(:is(igc-file-input)) [part=file-names]>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host(:is(igc-file-input)) [part~=container]{position:relative;grid-template-columns:auto auto 1fr auto}:host(:is(igc-file-input)) [part~=input]{position:absolute;border:none;inset:0;width:100%;grid-column:2/4;-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0}:host(:is(igc-file-input)) [part~=container],:host(:is(igc-file-input)) [part~=input]{height:var(--size)}:host(:is(igc-file-input)) [part~=input]::file-selector-button{width:100%;cursor:auto}:host(:is(igc-file-input)) [part~=suffix]{grid-area:1/4}:host(:not(:disabled)) [part~=input],:host(:not(:disabled)) [part~=input]::file-selector-button{cursor:pointer}:host(:is(igc-file-input):disabled) [part~=file-names],:host(:is(igc-file-input)[disabled]) [part~=file-names]{color:var(--disabled-text-color)}`;
2
+ export const styles = css `:host(:is(igc-file-input)) [part~=file-parts]{display:contents}:host(:is(igc-file-input)) [part=file-selector-button]{align-content:center;grid-area:1/2}:host(:is(igc-file-input)) [part=file-selector-button] igc-button::part(base){transition:none}:host(:is(igc-file-input)) [part=file-names]{display:flex;align-items:center;max-height:var(--size);height:100%;grid-area:1/3;color:var(--file-names-foreground);background:var(--file-names-background)}:host(:is(igc-file-input)) [part=file-names]>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host(:is(igc-file-input)) [part~=container]{position:relative;grid-template-columns:auto auto 1fr auto}:host(:is(igc-file-input)) [part~=input]{position:absolute;border:none;inset:0;width:100%;grid-column:2/4;-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0}:host(:is(igc-file-input)) [part~=container],:host(:is(igc-file-input)) [part~=input]{height:var(--size)}:host(:is(igc-file-input)) [part~=input]::file-selector-button{width:100%;cursor:auto}:host(:is(igc-file-input)) [part~=suffix]{grid-area:1/4}:host(:is(igc-file-input)) [part~=filled] [part~=file-names]{color:var(--file-names-foreground--filled);background:var(--file-names-background--filled)}:host(:is(igc-file-input)) [part~=container]:focus-within [part~=file-names]{color:var(--file-names-foreground--focused);background:var(--file-names-background--focused)}:host(:is(igc-file-input)) [part~=file-selector-button] igc-button{--foreground: var(--file-selector-button-foreground);--disabled-foreground: var(--file-selector-button-foreground--disabled);--background: var(--file-selector-button-background);--disabled-background: var(--file-selector-button-background--disabled);--hover-foreground: var(--foreground);--active-foreground: var(--foreground);--hover-background: var(--background);--active-background: var(--background)}:host(:is(igc-file-input)) [part~=filled] [part~=file-selector-button] igc-button{--foreground: var(--file-selector-button-foreground--filled);--background: var(--file-selector-button-background--filled)}:host(:is(igc-file-input)) [part~=container]:focus-within [part~=file-selector-button] igc-button{--foreground: var(--file-selector-button-foreground--focused);--background: var(--file-selector-button-background--focused)}:host(:not(:disabled)) [part~=input],:host(:not(:disabled)) [part~=input]::file-selector-button{cursor:pointer}:host(:is(igc-file-input):disabled) [part~=file-names],:host(:is(igc-file-input)[disabled]) [part~=file-names]{color:var(--file-names-foreground--disabled);background:var(--file-names-background--disabled)}`;
3
3
  //# sourceMappingURL=file-input.base.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-input.base.css.js","sourceRoot":"","sources":["../../../../src/components/file-input/themes/file-input.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,kvCAAkvC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host(:is(igc-file-input)) [part~=file-parts]{display:contents}:host(:is(igc-file-input)) [part=file-selector-button]{align-content:center;grid-area:1/2}:host(:is(igc-file-input)) [part=file-selector-button] igc-button::part(base){transition:none}:host(:is(igc-file-input)) [part=file-names]{display:flex;align-items:center;max-height:var(--size);height:100%;grid-area:1/3}:host(:is(igc-file-input)) [part=file-names]>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host(:is(igc-file-input)) [part~=container]{position:relative;grid-template-columns:auto auto 1fr auto}:host(:is(igc-file-input)) [part~=input]{position:absolute;border:none;inset:0;width:100%;grid-column:2/4;-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0}:host(:is(igc-file-input)) [part~=container],:host(:is(igc-file-input)) [part~=input]{height:var(--size)}:host(:is(igc-file-input)) [part~=input]::file-selector-button{width:100%;cursor:auto}:host(:is(igc-file-input)) [part~=suffix]{grid-area:1/4}:host(:not(:disabled)) [part~=input],:host(:not(:disabled)) [part~=input]::file-selector-button{cursor:pointer}:host(:is(igc-file-input):disabled) [part~=file-names],:host(:is(igc-file-input)[disabled]) [part~=file-names]{color:var(--disabled-text-color)}`;\n"]}
1
+ {"version":3,"file":"file-input.base.css.js","sourceRoot":"","sources":["../../../../src/components/file-input/themes/file-input.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,8jFAA8jF,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host(:is(igc-file-input)) [part~=file-parts]{display:contents}:host(:is(igc-file-input)) [part=file-selector-button]{align-content:center;grid-area:1/2}:host(:is(igc-file-input)) [part=file-selector-button] igc-button::part(base){transition:none}:host(:is(igc-file-input)) [part=file-names]{display:flex;align-items:center;max-height:var(--size);height:100%;grid-area:1/3;color:var(--file-names-foreground);background:var(--file-names-background)}:host(:is(igc-file-input)) [part=file-names]>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host(:is(igc-file-input)) [part~=container]{position:relative;grid-template-columns:auto auto 1fr auto}:host(:is(igc-file-input)) [part~=input]{position:absolute;border:none;inset:0;width:100%;grid-column:2/4;-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0}:host(:is(igc-file-input)) [part~=container],:host(:is(igc-file-input)) [part~=input]{height:var(--size)}:host(:is(igc-file-input)) [part~=input]::file-selector-button{width:100%;cursor:auto}:host(:is(igc-file-input)) [part~=suffix]{grid-area:1/4}:host(:is(igc-file-input)) [part~=filled] [part~=file-names]{color:var(--file-names-foreground--filled);background:var(--file-names-background--filled)}:host(:is(igc-file-input)) [part~=container]:focus-within [part~=file-names]{color:var(--file-names-foreground--focused);background:var(--file-names-background--focused)}:host(:is(igc-file-input)) [part~=file-selector-button] igc-button{--foreground: var(--file-selector-button-foreground);--disabled-foreground: var(--file-selector-button-foreground--disabled);--background: var(--file-selector-button-background);--disabled-background: var(--file-selector-button-background--disabled);--hover-foreground: var(--foreground);--active-foreground: var(--foreground);--hover-background: var(--background);--active-background: var(--background)}:host(:is(igc-file-input)) [part~=filled] [part~=file-selector-button] igc-button{--foreground: var(--file-selector-button-foreground--filled);--background: var(--file-selector-button-background--filled)}:host(:is(igc-file-input)) [part~=container]:focus-within [part~=file-selector-button] igc-button{--foreground: var(--file-selector-button-foreground--focused);--background: var(--file-selector-button-background--focused)}:host(:not(:disabled)) [part~=input],:host(:not(:disabled)) [part~=input]::file-selector-button{cursor:pointer}:host(:is(igc-file-input):disabled) [part~=file-names],:host(:is(igc-file-input)[disabled]) [part~=file-names]{color:var(--file-names-foreground--disabled);background:var(--file-names-background--disabled)}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--file-names-background--disabled: var(--ig-file-names-background--disabled, var(--ig-gray-100));--file-names-foreground: var(--ig-file-names-foreground, var(--ig-gray-700));--file-names-foreground--disabled: var(--ig-file-names-foreground--disabled, var(--ig-gray-400));--file-selector-button-background: var(--ig-file-selector-button-background, var(--ig-gray-300));--file-selector-button-background--focused: var(--ig-file-selector-button-background--focused, var(--ig-gray-300));--file-selector-button-background--filled: var(--ig-file-selector-button-background--filled, var(--ig-gray-300));--file-selector-button-background--disabled: var(--ig-file-selector-button-background--disabled, var(--ig-gray-100));--file-selector-button-foreground: var(--ig-file-selector-button-foreground, var(--ig-gray-800));--file-selector-button-foreground--disabled: var(--ig-file-selector-button-foreground--disabled, var(--ig-gray-400));--ig-theme: bootstrap}`;
3
+ //# sourceMappingURL=file-input.bootstrap.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-input.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/file-input/themes/light/file-input.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,67BAA67B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--file-names-background--disabled: var(--ig-file-names-background--disabled, var(--ig-gray-100));--file-names-foreground: var(--ig-file-names-foreground, var(--ig-gray-700));--file-names-foreground--disabled: var(--ig-file-names-foreground--disabled, var(--ig-gray-400));--file-selector-button-background: var(--ig-file-selector-button-background, var(--ig-gray-300));--file-selector-button-background--focused: var(--ig-file-selector-button-background--focused, var(--ig-gray-300));--file-selector-button-background--filled: var(--ig-file-selector-button-background--filled, var(--ig-gray-300));--file-selector-button-background--disabled: var(--ig-file-selector-button-background--disabled, var(--ig-gray-100));--file-selector-button-foreground: var(--ig-file-selector-button-foreground, var(--ig-gray-800));--file-selector-button-foreground--disabled: var(--ig-file-selector-button-foreground--disabled, var(--ig-gray-400));--ig-theme: bootstrap}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--ig-theme: fluent}`;
3
+ //# sourceMappingURL=file-input.fluent.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-input.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/file-input/themes/light/file-input.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,2BAA2B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--ig-theme: fluent}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--file-names-foreground: var(--ig-file-names-foreground, var(--ig-gray-800));--file-names-foreground--filled: var(--ig-file-names-foreground--filled, var(--ig-gray-800));--file-names-foreground--disabled: var(--ig-file-names-foreground--disabled, hsl(from var(--ig-gray-900) h s l/0.2));--file-selector-button-foreground: var(--ig-file-selector-button-foreground, var(--ig-gray-700));--file-selector-button-foreground--focused: var(--ig-file-selector-button-foreground--focused, var(--ig-gray-700));--file-selector-button-foreground--filled: var(--ig-file-selector-button-foreground--filled, var(--ig-gray-700));--file-selector-button-foreground--disabled: var(--ig-file-selector-button-foreground--disabled, hsl(from var(--ig-gray-900) h s l/0.2));--ig-theme: indigo}`;
3
+ //# sourceMappingURL=file-input.indigo.css.js.map