igniteui-webcomponents 4.7.0 → 4.8.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 (1140) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/animations/player.d.ts +16 -5
  3. package/animations/player.js +29 -21
  4. package/animations/player.js.map +1 -1
  5. package/components/accordion/accordion.js.map +1 -1
  6. package/components/avatar/avatar.js.map +1 -1
  7. package/components/avatar/themes/dark/avatar.bootstrap.css.js +1 -1
  8. package/components/avatar/themes/dark/avatar.bootstrap.css.js.map +1 -1
  9. package/components/avatar/themes/dark/avatar.fluent.css.js +1 -1
  10. package/components/avatar/themes/dark/avatar.fluent.css.js.map +1 -1
  11. package/components/avatar/themes/dark/avatar.indigo.css.js +1 -1
  12. package/components/avatar/themes/dark/avatar.indigo.css.js.map +1 -1
  13. package/components/avatar/themes/dark/avatar.material.css.js +1 -1
  14. package/components/avatar/themes/dark/avatar.material.css.js.map +1 -1
  15. package/components/avatar/themes/light/avatar.bootstrap.css.js +1 -1
  16. package/components/avatar/themes/light/avatar.bootstrap.css.js.map +1 -1
  17. package/components/avatar/themes/light/avatar.fluent.css.js +1 -1
  18. package/components/avatar/themes/light/avatar.fluent.css.js.map +1 -1
  19. package/components/avatar/themes/light/avatar.indigo.css.js +1 -1
  20. package/components/avatar/themes/light/avatar.indigo.css.js.map +1 -1
  21. package/components/avatar/themes/light/avatar.material.css.js +1 -1
  22. package/components/avatar/themes/light/avatar.material.css.js.map +1 -1
  23. package/components/avatar/themes/light/avatar.shared.css.js +3 -0
  24. package/components/avatar/themes/light/avatar.shared.css.js.map +1 -0
  25. package/components/avatar/themes/themes.js +7 -0
  26. package/components/avatar/themes/themes.js.map +1 -1
  27. package/components/badge/badge.js.map +1 -1
  28. package/components/badge/themes/badge.base.css.js +1 -1
  29. package/components/badge/themes/badge.base.css.js.map +1 -1
  30. package/components/badge/themes/dark/badge.bootstrap.css.js +1 -1
  31. package/components/badge/themes/dark/badge.bootstrap.css.js.map +1 -1
  32. package/components/badge/themes/dark/badge.fluent.css.js +1 -1
  33. package/components/badge/themes/dark/badge.fluent.css.js.map +1 -1
  34. package/components/badge/themes/dark/badge.indigo.css.js +1 -1
  35. package/components/badge/themes/dark/badge.indigo.css.js.map +1 -1
  36. package/components/badge/themes/dark/badge.material.css.js +1 -1
  37. package/components/badge/themes/dark/badge.material.css.js.map +1 -1
  38. package/components/badge/themes/light/badge.bootstrap.css.js +1 -1
  39. package/components/badge/themes/light/badge.bootstrap.css.js.map +1 -1
  40. package/components/badge/themes/light/badge.fluent.css.js +1 -1
  41. package/components/badge/themes/light/badge.fluent.css.js.map +1 -1
  42. package/components/badge/themes/light/badge.indigo.css.js +1 -1
  43. package/components/badge/themes/light/badge.indigo.css.js.map +1 -1
  44. package/components/badge/themes/light/badge.material.css.js +1 -1
  45. package/components/badge/themes/light/badge.material.css.js.map +1 -1
  46. package/components/badge/themes/light/badge.shared.css.js +3 -0
  47. package/components/badge/themes/light/badge.shared.css.js.map +1 -0
  48. package/components/badge/themes/themes.js +7 -0
  49. package/components/badge/themes/themes.js.map +1 -1
  50. package/components/button/button-base.d.ts +1 -1
  51. package/components/button/button.js.map +1 -1
  52. package/components/button/icon-button.js.map +1 -1
  53. package/components/button/themes/button/button.base.css.js +1 -1
  54. package/components/button/themes/button/button.base.css.js.map +1 -1
  55. package/components/button/themes/button/dark/button.bootstrap.css.js +1 -1
  56. package/components/button/themes/button/dark/button.bootstrap.css.js.map +1 -1
  57. package/components/button/themes/button/dark/button.fluent.css.js +1 -1
  58. package/components/button/themes/button/dark/button.fluent.css.js.map +1 -1
  59. package/components/button/themes/button/dark/button.indigo.css.js +1 -1
  60. package/components/button/themes/button/dark/button.indigo.css.js.map +1 -1
  61. package/components/button/themes/button/dark/button.material.css.js +1 -1
  62. package/components/button/themes/button/dark/button.material.css.js.map +1 -1
  63. package/components/button/themes/button/light/button.bootstrap.css.js +1 -1
  64. package/components/button/themes/button/light/button.bootstrap.css.js.map +1 -1
  65. package/components/button/themes/button/light/button.fluent.css.js +1 -1
  66. package/components/button/themes/button/light/button.fluent.css.js.map +1 -1
  67. package/components/button/themes/button/light/button.indigo.css.js +1 -1
  68. package/components/button/themes/button/light/button.indigo.css.js.map +1 -1
  69. package/components/button/themes/button/light/button.material.css.js +1 -1
  70. package/components/button/themes/button/light/button.material.css.js.map +1 -1
  71. package/components/button/themes/button/light/button.shared.css.js +3 -0
  72. package/components/button/themes/button/light/button.shared.css.js.map +1 -0
  73. package/components/button/themes/button/shared/button.bootstrap.css.js +1 -1
  74. package/components/button/themes/button/shared/button.bootstrap.css.js.map +1 -1
  75. package/components/button/themes/button/shared/button.common.css.js +1 -1
  76. package/components/button/themes/button/shared/button.common.css.js.map +1 -1
  77. package/components/button/themes/button/shared/button.fluent.css.js +1 -1
  78. package/components/button/themes/button/shared/button.fluent.css.js.map +1 -1
  79. package/components/button/themes/button/shared/button.indigo.css.js +1 -1
  80. package/components/button/themes/button/shared/button.indigo.css.js.map +1 -1
  81. package/components/button/themes/button/shared/button.material.css.js +1 -1
  82. package/components/button/themes/button/shared/button.material.css.js.map +1 -1
  83. package/components/button/themes/button/themes.js +7 -0
  84. package/components/button/themes/button/themes.js.map +1 -1
  85. package/components/button/themes/icon-button/dark/icon-button.bootstrap.css.js +1 -1
  86. package/components/button/themes/icon-button/dark/icon-button.bootstrap.css.js.map +1 -1
  87. package/components/button/themes/icon-button/dark/icon-button.fluent.css.js +1 -1
  88. package/components/button/themes/icon-button/dark/icon-button.fluent.css.js.map +1 -1
  89. package/components/button/themes/icon-button/dark/icon-button.indigo.css.js +1 -1
  90. package/components/button/themes/icon-button/dark/icon-button.indigo.css.js.map +1 -1
  91. package/components/button/themes/icon-button/dark/icon-button.material.css.js +1 -1
  92. package/components/button/themes/icon-button/dark/icon-button.material.css.js.map +1 -1
  93. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js +1 -1
  94. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js.map +1 -1
  95. package/components/button/themes/icon-button/light/icon-button.fluent.css.js +1 -1
  96. package/components/button/themes/icon-button/light/icon-button.fluent.css.js.map +1 -1
  97. package/components/button/themes/icon-button/light/icon-button.indigo.css.js +1 -1
  98. package/components/button/themes/icon-button/light/icon-button.indigo.css.js.map +1 -1
  99. package/components/button/themes/icon-button/light/icon-button.material.css.js +1 -1
  100. package/components/button/themes/icon-button/light/icon-button.material.css.js.map +1 -1
  101. package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.js +1 -1
  102. package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.js.map +1 -1
  103. package/components/button/themes/icon-button/shared/icon-button.common.css.js +1 -1
  104. package/components/button/themes/icon-button/shared/icon-button.common.css.js.map +1 -1
  105. package/components/button/themes/icon-button/shared/icon-button.fluent.css.js +1 -1
  106. package/components/button/themes/icon-button/shared/icon-button.fluent.css.js.map +1 -1
  107. package/components/button/themes/icon-button/shared/icon-button.indigo.css.js +1 -1
  108. package/components/button/themes/icon-button/shared/icon-button.indigo.css.js.map +1 -1
  109. package/components/button/themes/icon-button/shared/icon-button.material.css.js +1 -1
  110. package/components/button/themes/icon-button/shared/icon-button.material.css.js.map +1 -1
  111. package/components/button-group/button-group.d.ts +4 -7
  112. package/components/button-group/button-group.js +35 -52
  113. package/components/button-group/button-group.js.map +1 -1
  114. package/components/button-group/themes/button.base.css.js +1 -1
  115. package/components/button-group/themes/button.base.css.js.map +1 -1
  116. package/components/button-group/themes/dark/button-group.bootstrap.css.js +1 -1
  117. package/components/button-group/themes/dark/button-group.bootstrap.css.js.map +1 -1
  118. package/components/button-group/themes/dark/button-group.fluent.css.js +1 -1
  119. package/components/button-group/themes/dark/button-group.fluent.css.js.map +1 -1
  120. package/components/button-group/themes/dark/button-group.indigo.css.js +1 -1
  121. package/components/button-group/themes/dark/button-group.indigo.css.js.map +1 -1
  122. package/components/button-group/themes/dark/button-group.material.css.js +1 -1
  123. package/components/button-group/themes/dark/button-group.material.css.js.map +1 -1
  124. package/components/button-group/themes/dark/button-group.shared.css.js +3 -0
  125. package/components/button-group/themes/dark/button-group.shared.css.js.map +1 -0
  126. package/components/button-group/themes/group.js +8 -0
  127. package/components/button-group/themes/group.js.map +1 -1
  128. package/components/button-group/themes/light/button-group.bootstrap.css.js +1 -1
  129. package/components/button-group/themes/light/button-group.bootstrap.css.js.map +1 -1
  130. package/components/button-group/themes/light/button-group.fluent.css.js +1 -1
  131. package/components/button-group/themes/light/button-group.fluent.css.js.map +1 -1
  132. package/components/button-group/themes/light/button-group.indigo.css.js +1 -1
  133. package/components/button-group/themes/light/button-group.indigo.css.js.map +1 -1
  134. package/components/button-group/themes/light/button-group.material.css.js +1 -1
  135. package/components/button-group/themes/light/button-group.material.css.js.map +1 -1
  136. package/components/button-group/themes/light/button-group.shared.css.js +3 -0
  137. package/components/button-group/themes/light/button-group.shared.css.js.map +1 -0
  138. package/components/button-group/themes/shared/button/button.bootstrap.css.js +1 -1
  139. package/components/button-group/themes/shared/button/button.bootstrap.css.js.map +1 -1
  140. package/components/button-group/themes/shared/button/button.common.css.js +1 -1
  141. package/components/button-group/themes/shared/button/button.common.css.js.map +1 -1
  142. package/components/button-group/themes/shared/button/button.fluent.css.js +1 -1
  143. package/components/button-group/themes/shared/button/button.fluent.css.js.map +1 -1
  144. package/components/button-group/toggle-button.js.map +1 -1
  145. package/components/calendar/calendar.d.ts +1 -1
  146. package/components/calendar/calendar.js.map +1 -1
  147. package/components/calendar/days-view/days-view.d.ts +1 -1
  148. package/components/calendar/days-view/days-view.js.map +1 -1
  149. package/components/calendar/months-view/months-view.d.ts +1 -1
  150. package/components/calendar/months-view/months-view.js.map +1 -1
  151. package/components/calendar/themes/calendar.js +7 -0
  152. package/components/calendar/themes/calendar.js.map +1 -1
  153. package/components/calendar/themes/dark/calendar.bootstrap.css.js +1 -1
  154. package/components/calendar/themes/dark/calendar.bootstrap.css.js.map +1 -1
  155. package/components/calendar/themes/dark/calendar.fluent.css.js +1 -1
  156. package/components/calendar/themes/dark/calendar.fluent.css.js.map +1 -1
  157. package/components/calendar/themes/dark/calendar.indigo.css.js +1 -1
  158. package/components/calendar/themes/dark/calendar.indigo.css.js.map +1 -1
  159. package/components/calendar/themes/dark/calendar.material.css.js +1 -1
  160. package/components/calendar/themes/dark/calendar.material.css.js.map +1 -1
  161. package/components/calendar/themes/days.js +7 -0
  162. package/components/calendar/themes/days.js.map +1 -1
  163. package/components/calendar/themes/light/calendar.bootstrap.css.js +1 -1
  164. package/components/calendar/themes/light/calendar.bootstrap.css.js.map +1 -1
  165. package/components/calendar/themes/light/calendar.fluent.css.js +1 -1
  166. package/components/calendar/themes/light/calendar.fluent.css.js.map +1 -1
  167. package/components/calendar/themes/light/calendar.indigo.css.js +1 -1
  168. package/components/calendar/themes/light/calendar.indigo.css.js.map +1 -1
  169. package/components/calendar/themes/light/calendar.material.css.js +1 -1
  170. package/components/calendar/themes/light/calendar.material.css.js.map +1 -1
  171. package/components/calendar/themes/light/calendar.shared.css.js +3 -0
  172. package/components/calendar/themes/light/calendar.shared.css.js.map +1 -0
  173. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js +1 -1
  174. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js.map +1 -1
  175. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js +1 -1
  176. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js.map +1 -1
  177. package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js +1 -1
  178. package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js.map +1 -1
  179. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js +1 -1
  180. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js.map +1 -1
  181. package/components/calendar/themes/shared/fluent/days-view.fluent.css.js +1 -1
  182. package/components/calendar/themes/shared/fluent/days-view.fluent.css.js.map +1 -1
  183. package/components/calendar/themes/shared/fluent/year-month-view.fluent.css.js +1 -1
  184. package/components/calendar/themes/shared/fluent/year-month-view.fluent.css.js.map +1 -1
  185. package/components/calendar/themes/shared/material/calendar.common.css.js +1 -1
  186. package/components/calendar/themes/shared/material/calendar.common.css.js.map +1 -1
  187. package/components/calendar/themes/shared/material/days-view.material.css.js +1 -1
  188. package/components/calendar/themes/shared/material/days-view.material.css.js.map +1 -1
  189. package/components/calendar/themes/shared/material/year-month-view.material.css.js +1 -1
  190. package/components/calendar/themes/shared/material/year-month-view.material.css.js.map +1 -1
  191. package/components/calendar/themes/year-month.js +7 -0
  192. package/components/calendar/themes/year-month.js.map +1 -1
  193. package/components/calendar/years-view/years-view.d.ts +1 -1
  194. package/components/calendar/years-view/years-view.js.map +1 -1
  195. package/components/card/card.actions.js.map +1 -1
  196. package/components/card/card.content.js.map +1 -1
  197. package/components/card/card.header.js.map +1 -1
  198. package/components/card/card.js.map +1 -1
  199. package/components/card/card.media.js.map +1 -1
  200. package/components/card/themes/container.js +7 -0
  201. package/components/card/themes/container.js.map +1 -1
  202. package/components/card/themes/dark/card.bootstrap.css.js +1 -1
  203. package/components/card/themes/dark/card.bootstrap.css.js.map +1 -1
  204. package/components/card/themes/dark/card.fluent.css.js +1 -1
  205. package/components/card/themes/dark/card.fluent.css.js.map +1 -1
  206. package/components/card/themes/dark/card.indigo.css.js +1 -1
  207. package/components/card/themes/dark/card.indigo.css.js.map +1 -1
  208. package/components/card/themes/dark/card.material.css.js +1 -1
  209. package/components/card/themes/dark/card.material.css.js.map +1 -1
  210. package/components/card/themes/light/container/card.bootstrap.css.js +1 -1
  211. package/components/card/themes/light/container/card.bootstrap.css.js.map +1 -1
  212. package/components/card/themes/light/container/card.fluent.css.js +1 -1
  213. package/components/card/themes/light/container/card.fluent.css.js.map +1 -1
  214. package/components/card/themes/light/container/card.indigo.css.js +1 -1
  215. package/components/card/themes/light/container/card.indigo.css.js.map +1 -1
  216. package/components/card/themes/light/container/card.material.css.js +1 -1
  217. package/components/card/themes/light/container/card.material.css.js.map +1 -1
  218. package/components/card/themes/light/container/card.shared.css.js +3 -0
  219. package/components/card/themes/light/container/card.shared.css.js.map +1 -0
  220. package/components/card/themes/light/content/card.content.bootstrap.css.js +1 -1
  221. package/components/card/themes/light/content/card.content.bootstrap.css.js.map +1 -1
  222. package/components/card/themes/light/content/card.content.fluent.css.js +1 -1
  223. package/components/card/themes/light/content/card.content.fluent.css.js.map +1 -1
  224. package/components/card/themes/light/content/card.content.indigo.css.js +1 -1
  225. package/components/card/themes/light/content/card.content.indigo.css.js.map +1 -1
  226. package/components/card/themes/light/content/card.content.material.css.js +1 -1
  227. package/components/card/themes/light/content/card.content.material.css.js.map +1 -1
  228. package/components/card/themes/light/header/card.header.bootstrap.css.js +1 -1
  229. package/components/card/themes/light/header/card.header.bootstrap.css.js.map +1 -1
  230. package/components/card/themes/light/header/card.header.fluent.css.js +1 -1
  231. package/components/card/themes/light/header/card.header.fluent.css.js.map +1 -1
  232. package/components/card/themes/light/header/card.header.indigo.css.js +1 -1
  233. package/components/card/themes/light/header/card.header.indigo.css.js.map +1 -1
  234. package/components/card/themes/light/header/card.header.material.css.js +1 -1
  235. package/components/card/themes/light/header/card.header.material.css.js.map +1 -1
  236. package/components/checkbox/checkbox-base.d.ts +1 -1
  237. package/components/checkbox/checkbox.d.ts +1 -1
  238. package/components/checkbox/checkbox.js +2 -1
  239. package/components/checkbox/checkbox.js.map +1 -1
  240. package/components/checkbox/switch.d.ts +1 -1
  241. package/components/checkbox/switch.js +2 -1
  242. package/components/checkbox/switch.js.map +1 -1
  243. package/components/checkbox/themes/checkbox-themes.js +7 -0
  244. package/components/checkbox/themes/checkbox-themes.js.map +1 -1
  245. package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js +1 -1
  246. package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js.map +1 -1
  247. package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js +1 -1
  248. package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js.map +1 -1
  249. package/components/checkbox/themes/dark/checkbox/checkbox.indigo.css.js +1 -1
  250. package/components/checkbox/themes/dark/checkbox/checkbox.indigo.css.js.map +1 -1
  251. package/components/checkbox/themes/dark/checkbox/checkbox.material.css.js +1 -1
  252. package/components/checkbox/themes/dark/checkbox/checkbox.material.css.js.map +1 -1
  253. package/components/checkbox/themes/dark/switch/switch.bootstrap.css.js +1 -1
  254. package/components/checkbox/themes/dark/switch/switch.bootstrap.css.js.map +1 -1
  255. package/components/checkbox/themes/dark/switch/switch.fluent.css.js +1 -1
  256. package/components/checkbox/themes/dark/switch/switch.fluent.css.js.map +1 -1
  257. package/components/checkbox/themes/dark/switch/switch.indigo.css.js +1 -1
  258. package/components/checkbox/themes/dark/switch/switch.indigo.css.js.map +1 -1
  259. package/components/checkbox/themes/dark/switch/switch.material.css.js +1 -1
  260. package/components/checkbox/themes/dark/switch/switch.material.css.js.map +1 -1
  261. package/components/checkbox/themes/dark/switch/switch.shared.css.js +3 -0
  262. package/components/checkbox/themes/dark/switch/switch.shared.css.js.map +1 -0
  263. package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.js +1 -1
  264. package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.js.map +1 -1
  265. package/components/checkbox/themes/light/checkbox/checkbox.fluent.css.js +1 -1
  266. package/components/checkbox/themes/light/checkbox/checkbox.fluent.css.js.map +1 -1
  267. package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.js +1 -1
  268. package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.js.map +1 -1
  269. package/components/checkbox/themes/light/checkbox/checkbox.material.css.js +1 -1
  270. package/components/checkbox/themes/light/checkbox/checkbox.material.css.js.map +1 -1
  271. package/components/checkbox/themes/light/checkbox/checkbox.shared.css.js +3 -0
  272. package/components/checkbox/themes/light/checkbox/checkbox.shared.css.js.map +1 -0
  273. package/components/checkbox/themes/light/switch/switch.bootstrap.css.js +1 -1
  274. package/components/checkbox/themes/light/switch/switch.bootstrap.css.js.map +1 -1
  275. package/components/checkbox/themes/light/switch/switch.fluent.css.js +1 -1
  276. package/components/checkbox/themes/light/switch/switch.fluent.css.js.map +1 -1
  277. package/components/checkbox/themes/light/switch/switch.indigo.css.js +1 -1
  278. package/components/checkbox/themes/light/switch/switch.indigo.css.js.map +1 -1
  279. package/components/checkbox/themes/light/switch/switch.material.css.js +1 -1
  280. package/components/checkbox/themes/light/switch/switch.material.css.js.map +1 -1
  281. package/components/checkbox/themes/light/switch/switch.shared.css.js +3 -0
  282. package/components/checkbox/themes/light/switch/switch.shared.css.js.map +1 -0
  283. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
  284. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
  285. package/components/checkbox/themes/shared/checkbox/checkbox.common.css.js +3 -0
  286. package/components/checkbox/themes/shared/checkbox/checkbox.common.css.js.map +1 -0
  287. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js +1 -1
  288. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js.map +1 -1
  289. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js +1 -1
  290. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js.map +1 -1
  291. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js +1 -1
  292. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js.map +1 -1
  293. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js +1 -1
  294. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js.map +1 -1
  295. package/components/checkbox/themes/shared/switch/switch.common.css.d.ts +1 -0
  296. package/components/checkbox/themes/shared/switch/switch.common.css.js +3 -0
  297. package/components/checkbox/themes/shared/switch/switch.common.css.js.map +1 -0
  298. package/components/checkbox/themes/shared/switch/switch.fluent.css.js +1 -1
  299. package/components/checkbox/themes/shared/switch/switch.fluent.css.js.map +1 -1
  300. package/components/checkbox/themes/shared/switch/switch.indigo.css.js +1 -1
  301. package/components/checkbox/themes/shared/switch/switch.indigo.css.js.map +1 -1
  302. package/components/checkbox/themes/shared/switch/switch.material.css.js +1 -1
  303. package/components/checkbox/themes/shared/switch/switch.material.css.js.map +1 -1
  304. package/components/checkbox/themes/switch-themes.js +8 -0
  305. package/components/checkbox/themes/switch-themes.js.map +1 -1
  306. package/components/chip/chip.d.ts +1 -1
  307. package/components/chip/chip.js.map +1 -1
  308. package/components/chip/themes/chip.base.css.js +1 -1
  309. package/components/chip/themes/chip.base.css.js.map +1 -1
  310. package/components/chip/themes/dark/chip.bootstrap.css.js +1 -1
  311. package/components/chip/themes/dark/chip.bootstrap.css.js.map +1 -1
  312. package/components/chip/themes/dark/chip.fluent.css.js +1 -1
  313. package/components/chip/themes/dark/chip.fluent.css.js.map +1 -1
  314. package/components/chip/themes/dark/chip.indigo.css.js +1 -1
  315. package/components/chip/themes/dark/chip.indigo.css.js.map +1 -1
  316. package/components/chip/themes/dark/chip.material.css.js +1 -1
  317. package/components/chip/themes/dark/chip.material.css.js.map +1 -1
  318. package/components/chip/themes/light/chip.bootstrap.css.js +1 -1
  319. package/components/chip/themes/light/chip.bootstrap.css.js.map +1 -1
  320. package/components/chip/themes/light/chip.fluent.css.js +1 -1
  321. package/components/chip/themes/light/chip.fluent.css.js.map +1 -1
  322. package/components/chip/themes/light/chip.indigo.css.js +1 -1
  323. package/components/chip/themes/light/chip.indigo.css.js.map +1 -1
  324. package/components/chip/themes/light/chip.material.css.js +1 -1
  325. package/components/chip/themes/light/chip.material.css.js.map +1 -1
  326. package/components/chip/themes/light/chip.shared.css.d.ts +1 -0
  327. package/components/chip/themes/light/chip.shared.css.js +3 -0
  328. package/components/chip/themes/light/chip.shared.css.js.map +1 -0
  329. package/components/chip/themes/shared/chip.bootstrap.css.js +1 -1
  330. package/components/chip/themes/shared/chip.bootstrap.css.js.map +1 -1
  331. package/components/chip/themes/shared/chip.indigo.css.js +1 -1
  332. package/components/chip/themes/shared/chip.indigo.css.js.map +1 -1
  333. package/components/chip/themes/themes.js +7 -0
  334. package/components/chip/themes/themes.js.map +1 -1
  335. package/components/combo/combo-header.d.ts +1 -1
  336. package/components/combo/combo-header.js +2 -1
  337. package/components/combo/combo-header.js.map +1 -1
  338. package/components/combo/combo-item.d.ts +1 -1
  339. package/components/combo/combo-item.js +2 -1
  340. package/components/combo/combo-item.js.map +1 -1
  341. package/components/combo/combo-list.js.map +1 -1
  342. package/components/combo/combo.d.ts +3 -3
  343. package/components/combo/combo.js +3 -2
  344. package/components/combo/combo.js.map +1 -1
  345. package/components/combo/controllers/data.d.ts +2 -0
  346. package/components/combo/controllers/data.js +4 -0
  347. package/components/combo/controllers/data.js.map +1 -1
  348. package/components/combo/operations/group.d.ts +1 -4
  349. package/components/combo/operations/group.js +6 -17
  350. package/components/combo/operations/group.js.map +1 -1
  351. package/components/combo/themes/dark/combo.bootstrap.css.js +1 -1
  352. package/components/combo/themes/dark/combo.bootstrap.css.js.map +1 -1
  353. package/components/combo/themes/dark/combo.fluent.css.js +1 -1
  354. package/components/combo/themes/dark/combo.fluent.css.js.map +1 -1
  355. package/components/combo/themes/dark/combo.indigo.css.js +1 -1
  356. package/components/combo/themes/dark/combo.indigo.css.js.map +1 -1
  357. package/components/combo/themes/dark/combo.material.css.js +1 -1
  358. package/components/combo/themes/dark/combo.material.css.js.map +1 -1
  359. package/components/combo/themes/light/combo.bootstrap.css.js +1 -1
  360. package/components/combo/themes/light/combo.bootstrap.css.js.map +1 -1
  361. package/components/combo/themes/light/combo.fluent.css.js +1 -1
  362. package/components/combo/themes/light/combo.fluent.css.js.map +1 -1
  363. package/components/combo/themes/light/combo.indigo.css.js +1 -1
  364. package/components/combo/themes/light/combo.indigo.css.js.map +1 -1
  365. package/components/combo/themes/light/combo.material.css.js +1 -1
  366. package/components/combo/themes/light/combo.material.css.js.map +1 -1
  367. package/components/combo/themes/light/combo.shared.css.d.ts +1 -0
  368. package/components/combo/themes/light/combo.shared.css.js +3 -0
  369. package/components/combo/themes/light/combo.shared.css.js.map +1 -0
  370. package/components/combo/themes/shared/combo.bootstrap.css.js +1 -1
  371. package/components/combo/themes/shared/combo.bootstrap.css.js.map +1 -1
  372. package/components/combo/themes/shared/combo.common.css.d.ts +1 -0
  373. package/components/combo/themes/shared/combo.common.css.js +3 -0
  374. package/components/combo/themes/shared/combo.common.css.js.map +1 -0
  375. package/components/combo/themes/shared/combo.fluent.css.js +1 -1
  376. package/components/combo/themes/shared/combo.fluent.css.js.map +1 -1
  377. package/components/combo/themes/shared/combo.indigo.css.js +1 -1
  378. package/components/combo/themes/shared/combo.indigo.css.js.map +1 -1
  379. package/components/combo/themes/shared/combo.material.css.js +1 -1
  380. package/components/combo/themes/shared/combo.material.css.js.map +1 -1
  381. package/components/combo/themes/themes.js +7 -0
  382. package/components/combo/themes/themes.js.map +1 -1
  383. package/components/combo/types.d.ts +1 -1
  384. package/components/combo/types.js.map +1 -1
  385. package/components/common/controllers/key-bindings.js +1 -3
  386. package/components/common/controllers/key-bindings.js.map +1 -1
  387. package/components/common/controllers/mutation-observer.d.ts +69 -0
  388. package/components/common/controllers/mutation-observer.js +58 -0
  389. package/components/common/controllers/mutation-observer.js.map +1 -0
  390. package/components/common/localization/validation-en.d.ts +2 -0
  391. package/components/common/localization/validation-en.js +2 -0
  392. package/components/common/localization/validation-en.js.map +1 -1
  393. package/components/common/mixins/alert.d.ts +2 -2
  394. package/components/common/mixins/alert.js +1 -1
  395. package/components/common/mixins/alert.js.map +1 -1
  396. package/components/common/mixins/combo-box.d.ts +1 -1
  397. package/components/common/mixins/combo-box.js.map +1 -1
  398. package/components/common/mixins/event-emitter.d.ts +2 -2
  399. package/components/common/mixins/event-emitter.js.map +1 -1
  400. package/components/common/mixins/sizable.d.ts +1 -1
  401. package/components/common/mixins/sizable.js.map +1 -1
  402. package/components/common/util.d.ts +1 -1
  403. package/components/common/util.js +9 -13
  404. package/components/common/util.js.map +1 -1
  405. package/components/common/validators.d.ts +6 -0
  406. package/components/common/validators.js +11 -0
  407. package/components/common/validators.js.map +1 -1
  408. package/components/date-time-input/date-time-input.d.ts +6 -7
  409. package/components/date-time-input/date-time-input.js +8 -5
  410. package/components/date-time-input/date-time-input.js.map +1 -1
  411. package/components/dialog/dialog.d.ts +3 -2
  412. package/components/dialog/dialog.js +9 -6
  413. package/components/dialog/dialog.js.map +1 -1
  414. package/components/dialog/themes/dark/dialog.bootstrap.css.js +1 -1
  415. package/components/dialog/themes/dark/dialog.bootstrap.css.js.map +1 -1
  416. package/components/dialog/themes/dark/dialog.indigo.css.js +1 -1
  417. package/components/dialog/themes/dark/dialog.indigo.css.js.map +1 -1
  418. package/components/dialog/themes/dark/dialog.material.css.js +1 -1
  419. package/components/dialog/themes/dark/dialog.material.css.js.map +1 -1
  420. package/components/dialog/themes/dark/dialog.shared.css.d.ts +1 -0
  421. package/components/dialog/themes/dark/dialog.shared.css.js +3 -0
  422. package/components/dialog/themes/dark/dialog.shared.css.js.map +1 -0
  423. package/components/dialog/themes/light/dialog.bootstrap.css.js +1 -1
  424. package/components/dialog/themes/light/dialog.bootstrap.css.js.map +1 -1
  425. package/components/dialog/themes/light/dialog.fluent.css.js +1 -1
  426. package/components/dialog/themes/light/dialog.fluent.css.js.map +1 -1
  427. package/components/dialog/themes/light/dialog.indigo.css.js +1 -1
  428. package/components/dialog/themes/light/dialog.indigo.css.js.map +1 -1
  429. package/components/dialog/themes/light/dialog.material.css.js +1 -1
  430. package/components/dialog/themes/light/dialog.material.css.js.map +1 -1
  431. package/components/dialog/themes/light/dialog.shared.css.d.ts +1 -0
  432. package/components/dialog/themes/light/dialog.shared.css.js +3 -0
  433. package/components/dialog/themes/light/dialog.shared.css.js.map +1 -0
  434. package/components/dialog/themes/themes.js +8 -0
  435. package/components/dialog/themes/themes.js.map +1 -1
  436. package/components/dropdown/dropdown-group.d.ts +1 -1
  437. package/components/dropdown/dropdown-group.js +2 -1
  438. package/components/dropdown/dropdown-group.js.map +1 -1
  439. package/components/dropdown/dropdown-header.d.ts +1 -1
  440. package/components/dropdown/dropdown-header.js +2 -1
  441. package/components/dropdown/dropdown-header.js.map +1 -1
  442. package/components/dropdown/dropdown-item.d.ts +1 -1
  443. package/components/dropdown/dropdown-item.js +2 -1
  444. package/components/dropdown/dropdown-item.js.map +1 -1
  445. package/components/dropdown/dropdown.d.ts +3 -3
  446. package/components/dropdown/dropdown.js +3 -2
  447. package/components/dropdown/dropdown.js.map +1 -1
  448. package/components/dropdown/themes/container.js +8 -0
  449. package/components/dropdown/themes/container.js.map +1 -1
  450. package/components/dropdown/themes/dark/dropdown.bootstrap.css.js +1 -1
  451. package/components/dropdown/themes/dark/dropdown.bootstrap.css.js.map +1 -1
  452. package/components/dropdown/themes/dark/dropdown.fluent.css.js +1 -1
  453. package/components/dropdown/themes/dark/dropdown.fluent.css.js.map +1 -1
  454. package/components/dropdown/themes/dark/dropdown.indigo.css.js +1 -1
  455. package/components/dropdown/themes/dark/dropdown.indigo.css.js.map +1 -1
  456. package/components/dropdown/themes/dark/dropdown.material.css.js +1 -1
  457. package/components/dropdown/themes/dark/dropdown.material.css.js.map +1 -1
  458. package/components/dropdown/themes/dark/dropdown.shared.css.d.ts +1 -0
  459. package/components/dropdown/themes/dark/dropdown.shared.css.js +3 -0
  460. package/components/dropdown/themes/dark/dropdown.shared.css.js.map +1 -0
  461. package/components/dropdown/themes/group.js +0 -21
  462. package/components/dropdown/themes/group.js.map +1 -1
  463. package/components/dropdown/themes/header.js +0 -21
  464. package/components/dropdown/themes/header.js.map +1 -1
  465. package/components/dropdown/themes/item.js +0 -21
  466. package/components/dropdown/themes/item.js.map +1 -1
  467. package/components/dropdown/themes/light/dropdown.bootstrap.css.js +1 -1
  468. package/components/dropdown/themes/light/dropdown.bootstrap.css.js.map +1 -1
  469. package/components/dropdown/themes/light/dropdown.fluent.css.js +1 -1
  470. package/components/dropdown/themes/light/dropdown.fluent.css.js.map +1 -1
  471. package/components/dropdown/themes/light/dropdown.indigo.css.js +1 -1
  472. package/components/dropdown/themes/light/dropdown.indigo.css.js.map +1 -1
  473. package/components/dropdown/themes/light/dropdown.material.css.js +1 -1
  474. package/components/dropdown/themes/light/dropdown.material.css.js.map +1 -1
  475. package/components/dropdown/themes/light/dropdown.shared.css.d.ts +1 -0
  476. package/components/dropdown/themes/light/dropdown.shared.css.js +3 -0
  477. package/components/dropdown/themes/light/dropdown.shared.css.js.map +1 -0
  478. package/components/dropdown/themes/shared/dropdown.bootstrap.css.js +1 -1
  479. package/components/dropdown/themes/shared/dropdown.bootstrap.css.js.map +1 -1
  480. package/components/dropdown/themes/shared/dropdown.common.css.d.ts +1 -0
  481. package/components/dropdown/themes/shared/dropdown.common.css.js +3 -0
  482. package/components/dropdown/themes/shared/dropdown.common.css.js.map +1 -0
  483. package/components/dropdown/themes/shared/dropdown.fluent.css.js +1 -1
  484. package/components/dropdown/themes/shared/dropdown.fluent.css.js.map +1 -1
  485. package/components/dropdown/themes/shared/dropdown.indigo.css.js +1 -1
  486. package/components/dropdown/themes/shared/dropdown.indigo.css.js.map +1 -1
  487. package/components/dropdown/themes/shared/dropdown.material.css.js +1 -1
  488. package/components/dropdown/themes/shared/dropdown.material.css.js.map +1 -1
  489. package/components/dropdown/themes/shared/group/dropdown-group.common.css.d.ts +1 -0
  490. package/components/dropdown/themes/shared/group/{dropdown-group.indigo.css.js → dropdown-group.common.css.js} +1 -1
  491. package/components/dropdown/themes/shared/group/{dropdown-group.indigo.css.js.map → dropdown-group.common.css.js.map} +1 -1
  492. package/components/dropdown/themes/shared/group/dropdown-group.fluent.css.js +1 -1
  493. package/components/dropdown/themes/shared/group/dropdown-group.fluent.css.js.map +1 -1
  494. package/components/dropdown/themes/shared/header/dropdown-header.common.css.d.ts +1 -0
  495. package/components/dropdown/themes/shared/header/{dropdown-header.indigo.css.js → dropdown-header.common.css.js} +1 -1
  496. package/components/dropdown/themes/shared/header/{dropdown-header.indigo.css.js.map → dropdown-header.common.css.js.map} +1 -1
  497. package/components/dropdown/themes/shared/header/dropdown-header.fluent.css.js +1 -1
  498. package/components/dropdown/themes/shared/header/dropdown-header.fluent.css.js.map +1 -1
  499. package/components/dropdown/themes/shared/item/dropdown-item.common.css.d.ts +1 -0
  500. package/components/dropdown/themes/shared/item/{dropdown-item.indigo.css.js → dropdown-item.common.css.js} +1 -1
  501. package/components/dropdown/themes/shared/item/{dropdown-item.indigo.css.js.map → dropdown-item.common.css.js.map} +1 -1
  502. package/components/dropdown/themes/shared/item/dropdown-item.fluent.css.js +1 -1
  503. package/components/dropdown/themes/shared/item/dropdown-item.fluent.css.js.map +1 -1
  504. package/components/expansion-panel/expansion-panel.d.ts +3 -4
  505. package/components/expansion-panel/expansion-panel.js +6 -9
  506. package/components/expansion-panel/expansion-panel.js.map +1 -1
  507. package/components/expansion-panel/themes/dark/expansion-panel.bootstrap.css.js +1 -1
  508. package/components/expansion-panel/themes/dark/expansion-panel.bootstrap.css.js.map +1 -1
  509. package/components/expansion-panel/themes/dark/expansion-panel.fluent.css.js +1 -1
  510. package/components/expansion-panel/themes/dark/expansion-panel.fluent.css.js.map +1 -1
  511. package/components/expansion-panel/themes/dark/expansion-panel.material.css.js +1 -1
  512. package/components/expansion-panel/themes/dark/expansion-panel.material.css.js.map +1 -1
  513. package/components/expansion-panel/themes/dark/expansion-panel.shared.css.d.ts +1 -0
  514. package/components/expansion-panel/themes/dark/expansion-panel.shared.css.js +3 -0
  515. package/components/expansion-panel/themes/dark/expansion-panel.shared.css.js.map +1 -0
  516. package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js +1 -1
  517. package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js.map +1 -1
  518. package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js +1 -1
  519. package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js.map +1 -1
  520. package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js +1 -1
  521. package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js.map +1 -1
  522. package/components/expansion-panel/themes/light/expansion-panel.material.css.js +1 -1
  523. package/components/expansion-panel/themes/light/expansion-panel.material.css.js.map +1 -1
  524. package/components/expansion-panel/themes/light/expansion-panel.shared.css.d.ts +1 -0
  525. package/components/expansion-panel/themes/light/expansion-panel.shared.css.js +3 -0
  526. package/components/expansion-panel/themes/light/expansion-panel.shared.css.js.map +1 -0
  527. package/components/expansion-panel/themes/themes.js +8 -0
  528. package/components/expansion-panel/themes/themes.js.map +1 -1
  529. package/components/form/form.d.ts +2 -3
  530. package/components/form/form.js.map +1 -1
  531. package/components/icon/icon.js.map +1 -1
  532. package/components/icon/themes/dark/icon.bootstrap.css.js +1 -1
  533. package/components/icon/themes/dark/icon.bootstrap.css.js.map +1 -1
  534. package/components/icon/themes/dark/icon.fluent.css.js +1 -1
  535. package/components/icon/themes/dark/icon.fluent.css.js.map +1 -1
  536. package/components/icon/themes/dark/icon.indigo.css.js +1 -1
  537. package/components/icon/themes/dark/icon.indigo.css.js.map +1 -1
  538. package/components/icon/themes/dark/icon.material.css.js +1 -1
  539. package/components/icon/themes/dark/icon.material.css.js.map +1 -1
  540. package/components/icon/themes/light/icon.bootstrap.css.js +1 -1
  541. package/components/icon/themes/light/icon.bootstrap.css.js.map +1 -1
  542. package/components/icon/themes/light/icon.fluent.css.js +1 -1
  543. package/components/icon/themes/light/icon.fluent.css.js.map +1 -1
  544. package/components/icon/themes/light/icon.indigo.css.js +1 -1
  545. package/components/icon/themes/light/icon.indigo.css.js.map +1 -1
  546. package/components/icon/themes/light/icon.material.css.js +1 -1
  547. package/components/icon/themes/light/icon.material.css.js.map +1 -1
  548. package/components/icon/themes/light/icon.shared.css.d.ts +1 -0
  549. package/components/icon/themes/light/icon.shared.css.js +3 -0
  550. package/components/icon/themes/light/icon.shared.css.js.map +1 -0
  551. package/components/icon/themes/themes.js +7 -0
  552. package/components/icon/themes/themes.js.map +1 -1
  553. package/components/input/input-base.d.ts +4 -5
  554. package/components/input/input-base.js +5 -4
  555. package/components/input/input-base.js.map +1 -1
  556. package/components/input/input.d.ts +9 -8
  557. package/components/input/input.js +35 -14
  558. package/components/input/input.js.map +1 -1
  559. package/components/input/themes/dark/input.bootstrap.css.js +1 -1
  560. package/components/input/themes/dark/input.bootstrap.css.js.map +1 -1
  561. package/components/input/themes/dark/input.fluent.css.js +1 -1
  562. package/components/input/themes/dark/input.fluent.css.js.map +1 -1
  563. package/components/input/themes/dark/input.indigo.css.js +1 -1
  564. package/components/input/themes/dark/input.indigo.css.js.map +1 -1
  565. package/components/input/themes/dark/input.material.css.js +1 -1
  566. package/components/input/themes/dark/input.material.css.js.map +1 -1
  567. package/components/input/themes/light/input.bootstrap.css.js +1 -1
  568. package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
  569. package/components/input/themes/light/input.fluent.css.js +1 -1
  570. package/components/input/themes/light/input.fluent.css.js.map +1 -1
  571. package/components/input/themes/light/input.indigo.css.js +1 -1
  572. package/components/input/themes/light/input.indigo.css.js.map +1 -1
  573. package/components/input/themes/light/input.material.css.js +1 -1
  574. package/components/input/themes/light/input.material.css.js.map +1 -1
  575. package/components/input/themes/light/input.shared.css.d.ts +1 -0
  576. package/components/input/themes/light/input.shared.css.js +3 -0
  577. package/components/input/themes/light/input.shared.css.js.map +1 -0
  578. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  579. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  580. package/components/input/themes/shared/input.common.css.d.ts +1 -0
  581. package/components/input/themes/shared/input.common.css.js +3 -0
  582. package/components/input/themes/shared/input.common.css.js.map +1 -0
  583. package/components/input/themes/shared/input.fluent.css.js +1 -1
  584. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  585. package/components/input/themes/shared/input.indigo.css.js +1 -1
  586. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  587. package/components/input/themes/shared/input.material.css.js +1 -1
  588. package/components/input/themes/shared/input.material.css.js.map +1 -1
  589. package/components/input/themes/themes.js +7 -0
  590. package/components/input/themes/themes.js.map +1 -1
  591. package/components/list/list-header.js.map +1 -1
  592. package/components/list/list-item.js.map +1 -1
  593. package/components/list/list.js.map +1 -1
  594. package/components/list/themes/container.js +8 -0
  595. package/components/list/themes/container.js.map +1 -1
  596. package/components/list/themes/dark/container/list.bootstrap.css.js +1 -1
  597. package/components/list/themes/dark/container/list.bootstrap.css.js.map +1 -1
  598. package/components/list/themes/dark/container/list.fluent.css.js +1 -1
  599. package/components/list/themes/dark/container/list.fluent.css.js.map +1 -1
  600. package/components/list/themes/dark/container/list.indigo.css.js +1 -1
  601. package/components/list/themes/dark/container/list.indigo.css.js.map +1 -1
  602. package/components/list/themes/dark/container/list.material.css.js +1 -1
  603. package/components/list/themes/dark/container/list.material.css.js.map +1 -1
  604. package/components/list/themes/dark/container/list.shared.css.d.ts +1 -0
  605. package/components/list/themes/dark/container/list.shared.css.js +3 -0
  606. package/components/list/themes/dark/container/list.shared.css.js.map +1 -0
  607. package/components/list/themes/dark/header/list-header.bootstrap.css.js +1 -1
  608. package/components/list/themes/dark/header/list-header.bootstrap.css.js.map +1 -1
  609. package/components/list/themes/dark/header/list-header.fluent.css.js +1 -1
  610. package/components/list/themes/dark/header/list-header.fluent.css.js.map +1 -1
  611. package/components/list/themes/dark/header/list-header.indigo.css.js +1 -1
  612. package/components/list/themes/dark/header/list-header.indigo.css.js.map +1 -1
  613. package/components/list/themes/dark/header/list-header.material.css.js +1 -1
  614. package/components/list/themes/dark/header/list-header.material.css.js.map +1 -1
  615. package/components/list/themes/dark/item/list-item.bootstrap.css.js +1 -1
  616. package/components/list/themes/dark/item/list-item.bootstrap.css.js.map +1 -1
  617. package/components/list/themes/dark/item/list-item.fluent.css.js +1 -1
  618. package/components/list/themes/dark/item/list-item.fluent.css.js.map +1 -1
  619. package/components/list/themes/dark/item/list-item.indigo.css.js +1 -1
  620. package/components/list/themes/dark/item/list-item.indigo.css.js.map +1 -1
  621. package/components/list/themes/dark/item/list-item.material.css.js +1 -1
  622. package/components/list/themes/dark/item/list-item.material.css.js.map +1 -1
  623. package/components/list/themes/light/container/list.bootstrap.css.js +1 -1
  624. package/components/list/themes/light/container/list.bootstrap.css.js.map +1 -1
  625. package/components/list/themes/light/container/list.fluent.css.js +1 -1
  626. package/components/list/themes/light/container/list.fluent.css.js.map +1 -1
  627. package/components/list/themes/light/container/list.indigo.css.js +1 -1
  628. package/components/list/themes/light/container/list.indigo.css.js.map +1 -1
  629. package/components/list/themes/light/container/list.material.css.js +1 -1
  630. package/components/list/themes/light/container/list.material.css.js.map +1 -1
  631. package/components/list/themes/light/container/list.shared.css.d.ts +1 -0
  632. package/components/list/themes/light/container/list.shared.css.js +3 -0
  633. package/components/list/themes/light/container/list.shared.css.js.map +1 -0
  634. package/components/list/themes/light/header/list-header.bootstrap.css.js +1 -1
  635. package/components/list/themes/light/header/list-header.bootstrap.css.js.map +1 -1
  636. package/components/list/themes/light/header/list-header.fluent.css.js +1 -1
  637. package/components/list/themes/light/header/list-header.fluent.css.js.map +1 -1
  638. package/components/list/themes/light/header/list-header.indigo.css.js +1 -1
  639. package/components/list/themes/light/header/list-header.indigo.css.js.map +1 -1
  640. package/components/list/themes/light/header/list-header.material.css.js +1 -1
  641. package/components/list/themes/light/header/list-header.material.css.js.map +1 -1
  642. package/components/list/themes/light/item/list-item.bootstrap.css.js +1 -1
  643. package/components/list/themes/light/item/list-item.bootstrap.css.js.map +1 -1
  644. package/components/list/themes/light/item/list-item.fluent.css.js +1 -1
  645. package/components/list/themes/light/item/list-item.fluent.css.js.map +1 -1
  646. package/components/list/themes/light/item/list-item.indigo.css.js +1 -1
  647. package/components/list/themes/light/item/list-item.indigo.css.js.map +1 -1
  648. package/components/list/themes/light/item/list-item.material.css.js +1 -1
  649. package/components/list/themes/light/item/list-item.material.css.js.map +1 -1
  650. package/components/mask-input/mask-input-base.d.ts +3 -0
  651. package/components/mask-input/mask-input-base.js +23 -4
  652. package/components/mask-input/mask-input-base.js.map +1 -1
  653. package/components/mask-input/mask-input.d.ts +1 -2
  654. package/components/mask-input/mask-input.js +1 -3
  655. package/components/mask-input/mask-input.js.map +1 -1
  656. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  657. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  658. package/components/nav-drawer/nav-drawer.d.ts +1 -0
  659. package/components/nav-drawer/nav-drawer.js +5 -4
  660. package/components/nav-drawer/nav-drawer.js.map +1 -1
  661. package/components/nav-drawer/themes/container.js +8 -0
  662. package/components/nav-drawer/themes/container.js.map +1 -1
  663. package/components/nav-drawer/themes/dark/container/nav-drawer.bootstrap.css.js +1 -1
  664. package/components/nav-drawer/themes/dark/container/nav-drawer.bootstrap.css.js.map +1 -1
  665. package/components/nav-drawer/themes/dark/container/nav-drawer.fluent.css.js +1 -1
  666. package/components/nav-drawer/themes/dark/container/nav-drawer.fluent.css.js.map +1 -1
  667. package/components/nav-drawer/themes/dark/container/nav-drawer.indigo.css.js +1 -1
  668. package/components/nav-drawer/themes/dark/container/nav-drawer.indigo.css.js.map +1 -1
  669. package/components/nav-drawer/themes/dark/container/nav-drawer.material.css.js +1 -1
  670. package/components/nav-drawer/themes/dark/container/nav-drawer.material.css.js.map +1 -1
  671. package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.d.ts +1 -0
  672. package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.js +3 -0
  673. package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.js.map +1 -0
  674. package/components/nav-drawer/themes/light/container/nav-drawer.bootstrap.css.js +1 -1
  675. package/components/nav-drawer/themes/light/container/nav-drawer.bootstrap.css.js.map +1 -1
  676. package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.js +1 -1
  677. package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.js.map +1 -1
  678. package/components/nav-drawer/themes/light/container/nav-drawer.indigo.css.js +1 -1
  679. package/components/nav-drawer/themes/light/container/nav-drawer.indigo.css.js.map +1 -1
  680. package/components/nav-drawer/themes/light/container/nav-drawer.material.css.js +1 -1
  681. package/components/nav-drawer/themes/light/container/nav-drawer.material.css.js.map +1 -1
  682. package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.d.ts +1 -0
  683. package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.js +3 -0
  684. package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.js.map +1 -0
  685. package/components/navbar/navbar.js.map +1 -1
  686. package/components/navbar/themes/dark/navbar.bootstrap.css.js +1 -1
  687. package/components/navbar/themes/dark/navbar.bootstrap.css.js.map +1 -1
  688. package/components/navbar/themes/dark/navbar.fluent.css.js +1 -1
  689. package/components/navbar/themes/dark/navbar.fluent.css.js.map +1 -1
  690. package/components/navbar/themes/dark/navbar.indigo.css.js +1 -1
  691. package/components/navbar/themes/dark/navbar.indigo.css.js.map +1 -1
  692. package/components/navbar/themes/dark/navbar.material.css.js +1 -1
  693. package/components/navbar/themes/dark/navbar.material.css.js.map +1 -1
  694. package/components/navbar/themes/light/navbar.bootstrap.css.js +1 -1
  695. package/components/navbar/themes/light/navbar.bootstrap.css.js.map +1 -1
  696. package/components/navbar/themes/light/navbar.fluent.css.js +1 -1
  697. package/components/navbar/themes/light/navbar.fluent.css.js.map +1 -1
  698. package/components/navbar/themes/light/navbar.indigo.css.js +1 -1
  699. package/components/navbar/themes/light/navbar.indigo.css.js.map +1 -1
  700. package/components/navbar/themes/light/navbar.material.css.js +1 -1
  701. package/components/navbar/themes/light/navbar.material.css.js.map +1 -1
  702. package/components/navbar/themes/light/navbar.shared.css.d.ts +1 -0
  703. package/components/navbar/themes/light/navbar.shared.css.js +3 -0
  704. package/components/navbar/themes/light/navbar.shared.css.js.map +1 -0
  705. package/components/navbar/themes/shared/navbar.bootstrap.css.js +1 -1
  706. package/components/navbar/themes/shared/navbar.bootstrap.css.js.map +1 -1
  707. package/components/navbar/themes/themes.js +7 -0
  708. package/components/navbar/themes/themes.js.map +1 -1
  709. package/components/popover/popover.js +1 -1
  710. package/components/popover/popover.js.map +1 -1
  711. package/components/progress/base.d.ts +10 -7
  712. package/components/progress/base.js +67 -50
  713. package/components/progress/base.js.map +1 -1
  714. package/components/progress/circular-gradient.js.map +1 -1
  715. package/components/progress/circular-progress.d.ts +3 -12
  716. package/components/progress/circular-progress.js +31 -42
  717. package/components/progress/circular-progress.js.map +1 -1
  718. package/components/progress/linear-progress.d.ts +0 -14
  719. package/components/progress/linear-progress.js +11 -24
  720. package/components/progress/linear-progress.js.map +1 -1
  721. package/components/progress/themes/circular/dark/circular.progress.bootstrap.css.js +1 -1
  722. package/components/progress/themes/circular/dark/circular.progress.bootstrap.css.js.map +1 -1
  723. package/components/progress/themes/circular/dark/circular.progress.fluent.css.js +1 -1
  724. package/components/progress/themes/circular/dark/circular.progress.fluent.css.js.map +1 -1
  725. package/components/progress/themes/circular/dark/circular.progress.indigo.css.js +1 -1
  726. package/components/progress/themes/circular/dark/circular.progress.indigo.css.js.map +1 -1
  727. package/components/progress/themes/circular/dark/circular.progress.material.css.js +1 -1
  728. package/components/progress/themes/circular/dark/circular.progress.material.css.js.map +1 -1
  729. package/components/progress/themes/circular/dark/circular.progress.shared.css.d.ts +1 -0
  730. package/components/progress/themes/circular/dark/circular.progress.shared.css.js +3 -0
  731. package/components/progress/themes/circular/dark/circular.progress.shared.css.js.map +1 -0
  732. package/components/progress/themes/circular/light/circular.progress.bootstrap.css.js +1 -1
  733. package/components/progress/themes/circular/light/circular.progress.bootstrap.css.js.map +1 -1
  734. package/components/progress/themes/circular/light/circular.progress.fluent.css.js +1 -1
  735. package/components/progress/themes/circular/light/circular.progress.fluent.css.js.map +1 -1
  736. package/components/progress/themes/circular/light/circular.progress.indigo.css.js +1 -1
  737. package/components/progress/themes/circular/light/circular.progress.indigo.css.js.map +1 -1
  738. package/components/progress/themes/circular/light/circular.progress.material.css.js +1 -1
  739. package/components/progress/themes/circular/light/circular.progress.material.css.js.map +1 -1
  740. package/components/progress/themes/circular/light/circular.progress.shared.css.d.ts +1 -0
  741. package/components/progress/themes/circular/light/circular.progress.shared.css.js +3 -0
  742. package/components/progress/themes/circular/light/circular.progress.shared.css.js.map +1 -0
  743. package/components/progress/themes/circular/themes.js +8 -0
  744. package/components/progress/themes/circular/themes.js.map +1 -1
  745. package/components/progress/themes/linear/dark/linear.progress.fluent.css.js +1 -1
  746. package/components/progress/themes/linear/dark/linear.progress.fluent.css.js.map +1 -1
  747. package/components/progress/themes/linear/dark/linear.progress.indigo.css.js +1 -1
  748. package/components/progress/themes/linear/dark/linear.progress.indigo.css.js.map +1 -1
  749. package/components/progress/themes/linear/dark/linear.progress.material.css.js +1 -1
  750. package/components/progress/themes/linear/dark/linear.progress.material.css.js.map +1 -1
  751. package/components/progress/themes/linear/dark/linear.progress.shared.css.d.ts +1 -0
  752. package/components/progress/themes/linear/dark/linear.progress.shared.css.js +3 -0
  753. package/components/progress/themes/linear/dark/linear.progress.shared.css.js.map +1 -0
  754. package/components/progress/themes/linear/light/linear.progress.bootstrap.css.js +1 -1
  755. package/components/progress/themes/linear/light/linear.progress.bootstrap.css.js.map +1 -1
  756. package/components/progress/themes/linear/light/linear.progress.fluent.css.js +1 -1
  757. package/components/progress/themes/linear/light/linear.progress.fluent.css.js.map +1 -1
  758. package/components/progress/themes/linear/light/linear.progress.indigo.css.js +1 -1
  759. package/components/progress/themes/linear/light/linear.progress.indigo.css.js.map +1 -1
  760. package/components/progress/themes/linear/light/linear.progress.material.css.js +1 -1
  761. package/components/progress/themes/linear/light/linear.progress.material.css.js.map +1 -1
  762. package/components/progress/themes/linear/light/linear.progress.shared.css.d.ts +1 -0
  763. package/components/progress/themes/linear/light/linear.progress.shared.css.js +3 -0
  764. package/components/progress/themes/linear/light/linear.progress.shared.css.js.map +1 -0
  765. package/components/progress/themes/linear/themes.js +8 -0
  766. package/components/progress/themes/linear/themes.js.map +1 -1
  767. package/components/radio/radio.d.ts +2 -2
  768. package/components/radio/radio.js +2 -1
  769. package/components/radio/radio.js.map +1 -1
  770. package/components/radio/themes/dark/radio.bootstrap.css.js +1 -1
  771. package/components/radio/themes/dark/radio.bootstrap.css.js.map +1 -1
  772. package/components/radio/themes/dark/radio.fluent.css.js +1 -1
  773. package/components/radio/themes/dark/radio.fluent.css.js.map +1 -1
  774. package/components/radio/themes/dark/radio.indigo.css.js +1 -1
  775. package/components/radio/themes/dark/radio.indigo.css.js.map +1 -1
  776. package/components/radio/themes/dark/radio.material.css.js +1 -1
  777. package/components/radio/themes/dark/radio.material.css.js.map +1 -1
  778. package/components/radio/themes/dark/radio.shared.css.d.ts +1 -0
  779. package/components/radio/themes/dark/radio.shared.css.js +3 -0
  780. package/components/radio/themes/dark/radio.shared.css.js.map +1 -0
  781. package/components/radio/themes/light/radio.bootstrap.css.js +1 -1
  782. package/components/radio/themes/light/radio.bootstrap.css.js.map +1 -1
  783. package/components/radio/themes/light/radio.fluent.css.js +1 -1
  784. package/components/radio/themes/light/radio.fluent.css.js.map +1 -1
  785. package/components/radio/themes/light/radio.indigo.css.js +1 -1
  786. package/components/radio/themes/light/radio.indigo.css.js.map +1 -1
  787. package/components/radio/themes/light/radio.material.css.js +1 -1
  788. package/components/radio/themes/light/radio.material.css.js.map +1 -1
  789. package/components/radio/themes/light/radio.shared.css.d.ts +1 -0
  790. package/components/radio/themes/light/radio.shared.css.js +3 -0
  791. package/components/radio/themes/light/radio.shared.css.js.map +1 -0
  792. package/components/radio/themes/shared/radio.bootstrap.css.js +1 -1
  793. package/components/radio/themes/shared/radio.bootstrap.css.js.map +1 -1
  794. package/components/radio/themes/shared/radio.common.css.d.ts +1 -0
  795. package/components/radio/themes/shared/radio.common.css.js +3 -0
  796. package/components/radio/themes/shared/radio.common.css.js.map +1 -0
  797. package/components/radio/themes/shared/radio.fluent.css.js +1 -1
  798. package/components/radio/themes/shared/radio.fluent.css.js.map +1 -1
  799. package/components/radio/themes/shared/radio.indigo.css.js +1 -1
  800. package/components/radio/themes/shared/radio.indigo.css.js.map +1 -1
  801. package/components/radio/themes/shared/radio.material.css.js +1 -1
  802. package/components/radio/themes/shared/radio.material.css.js.map +1 -1
  803. package/components/radio/themes/themes.js +8 -0
  804. package/components/radio/themes/themes.js.map +1 -1
  805. package/components/radio/utils.js +5 -2
  806. package/components/radio/utils.js.map +1 -1
  807. package/components/radio-group/radio-group.js.map +1 -1
  808. package/components/rating/rating-symbol.js.map +1 -1
  809. package/components/rating/rating.d.ts +3 -4
  810. package/components/rating/rating.js +3 -3
  811. package/components/rating/rating.js.map +1 -1
  812. package/components/rating/themes/dark/rating.bootstrap.css.js +1 -1
  813. package/components/rating/themes/dark/rating.bootstrap.css.js.map +1 -1
  814. package/components/rating/themes/dark/rating.fluent.css.js +1 -1
  815. package/components/rating/themes/dark/rating.fluent.css.js.map +1 -1
  816. package/components/rating/themes/dark/rating.indigo.css.js +1 -1
  817. package/components/rating/themes/dark/rating.indigo.css.js.map +1 -1
  818. package/components/rating/themes/dark/rating.material.css.js +1 -1
  819. package/components/rating/themes/dark/rating.material.css.js.map +1 -1
  820. package/components/rating/themes/light/rating.bootstrap.css.js +1 -1
  821. package/components/rating/themes/light/rating.bootstrap.css.js.map +1 -1
  822. package/components/rating/themes/light/rating.fluent.css.js +1 -1
  823. package/components/rating/themes/light/rating.fluent.css.js.map +1 -1
  824. package/components/rating/themes/light/rating.indigo.css.js +1 -1
  825. package/components/rating/themes/light/rating.indigo.css.js.map +1 -1
  826. package/components/rating/themes/light/rating.material.css.js +1 -1
  827. package/components/rating/themes/light/rating.material.css.js.map +1 -1
  828. package/components/rating/themes/light/rating.shared.css.d.ts +1 -0
  829. package/components/rating/themes/light/rating.shared.css.js +3 -0
  830. package/components/rating/themes/light/rating.shared.css.js.map +1 -0
  831. package/components/rating/themes/themes.js +7 -0
  832. package/components/rating/themes/themes.js.map +1 -1
  833. package/components/ripple/ripple.js.map +1 -1
  834. package/components/select/select-group.d.ts +3 -5
  835. package/components/select/select-group.js +27 -25
  836. package/components/select/select-group.js.map +1 -1
  837. package/components/select/select-header.d.ts +1 -1
  838. package/components/select/select-header.js +2 -1
  839. package/components/select/select-header.js.map +1 -1
  840. package/components/select/select-item.d.ts +1 -1
  841. package/components/select/select-item.js +2 -1
  842. package/components/select/select-item.js.map +1 -1
  843. package/components/select/select.d.ts +3 -3
  844. package/components/select/select.js +4 -6
  845. package/components/select/select.js.map +1 -1
  846. package/components/select/themes/dark/select.bootstrap.css.js +1 -1
  847. package/components/select/themes/dark/select.bootstrap.css.js.map +1 -1
  848. package/components/select/themes/dark/select.fluent.css.js +1 -1
  849. package/components/select/themes/dark/select.fluent.css.js.map +1 -1
  850. package/components/select/themes/dark/select.indigo.css.js +1 -1
  851. package/components/select/themes/dark/select.indigo.css.js.map +1 -1
  852. package/components/select/themes/dark/select.material.css.js +1 -1
  853. package/components/select/themes/dark/select.material.css.js.map +1 -1
  854. package/components/select/themes/light/select.bootstrap.css.js +1 -1
  855. package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
  856. package/components/select/themes/light/select.fluent.css.js +1 -1
  857. package/components/select/themes/light/select.fluent.css.js.map +1 -1
  858. package/components/select/themes/light/select.indigo.css.js +1 -1
  859. package/components/select/themes/light/select.indigo.css.js.map +1 -1
  860. package/components/select/themes/light/select.material.css.js +1 -1
  861. package/components/select/themes/light/select.material.css.js.map +1 -1
  862. package/components/select/themes/light/select.shared.css.d.ts +1 -0
  863. package/components/select/themes/light/select.shared.css.js +3 -0
  864. package/components/select/themes/light/select.shared.css.js.map +1 -0
  865. package/components/select/themes/shared/select.bootstrap.css.js +1 -1
  866. package/components/select/themes/shared/select.bootstrap.css.js.map +1 -1
  867. package/components/select/themes/shared/select.common.css.d.ts +1 -0
  868. package/components/select/themes/shared/select.common.css.js +3 -0
  869. package/components/select/themes/shared/select.common.css.js.map +1 -0
  870. package/components/select/themes/shared/select.fluent.css.js +1 -1
  871. package/components/select/themes/shared/select.fluent.css.js.map +1 -1
  872. package/components/select/themes/shared/select.indigo.css.js +1 -1
  873. package/components/select/themes/shared/select.indigo.css.js.map +1 -1
  874. package/components/select/themes/shared/select.material.css.js +1 -1
  875. package/components/select/themes/shared/select.material.css.js.map +1 -1
  876. package/components/select/themes/themes.js +7 -0
  877. package/components/select/themes/themes.js.map +1 -1
  878. package/components/slider/range-slider.d.ts +22 -7
  879. package/components/slider/range-slider.js +64 -69
  880. package/components/slider/range-slider.js.map +1 -1
  881. package/components/slider/slider-base.d.ts +39 -22
  882. package/components/slider/slider-base.js +150 -186
  883. package/components/slider/slider-base.js.map +1 -1
  884. package/components/slider/slider-label.js.map +1 -1
  885. package/components/slider/slider.d.ts +4 -3
  886. package/components/slider/slider.js +15 -22
  887. package/components/slider/slider.js.map +1 -1
  888. package/components/slider/themes/dark/slider.bootstrap.css.js +1 -1
  889. package/components/slider/themes/dark/slider.bootstrap.css.js.map +1 -1
  890. package/components/slider/themes/dark/slider.fluent.css.js +1 -1
  891. package/components/slider/themes/dark/slider.fluent.css.js.map +1 -1
  892. package/components/slider/themes/dark/slider.indigo.css.js +1 -1
  893. package/components/slider/themes/dark/slider.indigo.css.js.map +1 -1
  894. package/components/slider/themes/dark/slider.material.css.js +1 -1
  895. package/components/slider/themes/dark/slider.material.css.js.map +1 -1
  896. package/components/slider/themes/light/slider.bootstrap.css.js +1 -1
  897. package/components/slider/themes/light/slider.bootstrap.css.js.map +1 -1
  898. package/components/slider/themes/light/slider.fluent.css.js +1 -1
  899. package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
  900. package/components/slider/themes/light/slider.indigo.css.js +1 -1
  901. package/components/slider/themes/light/slider.indigo.css.js.map +1 -1
  902. package/components/slider/themes/light/slider.material.css.js +1 -1
  903. package/components/slider/themes/light/slider.material.css.js.map +1 -1
  904. package/components/slider/themes/light/slider.shared.css.d.ts +1 -0
  905. package/components/slider/themes/light/slider.shared.css.js +3 -0
  906. package/components/slider/themes/light/slider.shared.css.js.map +1 -0
  907. package/components/slider/themes/shared/slider.bootstrap.css.js +1 -1
  908. package/components/slider/themes/shared/slider.bootstrap.css.js.map +1 -1
  909. package/components/slider/themes/shared/slider.common.css.d.ts +1 -0
  910. package/components/slider/themes/shared/slider.common.css.js +3 -0
  911. package/components/slider/themes/shared/slider.common.css.js.map +1 -0
  912. package/components/slider/themes/shared/slider.fluent.css.js +1 -1
  913. package/components/slider/themes/shared/slider.fluent.css.js.map +1 -1
  914. package/components/slider/themes/shared/slider.indigo.css.js +1 -1
  915. package/components/slider/themes/shared/slider.indigo.css.js.map +1 -1
  916. package/components/slider/themes/shared/slider.material.css.js +1 -1
  917. package/components/slider/themes/shared/slider.material.css.js.map +1 -1
  918. package/components/slider/themes/themes.js +7 -0
  919. package/components/slider/themes/themes.js.map +1 -1
  920. package/components/snackbar/snackbar.d.ts +5 -3
  921. package/components/snackbar/snackbar.js +9 -9
  922. package/components/snackbar/snackbar.js.map +1 -1
  923. package/components/snackbar/themes/dark/snackbar.bootstrap.css.js +1 -1
  924. package/components/snackbar/themes/dark/snackbar.bootstrap.css.js.map +1 -1
  925. package/components/snackbar/themes/dark/snackbar.fluent.css.js +1 -1
  926. package/components/snackbar/themes/dark/snackbar.fluent.css.js.map +1 -1
  927. package/components/snackbar/themes/dark/snackbar.indigo.css.js +1 -1
  928. package/components/snackbar/themes/dark/snackbar.indigo.css.js.map +1 -1
  929. package/components/snackbar/themes/dark/snackbar.material.css.js +1 -1
  930. package/components/snackbar/themes/dark/snackbar.material.css.js.map +1 -1
  931. package/components/snackbar/themes/light/snackbar.bootstrap.css.js +1 -1
  932. package/components/snackbar/themes/light/snackbar.bootstrap.css.js.map +1 -1
  933. package/components/snackbar/themes/light/snackbar.fluent.css.js +1 -1
  934. package/components/snackbar/themes/light/snackbar.fluent.css.js.map +1 -1
  935. package/components/snackbar/themes/light/snackbar.indigo.css.js +1 -1
  936. package/components/snackbar/themes/light/snackbar.indigo.css.js.map +1 -1
  937. package/components/snackbar/themes/light/snackbar.material.css.js +1 -1
  938. package/components/snackbar/themes/light/snackbar.material.css.js.map +1 -1
  939. package/components/snackbar/themes/light/snackbar.shared.css.d.ts +1 -0
  940. package/components/snackbar/themes/light/snackbar.shared.css.js +3 -0
  941. package/components/snackbar/themes/light/snackbar.shared.css.js.map +1 -0
  942. package/components/snackbar/themes/themes.js +7 -0
  943. package/components/snackbar/themes/themes.js.map +1 -1
  944. package/components/stepper/step.d.ts +1 -2
  945. package/components/stepper/step.js +5 -7
  946. package/components/stepper/step.js.map +1 -1
  947. package/components/stepper/stepper.d.ts +1 -1
  948. package/components/stepper/stepper.js.map +1 -1
  949. package/components/stepper/themes/step/dark/step.bootstrap.css.js +1 -1
  950. package/components/stepper/themes/step/dark/step.bootstrap.css.js.map +1 -1
  951. package/components/stepper/themes/step/dark/step.fluent.css.js +1 -1
  952. package/components/stepper/themes/step/dark/step.fluent.css.js.map +1 -1
  953. package/components/stepper/themes/step/dark/step.indigo.css.js +1 -1
  954. package/components/stepper/themes/step/dark/step.indigo.css.js.map +1 -1
  955. package/components/stepper/themes/step/dark/step.material.css.js +1 -1
  956. package/components/stepper/themes/step/dark/step.material.css.js.map +1 -1
  957. package/components/stepper/themes/step/dark/step.shared.css.d.ts +1 -0
  958. package/components/stepper/themes/step/dark/step.shared.css.js +3 -0
  959. package/components/stepper/themes/step/dark/step.shared.css.js.map +1 -0
  960. package/components/stepper/themes/step/light/step.bootstrap.css.js +1 -1
  961. package/components/stepper/themes/step/light/step.bootstrap.css.js.map +1 -1
  962. package/components/stepper/themes/step/light/step.fluent.css.js +1 -1
  963. package/components/stepper/themes/step/light/step.fluent.css.js.map +1 -1
  964. package/components/stepper/themes/step/light/step.indigo.css.js +1 -1
  965. package/components/stepper/themes/step/light/step.indigo.css.js.map +1 -1
  966. package/components/stepper/themes/step/light/step.material.css.js +1 -1
  967. package/components/stepper/themes/step/light/step.material.css.js.map +1 -1
  968. package/components/stepper/themes/step/light/step.shared.css.d.ts +1 -0
  969. package/components/stepper/themes/step/light/step.shared.css.js +3 -0
  970. package/components/stepper/themes/step/light/step.shared.css.js.map +1 -0
  971. package/components/stepper/themes/step/themes.js +8 -0
  972. package/components/stepper/themes/step/themes.js.map +1 -1
  973. package/components/tabs/tab-panel.js.map +1 -1
  974. package/components/tabs/tab.js.map +1 -1
  975. package/components/tabs/tabs.d.ts +13 -3
  976. package/components/tabs/tabs.js +95 -81
  977. package/components/tabs/tabs.js.map +1 -1
  978. package/components/tabs/themes/dark/tab.fluent.css.js +1 -1
  979. package/components/tabs/themes/dark/tab.fluent.css.js.map +1 -1
  980. package/components/tabs/themes/dark/tab.material.css.js +1 -1
  981. package/components/tabs/themes/dark/tab.material.css.js.map +1 -1
  982. package/components/tabs/themes/dark/tab.shared.css.d.ts +1 -0
  983. package/components/tabs/themes/dark/tab.shared.css.js +3 -0
  984. package/components/tabs/themes/dark/tab.shared.css.js.map +1 -0
  985. package/components/tabs/themes/light/tab.bootstrap.css.js +1 -1
  986. package/components/tabs/themes/light/tab.bootstrap.css.js.map +1 -1
  987. package/components/tabs/themes/light/tab.fluent.css.js +1 -1
  988. package/components/tabs/themes/light/tab.fluent.css.js.map +1 -1
  989. package/components/tabs/themes/light/tab.indigo.css.js +1 -1
  990. package/components/tabs/themes/light/tab.indigo.css.js.map +1 -1
  991. package/components/tabs/themes/light/tab.material.css.js +1 -1
  992. package/components/tabs/themes/light/tab.material.css.js.map +1 -1
  993. package/components/tabs/themes/light/tab.shared.css.d.ts +1 -0
  994. package/components/tabs/themes/light/tab.shared.css.js +3 -0
  995. package/components/tabs/themes/light/tab.shared.css.js.map +1 -0
  996. package/components/tabs/themes/tabs-themes.js +8 -0
  997. package/components/tabs/themes/tabs-themes.js.map +1 -1
  998. package/components/textarea/textarea.d.ts +1 -1
  999. package/components/textarea/textarea.js +10 -3
  1000. package/components/textarea/textarea.js.map +1 -1
  1001. package/components/textarea/themes/dark/textarea.bootstrap.css.js +1 -1
  1002. package/components/textarea/themes/dark/textarea.bootstrap.css.js.map +1 -1
  1003. package/components/textarea/themes/dark/textarea.fluent.css.js +1 -1
  1004. package/components/textarea/themes/dark/textarea.fluent.css.js.map +1 -1
  1005. package/components/textarea/themes/dark/textarea.indigo.css.js +1 -1
  1006. package/components/textarea/themes/dark/textarea.indigo.css.js.map +1 -1
  1007. package/components/textarea/themes/dark/textarea.material.css.js +1 -1
  1008. package/components/textarea/themes/dark/textarea.material.css.js.map +1 -1
  1009. package/components/textarea/themes/light/textarea.bootstrap.css.js +1 -1
  1010. package/components/textarea/themes/light/textarea.bootstrap.css.js.map +1 -1
  1011. package/components/textarea/themes/light/textarea.fluent.css.js +1 -1
  1012. package/components/textarea/themes/light/textarea.fluent.css.js.map +1 -1
  1013. package/components/textarea/themes/light/textarea.indigo.css.js +1 -1
  1014. package/components/textarea/themes/light/textarea.indigo.css.js.map +1 -1
  1015. package/components/textarea/themes/light/textarea.material.css.js +1 -1
  1016. package/components/textarea/themes/light/textarea.material.css.js.map +1 -1
  1017. package/components/textarea/themes/light/textarea.shared.css.d.ts +1 -0
  1018. package/components/textarea/themes/light/textarea.shared.css.js +3 -0
  1019. package/components/textarea/themes/light/textarea.shared.css.js.map +1 -0
  1020. package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
  1021. package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
  1022. package/components/textarea/themes/shared/textarea.common.css.d.ts +1 -0
  1023. package/components/textarea/themes/shared/textarea.common.css.js +3 -0
  1024. package/components/textarea/themes/shared/textarea.common.css.js.map +1 -0
  1025. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  1026. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  1027. package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
  1028. package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
  1029. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  1030. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  1031. package/components/textarea/themes/themes.js +7 -0
  1032. package/components/textarea/themes/themes.js.map +1 -1
  1033. package/components/toast/themes/dark/toast.bootstrap.css.js +1 -1
  1034. package/components/toast/themes/dark/toast.bootstrap.css.js.map +1 -1
  1035. package/components/toast/themes/dark/toast.fluent.css.js +1 -1
  1036. package/components/toast/themes/dark/toast.fluent.css.js.map +1 -1
  1037. package/components/toast/themes/dark/toast.indigo.css.js +1 -1
  1038. package/components/toast/themes/dark/toast.indigo.css.js.map +1 -1
  1039. package/components/toast/themes/dark/toast.material.css.js +1 -1
  1040. package/components/toast/themes/dark/toast.material.css.js.map +1 -1
  1041. package/components/toast/themes/dark/toast.shared.css.d.ts +1 -0
  1042. package/components/toast/themes/dark/toast.shared.css.js +3 -0
  1043. package/components/toast/themes/dark/toast.shared.css.js.map +1 -0
  1044. package/components/toast/themes/light/toast.fluent.css.js +1 -1
  1045. package/components/toast/themes/light/toast.fluent.css.js.map +1 -1
  1046. package/components/toast/themes/light/toast.indigo.css.js +1 -1
  1047. package/components/toast/themes/light/toast.indigo.css.js.map +1 -1
  1048. package/components/toast/themes/light/toast.material.css.js +1 -1
  1049. package/components/toast/themes/light/toast.material.css.js.map +1 -1
  1050. package/components/toast/themes/light/toast.shared.css.d.ts +1 -0
  1051. package/components/toast/themes/light/toast.shared.css.js +3 -0
  1052. package/components/toast/themes/light/toast.shared.css.js.map +1 -0
  1053. package/components/toast/themes/themes.js +8 -0
  1054. package/components/toast/themes/themes.js.map +1 -1
  1055. package/components/toast/toast.d.ts +2 -1
  1056. package/components/toast/toast.js +5 -4
  1057. package/components/toast/toast.js.map +1 -1
  1058. package/components/tree/themes/container.js +8 -0
  1059. package/components/tree/themes/container.js.map +1 -1
  1060. package/components/tree/themes/dark/container.bootstrap.css.js +1 -1
  1061. package/components/tree/themes/dark/container.bootstrap.css.js.map +1 -1
  1062. package/components/tree/themes/dark/container.fluent.css.js +1 -1
  1063. package/components/tree/themes/dark/container.fluent.css.js.map +1 -1
  1064. package/components/tree/themes/dark/container.indigo.css.js +1 -1
  1065. package/components/tree/themes/dark/container.indigo.css.js.map +1 -1
  1066. package/components/tree/themes/dark/container.material.css.js +1 -1
  1067. package/components/tree/themes/dark/container.material.css.js.map +1 -1
  1068. package/components/tree/themes/dark/container.shared.css.d.ts +1 -0
  1069. package/components/tree/themes/dark/container.shared.css.js +3 -0
  1070. package/components/tree/themes/dark/container.shared.css.js.map +1 -0
  1071. package/components/tree/themes/item.base.css.js +1 -1
  1072. package/components/tree/themes/item.base.css.js.map +1 -1
  1073. package/components/tree/themes/item.js +0 -14
  1074. package/components/tree/themes/item.js.map +1 -1
  1075. package/components/tree/themes/light/container.bootstrap.css.js +1 -1
  1076. package/components/tree/themes/light/container.bootstrap.css.js.map +1 -1
  1077. package/components/tree/themes/light/container.fluent.css.js +1 -1
  1078. package/components/tree/themes/light/container.fluent.css.js.map +1 -1
  1079. package/components/tree/themes/light/container.indigo.css.js +1 -1
  1080. package/components/tree/themes/light/container.indigo.css.js.map +1 -1
  1081. package/components/tree/themes/light/container.material.css.js +1 -1
  1082. package/components/tree/themes/light/container.material.css.js.map +1 -1
  1083. package/components/tree/themes/light/container.shared.css.d.ts +1 -0
  1084. package/components/tree/themes/light/container.shared.css.js +3 -0
  1085. package/components/tree/themes/light/container.shared.css.js.map +1 -0
  1086. package/components/tree/themes/shared/item.common.css.d.ts +1 -0
  1087. package/components/tree/themes/shared/item.common.css.js +3 -0
  1088. package/components/tree/themes/shared/item.common.css.js.map +1 -0
  1089. package/components/tree/themes/shared/item.indigo.css.js +1 -1
  1090. package/components/tree/themes/shared/item.indigo.css.js.map +1 -1
  1091. package/components/tree/themes/shared/item.material.css.js +1 -1
  1092. package/components/tree/themes/shared/item.material.css.js.map +1 -1
  1093. package/components/tree/tree-item.d.ts +2 -4
  1094. package/components/tree/tree-item.js +7 -10
  1095. package/components/tree/tree-item.js.map +1 -1
  1096. package/components/tree/tree.d.ts +1 -1
  1097. package/components/tree/tree.js.map +1 -1
  1098. package/components/tree/tree.navigation.js.map +1 -1
  1099. package/components/tree/tree.selection.js.map +1 -1
  1100. package/custom-elements.json +1064 -1005
  1101. package/package.json +2 -2
  1102. package/themes/dark/fluent.css +1 -1
  1103. package/themes/light/fluent.css +1 -1
  1104. package/theming/config.js +4 -1
  1105. package/theming/config.js.map +1 -1
  1106. package/theming/theming-controller.js +7 -4
  1107. package/theming/theming-controller.js.map +1 -1
  1108. package/theming/utils.d.ts +1 -1
  1109. package/theming/utils.js +43 -26
  1110. package/theming/utils.js.map +1 -1
  1111. package/components/dropdown/themes/shared/group/dropdown-group.bootstrap.css.js +0 -3
  1112. package/components/dropdown/themes/shared/group/dropdown-group.bootstrap.css.js.map +0 -1
  1113. package/components/dropdown/themes/shared/group/dropdown-group.material.css.js +0 -3
  1114. package/components/dropdown/themes/shared/group/dropdown-group.material.css.js.map +0 -1
  1115. package/components/dropdown/themes/shared/header/dropdown-header.bootstrap.css.js +0 -3
  1116. package/components/dropdown/themes/shared/header/dropdown-header.bootstrap.css.js.map +0 -1
  1117. package/components/dropdown/themes/shared/header/dropdown-header.material.css.js +0 -3
  1118. package/components/dropdown/themes/shared/header/dropdown-header.material.css.js.map +0 -1
  1119. package/components/dropdown/themes/shared/item/dropdown-item.bootstrap.css.js +0 -3
  1120. package/components/dropdown/themes/shared/item/dropdown-item.bootstrap.css.js.map +0 -1
  1121. package/components/dropdown/themes/shared/item/dropdown-item.material.css.js +0 -3
  1122. package/components/dropdown/themes/shared/item/dropdown-item.material.css.js.map +0 -1
  1123. package/components/tabs/utils.d.ts +0 -14
  1124. package/components/tabs/utils.js +0 -32
  1125. package/components/tabs/utils.js.map +0 -1
  1126. package/components/tree/themes/shared/item.bootstrap.css.js +0 -3
  1127. package/components/tree/themes/shared/item.bootstrap.css.js.map +0 -1
  1128. package/components/tree/themes/shared/item.fluent.css.js +0 -3
  1129. package/components/tree/themes/shared/item.fluent.css.js.map +0 -1
  1130. /package/components/{dropdown/themes/shared/group/dropdown-group.bootstrap.css.d.ts → avatar/themes/light/avatar.shared.css.d.ts} +0 -0
  1131. /package/components/{dropdown/themes/shared/group/dropdown-group.indigo.css.d.ts → badge/themes/light/badge.shared.css.d.ts} +0 -0
  1132. /package/components/{dropdown/themes/shared/header/dropdown-header.indigo.css.d.ts → button/themes/button/light/button.shared.css.d.ts} +0 -0
  1133. /package/components/{dropdown/themes/shared/group/dropdown-group.material.css.d.ts → button-group/themes/dark/button-group.shared.css.d.ts} +0 -0
  1134. /package/components/{dropdown/themes/shared/header/dropdown-header.bootstrap.css.d.ts → button-group/themes/light/button-group.shared.css.d.ts} +0 -0
  1135. /package/components/{dropdown/themes/shared/header/dropdown-header.material.css.d.ts → calendar/themes/light/calendar.shared.css.d.ts} +0 -0
  1136. /package/components/{dropdown/themes/shared/item/dropdown-item.bootstrap.css.d.ts → card/themes/light/container/card.shared.css.d.ts} +0 -0
  1137. /package/components/{dropdown/themes/shared/item/dropdown-item.indigo.css.d.ts → checkbox/themes/dark/switch/switch.shared.css.d.ts} +0 -0
  1138. /package/components/{dropdown/themes/shared/item/dropdown-item.material.css.d.ts → checkbox/themes/light/checkbox/checkbox.shared.css.d.ts} +0 -0
  1139. /package/components/{tree/themes/shared/item.bootstrap.css.d.ts → checkbox/themes/light/switch/switch.shared.css.d.ts} +0 -0
  1140. /package/components/{tree/themes/shared/item.fluent.css.d.ts → checkbox/themes/shared/checkbox/checkbox.common.css.d.ts} +0 -0
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{min-width:var(--button-min-width)}:host [part~=toggle]{min-height:max(var(--is-large, 1)*max(3rem, -1 * 3rem),var(--is-medium, 1)*max(2.375rem, -1 * 2.375rem),var(--is-small, 1)*max(1.9375rem, -1 * 1.9375rem));border-width:.0625rem;padding-inline:max(var(--is-large, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(0.625rem, -1 * 0.625rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));padding-block:max(var(--is-large, 1)*max(0.4375rem, -1 * 0.4375rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(0.125rem, -1 * 0.125rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));min-width:var(--button-min-width)}:host(:hover) [part~=toggle],:host(:focus) [part~=toggle]{border-color:var(--item-border-color)}:host(:focus) [part~=toggle]{-webkit-box-shadow:0 0 0 .1875rem var(--idle-shadow-color);box-shadow:0 0 0 .1875rem var(--idle-shadow-color)}`;
2
+ export const styles = css `:host{min-width:var(--button-min-width)}:host [part~=toggle]{min-height:max(var(--is-large, 1)*max(3rem, -1 * 3rem),var(--is-medium, 1)*max(2.375rem, -1 * 2.375rem),var(--is-small, 1)*max(2rem, -1 * 2rem));border-width:.0625rem;padding-inline:max(var(--is-large, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(0.625rem, -1 * 0.625rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));padding-block:max(var(--is-large, 1)*max(0.4375rem, -1 * 0.4375rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(0.125rem, -1 * 0.125rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));min-width:var(--button-min-width)}:host(:hover) [part~=toggle],:host(:focus) [part~=toggle]{border-color:var(--item-border-color)}:host(:focus) [part~=toggle]{-webkit-box-shadow:0 0 0 .1875rem var(--idle-shadow-color);box-shadow:0 0 0 .1875rem var(--idle-shadow-color)}`;
3
3
  //# sourceMappingURL=button.bootstrap.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.bootstrap.css.js","sourceRoot":"","sources":["../../../../../../src/components/button-group/themes/shared/button/button.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,suCAAsuC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{min-width:var(--button-min-width)}:host [part~=toggle]{min-height:max(var(--is-large, 1)*max(3rem, -1 * 3rem),var(--is-medium, 1)*max(2.375rem, -1 * 2.375rem),var(--is-small, 1)*max(1.9375rem, -1 * 1.9375rem));border-width:.0625rem;padding-inline:max(var(--is-large, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(0.625rem, -1 * 0.625rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));padding-block:max(var(--is-large, 1)*max(0.4375rem, -1 * 0.4375rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(0.125rem, -1 * 0.125rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));min-width:var(--button-min-width)}:host(:hover) [part~=toggle],:host(:focus) [part~=toggle]{border-color:var(--item-border-color)}:host(:focus) [part~=toggle]{-webkit-box-shadow:0 0 0 .1875rem var(--idle-shadow-color);box-shadow:0 0 0 .1875rem var(--idle-shadow-color)}`;\n"]}
1
+ {"version":3,"file":"button.bootstrap.css.js","sourceRoot":"","sources":["../../../../../../src/components/button-group/themes/shared/button/button.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,4tCAA4tC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{min-width:var(--button-min-width)}:host [part~=toggle]{min-height:max(var(--is-large, 1)*max(3rem, -1 * 3rem),var(--is-medium, 1)*max(2.375rem, -1 * 2.375rem),var(--is-small, 1)*max(2rem, -1 * 2rem));border-width:.0625rem;padding-inline:max(var(--is-large, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(0.625rem, -1 * 0.625rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));padding-block:max(var(--is-large, 1)*max(0.4375rem, -1 * 0.4375rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(0.125rem, -1 * 0.125rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));min-width:var(--button-min-width)}:host(:hover) [part~=toggle],:host(:focus) [part~=toggle]{border-color:var(--item-border-color)}:host(:focus) [part~=toggle]{-webkit-box-shadow:0 0 0 .1875rem var(--idle-shadow-color);box-shadow:0 0 0 .1875rem var(--idle-shadow-color)}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host [part~=toggle]{--ig-icon-size: 1.125rem;--igx-icon-size: 1.125rem;min-height:max(var(--is-large, 1)*max(2.25rem, -1 * 2.25rem),var(--is-medium, 1)*max(1.875rem, -1 * 1.875rem),var(--is-small, 1)*max(1.5rem, -1 * 1.5rem));color:var(--item-text-color);background:var(--item-background);padding-inline:1rem;padding-block:max(var(--is-large, 1)*max(0.375rem, -1 * 0.375rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(0.0625rem, -1 * 0.0625rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));border-color:var(--item-border-color)}:host(:hover) [part~=toggle],:host(:focus) [part~=toggle]{color:var(--item-hover-text-color);background:var(--item-hover-background)}:host([selected]) [part~=toggle]{color:var(--item-selected-text-color);background:var(--item-selected-background);border-color:var(--item-selected-border-color)}:host([selected]:hover) [part~=toggle],:host([selected]:focus) [part~=toggle]{color:var(--item-selected-text-color);background:var(--item-selected-hover-background)}:host([disabled]) [part~=toggle],:host(:disabled) [part~=toggle],:host-context([disabled]) [part~=toggle],:host-context(:disabled) [part~=toggle]{color:var(--disabled-text-color);background:var(--disabled-background-color);border-color:var(--item-disabled-border)}`;
2
+ export const styles = css `:host [part~=toggle]{--ig-icon-size: 1.125rem;--igx-icon-size: 1.125rem;min-height:max(var(--is-large, 1)*max(2.25rem, -1 * 2.25rem),var(--is-medium, 1)*max(1.875rem, -1 * 1.875rem),var(--is-small, 1)*max(1.5rem, -1 * 1.5rem));color:var(--item-text-color);background:var(--item-background);padding-inline:1rem;padding-block:max(var(--is-large, 1)*max(0.375rem, -1 * 0.375rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(0.0625rem, -1 * 0.0625rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));border-color:var(--item-border-color)}:host(:hover) [part~=toggle],:host(:focus) [part~=toggle]{color:var(--item-hover-text-color);background:var(--item-hover-background)}:host([selected]) [part~=toggle]{color:var(--item-selected-text-color);background:var(--item-selected-background);border-color:var(--item-selected-border-color)}:host([selected]:hover) [part~=toggle],:host([selected]:focus) [part~=toggle]{color:var(--item-selected-text-color);background:var(--item-selected-hover-background)}:host([disabled]) [part~=toggle],:host(:disabled) [part~=toggle]{color:var(--disabled-text-color);background:var(--disabled-background-color);border-color:var(--item-disabled-border)}:host-context([disabled]) [part~=toggle],:host-context(:disabled) [part~=toggle]{color:var(--disabled-text-color);background:var(--disabled-background-color);border-color:var(--item-disabled-border)}`;
3
3
  //# sourceMappingURL=button.common.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.common.css.js","sourceRoot":"","sources":["../../../../../../src/components/button-group/themes/shared/button/button.common.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,q6CAAq6C,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host [part~=toggle]{--ig-icon-size: 1.125rem;--igx-icon-size: 1.125rem;min-height:max(var(--is-large, 1)*max(2.25rem, -1 * 2.25rem),var(--is-medium, 1)*max(1.875rem, -1 * 1.875rem),var(--is-small, 1)*max(1.5rem, -1 * 1.5rem));color:var(--item-text-color);background:var(--item-background);padding-inline:1rem;padding-block:max(var(--is-large, 1)*max(0.375rem, -1 * 0.375rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(0.0625rem, -1 * 0.0625rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));border-color:var(--item-border-color)}:host(:hover) [part~=toggle],:host(:focus) [part~=toggle]{color:var(--item-hover-text-color);background:var(--item-hover-background)}:host([selected]) [part~=toggle]{color:var(--item-selected-text-color);background:var(--item-selected-background);border-color:var(--item-selected-border-color)}:host([selected]:hover) [part~=toggle],:host([selected]:focus) [part~=toggle]{color:var(--item-selected-text-color);background:var(--item-selected-hover-background)}:host([disabled]) [part~=toggle],:host(:disabled) [part~=toggle],:host-context([disabled]) [part~=toggle],:host-context(:disabled) [part~=toggle]{color:var(--disabled-text-color);background:var(--disabled-background-color);border-color:var(--item-disabled-border)}`;\n"]}
1
+ {"version":3,"file":"button.common.css.js","sourceRoot":"","sources":["../../../../../../src/components/button-group/themes/shared/button/button.common.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,2hDAA2hD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host [part~=toggle]{--ig-icon-size: 1.125rem;--igx-icon-size: 1.125rem;min-height:max(var(--is-large, 1)*max(2.25rem, -1 * 2.25rem),var(--is-medium, 1)*max(1.875rem, -1 * 1.875rem),var(--is-small, 1)*max(1.5rem, -1 * 1.5rem));color:var(--item-text-color);background:var(--item-background);padding-inline:1rem;padding-block:max(var(--is-large, 1)*max(0.375rem, -1 * 0.375rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(0.0625rem, -1 * 0.0625rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)));border-color:var(--item-border-color)}:host(:hover) [part~=toggle],:host(:focus) [part~=toggle]{color:var(--item-hover-text-color);background:var(--item-hover-background)}:host([selected]) [part~=toggle]{color:var(--item-selected-text-color);background:var(--item-selected-background);border-color:var(--item-selected-border-color)}:host([selected]:hover) [part~=toggle],:host([selected]:focus) [part~=toggle]{color:var(--item-selected-text-color);background:var(--item-selected-hover-background)}:host([disabled]) [part~=toggle],:host(:disabled) [part~=toggle]{color:var(--disabled-text-color);background:var(--disabled-background-color);border-color:var(--item-disabled-border)}:host-context([disabled]) [part~=toggle],:host-context(:disabled) [part~=toggle]{color:var(--disabled-text-color);background:var(--disabled-background-color);border-color:var(--item-disabled-border)}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host [part~=toggle]{--ig-icon-size: 1rem;--igx-icon-size: 1rem;min-height:max(var(--is-large, 1)*max(2.375rem, -1 * 2.375rem),var(--is-medium, 1)*max(2rem, -1 * 2rem),var(--is-small, 1)*max(1.5rem, -1 * 1.5rem));border-width:.0625rem;padding-inline:max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));padding-block:max(var(--is-large, 1)*max(0.4375rem, -1 * 0.4375rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(0.4375rem, -1 * 0.4375rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(0.4375rem, -1 * 0.4375rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)))}`;
2
+ export const styles = css `:host(:focus) [part~=toggle]{background:var(--item-background)}:host(:active) [part~=toggle]{background:var(--item-focused-background)}:host [part~=toggle]{min-height:max(var(--is-large, 1)*max(2.375rem, -1 * 2.375rem),var(--is-medium, 1)*max(2rem, -1 * 2rem),var(--is-small, 1)*max(1.5rem, -1 * 1.5rem));border-width:.0625rem}:host [part~=toggle]:focus-visible{background:var(--item-background)}:host [part~=toggle]:focus-visible::after{content:"";position:absolute;inset-block-start:.125rem;inset-inline-start:.125rem;pointer-events:none;width:calc(100% - 0.125rem*2);height:calc(100% - 0.125rem*2);-webkit-box-shadow:0 0 0 .0625rem var(--item-focused-border-color);box-shadow:0 0 0 .0625rem var(--item-focused-border-color)}:host [part~=toggle]:focus-visible:hover{background:var(--item-hover-background)}:host [part~=toggle]:focus-visible:active{background:var(--item-focused-background)}:host([selected]:hover) [part~=toggle],:host([selected]:focus) [part~=toggle]{background:var(--item-selected-background)}:host([selected]:active) [part~=toggle]{background:var(--item-selected-hover-background)}:host([selected]) [part~=toggle]:focus-visible{background:var(--item-selected-background)}:host([selected]) [part~=toggle]:focus-visible:active{background:var(--item-selected-hover-background)}`;
3
3
  //# sourceMappingURL=button.fluent.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.fluent.css.js","sourceRoot":"","sources":["../../../../../../src/components/button-group/themes/shared/button/button.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,08BAA08B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host [part~=toggle]{--ig-icon-size: 1rem;--igx-icon-size: 1rem;min-height:max(var(--is-large, 1)*max(2.375rem, -1 * 2.375rem),var(--is-medium, 1)*max(2rem, -1 * 2rem),var(--is-small, 1)*max(1.5rem, -1 * 1.5rem));border-width:.0625rem;padding-inline:max(var(--is-large, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, --ig-spacing)),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, --ig-spacing)),var(--is-small, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, --ig-spacing)));padding-block:max(var(--is-large, 1)*max(0.4375rem, -1 * 0.4375rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, --ig-spacing)),var(--is-medium, 1)*max(0.4375rem, -1 * 0.4375rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, --ig-spacing)),var(--is-small, 1)*max(0.4375rem, -1 * 0.4375rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, --ig-spacing)))}`;\n"]}
1
+ {"version":3,"file":"button.fluent.css.js","sourceRoot":"","sources":["../../../../../../src/components/button-group/themes/shared/button/button.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,ixCAAixC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host(:focus) [part~=toggle]{background:var(--item-background)}:host(:active) [part~=toggle]{background:var(--item-focused-background)}:host [part~=toggle]{min-height:max(var(--is-large, 1)*max(2.375rem, -1 * 2.375rem),var(--is-medium, 1)*max(2rem, -1 * 2rem),var(--is-small, 1)*max(1.5rem, -1 * 1.5rem));border-width:.0625rem}:host [part~=toggle]:focus-visible{background:var(--item-background)}:host [part~=toggle]:focus-visible::after{content:\"\";position:absolute;inset-block-start:.125rem;inset-inline-start:.125rem;pointer-events:none;width:calc(100% - 0.125rem*2);height:calc(100% - 0.125rem*2);-webkit-box-shadow:0 0 0 .0625rem var(--item-focused-border-color);box-shadow:0 0 0 .0625rem var(--item-focused-border-color)}:host [part~=toggle]:focus-visible:hover{background:var(--item-hover-background)}:host [part~=toggle]:focus-visible:active{background:var(--item-focused-background)}:host([selected]:hover) [part~=toggle],:host([selected]:focus) [part~=toggle]{background:var(--item-selected-background)}:host([selected]:active) [part~=toggle]{background:var(--item-selected-hover-background)}:host([selected]) [part~=toggle]:focus-visible{background:var(--item-selected-background)}:host([selected]) [part~=toggle]:focus-visible:active{background:var(--item-selected-hover-background)}`;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-button.js","sourceRoot":"","sources":["../../../src/components/button-group/toggle-button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAavD,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,UAAU;IAAjD;;QA4BN,aAAQ,GAAG,KAAK,CAAC;QAOjB,aAAQ,GAAG,KAAK,CAAC;IAiC1B,CAAC;IA3DQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IA4Be,KAAK,CAAC,OAAsB;QAC1C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAIe,IAAI;QAClB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAGe,KAAK;QACnB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;oBAIK,IAAI,CAAC,QAAQ;qBACZ,IAAI,CAAC,SAAS;uBACZ,IAAI,CAAC,QAAQ;wBACZ,IAAI,CAAC,QAAQ;;;;KAIhC,CAAC;IACJ,CAAC;;AAlEsB,+BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAC1B,gCAAO,GAAG,mBAAmB,AAAtB,CAAuB;AAE9B,0CAAiB,GAAG;IACzC,GAAG,UAAU,CAAC,iBAAiB;IAC/B,cAAc,EAAE,IAAI;CACrB,AAHuC,CAGtC;AAOM;IADP,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC;+DACW;AAOnC;IADN,QAAQ,EAAE;uDACW;AAOf;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0DACnB;AAOjB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0DACnB;AAnCL,wBAAwB;IAD5C,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;GACG,wBAAwB,CAoE5C;eApEoB,wBAAwB","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\n\nimport { styles } from './themes/button.base.css.js';\nimport { all } from './themes/button.js';\nimport { styles as shared } from './themes/shared/button/button.common.css.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\n\n/**\n * The `igc-toggle-button` wraps a native button element and exposes additional `value` and `selected` properties.\n * It is used in the context of an `igc-button-group` to facilitate the creation of group/toolbar like UX behaviors.\n *\n * @element igc-toggle-button\n *\n * @slot Renders the label/content of the button.\n *\n * @csspart toggle - The native button element.\n */\n@themes(all, true)\nexport default class IgcToggleButtonComponent extends LitElement {\n public static override styles = [styles, shared];\n public static readonly tagName = 'igc-toggle-button';\n\n public static override shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n public static register() {\n registerComponent(this);\n }\n\n @query('[part=\"toggle\"]', true)\n private _nativeButton!: HTMLButtonElement;\n\n /**\n * The value attribute of the control.\n * @attr\n */\n @property()\n public value!: string;\n\n /**\n * Determines whether the button is selected.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public selected = false;\n\n /**\n * Determines whether the button is disabled.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /* alternateName: focusComponent */\n /** Sets focus on the button. */\n public override focus(options?: FocusOptions) {\n this._nativeButton.focus(options);\n }\n\n /* alternateName: blurComponent */\n /** Removes focus from the button. */\n public override blur() {\n this._nativeButton.blur();\n }\n\n /** Simulates a mouse click on the element. */\n public override click() {\n this._nativeButton.click();\n }\n\n protected override render() {\n return html`\n <button\n part=\"toggle\"\n type=\"button\"\n ?disabled=${this.disabled}\n .ariaLabel=${this.ariaLabel}\n aria-pressed=${this.selected}\n aria-disabled=${this.disabled}\n >\n <slot></slot>\n </button>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-toggle-button': IgcToggleButtonComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"toggle-button.js","sourceRoot":"","sources":["../../../src/components/button-group/toggle-button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAavD,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,UAAU;IAAjD;;QA6BN,aAAQ,GAAG,KAAK,CAAC;QAOjB,aAAQ,GAAG,KAAK,CAAC;IAiC1B,CAAC;IA3DQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IA4Be,KAAK,CAAC,OAAsB;QAC1C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAIe,IAAI;QAClB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAGe,KAAK;QACnB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;oBAIK,IAAI,CAAC,QAAQ;qBACZ,IAAI,CAAC,SAAS;uBACZ,IAAI,CAAC,QAAQ;wBACZ,IAAI,CAAC,QAAQ;;;;KAIhC,CAAC;IACJ,CAAC;;AAnEsB,+BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAC1B,gCAAO,GAAG,mBAAmB,AAAtB,CAAuB;AAE9B,0CAAiB,GAAG;IACzC,GAAG,UAAU,CAAC,iBAAiB;IAC/B,cAAc,EAAE,IAAI;CACrB,AAHuC,CAGtC;AAQM;IADP,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC;+DACW;AAOnC;IADN,QAAQ,EAAE;uDACW;AAOf;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0DACnB;AAOjB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0DACnB;AApCL,wBAAwB;IAD5C,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;GACG,wBAAwB,CAqE5C;eArEoB,wBAAwB","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\n\nimport { styles } from './themes/button.base.css.js';\nimport { all } from './themes/button.js';\nimport { styles as shared } from './themes/shared/button/button.common.css.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\n\n/**\n * The `igc-toggle-button` wraps a native button element and exposes additional `value` and `selected` properties.\n * It is used in the context of an `igc-button-group` to facilitate the creation of group/toolbar like UX behaviors.\n *\n * @element igc-toggle-button\n *\n * @slot Renders the label/content of the button.\n *\n * @csspart toggle - The native button element.\n */\n@themes(all, true)\nexport default class IgcToggleButtonComponent extends LitElement {\n public static override styles = [styles, shared];\n public static readonly tagName = 'igc-toggle-button';\n\n public static override shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /* blazorSuppress */\n public static register() {\n registerComponent(this);\n }\n\n @query('[part=\"toggle\"]', true)\n private _nativeButton!: HTMLButtonElement;\n\n /**\n * The value attribute of the control.\n * @attr\n */\n @property()\n public value!: string;\n\n /**\n * Determines whether the button is selected.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public selected = false;\n\n /**\n * Determines whether the button is disabled.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /* alternateName: focusComponent */\n /** Sets focus on the button. */\n public override focus(options?: FocusOptions) {\n this._nativeButton.focus(options);\n }\n\n /* alternateName: blurComponent */\n /** Removes focus from the button. */\n public override blur() {\n this._nativeButton.blur();\n }\n\n /** Simulates a mouse click on the element. */\n public override click() {\n this._nativeButton.click();\n }\n\n protected override render() {\n return html`\n <button\n part=\"toggle\"\n type=\"button\"\n ?disabled=${this.disabled}\n .ariaLabel=${this.ariaLabel}\n aria-pressed=${this.selected}\n aria-disabled=${this.disabled}\n >\n <slot></slot>\n </button>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-toggle-button': IgcToggleButtonComponent;\n }\n}\n"]}
@@ -2,7 +2,7 @@ import { IgcCalendarBaseComponent, IgcCalendarBaseEventMap } from './common/cale
2
2
  import { themeSymbol } from '../../theming/theming-decorator.js';
3
3
  import { IgcCalendarResourceStrings } from '../common/i18n/calendar.resources.js';
4
4
  import type { Constructor } from '../common/mixins/constructor.js';
5
- declare const IgcCalendarComponent_base: Constructor<import("../common/mixins/sizable.js").SizableInterface> & import("../common/mixins/constructor.js").AbstractConstructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcCalendarBaseEventMap>> & Constructor<IgcCalendarBaseComponent>;
5
+ declare const IgcCalendarComponent_base: Constructor<import("../common/mixins/sizable.js").SizableInterface> & Constructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcCalendarBaseEventMap>> & Constructor<IgcCalendarBaseComponent>;
6
6
  /**
7
7
  * Represents a calendar that lets users
8
8
  * to select a date value in a variety of different ways.
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../../src/components/calendar/calendar.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property, query, queryAll, state } from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\n\nimport {\n IgcCalendarBaseComponent,\n IgcCalendarBaseEventMap,\n MONTHS_PER_ROW,\n YEARS_PER_ROW,\n} from './common/calendar-base.js';\nimport { ICalendarDate, TimeDeltaInterval } from './common/calendar.model.js';\nimport { calculateYearsRangeStart, setDateSafe } from './common/utils.js';\nimport IgcDaysViewComponent from './days-view/days-view.js';\nimport IgcMonthsViewComponent from './months-view/months-view.js';\nimport { styles } from './themes/calendar.base.css.js';\nimport { all } from './themes/calendar.js';\nimport { styles as shared } from './themes/shared/material/calendar.common.css.js';\nimport IgcYearsViewComponent from './years-view/years-view.js';\nimport { themeSymbol, themes } from '../../theming/theming-decorator.js';\nimport type { Theme } from '../../theming/types.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n IgcCalendarResourceStringEN,\n IgcCalendarResourceStrings,\n} from '../common/i18n/calendar.resources.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { SizableMixin } from '../common/mixins/sizable.js';\nimport { partNameMap } from '../common/util.js';\nimport IgcIconComponent from '../icon/icon.js';\n\n/**\n * Represents a calendar that lets users\n * to select a date value in a variety of different ways.\n *\n * @element igc-calendar\n *\n * @slot - The default slot for the calendar.\n * @slot title - Renders the title of the calendar header.\n *\n * @fires igcChange - Emitted when calendar changes its value.\n *\n * @csspart content - The content container.\n * @csspart days-view - The days view container.\n * @csspart months-view - The months view container.\n * @csspart years-view - The years view container.\n * @csspart header - The header container.\n * @csspart header-title - The header title container.\n * @csspart header-date - The header date container.\n * @csspart navigation - The navigation container.\n * @csspart months-navigation - The months navigation container.\n * @csspart years-navigation - The years navigation container.\n * @csspart years-range - The years range container.\n * @csspart navigation-buttons - The navigation buttons container.\n * @csspart navigation-button - The navigation button container.\n * @csspart navigation-button vertical - The navigation button container\n * when calendar orientation is vertical.\n * @csspart days-view-container - The days view container.\n */\n@themes(all)\nexport default class IgcCalendarComponent extends SizableMixin(\n EventEmitterMixin<\n IgcCalendarBaseEventMap,\n Constructor<IgcCalendarBaseComponent>\n >(IgcCalendarBaseComponent)\n) {\n public static readonly tagName = 'igc-calendar';\n public static styles = [styles, shared];\n\n public static register() {\n registerComponent(\n this,\n IgcIconComponent,\n IgcDaysViewComponent,\n IgcMonthsViewComponent,\n IgcYearsViewComponent\n );\n }\n\n private formatterMonth!: Intl.DateTimeFormat;\n private formatterWeekday!: Intl.DateTimeFormat;\n private formatterMonthDay!: Intl.DateTimeFormat;\n private declare readonly [themeSymbol]: Theme;\n\n @state()\n private rangePreviewDate?: Date;\n\n @state()\n private activeDaysViewIndex = 0;\n\n @queryAll('igc-days-view')\n private daysViews!: NodeList;\n\n @query('igc-months-view')\n private monthsView!: IgcMonthsViewComponent;\n\n @query('igc-years-view')\n private yearsView!: IgcYearsViewComponent;\n\n /** Controls the visibility of the dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-outside-days' })\n public hideOutsideDays = false;\n\n /** Determines whether the calendar hides its header. Even if set to false, the header is not displayed for `multiple` selection. */\n @property({ type: Boolean, attribute: 'hide-header' })\n public hideHeader = false;\n\n /** The orientation of the header. */\n @property({ attribute: 'header-orientation', reflect: true })\n public headerOrientation: 'vertical' | 'horizontal' = 'horizontal';\n\n /** The orientation of the multiple months displayed in days view. */\n @property()\n public orientation: 'vertical' | 'horizontal' = 'horizontal';\n\n /** The number of months displayed in days view. */\n @property({ type: Number, attribute: 'visible-months' })\n public visibleMonths = 1;\n\n /** The active view. */\n @property({ attribute: 'active-view' })\n public activeView: 'days' | 'months' | 'years' = 'days';\n\n /** The options used to format the months and the weekdays in the calendar views. */\n @property({ attribute: false })\n public formatOptions: Pick<Intl.DateTimeFormatOptions, 'month' | 'weekday'> =\n {\n month: 'long',\n weekday: 'narrow',\n };\n\n /** The resource strings. */\n @property({ attribute: false })\n public resourceStrings: IgcCalendarResourceStrings =\n IgcCalendarResourceStringEN;\n\n @watch('formatOptions')\n @watch('locale')\n protected formattersChange() {\n this.initFormatters();\n }\n\n constructor() {\n super();\n this.initFormatters();\n }\n\n private get yearPerPage() {\n return this.size === 'small' ? 18 : 15;\n }\n\n private get previousButtonLabel() {\n return this.activeView === 'days'\n ? this.resourceStrings.previousMonth\n : this.activeView === 'months'\n ? this.resourceStrings.previousYear\n : this.activeView === 'years'\n ? this.resourceStrings.previousYears.replace(\n '{0}',\n this.yearPerPage.toString()\n )\n : '';\n }\n\n private get nextButtonLabel() {\n return this.activeView === 'days'\n ? this.resourceStrings.nextMonth\n : this.activeView === 'months'\n ? this.resourceStrings.nextYear\n : this.activeView === 'years'\n ? this.resourceStrings.nextYears.replace(\n '{0}',\n this.yearPerPage.toString()\n )\n : '';\n }\n\n private monthSelectLabel(activeDate: Date) {\n return (\n activeDate.toLocaleString(this.locale, {\n month: 'long',\n }) +\n ', ' +\n this.resourceStrings.selectMonth\n );\n }\n\n private yearSelectLabel(activeDate: Date) {\n return activeDate.getFullYear() + ', ' + this.resourceStrings.selectYear;\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n const tagName = (event.target as HTMLElement).tagName.toLowerCase();\n\n if (\n tagName !== 'igc-days-view' &&\n tagName !== 'igc-months-view' &&\n tagName !== 'igc-years-view'\n ) {\n return;\n }\n\n switch (event.key) {\n case 'PageDown':\n event.preventDefault();\n\n if (event.shiftKey && this.activeView === 'days') {\n this.nextYear();\n } else {\n this.navigateNext();\n }\n\n if (this.activeView === 'days') {\n this.focusActiveDate();\n }\n break;\n case 'PageUp':\n event.preventDefault();\n\n if (event.shiftKey && this.activeView === 'days') {\n this.previousYear();\n } else {\n this.navigatePrevious();\n }\n\n if (this.activeView === 'days') {\n this.focusActiveDate();\n }\n break;\n case 'Home':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const firstDaysView = this.daysViews[0] as IgcDaysViewComponent;\n const activeDate = firstDaysView.activeDate;\n const date = new Date(activeDate);\n date.setDate(1);\n this.activeDate = date;\n this.activeDaysViewIndex = 0;\n } else if (this.activeView === 'months') {\n const date = new Date(this.activeDate);\n date.setMonth(0);\n this.activeDate = date;\n } else if (this.activeView === 'years') {\n const startYear = calculateYearsRangeStart(\n this.activeDate,\n this.yearPerPage\n );\n const date = new Date(this.activeDate);\n date.setDate(1);\n date.setFullYear(startYear);\n setDateSafe(date, this.activeDate.getDate());\n this.activeDate = date;\n }\n\n this.focusActiveDate();\n break;\n case 'End':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const index = this.daysViews.length - 1;\n const lastDaysView = this.daysViews[index] as IgcDaysViewComponent;\n const activeDate = lastDaysView.activeDate;\n const date = new Date(activeDate);\n date.setDate(1);\n date.setMonth(date.getMonth() + 1);\n date.setDate(0);\n this.activeDate = date;\n this.activeDaysViewIndex = index;\n } else if (this.activeView === 'months') {\n const date = new Date(this.activeDate);\n date.setMonth(11);\n this.activeDate = date;\n } else if (this.activeView === 'years') {\n const startYear = calculateYearsRangeStart(\n this.activeDate,\n this.yearPerPage\n );\n const date = new Date(this.activeDate);\n date.setDate(1);\n date.setFullYear(startYear + this.yearPerPage - 1);\n setDateSafe(date, this.activeDate.getDate());\n this.activeDate = date;\n }\n\n this.focusActiveDate();\n break;\n case 'ArrowLeft':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const date = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Day,\n -1\n );\n\n if (this.visibleMonths > 1) {\n const activeDayView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n const activeMonthDate = activeDayView.activeDate;\n\n if (activeMonthDate.getMonth() !== date.getMonth()) {\n this.activeDaysViewIndex =\n this.activeDaysViewIndex > 0 ? this.activeDaysViewIndex - 1 : 0;\n }\n }\n this.activeDate = date;\n } else if (this.activeView === 'months') {\n this.previousMonth();\n } else if (this.activeView === 'years') {\n this.previousYear();\n }\n\n this.focusActiveDate();\n break;\n case 'ArrowRight':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const date = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Day,\n 1\n );\n\n if (this.visibleMonths > 1) {\n const activeDayView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n const activeMonthDate = activeDayView.activeDate;\n\n if (activeMonthDate.getMonth() !== date.getMonth()) {\n this.activeDaysViewIndex =\n this.activeDaysViewIndex === this.visibleMonths - 1\n ? this.activeDaysViewIndex\n : this.activeDaysViewIndex + 1;\n }\n }\n this.activeDate = date;\n } else if (this.activeView === 'months') {\n this.nextMonth();\n } else if (this.activeView === 'years') {\n this.nextYear();\n }\n\n this.focusActiveDate();\n break;\n case 'ArrowUp':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const date = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Week,\n -1\n );\n\n if (this.visibleMonths > 1) {\n const activeDayView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n const activeMonthDate = activeDayView.activeDate;\n\n if (activeMonthDate.getMonth() !== date.getMonth()) {\n this.activeDaysViewIndex =\n this.activeDaysViewIndex > 0 ? this.activeDaysViewIndex - 1 : 0;\n }\n }\n this.activeDate = date;\n } else if (this.activeView === 'months') {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Month,\n -MONTHS_PER_ROW\n );\n } else if (this.activeView === 'years') {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Year,\n -YEARS_PER_ROW\n );\n }\n\n this.focusActiveDate();\n break;\n case 'ArrowDown':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const date = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Week,\n 1\n );\n\n if (this.visibleMonths > 1) {\n const activeDayView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n const activeMonthDate = activeDayView.activeDate;\n\n if (activeMonthDate.getMonth() !== date.getMonth()) {\n this.activeDaysViewIndex =\n this.activeDaysViewIndex === this.visibleMonths - 1\n ? this.activeDaysViewIndex\n : this.activeDaysViewIndex + 1;\n }\n }\n this.activeDate = date;\n } else if (this.activeView === 'months') {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Month,\n MONTHS_PER_ROW\n );\n } else if (this.activeView === 'years') {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Year,\n YEARS_PER_ROW\n );\n }\n\n this.focusActiveDate();\n break;\n }\n };\n\n private async focusActiveDate() {\n await this.updateComplete;\n\n if (this.activeView === 'days') {\n const daysView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n daysView.focusActiveDate();\n } else if (this.activeView === 'months') {\n this.monthsView.focusActiveDate();\n } else if (this.activeView === 'years') {\n this.yearsView.focusActiveDate();\n }\n }\n\n private initFormatters() {\n this.formatterMonth = new Intl.DateTimeFormat(this.locale, {\n month: this.formatOptions.month,\n });\n this.formatterWeekday = new Intl.DateTimeFormat(this.locale, {\n weekday: 'short',\n });\n this.formatterMonthDay = new Intl.DateTimeFormat(this.locale, {\n month: 'short',\n day: 'numeric',\n });\n }\n\n private formattedMonth(value: Date) {\n return this.formatterMonth.format(value);\n }\n\n private changeValue(event: CustomEvent<void>) {\n event.stopPropagation();\n\n const daysView = event.target as IgcDaysViewComponent;\n let newValue;\n\n if (this.selection === 'single') {\n this.value = daysView.value;\n newValue = this.value;\n } else {\n this.values = daysView.values;\n newValue = this.values;\n }\n\n this.emitEvent('igcChange', { detail: newValue });\n }\n\n private changeMonth(event: CustomEvent<void>) {\n event.stopPropagation();\n this.activeDate = (event.target as IgcMonthsViewComponent).value;\n this.activeView = 'days';\n\n this.focusActiveDate();\n }\n\n private changeYear(event: CustomEvent<void>) {\n event.stopPropagation();\n this.activeDate = (event.target as IgcYearsViewComponent).value;\n this.activeView = 'months';\n\n this.focusActiveDate();\n }\n\n private async switchToMonths(daysViewIndex: number) {\n this.activateDaysView(daysViewIndex);\n this.activeView = 'months';\n\n await this.updateComplete;\n this.focusActiveDate();\n }\n\n private async switchToYears(daysViewIndex: number) {\n if (this.activeView === 'days') {\n this.activateDaysView(daysViewIndex);\n }\n this.activeView = 'years';\n\n await this.updateComplete;\n this.focusActiveDate();\n }\n\n private activateDaysView(daysViewIndex: number) {\n const activeDaysView = this.daysViews[\n daysViewIndex\n ] as IgcDaysViewComponent;\n this.activeDate = activeDaysView.activeDate;\n this.activeDaysViewIndex = daysViewIndex;\n }\n\n private activeDateChanged(event: CustomEvent<ICalendarDate>) {\n const day = event.detail;\n const daysViews = Array.from(this.daysViews);\n\n this.activeDaysViewIndex = daysViews.indexOf(event.target as Node);\n this.activeDate = day.date;\n\n if (!day.isCurrentMonth) {\n this.focusActiveDate();\n }\n }\n\n private rangePreviewDateChange(event: CustomEvent<Date>) {\n this.rangePreviewDate = event.detail;\n }\n\n private nextMonth() {\n this.activeDate = this.calendarModel.getNextMonth(this.activeDate);\n }\n\n private previousMonth() {\n this.activeDate = this.calendarModel.getPrevMonth(this.activeDate);\n }\n\n private nextYear() {\n this.activeDate = this.calendarModel.getNextYear(this.activeDate);\n }\n\n private previousYear() {\n this.activeDate = this.calendarModel.getPrevYear(this.activeDate);\n }\n\n private nextYearsPage() {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Year,\n this.yearPerPage\n );\n }\n\n private previousYearsPage() {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Year,\n -this.yearPerPage\n );\n }\n\n private navigateNext() {\n if (this.activeView === 'days') {\n this.nextMonth();\n } else if (this.activeView === 'months') {\n this.nextYear();\n } else if (this.activeView === 'years') {\n this.nextYearsPage();\n }\n }\n\n private navigatePrevious() {\n if (this.activeView === 'days') {\n this.previousMonth();\n } else if (this.activeView === 'months') {\n this.previousYear();\n } else if (this.activeView === 'years') {\n this.previousYearsPage();\n }\n }\n\n private renderNavigation(\n activeDate?: Date,\n renderButtons = true,\n daysViewIndex = 0\n ) {\n activeDate = activeDate ?? this.activeDate;\n\n let startYear = undefined;\n let endYear = undefined;\n const prev_icon =\n this[themeSymbol] === 'fluent' ? 'arrow_upward' : 'navigate_before';\n const next_icon =\n this[themeSymbol] === 'fluent' ? 'arrow_downward' : 'navigate_next';\n\n if (this.activeView === 'years') {\n startYear = calculateYearsRangeStart(activeDate, this.yearPerPage);\n endYear = startYear + this.yearPerPage - 1;\n }\n\n return html`<div part=\"navigation\">\n <div>\n ${this.activeView === 'days'\n ? html`<button\n part=\"months-navigation\"\n aria-label=${this.monthSelectLabel(activeDate)}\n @click=${() => this.switchToMonths(daysViewIndex)}\n >\n ${this.formattedMonth(activeDate)}\n </button>`\n : ''}\n ${this.activeView === 'days' || this.activeView === 'months'\n ? html`<span class=\"aria-off-screen\" aria-live=\"polite\">\n ${this.activeView === 'days'\n ? activeDate.toLocaleString(this.locale, {\n month: 'long',\n year: 'numeric',\n })\n : activeDate.getFullYear()}\n </span>\n <button\n part=\"years-navigation\"\n aria-label=${this.yearSelectLabel(activeDate)}\n @click=${() => this.switchToYears(daysViewIndex)}\n >\n ${activeDate.getFullYear()}\n </button>`\n : ''}\n ${this.activeView === 'years'\n ? html`<span part=\"years-range\" aria-live=\"polite\"\n >${`${startYear} - ${endYear}`}</span\n >`\n : ''}\n </div>\n ${renderButtons\n ? html`<div part=\"navigation-buttons\">\n <button\n part=${partNameMap({\n 'navigation-button': true,\n vertical: this.orientation === 'vertical',\n })}\n aria-label=${this.previousButtonLabel}\n @click=${this.navigatePrevious}\n >\n <igc-icon\n aria-hidden=\"true\"\n name=${prev_icon}\n collection=\"internal\"\n ></igc-icon>\n </button>\n <button\n part=${partNameMap({\n 'navigation-button': true,\n vertical: this.orientation === 'vertical',\n })}\n aria-label=${this.nextButtonLabel}\n @click=${this.navigateNext}\n >\n <igc-icon\n aria-hidden=\"true\"\n name=${next_icon}\n collection=\"internal\"\n ></igc-icon>\n </button>\n </div>`\n : ''}\n </div>`;\n }\n\n private renderHeader() {\n if (this.hideHeader || this.selection === 'multiple') {\n return '';\n }\n\n return html`<div part=\"header\">\n <h5 part=\"header-title\">\n <slot name=\"title\"\n >${this.selection === 'single'\n ? this.resourceStrings.selectDate\n : this.resourceStrings.selectRange}</slot\n >\n </h5>\n <h2 part=\"header-date\">${this.renderHeaderDate()}</h2>\n </div>`;\n }\n\n private renderHeaderDate() {\n if (this.selection === 'single') {\n const date = this.value;\n return html`${date\n ? html`${this.formatterWeekday.format(date)},${this\n .headerOrientation === 'vertical'\n ? html`<br />`\n : ' '}${this.formatterMonthDay.format(date)}`\n : this.resourceStrings.selectedDate}`;\n }\n\n const dates = this.values;\n\n return html`<span\n >${dates && dates.length\n ? this.formatterMonthDay.format(dates[0])\n : this.resourceStrings.startDate}</span\n >\n <span> - </span>\n <span\n >${dates && dates.length > 1\n ? this.formatterMonthDay.format(dates[dates.length - 1])\n : this.resourceStrings.endDate}</span\n >`;\n }\n\n protected override render() {\n const activeDates: Date[] = [];\n const monthsCount = this.visibleMonths > 1 ? this.visibleMonths : 1;\n\n for (let i = 0; i < monthsCount; i++) {\n activeDates.push(\n this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Month,\n i - this.activeDaysViewIndex\n )\n );\n }\n\n return html`\n ${this.renderHeader()}\n <div\n part=\"content\"\n style=${styleMap({\n display: 'flex',\n flexGrow: '1',\n flexDirection:\n this.activeView === 'days'\n ? this.orientation === 'horizontal'\n ? 'row'\n : 'column'\n : 'column',\n })}\n @keydown=${this.handleKeyDown}\n >\n ${this.activeView === 'days'\n ? activeDates.map(\n (activeDate, i) =>\n html`<div part=\"days-view-container\">\n ${this.renderNavigation(\n activeDate,\n this.orientation === 'horizontal'\n ? i === activeDates.length - 1\n : i === 0,\n i\n )}\n <igc-days-view\n part=\"days-view\"\n .active=${this.activeDaysViewIndex === i}\n .activeDate=${activeDate}\n .weekStart=${this.weekStart}\n .weekDayFormat=${this.formatOptions.weekday as\n | 'long'\n | 'short'\n | 'narrow'\n | undefined}\n .locale=${this.locale}\n .selection=${this.selection}\n .value=${this.value}\n .values=${this.values}\n .hideLeadingDays=${this.hideOutsideDays || i !== 0}\n .hideTrailingDays=${this.hideOutsideDays ||\n i !== activeDates.length - 1}\n .showWeekNumbers=${this.showWeekNumbers}\n .disabledDates=${this.disabledDates}\n .specialDates=${this.specialDates}\n .rangePreviewDate=${this.rangePreviewDate}\n .resourceStrings=${this.resourceStrings}\n exportparts=\"days-row, label, date-inner, week-number-inner, week-number, date, first, last, selected, inactive, hidden, current, weekend, range, special, disabled, single, preview\"\n @igcChange=${this.changeValue}\n @igcActiveDateChange=${this.activeDateChanged}\n @igcRangePreviewDateChange=${this.rangePreviewDateChange}\n ></igc-days-view>\n </div>`\n )\n : ''}\n ${this.activeView === 'months'\n ? html` ${this.renderNavigation()}\n <igc-months-view\n part=\"months-view\"\n .value=${this.activeDate}\n .locale=${this.locale}\n .monthFormat=${this.formatOptions.month as\n | 'long'\n | 'numeric'\n | 'short'\n | 'narrow'\n | '2-digit'\n | undefined}\n exportparts=\"month, selected, month-inner, current\"\n @igcChange=${this.changeMonth}\n ></igc-months-view>`\n : ''}\n ${this.activeView === 'years'\n ? html`${this.renderNavigation()}\n <igc-years-view\n part=\"years-view\"\n .value=${this.activeDate}\n .yearsPerPage=${this.yearPerPage}\n exportparts=\"year, selected, year-inner, current\"\n @igcChange=${this.changeYear}\n ></igc-years-view>`\n : ''}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-calendar': IgcCalendarComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../../src/components/calendar/calendar.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property, query, queryAll, state } from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\n\nimport {\n IgcCalendarBaseComponent,\n IgcCalendarBaseEventMap,\n MONTHS_PER_ROW,\n YEARS_PER_ROW,\n} from './common/calendar-base.js';\nimport { ICalendarDate, TimeDeltaInterval } from './common/calendar.model.js';\nimport { calculateYearsRangeStart, setDateSafe } from './common/utils.js';\nimport IgcDaysViewComponent from './days-view/days-view.js';\nimport IgcMonthsViewComponent from './months-view/months-view.js';\nimport { styles } from './themes/calendar.base.css.js';\nimport { all } from './themes/calendar.js';\nimport { styles as shared } from './themes/shared/material/calendar.common.css.js';\nimport IgcYearsViewComponent from './years-view/years-view.js';\nimport { themeSymbol, themes } from '../../theming/theming-decorator.js';\nimport type { Theme } from '../../theming/types.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n IgcCalendarResourceStringEN,\n IgcCalendarResourceStrings,\n} from '../common/i18n/calendar.resources.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { SizableMixin } from '../common/mixins/sizable.js';\nimport { partNameMap } from '../common/util.js';\nimport IgcIconComponent from '../icon/icon.js';\n\n/**\n * Represents a calendar that lets users\n * to select a date value in a variety of different ways.\n *\n * @element igc-calendar\n *\n * @slot - The default slot for the calendar.\n * @slot title - Renders the title of the calendar header.\n *\n * @fires igcChange - Emitted when calendar changes its value.\n *\n * @csspart content - The content container.\n * @csspart days-view - The days view container.\n * @csspart months-view - The months view container.\n * @csspart years-view - The years view container.\n * @csspart header - The header container.\n * @csspart header-title - The header title container.\n * @csspart header-date - The header date container.\n * @csspart navigation - The navigation container.\n * @csspart months-navigation - The months navigation container.\n * @csspart years-navigation - The years navigation container.\n * @csspart years-range - The years range container.\n * @csspart navigation-buttons - The navigation buttons container.\n * @csspart navigation-button - The navigation button container.\n * @csspart navigation-button vertical - The navigation button container\n * when calendar orientation is vertical.\n * @csspart days-view-container - The days view container.\n */\n@themes(all)\nexport default class IgcCalendarComponent extends SizableMixin(\n EventEmitterMixin<\n IgcCalendarBaseEventMap,\n Constructor<IgcCalendarBaseComponent>\n >(IgcCalendarBaseComponent)\n) {\n public static readonly tagName = 'igc-calendar';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n this,\n IgcIconComponent,\n IgcDaysViewComponent,\n IgcMonthsViewComponent,\n IgcYearsViewComponent\n );\n }\n\n private formatterMonth!: Intl.DateTimeFormat;\n private formatterWeekday!: Intl.DateTimeFormat;\n private formatterMonthDay!: Intl.DateTimeFormat;\n private declare readonly [themeSymbol]: Theme;\n\n @state()\n private rangePreviewDate?: Date;\n\n @state()\n private activeDaysViewIndex = 0;\n\n @queryAll('igc-days-view')\n private daysViews!: NodeList;\n\n @query('igc-months-view')\n private monthsView!: IgcMonthsViewComponent;\n\n @query('igc-years-view')\n private yearsView!: IgcYearsViewComponent;\n\n /** Controls the visibility of the dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-outside-days' })\n public hideOutsideDays = false;\n\n /** Determines whether the calendar hides its header. Even if set to false, the header is not displayed for `multiple` selection. */\n @property({ type: Boolean, attribute: 'hide-header' })\n public hideHeader = false;\n\n /** The orientation of the header. */\n @property({ attribute: 'header-orientation', reflect: true })\n public headerOrientation: 'vertical' | 'horizontal' = 'horizontal';\n\n /** The orientation of the multiple months displayed in days view. */\n @property()\n public orientation: 'vertical' | 'horizontal' = 'horizontal';\n\n /** The number of months displayed in days view. */\n @property({ type: Number, attribute: 'visible-months' })\n public visibleMonths = 1;\n\n /** The active view. */\n @property({ attribute: 'active-view' })\n public activeView: 'days' | 'months' | 'years' = 'days';\n\n /** The options used to format the months and the weekdays in the calendar views. */\n @property({ attribute: false })\n public formatOptions: Pick<Intl.DateTimeFormatOptions, 'month' | 'weekday'> =\n {\n month: 'long',\n weekday: 'narrow',\n };\n\n /** The resource strings. */\n @property({ attribute: false })\n public resourceStrings: IgcCalendarResourceStrings =\n IgcCalendarResourceStringEN;\n\n @watch('formatOptions')\n @watch('locale')\n protected formattersChange() {\n this.initFormatters();\n }\n\n constructor() {\n super();\n this.initFormatters();\n }\n\n private get yearPerPage() {\n return this.size === 'small' ? 18 : 15;\n }\n\n private get previousButtonLabel() {\n return this.activeView === 'days'\n ? this.resourceStrings.previousMonth\n : this.activeView === 'months'\n ? this.resourceStrings.previousYear\n : this.activeView === 'years'\n ? this.resourceStrings.previousYears.replace(\n '{0}',\n this.yearPerPage.toString()\n )\n : '';\n }\n\n private get nextButtonLabel() {\n return this.activeView === 'days'\n ? this.resourceStrings.nextMonth\n : this.activeView === 'months'\n ? this.resourceStrings.nextYear\n : this.activeView === 'years'\n ? this.resourceStrings.nextYears.replace(\n '{0}',\n this.yearPerPage.toString()\n )\n : '';\n }\n\n private monthSelectLabel(activeDate: Date) {\n return (\n activeDate.toLocaleString(this.locale, {\n month: 'long',\n }) +\n ', ' +\n this.resourceStrings.selectMonth\n );\n }\n\n private yearSelectLabel(activeDate: Date) {\n return activeDate.getFullYear() + ', ' + this.resourceStrings.selectYear;\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n const tagName = (event.target as HTMLElement).tagName.toLowerCase();\n\n if (\n tagName !== 'igc-days-view' &&\n tagName !== 'igc-months-view' &&\n tagName !== 'igc-years-view'\n ) {\n return;\n }\n\n switch (event.key) {\n case 'PageDown':\n event.preventDefault();\n\n if (event.shiftKey && this.activeView === 'days') {\n this.nextYear();\n } else {\n this.navigateNext();\n }\n\n if (this.activeView === 'days') {\n this.focusActiveDate();\n }\n break;\n case 'PageUp':\n event.preventDefault();\n\n if (event.shiftKey && this.activeView === 'days') {\n this.previousYear();\n } else {\n this.navigatePrevious();\n }\n\n if (this.activeView === 'days') {\n this.focusActiveDate();\n }\n break;\n case 'Home':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const firstDaysView = this.daysViews[0] as IgcDaysViewComponent;\n const activeDate = firstDaysView.activeDate;\n const date = new Date(activeDate);\n date.setDate(1);\n this.activeDate = date;\n this.activeDaysViewIndex = 0;\n } else if (this.activeView === 'months') {\n const date = new Date(this.activeDate);\n date.setMonth(0);\n this.activeDate = date;\n } else if (this.activeView === 'years') {\n const startYear = calculateYearsRangeStart(\n this.activeDate,\n this.yearPerPage\n );\n const date = new Date(this.activeDate);\n date.setDate(1);\n date.setFullYear(startYear);\n setDateSafe(date, this.activeDate.getDate());\n this.activeDate = date;\n }\n\n this.focusActiveDate();\n break;\n case 'End':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const index = this.daysViews.length - 1;\n const lastDaysView = this.daysViews[index] as IgcDaysViewComponent;\n const activeDate = lastDaysView.activeDate;\n const date = new Date(activeDate);\n date.setDate(1);\n date.setMonth(date.getMonth() + 1);\n date.setDate(0);\n this.activeDate = date;\n this.activeDaysViewIndex = index;\n } else if (this.activeView === 'months') {\n const date = new Date(this.activeDate);\n date.setMonth(11);\n this.activeDate = date;\n } else if (this.activeView === 'years') {\n const startYear = calculateYearsRangeStart(\n this.activeDate,\n this.yearPerPage\n );\n const date = new Date(this.activeDate);\n date.setDate(1);\n date.setFullYear(startYear + this.yearPerPage - 1);\n setDateSafe(date, this.activeDate.getDate());\n this.activeDate = date;\n }\n\n this.focusActiveDate();\n break;\n case 'ArrowLeft':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const date = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Day,\n -1\n );\n\n if (this.visibleMonths > 1) {\n const activeDayView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n const activeMonthDate = activeDayView.activeDate;\n\n if (activeMonthDate.getMonth() !== date.getMonth()) {\n this.activeDaysViewIndex =\n this.activeDaysViewIndex > 0 ? this.activeDaysViewIndex - 1 : 0;\n }\n }\n this.activeDate = date;\n } else if (this.activeView === 'months') {\n this.previousMonth();\n } else if (this.activeView === 'years') {\n this.previousYear();\n }\n\n this.focusActiveDate();\n break;\n case 'ArrowRight':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const date = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Day,\n 1\n );\n\n if (this.visibleMonths > 1) {\n const activeDayView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n const activeMonthDate = activeDayView.activeDate;\n\n if (activeMonthDate.getMonth() !== date.getMonth()) {\n this.activeDaysViewIndex =\n this.activeDaysViewIndex === this.visibleMonths - 1\n ? this.activeDaysViewIndex\n : this.activeDaysViewIndex + 1;\n }\n }\n this.activeDate = date;\n } else if (this.activeView === 'months') {\n this.nextMonth();\n } else if (this.activeView === 'years') {\n this.nextYear();\n }\n\n this.focusActiveDate();\n break;\n case 'ArrowUp':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const date = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Week,\n -1\n );\n\n if (this.visibleMonths > 1) {\n const activeDayView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n const activeMonthDate = activeDayView.activeDate;\n\n if (activeMonthDate.getMonth() !== date.getMonth()) {\n this.activeDaysViewIndex =\n this.activeDaysViewIndex > 0 ? this.activeDaysViewIndex - 1 : 0;\n }\n }\n this.activeDate = date;\n } else if (this.activeView === 'months') {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Month,\n -MONTHS_PER_ROW\n );\n } else if (this.activeView === 'years') {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Year,\n -YEARS_PER_ROW\n );\n }\n\n this.focusActiveDate();\n break;\n case 'ArrowDown':\n event.preventDefault();\n\n if (this.activeView === 'days') {\n const date = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Week,\n 1\n );\n\n if (this.visibleMonths > 1) {\n const activeDayView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n const activeMonthDate = activeDayView.activeDate;\n\n if (activeMonthDate.getMonth() !== date.getMonth()) {\n this.activeDaysViewIndex =\n this.activeDaysViewIndex === this.visibleMonths - 1\n ? this.activeDaysViewIndex\n : this.activeDaysViewIndex + 1;\n }\n }\n this.activeDate = date;\n } else if (this.activeView === 'months') {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Month,\n MONTHS_PER_ROW\n );\n } else if (this.activeView === 'years') {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Year,\n YEARS_PER_ROW\n );\n }\n\n this.focusActiveDate();\n break;\n }\n };\n\n private async focusActiveDate() {\n await this.updateComplete;\n\n if (this.activeView === 'days') {\n const daysView = this.daysViews[\n this.activeDaysViewIndex\n ] as IgcDaysViewComponent;\n daysView.focusActiveDate();\n } else if (this.activeView === 'months') {\n this.monthsView.focusActiveDate();\n } else if (this.activeView === 'years') {\n this.yearsView.focusActiveDate();\n }\n }\n\n private initFormatters() {\n this.formatterMonth = new Intl.DateTimeFormat(this.locale, {\n month: this.formatOptions.month,\n });\n this.formatterWeekday = new Intl.DateTimeFormat(this.locale, {\n weekday: 'short',\n });\n this.formatterMonthDay = new Intl.DateTimeFormat(this.locale, {\n month: 'short',\n day: 'numeric',\n });\n }\n\n private formattedMonth(value: Date) {\n return this.formatterMonth.format(value);\n }\n\n private changeValue(event: CustomEvent<void>) {\n event.stopPropagation();\n\n const daysView = event.target as IgcDaysViewComponent;\n let newValue;\n\n if (this.selection === 'single') {\n this.value = daysView.value;\n newValue = this.value;\n } else {\n this.values = daysView.values;\n newValue = this.values;\n }\n\n this.emitEvent('igcChange', { detail: newValue });\n }\n\n private changeMonth(event: CustomEvent<void>) {\n event.stopPropagation();\n this.activeDate = (event.target as IgcMonthsViewComponent).value;\n this.activeView = 'days';\n\n this.focusActiveDate();\n }\n\n private changeYear(event: CustomEvent<void>) {\n event.stopPropagation();\n this.activeDate = (event.target as IgcYearsViewComponent).value;\n this.activeView = 'months';\n\n this.focusActiveDate();\n }\n\n private async switchToMonths(daysViewIndex: number) {\n this.activateDaysView(daysViewIndex);\n this.activeView = 'months';\n\n await this.updateComplete;\n this.focusActiveDate();\n }\n\n private async switchToYears(daysViewIndex: number) {\n if (this.activeView === 'days') {\n this.activateDaysView(daysViewIndex);\n }\n this.activeView = 'years';\n\n await this.updateComplete;\n this.focusActiveDate();\n }\n\n private activateDaysView(daysViewIndex: number) {\n const activeDaysView = this.daysViews[\n daysViewIndex\n ] as IgcDaysViewComponent;\n this.activeDate = activeDaysView.activeDate;\n this.activeDaysViewIndex = daysViewIndex;\n }\n\n private activeDateChanged(event: CustomEvent<ICalendarDate>) {\n const day = event.detail;\n const daysViews = Array.from(this.daysViews);\n\n this.activeDaysViewIndex = daysViews.indexOf(event.target as Node);\n this.activeDate = day.date;\n\n if (!day.isCurrentMonth) {\n this.focusActiveDate();\n }\n }\n\n private rangePreviewDateChange(event: CustomEvent<Date>) {\n this.rangePreviewDate = event.detail;\n }\n\n private nextMonth() {\n this.activeDate = this.calendarModel.getNextMonth(this.activeDate);\n }\n\n private previousMonth() {\n this.activeDate = this.calendarModel.getPrevMonth(this.activeDate);\n }\n\n private nextYear() {\n this.activeDate = this.calendarModel.getNextYear(this.activeDate);\n }\n\n private previousYear() {\n this.activeDate = this.calendarModel.getPrevYear(this.activeDate);\n }\n\n private nextYearsPage() {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Year,\n this.yearPerPage\n );\n }\n\n private previousYearsPage() {\n this.activeDate = this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Year,\n -this.yearPerPage\n );\n }\n\n private navigateNext() {\n if (this.activeView === 'days') {\n this.nextMonth();\n } else if (this.activeView === 'months') {\n this.nextYear();\n } else if (this.activeView === 'years') {\n this.nextYearsPage();\n }\n }\n\n private navigatePrevious() {\n if (this.activeView === 'days') {\n this.previousMonth();\n } else if (this.activeView === 'months') {\n this.previousYear();\n } else if (this.activeView === 'years') {\n this.previousYearsPage();\n }\n }\n\n private renderNavigation(\n activeDate?: Date,\n renderButtons = true,\n daysViewIndex = 0\n ) {\n activeDate = activeDate ?? this.activeDate;\n\n let startYear = undefined;\n let endYear = undefined;\n const prev_icon =\n this[themeSymbol] === 'fluent' ? 'arrow_upward' : 'navigate_before';\n const next_icon =\n this[themeSymbol] === 'fluent' ? 'arrow_downward' : 'navigate_next';\n\n if (this.activeView === 'years') {\n startYear = calculateYearsRangeStart(activeDate, this.yearPerPage);\n endYear = startYear + this.yearPerPage - 1;\n }\n\n return html`<div part=\"navigation\">\n <div>\n ${this.activeView === 'days'\n ? html`<button\n part=\"months-navigation\"\n aria-label=${this.monthSelectLabel(activeDate)}\n @click=${() => this.switchToMonths(daysViewIndex)}\n >\n ${this.formattedMonth(activeDate)}\n </button>`\n : ''}\n ${this.activeView === 'days' || this.activeView === 'months'\n ? html`<span class=\"aria-off-screen\" aria-live=\"polite\">\n ${this.activeView === 'days'\n ? activeDate.toLocaleString(this.locale, {\n month: 'long',\n year: 'numeric',\n })\n : activeDate.getFullYear()}\n </span>\n <button\n part=\"years-navigation\"\n aria-label=${this.yearSelectLabel(activeDate)}\n @click=${() => this.switchToYears(daysViewIndex)}\n >\n ${activeDate.getFullYear()}\n </button>`\n : ''}\n ${this.activeView === 'years'\n ? html`<span part=\"years-range\" aria-live=\"polite\"\n >${`${startYear} - ${endYear}`}</span\n >`\n : ''}\n </div>\n ${renderButtons\n ? html`<div part=\"navigation-buttons\">\n <button\n part=${partNameMap({\n 'navigation-button': true,\n vertical: this.orientation === 'vertical',\n })}\n aria-label=${this.previousButtonLabel}\n @click=${this.navigatePrevious}\n >\n <igc-icon\n aria-hidden=\"true\"\n name=${prev_icon}\n collection=\"internal\"\n ></igc-icon>\n </button>\n <button\n part=${partNameMap({\n 'navigation-button': true,\n vertical: this.orientation === 'vertical',\n })}\n aria-label=${this.nextButtonLabel}\n @click=${this.navigateNext}\n >\n <igc-icon\n aria-hidden=\"true\"\n name=${next_icon}\n collection=\"internal\"\n ></igc-icon>\n </button>\n </div>`\n : ''}\n </div>`;\n }\n\n private renderHeader() {\n if (this.hideHeader || this.selection === 'multiple') {\n return '';\n }\n\n return html`<div part=\"header\">\n <h5 part=\"header-title\">\n <slot name=\"title\"\n >${this.selection === 'single'\n ? this.resourceStrings.selectDate\n : this.resourceStrings.selectRange}</slot\n >\n </h5>\n <h2 part=\"header-date\">${this.renderHeaderDate()}</h2>\n </div>`;\n }\n\n private renderHeaderDate() {\n if (this.selection === 'single') {\n const date = this.value;\n return html`${date\n ? html`${this.formatterWeekday.format(date)},${this\n .headerOrientation === 'vertical'\n ? html`<br />`\n : ' '}${this.formatterMonthDay.format(date)}`\n : this.resourceStrings.selectedDate}`;\n }\n\n const dates = this.values;\n\n return html`<span\n >${dates && dates.length\n ? this.formatterMonthDay.format(dates[0])\n : this.resourceStrings.startDate}</span\n >\n <span> - </span>\n <span\n >${dates && dates.length > 1\n ? this.formatterMonthDay.format(dates[dates.length - 1])\n : this.resourceStrings.endDate}</span\n >`;\n }\n\n protected override render() {\n const activeDates: Date[] = [];\n const monthsCount = this.visibleMonths > 1 ? this.visibleMonths : 1;\n\n for (let i = 0; i < monthsCount; i++) {\n activeDates.push(\n this.calendarModel.timedelta(\n this.activeDate,\n TimeDeltaInterval.Month,\n i - this.activeDaysViewIndex\n )\n );\n }\n\n return html`\n ${this.renderHeader()}\n <div\n part=\"content\"\n style=${styleMap({\n display: 'flex',\n flexGrow: '1',\n flexDirection:\n this.activeView === 'days'\n ? this.orientation === 'horizontal'\n ? 'row'\n : 'column'\n : 'column',\n })}\n @keydown=${this.handleKeyDown}\n >\n ${this.activeView === 'days'\n ? activeDates.map(\n (activeDate, i) =>\n html`<div part=\"days-view-container\">\n ${this.renderNavigation(\n activeDate,\n this.orientation === 'horizontal'\n ? i === activeDates.length - 1\n : i === 0,\n i\n )}\n <igc-days-view\n part=\"days-view\"\n .active=${this.activeDaysViewIndex === i}\n .activeDate=${activeDate}\n .weekStart=${this.weekStart}\n .weekDayFormat=${this.formatOptions.weekday as\n | 'long'\n | 'short'\n | 'narrow'\n | undefined}\n .locale=${this.locale}\n .selection=${this.selection}\n .value=${this.value}\n .values=${this.values}\n .hideLeadingDays=${this.hideOutsideDays || i !== 0}\n .hideTrailingDays=${this.hideOutsideDays ||\n i !== activeDates.length - 1}\n .showWeekNumbers=${this.showWeekNumbers}\n .disabledDates=${this.disabledDates}\n .specialDates=${this.specialDates}\n .rangePreviewDate=${this.rangePreviewDate}\n .resourceStrings=${this.resourceStrings}\n exportparts=\"days-row, label, date-inner, week-number-inner, week-number, date, first, last, selected, inactive, hidden, current, weekend, range, special, disabled, single, preview\"\n @igcChange=${this.changeValue}\n @igcActiveDateChange=${this.activeDateChanged}\n @igcRangePreviewDateChange=${this.rangePreviewDateChange}\n ></igc-days-view>\n </div>`\n )\n : ''}\n ${this.activeView === 'months'\n ? html` ${this.renderNavigation()}\n <igc-months-view\n part=\"months-view\"\n .value=${this.activeDate}\n .locale=${this.locale}\n .monthFormat=${this.formatOptions.month as\n | 'long'\n | 'numeric'\n | 'short'\n | 'narrow'\n | '2-digit'\n | undefined}\n exportparts=\"month, selected, month-inner, current\"\n @igcChange=${this.changeMonth}\n ></igc-months-view>`\n : ''}\n ${this.activeView === 'years'\n ? html`${this.renderNavigation()}\n <igc-years-view\n part=\"years-view\"\n .value=${this.activeDate}\n .yearsPerPage=${this.yearPerPage}\n exportparts=\"year, selected, year-inner, current\"\n @igcChange=${this.changeYear}\n ></igc-years-view>`\n : ''}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-calendar': IgcCalendarComponent;\n }\n}\n"]}
@@ -6,7 +6,7 @@ export interface IgcDaysViewEventMap extends IgcCalendarBaseEventMap {
6
6
  igcActiveDateChange: CustomEvent<ICalendarDate>;
7
7
  igcRangePreviewDateChange: CustomEvent<Date>;
8
8
  }
9
- declare const IgcDaysViewComponent_base: import("../../common/mixins/constructor.js").AbstractConstructor<import("../../common/mixins/event-emitter.js").EventEmitterInterface<IgcDaysViewEventMap>> & Constructor<IgcCalendarBaseComponent>;
9
+ declare const IgcDaysViewComponent_base: Constructor<import("../../common/mixins/event-emitter.js").EventEmitterInterface<IgcDaysViewEventMap>> & Constructor<IgcCalendarBaseComponent>;
10
10
  /**
11
11
  * Instantiate a days view as a separate component in the calendar.
12
12
  *
@@ -1 +1 @@
1
- {"version":3,"file":"days-view.js","sourceRoot":"","sources":["../../../../src/components/calendar/days-view/days-view.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\n\nimport { themes } from '../../../theming/theming-decorator.js';\nimport { blazorIndirectRender } from '../../common/decorators/blazorIndirectRender.js';\nimport { blazorSuppressComponent } from '../../common/decorators/blazorSuppressComponent.js';\nimport { watch } from '../../common/decorators/watch.js';\nimport { registerComponent } from '../../common/definitions/register.js';\nimport {\n IgcCalendarResourceStringEN,\n IgcCalendarResourceStrings,\n} from '../../common/i18n/calendar.resources.js';\nimport { Constructor } from '../../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../../common/mixins/event-emitter.js';\nimport { partNameMap } from '../../common/util.js';\nimport {\n IgcCalendarBaseComponent,\n IgcCalendarBaseEventMap,\n} from '../common/calendar-base.js';\nimport {\n DateRangeType,\n ICalendarDate,\n TimeDeltaInterval,\n isDateInRanges,\n} from '../common/calendar.model.js';\nimport { areEqualDates, getDateOnly, isEqual } from '../common/utils.js';\nimport { styles } from '../themes/days-view.base.css.js';\nimport { all } from '../themes/days.js';\n\nexport interface IgcDaysViewEventMap extends IgcCalendarBaseEventMap {\n igcActiveDateChange: CustomEvent<ICalendarDate>;\n igcRangePreviewDateChange: CustomEvent<Date>;\n}\n\n/**\n * Instantiate a days view as a separate component in the calendar.\n *\n * @element igc-days-view\n *\n * @fires igcActiveDateChange - Emitted when the active date changes.\n * @fires igcRangePreviewDateChange - Emitted when the range preview date changes.\n *\n * @csspart days-row - The days row container.\n * @csspart label - The label container.\n * @csspart label-inner - The inner label container.\n * @csspart week-number - The week number container.\n * @csspart week-number-inner - The inner week number container.\n */\n@blazorSuppressComponent\n@blazorIndirectRender\n@themes(all)\nexport default class IgcDaysViewComponent extends EventEmitterMixin<\n IgcDaysViewEventMap,\n Constructor<IgcCalendarBaseComponent>\n>(IgcCalendarBaseComponent) {\n public static readonly tagName = 'igc-days-view';\n public static styles = styles;\n\n public static register() {\n registerComponent(this);\n }\n\n private labelFormatter!: Intl.DateTimeFormat;\n private formatterWeekday!: Intl.DateTimeFormat;\n private dates!: ICalendarDate[][];\n\n @query('[tabindex=\"0\"]')\n private activeDay!: HTMLElement;\n\n /** Controls the visibility of the leading dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-leading-days' })\n public hideLeadingDays = false;\n\n /** Controls the visibility of the trailing dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-trailing-days' })\n public hideTrailingDays = false;\n\n /** Gets/sets the active state of the days view. */\n @property({ type: Boolean })\n public active = false;\n\n /** The range preview date. */\n @property({ attribute: false })\n public rangePreviewDate?: Date;\n\n /** The format of the days. Defaults to narrow. */\n @property({ attribute: 'week-day-format' })\n public weekDayFormat: 'long' | 'short' | 'narrow' | undefined = 'narrow';\n\n /** The resource strings. */\n @property({ attribute: false })\n public resourceStrings: IgcCalendarResourceStrings =\n IgcCalendarResourceStringEN;\n\n @watch('weekDayFormat')\n @watch('locale')\n protected formattersChange() {\n this.initFormatters();\n }\n\n @watch('weekStart')\n @watch('activeDate')\n protected datesChange() {\n this.dates = this.getCalendarMonth();\n }\n\n constructor() {\n super();\n this.setAttribute('role', 'grid');\n this.initFormatters();\n }\n\n /** Focuses the active date. */\n public focusActiveDate() {\n this.activeDay.focus();\n }\n\n private initFormatters() {\n this.formatterWeekday = new Intl.DateTimeFormat(this.locale, {\n weekday: this.weekDayFormat,\n });\n this.labelFormatter = new Intl.DateTimeFormat(this.locale, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n });\n }\n\n private generateWeekHeader(): { label: string; ariaLabel: string }[] {\n const dayNames = [];\n const rv = this.calendarModel.monthdatescalendar(\n this.activeDate.getFullYear(),\n this.activeDate.getMonth()\n )[0];\n for (const day of rv) {\n dayNames.push({\n label: this.formatterWeekday.format(day.date),\n ariaLabel: day.date.toLocaleString(this.locale, { weekday: 'long' }),\n });\n }\n\n return dayNames;\n }\n\n private getCalendarMonth(): ICalendarDate[][] {\n return this.calendarModel.monthdatescalendar(\n this.activeDate.getFullYear(),\n this.activeDate.getMonth(),\n true\n );\n }\n\n private titleCase(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n private getWeekNumber(date: Date): number {\n return this.calendarModel.getWeekNumber(date);\n }\n\n private formattedDate(value: Date): string {\n return `${value.getDate()}`;\n }\n\n private get isSingleSelection(): boolean {\n return this.selection !== 'range';\n }\n\n private isLastInRange(date: ICalendarDate): boolean {\n if (this.isSingleSelection || !this.values || this.values.length === 0) {\n return false;\n }\n\n const dates = this.values;\n let lastDate = dates[dates.length - 1];\n\n if (this.rangePreviewDate) {\n if (this.rangePreviewDate > lastDate) {\n lastDate = this.rangePreviewDate;\n }\n }\n\n return isEqual(lastDate, date.date);\n }\n\n private isFirstInRange(date: ICalendarDate): boolean {\n if (this.isSingleSelection || !this.values || this.values.length === 0) {\n return false;\n }\n\n const dates = this.values;\n let firstDate = dates[0];\n\n if (this.rangePreviewDate) {\n if (this.rangePreviewDate < firstDate) {\n firstDate = this.rangePreviewDate;\n }\n }\n\n return isEqual(firstDate, date.date);\n }\n\n private isDisabled(date: Date): boolean {\n if (!this.disabledDates) {\n return false;\n }\n\n return isDateInRanges(date, this.disabledDates);\n }\n\n private isWithinRange(date: Date, min: Date, max: Date): boolean {\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [min, max],\n },\n ]);\n }\n\n private isRangeDate(date: Date) {\n if (\n this.selection !== 'range' ||\n !this.values ||\n this.values.length === 0\n ) {\n return false;\n }\n\n const dates = this.values;\n const min = dates[0];\n let max;\n\n if (dates.length === 1) {\n if (!this.rangePreviewDate) {\n return false;\n }\n\n max = this.rangePreviewDate;\n } else {\n max = dates[dates.length - 1];\n }\n\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [min, max],\n },\n ]);\n }\n\n private isRangePreview(date: Date) {\n if (\n this.selection === 'range' &&\n this.values &&\n this.values.length > 0 &&\n this.rangePreviewDate\n ) {\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [this.values[0], this.rangePreviewDate],\n },\n ]);\n }\n\n return false;\n }\n\n private isSelected(date: ICalendarDate) {\n if (this.isDisabled(date.date)) {\n return false;\n }\n\n if (this.selection === 'single') {\n if (!this.value) {\n return false;\n }\n return getDateOnly(this.value).getTime() === date.date.getTime();\n }\n\n if (!this.values || this.values.length === 0) {\n return false;\n }\n\n if (this.selection === 'range' && this.values.length === 1) {\n return getDateOnly(this.values[0]).getTime() === date.date.getTime();\n }\n\n if (this.selection === 'multiple') {\n const start = getDateOnly(this.values[0]);\n const end = getDateOnly(this.values[this.values.length - 1]);\n\n if (this.isWithinRange(date.date, start, end)) {\n const currentDate = this.values.find(\n (element) => element.getTime() === date.date.getTime()\n );\n return !!currentDate;\n } else {\n return false;\n }\n } else {\n return this.isWithinRange(\n date.date,\n this.values[0],\n this.values[this.values.length - 1]\n );\n }\n }\n\n private isToday(day: ICalendarDate): boolean {\n const today = new Date(Date.now());\n const date = day.date;\n\n // TODO\n // if (date.getDate() === today.getDate()) {\n // this.nativeElement.setAttribute('aria-current', 'date');\n // }\n\n return (\n date.getFullYear() === today.getFullYear() &&\n date.getMonth() === today.getMonth() &&\n date.getDate() === today.getDate()\n );\n }\n\n private isWeekend(date: ICalendarDate): boolean {\n const day = date.date.getDay();\n return day === 0 || day === 6;\n }\n\n private isSpecial(day: ICalendarDate): boolean {\n if (this.specialDates === null) {\n return false;\n }\n\n return isDateInRanges(day.date, this.specialDates);\n }\n\n private dateClicked(event: Event, day: ICalendarDate) {\n event.stopPropagation();\n\n this.selectDay(day);\n\n this.changeActiveDate(day);\n }\n\n private selectDay(day: ICalendarDate) {\n if (this.rangePreviewDate) {\n this.setRangePreviewDate(undefined);\n }\n\n const result = this.selectDate(day.date);\n\n if (result) {\n this.emitEvent('igcChange', { detail: day.date });\n }\n }\n\n private selectDate(value: Date) {\n if (this.isDisabled(value)) {\n return false;\n }\n\n switch (this.selection) {\n case 'single':\n if (this.value?.getTime() === value.getTime()) {\n return false;\n }\n this.selectSingle(value);\n break;\n case 'multiple':\n this.selectMultiple(value);\n break;\n case 'range':\n this.selectRange(value);\n break;\n }\n\n return true;\n }\n\n private generateDateRange(start: Date, end: Date): Date[] {\n const result = [];\n start = getDateOnly(start);\n end = getDateOnly(end);\n while (start.getTime() < end.getTime()) {\n start = this.calendarModel.timedelta(start, TimeDeltaInterval.Day, 1);\n result.push(start);\n }\n\n return result;\n }\n\n private selectRange(value: Date) {\n let start: Date;\n let end: Date;\n let selectedDates: Date[] = (this.values ?? []) as Date[];\n\n if (selectedDates.length !== 1) {\n // start new range\n selectedDates = [value];\n } else {\n if (selectedDates[0].getTime() === value.getTime()) {\n this.values = [];\n return;\n }\n\n selectedDates.push(value);\n selectedDates.sort((a: Date, b: Date) => a.valueOf() - b.valueOf());\n\n start = selectedDates.shift()!;\n end = selectedDates.pop()!;\n selectedDates = [start, ...this.generateDateRange(start, end)];\n }\n\n // exclude disabled dates\n selectedDates = selectedDates.filter((d) => !this.isDisabled(d));\n\n this.values = [...selectedDates];\n }\n\n private selectSingle(value: Date) {\n this.value = getDateOnly(value);\n }\n\n private selectMultiple(value: Date) {\n let selectedDates: Date[] = (this.values ?? []) as Date[];\n const valueDateOnly = getDateOnly(value);\n const newSelection = [];\n\n if (\n selectedDates.every(\n (date: Date) => date.getTime() !== valueDateOnly.getTime()\n )\n ) {\n newSelection.push(valueDateOnly);\n } else {\n selectedDates = selectedDates.filter(\n (date: Date) => date.getTime() !== valueDateOnly.getTime()\n );\n }\n\n if (newSelection.length > 0) {\n selectedDates = selectedDates.concat(newSelection);\n }\n\n selectedDates = selectedDates.filter((d) => !this.isDisabled(d));\n selectedDates.sort((a: Date, b: Date) => a.valueOf() - b.valueOf());\n this.values = [...selectedDates];\n }\n\n private changeActiveDate(day: ICalendarDate) {\n this.activeDate = day.date;\n this.emitEvent('igcActiveDateChange', { detail: day });\n }\n\n private dateKeyDown(event: KeyboardEvent, day: ICalendarDate) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.selectDay(day);\n }\n }\n\n private changeRangePreview(date: Date) {\n if (\n this.selection === 'range' &&\n this.values &&\n this.values.length === 1 &&\n !isEqual(this.values[0], date)\n ) {\n this.setRangePreviewDate(date);\n }\n }\n\n private clearRangePreview() {\n if (this.rangePreviewDate) {\n this.setRangePreviewDate(undefined);\n }\n }\n\n private setRangePreviewDate(value?: Date) {\n this.rangePreviewDate = value;\n this.emitEvent('igcRangePreviewDateChange', { detail: value });\n }\n\n private resolveDayItemPartName(day: ICalendarDate) {\n const isInactive = day.isNextMonth || day.isPrevMonth;\n const isHidden =\n (this.hideLeadingDays && day.isPrevMonth) ||\n (this.hideTrailingDays && day.isNextMonth);\n const isDisabled = this.isDisabled(day.date);\n\n return {\n date: true,\n first: this.isFirstInRange(day),\n last: this.isLastInRange(day),\n selected: !isDisabled && this.isSelected(day),\n inactive: isInactive,\n hidden: isHidden,\n current: this.isToday(day),\n weekend: this.isWeekend(day),\n range: this.selection === 'range' && this.isRangeDate(day.date),\n special: this.isSpecial(day),\n disabled: isHidden || isDisabled,\n single: this.selection !== 'range',\n preview: this.isRangePreview(day.date),\n };\n }\n\n private renderWeekHeaders() {\n return html`<div role=\"row\" part=\"days-row first\">\n ${this.showWeekNumbers\n ? html`<span role=\"columnheader\" part=\"label week-number first\">\n <span part=\"week-number-inner first\"\n >${this.resourceStrings.weekLabel}</span\n >\n </span>`\n : ''}\n ${this.generateWeekHeader().map(\n (weekday) =>\n html`<span\n role=\"columnheader\"\n part=\"label\"\n aria-label=${weekday.ariaLabel}\n >\n <span part=\"label-inner\">${this.titleCase(weekday.label)}</span>\n </span> `\n )}\n </div>`;\n }\n\n private renderDates() {\n return this.dates.map((week, i) => {\n const last = i === this.dates.length - 1;\n\n return html`<div role=\"row\" part=\"days-row\">\n ${this.showWeekNumbers\n ? html`<span\n role=\"rowheader\"\n part=${partNameMap({ 'week-number': true, last })}\n >\n <span part=${partNameMap({ 'week-number-inner': true, last })}\n >${this.getWeekNumber(week[0].date)}</span\n >\n </span>`\n : ''}\n ${week.map((day) => this.renderDateItem(day))}\n </div>`;\n });\n }\n\n protected dayLabelFormatter(value: ICalendarDate) {\n // Range selection in progress\n if (\n this.rangePreviewDate &&\n areEqualDates(this.rangePreviewDate, value.date)\n ) {\n return (this.labelFormatter as any).formatRange(\n this.values!.at(0),\n this.rangePreviewDate\n );\n }\n\n // Range selection finished\n if (this.isFirstInRange(value) || this.isLastInRange(value)) {\n return (this.labelFormatter as any).formatRange(\n this.values!.at(0),\n this.values!.at(-1)\n );\n }\n\n // Default\n return this.labelFormatter.format(value.date);\n }\n\n private renderDateItem(day: ICalendarDate) {\n const datePartName = partNameMap(this.resolveDayItemPartName(day));\n const dateInnerPartName = datePartName.replace('date', 'date-inner');\n\n return html`<span part=${datePartName}>\n <span\n part=${dateInnerPartName}\n role=\"gridcell\"\n aria-label=${this.dayLabelFormatter(day)}\n aria-selected=${this.isSelected(day)}\n aria-disabled=${this.isDisabled(day.date)}\n tabindex=${this.active && areEqualDates(this.activeDate, day.date)\n ? 0\n : -1}\n @click=${(event: MouseEvent) => this.dateClicked(event, day)}\n @focus=${() => this.changeRangePreview(day.date)}\n @blur=${() => this.clearRangePreview()}\n @keydown=${(event: KeyboardEvent) => this.dateKeyDown(event, day)}\n @mouseenter=${() => this.changeRangePreview(day.date)}\n @mouseleave=${() => this.clearRangePreview()}\n >${this.formattedDate(day.date)}</span\n >\n </span>`;\n }\n\n protected override render() {\n return html`${this.renderWeekHeaders()} ${this.renderDates()}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-days-view': IgcDaysViewComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"days-view.js","sourceRoot":"","sources":["../../../../src/components/calendar/days-view/days-view.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\n\nimport { themes } from '../../../theming/theming-decorator.js';\nimport { blazorIndirectRender } from '../../common/decorators/blazorIndirectRender.js';\nimport { blazorSuppressComponent } from '../../common/decorators/blazorSuppressComponent.js';\nimport { watch } from '../../common/decorators/watch.js';\nimport { registerComponent } from '../../common/definitions/register.js';\nimport {\n IgcCalendarResourceStringEN,\n IgcCalendarResourceStrings,\n} from '../../common/i18n/calendar.resources.js';\nimport { Constructor } from '../../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../../common/mixins/event-emitter.js';\nimport { partNameMap } from '../../common/util.js';\nimport {\n IgcCalendarBaseComponent,\n IgcCalendarBaseEventMap,\n} from '../common/calendar-base.js';\nimport {\n DateRangeType,\n ICalendarDate,\n TimeDeltaInterval,\n isDateInRanges,\n} from '../common/calendar.model.js';\nimport { areEqualDates, getDateOnly, isEqual } from '../common/utils.js';\nimport { styles } from '../themes/days-view.base.css.js';\nimport { all } from '../themes/days.js';\n\nexport interface IgcDaysViewEventMap extends IgcCalendarBaseEventMap {\n igcActiveDateChange: CustomEvent<ICalendarDate>;\n igcRangePreviewDateChange: CustomEvent<Date>;\n}\n\n/**\n * Instantiate a days view as a separate component in the calendar.\n *\n * @element igc-days-view\n *\n * @fires igcActiveDateChange - Emitted when the active date changes.\n * @fires igcRangePreviewDateChange - Emitted when the range preview date changes.\n *\n * @csspart days-row - The days row container.\n * @csspart label - The label container.\n * @csspart label-inner - The inner label container.\n * @csspart week-number - The week number container.\n * @csspart week-number-inner - The inner week number container.\n */\n@blazorSuppressComponent\n@blazorIndirectRender\n@themes(all)\nexport default class IgcDaysViewComponent extends EventEmitterMixin<\n IgcDaysViewEventMap,\n Constructor<IgcCalendarBaseComponent>\n>(IgcCalendarBaseComponent) {\n public static readonly tagName = 'igc-days-view';\n public static styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(this);\n }\n\n private labelFormatter!: Intl.DateTimeFormat;\n private formatterWeekday!: Intl.DateTimeFormat;\n private dates!: ICalendarDate[][];\n\n @query('[tabindex=\"0\"]')\n private activeDay!: HTMLElement;\n\n /** Controls the visibility of the leading dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-leading-days' })\n public hideLeadingDays = false;\n\n /** Controls the visibility of the trailing dates that do not belong to the current month. */\n @property({ type: Boolean, attribute: 'hide-trailing-days' })\n public hideTrailingDays = false;\n\n /** Gets/sets the active state of the days view. */\n @property({ type: Boolean })\n public active = false;\n\n /** The range preview date. */\n @property({ attribute: false })\n public rangePreviewDate?: Date;\n\n /** The format of the days. Defaults to narrow. */\n @property({ attribute: 'week-day-format' })\n public weekDayFormat: 'long' | 'short' | 'narrow' | undefined = 'narrow';\n\n /** The resource strings. */\n @property({ attribute: false })\n public resourceStrings: IgcCalendarResourceStrings =\n IgcCalendarResourceStringEN;\n\n @watch('weekDayFormat')\n @watch('locale')\n protected formattersChange() {\n this.initFormatters();\n }\n\n @watch('weekStart')\n @watch('activeDate')\n protected datesChange() {\n this.dates = this.getCalendarMonth();\n }\n\n constructor() {\n super();\n this.setAttribute('role', 'grid');\n this.initFormatters();\n }\n\n /** Focuses the active date. */\n public focusActiveDate() {\n this.activeDay.focus();\n }\n\n private initFormatters() {\n this.formatterWeekday = new Intl.DateTimeFormat(this.locale, {\n weekday: this.weekDayFormat,\n });\n this.labelFormatter = new Intl.DateTimeFormat(this.locale, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n });\n }\n\n private generateWeekHeader(): { label: string; ariaLabel: string }[] {\n const dayNames = [];\n const rv = this.calendarModel.monthdatescalendar(\n this.activeDate.getFullYear(),\n this.activeDate.getMonth()\n )[0];\n for (const day of rv) {\n dayNames.push({\n label: this.formatterWeekday.format(day.date),\n ariaLabel: day.date.toLocaleString(this.locale, { weekday: 'long' }),\n });\n }\n\n return dayNames;\n }\n\n private getCalendarMonth(): ICalendarDate[][] {\n return this.calendarModel.monthdatescalendar(\n this.activeDate.getFullYear(),\n this.activeDate.getMonth(),\n true\n );\n }\n\n private titleCase(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n private getWeekNumber(date: Date): number {\n return this.calendarModel.getWeekNumber(date);\n }\n\n private formattedDate(value: Date): string {\n return `${value.getDate()}`;\n }\n\n private get isSingleSelection(): boolean {\n return this.selection !== 'range';\n }\n\n private isLastInRange(date: ICalendarDate): boolean {\n if (this.isSingleSelection || !this.values || this.values.length === 0) {\n return false;\n }\n\n const dates = this.values;\n let lastDate = dates[dates.length - 1];\n\n if (this.rangePreviewDate) {\n if (this.rangePreviewDate > lastDate) {\n lastDate = this.rangePreviewDate;\n }\n }\n\n return isEqual(lastDate, date.date);\n }\n\n private isFirstInRange(date: ICalendarDate): boolean {\n if (this.isSingleSelection || !this.values || this.values.length === 0) {\n return false;\n }\n\n const dates = this.values;\n let firstDate = dates[0];\n\n if (this.rangePreviewDate) {\n if (this.rangePreviewDate < firstDate) {\n firstDate = this.rangePreviewDate;\n }\n }\n\n return isEqual(firstDate, date.date);\n }\n\n private isDisabled(date: Date): boolean {\n if (!this.disabledDates) {\n return false;\n }\n\n return isDateInRanges(date, this.disabledDates);\n }\n\n private isWithinRange(date: Date, min: Date, max: Date): boolean {\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [min, max],\n },\n ]);\n }\n\n private isRangeDate(date: Date) {\n if (\n this.selection !== 'range' ||\n !this.values ||\n this.values.length === 0\n ) {\n return false;\n }\n\n const dates = this.values;\n const min = dates[0];\n let max;\n\n if (dates.length === 1) {\n if (!this.rangePreviewDate) {\n return false;\n }\n\n max = this.rangePreviewDate;\n } else {\n max = dates[dates.length - 1];\n }\n\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [min, max],\n },\n ]);\n }\n\n private isRangePreview(date: Date) {\n if (\n this.selection === 'range' &&\n this.values &&\n this.values.length > 0 &&\n this.rangePreviewDate\n ) {\n return isDateInRanges(date, [\n {\n type: DateRangeType.Between,\n dateRange: [this.values[0], this.rangePreviewDate],\n },\n ]);\n }\n\n return false;\n }\n\n private isSelected(date: ICalendarDate) {\n if (this.isDisabled(date.date)) {\n return false;\n }\n\n if (this.selection === 'single') {\n if (!this.value) {\n return false;\n }\n return getDateOnly(this.value).getTime() === date.date.getTime();\n }\n\n if (!this.values || this.values.length === 0) {\n return false;\n }\n\n if (this.selection === 'range' && this.values.length === 1) {\n return getDateOnly(this.values[0]).getTime() === date.date.getTime();\n }\n\n if (this.selection === 'multiple') {\n const start = getDateOnly(this.values[0]);\n const end = getDateOnly(this.values[this.values.length - 1]);\n\n if (this.isWithinRange(date.date, start, end)) {\n const currentDate = this.values.find(\n (element) => element.getTime() === date.date.getTime()\n );\n return !!currentDate;\n } else {\n return false;\n }\n } else {\n return this.isWithinRange(\n date.date,\n this.values[0],\n this.values[this.values.length - 1]\n );\n }\n }\n\n private isToday(day: ICalendarDate): boolean {\n const today = new Date(Date.now());\n const date = day.date;\n\n // TODO\n // if (date.getDate() === today.getDate()) {\n // this.nativeElement.setAttribute('aria-current', 'date');\n // }\n\n return (\n date.getFullYear() === today.getFullYear() &&\n date.getMonth() === today.getMonth() &&\n date.getDate() === today.getDate()\n );\n }\n\n private isWeekend(date: ICalendarDate): boolean {\n const day = date.date.getDay();\n return day === 0 || day === 6;\n }\n\n private isSpecial(day: ICalendarDate): boolean {\n if (this.specialDates === null) {\n return false;\n }\n\n return isDateInRanges(day.date, this.specialDates);\n }\n\n private dateClicked(event: Event, day: ICalendarDate) {\n event.stopPropagation();\n\n this.selectDay(day);\n\n this.changeActiveDate(day);\n }\n\n private selectDay(day: ICalendarDate) {\n if (this.rangePreviewDate) {\n this.setRangePreviewDate(undefined);\n }\n\n const result = this.selectDate(day.date);\n\n if (result) {\n this.emitEvent('igcChange', { detail: day.date });\n }\n }\n\n private selectDate(value: Date) {\n if (this.isDisabled(value)) {\n return false;\n }\n\n switch (this.selection) {\n case 'single':\n if (this.value?.getTime() === value.getTime()) {\n return false;\n }\n this.selectSingle(value);\n break;\n case 'multiple':\n this.selectMultiple(value);\n break;\n case 'range':\n this.selectRange(value);\n break;\n }\n\n return true;\n }\n\n private generateDateRange(start: Date, end: Date): Date[] {\n const result = [];\n start = getDateOnly(start);\n end = getDateOnly(end);\n while (start.getTime() < end.getTime()) {\n start = this.calendarModel.timedelta(start, TimeDeltaInterval.Day, 1);\n result.push(start);\n }\n\n return result;\n }\n\n private selectRange(value: Date) {\n let start: Date;\n let end: Date;\n let selectedDates: Date[] = (this.values ?? []) as Date[];\n\n if (selectedDates.length !== 1) {\n // start new range\n selectedDates = [value];\n } else {\n if (selectedDates[0].getTime() === value.getTime()) {\n this.values = [];\n return;\n }\n\n selectedDates.push(value);\n selectedDates.sort((a: Date, b: Date) => a.valueOf() - b.valueOf());\n\n start = selectedDates.shift()!;\n end = selectedDates.pop()!;\n selectedDates = [start, ...this.generateDateRange(start, end)];\n }\n\n // exclude disabled dates\n selectedDates = selectedDates.filter((d) => !this.isDisabled(d));\n\n this.values = [...selectedDates];\n }\n\n private selectSingle(value: Date) {\n this.value = getDateOnly(value);\n }\n\n private selectMultiple(value: Date) {\n let selectedDates: Date[] = (this.values ?? []) as Date[];\n const valueDateOnly = getDateOnly(value);\n const newSelection = [];\n\n if (\n selectedDates.every(\n (date: Date) => date.getTime() !== valueDateOnly.getTime()\n )\n ) {\n newSelection.push(valueDateOnly);\n } else {\n selectedDates = selectedDates.filter(\n (date: Date) => date.getTime() !== valueDateOnly.getTime()\n );\n }\n\n if (newSelection.length > 0) {\n selectedDates = selectedDates.concat(newSelection);\n }\n\n selectedDates = selectedDates.filter((d) => !this.isDisabled(d));\n selectedDates.sort((a: Date, b: Date) => a.valueOf() - b.valueOf());\n this.values = [...selectedDates];\n }\n\n private changeActiveDate(day: ICalendarDate) {\n this.activeDate = day.date;\n this.emitEvent('igcActiveDateChange', { detail: day });\n }\n\n private dateKeyDown(event: KeyboardEvent, day: ICalendarDate) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.selectDay(day);\n }\n }\n\n private changeRangePreview(date: Date) {\n if (\n this.selection === 'range' &&\n this.values &&\n this.values.length === 1 &&\n !isEqual(this.values[0], date)\n ) {\n this.setRangePreviewDate(date);\n }\n }\n\n private clearRangePreview() {\n if (this.rangePreviewDate) {\n this.setRangePreviewDate(undefined);\n }\n }\n\n private setRangePreviewDate(value?: Date) {\n this.rangePreviewDate = value;\n this.emitEvent('igcRangePreviewDateChange', { detail: value });\n }\n\n private resolveDayItemPartName(day: ICalendarDate) {\n const isInactive = day.isNextMonth || day.isPrevMonth;\n const isHidden =\n (this.hideLeadingDays && day.isPrevMonth) ||\n (this.hideTrailingDays && day.isNextMonth);\n const isDisabled = this.isDisabled(day.date);\n\n return {\n date: true,\n first: this.isFirstInRange(day),\n last: this.isLastInRange(day),\n selected: !isDisabled && this.isSelected(day),\n inactive: isInactive,\n hidden: isHidden,\n current: this.isToday(day),\n weekend: this.isWeekend(day),\n range: this.selection === 'range' && this.isRangeDate(day.date),\n special: this.isSpecial(day),\n disabled: isHidden || isDisabled,\n single: this.selection !== 'range',\n preview: this.isRangePreview(day.date),\n };\n }\n\n private renderWeekHeaders() {\n return html`<div role=\"row\" part=\"days-row first\">\n ${this.showWeekNumbers\n ? html`<span role=\"columnheader\" part=\"label week-number first\">\n <span part=\"week-number-inner first\"\n >${this.resourceStrings.weekLabel}</span\n >\n </span>`\n : ''}\n ${this.generateWeekHeader().map(\n (weekday) =>\n html`<span\n role=\"columnheader\"\n part=\"label\"\n aria-label=${weekday.ariaLabel}\n >\n <span part=\"label-inner\">${this.titleCase(weekday.label)}</span>\n </span> `\n )}\n </div>`;\n }\n\n private renderDates() {\n return this.dates.map((week, i) => {\n const last = i === this.dates.length - 1;\n\n return html`<div role=\"row\" part=\"days-row\">\n ${this.showWeekNumbers\n ? html`<span\n role=\"rowheader\"\n part=${partNameMap({ 'week-number': true, last })}\n >\n <span part=${partNameMap({ 'week-number-inner': true, last })}\n >${this.getWeekNumber(week[0].date)}</span\n >\n </span>`\n : ''}\n ${week.map((day) => this.renderDateItem(day))}\n </div>`;\n });\n }\n\n protected dayLabelFormatter(value: ICalendarDate) {\n // Range selection in progress\n if (\n this.rangePreviewDate &&\n areEqualDates(this.rangePreviewDate, value.date)\n ) {\n return (this.labelFormatter as any).formatRange(\n this.values!.at(0),\n this.rangePreviewDate\n );\n }\n\n // Range selection finished\n if (this.isFirstInRange(value) || this.isLastInRange(value)) {\n return (this.labelFormatter as any).formatRange(\n this.values!.at(0),\n this.values!.at(-1)\n );\n }\n\n // Default\n return this.labelFormatter.format(value.date);\n }\n\n private renderDateItem(day: ICalendarDate) {\n const datePartName = partNameMap(this.resolveDayItemPartName(day));\n const dateInnerPartName = datePartName.replace('date', 'date-inner');\n\n return html`<span part=${datePartName}>\n <span\n part=${dateInnerPartName}\n role=\"gridcell\"\n aria-label=${this.dayLabelFormatter(day)}\n aria-selected=${this.isSelected(day)}\n aria-disabled=${this.isDisabled(day.date)}\n tabindex=${this.active && areEqualDates(this.activeDate, day.date)\n ? 0\n : -1}\n @click=${(event: MouseEvent) => this.dateClicked(event, day)}\n @focus=${() => this.changeRangePreview(day.date)}\n @blur=${() => this.clearRangePreview()}\n @keydown=${(event: KeyboardEvent) => this.dateKeyDown(event, day)}\n @mouseenter=${() => this.changeRangePreview(day.date)}\n @mouseleave=${() => this.clearRangePreview()}\n >${this.formattedDate(day.date)}</span\n >\n </span>`;\n }\n\n protected override render() {\n return html`${this.renderWeekHeaders()} ${this.renderDates()}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-days-view': IgcDaysViewComponent;\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { LitElement } from 'lit';
2
2
  import { Constructor } from '../../common/mixins/constructor.js';
3
3
  import { IgcCalendarBaseEventMap } from '../common/calendar-base.js';
4
- declare const IgcMonthsViewComponent_base: import("../../common/mixins/constructor.js").AbstractConstructor<import("../../common/mixins/event-emitter.js").EventEmitterInterface<IgcCalendarBaseEventMap>> & Constructor<LitElement>;
4
+ declare const IgcMonthsViewComponent_base: Constructor<import("../../common/mixins/event-emitter.js").EventEmitterInterface<IgcCalendarBaseEventMap>> & Constructor<LitElement>;
5
5
  /**
6
6
  * Instantiate a months view as a separate component in the calendar.
7
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"months-view.js","sourceRoot":"","sources":["../../../../src/components/calendar/months-view/months-view.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\n\nimport { themes } from '../../../theming/theming-decorator.js';\nimport { blazorIndirectRender } from '../../common/decorators/blazorIndirectRender.js';\nimport { blazorSuppressComponent } from '../../common/decorators/blazorSuppressComponent.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 { partNameMap } from '../../common/util.js';\nimport {\n IgcCalendarBaseEventMap,\n MONTHS_PER_ROW,\n} from '../common/calendar-base.js';\nimport { Calendar, TimeDeltaInterval } from '../common/calendar.model.js';\nimport { setDateSafe } from '../common/utils.js';\nimport { styles } from '../themes/year-month-view.base.css.js';\nimport { all } from '../themes/year-month.js';\n\n/**\n * Instantiate a months view as a separate component in the calendar.\n *\n * @element igc-months-view\n *\n * @csspart months-row - The months row container.\n * @csspart month - The month container.\n * @csspart month-inner - The inner month container.\n */\n@blazorIndirectRender\n@blazorSuppressComponent\n@themes(all)\nexport default class IgcMonthsViewComponent extends EventEmitterMixin<\n IgcCalendarBaseEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-months-view';\n public static styles = styles;\n\n public static register() {\n registerComponent(this);\n }\n\n private calendarModel = new Calendar();\n private monthFormatter: any;\n\n @query('[tabindex=\"0\"]')\n private activeMonth!: HTMLElement;\n\n /** Тhe current value of the calendar. */\n @property({ attribute: false })\n public value = new Date();\n\n /** Sets the locale used for formatting and displaying the dates. */\n @property()\n public locale = 'en';\n\n /** The format of the month. Defaults to long. */\n @property({ attribute: 'month-format' })\n public monthFormat:\n | 'numeric'\n | '2-digit'\n | 'long'\n | 'short'\n | 'narrow'\n | undefined = 'long';\n\n @watch('locale')\n @watch('monthFormat')\n protected formatChange() {\n this.initMonthFormatter();\n }\n\n constructor() {\n super();\n this.setAttribute('role', 'grid');\n this.initMonthFormatter();\n }\n\n /** Focuses the active date. */\n public focusActiveDate() {\n this.activeMonth.focus();\n }\n\n private initMonthFormatter() {\n this.monthFormatter = new Intl.DateTimeFormat(this.locale, {\n month: this.monthFormat,\n });\n }\n\n private formattedMonth(value: Date) {\n return this.monthFormatter.format(value);\n }\n\n private get months(): Date[][] {\n let date = new Date(this.value.getFullYear(), 0, 1);\n const result = [];\n\n const rowsCount = 12 / MONTHS_PER_ROW;\n\n for (let i = 0; i < rowsCount; i++) {\n const row: Date[] = [];\n\n for (let j = 0; j < MONTHS_PER_ROW; j++) {\n row.push(date);\n date = this.calendarModel.timedelta(date, TimeDeltaInterval.Month, 1);\n }\n result.push(row);\n }\n\n return result;\n }\n\n private resolveMonthPartName(date: Date) {\n const today = new Date();\n return {\n month: true,\n selected: date.getMonth() === this.value.getMonth(),\n current:\n date.getFullYear() === today.getFullYear() &&\n date.getMonth() === today.getMonth(),\n };\n }\n\n private selectMonth(month: Date) {\n const value = new Date(month);\n setDateSafe(value, this.value.getDate());\n this.value = value;\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n private monthKeyDown(event: KeyboardEvent, month: Date) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.selectMonth(month);\n }\n }\n\n protected override render() {\n return html`${this.months.map((row) => {\n return html`<div part=\"months-row\" role=\"row\">\n ${row.map((month) => {\n const monthPartName = partNameMap(this.resolveMonthPartName(month));\n const monthInnerPartName = monthPartName.replace(\n 'month',\n 'month-inner'\n );\n\n return html`<span part=${monthPartName}>\n <span\n part=${monthInnerPartName}\n role=\"gridcell\"\n aria-label=${month.toLocaleString(this.locale, {\n month: 'long',\n year: 'numeric',\n })}\n aria-selected=${month.getMonth() === this.value.getMonth()}\n tabindex=\"${month.getFullYear() === this.value.getFullYear() &&\n month.getMonth() === this.value.getMonth()\n ? 0\n : -1}\"\n @click=${() => this.selectMonth(month)}\n @keydown=${(event: KeyboardEvent) =>\n this.monthKeyDown(event, month)}\n >\n ${this.formattedMonth(month)}\n </span>\n </span>`;\n })}\n </div>`;\n })}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-months-view': IgcMonthsViewComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"months-view.js","sourceRoot":"","sources":["../../../../src/components/calendar/months-view/months-view.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\n\nimport { themes } from '../../../theming/theming-decorator.js';\nimport { blazorIndirectRender } from '../../common/decorators/blazorIndirectRender.js';\nimport { blazorSuppressComponent } from '../../common/decorators/blazorSuppressComponent.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 { partNameMap } from '../../common/util.js';\nimport {\n IgcCalendarBaseEventMap,\n MONTHS_PER_ROW,\n} from '../common/calendar-base.js';\nimport { Calendar, TimeDeltaInterval } from '../common/calendar.model.js';\nimport { setDateSafe } from '../common/utils.js';\nimport { styles } from '../themes/year-month-view.base.css.js';\nimport { all } from '../themes/year-month.js';\n\n/**\n * Instantiate a months view as a separate component in the calendar.\n *\n * @element igc-months-view\n *\n * @csspart months-row - The months row container.\n * @csspart month - The month container.\n * @csspart month-inner - The inner month container.\n */\n@blazorIndirectRender\n@blazorSuppressComponent\n@themes(all)\nexport default class IgcMonthsViewComponent extends EventEmitterMixin<\n IgcCalendarBaseEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-months-view';\n public static styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(this);\n }\n\n private calendarModel = new Calendar();\n private monthFormatter: any;\n\n @query('[tabindex=\"0\"]')\n private activeMonth!: HTMLElement;\n\n /** Тhe current value of the calendar. */\n @property({ attribute: false })\n public value = new Date();\n\n /** Sets the locale used for formatting and displaying the dates. */\n @property()\n public locale = 'en';\n\n /** The format of the month. Defaults to long. */\n @property({ attribute: 'month-format' })\n public monthFormat:\n | 'numeric'\n | '2-digit'\n | 'long'\n | 'short'\n | 'narrow'\n | undefined = 'long';\n\n @watch('locale')\n @watch('monthFormat')\n protected formatChange() {\n this.initMonthFormatter();\n }\n\n constructor() {\n super();\n this.setAttribute('role', 'grid');\n this.initMonthFormatter();\n }\n\n /** Focuses the active date. */\n public focusActiveDate() {\n this.activeMonth.focus();\n }\n\n private initMonthFormatter() {\n this.monthFormatter = new Intl.DateTimeFormat(this.locale, {\n month: this.monthFormat,\n });\n }\n\n private formattedMonth(value: Date) {\n return this.monthFormatter.format(value);\n }\n\n private get months(): Date[][] {\n let date = new Date(this.value.getFullYear(), 0, 1);\n const result = [];\n\n const rowsCount = 12 / MONTHS_PER_ROW;\n\n for (let i = 0; i < rowsCount; i++) {\n const row: Date[] = [];\n\n for (let j = 0; j < MONTHS_PER_ROW; j++) {\n row.push(date);\n date = this.calendarModel.timedelta(date, TimeDeltaInterval.Month, 1);\n }\n result.push(row);\n }\n\n return result;\n }\n\n private resolveMonthPartName(date: Date) {\n const today = new Date();\n return {\n month: true,\n selected: date.getMonth() === this.value.getMonth(),\n current:\n date.getFullYear() === today.getFullYear() &&\n date.getMonth() === today.getMonth(),\n };\n }\n\n private selectMonth(month: Date) {\n const value = new Date(month);\n setDateSafe(value, this.value.getDate());\n this.value = value;\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n private monthKeyDown(event: KeyboardEvent, month: Date) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.selectMonth(month);\n }\n }\n\n protected override render() {\n return html`${this.months.map((row) => {\n return html`<div part=\"months-row\" role=\"row\">\n ${row.map((month) => {\n const monthPartName = partNameMap(this.resolveMonthPartName(month));\n const monthInnerPartName = monthPartName.replace(\n 'month',\n 'month-inner'\n );\n\n return html`<span part=${monthPartName}>\n <span\n part=${monthInnerPartName}\n role=\"gridcell\"\n aria-label=${month.toLocaleString(this.locale, {\n month: 'long',\n year: 'numeric',\n })}\n aria-selected=${month.getMonth() === this.value.getMonth()}\n tabindex=\"${month.getFullYear() === this.value.getFullYear() &&\n month.getMonth() === this.value.getMonth()\n ? 0\n : -1}\"\n @click=${() => this.selectMonth(month)}\n @keydown=${(event: KeyboardEvent) =>\n this.monthKeyDown(event, month)}\n >\n ${this.formattedMonth(month)}\n </span>\n </span>`;\n })}\n </div>`;\n })}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-months-view': IgcMonthsViewComponent;\n }\n}\n"]}