igniteui-webcomponents 6.2.0 → 6.3.0-RC.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (688) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/components/accordion/accordion.js +4 -8
  3. package/components/accordion/accordion.js.map +1 -1
  4. package/components/accordion/themes/accordion.base.css.js +1 -1
  5. package/components/accordion/themes/accordion.base.css.js.map +1 -1
  6. package/components/avatar/avatar.js +3 -4
  7. package/components/avatar/avatar.js.map +1 -1
  8. package/components/badge/badge.js +3 -4
  9. package/components/badge/badge.js.map +1 -1
  10. package/components/banner/banner.js +3 -4
  11. package/components/banner/banner.js.map +1 -1
  12. package/components/banner/themes/banner.base.css.js +1 -1
  13. package/components/banner/themes/banner.base.css.js.map +1 -1
  14. package/components/banner/themes/shared/banner.bootstrap.css.js +1 -1
  15. package/components/banner/themes/shared/banner.bootstrap.css.js.map +1 -1
  16. package/components/banner/themes/shared/banner.fluent.css.js +1 -1
  17. package/components/banner/themes/shared/banner.fluent.css.js.map +1 -1
  18. package/components/banner/themes/shared/banner.indigo.css.js +1 -1
  19. package/components/banner/themes/shared/banner.indigo.css.js.map +1 -1
  20. package/components/banner/themes/shared/banner.material.css.js +1 -1
  21. package/components/banner/themes/shared/banner.material.css.js.map +1 -1
  22. package/components/button/button-base.js +1 -1
  23. package/components/button/button-base.js.map +1 -1
  24. package/components/button/button.js +3 -4
  25. package/components/button/button.js.map +1 -1
  26. package/components/button/icon-button.js +3 -4
  27. package/components/button/icon-button.js.map +1 -1
  28. package/components/button/themes/button/button.base.css.js +1 -1
  29. package/components/button/themes/button/button.base.css.js.map +1 -1
  30. package/components/button/themes/button/shared/button.common.css.js +1 -1
  31. package/components/button/themes/button/shared/button.common.css.js.map +1 -1
  32. package/components/button/themes/button/shared/button.fluent.css.js +1 -1
  33. package/components/button/themes/button/shared/button.fluent.css.js.map +1 -1
  34. package/components/button/themes/button/shared/button.indigo.css.js +1 -1
  35. package/components/button/themes/button/shared/button.indigo.css.js.map +1 -1
  36. package/components/button/themes/icon-button/icon-button.base.css.js +1 -1
  37. package/components/button/themes/icon-button/icon-button.base.css.js.map +1 -1
  38. package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.js +1 -1
  39. package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.js.map +1 -1
  40. package/components/button/themes/icon-button/shared/icon-button.fluent.css.js +1 -1
  41. package/components/button/themes/icon-button/shared/icon-button.fluent.css.js.map +1 -1
  42. package/components/button/themes/icon-button/shared/icon-button.indigo.css.js +1 -1
  43. package/components/button/themes/icon-button/shared/icon-button.indigo.css.js.map +1 -1
  44. package/components/button/themes/icon-button/shared/icon-button.material.css.js +1 -1
  45. package/components/button/themes/icon-button/shared/icon-button.material.css.js.map +1 -1
  46. package/components/button-group/button-group.js +3 -4
  47. package/components/button-group/button-group.js.map +1 -1
  48. package/components/button-group/themes/shared/button/button.bootstrap.css.js +1 -1
  49. package/components/button-group/themes/shared/button/button.bootstrap.css.js.map +1 -1
  50. package/components/button-group/themes/shared/button/button.common.css.js +1 -1
  51. package/components/button-group/themes/shared/button/button.common.css.js.map +1 -1
  52. package/components/button-group/themes/shared/button/button.indigo.css.js +1 -1
  53. package/components/button-group/themes/shared/button/button.indigo.css.js.map +1 -1
  54. package/components/button-group/toggle-button.js +4 -3
  55. package/components/button-group/toggle-button.js.map +1 -1
  56. package/components/calendar/calendar.d.ts +1 -1
  57. package/components/calendar/calendar.js +3 -4
  58. package/components/calendar/calendar.js.map +1 -1
  59. package/components/calendar/days-view/days-view.js +5 -6
  60. package/components/calendar/days-view/days-view.js.map +1 -1
  61. package/components/calendar/months-view/months-view.js +5 -6
  62. package/components/calendar/months-view/months-view.js.map +1 -1
  63. package/components/calendar/themes/calendar.base.css.js +1 -1
  64. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  65. package/components/calendar/themes/days-view.base.css.js +1 -1
  66. package/components/calendar/themes/days-view.base.css.js.map +1 -1
  67. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js +1 -1
  68. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js.map +1 -1
  69. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js +1 -1
  70. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js.map +1 -1
  71. package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js +1 -1
  72. package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js.map +1 -1
  73. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js +1 -1
  74. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js.map +1 -1
  75. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js +1 -1
  76. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js.map +1 -1
  77. package/components/calendar/themes/shared/material/calendar.material.css.js +1 -1
  78. package/components/calendar/themes/shared/material/calendar.material.css.js.map +1 -1
  79. package/components/calendar/themes/year-month-view.base.css.js +1 -1
  80. package/components/calendar/themes/year-month-view.base.css.js.map +1 -1
  81. package/components/calendar/years-view/years-view.js +5 -6
  82. package/components/calendar/years-view/years-view.js.map +1 -1
  83. package/components/card/card.actions.js +3 -4
  84. package/components/card/card.actions.js.map +1 -1
  85. package/components/card/card.content.js +3 -4
  86. package/components/card/card.content.js.map +1 -1
  87. package/components/card/card.header.js +3 -4
  88. package/components/card/card.header.js.map +1 -1
  89. package/components/card/card.js +3 -4
  90. package/components/card/card.js.map +1 -1
  91. package/components/card/card.media.js +3 -4
  92. package/components/card/card.media.js.map +1 -1
  93. package/components/card/themes/card.actions.base.css.js +1 -1
  94. package/components/card/themes/card.actions.base.css.js.map +1 -1
  95. package/components/card/themes/card.content.base.css.js +1 -1
  96. package/components/card/themes/card.content.base.css.js.map +1 -1
  97. package/components/card/themes/card.header.base.css.js +1 -1
  98. package/components/card/themes/card.header.base.css.js.map +1 -1
  99. package/components/card/themes/shared/actions/card.actions.bootstrap.css.js +1 -1
  100. package/components/card/themes/shared/actions/card.actions.bootstrap.css.js.map +1 -1
  101. package/components/card/themes/shared/actions/card.actions.indigo.css.js +1 -1
  102. package/components/card/themes/shared/actions/card.actions.indigo.css.js.map +1 -1
  103. package/components/card/themes/shared/container/card.bootstrap.css.js +1 -1
  104. package/components/card/themes/shared/container/card.bootstrap.css.js.map +1 -1
  105. package/components/card/themes/shared/container/card.indigo.css.js +1 -1
  106. package/components/card/themes/shared/container/card.indigo.css.js.map +1 -1
  107. package/components/card/themes/shared/content/card.content.bootstrap.css.js +1 -1
  108. package/components/card/themes/shared/content/card.content.bootstrap.css.js.map +1 -1
  109. package/components/card/themes/shared/header/card.header.fluent.css.js +1 -1
  110. package/components/card/themes/shared/header/card.header.fluent.css.js.map +1 -1
  111. package/components/card/themes/shared/header/card.header.indigo.css.js +1 -1
  112. package/components/card/themes/shared/header/card.header.indigo.css.js.map +1 -1
  113. package/components/carousel/carousel-indicator-container.js +3 -4
  114. package/components/carousel/carousel-indicator-container.js.map +1 -1
  115. package/components/carousel/carousel-indicator.js +3 -4
  116. package/components/carousel/carousel-indicator.js.map +1 -1
  117. package/components/carousel/carousel-slide.js +3 -4
  118. package/components/carousel/carousel-slide.js.map +1 -1
  119. package/components/carousel/carousel.js +3 -7
  120. package/components/carousel/carousel.js.map +1 -1
  121. package/components/carousel/themes/carousel.base.css.js +1 -1
  122. package/components/carousel/themes/carousel.base.css.js.map +1 -1
  123. package/components/carousel/themes/shared/carousel.indigo.css.js +1 -1
  124. package/components/carousel/themes/shared/carousel.indigo.css.js.map +1 -1
  125. package/components/chat/chat-input.d.ts +91 -0
  126. package/components/chat/chat-input.js +263 -0
  127. package/components/chat/chat-input.js.map +1 -0
  128. package/components/chat/chat-message.d.ts +48 -0
  129. package/components/chat/chat-message.js +199 -0
  130. package/components/chat/chat-message.js.map +1 -0
  131. package/components/chat/chat-state.d.ts +130 -0
  132. package/components/chat/chat-state.js +180 -0
  133. package/components/chat/chat-state.js.map +1 -0
  134. package/components/chat/chat.d.ts +151 -0
  135. package/components/chat/chat.js +325 -0
  136. package/components/chat/chat.js.map +1 -0
  137. package/components/chat/extras/markdown-renderer.d.ts +26 -0
  138. package/components/chat/extras/markdown-renderer.js +49 -0
  139. package/components/chat/extras/markdown-renderer.js.map +1 -0
  140. package/components/chat/message-attachments.d.ts +56 -0
  141. package/components/chat/message-attachments.js +132 -0
  142. package/components/chat/message-attachments.js.map +1 -0
  143. package/components/chat/themes/attachments.d.ts +2 -0
  144. package/components/chat/themes/attachments.js +14 -0
  145. package/components/chat/themes/attachments.js.map +1 -0
  146. package/components/chat/themes/chat.base.css.d.ts +1 -0
  147. package/components/chat/themes/chat.base.css.js +3 -0
  148. package/components/chat/themes/chat.base.css.js.map +1 -0
  149. package/components/chat/themes/dark/chat.bootstrap.css.d.ts +1 -0
  150. package/components/chat/themes/dark/chat.bootstrap.css.js +3 -0
  151. package/components/chat/themes/dark/chat.bootstrap.css.js.map +1 -0
  152. package/components/chat/themes/dark/chat.fluent.css.d.ts +1 -0
  153. package/components/chat/themes/dark/chat.fluent.css.js +3 -0
  154. package/components/chat/themes/dark/chat.fluent.css.js.map +1 -0
  155. package/components/chat/themes/dark/chat.indigo.css.d.ts +1 -0
  156. package/components/chat/themes/dark/chat.indigo.css.js +3 -0
  157. package/components/chat/themes/dark/chat.indigo.css.js.map +1 -0
  158. package/components/chat/themes/dark/chat.material.css.d.ts +1 -0
  159. package/components/chat/themes/dark/chat.material.css.js +3 -0
  160. package/components/chat/themes/dark/chat.material.css.js.map +1 -0
  161. package/components/chat/themes/input.base.css.d.ts +1 -0
  162. package/components/chat/themes/input.base.css.js +3 -0
  163. package/components/chat/themes/input.base.css.js.map +1 -0
  164. package/components/chat/themes/input.d.ts +2 -0
  165. package/components/chat/themes/input.js +35 -0
  166. package/components/chat/themes/input.js.map +1 -0
  167. package/components/chat/themes/light/chat.bootstrap.css.d.ts +1 -0
  168. package/components/chat/themes/light/chat.bootstrap.css.js +3 -0
  169. package/components/chat/themes/light/chat.bootstrap.css.js.map +1 -0
  170. package/components/chat/themes/light/chat.fluent.css.d.ts +1 -0
  171. package/components/chat/themes/light/chat.fluent.css.js +3 -0
  172. package/components/chat/themes/light/chat.fluent.css.js.map +1 -0
  173. package/components/chat/themes/light/chat.indigo.css.d.ts +1 -0
  174. package/components/chat/themes/light/chat.indigo.css.js +3 -0
  175. package/components/chat/themes/light/chat.indigo.css.js.map +1 -0
  176. package/components/chat/themes/light/chat.material.css.d.ts +1 -0
  177. package/components/chat/themes/light/chat.material.css.js +3 -0
  178. package/components/chat/themes/light/chat.material.css.js.map +1 -0
  179. package/components/chat/themes/light/chat.shared.css.d.ts +1 -0
  180. package/components/chat/themes/light/chat.shared.css.js +3 -0
  181. package/components/chat/themes/light/chat.shared.css.js.map +1 -0
  182. package/components/chat/themes/message-attachments.base.css.d.ts +1 -0
  183. package/components/chat/themes/message-attachments.base.css.js +3 -0
  184. package/components/chat/themes/message-attachments.base.css.js.map +1 -0
  185. package/components/chat/themes/message.base.css.d.ts +1 -0
  186. package/components/chat/themes/message.base.css.js +3 -0
  187. package/components/chat/themes/message.base.css.js.map +1 -0
  188. package/components/chat/themes/message.d.ts +2 -0
  189. package/components/chat/themes/message.js +28 -0
  190. package/components/chat/themes/message.js.map +1 -0
  191. package/components/chat/themes/shared/chat-message/chat-message.bootstrap.css.d.ts +1 -0
  192. package/components/chat/themes/shared/chat-message/chat-message.bootstrap.css.js +3 -0
  193. package/components/chat/themes/shared/chat-message/chat-message.bootstrap.css.js.map +1 -0
  194. package/components/chat/themes/shared/chat-message/chat-message.common.css.d.ts +1 -0
  195. package/components/chat/themes/shared/chat-message/chat-message.common.css.js +3 -0
  196. package/components/chat/themes/shared/chat-message/chat-message.common.css.js.map +1 -0
  197. package/components/chat/themes/shared/chat-message/chat-message.fluent.css.d.ts +1 -0
  198. package/components/chat/themes/shared/chat-message/chat-message.fluent.css.js +3 -0
  199. package/components/chat/themes/shared/chat-message/chat-message.fluent.css.js.map +1 -0
  200. package/components/chat/themes/shared/chat-message/chat-message.indigo.css.d.ts +1 -0
  201. package/components/chat/themes/shared/chat-message/chat-message.indigo.css.js +3 -0
  202. package/components/chat/themes/shared/chat-message/chat-message.indigo.css.js.map +1 -0
  203. package/components/chat/themes/shared/chat.bootstrap.css.d.ts +1 -0
  204. package/components/chat/themes/shared/chat.bootstrap.css.js +3 -0
  205. package/components/chat/themes/shared/chat.bootstrap.css.js.map +1 -0
  206. package/components/chat/themes/shared/chat.common.css.d.ts +1 -0
  207. package/components/chat/themes/shared/chat.common.css.js +3 -0
  208. package/components/chat/themes/shared/chat.common.css.js.map +1 -0
  209. package/components/chat/themes/shared/chat.fluent.css.d.ts +1 -0
  210. package/components/chat/themes/shared/chat.fluent.css.js +3 -0
  211. package/components/chat/themes/shared/chat.fluent.css.js.map +1 -0
  212. package/components/chat/themes/shared/chat.indigo.css.d.ts +1 -0
  213. package/components/chat/themes/shared/chat.indigo.css.js +3 -0
  214. package/components/chat/themes/shared/chat.indigo.css.js.map +1 -0
  215. package/components/chat/themes/shared/input/input.bootstrap.css.d.ts +1 -0
  216. package/components/chat/themes/shared/input/input.bootstrap.css.js +3 -0
  217. package/components/chat/themes/shared/input/input.bootstrap.css.js.map +1 -0
  218. package/components/chat/themes/shared/input/input.common.css.d.ts +1 -0
  219. package/components/chat/themes/shared/input/input.common.css.js +3 -0
  220. package/components/chat/themes/shared/input/input.common.css.js.map +1 -0
  221. package/components/chat/themes/shared/input/input.fluent.css.d.ts +1 -0
  222. package/components/chat/themes/shared/input/input.fluent.css.js +3 -0
  223. package/components/chat/themes/shared/input/input.fluent.css.js.map +1 -0
  224. package/components/chat/themes/shared/input/input.indigo.css.d.ts +1 -0
  225. package/components/chat/themes/shared/input/input.indigo.css.js +3 -0
  226. package/components/chat/themes/shared/input/input.indigo.css.js.map +1 -0
  227. package/components/chat/themes/shared/input/input.material.css.d.ts +1 -0
  228. package/components/chat/themes/shared/input/input.material.css.js +3 -0
  229. package/components/chat/themes/shared/input/input.material.css.js.map +1 -0
  230. package/components/chat/themes/shared/message-attachments/message-attachments.common.css.d.ts +1 -0
  231. package/components/chat/themes/shared/message-attachments/message-attachments.common.css.js +3 -0
  232. package/components/chat/themes/shared/message-attachments/message-attachments.common.css.js.map +1 -0
  233. package/components/chat/themes/shared/message-attachments/message-attachments.indigo.css.d.ts +1 -0
  234. package/components/chat/themes/shared/message-attachments/message-attachments.indigo.css.js +3 -0
  235. package/components/chat/themes/shared/message-attachments/message-attachments.indigo.css.js.map +1 -0
  236. package/components/chat/themes/themes.d.ts +2 -0
  237. package/components/chat/themes/themes.js +49 -0
  238. package/components/chat/themes/themes.js.map +1 -0
  239. package/components/chat/types.d.ts +149 -0
  240. package/components/chat/types.js +2 -0
  241. package/components/chat/types.js.map +1 -0
  242. package/components/chat/utils.d.ts +16 -0
  243. package/components/chat/utils.js +82 -0
  244. package/components/chat/utils.js.map +1 -0
  245. package/components/checkbox/checkbox-base.d.ts +1 -1
  246. package/components/checkbox/checkbox.js +3 -4
  247. package/components/checkbox/checkbox.js.map +1 -1
  248. package/components/checkbox/switch.js +3 -4
  249. package/components/checkbox/switch.js.map +1 -1
  250. package/components/checkbox/themes/checkbox.base.css.js +1 -1
  251. package/components/checkbox/themes/checkbox.base.css.js.map +1 -1
  252. package/components/checkbox/themes/dark/switch/switch.bootstrap.css.js +1 -1
  253. package/components/checkbox/themes/dark/switch/switch.bootstrap.css.js.map +1 -1
  254. package/components/checkbox/themes/dark/switch/switch.fluent.css.js +1 -1
  255. package/components/checkbox/themes/dark/switch/switch.fluent.css.js.map +1 -1
  256. package/components/checkbox/themes/dark/switch/switch.indigo.css.js +1 -1
  257. package/components/checkbox/themes/dark/switch/switch.indigo.css.js.map +1 -1
  258. package/components/checkbox/themes/dark/switch/switch.material.css.js +1 -1
  259. package/components/checkbox/themes/dark/switch/switch.material.css.js.map +1 -1
  260. package/components/checkbox/themes/light/switch/switch.bootstrap.css.js +1 -1
  261. package/components/checkbox/themes/light/switch/switch.bootstrap.css.js.map +1 -1
  262. package/components/checkbox/themes/light/switch/switch.fluent.css.js +1 -1
  263. package/components/checkbox/themes/light/switch/switch.fluent.css.js.map +1 -1
  264. package/components/checkbox/themes/light/switch/switch.indigo.css.js +1 -1
  265. package/components/checkbox/themes/light/switch/switch.indigo.css.js.map +1 -1
  266. package/components/checkbox/themes/light/switch/switch.material.css.js +1 -1
  267. package/components/checkbox/themes/light/switch/switch.material.css.js.map +1 -1
  268. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
  269. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
  270. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js +1 -1
  271. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js.map +1 -1
  272. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js +1 -1
  273. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js.map +1 -1
  274. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js +1 -1
  275. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js.map +1 -1
  276. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js +1 -1
  277. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js.map +1 -1
  278. package/components/checkbox/themes/shared/switch/switch.common.css.js +1 -1
  279. package/components/checkbox/themes/shared/switch/switch.common.css.js.map +1 -1
  280. package/components/checkbox/themes/shared/switch/switch.fluent.css.js +1 -1
  281. package/components/checkbox/themes/shared/switch/switch.fluent.css.js.map +1 -1
  282. package/components/checkbox/themes/shared/switch/switch.indigo.css.js +1 -1
  283. package/components/checkbox/themes/shared/switch/switch.indigo.css.js.map +1 -1
  284. package/components/checkbox/themes/switch.base.css.js +1 -1
  285. package/components/checkbox/themes/switch.base.css.js.map +1 -1
  286. package/components/chip/chip.js +3 -4
  287. package/components/chip/chip.js.map +1 -1
  288. package/components/chip/themes/chip.base.css.js +1 -1
  289. package/components/chip/themes/chip.base.css.js.map +1 -1
  290. package/components/chip/themes/shared/chip.indigo.css.js +1 -1
  291. package/components/chip/themes/shared/chip.indigo.css.js.map +1 -1
  292. package/components/combo/combo-header.js +3 -4
  293. package/components/combo/combo-header.js.map +1 -1
  294. package/components/combo/combo-item.js +3 -4
  295. package/components/combo/combo-item.js.map +1 -1
  296. package/components/combo/combo-list.js +2 -3
  297. package/components/combo/combo-list.js.map +1 -1
  298. package/components/combo/combo.js +4 -3
  299. package/components/combo/combo.js.map +1 -1
  300. package/components/combo/controllers/navigation.js +1 -1
  301. package/components/combo/controllers/navigation.js.map +1 -1
  302. package/components/combo/themes/combo-item.base.css.js +1 -1
  303. package/components/combo/themes/combo-item.base.css.js.map +1 -1
  304. package/components/combo/themes/combo.base.css.js +1 -1
  305. package/components/combo/themes/combo.base.css.js.map +1 -1
  306. package/components/combo/themes/shared/combo.bootstrap.css.js +1 -1
  307. package/components/combo/themes/shared/combo.bootstrap.css.js.map +1 -1
  308. package/components/combo/themes/shared/combo.common.css.js +1 -1
  309. package/components/combo/themes/shared/combo.common.css.js.map +1 -1
  310. package/components/combo/themes/shared/combo.fluent.css.js +1 -1
  311. package/components/combo/themes/shared/combo.fluent.css.js.map +1 -1
  312. package/components/combo/themes/shared/combo.indigo.css.js +1 -1
  313. package/components/combo/themes/shared/combo.indigo.css.js.map +1 -1
  314. package/components/combo/themes/shared/combo.material.css.js +1 -1
  315. package/components/combo/themes/shared/combo.material.css.js.map +1 -1
  316. package/components/common/context.d.ts +8 -1
  317. package/components/common/context.js +3 -1
  318. package/components/common/context.js.map +1 -1
  319. package/components/common/controllers/focus-ring.js +5 -5
  320. package/components/common/controllers/focus-ring.js.map +1 -1
  321. package/components/common/controllers/key-bindings.js +7 -6
  322. package/components/common/controllers/key-bindings.js.map +1 -1
  323. package/components/common/definitions/defineAllComponents.js +2 -0
  324. package/components/common/definitions/defineAllComponents.js.map +1 -1
  325. package/components/common/i18n/chat.resources.d.ts +11 -0
  326. package/components/common/i18n/chat.resources.js +11 -0
  327. package/components/common/i18n/chat.resources.js.map +1 -0
  328. package/components/common/mixins/forms/associated.js +1 -1
  329. package/components/common/mixins/forms/associated.js.map +1 -1
  330. package/components/common/mixins/forms/form-value.js +1 -1
  331. package/components/common/mixins/forms/form-value.js.map +1 -1
  332. package/components/common/part-map.d.ts +1 -1
  333. package/components/common/util.d.ts +22 -0
  334. package/components/common/util.js +84 -2
  335. package/components/common/util.js.map +1 -1
  336. package/components/date-picker/date-picker.js +7 -6
  337. package/components/date-picker/date-picker.js.map +1 -1
  338. package/components/date-picker/themes/date-picker.base.css.js +1 -1
  339. package/components/date-picker/themes/date-picker.base.css.js.map +1 -1
  340. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js +1 -1
  341. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js.map +1 -1
  342. package/components/date-picker/themes/shared/date-picker.common.css.js +1 -1
  343. package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -1
  344. package/components/date-picker/themes/shared/date-picker.fluent.css.js +1 -1
  345. package/components/date-picker/themes/shared/date-picker.fluent.css.js.map +1 -1
  346. package/components/date-picker/themes/shared/date-picker.indigo.css.js +1 -1
  347. package/components/date-picker/themes/shared/date-picker.indigo.css.js.map +1 -1
  348. package/components/date-range-picker/date-range-picker.base.css.js +1 -1
  349. package/components/date-range-picker/date-range-picker.base.css.js.map +1 -1
  350. package/components/date-range-picker/date-range-picker.d.ts +1 -1
  351. package/components/date-range-picker/date-range-picker.js +5 -5
  352. package/components/date-range-picker/date-range-picker.js.map +1 -1
  353. package/components/date-range-picker/predefined-ranges-area.base.css.js +1 -1
  354. package/components/date-range-picker/predefined-ranges-area.base.css.js.map +1 -1
  355. package/components/date-range-picker/predefined-ranges-area.js +3 -4
  356. package/components/date-range-picker/predefined-ranges-area.js.map +1 -1
  357. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js +1 -1
  358. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js.map +1 -1
  359. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js +1 -1
  360. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js.map +1 -1
  361. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js +1 -1
  362. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js.map +1 -1
  363. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js +1 -1
  364. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js.map +1 -1
  365. package/components/date-time-input/date-time-input.js +3 -4
  366. package/components/date-time-input/date-time-input.js.map +1 -1
  367. package/components/date-time-input/date-util.js +11 -11
  368. package/components/date-time-input/date-util.js.map +1 -1
  369. package/components/dialog/dialog.js +3 -4
  370. package/components/dialog/dialog.js.map +1 -1
  371. package/components/dialog/themes/dialog.base.css.js +1 -1
  372. package/components/dialog/themes/dialog.base.css.js.map +1 -1
  373. package/components/dialog/themes/shared/dialog.bootstrap.css.js +1 -1
  374. package/components/dialog/themes/shared/dialog.bootstrap.css.js.map +1 -1
  375. package/components/dialog/themes/shared/dialog.common.css.js +1 -1
  376. package/components/dialog/themes/shared/dialog.common.css.js.map +1 -1
  377. package/components/dialog/themes/shared/dialog.fluent.css.js +1 -1
  378. package/components/dialog/themes/shared/dialog.fluent.css.js.map +1 -1
  379. package/components/dialog/themes/shared/dialog.indigo.css.js +1 -1
  380. package/components/dialog/themes/shared/dialog.indigo.css.js.map +1 -1
  381. package/components/divider/divider.js +3 -4
  382. package/components/divider/divider.js.map +1 -1
  383. package/components/dropdown/dropdown-group.js +3 -4
  384. package/components/dropdown/dropdown-group.js.map +1 -1
  385. package/components/dropdown/dropdown-header.js +3 -4
  386. package/components/dropdown/dropdown-header.js.map +1 -1
  387. package/components/dropdown/dropdown-item.js +3 -4
  388. package/components/dropdown/dropdown-item.js.map +1 -1
  389. package/components/dropdown/dropdown.js +4 -3
  390. package/components/dropdown/dropdown.js.map +1 -1
  391. package/components/dropdown/themes/dropdown-group.base.css.js +1 -1
  392. package/components/dropdown/themes/dropdown-group.base.css.js.map +1 -1
  393. package/components/dropdown/themes/dropdown-item.base.css.js +1 -1
  394. package/components/dropdown/themes/dropdown-item.base.css.js.map +1 -1
  395. package/components/dropdown/themes/shared/dropdown.indigo.css.js +1 -1
  396. package/components/dropdown/themes/shared/dropdown.indigo.css.js.map +1 -1
  397. package/components/dropdown/themes/shared/group/dropdown-group.fluent.css.js +1 -1
  398. package/components/dropdown/themes/shared/group/dropdown-group.fluent.css.js.map +1 -1
  399. package/components/dropdown/themes/shared/header/dropdown-header.common.css.js +1 -1
  400. package/components/dropdown/themes/shared/header/dropdown-header.common.css.js.map +1 -1
  401. package/components/dropdown/themes/shared/header/dropdown-header.indigo.css.js +1 -1
  402. package/components/dropdown/themes/shared/header/dropdown-header.indigo.css.js.map +1 -1
  403. package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js +1 -1
  404. package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js.map +1 -1
  405. package/components/expansion-panel/expansion-panel.js +3 -5
  406. package/components/expansion-panel/expansion-panel.js.map +1 -1
  407. package/components/expansion-panel/themes/expansion-panel.base.css.js +1 -1
  408. package/components/expansion-panel/themes/expansion-panel.base.css.js.map +1 -1
  409. package/components/expansion-panel/themes/shared/expansion-panel.indigo.css.js +1 -1
  410. package/components/expansion-panel/themes/shared/expansion-panel.indigo.css.js.map +1 -1
  411. package/components/file-input/file-input.d.ts +0 -4
  412. package/components/file-input/file-input.js +15 -19
  413. package/components/file-input/file-input.js.map +1 -1
  414. package/components/file-input/themes/shared/file-input.bootstrap.css.js +1 -1
  415. package/components/file-input/themes/shared/file-input.bootstrap.css.js.map +1 -1
  416. package/components/file-input/themes/shared/file-input.material.css.js +1 -1
  417. package/components/file-input/themes/shared/file-input.material.css.js.map +1 -1
  418. package/components/focus-trap/focus-trap.js +7 -8
  419. package/components/focus-trap/focus-trap.js.map +1 -1
  420. package/components/icon/icon-references.js +208 -0
  421. package/components/icon/icon-references.js.map +1 -1
  422. package/components/icon/icon-state.broadcast.js +1 -1
  423. package/components/icon/icon-state.broadcast.js.map +1 -1
  424. package/components/icon/icon.js +3 -4
  425. package/components/icon/icon.js.map +1 -1
  426. package/components/icon/internal-icons-lib.js +105 -0
  427. package/components/icon/internal-icons-lib.js.map +1 -1
  428. package/components/input/input-base.js +4 -3
  429. package/components/input/input-base.js.map +1 -1
  430. package/components/input/input.d.ts +0 -4
  431. package/components/input/input.js +11 -14
  432. package/components/input/input.js.map +1 -1
  433. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  434. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  435. package/components/input/themes/shared/input.common.css.js +1 -1
  436. package/components/input/themes/shared/input.common.css.js.map +1 -1
  437. package/components/input/themes/shared/input.fluent.css.js +1 -1
  438. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  439. package/components/input/themes/shared/input.indigo.css.js +1 -1
  440. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  441. package/components/input/themes/shared/input.material.css.js +1 -1
  442. package/components/input/themes/shared/input.material.css.js.map +1 -1
  443. package/components/list/list-header.js +3 -4
  444. package/components/list/list-header.js.map +1 -1
  445. package/components/list/list-item.js +3 -4
  446. package/components/list/list-item.js.map +1 -1
  447. package/components/list/list.js +3 -4
  448. package/components/list/list.js.map +1 -1
  449. package/components/list/themes/dark/container/list.indigo.css.js +1 -1
  450. package/components/list/themes/dark/container/list.indigo.css.js.map +1 -1
  451. package/components/list/themes/dark/header/list-header.indigo.css.js +1 -1
  452. package/components/list/themes/dark/header/list-header.indigo.css.js.map +1 -1
  453. package/components/list/themes/dark/item/list-item.indigo.css.js +1 -1
  454. package/components/list/themes/dark/item/list-item.indigo.css.js.map +1 -1
  455. package/components/list/themes/header.base.css.js +1 -1
  456. package/components/list/themes/header.base.css.js.map +1 -1
  457. package/components/list/themes/item.base.css.js +1 -1
  458. package/components/list/themes/item.base.css.js.map +1 -1
  459. package/components/list/themes/light/container/list.indigo.css.js +1 -1
  460. package/components/list/themes/light/container/list.indigo.css.js.map +1 -1
  461. package/components/list/themes/light/header/list-header.indigo.css.js +1 -1
  462. package/components/list/themes/light/header/list-header.indigo.css.js.map +1 -1
  463. package/components/list/themes/light/item/list-item.indigo.css.js +1 -1
  464. package/components/list/themes/light/item/list-item.indigo.css.js.map +1 -1
  465. package/components/list/themes/shared/header/list-header.indigo.css.js +1 -1
  466. package/components/list/themes/shared/header/list-header.indigo.css.js.map +1 -1
  467. package/components/list/themes/shared/item/list-item.indigo.css.js +1 -1
  468. package/components/list/themes/shared/item/list-item.indigo.css.js.map +1 -1
  469. package/components/mask-input/mask-input.js +2 -3
  470. package/components/mask-input/mask-input.js.map +1 -1
  471. package/components/nav-drawer/nav-drawer-header-item.js +3 -4
  472. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  473. package/components/nav-drawer/nav-drawer-item.js +3 -4
  474. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  475. package/components/nav-drawer/nav-drawer.js +3 -4
  476. package/components/nav-drawer/nav-drawer.js.map +1 -1
  477. package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js +1 -1
  478. package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js.map +1 -1
  479. package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js +1 -1
  480. package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js.map +1 -1
  481. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js +1 -1
  482. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js.map +1 -1
  483. package/components/nav-drawer/themes/shared/header-item/header-item.bootstrap.css.js +1 -1
  484. package/components/nav-drawer/themes/shared/header-item/header-item.bootstrap.css.js.map +1 -1
  485. package/components/nav-drawer/themes/shared/header-item/header-item.fluent.css.js +1 -1
  486. package/components/nav-drawer/themes/shared/header-item/header-item.fluent.css.js.map +1 -1
  487. package/components/nav-drawer/themes/shared/header-item/header-item.indigo.css.js +1 -1
  488. package/components/nav-drawer/themes/shared/header-item/header-item.indigo.css.js.map +1 -1
  489. package/components/nav-drawer/themes/shared/header-item/header-item.material.css.js +1 -1
  490. package/components/nav-drawer/themes/shared/header-item/header-item.material.css.js.map +1 -1
  491. package/components/nav-drawer/themes/shared/item/item.bootstrap.css.js +1 -1
  492. package/components/nav-drawer/themes/shared/item/item.bootstrap.css.js.map +1 -1
  493. package/components/nav-drawer/themes/shared/item/item.fluent.css.js +1 -1
  494. package/components/nav-drawer/themes/shared/item/item.fluent.css.js.map +1 -1
  495. package/components/nav-drawer/themes/shared/item/item.indigo.css.js +1 -1
  496. package/components/nav-drawer/themes/shared/item/item.indigo.css.js.map +1 -1
  497. package/components/nav-drawer/themes/shared/item/item.material.css.js +1 -1
  498. package/components/nav-drawer/themes/shared/item/item.material.css.js.map +1 -1
  499. package/components/navbar/navbar.js +3 -4
  500. package/components/navbar/navbar.js.map +1 -1
  501. package/components/navbar/themes/navbar.base.css.js +1 -1
  502. package/components/navbar/themes/navbar.base.css.js.map +1 -1
  503. package/components/navbar/themes/shared/navbar.bootstrap.css.js +1 -1
  504. package/components/navbar/themes/shared/navbar.bootstrap.css.js.map +1 -1
  505. package/components/navbar/themes/shared/navbar.indigo.css.js +1 -1
  506. package/components/navbar/themes/shared/navbar.indigo.css.js.map +1 -1
  507. package/components/popover/popover.js +9 -10
  508. package/components/popover/popover.js.map +1 -1
  509. package/components/progress/circular-gradient.js +2 -3
  510. package/components/progress/circular-gradient.js.map +1 -1
  511. package/components/progress/circular-progress.js +3 -4
  512. package/components/progress/circular-progress.js.map +1 -1
  513. package/components/progress/linear-progress.js +3 -4
  514. package/components/progress/linear-progress.js.map +1 -1
  515. package/components/progress/themes/linear/shared/linear.progress.fluent.css.js +1 -1
  516. package/components/progress/themes/linear/shared/linear.progress.fluent.css.js.map +1 -1
  517. package/components/progress/themes/linear/shared/linear.progress.indigo.css.js +1 -1
  518. package/components/progress/themes/linear/shared/linear.progress.indigo.css.js.map +1 -1
  519. package/components/radio/radio.js +3 -4
  520. package/components/radio/radio.js.map +1 -1
  521. package/components/radio/themes/shared/radio.bootstrap.css.js +1 -1
  522. package/components/radio/themes/shared/radio.bootstrap.css.js.map +1 -1
  523. package/components/radio/themes/shared/radio.fluent.css.js +1 -1
  524. package/components/radio/themes/shared/radio.fluent.css.js.map +1 -1
  525. package/components/radio/themes/shared/radio.indigo.css.js +1 -1
  526. package/components/radio/themes/shared/radio.indigo.css.js.map +1 -1
  527. package/components/radio/themes/shared/radio.material.css.js +1 -1
  528. package/components/radio/themes/shared/radio.material.css.js.map +1 -1
  529. package/components/radio-group/radio-group.js +3 -4
  530. package/components/radio-group/radio-group.js.map +1 -1
  531. package/components/radio-group/themes/radio-group.base.css.js +1 -1
  532. package/components/radio-group/themes/radio-group.base.css.js.map +1 -1
  533. package/components/radio-group/themes/shared/radio-group.bootstrap.css.js +1 -1
  534. package/components/radio-group/themes/shared/radio-group.bootstrap.css.js.map +1 -1
  535. package/components/radio-group/themes/shared/radio-group.fluent.css.js +1 -1
  536. package/components/radio-group/themes/shared/radio-group.fluent.css.js.map +1 -1
  537. package/components/radio-group/themes/shared/radio-group.indigo.css.js +1 -1
  538. package/components/radio-group/themes/shared/radio-group.indigo.css.js.map +1 -1
  539. package/components/radio-group/themes/shared/radio-group.material.css.js +1 -1
  540. package/components/radio-group/themes/shared/radio-group.material.css.js.map +1 -1
  541. package/components/rating/rating-symbol.js +3 -4
  542. package/components/rating/rating-symbol.js.map +1 -1
  543. package/components/rating/rating.js +3 -5
  544. package/components/rating/rating.js.map +1 -1
  545. package/components/rating/themes/rating.base.css.js +1 -1
  546. package/components/rating/themes/rating.base.css.js.map +1 -1
  547. package/components/rating/themes/shared/rating.indigo.css.js +1 -1
  548. package/components/rating/themes/shared/rating.indigo.css.js.map +1 -1
  549. package/components/resize-container/resize-container.d.ts +1 -1
  550. package/components/resize-container/resize-container.js +3 -4
  551. package/components/resize-container/resize-container.js.map +1 -1
  552. package/components/ripple/ripple.js +3 -4
  553. package/components/ripple/ripple.js.map +1 -1
  554. package/components/select/select-group.js +3 -4
  555. package/components/select/select-group.js.map +1 -1
  556. package/components/select/select-header.js +3 -4
  557. package/components/select/select-header.js.map +1 -1
  558. package/components/select/select-item.js +3 -4
  559. package/components/select/select-item.js.map +1 -1
  560. package/components/select/select.js +4 -4
  561. package/components/select/select.js.map +1 -1
  562. package/components/select/themes/dark/select.bootstrap.css.js +1 -1
  563. package/components/select/themes/dark/select.bootstrap.css.js.map +1 -1
  564. package/components/select/themes/light/select.bootstrap.css.js +1 -1
  565. package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
  566. package/components/select/themes/shared/select.bootstrap.css.js +1 -1
  567. package/components/select/themes/shared/select.bootstrap.css.js.map +1 -1
  568. package/components/select/themes/shared/select.common.css.js +1 -1
  569. package/components/select/themes/shared/select.common.css.js.map +1 -1
  570. package/components/select/themes/shared/select.fluent.css.js +1 -1
  571. package/components/select/themes/shared/select.fluent.css.js.map +1 -1
  572. package/components/select/themes/shared/select.indigo.css.js +1 -1
  573. package/components/select/themes/shared/select.indigo.css.js.map +1 -1
  574. package/components/select/themes/shared/select.material.css.js +1 -1
  575. package/components/select/themes/shared/select.material.css.js.map +1 -1
  576. package/components/slider/range-slider.js +2 -3
  577. package/components/slider/range-slider.js.map +1 -1
  578. package/components/slider/slider-base.js +1 -2
  579. package/components/slider/slider-base.js.map +1 -1
  580. package/components/slider/slider-label.js +7 -8
  581. package/components/slider/slider-label.js.map +1 -1
  582. package/components/slider/slider.js +2 -3
  583. package/components/slider/slider.js.map +1 -1
  584. package/components/slider/themes/shared/slider.common.css.js +1 -1
  585. package/components/slider/themes/shared/slider.common.css.js.map +1 -1
  586. package/components/slider/themes/slider.base.css.js +1 -1
  587. package/components/slider/themes/slider.base.css.js.map +1 -1
  588. package/components/snackbar/snackbar.js +3 -4
  589. package/components/snackbar/snackbar.js.map +1 -1
  590. package/components/snackbar/themes/shared/snackbar.indigo.css.js +1 -1
  591. package/components/snackbar/themes/shared/snackbar.indigo.css.js.map +1 -1
  592. package/components/snackbar/themes/snackbar.base.css.js +1 -1
  593. package/components/snackbar/themes/snackbar.base.css.js.map +1 -1
  594. package/components/stepper/step.d.ts +1 -1
  595. package/components/stepper/step.js +3 -4
  596. package/components/stepper/step.js.map +1 -1
  597. package/components/stepper/stepper.js +3 -4
  598. package/components/stepper/stepper.js.map +1 -1
  599. package/components/tabs/tab-dom.js +1 -1
  600. package/components/tabs/tab-dom.js.map +1 -1
  601. package/components/tabs/tab.js +4 -5
  602. package/components/tabs/tab.js.map +1 -1
  603. package/components/tabs/tabs.js +3 -5
  604. package/components/tabs/tabs.js.map +1 -1
  605. package/components/tabs/themes/shared/tab/tab.bootstrap.css.js +1 -1
  606. package/components/tabs/themes/shared/tab/tab.bootstrap.css.js.map +1 -1
  607. package/components/tabs/themes/shared/tab/tab.fluent.css.js +1 -1
  608. package/components/tabs/themes/shared/tab/tab.fluent.css.js.map +1 -1
  609. package/components/tabs/themes/shared/tab/tab.indigo.css.js +1 -1
  610. package/components/tabs/themes/shared/tab/tab.indigo.css.js.map +1 -1
  611. package/components/tabs/themes/shared/tab/tab.material.css.js +1 -1
  612. package/components/tabs/themes/shared/tab/tab.material.css.js.map +1 -1
  613. package/components/textarea/textarea.d.ts +1 -1
  614. package/components/textarea/textarea.js +4 -3
  615. package/components/textarea/textarea.js.map +1 -1
  616. package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
  617. package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
  618. package/components/textarea/themes/shared/textarea.common.css.js +1 -1
  619. package/components/textarea/themes/shared/textarea.common.css.js.map +1 -1
  620. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  621. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  622. package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
  623. package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
  624. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  625. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  626. package/components/textarea/themes/textarea.base.css.js +1 -1
  627. package/components/textarea/themes/textarea.base.css.js.map +1 -1
  628. package/components/tile-manager/resize-state.js +1 -1
  629. package/components/tile-manager/resize-state.js.map +1 -1
  630. package/components/tile-manager/themes/tile-manager.base.css.js +1 -1
  631. package/components/tile-manager/themes/tile-manager.base.css.js.map +1 -1
  632. package/components/tile-manager/tile-manager.js +4 -3
  633. package/components/tile-manager/tile-manager.js.map +1 -1
  634. package/components/tile-manager/tile.js +3 -4
  635. package/components/tile-manager/tile.js.map +1 -1
  636. package/components/toast/themes/shared/toast.bootstrap.css.js +1 -1
  637. package/components/toast/themes/shared/toast.bootstrap.css.js.map +1 -1
  638. package/components/toast/themes/shared/toast.common.css.js +1 -1
  639. package/components/toast/themes/shared/toast.common.css.js.map +1 -1
  640. package/components/toast/themes/shared/toast.fluent.css.js +1 -1
  641. package/components/toast/themes/shared/toast.fluent.css.js.map +1 -1
  642. package/components/toast/themes/toast.base.css.js +1 -1
  643. package/components/toast/themes/toast.base.css.js.map +1 -1
  644. package/components/toast/toast.js +3 -4
  645. package/components/toast/toast.js.map +1 -1
  646. package/components/tooltip/controller.js +4 -4
  647. package/components/tooltip/controller.js.map +1 -1
  648. package/components/tooltip/themes/tooltip.base.css.js +1 -1
  649. package/components/tooltip/themes/tooltip.base.css.js.map +1 -1
  650. package/components/tooltip/tooltip.js +3 -4
  651. package/components/tooltip/tooltip.js.map +1 -1
  652. package/components/tree/themes/item.base.css.js +1 -1
  653. package/components/tree/themes/item.base.css.js.map +1 -1
  654. package/components/tree/themes/shared/item.common.css.js +1 -1
  655. package/components/tree/themes/shared/item.common.css.js.map +1 -1
  656. package/components/tree/themes/shared/item.indigo.css.js +1 -1
  657. package/components/tree/themes/shared/item.indigo.css.js.map +1 -1
  658. package/components/tree/themes/shared/item.material.css.js +1 -1
  659. package/components/tree/themes/shared/item.material.css.js.map +1 -1
  660. package/components/tree/tree-item.js +3 -4
  661. package/components/tree/tree-item.js.map +1 -1
  662. package/components/tree/tree.js +7 -4
  663. package/components/tree/tree.js.map +1 -1
  664. package/components/tree/tree.navigation.js +3 -3
  665. package/components/tree/tree.navigation.js.map +1 -1
  666. package/components/tree/tree.selection.js +6 -2
  667. package/components/tree/tree.selection.js.map +1 -1
  668. package/components/validation-container/validation-container.js +3 -4
  669. package/components/validation-container/validation-container.js.map +1 -1
  670. package/custom-elements.json +38599 -36648
  671. package/extras/index.d.ts +1 -0
  672. package/extras/index.js +2 -0
  673. package/extras/index.js.map +1 -0
  674. package/igniteui-webcomponents.css-data.json +1 -1
  675. package/igniteui-webcomponents.html-data.json +1 -1
  676. package/index.d.ts +4 -0
  677. package/index.js +2 -0
  678. package/index.js.map +1 -1
  679. package/package.json +6 -2
  680. package/themes/dark/bootstrap.css +1 -1
  681. package/themes/dark/fluent.css +1 -1
  682. package/themes/dark/indigo.css +1 -1
  683. package/themes/dark/material.css +1 -1
  684. package/themes/light/bootstrap.css +1 -1
  685. package/themes/light/fluent.css +1 -1
  686. package/themes/light/indigo.css +1 -1
  687. package/themes/light/material.css +1 -1
  688. package/web-types.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"stepper.js","sourceRoot":"","sources":["../../../src/components/stepper/stepper.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\n\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { isLTR } from '../common/util.js';\nimport type {\n HorizontalTransitionAnimation,\n StepperOrientation,\n StepperStepType,\n StepperTitlePosition,\n StepperVerticalAnimation,\n} from '../types.js';\nimport IgcStepComponent from './step.js';\nimport type { IgcStepperComponentEventMap } from './stepper.common.js';\nimport { styles } from './themes/stepper/stepper.base.css.js';\nimport { styles as bootstrap } from './themes/stepper/stepper.bootstrap.css.js';\nimport { styles as fluent } from './themes/stepper/stepper.fluent.css.js';\nimport { styles as indigo } from './themes/stepper/stepper.indigo.css.js';\n\n/**\n * IgxStepper provides a wizard-like workflow by dividing content into logical steps.\n *\n * @remarks\n * The stepper component allows the user to navigate between multiple steps.\n * It supports horizontal and vertical orientation as well as keyboard navigation and provides API methods to control the active step.\n *\n * @element igc-stepper\n *\n * @slot - Renders the step components inside default slot.\n *\n * @fires igcActiveStepChanging - Emitted when the active step is about to change.\n * @fires igcActiveStepChanged - Emitted when the active step is changed.\n */\n\nexport default class IgcStepperComponent extends EventEmitterMixin<\n IgcStepperComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-stepper';\n protected static styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcStepperComponent, IgcStepComponent);\n }\n\n // biome-ignore lint/complexity/noBannedTypes: No easy fix as the callback shapes are wildly different\n private readonly keyDownHandlers: Map<string, Function> = new Map(\n Object.entries({\n Enter: this.activateStep,\n Space: this.activateStep,\n SpaceBar: this.activateStep,\n ' ': this.activateStep,\n ArrowUp: this.onArrowUpKeyDown,\n ArrowDown: this.onArrowDownKeyDown,\n ArrowLeft: this.onArrowLeftKeyDown,\n ArrowRight: this.onArrowRightKeyDown,\n Home: this.onHomeKey,\n End: this.onEndKey,\n })\n );\n\n private activeStep!: IgcStepComponent;\n private _shouldUpdateLinearState = false;\n\n /** Returns all of the stepper's steps. */\n @queryAssignedElements({ selector: 'igc-step' })\n public steps!: Array<IgcStepComponent>;\n\n /** Gets/Sets the orientation of the stepper.\n *\n * @remarks\n * Default value is `horizontal`.\n */\n @property({ reflect: true })\n public orientation: StepperOrientation = 'horizontal';\n\n /** Get/Set the type of the steps.\n *\n * @remarks\n * Default value is `full`.\n */\n @property({ reflect: true, attribute: 'step-type' })\n public stepType: StepperStepType = 'full';\n\n /**\n * Get/Set whether the stepper is linear.\n *\n * @remarks\n * If the stepper is in linear mode and if the active step is valid only then the user is able to move forward.\n */\n @property({ type: Boolean })\n public linear = false;\n\n /**\n * Get/Set whether the content is displayed above the steps.\n *\n * @remarks\n * Default value is `false` and the content is below the steps.\n */\n @property({ reflect: true, type: Boolean, attribute: 'content-top' })\n public contentTop = false;\n\n /**\n * The animation type when in vertical mode.\n * @attr vertical-animation\n */\n @property({ attribute: 'vertical-animation' })\n public verticalAnimation: StepperVerticalAnimation = 'grow';\n\n /**\n * The animation type when in horizontal mode.\n * @attr horizontal-animation\n */\n @property({ attribute: 'horizontal-animation' })\n public horizontalAnimation: HorizontalTransitionAnimation = 'slide';\n\n /**\n * The animation duration in either vertical or horizontal mode.\n * @attr animation-duration\n */\n @property({ attribute: 'animation-duration', type: Number })\n public animationDuration = 320;\n\n /**\n * Get/Set the position of the steps title.\n *\n * @remarks\n * The default value is auto.\n * When the stepper is horizontally orientated the title is positioned below the indicator.\n * When the stepper is horizontally orientated the title is positioned on the right side of the indicator.\n */\n @property({ reflect: false, attribute: 'title-position' })\n public titlePosition: StepperTitlePosition = 'auto';\n\n @watch('orientation', { waitUntilFirstUpdate: true })\n protected orientationChange(): void {\n this.setAttribute('aria-orientation', this.orientation);\n this.steps.forEach((step: IgcStepComponent) => {\n step.orientation = this.orientation;\n this.updateAnimation(step);\n });\n }\n\n @watch('stepType', { waitUntilFirstUpdate: true })\n protected stepTypeChange(): void {\n this.steps.forEach((step: IgcStepComponent) => {\n step.stepType = this.stepType;\n });\n }\n\n @watch('titlePosition', { waitUntilFirstUpdate: true })\n protected titlePositionChange(): void {\n this.steps.forEach((step: IgcStepComponent) => {\n step.titlePosition = this.titlePosition;\n });\n }\n\n @watch('contentTop', { waitUntilFirstUpdate: true })\n protected contentTopChange(): void {\n this.steps.forEach((step: IgcStepComponent) => {\n step.contentTop = this.contentTop;\n });\n }\n\n @watch('linear', { waitUntilFirstUpdate: true })\n protected linearChange(): void {\n if (!this.activeStep) {\n this._shouldUpdateLinearState = true;\n return;\n }\n this.steps.forEach((step: IgcStepComponent) => {\n step.linearDisabled = this.linear;\n if (step.index <= this.activeStep.index) {\n step.visited = true;\n } else {\n step.visited = false;\n }\n });\n if (this.linear) {\n this.updateStepsLinearDisabled();\n }\n }\n\n @watch('verticalAnimation', { waitUntilFirstUpdate: true })\n @watch('horizontalAnimation', { waitUntilFirstUpdate: true })\n protected animationTypeChange() {\n this.steps.forEach((step: IgcStepComponent) => {\n this.updateAnimation(step);\n });\n }\n\n @watch('animationDuration', { waitUntilFirstUpdate: true })\n protected animationDurationChange() {\n this.steps.forEach((step: IgcStepComponent) => {\n step.animationDuration = this.animationDuration;\n });\n }\n\n constructor() {\n super();\n\n addThemingController(this, {\n light: { bootstrap, fluent, indigo },\n dark: { bootstrap, fluent, indigo },\n });\n\n this.addEventListener('stepActiveChanged', (event: any) => {\n event.stopPropagation();\n this.activateStep(event.target, event.detail);\n });\n\n this.addEventListener('stepDisabledInvalidChanged', (event: any) => {\n event.stopPropagation();\n if (this.linear) {\n this.updateStepsLinearDisabled();\n }\n });\n\n this.addEventListener('stepCompleteChanged', (event: any) => {\n event.stopPropagation();\n const nextStep = this.steps[event.target.index + 1];\n if (nextStep) {\n nextStep.previousComplete = event.target.complete;\n }\n });\n\n this.addEventListener('stepHeaderKeydown', (event: any) => {\n event.stopPropagation();\n this.handleKeydown(event.detail.event, event.detail.focusedStep);\n });\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'tablist');\n this.setAttribute('aria-orientation', this.orientation);\n }\n\n private activateFirstStep() {\n const firstEnabledStep = this.steps.find(\n (s: IgcStepComponent) => !s.disabled\n );\n if (firstEnabledStep) {\n this.activateStep(firstEnabledStep, false);\n }\n }\n\n private animateSteps(\n nextStep: IgcStepComponent,\n currentStep: IgcStepComponent\n ) {\n if (nextStep.index > currentStep.index) {\n // Animate steps in ascending/next direction\n currentStep.toggleAnimation('out');\n nextStep.toggleAnimation('in');\n } else {\n // Animate steps in descending/previous direction\n currentStep.toggleAnimation('in', 'reverse');\n nextStep.toggleAnimation('out', 'reverse');\n }\n }\n\n private async activateStep(step: IgcStepComponent, shouldEmit = true) {\n if (step === this.activeStep) {\n return;\n }\n\n if (shouldEmit) {\n const args = {\n detail: {\n owner: this,\n oldIndex: this.activeStep.index,\n newIndex: step.index,\n },\n cancelable: true,\n };\n\n this.animateSteps(step, this.activeStep);\n\n const allowed = this.emitEvent('igcActiveStepChanging', args);\n\n if (!allowed) {\n return;\n }\n this.changeActiveStep(step);\n this.emitEvent('igcActiveStepChanged', {\n detail: { owner: this, index: step.index },\n });\n } else {\n this.changeActiveStep(step);\n }\n }\n\n private changeActiveStep(step: IgcStepComponent) {\n if (this.activeStep) {\n this.activeStep.active = false;\n }\n step.active = true;\n step.visited = true;\n this.activeStep = step;\n }\n\n private moveToNextStep(next = true) {\n let steps = this.steps;\n let activeStepIndex = this.activeStep.index;\n if (!next) {\n steps = this.steps.reverse();\n activeStepIndex = steps.findIndex(\n (step: IgcStepComponent) => step === this.activeStep\n );\n }\n\n const nextStep = steps.find(\n (step: IgcStepComponent, i: number) =>\n i > activeStepIndex && step.isAccessible\n );\n\n if (nextStep) {\n this.animateSteps(nextStep, this.activeStep);\n this.activateStep(nextStep, false);\n }\n }\n\n private handleKeydown(event: KeyboardEvent, focusedStep: IgcStepComponent) {\n const key = event.key.toLowerCase();\n\n if (this.keyDownHandlers.has(event.key)) {\n event.preventDefault();\n this.keyDownHandlers.get(event.key)?.call(this, focusedStep);\n }\n if (key === 'tab' && this.orientation === 'vertical') {\n return;\n }\n if (key === 'tab' && this.activeStep.index !== focusedStep.index) {\n this.activeStep.header.focus();\n }\n }\n\n private onHomeKey() {\n this.steps\n .filter((step: IgcStepComponent) => step.isAccessible)[0]\n ?.header?.focus();\n }\n\n private onEndKey() {\n this.steps\n .filter((step: IgcStepComponent) => step.isAccessible)\n .pop()\n ?.header?.focus();\n }\n\n private onArrowDownKeyDown(focusedStep: IgcStepComponent) {\n if (this.orientation === 'horizontal') {\n return;\n }\n this.getNextStep(focusedStep)?.header?.focus();\n }\n\n private onArrowUpKeyDown(focusedStep: IgcStepComponent) {\n if (this.orientation === 'horizontal') {\n return;\n }\n this.getPreviousStep(focusedStep)?.header?.focus();\n }\n\n private onArrowRightKeyDown(focusedStep: IgcStepComponent) {\n if (!isLTR(this) && this.orientation === 'horizontal') {\n this.getPreviousStep(focusedStep)?.header?.focus();\n } else {\n this.getNextStep(focusedStep)?.header?.focus();\n }\n }\n\n private onArrowLeftKeyDown(focusedStep: IgcStepComponent) {\n if (!isLTR(this) && this.orientation === 'horizontal') {\n this.getNextStep(focusedStep)?.header?.focus();\n } else {\n this.getPreviousStep(focusedStep)?.header?.focus();\n }\n }\n\n private getNextStep(\n focusedStep: IgcStepComponent\n ): IgcStepComponent | undefined {\n if (focusedStep.index === this.steps.length - 1) {\n return this.steps.find((step: IgcStepComponent) => step.isAccessible);\n }\n\n const nextAccessible = this.steps.find(\n (step: IgcStepComponent, i: number) =>\n i > focusedStep.index && step.isAccessible\n );\n return nextAccessible\n ? nextAccessible\n : this.steps.find((step: IgcStepComponent) => step.isAccessible);\n }\n\n private getPreviousStep(\n focusedStep: IgcStepComponent\n ): IgcStepComponent | undefined {\n if (focusedStep.index === 0) {\n return this.steps\n .filter((step: IgcStepComponent) => step.isAccessible)\n .pop();\n }\n\n let prevStep: IgcStepComponent | undefined;\n for (let i = focusedStep.index - 1; i >= 0; i--) {\n const step = this.steps[i];\n if (step.isAccessible) {\n prevStep = step;\n break;\n }\n }\n\n return prevStep\n ? prevStep\n : this.steps.filter((step: IgcStepComponent) => step.isAccessible).pop();\n }\n\n private updateStepsLinearDisabled(): void {\n const firstInvalidStep = this.steps\n .filter((step: IgcStepComponent) => !step.disabled && !step.optional)\n .find((step: IgcStepComponent) => step.invalid);\n if (firstInvalidStep) {\n this.steps.forEach((step: IgcStepComponent) => {\n if (step.index <= firstInvalidStep.index) {\n step.linearDisabled = false;\n } else {\n step.linearDisabled = true;\n }\n });\n } else {\n this.steps.forEach((step: IgcStepComponent) => {\n step.linearDisabled = false;\n });\n }\n }\n\n private updateAnimation(step: IgcStepComponent) {\n if (this.orientation === 'horizontal') {\n step.animation = this.horizontalAnimation;\n }\n\n if (this.orientation === 'vertical') {\n step.animation = this.verticalAnimation;\n }\n }\n\n private syncProperties(): void {\n this.steps.forEach((step: IgcStepComponent, index: number) => {\n step.orientation = this.orientation;\n step.stepType = this.stepType;\n step.titlePosition = this.titlePosition;\n step.contentTop = this.contentTop;\n step.index = index;\n step.active = this.activeStep === step;\n step.header?.setAttribute('aria-posinset', (index + 1).toString());\n step.header?.setAttribute('aria-setsize', this.steps.length.toString());\n step.header?.setAttribute('id', `igc-step-header-${index}`);\n step.header?.setAttribute('aria-controls', `igc-step-content-${index}`);\n if (index > 0) {\n step.previousComplete = this.steps[index - 1].complete;\n }\n step.animationDuration = this.animationDuration;\n this.updateAnimation(step);\n });\n }\n\n private stepsChanged(): void {\n this.style.setProperty('--steps-count', this.steps.length.toString());\n\n const lastActiveStep = this.steps\n .reverse()\n .find((step: IgcStepComponent) => step.active);\n if (!lastActiveStep) {\n // initially when there isn't a predefined active step or when the active step is removed\n this.activateFirstStep();\n } else {\n // activate the last step marked as active\n this.activateStep(lastActiveStep, false);\n }\n\n this.syncProperties();\n if (this._shouldUpdateLinearState) {\n this.linearChange();\n this._shouldUpdateLinearState = false;\n }\n if (this.linear) {\n this.updateStepsLinearDisabled();\n }\n }\n\n /** Activates the step at a given index. */\n public navigateTo(index: number) {\n const step = this.steps[index];\n if (!step) {\n return;\n }\n this.activateStep(step, false);\n }\n\n /** Activates the next enabled step. */\n public next(): void {\n this.moveToNextStep();\n }\n\n /** Activates the previous enabled step. */\n public prev(): void {\n this.moveToNextStep(false);\n }\n\n /**\n * Resets the stepper to its initial state i.e. activates the first step.\n *\n * @remarks\n * The steps' content will not be automatically reset.\n */\n public reset(): void {\n this.steps.forEach((step) => {\n step.visited = false;\n });\n this.activateFirstStep();\n }\n\n protected override render() {\n return html`<slot @slotchange=${this.stepsChanged}></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-stepper': IgcStepperComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"stepper.js","sourceRoot":"","sources":["../../../src/components/stepper/stepper.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\n\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { isLTR } from '../common/util.js';\nimport type {\n HorizontalTransitionAnimation,\n StepperOrientation,\n StepperStepType,\n StepperTitlePosition,\n StepperVerticalAnimation,\n} from '../types.js';\nimport IgcStepComponent from './step.js';\nimport type { IgcStepperComponentEventMap } from './stepper.common.js';\nimport { styles } from './themes/stepper/stepper.base.css.js';\nimport { styles as bootstrap } from './themes/stepper/stepper.bootstrap.css.js';\nimport { styles as fluent } from './themes/stepper/stepper.fluent.css.js';\nimport { styles as indigo } from './themes/stepper/stepper.indigo.css.js';\n\n/**\n * IgxStepper provides a wizard-like workflow by dividing content into logical steps.\n *\n * @remarks\n * The stepper component allows the user to navigate between multiple steps.\n * It supports horizontal and vertical orientation as well as keyboard navigation and provides API methods to control the active step.\n *\n * @element igc-stepper\n *\n * @slot - Renders the step components inside default slot.\n *\n * @fires igcActiveStepChanging - Emitted when the active step is about to change.\n * @fires igcActiveStepChanged - Emitted when the active step is changed.\n */\n\nexport default class IgcStepperComponent extends EventEmitterMixin<\n IgcStepperComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-stepper';\n protected static styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcStepperComponent, IgcStepComponent);\n }\n\n // biome-ignore lint/complexity/noBannedTypes: No easy fix as the callback shapes are wildly different\n private readonly keyDownHandlers: Map<string, Function> = new Map(\n Object.entries({\n Enter: this.activateStep,\n Space: this.activateStep,\n SpaceBar: this.activateStep,\n ' ': this.activateStep,\n ArrowUp: this.onArrowUpKeyDown,\n ArrowDown: this.onArrowDownKeyDown,\n ArrowLeft: this.onArrowLeftKeyDown,\n ArrowRight: this.onArrowRightKeyDown,\n Home: this.onHomeKey,\n End: this.onEndKey,\n })\n );\n\n private activeStep!: IgcStepComponent;\n private _shouldUpdateLinearState = false;\n\n /** Returns all of the stepper's steps. */\n @queryAssignedElements({ selector: 'igc-step' })\n public steps!: Array<IgcStepComponent>;\n\n /** Gets/Sets the orientation of the stepper.\n *\n * @remarks\n * Default value is `horizontal`.\n */\n @property({ reflect: true })\n public orientation: StepperOrientation = 'horizontal';\n\n /** Get/Set the type of the steps.\n *\n * @remarks\n * Default value is `full`.\n */\n @property({ reflect: true, attribute: 'step-type' })\n public stepType: StepperStepType = 'full';\n\n /**\n * Get/Set whether the stepper is linear.\n *\n * @remarks\n * If the stepper is in linear mode and if the active step is valid only then the user is able to move forward.\n */\n @property({ type: Boolean })\n public linear = false;\n\n /**\n * Get/Set whether the content is displayed above the steps.\n *\n * @remarks\n * Default value is `false` and the content is below the steps.\n */\n @property({ reflect: true, type: Boolean, attribute: 'content-top' })\n public contentTop = false;\n\n /**\n * The animation type when in vertical mode.\n * @attr vertical-animation\n */\n @property({ attribute: 'vertical-animation' })\n public verticalAnimation: StepperVerticalAnimation = 'grow';\n\n /**\n * The animation type when in horizontal mode.\n * @attr horizontal-animation\n */\n @property({ attribute: 'horizontal-animation' })\n public horizontalAnimation: HorizontalTransitionAnimation = 'slide';\n\n /**\n * The animation duration in either vertical or horizontal mode.\n * @attr animation-duration\n */\n @property({ attribute: 'animation-duration', type: Number })\n public animationDuration = 320;\n\n /**\n * Get/Set the position of the steps title.\n *\n * @remarks\n * The default value is auto.\n * When the stepper is horizontally orientated the title is positioned below the indicator.\n * When the stepper is horizontally orientated the title is positioned on the right side of the indicator.\n */\n @property({ reflect: false, attribute: 'title-position' })\n public titlePosition: StepperTitlePosition = 'auto';\n\n @watch('orientation', { waitUntilFirstUpdate: true })\n protected orientationChange(): void {\n this.setAttribute('aria-orientation', this.orientation);\n this.steps.forEach((step: IgcStepComponent) => {\n step.orientation = this.orientation;\n this.updateAnimation(step);\n });\n }\n\n @watch('stepType', { waitUntilFirstUpdate: true })\n protected stepTypeChange(): void {\n this.steps.forEach((step: IgcStepComponent) => {\n step.stepType = this.stepType;\n });\n }\n\n @watch('titlePosition', { waitUntilFirstUpdate: true })\n protected titlePositionChange(): void {\n this.steps.forEach((step: IgcStepComponent) => {\n step.titlePosition = this.titlePosition;\n });\n }\n\n @watch('contentTop', { waitUntilFirstUpdate: true })\n protected contentTopChange(): void {\n this.steps.forEach((step: IgcStepComponent) => {\n step.contentTop = this.contentTop;\n });\n }\n\n @watch('linear', { waitUntilFirstUpdate: true })\n protected linearChange(): void {\n if (!this.activeStep) {\n this._shouldUpdateLinearState = true;\n return;\n }\n this.steps.forEach((step: IgcStepComponent) => {\n step.linearDisabled = this.linear;\n if (step.index <= this.activeStep.index) {\n step.visited = true;\n } else {\n step.visited = false;\n }\n });\n if (this.linear) {\n this.updateStepsLinearDisabled();\n }\n }\n\n @watch('verticalAnimation', { waitUntilFirstUpdate: true })\n @watch('horizontalAnimation', { waitUntilFirstUpdate: true })\n protected animationTypeChange() {\n this.steps.forEach((step: IgcStepComponent) => {\n this.updateAnimation(step);\n });\n }\n\n @watch('animationDuration', { waitUntilFirstUpdate: true })\n protected animationDurationChange() {\n this.steps.forEach((step: IgcStepComponent) => {\n step.animationDuration = this.animationDuration;\n });\n }\n\n constructor() {\n super();\n\n addThemingController(this, {\n light: { bootstrap, fluent, indigo },\n dark: { bootstrap, fluent, indigo },\n });\n\n this.addEventListener('stepActiveChanged', (event: any) => {\n event.stopPropagation();\n this.activateStep(event.target, event.detail);\n });\n\n this.addEventListener('stepDisabledInvalidChanged', (event: any) => {\n event.stopPropagation();\n if (this.linear) {\n this.updateStepsLinearDisabled();\n }\n });\n\n this.addEventListener('stepCompleteChanged', (event: any) => {\n event.stopPropagation();\n const nextStep = this.steps[event.target.index + 1];\n if (nextStep) {\n nextStep.previousComplete = event.target.complete;\n }\n });\n\n this.addEventListener('stepHeaderKeydown', (event: any) => {\n event.stopPropagation();\n this.handleKeydown(event.detail.event, event.detail.focusedStep);\n });\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'tablist');\n this.setAttribute('aria-orientation', this.orientation);\n }\n\n private activateFirstStep() {\n const firstEnabledStep = this.steps.find(\n (s: IgcStepComponent) => !s.disabled\n );\n if (firstEnabledStep) {\n this.activateStep(firstEnabledStep, false);\n }\n }\n\n private animateSteps(\n nextStep: IgcStepComponent,\n currentStep: IgcStepComponent\n ) {\n if (nextStep.index > currentStep.index) {\n // Animate steps in ascending/next direction\n currentStep.toggleAnimation('out');\n nextStep.toggleAnimation('in');\n } else {\n // Animate steps in descending/previous direction\n currentStep.toggleAnimation('in', 'reverse');\n nextStep.toggleAnimation('out', 'reverse');\n }\n }\n\n private async activateStep(step: IgcStepComponent, shouldEmit = true) {\n if (step === this.activeStep) {\n return;\n }\n\n if (shouldEmit) {\n const args = {\n detail: {\n owner: this,\n oldIndex: this.activeStep.index,\n newIndex: step.index,\n },\n cancelable: true,\n };\n\n this.animateSteps(step, this.activeStep);\n\n const allowed = this.emitEvent('igcActiveStepChanging', args);\n\n if (!allowed) {\n return;\n }\n this.changeActiveStep(step);\n this.emitEvent('igcActiveStepChanged', {\n detail: { owner: this, index: step.index },\n });\n } else {\n this.changeActiveStep(step);\n }\n }\n\n private changeActiveStep(step: IgcStepComponent) {\n if (this.activeStep) {\n this.activeStep.active = false;\n }\n step.active = true;\n step.visited = true;\n this.activeStep = step;\n }\n\n private moveToNextStep(next = true) {\n let steps = this.steps;\n let activeStepIndex = this.activeStep.index;\n if (!next) {\n steps = this.steps.reverse();\n activeStepIndex = steps.findIndex(\n (step: IgcStepComponent) => step === this.activeStep\n );\n }\n\n const nextStep = steps.find(\n (step: IgcStepComponent, i: number) =>\n i > activeStepIndex && step.isAccessible\n );\n\n if (nextStep) {\n this.animateSteps(nextStep, this.activeStep);\n this.activateStep(nextStep, false);\n }\n }\n\n private handleKeydown(event: KeyboardEvent, focusedStep: IgcStepComponent) {\n const key = event.key.toLowerCase();\n\n if (this.keyDownHandlers.has(event.key)) {\n event.preventDefault();\n this.keyDownHandlers.get(event.key)?.call(this, focusedStep);\n }\n if (key === 'tab' && this.orientation === 'vertical') {\n return;\n }\n if (key === 'tab' && this.activeStep.index !== focusedStep.index) {\n this.activeStep.header.focus();\n }\n }\n\n private onHomeKey() {\n this.steps\n .filter((step: IgcStepComponent) => step.isAccessible)[0]\n ?.header?.focus();\n }\n\n private onEndKey() {\n this.steps\n .filter((step: IgcStepComponent) => step.isAccessible)\n .pop()\n ?.header?.focus();\n }\n\n private onArrowDownKeyDown(focusedStep: IgcStepComponent) {\n if (this.orientation === 'horizontal') {\n return;\n }\n this.getNextStep(focusedStep)?.header?.focus();\n }\n\n private onArrowUpKeyDown(focusedStep: IgcStepComponent) {\n if (this.orientation === 'horizontal') {\n return;\n }\n this.getPreviousStep(focusedStep)?.header?.focus();\n }\n\n private onArrowRightKeyDown(focusedStep: IgcStepComponent) {\n if (!isLTR(this) && this.orientation === 'horizontal') {\n this.getPreviousStep(focusedStep)?.header?.focus();\n } else {\n this.getNextStep(focusedStep)?.header?.focus();\n }\n }\n\n private onArrowLeftKeyDown(focusedStep: IgcStepComponent) {\n if (!isLTR(this) && this.orientation === 'horizontal') {\n this.getNextStep(focusedStep)?.header?.focus();\n } else {\n this.getPreviousStep(focusedStep)?.header?.focus();\n }\n }\n\n private getNextStep(\n focusedStep: IgcStepComponent\n ): IgcStepComponent | undefined {\n if (focusedStep.index === this.steps.length - 1) {\n return this.steps.find((step: IgcStepComponent) => step.isAccessible);\n }\n\n const nextAccessible = this.steps.find(\n (step: IgcStepComponent, i: number) =>\n i > focusedStep.index && step.isAccessible\n );\n return nextAccessible\n ? nextAccessible\n : this.steps.find((step: IgcStepComponent) => step.isAccessible);\n }\n\n private getPreviousStep(\n focusedStep: IgcStepComponent\n ): IgcStepComponent | undefined {\n if (focusedStep.index === 0) {\n return this.steps\n .filter((step: IgcStepComponent) => step.isAccessible)\n .pop();\n }\n\n let prevStep: IgcStepComponent | undefined;\n for (let i = focusedStep.index - 1; i >= 0; i--) {\n const step = this.steps[i];\n if (step.isAccessible) {\n prevStep = step;\n break;\n }\n }\n\n return prevStep\n ? prevStep\n : this.steps.filter((step: IgcStepComponent) => step.isAccessible).pop();\n }\n\n private updateStepsLinearDisabled(): void {\n const firstInvalidStep = this.steps\n .filter((step: IgcStepComponent) => !step.disabled && !step.optional)\n .find((step: IgcStepComponent) => step.invalid);\n if (firstInvalidStep) {\n this.steps.forEach((step: IgcStepComponent) => {\n if (step.index <= firstInvalidStep.index) {\n step.linearDisabled = false;\n } else {\n step.linearDisabled = true;\n }\n });\n } else {\n this.steps.forEach((step: IgcStepComponent) => {\n step.linearDisabled = false;\n });\n }\n }\n\n private updateAnimation(step: IgcStepComponent) {\n if (this.orientation === 'horizontal') {\n step.animation = this.horizontalAnimation;\n }\n\n if (this.orientation === 'vertical') {\n step.animation = this.verticalAnimation;\n }\n }\n\n private syncProperties(): void {\n this.steps.forEach((step: IgcStepComponent, index: number) => {\n step.orientation = this.orientation;\n step.stepType = this.stepType;\n step.titlePosition = this.titlePosition;\n step.contentTop = this.contentTop;\n step.index = index;\n step.active = this.activeStep === step;\n step.header?.setAttribute('aria-posinset', (index + 1).toString());\n step.header?.setAttribute('aria-setsize', this.steps.length.toString());\n step.header?.setAttribute('id', `igc-step-header-${index}`);\n step.header?.setAttribute('aria-controls', `igc-step-content-${index}`);\n if (index > 0) {\n step.previousComplete = this.steps[index - 1].complete;\n }\n step.animationDuration = this.animationDuration;\n this.updateAnimation(step);\n });\n }\n\n private stepsChanged(): void {\n this.style.setProperty('--steps-count', this.steps.length.toString());\n\n const lastActiveStep = this.steps\n .reverse()\n .find((step: IgcStepComponent) => step.active);\n if (!lastActiveStep) {\n // initially when there isn't a predefined active step or when the active step is removed\n this.activateFirstStep();\n } else {\n // activate the last step marked as active\n this.activateStep(lastActiveStep, false);\n }\n\n this.syncProperties();\n if (this._shouldUpdateLinearState) {\n this.linearChange();\n this._shouldUpdateLinearState = false;\n }\n if (this.linear) {\n this.updateStepsLinearDisabled();\n }\n }\n\n /** Activates the step at a given index. */\n public navigateTo(index: number) {\n const step = this.steps[index];\n if (!step) {\n return;\n }\n this.activateStep(step, false);\n }\n\n /** Activates the next enabled step. */\n public next(): void {\n this.moveToNextStep();\n }\n\n /** Activates the previous enabled step. */\n public prev(): void {\n this.moveToNextStep(false);\n }\n\n /**\n * Resets the stepper to its initial state i.e. activates the first step.\n *\n * @remarks\n * The steps' content will not be automatically reset.\n */\n public reset(): void {\n this.steps.forEach((step) => {\n step.visited = false;\n });\n this.activateFirstStep();\n }\n\n protected override render() {\n return html`<slot @slotchange=${this.stepsChanged}></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-stepper': IgcStepperComponent;\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { isLTR } from '../common/util.js';
2
2
  class TabsHelpers {
3
+ static { this.SCROLL_AMOUNT = 180; }
3
4
  get container() {
4
5
  return this._container.value;
5
6
  }
@@ -96,7 +97,6 @@ class TabsHelpers {
96
97
  Object.assign(this.indicator.style, styles);
97
98
  }
98
99
  }
99
- TabsHelpers.SCROLL_AMOUNT = 180;
100
100
  export function createTabHelpers(host, container, indicator) {
101
101
  return new TabsHelpers(host, container, indicator);
102
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tab-dom.js","sourceRoot":"","sources":["../../../src/components/tabs/tab-dom.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Ref } from 'lit/directives/ref.js';\nimport { isLTR } from '../common/util.js';\nimport type IgcTabComponent from './tab.js';\nimport type IgcTabsComponent from './tabs.js';\n\nclass TabsHelpers {\n private static readonly SCROLL_AMOUNT = 180;\n private readonly _host: IgcTabsComponent;\n private readonly _container: Ref<HTMLElement>;\n private readonly _indicator: Ref<HTMLElement>;\n\n private _styleProperties = {\n '--_tabs-count': '',\n '--_ig-tabs-width': '',\n };\n\n private _hasScrollButtons = false;\n private _scrollButtonsDisabled = { start: true, end: false };\n\n private _isLeftToRight = false;\n\n /**\n * Returns the DOM container holding the tabs headers.\n */\n public get container(): HTMLElement | undefined {\n return this._container.value;\n }\n\n /**\n * Returns the selected indicator DOM element.\n */\n public get indicator(): HTMLElement | undefined {\n return this._indicator.value;\n }\n\n /**\n * Returns the internal CSS variables used for the layout of the tabs component.\n */\n public get styleProperties() {\n return this._styleProperties;\n }\n\n /**\n * Whether the scroll buttons of the tabs header strip should be shown.\n */\n public get hasScrollButtons(): boolean {\n return this._hasScrollButtons;\n }\n\n /**\n * Returns the disabled state of the tabs header strip scroll buttons.\n */\n public get scrollButtonsDisabled() {\n return this._scrollButtonsDisabled;\n }\n\n public get isLeftToRightChanged(): boolean {\n const isLeftToRight = isLTR(this._host);\n\n if (this._isLeftToRight !== isLeftToRight) {\n this._isLeftToRight = isLeftToRight;\n return true;\n }\n\n return false;\n }\n\n constructor(\n host: IgcTabsComponent,\n container: Ref<HTMLElement>,\n indicator: Ref<HTMLElement>\n ) {\n this._host = host;\n this._container = container;\n this._indicator = indicator;\n }\n\n /**\n * Sets the internal CSS variables used for the layout of the tabs component.\n * Triggers an update cycle (rerender) of the `igc-tabs` component.\n */\n public setStyleProperties(): void {\n this._styleProperties = {\n '--_tabs-count': this._host.tabs.length.toString(),\n '--_ig-tabs-width': this.container\n ? `${this.container.getBoundingClientRect().width}px`\n : '',\n };\n this._host.requestUpdate();\n }\n\n /**\n * Sets the type of the `scroll-snap-align` CSS property for the tabs header strip.\n */\n public setScrollSnap(type?: 'start' | 'end'): void {\n if (this.container) {\n this.container.style.setProperty('--_ig-tab-snap', type || 'unset');\n }\n }\n\n /**\n * Scrolls the tabs header strip in the given direction with `scroll-snap-align` set.\n */\n public scrollTabs(direction: 'start' | 'end'): void {\n if (!this.container) {\n return;\n }\n\n const factor = isLTR(this._host) ? 1 : -1;\n const amount =\n direction === 'start'\n ? -TabsHelpers.SCROLL_AMOUNT\n : TabsHelpers.SCROLL_AMOUNT;\n\n this.setScrollSnap(direction);\n this.container.scrollBy({ left: factor * amount, behavior: 'smooth' });\n }\n\n /**\n * Updates the state of the tabs header strip scroll buttons - visibility and active state.\n * Triggers an update cycle (rerender) of the `igc-tabs` component.\n */\n public setScrollButtonState(): void {\n if (!this.container) {\n return;\n }\n\n const { scrollLeft, scrollWidth, clientWidth } = this.container;\n\n this._hasScrollButtons = scrollWidth > clientWidth;\n this._scrollButtonsDisabled = {\n start: scrollLeft === 0,\n end: Math.abs(Math.abs(scrollLeft) + clientWidth - scrollWidth) <= 1,\n };\n\n this._host.requestUpdate();\n }\n\n /**\n * Updates the indicator DOM element styles based on the current \"active\" tab.\n */\n public async setIndicator(active?: IgcTabComponent): Promise<void> {\n if (!(this.container && this.indicator)) {\n return;\n }\n\n const styles = {\n visibility: active ? 'visible' : 'hidden',\n } satisfies Partial<CSSStyleDeclaration>;\n\n await this._host.updateComplete;\n\n if (active) {\n const tabHeader = getTabHeader(active);\n const { width } = tabHeader.getBoundingClientRect();\n\n const offset = this._isLeftToRight\n ? tabHeader.offsetLeft - this.container.offsetLeft\n : width +\n tabHeader.offsetLeft -\n this.container.getBoundingClientRect().width;\n\n Object.assign(styles, {\n width: `${width}px`,\n transform: `translateX(${offset}px)`,\n });\n }\n\n Object.assign(this.indicator.style, styles);\n }\n}\n\nexport function createTabHelpers(\n host: IgcTabsComponent,\n container: Ref<HTMLElement>,\n indicator: Ref<HTMLElement>\n) {\n return new TabsHelpers(host, container, indicator);\n}\n\nexport function getTabHeader(tab: IgcTabComponent): HTMLElement {\n return tab.renderRoot.querySelector('[part~=\"tab-header\"]')!;\n}\n"]}
1
+ {"version":3,"file":"tab-dom.js","sourceRoot":"","sources":["../../../src/components/tabs/tab-dom.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Ref } from 'lit/directives/ref.js';\nimport { isLTR } from '../common/util.js';\nimport type IgcTabComponent from './tab.js';\nimport type IgcTabsComponent from './tabs.js';\n\nclass TabsHelpers {\n private static readonly SCROLL_AMOUNT = 180;\n private readonly _host: IgcTabsComponent;\n private readonly _container: Ref<HTMLElement>;\n private readonly _indicator: Ref<HTMLElement>;\n\n private _styleProperties = {\n '--_tabs-count': '',\n '--_ig-tabs-width': '',\n };\n\n private _hasScrollButtons = false;\n private _scrollButtonsDisabled = { start: true, end: false };\n\n private _isLeftToRight = false;\n\n /**\n * Returns the DOM container holding the tabs headers.\n */\n public get container(): HTMLElement | undefined {\n return this._container.value;\n }\n\n /**\n * Returns the selected indicator DOM element.\n */\n public get indicator(): HTMLElement | undefined {\n return this._indicator.value;\n }\n\n /**\n * Returns the internal CSS variables used for the layout of the tabs component.\n */\n public get styleProperties() {\n return this._styleProperties;\n }\n\n /**\n * Whether the scroll buttons of the tabs header strip should be shown.\n */\n public get hasScrollButtons(): boolean {\n return this._hasScrollButtons;\n }\n\n /**\n * Returns the disabled state of the tabs header strip scroll buttons.\n */\n public get scrollButtonsDisabled() {\n return this._scrollButtonsDisabled;\n }\n\n public get isLeftToRightChanged(): boolean {\n const isLeftToRight = isLTR(this._host);\n\n if (this._isLeftToRight !== isLeftToRight) {\n this._isLeftToRight = isLeftToRight;\n return true;\n }\n\n return false;\n }\n\n constructor(\n host: IgcTabsComponent,\n container: Ref<HTMLElement>,\n indicator: Ref<HTMLElement>\n ) {\n this._host = host;\n this._container = container;\n this._indicator = indicator;\n }\n\n /**\n * Sets the internal CSS variables used for the layout of the tabs component.\n * Triggers an update cycle (rerender) of the `igc-tabs` component.\n */\n public setStyleProperties(): void {\n this._styleProperties = {\n '--_tabs-count': this._host.tabs.length.toString(),\n '--_ig-tabs-width': this.container\n ? `${this.container.getBoundingClientRect().width}px`\n : '',\n };\n this._host.requestUpdate();\n }\n\n /**\n * Sets the type of the `scroll-snap-align` CSS property for the tabs header strip.\n */\n public setScrollSnap(type?: 'start' | 'end'): void {\n if (this.container) {\n this.container.style.setProperty('--_ig-tab-snap', type || 'unset');\n }\n }\n\n /**\n * Scrolls the tabs header strip in the given direction with `scroll-snap-align` set.\n */\n public scrollTabs(direction: 'start' | 'end'): void {\n if (!this.container) {\n return;\n }\n\n const factor = isLTR(this._host) ? 1 : -1;\n const amount =\n direction === 'start'\n ? -TabsHelpers.SCROLL_AMOUNT\n : TabsHelpers.SCROLL_AMOUNT;\n\n this.setScrollSnap(direction);\n this.container.scrollBy({ left: factor * amount, behavior: 'smooth' });\n }\n\n /**\n * Updates the state of the tabs header strip scroll buttons - visibility and active state.\n * Triggers an update cycle (rerender) of the `igc-tabs` component.\n */\n public setScrollButtonState(): void {\n if (!this.container) {\n return;\n }\n\n const { scrollLeft, scrollWidth, clientWidth } = this.container;\n\n this._hasScrollButtons = scrollWidth > clientWidth;\n this._scrollButtonsDisabled = {\n start: scrollLeft === 0,\n end: Math.abs(Math.abs(scrollLeft) + clientWidth - scrollWidth) <= 1,\n };\n\n this._host.requestUpdate();\n }\n\n /**\n * Updates the indicator DOM element styles based on the current \"active\" tab.\n */\n public async setIndicator(active?: IgcTabComponent): Promise<void> {\n if (!(this.container && this.indicator)) {\n return;\n }\n\n const styles = {\n visibility: active ? 'visible' : 'hidden',\n } satisfies Partial<CSSStyleDeclaration>;\n\n await this._host.updateComplete;\n\n if (active) {\n const tabHeader = getTabHeader(active);\n const { width } = tabHeader.getBoundingClientRect();\n\n const offset = this._isLeftToRight\n ? tabHeader.offsetLeft - this.container.offsetLeft\n : width +\n tabHeader.offsetLeft -\n this.container.getBoundingClientRect().width;\n\n Object.assign(styles, {\n width: `${width}px`,\n transform: `translateX(${offset}px)`,\n });\n }\n\n Object.assign(this.indicator.style, styles);\n }\n}\n\nexport function createTabHelpers(\n host: IgcTabsComponent,\n container: Ref<HTMLElement>,\n indicator: Ref<HTMLElement>\n) {\n return new TabsHelpers(host, container, indicator);\n}\n\nexport function getTabHeader(tab: IgcTabComponent): HTMLElement {\n return tab.renderRoot.querySelector('[part~=\"tab-header\"]')!;\n}\n"]}
@@ -12,10 +12,13 @@ import { createCounter } from '../common/util.js';
12
12
  import { styles as shared } from './themes/shared/tab/tab.common.css.js';
13
13
  import { styles } from './themes/tab.base.css.js';
14
14
  import { all } from './themes/tab-themes.js';
15
- class IgcTabComponent extends LitElement {
15
+ export default class IgcTabComponent extends LitElement {
16
+ static { this.tagName = 'igc-tab'; }
17
+ static { this.styles = [styles, shared]; }
16
18
  static register() {
17
19
  registerComponent(IgcTabComponent);
18
20
  }
21
+ static { this.increment = createCounter(); }
19
22
  constructor() {
20
23
  super();
21
24
  this.label = '';
@@ -60,10 +63,6 @@ class IgcTabComponent extends LitElement {
60
63
  `;
61
64
  }
62
65
  }
63
- IgcTabComponent.tagName = 'igc-tab';
64
- IgcTabComponent.styles = [styles, shared];
65
- IgcTabComponent.increment = createCounter();
66
- export default IgcTabComponent;
67
66
  __decorate([
68
67
  property()
69
68
  ], IgcTabComponent.prototype, "label", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"tab.js","sourceRoot":"","sources":["../../../src/components/tabs/tab.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAmB7C,MAAqB,eAAgB,SAAQ,UAAU;IAK9C,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;IAyBD;QACE,KAAK,EAAE,CAAC;QAjBH,UAAK,GAAG,EAAE,CAAC;QAOX,aAAQ,GAAG,KAAK,CAAC;QAOjB,aAAQ,GAAG,KAAK,CAAC;QAItB,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAGe,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,WAAW,eAAe,CAAC,SAAS,EAAE,EAAE,CAAC;IAChE,CAAC;IAEkB,MAAM;QACvB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,EAAE,SAAS,CAAC;QACrC,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,EAAE,UAAU,CAAC;QAEvC,OAAO,IAAI,CAAA;;;;aAIF,QAAQ;wBACG,IAAI,CAAC,QAAQ;wBACb,IAAI,CAAC,QAAQ;wBACb,SAAS;mBACd,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;;iCAKR,IAAI,CAAC,KAAK;;;;;;;;aAQ9B,SAAS;0BACI,QAAQ;iBACjB,CAAC,IAAI,CAAC,QAAQ;;;;KAI1B,CAAC;IACJ,CAAC;;AA1EsB,uBAAO,GAAG,SAAS,AAAZ,CAAa;AACpB,sBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAOlC,yBAAS,GAAG,aAAa,EAAE,AAAlB,CAAmB;eATxB,eAAe;AAgB3B;IADN,QAAQ,EAAE;8CACO;AAOX;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDACnB;AAOjB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDACnB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { createCounter } from '../common/util.js';\nimport { styles as shared } from './themes/shared/tab/tab.common.css.js';\nimport { styles } from './themes/tab.base.css.js';\nimport { all } from './themes/tab-themes.js';\n\n/**\n * A tab element slotted into an `igc-tabs` container.\n *\n * @element igc-tab\n *\n * @slot - Renders the tab's content.\n * @slot label - Renders the tab header's label.\n * @slot prefix - Renders the tab header's prefix.\n * @slot suffix - Renders the tab header's suffix.\n *\n * @csspart tab-header - The header of a single tab.\n * @csspart prefix - Tab header's label prefix.\n * @csspart content - Tab header's label slot container.\n * @csspart suffix - Tab header's label suffix.\n * @csspart tab-body - Holds the body content of a single tab, only the body of the selected tab is visible.\n */\n\nexport default class IgcTabComponent extends LitElement {\n public static readonly tagName = 'igc-tab';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcTabComponent);\n }\n\n private static increment = createCounter();\n\n /**\n * The tab item label.\n * @attr\n */\n @property()\n public label = '';\n\n /**\n * Determines whether the tab is selected.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public selected = false;\n\n /**\n * Determines whether the tab is disabled.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n constructor() {\n super();\n addThemingController(this, all);\n }\n\n /** @internal */\n public override connectedCallback(): void {\n super.connectedCallback();\n this.id = this.id || `igc-tab-${IgcTabComponent.increment()}`;\n }\n\n protected override render() {\n const headerId = `${this.id}-header`;\n const contentId = `${this.id}-content`;\n\n return html`\n <div\n part=\"tab-header\"\n role=\"tab\"\n id=${headerId}\n aria-disabled=${this.disabled}\n aria-selected=${this.selected}\n aria-controls=${contentId}\n tabindex=${this.selected ? 0 : -1}\n >\n <div part=\"base\">\n <slot name=\"prefix\" part=\"prefix\"></slot>\n <div part=\"content\">\n <slot name=\"label\">${this.label}</slot>\n </div>\n <slot name=\"suffix\" part=\"suffix\"></slot>\n </div>\n </div>\n <div\n part=\"tab-body\"\n role=\"tabpanel\"\n id=${contentId}\n aria-labelledby=${headerId}\n .inert=${!this.selected}\n >\n <slot></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tab': IgcTabComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"tab.js","sourceRoot":"","sources":["../../../src/components/tabs/tab.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAmB7C,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU;aAC9B,YAAO,GAAG,SAAS,AAAZ,CAAa;aACpB,WAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;IAG1C,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;aAEc,cAAS,GAAG,aAAa,EAAE,AAAlB,CAAmB;IAuB3C;QACE,KAAK,EAAE,CAAC;QAjBH,UAAK,GAAG,EAAE,CAAC;QAOX,aAAQ,GAAG,KAAK,CAAC;QAOjB,aAAQ,GAAG,KAAK,CAAC;QAItB,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAGe,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,WAAW,eAAe,CAAC,SAAS,EAAE,EAAE,CAAC;IAChE,CAAC;IAEkB,MAAM;QACvB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,EAAE,SAAS,CAAC;QACrC,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,EAAE,UAAU,CAAC;QAEvC,OAAO,IAAI,CAAA;;;;aAIF,QAAQ;wBACG,IAAI,CAAC,QAAQ;wBACb,IAAI,CAAC,QAAQ;wBACb,SAAS;mBACd,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;;iCAKR,IAAI,CAAC,KAAK;;;;;;;;aAQ9B,SAAS;0BACI,QAAQ;iBACjB,CAAC,IAAI,CAAC,QAAQ;;;;KAI1B,CAAC;IACJ,CAAC;;AA3DM;IADN,QAAQ,EAAE;8CACO;AAOX;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDACnB;AAOjB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDACnB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { createCounter } from '../common/util.js';\nimport { styles as shared } from './themes/shared/tab/tab.common.css.js';\nimport { styles } from './themes/tab.base.css.js';\nimport { all } from './themes/tab-themes.js';\n\n/**\n * A tab element slotted into an `igc-tabs` container.\n *\n * @element igc-tab\n *\n * @slot - Renders the tab's content.\n * @slot label - Renders the tab header's label.\n * @slot prefix - Renders the tab header's prefix.\n * @slot suffix - Renders the tab header's suffix.\n *\n * @csspart tab-header - The header of a single tab.\n * @csspart prefix - Tab header's label prefix.\n * @csspart content - Tab header's label slot container.\n * @csspart suffix - Tab header's label suffix.\n * @csspart tab-body - Holds the body content of a single tab, only the body of the selected tab is visible.\n */\n\nexport default class IgcTabComponent extends LitElement {\n public static readonly tagName = 'igc-tab';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcTabComponent);\n }\n\n private static increment = createCounter();\n\n /**\n * The tab item label.\n * @attr\n */\n @property()\n public label = '';\n\n /**\n * Determines whether the tab is selected.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public selected = false;\n\n /**\n * Determines whether the tab is disabled.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n constructor() {\n super();\n addThemingController(this, all);\n }\n\n /** @internal */\n public override connectedCallback(): void {\n super.connectedCallback();\n this.id = this.id || `igc-tab-${IgcTabComponent.increment()}`;\n }\n\n protected override render() {\n const headerId = `${this.id}-header`;\n const contentId = `${this.id}-content`;\n\n return html`\n <div\n part=\"tab-header\"\n role=\"tab\"\n id=${headerId}\n aria-disabled=${this.disabled}\n aria-selected=${this.selected}\n aria-controls=${contentId}\n tabindex=${this.selected ? 0 : -1}\n >\n <div part=\"base\">\n <slot name=\"prefix\" part=\"prefix\"></slot>\n <div part=\"content\">\n <slot name=\"label\">${this.label}</slot>\n </div>\n <slot name=\"suffix\" part=\"suffix\"></slot>\n </div>\n </div>\n <div\n part=\"tab-body\"\n role=\"tabpanel\"\n id=${contentId}\n aria-labelledby=${headerId}\n .inert=${!this.selected}\n >\n <slot></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tab': IgcTabComponent;\n }\n}\n"]}
@@ -24,7 +24,9 @@ import { createTabHelpers, getTabHeader } from './tab-dom.js';
24
24
  import { styles as shared } from './themes/shared/tabs/tabs.common.css.js';
25
25
  import { styles } from './themes/tabs.base.css.js';
26
26
  import { all } from './themes/tabs-themes.js';
27
- class IgcTabsComponent extends EventEmitterMixin(LitElement) {
27
+ export default class IgcTabsComponent extends EventEmitterMixin(LitElement) {
28
+ static { this.tagName = 'igc-tabs'; }
29
+ static { this.styles = [styles, shared]; }
28
30
  static register() {
29
31
  registerComponent(IgcTabsComponent, IgcTabComponent, IgcIconButtonComponent);
30
32
  }
@@ -59,7 +61,6 @@ class IgcTabsComponent extends EventEmitterMixin(LitElement) {
59
61
  addKeybindings(this, {
60
62
  ref: this._headerRef,
61
63
  skip: this._skipKeyboard,
62
- bindingDefaults: { preventDefault: true },
63
64
  })
64
65
  .set(arrowLeft, () => this._handleArrowKeys(isLTR(this) ? -1 : 1))
65
66
  .set(arrowRight, () => this._handleArrowKeys(isLTR(this) ? 1 : -1))
@@ -252,9 +253,6 @@ class IgcTabsComponent extends EventEmitterMixin(LitElement) {
252
253
  `;
253
254
  }
254
255
  }
255
- IgcTabsComponent.tagName = 'igc-tabs';
256
- IgcTabsComponent.styles = [styles, shared];
257
- export default IgcTabsComponent;
258
256
  __decorate([
259
257
  queryAssignedElements({ selector: IgcTabComponent.tagName })
260
258
  ], IgcTabsComponent.prototype, "_tabs", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../src/components/tabs/tabs.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport {\n eventOptions,\n property,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { cache } from 'lit/directives/cache.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\n\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport IgcIconButtonComponent from '../button/icon-button.js';\nimport {\n addKeybindings,\n arrowLeft,\n arrowRight,\n endKey,\n homeKey,\n} from '../common/controllers/key-bindings.js';\nimport {\n createMutationController,\n type MutationControllerParams,\n} from '../common/controllers/mutation-observer.js';\nimport { createResizeObserverController } from '../common/controllers/resize-observer.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { partMap } from '../common/part-map.js';\nimport {\n findElementFromEventPath,\n first,\n getRoot,\n isEmpty,\n isLTR,\n isString,\n last,\n scrollIntoView,\n wrap,\n} from '../common/util.js';\nimport type { TabsActivation, TabsAlignment } from '../types.js';\nimport IgcTabComponent from './tab.js';\nimport { createTabHelpers, getTabHeader } from './tab-dom.js';\nimport { styles as shared } from './themes/shared/tabs/tabs.common.css.js';\nimport { styles } from './themes/tabs.base.css.js';\nimport { all } from './themes/tabs-themes.js';\n\nexport interface IgcTabsComponentEventMap {\n igcChange: CustomEvent<IgcTabComponent>;\n}\n\n/* blazorAdditionalDependency: IgcTabComponent */\n/**\n * Tabs organize and allow navigation between groups of content that are related and at the same level of hierarchy.\n *\n * The `<igc-tabs>` component allows the user to navigate between multiple `<igc-tab>` elements.\n * It supports keyboard navigation and provides API methods to control the selected tab.\n *\n * @element igc-tabs\n *\n * @fires igcChange - Emitted when the selected tab changes.\n *\n * @slot - Renders the `IgcTabComponents` inside default slot.\n *\n * @csspart start-scroll-button - The start scroll button displayed when the tabs overflow.\n * @csspart end-scroll-button - The end scroll button displayed when the tabs overflow.\n * @csspart selected-indicator - The indicator that shows which tab is selected.\n */\nexport default class IgcTabsComponent extends EventEmitterMixin<\n IgcTabsComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-tabs';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(\n IgcTabsComponent,\n IgcTabComponent,\n IgcIconButtonComponent\n );\n }\n\n //#region Private state & properties\n\n private readonly _resizeController = createResizeObserverController(this, {\n callback: this._resizeCallback,\n options: { box: 'border-box' },\n target: null,\n });\n\n /** The tabs container reference holding the tab headers. */\n private readonly _headerRef = createRef<HTMLElement>();\n\n /** The selected tab indicator reference. */\n private readonly _indicatorRef = createRef<HTMLElement>();\n\n private readonly _domHelpers = createTabHelpers(\n this,\n this._headerRef,\n this._indicatorRef\n );\n\n @queryAssignedElements({ selector: IgcTabComponent.tagName })\n private _tabs!: IgcTabComponent[];\n\n protected get _enabledTabs(): IgcTabComponent[] {\n return this._tabs.filter((tab) => !tab.disabled);\n }\n\n @state()\n private _activeTab?: IgcTabComponent;\n\n //#endregion\n\n //#region Public properties\n\n /**\n * Sets the alignment for the tab headers\n * @attr\n */\n @property({ reflect: true })\n public alignment: TabsAlignment = 'start';\n\n /**\n * Determines the tab activation. When set to auto,\n * the tab is instantly selected while navigating with the Left/Right Arrows, Home or End keys\n * and the corresponding panel is displayed.\n * When set to manual, the tab is only focused. The selection happens after pressing Space or Enter.\n * @attr\n */\n @property()\n public activation: TabsActivation = 'auto';\n\n /* blazorSuppress */\n /** Returns the direct `igc-tab` elements that are children of this element. */\n public get tabs(): IgcTabComponent[] {\n return this._tabs;\n }\n\n /** Returns the currently selected tab label or IDREF if no label property is set. */\n public get selected(): string {\n if (this._activeTab) {\n return this._activeTab.label || this._activeTab.id;\n }\n\n return '';\n }\n\n //#endregion\n\n @watch('alignment', { waitUntilFirstUpdate: true })\n protected _alignmentChanged(): void {\n this._domHelpers.setIndicator(this._activeTab);\n }\n\n //#region Life-cycle hooks\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n addKeybindings(this, {\n ref: this._headerRef,\n skip: this._skipKeyboard,\n bindingDefaults: { preventDefault: true },\n })\n .set(arrowLeft, () => this._handleArrowKeys(isLTR(this) ? -1 : 1))\n .set(arrowRight, () => this._handleArrowKeys(isLTR(this) ? 1 : -1))\n .set(homeKey, this._handleHomeKey)\n .set(endKey, this._handleEndKey)\n .setActivateHandler(this._handleActivationKeys, {\n preventDefault: false,\n });\n\n createMutationController(this, {\n callback: this._mutationCallback,\n config: {\n attributeFilter: ['selected'],\n childList: true,\n subtree: true,\n },\n filter: [IgcTabComponent.tagName],\n });\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n\n const selectedTab =\n this._tabs.findLast((tab) => tab.selected) ?? first(this._enabledTabs);\n\n this._domHelpers.setStyleProperties();\n this._domHelpers.setScrollButtonState();\n this._setSelectedTab(selectedTab, false);\n\n this._resizeController.observe(this._headerRef.value!);\n }\n\n /** @internal */\n public override connectedCallback(): void {\n super.connectedCallback();\n this.role = 'tablist';\n }\n\n protected override updated(): void {\n if (this._domHelpers.isLeftToRightChanged) {\n this._domHelpers.setIndicator(this._activeTab);\n }\n }\n\n //#endregion\n\n //#region Observers callbacks\n\n private _resizeCallback(): void {\n this._domHelpers.setStyleProperties();\n this._domHelpers.setScrollButtonState();\n this._domHelpers.setIndicator(this._activeTab);\n }\n\n private _mutationCallback(\n parameters: MutationControllerParams<IgcTabComponent>\n ): void {\n this._selectedAttributeChanged(parameters);\n this._handleTabsRemoved(parameters);\n this._handleTabsAdded(parameters);\n\n this._domHelpers.setStyleProperties();\n this._domHelpers.setScrollButtonState();\n this._domHelpers.setIndicator(this._activeTab);\n }\n\n private _selectedAttributeChanged({\n changes,\n }: MutationControllerParams<IgcTabComponent>): void {\n const selected = changes.attributes.find(\n ({ node: tab }) => this._tabs.includes(tab) && tab.selected\n )?.node;\n this._setSelectedTab(selected, false);\n }\n\n private _handleTabsAdded({\n changes,\n }: MutationControllerParams<IgcTabComponent>): void {\n if (!isEmpty(changes.added)) {\n const lastAdded = changes.added.findLast(\n (change) =>\n change.target.closest(this.tagName) === this && change.node.selected\n )?.node;\n\n this._setSelectedTab(lastAdded, false);\n }\n }\n\n private _handleTabsRemoved({\n changes,\n }: MutationControllerParams<IgcTabComponent>): void {\n if (!isEmpty(changes.removed)) {\n let nextSelectedTab: IgcTabComponent | null = null;\n\n const removed = changes.removed.filter(\n (change) => change.target.closest(this.tagName) === this\n );\n\n for (const each of removed) {\n if (each.node.selected && each.node === this._activeTab) {\n nextSelectedTab = first(this._enabledTabs);\n break;\n }\n }\n\n if (nextSelectedTab) {\n this._setSelectedTab(nextSelectedTab, false);\n }\n }\n }\n\n //#endregion\n\n //#region Private API\n\n private _getClosestActiveTabIndex(): number {\n const active = getRoot(this).activeElement;\n const tab = active ? active.closest(IgcTabComponent.tagName) : null;\n return tab ? this._enabledTabs.indexOf(tab) : -1;\n }\n\n private _setSelectedTab(tab?: IgcTabComponent, shouldEmit = true): void {\n if (!tab || tab === this._activeTab) {\n return;\n }\n\n if (this._activeTab) {\n this._activeTab.selected = false;\n }\n\n tab.selected = true;\n this._activeTab = tab;\n\n scrollIntoView(getTabHeader(tab));\n this._domHelpers.setIndicator(this._activeTab);\n\n if (shouldEmit) {\n this.emitEvent('igcChange', { detail: this._activeTab });\n }\n }\n\n private _keyboardActivateTab(tab: IgcTabComponent) {\n const header = getTabHeader(tab);\n\n this._domHelpers.setScrollSnap();\n scrollIntoView(header);\n header.focus({ preventScroll: true });\n\n if (this.activation === 'auto') {\n this._setSelectedTab(tab);\n }\n }\n\n private _skipKeyboard(node: Element, event: KeyboardEvent): boolean {\n return !(\n this._isEventFromTabHeader(event) &&\n this._tabs.includes(node.closest(IgcTabComponent.tagName)!)\n );\n }\n\n private _isEventFromTabHeader(event: Event) {\n return findElementFromEventPath('[part~=\"tab-header\"]', event);\n }\n\n //#endregion\n\n //#region Event handlers\n\n protected _handleArrowKeys(delta: -1 | 1): void {\n const tabs = this._enabledTabs;\n this._keyboardActivateTab(\n tabs[wrap(0, tabs.length - 1, this._getClosestActiveTabIndex() + delta)]\n );\n }\n\n protected _handleHomeKey(): void {\n this._keyboardActivateTab(first(this._enabledTabs));\n }\n\n protected _handleEndKey(): void {\n this._keyboardActivateTab(last(this._enabledTabs));\n }\n\n protected _handleActivationKeys(): void {\n const tabs = this._enabledTabs;\n const index = this._getClosestActiveTabIndex();\n\n if (index > -1) {\n this._setSelectedTab(tabs[index], false);\n this._keyboardActivateTab(tabs[index]);\n }\n }\n\n protected _handleClick(event: PointerEvent): void {\n if (!this._isEventFromTabHeader(event)) {\n return;\n }\n\n const tab = findElementFromEventPath<IgcTabComponent>(\n IgcTabComponent.tagName,\n event\n );\n\n if (!(tab && this._tabs.includes(tab)) || tab?.disabled) {\n return;\n }\n\n this._domHelpers.setScrollSnap();\n getTabHeader(tab).focus();\n this._setSelectedTab(tab);\n }\n\n @eventOptions({ passive: true })\n protected _handleScroll(): void {\n this._domHelpers.setScrollButtonState();\n }\n\n //#endregion\n\n //#region Public API methods\n\n /** Selects the specified tab and displays the corresponding panel. */\n public select(id: string): void;\n /* blazorSuppress (ref is reserved) */\n public select(ref: IgcTabComponent): void;\n /* blazorSuppress (ref is reserved) */\n public select(ref: IgcTabComponent | string): void {\n const tab = isString(ref) ? this._tabs.find((t) => t.id === ref) : ref;\n\n if (tab) {\n this._setSelectedTab(tab, false);\n }\n }\n\n //#endregion\n\n //#region Render\n\n protected _renderScrollButton(direction: 'start' | 'end') {\n const isStart = direction === 'start';\n const { start, end } = this._domHelpers.scrollButtonsDisabled;\n\n return html`${cache(\n this._domHelpers.hasScrollButtons\n ? html`\n <igc-icon-button\n tabindex=\"-1\"\n variant=\"flat\"\n collection=\"default\"\n part=\"${direction}-scroll-button\"\n exportparts=\"icon\"\n name=${isStart ? 'prev' : 'next'}\n ?disabled=${isStart ? start : end}\n @click=${() => this._domHelpers.scrollTabs(direction)}\n >\n </igc-icon-button>\n `\n : nothing\n )}`;\n }\n\n protected override render() {\n return html`\n <div\n ${ref(this._headerRef)}\n part=\"tabs\"\n style=${styleMap(this._domHelpers.styleProperties)}\n @scroll=${this._handleScroll}\n >\n <div\n part=${partMap({\n inner: true,\n scrollable: this._domHelpers.hasScrollButtons,\n })}\n >\n ${this._renderScrollButton('start')}\n <slot @click=${this._handleClick}></slot>\n ${this._renderScrollButton('end')}\n <div part=\"selected-indicator\">\n <span ${ref(this._indicatorRef)}></span>\n </div>\n </div>\n </div>\n `;\n }\n\n //#endregion\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tabs': IgcTabsComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../src/components/tabs/tabs.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport {\n eventOptions,\n property,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { cache } from 'lit/directives/cache.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\n\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport IgcIconButtonComponent from '../button/icon-button.js';\nimport {\n addKeybindings,\n arrowLeft,\n arrowRight,\n endKey,\n homeKey,\n} from '../common/controllers/key-bindings.js';\nimport {\n createMutationController,\n type MutationControllerParams,\n} from '../common/controllers/mutation-observer.js';\nimport { createResizeObserverController } from '../common/controllers/resize-observer.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { partMap } from '../common/part-map.js';\nimport {\n findElementFromEventPath,\n first,\n getRoot,\n isEmpty,\n isLTR,\n isString,\n last,\n scrollIntoView,\n wrap,\n} from '../common/util.js';\nimport type { TabsActivation, TabsAlignment } from '../types.js';\nimport IgcTabComponent from './tab.js';\nimport { createTabHelpers, getTabHeader } from './tab-dom.js';\nimport { styles as shared } from './themes/shared/tabs/tabs.common.css.js';\nimport { styles } from './themes/tabs.base.css.js';\nimport { all } from './themes/tabs-themes.js';\n\nexport interface IgcTabsComponentEventMap {\n igcChange: CustomEvent<IgcTabComponent>;\n}\n\n/* blazorAdditionalDependency: IgcTabComponent */\n/**\n * Tabs organize and allow navigation between groups of content that are related and at the same level of hierarchy.\n *\n * The `<igc-tabs>` component allows the user to navigate between multiple `<igc-tab>` elements.\n * It supports keyboard navigation and provides API methods to control the selected tab.\n *\n * @element igc-tabs\n *\n * @fires igcChange - Emitted when the selected tab changes.\n *\n * @slot - Renders the `IgcTabComponents` inside default slot.\n *\n * @csspart start-scroll-button - The start scroll button displayed when the tabs overflow.\n * @csspart end-scroll-button - The end scroll button displayed when the tabs overflow.\n * @csspart selected-indicator - The indicator that shows which tab is selected.\n */\nexport default class IgcTabsComponent extends EventEmitterMixin<\n IgcTabsComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-tabs';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(\n IgcTabsComponent,\n IgcTabComponent,\n IgcIconButtonComponent\n );\n }\n\n //#region Private state & properties\n\n private readonly _resizeController = createResizeObserverController(this, {\n callback: this._resizeCallback,\n options: { box: 'border-box' },\n target: null,\n });\n\n /** The tabs container reference holding the tab headers. */\n private readonly _headerRef = createRef<HTMLElement>();\n\n /** The selected tab indicator reference. */\n private readonly _indicatorRef = createRef<HTMLElement>();\n\n private readonly _domHelpers = createTabHelpers(\n this,\n this._headerRef,\n this._indicatorRef\n );\n\n @queryAssignedElements({ selector: IgcTabComponent.tagName })\n private _tabs!: IgcTabComponent[];\n\n protected get _enabledTabs(): IgcTabComponent[] {\n return this._tabs.filter((tab) => !tab.disabled);\n }\n\n @state()\n private _activeTab?: IgcTabComponent;\n\n //#endregion\n\n //#region Public properties\n\n /**\n * Sets the alignment for the tab headers\n * @attr\n */\n @property({ reflect: true })\n public alignment: TabsAlignment = 'start';\n\n /**\n * Determines the tab activation. When set to auto,\n * the tab is instantly selected while navigating with the Left/Right Arrows, Home or End keys\n * and the corresponding panel is displayed.\n * When set to manual, the tab is only focused. The selection happens after pressing Space or Enter.\n * @attr\n */\n @property()\n public activation: TabsActivation = 'auto';\n\n /* blazorSuppress */\n /** Returns the direct `igc-tab` elements that are children of this element. */\n public get tabs(): IgcTabComponent[] {\n return this._tabs;\n }\n\n /** Returns the currently selected tab label or IDREF if no label property is set. */\n public get selected(): string {\n if (this._activeTab) {\n return this._activeTab.label || this._activeTab.id;\n }\n\n return '';\n }\n\n //#endregion\n\n @watch('alignment', { waitUntilFirstUpdate: true })\n protected _alignmentChanged(): void {\n this._domHelpers.setIndicator(this._activeTab);\n }\n\n //#region Life-cycle hooks\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n addKeybindings(this, {\n ref: this._headerRef,\n skip: this._skipKeyboard,\n })\n .set(arrowLeft, () => this._handleArrowKeys(isLTR(this) ? -1 : 1))\n .set(arrowRight, () => this._handleArrowKeys(isLTR(this) ? 1 : -1))\n .set(homeKey, this._handleHomeKey)\n .set(endKey, this._handleEndKey)\n .setActivateHandler(this._handleActivationKeys, {\n preventDefault: false,\n });\n\n createMutationController(this, {\n callback: this._mutationCallback,\n config: {\n attributeFilter: ['selected'],\n childList: true,\n subtree: true,\n },\n filter: [IgcTabComponent.tagName],\n });\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n\n const selectedTab =\n this._tabs.findLast((tab) => tab.selected) ?? first(this._enabledTabs);\n\n this._domHelpers.setStyleProperties();\n this._domHelpers.setScrollButtonState();\n this._setSelectedTab(selectedTab, false);\n\n this._resizeController.observe(this._headerRef.value!);\n }\n\n /** @internal */\n public override connectedCallback(): void {\n super.connectedCallback();\n this.role = 'tablist';\n }\n\n protected override updated(): void {\n if (this._domHelpers.isLeftToRightChanged) {\n this._domHelpers.setIndicator(this._activeTab);\n }\n }\n\n //#endregion\n\n //#region Observers callbacks\n\n private _resizeCallback(): void {\n this._domHelpers.setStyleProperties();\n this._domHelpers.setScrollButtonState();\n this._domHelpers.setIndicator(this._activeTab);\n }\n\n private _mutationCallback(\n parameters: MutationControllerParams<IgcTabComponent>\n ): void {\n this._selectedAttributeChanged(parameters);\n this._handleTabsRemoved(parameters);\n this._handleTabsAdded(parameters);\n\n this._domHelpers.setStyleProperties();\n this._domHelpers.setScrollButtonState();\n this._domHelpers.setIndicator(this._activeTab);\n }\n\n private _selectedAttributeChanged({\n changes,\n }: MutationControllerParams<IgcTabComponent>): void {\n const selected = changes.attributes.find(\n ({ node: tab }) => this._tabs.includes(tab) && tab.selected\n )?.node;\n this._setSelectedTab(selected, false);\n }\n\n private _handleTabsAdded({\n changes,\n }: MutationControllerParams<IgcTabComponent>): void {\n if (!isEmpty(changes.added)) {\n const lastAdded = changes.added.findLast(\n (change) =>\n change.target.closest(this.tagName) === this && change.node.selected\n )?.node;\n\n this._setSelectedTab(lastAdded, false);\n }\n }\n\n private _handleTabsRemoved({\n changes,\n }: MutationControllerParams<IgcTabComponent>): void {\n if (!isEmpty(changes.removed)) {\n let nextSelectedTab: IgcTabComponent | null = null;\n\n const removed = changes.removed.filter(\n (change) => change.target.closest(this.tagName) === this\n );\n\n for (const each of removed) {\n if (each.node.selected && each.node === this._activeTab) {\n nextSelectedTab = first(this._enabledTabs);\n break;\n }\n }\n\n if (nextSelectedTab) {\n this._setSelectedTab(nextSelectedTab, false);\n }\n }\n }\n\n //#endregion\n\n //#region Private API\n\n private _getClosestActiveTabIndex(): number {\n const active = getRoot(this).activeElement;\n const tab = active ? active.closest(IgcTabComponent.tagName) : null;\n return tab ? this._enabledTabs.indexOf(tab) : -1;\n }\n\n private _setSelectedTab(tab?: IgcTabComponent, shouldEmit = true): void {\n if (!tab || tab === this._activeTab) {\n return;\n }\n\n if (this._activeTab) {\n this._activeTab.selected = false;\n }\n\n tab.selected = true;\n this._activeTab = tab;\n\n scrollIntoView(getTabHeader(tab));\n this._domHelpers.setIndicator(this._activeTab);\n\n if (shouldEmit) {\n this.emitEvent('igcChange', { detail: this._activeTab });\n }\n }\n\n private _keyboardActivateTab(tab: IgcTabComponent) {\n const header = getTabHeader(tab);\n\n this._domHelpers.setScrollSnap();\n scrollIntoView(header);\n header.focus({ preventScroll: true });\n\n if (this.activation === 'auto') {\n this._setSelectedTab(tab);\n }\n }\n\n private _skipKeyboard(node: Element, event: KeyboardEvent): boolean {\n return !(\n this._isEventFromTabHeader(event) &&\n this._tabs.includes(node.closest(IgcTabComponent.tagName)!)\n );\n }\n\n private _isEventFromTabHeader(event: Event) {\n return findElementFromEventPath('[part~=\"tab-header\"]', event);\n }\n\n //#endregion\n\n //#region Event handlers\n\n protected _handleArrowKeys(delta: -1 | 1): void {\n const tabs = this._enabledTabs;\n this._keyboardActivateTab(\n tabs[wrap(0, tabs.length - 1, this._getClosestActiveTabIndex() + delta)]\n );\n }\n\n protected _handleHomeKey(): void {\n this._keyboardActivateTab(first(this._enabledTabs));\n }\n\n protected _handleEndKey(): void {\n this._keyboardActivateTab(last(this._enabledTabs));\n }\n\n protected _handleActivationKeys(): void {\n const tabs = this._enabledTabs;\n const index = this._getClosestActiveTabIndex();\n\n if (index > -1) {\n this._setSelectedTab(tabs[index], false);\n this._keyboardActivateTab(tabs[index]);\n }\n }\n\n protected _handleClick(event: PointerEvent): void {\n if (!this._isEventFromTabHeader(event)) {\n return;\n }\n\n const tab = findElementFromEventPath<IgcTabComponent>(\n IgcTabComponent.tagName,\n event\n );\n\n if (!(tab && this._tabs.includes(tab)) || tab?.disabled) {\n return;\n }\n\n this._domHelpers.setScrollSnap();\n getTabHeader(tab).focus();\n this._setSelectedTab(tab);\n }\n\n @eventOptions({ passive: true })\n protected _handleScroll(): void {\n this._domHelpers.setScrollButtonState();\n }\n\n //#endregion\n\n //#region Public API methods\n\n /** Selects the specified tab and displays the corresponding panel. */\n public select(id: string): void;\n /* blazorSuppress (ref is reserved) */\n public select(ref: IgcTabComponent): void;\n /* blazorSuppress (ref is reserved) */\n public select(ref: IgcTabComponent | string): void {\n const tab = isString(ref) ? this._tabs.find((t) => t.id === ref) : ref;\n\n if (tab) {\n this._setSelectedTab(tab, false);\n }\n }\n\n //#endregion\n\n //#region Render\n\n protected _renderScrollButton(direction: 'start' | 'end') {\n const isStart = direction === 'start';\n const { start, end } = this._domHelpers.scrollButtonsDisabled;\n\n return html`${cache(\n this._domHelpers.hasScrollButtons\n ? html`\n <igc-icon-button\n tabindex=\"-1\"\n variant=\"flat\"\n collection=\"default\"\n part=\"${direction}-scroll-button\"\n exportparts=\"icon\"\n name=${isStart ? 'prev' : 'next'}\n ?disabled=${isStart ? start : end}\n @click=${() => this._domHelpers.scrollTabs(direction)}\n >\n </igc-icon-button>\n `\n : nothing\n )}`;\n }\n\n protected override render() {\n return html`\n <div\n ${ref(this._headerRef)}\n part=\"tabs\"\n style=${styleMap(this._domHelpers.styleProperties)}\n @scroll=${this._handleScroll}\n >\n <div\n part=${partMap({\n inner: true,\n scrollable: this._domHelpers.hasScrollButtons,\n })}\n >\n ${this._renderScrollButton('start')}\n <slot @click=${this._handleClick}></slot>\n ${this._renderScrollButton('end')}\n <div part=\"selected-indicator\">\n <span ${ref(this._indicatorRef)}></span>\n </div>\n </div>\n </div>\n `;\n }\n\n //#endregion\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tabs': IgcTabsComponent;\n }\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{border-end-end-radius:0;border-end-start-radius:0}:host [part=tab-header]{transition:none;border-radius:0;padding:.5rem 1rem}:host [part=tab-header]::before{content:"";position:absolute;border-radius:var(--border-radius) var(--border-radius) 0 0;inset:0;z-index:-1}:host [part=tab-header] ::slotted(igc-icon){transition:none}[part~=content]{font-family:var(--ig-button-font-family, var(--ig-font-family));font-size:var(--ig-button-font-size);font-weight:var(--ig-button-font-weight);font-style:var(--ig-button-font-style);line-height:var(--ig-button-line-height);letter-spacing:var(--ig-button-letter-spacing);text-transform:var(--ig-button-text-transform);margin-top:var(--ig-button-margin-top);margin-bottom:var(--ig-button-margin-bottom)}[part=tab-header]:hover::before{box-shadow:inset 0 var(--_border-size) 0 0 var(--border-color--hover),inset calc(var(--_border-size)*-1) 0 0 0 var(--border-color--hover),inset var(--_border-size) 0 0 0 var(--border-color--hover)}[part=tab-header]:focus,[part=tab-header]:focus-within{background:var(--item-hover-background);z-index:1}[part=tab-header]:focus-within::after{content:"";pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:absolute;width:100%;height:100%;box-shadow:inset 0 0 0 .125rem var(--item-hover-color);border-radius:var(--border-radius);z-index:2}:host([selected]) [part=tab-header]{position:relative}:host([selected]) [part=tab-header]::before{box-shadow:inset 0 var(--_border-size) 0 0 var(--border-color),inset calc(var(--_border-size)*-1) 0 0 0 var(--border-color),inset var(--_border-size) 0 0 0 var(--border-color)}:host([selected]) [part=tab-header]:hover{border-top-color:var(--border-color);border-inline-color:var(--border-color);border-bottom-color:var(--item-background)}:host([selected]) [part=tab-header]:focus,:host([selected]) [part=tab-header]:focus-within{background:var(--item-hover-background);z-index:1}:host(:not([selected])) [part=tab-header]{border-radius:0;box-shadow:inset 0 calc(var(--_border-size)*-1) 0 0 var(--border-color)}:host(:not([selected])) [part=tab-header]::before{height:calc(100% - var(--_border-size))}`;
2
+ export const styles = css `:host{border-end-end-radius:0;border-end-start-radius:0}:host [part=tab-header]{transition:none;border-radius:0;padding:max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}:host [part=tab-header]::before{content:"";position:absolute;border-radius:var(--border-radius) var(--border-radius) 0 0;inset:0;z-index:-1}:host [part=tab-header] ::slotted(igc-icon){transition:none}[part~=content]{font-family:var(--ig-button-font-family, var(--ig-font-family));font-size:var(--ig-button-font-size);font-weight:var(--ig-button-font-weight);font-style:var(--ig-button-font-style);line-height:var(--ig-button-line-height);letter-spacing:var(--ig-button-letter-spacing);text-transform:var(--ig-button-text-transform);margin-top:var(--ig-button-margin-top);margin-bottom:var(--ig-button-margin-bottom)}[part=tab-header]:hover::before{box-shadow:inset 0 var(--_border-size) 0 0 var(--border-color--hover),inset calc(var(--_border-size)*-1) 0 0 0 var(--border-color--hover),inset var(--_border-size) 0 0 0 var(--border-color--hover)}[part=tab-header]:focus,[part=tab-header]:focus-within{background:var(--item-hover-background);z-index:1}[part=tab-header]:focus-within::after{content:"";pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:absolute;width:100%;height:100%;box-shadow:inset 0 0 0 .125rem var(--item-hover-color);border-radius:var(--border-radius);z-index:2}:host([selected]) [part=tab-header]{position:relative}:host([selected]) [part=tab-header]::before{box-shadow:inset 0 var(--_border-size) 0 0 var(--border-color),inset calc(var(--_border-size)*-1) 0 0 0 var(--border-color),inset var(--_border-size) 0 0 0 var(--border-color)}:host([selected]) [part=tab-header]:hover{border-top-color:var(--border-color);border-inline-color:var(--border-color);border-bottom-color:var(--item-background)}:host([selected]) [part=tab-header]:focus,:host([selected]) [part=tab-header]:focus-within{background:var(--item-hover-background);z-index:1}:host(:not([selected])) [part=tab-header]{border-radius:0;box-shadow:inset 0 calc(var(--_border-size)*-1) 0 0 var(--border-color)}:host(:not([selected])) [part=tab-header]::before{height:calc(100% - var(--_border-size))}`;
3
3
  //# sourceMappingURL=tab.bootstrap.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab.bootstrap.css.js","sourceRoot":"","sources":["../../../../../../src/components/tabs/themes/shared/tab/tab.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,0mEAA0mE,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{border-end-end-radius:0;border-end-start-radius:0}:host [part=tab-header]{transition:none;border-radius:0;padding:.5rem 1rem}:host [part=tab-header]::before{content:\"\";position:absolute;border-radius:var(--border-radius) var(--border-radius) 0 0;inset:0;z-index:-1}:host [part=tab-header] ::slotted(igc-icon){transition:none}[part~=content]{font-family:var(--ig-button-font-family, var(--ig-font-family));font-size:var(--ig-button-font-size);font-weight:var(--ig-button-font-weight);font-style:var(--ig-button-font-style);line-height:var(--ig-button-line-height);letter-spacing:var(--ig-button-letter-spacing);text-transform:var(--ig-button-text-transform);margin-top:var(--ig-button-margin-top);margin-bottom:var(--ig-button-margin-bottom)}[part=tab-header]:hover::before{box-shadow:inset 0 var(--_border-size) 0 0 var(--border-color--hover),inset calc(var(--_border-size)*-1) 0 0 0 var(--border-color--hover),inset var(--_border-size) 0 0 0 var(--border-color--hover)}[part=tab-header]:focus,[part=tab-header]:focus-within{background:var(--item-hover-background);z-index:1}[part=tab-header]:focus-within::after{content:\"\";pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:absolute;width:100%;height:100%;box-shadow:inset 0 0 0 .125rem var(--item-hover-color);border-radius:var(--border-radius);z-index:2}:host([selected]) [part=tab-header]{position:relative}:host([selected]) [part=tab-header]::before{box-shadow:inset 0 var(--_border-size) 0 0 var(--border-color),inset calc(var(--_border-size)*-1) 0 0 0 var(--border-color),inset var(--_border-size) 0 0 0 var(--border-color)}:host([selected]) [part=tab-header]:hover{border-top-color:var(--border-color);border-inline-color:var(--border-color);border-bottom-color:var(--item-background)}:host([selected]) [part=tab-header]:focus,:host([selected]) [part=tab-header]:focus-within{background:var(--item-hover-background);z-index:1}:host(:not([selected])) [part=tab-header]{border-radius:0;box-shadow:inset 0 calc(var(--_border-size)*-1) 0 0 var(--border-color)}:host(:not([selected])) [part=tab-header]::before{height:calc(100% - var(--_border-size))}`;\n"]}
1
+ {"version":3,"file":"tab.bootstrap.css.js","sourceRoot":"","sources":["../../../../../../src/components/tabs/themes/shared/tab/tab.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,2yFAA2yF,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{border-end-end-radius:0;border-end-start-radius:0}:host [part=tab-header]{transition:none;border-radius:0;padding:max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}:host [part=tab-header]::before{content:\"\";position:absolute;border-radius:var(--border-radius) var(--border-radius) 0 0;inset:0;z-index:-1}:host [part=tab-header] ::slotted(igc-icon){transition:none}[part~=content]{font-family:var(--ig-button-font-family, var(--ig-font-family));font-size:var(--ig-button-font-size);font-weight:var(--ig-button-font-weight);font-style:var(--ig-button-font-style);line-height:var(--ig-button-line-height);letter-spacing:var(--ig-button-letter-spacing);text-transform:var(--ig-button-text-transform);margin-top:var(--ig-button-margin-top);margin-bottom:var(--ig-button-margin-bottom)}[part=tab-header]:hover::before{box-shadow:inset 0 var(--_border-size) 0 0 var(--border-color--hover),inset calc(var(--_border-size)*-1) 0 0 0 var(--border-color--hover),inset var(--_border-size) 0 0 0 var(--border-color--hover)}[part=tab-header]:focus,[part=tab-header]:focus-within{background:var(--item-hover-background);z-index:1}[part=tab-header]:focus-within::after{content:\"\";pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:absolute;width:100%;height:100%;box-shadow:inset 0 0 0 .125rem var(--item-hover-color);border-radius:var(--border-radius);z-index:2}:host([selected]) [part=tab-header]{position:relative}:host([selected]) [part=tab-header]::before{box-shadow:inset 0 var(--_border-size) 0 0 var(--border-color),inset calc(var(--_border-size)*-1) 0 0 0 var(--border-color),inset var(--_border-size) 0 0 0 var(--border-color)}:host([selected]) [part=tab-header]:hover{border-top-color:var(--border-color);border-inline-color:var(--border-color);border-bottom-color:var(--item-background)}:host([selected]) [part=tab-header]:focus,:host([selected]) [part=tab-header]:focus-within{background:var(--item-hover-background);z-index:1}:host(:not([selected])) [part=tab-header]{border-radius:0;box-shadow:inset 0 calc(var(--_border-size)*-1) 0 0 var(--border-color)}:host(:not([selected])) [part=tab-header]::before{height:calc(100% - var(--_border-size))}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `[part=tab-header]{transition:all .3s cubic-bezier(0.35, 0, 0.25, 1);padding:.625rem 1rem}[part=content]{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)}:host([selected]) [part=content]{font-weight:700}:host([selected]) [part=tab-header]:hover,:host([selected]) [part=tab-header]:focus-within{color:var(--item-hover-color)}:host([selected]) [part=tab-header]:hover ::slotted(igc-icon),:host([selected]) [part=tab-header]:focus-within ::slotted(igc-icon){color:var(--item-hover-icon-color)}`;
2
+ export const styles = css `[part=tab-header]{transition:all .3s cubic-bezier(0.35, 0, 0.25, 1);padding:max(var(--is-large, 1)*max(0.625rem, -1 * 0.625rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(0.625rem, -1 * 0.625rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(0.625rem, -1 * 0.625rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}[part=content]{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)}:host([selected]) [part=content]{font-weight:700}:host([selected]) [part=tab-header]:hover,:host([selected]) [part=tab-header]:focus-within{color:var(--item-hover-color)}:host([selected]) [part=tab-header]:hover ::slotted(igc-icon),:host([selected]) [part=tab-header]:focus-within ::slotted(igc-icon){color:var(--item-hover-icon-color)}`;
3
3
  //# sourceMappingURL=tab.fluent.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab.fluent.css.js","sourceRoot":"","sources":["../../../../../../src/components/tabs/themes/shared/tab/tab.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,00BAA00B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part=tab-header]{transition:all .3s cubic-bezier(0.35, 0, 0.25, 1);padding:.625rem 1rem}[part=content]{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)}:host([selected]) [part=content]{font-weight:700}:host([selected]) [part=tab-header]:hover,:host([selected]) [part=tab-header]:focus-within{color:var(--item-hover-color)}:host([selected]) [part=tab-header]:hover ::slotted(igc-icon),:host([selected]) [part=tab-header]:focus-within ::slotted(igc-icon){color:var(--item-hover-icon-color)}`;\n"]}
1
+ {"version":3,"file":"tab.fluent.css.js","sourceRoot":"","sources":["../../../../../../src/components/tabs/themes/shared/tab/tab.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,qhDAAqhD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part=tab-header]{transition:all .3s cubic-bezier(0.35, 0, 0.25, 1);padding:max(var(--is-large, 1)*max(0.625rem, -1 * 0.625rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(0.625rem, -1 * 0.625rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(0.625rem, -1 * 0.625rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}[part=content]{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)}:host([selected]) [part=content]{font-weight:700}:host([selected]) [part=tab-header]:hover,:host([selected]) [part=tab-header]:focus-within{color:var(--item-hover-color)}:host([selected]) [part=tab-header]:hover ::slotted(igc-icon),:host([selected]) [part=tab-header]:focus-within ::slotted(igc-icon){color:var(--item-hover-icon-color)}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{border-top:.0625rem solid rgba(0,0,0,0)}:host ::slotted(igc-icon){--ig-size: 2}[part=tab-header]{padding:.75rem 1rem}[part=content]{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);text-transform:uppercase}`;
2
+ export const styles = css `:host{border-top:.0625rem solid rgba(0,0,0,0)}:host ::slotted(igc-icon){--ig-size: 2}[part=tab-header]{padding:max(var(--is-large, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}[part=content]{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);text-transform:uppercase}`;
3
3
  //# sourceMappingURL=tab.indigo.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab.indigo.css.js","sourceRoot":"","sources":["../../../../../../src/components/tabs/themes/shared/tab/tab.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,ylBAAylB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{border-top:.0625rem solid rgba(0,0,0,0)}:host ::slotted(igc-icon){--ig-size: 2}[part=tab-header]{padding:.75rem 1rem}[part=content]{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);text-transform:uppercase}`;\n"]}
1
+ {"version":3,"file":"tab.indigo.css.js","sourceRoot":"","sources":["../../../../../../src/components/tabs/themes/shared/tab/tab.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,+xCAA+xC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{border-top:.0625rem solid rgba(0,0,0,0)}:host ::slotted(igc-icon){--ig-size: 2}[part=tab-header]{padding:max(var(--is-large, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}[part=content]{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);text-transform:uppercase}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `[part~=content]{font-family:var(--ig-button-font-family, var(--ig-font-family));font-size:var(--ig-button-font-size);font-weight:var(--ig-button-font-weight);font-style:var(--ig-button-font-style);line-height:var(--ig-button-line-height);letter-spacing:var(--ig-button-letter-spacing);text-transform:var(--ig-button-text-transform);margin-top:var(--ig-button-margin-top);margin-bottom:var(--ig-button-margin-bottom)}[part=tab-header]{padding:.75rem 1rem}::slotted(igc-icon){--size: 1.5rem}`;
2
+ export const styles = css `[part~=content]{font-family:var(--ig-button-font-family, var(--ig-font-family));font-size:var(--ig-button-font-size);font-weight:var(--ig-button-font-weight);font-style:var(--ig-button-font-style);line-height:var(--ig-button-line-height);letter-spacing:var(--ig-button-letter-spacing);text-transform:var(--ig-button-text-transform);margin-top:var(--ig-button-margin-top);margin-bottom:var(--ig-button-margin-bottom)}[part=tab-header]{padding:max(var(--is-large, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}::slotted(igc-icon){--size: 1.5rem}`;
3
3
  //# sourceMappingURL=tab.material.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab.material.css.js","sourceRoot":"","sources":["../../../../../../src/components/tabs/themes/shared/tab/tab.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,2eAA2e,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part~=content]{font-family:var(--ig-button-font-family, var(--ig-font-family));font-size:var(--ig-button-font-size);font-weight:var(--ig-button-font-weight);font-style:var(--ig-button-font-style);line-height:var(--ig-button-line-height);letter-spacing:var(--ig-button-letter-spacing);text-transform:var(--ig-button-text-transform);margin-top:var(--ig-button-margin-top);margin-bottom:var(--ig-button-margin-bottom)}[part=tab-header]{padding:.75rem 1rem}::slotted(igc-icon){--size: 1.5rem}`;\n"]}
1
+ {"version":3,"file":"tab.material.css.js","sourceRoot":"","sources":["../../../../../../src/components/tabs/themes/shared/tab/tab.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,irCAAirC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part~=content]{font-family:var(--ig-button-font-family, var(--ig-font-family));font-size:var(--ig-button-font-size);font-weight:var(--ig-button-font-weight);font-style:var(--ig-button-font-style);line-height:var(--ig-button-line-height);letter-spacing:var(--ig-button-letter-spacing);text-transform:var(--ig-button-text-transform);margin-top:var(--ig-button-margin-top);margin-bottom:var(--ig-button-margin-bottom)}[part=tab-header]{padding:max(var(--is-large, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}::slotted(igc-icon){--size: 1.5rem}`;\n"]}
@@ -172,7 +172,7 @@ export default class IgcTextareaComponent extends IgcTextareaComponent_base {
172
172
  scrollTo(options?: ScrollToOptions | undefined): void;
173
173
  scrollTo(x: number, y: number): void;
174
174
  protected _renderSlot(name: InferSlotNames<typeof Slots>): TemplateResult<1>;
175
- protected _renderLabel(): TemplateResult<1> | typeof nothing;
175
+ protected _renderLabel(): typeof nothing | TemplateResult<1>;
176
176
  protected _renderStandard(): TemplateResult<1>;
177
177
  protected _renderMaterial(): TemplateResult<1>;
178
178
  protected _renderInput(): TemplateResult<1>;
@@ -28,7 +28,10 @@ import { all } from './themes/themes.js';
28
28
  import { textAreaValidators } from './validators.js';
29
29
  let nextId = 1;
30
30
  const Slots = setSlots('prefix', 'suffix', 'helper-text', 'value-missing', 'too-long', 'too-short', 'custom-error', 'invalid');
31
- let IgcTextareaComponent = IgcTextareaComponent_1 = class IgcTextareaComponent extends FormAssociatedRequiredMixin(EventEmitterMixin(LitElement)) {
31
+ let IgcTextareaComponent = class IgcTextareaComponent extends FormAssociatedRequiredMixin(EventEmitterMixin(LitElement)) {
32
+ static { IgcTextareaComponent_1 = this; }
33
+ static { this.tagName = 'igc-textarea'; }
34
+ static { this.styles = [styles, shared]; }
32
35
  static register() {
33
36
  registerComponent(IgcTextareaComponent_1, IgcValidationContainerComponent);
34
37
  }
@@ -220,8 +223,6 @@ let IgcTextareaComponent = IgcTextareaComponent_1 = class IgcTextareaComponent e
220
223
  : this._renderStandard());
221
224
  }
222
225
  };
223
- IgcTextareaComponent.tagName = 'igc-textarea';
224
- IgcTextareaComponent.styles = [styles, shared];
225
226
  __decorate([
226
227
  query('textarea', true)
227
228
  ], IgcTextareaComponent.prototype, "_input", void 0);