igniteui-webcomponents 6.0.0 → 6.1.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 (431) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/README.md +6 -1
  3. package/components/avatar/themes/dark/avatar.bootstrap.css.js +1 -1
  4. package/components/avatar/themes/dark/avatar.bootstrap.css.js.map +1 -1
  5. package/components/avatar/themes/dark/avatar.fluent.css.js +1 -1
  6. package/components/avatar/themes/dark/avatar.fluent.css.js.map +1 -1
  7. package/components/avatar/themes/dark/avatar.material.css.js +1 -1
  8. package/components/avatar/themes/dark/avatar.material.css.js.map +1 -1
  9. package/components/button/button-base.d.ts +5 -6
  10. package/components/button/button-base.js +15 -29
  11. package/components/button/button-base.js.map +1 -1
  12. package/components/button/themes/button/light/button.shared.css.js +1 -1
  13. package/components/button/themes/button/light/button.shared.css.js.map +1 -1
  14. package/components/button-group/toggle-button.d.ts +2 -2
  15. package/components/button-group/toggle-button.js +4 -6
  16. package/components/button-group/toggle-button.js.map +1 -1
  17. package/components/calendar/calendar.d.ts +1 -1
  18. package/components/calendar/calendar.js +12 -9
  19. package/components/calendar/calendar.js.map +1 -1
  20. package/components/calendar/days-view/days-view.d.ts +1 -1
  21. package/components/calendar/days-view/days-view.js +8 -9
  22. package/components/calendar/days-view/days-view.js.map +1 -1
  23. package/components/calendar/helpers.d.ts +12 -1
  24. package/components/calendar/helpers.js +35 -10
  25. package/components/calendar/helpers.js.map +1 -1
  26. package/components/calendar/model.d.ts +15 -1
  27. package/components/calendar/model.js +26 -5
  28. package/components/calendar/model.js.map +1 -1
  29. package/components/calendar/months-view/months-view.d.ts +1 -1
  30. package/components/calendar/months-view/months-view.js +6 -6
  31. package/components/calendar/months-view/months-view.js.map +1 -1
  32. package/components/calendar/themes/dark/calendar.fluent.css.js +1 -1
  33. package/components/calendar/themes/dark/calendar.fluent.css.js.map +1 -1
  34. package/components/calendar/themes/light/calendar.fluent.css.js +1 -1
  35. package/components/calendar/themes/light/calendar.fluent.css.js.map +1 -1
  36. package/components/calendar/themes/light/calendar.shared.css.js +1 -1
  37. package/components/calendar/themes/light/calendar.shared.css.js.map +1 -1
  38. package/components/calendar/years-view/years-view.d.ts +1 -1
  39. package/components/calendar/years-view/years-view.js +6 -6
  40. package/components/calendar/years-view/years-view.js.map +1 -1
  41. package/components/carousel/carousel-indicator-container.d.ts +2 -2
  42. package/components/carousel/carousel-indicator-container.js +8 -9
  43. package/components/carousel/carousel-indicator-container.js.map +1 -1
  44. package/components/carousel/carousel.d.ts +7 -8
  45. package/components/carousel/carousel.js +24 -20
  46. package/components/carousel/carousel.js.map +1 -1
  47. package/components/checkbox/checkbox-base.d.ts +8 -10
  48. package/components/checkbox/checkbox-base.js +20 -23
  49. package/components/checkbox/checkbox-base.js.map +1 -1
  50. package/components/checkbox/checkbox.d.ts +3 -3
  51. package/components/checkbox/checkbox.js +18 -19
  52. package/components/checkbox/checkbox.js.map +1 -1
  53. package/components/checkbox/switch.d.ts +2 -2
  54. package/components/checkbox/switch.js +15 -19
  55. package/components/checkbox/switch.js.map +1 -1
  56. package/components/chip/chip.d.ts +4 -0
  57. package/components/chip/chip.js +29 -6
  58. package/components/chip/chip.js.map +1 -1
  59. package/components/chip/themes/shared/chip.common.css.js +1 -1
  60. package/components/chip/themes/shared/chip.common.css.js.map +1 -1
  61. package/components/chip/themes/shared/chip.indigo.css.js +1 -1
  62. package/components/chip/themes/shared/chip.indigo.css.js.map +1 -1
  63. package/components/combo/combo.d.ts +2 -2
  64. package/components/combo/combo.js +12 -11
  65. package/components/combo/combo.js.map +1 -1
  66. package/components/combo/themes/combo.base.css.js +1 -1
  67. package/components/combo/themes/combo.base.css.js.map +1 -1
  68. package/components/combo/themes/shared/combo.fluent.css.js +1 -1
  69. package/components/combo/themes/shared/combo.fluent.css.js.map +1 -1
  70. package/components/common/controllers/focus-ring.d.ts +21 -11
  71. package/components/common/controllers/focus-ring.js +16 -14
  72. package/components/common/controllers/focus-ring.js.map +1 -1
  73. package/components/common/controllers/gestures.d.ts +1 -0
  74. package/components/common/controllers/gestures.js.map +1 -1
  75. package/components/common/controllers/key-bindings.d.ts +40 -33
  76. package/components/common/controllers/key-bindings.js +83 -71
  77. package/components/common/controllers/key-bindings.js.map +1 -1
  78. package/components/common/controllers/resize-observer.d.ts +11 -8
  79. package/components/common/controllers/resize-observer.js +3 -3
  80. package/components/common/controllers/resize-observer.js.map +1 -1
  81. package/components/common/definitions/defineAllComponents.js +2 -0
  82. package/components/common/definitions/defineAllComponents.js.map +1 -1
  83. package/components/common/i18n/date-range-picker.resources.d.ts +11 -0
  84. package/components/common/i18n/date-range-picker.resources.js +12 -0
  85. package/components/common/i18n/date-range-picker.resources.js.map +1 -0
  86. package/components/common/mixins/combo-box.js +8 -2
  87. package/components/common/mixins/combo-box.js.map +1 -1
  88. package/components/common/mixins/forms/form-value.d.ts +15 -1
  89. package/components/common/mixins/forms/form-value.js +25 -4
  90. package/components/common/mixins/forms/form-value.js.map +1 -1
  91. package/components/common/mixins/option.d.ts +3 -2
  92. package/components/common/mixins/option.js.map +1 -1
  93. package/components/common/part-map.d.ts +17 -0
  94. package/components/common/part-map.js +46 -0
  95. package/components/common/part-map.js.map +1 -0
  96. package/components/common/util.d.ts +5 -6
  97. package/components/common/util.js +17 -22
  98. package/components/common/util.js.map +1 -1
  99. package/components/common/validators.js +3 -7
  100. package/components/common/validators.js.map +1 -1
  101. package/components/date-picker/date-picker.d.ts +37 -37
  102. package/components/date-picker/date-picker.js +142 -140
  103. package/components/date-picker/date-picker.js.map +1 -1
  104. package/components/date-picker/themes/dark/date-picker.bootstrap.css.js +1 -1
  105. package/components/date-picker/themes/dark/date-picker.bootstrap.css.js.map +1 -1
  106. package/components/date-picker/themes/dark/date-picker.fluent.css.js +1 -1
  107. package/components/date-picker/themes/dark/date-picker.fluent.css.js.map +1 -1
  108. package/components/date-picker/themes/dark/date-picker.indigo.css.js +1 -1
  109. package/components/date-picker/themes/dark/date-picker.indigo.css.js.map +1 -1
  110. package/components/date-picker/themes/dark/date-picker.material.css.js +1 -1
  111. package/components/date-picker/themes/dark/date-picker.material.css.js.map +1 -1
  112. package/components/date-picker/themes/light/date-picker.bootstrap.css.js +1 -1
  113. package/components/date-picker/themes/light/date-picker.bootstrap.css.js.map +1 -1
  114. package/components/date-picker/themes/light/date-picker.fluent.css.js +1 -1
  115. package/components/date-picker/themes/light/date-picker.fluent.css.js.map +1 -1
  116. package/components/date-picker/themes/light/date-picker.indigo.css.js +1 -1
  117. package/components/date-picker/themes/light/date-picker.indigo.css.js.map +1 -1
  118. package/components/date-picker/themes/light/date-picker.material.css.js +1 -1
  119. package/components/date-picker/themes/light/date-picker.material.css.js.map +1 -1
  120. package/components/date-picker/themes/light/date-picker.shared.css.js +1 -1
  121. package/components/date-picker/themes/light/date-picker.shared.css.js.map +1 -1
  122. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js +1 -1
  123. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js.map +1 -1
  124. package/components/date-picker/themes/shared/date-picker.common.css.js +1 -1
  125. package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -1
  126. package/components/date-picker/themes/shared/date-picker.fluent.css.js +1 -1
  127. package/components/date-picker/themes/shared/date-picker.fluent.css.js.map +1 -1
  128. package/components/date-picker/themes/shared/date-picker.indigo.css.js +1 -1
  129. package/components/date-picker/themes/shared/date-picker.indigo.css.js.map +1 -1
  130. package/components/date-picker/themes/shared/date-picker.material.css.js +3 -0
  131. package/components/date-picker/themes/shared/date-picker.material.css.js.map +1 -0
  132. package/components/date-picker/themes/themes.js +3 -2
  133. package/components/date-picker/themes/themes.js.map +1 -1
  134. package/components/date-range-picker/date-range-picker.base.css.js +3 -0
  135. package/components/date-range-picker/date-range-picker.base.css.js.map +1 -0
  136. package/components/date-range-picker/date-range-picker.d.ts +365 -0
  137. package/components/date-range-picker/date-range-picker.js +810 -0
  138. package/components/date-range-picker/date-range-picker.js.map +1 -0
  139. package/components/{radio-group/radio-group.base.css.js → date-range-picker/predefined-ranges-area.base.css.js} +2 -2
  140. package/components/date-range-picker/predefined-ranges-area.base.css.js.map +1 -0
  141. package/components/date-range-picker/predefined-ranges-area.d.ts +36 -0
  142. package/components/date-range-picker/predefined-ranges-area.js +115 -0
  143. package/components/date-range-picker/predefined-ranges-area.js.map +1 -0
  144. package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.js +3 -0
  145. package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.js.map +1 -0
  146. package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.d.ts +1 -0
  147. package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.js +3 -0
  148. package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.js.map +1 -0
  149. package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.d.ts +1 -0
  150. package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js +3 -0
  151. package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js.map +1 -0
  152. package/components/date-range-picker/themes/dark/date-range-picker.material.css.d.ts +1 -0
  153. package/components/date-range-picker/themes/dark/date-range-picker.material.css.js +3 -0
  154. package/components/date-range-picker/themes/dark/date-range-picker.material.css.js.map +1 -0
  155. package/components/date-range-picker/themes/light/date-range-picker.bootstrap.css.d.ts +1 -0
  156. package/components/date-range-picker/themes/light/date-range-picker.bootstrap.css.js +3 -0
  157. package/components/date-range-picker/themes/light/date-range-picker.bootstrap.css.js.map +1 -0
  158. package/components/date-range-picker/themes/light/date-range-picker.fluent.css.d.ts +1 -0
  159. package/components/date-range-picker/themes/light/date-range-picker.fluent.css.js +3 -0
  160. package/components/date-range-picker/themes/light/date-range-picker.fluent.css.js.map +1 -0
  161. package/components/date-range-picker/themes/light/date-range-picker.indigo.css.d.ts +1 -0
  162. package/components/date-range-picker/themes/light/date-range-picker.indigo.css.js +3 -0
  163. package/components/date-range-picker/themes/light/date-range-picker.indigo.css.js.map +1 -0
  164. package/components/date-range-picker/themes/light/date-range-picker.material.css.d.ts +1 -0
  165. package/components/date-range-picker/themes/light/date-range-picker.material.css.js +3 -0
  166. package/components/date-range-picker/themes/light/date-range-picker.material.css.js.map +1 -0
  167. package/components/date-range-picker/themes/light/date-range-picker.shared.css.d.ts +1 -0
  168. package/components/date-range-picker/themes/light/date-range-picker.shared.css.js +3 -0
  169. package/components/date-range-picker/themes/light/date-range-picker.shared.css.js.map +1 -0
  170. package/components/date-range-picker/themes/ranges-themes.d.ts +2 -0
  171. package/components/date-range-picker/themes/ranges-themes.js +14 -0
  172. package/components/date-range-picker/themes/ranges-themes.js.map +1 -0
  173. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.d.ts +1 -0
  174. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js +3 -0
  175. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js.map +1 -0
  176. package/components/date-range-picker/themes/shared/date-range-picker.common.css.d.ts +1 -0
  177. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js +3 -0
  178. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js.map +1 -0
  179. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.d.ts +1 -0
  180. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js +3 -0
  181. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js.map +1 -0
  182. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.d.ts +1 -0
  183. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js +3 -0
  184. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js.map +1 -0
  185. package/components/date-range-picker/themes/shared/date-range-picker.material.css.d.ts +1 -0
  186. package/components/date-range-picker/themes/shared/date-range-picker.material.css.js +3 -0
  187. package/components/date-range-picker/themes/shared/date-range-picker.material.css.js.map +1 -0
  188. package/components/date-range-picker/themes/shared/predefined-ranges-area.common.css.d.ts +1 -0
  189. package/components/date-range-picker/themes/shared/predefined-ranges-area.common.css.js +3 -0
  190. package/components/date-range-picker/themes/shared/predefined-ranges-area.common.css.js.map +1 -0
  191. package/components/date-range-picker/themes/shared/predefined-ranges-area.indigo.css.d.ts +1 -0
  192. package/components/date-range-picker/themes/shared/predefined-ranges-area.indigo.css.js +3 -0
  193. package/components/date-range-picker/themes/shared/predefined-ranges-area.indigo.css.js.map +1 -0
  194. package/components/date-range-picker/themes/themes.d.ts +2 -0
  195. package/components/date-range-picker/themes/themes.js +50 -0
  196. package/components/date-range-picker/themes/themes.js.map +1 -0
  197. package/components/date-range-picker/validators.d.ts +26 -0
  198. package/components/date-range-picker/validators.js +57 -0
  199. package/components/date-range-picker/validators.js.map +1 -0
  200. package/components/date-time-input/date-time-input.d.ts +2 -2
  201. package/components/date-time-input/date-time-input.js +8 -10
  202. package/components/date-time-input/date-time-input.js.map +1 -1
  203. package/components/date-time-input/date-util.d.ts +7 -0
  204. package/components/date-time-input/date-util.js +11 -0
  205. package/components/date-time-input/date-util.js.map +1 -1
  206. package/components/dialog/dialog.js +11 -10
  207. package/components/dialog/dialog.js.map +1 -1
  208. package/components/dialog/themes/dialog.base.css.js +1 -1
  209. package/components/dialog/themes/dialog.base.css.js.map +1 -1
  210. package/components/dialog/themes/shared/dialog.indigo.css.js +1 -1
  211. package/components/dialog/themes/shared/dialog.indigo.css.js.map +1 -1
  212. package/components/dropdown/dropdown.js.map +1 -1
  213. package/components/file-input/file-input.d.ts +12 -6
  214. package/components/file-input/file-input.js +23 -19
  215. package/components/file-input/file-input.js.map +1 -1
  216. package/components/file-input/themes/file-input.base.css.js +1 -1
  217. package/components/file-input/themes/file-input.base.css.js.map +1 -1
  218. package/components/input/input-base.d.ts +0 -1
  219. package/components/input/input-base.js +5 -4
  220. package/components/input/input-base.js.map +1 -1
  221. package/components/input/input.d.ts +2 -3
  222. package/components/input/input.js +10 -9
  223. package/components/input/input.js.map +1 -1
  224. package/components/input/themes/dark/input.bootstrap.css.js +1 -1
  225. package/components/input/themes/dark/input.bootstrap.css.js.map +1 -1
  226. package/components/input/themes/dark/input.indigo.css.js +1 -1
  227. package/components/input/themes/dark/input.indigo.css.js.map +1 -1
  228. package/components/input/themes/input.base.css.js +1 -1
  229. package/components/input/themes/input.base.css.js.map +1 -1
  230. package/components/input/themes/light/input.bootstrap.css.js +1 -1
  231. package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
  232. package/components/input/themes/light/input.indigo.css.js +1 -1
  233. package/components/input/themes/light/input.indigo.css.js.map +1 -1
  234. package/components/input/themes/light/input.shared.css.js +1 -1
  235. package/components/input/themes/light/input.shared.css.js.map +1 -1
  236. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  237. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  238. package/components/input/themes/shared/input.common.css.js +1 -1
  239. package/components/input/themes/shared/input.common.css.js.map +1 -1
  240. package/components/input/themes/shared/input.fluent.css.js +1 -1
  241. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  242. package/components/input/themes/shared/input.indigo.css.js +1 -1
  243. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  244. package/components/input/themes/shared/input.material.css.js +1 -1
  245. package/components/input/themes/shared/input.material.css.js.map +1 -1
  246. package/components/mask-input/mask-input.d.ts +2 -3
  247. package/components/mask-input/mask-input.js +13 -12
  248. package/components/mask-input/mask-input.js.map +1 -1
  249. package/components/mask-input/mask-parser.d.ts +100 -14
  250. package/components/mask-input/mask-parser.js +134 -117
  251. package/components/mask-input/mask-parser.js.map +1 -1
  252. package/components/nav-drawer/nav-drawer-item.js +2 -6
  253. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  254. package/components/nav-drawer/nav-drawer.js +5 -6
  255. package/components/nav-drawer/nav-drawer.js.map +1 -1
  256. package/components/progress/base.js +6 -5
  257. package/components/progress/base.js.map +1 -1
  258. package/components/progress/circular-progress.js +7 -15
  259. package/components/progress/circular-progress.js.map +1 -1
  260. package/components/progress/linear-progress.js +5 -5
  261. package/components/progress/linear-progress.js.map +1 -1
  262. package/components/progress/themes/circular/dark/circular.progress.shared.css.js +1 -1
  263. package/components/progress/themes/circular/dark/circular.progress.shared.css.js.map +1 -1
  264. package/components/progress/themes/linear/dark/linear.progress.bootstrap.css.js +1 -1
  265. package/components/progress/themes/linear/dark/linear.progress.bootstrap.css.js.map +1 -1
  266. package/components/progress/themes/linear/dark/linear.progress.shared.css.js +1 -1
  267. package/components/progress/themes/linear/dark/linear.progress.shared.css.js.map +1 -1
  268. package/components/radio/radio.d.ts +11 -12
  269. package/components/radio/radio.js +39 -44
  270. package/components/radio/radio.js.map +1 -1
  271. package/components/radio/utils.js +6 -3
  272. package/components/radio/utils.js.map +1 -1
  273. package/components/radio-group/radio-group.d.ts +2 -1
  274. package/components/radio-group/radio-group.js +23 -10
  275. package/components/radio-group/radio-group.js.map +1 -1
  276. package/components/radio-group/themes/dark/radio-group.bootstrap.css.d.ts +1 -0
  277. package/components/radio-group/themes/dark/radio-group.bootstrap.css.js +3 -0
  278. package/components/radio-group/themes/dark/radio-group.bootstrap.css.js.map +1 -0
  279. package/components/radio-group/themes/dark/radio-group.fluent.css.d.ts +1 -0
  280. package/components/radio-group/themes/dark/radio-group.fluent.css.js +3 -0
  281. package/components/radio-group/themes/dark/radio-group.fluent.css.js.map +1 -0
  282. package/components/radio-group/themes/dark/radio-group.indigo.css.d.ts +1 -0
  283. package/components/radio-group/themes/dark/radio-group.indigo.css.js +3 -0
  284. package/components/radio-group/themes/dark/radio-group.indigo.css.js.map +1 -0
  285. package/components/radio-group/themes/dark/radio-group.material.css.d.ts +1 -0
  286. package/components/radio-group/themes/dark/radio-group.material.css.js +3 -0
  287. package/components/radio-group/themes/dark/radio-group.material.css.js.map +1 -0
  288. package/components/radio-group/themes/light/radio-group.bootstrap.css.d.ts +1 -0
  289. package/components/radio-group/themes/light/radio-group.bootstrap.css.js +3 -0
  290. package/components/radio-group/themes/light/radio-group.bootstrap.css.js.map +1 -0
  291. package/components/radio-group/themes/light/radio-group.fluent.css.d.ts +1 -0
  292. package/components/radio-group/themes/light/radio-group.fluent.css.js +3 -0
  293. package/components/radio-group/themes/light/radio-group.fluent.css.js.map +1 -0
  294. package/components/radio-group/themes/light/radio-group.indigo.css.d.ts +1 -0
  295. package/components/radio-group/themes/light/radio-group.indigo.css.js +3 -0
  296. package/components/radio-group/themes/light/radio-group.indigo.css.js.map +1 -0
  297. package/components/radio-group/themes/light/radio-group.material.css.d.ts +1 -0
  298. package/components/radio-group/themes/light/radio-group.material.css.js +3 -0
  299. package/components/radio-group/themes/light/radio-group.material.css.js.map +1 -0
  300. package/components/radio-group/themes/light/radio-group.shared.css.d.ts +1 -0
  301. package/components/radio-group/themes/light/radio-group.shared.css.js +3 -0
  302. package/components/radio-group/themes/light/radio-group.shared.css.js.map +1 -0
  303. package/components/radio-group/themes/radio-group.base.css.d.ts +1 -0
  304. package/components/radio-group/themes/radio-group.base.css.js +3 -0
  305. package/components/radio-group/themes/radio-group.base.css.js.map +1 -0
  306. package/components/radio-group/themes/shared/radio-group.bootstrap.css.d.ts +1 -0
  307. package/components/radio-group/themes/shared/radio-group.bootstrap.css.js +3 -0
  308. package/components/radio-group/themes/shared/radio-group.bootstrap.css.js.map +1 -0
  309. package/components/radio-group/themes/shared/radio-group.common.css.d.ts +1 -0
  310. package/components/radio-group/themes/shared/radio-group.common.css.js +3 -0
  311. package/components/radio-group/themes/shared/radio-group.common.css.js.map +1 -0
  312. package/components/radio-group/themes/shared/radio-group.fluent.css.d.ts +1 -0
  313. package/components/radio-group/themes/shared/radio-group.fluent.css.js +3 -0
  314. package/components/radio-group/themes/shared/radio-group.fluent.css.js.map +1 -0
  315. package/components/radio-group/themes/shared/radio-group.indigo.css.d.ts +1 -0
  316. package/components/radio-group/themes/shared/radio-group.indigo.css.js +3 -0
  317. package/components/radio-group/themes/shared/radio-group.indigo.css.js.map +1 -0
  318. package/components/radio-group/themes/shared/radio-group.material.css.d.ts +1 -0
  319. package/components/radio-group/themes/shared/radio-group.material.css.js +3 -0
  320. package/components/radio-group/themes/shared/radio-group.material.css.js.map +1 -0
  321. package/components/radio-group/themes/themes.d.ts +2 -0
  322. package/components/radio-group/themes/themes.js +50 -0
  323. package/components/radio-group/themes/themes.js.map +1 -0
  324. package/components/rating/rating.d.ts +2 -2
  325. package/components/rating/rating.js +4 -4
  326. package/components/rating/rating.js.map +1 -1
  327. package/components/resize-container/resize-container.js +4 -4
  328. package/components/resize-container/resize-container.js.map +1 -1
  329. package/components/select/select.d.ts +2 -2
  330. package/components/select/select.js +11 -10
  331. package/components/select/select.js.map +1 -1
  332. package/components/select/themes/shared/select.fluent.css.js +1 -1
  333. package/components/select/themes/shared/select.fluent.css.js.map +1 -1
  334. package/components/slider/range-slider.js +1 -1
  335. package/components/slider/range-slider.js.map +1 -1
  336. package/components/slider/slider-base.js +1 -1
  337. package/components/slider/slider-base.js.map +1 -1
  338. package/components/slider/slider.d.ts +2 -3
  339. package/components/slider/slider.js +7 -7
  340. package/components/slider/slider.js.map +1 -1
  341. package/components/stepper/step.js +3 -3
  342. package/components/stepper/step.js.map +1 -1
  343. package/components/stepper/themes/step/dark/step.indigo.css.js +1 -1
  344. package/components/stepper/themes/step/dark/step.indigo.css.js.map +1 -1
  345. package/components/stepper/themes/step/light/step.bootstrap.css.js +1 -1
  346. package/components/stepper/themes/step/light/step.bootstrap.css.js.map +1 -1
  347. package/components/stepper/themes/step/light/step.fluent.css.js +1 -1
  348. package/components/stepper/themes/step/light/step.fluent.css.js.map +1 -1
  349. package/components/stepper/themes/step/light/step.indigo.css.js +1 -1
  350. package/components/stepper/themes/step/light/step.indigo.css.js.map +1 -1
  351. package/components/stepper/themes/step/light/step.material.css.js +1 -1
  352. package/components/stepper/themes/step/light/step.material.css.js.map +1 -1
  353. package/components/stepper/themes/step/light/step.shared.css.js +1 -1
  354. package/components/stepper/themes/step/light/step.shared.css.js.map +1 -1
  355. package/components/tabs/tab-dom.d.ts +2 -2
  356. package/components/tabs/tab-dom.js +15 -2
  357. package/components/tabs/tab-dom.js.map +1 -1
  358. package/components/tabs/tabs.d.ts +2 -1
  359. package/components/tabs/tabs.js +10 -8
  360. package/components/tabs/tabs.js.map +1 -1
  361. package/components/tabs/themes/dark/tab.indigo.css.js +1 -1
  362. package/components/tabs/themes/dark/tab.indigo.css.js.map +1 -1
  363. package/components/tabs/themes/light/tab.indigo.css.js +1 -1
  364. package/components/tabs/themes/light/tab.indigo.css.js.map +1 -1
  365. package/components/tabs/themes/tab.base.css.js +1 -1
  366. package/components/tabs/themes/tab.base.css.js.map +1 -1
  367. package/components/textarea/textarea.d.ts +30 -33
  368. package/components/textarea/textarea.js +95 -96
  369. package/components/textarea/textarea.js.map +1 -1
  370. package/components/textarea/themes/dark/textarea.bootstrap.css.js +1 -1
  371. package/components/textarea/themes/dark/textarea.bootstrap.css.js.map +1 -1
  372. package/components/textarea/themes/dark/textarea.indigo.css.js +1 -1
  373. package/components/textarea/themes/dark/textarea.indigo.css.js.map +1 -1
  374. package/components/textarea/themes/light/textarea.bootstrap.css.js +1 -1
  375. package/components/textarea/themes/light/textarea.bootstrap.css.js.map +1 -1
  376. package/components/textarea/themes/light/textarea.indigo.css.js +1 -1
  377. package/components/textarea/themes/light/textarea.indigo.css.js.map +1 -1
  378. package/components/textarea/themes/light/textarea.shared.css.js +1 -1
  379. package/components/textarea/themes/light/textarea.shared.css.js.map +1 -1
  380. package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
  381. package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
  382. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  383. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  384. package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
  385. package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
  386. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  387. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  388. package/components/textarea/themes/textarea.base.css.js +1 -1
  389. package/components/textarea/themes/textarea.base.css.js.map +1 -1
  390. package/components/tile-manager/tile-manager.js +5 -4
  391. package/components/tile-manager/tile-manager.js.map +1 -1
  392. package/components/tile-manager/tile.js +6 -5
  393. package/components/tile-manager/tile.js.map +1 -1
  394. package/components/tooltip/tooltip.d.ts +24 -9
  395. package/components/tooltip/tooltip.js +22 -19
  396. package/components/tooltip/tooltip.js.map +1 -1
  397. package/components/tree/tree-item.js +5 -3
  398. package/components/tree/tree-item.js.map +1 -1
  399. package/components/types.d.ts +1 -1
  400. package/components/types.js.map +1 -1
  401. package/components/validation-container/themes/dark/validator.indigo.css.js +1 -1
  402. package/components/validation-container/themes/dark/validator.indigo.css.js.map +1 -1
  403. package/components/validation-container/validation-container.js +4 -11
  404. package/components/validation-container/validation-container.js.map +1 -1
  405. package/custom-elements.json +21925 -18034
  406. package/igniteui-webcomponents.css-data.json +1 -1
  407. package/igniteui-webcomponents.html-data.json +1 -1
  408. package/index.d.ts +4 -1
  409. package/index.js +1 -0
  410. package/index.js.map +1 -1
  411. package/package.json +3 -2
  412. package/themes/dark/bootstrap.css +1 -1
  413. package/themes/dark/fluent.css +1 -1
  414. package/themes/dark/indigo.css +1 -1
  415. package/themes/dark/material.css +1 -1
  416. package/themes/light/bootstrap.css +1 -1
  417. package/themes/light/fluent.css +1 -1
  418. package/themes/light/indigo.css +1 -1
  419. package/themes/light/material.css +1 -1
  420. package/web-types.json +2 -2
  421. package/components/radio-group/radio-group.base.css.js.map +0 -1
  422. package/components/radio-group/radio-group.fluent.css.js +0 -3
  423. package/components/radio-group/radio-group.fluent.css.js.map +0 -1
  424. package/components/radio-group/radio-group.indigo.css.js +0 -3
  425. package/components/radio-group/radio-group.indigo.css.js.map +0 -1
  426. package/components/radio-group/radio-group.material.css.js +0 -3
  427. package/components/radio-group/radio-group.material.css.js.map +0 -1
  428. /package/components/{radio-group/radio-group.base.css.d.ts → date-picker/themes/shared/date-picker.material.css.d.ts} +0 -0
  429. /package/components/{radio-group/radio-group.fluent.css.d.ts → date-range-picker/date-range-picker.base.css.d.ts} +0 -0
  430. /package/components/{radio-group/radio-group.indigo.css.d.ts → date-range-picker/predefined-ranges-area.base.css.d.ts} +0 -0
  431. /package/components/{radio-group/radio-group.material.css.d.ts → date-range-picker/themes/dark/date-range-picker.bootstrap.css.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/dialog/themes/shared/dialog.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,mnBAAmnB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part=title],[part=footer]{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom);margin:0}[part=title]{padding:1.5rem 1.5rem 0}[part=content]{padding:1rem 1.5rem}[part=footer]{padding:1rem 1.5rem 1.5rem}[part=base] ::slotted(igc-button){--ig-size: 2}slot[name=footer]::slotted(:last-child){margin-inline-start:1rem}`;\n"]}
1
+ {"version":3,"file":"dialog.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/dialog/themes/shared/dialog.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,2jBAA2jB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part=title],[part=footer]{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom);margin:0}[part=title]{padding:1.5rem 1.5rem 0}[part=content]{padding:1rem 1.5rem}[part=footer]{padding:1rem 1.5rem 1.5rem;gap:1rem}[part=base] ::slotted(igc-button){--ig-size: 2}`;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport {\n type KeyBindingObserverCleanup,\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n endKey,\n enterKey,\n escapeKey,\n homeKey,\n tabKey,\n} from '../common/controllers/key-bindings.js';\nimport { addRootScrollHandler } from '../common/controllers/root-scroll.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n IgcBaseComboBoxLikeComponent,\n getActiveItems,\n getItems,\n getNextActiveItem,\n getPreviousActiveItem,\n setInitialSelectionState,\n} from '../common/mixins/combo-box.js';\nimport type { AbstractConstructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport {\n findElementFromEventPath,\n getElementByIdFromRoot,\n isString,\n} from '../common/util.js';\nimport IgcPopoverComponent, {\n type PopoverPlacement,\n} from '../popover/popover.js';\nimport type { PopoverScrollStrategy } from '../types.js';\nimport IgcDropdownGroupComponent from './dropdown-group.js';\nimport IgcDropdownHeaderComponent from './dropdown-header.js';\nimport IgcDropdownItemComponent from './dropdown-item.js';\nimport { all } from './themes/container.js';\nimport { styles } from './themes/dropdown.base.css.js';\nimport { styles as shared } from './themes/shared/dropdown.common.css.js';\n\nexport interface IgcDropdownComponentEventMap {\n igcOpening: CustomEvent<void>;\n igcOpened: CustomEvent<void>;\n igcClosing: CustomEvent<void>;\n igcClosed: CustomEvent<void>;\n igcChange: CustomEvent<IgcDropdownItemComponent>;\n}\n\n/**\n * Represents a DropDown component.\n *\n * @element igc-dropdown\n *\n * @fires igcChange - Emitted when the selected item changes.\n * @fires igcOpening - Emitted just before the dropdown is open.\n * @fires igcOpened - Emitted after the dropdown is open.\n * @fires igcClosing - Emitter just before the dropdown is closed.\n * @fires igcClosed - Emitted after closing the dropdown.\n *\n * @slot target - Renders the dropdown's target element.\n * @slot - Renders the dropdown list items.\n *\n * @csspart base - The dropdown list wrapper container.\n * @csspart list - The dropdown list element.\n */\n@themes(all)\n@blazorAdditionalDependencies(\n 'IgcDropdownItemComponent, IgcDropdownHeaderComponent, IgcDropdownGroupComponent'\n)\nexport default class IgcDropdownComponent extends EventEmitterMixin<\n IgcDropdownComponentEventMap,\n AbstractConstructor<IgcBaseComboBoxLikeComponent>\n>(IgcBaseComboBoxLikeComponent) {\n public static readonly tagName = 'igc-dropdown';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n IgcDropdownComponent,\n IgcDropdownGroupComponent,\n IgcDropdownHeaderComponent,\n IgcDropdownItemComponent,\n IgcPopoverComponent\n );\n }\n\n private _keyBindings: ReturnType<typeof addKeybindings>;\n\n private _rootScrollController = addRootScrollHandler(this, {\n hideCallback: this.handleClosing,\n });\n\n @state()\n protected _selectedItem: IgcDropdownItemComponent | null = null;\n\n @state()\n protected _activeItem!: IgcDropdownItemComponent;\n\n private get _activeItems() {\n return Array.from(\n getActiveItems<IgcDropdownItemComponent>(\n this,\n IgcDropdownItemComponent.tagName\n )\n );\n }\n\n private _targetListeners!: KeyBindingObserverCleanup;\n\n @state()\n private _target?: HTMLElement;\n\n @query('slot[name=\"target\"]', true)\n protected trigger!: HTMLSlotElement;\n\n /** The preferred placement of the component around the target element.\n * @attr\n */\n @property()\n public placement: PopoverPlacement = 'bottom-start';\n\n /**\n * Determines the behavior of the component during scrolling of the parent container.\n * @attr scroll-strategy\n */\n @property({ attribute: 'scroll-strategy' })\n public scrollStrategy: PopoverScrollStrategy = 'scroll';\n\n /**\n * Whether the component should be flipped to the opposite side of the target once it's about to overflow the visible area.\n * When true, once enough space is detected on its preferred side, it will flip back.\n * @attr\n */\n @property({ type: Boolean })\n public flip = false;\n\n /**\n * The distance from the target element.\n * @attr\n */\n @property({ type: Number })\n public distance = 0;\n\n /**\n * Whether the dropdown's width should be the same as the target's one.\n * @attr same-width\n */\n @property({ type: Boolean, attribute: 'same-width' })\n public sameWidth = false;\n\n /** Returns the items of the dropdown. */\n public get items() {\n return Array.from(\n getItems<IgcDropdownItemComponent>(this, IgcDropdownItemComponent.tagName)\n );\n }\n\n /** Returns the group items of the dropdown. */\n public get groups() {\n return Array.from(\n getItems<IgcDropdownGroupComponent>(\n this,\n IgcDropdownGroupComponent.tagName\n )\n );\n }\n\n /** Returns the selected item from the dropdown or null. */\n public get selectedItem() {\n return this._selectedItem;\n }\n\n @watch('scrollStrategy', { waitUntilFirstUpdate: true })\n protected scrollStrategyChanged() {\n this._rootScrollController.update({ resetListeners: true });\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n @watch('keepOpenOnOutsideClick', { waitUntilFirstUpdate: true })\n protected openStateChange() {\n this._updateAnchorAccessibility(this._target);\n this._rootClickController.update();\n this._rootScrollController.update();\n\n if (!this.open) {\n this._target = undefined;\n this._targetListeners?.unsubscribe();\n this._rootClickController.update({ target: undefined });\n }\n }\n\n constructor() {\n super();\n\n this._rootClickController.update({ hideCallback: this.handleClosing });\n\n this._keyBindings = addKeybindings(this, {\n skip: () => !this.open,\n bindingDefaults: { preventDefault: true, triggers: ['keydownRepeat'] },\n })\n .set(tabKey, this.onTabKey, {\n preventDefault: false,\n })\n .set(escapeKey, this.onEscapeKey)\n .set(arrowUp, this.onArrowUp)\n .set(arrowLeft, this.onArrowUp)\n .set(arrowDown, this.onArrowDown)\n .set(arrowRight, this.onArrowDown)\n .set(enterKey, this.onEnterKey)\n .set(homeKey, this.onHomeKey)\n .set(endKey, this.onEndKey);\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n const selected = setInitialSelectionState(this.items);\n if (selected) {\n this._selectItem(selected, false);\n }\n }\n\n public override disconnectedCallback() {\n this._targetListeners?.unsubscribe();\n super.disconnectedCallback();\n }\n\n private handleListBoxClick(event: MouseEvent) {\n const item = findElementFromEventPath<IgcDropdownItemComponent>(\n IgcDropdownItemComponent.tagName,\n event\n );\n if (item && this._activeItems.includes(item)) {\n this._selectItem(item);\n }\n }\n\n private handleChange(item: IgcDropdownItemComponent) {\n this.emitEvent('igcChange', { detail: item });\n }\n\n private handleSlotChange() {\n this._updateAnchorAccessibility();\n }\n\n private onArrowUp() {\n this._navigateToActiveItem(\n getPreviousActiveItem(this.items, this._activeItem)\n );\n }\n\n private onArrowDown() {\n this._navigateToActiveItem(getNextActiveItem(this.items, this._activeItem));\n }\n\n protected onHomeKey() {\n this._navigateToActiveItem(this._activeItems.at(0));\n }\n\n protected onEndKey() {\n this._navigateToActiveItem(this._activeItems.at(-1));\n }\n\n protected onTabKey() {\n if (this._activeItem) {\n this._selectItem(this._activeItem);\n }\n if (this.open) {\n this._hide(true);\n }\n }\n\n protected onEscapeKey() {\n this._hide(true);\n }\n\n protected onEnterKey() {\n this._selectItem(this._activeItem);\n }\n\n protected handleClosing() {\n this._hide(true);\n }\n\n private activateItem(item: IgcDropdownItemComponent) {\n if (this._activeItem) {\n this._activeItem.active = false;\n }\n\n this._activeItem = item;\n this._activeItem.active = true;\n }\n\n private _navigateToActiveItem(item?: IgcDropdownItemComponent) {\n if (item) {\n this.activateItem(item);\n item.scrollIntoView({ behavior: 'auto', block: 'nearest' });\n }\n }\n\n private _selectItem(item: IgcDropdownItemComponent, emit = true) {\n if (this._selectedItem) {\n this._selectedItem.selected = false;\n }\n\n this.activateItem(item);\n this._selectedItem = item;\n this._selectedItem.selected = true;\n\n if (emit) this.handleChange(this._selectedItem);\n if (emit && !this.keepOpenOnSelect) this._hide(true);\n\n return this._selectedItem;\n }\n\n private _updateAnchorAccessibility(anchor?: HTMLElement | null) {\n const target =\n anchor ?? this.trigger.assignedElements({ flatten: true }).at(0);\n\n // Find tabbable elements ?\n if (target) {\n target.setAttribute('aria-haspopup', 'true');\n target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n }\n\n private getItem(value: string) {\n return this.items.find((item) => item.value === value);\n }\n\n private _setTarget(anchor: HTMLElement | string) {\n const target = isString(anchor)\n ? getElementByIdFromRoot(this, anchor)!\n : anchor;\n\n this._target = target;\n this._targetListeners = this._keyBindings.observeElement(target);\n this._rootClickController.update({ target });\n }\n\n /* blazorSuppress */\n /** Shows the component. */\n public override async show(target?: HTMLElement | string): Promise<boolean> {\n if (target) {\n this._setTarget(target);\n }\n return super.show();\n }\n\n /* blazorSuppress */\n /** Toggles the open state of the component. */\n public override async toggle(\n target?: HTMLElement | string\n ): Promise<boolean> {\n return this.open ? this.hide() : this.show(target);\n }\n\n /* blazorSuppress */\n /** Navigates to the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string): IgcDropdownItemComponent | null;\n /* blazorSuppress */\n /** Navigates to the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public navigateTo(index: number): IgcDropdownItemComponent | null;\n /* blazorSuppress */\n /** Navigates to the specified item. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string | number): IgcDropdownItemComponent | null {\n const item = isString(value) ? this.getItem(value) : this.items[value];\n\n if (item) {\n this._navigateToActiveItem(item);\n }\n\n return item ?? null;\n }\n\n /* blazorSuppress */\n /** Selects the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public select(value: string): IgcDropdownItemComponent | null;\n /* blazorSuppress */\n /** Selects the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public select(index: number): IgcDropdownItemComponent | null;\n /* blazorSuppress */\n /** Selects the specified item. If it exists, returns the found item, otherwise - null. */\n public select(value: string | number): IgcDropdownItemComponent | null {\n const item = isString(value) ? this.getItem(value) : this.items[value];\n return item ? this._selectItem(item, false) : null;\n }\n\n /** Clears the current selection of the dropdown. */\n public clearSelection() {\n if (this._selectedItem) {\n this._selectedItem.selected = false;\n }\n this._selectedItem = null;\n }\n\n protected override render() {\n return html`<igc-popover\n ?open=${this.open}\n ?flip=${this.flip}\n ?same-width=${this.sameWidth}\n .anchor=${this._target}\n .offset=${this.distance}\n .placement=${this.placement}\n shift\n >\n <slot\n id=\"dropdown-target\"\n name=\"target\"\n slot=\"anchor\"\n @click=${this.handleAnchorClick}\n @slotchange=${this.handleSlotChange}\n ></slot>\n <div part=\"base\" @click=${this.handleListBoxClick} .inert=${!this.open}>\n <div\n id=\"dropdown-list\"\n role=\"listbox\"\n part=\"list\"\n aria-labelledby=\"dropdown-target\"\n >\n <slot></slot>\n </div>\n </div>\n </igc-popover>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown': IgcDropdownComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport {\n type KeyBindingController,\n type KeyBindingObserverCleanup,\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n endKey,\n enterKey,\n escapeKey,\n homeKey,\n tabKey,\n} from '../common/controllers/key-bindings.js';\nimport { addRootScrollHandler } from '../common/controllers/root-scroll.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n IgcBaseComboBoxLikeComponent,\n getActiveItems,\n getItems,\n getNextActiveItem,\n getPreviousActiveItem,\n setInitialSelectionState,\n} from '../common/mixins/combo-box.js';\nimport type { AbstractConstructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport {\n findElementFromEventPath,\n getElementByIdFromRoot,\n isString,\n} from '../common/util.js';\nimport IgcPopoverComponent, {\n type PopoverPlacement,\n} from '../popover/popover.js';\nimport type { PopoverScrollStrategy } from '../types.js';\nimport IgcDropdownGroupComponent from './dropdown-group.js';\nimport IgcDropdownHeaderComponent from './dropdown-header.js';\nimport IgcDropdownItemComponent from './dropdown-item.js';\nimport { all } from './themes/container.js';\nimport { styles } from './themes/dropdown.base.css.js';\nimport { styles as shared } from './themes/shared/dropdown.common.css.js';\n\nexport interface IgcDropdownComponentEventMap {\n igcOpening: CustomEvent<void>;\n igcOpened: CustomEvent<void>;\n igcClosing: CustomEvent<void>;\n igcClosed: CustomEvent<void>;\n igcChange: CustomEvent<IgcDropdownItemComponent>;\n}\n\n/**\n * Represents a DropDown component.\n *\n * @element igc-dropdown\n *\n * @fires igcChange - Emitted when the selected item changes.\n * @fires igcOpening - Emitted just before the dropdown is open.\n * @fires igcOpened - Emitted after the dropdown is open.\n * @fires igcClosing - Emitter just before the dropdown is closed.\n * @fires igcClosed - Emitted after closing the dropdown.\n *\n * @slot target - Renders the dropdown's target element.\n * @slot - Renders the dropdown list items.\n *\n * @csspart base - The dropdown list wrapper container.\n * @csspart list - The dropdown list element.\n */\n@themes(all)\n@blazorAdditionalDependencies(\n 'IgcDropdownItemComponent, IgcDropdownHeaderComponent, IgcDropdownGroupComponent'\n)\nexport default class IgcDropdownComponent extends EventEmitterMixin<\n IgcDropdownComponentEventMap,\n AbstractConstructor<IgcBaseComboBoxLikeComponent>\n>(IgcBaseComboBoxLikeComponent) {\n public static readonly tagName = 'igc-dropdown';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n IgcDropdownComponent,\n IgcDropdownGroupComponent,\n IgcDropdownHeaderComponent,\n IgcDropdownItemComponent,\n IgcPopoverComponent\n );\n }\n\n private _keyBindings: KeyBindingController;\n\n private _rootScrollController = addRootScrollHandler(this, {\n hideCallback: this.handleClosing,\n });\n\n @state()\n protected _selectedItem: IgcDropdownItemComponent | null = null;\n\n @state()\n protected _activeItem!: IgcDropdownItemComponent;\n\n private get _activeItems() {\n return Array.from(\n getActiveItems<IgcDropdownItemComponent>(\n this,\n IgcDropdownItemComponent.tagName\n )\n );\n }\n\n private _targetListeners!: KeyBindingObserverCleanup;\n\n @state()\n private _target?: HTMLElement;\n\n @query('slot[name=\"target\"]', true)\n protected trigger!: HTMLSlotElement;\n\n /** The preferred placement of the component around the target element.\n * @attr\n */\n @property()\n public placement: PopoverPlacement = 'bottom-start';\n\n /**\n * Determines the behavior of the component during scrolling of the parent container.\n * @attr scroll-strategy\n */\n @property({ attribute: 'scroll-strategy' })\n public scrollStrategy: PopoverScrollStrategy = 'scroll';\n\n /**\n * Whether the component should be flipped to the opposite side of the target once it's about to overflow the visible area.\n * When true, once enough space is detected on its preferred side, it will flip back.\n * @attr\n */\n @property({ type: Boolean })\n public flip = false;\n\n /**\n * The distance from the target element.\n * @attr\n */\n @property({ type: Number })\n public distance = 0;\n\n /**\n * Whether the dropdown's width should be the same as the target's one.\n * @attr same-width\n */\n @property({ type: Boolean, attribute: 'same-width' })\n public sameWidth = false;\n\n /** Returns the items of the dropdown. */\n public get items() {\n return Array.from(\n getItems<IgcDropdownItemComponent>(this, IgcDropdownItemComponent.tagName)\n );\n }\n\n /** Returns the group items of the dropdown. */\n public get groups() {\n return Array.from(\n getItems<IgcDropdownGroupComponent>(\n this,\n IgcDropdownGroupComponent.tagName\n )\n );\n }\n\n /** Returns the selected item from the dropdown or null. */\n public get selectedItem() {\n return this._selectedItem;\n }\n\n @watch('scrollStrategy', { waitUntilFirstUpdate: true })\n protected scrollStrategyChanged() {\n this._rootScrollController.update({ resetListeners: true });\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n @watch('keepOpenOnOutsideClick', { waitUntilFirstUpdate: true })\n protected openStateChange() {\n this._updateAnchorAccessibility(this._target);\n this._rootClickController.update();\n this._rootScrollController.update();\n\n if (!this.open) {\n this._target = undefined;\n this._targetListeners?.unsubscribe();\n this._rootClickController.update({ target: undefined });\n }\n }\n\n constructor() {\n super();\n\n this._rootClickController.update({ hideCallback: this.handleClosing });\n\n this._keyBindings = addKeybindings(this, {\n skip: () => !this.open,\n bindingDefaults: { preventDefault: true, triggers: ['keydownRepeat'] },\n })\n .set(tabKey, this.onTabKey, {\n preventDefault: false,\n })\n .set(escapeKey, this.onEscapeKey)\n .set(arrowUp, this.onArrowUp)\n .set(arrowLeft, this.onArrowUp)\n .set(arrowDown, this.onArrowDown)\n .set(arrowRight, this.onArrowDown)\n .set(enterKey, this.onEnterKey)\n .set(homeKey, this.onHomeKey)\n .set(endKey, this.onEndKey);\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n const selected = setInitialSelectionState(this.items);\n if (selected) {\n this._selectItem(selected, false);\n }\n }\n\n public override disconnectedCallback() {\n this._targetListeners?.unsubscribe();\n super.disconnectedCallback();\n }\n\n private handleListBoxClick(event: MouseEvent) {\n const item = findElementFromEventPath<IgcDropdownItemComponent>(\n IgcDropdownItemComponent.tagName,\n event\n );\n if (item && this._activeItems.includes(item)) {\n this._selectItem(item);\n }\n }\n\n private handleChange(item: IgcDropdownItemComponent) {\n this.emitEvent('igcChange', { detail: item });\n }\n\n private handleSlotChange() {\n this._updateAnchorAccessibility();\n }\n\n private onArrowUp() {\n this._navigateToActiveItem(\n getPreviousActiveItem(this.items, this._activeItem)\n );\n }\n\n private onArrowDown() {\n this._navigateToActiveItem(getNextActiveItem(this.items, this._activeItem));\n }\n\n protected onHomeKey() {\n this._navigateToActiveItem(this._activeItems.at(0));\n }\n\n protected onEndKey() {\n this._navigateToActiveItem(this._activeItems.at(-1));\n }\n\n protected onTabKey() {\n if (this._activeItem) {\n this._selectItem(this._activeItem);\n }\n if (this.open) {\n this._hide(true);\n }\n }\n\n protected onEscapeKey() {\n this._hide(true);\n }\n\n protected onEnterKey() {\n this._selectItem(this._activeItem);\n }\n\n protected handleClosing() {\n this._hide(true);\n }\n\n private activateItem(item: IgcDropdownItemComponent) {\n if (this._activeItem) {\n this._activeItem.active = false;\n }\n\n this._activeItem = item;\n this._activeItem.active = true;\n }\n\n private _navigateToActiveItem(item?: IgcDropdownItemComponent) {\n if (item) {\n this.activateItem(item);\n item.scrollIntoView({ behavior: 'auto', block: 'nearest' });\n }\n }\n\n private _selectItem(item: IgcDropdownItemComponent, emit = true) {\n if (this._selectedItem) {\n this._selectedItem.selected = false;\n }\n\n this.activateItem(item);\n this._selectedItem = item;\n this._selectedItem.selected = true;\n\n if (emit) this.handleChange(this._selectedItem);\n if (emit && !this.keepOpenOnSelect) this._hide(true);\n\n return this._selectedItem;\n }\n\n private _updateAnchorAccessibility(anchor?: HTMLElement | null) {\n const target =\n anchor ?? this.trigger.assignedElements({ flatten: true }).at(0);\n\n // Find tabbable elements ?\n if (target) {\n target.setAttribute('aria-haspopup', 'true');\n target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n }\n\n private getItem(value: string) {\n return this.items.find((item) => item.value === value);\n }\n\n private _setTarget(anchor: HTMLElement | string) {\n const target = isString(anchor)\n ? getElementByIdFromRoot(this, anchor)!\n : anchor;\n\n this._target = target;\n this._targetListeners = this._keyBindings.observeElement(target);\n this._rootClickController.update({ target });\n }\n\n /* blazorSuppress */\n /** Shows the component. */\n public override async show(target?: HTMLElement | string): Promise<boolean> {\n if (target) {\n this._setTarget(target);\n }\n return super.show();\n }\n\n /* blazorSuppress */\n /** Toggles the open state of the component. */\n public override async toggle(\n target?: HTMLElement | string\n ): Promise<boolean> {\n return this.open ? this.hide() : this.show(target);\n }\n\n /* blazorSuppress */\n /** Navigates to the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string): IgcDropdownItemComponent | null;\n /* blazorSuppress */\n /** Navigates to the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public navigateTo(index: number): IgcDropdownItemComponent | null;\n /* blazorSuppress */\n /** Navigates to the specified item. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string | number): IgcDropdownItemComponent | null {\n const item = isString(value) ? this.getItem(value) : this.items[value];\n\n if (item) {\n this._navigateToActiveItem(item);\n }\n\n return item ?? null;\n }\n\n /* blazorSuppress */\n /** Selects the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public select(value: string): IgcDropdownItemComponent | null;\n /* blazorSuppress */\n /** Selects the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public select(index: number): IgcDropdownItemComponent | null;\n /* blazorSuppress */\n /** Selects the specified item. If it exists, returns the found item, otherwise - null. */\n public select(value: string | number): IgcDropdownItemComponent | null {\n const item = isString(value) ? this.getItem(value) : this.items[value];\n return item ? this._selectItem(item, false) : null;\n }\n\n /** Clears the current selection of the dropdown. */\n public clearSelection() {\n if (this._selectedItem) {\n this._selectedItem.selected = false;\n }\n this._selectedItem = null;\n }\n\n protected override render() {\n return html`<igc-popover\n ?open=${this.open}\n ?flip=${this.flip}\n ?same-width=${this.sameWidth}\n .anchor=${this._target}\n .offset=${this.distance}\n .placement=${this.placement}\n shift\n >\n <slot\n id=\"dropdown-target\"\n name=\"target\"\n slot=\"anchor\"\n @click=${this.handleAnchorClick}\n @slotchange=${this.handleSlotChange}\n ></slot>\n <div part=\"base\" @click=${this.handleListBoxClick} .inert=${!this.open}>\n <div\n id=\"dropdown-list\"\n role=\"listbox\"\n part=\"list\"\n aria-labelledby=\"dropdown-target\"\n >\n <slot></slot>\n </div>\n </div>\n </igc-popover>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown': IgcDropdownComponent;\n }\n}\n"]}
@@ -1,5 +1,11 @@
1
- import { type FormValue } from '../common/mixins/forms/form-value.js';
2
- import { IgcInputBaseComponent } from '../input/input-base.js';
1
+ import type { AbstractConstructor } from '../common/mixins/constructor.js';
2
+ import { type FormValueOf } from '../common/mixins/forms/form-value.js';
3
+ import { IgcInputBaseComponent, type IgcInputComponentEventMap } from '../input/input-base.js';
4
+ export interface IgcFileInputComponentEventMap extends Omit<IgcInputComponentEventMap, 'igcChange' | 'igcInput'> {
5
+ igcCancel: CustomEvent<FileList>;
6
+ igcChange: CustomEvent<FileList>;
7
+ }
8
+ declare const IgcFileInputComponent_base: import("../common/mixins/constructor.js").Constructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcFileInputComponentEventMap>> & AbstractConstructor<IgcInputBaseComponent>;
3
9
  /**
4
10
  * @element igc-file-input
5
11
  *
@@ -25,12 +31,12 @@ import { IgcInputBaseComponent } from '../input/input-base.js';
25
31
  * @csspart suffix - The suffix wrapper.
26
32
  * @csspart helper-text - The helper text wrapper.
27
33
  */
28
- export default class IgcFileInputComponent extends IgcInputBaseComponent {
34
+ export default class IgcFileInputComponent extends IgcFileInputComponent_base {
29
35
  static readonly tagName = "igc-file-input";
30
36
  static styles: import("lit").CSSResult[];
31
37
  static register(): void;
32
38
  protected get __validators(): import("../common/validators.js").Validator<IgcFileInputComponent>[];
33
- protected _formValue: FormValue<FileList | null>;
39
+ protected readonly _formValue: FormValueOf<FileList | null>;
34
40
  private _hasActivation;
35
41
  private get _fileNames();
36
42
  /**
@@ -62,9 +68,8 @@ export default class IgcFileInputComponent extends IgcInputBaseComponent {
62
68
  tabIndex: number;
63
69
  /** @hidden */
64
70
  readonly readOnly = false;
65
- /** Returns the selected files when input type is 'file', otherwise returns null. */
71
+ /** Returns the selected files, if any; otherwise returns null. */
66
72
  get files(): FileList | null;
67
- constructor();
68
73
  protected _restoreDefaultValue(): void;
69
74
  /** @hidden */
70
75
  setSelectionRange(): void;
@@ -83,3 +88,4 @@ declare global {
83
88
  'igc-file-input': IgcFileInputComponent;
84
89
  }
85
90
  }
91
+ export {};
@@ -11,14 +11,28 @@ import { ifDefined } from 'lit/directives/if-defined.js';
11
11
  import { themes } from '../../theming/theming-decorator.js';
12
12
  import IgcButtonComponent from '../button/button.js';
13
13
  import { registerComponent } from '../common/definitions/register.js';
14
+ import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
14
15
  import { createFormValueState, defaultFileListTransformer, } from '../common/mixins/forms/form-value.js';
15
- import { isEmpty, partNameMap } from '../common/util.js';
16
- import { IgcInputBaseComponent } from '../input/input-base.js';
16
+ import { partMap } from '../common/part-map.js';
17
+ import { isEmpty } from '../common/util.js';
18
+ import { IgcInputBaseComponent, } from '../input/input-base.js';
17
19
  import IgcValidationContainerComponent from '../validation-container/validation-container.js';
18
20
  import { styles } from './themes/file-input.base.css.js';
19
21
  import { all } from './themes/themes.js';
20
22
  import { fileValidators } from './validators.js';
21
- let IgcFileInputComponent = IgcFileInputComponent_1 = class IgcFileInputComponent extends IgcInputBaseComponent {
23
+ let IgcFileInputComponent = IgcFileInputComponent_1 = class IgcFileInputComponent extends EventEmitterMixin(IgcInputBaseComponent) {
24
+ constructor() {
25
+ super(...arguments);
26
+ this._formValue = createFormValueState(this, {
27
+ initialValue: null,
28
+ transformers: defaultFileListTransformer,
29
+ });
30
+ this._hasActivation = false;
31
+ this.multiple = false;
32
+ this.accept = '';
33
+ this.tabIndex = 0;
34
+ this.readOnly = false;
35
+ }
22
36
  static register() {
23
37
  registerComponent(IgcFileInputComponent_1, IgcValidationContainerComponent, IgcButtonComponent);
24
38
  }
@@ -43,18 +57,6 @@ let IgcFileInputComponent = IgcFileInputComponent_1 = class IgcFileInputComponen
43
57
  get files() {
44
58
  return this.input?.files ?? null;
45
59
  }
46
- constructor() {
47
- super();
48
- this._hasActivation = false;
49
- this.multiple = false;
50
- this.accept = '';
51
- this.tabIndex = 0;
52
- this.readOnly = false;
53
- this._formValue = createFormValueState(this, {
54
- initialValue: null,
55
- transformers: defaultFileListTransformer,
56
- });
57
- }
58
60
  _restoreDefaultValue() {
59
61
  this.input.value = '';
60
62
  super._restoreDefaultValue();
@@ -66,13 +68,13 @@ let IgcFileInputComponent = IgcFileInputComponent_1 = class IgcFileInputComponen
66
68
  this._formValue.setValueAndFormState(this.files);
67
69
  this._validate();
68
70
  this.requestUpdate();
69
- this.emitEvent('igcChange', { detail: this.value });
71
+ this.emitEvent('igcChange', { detail: this.files });
70
72
  }
71
73
  _handleCancel() {
72
74
  this._hasActivation = false;
73
75
  this._validate();
74
76
  this.emitEvent('igcCancel', {
75
- detail: this.value,
77
+ detail: this.files,
76
78
  });
77
79
  }
78
80
  _handleFocus() {
@@ -96,8 +98,10 @@ let IgcFileInputComponent = IgcFileInputComponent_1 = class IgcFileInputComponen
96
98
  </igc-button>
97
99
  </div>
98
100
  <div part="file-names">
99
- ${this._fileNames ??
101
+ <span>
102
+ ${this._fileNames ??
100
103
  html `<slot name="file-missing-text">${emptyText}</slot>`}
104
+ </span>
101
105
  </div>
102
106
  </div>
103
107
  `;
@@ -106,7 +110,7 @@ let IgcFileInputComponent = IgcFileInputComponent_1 = class IgcFileInputComponen
106
110
  return html `
107
111
  <input
108
112
  id=${this.inputId}
109
- part=${partNameMap(this.resolvePartNames('input'))}
113
+ part=${partMap(this.resolvePartNames('input'))}
110
114
  type="file"
111
115
  ?disabled=${this.disabled}
112
116
  ?required=${this.required}
@@ -1 +1 @@
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 { themes } from '../../theming/theming-decorator.js';\nimport IgcButtonComponent from '../button/button.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n type FormValue,\n createFormValueState,\n defaultFileListTransformer,\n} from '../common/mixins/forms/form-value.js';\nimport { isEmpty, partNameMap } from '../common/util.js';\nimport { IgcInputBaseComponent } 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\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 igcInput - Emitted when the control input receives user input.\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 */\n@themes(all)\nexport default class IgcFileInputComponent extends IgcInputBaseComponent {\n public static readonly tagName = 'igc-file-input';\n public static override 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 _formValue: FormValue<FileList | null>;\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 when input type is 'file', otherwise returns null. */\n public get files(): FileList | null {\n return this.input?.files ?? null;\n }\n\n constructor() {\n super();\n this._formValue = createFormValueState(this, {\n initialValue: null,\n transformers: defaultFileListTransformer,\n });\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.value });\n }\n\n private _handleCancel(): void {\n this._hasActivation = false;\n this._validate();\n\n this.emitEvent('igcCancel', {\n detail: this.value,\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 ${this._fileNames ??\n html`<slot name=\"file-missing-text\">${emptyText}</slot>`}\n </div>\n </div>\n `;\n }\n\n protected renderInput() {\n return html`\n <input\n id=${this.inputId}\n part=${partNameMap(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 { themes } from '../../theming/theming-decorator.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 type FormValueOf,\n createFormValueState,\n defaultFileListTransformer,\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 igcInput - Emitted when the control input receives user input.\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 */\n@themes(all)\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 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,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]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;align-content:center;grid-area:1/3}: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~=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}: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)}`;
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,yiCAAyiC,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]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;align-content:center;grid-area:1/3}: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~=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,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"]}
@@ -4,7 +4,6 @@ import type { RangeTextSelectMode, SelectionRangeDirection } from '../types.js';
4
4
  export interface IgcInputComponentEventMap {
5
5
  igcInput: CustomEvent<string>;
6
6
  igcChange: CustomEvent<string>;
7
- igcCancel: CustomEvent<string>;
8
7
  focus: FocusEvent;
9
8
  blur: FocusEvent;
10
9
  }
@@ -11,7 +11,8 @@ import { getThemeController, themes } from '../../theming/theming-decorator.js';
11
11
  import { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';
12
12
  import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
13
13
  import { FormAssociatedRequiredMixin } from '../common/mixins/forms/associated-required.js';
14
- import { createCounter, partNameMap } from '../common/util.js';
14
+ import { partMap } from '../common/part-map.js';
15
+ import { createCounter } from '../common/util.js';
15
16
  import IgcValidationContainerComponent from '../validation-container/validation-container.js';
16
17
  import { styles } from './themes/input.base.css.js';
17
18
  import { styles as shared } from './themes/shared/input.common.css.js';
@@ -75,9 +76,9 @@ let IgcInputBaseComponent = IgcInputBaseComponent_1 = class IgcInputBaseComponen
75
76
  renderMaterial() {
76
77
  return html `
77
78
  <div
78
- part=${partNameMap({
79
+ part=${partMap({
79
80
  ...this.resolvePartNames('container'),
80
- labelled: this.label,
81
+ labelled: !!this.label,
81
82
  })}
82
83
  >
83
84
  <div part="start">${this.renderPrefix()}</div>
@@ -91,7 +92,7 @@ let IgcInputBaseComponent = IgcInputBaseComponent_1 = class IgcInputBaseComponen
91
92
  }
92
93
  renderStandard() {
93
94
  return html `${this.renderLabel()}
94
- <div part=${partNameMap(this.resolvePartNames('container'))}>
95
+ <div part=${partMap(this.resolvePartNames('container'))}>
95
96
  ${this.renderPrefix()} ${this.renderFileParts()} ${this.renderInput()}
96
97
  ${this.renderSuffix()}
97
98
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"input-base.js","sourceRoot":"","sources":["../../../src/components/input/input-base.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, type TemplateResult, html, nothing } from 'lit';\nimport { property, query, queryAssignedElements } from 'lit/decorators.js';\n\nimport { getThemeController, themes } from '../../theming/theming-decorator.js';\nimport { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormAssociatedRequiredMixin } from '../common/mixins/forms/associated-required.js';\nimport { createCounter, partNameMap } from '../common/util.js';\nimport type { RangeTextSelectMode, SelectionRangeDirection } from '../types.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.js';\nimport { styles } from './themes/input.base.css.js';\nimport { styles as shared } from './themes/shared/input.common.css.js';\nimport { all } from './themes/themes.js';\n\nexport interface IgcInputComponentEventMap {\n /* alternateName: inputOcurred */\n igcInput: CustomEvent<string>;\n /* blazorSuppress */\n igcChange: CustomEvent<string>;\n /* blazorSuppress */\n igcCancel: CustomEvent<string>;\n // For analyzer meta only:\n /* skipWCPrefix */\n focus: FocusEvent;\n /* skipWCPrefix */\n blur: FocusEvent;\n}\n\n@blazorDeepImport\n@themes(all, { exposeController: true })\nexport abstract class IgcInputBaseComponent extends FormAssociatedRequiredMixin(\n EventEmitterMixin<IgcInputComponentEventMap, Constructor<LitElement>>(\n LitElement\n )\n) {\n protected static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n public static styles = [styles, shared];\n private static readonly increment = createCounter();\n\n protected inputId = `input-${IgcInputBaseComponent.increment()}`;\n\n /* blazorSuppress */\n /** The value attribute of the control. */\n public abstract value: string | Date | null;\n\n @query('input')\n protected input!: HTMLInputElement;\n\n @queryAssignedElements({ slot: 'helper-text' })\n protected _helperText!: Array<HTMLElement>;\n\n @queryAssignedElements({\n slot: 'prefix',\n selector: '[slot=\"prefix\"]:not([hidden])',\n })\n protected prefixes!: Array<HTMLElement>;\n\n @queryAssignedElements({\n slot: 'suffix',\n selector: '[slot=\"suffix\"]:not([hidden])',\n })\n protected suffixes!: Array<HTMLElement>;\n\n protected get _isMaterial() {\n return getThemeController(this)?.theme === 'material';\n }\n\n /**\n * Whether the control will have outlined appearance.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public outlined = false;\n\n /**\n * Makes the control a readonly field.\n * @attr readonly\n */\n @property({ type: Boolean, reflect: true, attribute: 'readonly' })\n public readOnly = false;\n\n /**\n * The placeholder attribute of the control.\n * @attr\n */\n @property()\n public placeholder!: string;\n\n /**\n * The label for the control.\n * @attr\n */\n @property()\n public label!: string;\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this.requestUpdate());\n return root;\n }\n\n /* alternateName: focusComponent */\n /** Sets focus on the control. */\n public override focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /* alternateName: blurComponent */\n /** Removes focus from the control. */\n public override blur() {\n this.input.blur();\n }\n\n protected abstract renderInput(): TemplateResult;\n\n protected renderValidatorContainer(): TemplateResult {\n return IgcValidationContainerComponent.create(this);\n }\n\n protected resolvePartNames(base: string) {\n return {\n [base]: true,\n prefixed: this.prefixes.length > 0,\n suffixed: this.suffixes.length > 0,\n filled: !!this.value,\n };\n }\n\n protected renderFileParts(): TemplateResult | typeof nothing {\n return nothing;\n }\n\n /** Sets the text selection range of the control */\n public setSelectionRange(\n start: number,\n end: number,\n direction: SelectionRangeDirection = 'none'\n ) {\n this.input.setSelectionRange(start, end, direction);\n }\n\n /** Replaces the selected text in the input. */\n public setRangeText(\n replacement: string,\n start: number,\n end: number,\n selectMode: RangeTextSelectMode = 'preserve'\n ) {\n this.input.setRangeText(replacement, start, end, selectMode);\n }\n\n private renderPrefix() {\n return html`<div part=\"prefix\">\n <slot name=\"prefix\"></slot>\n </div>`;\n }\n\n private renderSuffix() {\n return html`<div part=\"suffix\">\n <slot name=\"suffix\"></slot>\n </div>`;\n }\n\n private renderLabel() {\n return this.label\n ? html`<label part=\"label\" for=${this.inputId}> ${this.label} </label>`\n : nothing;\n }\n\n private renderMaterial() {\n return html`\n <div\n part=${partNameMap({\n ...this.resolvePartNames('container'),\n labelled: this.label,\n })}\n >\n <div part=\"start\">${this.renderPrefix()}</div>\n ${this.renderInput()} ${this.renderFileParts()}\n <div part=\"notch\">${this.renderLabel()}</div>\n <div part=\"filler\"></div>\n <div part=\"end\">${this.renderSuffix()}</div>\n </div>\n ${this.renderValidatorContainer()}\n `;\n }\n\n private renderStandard() {\n return html`${this.renderLabel()}\n <div part=${partNameMap(this.resolvePartNames('container'))}>\n ${this.renderPrefix()} ${this.renderFileParts()} ${this.renderInput()}\n ${this.renderSuffix()}\n </div>\n ${this.renderValidatorContainer()}`;\n }\n\n protected override render() {\n return this._isMaterial ? this.renderMaterial() : this.renderStandard();\n }\n}\n"]}
1
+ {"version":3,"file":"input-base.js","sourceRoot":"","sources":["../../../src/components/input/input-base.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, type TemplateResult, html, nothing } from 'lit';\nimport { property, query, queryAssignedElements } from 'lit/decorators.js';\n\nimport { getThemeController, themes } from '../../theming/theming-decorator.js';\nimport { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormAssociatedRequiredMixin } from '../common/mixins/forms/associated-required.js';\nimport { partMap } from '../common/part-map.js';\nimport { createCounter } from '../common/util.js';\nimport type { RangeTextSelectMode, SelectionRangeDirection } from '../types.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.js';\nimport { styles } from './themes/input.base.css.js';\nimport { styles as shared } from './themes/shared/input.common.css.js';\nimport { all } from './themes/themes.js';\n\nexport interface IgcInputComponentEventMap {\n /* alternateName: inputOcurred */\n igcInput: CustomEvent<string>;\n /* blazorSuppress */\n igcChange: CustomEvent<string>;\n // For analyzer meta only:\n /* skipWCPrefix */\n focus: FocusEvent;\n /* skipWCPrefix */\n blur: FocusEvent;\n}\n\n@blazorDeepImport\n@themes(all, { exposeController: true })\nexport abstract class IgcInputBaseComponent extends FormAssociatedRequiredMixin(\n EventEmitterMixin<IgcInputComponentEventMap, Constructor<LitElement>>(\n LitElement\n )\n) {\n protected static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n public static styles = [styles, shared];\n private static readonly increment = createCounter();\n\n protected inputId = `input-${IgcInputBaseComponent.increment()}`;\n\n /* blazorSuppress */\n /** The value attribute of the control. */\n public abstract value: string | Date | null;\n\n @query('input')\n protected input!: HTMLInputElement;\n\n @queryAssignedElements({ slot: 'helper-text' })\n protected _helperText!: Array<HTMLElement>;\n\n @queryAssignedElements({\n slot: 'prefix',\n selector: '[slot=\"prefix\"]:not([hidden])',\n })\n protected prefixes!: Array<HTMLElement>;\n\n @queryAssignedElements({\n slot: 'suffix',\n selector: '[slot=\"suffix\"]:not([hidden])',\n })\n protected suffixes!: Array<HTMLElement>;\n\n protected get _isMaterial() {\n return getThemeController(this)?.theme === 'material';\n }\n\n /**\n * Whether the control will have outlined appearance.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public outlined = false;\n\n /**\n * Makes the control a readonly field.\n * @attr readonly\n */\n @property({ type: Boolean, reflect: true, attribute: 'readonly' })\n public readOnly = false;\n\n /**\n * The placeholder attribute of the control.\n * @attr\n */\n @property()\n public placeholder!: string;\n\n /**\n * The label for the control.\n * @attr\n */\n @property()\n public label!: string;\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this.requestUpdate());\n return root;\n }\n\n /* alternateName: focusComponent */\n /** Sets focus on the control. */\n public override focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /* alternateName: blurComponent */\n /** Removes focus from the control. */\n public override blur() {\n this.input.blur();\n }\n\n protected abstract renderInput(): TemplateResult;\n\n protected renderValidatorContainer(): TemplateResult {\n return IgcValidationContainerComponent.create(this);\n }\n\n protected resolvePartNames(base: string) {\n return {\n [base]: true,\n prefixed: this.prefixes.length > 0,\n suffixed: this.suffixes.length > 0,\n filled: !!this.value,\n };\n }\n\n protected renderFileParts(): TemplateResult | typeof nothing {\n return nothing;\n }\n\n /** Sets the text selection range of the control */\n public setSelectionRange(\n start: number,\n end: number,\n direction: SelectionRangeDirection = 'none'\n ) {\n this.input.setSelectionRange(start, end, direction);\n }\n\n /** Replaces the selected text in the input. */\n public setRangeText(\n replacement: string,\n start: number,\n end: number,\n selectMode: RangeTextSelectMode = 'preserve'\n ) {\n this.input.setRangeText(replacement, start, end, selectMode);\n }\n\n private renderPrefix() {\n return html`<div part=\"prefix\">\n <slot name=\"prefix\"></slot>\n </div>`;\n }\n\n private renderSuffix() {\n return html`<div part=\"suffix\">\n <slot name=\"suffix\"></slot>\n </div>`;\n }\n\n private renderLabel() {\n return this.label\n ? html`<label part=\"label\" for=${this.inputId}> ${this.label} </label>`\n : nothing;\n }\n\n private renderMaterial() {\n return html`\n <div\n part=${partMap({\n ...this.resolvePartNames('container'),\n labelled: !!this.label,\n })}\n >\n <div part=\"start\">${this.renderPrefix()}</div>\n ${this.renderInput()} ${this.renderFileParts()}\n <div part=\"notch\">${this.renderLabel()}</div>\n <div part=\"filler\"></div>\n <div part=\"end\">${this.renderSuffix()}</div>\n </div>\n ${this.renderValidatorContainer()}\n `;\n }\n\n private renderStandard() {\n return html`${this.renderLabel()}\n <div part=${partMap(this.resolvePartNames('container'))}>\n ${this.renderPrefix()} ${this.renderFileParts()} ${this.renderInput()}\n ${this.renderSuffix()}\n </div>\n ${this.renderValidatorContainer()}`;\n }\n\n protected override render() {\n return this._isMaterial ? this.renderMaterial() : this.renderStandard();\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { type FormValue } from '../common/mixins/forms/form-value.js';
1
+ import { type FormValueOf } from '../common/mixins/forms/form-value.js';
2
2
  import type { InputType, RangeTextSelectMode } from '../types.js';
3
3
  import { IgcInputBaseComponent } from './input-base.js';
4
4
  /**
@@ -31,7 +31,7 @@ import { IgcInputBaseComponent } from './input-base.js';
31
31
  export default class IgcInputComponent extends IgcInputBaseComponent {
32
32
  static readonly tagName = "igc-input";
33
33
  static register(): void;
34
- protected _formValue: FormValue<string>;
34
+ protected readonly _formValue: FormValueOf<string>;
35
35
  protected get __validators(): import("../common/validators.js").Validator<IgcInputComponent>[];
36
36
  private _min?;
37
37
  private _max?;
@@ -113,7 +113,6 @@ export default class IgcInputComponent extends IgcInputBaseComponent {
113
113
  * @internal
114
114
  */
115
115
  tabIndex: number;
116
- constructor();
117
116
  /** Replaces the selected text in the input. */
118
117
  setRangeText(replacement: string, start: number, end: number, selectMode?: RangeTextSelectMode): void;
119
118
  /** Selects all text within the input. */
@@ -10,11 +10,19 @@ import { ifDefined } from 'lit/directives/if-defined.js';
10
10
  import { live } from 'lit/directives/live.js';
11
11
  import { registerComponent } from '../common/definitions/register.js';
12
12
  import { createFormValueState, } from '../common/mixins/forms/form-value.js';
13
- import { isEmpty, partNameMap } from '../common/util.js';
13
+ import { partMap } from '../common/part-map.js';
14
+ import { isEmpty } from '../common/util.js';
14
15
  import IgcValidationContainerComponent from '../validation-container/validation-container.js';
15
16
  import { IgcInputBaseComponent } from './input-base.js';
16
17
  import { numberValidators, stringValidators } from './validators.js';
17
18
  class IgcInputComponent extends IgcInputBaseComponent {
19
+ constructor() {
20
+ super(...arguments);
21
+ this._formValue = createFormValueState(this, { initialValue: '' });
22
+ this.type = 'text';
23
+ this.validateOnly = false;
24
+ this.tabIndex = 0;
25
+ }
18
26
  static register() {
19
27
  registerComponent(IgcInputComponent, IgcValidationContainerComponent);
20
28
  }
@@ -70,13 +78,6 @@ class IgcInputComponent extends IgcInputBaseComponent {
70
78
  get step() {
71
79
  return this._step;
72
80
  }
73
- constructor() {
74
- super();
75
- this.type = 'text';
76
- this.validateOnly = false;
77
- this.tabIndex = 0;
78
- this._formValue = createFormValueState(this, { initialValue: '' });
79
- }
80
81
  setRangeText(replacement, start, end, selectMode = 'preserve') {
81
82
  super.setRangeText(replacement, start, end, selectMode);
82
83
  this.value = this.input.value;
@@ -110,7 +111,7 @@ class IgcInputComponent extends IgcInputBaseComponent {
110
111
  return html `
111
112
  <input
112
113
  id=${this.inputId}
113
- part=${partNameMap(this.resolvePartNames('input'))}
114
+ part=${partMap(this.resolvePartNames('input'))}
114
115
  name=${ifDefined(this.name)}
115
116
  type=${ifDefined(this.type)}
116
117
  pattern=${ifDefined(this.pattern)}
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/components/input/input.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\n\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n type FormValue,\n createFormValueState,\n} from '../common/mixins/forms/form-value.js';\nimport { isEmpty, partNameMap } from '../common/util.js';\nimport type { InputType, RangeTextSelectMode } from '../types.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.js';\nimport { IgcInputBaseComponent } from './input-base.js';\nimport { numberValidators, stringValidators } from './validators.js';\n\n/**\n * @element igc-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 value-missing - Renders content when the required validation fails.\n * @slot type-mismatch - Renders content when the a type url/email input pattern validation fails.\n * @slot pattern-mismatch - Renders content when the pattern validation fails.\n * @slot too-long - Renders content when the maxlength validation fails.\n * @slot too-short - Renders content when the minlength validation fails.\n * @slot range-overflow - Renders content when the max validation fails.\n * @slot range-underflow - Renders content when the min validation fails.\n * @slot step-mismatch - Renders content when the step 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 igcInput - Emitted when the control input receives user input.\n * @fires igcChange - Emitted when the control's checked state changes.\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 prefix - The prefix wrapper.\n * @csspart suffix - The suffix wrapper.\n * @csspart helper-text - The helper text wrapper.\n */\nexport default class IgcInputComponent extends IgcInputBaseComponent {\n public static readonly tagName = 'igc-input';\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcInputComponent, IgcValidationContainerComponent);\n }\n\n protected override _formValue: FormValue<string>;\n\n protected override get __validators() {\n return this.type !== 'number' ? stringValidators : numberValidators;\n }\n\n private _min?: number;\n private _max?: number;\n private _minLength?: number;\n private _maxLength?: number;\n private _pattern?: string;\n private _step?: number;\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 this._formValue.setValueAndFormState(value);\n this._validate();\n }\n\n public get value(): string {\n return this._formValue.value;\n }\n\n /* alternateName: displayType */\n /**\n * The type attribute of the control.\n * @attr\n */\n @property({ reflect: true })\n public type: InputType = 'text';\n\n /**\n * The input mode attribute of the control.\n * See [relevant MDN article](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode)\n * @attr inputmode\n */\n @property({ attribute: 'inputmode' })\n public override inputMode!: string;\n\n /**\n * The pattern attribute of the control.\n * @attr\n */\n @property()\n public set pattern(value: string | undefined) {\n this._pattern = value;\n this._validate();\n }\n\n public get pattern(): string | undefined {\n return this._pattern;\n }\n\n /**\n * The minimum string length required by the control.\n * @attr minlength\n */\n @property({ type: Number, attribute: 'minlength' })\n public set minLength(value: number | undefined) {\n this._minLength = value;\n this._validate();\n }\n\n public get minLength(): number | undefined {\n return this._minLength;\n }\n\n /**\n * The maximum string length of the control.\n * @attr maxlength\n */\n @property({ type: Number, attribute: 'maxlength' })\n public set maxLength(value: number | undefined) {\n this._maxLength = value;\n this._validate();\n }\n\n public get maxLength(): number | undefined {\n return this._maxLength;\n }\n\n /**\n * The min attribute of the control.\n * @attr\n */\n @property({ type: Number })\n public set min(value: number | undefined) {\n this._min = value;\n this._validate();\n }\n\n public get min(): number | undefined {\n return this._min;\n }\n\n /**\n * The max attribute of the control.\n * @attr\n */\n @property({ type: Number })\n public set max(value: number | undefined) {\n this._max = value;\n this._validate();\n }\n\n public get max(): number | undefined {\n return this._max;\n }\n\n /**\n * The step attribute of the control.\n * @attr\n */\n @property({ type: Number })\n public set step(value: number | undefined) {\n this._step = value;\n this._validate();\n }\n\n public get step(): number | undefined {\n return this._step;\n }\n\n /**\n * The autofocus attribute of the control.\n * @attr\n */\n @property({ type: Boolean })\n public override autofocus!: boolean;\n\n /**\n * The autocomplete attribute of the control.\n * @attr\n */\n @property()\n public autocomplete!: string;\n\n /**\n * Enables validation rules to be evaluated without restricting user input. This applies to the `maxLength` property for\n * string-type inputs or allows spin buttons to exceed the predefined `min/max` limits for number-type inputs.\n *\n * @attr validate-only\n */\n @property({ type: Boolean, reflect: true, attribute: 'validate-only' })\n public validateOnly = false;\n\n /**\n * @internal\n */\n @property({ type: Number })\n public override tabIndex = 0;\n\n constructor() {\n super();\n this._formValue = createFormValueState(this, { initialValue: '' });\n }\n\n /* blazorSuppress */\n /** Replaces the selected text in the input. */\n public override setRangeText(\n replacement: string,\n start: number,\n end: number,\n selectMode: RangeTextSelectMode = 'preserve'\n ) {\n super.setRangeText(replacement, start, end, selectMode);\n this.value = this.input.value;\n }\n\n /** Selects all text within the input. */\n public select() {\n return this.input.select();\n }\n\n /** Increments the numeric value of the input by one or more steps. */\n public stepUp(n?: number) {\n this.input.stepUp(n);\n this.value = this.input.value;\n }\n\n /** Decrements the numeric value of the input by one or more steps. */\n public stepDown(n?: number) {\n this.input.stepDown(n);\n this.value = this.input.value;\n }\n\n private handleInput() {\n this.value = this.input.value;\n this.emitEvent('igcInput', { detail: this.value });\n }\n\n private handleChange() {\n this.value = this.input.value;\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n protected handleFocus(): void {\n this._dirty = true;\n }\n\n protected handleBlur(): void {\n this._validate();\n }\n\n protected renderInput() {\n return html`\n <input\n id=${this.inputId}\n part=${partNameMap(this.resolvePartNames('input'))}\n name=${ifDefined(this.name)}\n type=${ifDefined(this.type)}\n pattern=${ifDefined(this.pattern)}\n placeholder=${ifDefined(this.placeholder)}\n .value=${live(this.value)}\n ?readonly=${this.readOnly}\n ?disabled=${this.disabled}\n ?required=${this.required}\n ?autofocus=${this.autofocus}\n tabindex=${this.tabIndex}\n autocomplete=${ifDefined(this.autocomplete as any)}\n inputmode=${ifDefined(this.inputMode)}\n min=${ifDefined(this.validateOnly ? undefined : this.min)}\n max=${ifDefined(this.validateOnly ? undefined : this.max)}\n minlength=${ifDefined(this.minLength)}\n maxlength=${ifDefined(this.validateOnly ? undefined : this.maxLength)}\n step=${ifDefined(this.step)}\n aria-invalid=${this.invalid ? 'true' : 'false'}\n aria-describedby=${ifDefined(\n isEmpty(this._helperText) ? nothing : 'helper-text'\n )}\n @change=${this.handleChange}\n @input=${this.handleInput}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-input': IgcInputComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/components/input/input.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\n\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n type FormValueOf,\n createFormValueState,\n} from '../common/mixins/forms/form-value.js';\nimport { partMap } from '../common/part-map.js';\nimport { isEmpty } from '../common/util.js';\nimport type { InputType, RangeTextSelectMode } from '../types.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.js';\nimport { IgcInputBaseComponent } from './input-base.js';\nimport { numberValidators, stringValidators } from './validators.js';\n\n/**\n * @element igc-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 value-missing - Renders content when the required validation fails.\n * @slot type-mismatch - Renders content when the a type url/email input pattern validation fails.\n * @slot pattern-mismatch - Renders content when the pattern validation fails.\n * @slot too-long - Renders content when the maxlength validation fails.\n * @slot too-short - Renders content when the minlength validation fails.\n * @slot range-overflow - Renders content when the max validation fails.\n * @slot range-underflow - Renders content when the min validation fails.\n * @slot step-mismatch - Renders content when the step 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 igcInput - Emitted when the control input receives user input.\n * @fires igcChange - Emitted when the control's checked state changes.\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 prefix - The prefix wrapper.\n * @csspart suffix - The suffix wrapper.\n * @csspart helper-text - The helper text wrapper.\n */\nexport default class IgcInputComponent extends IgcInputBaseComponent {\n public static readonly tagName = 'igc-input';\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcInputComponent, IgcValidationContainerComponent);\n }\n\n protected override readonly _formValue: FormValueOf<string> =\n createFormValueState(this, { initialValue: '' });\n\n protected override get __validators() {\n return this.type !== 'number' ? stringValidators : numberValidators;\n }\n\n private _min?: number;\n private _max?: number;\n private _minLength?: number;\n private _maxLength?: number;\n private _pattern?: string;\n private _step?: number;\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 this._formValue.setValueAndFormState(value);\n this._validate();\n }\n\n public get value(): string {\n return this._formValue.value;\n }\n\n /* alternateName: displayType */\n /**\n * The type attribute of the control.\n * @attr\n */\n @property({ reflect: true })\n public type: InputType = 'text';\n\n /**\n * The input mode attribute of the control.\n * See [relevant MDN article](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode)\n * @attr inputmode\n */\n @property({ attribute: 'inputmode' })\n public override inputMode!: string;\n\n /**\n * The pattern attribute of the control.\n * @attr\n */\n @property()\n public set pattern(value: string | undefined) {\n this._pattern = value;\n this._validate();\n }\n\n public get pattern(): string | undefined {\n return this._pattern;\n }\n\n /**\n * The minimum string length required by the control.\n * @attr minlength\n */\n @property({ type: Number, attribute: 'minlength' })\n public set minLength(value: number | undefined) {\n this._minLength = value;\n this._validate();\n }\n\n public get minLength(): number | undefined {\n return this._minLength;\n }\n\n /**\n * The maximum string length of the control.\n * @attr maxlength\n */\n @property({ type: Number, attribute: 'maxlength' })\n public set maxLength(value: number | undefined) {\n this._maxLength = value;\n this._validate();\n }\n\n public get maxLength(): number | undefined {\n return this._maxLength;\n }\n\n /**\n * The min attribute of the control.\n * @attr\n */\n @property({ type: Number })\n public set min(value: number | undefined) {\n this._min = value;\n this._validate();\n }\n\n public get min(): number | undefined {\n return this._min;\n }\n\n /**\n * The max attribute of the control.\n * @attr\n */\n @property({ type: Number })\n public set max(value: number | undefined) {\n this._max = value;\n this._validate();\n }\n\n public get max(): number | undefined {\n return this._max;\n }\n\n /**\n * The step attribute of the control.\n * @attr\n */\n @property({ type: Number })\n public set step(value: number | undefined) {\n this._step = value;\n this._validate();\n }\n\n public get step(): number | undefined {\n return this._step;\n }\n\n /**\n * The autofocus attribute of the control.\n * @attr\n */\n @property({ type: Boolean })\n public override autofocus!: boolean;\n\n /**\n * The autocomplete attribute of the control.\n * @attr\n */\n @property()\n public autocomplete!: string;\n\n /**\n * Enables validation rules to be evaluated without restricting user input. This applies to the `maxLength` property for\n * string-type inputs or allows spin buttons to exceed the predefined `min/max` limits for number-type inputs.\n *\n * @attr validate-only\n */\n @property({ type: Boolean, reflect: true, attribute: 'validate-only' })\n public validateOnly = false;\n\n /**\n * @internal\n */\n @property({ type: Number })\n public override tabIndex = 0;\n\n /* blazorSuppress */\n /** Replaces the selected text in the input. */\n public override setRangeText(\n replacement: string,\n start: number,\n end: number,\n selectMode: RangeTextSelectMode = 'preserve'\n ) {\n super.setRangeText(replacement, start, end, selectMode);\n this.value = this.input.value;\n }\n\n /** Selects all text within the input. */\n public select() {\n return this.input.select();\n }\n\n /** Increments the numeric value of the input by one or more steps. */\n public stepUp(n?: number) {\n this.input.stepUp(n);\n this.value = this.input.value;\n }\n\n /** Decrements the numeric value of the input by one or more steps. */\n public stepDown(n?: number) {\n this.input.stepDown(n);\n this.value = this.input.value;\n }\n\n private handleInput() {\n this.value = this.input.value;\n this.emitEvent('igcInput', { detail: this.value });\n }\n\n private handleChange() {\n this.value = this.input.value;\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n protected handleFocus(): void {\n this._dirty = true;\n }\n\n protected handleBlur(): void {\n this._validate();\n }\n\n protected renderInput() {\n return html`\n <input\n id=${this.inputId}\n part=${partMap(this.resolvePartNames('input'))}\n name=${ifDefined(this.name)}\n type=${ifDefined(this.type)}\n pattern=${ifDefined(this.pattern)}\n placeholder=${ifDefined(this.placeholder)}\n .value=${live(this.value)}\n ?readonly=${this.readOnly}\n ?disabled=${this.disabled}\n ?required=${this.required}\n ?autofocus=${this.autofocus}\n tabindex=${this.tabIndex}\n autocomplete=${ifDefined(this.autocomplete as any)}\n inputmode=${ifDefined(this.inputMode)}\n min=${ifDefined(this.validateOnly ? undefined : this.min)}\n max=${ifDefined(this.validateOnly ? undefined : this.max)}\n minlength=${ifDefined(this.minLength)}\n maxlength=${ifDefined(this.validateOnly ? undefined : this.maxLength)}\n step=${ifDefined(this.step)}\n aria-invalid=${this.invalid ? 'true' : 'false'}\n aria-describedby=${ifDefined(\n isEmpty(this._helperText) ? nothing : 'helper-text'\n )}\n @change=${this.handleChange}\n @input=${this.handleInput}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-input': IgcInputComponent;\n }\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--input-prefix-background: var(--ig-input-input-prefix-background, var(--ig-gray-300));--input-prefix-color: var(--ig-input-input-prefix-color, var(--ig-gray-800));--input-prefix-background--filled: var(--ig-input-input-prefix-background--filled, var(--ig-gray-300));--input-prefix-background--focused: var(--ig-input-input-prefix-background--focused, var(--ig-gray-300));--input-suffix-background: var(--ig-input-input-suffix-background, var(--ig-gray-300));--input-suffix-color: var(--ig-input-input-suffix-color, var(--ig-gray-800));--input-suffix-background--filled: var(--ig-input-input-suffix-background--filled, var(--ig-gray-300));--input-suffix-background--focused: var(--ig-input-input-suffix-background--focused, var(--ig-gray-300));--disabled-text-color: var(--ig-input-disabled-text-color, var(--ig-gray-400));--focused-secondary-color: var(--ig-input-focused-secondary-color, hsl(from var(--ig-primary-500) h s l/0.38));--interim-bottom-line-color: var(--ig-input-interim-bottom-line-color, var(--ig-primary-500));--border-disabled-background: var(--ig-input-border-disabled-background, var(--ig-gray-100));--disabled-placeholder-color: var(--ig-input-disabled-placeholder-color, var(--ig-gray-400));--size: var(--ig-input-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.375rem, -1 * 2.375rem), var(--is-small, 1) * max(1.9375rem, -1 * 1.9375rem)));--search-resting-elevation: var(--ig-input-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-input-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-input-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: bootstrap}`;
2
+ export const styles = css `:host{--input-prefix-background: var(--ig-input-input-prefix-background, var(--ig-gray-300));--input-prefix-color: var(--ig-input-input-prefix-color, var(--ig-gray-800));--input-prefix-background--filled: var(--ig-input-input-prefix-background--filled, var(--ig-gray-300));--input-prefix-background--focused: var(--ig-input-input-prefix-background--focused, var(--ig-gray-300));--input-suffix-background: var(--ig-input-input-suffix-background, var(--ig-gray-300));--input-suffix-color: var(--ig-input-input-suffix-color, var(--ig-gray-800));--input-suffix-background--filled: var(--ig-input-input-suffix-background--filled, var(--ig-gray-300));--input-suffix-background--focused: var(--ig-input-input-suffix-background--focused, var(--ig-gray-300));--disabled-text-color: var(--ig-input-disabled-text-color, var(--ig-gray-400));--focused-secondary-color: var(--ig-input-focused-secondary-color, hsl(from var(--ig-primary-500) h s l/0.38));--border-disabled-background: var(--ig-input-border-disabled-background, var(--ig-gray-100));--disabled-placeholder-color: var(--ig-input-disabled-placeholder-color, var(--ig-gray-400));--size: var(--ig-input-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.375rem, -1 * 2.375rem), var(--is-small, 1) * max(1.9375rem, -1 * 1.9375rem)));--search-resting-elevation: var(--ig-input-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-input-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-input-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: bootstrap}`;
3
3
  //# sourceMappingURL=input.bootstrap.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/input/themes/dark/input.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,oqDAAoqD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--input-prefix-background: var(--ig-input-input-prefix-background, var(--ig-gray-300));--input-prefix-color: var(--ig-input-input-prefix-color, var(--ig-gray-800));--input-prefix-background--filled: var(--ig-input-input-prefix-background--filled, var(--ig-gray-300));--input-prefix-background--focused: var(--ig-input-input-prefix-background--focused, var(--ig-gray-300));--input-suffix-background: var(--ig-input-input-suffix-background, var(--ig-gray-300));--input-suffix-color: var(--ig-input-input-suffix-color, var(--ig-gray-800));--input-suffix-background--filled: var(--ig-input-input-suffix-background--filled, var(--ig-gray-300));--input-suffix-background--focused: var(--ig-input-input-suffix-background--focused, var(--ig-gray-300));--disabled-text-color: var(--ig-input-disabled-text-color, var(--ig-gray-400));--focused-secondary-color: var(--ig-input-focused-secondary-color, hsl(from var(--ig-primary-500) h s l/0.38));--interim-bottom-line-color: var(--ig-input-interim-bottom-line-color, var(--ig-primary-500));--border-disabled-background: var(--ig-input-border-disabled-background, var(--ig-gray-100));--disabled-placeholder-color: var(--ig-input-disabled-placeholder-color, var(--ig-gray-400));--size: var(--ig-input-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.375rem, -1 * 2.375rem), var(--is-small, 1) * max(1.9375rem, -1 * 1.9375rem)));--search-resting-elevation: var(--ig-input-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-input-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-input-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: bootstrap}`;\n"]}
1
+ {"version":3,"file":"input.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/input/themes/dark/input.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,skDAAskD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--input-prefix-background: var(--ig-input-input-prefix-background, var(--ig-gray-300));--input-prefix-color: var(--ig-input-input-prefix-color, var(--ig-gray-800));--input-prefix-background--filled: var(--ig-input-input-prefix-background--filled, var(--ig-gray-300));--input-prefix-background--focused: var(--ig-input-input-prefix-background--focused, var(--ig-gray-300));--input-suffix-background: var(--ig-input-input-suffix-background, var(--ig-gray-300));--input-suffix-color: var(--ig-input-input-suffix-color, var(--ig-gray-800));--input-suffix-background--filled: var(--ig-input-input-suffix-background--filled, var(--ig-gray-300));--input-suffix-background--focused: var(--ig-input-input-suffix-background--focused, var(--ig-gray-300));--disabled-text-color: var(--ig-input-disabled-text-color, var(--ig-gray-400));--focused-secondary-color: var(--ig-input-focused-secondary-color, hsl(from var(--ig-primary-500) h s l/0.38));--border-disabled-background: var(--ig-input-border-disabled-background, var(--ig-gray-100));--disabled-placeholder-color: var(--ig-input-disabled-placeholder-color, var(--ig-gray-400));--size: var(--ig-input-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.375rem, -1 * 2.375rem), var(--is-small, 1) * max(1.9375rem, -1 * 1.9375rem)));--search-resting-elevation: var(--ig-input-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-input-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-input-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: bootstrap}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--helper-text-color: var(--ig-input-helper-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--input-prefix-color: var(--ig-input-input-prefix-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-prefix-color--filled: var(--ig-input-input-prefix-color--filled, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-prefix-color--focused: var(--ig-input-input-prefix-color--focused, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-suffix-color: var(--ig-input-input-suffix-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-suffix-color--filled: var(--ig-input-input-suffix-color--filled, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-suffix-color--focused: var(--ig-input-input-suffix-color--focused, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--idle-text-color: var(--ig-input-idle-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--filled-text-color: var(--ig-input-filled-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--filled-text-hover-color: var(--ig-input-filled-text-hover-color, var(--ig-gray-50-contrast));--focused-text-color: var(--ig-input-focused-text-color, var(--ig-gray-50-contrast));--disabled-text-color: var(--ig-input-disabled-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--idle-secondary-color: var(--ig-input-idle-secondary-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--focused-secondary-color: var(--ig-input-focused-secondary-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--idle-bottom-line-color: var(--ig-input-idle-bottom-line-color, hsl(from var(--ig-gray-50-contrast) h s l/0.4));--hover-bottom-line-color: var(--ig-input-hover-bottom-line-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--focused-bottom-line-color: var(--ig-input-focused-bottom-line-color, var(--ig-primary-400));--disabled-bottom-line-color: var(--ig-input-disabled-bottom-line-color, hsl(from var(--ig-gray-50-contrast) h s l/0.15));--hover-border-color: var(--ig-input-hover-border-color, var(--ig-gray-600));--focused-border-color: var(--ig-input-focused-border-color, var(--ig-primary-400));--search-disabled-background: var(--ig-input-search-disabled-background, transparent);--placeholder-color: var(--ig-input-placeholder-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--hover-placeholder-color: var(--ig-input-hover-placeholder-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--disabled-placeholder-color: var(--ig-input-disabled-placeholder-color, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--box-background: var(--ig-input-box-background, transparent);--box-background-hover: var(--ig-input-box-background-hover, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--box-disabled-background: var(--ig-input-box-disabled-background, transparent);--box-border-radius: var(--ig-input-box-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--border-border-radius: var(--ig-input-border-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--search-border-radius: var(--ig-input-search-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1) * 1.25rem), 1.25rem));--size: var(--ig-input-size, max(var(--is-large, 1) * max(2rem, -1 * 2rem), var(--is-medium, 1) * max(1.75rem, -1 * 1.75rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--search-resting-elevation: var(--ig-input-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-input-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-input-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: indigo}`;
2
+ export const styles = css `:host{--helper-text-color: var(--ig-input-helper-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--input-prefix-color: var(--ig-input-input-prefix-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-prefix-color--filled: var(--ig-input-input-prefix-color--filled, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-prefix-color--focused: var(--ig-input-input-prefix-color--focused, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-suffix-color: var(--ig-input-input-suffix-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-suffix-color--filled: var(--ig-input-input-suffix-color--filled, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-suffix-color--focused: var(--ig-input-input-suffix-color--focused, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--idle-text-color: var(--ig-input-idle-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--filled-text-color: var(--ig-input-filled-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--filled-text-hover-color: var(--ig-input-filled-text-hover-color, var(--ig-gray-50-contrast));--focused-text-color: var(--ig-input-focused-text-color, var(--ig-gray-50-contrast));--disabled-text-color: var(--ig-input-disabled-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--idle-secondary-color: var(--ig-input-idle-secondary-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--focused-secondary-color: var(--ig-input-focused-secondary-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--idle-bottom-line-color: var(--ig-input-idle-bottom-line-color, hsl(from var(--ig-gray-50-contrast) h s l/0.4));--hover-bottom-line-color: var(--ig-input-hover-bottom-line-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--focused-bottom-line-color: var(--ig-input-focused-bottom-line-color, var(--ig-primary-400));--disabled-bottom-line-color: var(--ig-input-disabled-bottom-line-color, hsl(from var(--ig-gray-50-contrast) h s l/0.15));--hover-border-color: var(--ig-input-hover-border-color, var(--ig-gray-600));--focused-border-color: var(--ig-input-focused-border-color, var(--ig-primary-400));--search-disabled-background: var(--ig-input-search-disabled-background, transparent);--placeholder-color: var(--ig-input-placeholder-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--hover-placeholder-color: var(--ig-input-hover-placeholder-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--disabled-placeholder-color: var(--ig-input-disabled-placeholder-color, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--box-background: var(--ig-input-box-background, transparent);--box-background-hover: var(--ig-input-box-background-hover, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--box-background-focus: var(--ig-input-box-background-focus, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--box-disabled-background: var(--ig-input-box-disabled-background, transparent);--box-border-radius: var(--ig-input-box-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--border-border-radius: var(--ig-input-border-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--search-border-radius: var(--ig-input-search-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1) * 1.25rem), 1.25rem));--size: var(--ig-input-size, max(var(--is-large, 1) * max(2rem, -1 * 2rem), var(--is-medium, 1) * max(1.75rem, -1 * 1.75rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--search-resting-elevation: var(--ig-input-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-input-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-input-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: indigo}`;
3
3
  //# sourceMappingURL=input.indigo.css.js.map