igniteui-webcomponents 5.3.0 → 5.4.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (406) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +10 -5
  3. package/components/avatar/avatar.d.ts +2 -1
  4. package/components/avatar/avatar.js.map +1 -1
  5. package/components/badge/badge.d.ts +2 -2
  6. package/components/badge/badge.js.map +1 -1
  7. package/components/button/button.d.ts +2 -1
  8. package/components/button/button.js.map +1 -1
  9. package/components/button/icon-button.d.ts +2 -1
  10. package/components/button/icon-button.js.map +1 -1
  11. package/components/button-group/button-group.d.ts +3 -2
  12. package/components/button-group/button-group.js.map +1 -1
  13. package/components/button-group/themes/light/button-group.indigo.css.js +1 -1
  14. package/components/button-group/themes/light/button-group.indigo.css.js.map +1 -1
  15. package/components/calendar/base.d.ts +2 -2
  16. package/components/calendar/base.js.map +1 -1
  17. package/components/calendar/calendar.d.ts +5 -4
  18. package/components/calendar/calendar.js.map +1 -1
  19. package/components/calendar/themes/calendar.base.css.js +1 -1
  20. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  21. package/components/calendar/themes/dark/calendar.bootstrap.css.js +1 -1
  22. package/components/calendar/themes/dark/calendar.bootstrap.css.js.map +1 -1
  23. package/components/calendar/themes/dark/calendar.fluent.css.js +1 -1
  24. package/components/calendar/themes/dark/calendar.fluent.css.js.map +1 -1
  25. package/components/calendar/themes/dark/calendar.indigo.css.js +1 -1
  26. package/components/calendar/themes/dark/calendar.indigo.css.js.map +1 -1
  27. package/components/calendar/themes/dark/calendar.material.css.js +1 -1
  28. package/components/calendar/themes/dark/calendar.material.css.js.map +1 -1
  29. package/components/calendar/themes/light/calendar.bootstrap.css.js +1 -1
  30. package/components/calendar/themes/light/calendar.bootstrap.css.js.map +1 -1
  31. package/components/calendar/themes/light/calendar.fluent.css.js +1 -1
  32. package/components/calendar/themes/light/calendar.fluent.css.js.map +1 -1
  33. package/components/calendar/themes/light/calendar.indigo.css.js +1 -1
  34. package/components/calendar/themes/light/calendar.indigo.css.js.map +1 -1
  35. package/components/calendar/themes/light/calendar.material.css.js +1 -1
  36. package/components/calendar/themes/light/calendar.material.css.js.map +1 -1
  37. package/components/calendar/themes/light/calendar.shared.css.js +1 -1
  38. package/components/calendar/themes/light/calendar.shared.css.js.map +1 -1
  39. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js +1 -1
  40. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js.map +1 -1
  41. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js +1 -1
  42. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js.map +1 -1
  43. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js +1 -1
  44. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js.map +1 -1
  45. package/components/calendar/themes/shared/fluent/days-view.fluent.css.js +1 -1
  46. package/components/calendar/themes/shared/fluent/days-view.fluent.css.js.map +1 -1
  47. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js +1 -1
  48. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js.map +1 -1
  49. package/components/calendar/themes/shared/material/calendar.material.css.js +1 -1
  50. package/components/calendar/themes/shared/material/calendar.material.css.js.map +1 -1
  51. package/components/calendar/themes/shared/material/days-view.material.css.js +1 -1
  52. package/components/calendar/themes/shared/material/days-view.material.css.js.map +1 -1
  53. package/components/calendar/types.d.ts +3 -0
  54. package/components/calendar/types.js.map +1 -1
  55. package/components/card/card.actions.d.ts +2 -1
  56. package/components/card/card.actions.js.map +1 -1
  57. package/components/card/themes/card.actions.base.css.js +1 -1
  58. package/components/card/themes/card.actions.base.css.js.map +1 -1
  59. package/components/card/themes/container.js +2 -1
  60. package/components/card/themes/container.js.map +1 -1
  61. package/components/card/themes/dark/card.bootstrap.css.js +1 -1
  62. package/components/card/themes/dark/card.bootstrap.css.js.map +1 -1
  63. package/components/card/themes/dark/card.fluent.css.js +1 -1
  64. package/components/card/themes/dark/card.fluent.css.js.map +1 -1
  65. package/components/card/themes/dark/card.indigo.css.js +1 -1
  66. package/components/card/themes/dark/card.indigo.css.js.map +1 -1
  67. package/components/card/themes/dark/card.material.css.js +1 -1
  68. package/components/card/themes/dark/card.material.css.js.map +1 -1
  69. package/components/card/themes/dark/card.shared.css.js +1 -1
  70. package/components/card/themes/dark/card.shared.css.js.map +1 -1
  71. package/components/card/themes/light/container/card.bootstrap.css.js +1 -1
  72. package/components/card/themes/light/container/card.bootstrap.css.js.map +1 -1
  73. package/components/card/themes/light/container/card.fluent.css.js +1 -1
  74. package/components/card/themes/light/container/card.fluent.css.js.map +1 -1
  75. package/components/card/themes/light/container/card.indigo.css.js +1 -1
  76. package/components/card/themes/light/container/card.indigo.css.js.map +1 -1
  77. package/components/card/themes/light/container/card.material.css.js +1 -1
  78. package/components/card/themes/light/container/card.material.css.js.map +1 -1
  79. package/components/card/themes/light/container/card.shared.css.js +1 -1
  80. package/components/card/themes/light/container/card.shared.css.js.map +1 -1
  81. package/components/card/themes/shared/container/card.bootstrap.css.d.ts +1 -0
  82. package/components/card/themes/shared/container/card.bootstrap.css.js +3 -0
  83. package/components/card/themes/shared/container/card.bootstrap.css.js.map +1 -0
  84. package/components/card/themes/shared/container/card.indigo.css.js +1 -1
  85. package/components/card/themes/shared/container/card.indigo.css.js.map +1 -1
  86. package/components/card/themes/shared/content/card.content.bootstrap.css.js +1 -1
  87. package/components/card/themes/shared/content/card.content.bootstrap.css.js.map +1 -1
  88. package/components/card/themes/shared/header/card.header.bootstrap.css.js +1 -1
  89. package/components/card/themes/shared/header/card.header.bootstrap.css.js.map +1 -1
  90. package/components/card/themes/shared/header/card.header.fluent.css.js +1 -1
  91. package/components/card/themes/shared/header/card.header.fluent.css.js.map +1 -1
  92. package/components/card/themes/shared/header/card.header.indigo.css.js +1 -1
  93. package/components/card/themes/shared/header/card.header.indigo.css.js.map +1 -1
  94. package/components/carousel/carousel-slide.d.ts +5 -1
  95. package/components/carousel/carousel-slide.js.map +1 -1
  96. package/components/carousel/carousel.d.ts +3 -2
  97. package/components/carousel/carousel.js.map +1 -1
  98. package/components/carousel/themes/dark/carousel.bootstrap.css.js +1 -1
  99. package/components/carousel/themes/dark/carousel.bootstrap.css.js.map +1 -1
  100. package/components/carousel/themes/dark/carousel.fluent.css.js +1 -1
  101. package/components/carousel/themes/dark/carousel.fluent.css.js.map +1 -1
  102. package/components/carousel/themes/dark/carousel.indigo.css.js +1 -1
  103. package/components/carousel/themes/dark/carousel.indigo.css.js.map +1 -1
  104. package/components/carousel/themes/dark/carousel.material.css.js +1 -1
  105. package/components/carousel/themes/dark/carousel.material.css.js.map +1 -1
  106. package/components/carousel/themes/light/carousel.bootstrap.css.js +1 -1
  107. package/components/carousel/themes/light/carousel.bootstrap.css.js.map +1 -1
  108. package/components/carousel/themes/light/carousel.fluent.css.js +1 -1
  109. package/components/carousel/themes/light/carousel.fluent.css.js.map +1 -1
  110. package/components/carousel/themes/light/carousel.indigo.css.js +1 -1
  111. package/components/carousel/themes/light/carousel.indigo.css.js.map +1 -1
  112. package/components/carousel/themes/light/carousel.material.css.js +1 -1
  113. package/components/carousel/themes/light/carousel.material.css.js.map +1 -1
  114. package/components/checkbox/checkbox-base.d.ts +6 -3
  115. package/components/checkbox/checkbox-base.js.map +1 -1
  116. package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js +1 -1
  117. package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js.map +1 -1
  118. package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js +1 -1
  119. package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js.map +1 -1
  120. package/components/checkbox/themes/dark/checkbox/checkbox.indigo.css.js +1 -1
  121. package/components/checkbox/themes/dark/checkbox/checkbox.indigo.css.js.map +1 -1
  122. package/components/checkbox/themes/dark/checkbox/checkbox.material.css.js +1 -1
  123. package/components/checkbox/themes/dark/checkbox/checkbox.material.css.js.map +1 -1
  124. package/components/checkbox/themes/dark/switch/switch.bootstrap.css.js +1 -1
  125. package/components/checkbox/themes/dark/switch/switch.bootstrap.css.js.map +1 -1
  126. package/components/checkbox/themes/dark/switch/switch.fluent.css.js +1 -1
  127. package/components/checkbox/themes/dark/switch/switch.fluent.css.js.map +1 -1
  128. package/components/checkbox/themes/dark/switch/switch.indigo.css.js +1 -1
  129. package/components/checkbox/themes/dark/switch/switch.indigo.css.js.map +1 -1
  130. package/components/checkbox/themes/dark/switch/switch.material.css.js +1 -1
  131. package/components/checkbox/themes/dark/switch/switch.material.css.js.map +1 -1
  132. package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.js +1 -1
  133. package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.js.map +1 -1
  134. package/components/checkbox/themes/light/checkbox/checkbox.fluent.css.js +1 -1
  135. package/components/checkbox/themes/light/checkbox/checkbox.fluent.css.js.map +1 -1
  136. package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.js +1 -1
  137. package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.js.map +1 -1
  138. package/components/checkbox/themes/light/checkbox/checkbox.material.css.js +1 -1
  139. package/components/checkbox/themes/light/checkbox/checkbox.material.css.js.map +1 -1
  140. package/components/checkbox/themes/light/switch/switch.bootstrap.css.js +1 -1
  141. package/components/checkbox/themes/light/switch/switch.bootstrap.css.js.map +1 -1
  142. package/components/checkbox/themes/light/switch/switch.fluent.css.js +1 -1
  143. package/components/checkbox/themes/light/switch/switch.fluent.css.js.map +1 -1
  144. package/components/checkbox/themes/light/switch/switch.indigo.css.js +1 -1
  145. package/components/checkbox/themes/light/switch/switch.indigo.css.js.map +1 -1
  146. package/components/checkbox/themes/light/switch/switch.material.css.js +1 -1
  147. package/components/checkbox/themes/light/switch/switch.material.css.js.map +1 -1
  148. package/components/checkbox/themes/light/switch/switch.shared.css.js +1 -1
  149. package/components/checkbox/themes/light/switch/switch.shared.css.js.map +1 -1
  150. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js +1 -1
  151. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js.map +1 -1
  152. package/components/checkbox/themes/shared/switch/switch.common.css.js +1 -1
  153. package/components/checkbox/themes/shared/switch/switch.common.css.js.map +1 -1
  154. package/components/checkbox/themes/shared/switch/switch.fluent.css.js +1 -1
  155. package/components/checkbox/themes/shared/switch/switch.fluent.css.js.map +1 -1
  156. package/components/checkbox/themes/shared/switch/switch.indigo.css.js +1 -1
  157. package/components/checkbox/themes/shared/switch/switch.indigo.css.js.map +1 -1
  158. package/components/checkbox/themes/shared/switch/switch.material.css.js +1 -1
  159. package/components/checkbox/themes/shared/switch/switch.material.css.js.map +1 -1
  160. package/components/chip/themes/dark/chip.bootstrap.css.js +1 -1
  161. package/components/chip/themes/dark/chip.bootstrap.css.js.map +1 -1
  162. package/components/chip/themes/light/chip.bootstrap.css.js +1 -1
  163. package/components/chip/themes/light/chip.bootstrap.css.js.map +1 -1
  164. package/components/chip/themes/shared/chip.bootstrap.css.js +1 -1
  165. package/components/chip/themes/shared/chip.bootstrap.css.js.map +1 -1
  166. package/components/combo/themes/dark/combo.bootstrap.css.js +1 -1
  167. package/components/combo/themes/dark/combo.bootstrap.css.js.map +1 -1
  168. package/components/combo/themes/dark/combo.fluent.css.js +1 -1
  169. package/components/combo/themes/dark/combo.fluent.css.js.map +1 -1
  170. package/components/combo/themes/dark/combo.indigo.css.js +1 -1
  171. package/components/combo/themes/dark/combo.indigo.css.js.map +1 -1
  172. package/components/combo/themes/dark/combo.material.css.js +1 -1
  173. package/components/combo/themes/dark/combo.material.css.js.map +1 -1
  174. package/components/combo/themes/light/combo.bootstrap.css.js +1 -1
  175. package/components/combo/themes/light/combo.bootstrap.css.js.map +1 -1
  176. package/components/combo/themes/light/combo.fluent.css.js +1 -1
  177. package/components/combo/themes/light/combo.fluent.css.js.map +1 -1
  178. package/components/combo/themes/light/combo.indigo.css.js +1 -1
  179. package/components/combo/themes/light/combo.indigo.css.js.map +1 -1
  180. package/components/combo/themes/light/combo.material.css.js +1 -1
  181. package/components/combo/themes/light/combo.material.css.js.map +1 -1
  182. package/components/combo/themes/light/combo.shared.css.js +1 -1
  183. package/components/combo/themes/light/combo.shared.css.js.map +1 -1
  184. package/components/common/controllers/drag.d.ts +13 -0
  185. package/components/common/controllers/drag.js +30 -4
  186. package/components/common/controllers/drag.js.map +1 -1
  187. package/components/common/controllers/root-scroll.d.ts +2 -1
  188. package/components/common/controllers/root-scroll.js.map +1 -1
  189. package/components/common/mixins/alert.d.ts +2 -1
  190. package/components/common/mixins/alert.js.map +1 -1
  191. package/components/common/mixins/forms/associated.js +1 -1
  192. package/components/common/mixins/forms/associated.js.map +1 -1
  193. package/components/common/mixins/forms/form-value.d.ts +1 -0
  194. package/components/common/mixins/forms/form-value.js +16 -0
  195. package/components/common/mixins/forms/form-value.js.map +1 -1
  196. package/components/common/util.d.ts +4 -0
  197. package/components/common/util.js.map +1 -1
  198. package/components/date-picker/date-picker.d.ts +5 -5
  199. package/components/date-picker/date-picker.js.map +1 -1
  200. package/components/date-picker/themes/dark/date-picker.bootstrap.css.js +1 -1
  201. package/components/date-picker/themes/dark/date-picker.bootstrap.css.js.map +1 -1
  202. package/components/date-picker/themes/dark/date-picker.fluent.css.js +1 -1
  203. package/components/date-picker/themes/dark/date-picker.fluent.css.js.map +1 -1
  204. package/components/date-picker/themes/dark/date-picker.indigo.css.js +1 -1
  205. package/components/date-picker/themes/dark/date-picker.indigo.css.js.map +1 -1
  206. package/components/date-picker/themes/dark/date-picker.material.css.js +1 -1
  207. package/components/date-picker/themes/dark/date-picker.material.css.js.map +1 -1
  208. package/components/date-picker/themes/light/date-picker.bootstrap.css.js +1 -1
  209. package/components/date-picker/themes/light/date-picker.bootstrap.css.js.map +1 -1
  210. package/components/date-picker/themes/light/date-picker.fluent.css.js +1 -1
  211. package/components/date-picker/themes/light/date-picker.fluent.css.js.map +1 -1
  212. package/components/date-picker/themes/light/date-picker.indigo.css.js +1 -1
  213. package/components/date-picker/themes/light/date-picker.indigo.css.js.map +1 -1
  214. package/components/date-picker/themes/light/date-picker.material.css.js +1 -1
  215. package/components/date-picker/themes/light/date-picker.material.css.js.map +1 -1
  216. package/components/date-picker/themes/light/date-picker.shared.css.js +1 -1
  217. package/components/date-picker/themes/light/date-picker.shared.css.js.map +1 -1
  218. package/components/divider/divider.d.ts +2 -1
  219. package/components/divider/divider.js.map +1 -1
  220. package/components/dropdown/dropdown.d.ts +4 -4
  221. package/components/dropdown/dropdown.js.map +1 -1
  222. package/components/dropdown/themes/dark/dropdown.bootstrap.css.js +1 -1
  223. package/components/dropdown/themes/dark/dropdown.bootstrap.css.js.map +1 -1
  224. package/components/dropdown/themes/dark/dropdown.fluent.css.js +1 -1
  225. package/components/dropdown/themes/dark/dropdown.fluent.css.js.map +1 -1
  226. package/components/dropdown/themes/dark/dropdown.indigo.css.js +1 -1
  227. package/components/dropdown/themes/dark/dropdown.indigo.css.js.map +1 -1
  228. package/components/dropdown/themes/dark/dropdown.material.css.js +1 -1
  229. package/components/dropdown/themes/dark/dropdown.material.css.js.map +1 -1
  230. package/components/dropdown/themes/dark/dropdown.shared.css.js +1 -1
  231. package/components/dropdown/themes/dark/dropdown.shared.css.js.map +1 -1
  232. package/components/dropdown/themes/light/dropdown.bootstrap.css.js +1 -1
  233. package/components/dropdown/themes/light/dropdown.bootstrap.css.js.map +1 -1
  234. package/components/dropdown/themes/light/dropdown.fluent.css.js +1 -1
  235. package/components/dropdown/themes/light/dropdown.fluent.css.js.map +1 -1
  236. package/components/dropdown/themes/light/dropdown.indigo.css.js +1 -1
  237. package/components/dropdown/themes/light/dropdown.indigo.css.js.map +1 -1
  238. package/components/dropdown/themes/light/dropdown.material.css.js +1 -1
  239. package/components/dropdown/themes/light/dropdown.material.css.js.map +1 -1
  240. package/components/dropdown/themes/light/dropdown.shared.css.js +1 -1
  241. package/components/dropdown/themes/light/dropdown.shared.css.js.map +1 -1
  242. package/components/expansion-panel/expansion-panel.d.ts +2 -1
  243. package/components/expansion-panel/expansion-panel.js.map +1 -1
  244. package/components/file-input/file-input.d.ts +85 -0
  245. package/components/file-input/file-input.js +155 -0
  246. package/components/file-input/file-input.js.map +1 -0
  247. package/components/file-input/themes/file-input.base.css.d.ts +1 -0
  248. package/components/file-input/themes/file-input.base.css.js +3 -0
  249. package/components/file-input/themes/file-input.base.css.js.map +1 -0
  250. package/components/file-input/themes/shared/file-input.bootstrap.css.d.ts +1 -0
  251. package/components/file-input/themes/shared/file-input.bootstrap.css.js +3 -0
  252. package/components/file-input/themes/shared/file-input.bootstrap.css.js.map +1 -0
  253. package/components/file-input/themes/shared/file-input.fluent.css.d.ts +1 -0
  254. package/components/file-input/themes/shared/file-input.fluent.css.js +3 -0
  255. package/components/file-input/themes/shared/file-input.fluent.css.js.map +1 -0
  256. package/components/file-input/themes/shared/file-input.indigo.css.d.ts +1 -0
  257. package/components/file-input/themes/shared/file-input.indigo.css.js +3 -0
  258. package/components/file-input/themes/shared/file-input.indigo.css.js.map +1 -0
  259. package/components/file-input/themes/shared/file-input.material.css.d.ts +1 -0
  260. package/components/file-input/themes/shared/file-input.material.css.js +3 -0
  261. package/components/file-input/themes/shared/file-input.material.css.js.map +1 -0
  262. package/components/file-input/themes/themes.d.ts +2 -0
  263. package/components/file-input/themes/themes.js +50 -0
  264. package/components/file-input/themes/themes.js.map +1 -0
  265. package/components/file-input/validators.d.ts +3 -0
  266. package/components/file-input/validators.js +5 -0
  267. package/components/file-input/validators.js.map +1 -0
  268. package/components/input/input-base.d.ts +3 -1
  269. package/components/input/input-base.js +6 -2
  270. package/components/input/input-base.js.map +1 -1
  271. package/components/input/input.d.ts +2 -2
  272. package/components/input/input.js.map +1 -1
  273. package/components/input/themes/dark/input.fluent.css.js +1 -1
  274. package/components/input/themes/dark/input.fluent.css.js.map +1 -1
  275. package/components/input/themes/light/input.fluent.css.js +1 -1
  276. package/components/input/themes/light/input.fluent.css.js.map +1 -1
  277. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  278. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  279. package/components/input/themes/shared/input.material.css.js +1 -1
  280. package/components/input/themes/shared/input.material.css.js.map +1 -1
  281. package/components/mask-input/mask-input.d.ts +2 -1
  282. package/components/mask-input/mask-input.js.map +1 -1
  283. package/components/nav-drawer/nav-drawer.d.ts +2 -1
  284. package/components/nav-drawer/nav-drawer.js.map +1 -1
  285. package/components/popover/popover.d.ts +2 -2
  286. package/components/popover/popover.js.map +1 -1
  287. package/components/progress/linear-progress.d.ts +2 -1
  288. package/components/progress/linear-progress.js.map +1 -1
  289. package/components/radio/radio.d.ts +12 -3
  290. package/components/radio/radio.js +18 -0
  291. package/components/radio/radio.js.map +1 -1
  292. package/components/radio/themes/dark/radio.bootstrap.css.js +1 -1
  293. package/components/radio/themes/dark/radio.bootstrap.css.js.map +1 -1
  294. package/components/radio/themes/light/radio.bootstrap.css.js +1 -1
  295. package/components/radio/themes/light/radio.bootstrap.css.js.map +1 -1
  296. package/components/radio/themes/light/radio.shared.css.js +1 -1
  297. package/components/radio/themes/light/radio.shared.css.js.map +1 -1
  298. package/components/radio-group/radio-group.d.ts +2 -1
  299. package/components/radio-group/radio-group.js.map +1 -1
  300. package/components/rating/themes/dark/rating.indigo.css.js +1 -1
  301. package/components/rating/themes/dark/rating.indigo.css.js.map +1 -1
  302. package/components/rating/themes/light/rating.indigo.css.js +1 -1
  303. package/components/rating/themes/light/rating.indigo.css.js.map +1 -1
  304. package/components/rating/themes/light/rating.shared.css.js +1 -1
  305. package/components/rating/themes/light/rating.shared.css.js.map +1 -1
  306. package/components/rating/themes/rating.base.css.js +1 -1
  307. package/components/rating/themes/rating.base.css.js.map +1 -1
  308. package/components/rating/themes/shared/rating.common.css.js +1 -1
  309. package/components/rating/themes/shared/rating.common.css.js.map +1 -1
  310. package/components/rating/themes/shared/rating.indigo.css.js +1 -1
  311. package/components/rating/themes/shared/rating.indigo.css.js.map +1 -1
  312. package/components/resize-container/resize-container.d.ts +1 -0
  313. package/components/resize-container/resize-container.js.map +1 -1
  314. package/components/select/select.d.ts +4 -4
  315. package/components/select/select.js.map +1 -1
  316. package/components/select/themes/dark/select.bootstrap.css.js +1 -1
  317. package/components/select/themes/dark/select.bootstrap.css.js.map +1 -1
  318. package/components/select/themes/dark/select.fluent.css.js +1 -1
  319. package/components/select/themes/dark/select.fluent.css.js.map +1 -1
  320. package/components/select/themes/dark/select.indigo.css.js +1 -1
  321. package/components/select/themes/dark/select.indigo.css.js.map +1 -1
  322. package/components/select/themes/dark/select.material.css.js +1 -1
  323. package/components/select/themes/dark/select.material.css.js.map +1 -1
  324. package/components/select/themes/light/select.bootstrap.css.js +1 -1
  325. package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
  326. package/components/select/themes/light/select.fluent.css.js +1 -1
  327. package/components/select/themes/light/select.fluent.css.js.map +1 -1
  328. package/components/select/themes/light/select.indigo.css.js +1 -1
  329. package/components/select/themes/light/select.indigo.css.js.map +1 -1
  330. package/components/select/themes/light/select.material.css.js +1 -1
  331. package/components/select/themes/light/select.material.css.js.map +1 -1
  332. package/components/select/themes/light/select.shared.css.js +1 -1
  333. package/components/select/themes/light/select.shared.css.js.map +1 -1
  334. package/components/slider/range-slider.d.ts +5 -3
  335. package/components/slider/range-slider.js.map +1 -1
  336. package/components/slider/slider-base.d.ts +3 -2
  337. package/components/slider/slider-base.js +1 -3
  338. package/components/slider/slider-base.js.map +1 -1
  339. package/components/slider/themes/dark/slider.bootstrap.css.js +1 -1
  340. package/components/slider/themes/dark/slider.bootstrap.css.js.map +1 -1
  341. package/components/slider/themes/light/slider.bootstrap.css.js +1 -1
  342. package/components/slider/themes/light/slider.bootstrap.css.js.map +1 -1
  343. package/components/snackbar/themes/dark/snackbar.fluent.css.js +1 -1
  344. package/components/snackbar/themes/dark/snackbar.fluent.css.js.map +1 -1
  345. package/components/snackbar/themes/light/snackbar.fluent.css.js +1 -1
  346. package/components/snackbar/themes/light/snackbar.fluent.css.js.map +1 -1
  347. package/components/snackbar/themes/light/snackbar.shared.css.js +1 -1
  348. package/components/snackbar/themes/light/snackbar.shared.css.js.map +1 -1
  349. package/components/stepper/animations.d.ts +2 -1
  350. package/components/stepper/animations.js.map +1 -1
  351. package/components/stepper/step.d.ts +8 -3
  352. package/components/stepper/step.js.map +1 -1
  353. package/components/stepper/stepper.common.d.ts +8 -4
  354. package/components/stepper/stepper.common.js.map +1 -1
  355. package/components/stepper/stepper.d.ts +6 -5
  356. package/components/stepper/stepper.js.map +1 -1
  357. package/components/stepper/themes/step/step.base.css.js +1 -1
  358. package/components/stepper/themes/step/step.base.css.js.map +1 -1
  359. package/components/tabs/tabs.d.ts +3 -2
  360. package/components/tabs/tabs.js.map +1 -1
  361. package/components/textarea/textarea.d.ts +2 -2
  362. package/components/textarea/textarea.js.map +1 -1
  363. package/components/textarea/themes/dark/textarea.fluent.css.js +1 -1
  364. package/components/textarea/themes/dark/textarea.fluent.css.js.map +1 -1
  365. package/components/textarea/themes/light/textarea.fluent.css.js +1 -1
  366. package/components/textarea/themes/light/textarea.fluent.css.js.map +1 -1
  367. package/components/tile-manager/tile-ghost-util.js +2 -0
  368. package/components/tile-manager/tile-ghost-util.js.map +1 -1
  369. package/components/tile-manager/tile-manager.js.map +1 -1
  370. package/components/tile-manager/tile.d.ts +4 -2
  371. package/components/tile-manager/tile.js +36 -17
  372. package/components/tile-manager/tile.js.map +1 -1
  373. package/components/toast/themes/dark/toast.bootstrap.css.js +1 -1
  374. package/components/toast/themes/dark/toast.bootstrap.css.js.map +1 -1
  375. package/components/toast/themes/dark/toast.fluent.css.js +1 -1
  376. package/components/toast/themes/dark/toast.fluent.css.js.map +1 -1
  377. package/components/toast/themes/dark/toast.material.css.js +1 -1
  378. package/components/toast/themes/dark/toast.material.css.js.map +1 -1
  379. package/components/toast/themes/dark/toast.shared.css.js +1 -1
  380. package/components/toast/themes/dark/toast.shared.css.js.map +1 -1
  381. package/components/toast/themes/light/toast.bootstrap.css.js +1 -1
  382. package/components/toast/themes/light/toast.bootstrap.css.js.map +1 -1
  383. package/components/toast/themes/light/toast.fluent.css.js +1 -1
  384. package/components/toast/themes/light/toast.fluent.css.js.map +1 -1
  385. package/components/toast/themes/light/toast.shared.css.js +1 -1
  386. package/components/toast/themes/light/toast.shared.css.js.map +1 -1
  387. package/components/tree/tree.common.d.ts +4 -6
  388. package/components/tree/tree.common.js.map +1 -1
  389. package/components/tree/tree.d.ts +2 -1
  390. package/components/tree/tree.js.map +1 -1
  391. package/components/tree/tree.selection.js.map +1 -1
  392. package/components/types.d.ts +30 -2
  393. package/components/types.js.map +1 -1
  394. package/custom-elements.json +2368 -516
  395. package/igniteui-webcomponents.css-data.json +1 -1
  396. package/igniteui-webcomponents.html-data.json +1 -1
  397. package/index.d.ts +14 -6
  398. package/index.js +2 -1
  399. package/index.js.map +1 -1
  400. package/package.json +2 -2
  401. package/theming/types.d.ts +2 -2
  402. package/theming/types.js.map +1 -1
  403. package/web-types.json +2 -2
  404. package/components/common/decorators/blazorTypeOverride.d.ts +0 -7
  405. package/components/common/decorators/blazorTypeOverride.js +0 -4
  406. package/components/common/decorators/blazorTypeOverride.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,25 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
+ ## [Unreleased]
8
+ ### Added
9
+ - New File Input Component(`igc-file-input`)
10
+ - Exposed more public API type aliases for component property types like `ButtonVariant`, `PickerMode`, `StepperOrientation`, `HorizontalTransitionAnimation` (carousel and horizontal stepper) and more.
11
+
12
+ ### Deprecated
13
+ - Some event argument types have been renamed for consistency:
14
+ - `CheckboxChangeEventArgs` deprecated, use `IgcCheckboxChangeEventArgs` instead.
15
+ - `RadioChangeEventArgs` deprecated, use `IgcRadioChangeEventArgs` instead.
16
+ - `IgcRangeSliderValue` deprecated, use `IgcRangeSliderValueEventArgs` instead.
17
+ - `IgcActiveStepChangingArgs` deprecated, use `IgcActiveStepChangingEventArgs` instead.
18
+ - `IgcActiveStepChangedArgs` deprecated, use `IgcActiveStepChangedEventArgs` instead.
19
+ - Carousel Slide's `toggleAnimation` is now marked internal and deprecated for use in favor of parent Carousel's `select` method.
20
+ - Stepper Step's `toggleAnimation` is now marked internal and deprecated for use in favor of parent Stepper's `navigateTo` method.
21
+
22
+ ### Fixed
23
+ - Setting validation properties on a pristine non-dirty form associated element does not apply invalid styles [#1632](https://github.com/IgniteUI/igniteui-webcomponents/issues/1632)
24
+ - Exposed `IgcCalendarResourceStrings`, `PopoverPlacement` (Dropdown and Select) and `IgcTreeSelectionEventArgs` from the public API
25
+
7
26
  ## [5.3.0] - 2025-03-13
8
27
  ### Added
9
28
  - Tile manager component [#1402](https://github.com/IgniteUI/igniteui-webcomponents/pull/1402)
package/README.md CHANGED
@@ -23,6 +23,7 @@ See the [Storybook Here](https://igniteui.github.io/igniteui-webcomponents)
23
23
 
24
24
  | Components | Status | Documentation | Released Version |
25
25
  | :---------------------- | :----: | :----------------------------: | :--------------: |
26
+ | Tile Manager | ✅ | [Docs][Tile Manager Docs] | [5.3.0] |
26
27
  | Carousel | ✅ | [Docs][Carousel Docs] | [5.1.0] |
27
28
  | Date picker | ✅ | [Docs][Date Picker Docs] | [4.10.0] |
28
29
  | Divider | ✅ | [Docs][Divider Docs] | [4.10.0] |
@@ -68,11 +69,12 @@ See the [Storybook Here](https://igniteui.github.io/igniteui-webcomponents)
68
69
 
69
70
  ## Components available in [Ignite UI for WebComponents Grids]
70
71
 
71
- | Components | Status | Documentation |
72
- | :--------- | :----: | :---------------------: |
73
- | Pivot Grid | ✅ | [Docs][Pivot Grid Docs] |
74
- | Data Grid | ✅ | [Docs][Data Grid Docs] |
75
- | Tree Grid | ✅ | [Docs][Tree Grid Docs] |
72
+ | Components | Status | Documentation |
73
+ | :---------------- | :----: | :----------------------------: |
74
+ | Pivot Grid | ✅ | [Docs][Pivot Grid Docs] |
75
+ | Data Grid | ✅ | [Docs][Data Grid Docs] |
76
+ | Tree Grid | ✅ | [Docs][Tree Grid Docs] |
77
+ | Hierarchical Grid | ✅ | [Docs][Hierarchical Grid Docs] |
76
78
 
77
79
  ### The Lightweight Web Components Data Grid and Data Table
78
80
 
@@ -197,6 +199,7 @@ npm run storybook:build
197
199
  [Pivot Grid Docs]: https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/grids/pivot-grid/overview
198
200
  [Data Grid Docs]: https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/grids/grid/overview
199
201
  [Tree Grid Docs]: https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/grids/tree-grid/overview
202
+ [Hierarchical Grid Docs]: https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/grids/hierarchical-grid/overview
200
203
  [Switch Docs]: https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/inputs/switch
201
204
  [Ripple Docs]: https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/inputs/ripple
202
205
  [Radio Docs]: https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/inputs/radio
@@ -237,6 +240,7 @@ npm run storybook:build
237
240
  [Divider Docs]: https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/layouts/divider
238
241
  [Date Picker Docs]: https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/scheduling/date-picker
239
242
  [Carousel Docs]: https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/layouts/carousel
243
+ [Tile Manager Docs]: https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/layouts/tile-manager
240
244
  [1.0.0]: https://github.com/IgniteUI/igniteui-webcomponents/releases/tag/1.0.0
241
245
  [2.0.0]: https://github.com/IgniteUI/igniteui-webcomponents/releases/tag/2.0.0
242
246
  [2.1.0]: https://github.com/IgniteUI/igniteui-webcomponents/releases/tag/2.1.0
@@ -248,3 +252,4 @@ npm run storybook:build
248
252
  [4.5.0]: https://github.com/IgniteUI/igniteui-webcomponents/releases/tag/4.5.0
249
253
  [4.10.0]: https://github.com/IgniteUI/igniteui-webcomponents/releases/tag/4.10.0
250
254
  [5.1.0]: https://github.com/IgniteUI/igniteui-webcomponents/releases/tag/5.1.0
255
+ [5.3.0]: https://github.com/IgniteUI/igniteui-webcomponents/releases/tag/5.3.0
@@ -1,4 +1,5 @@
1
1
  import { LitElement } from 'lit';
2
+ import type { AvatarShape } from '../types.js';
2
3
  /**
3
4
  * An avatar component is used as a representation of a user identity
4
5
  * typically in a user profile.
@@ -37,7 +38,7 @@ export default class IgcAvatarComponent extends LitElement {
37
38
  * The shape of the avatar.
38
39
  * @attr
39
40
  */
40
- shape: 'circle' | 'rounded' | 'square';
41
+ shape: AvatarShape;
41
42
  constructor();
42
43
  protected roleDescriptionChange(): void;
43
44
  protected handleErrorState(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/components/avatar/avatar.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAgB1B,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,UAAU;IAKjD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,oBAAkB,CAAC,CAAC;IACxC,CAAC;IAmCD;QACE,KAAK,EAAE,CAAC;QA/BF,aAAQ,GAAG,KAAK,CAAC;QA4BlB,UAAK,GAAoC,QAAQ,CAAC;QAKvD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,QAAQ,CAAC;IACxC,CAAC;IAIS,qBAAqB;QAC7B,IAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC;IACnE,CAAC;IAGS,gBAAgB;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,QAAQ;YACb,CAAC,CAAC,IAAI,CAAA,yBAAyB,IAAI,CAAC,QAAQ,SAAS;YACrD,CAAC,CAAC,IAAI,CAAA,eAAe;UACrB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC1B,CAAC,CAAC,IAAI,CAAA;;;sBAGM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;sBACnB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;yBAChB,IAAI,CAAC,WAAW;;aAE5B;YACH,CAAC,CAAC,OAAO;;KAEd,CAAC;IACJ,CAAC;;AAlFsB,0BAAO,GAAG,YAAY,AAAf,CAAgB;AACvB,yBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAUzC;IADP,KAAK,EAAE;oDACiB;AAOlB;IADN,QAAQ,EAAE;+CACS;AAOb;IADN,QAAQ,EAAE;+CACS;AAOb;IADN,QAAQ,EAAE;oDACc;AAOlB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDAC6B;AAY/C;IAFT,KAAK,CAAC,UAAU,CAAC;IACjB,KAAK,CAAC,KAAK,CAAC;+DAGZ;AAGS;IADT,KAAK,CAAC,KAAK,CAAC;0DAGZ;AA3DkB,kBAAkB;IADtC,MAAM,CAAC,GAAG,CAAC;GACS,kBAAkB,CAoFtC;eApFoB,kBAAkB","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { styles } from './themes/avatar.base.css.js';\nimport { styles as shared } from './themes/shared/avatar.common.css.js';\nimport { all } from './themes/themes.js';\n\n/**\n * An avatar component is used as a representation of a user identity\n * typically in a user profile.\n *\n * @element igc-avatar\n *\n * @slot - Renders an icon inside the default slot.\n *\n * @csspart base - The base wrapper of the avatar.\n * @csspart initials - The initials wrapper of the avatar.\n * @csspart image - The image wrapper of the avatar.\n * @csspart icon - The icon wrapper of the avatar.\n */\n@themes(all)\nexport default class IgcAvatarComponent extends LitElement {\n public static readonly tagName = 'igc-avatar';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcAvatarComponent);\n }\n\n private __internals: ElementInternals;\n\n @state()\n private hasError = false;\n\n /**\n * The image source to use.\n * @attr\n */\n @property()\n public src!: string;\n\n /**\n * Alternative text for the image.\n * @attr\n */\n @property()\n public alt!: string;\n\n /**\n * Initials to use as a fallback when no image is available.\n * @attr\n */\n @property()\n public initials!: string;\n\n /**\n * The shape of the avatar.\n * @attr\n */\n @property({ reflect: true })\n public shape: 'circle' | 'rounded' | 'square' = 'square';\n\n constructor() {\n super();\n\n this.__internals = this.attachInternals();\n this.__internals.role = 'img';\n this.__internals.ariaLabel = 'avatar';\n }\n\n @watch('initials')\n @watch('alt')\n protected roleDescriptionChange() {\n this.__internals.ariaRoleDescription = this.alt ?? this.initials;\n }\n\n @watch('src')\n protected handleErrorState() {\n this.hasError = false;\n }\n\n protected handleError() {\n this.hasError = true;\n }\n\n protected override render() {\n return html`\n <div part=\"base\">\n ${this.initials\n ? html`<span part=\"initials\">${this.initials}</span>`\n : html`<slot></slot>`}\n ${this.src && !this.hasError\n ? html`\n <img\n part=\"image\"\n alt=${ifDefined(this.alt)}\n src=${ifDefined(this.src)}\n @error=${this.handleError}\n />\n `\n : nothing}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-avatar': IgcAvatarComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/components/avatar/avatar.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAgB1B,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,UAAU;IAKjD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,oBAAkB,CAAC,CAAC;IACxC,CAAC;IAmCD;QACE,KAAK,EAAE,CAAC;QA/BF,aAAQ,GAAG,KAAK,CAAC;QA4BlB,UAAK,GAAgB,QAAQ,CAAC;QAKnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,QAAQ,CAAC;IACxC,CAAC;IAIS,qBAAqB;QAC7B,IAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC;IACnE,CAAC;IAGS,gBAAgB;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,QAAQ;YACb,CAAC,CAAC,IAAI,CAAA,yBAAyB,IAAI,CAAC,QAAQ,SAAS;YACrD,CAAC,CAAC,IAAI,CAAA,eAAe;UACrB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC1B,CAAC,CAAC,IAAI,CAAA;;;sBAGM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;sBACnB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;yBAChB,IAAI,CAAC,WAAW;;aAE5B;YACH,CAAC,CAAC,OAAO;;KAEd,CAAC;IACJ,CAAC;;AAlFsB,0BAAO,GAAG,YAAY,AAAf,CAAgB;AACvB,yBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAUzC;IADP,KAAK,EAAE;oDACiB;AAOlB;IADN,QAAQ,EAAE;+CACS;AAOb;IADN,QAAQ,EAAE;+CACS;AAOb;IADN,QAAQ,EAAE;oDACc;AAOlB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDACS;AAY3B;IAFT,KAAK,CAAC,UAAU,CAAC;IACjB,KAAK,CAAC,KAAK,CAAC;+DAGZ;AAGS;IADT,KAAK,CAAC,KAAK,CAAC;0DAGZ;AA3DkB,kBAAkB;IADtC,MAAM,CAAC,GAAG,CAAC;GACS,kBAAkB,CAoFtC;eApFoB,kBAAkB","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { AvatarShape } from '../types.js';\nimport { styles } from './themes/avatar.base.css.js';\nimport { styles as shared } from './themes/shared/avatar.common.css.js';\nimport { all } from './themes/themes.js';\n\n/**\n * An avatar component is used as a representation of a user identity\n * typically in a user profile.\n *\n * @element igc-avatar\n *\n * @slot - Renders an icon inside the default slot.\n *\n * @csspart base - The base wrapper of the avatar.\n * @csspart initials - The initials wrapper of the avatar.\n * @csspart image - The image wrapper of the avatar.\n * @csspart icon - The icon wrapper of the avatar.\n */\n@themes(all)\nexport default class IgcAvatarComponent extends LitElement {\n public static readonly tagName = 'igc-avatar';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcAvatarComponent);\n }\n\n private __internals: ElementInternals;\n\n @state()\n private hasError = false;\n\n /**\n * The image source to use.\n * @attr\n */\n @property()\n public src!: string;\n\n /**\n * Alternative text for the image.\n * @attr\n */\n @property()\n public alt!: string;\n\n /**\n * Initials to use as a fallback when no image is available.\n * @attr\n */\n @property()\n public initials!: string;\n\n /**\n * The shape of the avatar.\n * @attr\n */\n @property({ reflect: true })\n public shape: AvatarShape = 'square';\n\n constructor() {\n super();\n\n this.__internals = this.attachInternals();\n this.__internals.role = 'img';\n this.__internals.ariaLabel = 'avatar';\n }\n\n @watch('initials')\n @watch('alt')\n protected roleDescriptionChange() {\n this.__internals.ariaRoleDescription = this.alt ?? this.initials;\n }\n\n @watch('src')\n protected handleErrorState() {\n this.hasError = false;\n }\n\n protected handleError() {\n this.hasError = true;\n }\n\n protected override render() {\n return html`\n <div part=\"base\">\n ${this.initials\n ? html`<span part=\"initials\">${this.initials}</span>`\n : html`<slot></slot>`}\n ${this.src && !this.hasError\n ? html`\n <img\n part=\"image\"\n alt=${ifDefined(this.alt)}\n src=${ifDefined(this.src)}\n @error=${this.handleError}\n />\n `\n : nothing}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-avatar': IgcAvatarComponent;\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { LitElement } from 'lit';
2
- import type { StyleVariant } from '../types.js';
2
+ import type { BadgeShape, StyleVariant } from '../types.js';
3
3
  /**
4
4
  * The badge is a component indicating a status on a related item or an area
5
5
  * where some active indication is required.
@@ -29,7 +29,7 @@ export default class IgcBadgeComponent extends LitElement {
29
29
  * The shape of the badge.
30
30
  * @attr
31
31
  */
32
- shape: 'rounded' | 'square';
32
+ shape: BadgeShape;
33
33
  constructor();
34
34
  protected variantChange(): void;
35
35
  protected render(): import("lit-html").TemplateResult<1>;
@@ -1 +1 @@
1
- {"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/components/badge/badge.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAa1B,IAAM,iBAAiB,yBAAvB,MAAM,iBAAkB,SAAQ,UAAU;IAKhD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,mBAAiB,CAAC,CAAC;IACvC,CAAC;IAyBD;QACE,KAAK,EAAE,CAAC;QAjBH,YAAO,GAAiB,SAAS,CAAC;QAOlC,aAAQ,GAAG,KAAK,CAAC;QAOjB,UAAK,GAAyB,SAAS,CAAC;QAI7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC;IACnC,CAAC;IAGS,aAAa;QACrB,IAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;IACjE,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;;AAhDsB,yBAAO,GAAG,WAAW,AAAd,CAAe;AACtB,wBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAc1C;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kDACa;AAOlC;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDACnB;AAOjB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDACmB;AASrC;IADT,KAAK,CAAC,SAAS,CAAC;sDAGhB;AAzCkB,iBAAiB;IADrC,MAAM,CAAC,GAAG,CAAC;GACS,iBAAiB,CAkDrC;eAlDoB,iBAAiB","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { StyleVariant } from '../types.js';\nimport { styles } from './themes/badge.base.css.js';\nimport { styles as shared } from './themes/shared/badge.common.css.js';\nimport { all } from './themes/themes.js';\n\n/**\n * The badge is a component indicating a status on a related item or an area\n * where some active indication is required.\n *\n * @element igc-badge\n *\n * @slot - Default slot for the badge.\n *\n * @csspart base - The base wrapper of the badge.\n */\n@themes(all)\nexport default class IgcBadgeComponent extends LitElement {\n public static readonly tagName = 'igc-badge';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcBadgeComponent);\n }\n\n private __internals: ElementInternals;\n\n /**\n * The type of badge.\n * @attr\n */\n @property({ reflect: true })\n public variant: StyleVariant = 'primary';\n\n /**\n * Sets whether to draw an outlined version of the badge.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public outlined = false;\n\n /**\n * The shape of the badge.\n * @attr\n */\n @property({ reflect: true })\n public shape: 'rounded' | 'square' = 'rounded';\n\n constructor() {\n super();\n this.__internals = this.attachInternals();\n this.__internals.role = 'status';\n }\n\n @watch('variant')\n protected variantChange() {\n this.__internals.ariaRoleDescription = `badge ${this.variant}`;\n }\n\n protected override render() {\n return html`\n <span part=\"base\">\n <slot></slot>\n </span>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-badge': IgcBadgeComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/components/badge/badge.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAa1B,IAAM,iBAAiB,yBAAvB,MAAM,iBAAkB,SAAQ,UAAU;IAKhD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,mBAAiB,CAAC,CAAC;IACvC,CAAC;IAyBD;QACE,KAAK,EAAE,CAAC;QAjBH,YAAO,GAAiB,SAAS,CAAC;QAOlC,aAAQ,GAAG,KAAK,CAAC;QAOjB,UAAK,GAAe,SAAS,CAAC;QAInC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC;IACnC,CAAC;IAGS,aAAa;QACrB,IAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;IACjE,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;;AAhDsB,yBAAO,GAAG,WAAW,AAAd,CAAe;AACtB,wBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAc1C;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kDACa;AAOlC;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDACnB;AAOjB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDACS;AAS3B;IADT,KAAK,CAAC,SAAS,CAAC;sDAGhB;AAzCkB,iBAAiB;IADrC,MAAM,CAAC,GAAG,CAAC;GACS,iBAAiB,CAkDrC;eAlDoB,iBAAiB","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { BadgeShape, StyleVariant } from '../types.js';\nimport { styles } from './themes/badge.base.css.js';\nimport { styles as shared } from './themes/shared/badge.common.css.js';\nimport { all } from './themes/themes.js';\n\n/**\n * The badge is a component indicating a status on a related item or an area\n * where some active indication is required.\n *\n * @element igc-badge\n *\n * @slot - Default slot for the badge.\n *\n * @csspart base - The base wrapper of the badge.\n */\n@themes(all)\nexport default class IgcBadgeComponent extends LitElement {\n public static readonly tagName = 'igc-badge';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcBadgeComponent);\n }\n\n private __internals: ElementInternals;\n\n /**\n * The type of badge.\n * @attr\n */\n @property({ reflect: true })\n public variant: StyleVariant = 'primary';\n\n /**\n * Sets whether to draw an outlined version of the badge.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public outlined = false;\n\n /**\n * The shape of the badge.\n * @attr\n */\n @property({ reflect: true })\n public shape: BadgeShape = 'rounded';\n\n constructor() {\n super();\n this.__internals = this.attachInternals();\n this.__internals.role = 'status';\n }\n\n @watch('variant')\n protected variantChange() {\n this.__internals.ariaRoleDescription = `badge ${this.variant}`;\n }\n\n protected override render() {\n return html`\n <span part=\"base\">\n <slot></slot>\n </span>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-badge': IgcBadgeComponent;\n }\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import type { ButtonVariant } from '../types.js';
1
2
  import { IgcButtonBaseComponent } from './button-base.js';
2
3
  /**
3
4
  * Represents a clickable button, used to submit forms or anywhere in a
@@ -21,7 +22,7 @@ export default class IgcButtonComponent extends IgcButtonBaseComponent {
21
22
  * Sets the variant of the button.
22
23
  * @attr
23
24
  */
24
- variant: 'flat' | 'contained' | 'outlined' | 'fab';
25
+ variant: ButtonVariant;
25
26
  protected renderContent(): import("lit-html").TemplateResult<1>;
26
27
  }
27
28
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/button/button.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAiBjC,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,sBAAsB;IAAvD;;QAcN,YAAO,GAA8C,WAAW,CAAC;IAS1E,CAAC;IAlBQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,oBAAkB,CAAC,CAAC;IACxC,CAAC;IASS,aAAa;QACrB,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;;AArBsB,0BAAO,GAAG,YAAY,AAAf,CAAgB;AAC7B,yBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAYpC;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDAC4C;AAdrD,kBAAkB;IADtC,MAAM,CAAC,GAAG,CAAC;GACS,kBAAkB,CAuBtC;eAvBoB,kBAAkB","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { IgcButtonBaseComponent } from './button-base.js';\nimport { styles } from './themes/button/button.base.css.js';\nimport { styles as shared } from './themes/button/shared/button.common.css.js';\nimport { all } from './themes/button/themes.js';\n\n/**\n * Represents a clickable button, used to submit forms or anywhere in a\n * document for accessible, standard button functionality.\n *\n * @element igc-button\n *\n * @slot - Renders the label of the button.\n * @slot prefix - Renders content before the label of the button.\n * @slot suffix - Renders content after the label of the button.\n *\n * @csspart base - The native button element of the igc-button component.\n * @csspart prefix - The prefix container of the igc-button component.\n * @csspart suffix - The suffix container of the igc-button component.\n */\n@themes(all)\nexport default class IgcButtonComponent extends IgcButtonBaseComponent {\n public static readonly tagName = 'igc-button';\n protected static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcButtonComponent);\n }\n\n /**\n * Sets the variant of the button.\n * @attr\n */\n @property({ reflect: true })\n public variant: 'flat' | 'contained' | 'outlined' | 'fab' = 'contained';\n\n protected renderContent() {\n return html`\n <slot name=\"prefix\"></slot>\n <slot></slot>\n <slot name=\"suffix\"></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-button': IgcButtonComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/button/button.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAiBjC,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,sBAAsB;IAAvD;;QAcN,YAAO,GAAkB,WAAW,CAAC;IAS9C,CAAC;IAlBQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,oBAAkB,CAAC,CAAC;IACxC,CAAC;IASS,aAAa;QACrB,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;;AArBsB,0BAAO,GAAG,YAAY,AAAf,CAAgB;AAC7B,yBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAYpC;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDACgB;AAdzB,kBAAkB;IADtC,MAAM,CAAC,GAAG,CAAC;GACS,kBAAkB,CAuBtC;eAvBoB,kBAAkB","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { ButtonVariant } from '../types.js';\nimport { IgcButtonBaseComponent } from './button-base.js';\nimport { styles } from './themes/button/button.base.css.js';\nimport { styles as shared } from './themes/button/shared/button.common.css.js';\nimport { all } from './themes/button/themes.js';\n\n/**\n * Represents a clickable button, used to submit forms or anywhere in a\n * document for accessible, standard button functionality.\n *\n * @element igc-button\n *\n * @slot - Renders the label of the button.\n * @slot prefix - Renders content before the label of the button.\n * @slot suffix - Renders content after the label of the button.\n *\n * @csspart base - The native button element of the igc-button component.\n * @csspart prefix - The prefix container of the igc-button component.\n * @csspart suffix - The suffix container of the igc-button component.\n */\n@themes(all)\nexport default class IgcButtonComponent extends IgcButtonBaseComponent {\n public static readonly tagName = 'igc-button';\n protected static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcButtonComponent);\n }\n\n /**\n * Sets the variant of the button.\n * @attr\n */\n @property({ reflect: true })\n public variant: ButtonVariant = 'contained';\n\n protected renderContent() {\n return html`\n <slot name=\"prefix\"></slot>\n <slot></slot>\n <slot name=\"suffix\"></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-button': IgcButtonComponent;\n }\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import type { IconButtonVariant } from '../types.js';
1
2
  import { IgcButtonBaseComponent } from './button-base.js';
2
3
  /**
3
4
  * @element igc-icon-button
@@ -28,7 +29,7 @@ export default class IgcIconButtonComponent extends IgcButtonBaseComponent {
28
29
  * The visual variant of the icon button.
29
30
  * @attr
30
31
  */
31
- variant: 'flat' | 'contained' | 'outlined';
32
+ variant: IconButtonVariant;
32
33
  protected renderContent(): import("lit-html").TemplateResult<1>;
33
34
  protected registerIcon(name: string, url: string, collection?: string): Promise<void>;
34
35
  protected registerIconFromText(name: string, iconText: string, collection?: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../src/components/button/icon-button.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,oBAAoB,IAAI,yBAAyB,EACjD,YAAY,IAAI,iBAAiB,GAClC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,uDAAuD,CAAC;AACzF,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAStC,IAAM,sBAAsB,8BAA5B,MAAM,sBAAuB,SAAQ,sBAAsB;IAA3D;;QA6BN,aAAQ,GAAG,KAAK,CAAC;QAOjB,YAAO,GAAsC,WAAW,CAAC;IAsClE,CAAC;IArEQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,wBAAsB,EAAE,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IA+BS,aAAa;QACrB,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAC1B,CAAC,CAAC,IAAI,CAAA;;;qBAGO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;2BACd,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;0BAC3B,IAAI,CAAC,QAAQ;;;;WAI5B;YACH,CAAC,CAAC,IAAI,CAAA,eAAe;KACxB,CAAC;IACJ,CAAC;IAIe,AAAN,KAAK,CAAC,YAAY,CAC1B,IAAY,EACZ,GAAW,EACX,UAAU,GAAG,SAAS;QAEtB,MAAM,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAIS,oBAAoB,CAC5B,IAAY,EACZ,QAAgB,EAChB,UAAU,GAAG,SAAS;QAEtB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;;AAxEsB,8BAAO,GAAG,iBAAiB,AAApB,CAAqB;AAClC,6BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAapC;IADN,QAAQ,EAAE;oDACU;AAOd;IADN,QAAQ,EAAE;0DACgB;AAOpB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wDACJ;AAOjB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uDACoC;AAqBhD;IADf,aAAa,EAAE;0DAOf;AAIS;IADT,aAAa,EAAE;kEAOf;AAzEkB,sBAAsB;IAD1C,MAAM,CAAC,GAAG,CAAC;GACS,sBAAsB,CA0E1C;eA1EoB,sBAAsB","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { blazorInclude } from '../common/decorators/blazorInclude.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport {\n registerIconFromText as registerIconFromText_impl,\n registerIcon as registerIcon_impl,\n} from '../icon/icon.registry.js';\nimport { IgcButtonBaseComponent } from './button-base.js';\nimport { styles } from './themes/icon-button/icon-button.base.css.js';\nimport { styles as shared } from './themes/icon-button/shared/icon-button.common.css.js';\nimport { all } from './themes/icon-button/themes.js';\n\n/**\n * @element igc-icon-button\n *\n * @csspart base - The wrapping element of the icon button.\n * @csspart icon - The icon element of the icon button.\n */\n@themes(all)\nexport default class IgcIconButtonComponent extends IgcButtonBaseComponent {\n public static readonly tagName = 'igc-icon-button';\n protected static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcIconButtonComponent, IgcIconComponent);\n }\n\n /* alternateName: iconName */\n /**\n * The name of the icon.\n * @attr\n */\n @property()\n public name!: string;\n\n /**\n * The name of the icon collection.\n * @attr\n */\n @property()\n public collection!: string;\n\n /**\n * Whether to flip the icon button. Useful for RTL layouts.\n * @attr\n */\n @property({ type: Boolean })\n public mirrored = false;\n\n /**\n * The visual variant of the icon button.\n * @attr\n */\n @property({ reflect: true })\n public variant: 'flat' | 'contained' | 'outlined' = 'contained';\n\n protected renderContent() {\n return html`\n ${this.name || this.mirrored\n ? html`\n <igc-icon\n part=\"icon\"\n name=${ifDefined(this.name)}\n collection=${ifDefined(this.collection)}\n .mirrored=${this.mirrored}\n aria-hidden=\"true\"\n ></igc-icon>\n <slot></slot>\n `\n : html`<slot></slot>`}\n `;\n }\n\n /* c8 ignore next 8 */\n @blazorInclude()\n protected async registerIcon(\n name: string,\n url: string,\n collection = 'default'\n ) {\n await registerIcon_impl(name, url, collection);\n }\n\n /* c8 ignore next 8 */\n @blazorInclude()\n protected registerIconFromText(\n name: string,\n iconText: string,\n collection = 'default'\n ) {\n registerIconFromText_impl(name, iconText, collection);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-icon-button': IgcIconButtonComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../src/components/button/icon-button.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,oBAAoB,IAAI,yBAAyB,EACjD,YAAY,IAAI,iBAAiB,GAClC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,uDAAuD,CAAC;AACzF,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAStC,IAAM,sBAAsB,8BAA5B,MAAM,sBAAuB,SAAQ,sBAAsB;IAA3D;;QA6BN,aAAQ,GAAG,KAAK,CAAC;QAOjB,YAAO,GAAsB,WAAW,CAAC;IAsClD,CAAC;IArEQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,wBAAsB,EAAE,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IA+BS,aAAa;QACrB,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAC1B,CAAC,CAAC,IAAI,CAAA;;;qBAGO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;2BACd,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;0BAC3B,IAAI,CAAC,QAAQ;;;;WAI5B;YACH,CAAC,CAAC,IAAI,CAAA,eAAe;KACxB,CAAC;IACJ,CAAC;IAIe,AAAN,KAAK,CAAC,YAAY,CAC1B,IAAY,EACZ,GAAW,EACX,UAAU,GAAG,SAAS;QAEtB,MAAM,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAIS,oBAAoB,CAC5B,IAAY,EACZ,QAAgB,EAChB,UAAU,GAAG,SAAS;QAEtB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;;AAxEsB,8BAAO,GAAG,iBAAiB,AAApB,CAAqB;AAClC,6BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAapC;IADN,QAAQ,EAAE;oDACU;AAOd;IADN,QAAQ,EAAE;0DACgB;AAOpB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wDACJ;AAOjB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uDACoB;AAqBhC;IADf,aAAa,EAAE;0DAOf;AAIS;IADT,aAAa,EAAE;kEAOf;AAzEkB,sBAAsB;IAD1C,MAAM,CAAC,GAAG,CAAC;GACS,sBAAsB,CA0E1C;eA1EoB,sBAAsB","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { blazorInclude } from '../common/decorators/blazorInclude.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport {\n registerIconFromText as registerIconFromText_impl,\n registerIcon as registerIcon_impl,\n} from '../icon/icon.registry.js';\nimport type { IconButtonVariant } from '../types.js';\nimport { IgcButtonBaseComponent } from './button-base.js';\nimport { styles } from './themes/icon-button/icon-button.base.css.js';\nimport { styles as shared } from './themes/icon-button/shared/icon-button.common.css.js';\nimport { all } from './themes/icon-button/themes.js';\n\n/**\n * @element igc-icon-button\n *\n * @csspart base - The wrapping element of the icon button.\n * @csspart icon - The icon element of the icon button.\n */\n@themes(all)\nexport default class IgcIconButtonComponent extends IgcButtonBaseComponent {\n public static readonly tagName = 'igc-icon-button';\n protected static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcIconButtonComponent, IgcIconComponent);\n }\n\n /* alternateName: iconName */\n /**\n * The name of the icon.\n * @attr\n */\n @property()\n public name!: string;\n\n /**\n * The name of the icon collection.\n * @attr\n */\n @property()\n public collection!: string;\n\n /**\n * Whether to flip the icon button. Useful for RTL layouts.\n * @attr\n */\n @property({ type: Boolean })\n public mirrored = false;\n\n /**\n * The visual variant of the icon button.\n * @attr\n */\n @property({ reflect: true })\n public variant: IconButtonVariant = 'contained';\n\n protected renderContent() {\n return html`\n ${this.name || this.mirrored\n ? html`\n <igc-icon\n part=\"icon\"\n name=${ifDefined(this.name)}\n collection=${ifDefined(this.collection)}\n .mirrored=${this.mirrored}\n aria-hidden=\"true\"\n ></igc-icon>\n <slot></slot>\n `\n : html`<slot></slot>`}\n `;\n }\n\n /* c8 ignore next 8 */\n @blazorInclude()\n protected async registerIcon(\n name: string,\n url: string,\n collection = 'default'\n ) {\n await registerIcon_impl(name, url, collection);\n }\n\n /* c8 ignore next 8 */\n @blazorInclude()\n protected registerIconFromText(\n name: string,\n iconText: string,\n collection = 'default'\n ) {\n registerIconFromText_impl(name, iconText, collection);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-icon-button': IgcIconButtonComponent;\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { LitElement } from 'lit';
2
2
  import type { Constructor } from '../common/mixins/constructor.js';
3
+ import type { ButtonGroupSelection, ContentOrientation } from '../types.js';
3
4
  export interface IgcButtonGroupComponentEventMap {
4
5
  igcSelect: CustomEvent<string | undefined>;
5
6
  igcDeselect: CustomEvent<string | undefined>;
@@ -35,12 +36,12 @@ export default class IgcButtonGroupComponent extends IgcButtonGroupComponent_bas
35
36
  * Sets the orientation of the buttons in the group.
36
37
  * @attr
37
38
  */
38
- alignment: 'horizontal' | 'vertical';
39
+ alignment: ContentOrientation;
39
40
  /**
40
41
  * Controls the mode of selection for the button group.
41
42
  * @attr
42
43
  */
43
- selection: 'single' | 'single-required' | 'multiple';
44
+ selection: ButtonGroupSelection;
44
45
  /**
45
46
  * Gets/Sets the currently selected buttons (their values).
46
47
  * @attr
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.js","sourceRoot":"","sources":["../../../src/components/button-group/button-group.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAEL,wBAAwB,GACzB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,wBAAwB,MAAM,oBAAoB,CAAC;AAqB3C,IAAM,uBAAuB,+BAA7B,MAAM,uBAAwB,SAAQ,iBAAiB,CAGpE,UAAU,CAAC;IAKJ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,yBAAuB,EAAE,wBAAwB,CAAC,CAAC;IACvE,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC;IACvC,CAAC;IAIO,iBAAiB,CAAC,EACxB,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,GACqB;QACnD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QACnC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CACzB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CACnD,CAAC;QAEF,KAAK,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACjC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAY,gBAAgB;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IA+BD,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,IAAW,aAAa,CAAC,MAAgB;QACvC,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;IAGS,mBAAmB;QAC3B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/B,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAGS,oBAAoB;QAC5B,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC/B,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QAhFF,mBAAc,GAAgB,IAAI,GAAG,EAAE,CAAC;QAiCzC,aAAQ,GAAG,KAAK,CAAC;QAOjB,cAAS,GAA8B,YAAY,CAAC;QAOpD,cAAS,GAA8C,QAAQ,CAAC;QAmCrE,wBAAwB,CAAC,IAAI,EAAE;YAC7B,QAAQ,EAAE,IAAI,CAAC,iBAAiB;YAChC,MAAM,EAAE,CAAC,wBAAwB,CAAC,OAAO,CAAC;YAC1C,MAAM,EAAE;gBACN,eAAe,EAAE,CAAC,UAAU,CAAC;gBAC7B,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,IAAI;aACd;SACF,CAAC,CAAC;IACL,CAAC;IAEkB,YAAY;QAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAEtC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;gBAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/B,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAiB;QACnC,MAAM,MAAM,GAAG,wBAAwB,CACrC,wBAAwB,CAAC,OAAO,EAChC,KAAK,CACN,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,UAAU;gBACb,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC;gBACtC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,MAAgC;QAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,KAAK,iBAAiB,CAAC;QAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,cAAc,IAAI,cAAc,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;QAEvE,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,cAAc,IAAI,MAAM;gBAAE,OAAO;YACrC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,MAAM;YAAE,OAAO;QACnB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAEO,uBAAuB,CAAC,MAAgC;QAC9D,MAAM,CAAC,QAAQ;YACb,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAChC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAEO,eAAe,CAAC,MAAgC;QACtD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAEO,iBAAiB,CAAC,MAAgC;QACxD,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAEO,YAAY,CAAC,MAAmB;QACtC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC/B,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;YACrB,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACrB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;wBAIS,IAAI,CAAC,QAAQ;iBACpB,IAAI,CAAC,WAAW;;;;KAI5B,CAAC;IACJ,CAAC;;AApMsB,+BAAO,GAAG,kBAAkB,AAArB,CAAsB;AACtC,8BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAqChC;IADP,qBAAqB,CAAC,EAAE,QAAQ,EAAE,wBAAwB,CAAC,OAAO,EAAE,CAAC;8DACd;AAOjD;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yDACnB;AAOjB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0DAC+B;AAOpD;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;0DAC0C;AAOvE;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;4DAGtE;AAQS;IADT,KAAK,CAAC,UAAU,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;kEAKjD;AAGS;IADT,KAAK,CAAC,WAAW,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;mEAOlD;AA7FkB,uBAAuB;IAD3C,MAAM,CAAC,GAAG,CAAC;GACS,uBAAuB,CAyM3C;eAzMoB,uBAAuB","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport {\n type MutationControllerParams,\n createMutationController,\n} from '../common/controllers/mutation-observer.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { findElementFromEventPath, last } from '../common/util.js';\nimport { styles } from './themes/group.base.css.js';\nimport { all } from './themes/group.js';\nimport { styles as shared } from './themes/shared/group/group.common.css.js';\nimport IgcToggleButtonComponent from './toggle-button.js';\n\nexport interface IgcButtonGroupComponentEventMap {\n igcSelect: CustomEvent<string | undefined>;\n igcDeselect: CustomEvent<string | undefined>;\n}\n\n/* blazorAdditionalDependency: IgcToggleButtonComponent */\n/**\n * The `igc-button-group` groups a series of `igc-toggle-button`s together, exposing features such as layout and selection.\n *\n * @element igc-button-group\n *\n * @slot - Renders `igc-toggle-button` component.\n *\n * @fires igcSelect - Emitted when a button is selected through user interaction.\n * @fires igcDeselect - Emitted when a button is deselected through user interaction.\n *\n * @csspart group - The button group container.\n */\n@themes(all)\nexport default class IgcButtonGroupComponent extends EventEmitterMixin<\n IgcButtonGroupComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-button-group';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcButtonGroupComponent, IgcToggleButtonComponent);\n }\n\n private get isMultiple() {\n return this.selection === 'multiple';\n }\n\n private _selectedItems: Set<string> = new Set();\n\n private _observerCallback({\n changes: { added, attributes },\n }: MutationControllerParams<IgcToggleButtonComponent>) {\n if (this.isMultiple || this._selectedButtons.length <= 1) {\n return;\n }\n\n const buttons = this.toggleButtons;\n const idx = buttons.indexOf(\n added.length ? last(added).node : last(attributes)\n );\n\n for (const [i, button] of buttons.entries()) {\n if (button.selected && i !== idx) {\n button.selected = false;\n }\n }\n }\n\n private get _selectedButtons(): Array<IgcToggleButtonComponent> {\n return this.toggleButtons.filter((b) => b.selected);\n }\n\n @queryAssignedElements({ selector: IgcToggleButtonComponent.tagName })\n private toggleButtons!: Array<IgcToggleButtonComponent>;\n\n /**\n * Disables all buttons inside the group.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /**\n * Sets the orientation of the buttons in the group.\n * @attr\n */\n @property({ reflect: true })\n public alignment: 'horizontal' | 'vertical' = 'horizontal';\n\n /**\n * Controls the mode of selection for the button group.\n * @attr\n */\n @property({ reflect: false })\n public selection: 'single' | 'single-required' | 'multiple' = 'single';\n\n /**\n * Gets/Sets the currently selected buttons (their values).\n * @attr\n */\n @property({ attribute: 'selected-items', type: Array, reflect: false })\n public get selectedItems(): string[] {\n return this._selectedButtons.map((b) => b.value).filter((v) => v);\n }\n\n public set selectedItems(values: string[]) {\n this._selectedItems = new Set(Array.isArray(values) ? values : []);\n this.setSelection(this._selectedItems);\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n protected updateDisabledState() {\n this.toggleButtons.forEach((b) => {\n b.disabled = this.disabled;\n });\n }\n\n @watch('selection', { waitUntilFirstUpdate: true })\n protected updateSelectionState() {\n if (this._selectedButtons.length) {\n this.toggleButtons.forEach((b) => {\n b.selected = false;\n });\n }\n }\n\n constructor() {\n super();\n\n createMutationController(this, {\n callback: this._observerCallback,\n filter: [IgcToggleButtonComponent.tagName],\n config: {\n attributeFilter: ['selected'],\n childList: true,\n subtree: true,\n },\n });\n }\n\n protected override firstUpdated() {\n if (this.disabled) {\n this.updateDisabledState();\n }\n\n const buttons = this._selectedButtons;\n\n if (buttons.length) {\n if (!this.isMultiple) {\n const index = buttons.indexOf(buttons.at(-1)!);\n\n for (let i = 0; i < index; i++) {\n buttons[i].selected = false;\n }\n }\n } else {\n this.setSelection(this._selectedItems);\n }\n }\n\n private handleClick(event: MouseEvent) {\n const button = findElementFromEventPath<IgcToggleButtonComponent>(\n IgcToggleButtonComponent.tagName,\n event\n );\n\n if (button) {\n this.isMultiple\n ? this.handleMultipleSelection(button)\n : this.handleSingleSelection(button);\n }\n }\n\n private handleSingleSelection(button: IgcToggleButtonComponent) {\n const singleRequired = this.selection === 'single-required';\n const selectedButton = this._selectedButtons.at(0);\n const isSame = selectedButton && selectedButton.value === button.value;\n\n if (selectedButton) {\n if (singleRequired && isSame) return;\n this.emitDeselectEvent(selectedButton);\n }\n if (isSame) return;\n this.emitSelectEvent(button);\n }\n\n private handleMultipleSelection(button: IgcToggleButtonComponent) {\n button.selected\n ? this.emitDeselectEvent(button)\n : this.emitSelectEvent(button);\n }\n\n private emitSelectEvent(button: IgcToggleButtonComponent) {\n button.selected = true;\n this.emitEvent('igcSelect', { detail: button.value });\n }\n\n private emitDeselectEvent(button: IgcToggleButtonComponent) {\n button.selected = false;\n this.emitEvent('igcDeselect', { detail: button.value });\n }\n\n private setSelection(values: Set<string>) {\n if (!values.size) {\n this.toggleButtons.forEach((b) => {\n b.selected = false;\n });\n return;\n }\n\n for (const button of this.toggleButtons) {\n if (values.has(button.value)) {\n button.selected = true;\n if (!this.isMultiple) {\n break;\n }\n }\n }\n }\n\n protected override render() {\n return html`\n <div\n part=\"group\"\n role=\"group\"\n aria-disabled=${this.disabled}\n @click=${this.handleClick}\n >\n <slot></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-button-group': IgcButtonGroupComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"button-group.js","sourceRoot":"","sources":["../../../src/components/button-group/button-group.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport {\n type MutationControllerParams,\n createMutationController,\n} from '../common/controllers/mutation-observer.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { findElementFromEventPath, last } from '../common/util.js';\nimport type { ButtonGroupSelection, ContentOrientation } from '../types.js';\nimport { styles } from './themes/group.base.css.js';\nimport { all } from './themes/group.js';\nimport { styles as shared } from './themes/shared/group/group.common.css.js';\nimport IgcToggleButtonComponent from './toggle-button.js';\n\nexport interface IgcButtonGroupComponentEventMap {\n igcSelect: CustomEvent<string | undefined>;\n igcDeselect: CustomEvent<string | undefined>;\n}\n\n/* blazorAdditionalDependency: IgcToggleButtonComponent */\n/**\n * The `igc-button-group` groups a series of `igc-toggle-button`s together, exposing features such as layout and selection.\n *\n * @element igc-button-group\n *\n * @slot - Renders `igc-toggle-button` component.\n *\n * @fires igcSelect - Emitted when a button is selected through user interaction.\n * @fires igcDeselect - Emitted when a button is deselected through user interaction.\n *\n * @csspart group - The button group container.\n */\n@themes(all)\nexport default class IgcButtonGroupComponent extends EventEmitterMixin<\n IgcButtonGroupComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-button-group';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcButtonGroupComponent, IgcToggleButtonComponent);\n }\n\n private get isMultiple() {\n return this.selection === 'multiple';\n }\n\n private _selectedItems: Set<string> = new Set();\n\n private _observerCallback({\n changes: { added, attributes },\n }: MutationControllerParams<IgcToggleButtonComponent>) {\n if (this.isMultiple || this._selectedButtons.length <= 1) {\n return;\n }\n\n const buttons = this.toggleButtons;\n const idx = buttons.indexOf(\n added.length ? last(added).node : last(attributes)\n );\n\n for (const [i, button] of buttons.entries()) {\n if (button.selected && i !== idx) {\n button.selected = false;\n }\n }\n }\n\n private get _selectedButtons(): Array<IgcToggleButtonComponent> {\n return this.toggleButtons.filter((b) => b.selected);\n }\n\n @queryAssignedElements({ selector: IgcToggleButtonComponent.tagName })\n private toggleButtons!: Array<IgcToggleButtonComponent>;\n\n /**\n * Disables all buttons inside the group.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /**\n * Sets the orientation of the buttons in the group.\n * @attr\n */\n @property({ reflect: true })\n public alignment: ContentOrientation = 'horizontal';\n\n /**\n * Controls the mode of selection for the button group.\n * @attr\n */\n @property({ reflect: false })\n public selection: ButtonGroupSelection = 'single';\n\n /**\n * Gets/Sets the currently selected buttons (their values).\n * @attr\n */\n @property({ attribute: 'selected-items', type: Array, reflect: false })\n public get selectedItems(): string[] {\n return this._selectedButtons.map((b) => b.value).filter((v) => v);\n }\n\n public set selectedItems(values: string[]) {\n this._selectedItems = new Set(Array.isArray(values) ? values : []);\n this.setSelection(this._selectedItems);\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n protected updateDisabledState() {\n this.toggleButtons.forEach((b) => {\n b.disabled = this.disabled;\n });\n }\n\n @watch('selection', { waitUntilFirstUpdate: true })\n protected updateSelectionState() {\n if (this._selectedButtons.length) {\n this.toggleButtons.forEach((b) => {\n b.selected = false;\n });\n }\n }\n\n constructor() {\n super();\n\n createMutationController(this, {\n callback: this._observerCallback,\n filter: [IgcToggleButtonComponent.tagName],\n config: {\n attributeFilter: ['selected'],\n childList: true,\n subtree: true,\n },\n });\n }\n\n protected override firstUpdated() {\n if (this.disabled) {\n this.updateDisabledState();\n }\n\n const buttons = this._selectedButtons;\n\n if (buttons.length) {\n if (!this.isMultiple) {\n const index = buttons.indexOf(buttons.at(-1)!);\n\n for (let i = 0; i < index; i++) {\n buttons[i].selected = false;\n }\n }\n } else {\n this.setSelection(this._selectedItems);\n }\n }\n\n private handleClick(event: MouseEvent) {\n const button = findElementFromEventPath<IgcToggleButtonComponent>(\n IgcToggleButtonComponent.tagName,\n event\n );\n\n if (button) {\n this.isMultiple\n ? this.handleMultipleSelection(button)\n : this.handleSingleSelection(button);\n }\n }\n\n private handleSingleSelection(button: IgcToggleButtonComponent) {\n const singleRequired = this.selection === 'single-required';\n const selectedButton = this._selectedButtons.at(0);\n const isSame = selectedButton && selectedButton.value === button.value;\n\n if (selectedButton) {\n if (singleRequired && isSame) return;\n this.emitDeselectEvent(selectedButton);\n }\n if (isSame) return;\n this.emitSelectEvent(button);\n }\n\n private handleMultipleSelection(button: IgcToggleButtonComponent) {\n button.selected\n ? this.emitDeselectEvent(button)\n : this.emitSelectEvent(button);\n }\n\n private emitSelectEvent(button: IgcToggleButtonComponent) {\n button.selected = true;\n this.emitEvent('igcSelect', { detail: button.value });\n }\n\n private emitDeselectEvent(button: IgcToggleButtonComponent) {\n button.selected = false;\n this.emitEvent('igcDeselect', { detail: button.value });\n }\n\n private setSelection(values: Set<string>) {\n if (!values.size) {\n this.toggleButtons.forEach((b) => {\n b.selected = false;\n });\n return;\n }\n\n for (const button of this.toggleButtons) {\n if (values.has(button.value)) {\n button.selected = true;\n if (!this.isMultiple) {\n break;\n }\n }\n }\n }\n\n protected override render() {\n return html`\n <div\n part=\"group\"\n role=\"group\"\n aria-disabled=${this.disabled}\n @click=${this.handleClick}\n >\n <slot></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-button-group': IgcButtonGroupComponent;\n }\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--elevation: var(--ig-button-group-elevation, var(--ig-elevation-0));--idle-shadow-color: var(--ig-button-group-idle-shadow-color, hsl(from var(--ig-gray-900) h s l/0.15));--selected-shadow-color: var(--ig-button-group-selected-shadow-color, hsl(from var(--ig-primary-400) h s l/0.5));--disabled-background-color: var(--ig-button-group-disabled-background-color, var(--ig-gray-900-contrast));--disabled-selected-background: var(--ig-button-group-disabled-selected-background, hsl(from var(--ig-primary-400) h s l/0.5));--item-icon-color: var(--ig-button-group-item-icon-color, var(--ig-gray-600));--item-hover-icon-color: var(--ig-button-group-item-hover-icon-color, var(--ig-gray-700));--item-hover-border-color: var(--ig-button-group-item-hover-border-color, var(--ig-gray-500));--item-focused-background: var(--ig-button-group-item-focused-background, var(--ig-gray-50));--item-focused-hover-background: var(--ig-button-group-item-focused-hover-background, var(--ig-gray-200));--item-selected-background: var(--ig-button-group-item-selected-background, var(--ig-primary-500));--item-selected-text-color: var(--ig-button-group-item-selected-text-color, var(--ig-primary-500-contrast));--item-selected-icon-color: var(--ig-button-group-item-selected-icon-color, hsl(from var(--ig-primary-500-contrast) h s l/0.8));--item-selected-border-color: var(--ig-button-group-item-selected-border-color, var(--ig-primary-500));--item-selected-hover-background: var(--ig-button-group-item-selected-hover-background, var(--ig-primary-400));--item-selected-hover-border-color: var(--ig-button-group-item-selected-hover-border-color, var(--ig-primary-400));--item-selected-hover-text-color: var(--ig-button-group-item-selected-hover-text-color, var(--ig-primary-500-contrast));--item-selected-hover-icon-color: var(--ig-button-group-item-selected-hover-icon-color, var(--ig-primary-500-contrast));--item-selected-focus-background: var(--ig-button-group-item-selected-focus-background, var(--ig-primary-500));--item-selected-focus-hover-background: var(--ig-button-group-item-selected-focus-hover-background, var(--ig-primary-400));--disabled-text-color: var(--ig-button-group-disabled-text-color, hsl(from var(--ig-gray-900) h s l/0.2));--item-disabled-border: var(--ig-button-group-item-disabled-border, var(--ig-gray-300));--disabled-selected-text-color: var(--ig-button-group-disabled-selected-text-color, hsl(from var(--ig-primary-500-contrast) h s l/0.4));--disabled-selected-icon-color: var(--ig-button-group-disabled-selected-icon-color, hsl(from var(--ig-primary-500-contrast) h s l/0.3));--disabled-selected-border-color: var(--ig-button-group-disabled-selected-border-color, hsl(from var(--ig-primary-400) h s l/0.5));--ig-theme: material}`;
2
+ export const styles = css `:host{--elevation: var(--ig-button-group-elevation, var(--ig-elevation-0));--idle-shadow-color: var(--ig-button-group-idle-shadow-color, hsl(from var(--ig-gray-900) h s l/0.15));--selected-shadow-color: var(--ig-button-group-selected-shadow-color, hsl(from var(--ig-primary-400) h s l/0.5));--disabled-background-color: var(--ig-button-group-disabled-background-color, var(--ig-gray-900-contrast));--disabled-selected-background: var(--ig-button-group-disabled-selected-background, hsl(from var(--ig-primary-400) h s l/0.5));--item-icon-color: var(--ig-button-group-item-icon-color, var(--ig-gray-600));--item-hover-icon-color: var(--ig-button-group-item-hover-icon-color, var(--ig-gray-700));--item-hover-border-color: var(--ig-button-group-item-hover-border-color, var(--ig-gray-500));--item-focused-background: var(--ig-button-group-item-focused-background, var(--ig-gray-50));--item-focused-hover-background: var(--ig-button-group-item-focused-hover-background, var(--ig-gray-200));--item-selected-background: var(--ig-button-group-item-selected-background, var(--ig-primary-500));--item-selected-text-color: var(--ig-button-group-item-selected-text-color, var(--ig-primary-500-contrast));--item-selected-icon-color: var(--ig-button-group-item-selected-icon-color, hsl(from var(--ig-primary-500-contrast) h s l/0.8));--item-selected-border-color: var(--ig-button-group-item-selected-border-color, var(--ig-primary-500));--item-selected-hover-background: var(--ig-button-group-item-selected-hover-background, var(--ig-primary-400));--item-selected-hover-border-color: var(--ig-button-group-item-selected-hover-border-color, var(--ig-primary-400));--item-selected-hover-text-color: var(--ig-button-group-item-selected-hover-text-color, var(--ig-primary-500-contrast));--item-selected-hover-icon-color: var(--ig-button-group-item-selected-hover-icon-color, var(--ig-primary-500-contrast));--item-selected-focus-background: var(--ig-button-group-item-selected-focus-background, var(--ig-primary-500));--item-selected-focus-hover-background: var(--ig-button-group-item-selected-focus-hover-background, var(--ig-primary-400));--disabled-text-color: var(--ig-button-group-disabled-text-color, hsl(from var(--ig-gray-900) h s l/0.2));--item-disabled-border: var(--ig-button-group-item-disabled-border, var(--ig-gray-300));--disabled-selected-text-color: var(--ig-button-group-disabled-selected-text-color, hsl(from var(--ig-primary-500-contrast) h s l/0.4));--disabled-selected-icon-color: var(--ig-button-group-disabled-selected-icon-color, hsl(from var(--ig-primary-500-contrast) h s l/0.3));--disabled-selected-border-color: var(--ig-button-group-disabled-selected-border-color, hsl(from var(--ig-primary-400) h s l/0.5));--ig-theme: indigo}`;
3
3
  //# sourceMappingURL=button-group.indigo.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/button-group/themes/light/button-group.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,wrFAAwrF,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--elevation: var(--ig-button-group-elevation, var(--ig-elevation-0));--idle-shadow-color: var(--ig-button-group-idle-shadow-color, hsl(from var(--ig-gray-900) h s l/0.15));--selected-shadow-color: var(--ig-button-group-selected-shadow-color, hsl(from var(--ig-primary-400) h s l/0.5));--disabled-background-color: var(--ig-button-group-disabled-background-color, var(--ig-gray-900-contrast));--disabled-selected-background: var(--ig-button-group-disabled-selected-background, hsl(from var(--ig-primary-400) h s l/0.5));--item-icon-color: var(--ig-button-group-item-icon-color, var(--ig-gray-600));--item-hover-icon-color: var(--ig-button-group-item-hover-icon-color, var(--ig-gray-700));--item-hover-border-color: var(--ig-button-group-item-hover-border-color, var(--ig-gray-500));--item-focused-background: var(--ig-button-group-item-focused-background, var(--ig-gray-50));--item-focused-hover-background: var(--ig-button-group-item-focused-hover-background, var(--ig-gray-200));--item-selected-background: var(--ig-button-group-item-selected-background, var(--ig-primary-500));--item-selected-text-color: var(--ig-button-group-item-selected-text-color, var(--ig-primary-500-contrast));--item-selected-icon-color: var(--ig-button-group-item-selected-icon-color, hsl(from var(--ig-primary-500-contrast) h s l/0.8));--item-selected-border-color: var(--ig-button-group-item-selected-border-color, var(--ig-primary-500));--item-selected-hover-background: var(--ig-button-group-item-selected-hover-background, var(--ig-primary-400));--item-selected-hover-border-color: var(--ig-button-group-item-selected-hover-border-color, var(--ig-primary-400));--item-selected-hover-text-color: var(--ig-button-group-item-selected-hover-text-color, var(--ig-primary-500-contrast));--item-selected-hover-icon-color: var(--ig-button-group-item-selected-hover-icon-color, var(--ig-primary-500-contrast));--item-selected-focus-background: var(--ig-button-group-item-selected-focus-background, var(--ig-primary-500));--item-selected-focus-hover-background: var(--ig-button-group-item-selected-focus-hover-background, var(--ig-primary-400));--disabled-text-color: var(--ig-button-group-disabled-text-color, hsl(from var(--ig-gray-900) h s l/0.2));--item-disabled-border: var(--ig-button-group-item-disabled-border, var(--ig-gray-300));--disabled-selected-text-color: var(--ig-button-group-disabled-selected-text-color, hsl(from var(--ig-primary-500-contrast) h s l/0.4));--disabled-selected-icon-color: var(--ig-button-group-disabled-selected-icon-color, hsl(from var(--ig-primary-500-contrast) h s l/0.3));--disabled-selected-border-color: var(--ig-button-group-disabled-selected-border-color, hsl(from var(--ig-primary-400) h s l/0.5));--ig-theme: material}`;\n"]}
1
+ {"version":3,"file":"button-group.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/button-group/themes/light/button-group.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,srFAAsrF,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--elevation: var(--ig-button-group-elevation, var(--ig-elevation-0));--idle-shadow-color: var(--ig-button-group-idle-shadow-color, hsl(from var(--ig-gray-900) h s l/0.15));--selected-shadow-color: var(--ig-button-group-selected-shadow-color, hsl(from var(--ig-primary-400) h s l/0.5));--disabled-background-color: var(--ig-button-group-disabled-background-color, var(--ig-gray-900-contrast));--disabled-selected-background: var(--ig-button-group-disabled-selected-background, hsl(from var(--ig-primary-400) h s l/0.5));--item-icon-color: var(--ig-button-group-item-icon-color, var(--ig-gray-600));--item-hover-icon-color: var(--ig-button-group-item-hover-icon-color, var(--ig-gray-700));--item-hover-border-color: var(--ig-button-group-item-hover-border-color, var(--ig-gray-500));--item-focused-background: var(--ig-button-group-item-focused-background, var(--ig-gray-50));--item-focused-hover-background: var(--ig-button-group-item-focused-hover-background, var(--ig-gray-200));--item-selected-background: var(--ig-button-group-item-selected-background, var(--ig-primary-500));--item-selected-text-color: var(--ig-button-group-item-selected-text-color, var(--ig-primary-500-contrast));--item-selected-icon-color: var(--ig-button-group-item-selected-icon-color, hsl(from var(--ig-primary-500-contrast) h s l/0.8));--item-selected-border-color: var(--ig-button-group-item-selected-border-color, var(--ig-primary-500));--item-selected-hover-background: var(--ig-button-group-item-selected-hover-background, var(--ig-primary-400));--item-selected-hover-border-color: var(--ig-button-group-item-selected-hover-border-color, var(--ig-primary-400));--item-selected-hover-text-color: var(--ig-button-group-item-selected-hover-text-color, var(--ig-primary-500-contrast));--item-selected-hover-icon-color: var(--ig-button-group-item-selected-hover-icon-color, var(--ig-primary-500-contrast));--item-selected-focus-background: var(--ig-button-group-item-selected-focus-background, var(--ig-primary-500));--item-selected-focus-hover-background: var(--ig-button-group-item-selected-focus-hover-background, var(--ig-primary-400));--disabled-text-color: var(--ig-button-group-disabled-text-color, hsl(from var(--ig-gray-900) h s l/0.2));--item-disabled-border: var(--ig-button-group-item-disabled-border, var(--ig-gray-300));--disabled-selected-text-color: var(--ig-button-group-disabled-selected-text-color, hsl(from var(--ig-primary-500-contrast) h s l/0.4));--disabled-selected-icon-color: var(--ig-button-group-disabled-selected-icon-color, hsl(from var(--ig-primary-500-contrast) h s l/0.3));--disabled-selected-border-color: var(--ig-button-group-disabled-selected-border-color, hsl(from var(--ig-primary-400) h s l/0.5));--ig-theme: indigo}`;\n"]}
@@ -1,6 +1,6 @@
1
1
  import { LitElement } from 'lit';
2
2
  import { CalendarDay } from './model.js';
3
- import type { DateRangeDescriptor, WeekDays } from './types.js';
3
+ import type { CalendarSelection, DateRangeDescriptor, WeekDays } from './types.js';
4
4
  export declare class IgcCalendarBaseComponent extends LitElement {
5
5
  private _initialActiveDateSet;
6
6
  protected get _hasValues(): boolean;
@@ -37,7 +37,7 @@ export declare class IgcCalendarBaseComponent extends LitElement {
37
37
  * Sets the type of selection in the component.
38
38
  * @attr selection
39
39
  */
40
- selection: 'single' | 'multiple' | 'range';
40
+ selection: CalendarSelection;
41
41
  /**
42
42
  * Whether to show the week numbers.
43
43
  * @attr show-week-numbers
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/components/calendar/base.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\n\nimport { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';\nimport { blazorIndirectRender } from '../common/decorators/blazorIndirectRender.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { first } from '../common/util.js';\nimport { convertToDate, convertToDates, getWeekDayNumber } from './helpers.js';\nimport { CalendarDay } from './model.js';\nimport type { DateRangeDescriptor, WeekDays } from './types.js';\n\n@blazorIndirectRender\n@blazorDeepImport\nexport class IgcCalendarBaseComponent extends LitElement {\n private _initialActiveDateSet = false;\n\n protected get _hasValues() {\n return this._values && this._values.length > 0;\n }\n\n protected get _isSingle() {\n return this.selection === 'single';\n }\n\n protected get _isMultiple() {\n return this.selection === 'multiple';\n }\n\n protected get _isRange() {\n return this.selection === 'range';\n }\n\n @state()\n protected _rangePreviewDate?: CalendarDay;\n\n @state()\n protected _firstDayOfWeek = 0;\n\n @state()\n protected _activeDate = CalendarDay.today;\n\n @state()\n protected _value: CalendarDay | null = null;\n\n @state()\n protected _values: CalendarDay[] = [];\n\n @state()\n protected _specialDates: DateRangeDescriptor[] = [];\n\n @state()\n protected _disabledDates: DateRangeDescriptor[] = [];\n\n /* blazorSuppress */\n /**\n * The current value of the calendar.\n * Used when selection is set to single\n *\n * @attr value\n */\n @property({ converter: convertToDate })\n public set value(value: Date | string | null | undefined) {\n const converted = convertToDate(value);\n this._value = converted ? CalendarDay.from(converted) : null;\n }\n\n public get value(): Date | null {\n return this._value ? this._value.native : null;\n }\n\n /* blazorSuppress */\n /**\n * The current values of the calendar.\n * Used when selection is set to multiple of range.\n *\n * @attr values\n */\n @property({ converter: convertToDates })\n public set values(values: (Date | string)[] | string | null | undefined) {\n const converted = convertToDates(values);\n this._values = converted ? converted.map((v) => CalendarDay.from(v)) : [];\n }\n\n public get values(): Date[] {\n return this._values ? this._values.map((v) => v.native) : [];\n }\n\n /* blazorSuppress */\n /** Get/Set the date which is shown in view and is highlighted. By default it is the current date. */\n @property({ attribute: 'active-date', converter: convertToDate })\n public set activeDate(value: Date | string | null | undefined) {\n this._initialActiveDateSet = true;\n const converted = convertToDate(value);\n this._activeDate = converted\n ? CalendarDay.from(converted)\n : CalendarDay.today;\n }\n\n public get activeDate(): Date {\n return this._activeDate.native;\n }\n\n /**\n * Sets the type of selection in the component.\n * @attr selection\n */\n @property()\n public selection: 'single' | 'multiple' | 'range' = 'single';\n\n /**\n * Whether to show the week numbers.\n * @attr show-week-numbers\n */\n @property({ type: Boolean, reflect: true, attribute: 'show-week-numbers' })\n public showWeekNumbers = false;\n\n /**\n * Gets/Sets the first day of the week.\n * @attr week-start\n */\n @property({ attribute: 'week-start' })\n public weekStart: WeekDays = 'sunday';\n\n /**\n * Gets/Sets the locale used for formatting and displaying the dates in the component.\n * @attr locale\n */\n @property()\n public locale = 'en';\n\n /** Gets/Sets the special dates for the component. */\n @property({ attribute: false })\n public set specialDates(value: DateRangeDescriptor[]) {\n this._specialDates = value ?? [];\n }\n\n public get specialDates(): DateRangeDescriptor[] | undefined {\n return this._specialDates.length ? this._specialDates : undefined;\n }\n\n /** Gets/Sets the disabled dates for the component. */\n @property({ attribute: false })\n public set disabledDates(value: DateRangeDescriptor[]) {\n this._disabledDates = value ?? [];\n }\n\n public get disabledDates(): DateRangeDescriptor[] | undefined {\n return this._disabledDates.length ? this._disabledDates : undefined;\n }\n\n @watch('weekStart')\n protected weekStartChanged() {\n this._firstDayOfWeek = getWeekDayNumber(this.weekStart);\n }\n\n @watch('selection', { waitUntilFirstUpdate: true })\n protected selectionChanged() {\n this._rangePreviewDate = undefined;\n this._value = null;\n this._values = [];\n }\n\n protected override firstUpdated() {\n if (this._initialActiveDateSet) {\n return;\n }\n\n if (this._isSingle) {\n this.activeDate = this.value ?? this.activeDate;\n } else {\n this.activeDate = first(this.values) ?? this.activeDate;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/components/calendar/base.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\n\nimport { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';\nimport { blazorIndirectRender } from '../common/decorators/blazorIndirectRender.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { first } from '../common/util.js';\nimport { convertToDate, convertToDates, getWeekDayNumber } from './helpers.js';\nimport { CalendarDay } from './model.js';\nimport type {\n CalendarSelection,\n DateRangeDescriptor,\n WeekDays,\n} from './types.js';\n\n@blazorIndirectRender\n@blazorDeepImport\nexport class IgcCalendarBaseComponent extends LitElement {\n private _initialActiveDateSet = false;\n\n protected get _hasValues() {\n return this._values && this._values.length > 0;\n }\n\n protected get _isSingle() {\n return this.selection === 'single';\n }\n\n protected get _isMultiple() {\n return this.selection === 'multiple';\n }\n\n protected get _isRange() {\n return this.selection === 'range';\n }\n\n @state()\n protected _rangePreviewDate?: CalendarDay;\n\n @state()\n protected _firstDayOfWeek = 0;\n\n @state()\n protected _activeDate = CalendarDay.today;\n\n @state()\n protected _value: CalendarDay | null = null;\n\n @state()\n protected _values: CalendarDay[] = [];\n\n @state()\n protected _specialDates: DateRangeDescriptor[] = [];\n\n @state()\n protected _disabledDates: DateRangeDescriptor[] = [];\n\n /* blazorSuppress */\n /**\n * The current value of the calendar.\n * Used when selection is set to single\n *\n * @attr value\n */\n @property({ converter: convertToDate })\n public set value(value: Date | string | null | undefined) {\n const converted = convertToDate(value);\n this._value = converted ? CalendarDay.from(converted) : null;\n }\n\n public get value(): Date | null {\n return this._value ? this._value.native : null;\n }\n\n /* blazorSuppress */\n /**\n * The current values of the calendar.\n * Used when selection is set to multiple of range.\n *\n * @attr values\n */\n @property({ converter: convertToDates })\n public set values(values: (Date | string)[] | string | null | undefined) {\n const converted = convertToDates(values);\n this._values = converted ? converted.map((v) => CalendarDay.from(v)) : [];\n }\n\n public get values(): Date[] {\n return this._values ? this._values.map((v) => v.native) : [];\n }\n\n /* blazorSuppress */\n /** Get/Set the date which is shown in view and is highlighted. By default it is the current date. */\n @property({ attribute: 'active-date', converter: convertToDate })\n public set activeDate(value: Date | string | null | undefined) {\n this._initialActiveDateSet = true;\n const converted = convertToDate(value);\n this._activeDate = converted\n ? CalendarDay.from(converted)\n : CalendarDay.today;\n }\n\n public get activeDate(): Date {\n return this._activeDate.native;\n }\n\n /**\n * Sets the type of selection in the component.\n * @attr selection\n */\n @property()\n public selection: CalendarSelection = 'single';\n\n /**\n * Whether to show the week numbers.\n * @attr show-week-numbers\n */\n @property({ type: Boolean, reflect: true, attribute: 'show-week-numbers' })\n public showWeekNumbers = false;\n\n /**\n * Gets/Sets the first day of the week.\n * @attr week-start\n */\n @property({ attribute: 'week-start' })\n public weekStart: WeekDays = 'sunday';\n\n /**\n * Gets/Sets the locale used for formatting and displaying the dates in the component.\n * @attr locale\n */\n @property()\n public locale = 'en';\n\n /** Gets/Sets the special dates for the component. */\n @property({ attribute: false })\n public set specialDates(value: DateRangeDescriptor[]) {\n this._specialDates = value ?? [];\n }\n\n public get specialDates(): DateRangeDescriptor[] | undefined {\n return this._specialDates.length ? this._specialDates : undefined;\n }\n\n /** Gets/Sets the disabled dates for the component. */\n @property({ attribute: false })\n public set disabledDates(value: DateRangeDescriptor[]) {\n this._disabledDates = value ?? [];\n }\n\n public get disabledDates(): DateRangeDescriptor[] | undefined {\n return this._disabledDates.length ? this._disabledDates : undefined;\n }\n\n @watch('weekStart')\n protected weekStartChanged() {\n this._firstDayOfWeek = getWeekDayNumber(this.weekStart);\n }\n\n @watch('selection', { waitUntilFirstUpdate: true })\n protected selectionChanged() {\n this._rangePreviewDate = undefined;\n this._value = null;\n this._values = [];\n }\n\n protected override firstUpdated() {\n if (this._initialActiveDateSet) {\n return;\n }\n\n if (this._isSingle) {\n this.activeDate = this.value ?? this.activeDate;\n } else {\n this.activeDate = first(this.values) ?? this.activeDate;\n }\n }\n}\n"]}
@@ -1,8 +1,9 @@
1
1
  import { nothing } from 'lit';
2
2
  import type { Constructor } from '../common/mixins/constructor.js';
3
+ import type { ContentOrientation } from '../types.js';
3
4
  import { IgcCalendarBaseComponent } from './base.js';
4
5
  import { CalendarDay } from './model.js';
5
- import type { IgcCalendarComponentEventMap } from './types.js';
6
+ import type { CalendarActiveView, CalendarHeaderOrientation, IgcCalendarComponentEventMap } from './types.js';
6
7
  export declare const focusActiveDate: unique symbol;
7
8
  declare const IgcCalendarComponent_base: Constructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcCalendarComponentEventMap>> & Constructor<IgcCalendarBaseComponent>;
8
9
  /**
@@ -84,13 +85,13 @@ export default class IgcCalendarComponent extends IgcCalendarComponent_base {
84
85
  * The orientation of the calendar header.
85
86
  * @attr header-orientation
86
87
  */
87
- headerOrientation: 'vertical' | 'horizontal';
88
+ headerOrientation: CalendarHeaderOrientation;
88
89
  /**
89
90
  * The orientation of the calendar months when more than one month
90
91
  * is being shown.
91
92
  * @attr orientation
92
93
  */
93
- orientation: 'vertical' | 'horizontal';
94
+ orientation: ContentOrientation;
94
95
  /**
95
96
  * The number of months displayed in the days view.
96
97
  * @attr visible-months
@@ -100,7 +101,7 @@ export default class IgcCalendarComponent extends IgcCalendarComponent_base {
100
101
  * The current active view of the component.
101
102
  * @attr active-view
102
103
  */
103
- activeView: 'days' | 'months' | 'years';
104
+ activeView: CalendarActiveView;
104
105
  /** The options used to format the months and the weekdays in the calendar views. */
105
106
  formatOptions: Pick<Intl.DateTimeFormatOptions, 'month' | 'weekday'>;
106
107
  /**