igniteui-webcomponents 6.3.0-alpha.1 → 6.3.0-beta.1

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 (561) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/components/accordion/accordion.js +3 -4
  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-group/button-group.js +3 -4
  37. package/components/button-group/button-group.js.map +1 -1
  38. package/components/button-group/toggle-button.js +4 -3
  39. package/components/button-group/toggle-button.js.map +1 -1
  40. package/components/calendar/calendar.d.ts +1 -1
  41. package/components/calendar/calendar.js +3 -4
  42. package/components/calendar/calendar.js.map +1 -1
  43. package/components/calendar/days-view/days-view.js +4 -3
  44. package/components/calendar/days-view/days-view.js.map +1 -1
  45. package/components/calendar/months-view/months-view.js +4 -3
  46. package/components/calendar/months-view/months-view.js.map +1 -1
  47. package/components/calendar/themes/calendar.base.css.js +1 -1
  48. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  49. package/components/calendar/themes/days-view.base.css.js +1 -1
  50. package/components/calendar/themes/days-view.base.css.js.map +1 -1
  51. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js +1 -1
  52. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js.map +1 -1
  53. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js +1 -1
  54. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js.map +1 -1
  55. package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js +1 -1
  56. package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js.map +1 -1
  57. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js +1 -1
  58. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js.map +1 -1
  59. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js +1 -1
  60. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js.map +1 -1
  61. package/components/calendar/themes/shared/material/calendar.material.css.js +1 -1
  62. package/components/calendar/themes/shared/material/calendar.material.css.js.map +1 -1
  63. package/components/calendar/themes/year-month-view.base.css.js +1 -1
  64. package/components/calendar/themes/year-month-view.base.css.js.map +1 -1
  65. package/components/calendar/years-view/years-view.js +4 -3
  66. package/components/calendar/years-view/years-view.js.map +1 -1
  67. package/components/card/card.actions.js +3 -4
  68. package/components/card/card.actions.js.map +1 -1
  69. package/components/card/card.content.js +3 -4
  70. package/components/card/card.content.js.map +1 -1
  71. package/components/card/card.header.js +3 -4
  72. package/components/card/card.header.js.map +1 -1
  73. package/components/card/card.js +3 -4
  74. package/components/card/card.js.map +1 -1
  75. package/components/card/card.media.js +3 -4
  76. package/components/card/card.media.js.map +1 -1
  77. package/components/card/themes/card.actions.base.css.js +1 -1
  78. package/components/card/themes/card.actions.base.css.js.map +1 -1
  79. package/components/card/themes/card.content.base.css.js +1 -1
  80. package/components/card/themes/card.content.base.css.js.map +1 -1
  81. package/components/card/themes/card.header.base.css.js +1 -1
  82. package/components/card/themes/card.header.base.css.js.map +1 -1
  83. package/components/card/themes/shared/actions/card.actions.bootstrap.css.js +1 -1
  84. package/components/card/themes/shared/actions/card.actions.bootstrap.css.js.map +1 -1
  85. package/components/card/themes/shared/actions/card.actions.indigo.css.js +1 -1
  86. package/components/card/themes/shared/actions/card.actions.indigo.css.js.map +1 -1
  87. package/components/card/themes/shared/container/card.bootstrap.css.js +1 -1
  88. package/components/card/themes/shared/container/card.bootstrap.css.js.map +1 -1
  89. package/components/card/themes/shared/container/card.indigo.css.js +1 -1
  90. package/components/card/themes/shared/container/card.indigo.css.js.map +1 -1
  91. package/components/card/themes/shared/content/card.content.bootstrap.css.js +1 -1
  92. package/components/card/themes/shared/content/card.content.bootstrap.css.js.map +1 -1
  93. package/components/card/themes/shared/header/card.header.fluent.css.js +1 -1
  94. package/components/card/themes/shared/header/card.header.fluent.css.js.map +1 -1
  95. package/components/card/themes/shared/header/card.header.indigo.css.js +1 -1
  96. package/components/card/themes/shared/header/card.header.indigo.css.js.map +1 -1
  97. package/components/carousel/carousel-indicator-container.js +3 -4
  98. package/components/carousel/carousel-indicator-container.js.map +1 -1
  99. package/components/carousel/carousel-indicator.js +3 -4
  100. package/components/carousel/carousel-indicator.js.map +1 -1
  101. package/components/carousel/carousel-slide.js +3 -4
  102. package/components/carousel/carousel-slide.js.map +1 -1
  103. package/components/carousel/carousel.js +3 -4
  104. package/components/carousel/carousel.js.map +1 -1
  105. package/components/carousel/themes/carousel.base.css.js +1 -1
  106. package/components/carousel/themes/carousel.base.css.js.map +1 -1
  107. package/components/carousel/themes/shared/carousel.indigo.css.js +1 -1
  108. package/components/carousel/themes/shared/carousel.indigo.css.js.map +1 -1
  109. package/components/chat/chat-input.d.ts +47 -11
  110. package/components/chat/chat-input.js +192 -78
  111. package/components/chat/chat-input.js.map +1 -1
  112. package/components/chat/chat-message.d.ts +12 -12
  113. package/components/chat/chat-message.js +129 -31
  114. package/components/chat/chat-message.js.map +1 -1
  115. package/components/chat/chat-state.d.ts +21 -141
  116. package/components/chat/chat-state.js +64 -408
  117. package/components/chat/chat-state.js.map +1 -1
  118. package/components/chat/chat.d.ts +39 -69
  119. package/components/chat/chat.js +188 -132
  120. package/components/chat/chat.js.map +1 -1
  121. package/components/chat/extras/markdown-renderer.d.ts +26 -0
  122. package/components/chat/extras/markdown-renderer.js +44 -0
  123. package/components/chat/extras/markdown-renderer.js.map +1 -0
  124. package/components/chat/message-attachments.d.ts +21 -3
  125. package/components/chat/message-attachments.js +105 -20
  126. package/components/chat/message-attachments.js.map +1 -1
  127. package/components/chat/themes/attachments.d.ts +2 -0
  128. package/components/chat/themes/attachments.js +14 -0
  129. package/components/chat/themes/attachments.js.map +1 -0
  130. package/components/chat/themes/chat.base.css.js +1 -1
  131. package/components/chat/themes/chat.base.css.js.map +1 -1
  132. package/components/chat/themes/dark/chat.indigo.css.js +1 -1
  133. package/components/chat/themes/dark/chat.indigo.css.js.map +1 -1
  134. package/components/chat/themes/input.base.css.js +1 -1
  135. package/components/chat/themes/input.base.css.js.map +1 -1
  136. package/components/chat/themes/light/chat.indigo.css.js +1 -1
  137. package/components/chat/themes/light/chat.indigo.css.js.map +1 -1
  138. package/components/chat/themes/light/chat.shared.css.js +1 -1
  139. package/components/chat/themes/light/chat.shared.css.js.map +1 -1
  140. package/components/chat/themes/message-attachments.base.css.js +1 -1
  141. package/components/chat/themes/message-attachments.base.css.js.map +1 -1
  142. package/components/chat/themes/message.base.css.js +1 -1
  143. package/components/chat/themes/message.base.css.js.map +1 -1
  144. package/components/chat/themes/shared/chat.bootstrap.css.js +1 -1
  145. package/components/chat/themes/shared/chat.bootstrap.css.js.map +1 -1
  146. package/components/chat/themes/shared/chat.common.css.js +1 -1
  147. package/components/chat/themes/shared/chat.common.css.js.map +1 -1
  148. package/components/chat/themes/shared/chat.fluent.css.js +3 -0
  149. package/components/chat/themes/shared/chat.fluent.css.js.map +1 -0
  150. package/components/chat/themes/shared/chat.indigo.css.js +1 -1
  151. package/components/chat/themes/shared/chat.indigo.css.js.map +1 -1
  152. package/components/chat/themes/shared/input/input.bootstrap.css.js +1 -1
  153. package/components/chat/themes/shared/input/input.bootstrap.css.js.map +1 -1
  154. package/components/chat/themes/shared/input/input.fluent.css.js +1 -1
  155. package/components/chat/themes/shared/input/input.fluent.css.js.map +1 -1
  156. package/components/chat/themes/shared/input/input.indigo.css.js +1 -1
  157. package/components/chat/themes/shared/input/input.indigo.css.js.map +1 -1
  158. package/components/chat/themes/shared/input/input.material.css.js +1 -1
  159. package/components/chat/themes/shared/input/input.material.css.js.map +1 -1
  160. package/components/chat/themes/shared/message-attachments/message-attachments.common.css.js +3 -0
  161. package/components/chat/themes/shared/message-attachments/message-attachments.common.css.js.map +1 -0
  162. package/components/chat/themes/shared/message-attachments/message-attachments.indigo.css.js +3 -0
  163. package/components/chat/themes/shared/message-attachments/message-attachments.indigo.css.js.map +1 -0
  164. package/components/chat/themes/themes.js +3 -2
  165. package/components/chat/themes/themes.js.map +1 -1
  166. package/components/chat/types.d.ts +37 -133
  167. package/components/chat/types.js +1 -14
  168. package/components/chat/types.js.map +1 -1
  169. package/components/chat/utils.d.ts +17 -0
  170. package/components/chat/utils.js +94 -0
  171. package/components/chat/utils.js.map +1 -0
  172. package/components/checkbox/checkbox-base.d.ts +1 -1
  173. package/components/checkbox/checkbox.js +3 -4
  174. package/components/checkbox/checkbox.js.map +1 -1
  175. package/components/checkbox/switch.js +3 -4
  176. package/components/checkbox/switch.js.map +1 -1
  177. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
  178. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
  179. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js +1 -1
  180. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js.map +1 -1
  181. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js +1 -1
  182. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js.map +1 -1
  183. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js +1 -1
  184. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js.map +1 -1
  185. package/components/chip/chip.js +3 -4
  186. package/components/chip/chip.js.map +1 -1
  187. package/components/chip/themes/shared/chip.indigo.css.js +1 -1
  188. package/components/chip/themes/shared/chip.indigo.css.js.map +1 -1
  189. package/components/combo/combo-header.js +3 -4
  190. package/components/combo/combo-header.js.map +1 -1
  191. package/components/combo/combo-item.js +3 -4
  192. package/components/combo/combo-item.js.map +1 -1
  193. package/components/combo/combo-list.js +2 -3
  194. package/components/combo/combo-list.js.map +1 -1
  195. package/components/combo/combo.js +4 -3
  196. package/components/combo/combo.js.map +1 -1
  197. package/components/combo/themes/combo-item.base.css.js +1 -1
  198. package/components/combo/themes/combo-item.base.css.js.map +1 -1
  199. package/components/combo/themes/combo.base.css.js +1 -1
  200. package/components/combo/themes/combo.base.css.js.map +1 -1
  201. package/components/combo/themes/shared/combo.bootstrap.css.js +1 -1
  202. package/components/combo/themes/shared/combo.bootstrap.css.js.map +1 -1
  203. package/components/combo/themes/shared/combo.fluent.css.js +1 -1
  204. package/components/combo/themes/shared/combo.fluent.css.js.map +1 -1
  205. package/components/combo/themes/shared/combo.indigo.css.js +1 -1
  206. package/components/combo/themes/shared/combo.indigo.css.js.map +1 -1
  207. package/components/combo/themes/shared/combo.material.css.js +1 -1
  208. package/components/combo/themes/shared/combo.material.css.js.map +1 -1
  209. package/components/common/context.d.ts +4 -1
  210. package/components/common/context.js +2 -1
  211. package/components/common/context.js.map +1 -1
  212. package/components/common/controllers/focus-ring.js +5 -5
  213. package/components/common/controllers/focus-ring.js.map +1 -1
  214. package/components/common/controllers/key-bindings.js +4 -4
  215. package/components/common/controllers/key-bindings.js.map +1 -1
  216. package/components/common/i18n/chat.resources.d.ts +4 -4
  217. package/components/common/i18n/chat.resources.js +4 -4
  218. package/components/common/i18n/chat.resources.js.map +1 -1
  219. package/components/common/mixins/forms/associated.js +1 -1
  220. package/components/common/mixins/forms/associated.js.map +1 -1
  221. package/components/common/mixins/forms/form-value.js +1 -1
  222. package/components/common/mixins/forms/form-value.js.map +1 -1
  223. package/components/common/part-map.d.ts +1 -1
  224. package/components/common/util.d.ts +8 -0
  225. package/components/common/util.js +33 -1
  226. package/components/common/util.js.map +1 -1
  227. package/components/date-picker/date-picker.js +5 -4
  228. package/components/date-picker/date-picker.js.map +1 -1
  229. package/components/date-picker/themes/date-picker.base.css.js +1 -1
  230. package/components/date-picker/themes/date-picker.base.css.js.map +1 -1
  231. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js +1 -1
  232. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js.map +1 -1
  233. package/components/date-picker/themes/shared/date-picker.common.css.js +1 -1
  234. package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -1
  235. package/components/date-picker/themes/shared/date-picker.fluent.css.js +1 -1
  236. package/components/date-picker/themes/shared/date-picker.fluent.css.js.map +1 -1
  237. package/components/date-picker/themes/shared/date-picker.indigo.css.js +1 -1
  238. package/components/date-picker/themes/shared/date-picker.indigo.css.js.map +1 -1
  239. package/components/date-range-picker/date-range-picker.base.css.js +1 -1
  240. package/components/date-range-picker/date-range-picker.base.css.js.map +1 -1
  241. package/components/date-range-picker/date-range-picker.d.ts +1 -1
  242. package/components/date-range-picker/date-range-picker.js +5 -4
  243. package/components/date-range-picker/date-range-picker.js.map +1 -1
  244. package/components/date-range-picker/predefined-ranges-area.base.css.js +1 -1
  245. package/components/date-range-picker/predefined-ranges-area.base.css.js.map +1 -1
  246. package/components/date-range-picker/predefined-ranges-area.js +3 -4
  247. package/components/date-range-picker/predefined-ranges-area.js.map +1 -1
  248. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js +1 -1
  249. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js.map +1 -1
  250. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js +1 -1
  251. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js.map +1 -1
  252. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js +1 -1
  253. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js.map +1 -1
  254. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js +1 -1
  255. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js.map +1 -1
  256. package/components/date-time-input/date-time-input.js +2 -3
  257. package/components/date-time-input/date-time-input.js.map +1 -1
  258. package/components/date-time-input/date-util.js +11 -11
  259. package/components/date-time-input/date-util.js.map +1 -1
  260. package/components/dialog/dialog.js +3 -4
  261. package/components/dialog/dialog.js.map +1 -1
  262. package/components/dialog/themes/dialog.base.css.js +1 -1
  263. package/components/dialog/themes/dialog.base.css.js.map +1 -1
  264. package/components/dialog/themes/shared/dialog.bootstrap.css.js +1 -1
  265. package/components/dialog/themes/shared/dialog.bootstrap.css.js.map +1 -1
  266. package/components/dialog/themes/shared/dialog.common.css.js +1 -1
  267. package/components/dialog/themes/shared/dialog.common.css.js.map +1 -1
  268. package/components/dialog/themes/shared/dialog.fluent.css.js +1 -1
  269. package/components/dialog/themes/shared/dialog.fluent.css.js.map +1 -1
  270. package/components/dialog/themes/shared/dialog.indigo.css.js +1 -1
  271. package/components/dialog/themes/shared/dialog.indigo.css.js.map +1 -1
  272. package/components/divider/divider.js +3 -4
  273. package/components/divider/divider.js.map +1 -1
  274. package/components/dropdown/dropdown-group.js +3 -4
  275. package/components/dropdown/dropdown-group.js.map +1 -1
  276. package/components/dropdown/dropdown-header.js +3 -4
  277. package/components/dropdown/dropdown-header.js.map +1 -1
  278. package/components/dropdown/dropdown-item.js +3 -4
  279. package/components/dropdown/dropdown-item.js.map +1 -1
  280. package/components/dropdown/dropdown.js +4 -3
  281. package/components/dropdown/dropdown.js.map +1 -1
  282. package/components/dropdown/themes/dropdown-item.base.css.js +1 -1
  283. package/components/dropdown/themes/dropdown-item.base.css.js.map +1 -1
  284. package/components/dropdown/themes/shared/dropdown.indigo.css.js +1 -1
  285. package/components/dropdown/themes/shared/dropdown.indigo.css.js.map +1 -1
  286. package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js +1 -1
  287. package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js.map +1 -1
  288. package/components/expansion-panel/expansion-panel.js +3 -4
  289. package/components/expansion-panel/expansion-panel.js.map +1 -1
  290. package/components/expansion-panel/themes/expansion-panel.base.css.js +1 -1
  291. package/components/expansion-panel/themes/expansion-panel.base.css.js.map +1 -1
  292. package/components/expansion-panel/themes/shared/expansion-panel.indigo.css.js +1 -1
  293. package/components/expansion-panel/themes/shared/expansion-panel.indigo.css.js.map +1 -1
  294. package/components/file-input/file-input.d.ts +0 -4
  295. package/components/file-input/file-input.js +15 -19
  296. package/components/file-input/file-input.js.map +1 -1
  297. package/components/file-input/themes/shared/file-input.material.css.js +1 -1
  298. package/components/file-input/themes/shared/file-input.material.css.js.map +1 -1
  299. package/components/focus-trap/focus-trap.js +7 -8
  300. package/components/focus-trap/focus-trap.js.map +1 -1
  301. package/components/icon/icon-references.js +208 -0
  302. package/components/icon/icon-references.js.map +1 -1
  303. package/components/icon/icon-state.broadcast.js +1 -1
  304. package/components/icon/icon-state.broadcast.js.map +1 -1
  305. package/components/icon/icon.js +3 -4
  306. package/components/icon/icon.js.map +1 -1
  307. package/components/icon/internal-icons-lib.js +105 -0
  308. package/components/icon/internal-icons-lib.js.map +1 -1
  309. package/components/input/input-base.js +4 -3
  310. package/components/input/input-base.js.map +1 -1
  311. package/components/input/input.d.ts +0 -4
  312. package/components/input/input.js +11 -14
  313. package/components/input/input.js.map +1 -1
  314. package/components/input/themes/shared/input.common.css.js +1 -1
  315. package/components/input/themes/shared/input.common.css.js.map +1 -1
  316. package/components/input/themes/shared/input.fluent.css.js +1 -1
  317. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  318. package/components/input/themes/shared/input.indigo.css.js +1 -1
  319. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  320. package/components/input/themes/shared/input.material.css.js +1 -1
  321. package/components/input/themes/shared/input.material.css.js.map +1 -1
  322. package/components/list/list-header.js +3 -4
  323. package/components/list/list-header.js.map +1 -1
  324. package/components/list/list-item.js +3 -4
  325. package/components/list/list-item.js.map +1 -1
  326. package/components/list/list.js +3 -4
  327. package/components/list/list.js.map +1 -1
  328. package/components/list/themes/dark/container/list.indigo.css.js +1 -1
  329. package/components/list/themes/dark/container/list.indigo.css.js.map +1 -1
  330. package/components/list/themes/dark/header/list-header.indigo.css.js +1 -1
  331. package/components/list/themes/dark/header/list-header.indigo.css.js.map +1 -1
  332. package/components/list/themes/dark/item/list-item.indigo.css.js +1 -1
  333. package/components/list/themes/dark/item/list-item.indigo.css.js.map +1 -1
  334. package/components/list/themes/light/container/list.indigo.css.js +1 -1
  335. package/components/list/themes/light/container/list.indigo.css.js.map +1 -1
  336. package/components/list/themes/light/header/list-header.indigo.css.js +1 -1
  337. package/components/list/themes/light/header/list-header.indigo.css.js.map +1 -1
  338. package/components/list/themes/light/item/list-item.indigo.css.js +1 -1
  339. package/components/list/themes/light/item/list-item.indigo.css.js.map +1 -1
  340. package/components/mask-input/mask-input.js +2 -3
  341. package/components/mask-input/mask-input.js.map +1 -1
  342. package/components/nav-drawer/nav-drawer-header-item.js +3 -4
  343. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  344. package/components/nav-drawer/nav-drawer-item.js +3 -4
  345. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  346. package/components/nav-drawer/nav-drawer.js +3 -4
  347. package/components/nav-drawer/nav-drawer.js.map +1 -1
  348. package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js +1 -1
  349. package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js.map +1 -1
  350. package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js +1 -1
  351. package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js.map +1 -1
  352. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js +1 -1
  353. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js.map +1 -1
  354. package/components/nav-drawer/themes/shared/header-item/header-item.bootstrap.css.js +1 -1
  355. package/components/nav-drawer/themes/shared/header-item/header-item.bootstrap.css.js.map +1 -1
  356. package/components/nav-drawer/themes/shared/header-item/header-item.fluent.css.js +1 -1
  357. package/components/nav-drawer/themes/shared/header-item/header-item.fluent.css.js.map +1 -1
  358. package/components/nav-drawer/themes/shared/header-item/header-item.indigo.css.js +1 -1
  359. package/components/nav-drawer/themes/shared/header-item/header-item.indigo.css.js.map +1 -1
  360. package/components/nav-drawer/themes/shared/header-item/header-item.material.css.js +1 -1
  361. package/components/nav-drawer/themes/shared/header-item/header-item.material.css.js.map +1 -1
  362. package/components/nav-drawer/themes/shared/item/item.bootstrap.css.js +1 -1
  363. package/components/nav-drawer/themes/shared/item/item.bootstrap.css.js.map +1 -1
  364. package/components/nav-drawer/themes/shared/item/item.fluent.css.js +1 -1
  365. package/components/nav-drawer/themes/shared/item/item.fluent.css.js.map +1 -1
  366. package/components/nav-drawer/themes/shared/item/item.indigo.css.js +1 -1
  367. package/components/nav-drawer/themes/shared/item/item.indigo.css.js.map +1 -1
  368. package/components/nav-drawer/themes/shared/item/item.material.css.js +1 -1
  369. package/components/nav-drawer/themes/shared/item/item.material.css.js.map +1 -1
  370. package/components/navbar/navbar.js +3 -4
  371. package/components/navbar/navbar.js.map +1 -1
  372. package/components/navbar/themes/navbar.base.css.js +1 -1
  373. package/components/navbar/themes/navbar.base.css.js.map +1 -1
  374. package/components/navbar/themes/shared/navbar.bootstrap.css.js +1 -1
  375. package/components/navbar/themes/shared/navbar.bootstrap.css.js.map +1 -1
  376. package/components/navbar/themes/shared/navbar.indigo.css.js +1 -1
  377. package/components/navbar/themes/shared/navbar.indigo.css.js.map +1 -1
  378. package/components/popover/popover.js +9 -10
  379. package/components/popover/popover.js.map +1 -1
  380. package/components/progress/circular-gradient.js +2 -3
  381. package/components/progress/circular-gradient.js.map +1 -1
  382. package/components/progress/circular-progress.js +3 -4
  383. package/components/progress/circular-progress.js.map +1 -1
  384. package/components/progress/linear-progress.js +3 -4
  385. package/components/progress/linear-progress.js.map +1 -1
  386. package/components/progress/themes/linear/shared/linear.progress.fluent.css.js +1 -1
  387. package/components/progress/themes/linear/shared/linear.progress.fluent.css.js.map +1 -1
  388. package/components/progress/themes/linear/shared/linear.progress.indigo.css.js +1 -1
  389. package/components/progress/themes/linear/shared/linear.progress.indigo.css.js.map +1 -1
  390. package/components/radio/radio.js +3 -4
  391. package/components/radio/radio.js.map +1 -1
  392. package/components/radio/themes/shared/radio.bootstrap.css.js +1 -1
  393. package/components/radio/themes/shared/radio.bootstrap.css.js.map +1 -1
  394. package/components/radio/themes/shared/radio.fluent.css.js +1 -1
  395. package/components/radio/themes/shared/radio.fluent.css.js.map +1 -1
  396. package/components/radio/themes/shared/radio.indigo.css.js +1 -1
  397. package/components/radio/themes/shared/radio.indigo.css.js.map +1 -1
  398. package/components/radio/themes/shared/radio.material.css.js +1 -1
  399. package/components/radio/themes/shared/radio.material.css.js.map +1 -1
  400. package/components/radio-group/radio-group.js +3 -4
  401. package/components/radio-group/radio-group.js.map +1 -1
  402. package/components/radio-group/themes/radio-group.base.css.js +1 -1
  403. package/components/radio-group/themes/radio-group.base.css.js.map +1 -1
  404. package/components/radio-group/themes/shared/radio-group.bootstrap.css.js +1 -1
  405. package/components/radio-group/themes/shared/radio-group.bootstrap.css.js.map +1 -1
  406. package/components/radio-group/themes/shared/radio-group.fluent.css.js +1 -1
  407. package/components/radio-group/themes/shared/radio-group.fluent.css.js.map +1 -1
  408. package/components/radio-group/themes/shared/radio-group.indigo.css.js +1 -1
  409. package/components/radio-group/themes/shared/radio-group.indigo.css.js.map +1 -1
  410. package/components/radio-group/themes/shared/radio-group.material.css.js +1 -1
  411. package/components/radio-group/themes/shared/radio-group.material.css.js.map +1 -1
  412. package/components/rating/rating-symbol.js +3 -4
  413. package/components/rating/rating-symbol.js.map +1 -1
  414. package/components/rating/rating.js +3 -4
  415. package/components/rating/rating.js.map +1 -1
  416. package/components/rating/themes/rating.base.css.js +1 -1
  417. package/components/rating/themes/rating.base.css.js.map +1 -1
  418. package/components/rating/themes/shared/rating.indigo.css.js +1 -1
  419. package/components/rating/themes/shared/rating.indigo.css.js.map +1 -1
  420. package/components/resize-container/resize-container.d.ts +1 -1
  421. package/components/resize-container/resize-container.js +3 -4
  422. package/components/resize-container/resize-container.js.map +1 -1
  423. package/components/ripple/ripple.js +3 -4
  424. package/components/ripple/ripple.js.map +1 -1
  425. package/components/select/select-group.js +3 -4
  426. package/components/select/select-group.js.map +1 -1
  427. package/components/select/select-header.js +3 -4
  428. package/components/select/select-header.js.map +1 -1
  429. package/components/select/select-item.js +3 -4
  430. package/components/select/select-item.js.map +1 -1
  431. package/components/select/select.js +4 -4
  432. package/components/select/select.js.map +1 -1
  433. package/components/select/themes/shared/select.bootstrap.css.js +1 -1
  434. package/components/select/themes/shared/select.bootstrap.css.js.map +1 -1
  435. package/components/select/themes/shared/select.fluent.css.js +1 -1
  436. package/components/select/themes/shared/select.fluent.css.js.map +1 -1
  437. package/components/select/themes/shared/select.indigo.css.js +1 -1
  438. package/components/select/themes/shared/select.indigo.css.js.map +1 -1
  439. package/components/select/themes/shared/select.material.css.js +1 -1
  440. package/components/select/themes/shared/select.material.css.js.map +1 -1
  441. package/components/slider/range-slider.js +2 -3
  442. package/components/slider/range-slider.js.map +1 -1
  443. package/components/slider/slider-base.js +1 -1
  444. package/components/slider/slider-base.js.map +1 -1
  445. package/components/slider/slider-label.js +7 -8
  446. package/components/slider/slider-label.js.map +1 -1
  447. package/components/slider/slider.js +2 -3
  448. package/components/slider/slider.js.map +1 -1
  449. package/components/slider/themes/shared/slider.common.css.js +1 -1
  450. package/components/slider/themes/shared/slider.common.css.js.map +1 -1
  451. package/components/slider/themes/slider.base.css.js +1 -1
  452. package/components/slider/themes/slider.base.css.js.map +1 -1
  453. package/components/snackbar/snackbar.js +3 -4
  454. package/components/snackbar/snackbar.js.map +1 -1
  455. package/components/snackbar/themes/shared/snackbar.indigo.css.js +1 -1
  456. package/components/snackbar/themes/shared/snackbar.indigo.css.js.map +1 -1
  457. package/components/snackbar/themes/snackbar.base.css.js +1 -1
  458. package/components/snackbar/themes/snackbar.base.css.js.map +1 -1
  459. package/components/stepper/step.d.ts +1 -1
  460. package/components/stepper/step.js +3 -4
  461. package/components/stepper/step.js.map +1 -1
  462. package/components/stepper/stepper.js +3 -4
  463. package/components/stepper/stepper.js.map +1 -1
  464. package/components/tabs/tab-dom.js +1 -1
  465. package/components/tabs/tab-dom.js.map +1 -1
  466. package/components/tabs/tab.js +4 -5
  467. package/components/tabs/tab.js.map +1 -1
  468. package/components/tabs/tabs.js +3 -4
  469. package/components/tabs/tabs.js.map +1 -1
  470. package/components/tabs/themes/shared/tab/tab.bootstrap.css.js +1 -1
  471. package/components/tabs/themes/shared/tab/tab.bootstrap.css.js.map +1 -1
  472. package/components/tabs/themes/shared/tab/tab.fluent.css.js +1 -1
  473. package/components/tabs/themes/shared/tab/tab.fluent.css.js.map +1 -1
  474. package/components/tabs/themes/shared/tab/tab.indigo.css.js +1 -1
  475. package/components/tabs/themes/shared/tab/tab.indigo.css.js.map +1 -1
  476. package/components/tabs/themes/shared/tab/tab.material.css.js +1 -1
  477. package/components/tabs/themes/shared/tab/tab.material.css.js.map +1 -1
  478. package/components/textarea/textarea.d.ts +1 -1
  479. package/components/textarea/textarea.js +4 -3
  480. package/components/textarea/textarea.js.map +1 -1
  481. package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
  482. package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
  483. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  484. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  485. package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
  486. package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
  487. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  488. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  489. package/components/textarea/themes/textarea.base.css.js +1 -1
  490. package/components/textarea/themes/textarea.base.css.js.map +1 -1
  491. package/components/tile-manager/resize-state.js +1 -1
  492. package/components/tile-manager/resize-state.js.map +1 -1
  493. package/components/tile-manager/tile-manager.js +4 -3
  494. package/components/tile-manager/tile-manager.js.map +1 -1
  495. package/components/tile-manager/tile.js +3 -4
  496. package/components/tile-manager/tile.js.map +1 -1
  497. package/components/toast/themes/shared/toast.bootstrap.css.js +1 -1
  498. package/components/toast/themes/shared/toast.bootstrap.css.js.map +1 -1
  499. package/components/toast/themes/shared/toast.common.css.js +1 -1
  500. package/components/toast/themes/shared/toast.common.css.js.map +1 -1
  501. package/components/toast/themes/shared/toast.fluent.css.js +1 -1
  502. package/components/toast/themes/shared/toast.fluent.css.js.map +1 -1
  503. package/components/toast/themes/toast.base.css.js +1 -1
  504. package/components/toast/themes/toast.base.css.js.map +1 -1
  505. package/components/toast/toast.js +3 -4
  506. package/components/toast/toast.js.map +1 -1
  507. package/components/tooltip/controller.js +4 -4
  508. package/components/tooltip/controller.js.map +1 -1
  509. package/components/tooltip/themes/tooltip.base.css.js +1 -1
  510. package/components/tooltip/themes/tooltip.base.css.js.map +1 -1
  511. package/components/tooltip/tooltip.js +3 -4
  512. package/components/tooltip/tooltip.js.map +1 -1
  513. package/components/tree/themes/item.base.css.js +1 -1
  514. package/components/tree/themes/item.base.css.js.map +1 -1
  515. package/components/tree/themes/shared/item.common.css.js +1 -1
  516. package/components/tree/themes/shared/item.common.css.js.map +1 -1
  517. package/components/tree/themes/shared/item.indigo.css.js +1 -1
  518. package/components/tree/themes/shared/item.indigo.css.js.map +1 -1
  519. package/components/tree/themes/shared/item.material.css.js +1 -1
  520. package/components/tree/themes/shared/item.material.css.js.map +1 -1
  521. package/components/tree/tree-item.js +3 -4
  522. package/components/tree/tree-item.js.map +1 -1
  523. package/components/tree/tree.js +4 -3
  524. package/components/tree/tree.js.map +1 -1
  525. package/components/validation-container/validation-container.js +3 -4
  526. package/components/validation-container/validation-container.js.map +1 -1
  527. package/custom-elements.json +24973 -25167
  528. package/extras/index.d.ts +1 -0
  529. package/extras/index.js +2 -0
  530. package/extras/index.js.map +1 -0
  531. package/igniteui-webcomponents.css-data.json +1 -1
  532. package/igniteui-webcomponents.html-data.json +1 -1
  533. package/index.d.ts +1 -3
  534. package/index.js +0 -2
  535. package/index.js.map +1 -1
  536. package/package.json +6 -2
  537. package/web-types.json +2 -2
  538. package/components/chat/assets/file.png +0 -0
  539. package/components/chat/assets/json.png +0 -0
  540. package/components/chat/assets/link.png +0 -0
  541. package/components/chat/chat-message-list.d.ts +0 -70
  542. package/components/chat/chat-message-list.js +0 -89
  543. package/components/chat/chat-message-list.js.map +0 -1
  544. package/components/chat/chat-renderer.d.ts +0 -14
  545. package/components/chat/chat-renderer.js +0 -39
  546. package/components/chat/chat-renderer.js.map +0 -1
  547. package/components/chat/markdown-renderer.d.ts +0 -72
  548. package/components/chat/markdown-renderer.js +0 -71
  549. package/components/chat/markdown-renderer.js.map +0 -1
  550. package/components/chat/plain-text-renderer.d.ts +0 -15
  551. package/components/chat/plain-text-renderer.js +0 -7
  552. package/components/chat/plain-text-renderer.js.map +0 -1
  553. package/components/chat/themes/message-list.base.css.js +0 -3
  554. package/components/chat/themes/message-list.base.css.js.map +0 -1
  555. package/components/chat/themes/shared/message-attachments.common.css.js +0 -3
  556. package/components/chat/themes/shared/message-attachments.common.css.js.map +0 -1
  557. package/components/chat/themes/shared/message-list.common.css.js +0 -3
  558. package/components/chat/themes/shared/message-list.common.css.js.map +0 -1
  559. /package/components/chat/themes/{message-list.base.css.d.ts → shared/chat.fluent.css.d.ts} +0 -0
  560. /package/components/chat/themes/shared/{message-attachments.common.css.d.ts → message-attachments/message-attachments.common.css.d.ts} +0 -0
  561. /package/components/chat/themes/shared/{message-list.common.css.d.ts → message-attachments/message-attachments.indigo.css.d.ts} +0 -0
@@ -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,mwKAAmwK,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-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))))}: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, 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))))}: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, var(--ig-spacing))),var(--is-medium, 1)*max(2px, -1 * 2px)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(2px, -1 * 2px)*var(--ig-spacing-small, var(--ig-spacing, 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-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(8px, -1 * 8px)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(8px, -1 * 8px)*var(--ig-spacing-small, var(--ig-spacing, var(--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, var(--ig-spacing))),var(--is-medium, 1)*max(8px, -1 * 8px)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(8px, -1 * 8px)*var(--ig-spacing-small, var(--ig-spacing, var(--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,u+FAAu+F,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, var(--ig-spacing))),var(--is-medium, 1)*max(2px, -1 * 2px)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(2px, -1 * 2px)*var(--ig-spacing-small, var(--ig-spacing, 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-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(8px, -1 * 8px)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(8px, -1 * 8px)*var(--ig-spacing-small, var(--ig-spacing, var(--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, var(--ig-spacing))),var(--is-medium, 1)*max(8px, -1 * 8px)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(8px, -1 * 8px)*var(--ig-spacing-small, var(--ig-spacing, var(--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":"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","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([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":";;;;;;AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AASpE,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,UAAU;aACpC,YAAO,GAAG,gBAAgB,AAAnB,CAAoB;aAC3B,WAAM,GAAG,GAAG,CAAA;;;;GAIlC,AAJ4B,CAI3B;IAGK,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAC3C,CAAC;IAeD,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAGD,IAAW,iBAAiB;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAc,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QAtBA,aAAQ,GAAG,KAAK,CAAC;QAOpB,aAAQ,GAAG,KAAK,CAAC;QAiBtB,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAEM,iBAAiB;QACtB,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC;IAEM,gBAAgB;QACrB,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;IAEkB,MAAM;QACvB,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAExD,OAAO,IAAI,CAAA;;;mBAGI,OAAO;iBACT,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB;;;;;mBAK7C,OAAO;iBACT,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB;;KAE5D,CAAC;IACJ,CAAC;;AA5DS;IADT,KAAK,EAAE;uDACmB;AAOpB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uDACnB;AA8D1B,MAAM,gBAAgB,GAAG;IACvB,YAAY;IACZ,SAAS;IACT,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;CACX,CAAC;AAGF,SAAS,QAAQ,CAAC,IAAiB;IACjC,OAAO,CACL,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QAC1B,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,OAAO,CAAC,CAChD,CAAC;AACJ,CAAC;AAGD,SAAS,UAAU,CAAC,IAAiB;IACnC,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAiB;IAC1C,OAAO,CACL,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,OAAO,CACjD,CAAC;AACJ,CAAC;AAKD,SAAS,WAAW,CAAC,IAAiB;IACpC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrE,CAAC;AAMD,SAAS,kBAAkB,CAAC,IAAU,EAAE,KAA4B;IAClE,MAAM,OAAO,GAAG,IAAmB,CAAC;IAEpC,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC;QACpE,CAAC,CAAC,UAAU,CAAC,aAAa;QAC1B,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;AAC/B,CAAC;AAGD,SAAS,kBAAkB,CAAC,IAAiB;IAC3C,MAAM,IAAI,GAAG,IAAuB,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAmB,CAAC;IAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;AAC7D,CAAC;AAKD,QAAQ,CAAC,CAAC,oBAAoB,CAC5B,IAA8B,EAC9B,KAA4B;IAE5B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IAED,IAAI,IAAO,CAAC;IACZ,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI,OAAO,EAAe,CAAC;IAEnD,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CACvC,IAAI,EACJ,UAAU,CAAC,YAAY,EACvB,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAC3C,CAAC;IAGF,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAO,CAAC,EAAE,CAAC;QACxC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,KAAK,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACrD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAEtD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,KAAK,CAAC,CAAC,oBAAoB,CAAC,MAAO,EAAE,MAAM,CAAC,CAAC;oBAC7C,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC;QACb,CAAC;IACH,CAAC;AACH,CAAC","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"]}
@@ -24,6 +24,214 @@ addIcon('expand', {
24
24
  collection: 'internal',
25
25
  },
26
26
  });
27
+ addIcon('attach_file', {
28
+ default: {
29
+ name: 'attach_file',
30
+ collection: 'internal',
31
+ },
32
+ indigo: {
33
+ name: 'indigo_attach_file',
34
+ collection: 'internal',
35
+ },
36
+ });
37
+ addIcon('attach_document', {
38
+ default: {
39
+ name: 'document_filled',
40
+ collection: 'internal',
41
+ },
42
+ });
43
+ addIcon('attach_image', {
44
+ default: {
45
+ name: 'document_image',
46
+ collection: 'internal',
47
+ },
48
+ });
49
+ addIcon('auto_suggest', {
50
+ default: {
51
+ name: 'auto_suggest',
52
+ collection: 'internal',
53
+ },
54
+ });
55
+ addIcon('send_message', {
56
+ default: {
57
+ name: 'send',
58
+ collection: 'internal',
59
+ },
60
+ });
61
+ addIcon('image_thumbnail', {
62
+ default: {
63
+ name: 'image',
64
+ collection: 'internal',
65
+ },
66
+ });
67
+ addIcon('table_thumbnail', {
68
+ default: {
69
+ name: 'table',
70
+ collection: 'internal',
71
+ },
72
+ });
73
+ addIcon('layout_thumbnail', {
74
+ default: {
75
+ name: 'layout',
76
+ collection: 'internal',
77
+ },
78
+ });
79
+ addIcon('code_thumbnail', {
80
+ default: {
81
+ name: 'code_circle',
82
+ collection: 'internal',
83
+ },
84
+ });
85
+ addIcon('document_thumbnail', {
86
+ default: {
87
+ name: 'document_empty',
88
+ collection: 'internal',
89
+ },
90
+ });
91
+ addIcon('file_generic', {
92
+ default: {
93
+ name: 'file_generic',
94
+ collection: 'internal',
95
+ },
96
+ });
97
+ addIcon('file_css', {
98
+ default: {
99
+ name: 'file_css',
100
+ collection: 'internal',
101
+ },
102
+ });
103
+ addIcon('file_csv', {
104
+ default: {
105
+ name: 'file_csv',
106
+ collection: 'internal',
107
+ },
108
+ });
109
+ addIcon('file_doc', {
110
+ default: {
111
+ name: 'file_doc',
112
+ collection: 'internal',
113
+ },
114
+ });
115
+ addIcon('file_htm', {
116
+ default: {
117
+ name: 'file_htm',
118
+ collection: 'internal',
119
+ },
120
+ });
121
+ addIcon('file_html', {
122
+ default: {
123
+ name: 'file_html',
124
+ collection: 'internal',
125
+ },
126
+ });
127
+ addIcon('file_js', {
128
+ default: {
129
+ name: 'file_js',
130
+ collection: 'internal',
131
+ },
132
+ });
133
+ addIcon('file_json', {
134
+ default: {
135
+ name: 'file_json',
136
+ collection: 'internal',
137
+ },
138
+ });
139
+ addIcon('file_pdf', {
140
+ default: {
141
+ name: 'file_pdf',
142
+ collection: 'internal',
143
+ },
144
+ });
145
+ addIcon('file_rtf', {
146
+ default: {
147
+ name: 'file_rtf',
148
+ collection: 'internal',
149
+ },
150
+ });
151
+ addIcon('file_svg', {
152
+ default: {
153
+ name: 'file_svg',
154
+ collection: 'internal',
155
+ },
156
+ });
157
+ addIcon('file_txt', {
158
+ default: {
159
+ name: 'file_txt',
160
+ collection: 'internal',
161
+ },
162
+ });
163
+ addIcon('file_xls', {
164
+ default: {
165
+ name: 'file_xls',
166
+ collection: 'internal',
167
+ },
168
+ });
169
+ addIcon('file_xml', {
170
+ default: {
171
+ name: 'file_xml',
172
+ collection: 'internal',
173
+ },
174
+ });
175
+ addIcon('file_zip', {
176
+ default: {
177
+ name: 'file_zip',
178
+ collection: 'internal',
179
+ },
180
+ });
181
+ addIcon('file_link', {
182
+ default: {
183
+ name: 'file_link',
184
+ collection: 'internal',
185
+ },
186
+ });
187
+ addIcon('more_horiz', {
188
+ default: {
189
+ name: 'more_horiz',
190
+ collection: 'internal',
191
+ },
192
+ });
193
+ addIcon('open_in_new', {
194
+ default: {
195
+ name: 'open_in_new',
196
+ collection: 'internal',
197
+ },
198
+ });
199
+ addIcon('thumb_up_active', {
200
+ default: {
201
+ name: 'thumb_up_filled',
202
+ collection: 'internal',
203
+ },
204
+ });
205
+ addIcon('thumb_up_inactive', {
206
+ default: {
207
+ name: 'thumb_up_empty',
208
+ collection: 'internal',
209
+ },
210
+ });
211
+ addIcon('thumb_down_active', {
212
+ default: {
213
+ name: 'thumb_down_filled',
214
+ collection: 'internal',
215
+ },
216
+ });
217
+ addIcon('thumb_down_inactive', {
218
+ default: {
219
+ name: 'thumb_down_empty',
220
+ collection: 'internal',
221
+ },
222
+ });
223
+ addIcon('regenerate', {
224
+ default: {
225
+ name: 'reload',
226
+ collection: 'internal',
227
+ },
228
+ });
229
+ addIcon('copy_content', {
230
+ default: {
231
+ name: 'copy',
232
+ collection: 'internal',
233
+ },
234
+ });
27
235
  addIcon('collapse', {
28
236
  default: {
29
237
  name: 'keyboard_arrow_up',