igniteui-webcomponents 4.5.0-beta.1 → 4.5.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 (743) hide show
  1. package/CHANGELOG.md +23 -8
  2. package/components/accordion/accordion.d.ts +1 -0
  3. package/components/accordion/accordion.js +5 -3
  4. package/components/accordion/accordion.js.map +1 -1
  5. package/components/avatar/avatar.d.ts +1 -0
  6. package/components/avatar/avatar.js +6 -5
  7. package/components/avatar/avatar.js.map +1 -1
  8. package/components/avatar/themes/dark/avatar.bootstrap.css.js +6 -1
  9. package/components/avatar/themes/dark/avatar.bootstrap.css.js.map +1 -1
  10. package/components/avatar/themes/dark/avatar.fluent.css.js +6 -1
  11. package/components/avatar/themes/dark/avatar.fluent.css.js.map +1 -1
  12. package/components/avatar/themes/dark/avatar.indigo.css.js +6 -1
  13. package/components/avatar/themes/dark/avatar.indigo.css.js.map +1 -1
  14. package/components/avatar/themes/dark/avatar.material.css.js +6 -1
  15. package/components/avatar/themes/dark/avatar.material.css.js.map +1 -1
  16. package/components/avatar/themes/light/avatar.bootstrap.css.js +1 -20
  17. package/components/avatar/themes/light/avatar.bootstrap.css.js.map +1 -1
  18. package/components/avatar/themes/light/avatar.fluent.css.js +1 -20
  19. package/components/avatar/themes/light/avatar.fluent.css.js.map +1 -1
  20. package/components/avatar/themes/light/avatar.indigo.css.js +1 -20
  21. package/components/avatar/themes/light/avatar.indigo.css.js.map +1 -1
  22. package/components/avatar/themes/light/avatar.material.css.js +1 -20
  23. package/components/avatar/themes/light/avatar.material.css.js.map +1 -1
  24. package/components/avatar/themes/shared/avatar.bootstrap.css.js +20 -0
  25. package/components/avatar/themes/shared/avatar.bootstrap.css.js.map +1 -0
  26. package/components/avatar/themes/shared/avatar.fluent.css.js +20 -0
  27. package/components/avatar/themes/shared/avatar.fluent.css.js.map +1 -0
  28. package/components/avatar/themes/shared/avatar.indigo.css.js +20 -0
  29. package/components/avatar/themes/shared/avatar.indigo.css.js.map +1 -0
  30. package/components/avatar/themes/shared/avatar.material.css.js +20 -0
  31. package/components/avatar/themes/shared/avatar.material.css.js.map +1 -0
  32. package/components/avatar/themes/themes.d.ts +2 -0
  33. package/components/avatar/themes/themes.js +43 -0
  34. package/components/avatar/themes/themes.js.map +1 -0
  35. package/components/badge/badge.d.ts +1 -0
  36. package/components/badge/badge.js +5 -1
  37. package/components/badge/badge.js.map +1 -1
  38. package/components/{tabs/themes/dark/tab.dark.bootstrap.css.js → badge/themes/dark/badge.bootstrap.css.js} +1 -1
  39. package/components/badge/themes/dark/badge.bootstrap.css.js.map +1 -0
  40. package/components/badge/themes/light/badge.base.css.js +17 -6
  41. package/components/badge/themes/light/badge.base.css.js.map +1 -1
  42. package/components/badge/themes/light/badge.bootstrap.css.js +18 -4
  43. package/components/badge/themes/light/badge.bootstrap.css.js.map +1 -1
  44. package/components/button/button-base.d.ts +1 -1
  45. package/components/button/button-base.js +2 -16
  46. package/components/button/button-base.js.map +1 -1
  47. package/components/button/button.d.ts +1 -0
  48. package/components/button/button.js +8 -1
  49. package/components/button/button.js.map +1 -1
  50. package/components/button/icon-button.d.ts +1 -0
  51. package/components/button/icon-button.js +9 -4
  52. package/components/button/icon-button.js.map +1 -1
  53. package/components/button/themes/button/light/button.fluent.css.js +2 -2
  54. package/components/button/themes/button/light/button.fluent.css.js.map +1 -1
  55. package/components/button/themes/icon-button/light/icon-button.fluent.css.js +2 -2
  56. package/components/button/themes/icon-button/light/icon-button.fluent.css.js.map +1 -1
  57. package/components/button-group/button-group.d.ts +70 -0
  58. package/components/button-group/button-group.js +209 -0
  59. package/components/button-group/button-group.js.map +1 -0
  60. package/components/button-group/themes/light/button-group.base.css.js +57 -0
  61. package/components/button-group/themes/light/button-group.base.css.js.map +1 -0
  62. package/components/button-group/themes/light/button-group.bootstrap.css.js +34 -0
  63. package/components/button-group/themes/light/button-group.bootstrap.css.js.map +1 -0
  64. package/components/button-group/themes/light/button-group.fluent.css.js +34 -0
  65. package/components/button-group/themes/light/button-group.fluent.css.js.map +1 -0
  66. package/components/button-group/themes/light/button-group.indigo.css.js +35 -0
  67. package/components/button-group/themes/light/button-group.indigo.css.js.map +1 -0
  68. package/components/button-group/themes/light/button-group.material.css.js +34 -0
  69. package/components/button-group/themes/light/button-group.material.css.js.map +1 -0
  70. package/components/button-group/themes/light/toggle-button/toggle-button.base.css.js +161 -0
  71. package/components/button-group/themes/light/toggle-button/toggle-button.base.css.js.map +1 -0
  72. package/components/button-group/themes/light/toggle-button/toggle-button.bootstrap.css.js +63 -0
  73. package/components/button-group/themes/light/toggle-button/toggle-button.bootstrap.css.js.map +1 -0
  74. package/components/button-group/themes/light/toggle-button/toggle-button.fluent.css.js +55 -0
  75. package/components/button-group/themes/light/toggle-button/toggle-button.fluent.css.js.map +1 -0
  76. package/components/button-group/themes/light/toggle-button/toggle-button.indigo.css.js +69 -0
  77. package/components/button-group/themes/light/toggle-button/toggle-button.indigo.css.js.map +1 -0
  78. package/components/button-group/themes/light/toggle-button/toggle-button.material.css.js +56 -0
  79. package/components/button-group/themes/light/toggle-button/toggle-button.material.css.js.map +1 -0
  80. package/components/button-group/toggle-button.d.ts +49 -0
  81. package/components/button-group/toggle-button.js +81 -0
  82. package/components/button-group/toggle-button.js.map +1 -0
  83. package/components/calendar/calendar.d.ts +4 -3
  84. package/components/calendar/calendar.js +26 -14
  85. package/components/calendar/calendar.js.map +1 -1
  86. package/components/calendar/days-view/days-view.d.ts +1 -0
  87. package/components/calendar/days-view/days-view.js +21 -5
  88. package/components/calendar/days-view/days-view.js.map +1 -1
  89. package/components/calendar/months-view/months-view.d.ts +1 -0
  90. package/components/calendar/months-view/months-view.js +20 -4
  91. package/components/calendar/months-view/months-view.js.map +1 -1
  92. package/components/calendar/themes/calendar.base.css.js +4 -66
  93. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  94. package/components/calendar/themes/days-view.base.css.js +1 -137
  95. package/components/calendar/themes/days-view.base.css.js.map +1 -1
  96. package/components/calendar/themes/{bootstrap → light/bootstrap}/calendar.bootstrap.css.js +23 -2
  97. package/components/calendar/themes/light/bootstrap/calendar.bootstrap.css.js.map +1 -0
  98. package/components/calendar/themes/{bootstrap → light/bootstrap}/days-view.bootstrap.css.js +104 -3
  99. package/components/calendar/themes/light/bootstrap/days-view.bootstrap.css.js.map +1 -0
  100. package/components/calendar/themes/{bootstrap → light/bootstrap}/year-month-view.bootstrap.css.js +14 -5
  101. package/components/calendar/themes/light/bootstrap/year-month-view.bootstrap.css.js.map +1 -0
  102. package/components/calendar/themes/light/fluent/calendar.fluent.css.js +108 -0
  103. package/components/calendar/themes/light/fluent/calendar.fluent.css.js.map +1 -0
  104. package/components/calendar/themes/{fluent → light/fluent}/days-view.fluent.css.js +101 -2
  105. package/components/calendar/themes/light/fluent/days-view.fluent.css.js.map +1 -0
  106. package/components/calendar/themes/light/fluent/year-month-view.fluent.css.d.ts +1 -0
  107. package/components/calendar/themes/light/fluent/year-month-view.fluent.css.js +49 -0
  108. package/components/calendar/themes/light/fluent/year-month-view.fluent.css.js.map +1 -0
  109. package/components/calendar/themes/light/indigo/calendar.indigo.css.d.ts +1 -0
  110. package/components/calendar/themes/{indigo → light/indigo}/calendar.indigo.css.js +28 -1
  111. package/components/calendar/themes/light/indigo/calendar.indigo.css.js.map +1 -0
  112. package/components/calendar/themes/light/indigo/days-view.indigo.css.d.ts +1 -0
  113. package/components/calendar/themes/light/indigo/days-view.indigo.css.js +166 -0
  114. package/components/calendar/themes/light/indigo/days-view.indigo.css.js.map +1 -0
  115. package/components/calendar/themes/light/indigo/year-month-view.indigo.css.d.ts +1 -0
  116. package/components/calendar/themes/light/indigo/year-month-view.indigo.css.js +40 -0
  117. package/components/calendar/themes/light/indigo/year-month-view.indigo.css.js.map +1 -0
  118. package/components/calendar/themes/light/material/calendar.material.css.d.ts +1 -0
  119. package/components/calendar/themes/light/material/calendar.material.css.js +83 -0
  120. package/components/calendar/themes/light/material/calendar.material.css.js.map +1 -0
  121. package/components/calendar/themes/light/material/days-view.material.css.d.ts +1 -0
  122. package/components/calendar/themes/light/material/days-view.material.css.js +166 -0
  123. package/components/calendar/themes/light/material/days-view.material.css.js.map +1 -0
  124. package/components/calendar/themes/light/material/year-month-view.material.css.d.ts +1 -0
  125. package/components/calendar/themes/light/material/year-month-view.material.css.js +40 -0
  126. package/components/calendar/themes/light/material/year-month-view.material.css.js.map +1 -0
  127. package/components/calendar/themes/year-month-view.base.css.js +0 -38
  128. package/components/calendar/themes/year-month-view.base.css.js.map +1 -1
  129. package/components/calendar/years-view/years-view.d.ts +1 -0
  130. package/components/calendar/years-view/years-view.js +20 -4
  131. package/components/calendar/years-view/years-view.js.map +1 -1
  132. package/components/card/card.actions.d.ts +1 -0
  133. package/components/card/card.actions.js +6 -2
  134. package/components/card/card.actions.js.map +1 -1
  135. package/components/card/card.content.d.ts +1 -0
  136. package/components/card/card.content.js +22 -2
  137. package/components/card/card.content.js.map +1 -1
  138. package/components/card/card.d.ts +1 -0
  139. package/components/card/card.header.d.ts +1 -0
  140. package/components/card/card.header.js +18 -4
  141. package/components/card/card.header.js.map +1 -1
  142. package/components/card/card.js +18 -6
  143. package/components/card/card.js.map +1 -1
  144. package/components/card/card.media.d.ts +1 -0
  145. package/components/card/card.media.js +5 -1
  146. package/components/card/card.media.js.map +1 -1
  147. package/components/card/themes/dark/card.bootstrap.css.d.ts +1 -0
  148. package/components/card/themes/dark/card.bootstrap.css.js +3 -0
  149. package/components/card/themes/dark/card.bootstrap.css.js.map +1 -0
  150. package/components/card/themes/dark/card.fluent.css.d.ts +1 -0
  151. package/components/{tabs/themes/dark/tab.dark.base.css.js → card/themes/dark/card.fluent.css.js} +1 -1
  152. package/components/card/themes/dark/card.fluent.css.js.map +1 -0
  153. package/components/card/themes/dark/card.indigo.css.d.ts +1 -0
  154. package/components/card/themes/dark/card.indigo.css.js +3 -0
  155. package/components/card/themes/dark/card.indigo.css.js.map +1 -0
  156. package/components/card/themes/dark/card.material.css.d.ts +1 -0
  157. package/components/card/themes/dark/card.material.css.js +3 -0
  158. package/components/card/themes/dark/card.material.css.js.map +1 -0
  159. package/components/card/themes/light/card.actions.base.css.d.ts +1 -0
  160. package/components/card/themes/light/{card.actions.material.css.js → card.actions.base.css.js} +1 -1
  161. package/components/card/themes/light/card.actions.base.css.js.map +1 -0
  162. package/components/card/themes/light/card.actions.bootstrap.css.js +0 -96
  163. package/components/card/themes/light/card.actions.bootstrap.css.js.map +1 -1
  164. package/components/card/themes/light/card.base.css.d.ts +1 -0
  165. package/components/card/themes/light/card.base.css.js +66 -0
  166. package/components/card/themes/light/card.base.css.js.map +1 -0
  167. package/components/card/themes/light/card.bootstrap.css.js +11 -5
  168. package/components/card/themes/light/card.bootstrap.css.js.map +1 -1
  169. package/components/card/themes/light/card.content.base.css.d.ts +1 -0
  170. package/components/card/themes/light/card.content.base.css.js +53 -0
  171. package/components/card/themes/light/card.content.base.css.js.map +1 -0
  172. package/components/card/themes/light/card.content.bootstrap.css.js +10 -54
  173. package/components/card/themes/light/card.content.bootstrap.css.js.map +1 -1
  174. package/components/card/themes/light/card.content.fluent.css.d.ts +1 -0
  175. package/components/card/themes/light/card.content.fluent.css.js +14 -0
  176. package/components/card/themes/light/card.content.fluent.css.js.map +1 -0
  177. package/components/card/themes/light/card.content.indigo.css.js +10 -54
  178. package/components/card/themes/light/card.content.indigo.css.js.map +1 -1
  179. package/components/card/themes/light/card.content.material.css.js +10 -50
  180. package/components/card/themes/light/card.content.material.css.js.map +1 -1
  181. package/components/card/themes/light/card.fluent.css.js +16 -5
  182. package/components/card/themes/light/card.fluent.css.js.map +1 -1
  183. package/components/card/themes/light/card.header.base.css.d.ts +1 -0
  184. package/components/card/themes/light/card.header.base.css.js +106 -0
  185. package/components/card/themes/light/card.header.base.css.js.map +1 -0
  186. package/components/card/themes/light/card.header.bootstrap.css.js +11 -106
  187. package/components/card/themes/light/card.header.bootstrap.css.js.map +1 -1
  188. package/components/card/themes/light/card.header.fluent.css.js +11 -104
  189. package/components/card/themes/light/card.header.fluent.css.js.map +1 -1
  190. package/components/card/themes/light/card.header.indigo.css.js +11 -109
  191. package/components/card/themes/light/card.header.indigo.css.js.map +1 -1
  192. package/components/card/themes/light/card.header.material.css.js +11 -101
  193. package/components/card/themes/light/card.header.material.css.js.map +1 -1
  194. package/components/card/themes/light/card.indigo.css.js +13 -0
  195. package/components/card/themes/light/card.indigo.css.js.map +1 -1
  196. package/components/card/themes/light/card.material.css.js +8 -67
  197. package/components/card/themes/light/card.material.css.js.map +1 -1
  198. package/components/card/themes/light/card.media.base.css.d.ts +1 -0
  199. package/components/card/themes/light/{card.media.material.css.js → card.media.base.css.js} +1 -1
  200. package/components/card/themes/light/card.media.base.css.js.map +1 -0
  201. package/components/checkbox/checkbox.d.ts +1 -0
  202. package/components/checkbox/checkbox.js +8 -1
  203. package/components/checkbox/checkbox.js.map +1 -1
  204. package/components/checkbox/switch.d.ts +1 -0
  205. package/components/checkbox/switch.js +8 -1
  206. package/components/checkbox/switch.js.map +1 -1
  207. package/components/checkbox/themes/light/checkbox.bootstrap.css.js +2 -3
  208. package/components/checkbox/themes/light/checkbox.bootstrap.css.js.map +1 -1
  209. package/components/checkbox/themes/light/checkbox.fluent.css.js +3 -4
  210. package/components/checkbox/themes/light/checkbox.fluent.css.js.map +1 -1
  211. package/components/checkbox/themes/light/checkbox.indigo.css.js +12 -4
  212. package/components/checkbox/themes/light/checkbox.indigo.css.js.map +1 -1
  213. package/components/checkbox/themes/light/checkbox.material.css.js +2 -3
  214. package/components/checkbox/themes/light/checkbox.material.css.js.map +1 -1
  215. package/components/checkbox/themes/light/switch.bootstrap.css.js +1 -2
  216. package/components/checkbox/themes/light/switch.bootstrap.css.js.map +1 -1
  217. package/components/checkbox/themes/light/switch.fluent.css.js +3 -4
  218. package/components/checkbox/themes/light/switch.fluent.css.js.map +1 -1
  219. package/components/checkbox/themes/light/switch.indigo.css.js +1 -2
  220. package/components/checkbox/themes/light/switch.indigo.css.js.map +1 -1
  221. package/components/checkbox/themes/light/switch.material.css.js +2 -3
  222. package/components/checkbox/themes/light/switch.material.css.js.map +1 -1
  223. package/components/chip/chip.d.ts +1 -0
  224. package/components/chip/chip.js +13 -8
  225. package/components/chip/chip.js.map +1 -1
  226. package/components/chip/themes/dark/chip.bootstrap.css.d.ts +1 -0
  227. package/components/chip/themes/dark/chip.bootstrap.css.js +3 -0
  228. package/components/chip/themes/dark/chip.bootstrap.css.js.map +1 -0
  229. package/components/chip/themes/dark/chip.fluent.css.d.ts +1 -0
  230. package/components/chip/themes/dark/chip.fluent.css.js +3 -0
  231. package/components/chip/themes/dark/chip.fluent.css.js.map +1 -0
  232. package/components/chip/themes/dark/chip.indigo.css.d.ts +1 -0
  233. package/components/chip/themes/dark/chip.indigo.css.js +3 -0
  234. package/components/chip/themes/dark/chip.indigo.css.js.map +1 -0
  235. package/components/chip/themes/dark/chip.material.css.d.ts +1 -0
  236. package/components/chip/themes/dark/chip.material.css.js +3 -0
  237. package/components/chip/themes/dark/chip.material.css.js.map +1 -0
  238. package/components/chip/themes/light/chip.base.css.d.ts +1 -0
  239. package/components/chip/themes/{chip.base.css.js → light/chip.base.css.js} +0 -9
  240. package/components/chip/themes/light/chip.base.css.js.map +1 -0
  241. package/components/chip/themes/light/chip.bootstrap.css.d.ts +1 -0
  242. package/components/chip/themes/light/chip.bootstrap.css.js +108 -0
  243. package/components/chip/themes/light/chip.bootstrap.css.js.map +1 -0
  244. package/components/chip/themes/light/chip.fluent.css.d.ts +1 -0
  245. package/components/chip/themes/light/chip.fluent.css.js +73 -0
  246. package/components/chip/themes/light/chip.fluent.css.js.map +1 -0
  247. package/components/chip/themes/light/chip.indigo.css.d.ts +1 -0
  248. package/components/chip/themes/light/chip.indigo.css.js +172 -0
  249. package/components/chip/themes/light/chip.indigo.css.js.map +1 -0
  250. package/components/chip/themes/light/chip.material.css.d.ts +1 -0
  251. package/components/chip/themes/light/chip.material.css.js +53 -0
  252. package/components/chip/themes/light/chip.material.css.js.map +1 -0
  253. package/components/combo/combo-header.d.ts +1 -0
  254. package/components/combo/combo-header.js +10 -4
  255. package/components/combo/combo-header.js.map +1 -1
  256. package/components/combo/combo-item.d.ts +1 -0
  257. package/components/combo/combo-item.js +12 -7
  258. package/components/combo/combo-item.js.map +1 -1
  259. package/components/combo/combo-list.d.ts +1 -0
  260. package/components/combo/combo-list.js +4 -0
  261. package/components/combo/combo-list.js.map +1 -1
  262. package/components/combo/combo.d.ts +7 -6
  263. package/components/combo/combo.js +33 -23
  264. package/components/combo/combo.js.map +1 -1
  265. package/components/combo/themes/light/combo.bootstrap.css.js +1 -1
  266. package/components/combo/themes/light/combo.bootstrap.css.js.map +1 -1
  267. package/components/combo/themes/light/combo.fluent.css.js +1 -1
  268. package/components/combo/themes/light/combo.fluent.css.js.map +1 -1
  269. package/components/combo/themes/light/combo.indigo.css.js +1 -1
  270. package/components/combo/themes/light/combo.indigo.css.js.map +1 -1
  271. package/components/combo/themes/light/combo.material.css.js +1 -1
  272. package/components/combo/themes/light/combo.material.css.js.map +1 -1
  273. package/components/common/definitions/defineAllComponents.d.ts +1 -1
  274. package/components/common/definitions/defineAllComponents.js +8 -2
  275. package/components/common/definitions/defineAllComponents.js.map +1 -1
  276. package/components/common/definitions/defineComponents.d.ts +2 -1
  277. package/components/common/definitions/defineComponents.js +3 -6
  278. package/components/common/definitions/defineComponents.js.map +1 -1
  279. package/components/common/definitions/register.d.ts +5 -0
  280. package/components/common/definitions/register.js +9 -0
  281. package/components/common/definitions/register.js.map +1 -0
  282. package/components/common/mixins/form-associated.d.ts +1 -1
  283. package/components/common/mixins/form-associated.js +10 -24
  284. package/components/common/mixins/form-associated.js.map +1 -1
  285. package/components/common/util.d.ts +1 -0
  286. package/components/common/util.js +10 -0
  287. package/components/common/util.js.map +1 -1
  288. package/components/date-time-input/date-time-input.d.ts +4 -3
  289. package/components/date-time-input/date-time-input.js +9 -5
  290. package/components/date-time-input/date-time-input.js.map +1 -1
  291. package/components/dialog/dialog.d.ts +2 -1
  292. package/components/dialog/dialog.js +13 -7
  293. package/components/dialog/dialog.js.map +1 -1
  294. package/components/dialog/themes/dark/dialog.bootstrap.css.d.ts +1 -0
  295. package/components/dialog/themes/dark/dialog.bootstrap.css.js +3 -0
  296. package/components/dialog/themes/dark/dialog.bootstrap.css.js.map +1 -0
  297. package/components/dialog/themes/dark/dialog.fluent.css.d.ts +1 -0
  298. package/components/dialog/themes/dark/dialog.fluent.css.js +3 -0
  299. package/components/dialog/themes/dark/dialog.fluent.css.js.map +1 -0
  300. package/components/dialog/themes/dark/dialog.indigo.css.d.ts +1 -0
  301. package/components/dialog/themes/dark/dialog.indigo.css.js +3 -0
  302. package/components/dialog/themes/dark/dialog.indigo.css.js.map +1 -0
  303. package/components/dialog/themes/dark/dialog.material.css.d.ts +1 -0
  304. package/components/dialog/themes/dark/dialog.material.css.js +3 -0
  305. package/components/dialog/themes/dark/dialog.material.css.js.map +1 -0
  306. package/components/dialog/themes/light/dialog.base.css.js +0 -7
  307. package/components/dialog/themes/light/dialog.base.css.js.map +1 -1
  308. package/components/dialog/themes/light/dialog.bootstrap.css.js +15 -7
  309. package/components/dialog/themes/light/dialog.bootstrap.css.js.map +1 -1
  310. package/components/dialog/themes/light/dialog.fluent.css.js +12 -2
  311. package/components/dialog/themes/light/dialog.fluent.css.js.map +1 -1
  312. package/components/dialog/themes/light/dialog.indigo.css.js +14 -1
  313. package/components/dialog/themes/light/dialog.indigo.css.js.map +1 -1
  314. package/components/dialog/themes/light/dialog.material.css.js +14 -32
  315. package/components/dialog/themes/light/dialog.material.css.js.map +1 -1
  316. package/components/dropdown/dropdown-group.d.ts +1 -0
  317. package/components/dropdown/dropdown-group.js +9 -2
  318. package/components/dropdown/dropdown-group.js.map +1 -1
  319. package/components/dropdown/dropdown-header.d.ts +1 -0
  320. package/components/dropdown/dropdown-header.js +8 -1
  321. package/components/dropdown/dropdown-header.js.map +1 -1
  322. package/components/dropdown/dropdown-item.d.ts +1 -0
  323. package/components/dropdown/dropdown-item.js +8 -1
  324. package/components/dropdown/dropdown-item.js.map +1 -1
  325. package/components/dropdown/dropdown.d.ts +2 -2
  326. package/components/dropdown/dropdown.js +9 -4
  327. package/components/dropdown/dropdown.js.map +1 -1
  328. package/components/expansion-panel/expansion-panel.d.ts +2 -1
  329. package/components/expansion-panel/expansion-panel.js +14 -7
  330. package/components/expansion-panel/expansion-panel.js.map +1 -1
  331. package/components/expansion-panel/themes/dark/expansion-panel.bootstrap.css.d.ts +1 -0
  332. package/components/expansion-panel/themes/dark/expansion-panel.bootstrap.css.js +3 -0
  333. package/components/expansion-panel/themes/dark/expansion-panel.bootstrap.css.js.map +1 -0
  334. package/components/expansion-panel/themes/dark/expansion-panel.fluent.css.d.ts +1 -0
  335. package/components/expansion-panel/themes/dark/expansion-panel.fluent.css.js +3 -0
  336. package/components/expansion-panel/themes/dark/expansion-panel.fluent.css.js.map +1 -0
  337. package/components/expansion-panel/themes/dark/expansion-panel.indigo.css.d.ts +1 -0
  338. package/components/expansion-panel/themes/dark/expansion-panel.indigo.css.js +3 -0
  339. package/components/expansion-panel/themes/dark/expansion-panel.indigo.css.js.map +1 -0
  340. package/components/expansion-panel/themes/dark/expansion-panel.material.css.d.ts +1 -0
  341. package/components/expansion-panel/themes/dark/expansion-panel.material.css.js +3 -0
  342. package/components/expansion-panel/themes/dark/expansion-panel.material.css.js.map +1 -0
  343. package/components/expansion-panel/themes/light/expansion-panel.base.css.js +0 -25
  344. package/components/expansion-panel/themes/light/expansion-panel.base.css.js.map +1 -1
  345. package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js +33 -15
  346. package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js.map +1 -1
  347. package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js +21 -3
  348. package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js.map +1 -1
  349. package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js +16 -3
  350. package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js.map +1 -1
  351. package/components/expansion-panel/themes/light/expansion-panel.material.css.d.ts +1 -0
  352. package/components/expansion-panel/themes/light/expansion-panel.material.css.js +42 -0
  353. package/components/expansion-panel/themes/light/expansion-panel.material.css.js.map +1 -0
  354. package/components/form/form.d.ts +1 -0
  355. package/components/form/form.js +5 -1
  356. package/components/form/form.js.map +1 -1
  357. package/components/icon/icon.d.ts +1 -0
  358. package/components/icon/icon.js +11 -4
  359. package/components/icon/icon.js.map +1 -1
  360. package/components/input/input-base.d.ts +2 -2
  361. package/components/input/input-base.js +7 -4
  362. package/components/input/input-base.js.map +1 -1
  363. package/components/input/input.d.ts +6 -5
  364. package/components/input/input.js +8 -4
  365. package/components/input/input.js.map +1 -1
  366. package/components/input/themes/light/input.bootstrap.css.js +1 -1
  367. package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
  368. package/components/input/themes/light/input.fluent.css.js +3 -3
  369. package/components/input/themes/light/input.fluent.css.js.map +1 -1
  370. package/components/input/themes/light/input.indigo.css.js +1 -1
  371. package/components/input/themes/light/input.indigo.css.js.map +1 -1
  372. package/components/input/themes/light/input.material.css.js +1 -1
  373. package/components/input/themes/light/input.material.css.js.map +1 -1
  374. package/components/list/list-header.d.ts +1 -1
  375. package/components/list/list-header.js +5 -3
  376. package/components/list/list-header.js.map +1 -1
  377. package/components/list/list-item.d.ts +1 -1
  378. package/components/list/list-item.js +8 -3
  379. package/components/list/list-item.js.map +1 -1
  380. package/components/list/list.d.ts +1 -1
  381. package/components/list/list.js +4 -5
  382. package/components/list/list.js.map +1 -1
  383. package/components/list/themes/dark/list-header.bootstrap.css.d.ts +1 -0
  384. package/components/list/themes/dark/list-header.bootstrap.css.js +3 -0
  385. package/components/list/themes/dark/list-header.bootstrap.css.js.map +1 -0
  386. package/components/list/themes/dark/list-header.indigo.css.d.ts +1 -0
  387. package/components/list/themes/dark/list-header.indigo.css.js +3 -0
  388. package/components/list/themes/dark/list-header.indigo.css.js.map +1 -0
  389. package/components/list/themes/dark/list-item.bootstrap.css.d.ts +1 -0
  390. package/components/list/themes/dark/list-item.bootstrap.css.js +3 -0
  391. package/components/list/themes/dark/list-item.bootstrap.css.js.map +1 -0
  392. package/components/list/themes/dark/list-item.fluent.css.d.ts +1 -0
  393. package/components/list/themes/dark/list-item.fluent.css.js +3 -0
  394. package/components/list/themes/dark/list-item.fluent.css.js.map +1 -0
  395. package/components/list/themes/dark/list-item.indigo.css.d.ts +1 -0
  396. package/components/list/themes/dark/list-item.indigo.css.js +3 -0
  397. package/components/list/themes/dark/list-item.indigo.css.js.map +1 -0
  398. package/components/list/themes/dark/list-item.material.css.d.ts +1 -0
  399. package/components/list/themes/dark/list-item.material.css.js +3 -0
  400. package/components/list/themes/dark/list-item.material.css.js.map +1 -0
  401. package/components/list/themes/light/list-header.base.css.js +36 -11
  402. package/components/list/themes/light/list-header.base.css.js.map +1 -1
  403. package/components/list/themes/light/list-header.bootstrap.css.d.ts +1 -0
  404. package/components/list/themes/light/list-header.bootstrap.css.js +31 -0
  405. package/components/list/themes/light/list-header.bootstrap.css.js.map +1 -0
  406. package/components/list/themes/light/list-header.indigo.css.js +27 -1
  407. package/components/list/themes/light/list-header.indigo.css.js.map +1 -1
  408. package/components/list/themes/light/list-item.base.css.js +0 -34
  409. package/components/list/themes/light/list-item.base.css.js.map +1 -1
  410. package/components/list/themes/light/list-item.bootstrap.css.js +10 -4
  411. package/components/list/themes/light/list-item.bootstrap.css.js.map +1 -1
  412. package/components/list/themes/light/list-item.fluent.css.js +26 -15
  413. package/components/list/themes/light/list-item.fluent.css.js.map +1 -1
  414. package/components/list/themes/light/list-item.indigo.css.js +18 -8
  415. package/components/list/themes/light/list-item.indigo.css.js.map +1 -1
  416. package/components/list/themes/light/list-item.material.css.d.ts +1 -0
  417. package/components/list/themes/light/list-item.material.css.js +49 -0
  418. package/components/list/themes/light/list-item.material.css.js.map +1 -0
  419. package/components/list/themes/light/list.base.css.js +1 -1
  420. package/components/list/themes/light/list.base.css.js.map +1 -1
  421. package/components/list/themes/light/list.bootstrap.css.js +2 -2
  422. package/components/list/themes/light/list.bootstrap.css.js.map +1 -1
  423. package/components/mask-input/mask-input.d.ts +2 -1
  424. package/components/mask-input/mask-input.js +7 -3
  425. package/components/mask-input/mask-input.js.map +1 -1
  426. package/components/nav-drawer/nav-drawer-header-item.d.ts +1 -0
  427. package/components/nav-drawer/nav-drawer-header-item.js +10 -5
  428. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  429. package/components/nav-drawer/nav-drawer-item.d.ts +1 -0
  430. package/components/nav-drawer/nav-drawer-item.js +9 -2
  431. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  432. package/components/nav-drawer/nav-drawer.d.ts +1 -0
  433. package/components/nav-drawer/nav-drawer.js +16 -10
  434. package/components/nav-drawer/nav-drawer.js.map +1 -1
  435. package/components/nav-drawer/themes/light/nav-drawer.base.css.js +79 -48
  436. package/components/nav-drawer/themes/light/nav-drawer.base.css.js.map +1 -1
  437. package/components/nav-drawer/themes/light/nav-drawer.bootstrap.css.js +3 -1
  438. package/components/nav-drawer/themes/light/nav-drawer.bootstrap.css.js.map +1 -1
  439. package/components/nav-drawer/themes/light/nav-drawer.fluent.css.js +3 -1
  440. package/components/nav-drawer/themes/light/nav-drawer.fluent.css.js.map +1 -1
  441. package/components/nav-drawer/themes/light/nav-drawer.indigo.css.js +2 -1
  442. package/components/nav-drawer/themes/light/nav-drawer.indigo.css.js.map +1 -1
  443. package/components/nav-drawer/themes/light/nav-drawer.material.css.js +3 -1
  444. package/components/nav-drawer/themes/light/nav-drawer.material.css.js.map +1 -1
  445. package/components/navbar/navbar.d.ts +1 -0
  446. package/components/navbar/navbar.js +9 -2
  447. package/components/navbar/navbar.js.map +1 -1
  448. package/components/progress/circular-gradient.d.ts +1 -0
  449. package/components/progress/circular-gradient.js +4 -0
  450. package/components/progress/circular-gradient.js.map +1 -1
  451. package/components/progress/circular-progress.d.ts +1 -0
  452. package/components/progress/circular-progress.js +7 -5
  453. package/components/progress/circular-progress.js.map +1 -1
  454. package/components/progress/linear-progress.d.ts +1 -0
  455. package/components/progress/linear-progress.js +10 -3
  456. package/components/progress/linear-progress.js.map +1 -1
  457. package/components/radio/radio.d.ts +1 -0
  458. package/components/radio/radio.js +10 -3
  459. package/components/radio/radio.js.map +1 -1
  460. package/components/radio/themes/light/radio.fluent.css.js +2 -2
  461. package/components/radio/themes/light/radio.fluent.css.js.map +1 -1
  462. package/components/radio-group/radio-group.d.ts +1 -0
  463. package/components/radio-group/radio-group.js +7 -5
  464. package/components/radio-group/radio-group.js.map +1 -1
  465. package/components/rating/rating-symbol.d.ts +1 -0
  466. package/components/rating/rating-symbol.js +4 -0
  467. package/components/rating/rating-symbol.js.map +1 -1
  468. package/components/rating/rating.d.ts +4 -3
  469. package/components/rating/rating.js +12 -7
  470. package/components/rating/rating.js.map +1 -1
  471. package/components/ripple/ripple.d.ts +1 -0
  472. package/components/ripple/ripple.js +4 -0
  473. package/components/ripple/ripple.js.map +1 -1
  474. package/components/select/select-group.d.ts +1 -1
  475. package/components/select/select-group.js +4 -0
  476. package/components/select/select-group.js.map +1 -1
  477. package/components/select/select-header.d.ts +1 -1
  478. package/components/select/select-header.js +4 -0
  479. package/components/select/select-header.js.map +1 -1
  480. package/components/select/select-item.d.ts +2 -1
  481. package/components/select/select-item.js +6 -4
  482. package/components/select/select-item.js.map +1 -1
  483. package/components/select/select.d.ts +4 -3
  484. package/components/select/select.js +11 -6
  485. package/components/select/select.js.map +1 -1
  486. package/components/select/themes/light/select.bootstrap.css.js +1 -1
  487. package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
  488. package/components/select/themes/light/select.fluent.css.js +1 -1
  489. package/components/select/themes/light/select.fluent.css.js.map +1 -1
  490. package/components/select/themes/light/select.indigo.css.js +1 -1
  491. package/components/select/themes/light/select.indigo.css.js.map +1 -1
  492. package/components/select/themes/light/select.material.css.js +1 -1
  493. package/components/select/themes/light/select.material.css.js.map +1 -1
  494. package/components/slider/range-slider.d.ts +1 -0
  495. package/components/slider/range-slider.js +5 -0
  496. package/components/slider/range-slider.js.map +1 -1
  497. package/components/slider/slider-base.js +6 -6
  498. package/components/slider/slider-base.js.map +1 -1
  499. package/components/slider/slider-label.d.ts +2 -1
  500. package/components/slider/slider-label.js +5 -1
  501. package/components/slider/slider-label.js.map +1 -1
  502. package/components/slider/slider.d.ts +1 -0
  503. package/components/slider/slider.js +5 -0
  504. package/components/slider/slider.js.map +1 -1
  505. package/components/slider/themes/dark/slider.material.css.d.ts +1 -0
  506. package/components/slider/themes/dark/slider.material.css.js +3 -0
  507. package/components/slider/themes/dark/slider.material.css.js.map +1 -0
  508. package/components/slider/themes/light/slider.base.css.js +0 -41
  509. package/components/slider/themes/light/slider.base.css.js.map +1 -1
  510. package/components/slider/themes/light/slider.bootstrap.css.js +62 -6
  511. package/components/slider/themes/light/slider.bootstrap.css.js.map +1 -1
  512. package/components/slider/themes/light/slider.fluent.css.js +55 -17
  513. package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
  514. package/components/slider/themes/light/slider.indigo.css.js +64 -11
  515. package/components/slider/themes/light/slider.indigo.css.js.map +1 -1
  516. package/components/slider/themes/light/slider.material.css.js +62 -3
  517. package/components/slider/themes/light/slider.material.css.js.map +1 -1
  518. package/components/snackbar/snackbar.d.ts +8 -4
  519. package/components/snackbar/snackbar.js +16 -5
  520. package/components/snackbar/snackbar.js.map +1 -1
  521. package/components/snackbar/themes/light/snackbar.base.css.js +21 -16
  522. package/components/snackbar/themes/light/snackbar.base.css.js.map +1 -1
  523. package/components/snackbar/themes/light/snackbar.bootstrap.css.js +5 -5
  524. package/components/snackbar/themes/light/snackbar.bootstrap.css.js.map +1 -1
  525. package/components/snackbar/themes/light/snackbar.fluent.css.js +5 -1
  526. package/components/snackbar/themes/light/snackbar.fluent.css.js.map +1 -1
  527. package/components/snackbar/themes/light/snackbar.indigo.css.js +5 -3
  528. package/components/snackbar/themes/light/snackbar.indigo.css.js.map +1 -1
  529. package/components/snackbar/themes/light/snackbar.material.css.d.ts +1 -0
  530. package/components/snackbar/themes/light/snackbar.material.css.js +17 -0
  531. package/components/snackbar/themes/light/snackbar.material.css.js.map +1 -0
  532. package/components/stepper/animations.js +3 -1
  533. package/components/stepper/animations.js.map +1 -1
  534. package/components/stepper/step.d.ts +1 -2
  535. package/components/stepper/step.js +13 -5
  536. package/components/stepper/step.js.map +1 -1
  537. package/components/stepper/stepper.d.ts +2 -3
  538. package/components/stepper/stepper.js +11 -6
  539. package/components/stepper/stepper.js.map +1 -1
  540. package/components/tabs/tab-panel.d.ts +1 -0
  541. package/components/tabs/tab-panel.js +4 -0
  542. package/components/tabs/tab-panel.js.map +1 -1
  543. package/components/tabs/tab.d.ts +1 -0
  544. package/components/tabs/tab.js +9 -1
  545. package/components/tabs/tab.js.map +1 -1
  546. package/components/tabs/tabs.d.ts +2 -1
  547. package/components/tabs/tabs.js +15 -9
  548. package/components/tabs/tabs.js.map +1 -1
  549. package/components/tabs/themes/dark/tab.bootstrap.css.d.ts +1 -0
  550. package/components/tabs/themes/dark/tab.bootstrap.css.js +3 -0
  551. package/components/tabs/themes/dark/tab.bootstrap.css.js.map +1 -0
  552. package/components/tabs/themes/dark/tab.fluent.css.d.ts +1 -0
  553. package/components/tabs/themes/dark/tab.fluent.css.js +3 -0
  554. package/components/tabs/themes/dark/tab.fluent.css.js.map +1 -0
  555. package/components/tabs/themes/dark/tab.indigo.css.d.ts +1 -0
  556. package/components/tabs/themes/dark/tab.indigo.css.js +3 -0
  557. package/components/tabs/themes/dark/tab.indigo.css.js.map +1 -0
  558. package/components/tabs/themes/dark/tab.material.css.d.ts +1 -0
  559. package/components/tabs/themes/dark/tab.material.css.js +3 -0
  560. package/components/tabs/themes/dark/tab.material.css.js.map +1 -0
  561. package/components/tabs/themes/light/tab.base.css.js +0 -44
  562. package/components/tabs/themes/light/tab.base.css.js.map +1 -1
  563. package/components/tabs/themes/light/tab.bootstrap.css.js +21 -21
  564. package/components/tabs/themes/light/tab.bootstrap.css.js.map +1 -1
  565. package/components/tabs/themes/light/tab.fluent.css.js +19 -5
  566. package/components/tabs/themes/light/tab.fluent.css.js.map +1 -1
  567. package/components/tabs/themes/light/tab.indigo.css.js +11 -6
  568. package/components/tabs/themes/light/tab.indigo.css.js.map +1 -1
  569. package/components/tabs/themes/light/tab.material.css.d.ts +1 -0
  570. package/components/tabs/themes/light/tab.material.css.js +51 -0
  571. package/components/tabs/themes/light/tab.material.css.js.map +1 -0
  572. package/components/tabs/themes/light/tabs.base.css.js +0 -16
  573. package/components/tabs/themes/light/tabs.base.css.js.map +1 -1
  574. package/components/tabs/themes/light/tabs.bootstrap.css.js +41 -6
  575. package/components/tabs/themes/light/tabs.bootstrap.css.js.map +1 -1
  576. package/components/tabs/themes/light/tabs.fluent.css.js +50 -4
  577. package/components/tabs/themes/light/tabs.fluent.css.js.map +1 -1
  578. package/components/tabs/themes/light/tabs.indigo.css.js +41 -5
  579. package/components/tabs/themes/light/tabs.indigo.css.js.map +1 -1
  580. package/components/tabs/themes/light/tabs.material.css.d.ts +1 -0
  581. package/components/tabs/themes/light/tabs.material.css.js +55 -0
  582. package/components/tabs/themes/light/tabs.material.css.js.map +1 -0
  583. package/components/textarea/textarea.d.ts +191 -0
  584. package/components/textarea/textarea.js +304 -0
  585. package/components/textarea/textarea.js.map +1 -0
  586. package/components/textarea/themes/dark/textarea.bootstrap.css.d.ts +1 -0
  587. package/components/textarea/themes/dark/textarea.bootstrap.css.js +3 -0
  588. package/components/textarea/themes/dark/textarea.bootstrap.css.js.map +1 -0
  589. package/components/textarea/themes/dark/textarea.fluent.css.d.ts +1 -0
  590. package/components/textarea/themes/dark/textarea.fluent.css.js +3 -0
  591. package/components/textarea/themes/dark/textarea.fluent.css.js.map +1 -0
  592. package/components/textarea/themes/dark/textarea.indigo.css.d.ts +1 -0
  593. package/components/textarea/themes/dark/textarea.indigo.css.js +3 -0
  594. package/components/textarea/themes/dark/textarea.indigo.css.js.map +1 -0
  595. package/components/textarea/themes/dark/textarea.material.css.d.ts +1 -0
  596. package/components/textarea/themes/dark/textarea.material.css.js +3 -0
  597. package/components/textarea/themes/dark/textarea.material.css.js.map +1 -0
  598. package/components/textarea/themes/light/textarea.base.css.d.ts +1 -0
  599. package/components/textarea/themes/light/textarea.base.css.js +194 -0
  600. package/components/textarea/themes/light/textarea.base.css.js.map +1 -0
  601. package/components/textarea/themes/light/textarea.bootstrap.css.d.ts +1 -0
  602. package/components/textarea/themes/light/textarea.bootstrap.css.js +286 -0
  603. package/components/textarea/themes/light/textarea.bootstrap.css.js.map +1 -0
  604. package/components/textarea/themes/light/textarea.fluent.css.d.ts +1 -0
  605. package/components/textarea/themes/light/textarea.fluent.css.js +278 -0
  606. package/components/textarea/themes/light/textarea.fluent.css.js.map +1 -0
  607. package/components/textarea/themes/light/textarea.indigo.css.d.ts +1 -0
  608. package/components/textarea/themes/light/textarea.indigo.css.js +293 -0
  609. package/components/textarea/themes/light/textarea.indigo.css.js.map +1 -0
  610. package/components/textarea/themes/light/textarea.material.css.d.ts +1 -0
  611. package/components/textarea/themes/light/textarea.material.css.js +491 -0
  612. package/components/textarea/themes/light/textarea.material.css.js.map +1 -0
  613. package/components/toast/themes/dark/toast.bootstrap.css.d.ts +1 -0
  614. package/components/toast/themes/dark/toast.bootstrap.css.js +9 -0
  615. package/components/toast/themes/dark/toast.bootstrap.css.js.map +1 -0
  616. package/components/toast/themes/dark/toast.fluent.css.d.ts +1 -0
  617. package/components/toast/themes/dark/toast.fluent.css.js +9 -0
  618. package/components/toast/themes/dark/toast.fluent.css.js.map +1 -0
  619. package/components/toast/themes/dark/toast.indigo.css.d.ts +1 -0
  620. package/components/toast/themes/dark/toast.indigo.css.js +9 -0
  621. package/components/toast/themes/dark/toast.indigo.css.js.map +1 -0
  622. package/components/toast/themes/dark/toast.material.css.d.ts +1 -0
  623. package/components/toast/themes/dark/toast.material.css.js +9 -0
  624. package/components/toast/themes/dark/toast.material.css.js.map +1 -0
  625. package/components/toast/themes/light/toast.base.css.d.ts +1 -0
  626. package/components/toast/themes/{toast.base.css.js → light/toast.base.css.js} +28 -15
  627. package/components/toast/themes/light/toast.base.css.js.map +1 -0
  628. package/components/toast/themes/light/toast.bootstrap.css.d.ts +1 -0
  629. package/components/toast/themes/{toast.bootstrap.css.js → light/toast.bootstrap.css.js} +6 -5
  630. package/components/toast/themes/light/toast.bootstrap.css.js.map +1 -0
  631. package/components/toast/themes/light/toast.fluent.css.d.ts +1 -0
  632. package/components/toast/themes/{toast.fluent.css.js → light/toast.fluent.css.js} +6 -2
  633. package/components/toast/themes/light/toast.fluent.css.js.map +1 -0
  634. package/components/toast/themes/light/toast.indigo.css.d.ts +1 -0
  635. package/components/toast/themes/{toast.indigo.css.js → light/toast.indigo.css.js} +6 -2
  636. package/components/toast/themes/light/toast.indigo.css.js.map +1 -0
  637. package/components/toast/themes/light/toast.material.css.d.ts +1 -0
  638. package/components/toast/themes/light/toast.material.css.js +16 -0
  639. package/components/toast/themes/light/toast.material.css.js.map +1 -0
  640. package/components/toast/toast.d.ts +6 -0
  641. package/components/toast/toast.js +18 -6
  642. package/components/toast/toast.js.map +1 -1
  643. package/components/tree/themes/dark/tree-item.material.css.d.ts +1 -0
  644. package/components/tree/themes/dark/tree-item.material.css.js +3 -0
  645. package/components/tree/themes/dark/tree-item.material.css.js.map +1 -0
  646. package/components/tree/themes/light/tree-item.base.css.js +4 -33
  647. package/components/tree/themes/light/tree-item.base.css.js.map +1 -1
  648. package/components/tree/themes/light/tree-item.bootstrap.css.js +21 -8
  649. package/components/tree/themes/light/tree-item.bootstrap.css.js.map +1 -1
  650. package/components/tree/themes/light/tree-item.fluent.css.js +21 -8
  651. package/components/tree/themes/light/tree-item.fluent.css.js.map +1 -1
  652. package/components/tree/themes/light/tree-item.indigo.css.js +23 -9
  653. package/components/tree/themes/light/tree-item.indigo.css.js.map +1 -1
  654. package/components/tree/themes/light/tree-item.material.css.js +35 -0
  655. package/components/tree/themes/light/tree-item.material.css.js.map +1 -1
  656. package/components/tree/tree-item.d.ts +1 -2
  657. package/components/tree/tree-item.js +17 -11
  658. package/components/tree/tree-item.js.map +1 -1
  659. package/components/tree/tree.d.ts +1 -2
  660. package/components/tree/tree.js +7 -5
  661. package/components/tree/tree.js.map +1 -1
  662. package/custom-elements.json +621 -93
  663. package/index.d.ts +4 -1
  664. package/index.js +3 -0
  665. package/index.js.map +1 -1
  666. package/package.json +4 -2
  667. package/themes/dark/bootstrap.css +286 -21
  668. package/themes/dark/fluent.css +248 -33
  669. package/themes/dark/indigo.css +284 -25
  670. package/themes/dark/material.css +257 -17
  671. package/themes/light/bootstrap.css +5 -0
  672. package/themes/light/fluent.css +5 -0
  673. package/themes/light/indigo.css +5 -0
  674. package/themes/light/material.css +5 -0
  675. package/theming/config.d.ts +8 -5
  676. package/theming/config.js +21 -9
  677. package/theming/config.js.map +1 -1
  678. package/theming/theming-controller.d.ts +2 -1
  679. package/theming/theming-controller.js +4 -2
  680. package/theming/theming-controller.js.map +1 -1
  681. package/theming/theming-event.d.ts +2 -1
  682. package/theming/theming-event.js.map +1 -1
  683. package/theming/types.d.ts +7 -1
  684. package/theming/types.js.map +1 -1
  685. package/vscode-html-custom-data.json +310 -70
  686. package/animations/index.d.ts +0 -3
  687. package/animations/index.js +0 -4
  688. package/animations/index.js.map +0 -1
  689. package/animations/presets/index.d.ts +0 -3
  690. package/animations/presets/index.js +0 -4
  691. package/animations/presets/index.js.map +0 -1
  692. package/components/calendar/themes/bootstrap/calendar.bootstrap.css.js.map +0 -1
  693. package/components/calendar/themes/bootstrap/days-view.bootstrap.css.js.map +0 -1
  694. package/components/calendar/themes/bootstrap/year-month-view.bootstrap.css.js.map +0 -1
  695. package/components/calendar/themes/fluent/calendar.fluent.css.js +0 -403
  696. package/components/calendar/themes/fluent/calendar.fluent.css.js.map +0 -1
  697. package/components/calendar/themes/fluent/days-view.fluent.css.js.map +0 -1
  698. package/components/calendar/themes/fluent/year-month-view.fluent.css.js +0 -129
  699. package/components/calendar/themes/fluent/year-month-view.fluent.css.js.map +0 -1
  700. package/components/calendar/themes/indigo/calendar.indigo.css.js.map +0 -1
  701. package/components/card/themes/light/card.actions.material.css.js.map +0 -1
  702. package/components/card/themes/light/card.media.material.css.js.map +0 -1
  703. package/components/chip/themes/chip.base.css.js.map +0 -1
  704. package/components/chip/themes/chip.bootstrap.css.js +0 -297
  705. package/components/chip/themes/chip.bootstrap.css.js.map +0 -1
  706. package/components/chip/themes/chip.fluent.css.js +0 -261
  707. package/components/chip/themes/chip.fluent.css.js.map +0 -1
  708. package/components/chip/themes/chip.indigo.css.js +0 -358
  709. package/components/chip/themes/chip.indigo.css.js.map +0 -1
  710. package/components/chip/themes/chip.material.css.js +0 -242
  711. package/components/chip/themes/chip.material.css.js.map +0 -1
  712. package/components/common/decorators/index.d.ts +0 -9
  713. package/components/common/decorators/index.js +0 -10
  714. package/components/common/decorators/index.js.map +0 -1
  715. package/components/tabs/themes/dark/tab.dark.base.css.js.map +0 -1
  716. package/components/tabs/themes/dark/tab.dark.bootstrap.css.js.map +0 -1
  717. package/components/toast/themes/toast.base.css.js.map +0 -1
  718. package/components/toast/themes/toast.bootstrap.css.js.map +0 -1
  719. package/components/toast/themes/toast.fluent.css.js.map +0 -1
  720. package/components/toast/themes/toast.indigo.css.js.map +0 -1
  721. package/theming/index.d.ts +0 -4
  722. package/theming/index.js +0 -5
  723. package/theming/index.js.map +0 -1
  724. /package/components/{calendar/themes/bootstrap/calendar.bootstrap.css.d.ts → avatar/themes/shared/avatar.bootstrap.css.d.ts} +0 -0
  725. /package/components/{calendar/themes/bootstrap/days-view.bootstrap.css.d.ts → avatar/themes/shared/avatar.fluent.css.d.ts} +0 -0
  726. /package/components/{calendar/themes/bootstrap/year-month-view.bootstrap.css.d.ts → avatar/themes/shared/avatar.indigo.css.d.ts} +0 -0
  727. /package/components/{calendar/themes/fluent/calendar.fluent.css.d.ts → avatar/themes/shared/avatar.material.css.d.ts} +0 -0
  728. /package/components/{calendar/themes/fluent/days-view.fluent.css.d.ts → badge/themes/dark/badge.bootstrap.css.d.ts} +0 -0
  729. /package/components/{calendar/themes/fluent/year-month-view.fluent.css.d.ts → button-group/themes/light/button-group.base.css.d.ts} +0 -0
  730. /package/components/{calendar/themes/indigo/calendar.indigo.css.d.ts → button-group/themes/light/button-group.bootstrap.css.d.ts} +0 -0
  731. /package/components/{card/themes/light/card.actions.material.css.d.ts → button-group/themes/light/button-group.fluent.css.d.ts} +0 -0
  732. /package/components/{card/themes/light/card.media.material.css.d.ts → button-group/themes/light/button-group.indigo.css.d.ts} +0 -0
  733. /package/components/{chip/themes/chip.base.css.d.ts → button-group/themes/light/button-group.material.css.d.ts} +0 -0
  734. /package/components/{chip/themes/chip.bootstrap.css.d.ts → button-group/themes/light/toggle-button/toggle-button.base.css.d.ts} +0 -0
  735. /package/components/{chip/themes/chip.fluent.css.d.ts → button-group/themes/light/toggle-button/toggle-button.bootstrap.css.d.ts} +0 -0
  736. /package/components/{chip/themes/chip.indigo.css.d.ts → button-group/themes/light/toggle-button/toggle-button.fluent.css.d.ts} +0 -0
  737. /package/components/{chip/themes/chip.material.css.d.ts → button-group/themes/light/toggle-button/toggle-button.indigo.css.d.ts} +0 -0
  738. /package/components/{tabs/themes/dark/tab.dark.base.css.d.ts → button-group/themes/light/toggle-button/toggle-button.material.css.d.ts} +0 -0
  739. /package/components/{tabs/themes/dark/tab.dark.bootstrap.css.d.ts → calendar/themes/light/bootstrap/calendar.bootstrap.css.d.ts} +0 -0
  740. /package/components/{toast/themes/toast.base.css.d.ts → calendar/themes/light/bootstrap/days-view.bootstrap.css.d.ts} +0 -0
  741. /package/components/{toast/themes/toast.bootstrap.css.d.ts → calendar/themes/light/bootstrap/year-month-view.bootstrap.css.d.ts} +0 -0
  742. /package/components/{toast/themes/toast.fluent.css.d.ts → calendar/themes/light/fluent/calendar.fluent.css.d.ts} +0 -0
  743. /package/components/{toast/themes/toast.indigo.css.d.ts → calendar/themes/light/fluent/days-view.fluent.css.d.ts} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { LitElement } from 'lit';
2
2
  import { Constructor } from '../common/mixins/constructor.js';
3
- import { IgcStepperEventMap } from './stepper.common.js';
4
3
  import IgcStepComponent from './step.js';
4
+ import { IgcStepperEventMap } from './stepper.common.js';
5
5
  declare const IgcStepperComponent_base: import("../common/mixins/constructor.js").AbstractConstructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcStepperEventMap>> & Constructor<LitElement>;
6
6
  /**
7
7
  * IgxStepper provides a wizard-like workflow by dividing content into logical steps.
@@ -18,10 +18,9 @@ declare const IgcStepperComponent_base: import("../common/mixins/constructor.js"
18
18
  * @fires igcActiveStepChanged - Emitted when the active step is changed.
19
19
  */
20
20
  export default class IgcStepperComponent extends IgcStepperComponent_base {
21
- /** @private */
22
21
  static readonly tagName = "igc-stepper";
23
- /** @private */
24
22
  protected static styles: import("lit").CSSResult;
23
+ static register(): void;
25
24
  private readonly keyDownHandlers;
26
25
  private activeStep;
27
26
  /** Returns all of the stepper's steps. */
@@ -6,18 +6,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { html, LitElement } from 'lit';
8
8
  import { property, queryAssignedElements } from 'lit/decorators.js';
9
- import { defineComponents } from '../common/definitions/defineComponents.js';
9
+ import { themes } from '../../theming/theming-decorator.js';
10
+ import { watch } from '../common/decorators/watch.js';
11
+ import { registerComponent } from '../common/definitions/register.js';
10
12
  import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
13
+ import { isLTR } from '../common/util.js';
11
14
  import IgcStepComponent from './step.js';
12
- import { themes } from '../../theming/theming-decorator.js';
13
15
  import { styles } from './themes/stepper/stepper.base.css.js';
14
16
  import { styles as bootstrap } from './themes/stepper/stepper.bootstrap.css.js';
15
17
  import { styles as fluent } from './themes/stepper/stepper.fluent.css.js';
16
18
  import { styles as indigo } from './themes/stepper/stepper.indigo.css.js';
17
- import { watch } from '../common/decorators/watch.js';
18
- import { isLTR } from '../common/util.js';
19
- defineComponents(IgcStepComponent);
20
19
  let IgcStepperComponent = class IgcStepperComponent extends EventEmitterMixin(LitElement) {
20
+ static register() {
21
+ registerComponent(this, IgcStepComponent);
22
+ }
21
23
  orientationChange() {
22
24
  this.setAttribute('aria-orientation', this.orientation);
23
25
  this.steps.forEach((step) => {
@@ -399,7 +401,10 @@ __decorate([
399
401
  watch('animationDuration', { waitUntilFirstUpdate: true })
400
402
  ], IgcStepperComponent.prototype, "animationDurationChange", null);
401
403
  IgcStepperComponent = __decorate([
402
- themes({ bootstrap, fluent, indigo })
404
+ themes({
405
+ light: { bootstrap, fluent, indigo },
406
+ dark: { bootstrap, fluent, indigo },
407
+ })
403
408
  ], IgcStepperComponent);
404
409
  export default IgcStepperComponent;
405
410
  //# sourceMappingURL=stepper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stepper.js","sourceRoot":"","sources":["../../../src/components/stepper/stepper.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAE7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,gBAAgB,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;AAiBnC,IAAqB,mBAAmB,GAAxC,MAAqB,mBAAoB,SAAQ,iBAAiB,CAGhE,UAAU,CAAC;IA8FD,iBAAiB;QACzB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAsB,EAAE,EAAE;YAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAGS,cAAc;QACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,CAAC,IAAsB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAC5D,CAAC;IACJ,CAAC;IAGS,mBAAmB;QAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAsB,EAAE,EAAE;YAC5C,IACE,IAAI,CAAC,aAAa,KAAK,QAAQ;gBAC/B,IAAI,CAAC,aAAa,KAAK,KAAK;gBAC5B,IAAI,CAAC,aAAa,KAAK,KAAK;gBAC5B,IAAI,CAAC,aAAa,KAAK,OAAO,EAC9B;gBACA,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;aAChC;iBAAM;gBACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;aACzC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAGS,gBAAgB;QACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,CAAC,IAAsB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAChE,CAAC;IACJ,CAAC;IAGS,YAAY;QACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAsB,EAAE,EAAE;YAC5C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;YAClC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;gBACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,yBAAyB,EAAE,CAAC;SAClC;IACH,CAAC;IAIS,mBAAmB;QAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAsB,EAAE,EAAE;YAC5C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAGS,uBAAuB;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAsB,EAAE,EAAE;YAC5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QA7JO,oBAAe,GAA0B,IAAI,GAAG,CAC/D,MAAM,CAAC,OAAO,CAAC;YACb,KAAK,EAAE,IAAI,CAAC,YAAY;YACxB,KAAK,EAAE,IAAI,CAAC,YAAY;YACxB,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,GAAG,EAAE,IAAI,CAAC,YAAY;YACtB,OAAO,EAAE,IAAI,CAAC,gBAAgB;YAC9B,SAAS,EAAE,IAAI,CAAC,kBAAkB;YAClC,SAAS,EAAE,IAAI,CAAC,kBAAkB;YAClC,UAAU,EAAE,IAAI,CAAC,mBAAmB;YACpC,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,GAAG,EAAE,IAAI,CAAC,QAAQ;SACnB,CAAC,CACH,CAAC;QAcK,gBAAW,GAA8B,YAAY,CAAC;QAQtD,aAAQ,GAAmC,MAAM,CAAC;QASlD,WAAM,GAAG,KAAK,CAAC;QASf,eAAU,GAAG,KAAK,CAAC;QAOnB,sBAAiB,GAA6B,MAAM,CAAC;QAOrD,wBAAmB,GAA8B,OAAO,CAAC;QAOzD,sBAAiB,GAAG,GAAG,CAAC;QAqF7B,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC,KAAU,EAAE,EAAE;YACxD,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,CAAC,KAAU,EAAE,EAAE;YACjE,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,yBAAyB,EAAE,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,KAAU,EAAE,EAAE;YAC1D,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACpD,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;aACnD;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC,KAAU,EAAE,EAAE;YACxD,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;IAEe,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IAEO,iBAAiB;QACvB,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CACtC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CACrC,CAAC;QACF,IAAI,gBAAgB,EAAE;YACpB,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;SAC5C;IACH,CAAC;IAEO,YAAY,CAClB,QAA0B,EAC1B,WAA6B;QAE7B,IAAI,QAAQ,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE;YAEtC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACnC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SAChC;aAAM;YAEL,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC7C,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;SAC5C;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAsB,EAAE,UAAU,GAAG,IAAI;QAClE,IAAI,IAAI,KAAK,IAAI,CAAC,UAAU,EAAE;YAC5B,OAAO;SACR;QAED,IAAI,UAAU,EAAE;YACd,MAAM,IAAI,GAAG;gBACX,MAAM,EAAE;oBACN,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;oBAC/B,QAAQ,EAAE,IAAI,CAAC,KAAK;iBACrB;gBACD,UAAU,EAAE,IAAI;aACjB,CAAC;YAEF,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;YAE9D,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO;aACR;YACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE;gBACrC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;aAC3C,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SAC7B;IACH,CAAC;IAEO,gBAAgB,CAAC,IAAsB;QAC7C,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;SAChC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAEO,cAAc,CAAC,IAAI,GAAG,IAAI;QAChC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE;YACT,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC7B,eAAe,GAAG,KAAK,CAAC,SAAS,CAC/B,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CACrD,CAAC;SACH;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,CAAC,IAAsB,EAAE,CAAS,EAAE,EAAE,CACpC,CAAC,GAAG,eAAe,IAAI,IAAI,CAAC,YAAY,CAC3C,CAAC;QAEF,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;SACpC;IACH,CAAC;IAEO,aAAa,CAAC,KAAoB,EAAE,WAA6B;;QACvE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAEpC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACvC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,MAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0CAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;SAC9D;QACD,IAAI,GAAG,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE;YACpD,OAAO;SACR;QACD,IAAI,GAAG,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,EAAE;YAChE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;SAChC;IACH,CAAC;IAEO,SAAS;;QACf,MAAA,MAAA,IAAI,CAAC,KAAK;aACP,MAAM,CAAC,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,0CACvD,MAAM,0CAAE,KAAK,EAAE,CAAC;IACtB,CAAC;IAEO,QAAQ;;QACd,MAAA,MAAA,IAAI,CAAC,KAAK;aACP,MAAM,CAAC,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;aACrD,GAAG,EAAE,0CACJ,MAAM,0CAAE,KAAK,EAAE,CAAC;IACtB,CAAC;IAEO,kBAAkB,CAAC,WAA6B;;QACtD,IAAI,IAAI,CAAC,WAAW,KAAK,YAAY,EAAE;YACrC,OAAO;SACR;QACD,MAAA,MAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,0CAAE,MAAM,0CAAE,KAAK,EAAE,CAAC;IACjD,CAAC;IAEO,gBAAgB,CAAC,WAA6B;;QACpD,IAAI,IAAI,CAAC,WAAW,KAAK,YAAY,EAAE;YACrC,OAAO;SACR;QACD,MAAA,MAAA,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,0CAAE,MAAM,0CAAE,KAAK,EAAE,CAAC;IACrD,CAAC;IAEO,mBAAmB,CAAC,WAA6B;;QACvD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,KAAK,YAAY,EAAE;YACrD,MAAA,MAAA,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,0CAAE,MAAM,0CAAE,KAAK,EAAE,CAAC;SACpD;aAAM;YACL,MAAA,MAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,0CAAE,MAAM,0CAAE,KAAK,EAAE,CAAC;SAChD;IACH,CAAC;IAEO,kBAAkB,CAAC,WAA6B;;QACtD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,KAAK,YAAY,EAAE;YACrD,MAAA,MAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,0CAAE,MAAM,0CAAE,KAAK,EAAE,CAAC;SAChD;aAAM;YACL,MAAA,MAAA,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,0CAAE,MAAM,0CAAE,KAAK,EAAE,CAAC;SACpD;IACH,CAAC;IAEO,WAAW,CACjB,WAA6B;QAE7B,IAAI,WAAW,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACvE;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CACpC,CAAC,IAAsB,EAAE,CAAS,EAAE,EAAE,CACpC,CAAC,GAAG,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAC7C,CAAC;QACF,OAAO,cAAc;YACnB,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC;IAEO,eAAe,CACrB,WAA6B;QAE7B,IAAI,WAAW,CAAC,KAAK,KAAK,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC,KAAK;iBACd,MAAM,CAAC,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;iBACrD,GAAG,EAAE,CAAC;SACV;QAED,IAAI,QAAQ,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;aACP;SACF;QAED,OAAO,QAAQ;YACb,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC;IAC7E,CAAC;IAEO,yBAAyB;QAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK;aAChC,MAAM,CAAC,CAAC,IAAsB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;aACpE,IAAI,CAAC,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,gBAAgB,EAAE;YACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAsB,EAAE,EAAE;gBAC5C,IAAI,IAAI,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,EAAE;oBACxC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;iBAC7B;qBAAM;oBACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;iBAC5B;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,CAAC,IAAsB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,CAC1D,CAAC;SACH;IACH,CAAC;IAEO,eAAe,CAAC,IAAsB;QAC5C,IAAI,IAAI,CAAC,WAAW,KAAK,YAAY,EAAE;YACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC;SAC3C;QAED,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE;YACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC;SACzC;IACH,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAsB,EAAE,KAAa,EAAE,EAAE;;YAC3D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;YACvC,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY,CAAC,eAAe,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnE,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxE,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY,CAAC,IAAI,EAAE,mBAAmB,KAAK,EAAE,CAAC,CAAC;YAC5D,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY,CAAC,eAAe,EAAE,oBAAoB,KAAK,EAAE,CAAC,CAAC;YACxE,IAAI,KAAK,GAAG,CAAC,EAAE;gBACb,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;aACxD;YACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtE,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK;aAC9B,OAAO,EAAE;aACT,IAAI,CAAC,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,EAAE;YAEnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;aAAM;YAEL,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;SAC1C;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,yBAAyB,EAAE,CAAC;SAClC;IACH,CAAC;IAGM,UAAU,CAAC,KAAa;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAGM,IAAI;QACT,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAGM,IAAI;QACT,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAQM,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,qBAAqB,IAAI,CAAC,YAAY,UAAU,CAAC;IAC9D,CAAC;;AA9dsB,2BAAO,GAAG,aAAa,AAAhB,CAAiB;AAE9B,0BAAM,GAAG,MAAM,AAAT,CAAU;AAqB1B;IADN,qBAAqB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;kDACT;AAQhC;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wDACiC;AAQtD;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;qDACK;AASlD;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mDACN;AASf;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;uDAC3C;AAOnB;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;8DACc;AAOrD;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC;gEACgB;AAOzD;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8DAC7B;AAWxB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;0DACA;AAGhD;IADT,KAAK,CAAC,aAAa,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;4DAOpD;AAGS;IADT,KAAK,CAAC,UAAU,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;yDAKjD;AAGS;IADT,KAAK,CAAC,eAAe,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;8DActD;AAGS;IADT,KAAK,CAAC,YAAY,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;2DAKnD;AAGS;IADT,KAAK,CAAC,QAAQ,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;uDAa/C;AAIS;IAFT,KAAK,CAAC,mBAAmB,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IAC1D,KAAK,CAAC,qBAAqB,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;8DAK5D;AAGS;IADT,KAAK,CAAC,mBAAmB,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;kEAK1D;AAnKkB,mBAAmB;IADvC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;GACjB,mBAAmB,CAoevC;eApeoB,mBAAmB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\nimport { defineComponents } from '../common/definitions/defineComponents.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { IgcStepperEventMap } from './stepper.common.js';\nimport IgcStepComponent from './step.js';\nimport { themes } from '../../theming/theming-decorator.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';\nimport { watch } from '../common/decorators/watch.js';\nimport { isLTR } from '../common/util.js';\n\ndefineComponents(IgcStepComponent);\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@themes({ bootstrap, fluent, indigo })\nexport default class IgcStepperComponent extends EventEmitterMixin<\n IgcStepperEventMap,\n Constructor<LitElement>\n>(LitElement) {\n /** @private */\n public static readonly tagName = 'igc-stepper';\n /** @private */\n protected static styles = styles;\n\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\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: 'horizontal' | 'vertical' = '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: 'indicator' | 'title' | 'full' = '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: 'grow' | 'fade' | 'none' = 'grow';\n\n /**\n * The animation type when in horizontal mode.\n * @attr horizontal-animation\n */\n @property({ attribute: 'horizontal-animation' })\n public horizontalAnimation: 'slide' | 'fade' | 'none' = '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 undefined.\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?: 'bottom' | 'top' | 'end' | 'start';\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(\n (step: IgcStepComponent) => (step.stepType = this.stepType)\n );\n }\n\n @watch('titlePosition', { waitUntilFirstUpdate: true })\n protected titlePositionChange(): void {\n this.steps.forEach((step: IgcStepComponent) => {\n if (\n this.titlePosition !== 'bottom' &&\n this.titlePosition !== 'top' &&\n this.titlePosition !== 'end' &&\n this.titlePosition !== 'start'\n ) {\n step.titlePosition = undefined;\n } else {\n step.titlePosition = this.titlePosition;\n }\n });\n }\n\n @watch('contentTop', { waitUntilFirstUpdate: true })\n protected contentTopChange(): void {\n this.steps.forEach(\n (step: IgcStepComponent) => (step.contentTop = this.contentTop)\n );\n }\n\n @watch('linear', { waitUntilFirstUpdate: true })\n protected linearChange(): void {\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 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;\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(\n (step: IgcStepComponent) => (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.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) => (step.visited = false));\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';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { isLTR } from '../common/util.js';\nimport IgcStepComponent from './step.js';\nimport { IgcStepperEventMap } 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@themes({\n light: { bootstrap, fluent, indigo },\n dark: { bootstrap, fluent, indigo },\n})\nexport default class IgcStepperComponent extends EventEmitterMixin<\n IgcStepperEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-stepper';\n protected static styles = styles;\n\n public static register() {\n registerComponent(this, IgcStepComponent);\n }\n\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\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: 'horizontal' | 'vertical' = '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: 'indicator' | 'title' | 'full' = '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: 'grow' | 'fade' | 'none' = 'grow';\n\n /**\n * The animation type when in horizontal mode.\n * @attr horizontal-animation\n */\n @property({ attribute: 'horizontal-animation' })\n public horizontalAnimation: 'slide' | 'fade' | 'none' = '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 undefined.\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?: 'bottom' | 'top' | 'end' | 'start';\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(\n (step: IgcStepComponent) => (step.stepType = this.stepType)\n );\n }\n\n @watch('titlePosition', { waitUntilFirstUpdate: true })\n protected titlePositionChange(): void {\n this.steps.forEach((step: IgcStepComponent) => {\n if (\n this.titlePosition !== 'bottom' &&\n this.titlePosition !== 'top' &&\n this.titlePosition !== 'end' &&\n this.titlePosition !== 'start'\n ) {\n step.titlePosition = undefined;\n } else {\n step.titlePosition = this.titlePosition;\n }\n });\n }\n\n @watch('contentTop', { waitUntilFirstUpdate: true })\n protected contentTopChange(): void {\n this.steps.forEach(\n (step: IgcStepComponent) => (step.contentTop = this.contentTop)\n );\n }\n\n @watch('linear', { waitUntilFirstUpdate: true })\n protected linearChange(): void {\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 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;\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(\n (step: IgcStepComponent) => (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.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) => (step.visited = false));\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"]}
@@ -9,6 +9,7 @@ import { LitElement } from 'lit';
9
9
  export default class IgcTabPanelComponent extends LitElement {
10
10
  static readonly tagName = "igc-tab-panel";
11
11
  static styles: import("lit").CSSResult;
12
+ static register(): void;
12
13
  private static readonly increment;
13
14
  connectedCallback(): void;
14
15
  protected render(): import("lit-html").TemplateResult<1>;
@@ -1,7 +1,11 @@
1
1
  import { html, LitElement } from 'lit';
2
+ import { registerComponent } from '../common/definitions/register.js';
2
3
  import { createCounter } from '../common/util.js';
3
4
  import { styles } from './themes/light/tab-panel.base.css.js';
4
5
  class IgcTabPanelComponent extends LitElement {
6
+ static register() {
7
+ registerComponent(this);
8
+ }
5
9
  connectedCallback() {
6
10
  super.connectedCallback();
7
11
  this.setAttribute('role', 'tabpanel');
@@ -1 +1 @@
1
- {"version":3,"file":"tab-panel.js","sourceRoot":"","sources":["../../../src/components/tabs/tab-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAS9D,MAAqB,oBAAqB,SAAQ,UAAU;IAO1C,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;QACvD,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBACvB,iBAAiB,oBAAoB,CAAC,SAAS,EAAE,EAAE,CAAC;IACxD,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AAlBsB,4BAAO,GAAG,eAAe,CAAC;AAE1B,2BAAM,GAAG,MAAM,CAAC;AAEf,8BAAS,GAAG,aAAa,EAAE,CAAC;eALjC,oBAAoB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { createCounter } from '../common/util.js';\nimport { styles } from './themes/light/tab-panel.base.css.js';\n\n/**\n * Represents the content of a tab\n *\n * @element igc-tab-panel\n *\n * @slot - Renders the content.\n */\nexport default class IgcTabPanelComponent extends LitElement {\n public static readonly tagName = 'igc-tab-panel';\n\n public static override styles = styles;\n\n private static readonly increment = createCounter();\n\n public override connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'tabpanel');\n this.tabIndex = this.hasAttribute('tabindex') ? this.tabIndex : 0;\n this.slot = this.slot.length > 0 ? this.slot : 'panel';\n this.id =\n this.getAttribute('id') ||\n `igc-tab-panel-${IgcTabPanelComponent.increment()}`;\n }\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tab-panel': IgcTabPanelComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"tab-panel.js","sourceRoot":"","sources":["../../../src/components/tabs/tab-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAS9D,MAAqB,oBAAqB,SAAQ,UAAU;IAInD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAIe,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;QACvD,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBACvB,iBAAiB,oBAAoB,CAAC,SAAS,EAAE,EAAE,CAAC;IACxD,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AArBsB,4BAAO,GAAG,eAAe,CAAC;AAC1B,2BAAM,GAAG,MAAM,CAAC;AAMf,8BAAS,GAAG,aAAa,EAAE,CAAC;eARjC,oBAAoB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { createCounter } from '../common/util.js';\nimport { styles } from './themes/light/tab-panel.base.css.js';\n\n/**\n * Represents the content of a tab\n *\n * @element igc-tab-panel\n *\n * @slot - Renders the content.\n */\nexport default class IgcTabPanelComponent extends LitElement {\n public static readonly tagName = 'igc-tab-panel';\n public static override styles = styles;\n\n public static register() {\n registerComponent(this);\n }\n\n private static readonly increment = createCounter();\n\n public override connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'tabpanel');\n this.tabIndex = this.hasAttribute('tabindex') ? this.tabIndex : 0;\n this.slot = this.slot.length > 0 ? this.slot : 'panel';\n this.id =\n this.getAttribute('id') ||\n `igc-tab-panel-${IgcTabPanelComponent.increment()}`;\n }\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tab-panel': IgcTabPanelComponent;\n }\n}\n"]}
@@ -15,6 +15,7 @@ import { LitElement } from 'lit';
15
15
  export default class IgcTabComponent extends LitElement {
16
16
  static readonly tagName = "igc-tab";
17
17
  static styles: import("lit").CSSResult;
18
+ static register(): void;
18
19
  private static readonly increment;
19
20
  private tab;
20
21
  /**
@@ -8,8 +8,10 @@ var IgcTabComponent_1;
8
8
  import { html, LitElement } from 'lit';
9
9
  import { property, query } from 'lit/decorators.js';
10
10
  import { themes } from '../../theming/theming-decorator.js';
11
+ import { registerComponent } from '../common/definitions/register.js';
11
12
  import { createCounter } from '../common/util.js';
12
13
  import { styles } from './themes/light/tab.base.css.js';
14
+ import { styles as material } from './themes/light/tab.material.css.js';
13
15
  import { styles as bootstrap } from './themes/light/tab.bootstrap.css.js';
14
16
  import { styles as fluent } from './themes/light/tab.fluent.css.js';
15
17
  import { styles as indigo } from './themes/light/tab.indigo.css.js';
@@ -20,6 +22,9 @@ let IgcTabComponent = IgcTabComponent_1 = class IgcTabComponent extends LitEleme
20
22
  this.selected = false;
21
23
  this.disabled = false;
22
24
  }
25
+ static register() {
26
+ registerComponent(this);
27
+ }
23
28
  connectedCallback() {
24
29
  super.connectedCallback();
25
30
  this.id =
@@ -65,7 +70,10 @@ __decorate([
65
70
  property({ type: Boolean, reflect: true })
66
71
  ], IgcTabComponent.prototype, "disabled", void 0);
67
72
  IgcTabComponent = IgcTabComponent_1 = __decorate([
68
- themes({ bootstrap, fluent, indigo })
73
+ themes({
74
+ light: { material, bootstrap, fluent, indigo },
75
+ dark: { material, bootstrap, fluent, indigo },
76
+ })
69
77
  ], IgcTabComponent);
70
78
  export default IgcTabComponent;
71
79
  //# sourceMappingURL=tab.js.map
@@ -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,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAgBpE,IAAqB,eAAe,uBAApC,MAAqB,eAAgB,SAAQ,UAAU;IAAvD;;QAeS,UAAK,GAAG,EAAE,CAAC;QAOX,aAAQ,GAAG,KAAK,CAAC;QAOjB,aAAQ,GAAG,KAAK,CAAC;IAmC1B,CAAC;IAjCiB,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,WAAW,iBAAe,CAAC,SAAS,EAAE,EAAE,CAAC;IACxE,CAAC;IAGe,KAAK,CAAC,OAAsB;QAC1C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAGe,IAAI;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;wBAIS,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;wBAChC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;mBACrC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;;;;;KAQtD,CAAC;IACJ,CAAC;;AA9DsB,uBAAO,GAAG,SAAS,AAAZ,CAAa;AAEpB,sBAAM,GAAG,MAAM,AAAT,CAAU;AAEf,yBAAS,GAAG,aAAa,EAAE,AAAlB,CAAmB;AAG5C;IADP,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC;4CACH;AAOnB;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;AA7BL,eAAe;IADnC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;GACjB,eAAe,CAgEnC;eAhEoB,eAAe","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { createCounter } from '../common/util.js';\nimport { styles } from './themes/light/tab.base.css.js';\nimport { styles as bootstrap } from './themes/light/tab.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/tab.fluent.css.js';\nimport { styles as indigo } from './themes/light/tab.indigo.css.js';\n\n/**\n * Represents the tab header.\n *\n * @element igc-tab\n *\n * @slot prefix - Renders before the tab header content.\n * @slot - Renders the tab header content.\n * @slot suffix - Renders after the tab header content.\n *\n * @csspart content - The content wrapper.\n * @csspart prefix - The prefix wrapper.\n * @csspart suffix - The suffix wrapper.\n */\n@themes({ bootstrap, fluent, indigo })\nexport default class IgcTabComponent extends LitElement {\n public static readonly tagName = 'igc-tab';\n\n public static override styles = styles;\n\n private static readonly increment = createCounter();\n\n @query('[part=\"base\"]', true)\n private tab!: HTMLElement;\n\n /**\n * The id of the tab panel which will be controlled by the tab.\n * @attr\n */\n @property()\n public panel = '';\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 public override connectedCallback(): void {\n super.connectedCallback();\n this.id =\n this.getAttribute('id') || `igc-tab-${IgcTabComponent.increment()}`;\n }\n\n /** Sets focus to the tab. */\n public override focus(options?: FocusOptions) {\n this.tab.focus(options);\n }\n\n /** Removes focus from the tab. */\n public override blur() {\n this.tab.blur();\n }\n\n protected override render() {\n return html`\n <div\n part=\"base\"\n role=\"tab\"\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-selected=${this.selected ? 'true' : 'false'}\n tabindex=${this.disabled || !this.selected ? -1 : 0}\n >\n <slot name=\"prefix\" part=\"prefix\"></slot>\n <div part=\"content\">\n <slot></slot>\n </div>\n <slot name=\"suffix\" part=\"suffix\"></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,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAmBpE,IAAqB,eAAe,uBAApC,MAAqB,eAAgB,SAAQ,UAAU;IAAvD;;QAkBS,UAAK,GAAG,EAAE,CAAC;QAOX,aAAQ,GAAG,KAAK,CAAC;QAOjB,aAAQ,GAAG,KAAK,CAAC;IAmC1B,CAAC;IA/DQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IA4Be,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,WAAW,iBAAe,CAAC,SAAS,EAAE,EAAE,CAAC;IACxE,CAAC;IAGe,KAAK,CAAC,OAAsB;QAC1C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAGe,IAAI;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;wBAIS,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;wBAChC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;mBACrC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;;;;;KAQtD,CAAC;IACJ,CAAC;;AAjEsB,uBAAO,GAAG,SAAS,AAAZ,CAAa;AACpB,sBAAM,GAAG,MAAM,AAAT,CAAU;AAMf,yBAAS,GAAG,aAAa,EAAE,AAAlB,CAAmB;AAG5C;IADP,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC;4CACH;AAOnB;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;AAhCL,eAAe;IAJnC,MAAM,CAAC;QACN,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE;QAC9C,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE;KAC9C,CAAC;GACmB,eAAe,CAmEnC;eAnEoB,eAAe","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { createCounter } from '../common/util.js';\nimport { styles } from './themes/light/tab.base.css.js';\nimport { styles as material } from './themes/light/tab.material.css.js';\nimport { styles as bootstrap } from './themes/light/tab.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/tab.fluent.css.js';\nimport { styles as indigo } from './themes/light/tab.indigo.css.js';\n\n/**\n * Represents the tab header.\n *\n * @element igc-tab\n *\n * @slot prefix - Renders before the tab header content.\n * @slot - Renders the tab header content.\n * @slot suffix - Renders after the tab header content.\n *\n * @csspart content - The content wrapper.\n * @csspart prefix - The prefix wrapper.\n * @csspart suffix - The suffix wrapper.\n */\n@themes({\n light: { material, bootstrap, fluent, indigo },\n dark: { material, bootstrap, fluent, indigo },\n})\nexport default class IgcTabComponent extends LitElement {\n public static readonly tagName = 'igc-tab';\n public static override styles = styles;\n\n public static register() {\n registerComponent(this);\n }\n\n private static readonly increment = createCounter();\n\n @query('[part=\"base\"]', true)\n private tab!: HTMLElement;\n\n /**\n * The id of the tab panel which will be controlled by the tab.\n * @attr\n */\n @property()\n public panel = '';\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 public override connectedCallback(): void {\n super.connectedCallback();\n this.id =\n this.getAttribute('id') || `igc-tab-${IgcTabComponent.increment()}`;\n }\n\n /** Sets focus to the tab. */\n public override focus(options?: FocusOptions) {\n this.tab.focus(options);\n }\n\n /** Removes focus from the tab. */\n public override blur() {\n this.tab.blur();\n }\n\n protected override render() {\n return html`\n <div\n part=\"base\"\n role=\"tab\"\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-selected=${this.selected ? 'true' : 'false'}\n tabindex=${this.disabled || !this.selected ? -1 : 0}\n >\n <slot name=\"prefix\" part=\"prefix\"></slot>\n <div part=\"content\">\n <slot></slot>\n </div>\n <slot name=\"suffix\" part=\"suffix\"></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tab': IgcTabComponent;\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { LitElement, nothing } from 'lit';
2
2
  import { Constructor } from '../common/mixins/constructor.js';
3
- import IgcTabComponent from './tab.js';
4
3
  import IgcTabPanelComponent from './tab-panel.js';
4
+ import IgcTabComponent from './tab.js';
5
5
  export interface IgcTabsEventMap {
6
6
  igcChange: CustomEvent<IgcTabComponent>;
7
7
  }
@@ -28,6 +28,7 @@ declare const IgcTabsComponent_base: import("../common/mixins/constructor.js").A
28
28
  export default class IgcTabsComponent extends IgcTabsComponent_base {
29
29
  static readonly tagName = "igc-tabs";
30
30
  static styles: import("lit").CSSResult;
31
+ static register(): void;
31
32
  private static readonly increment;
32
33
  protected tabs: Array<IgcTabComponent>;
33
34
  protected panels: Array<IgcTabPanelComponent>;
@@ -7,21 +7,21 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var IgcTabsComponent_1;
8
8
  import { html, LitElement, nothing } from 'lit';
9
9
  import { eventOptions, property, query, queryAssignedElements, state, } from 'lit/decorators.js';
10
- import { watch } from '../common/decorators/watch.js';
11
- import { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';
12
10
  import { themes } from '../../theming/theming-decorator.js';
11
+ import { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';
12
+ import { watch } from '../common/decorators/watch.js';
13
+ import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
14
+ import { createCounter, getOffset, isLTR } from '../common/util.js';
13
15
  import { styles } from './themes/light/tabs.base.css.js';
16
+ import { styles as material } from './themes/light/tabs.material.css.js';
14
17
  import { styles as bootstrap } from './themes/light/tabs.bootstrap.css.js';
15
18
  import { styles as fluent } from './themes/light/tabs.fluent.css.js';
16
19
  import { styles as indigo } from './themes/light/tabs.indigo.css.js';
17
- import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
18
- import { createCounter, getOffset, isLTR } from '../common/util.js';
19
20
  import { getAttributesForTags, getNodesForTags, observerConfig, } from './utils.js';
20
- import { defineComponents } from '../common/definitions/defineComponents.js';
21
- import IgcTabComponent from './tab.js';
22
- import IgcTabPanelComponent from './tab-panel.js';
23
21
  import IgcIconButtonComponent from '../button/icon-button.js';
24
- defineComponents(IgcTabComponent, IgcTabPanelComponent, IgcIconButtonComponent);
22
+ import { registerComponent } from '../common/definitions/register.js';
23
+ import IgcTabPanelComponent from './tab-panel.js';
24
+ import IgcTabComponent from './tab.js';
25
25
  let IgcTabsComponent = IgcTabsComponent_1 = class IgcTabsComponent extends EventEmitterMixin(LitElement) {
26
26
  constructor() {
27
27
  super(...arguments);
@@ -71,6 +71,9 @@ let IgcTabsComponent = IgcTabsComponent_1 = class IgcTabsComponent extends Event
71
71
  event.preventDefault();
72
72
  };
73
73
  }
74
+ static register() {
75
+ registerComponent(this, IgcTabComponent, IgcTabPanelComponent, IgcIconButtonComponent);
76
+ }
74
77
  get enabledTabs() {
75
78
  return this.tabs.filter((tab) => !tab.disabled);
76
79
  }
@@ -306,7 +309,10 @@ __decorate([
306
309
  eventOptions({ passive: true })
307
310
  ], IgcTabsComponent.prototype, "handleScroll", null);
308
311
  IgcTabsComponent = IgcTabsComponent_1 = __decorate([
309
- themes({ bootstrap, fluent, indigo }),
312
+ themes({
313
+ light: { material, bootstrap, fluent, indigo },
314
+ dark: { material, bootstrap, fluent, indigo },
315
+ }),
310
316
  blazorAdditionalDependencies('IgcTabComponent, IgcTabPanelComponent')
311
317
  ], IgcTabsComponent);
312
318
  export default IgcTabsComponent;
@@ -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 query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { styles } from './themes/light/tabs.base.css.js';\nimport { styles as bootstrap } from './themes/light/tabs.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/tabs.fluent.css.js';\nimport { styles as indigo } from './themes/light/tabs.indigo.css.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { createCounter, getOffset, isLTR } from '../common/util.js';\nimport {\n getAttributesForTags,\n getNodesForTags,\n observerConfig,\n} from './utils.js';\n\nimport { defineComponents } from '../common/definitions/defineComponents.js';\nimport IgcTabComponent from './tab.js';\nimport IgcTabPanelComponent from './tab-panel.js';\nimport IgcIconButtonComponent from '../button/icon-button.js';\n\ndefineComponents(IgcTabComponent, IgcTabPanelComponent, IgcIconButtonComponent);\n\nexport interface IgcTabsEventMap {\n igcChange: CustomEvent<IgcTabComponent>;\n}\n\n/**\n * Represents tabs component\n *\n * @element igc-tabs\n *\n * @fires igcChange - Emitted when the selected tab changes.\n *\n * @slot - Renders the tab header.\n * @slot panel - Renders the tab content.\n *\n * @csspart headers - The wrapper of the tabs including the headers content and the scroll buttons.\n * @csspart headers-content - The container for the tab headers.\n * @csspart headers-wrapper - The wrapper for the tab headers and the selected indicator.\n * @csspart headers-scroll - The container for the headers.\n * @csspart selected-indicator - The selected indicator.\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 content - The container for the tabs content.\n */\n@themes({ bootstrap, fluent, indigo })\n@blazorAdditionalDependencies('IgcTabComponent, IgcTabPanelComponent')\nexport default class IgcTabsComponent extends EventEmitterMixin<\n IgcTabsEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-tabs';\n\n public static styles = styles;\n private static readonly increment = createCounter();\n\n @queryAssignedElements({ selector: 'igc-tab' })\n protected tabs!: Array<IgcTabComponent>;\n\n @queryAssignedElements({ slot: 'panel' })\n protected panels!: Array<IgcTabPanelComponent>;\n\n @query('[part=\"headers-wrapper\"]', true)\n protected wrapper!: HTMLElement;\n\n @query('[part=\"headers-content\"]', true)\n protected container!: HTMLElement;\n\n @query('[part=\"selected-indicator\"]', true)\n protected selectedIndicator!: HTMLElement;\n\n @state()\n protected showScrollButtons = false;\n\n @state()\n protected disableStartScrollButton = true;\n\n @state()\n protected disableEndScrollButton = false;\n\n @state()\n protected activeTab?: IgcTabComponent;\n\n protected resizeObserver!: ResizeObserver;\n protected mutationObserver!: MutationObserver;\n\n protected get enabledTabs() {\n return this.tabs.filter((tab) => !tab.disabled);\n }\n\n /** Returns the currently selected tab. */\n public get selected(): string {\n return this.activeTab?.panel ?? '';\n }\n\n /**\n * Sets the alignment for the tab headers\n * @attr\n */\n @property({ reflect: true })\n public alignment: 'start' | 'end' | 'center' | 'justify' = '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: 'auto' | 'manual' = 'auto';\n\n @watch('alignment', { waitUntilFirstUpdate: true })\n protected alignIndicator() {\n const styles: Partial<CSSStyleDeclaration> = {\n visibility: this.activeTab ? 'visible' : 'hidden',\n transitionDuration: '0.3s',\n };\n\n if (this.activeTab) {\n Object.assign(styles, {\n width: `${this.activeTab!.offsetWidth}px`,\n transform: `translate(${\n isLTR(this)\n ? getOffset(this.activeTab!, this.wrapper).left\n : getOffset(this.activeTab!, this.wrapper).right\n }px)`,\n });\n }\n\n Object.assign(this.selectedIndicator.style, styles);\n }\n\n protected override async firstUpdated() {\n this.showScrollButtons =\n this.container.scrollWidth > this.container.clientWidth;\n\n await this.updateComplete;\n\n this.syncAttributes();\n this.setupObserver();\n this.setSelectedTab(\n this.tabs.filter((tab) => tab.selected).at(-1) ?? this.enabledTabs.at(0)\n );\n this.updateSelectedTab();\n }\n\n public override disconnectedCallback() {\n this.resizeObserver?.disconnect();\n this.mutationObserver?.disconnect();\n super.disconnectedCallback();\n }\n\n protected updateButtonsOnResize() {\n // Hide the buttons in the resize observer callback and synchronously update the DOM\n // in order to get the actual size\n this.showScrollButtons = false;\n this.performUpdate();\n\n this.showScrollButtons =\n this.container.scrollWidth > this.container.clientWidth;\n\n this.updateScrollButtons();\n }\n\n protected updateScrollButtons() {\n const { scrollLeft, offsetWidth } = this.container,\n { scrollWidth } = this.wrapper;\n\n this.disableEndScrollButton =\n scrollWidth <= Math.abs(scrollLeft) + offsetWidth;\n this.disableStartScrollButton = scrollLeft === 0;\n }\n\n protected setupObserver() {\n this.resizeObserver = new ResizeObserver(() => {\n this.updateButtonsOnResize();\n this.alignIndicator();\n });\n\n [this.container, this.wrapper, ...this.tabs].forEach((element) =>\n this.resizeObserver.observe(element)\n );\n\n this.mutationObserver = new MutationObserver(async (records, observer) => {\n // Stop observing while handling changes\n observer.disconnect();\n\n const attributes = getAttributesForTags<IgcTabComponent>(\n records,\n 'igc-tab'\n ).filter((e) => e.closest(this.tagName)?.isSameNode(this));\n\n const changed = getNodesForTags<IgcTabComponent>(\n records,\n this,\n 'igc-tab'\n );\n\n if (attributes.length > 0) {\n this.activeTab = attributes.find((tab) => tab.selected);\n }\n\n if (changed) {\n changed.addedNodes.forEach((tab) => {\n this.resizeObserver.observe(tab);\n if (tab.selected) {\n this.activeTab = tab;\n }\n });\n changed.removedNodes.forEach((tab) => {\n this.resizeObserver.unobserve(tab);\n if (tab.selected || this.activeTab === tab) {\n this.activeTab = undefined;\n }\n });\n\n this.syncAttributes();\n }\n\n this.updateSelectedTab();\n this.activeTab?.scrollIntoView({ block: 'nearest' });\n this.alignIndicator();\n\n // Watch for changes again\n await this.updateComplete;\n observer.observe(this, observerConfig);\n });\n\n this.mutationObserver.observe(this, observerConfig);\n }\n\n protected updateSelectedTab() {\n this.tabs.forEach((tab) => (tab.selected = tab === this.activeTab));\n this.panels.forEach((panel) => {\n panel.hidden = panel.id !== this.activeTab?.panel;\n });\n }\n\n protected syncAttributes() {\n const prefix = this.id ? `${this.id}-` : '';\n this.tabs.forEach((tab, index) => {\n if (!tab.panel) {\n tab.panel =\n this.panels.at(index)?.id ??\n `${prefix}tab-${IgcTabsComponent.increment()}`;\n }\n this.panels\n .find((panel) => panel.id === tab.panel)\n ?.setAttribute('aria-labelledby', tab.id);\n });\n }\n\n private setSelectedTab(tab?: IgcTabComponent) {\n if (!tab || tab === this.activeTab) {\n return;\n }\n\n if (this.activeTab) {\n this.activeTab.selected = false;\n }\n\n this.activeTab = tab;\n this.activeTab.selected = true;\n }\n\n protected scrollByTabOffset(direction: 'start' | 'end') {\n const { scrollLeft, offsetWidth } = this.container;\n const LTR = isLTR(this),\n next = direction === 'end';\n\n const pivot = Math.abs(next ? offsetWidth + scrollLeft : scrollLeft);\n\n let amount = this.tabs\n .map((tab) => ({\n start: LTR\n ? getOffset(tab, this.wrapper).left\n : Math.abs(getOffset(tab, this.wrapper).right),\n width: tab.offsetWidth,\n }))\n .filter((offset) =>\n next ? offset.start + offset.width > pivot : offset.start < pivot\n )\n .at(next ? 0 : -1)!.width;\n\n amount *= next ? 1 : -1;\n this.container.scrollBy({ left: LTR ? amount : -amount });\n }\n\n protected handleClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest('igc-tab');\n\n if (!(tab && this.contains(tab)) || tab.disabled) {\n return;\n }\n\n tab.focus();\n this.setSelectedTab(tab);\n this.emitEvent('igcChange', { detail: this.activeTab });\n }\n\n protected handleKeyDown = (event: KeyboardEvent) => {\n const { key } = event;\n const enabledTabs = this.enabledTabs;\n const ltr = isLTR(this);\n\n let index = enabledTabs.indexOf(\n document.activeElement?.closest('igc-tab') as IgcTabComponent\n );\n\n switch (key) {\n case 'ArrowLeft':\n index = ltr\n ? (enabledTabs.length + index - 1) % enabledTabs.length\n : (index + 1) % enabledTabs.length;\n break;\n case 'ArrowRight':\n index = ltr\n ? (index + 1) % enabledTabs.length\n : (enabledTabs.length + index - 1) % enabledTabs.length;\n break;\n case 'Home':\n index = 0;\n break;\n case 'End':\n index = enabledTabs.length - 1;\n break;\n case 'Enter':\n case ' ':\n this.setSelectedTab(enabledTabs[index]);\n break;\n default:\n return;\n }\n\n enabledTabs[index].focus({ preventScroll: true });\n\n if (this.activation === 'auto') {\n this.setSelectedTab(enabledTabs[index]);\n this.emitEvent('igcChange', { detail: this.activeTab });\n } else {\n enabledTabs[index].scrollIntoView({ block: 'nearest' });\n }\n\n event.preventDefault();\n };\n\n @eventOptions({ passive: true })\n protected handleScroll() {\n this.updateScrollButtons();\n }\n\n /** Selects the specified tab and displays the corresponding panel. */\n public select(name: string) {\n this.setSelectedTab(this.tabs.find((el) => el.panel === name));\n }\n\n protected renderScrollButton(direction: 'start' | 'end') {\n const start = direction === 'start';\n\n return this.showScrollButtons\n ? html`<igc-icon-button\n tabindex=\"-1\"\n aria-hidden=\"true\"\n size=\"large\"\n variant=\"flat\"\n collection=\"internal\"\n part=\"${direction}-scroll-button\"\n name=\"navigate_${start ? 'before' : 'next'}\"\n .disabled=${start\n ? this.disableStartScrollButton\n : this.disableEndScrollButton}\n @click=${() => this.scrollByTabOffset(direction)}\n ></igc-icon-button>`\n : nothing;\n }\n\n protected override render() {\n return html`\n <div part=\"headers\">\n ${this.renderScrollButton('start')}\n <div part=\"headers-content\" @scroll=${this.handleScroll}>\n <div part=\"headers-wrapper\">\n <div\n part=\"headers-scroll\"\n role=\"tablist\"\n @click=${this.handleClick}\n @keydown=${this.handleKeyDown}\n >\n <slot></slot>\n </div>\n <div part=\"selected-indicator\"></div>\n </div>\n </div>\n ${this.renderScrollButton('end')}\n </div>\n <div part=\"content\">\n <slot name=\"panel\"></slot>\n </div>\n `;\n }\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 query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { createCounter, getOffset, isLTR } from '../common/util.js';\nimport { styles } from './themes/light/tabs.base.css.js';\nimport { styles as material } from './themes/light/tabs.material.css.js';\nimport { styles as bootstrap } from './themes/light/tabs.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/tabs.fluent.css.js';\nimport { styles as indigo } from './themes/light/tabs.indigo.css.js';\nimport {\n getAttributesForTags,\n getNodesForTags,\n observerConfig,\n} from './utils.js';\n\nimport IgcIconButtonComponent from '../button/icon-button.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport IgcTabPanelComponent from './tab-panel.js';\nimport IgcTabComponent from './tab.js';\n\nexport interface IgcTabsEventMap {\n igcChange: CustomEvent<IgcTabComponent>;\n}\n\n/**\n * Represents tabs component\n *\n * @element igc-tabs\n *\n * @fires igcChange - Emitted when the selected tab changes.\n *\n * @slot - Renders the tab header.\n * @slot panel - Renders the tab content.\n *\n * @csspart headers - The wrapper of the tabs including the headers content and the scroll buttons.\n * @csspart headers-content - The container for the tab headers.\n * @csspart headers-wrapper - The wrapper for the tab headers and the selected indicator.\n * @csspart headers-scroll - The container for the headers.\n * @csspart selected-indicator - The selected indicator.\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 content - The container for the tabs content.\n */\n@themes({\n light: { material, bootstrap, fluent, indigo },\n dark: { material, bootstrap, fluent, indigo },\n})\n@blazorAdditionalDependencies('IgcTabComponent, IgcTabPanelComponent')\nexport default class IgcTabsComponent extends EventEmitterMixin<\n IgcTabsEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-tabs';\n public static styles = styles;\n\n public static register() {\n registerComponent(\n this,\n IgcTabComponent,\n IgcTabPanelComponent,\n IgcIconButtonComponent\n );\n }\n\n private static readonly increment = createCounter();\n\n @queryAssignedElements({ selector: 'igc-tab' })\n protected tabs!: Array<IgcTabComponent>;\n\n @queryAssignedElements({ slot: 'panel' })\n protected panels!: Array<IgcTabPanelComponent>;\n\n @query('[part=\"headers-wrapper\"]', true)\n protected wrapper!: HTMLElement;\n\n @query('[part=\"headers-content\"]', true)\n protected container!: HTMLElement;\n\n @query('[part=\"selected-indicator\"]', true)\n protected selectedIndicator!: HTMLElement;\n\n @state()\n protected showScrollButtons = false;\n\n @state()\n protected disableStartScrollButton = true;\n\n @state()\n protected disableEndScrollButton = false;\n\n @state()\n protected activeTab?: IgcTabComponent;\n\n protected resizeObserver!: ResizeObserver;\n protected mutationObserver!: MutationObserver;\n\n protected get enabledTabs() {\n return this.tabs.filter((tab) => !tab.disabled);\n }\n\n /** Returns the currently selected tab. */\n public get selected(): string {\n return this.activeTab?.panel ?? '';\n }\n\n /**\n * Sets the alignment for the tab headers\n * @attr\n */\n @property({ reflect: true })\n public alignment: 'start' | 'end' | 'center' | 'justify' = '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: 'auto' | 'manual' = 'auto';\n\n @watch('alignment', { waitUntilFirstUpdate: true })\n protected alignIndicator() {\n const styles: Partial<CSSStyleDeclaration> = {\n visibility: this.activeTab ? 'visible' : 'hidden',\n transitionDuration: '0.3s',\n };\n\n if (this.activeTab) {\n Object.assign(styles, {\n width: `${this.activeTab!.offsetWidth}px`,\n transform: `translate(${\n isLTR(this)\n ? getOffset(this.activeTab!, this.wrapper).left\n : getOffset(this.activeTab!, this.wrapper).right\n }px)`,\n });\n }\n\n Object.assign(this.selectedIndicator.style, styles);\n }\n\n protected override async firstUpdated() {\n this.showScrollButtons =\n this.container.scrollWidth > this.container.clientWidth;\n\n await this.updateComplete;\n\n this.syncAttributes();\n this.setupObserver();\n this.setSelectedTab(\n this.tabs.filter((tab) => tab.selected).at(-1) ?? this.enabledTabs.at(0)\n );\n this.updateSelectedTab();\n }\n\n public override disconnectedCallback() {\n this.resizeObserver?.disconnect();\n this.mutationObserver?.disconnect();\n super.disconnectedCallback();\n }\n\n protected updateButtonsOnResize() {\n // Hide the buttons in the resize observer callback and synchronously update the DOM\n // in order to get the actual size\n this.showScrollButtons = false;\n this.performUpdate();\n\n this.showScrollButtons =\n this.container.scrollWidth > this.container.clientWidth;\n\n this.updateScrollButtons();\n }\n\n protected updateScrollButtons() {\n const { scrollLeft, offsetWidth } = this.container,\n { scrollWidth } = this.wrapper;\n\n this.disableEndScrollButton =\n scrollWidth <= Math.abs(scrollLeft) + offsetWidth;\n this.disableStartScrollButton = scrollLeft === 0;\n }\n\n protected setupObserver() {\n this.resizeObserver = new ResizeObserver(() => {\n this.updateButtonsOnResize();\n this.alignIndicator();\n });\n\n [this.container, this.wrapper, ...this.tabs].forEach((element) =>\n this.resizeObserver.observe(element)\n );\n\n this.mutationObserver = new MutationObserver(async (records, observer) => {\n // Stop observing while handling changes\n observer.disconnect();\n\n const attributes = getAttributesForTags<IgcTabComponent>(\n records,\n 'igc-tab'\n ).filter((e) => e.closest(this.tagName)?.isSameNode(this));\n\n const changed = getNodesForTags<IgcTabComponent>(\n records,\n this,\n 'igc-tab'\n );\n\n if (attributes.length > 0) {\n this.activeTab = attributes.find((tab) => tab.selected);\n }\n\n if (changed) {\n changed.addedNodes.forEach((tab) => {\n this.resizeObserver.observe(tab);\n if (tab.selected) {\n this.activeTab = tab;\n }\n });\n changed.removedNodes.forEach((tab) => {\n this.resizeObserver.unobserve(tab);\n if (tab.selected || this.activeTab === tab) {\n this.activeTab = undefined;\n }\n });\n\n this.syncAttributes();\n }\n\n this.updateSelectedTab();\n this.activeTab?.scrollIntoView({ block: 'nearest' });\n this.alignIndicator();\n\n // Watch for changes again\n await this.updateComplete;\n observer.observe(this, observerConfig);\n });\n\n this.mutationObserver.observe(this, observerConfig);\n }\n\n protected updateSelectedTab() {\n this.tabs.forEach((tab) => (tab.selected = tab === this.activeTab));\n this.panels.forEach((panel) => {\n panel.hidden = panel.id !== this.activeTab?.panel;\n });\n }\n\n protected syncAttributes() {\n const prefix = this.id ? `${this.id}-` : '';\n this.tabs.forEach((tab, index) => {\n if (!tab.panel) {\n tab.panel =\n this.panels.at(index)?.id ??\n `${prefix}tab-${IgcTabsComponent.increment()}`;\n }\n this.panels\n .find((panel) => panel.id === tab.panel)\n ?.setAttribute('aria-labelledby', tab.id);\n });\n }\n\n private setSelectedTab(tab?: IgcTabComponent) {\n if (!tab || tab === this.activeTab) {\n return;\n }\n\n if (this.activeTab) {\n this.activeTab.selected = false;\n }\n\n this.activeTab = tab;\n this.activeTab.selected = true;\n }\n\n protected scrollByTabOffset(direction: 'start' | 'end') {\n const { scrollLeft, offsetWidth } = this.container;\n const LTR = isLTR(this),\n next = direction === 'end';\n\n const pivot = Math.abs(next ? offsetWidth + scrollLeft : scrollLeft);\n\n let amount = this.tabs\n .map((tab) => ({\n start: LTR\n ? getOffset(tab, this.wrapper).left\n : Math.abs(getOffset(tab, this.wrapper).right),\n width: tab.offsetWidth,\n }))\n .filter((offset) =>\n next ? offset.start + offset.width > pivot : offset.start < pivot\n )\n .at(next ? 0 : -1)!.width;\n\n amount *= next ? 1 : -1;\n this.container.scrollBy({ left: LTR ? amount : -amount });\n }\n\n protected handleClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest('igc-tab');\n\n if (!(tab && this.contains(tab)) || tab.disabled) {\n return;\n }\n\n tab.focus();\n this.setSelectedTab(tab);\n this.emitEvent('igcChange', { detail: this.activeTab });\n }\n\n protected handleKeyDown = (event: KeyboardEvent) => {\n const { key } = event;\n const enabledTabs = this.enabledTabs;\n const ltr = isLTR(this);\n\n let index = enabledTabs.indexOf(\n document.activeElement?.closest('igc-tab') as IgcTabComponent\n );\n\n switch (key) {\n case 'ArrowLeft':\n index = ltr\n ? (enabledTabs.length + index - 1) % enabledTabs.length\n : (index + 1) % enabledTabs.length;\n break;\n case 'ArrowRight':\n index = ltr\n ? (index + 1) % enabledTabs.length\n : (enabledTabs.length + index - 1) % enabledTabs.length;\n break;\n case 'Home':\n index = 0;\n break;\n case 'End':\n index = enabledTabs.length - 1;\n break;\n case 'Enter':\n case ' ':\n this.setSelectedTab(enabledTabs[index]);\n break;\n default:\n return;\n }\n\n enabledTabs[index].focus({ preventScroll: true });\n\n if (this.activation === 'auto') {\n this.setSelectedTab(enabledTabs[index]);\n this.emitEvent('igcChange', { detail: this.activeTab });\n } else {\n enabledTabs[index].scrollIntoView({ block: 'nearest' });\n }\n\n event.preventDefault();\n };\n\n @eventOptions({ passive: true })\n protected handleScroll() {\n this.updateScrollButtons();\n }\n\n /** Selects the specified tab and displays the corresponding panel. */\n public select(name: string) {\n this.setSelectedTab(this.tabs.find((el) => el.panel === name));\n }\n\n protected renderScrollButton(direction: 'start' | 'end') {\n const start = direction === 'start';\n\n return this.showScrollButtons\n ? html`<igc-icon-button\n tabindex=\"-1\"\n aria-hidden=\"true\"\n size=\"large\"\n variant=\"flat\"\n collection=\"internal\"\n part=\"${direction}-scroll-button\"\n name=\"navigate_${start ? 'before' : 'next'}\"\n .disabled=${start\n ? this.disableStartScrollButton\n : this.disableEndScrollButton}\n @click=${() => this.scrollByTabOffset(direction)}\n ></igc-icon-button>`\n : nothing;\n }\n\n protected override render() {\n return html`\n <div part=\"headers\">\n ${this.renderScrollButton('start')}\n <div part=\"headers-content\" @scroll=${this.handleScroll}>\n <div part=\"headers-wrapper\">\n <div\n part=\"headers-scroll\"\n role=\"tablist\"\n @click=${this.handleClick}\n @keydown=${this.handleKeyDown}\n >\n <slot></slot>\n </div>\n <div part=\"selected-indicator\"></div>\n </div>\n </div>\n ${this.renderScrollButton('end')}\n </div>\n <div part=\"content\">\n <slot name=\"panel\"></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tabs': IgcTabsComponent;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css ``;
3
+ //# sourceMappingURL=tab.bootstrap.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/tabs/themes/dark/tab.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css``;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css ``;
3
+ //# sourceMappingURL=tab.fluent.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/tabs/themes/dark/tab.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css``;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css ``;
3
+ //# sourceMappingURL=tab.indigo.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/tabs/themes/dark/tab.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css``;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css ``;
3
+ //# sourceMappingURL=tab.material.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab.material.css.js","sourceRoot":"","sources":["../../../../../src/components/tabs/themes/dark/tab.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css``;\n"]}
@@ -32,28 +32,6 @@ export const styles = css `:host {
32
32
  display: none !important;
33
33
  }
34
34
  :host {
35
- --item-text-color: var(--ig-tabs-item-text-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));
36
- --item-background: var(--ig-tabs-item-background, hsla(var(--ig-surface-500), var(--ig-surface-a)));
37
- --item-hover-background: var(--ig-tabs-item-hover-background, hsla(var(--ig-gray-200), var(--ig-gray-a)));
38
- --item-hover-color: var(--ig-tabs-item-hover-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));
39
- --item-active-color: var(--ig-tabs-item-active-color, hsla(var(--ig-primary-500), var(--ig-primary-a)));
40
- --item-icon-color: var(--ig-tabs-item-icon-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));
41
- --item-active-icon-color: var(--ig-tabs-item-active-icon-color, hsla(var(--ig-primary-500), var(--ig-primary-a)));
42
- --item-hover-icon-color: var(--ig-tabs-item-hover-icon-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));
43
- --item-disabled-icon-color: var(--ig-tabs-item-disabled-icon-color, hsla(var(--ig-gray-500), var(--ig-gray-a)));
44
- --item-active-background: var(--ig-tabs-item-active-background, hsla(var(--ig-gray-200), var(--ig-gray-a)));
45
- --item-disabled-color: var(--ig-tabs-item-disabled-color, hsla(var(--ig-gray-500), var(--ig-gray-a)));
46
- --indicator-color: var(--ig-tabs-indicator-color, hsla(var(--ig-primary-500), var(--ig-primary-a)));
47
- --button-color: var(--ig-tabs-button-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));
48
- --button-background: var(--ig-tabs-button-background, hsla(var(--ig-surface-500), var(--ig-surface-a)));
49
- --button-hover-background: var(--ig-tabs-button-hover-background, hsla(var(--ig-gray-100), var(--ig-gray-a)));
50
- --button-hover-color: var(--ig-tabs-button-hover-color, hsla(var(--ig-gray-900), var(--ig-gray-a)));
51
- --button-disabled-color: var(--ig-tabs-button-disabled-color, hsla(var(--ig-gray-500), var(--ig-gray-a)));
52
- --tab-ripple-color: var(--ig-tabs-tab-ripple-color, hsla(var(--ig-gray-100), var(--ig-gray-a)));
53
- --button-ripple-color: var(--ig-tabs-button-ripple-color, hsla(var(--ig-gray-100), var(--ig-gray-a)));
54
- --border-color: var(--ig-tabs-border-color, transparent);
55
- --border-color--hover: var(--ig-tabs-border-color--hover, transparent);
56
- --border-radius: var(--ig-tabs-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 0.375rem), 0.375rem));
57
35
  display: -webkit-inline-box;
58
36
  display: -ms-inline-flexbox;
59
37
  display: inline-flex;
@@ -78,36 +56,14 @@ export const styles = css `:host {
78
56
  -moz-user-select: none;
79
57
  -ms-user-select: none;
80
58
  user-select: none;
81
- background: hsla(var(--ig-surface-500), var(--ig-surface-a));
82
- color: hsla(var(--ig-gray-700), var(--ig-gray-a));
83
- border-radius: var(--border-radius);
84
59
  }
85
60
  :host ::slotted(igc-icon) {
86
61
  --ig-size: 3;
87
62
  }
88
63
 
89
- :host(:hover),
90
- :host(:focus-within) {
91
- background: var(--hover-background, hsla(var(--ig-gray-200), var(--ig-gray-a)));
92
- color: hsla(var(--ig-gray-700), var(--ig-gray-a));
93
- }
94
-
95
- :host([selected]) {
96
- color: hsla(var(--ig-primary-500), var(--ig-primary-a));
97
- }
98
- :host([selected]) ::slotted(igc-icon) {
99
- color: hsla(var(--ig-primary-500), var(--ig-primary-a));
100
- }
101
-
102
- :host([selected]:hover),
103
- :host([selected]:focus-within) {
104
- color: hsla(var(--ig-primary-500), var(--ig-primary-a));
105
- }
106
-
107
64
  :host([disabled]) {
108
65
  pointer-events: none;
109
66
  cursor: initial;
110
- color: hsla(var(--ig-gray-500), var(--ig-gray-a));
111
67
  }
112
68
 
113
69
  [part=base] {