igniteui-webcomponents 6.2.0 → 6.3.0-RC.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 (688) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/components/accordion/accordion.js +4 -8
  3. package/components/accordion/accordion.js.map +1 -1
  4. package/components/accordion/themes/accordion.base.css.js +1 -1
  5. package/components/accordion/themes/accordion.base.css.js.map +1 -1
  6. package/components/avatar/avatar.js +3 -4
  7. package/components/avatar/avatar.js.map +1 -1
  8. package/components/badge/badge.js +3 -4
  9. package/components/badge/badge.js.map +1 -1
  10. package/components/banner/banner.js +3 -4
  11. package/components/banner/banner.js.map +1 -1
  12. package/components/banner/themes/banner.base.css.js +1 -1
  13. package/components/banner/themes/banner.base.css.js.map +1 -1
  14. package/components/banner/themes/shared/banner.bootstrap.css.js +1 -1
  15. package/components/banner/themes/shared/banner.bootstrap.css.js.map +1 -1
  16. package/components/banner/themes/shared/banner.fluent.css.js +1 -1
  17. package/components/banner/themes/shared/banner.fluent.css.js.map +1 -1
  18. package/components/banner/themes/shared/banner.indigo.css.js +1 -1
  19. package/components/banner/themes/shared/banner.indigo.css.js.map +1 -1
  20. package/components/banner/themes/shared/banner.material.css.js +1 -1
  21. package/components/banner/themes/shared/banner.material.css.js.map +1 -1
  22. package/components/button/button-base.js +1 -1
  23. package/components/button/button-base.js.map +1 -1
  24. package/components/button/button.js +3 -4
  25. package/components/button/button.js.map +1 -1
  26. package/components/button/icon-button.js +3 -4
  27. package/components/button/icon-button.js.map +1 -1
  28. package/components/button/themes/button/button.base.css.js +1 -1
  29. package/components/button/themes/button/button.base.css.js.map +1 -1
  30. package/components/button/themes/button/shared/button.common.css.js +1 -1
  31. package/components/button/themes/button/shared/button.common.css.js.map +1 -1
  32. package/components/button/themes/button/shared/button.fluent.css.js +1 -1
  33. package/components/button/themes/button/shared/button.fluent.css.js.map +1 -1
  34. package/components/button/themes/button/shared/button.indigo.css.js +1 -1
  35. package/components/button/themes/button/shared/button.indigo.css.js.map +1 -1
  36. package/components/button/themes/icon-button/icon-button.base.css.js +1 -1
  37. package/components/button/themes/icon-button/icon-button.base.css.js.map +1 -1
  38. package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.js +1 -1
  39. package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.js.map +1 -1
  40. package/components/button/themes/icon-button/shared/icon-button.fluent.css.js +1 -1
  41. package/components/button/themes/icon-button/shared/icon-button.fluent.css.js.map +1 -1
  42. package/components/button/themes/icon-button/shared/icon-button.indigo.css.js +1 -1
  43. package/components/button/themes/icon-button/shared/icon-button.indigo.css.js.map +1 -1
  44. package/components/button/themes/icon-button/shared/icon-button.material.css.js +1 -1
  45. package/components/button/themes/icon-button/shared/icon-button.material.css.js.map +1 -1
  46. package/components/button-group/button-group.js +3 -4
  47. package/components/button-group/button-group.js.map +1 -1
  48. package/components/button-group/themes/shared/button/button.bootstrap.css.js +1 -1
  49. package/components/button-group/themes/shared/button/button.bootstrap.css.js.map +1 -1
  50. package/components/button-group/themes/shared/button/button.common.css.js +1 -1
  51. package/components/button-group/themes/shared/button/button.common.css.js.map +1 -1
  52. package/components/button-group/themes/shared/button/button.indigo.css.js +1 -1
  53. package/components/button-group/themes/shared/button/button.indigo.css.js.map +1 -1
  54. package/components/button-group/toggle-button.js +4 -3
  55. package/components/button-group/toggle-button.js.map +1 -1
  56. package/components/calendar/calendar.d.ts +1 -1
  57. package/components/calendar/calendar.js +3 -4
  58. package/components/calendar/calendar.js.map +1 -1
  59. package/components/calendar/days-view/days-view.js +5 -6
  60. package/components/calendar/days-view/days-view.js.map +1 -1
  61. package/components/calendar/months-view/months-view.js +5 -6
  62. package/components/calendar/months-view/months-view.js.map +1 -1
  63. package/components/calendar/themes/calendar.base.css.js +1 -1
  64. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  65. package/components/calendar/themes/days-view.base.css.js +1 -1
  66. package/components/calendar/themes/days-view.base.css.js.map +1 -1
  67. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js +1 -1
  68. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js.map +1 -1
  69. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js +1 -1
  70. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js.map +1 -1
  71. package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js +1 -1
  72. package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js.map +1 -1
  73. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js +1 -1
  74. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js.map +1 -1
  75. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js +1 -1
  76. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js.map +1 -1
  77. package/components/calendar/themes/shared/material/calendar.material.css.js +1 -1
  78. package/components/calendar/themes/shared/material/calendar.material.css.js.map +1 -1
  79. package/components/calendar/themes/year-month-view.base.css.js +1 -1
  80. package/components/calendar/themes/year-month-view.base.css.js.map +1 -1
  81. package/components/calendar/years-view/years-view.js +5 -6
  82. package/components/calendar/years-view/years-view.js.map +1 -1
  83. package/components/card/card.actions.js +3 -4
  84. package/components/card/card.actions.js.map +1 -1
  85. package/components/card/card.content.js +3 -4
  86. package/components/card/card.content.js.map +1 -1
  87. package/components/card/card.header.js +3 -4
  88. package/components/card/card.header.js.map +1 -1
  89. package/components/card/card.js +3 -4
  90. package/components/card/card.js.map +1 -1
  91. package/components/card/card.media.js +3 -4
  92. package/components/card/card.media.js.map +1 -1
  93. package/components/card/themes/card.actions.base.css.js +1 -1
  94. package/components/card/themes/card.actions.base.css.js.map +1 -1
  95. package/components/card/themes/card.content.base.css.js +1 -1
  96. package/components/card/themes/card.content.base.css.js.map +1 -1
  97. package/components/card/themes/card.header.base.css.js +1 -1
  98. package/components/card/themes/card.header.base.css.js.map +1 -1
  99. package/components/card/themes/shared/actions/card.actions.bootstrap.css.js +1 -1
  100. package/components/card/themes/shared/actions/card.actions.bootstrap.css.js.map +1 -1
  101. package/components/card/themes/shared/actions/card.actions.indigo.css.js +1 -1
  102. package/components/card/themes/shared/actions/card.actions.indigo.css.js.map +1 -1
  103. package/components/card/themes/shared/container/card.bootstrap.css.js +1 -1
  104. package/components/card/themes/shared/container/card.bootstrap.css.js.map +1 -1
  105. package/components/card/themes/shared/container/card.indigo.css.js +1 -1
  106. package/components/card/themes/shared/container/card.indigo.css.js.map +1 -1
  107. package/components/card/themes/shared/content/card.content.bootstrap.css.js +1 -1
  108. package/components/card/themes/shared/content/card.content.bootstrap.css.js.map +1 -1
  109. package/components/card/themes/shared/header/card.header.fluent.css.js +1 -1
  110. package/components/card/themes/shared/header/card.header.fluent.css.js.map +1 -1
  111. package/components/card/themes/shared/header/card.header.indigo.css.js +1 -1
  112. package/components/card/themes/shared/header/card.header.indigo.css.js.map +1 -1
  113. package/components/carousel/carousel-indicator-container.js +3 -4
  114. package/components/carousel/carousel-indicator-container.js.map +1 -1
  115. package/components/carousel/carousel-indicator.js +3 -4
  116. package/components/carousel/carousel-indicator.js.map +1 -1
  117. package/components/carousel/carousel-slide.js +3 -4
  118. package/components/carousel/carousel-slide.js.map +1 -1
  119. package/components/carousel/carousel.js +3 -7
  120. package/components/carousel/carousel.js.map +1 -1
  121. package/components/carousel/themes/carousel.base.css.js +1 -1
  122. package/components/carousel/themes/carousel.base.css.js.map +1 -1
  123. package/components/carousel/themes/shared/carousel.indigo.css.js +1 -1
  124. package/components/carousel/themes/shared/carousel.indigo.css.js.map +1 -1
  125. package/components/chat/chat-input.d.ts +91 -0
  126. package/components/chat/chat-input.js +263 -0
  127. package/components/chat/chat-input.js.map +1 -0
  128. package/components/chat/chat-message.d.ts +48 -0
  129. package/components/chat/chat-message.js +199 -0
  130. package/components/chat/chat-message.js.map +1 -0
  131. package/components/chat/chat-state.d.ts +130 -0
  132. package/components/chat/chat-state.js +180 -0
  133. package/components/chat/chat-state.js.map +1 -0
  134. package/components/chat/chat.d.ts +151 -0
  135. package/components/chat/chat.js +325 -0
  136. package/components/chat/chat.js.map +1 -0
  137. package/components/chat/extras/markdown-renderer.d.ts +26 -0
  138. package/components/chat/extras/markdown-renderer.js +49 -0
  139. package/components/chat/extras/markdown-renderer.js.map +1 -0
  140. package/components/chat/message-attachments.d.ts +56 -0
  141. package/components/chat/message-attachments.js +132 -0
  142. package/components/chat/message-attachments.js.map +1 -0
  143. package/components/chat/themes/attachments.d.ts +2 -0
  144. package/components/chat/themes/attachments.js +14 -0
  145. package/components/chat/themes/attachments.js.map +1 -0
  146. package/components/chat/themes/chat.base.css.d.ts +1 -0
  147. package/components/chat/themes/chat.base.css.js +3 -0
  148. package/components/chat/themes/chat.base.css.js.map +1 -0
  149. package/components/chat/themes/dark/chat.bootstrap.css.d.ts +1 -0
  150. package/components/chat/themes/dark/chat.bootstrap.css.js +3 -0
  151. package/components/chat/themes/dark/chat.bootstrap.css.js.map +1 -0
  152. package/components/chat/themes/dark/chat.fluent.css.d.ts +1 -0
  153. package/components/chat/themes/dark/chat.fluent.css.js +3 -0
  154. package/components/chat/themes/dark/chat.fluent.css.js.map +1 -0
  155. package/components/chat/themes/dark/chat.indigo.css.d.ts +1 -0
  156. package/components/chat/themes/dark/chat.indigo.css.js +3 -0
  157. package/components/chat/themes/dark/chat.indigo.css.js.map +1 -0
  158. package/components/chat/themes/dark/chat.material.css.d.ts +1 -0
  159. package/components/chat/themes/dark/chat.material.css.js +3 -0
  160. package/components/chat/themes/dark/chat.material.css.js.map +1 -0
  161. package/components/chat/themes/input.base.css.d.ts +1 -0
  162. package/components/chat/themes/input.base.css.js +3 -0
  163. package/components/chat/themes/input.base.css.js.map +1 -0
  164. package/components/chat/themes/input.d.ts +2 -0
  165. package/components/chat/themes/input.js +35 -0
  166. package/components/chat/themes/input.js.map +1 -0
  167. package/components/chat/themes/light/chat.bootstrap.css.d.ts +1 -0
  168. package/components/chat/themes/light/chat.bootstrap.css.js +3 -0
  169. package/components/chat/themes/light/chat.bootstrap.css.js.map +1 -0
  170. package/components/chat/themes/light/chat.fluent.css.d.ts +1 -0
  171. package/components/chat/themes/light/chat.fluent.css.js +3 -0
  172. package/components/chat/themes/light/chat.fluent.css.js.map +1 -0
  173. package/components/chat/themes/light/chat.indigo.css.d.ts +1 -0
  174. package/components/chat/themes/light/chat.indigo.css.js +3 -0
  175. package/components/chat/themes/light/chat.indigo.css.js.map +1 -0
  176. package/components/chat/themes/light/chat.material.css.d.ts +1 -0
  177. package/components/chat/themes/light/chat.material.css.js +3 -0
  178. package/components/chat/themes/light/chat.material.css.js.map +1 -0
  179. package/components/chat/themes/light/chat.shared.css.d.ts +1 -0
  180. package/components/chat/themes/light/chat.shared.css.js +3 -0
  181. package/components/chat/themes/light/chat.shared.css.js.map +1 -0
  182. package/components/chat/themes/message-attachments.base.css.d.ts +1 -0
  183. package/components/chat/themes/message-attachments.base.css.js +3 -0
  184. package/components/chat/themes/message-attachments.base.css.js.map +1 -0
  185. package/components/chat/themes/message.base.css.d.ts +1 -0
  186. package/components/chat/themes/message.base.css.js +3 -0
  187. package/components/chat/themes/message.base.css.js.map +1 -0
  188. package/components/chat/themes/message.d.ts +2 -0
  189. package/components/chat/themes/message.js +28 -0
  190. package/components/chat/themes/message.js.map +1 -0
  191. package/components/chat/themes/shared/chat-message/chat-message.bootstrap.css.d.ts +1 -0
  192. package/components/chat/themes/shared/chat-message/chat-message.bootstrap.css.js +3 -0
  193. package/components/chat/themes/shared/chat-message/chat-message.bootstrap.css.js.map +1 -0
  194. package/components/chat/themes/shared/chat-message/chat-message.common.css.d.ts +1 -0
  195. package/components/chat/themes/shared/chat-message/chat-message.common.css.js +3 -0
  196. package/components/chat/themes/shared/chat-message/chat-message.common.css.js.map +1 -0
  197. package/components/chat/themes/shared/chat-message/chat-message.fluent.css.d.ts +1 -0
  198. package/components/chat/themes/shared/chat-message/chat-message.fluent.css.js +3 -0
  199. package/components/chat/themes/shared/chat-message/chat-message.fluent.css.js.map +1 -0
  200. package/components/chat/themes/shared/chat-message/chat-message.indigo.css.d.ts +1 -0
  201. package/components/chat/themes/shared/chat-message/chat-message.indigo.css.js +3 -0
  202. package/components/chat/themes/shared/chat-message/chat-message.indigo.css.js.map +1 -0
  203. package/components/chat/themes/shared/chat.bootstrap.css.d.ts +1 -0
  204. package/components/chat/themes/shared/chat.bootstrap.css.js +3 -0
  205. package/components/chat/themes/shared/chat.bootstrap.css.js.map +1 -0
  206. package/components/chat/themes/shared/chat.common.css.d.ts +1 -0
  207. package/components/chat/themes/shared/chat.common.css.js +3 -0
  208. package/components/chat/themes/shared/chat.common.css.js.map +1 -0
  209. package/components/chat/themes/shared/chat.fluent.css.d.ts +1 -0
  210. package/components/chat/themes/shared/chat.fluent.css.js +3 -0
  211. package/components/chat/themes/shared/chat.fluent.css.js.map +1 -0
  212. package/components/chat/themes/shared/chat.indigo.css.d.ts +1 -0
  213. package/components/chat/themes/shared/chat.indigo.css.js +3 -0
  214. package/components/chat/themes/shared/chat.indigo.css.js.map +1 -0
  215. package/components/chat/themes/shared/input/input.bootstrap.css.d.ts +1 -0
  216. package/components/chat/themes/shared/input/input.bootstrap.css.js +3 -0
  217. package/components/chat/themes/shared/input/input.bootstrap.css.js.map +1 -0
  218. package/components/chat/themes/shared/input/input.common.css.d.ts +1 -0
  219. package/components/chat/themes/shared/input/input.common.css.js +3 -0
  220. package/components/chat/themes/shared/input/input.common.css.js.map +1 -0
  221. package/components/chat/themes/shared/input/input.fluent.css.d.ts +1 -0
  222. package/components/chat/themes/shared/input/input.fluent.css.js +3 -0
  223. package/components/chat/themes/shared/input/input.fluent.css.js.map +1 -0
  224. package/components/chat/themes/shared/input/input.indigo.css.d.ts +1 -0
  225. package/components/chat/themes/shared/input/input.indigo.css.js +3 -0
  226. package/components/chat/themes/shared/input/input.indigo.css.js.map +1 -0
  227. package/components/chat/themes/shared/input/input.material.css.d.ts +1 -0
  228. package/components/chat/themes/shared/input/input.material.css.js +3 -0
  229. package/components/chat/themes/shared/input/input.material.css.js.map +1 -0
  230. package/components/chat/themes/shared/message-attachments/message-attachments.common.css.d.ts +1 -0
  231. package/components/chat/themes/shared/message-attachments/message-attachments.common.css.js +3 -0
  232. package/components/chat/themes/shared/message-attachments/message-attachments.common.css.js.map +1 -0
  233. package/components/chat/themes/shared/message-attachments/message-attachments.indigo.css.d.ts +1 -0
  234. package/components/chat/themes/shared/message-attachments/message-attachments.indigo.css.js +3 -0
  235. package/components/chat/themes/shared/message-attachments/message-attachments.indigo.css.js.map +1 -0
  236. package/components/chat/themes/themes.d.ts +2 -0
  237. package/components/chat/themes/themes.js +49 -0
  238. package/components/chat/themes/themes.js.map +1 -0
  239. package/components/chat/types.d.ts +149 -0
  240. package/components/chat/types.js +2 -0
  241. package/components/chat/types.js.map +1 -0
  242. package/components/chat/utils.d.ts +16 -0
  243. package/components/chat/utils.js +82 -0
  244. package/components/chat/utils.js.map +1 -0
  245. package/components/checkbox/checkbox-base.d.ts +1 -1
  246. package/components/checkbox/checkbox.js +3 -4
  247. package/components/checkbox/checkbox.js.map +1 -1
  248. package/components/checkbox/switch.js +3 -4
  249. package/components/checkbox/switch.js.map +1 -1
  250. package/components/checkbox/themes/checkbox.base.css.js +1 -1
  251. package/components/checkbox/themes/checkbox.base.css.js.map +1 -1
  252. package/components/checkbox/themes/dark/switch/switch.bootstrap.css.js +1 -1
  253. package/components/checkbox/themes/dark/switch/switch.bootstrap.css.js.map +1 -1
  254. package/components/checkbox/themes/dark/switch/switch.fluent.css.js +1 -1
  255. package/components/checkbox/themes/dark/switch/switch.fluent.css.js.map +1 -1
  256. package/components/checkbox/themes/dark/switch/switch.indigo.css.js +1 -1
  257. package/components/checkbox/themes/dark/switch/switch.indigo.css.js.map +1 -1
  258. package/components/checkbox/themes/dark/switch/switch.material.css.js +1 -1
  259. package/components/checkbox/themes/dark/switch/switch.material.css.js.map +1 -1
  260. package/components/checkbox/themes/light/switch/switch.bootstrap.css.js +1 -1
  261. package/components/checkbox/themes/light/switch/switch.bootstrap.css.js.map +1 -1
  262. package/components/checkbox/themes/light/switch/switch.fluent.css.js +1 -1
  263. package/components/checkbox/themes/light/switch/switch.fluent.css.js.map +1 -1
  264. package/components/checkbox/themes/light/switch/switch.indigo.css.js +1 -1
  265. package/components/checkbox/themes/light/switch/switch.indigo.css.js.map +1 -1
  266. package/components/checkbox/themes/light/switch/switch.material.css.js +1 -1
  267. package/components/checkbox/themes/light/switch/switch.material.css.js.map +1 -1
  268. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
  269. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
  270. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js +1 -1
  271. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js.map +1 -1
  272. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js +1 -1
  273. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js.map +1 -1
  274. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js +1 -1
  275. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js.map +1 -1
  276. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js +1 -1
  277. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js.map +1 -1
  278. package/components/checkbox/themes/shared/switch/switch.common.css.js +1 -1
  279. package/components/checkbox/themes/shared/switch/switch.common.css.js.map +1 -1
  280. package/components/checkbox/themes/shared/switch/switch.fluent.css.js +1 -1
  281. package/components/checkbox/themes/shared/switch/switch.fluent.css.js.map +1 -1
  282. package/components/checkbox/themes/shared/switch/switch.indigo.css.js +1 -1
  283. package/components/checkbox/themes/shared/switch/switch.indigo.css.js.map +1 -1
  284. package/components/checkbox/themes/switch.base.css.js +1 -1
  285. package/components/checkbox/themes/switch.base.css.js.map +1 -1
  286. package/components/chip/chip.js +3 -4
  287. package/components/chip/chip.js.map +1 -1
  288. package/components/chip/themes/chip.base.css.js +1 -1
  289. package/components/chip/themes/chip.base.css.js.map +1 -1
  290. package/components/chip/themes/shared/chip.indigo.css.js +1 -1
  291. package/components/chip/themes/shared/chip.indigo.css.js.map +1 -1
  292. package/components/combo/combo-header.js +3 -4
  293. package/components/combo/combo-header.js.map +1 -1
  294. package/components/combo/combo-item.js +3 -4
  295. package/components/combo/combo-item.js.map +1 -1
  296. package/components/combo/combo-list.js +2 -3
  297. package/components/combo/combo-list.js.map +1 -1
  298. package/components/combo/combo.js +4 -3
  299. package/components/combo/combo.js.map +1 -1
  300. package/components/combo/controllers/navigation.js +1 -1
  301. package/components/combo/controllers/navigation.js.map +1 -1
  302. package/components/combo/themes/combo-item.base.css.js +1 -1
  303. package/components/combo/themes/combo-item.base.css.js.map +1 -1
  304. package/components/combo/themes/combo.base.css.js +1 -1
  305. package/components/combo/themes/combo.base.css.js.map +1 -1
  306. package/components/combo/themes/shared/combo.bootstrap.css.js +1 -1
  307. package/components/combo/themes/shared/combo.bootstrap.css.js.map +1 -1
  308. package/components/combo/themes/shared/combo.common.css.js +1 -1
  309. package/components/combo/themes/shared/combo.common.css.js.map +1 -1
  310. package/components/combo/themes/shared/combo.fluent.css.js +1 -1
  311. package/components/combo/themes/shared/combo.fluent.css.js.map +1 -1
  312. package/components/combo/themes/shared/combo.indigo.css.js +1 -1
  313. package/components/combo/themes/shared/combo.indigo.css.js.map +1 -1
  314. package/components/combo/themes/shared/combo.material.css.js +1 -1
  315. package/components/combo/themes/shared/combo.material.css.js.map +1 -1
  316. package/components/common/context.d.ts +8 -1
  317. package/components/common/context.js +3 -1
  318. package/components/common/context.js.map +1 -1
  319. package/components/common/controllers/focus-ring.js +5 -5
  320. package/components/common/controllers/focus-ring.js.map +1 -1
  321. package/components/common/controllers/key-bindings.js +7 -6
  322. package/components/common/controllers/key-bindings.js.map +1 -1
  323. package/components/common/definitions/defineAllComponents.js +2 -0
  324. package/components/common/definitions/defineAllComponents.js.map +1 -1
  325. package/components/common/i18n/chat.resources.d.ts +11 -0
  326. package/components/common/i18n/chat.resources.js +11 -0
  327. package/components/common/i18n/chat.resources.js.map +1 -0
  328. package/components/common/mixins/forms/associated.js +1 -1
  329. package/components/common/mixins/forms/associated.js.map +1 -1
  330. package/components/common/mixins/forms/form-value.js +1 -1
  331. package/components/common/mixins/forms/form-value.js.map +1 -1
  332. package/components/common/part-map.d.ts +1 -1
  333. package/components/common/util.d.ts +22 -0
  334. package/components/common/util.js +84 -2
  335. package/components/common/util.js.map +1 -1
  336. package/components/date-picker/date-picker.js +7 -6
  337. package/components/date-picker/date-picker.js.map +1 -1
  338. package/components/date-picker/themes/date-picker.base.css.js +1 -1
  339. package/components/date-picker/themes/date-picker.base.css.js.map +1 -1
  340. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js +1 -1
  341. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js.map +1 -1
  342. package/components/date-picker/themes/shared/date-picker.common.css.js +1 -1
  343. package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -1
  344. package/components/date-picker/themes/shared/date-picker.fluent.css.js +1 -1
  345. package/components/date-picker/themes/shared/date-picker.fluent.css.js.map +1 -1
  346. package/components/date-picker/themes/shared/date-picker.indigo.css.js +1 -1
  347. package/components/date-picker/themes/shared/date-picker.indigo.css.js.map +1 -1
  348. package/components/date-range-picker/date-range-picker.base.css.js +1 -1
  349. package/components/date-range-picker/date-range-picker.base.css.js.map +1 -1
  350. package/components/date-range-picker/date-range-picker.d.ts +1 -1
  351. package/components/date-range-picker/date-range-picker.js +5 -5
  352. package/components/date-range-picker/date-range-picker.js.map +1 -1
  353. package/components/date-range-picker/predefined-ranges-area.base.css.js +1 -1
  354. package/components/date-range-picker/predefined-ranges-area.base.css.js.map +1 -1
  355. package/components/date-range-picker/predefined-ranges-area.js +3 -4
  356. package/components/date-range-picker/predefined-ranges-area.js.map +1 -1
  357. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js +1 -1
  358. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js.map +1 -1
  359. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js +1 -1
  360. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js.map +1 -1
  361. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js +1 -1
  362. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js.map +1 -1
  363. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js +1 -1
  364. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js.map +1 -1
  365. package/components/date-time-input/date-time-input.js +3 -4
  366. package/components/date-time-input/date-time-input.js.map +1 -1
  367. package/components/date-time-input/date-util.js +11 -11
  368. package/components/date-time-input/date-util.js.map +1 -1
  369. package/components/dialog/dialog.js +3 -4
  370. package/components/dialog/dialog.js.map +1 -1
  371. package/components/dialog/themes/dialog.base.css.js +1 -1
  372. package/components/dialog/themes/dialog.base.css.js.map +1 -1
  373. package/components/dialog/themes/shared/dialog.bootstrap.css.js +1 -1
  374. package/components/dialog/themes/shared/dialog.bootstrap.css.js.map +1 -1
  375. package/components/dialog/themes/shared/dialog.common.css.js +1 -1
  376. package/components/dialog/themes/shared/dialog.common.css.js.map +1 -1
  377. package/components/dialog/themes/shared/dialog.fluent.css.js +1 -1
  378. package/components/dialog/themes/shared/dialog.fluent.css.js.map +1 -1
  379. package/components/dialog/themes/shared/dialog.indigo.css.js +1 -1
  380. package/components/dialog/themes/shared/dialog.indigo.css.js.map +1 -1
  381. package/components/divider/divider.js +3 -4
  382. package/components/divider/divider.js.map +1 -1
  383. package/components/dropdown/dropdown-group.js +3 -4
  384. package/components/dropdown/dropdown-group.js.map +1 -1
  385. package/components/dropdown/dropdown-header.js +3 -4
  386. package/components/dropdown/dropdown-header.js.map +1 -1
  387. package/components/dropdown/dropdown-item.js +3 -4
  388. package/components/dropdown/dropdown-item.js.map +1 -1
  389. package/components/dropdown/dropdown.js +4 -3
  390. package/components/dropdown/dropdown.js.map +1 -1
  391. package/components/dropdown/themes/dropdown-group.base.css.js +1 -1
  392. package/components/dropdown/themes/dropdown-group.base.css.js.map +1 -1
  393. package/components/dropdown/themes/dropdown-item.base.css.js +1 -1
  394. package/components/dropdown/themes/dropdown-item.base.css.js.map +1 -1
  395. package/components/dropdown/themes/shared/dropdown.indigo.css.js +1 -1
  396. package/components/dropdown/themes/shared/dropdown.indigo.css.js.map +1 -1
  397. package/components/dropdown/themes/shared/group/dropdown-group.fluent.css.js +1 -1
  398. package/components/dropdown/themes/shared/group/dropdown-group.fluent.css.js.map +1 -1
  399. package/components/dropdown/themes/shared/header/dropdown-header.common.css.js +1 -1
  400. package/components/dropdown/themes/shared/header/dropdown-header.common.css.js.map +1 -1
  401. package/components/dropdown/themes/shared/header/dropdown-header.indigo.css.js +1 -1
  402. package/components/dropdown/themes/shared/header/dropdown-header.indigo.css.js.map +1 -1
  403. package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js +1 -1
  404. package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js.map +1 -1
  405. package/components/expansion-panel/expansion-panel.js +3 -5
  406. package/components/expansion-panel/expansion-panel.js.map +1 -1
  407. package/components/expansion-panel/themes/expansion-panel.base.css.js +1 -1
  408. package/components/expansion-panel/themes/expansion-panel.base.css.js.map +1 -1
  409. package/components/expansion-panel/themes/shared/expansion-panel.indigo.css.js +1 -1
  410. package/components/expansion-panel/themes/shared/expansion-panel.indigo.css.js.map +1 -1
  411. package/components/file-input/file-input.d.ts +0 -4
  412. package/components/file-input/file-input.js +15 -19
  413. package/components/file-input/file-input.js.map +1 -1
  414. package/components/file-input/themes/shared/file-input.bootstrap.css.js +1 -1
  415. package/components/file-input/themes/shared/file-input.bootstrap.css.js.map +1 -1
  416. package/components/file-input/themes/shared/file-input.material.css.js +1 -1
  417. package/components/file-input/themes/shared/file-input.material.css.js.map +1 -1
  418. package/components/focus-trap/focus-trap.js +7 -8
  419. package/components/focus-trap/focus-trap.js.map +1 -1
  420. package/components/icon/icon-references.js +208 -0
  421. package/components/icon/icon-references.js.map +1 -1
  422. package/components/icon/icon-state.broadcast.js +1 -1
  423. package/components/icon/icon-state.broadcast.js.map +1 -1
  424. package/components/icon/icon.js +3 -4
  425. package/components/icon/icon.js.map +1 -1
  426. package/components/icon/internal-icons-lib.js +105 -0
  427. package/components/icon/internal-icons-lib.js.map +1 -1
  428. package/components/input/input-base.js +4 -3
  429. package/components/input/input-base.js.map +1 -1
  430. package/components/input/input.d.ts +0 -4
  431. package/components/input/input.js +11 -14
  432. package/components/input/input.js.map +1 -1
  433. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  434. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  435. package/components/input/themes/shared/input.common.css.js +1 -1
  436. package/components/input/themes/shared/input.common.css.js.map +1 -1
  437. package/components/input/themes/shared/input.fluent.css.js +1 -1
  438. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  439. package/components/input/themes/shared/input.indigo.css.js +1 -1
  440. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  441. package/components/input/themes/shared/input.material.css.js +1 -1
  442. package/components/input/themes/shared/input.material.css.js.map +1 -1
  443. package/components/list/list-header.js +3 -4
  444. package/components/list/list-header.js.map +1 -1
  445. package/components/list/list-item.js +3 -4
  446. package/components/list/list-item.js.map +1 -1
  447. package/components/list/list.js +3 -4
  448. package/components/list/list.js.map +1 -1
  449. package/components/list/themes/dark/container/list.indigo.css.js +1 -1
  450. package/components/list/themes/dark/container/list.indigo.css.js.map +1 -1
  451. package/components/list/themes/dark/header/list-header.indigo.css.js +1 -1
  452. package/components/list/themes/dark/header/list-header.indigo.css.js.map +1 -1
  453. package/components/list/themes/dark/item/list-item.indigo.css.js +1 -1
  454. package/components/list/themes/dark/item/list-item.indigo.css.js.map +1 -1
  455. package/components/list/themes/header.base.css.js +1 -1
  456. package/components/list/themes/header.base.css.js.map +1 -1
  457. package/components/list/themes/item.base.css.js +1 -1
  458. package/components/list/themes/item.base.css.js.map +1 -1
  459. package/components/list/themes/light/container/list.indigo.css.js +1 -1
  460. package/components/list/themes/light/container/list.indigo.css.js.map +1 -1
  461. package/components/list/themes/light/header/list-header.indigo.css.js +1 -1
  462. package/components/list/themes/light/header/list-header.indigo.css.js.map +1 -1
  463. package/components/list/themes/light/item/list-item.indigo.css.js +1 -1
  464. package/components/list/themes/light/item/list-item.indigo.css.js.map +1 -1
  465. package/components/list/themes/shared/header/list-header.indigo.css.js +1 -1
  466. package/components/list/themes/shared/header/list-header.indigo.css.js.map +1 -1
  467. package/components/list/themes/shared/item/list-item.indigo.css.js +1 -1
  468. package/components/list/themes/shared/item/list-item.indigo.css.js.map +1 -1
  469. package/components/mask-input/mask-input.js +2 -3
  470. package/components/mask-input/mask-input.js.map +1 -1
  471. package/components/nav-drawer/nav-drawer-header-item.js +3 -4
  472. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  473. package/components/nav-drawer/nav-drawer-item.js +3 -4
  474. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  475. package/components/nav-drawer/nav-drawer.js +3 -4
  476. package/components/nav-drawer/nav-drawer.js.map +1 -1
  477. package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js +1 -1
  478. package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js.map +1 -1
  479. package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js +1 -1
  480. package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js.map +1 -1
  481. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js +1 -1
  482. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js.map +1 -1
  483. package/components/nav-drawer/themes/shared/header-item/header-item.bootstrap.css.js +1 -1
  484. package/components/nav-drawer/themes/shared/header-item/header-item.bootstrap.css.js.map +1 -1
  485. package/components/nav-drawer/themes/shared/header-item/header-item.fluent.css.js +1 -1
  486. package/components/nav-drawer/themes/shared/header-item/header-item.fluent.css.js.map +1 -1
  487. package/components/nav-drawer/themes/shared/header-item/header-item.indigo.css.js +1 -1
  488. package/components/nav-drawer/themes/shared/header-item/header-item.indigo.css.js.map +1 -1
  489. package/components/nav-drawer/themes/shared/header-item/header-item.material.css.js +1 -1
  490. package/components/nav-drawer/themes/shared/header-item/header-item.material.css.js.map +1 -1
  491. package/components/nav-drawer/themes/shared/item/item.bootstrap.css.js +1 -1
  492. package/components/nav-drawer/themes/shared/item/item.bootstrap.css.js.map +1 -1
  493. package/components/nav-drawer/themes/shared/item/item.fluent.css.js +1 -1
  494. package/components/nav-drawer/themes/shared/item/item.fluent.css.js.map +1 -1
  495. package/components/nav-drawer/themes/shared/item/item.indigo.css.js +1 -1
  496. package/components/nav-drawer/themes/shared/item/item.indigo.css.js.map +1 -1
  497. package/components/nav-drawer/themes/shared/item/item.material.css.js +1 -1
  498. package/components/nav-drawer/themes/shared/item/item.material.css.js.map +1 -1
  499. package/components/navbar/navbar.js +3 -4
  500. package/components/navbar/navbar.js.map +1 -1
  501. package/components/navbar/themes/navbar.base.css.js +1 -1
  502. package/components/navbar/themes/navbar.base.css.js.map +1 -1
  503. package/components/navbar/themes/shared/navbar.bootstrap.css.js +1 -1
  504. package/components/navbar/themes/shared/navbar.bootstrap.css.js.map +1 -1
  505. package/components/navbar/themes/shared/navbar.indigo.css.js +1 -1
  506. package/components/navbar/themes/shared/navbar.indigo.css.js.map +1 -1
  507. package/components/popover/popover.js +9 -10
  508. package/components/popover/popover.js.map +1 -1
  509. package/components/progress/circular-gradient.js +2 -3
  510. package/components/progress/circular-gradient.js.map +1 -1
  511. package/components/progress/circular-progress.js +3 -4
  512. package/components/progress/circular-progress.js.map +1 -1
  513. package/components/progress/linear-progress.js +3 -4
  514. package/components/progress/linear-progress.js.map +1 -1
  515. package/components/progress/themes/linear/shared/linear.progress.fluent.css.js +1 -1
  516. package/components/progress/themes/linear/shared/linear.progress.fluent.css.js.map +1 -1
  517. package/components/progress/themes/linear/shared/linear.progress.indigo.css.js +1 -1
  518. package/components/progress/themes/linear/shared/linear.progress.indigo.css.js.map +1 -1
  519. package/components/radio/radio.js +3 -4
  520. package/components/radio/radio.js.map +1 -1
  521. package/components/radio/themes/shared/radio.bootstrap.css.js +1 -1
  522. package/components/radio/themes/shared/radio.bootstrap.css.js.map +1 -1
  523. package/components/radio/themes/shared/radio.fluent.css.js +1 -1
  524. package/components/radio/themes/shared/radio.fluent.css.js.map +1 -1
  525. package/components/radio/themes/shared/radio.indigo.css.js +1 -1
  526. package/components/radio/themes/shared/radio.indigo.css.js.map +1 -1
  527. package/components/radio/themes/shared/radio.material.css.js +1 -1
  528. package/components/radio/themes/shared/radio.material.css.js.map +1 -1
  529. package/components/radio-group/radio-group.js +3 -4
  530. package/components/radio-group/radio-group.js.map +1 -1
  531. package/components/radio-group/themes/radio-group.base.css.js +1 -1
  532. package/components/radio-group/themes/radio-group.base.css.js.map +1 -1
  533. package/components/radio-group/themes/shared/radio-group.bootstrap.css.js +1 -1
  534. package/components/radio-group/themes/shared/radio-group.bootstrap.css.js.map +1 -1
  535. package/components/radio-group/themes/shared/radio-group.fluent.css.js +1 -1
  536. package/components/radio-group/themes/shared/radio-group.fluent.css.js.map +1 -1
  537. package/components/radio-group/themes/shared/radio-group.indigo.css.js +1 -1
  538. package/components/radio-group/themes/shared/radio-group.indigo.css.js.map +1 -1
  539. package/components/radio-group/themes/shared/radio-group.material.css.js +1 -1
  540. package/components/radio-group/themes/shared/radio-group.material.css.js.map +1 -1
  541. package/components/rating/rating-symbol.js +3 -4
  542. package/components/rating/rating-symbol.js.map +1 -1
  543. package/components/rating/rating.js +3 -5
  544. package/components/rating/rating.js.map +1 -1
  545. package/components/rating/themes/rating.base.css.js +1 -1
  546. package/components/rating/themes/rating.base.css.js.map +1 -1
  547. package/components/rating/themes/shared/rating.indigo.css.js +1 -1
  548. package/components/rating/themes/shared/rating.indigo.css.js.map +1 -1
  549. package/components/resize-container/resize-container.d.ts +1 -1
  550. package/components/resize-container/resize-container.js +3 -4
  551. package/components/resize-container/resize-container.js.map +1 -1
  552. package/components/ripple/ripple.js +3 -4
  553. package/components/ripple/ripple.js.map +1 -1
  554. package/components/select/select-group.js +3 -4
  555. package/components/select/select-group.js.map +1 -1
  556. package/components/select/select-header.js +3 -4
  557. package/components/select/select-header.js.map +1 -1
  558. package/components/select/select-item.js +3 -4
  559. package/components/select/select-item.js.map +1 -1
  560. package/components/select/select.js +4 -4
  561. package/components/select/select.js.map +1 -1
  562. package/components/select/themes/dark/select.bootstrap.css.js +1 -1
  563. package/components/select/themes/dark/select.bootstrap.css.js.map +1 -1
  564. package/components/select/themes/light/select.bootstrap.css.js +1 -1
  565. package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
  566. package/components/select/themes/shared/select.bootstrap.css.js +1 -1
  567. package/components/select/themes/shared/select.bootstrap.css.js.map +1 -1
  568. package/components/select/themes/shared/select.common.css.js +1 -1
  569. package/components/select/themes/shared/select.common.css.js.map +1 -1
  570. package/components/select/themes/shared/select.fluent.css.js +1 -1
  571. package/components/select/themes/shared/select.fluent.css.js.map +1 -1
  572. package/components/select/themes/shared/select.indigo.css.js +1 -1
  573. package/components/select/themes/shared/select.indigo.css.js.map +1 -1
  574. package/components/select/themes/shared/select.material.css.js +1 -1
  575. package/components/select/themes/shared/select.material.css.js.map +1 -1
  576. package/components/slider/range-slider.js +2 -3
  577. package/components/slider/range-slider.js.map +1 -1
  578. package/components/slider/slider-base.js +1 -2
  579. package/components/slider/slider-base.js.map +1 -1
  580. package/components/slider/slider-label.js +7 -8
  581. package/components/slider/slider-label.js.map +1 -1
  582. package/components/slider/slider.js +2 -3
  583. package/components/slider/slider.js.map +1 -1
  584. package/components/slider/themes/shared/slider.common.css.js +1 -1
  585. package/components/slider/themes/shared/slider.common.css.js.map +1 -1
  586. package/components/slider/themes/slider.base.css.js +1 -1
  587. package/components/slider/themes/slider.base.css.js.map +1 -1
  588. package/components/snackbar/snackbar.js +3 -4
  589. package/components/snackbar/snackbar.js.map +1 -1
  590. package/components/snackbar/themes/shared/snackbar.indigo.css.js +1 -1
  591. package/components/snackbar/themes/shared/snackbar.indigo.css.js.map +1 -1
  592. package/components/snackbar/themes/snackbar.base.css.js +1 -1
  593. package/components/snackbar/themes/snackbar.base.css.js.map +1 -1
  594. package/components/stepper/step.d.ts +1 -1
  595. package/components/stepper/step.js +3 -4
  596. package/components/stepper/step.js.map +1 -1
  597. package/components/stepper/stepper.js +3 -4
  598. package/components/stepper/stepper.js.map +1 -1
  599. package/components/tabs/tab-dom.js +1 -1
  600. package/components/tabs/tab-dom.js.map +1 -1
  601. package/components/tabs/tab.js +4 -5
  602. package/components/tabs/tab.js.map +1 -1
  603. package/components/tabs/tabs.js +3 -5
  604. package/components/tabs/tabs.js.map +1 -1
  605. package/components/tabs/themes/shared/tab/tab.bootstrap.css.js +1 -1
  606. package/components/tabs/themes/shared/tab/tab.bootstrap.css.js.map +1 -1
  607. package/components/tabs/themes/shared/tab/tab.fluent.css.js +1 -1
  608. package/components/tabs/themes/shared/tab/tab.fluent.css.js.map +1 -1
  609. package/components/tabs/themes/shared/tab/tab.indigo.css.js +1 -1
  610. package/components/tabs/themes/shared/tab/tab.indigo.css.js.map +1 -1
  611. package/components/tabs/themes/shared/tab/tab.material.css.js +1 -1
  612. package/components/tabs/themes/shared/tab/tab.material.css.js.map +1 -1
  613. package/components/textarea/textarea.d.ts +1 -1
  614. package/components/textarea/textarea.js +4 -3
  615. package/components/textarea/textarea.js.map +1 -1
  616. package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
  617. package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
  618. package/components/textarea/themes/shared/textarea.common.css.js +1 -1
  619. package/components/textarea/themes/shared/textarea.common.css.js.map +1 -1
  620. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  621. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  622. package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
  623. package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
  624. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  625. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  626. package/components/textarea/themes/textarea.base.css.js +1 -1
  627. package/components/textarea/themes/textarea.base.css.js.map +1 -1
  628. package/components/tile-manager/resize-state.js +1 -1
  629. package/components/tile-manager/resize-state.js.map +1 -1
  630. package/components/tile-manager/themes/tile-manager.base.css.js +1 -1
  631. package/components/tile-manager/themes/tile-manager.base.css.js.map +1 -1
  632. package/components/tile-manager/tile-manager.js +4 -3
  633. package/components/tile-manager/tile-manager.js.map +1 -1
  634. package/components/tile-manager/tile.js +3 -4
  635. package/components/tile-manager/tile.js.map +1 -1
  636. package/components/toast/themes/shared/toast.bootstrap.css.js +1 -1
  637. package/components/toast/themes/shared/toast.bootstrap.css.js.map +1 -1
  638. package/components/toast/themes/shared/toast.common.css.js +1 -1
  639. package/components/toast/themes/shared/toast.common.css.js.map +1 -1
  640. package/components/toast/themes/shared/toast.fluent.css.js +1 -1
  641. package/components/toast/themes/shared/toast.fluent.css.js.map +1 -1
  642. package/components/toast/themes/toast.base.css.js +1 -1
  643. package/components/toast/themes/toast.base.css.js.map +1 -1
  644. package/components/toast/toast.js +3 -4
  645. package/components/toast/toast.js.map +1 -1
  646. package/components/tooltip/controller.js +4 -4
  647. package/components/tooltip/controller.js.map +1 -1
  648. package/components/tooltip/themes/tooltip.base.css.js +1 -1
  649. package/components/tooltip/themes/tooltip.base.css.js.map +1 -1
  650. package/components/tooltip/tooltip.js +3 -4
  651. package/components/tooltip/tooltip.js.map +1 -1
  652. package/components/tree/themes/item.base.css.js +1 -1
  653. package/components/tree/themes/item.base.css.js.map +1 -1
  654. package/components/tree/themes/shared/item.common.css.js +1 -1
  655. package/components/tree/themes/shared/item.common.css.js.map +1 -1
  656. package/components/tree/themes/shared/item.indigo.css.js +1 -1
  657. package/components/tree/themes/shared/item.indigo.css.js.map +1 -1
  658. package/components/tree/themes/shared/item.material.css.js +1 -1
  659. package/components/tree/themes/shared/item.material.css.js.map +1 -1
  660. package/components/tree/tree-item.js +3 -4
  661. package/components/tree/tree-item.js.map +1 -1
  662. package/components/tree/tree.js +7 -4
  663. package/components/tree/tree.js.map +1 -1
  664. package/components/tree/tree.navigation.js +3 -3
  665. package/components/tree/tree.navigation.js.map +1 -1
  666. package/components/tree/tree.selection.js +6 -2
  667. package/components/tree/tree.selection.js.map +1 -1
  668. package/components/validation-container/validation-container.js +3 -4
  669. package/components/validation-container/validation-container.js.map +1 -1
  670. package/custom-elements.json +38599 -36648
  671. package/extras/index.d.ts +1 -0
  672. package/extras/index.js +2 -0
  673. package/extras/index.js.map +1 -0
  674. package/igniteui-webcomponents.css-data.json +1 -1
  675. package/igniteui-webcomponents.html-data.json +1 -1
  676. package/index.d.ts +4 -0
  677. package/index.js +2 -0
  678. package/index.js.map +1 -1
  679. package/package.json +6 -2
  680. package/themes/dark/bootstrap.css +1 -1
  681. package/themes/dark/fluent.css +1 -1
  682. package/themes/dark/indigo.css +1 -1
  683. package/themes/dark/material.css +1 -1
  684. package/themes/light/bootstrap.css +1 -1
  685. package/themes/light/fluent.css +1 -1
  686. package/themes/light/indigo.css +1 -1
  687. package/themes/light/material.css +1 -1
  688. package/web-types.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"expansion-panel.js","sourceRoot":"","sources":["../../../src/components/expansion-panel/expansion-panel.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { addAnimationController } from '../../animations/player.js';\nimport { growVerIn, growVerOut } from '../../animations/presets/grow/index.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport {\n addKeybindings,\n altKey,\n arrowDown,\n arrowUp,\n} from '../common/controllers/key-bindings.js';\nimport { addSlotController, setSlots } from '../common/controllers/slot.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport type { ExpansionPanelIndicatorPosition } from '../types.js';\nimport { styles } from './themes/expansion-panel.base.css.js';\nimport { styles as shared } from './themes/shared/expansion-panel.common.css.js';\nimport { all } from './themes/themes.js';\n\nexport interface IgcExpansionPanelComponentEventMap {\n igcOpening: CustomEvent<IgcExpansionPanelComponent>;\n igcOpened: CustomEvent<IgcExpansionPanelComponent>;\n igcClosing: CustomEvent<IgcExpansionPanelComponent>;\n igcClosed: CustomEvent<IgcExpansionPanelComponent>;\n}\n\nlet nextId = 1;\n\n/**\n * The Expansion Panel Component provides a way to display information in a toggleable way -\n * compact summary view containing title and description and expanded detail view containing\n * additional content to the summary header.\n *\n * @element igc-expansion-panel\n *\n * @slot - renders the default content of the panel\n * @slot title - renders the title of the panel's header\n * @slot subtitle - renders the subtitle of the panel's header\n * @slot indicator - renders the expand/collapsed indicator\n * @slot indicator-expanded - renders the expanded state of the indicator\n *\n * @fires igcOpening - Emitted before opening the expansion panel.\n * @fires igcOpened - Emitted after the expansion panel is opened.\n * @fires igcClosing - Emitted before closing the expansion panel.\n * @fires igcClosed - Emitted after the expansion panel is closed.\n *\n * @csspart header - The container of the expansion indicator, title and subtitle.\n * @csspart title - The title container.\n * @csspart subtitle - The subtitle container.\n * @csspart indicator - The indicator container.\n * @csspart content - The expansion panel's content wrapper.\n */\nexport default class IgcExpansionPanelComponent extends EventEmitterMixin<\n IgcExpansionPanelComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-expansion-panel';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcExpansionPanelComponent, IgcIconComponent);\n }\n\n private _panelId = `${IgcExpansionPanelComponent.tagName}-${nextId++}`;\n private readonly _headerRef = createRef<HTMLElement>();\n private readonly _contentRef = createRef<HTMLElement>();\n\n private readonly _player = addAnimationController(this, this._contentRef);\n private readonly _slots = addSlotController(this, {\n slots: setSlots('title', 'subtitle', 'indicator', 'indicator-expanded'),\n });\n\n /**\n * Indicates whether the contents of the control should be visible.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n /**\n * Get/Set whether the expansion panel is disabled. Disabled panels are ignored for user interactions.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /**\n * The indicator position of the expansion panel.\n * @attr indicator-position\n */\n @property({ reflect: true, attribute: 'indicator-position' })\n public indicatorPosition: ExpansionPanelIndicatorPosition = 'start';\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n addKeybindings(this, {\n ref: this._headerRef,\n skip: () => this.disabled,\n bindingDefaults: { preventDefault: true },\n })\n .setActivateHandler(this._toggleWithEvent)\n .set([altKey, arrowDown], this._openWithEvent)\n .set([altKey, arrowUp], this._closeWithEvent);\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this._panelId = this.id || this._panelId;\n }\n\n private _handleClick(): void {\n this._headerRef.value!.focus();\n this._toggleWithEvent();\n }\n\n private _toggleWithEvent(): void {\n this.open ? this._closeWithEvent() : this._openWithEvent();\n }\n\n private async _toggleAnimation(dir: 'open' | 'close'): Promise<boolean> {\n const animation = dir === 'open' ? growVerIn : growVerOut;\n\n const [_, event] = await Promise.all([\n this._player.stopAll(),\n this._player.play(animation()),\n ]);\n\n return event.type === 'finish';\n }\n\n private async _openWithEvent(): Promise<void> {\n if (\n this.open ||\n !this.emitEvent('igcOpening', { cancelable: true, detail: this })\n ) {\n return;\n }\n\n this.open = true;\n\n if (await this._toggleAnimation('open')) {\n this.emitEvent('igcOpened', { detail: this });\n }\n }\n\n private async _closeWithEvent(): Promise<void> {\n if (\n !(\n this.open &&\n this.emitEvent('igcClosing', { cancelable: true, detail: this })\n )\n ) {\n return;\n }\n\n this.open = false;\n\n if (await this._toggleAnimation('close')) {\n this.emitEvent('igcClosed', { detail: this });\n }\n }\n\n /** Toggles the panel open/close state. */\n public async toggle(): Promise<boolean> {\n return this.open ? this.hide() : this.show();\n }\n\n /** Hides the panel content. */\n public async hide(): Promise<boolean> {\n if (!this.open) {\n return false;\n }\n\n this.open = false;\n await this._toggleAnimation('close');\n return true;\n }\n\n /** Shows the panel content. */\n public async show(): Promise<boolean> {\n if (this.open) {\n return false;\n }\n\n this.open = true;\n await this._toggleAnimation('open');\n return true;\n }\n\n private _renderIndicator() {\n const iconName = this.open ? 'collapse' : 'expand';\n const indicatorHidden =\n this.open && this._slots.hasAssignedElements('indicator-expanded');\n\n return html`\n <div part=\"indicator\" aria-hidden=\"true\">\n <slot name=\"indicator\" ?hidden=${indicatorHidden}>\n <igc-icon name=${iconName} collection=\"default\"></igc-icon>\n </slot>\n <slot name=\"indicator-expanded\" ?hidden=${!indicatorHidden}></slot>\n </div>\n `;\n }\n\n private _renderHeader() {\n return html`\n <div\n ${ref(this._headerRef)}\n part=\"header\"\n id=\"${this._panelId}-header\"\n role=\"button\"\n aria-expanded=${this.open}\n aria-disabled=${this.disabled}\n aria-controls=\"${this._panelId}-content\"\n tabindex=${this.disabled ? '-1' : '0'}\n @click=${this.disabled ? nothing : this._handleClick}\n >\n ${this._renderIndicator()}\n <div>\n <slot name=\"title\" part=\"title\"></slot>\n <slot name=\"subtitle\" part=\"subtitle\"></slot>\n </div>\n </div>\n `;\n }\n\n private _renderPanel() {\n return html`\n <div\n ${ref(this._contentRef)}\n part=\"content\"\n role=\"region\"\n id=\"${this._panelId}-content\"\n aria-labelledby=\"${this._panelId}-header\"\n .inert=${!this.open}\n aria-hidden=${!this.open}\n >\n <slot></slot>\n </div>\n `;\n }\n\n protected override render() {\n return html`${this._renderHeader()}${this._renderPanel()}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-expansion-panel': IgcExpansionPanelComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"expansion-panel.js","sourceRoot":"","sources":["../../../src/components/expansion-panel/expansion-panel.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { addAnimationController } from '../../animations/player.js';\nimport { growVerIn, growVerOut } from '../../animations/presets/grow/index.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport {\n addKeybindings,\n altKey,\n arrowDown,\n arrowUp,\n} from '../common/controllers/key-bindings.js';\nimport { addSlotController, setSlots } from '../common/controllers/slot.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport type { ExpansionPanelIndicatorPosition } from '../types.js';\nimport { styles } from './themes/expansion-panel.base.css.js';\nimport { styles as shared } from './themes/shared/expansion-panel.common.css.js';\nimport { all } from './themes/themes.js';\n\nexport interface IgcExpansionPanelComponentEventMap {\n igcOpening: CustomEvent<IgcExpansionPanelComponent>;\n igcOpened: CustomEvent<IgcExpansionPanelComponent>;\n igcClosing: CustomEvent<IgcExpansionPanelComponent>;\n igcClosed: CustomEvent<IgcExpansionPanelComponent>;\n}\n\nlet nextId = 1;\n\n/**\n * The Expansion Panel Component provides a way to display information in a toggleable way -\n * compact summary view containing title and description and expanded detail view containing\n * additional content to the summary header.\n *\n * @element igc-expansion-panel\n *\n * @slot - renders the default content of the panel\n * @slot title - renders the title of the panel's header\n * @slot subtitle - renders the subtitle of the panel's header\n * @slot indicator - renders the expand/collapsed indicator\n * @slot indicator-expanded - renders the expanded state of the indicator\n *\n * @fires igcOpening - Emitted before opening the expansion panel.\n * @fires igcOpened - Emitted after the expansion panel is opened.\n * @fires igcClosing - Emitted before closing the expansion panel.\n * @fires igcClosed - Emitted after the expansion panel is closed.\n *\n * @csspart header - The container of the expansion indicator, title and subtitle.\n * @csspart title - The title container.\n * @csspart subtitle - The subtitle container.\n * @csspart indicator - The indicator container.\n * @csspart content - The expansion panel's content wrapper.\n */\nexport default class IgcExpansionPanelComponent extends EventEmitterMixin<\n IgcExpansionPanelComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-expansion-panel';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcExpansionPanelComponent, IgcIconComponent);\n }\n\n private _panelId = `${IgcExpansionPanelComponent.tagName}-${nextId++}`;\n private readonly _headerRef = createRef<HTMLElement>();\n private readonly _contentRef = createRef<HTMLElement>();\n\n private readonly _player = addAnimationController(this, this._contentRef);\n private readonly _slots = addSlotController(this, {\n slots: setSlots('title', 'subtitle', 'indicator', 'indicator-expanded'),\n });\n\n /**\n * Indicates whether the contents of the control should be visible.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n /**\n * Get/Set whether the expansion panel is disabled. Disabled panels are ignored for user interactions.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /**\n * The indicator position of the expansion panel.\n * @attr indicator-position\n */\n @property({ reflect: true, attribute: 'indicator-position' })\n public indicatorPosition: ExpansionPanelIndicatorPosition = 'start';\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n addKeybindings(this, {\n ref: this._headerRef,\n skip: () => this.disabled,\n })\n .setActivateHandler(this._toggleWithEvent)\n .set([altKey, arrowDown], this._openWithEvent)\n .set([altKey, arrowUp], this._closeWithEvent);\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this._panelId = this.id || this._panelId;\n }\n\n private _handleClick(): void {\n this._headerRef.value!.focus();\n this._toggleWithEvent();\n }\n\n private _toggleWithEvent(): void {\n this.open ? this._closeWithEvent() : this._openWithEvent();\n }\n\n private async _toggleAnimation(dir: 'open' | 'close'): Promise<boolean> {\n const animation = dir === 'open' ? growVerIn : growVerOut;\n\n const [_, event] = await Promise.all([\n this._player.stopAll(),\n this._player.play(animation()),\n ]);\n\n return event.type === 'finish';\n }\n\n private async _openWithEvent(): Promise<void> {\n if (\n this.open ||\n !this.emitEvent('igcOpening', { cancelable: true, detail: this })\n ) {\n return;\n }\n\n this.open = true;\n\n if (await this._toggleAnimation('open')) {\n this.emitEvent('igcOpened', { detail: this });\n }\n }\n\n private async _closeWithEvent(): Promise<void> {\n if (\n !(\n this.open &&\n this.emitEvent('igcClosing', { cancelable: true, detail: this })\n )\n ) {\n return;\n }\n\n this.open = false;\n\n if (await this._toggleAnimation('close')) {\n this.emitEvent('igcClosed', { detail: this });\n }\n }\n\n /** Toggles the panel open/close state. */\n public async toggle(): Promise<boolean> {\n return this.open ? this.hide() : this.show();\n }\n\n /** Hides the panel content. */\n public async hide(): Promise<boolean> {\n if (!this.open) {\n return false;\n }\n\n this.open = false;\n await this._toggleAnimation('close');\n return true;\n }\n\n /** Shows the panel content. */\n public async show(): Promise<boolean> {\n if (this.open) {\n return false;\n }\n\n this.open = true;\n await this._toggleAnimation('open');\n return true;\n }\n\n private _renderIndicator() {\n const iconName = this.open ? 'collapse' : 'expand';\n const indicatorHidden =\n this.open && this._slots.hasAssignedElements('indicator-expanded');\n\n return html`\n <div part=\"indicator\" aria-hidden=\"true\">\n <slot name=\"indicator\" ?hidden=${indicatorHidden}>\n <igc-icon name=${iconName} collection=\"default\"></igc-icon>\n </slot>\n <slot name=\"indicator-expanded\" ?hidden=${!indicatorHidden}></slot>\n </div>\n `;\n }\n\n private _renderHeader() {\n return html`\n <div\n ${ref(this._headerRef)}\n part=\"header\"\n id=\"${this._panelId}-header\"\n role=\"button\"\n aria-expanded=${this.open}\n aria-disabled=${this.disabled}\n aria-controls=\"${this._panelId}-content\"\n tabindex=${this.disabled ? '-1' : '0'}\n @click=${this.disabled ? nothing : this._handleClick}\n >\n ${this._renderIndicator()}\n <div>\n <slot name=\"title\" part=\"title\"></slot>\n <slot name=\"subtitle\" part=\"subtitle\"></slot>\n </div>\n </div>\n `;\n }\n\n private _renderPanel() {\n return html`\n <div\n ${ref(this._contentRef)}\n part=\"content\"\n role=\"region\"\n id=\"${this._panelId}-content\"\n aria-labelledby=\"${this._panelId}-header\"\n .inert=${!this.open}\n aria-hidden=${!this.open}\n >\n <slot></slot>\n </div>\n `;\n }\n\n protected override render() {\n return html`${this._renderHeader()}${this._renderPanel()}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-expansion-panel': IgcExpansionPanelComponent;\n }\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{--lines-clamped: 1;width:auto;overflow:hidden;display:flex;flex-direction:column}[part=header]{display:flex;align-items:center;cursor:pointer;padding-inline:max(var(--is-large, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));padding-block:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)))}[part=header]:focus,[part=header]:active{outline:rgba(0,0,0,0)}[part=header] *:not([part~=indicator]){display:flex;flex-direction:column;justify-content:center;flex:1 0 0%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}[part=title]::slotted(*){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);display:-webkit-inline-box;-webkit-line-clamp:var(--lines-clamped);-webkit-box-orient:vertical;overflow:hidden;margin:0}[part=subtitle]::slotted(*){font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[part=content] ::slotted(*){font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);display:block}[part~=content]{overflow:hidden}[part~=content]>slot{display:block;padding-inline:max(var(--is-large, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));padding-block:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)))}:host(:not([open])) [part~=content]{height:0}:host([open]) [part~=content]{height:auto}[part~=indicator] igc-icon{--ig-size: 3}:host([indicator-position=start]) [part~=indicator]{margin-inline-end:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}:host([indicator-position=end]) [part~=indicator]{order:2;margin-inline-start:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}:host([indicator-position=none]) [part~=indicator]{display:none}:host([disabled]){pointer-events:none}`;
2
+ export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{--lines-clamped: 1;width:auto;overflow:hidden;display:flex;flex-direction:column}[part=header]{display:flex;align-items:center;cursor:pointer;padding-inline:max(var(--is-large, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}[part=header]:focus,[part=header]:active{outline:rgba(0,0,0,0)}[part=header] *:not([part~=indicator]){display:flex;flex-direction:column;justify-content:center;flex:1 0 0%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}[part=title]::slotted(*){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);display:-webkit-inline-box;-webkit-line-clamp:var(--lines-clamped);-webkit-box-orient:vertical;overflow:hidden;margin:0}[part=subtitle]::slotted(*){font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[part=content] ::slotted(*){font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);display:block}[part~=content]{overflow:hidden}[part~=content]>slot{display:block;padding-inline:max(var(--is-large, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}:host(:not([open])) [part~=content]{height:0}:host([open]) [part~=content]{height:auto}[part~=indicator] igc-icon{--ig-size: 3}:host([indicator-position=start]) [part~=indicator]{margin-inline-end:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}:host([indicator-position=end]) [part~=indicator]{order:2;margin-inline-start:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}:host([indicator-position=none]) [part~=indicator]{display:none}:host([disabled]){pointer-events:none}`;
3
3
  //# sourceMappingURL=expansion-panel.base.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"expansion-panel.base.css.js","sourceRoot":"","sources":["../../../../src/components/expansion-panel/themes/expansion-panel.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,yqKAAyqK,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{--lines-clamped: 1;width:auto;overflow:hidden;display:flex;flex-direction:column}[part=header]{display:flex;align-items:center;cursor:pointer;padding-inline:max(var(--is-large, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));padding-block:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)))}[part=header]:focus,[part=header]:active{outline:rgba(0,0,0,0)}[part=header] *:not([part~=indicator]){display:flex;flex-direction:column;justify-content:center;flex:1 0 0%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}[part=title]::slotted(*){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);display:-webkit-inline-box;-webkit-line-clamp:var(--lines-clamped);-webkit-box-orient:vertical;overflow:hidden;margin:0}[part=subtitle]::slotted(*){font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[part=content] ::slotted(*){font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);display:block}[part~=content]{overflow:hidden}[part~=content]>slot{display:block;padding-inline:max(var(--is-large, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));padding-block:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)))}:host(:not([open])) [part~=content]{height:0}:host([open]) [part~=content]{height:auto}[part~=indicator] igc-icon{--ig-size: 3}:host([indicator-position=start]) [part~=indicator]{margin-inline-end:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}:host([indicator-position=end]) [part~=indicator]{order:2;margin-inline-start:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}:host([indicator-position=none]) [part~=indicator]{display:none}:host([disabled]){pointer-events:none}`;\n"]}
1
+ {"version":3,"file":"expansion-panel.base.css.js","sourceRoot":"","sources":["../../../../src/components/expansion-panel/themes/expansion-panel.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,u1KAAu1K,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{--lines-clamped: 1;width:auto;overflow:hidden;display:flex;flex-direction:column}[part=header]{display:flex;align-items:center;cursor:pointer;padding-inline:max(var(--is-large, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}[part=header]:focus,[part=header]:active{outline:rgba(0,0,0,0)}[part=header] *:not([part~=indicator]){display:flex;flex-direction:column;justify-content:center;flex:1 0 0%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}[part=title]::slotted(*){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);display:-webkit-inline-box;-webkit-line-clamp:var(--lines-clamped);-webkit-box-orient:vertical;overflow:hidden;margin:0}[part=subtitle]::slotted(*){font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[part=content] ::slotted(*){font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);display:block}[part~=content]{overflow:hidden}[part~=content]>slot{display:block;padding-inline:max(var(--is-large, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(24px, -1 * 24px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}:host(:not([open])) [part~=content]{height:0}:host([open]) [part~=content]{height:auto}[part~=indicator] igc-icon{--ig-size: 3}:host([indicator-position=start]) [part~=indicator]{margin-inline-end:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}:host([indicator-position=end]) [part~=indicator]{order:2;margin-inline-start:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}:host([indicator-position=none]) [part~=indicator]{display:none}:host([disabled]){pointer-events:none}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `[part=title]::slotted(*),[part=subtitle]::slotted(*){font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}[part~=indicator] igc-icon{--ig-size: 1}[part=title]::slotted(*){margin-bottom:max(var(--is-large, 1)*max(2px, -1 * 2px)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(2px, -1 * 2px)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(2px, -1 * 2px)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}[part=header]{padding-inline:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));padding-block:max(var(--is-large, 1)*max(10px, -1 * 10px)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(10px, -1 * 10px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(10px, -1 * 10px)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)))}[part~=content]>slot{padding:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)));padding-block-start:max(var(--is-large, 1)*max(4px, -1 * 4px)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(4px, -1 * 4px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(4px, -1 * 4px)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)))}:host([indicator-position=start]) [part~=indicator]{margin-inline-end:max(var(--is-large, 1)*max(8px, -1 * 8px)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(8px, -1 * 8px)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(8px, -1 * 8px)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}:host([indicator-position=end]) [part~=indicator]{margin-inline-start:max(var(--is-large, 1)*max(8px, -1 * 8px)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(8px, -1 * 8px)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(8px, -1 * 8px)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}`;
2
+ export const styles = css `[part=title]::slotted(*),[part=subtitle]::slotted(*){font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}[part~=indicator] igc-icon{--ig-size: 1}[part=title]::slotted(*){margin-bottom:max(var(--is-large, 1)*max(2px, -1 * 2px)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(2px, -1 * 2px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(2px, -1 * 2px)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}[part=header]{padding-inline:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block:max(var(--is-large, 1)*max(10px, -1 * 10px)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(10px, -1 * 10px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(10px, -1 * 10px)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}[part~=content]>slot{padding:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))));padding-block-start:max(var(--is-large, 1)*max(4px, -1 * 4px)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(4px, -1 * 4px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(4px, -1 * 4px)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}:host([indicator-position=start]) [part~=indicator]{margin-inline-end:max(var(--is-large, 1)*max(8px, -1 * 8px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(8px, -1 * 8px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(8px, -1 * 8px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}:host([indicator-position=end]) [part~=indicator]{margin-inline-start:max(var(--is-large, 1)*max(8px, -1 * 8px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(8px, -1 * 8px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(8px, -1 * 8px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}`;
3
3
  //# sourceMappingURL=expansion-panel.indigo.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"expansion-panel.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/expansion-panel/themes/shared/expansion-panel.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,83FAA83F,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part=title]::slotted(*),[part=subtitle]::slotted(*){font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}[part~=indicator] igc-icon{--ig-size: 1}[part=title]::slotted(*){margin-bottom:max(var(--is-large, 1)*max(2px, -1 * 2px)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(2px, -1 * 2px)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(2px, -1 * 2px)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}[part=header]{padding-inline:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));padding-block:max(var(--is-large, 1)*max(10px, -1 * 10px)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(10px, -1 * 10px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(10px, -1 * 10px)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)))}[part~=content]>slot{padding:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)));padding-block-start:max(var(--is-large, 1)*max(4px, -1 * 4px)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(4px, -1 * 4px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(4px, -1 * 4px)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)))}:host([indicator-position=start]) [part~=indicator]{margin-inline-end:max(var(--is-large, 1)*max(8px, -1 * 8px)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(8px, -1 * 8px)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(8px, -1 * 8px)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}:host([indicator-position=end]) [part~=indicator]{margin-inline-start:max(var(--is-large, 1)*max(8px, -1 * 8px)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(8px, -1 * 8px)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(8px, -1 * 8px)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}`;\n"]}
1
+ {"version":3,"file":"expansion-panel.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/expansion-panel/themes/shared/expansion-panel.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,+lGAA+lG,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part=title]::slotted(*),[part=subtitle]::slotted(*){font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}[part~=indicator] igc-icon{--ig-size: 1}[part=title]::slotted(*){margin-bottom:max(var(--is-large, 1)*max(2px, -1 * 2px)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(2px, -1 * 2px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(2px, -1 * 2px)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}[part=header]{padding-inline:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block:max(var(--is-large, 1)*max(10px, -1 * 10px)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(10px, -1 * 10px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(10px, -1 * 10px)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}[part~=content]>slot{padding:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(16px, -1 * 16px)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(16px, -1 * 16px)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))));padding-block-start:max(var(--is-large, 1)*max(4px, -1 * 4px)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(4px, -1 * 4px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(4px, -1 * 4px)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}:host([indicator-position=start]) [part~=indicator]{margin-inline-end:max(var(--is-large, 1)*max(8px, -1 * 8px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(8px, -1 * 8px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(8px, -1 * 8px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}:host([indicator-position=end]) [part~=indicator]{margin-inline-start:max(var(--is-large, 1)*max(8px, -1 * 8px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(8px, -1 * 8px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(8px, -1 * 8px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}`;\n"]}
@@ -60,10 +60,6 @@ export default class IgcFileInputComponent extends IgcFileInputComponent_base {
60
60
  * @attr
61
61
  */
62
62
  autofocus: boolean;
63
- /**
64
- * @internal
65
- */
66
- tabIndex: number;
67
63
  /** @hidden */
68
64
  readonly readOnly = false;
69
65
  /** Returns the selected files, if any; otherwise returns null. */
@@ -4,9 +4,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { html, nothing } from 'lit';
7
+ import { html } from 'lit';
8
8
  import { property, state } from 'lit/decorators.js';
9
- import { ifDefined } from 'lit/directives/if-defined.js';
10
9
  import { addThemingController } from '../../theming/theming-controller.js';
11
10
  import IgcButtonComponent from '../button/button.js';
12
11
  import { registerComponent } from '../common/definitions/register.js';
@@ -14,13 +13,15 @@ import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
14
13
  import { FormValueFileListTransformers } from '../common/mixins/forms/form-transformers.js';
15
14
  import { createFormValueState } from '../common/mixins/forms/form-value.js';
16
15
  import { partMap } from '../common/part-map.js';
17
- import { isEmpty } from '../common/util.js';
16
+ import { bindIf, hasFiles, isEmpty } from '../common/util.js';
18
17
  import { IgcInputBaseComponent, } from '../input/input-base.js';
19
18
  import IgcValidationContainerComponent from '../validation-container/validation-container.js';
20
19
  import { styles } from './themes/file-input.base.css.js';
21
20
  import { all } from './themes/themes.js';
22
21
  import { fileValidators } from './validators.js';
23
- class IgcFileInputComponent extends EventEmitterMixin(IgcInputBaseComponent) {
22
+ export default class IgcFileInputComponent extends EventEmitterMixin(IgcInputBaseComponent) {
23
+ static { this.tagName = 'igc-file-input'; }
24
+ static { this.styles = [...IgcInputBaseComponent.styles, styles]; }
24
25
  static register() {
25
26
  registerComponent(IgcFileInputComponent, IgcValidationContainerComponent, IgcButtonComponent);
26
27
  }
@@ -28,11 +29,11 @@ class IgcFileInputComponent extends EventEmitterMixin(IgcInputBaseComponent) {
28
29
  return fileValidators;
29
30
  }
30
31
  get _fileNames() {
31
- if (!this.files || this.files.length === 0)
32
- return null;
33
- return Array.from(this.files)
34
- .map((file) => file.name)
35
- .join(', ');
32
+ return hasFiles(this)
33
+ ? Array.from(this.files)
34
+ .map((file) => file.name)
35
+ .join(', ')
36
+ : null;
36
37
  }
37
38
  set value(value) {
38
39
  if (value === '' && this.input) {
@@ -54,7 +55,6 @@ class IgcFileInputComponent extends EventEmitterMixin(IgcInputBaseComponent) {
54
55
  this._hasActivation = false;
55
56
  this.multiple = false;
56
57
  this.accept = '';
57
- this.tabIndex = 0;
58
58
  this.readOnly = false;
59
59
  addThemingController(this, all);
60
60
  }
@@ -104,6 +104,8 @@ class IgcFileInputComponent extends EventEmitterMixin(IgcInputBaseComponent) {
104
104
  `;
105
105
  }
106
106
  renderInput() {
107
+ const hasNegativeTabIndex = this.getAttribute('tabindex') === '-1';
108
+ const hasHelperText = !isEmpty(this._helperText);
107
109
  return html `
108
110
  <input
109
111
  id=${this.inputId}
@@ -113,9 +115,9 @@ class IgcFileInputComponent extends EventEmitterMixin(IgcInputBaseComponent) {
113
115
  ?required=${this.required}
114
116
  ?autofocus=${this.autofocus}
115
117
  ?multiple=${this.multiple}
116
- tabindex=${this.tabIndex}
117
- accept=${ifDefined(this.accept === '' ? undefined : this.accept)}
118
- aria-describedby=${ifDefined(isEmpty(this._helperText) ? nothing : 'helper-text')}
118
+ tabindex=${bindIf(hasNegativeTabIndex, -1)}
119
+ accept=${bindIf(this.accept, this.accept)}
120
+ aria-describedby=${bindIf(hasHelperText, 'helper-text')}
119
121
  @click=${this._handleClick}
120
122
  @change=${this._handleChange}
121
123
  @cancel=${this._handleCancel}
@@ -124,9 +126,6 @@ class IgcFileInputComponent extends EventEmitterMixin(IgcInputBaseComponent) {
124
126
  `;
125
127
  }
126
128
  }
127
- IgcFileInputComponent.tagName = 'igc-file-input';
128
- IgcFileInputComponent.styles = [...IgcInputBaseComponent.styles, styles];
129
- export default IgcFileInputComponent;
130
129
  __decorate([
131
130
  state()
132
131
  ], IgcFileInputComponent.prototype, "_hasActivation", void 0);
@@ -142,9 +141,6 @@ __decorate([
142
141
  __decorate([
143
142
  property({ type: Boolean })
144
143
  ], IgcFileInputComponent.prototype, "autofocus", void 0);
145
- __decorate([
146
- property({ type: Number })
147
- ], IgcFileInputComponent.prototype, "tabIndex", void 0);
148
144
  __decorate([
149
145
  property({ type: Boolean, attribute: false, noAccessor: true })
150
146
  ], IgcFileInputComponent.prototype, "readOnly", void 0);
@@ -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 { addThemingController } from '../../theming/theming-controller.js';\nimport IgcButtonComponent from '../button/button.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { AbstractConstructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormValueFileListTransformers } from '../common/mixins/forms/form-transformers.js';\nimport { createFormValueState } from '../common/mixins/forms/form-value.js';\nimport { partMap } from '../common/part-map.js';\nimport { isEmpty } from '../common/util.js';\nimport {\n IgcInputBaseComponent,\n type IgcInputComponentEventMap,\n} from '../input/input-base.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.js';\nimport { styles } from './themes/file-input.base.css.js';\nimport { all } from './themes/themes.js';\nimport { fileValidators } from './validators.js';\n\nexport interface IgcFileInputComponentEventMap\n extends Omit<IgcInputComponentEventMap, 'igcChange' | 'igcInput'> {\n igcCancel: CustomEvent<FileList>;\n igcChange: CustomEvent<FileList>;\n}\n\n/* blazorSuppress */\n/**\n * @element igc-file-input\n *\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot helper-text - Renders content below the input.\n * @slot file-selector-text - Renders content for the browse button when input type is file.\n * @slot file-missing-text - Renders content when input type is file and no file is chosen.\n * @slot value-missing - Renders content when the required validation fails.\n * @slot custom-error - Renders content when setCustomValidity(message) is set.\n * @slot invalid - Renders content when the component is in invalid state (validity.valid = false).\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcCancel - Emitted when the control's file picker dialog is canceled.\n *\n * @csspart container - The main wrapper that holds all main input elements.\n * @csspart input - The native input element.\n * @csspart label - The native label element.\n * @csspart file-names - The file names wrapper when input type is 'file'.\n * @csspart file-selector-button - The browse button when input type is 'file'.\n * @csspart prefix - The prefix wrapper.\n * @csspart suffix - The suffix wrapper.\n * @csspart helper-text - The helper text wrapper.\n */\nexport default class IgcFileInputComponent extends EventEmitterMixin<\n IgcFileInputComponentEventMap,\n AbstractConstructor<IgcInputBaseComponent>\n>(IgcInputBaseComponent) {\n public static readonly tagName = 'igc-file-input';\n public static styles = [...IgcInputBaseComponent.styles, styles];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(\n IgcFileInputComponent,\n IgcValidationContainerComponent,\n IgcButtonComponent\n );\n }\n\n protected override get __validators() {\n return fileValidators;\n }\n\n protected override readonly _formValue = createFormValueState(this, {\n initialValue: null,\n transformers: FormValueFileListTransformers,\n });\n\n @state()\n private _hasActivation = false;\n\n private get _fileNames(): string | null {\n if (!this.files || this.files.length === 0) return null;\n\n return Array.from(this.files)\n .map((file) => file.name)\n .join(', ');\n }\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail\", false) */\n /**\n * The value of the control.\n * @attr\n */\n @property()\n public set value(value: string) {\n if (value === '' && this.input) {\n this.input.value = value;\n }\n }\n\n public get value(): string {\n return this.input?.value ?? '';\n }\n\n /**\n * The multiple attribute of the control.\n * Used to indicate that a file input allows the user to select more than one file.\n * @attr\n */\n @property({ type: Boolean })\n public multiple = false;\n\n /**\n * The accept attribute of the control.\n * Defines the file types as a list of comma-separated values that the file input should accept.\n * @attr\n */\n @property({ type: String })\n public accept = '';\n\n /**\n * The autofocus attribute of the control.\n * @attr\n */\n @property({ type: Boolean })\n public override autofocus!: boolean;\n\n /**\n * @internal\n */\n @property({ type: Number })\n public override tabIndex = 0;\n\n /** @hidden */\n @property({ type: Boolean, attribute: false, noAccessor: true })\n public override readonly readOnly = false;\n\n /** Returns the selected files, if any; otherwise returns null. */\n public get files(): FileList | null {\n return this.input?.files ?? null;\n }\n\n constructor() {\n super();\n addThemingController(this, all);\n }\n\n protected override _restoreDefaultValue(): void {\n this.input.value = '';\n super._restoreDefaultValue();\n }\n\n /* c8 ignore next 2 */\n /** @hidden */\n public override setSelectionRange(): void {}\n\n /* c8 ignore next 2 */\n /** @hidden */\n public override setRangeText(): void {}\n\n private _handleChange(): void {\n this._hasActivation = false;\n this._setTouchedState();\n this._formValue.setValueAndFormState(this.files);\n\n this.requestUpdate();\n this.emitEvent('igcChange', { detail: this.files! });\n }\n\n private _handleCancel(): void {\n this._hasActivation = false;\n this._setTouchedState();\n this._validate();\n\n this.emitEvent('igcCancel', {\n detail: this.files!,\n });\n }\n\n protected override _handleBlur(): void {\n this._hasActivation ? this._validate() : super._handleBlur();\n }\n\n /* c8 ignore next 3 */\n protected _handleClick(): void {\n this._hasActivation = true;\n }\n\n protected override renderFileParts() {\n const emptyText = this.placeholder ?? 'No file chosen';\n\n return html`\n <div part=\"file-parts\">\n <div part=\"file-selector-button\">\n <igc-button variant=\"flat\" ?disabled=${this.disabled} tabindex=\"-1\">\n <slot name=\"file-selector-text\">Browse</slot>\n </igc-button>\n </div>\n <div part=\"file-names\">\n <span>\n ${this._fileNames ??\n html`<slot name=\"file-missing-text\">${emptyText}</slot>`}\n </span>\n </div>\n </div>\n `;\n }\n\n protected renderInput() {\n return html`\n <input\n id=${this.inputId}\n part=${partMap(this.resolvePartNames('input'))}\n type=\"file\"\n ?disabled=${this.disabled}\n ?required=${this.required}\n ?autofocus=${this.autofocus}\n ?multiple=${this.multiple}\n tabindex=${this.tabIndex}\n accept=${ifDefined(this.accept === '' ? undefined : this.accept)}\n aria-describedby=${ifDefined(\n isEmpty(this._helperText) ? nothing : 'helper-text'\n )}\n @click=${this._handleClick}\n @change=${this._handleChange}\n @cancel=${this._handleCancel}\n @blur=${this._handleBlur}\n />\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-file-input': IgcFileInputComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"file-input.js","sourceRoot":"","sources":["../../../src/components/file-input/file-input.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,kBAAkB,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EACL,qBAAqB,GAEtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,+BAA+B,MAAM,iDAAiD,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAiCjD,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,iBAAiB,CAGlE,qBAAqB,CAAC;aACC,YAAO,GAAG,gBAAgB,AAAnB,CAAoB;aACpC,WAAM,GAAG,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,AAA5C,CAA6C;IAG1D,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CACf,qBAAqB,EACrB,+BAA+B,EAC/B,kBAAkB,CACnB,CAAC;IACJ,CAAC;IAED,IAAuB,YAAY;QACjC,OAAO,cAAc,CAAC;IACxB,CAAC;IAUD,IAAY,UAAU;QACpB,OAAO,QAAQ,CAAC,IAAI,CAAC;YACnB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAM,CAAC;iBACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;iBACxB,IAAI,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAQD,IAAW,KAAK,CAAC,KAAa;QAC5B,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;IACjC,CAAC;IA8BD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC;IACnC,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QAjEkB,eAAU,GAAG,oBAAoB,CAAC,IAAI,EAAE;YAClE,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,6BAA6B;SAC5C,CAAC,CAAC;QAGK,mBAAc,GAAG,KAAK,CAAC;QAgCxB,aAAQ,GAAG,KAAK,CAAC;QAQjB,WAAM,GAAG,EAAE,CAAC;QAWM,aAAQ,GAAG,KAAK,CAAC;QASxC,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAEkB,oBAAoB;QACrC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACtB,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAC/B,CAAC;IAIe,iBAAiB,KAAU,CAAC;IAI5B,YAAY,KAAU,CAAC;IAE/B,aAAa;QACnB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YAC1B,MAAM,EAAE,IAAI,CAAC,KAAM;SACpB,CAAC,CAAC;IACL,CAAC;IAEkB,WAAW;QAC5B,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAC/D,CAAC;IAGS,YAAY;QACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAEkB,eAAe;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,IAAI,gBAAgB,CAAC;QAEvD,OAAO,IAAI,CAAA;;;iDAGkC,IAAI,CAAC,QAAQ;;;;;;cAMhD,IAAI,CAAC,UAAU;YACjB,IAAI,CAAA,kCAAkC,SAAS,SAAS;;;;KAI/D,CAAC;IACJ,CAAC;IAES,WAAW;QACnB,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;QACnE,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAA;;aAEF,IAAI,CAAC,OAAO;eACV,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;;oBAElC,IAAI,CAAC,QAAQ;oBACb,IAAI,CAAC,QAAQ;qBACZ,IAAI,CAAC,SAAS;oBACf,IAAI,CAAC,QAAQ;mBACd,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;iBACjC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;2BACtB,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC;iBAC9C,IAAI,CAAC,YAAY;kBAChB,IAAI,CAAC,aAAa;kBAClB,IAAI,CAAC,aAAa;gBACpB,IAAI,CAAC,WAAW;;KAE3B,CAAC;IACJ,CAAC;;AAlJO;IADP,KAAK,EAAE;6DACuB;AAgB/B;IADC,QAAQ,EAAE;kDAKV;AAYM;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uDACJ;AAQjB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qDACR;AAOH;IADf,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wDACQ;AAIX;IADxB,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;uDACtB","sourcesContent":["import { html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\n\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport IgcButtonComponent from '../button/button.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { AbstractConstructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormValueFileListTransformers } from '../common/mixins/forms/form-transformers.js';\nimport { createFormValueState } from '../common/mixins/forms/form-value.js';\nimport { partMap } from '../common/part-map.js';\nimport { bindIf, hasFiles, isEmpty } from '../common/util.js';\nimport {\n IgcInputBaseComponent,\n type IgcInputComponentEventMap,\n} from '../input/input-base.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.js';\nimport { styles } from './themes/file-input.base.css.js';\nimport { all } from './themes/themes.js';\nimport { fileValidators } from './validators.js';\n\nexport interface IgcFileInputComponentEventMap\n extends Omit<IgcInputComponentEventMap, 'igcChange' | 'igcInput'> {\n igcCancel: CustomEvent<FileList>;\n igcChange: CustomEvent<FileList>;\n}\n\n/* blazorSuppress */\n/**\n * @element igc-file-input\n *\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot helper-text - Renders content below the input.\n * @slot file-selector-text - Renders content for the browse button when input type is file.\n * @slot file-missing-text - Renders content when input type is file and no file is chosen.\n * @slot value-missing - Renders content when the required validation fails.\n * @slot custom-error - Renders content when setCustomValidity(message) is set.\n * @slot invalid - Renders content when the component is in invalid state (validity.valid = false).\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcCancel - Emitted when the control's file picker dialog is canceled.\n *\n * @csspart container - The main wrapper that holds all main input elements.\n * @csspart input - The native input element.\n * @csspart label - The native label element.\n * @csspart file-names - The file names wrapper when input type is 'file'.\n * @csspart file-selector-button - The browse button when input type is 'file'.\n * @csspart prefix - The prefix wrapper.\n * @csspart suffix - The suffix wrapper.\n * @csspart helper-text - The helper text wrapper.\n */\nexport default class IgcFileInputComponent extends EventEmitterMixin<\n IgcFileInputComponentEventMap,\n AbstractConstructor<IgcInputBaseComponent>\n>(IgcInputBaseComponent) {\n public static readonly tagName = 'igc-file-input';\n public static styles = [...IgcInputBaseComponent.styles, styles];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(\n IgcFileInputComponent,\n IgcValidationContainerComponent,\n IgcButtonComponent\n );\n }\n\n protected override get __validators() {\n return fileValidators;\n }\n\n protected override readonly _formValue = createFormValueState(this, {\n initialValue: null,\n transformers: FormValueFileListTransformers,\n });\n\n @state()\n private _hasActivation = false;\n\n private get _fileNames(): string | null {\n return hasFiles(this)\n ? Array.from(this.files!)\n .map((file) => file.name)\n .join(', ')\n : null;\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 /** @hidden */\n @property({ type: Boolean, attribute: false, noAccessor: true })\n public override readonly readOnly = false;\n\n /** Returns the selected files, if any; otherwise returns null. */\n public get files(): FileList | null {\n return this.input?.files ?? null;\n }\n\n constructor() {\n super();\n addThemingController(this, all);\n }\n\n protected override _restoreDefaultValue(): void {\n this.input.value = '';\n super._restoreDefaultValue();\n }\n\n /* c8 ignore next 2 */\n /** @hidden */\n public override setSelectionRange(): void {}\n\n /* c8 ignore next 2 */\n /** @hidden */\n public override setRangeText(): void {}\n\n private _handleChange(): void {\n this._hasActivation = false;\n this._setTouchedState();\n this._formValue.setValueAndFormState(this.files);\n\n this.requestUpdate();\n this.emitEvent('igcChange', { detail: this.files! });\n }\n\n private _handleCancel(): void {\n this._hasActivation = false;\n this._setTouchedState();\n this._validate();\n\n this.emitEvent('igcCancel', {\n detail: this.files!,\n });\n }\n\n protected override _handleBlur(): void {\n this._hasActivation ? this._validate() : super._handleBlur();\n }\n\n /* c8 ignore next 3 */\n protected _handleClick(): void {\n this._hasActivation = true;\n }\n\n protected override renderFileParts() {\n const emptyText = this.placeholder ?? 'No file chosen';\n\n return html`\n <div part=\"file-parts\">\n <div part=\"file-selector-button\">\n <igc-button variant=\"flat\" ?disabled=${this.disabled} tabindex=\"-1\">\n <slot name=\"file-selector-text\">Browse</slot>\n </igc-button>\n </div>\n <div part=\"file-names\">\n <span>\n ${this._fileNames ??\n html`<slot name=\"file-missing-text\">${emptyText}</slot>`}\n </span>\n </div>\n </div>\n `;\n }\n\n protected renderInput() {\n const hasNegativeTabIndex = this.getAttribute('tabindex') === '-1';\n const hasHelperText = !isEmpty(this._helperText);\n\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=${bindIf(hasNegativeTabIndex, -1)}\n accept=${bindIf(this.accept, this.accept)}\n aria-describedby=${bindIf(hasHelperText, 'helper-text')}\n @click=${this._handleClick}\n @change=${this._handleChange}\n @cancel=${this._handleCancel}\n @blur=${this._handleBlur}\n />\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-file-input': IgcFileInputComponent;\n }\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host(:focus-within){--border-color: var(--focused-border-color)}:host(:focus-within) [part~=container]{box-shadow:0 0 0 .25rem var(--focused-secondary-color)}[part~=file-selector-button] igc-button::part(base){font-size:var(--input-font);transition:border .15s ease-out;box-shadow:none;border-style:solid;border-color:var(--input-border-color);border-inline-start-width:1px;border-inline-end-width:0;border-block-start-width:1px;border-block-end-width:1px}[part~=file-names]{font-size:var(--input-font);padding-inline:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(12px, -1 * 12px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(8px, -1 * 8px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));padding-block:max(var(--is-large, 1)*max(8px, -1 * 8px)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(6px, -1 * 6px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(4px, -1 * 4px)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));border:1px solid var(--border-color);border-start-end-radius:var(--border-border-radius);border-end-end-radius:var(--border-border-radius);transition:box-shadow .15s ease-out,border .15s ease-out}[part*=prefixed] [part~=file-selector-button] igc-button::part(base){border-start-start-radius:0;border-end-start-radius:0}[part*=suffixed] [part~=file-names]{border-start-end-radius:0;border-end-end-radius:0}[part~=container]{transition:box-shadow .15s ease-out,border .15s ease-out}[part~=container] [part~=file-selector-button] igc-button::part(base){border-start-end-radius:0;border-end-end-radius:0;height:var(--input-height)}:host(:not([disabled]):state(ig-invalid)){--input-border-color: var(--error-secondary-color)}:host(:not([disabled]):state(ig-invalid)) [part=prefix],:host(:not([disabled]):state(ig-invalid)) [part=suffix],:host(:not([disabled]):state(ig-invalid)) [part~=file-names]{border-color:var(--error-secondary-color)}:host(:not([disabled]):state(ig-invalid):focus-within) [part~=container]{box-shadow:0 0 0 .25rem var(--error-shadow-color)}:host(:disabled),:host([disabled]){--input-border-color: var(--disabled-border-color)}:host(:disabled) [part~=file-names],:host([disabled]) [part~=file-names]{color:var(--file-names-foreground--disabled);border-color:var(--disabled-border-color)}:host(:disabled) [part~=file-selector-button] igc-button,:host([disabled]) [part~=file-selector-button] igc-button{--disabled-border-color: var(--input-border-color)}`;
2
+ export const styles = css `:host(:focus-within){--border-color: var(--focused-border-color)}:host(:focus-within) [part~=container]{box-shadow:0 0 0 .25rem var(--focused-secondary-color)}[part~=file-selector-button] igc-button::part(base){font-size:var(--input-font);transition:border .15s ease-out;box-shadow:none;border-style:solid;border-color:var(--input-border-color);border-inline-start-width:1px;border-inline-end-width:0;border-block-start-width:1px;border-block-end-width:1px}[part~=file-names]{font-size:var(--input-font);padding-inline:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(12px, -1 * 12px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(8px, -1 * 8px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block:max(var(--is-large, 1)*max(8px, -1 * 8px)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(6px, -1 * 6px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(4px, -1 * 4px)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));border:1px solid var(--border-color);border-start-end-radius:var(--border-border-radius);border-end-end-radius:var(--border-border-radius);transition:box-shadow .15s ease-out,border .15s ease-out}[part*=prefixed] [part~=file-selector-button] igc-button::part(base){border-start-start-radius:0;border-end-start-radius:0}[part*=suffixed] [part~=file-names]{border-start-end-radius:0;border-end-end-radius:0}[part~=container]{transition:box-shadow .15s ease-out,border .15s ease-out}[part~=container] [part~=file-selector-button] igc-button::part(base){border-start-end-radius:0;border-end-end-radius:0;height:var(--input-height)}:host(:not([disabled]):state(ig-invalid)){--input-border-color: var(--error-secondary-color)}:host(:not([disabled]):state(ig-invalid)) [part=prefix],:host(:not([disabled]):state(ig-invalid)) [part=suffix],:host(:not([disabled]):state(ig-invalid)) [part~=file-names]{border-color:var(--error-secondary-color)}:host(:not([disabled]):state(ig-invalid)) [part~=prefixed] ::slotted([slot=prefix]){border-inline-start-color:var(--error-secondary-color)}:host(:not([disabled]):state(ig-invalid)) [part~=suffixed] ::slotted([slot=suffix]){border-inline-end-color:var(--error-secondary-color)}:host(:not([disabled]):state(ig-invalid):focus-within) [part~=container]{box-shadow:0 0 0 .25rem var(--error-shadow-color)}:host(:disabled),:host([disabled]){--input-border-color: var(--disabled-border-color)}:host(:disabled) [part~=file-names],:host([disabled]) [part~=file-names]{color:var(--file-names-foreground--disabled);border-color:var(--disabled-border-color)}:host(:disabled) [part~=file-selector-button] igc-button,:host([disabled]) [part~=file-selector-button] igc-button{--disabled-border-color: var(--input-border-color)}`;
3
3
  //# sourceMappingURL=file-input.bootstrap.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-input.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/file-input/themes/shared/file-input.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,+mFAA+mF,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host(:focus-within){--border-color: var(--focused-border-color)}:host(:focus-within) [part~=container]{box-shadow:0 0 0 .25rem var(--focused-secondary-color)}[part~=file-selector-button] igc-button::part(base){font-size:var(--input-font);transition:border .15s ease-out;box-shadow:none;border-style:solid;border-color:var(--input-border-color);border-inline-start-width:1px;border-inline-end-width:0;border-block-start-width:1px;border-block-end-width:1px}[part~=file-names]{font-size:var(--input-font);padding-inline:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(12px, -1 * 12px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(8px, -1 * 8px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));padding-block:max(var(--is-large, 1)*max(8px, -1 * 8px)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(6px, -1 * 6px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(4px, -1 * 4px)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));border:1px solid var(--border-color);border-start-end-radius:var(--border-border-radius);border-end-end-radius:var(--border-border-radius);transition:box-shadow .15s ease-out,border .15s ease-out}[part*=prefixed] [part~=file-selector-button] igc-button::part(base){border-start-start-radius:0;border-end-start-radius:0}[part*=suffixed] [part~=file-names]{border-start-end-radius:0;border-end-end-radius:0}[part~=container]{transition:box-shadow .15s ease-out,border .15s ease-out}[part~=container] [part~=file-selector-button] igc-button::part(base){border-start-end-radius:0;border-end-end-radius:0;height:var(--input-height)}:host(:not([disabled]):state(ig-invalid)){--input-border-color: var(--error-secondary-color)}:host(:not([disabled]):state(ig-invalid)) [part=prefix],:host(:not([disabled]):state(ig-invalid)) [part=suffix],:host(:not([disabled]):state(ig-invalid)) [part~=file-names]{border-color:var(--error-secondary-color)}:host(:not([disabled]):state(ig-invalid):focus-within) [part~=container]{box-shadow:0 0 0 .25rem var(--error-shadow-color)}:host(:disabled),:host([disabled]){--input-border-color: var(--disabled-border-color)}:host(:disabled) [part~=file-names],:host([disabled]) [part~=file-names]{color:var(--file-names-foreground--disabled);border-color:var(--disabled-border-color)}:host(:disabled) [part~=file-selector-button] igc-button,:host([disabled]) [part~=file-selector-button] igc-button{--disabled-border-color: var(--input-border-color)}`;\n"]}
1
+ {"version":3,"file":"file-input.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/file-input/themes/shared/file-input.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,i6FAAi6F,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host(:focus-within){--border-color: var(--focused-border-color)}:host(:focus-within) [part~=container]{box-shadow:0 0 0 .25rem var(--focused-secondary-color)}[part~=file-selector-button] igc-button::part(base){font-size:var(--input-font);transition:border .15s ease-out;box-shadow:none;border-style:solid;border-color:var(--input-border-color);border-inline-start-width:1px;border-inline-end-width:0;border-block-start-width:1px;border-block-end-width:1px}[part~=file-names]{font-size:var(--input-font);padding-inline:max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(12px, -1 * 12px)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(8px, -1 * 8px)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block:max(var(--is-large, 1)*max(8px, -1 * 8px)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(6px, -1 * 6px)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(4px, -1 * 4px)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));border:1px solid var(--border-color);border-start-end-radius:var(--border-border-radius);border-end-end-radius:var(--border-border-radius);transition:box-shadow .15s ease-out,border .15s ease-out}[part*=prefixed] [part~=file-selector-button] igc-button::part(base){border-start-start-radius:0;border-end-start-radius:0}[part*=suffixed] [part~=file-names]{border-start-end-radius:0;border-end-end-radius:0}[part~=container]{transition:box-shadow .15s ease-out,border .15s ease-out}[part~=container] [part~=file-selector-button] igc-button::part(base){border-start-end-radius:0;border-end-end-radius:0;height:var(--input-height)}:host(:not([disabled]):state(ig-invalid)){--input-border-color: var(--error-secondary-color)}:host(:not([disabled]):state(ig-invalid)) [part=prefix],:host(:not([disabled]):state(ig-invalid)) [part=suffix],:host(:not([disabled]):state(ig-invalid)) [part~=file-names]{border-color:var(--error-secondary-color)}:host(:not([disabled]):state(ig-invalid)) [part~=prefixed] ::slotted([slot=prefix]){border-inline-start-color:var(--error-secondary-color)}:host(:not([disabled]):state(ig-invalid)) [part~=suffixed] ::slotted([slot=suffix]){border-inline-end-color:var(--error-secondary-color)}:host(:not([disabled]):state(ig-invalid):focus-within) [part~=container]{box-shadow:0 0 0 .25rem var(--error-shadow-color)}:host(:disabled),:host([disabled]){--input-border-color: var(--disabled-border-color)}:host(:disabled) [part~=file-names],:host([disabled]) [part~=file-names]{color:var(--file-names-foreground--disabled);border-color:var(--disabled-border-color)}:host(:disabled) [part~=file-selector-button] igc-button,:host([disabled]) [part~=file-selector-button] igc-button{--disabled-border-color: var(--input-border-color)}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host([outlined]) [part=notch]{border-top:.0625rem solid rgba(0,0,0,0)}:host(:is(igc-file-input)) [part~=container]{grid-template-columns:auto auto auto 1fr auto}:host(:is(igc-file-input)) [part=notch] [part=label]{transition:none}:host(:is(igc-file-input)) [part=label]{font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom)}:host(:is(igc-file-input)) [part~=file-names]{grid-area:1/3/span 1/span 2;padding-inline:.25rem}:host(:is(igc-file-input)) [part~=input]{grid-column:2/5}:host(:is(igc-file-input)) [part=filler]{grid-column:4/5}:host(:is(igc-file-input)) [part=end]{grid-area:1/5}:host([outlined]) [part=notch]{grid-column:3/3;border-top-color:rgba(0,0,0,0) !important}:host([outlined]) [part=file-selector-button]{border-width:.0625rem;border-style:solid;border-color:var(--border-color);border-left:none;border-right:none}:host([outlined]) [part=label]{translate:0 -50%;align-self:start}:host([outlined]:hover) [part=file-selector-button]{border-color:var(--hover-border-color)}:host([outlined]:focus-within) [part=file-selector-button]{border-width:.125rem;border-color:var(--focused-border-color)}:host([outlined]:state(ig-invalid)) [part=file-selector-button],:host([outlined]:state(ig-invalid):focus-within) [part=file-selector-button]{border-color:var(--error-secondary-color)}:host(:not([outlined])) [part=notch]{grid-area:1/3}:host(:not([outlined])) [part~=labelled] [part~=file-names]{padding-top:1.25rem;padding-bottom:.375rem}:host(:not([outlined])) [part=label]{translate:0 -73%}`;
2
+ export const styles = css `:host([outlined]) [part=notch]{border-top:.0625rem solid rgba(0,0,0,0)}:host(:is(igc-file-input)) [part~=container]{grid-template-columns:auto auto auto 1fr auto}:host(:is(igc-file-input)) [part=notch] [part=label]{transition:none}:host(:is(igc-file-input)) [part=label]{font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom)}:host(:is(igc-file-input)) [part~=file-names]{grid-area:1/3/span 1/span 2;padding-inline:max(var(--is-large, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}:host(:is(igc-file-input)) [part~=input]{grid-column:2/5}:host(:is(igc-file-input)) [part=filler]{grid-column:4/5}:host(:is(igc-file-input)) [part=end]{grid-area:1/5}:host([outlined]) [part=notch]{grid-column:3/3;border-top-color:rgba(0,0,0,0) !important}:host([outlined]) [part=file-selector-button]{border-width:.0625rem;border-style:solid;border-color:var(--border-color);border-left:none;border-right:none}:host([outlined]) [part=label]{translate:0 -50%;align-self:start}:host([outlined]:hover) [part=file-selector-button]{border-color:var(--hover-border-color)}:host([outlined]:focus-within) [part=file-selector-button]{border-width:.125rem;border-color:var(--focused-border-color)}:host([outlined]:state(ig-invalid)) [part=file-selector-button],:host([outlined]:state(ig-invalid):focus-within) [part=file-selector-button]{border-color:var(--error-secondary-color)}:host(:not([outlined])) [part=notch]{grid-area:1/3}:host(:not([outlined])) [part~=labelled] [part~=file-names]{padding-top:1.25rem;padding-bottom:.375rem}:host(:not([outlined])) [part=label]{translate:0 -73%}`;
3
3
  //# sourceMappingURL=file-input.material.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-input.material.css.js","sourceRoot":"","sources":["../../../../../src/components/file-input/themes/shared/file-input.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,g0DAAg0D,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host([outlined]) [part=notch]{border-top:.0625rem solid rgba(0,0,0,0)}:host(:is(igc-file-input)) [part~=container]{grid-template-columns:auto auto auto 1fr auto}:host(:is(igc-file-input)) [part=notch] [part=label]{transition:none}:host(:is(igc-file-input)) [part=label]{font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom)}:host(:is(igc-file-input)) [part~=file-names]{grid-area:1/3/span 1/span 2;padding-inline:.25rem}:host(:is(igc-file-input)) [part~=input]{grid-column:2/5}:host(:is(igc-file-input)) [part=filler]{grid-column:4/5}:host(:is(igc-file-input)) [part=end]{grid-area:1/5}:host([outlined]) [part=notch]{grid-column:3/3;border-top-color:rgba(0,0,0,0) !important}:host([outlined]) [part=file-selector-button]{border-width:.0625rem;border-style:solid;border-color:var(--border-color);border-left:none;border-right:none}:host([outlined]) [part=label]{translate:0 -50%;align-self:start}:host([outlined]:hover) [part=file-selector-button]{border-color:var(--hover-border-color)}:host([outlined]:focus-within) [part=file-selector-button]{border-width:.125rem;border-color:var(--focused-border-color)}:host([outlined]:state(ig-invalid)) [part=file-selector-button],:host([outlined]:state(ig-invalid):focus-within) [part=file-selector-button]{border-color:var(--error-secondary-color)}:host(:not([outlined])) [part=notch]{grid-area:1/3}:host(:not([outlined])) [part~=labelled] [part~=file-names]{padding-top:1.25rem;padding-bottom:.375rem}:host(:not([outlined])) [part=label]{translate:0 -73%}`;\n"]}
1
+ {"version":3,"file":"file-input.material.css.js","sourceRoot":"","sources":["../../../../../src/components/file-input/themes/shared/file-input.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,8qEAA8qE,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host([outlined]) [part=notch]{border-top:.0625rem solid rgba(0,0,0,0)}:host(:is(igc-file-input)) [part~=container]{grid-template-columns:auto auto auto 1fr auto}:host(:is(igc-file-input)) [part=notch] [part=label]{transition:none}:host(:is(igc-file-input)) [part=label]{font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom)}:host(:is(igc-file-input)) [part~=file-names]{grid-area:1/3/span 1/span 2;padding-inline:max(var(--is-large, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}:host(:is(igc-file-input)) [part~=input]{grid-column:2/5}:host(:is(igc-file-input)) [part=filler]{grid-column:4/5}:host(:is(igc-file-input)) [part=end]{grid-area:1/5}:host([outlined]) [part=notch]{grid-column:3/3;border-top-color:rgba(0,0,0,0) !important}:host([outlined]) [part=file-selector-button]{border-width:.0625rem;border-style:solid;border-color:var(--border-color);border-left:none;border-right:none}:host([outlined]) [part=label]{translate:0 -50%;align-self:start}:host([outlined]:hover) [part=file-selector-button]{border-color:var(--hover-border-color)}:host([outlined]:focus-within) [part=file-selector-button]{border-width:.125rem;border-color:var(--focused-border-color)}:host([outlined]:state(ig-invalid)) [part=file-selector-button],:host([outlined]:state(ig-invalid):focus-within) [part=file-selector-button]{border-color:var(--error-secondary-color)}:host(:not([outlined])) [part=notch]{grid-area:1/3}:host(:not([outlined])) [part~=labelled] [part~=file-names]{padding-top:1.25rem;padding-bottom:.375rem}:host(:not([outlined])) [part=label]{translate:0 -73%}`;\n"]}
@@ -8,7 +8,13 @@ import { css, html, LitElement, nothing } from 'lit';
8
8
  import { property, state } from 'lit/decorators.js';
9
9
  import { registerComponent } from '../common/definitions/register.js';
10
10
  import { addSafeEventListener, isDefined } from '../common/util.js';
11
- class IgcFocusTrapComponent extends LitElement {
11
+ export default class IgcFocusTrapComponent extends LitElement {
12
+ static { this.tagName = 'igc-focus-trap'; }
13
+ static { this.styles = css `
14
+ :host {
15
+ display: contents;
16
+ }
17
+ `; }
12
18
  static register() {
13
19
  registerComponent(IgcFocusTrapComponent);
14
20
  }
@@ -54,13 +60,6 @@ class IgcFocusTrapComponent extends LitElement {
54
60
  `;
55
61
  }
56
62
  }
57
- IgcFocusTrapComponent.tagName = 'igc-focus-trap';
58
- IgcFocusTrapComponent.styles = css `
59
- :host {
60
- display: contents;
61
- }
62
- `;
63
- export default IgcFocusTrapComponent;
64
63
  __decorate([
65
64
  state()
66
65
  ], IgcFocusTrapComponent.prototype, "_focused", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"focus-trap.js","sourceRoot":"","sources":["../../../src/components/focus-trap/focus-trap.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html, LitElement, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\n\nimport { registerComponent } from '../common/definitions/register.js';\nimport { addSafeEventListener, isDefined } from '../common/util.js';\n\n/* blazorSuppress */\n/**\n *\n * @element igc-focus-trap\n *\n * @slot - The content of the focus trap component\n */\nexport default class IgcFocusTrapComponent extends LitElement {\n public static readonly tagName = 'igc-focus-trap';\n public static override styles = css`\n :host {\n display: contents;\n }\n `;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcFocusTrapComponent);\n }\n\n @state()\n protected _focused = false;\n\n /**\n * Whether to manage focus state for the slotted children.\n * @attr disabled\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /**\n * Whether focus in currently inside the trap component.\n */\n public get focused() {\n return this._focused;\n }\n\n /** An array of focusable elements including elements in Shadow roots */\n public get focusableElements() {\n return Array.from(getFocusableElements<HTMLElement>(this));\n }\n\n constructor() {\n super();\n\n addSafeEventListener(this, 'focusin', this.onFocusIn);\n addSafeEventListener(this, 'focusout', this.onFocusOut);\n }\n\n private onFocusIn() {\n this._focused = true;\n }\n\n private onFocusOut() {\n this._focused = false;\n }\n\n public focusFirstElement() {\n this.focusableElements.at(0)?.focus();\n }\n\n public focusLastElement() {\n this.focusableElements.at(-1)?.focus();\n }\n\n protected override render() {\n const tabStop = !this.focused || this.disabled ? -1 : 0;\n\n return html`\n <div\n id=\"start\"\n tabindex=${tabStop}\n @focus=${this.disabled ? nothing : this.focusLastElement}\n ></div>\n <slot></slot>\n <div\n id=\"end\"\n tabindex=${tabStop}\n @focus=${this.disabled ? nothing : this.focusFirstElement}\n ></div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-focus-trap': IgcFocusTrapComponent;\n }\n}\n\nconst defaultSelectors = [\n '[tabindex]',\n 'a[href]',\n 'button',\n 'input',\n 'select',\n 'textarea',\n];\n\n/** Returns whether the element is hidden. */\nfunction isHidden(node: HTMLElement) {\n return (\n node.hasAttribute('hidden') ||\n node.hasAttribute('inert') ||\n (node.hasAttribute('aria-hidden') &&\n node.getAttribute('aria-hidden') !== 'false')\n );\n}\n\n/** Returns whether the element is disabled. */\nfunction isDisabled(node: HTMLElement) {\n return node.hasAttribute('disabled') || node.hasAttribute('inert');\n}\n\nfunction isContentEditable(node: HTMLElement) {\n return (\n node.hasAttribute('contenteditable') &&\n node.getAttribute('contenteditable') !== 'false'\n );\n}\n\n/**\n * Returns whether the element can be focused.\n */\nfunction isFocusable(node: HTMLElement) {\n if (isHidden(node) || isDisabled(node)) {\n return false;\n }\n\n if (isContentEditable(node)) {\n return true;\n }\n\n if (node.tabIndex === -1) {\n return false;\n }\n\n return defaultSelectors.some((selector) => node.matches(selector));\n}\n\n/**\n * Filter function for the tree walker instance skipping over nodes and their children\n * if the `node` is hidden/disabled or it was already visited and resides in `cache`.\n */\nfunction shouldSkipElements(node: Node, cache?: WeakSet<HTMLElement>) {\n const element = node as HTMLElement;\n\n return isHidden(element) || isDisabled(element) || cache?.has(element)\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT;\n}\n\n/** Returns the slotted elements and the parent element containing the slot */\nfunction getSlottedElements(node: HTMLElement) {\n const slot = node as HTMLSlotElement;\n const elements = slot.assignedElements() as HTMLElement[];\n return { elements, parent: elements.at(0)?.parentElement };\n}\n\n/**\n * Traverses and yields all focusable elements starting at `root`.\n */\nfunction* getFocusableElements<T extends HTMLElement>(\n root: HTMLElement | ShadowRoot,\n cache?: WeakSet<HTMLElement>\n): Generator<T> {\n if (!isDefined(globalThis.document)) {\n return;\n }\n\n let node: T;\n const _cache = cache ?? new WeakSet<HTMLElement>();\n\n const visitor = document.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n (node) => shouldSkipElements(node, _cache)\n );\n\n // biome-ignore lint/suspicious/noAssignInExpressions: short-form\n while ((node = visitor.nextNode() as T)) {\n if (_cache.has(node)) {\n continue;\n }\n\n if (node.shadowRoot) {\n yield* getFocusableElements(node.shadowRoot, _cache);\n continue;\n }\n\n if (node.tagName === 'SLOT') {\n const { elements, parent } = getSlottedElements(node);\n\n if (elements.length > 0) {\n for (const element of elements) {\n yield* getFocusableElements(parent!, _cache);\n _cache.add(element);\n }\n }\n continue;\n }\n\n if (isFocusable(node)) {\n yield node;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"focus-trap.js","sourceRoot":"","sources":["../../../src/components/focus-trap/focus-trap.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html, LitElement, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\n\nimport { registerComponent } from '../common/definitions/register.js';\nimport { addSafeEventListener, isDefined } from '../common/util.js';\n\n/* blazorSuppress */\n/**\n *\n * @element igc-focus-trap\n *\n * @slot - The content of the focus trap component\n */\nexport default class IgcFocusTrapComponent extends LitElement {\n public static readonly tagName = 'igc-focus-trap';\n public static override styles = css`\n :host {\n display: contents;\n }\n `;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcFocusTrapComponent);\n }\n\n @state()\n protected _focused = false;\n\n /**\n * Whether to manage focus state for the slotted children.\n * @attr disabled\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /**\n * Whether focus in currently inside the trap component.\n */\n public get focused() {\n return this._focused;\n }\n\n /** An array of focusable elements including elements in Shadow roots */\n public get focusableElements() {\n return Array.from(getFocusableElements<HTMLElement>(this));\n }\n\n constructor() {\n super();\n\n addSafeEventListener(this, 'focusin', this.onFocusIn);\n addSafeEventListener(this, 'focusout', this.onFocusOut);\n }\n\n private onFocusIn() {\n this._focused = true;\n }\n\n private onFocusOut() {\n this._focused = false;\n }\n\n public focusFirstElement() {\n this.focusableElements.at(0)?.focus();\n }\n\n public focusLastElement() {\n this.focusableElements.at(-1)?.focus();\n }\n\n protected override render() {\n const tabStop = !this.focused || this.disabled ? -1 : 0;\n\n return html`\n <div\n id=\"start\"\n tabindex=${tabStop}\n @focus=${this.disabled ? nothing : this.focusLastElement}\n ></div>\n <slot></slot>\n <div\n id=\"end\"\n tabindex=${tabStop}\n @focus=${this.disabled ? nothing : this.focusFirstElement}\n ></div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-focus-trap': IgcFocusTrapComponent;\n }\n}\n\nconst defaultSelectors = [\n '[tabindex]',\n 'a[href]',\n 'button',\n 'input',\n 'select',\n 'textarea',\n];\n\n/** Returns whether the element is hidden. */\nfunction isHidden(node: HTMLElement) {\n return (\n node.hasAttribute('hidden') ||\n node.hasAttribute('inert') ||\n (node.hasAttribute('aria-hidden') &&\n node.getAttribute('aria-hidden') !== 'false')\n );\n}\n\n/** Returns whether the element is disabled. */\nfunction isDisabled(node: HTMLElement) {\n return node.hasAttribute('disabled') || node.hasAttribute('inert');\n}\n\nfunction isContentEditable(node: HTMLElement) {\n return (\n node.hasAttribute('contenteditable') &&\n node.getAttribute('contenteditable') !== 'false'\n );\n}\n\n/**\n * Returns whether the element can be focused.\n */\nfunction isFocusable(node: HTMLElement) {\n if (isHidden(node) || isDisabled(node)) {\n return false;\n }\n\n if (isContentEditable(node)) {\n return true;\n }\n\n if (node.tabIndex === -1) {\n return false;\n }\n\n return defaultSelectors.some((selector) => node.matches(selector));\n}\n\n/**\n * Filter function for the tree walker instance skipping over nodes and their children\n * if the `node` is hidden/disabled or it was already visited and resides in `cache`.\n */\nfunction shouldSkipElements(node: Node, cache?: WeakSet<HTMLElement>) {\n const element = node as HTMLElement;\n\n return isHidden(element) || isDisabled(element) || cache?.has(element)\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT;\n}\n\n/** Returns the slotted elements and the parent element containing the slot */\nfunction getSlottedElements(node: HTMLElement) {\n const slot = node as HTMLSlotElement;\n const elements = slot.assignedElements() as HTMLElement[];\n return { elements, parent: elements.at(0)?.parentElement };\n}\n\n/**\n * Traverses and yields all focusable elements starting at `root`.\n */\nfunction* getFocusableElements<T extends HTMLElement>(\n root: HTMLElement | ShadowRoot,\n cache?: WeakSet<HTMLElement>\n): Generator<T> {\n if (!isDefined(globalThis.document)) {\n return;\n }\n\n let node: T;\n const _cache = cache ?? new WeakSet<HTMLElement>();\n\n const visitor = document.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n (node) => shouldSkipElements(node, _cache)\n );\n\n // biome-ignore lint/suspicious/noAssignInExpressions: short-form\n while ((node = visitor.nextNode() as T)) {\n if (_cache.has(node)) {\n continue;\n }\n\n if (node.shadowRoot) {\n yield* getFocusableElements(node.shadowRoot, _cache);\n continue;\n }\n\n if (node.tagName === 'SLOT') {\n const { elements, parent } = getSlottedElements(node);\n\n if (elements.length > 0) {\n for (const element of elements) {\n yield* getFocusableElements(parent!, _cache);\n _cache.add(element);\n }\n }\n continue;\n }\n\n if (isFocusable(node)) {\n yield node;\n }\n }\n}\n"]}