igniteui-webcomponents 4.0.0-alpha → 4.0.0-alpha.3

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 (456) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +17 -15
  3. package/components/accordion/themes/accordion.base.css.js +2 -1
  4. package/components/accordion/themes/accordion.base.css.js.map +1 -1
  5. package/components/avatar/themes/avatar.base.css.js +15 -6
  6. package/components/avatar/themes/avatar.base.css.js.map +1 -1
  7. package/components/avatar/themes/avatar.bootstrap.css.js +2 -1
  8. package/components/avatar/themes/avatar.bootstrap.css.js.map +1 -1
  9. package/components/badge/themes/light/badge.base.css.js +8 -0
  10. package/components/badge/themes/light/badge.base.css.js.map +1 -1
  11. package/components/badge/themes/light/badge.bootstrap.css.js +2 -1
  12. package/components/badge/themes/light/badge.bootstrap.css.js.map +1 -1
  13. package/components/button/icon-button.js +13 -10
  14. package/components/button/icon-button.js.map +1 -1
  15. package/components/button/themes/button/dark/button.fluent.css.js +1 -1
  16. package/components/button/themes/button/dark/button.fluent.css.js.map +1 -1
  17. package/components/button/themes/button/light/button.base.css.js +36 -31
  18. package/components/button/themes/button/light/button.base.css.js.map +1 -1
  19. package/components/button/themes/button/light/button.bootstrap.css.js +6 -13
  20. package/components/button/themes/button/light/button.bootstrap.css.js.map +1 -1
  21. package/components/button/themes/button/light/button.fluent.css.js +6 -15
  22. package/components/button/themes/button/light/button.fluent.css.js.map +1 -1
  23. package/components/button/themes/button/light/button.indigo.css.js +8 -19
  24. package/components/button/themes/button/light/button.indigo.css.js.map +1 -1
  25. package/components/button/themes/button/light/button.material.css.js +36 -31
  26. package/components/button/themes/button/light/button.material.css.js.map +1 -1
  27. package/components/button/themes/icon-button/dark/icon-button.fluent.css.js +1 -1
  28. package/components/button/themes/icon-button/dark/icon-button.fluent.css.js.map +1 -1
  29. package/components/button/themes/icon-button/light/icon-button.base.css.js +17 -19
  30. package/components/button/themes/icon-button/light/icon-button.base.css.js.map +1 -1
  31. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js +9 -19
  32. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js.map +1 -1
  33. package/components/button/themes/icon-button/light/icon-button.fluent.css.js +9 -18
  34. package/components/button/themes/icon-button/light/icon-button.fluent.css.js.map +1 -1
  35. package/components/button/themes/icon-button/light/icon-button.indigo.css.js +9 -18
  36. package/components/button/themes/icon-button/light/icon-button.indigo.css.js.map +1 -1
  37. package/components/button/themes/icon-button/light/icon-button.material.css.js +7 -13
  38. package/components/button/themes/icon-button/light/icon-button.material.css.js.map +1 -1
  39. package/components/calendar/days-view/days-view.d.ts +2 -0
  40. package/components/calendar/days-view/days-view.js +17 -5
  41. package/components/calendar/days-view/days-view.js.map +1 -1
  42. package/components/calendar/themes/bootstrap/calendar.bootstrap.css.js +2 -1
  43. package/components/calendar/themes/bootstrap/calendar.bootstrap.css.js.map +1 -1
  44. package/components/calendar/themes/bootstrap/days-view.bootstrap.css.js +2 -1
  45. package/components/calendar/themes/bootstrap/days-view.bootstrap.css.js.map +1 -1
  46. package/components/calendar/themes/bootstrap/year-month-view.bootstrap.css.js +2 -1
  47. package/components/calendar/themes/bootstrap/year-month-view.bootstrap.css.js.map +1 -1
  48. package/components/calendar/themes/calendar.base.css.js +68 -90
  49. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  50. package/components/calendar/themes/days-view.base.css.js +2 -2
  51. package/components/calendar/themes/days-view.base.css.js.map +1 -1
  52. package/components/calendar/themes/fluent/calendar.fluent.css.js +68 -90
  53. package/components/calendar/themes/fluent/calendar.fluent.css.js.map +1 -1
  54. package/components/calendar/themes/fluent/days-view.fluent.css.js +2 -1
  55. package/components/calendar/themes/fluent/days-view.fluent.css.js.map +1 -1
  56. package/components/calendar/themes/fluent/year-month-view.fluent.css.js +2 -1
  57. package/components/calendar/themes/fluent/year-month-view.fluent.css.js.map +1 -1
  58. package/components/calendar/themes/year-month-view.base.css.js +2 -1
  59. package/components/calendar/themes/year-month-view.base.css.js.map +1 -1
  60. package/components/card/themes/light/card.actions.bootstrap.css.js +8 -0
  61. package/components/card/themes/light/card.actions.bootstrap.css.js.map +1 -1
  62. package/components/card/themes/light/card.actions.material.css.js +8 -0
  63. package/components/card/themes/light/card.actions.material.css.js.map +1 -1
  64. package/components/card/themes/light/card.bootstrap.css.js +2 -1
  65. package/components/card/themes/light/card.bootstrap.css.js.map +1 -1
  66. package/components/card/themes/light/card.content.bootstrap.css.js +8 -0
  67. package/components/card/themes/light/card.content.bootstrap.css.js.map +1 -1
  68. package/components/card/themes/light/card.content.indigo.css.js +8 -0
  69. package/components/card/themes/light/card.content.indigo.css.js.map +1 -1
  70. package/components/card/themes/light/card.content.material.css.js +8 -0
  71. package/components/card/themes/light/card.content.material.css.js.map +1 -1
  72. package/components/card/themes/light/card.fluent.css.js +2 -1
  73. package/components/card/themes/light/card.fluent.css.js.map +1 -1
  74. package/components/card/themes/light/card.header.bootstrap.css.js +8 -0
  75. package/components/card/themes/light/card.header.bootstrap.css.js.map +1 -1
  76. package/components/card/themes/light/card.header.fluent.css.js +8 -0
  77. package/components/card/themes/light/card.header.fluent.css.js.map +1 -1
  78. package/components/card/themes/light/card.header.indigo.css.js +8 -0
  79. package/components/card/themes/light/card.header.indigo.css.js.map +1 -1
  80. package/components/card/themes/light/card.header.material.css.js +8 -0
  81. package/components/card/themes/light/card.header.material.css.js.map +1 -1
  82. package/components/card/themes/light/card.material.css.js +8 -0
  83. package/components/card/themes/light/card.material.css.js.map +1 -1
  84. package/components/card/themes/light/card.media.material.css.js +8 -0
  85. package/components/card/themes/light/card.media.material.css.js.map +1 -1
  86. package/components/checkbox/themes/dark/checkbox.fluent.css.js +1 -1
  87. package/components/checkbox/themes/dark/checkbox.fluent.css.js.map +1 -1
  88. package/components/checkbox/themes/dark/checkbox.indigo.css.js +1 -1
  89. package/components/checkbox/themes/dark/checkbox.indigo.css.js.map +1 -1
  90. package/components/checkbox/themes/dark/switch.fluent.css.js +1 -1
  91. package/components/checkbox/themes/dark/switch.fluent.css.js.map +1 -1
  92. package/components/checkbox/themes/dark/switch.indigo.css.js +1 -1
  93. package/components/checkbox/themes/dark/switch.indigo.css.js.map +1 -1
  94. package/components/checkbox/themes/light/checkbox.base.css.js +11 -2
  95. package/components/checkbox/themes/light/checkbox.base.css.js.map +1 -1
  96. package/components/checkbox/themes/light/checkbox.bootstrap.css.js +6 -4
  97. package/components/checkbox/themes/light/checkbox.bootstrap.css.js.map +1 -1
  98. package/components/checkbox/themes/light/checkbox.fluent.css.js +2 -1
  99. package/components/checkbox/themes/light/checkbox.fluent.css.js.map +1 -1
  100. package/components/checkbox/themes/light/checkbox.indigo.css.js +2 -1
  101. package/components/checkbox/themes/light/checkbox.indigo.css.js.map +1 -1
  102. package/components/checkbox/themes/light/checkbox.material.css.js +2 -1
  103. package/components/checkbox/themes/light/checkbox.material.css.js.map +1 -1
  104. package/components/checkbox/themes/light/switch.base.css.js +8 -0
  105. package/components/checkbox/themes/light/switch.base.css.js.map +1 -1
  106. package/components/checkbox/themes/light/switch.bootstrap.css.js +2 -1
  107. package/components/checkbox/themes/light/switch.bootstrap.css.js.map +1 -1
  108. package/components/checkbox/themes/light/switch.fluent.css.js +2 -1
  109. package/components/checkbox/themes/light/switch.fluent.css.js.map +1 -1
  110. package/components/checkbox/themes/light/switch.indigo.css.js +2 -1
  111. package/components/checkbox/themes/light/switch.indigo.css.js.map +1 -1
  112. package/components/checkbox/themes/light/switch.material.css.js +2 -1
  113. package/components/checkbox/themes/light/switch.material.css.js.map +1 -1
  114. package/components/chip/chip.d.ts +1 -0
  115. package/components/chip/chip.js +9 -0
  116. package/components/chip/chip.js.map +1 -1
  117. package/components/chip/themes/chip.base.css.js +48 -40
  118. package/components/chip/themes/chip.base.css.js.map +1 -1
  119. package/components/chip/themes/chip.bootstrap.css.js +48 -40
  120. package/components/chip/themes/chip.bootstrap.css.js.map +1 -1
  121. package/components/chip/themes/chip.fluent.css.js +48 -40
  122. package/components/chip/themes/chip.fluent.css.js.map +1 -1
  123. package/components/chip/themes/chip.indigo.css.js +48 -40
  124. package/components/chip/themes/chip.indigo.css.js.map +1 -1
  125. package/components/chip/themes/chip.material.css.js +48 -40
  126. package/components/chip/themes/chip.material.css.js.map +1 -1
  127. package/components/dialog/dialog.d.ts +69 -0
  128. package/components/dialog/dialog.js +168 -0
  129. package/components/dialog/dialog.js.map +1 -0
  130. package/components/dialog/themes/light/dialog.base.css.d.ts +1 -0
  131. package/components/dialog/themes/light/dialog.base.css.js +127 -0
  132. package/components/dialog/themes/light/dialog.base.css.js.map +1 -0
  133. package/components/dialog/themes/light/dialog.bootstrap.css.d.ts +1 -0
  134. package/components/dialog/themes/light/dialog.bootstrap.css.js +42 -0
  135. package/components/dialog/themes/light/dialog.bootstrap.css.js.map +1 -0
  136. package/components/dialog/themes/light/dialog.fluent.css.d.ts +1 -0
  137. package/components/dialog/themes/light/dialog.fluent.css.js +24 -0
  138. package/components/dialog/themes/light/dialog.fluent.css.js.map +1 -0
  139. package/components/dialog/themes/light/dialog.indigo.css.d.ts +1 -0
  140. package/components/dialog/themes/light/dialog.indigo.css.js +17 -0
  141. package/components/dialog/themes/light/dialog.indigo.css.js.map +1 -0
  142. package/components/dialog/themes/light/dialog.material.css.d.ts +1 -0
  143. package/components/dialog/themes/light/dialog.material.css.js +18 -0
  144. package/components/dialog/themes/light/dialog.material.css.js.map +1 -0
  145. package/components/dropdown/dropdown-group.d.ts +2 -2
  146. package/components/dropdown/dropdown-group.js +1 -1
  147. package/components/dropdown/dropdown-group.js.map +1 -1
  148. package/components/dropdown/dropdown-header.d.ts +1 -1
  149. package/components/dropdown/dropdown-header.js +2 -1
  150. package/components/dropdown/dropdown-header.js.map +1 -1
  151. package/components/dropdown/dropdown-item.d.ts +1 -1
  152. package/components/dropdown/dropdown-item.js.map +1 -1
  153. package/components/dropdown/dropdown.d.ts +10 -8
  154. package/components/dropdown/dropdown.js +15 -10
  155. package/components/dropdown/dropdown.js.map +1 -1
  156. package/components/dropdown/themes/dark/dropdown.bootstrap.css.js +1 -1
  157. package/components/dropdown/themes/dark/dropdown.bootstrap.css.js.map +1 -1
  158. package/components/dropdown/themes/dark/dropdown.fluent.css.js +1 -1
  159. package/components/dropdown/themes/dark/dropdown.fluent.css.js.map +1 -1
  160. package/components/dropdown/themes/dark/dropdown.indigo.css.js +1 -1
  161. package/components/dropdown/themes/dark/dropdown.indigo.css.js.map +1 -1
  162. package/components/dropdown/themes/light/dropdown-group.base.css.js +10 -21
  163. package/components/dropdown/themes/light/dropdown-group.base.css.js.map +1 -1
  164. package/components/dropdown/themes/light/dropdown-group.fluent.css.js +3 -13
  165. package/components/dropdown/themes/light/dropdown-group.fluent.css.js.map +1 -1
  166. package/components/dropdown/themes/light/dropdown-header.base.css.js +10 -0
  167. package/components/dropdown/themes/light/dropdown-header.base.css.js.map +1 -1
  168. package/components/dropdown/themes/light/dropdown-header.bootstrap.css.js +2 -1
  169. package/components/dropdown/themes/light/dropdown-header.bootstrap.css.js.map +1 -1
  170. package/components/dropdown/themes/light/dropdown-header.fluent.css.d.ts +1 -0
  171. package/components/dropdown/themes/light/dropdown-header.fluent.css.js +6 -0
  172. package/components/dropdown/themes/light/dropdown-header.fluent.css.js.map +1 -0
  173. package/components/dropdown/themes/light/dropdown-item.base.css.js +15 -4
  174. package/components/dropdown/themes/light/dropdown-item.base.css.js.map +1 -1
  175. package/components/dropdown/themes/light/dropdown-item.bootstrap.css.js +2 -1
  176. package/components/dropdown/themes/light/dropdown-item.bootstrap.css.js.map +1 -1
  177. package/components/dropdown/themes/light/dropdown-item.fluent.css.js +6 -1
  178. package/components/dropdown/themes/light/dropdown-item.fluent.css.js.map +1 -1
  179. package/components/dropdown/themes/light/dropdown-item.indigo.css.js +2 -1
  180. package/components/dropdown/themes/light/dropdown-item.indigo.css.js.map +1 -1
  181. package/components/dropdown/themes/light/dropdown.base.css.js +14 -15
  182. package/components/dropdown/themes/light/dropdown.base.css.js.map +1 -1
  183. package/components/dropdown/themes/light/dropdown.bootstrap.css.js +2 -1
  184. package/components/dropdown/themes/light/dropdown.bootstrap.css.js.map +1 -1
  185. package/components/dropdown/themes/light/dropdown.fluent.css.js +1 -15
  186. package/components/dropdown/themes/light/dropdown.fluent.css.js.map +1 -1
  187. package/components/dropdown/themes/light/dropdown.indigo.css.js +2 -1
  188. package/components/dropdown/themes/light/dropdown.indigo.css.js.map +1 -1
  189. package/components/expansion-panel/themes/light/expansion-panel.base.css.js +10 -7
  190. package/components/expansion-panel/themes/light/expansion-panel.base.css.js.map +1 -1
  191. package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js +2 -1
  192. package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js.map +1 -1
  193. package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js +2 -1
  194. package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js.map +1 -1
  195. package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js +2 -1
  196. package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js.map +1 -1
  197. package/components/form/form.js +4 -3
  198. package/components/form/form.js.map +1 -1
  199. package/components/icon/icon.js +3 -1
  200. package/components/icon/icon.js.map +1 -1
  201. package/components/icon/icon.material.css.js +14 -5
  202. package/components/icon/icon.material.css.js.map +1 -1
  203. package/components/input/input.d.ts +1 -0
  204. package/components/input/input.js +5 -0
  205. package/components/input/input.js.map +1 -1
  206. package/components/input/themes/dark/input.dark.indigo.css.js +1 -1
  207. package/components/input/themes/dark/input.dark.indigo.css.js.map +1 -1
  208. package/components/input/themes/dark/input.dark.material.css.js +1 -1
  209. package/components/input/themes/dark/input.dark.material.css.js.map +1 -1
  210. package/components/input/themes/light/input.base.css.js +25 -17
  211. package/components/input/themes/light/input.base.css.js.map +1 -1
  212. package/components/input/themes/light/input.bootstrap.css.js +50 -60
  213. package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
  214. package/components/input/themes/light/input.fluent.css.js +23 -36
  215. package/components/input/themes/light/input.fluent.css.js.map +1 -1
  216. package/components/input/themes/light/input.indigo.css.js +3 -2
  217. package/components/input/themes/light/input.indigo.css.js.map +1 -1
  218. package/components/input/themes/light/input.material.css.js +2 -3
  219. package/components/input/themes/light/input.material.css.js.map +1 -1
  220. package/components/list/themes/dark/list.bootstrap.css.js +1 -1
  221. package/components/list/themes/dark/list.bootstrap.css.js.map +1 -1
  222. package/components/list/themes/dark/list.fluent.css.js +1 -1
  223. package/components/list/themes/dark/list.fluent.css.js.map +1 -1
  224. package/components/list/themes/dark/list.indigo.css.js +1 -1
  225. package/components/list/themes/dark/list.indigo.css.js.map +1 -1
  226. package/components/list/themes/light/list-header.base.css.js +10 -0
  227. package/components/list/themes/light/list-header.base.css.js.map +1 -1
  228. package/components/list/themes/light/list-header.indigo.css.js +2 -1
  229. package/components/list/themes/light/list-header.indigo.css.js.map +1 -1
  230. package/components/list/themes/light/list-item.base.css.js +14 -4
  231. package/components/list/themes/light/list-item.base.css.js.map +1 -1
  232. package/components/list/themes/light/list-item.bootstrap.css.js +2 -1
  233. package/components/list/themes/light/list-item.bootstrap.css.js.map +1 -1
  234. package/components/list/themes/light/list-item.fluent.css.js +2 -1
  235. package/components/list/themes/light/list-item.fluent.css.js.map +1 -1
  236. package/components/list/themes/light/list-item.indigo.css.js +2 -1
  237. package/components/list/themes/light/list-item.indigo.css.js.map +1 -1
  238. package/components/list/themes/light/list.base.css.js +14 -9
  239. package/components/list/themes/light/list.base.css.js.map +1 -1
  240. package/components/list/themes/light/list.bootstrap.css.js +2 -1
  241. package/components/list/themes/light/list.bootstrap.css.js.map +1 -1
  242. package/components/nav-drawer/themes/dark/nav-drawer-item.base.css.js +1 -1
  243. package/components/nav-drawer/themes/dark/nav-drawer-item.base.css.js.map +1 -1
  244. package/components/nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.js +1 -1
  245. package/components/nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.js.map +1 -1
  246. package/components/nav-drawer/themes/dark/nav-drawer-item.fluent.css.js +1 -1
  247. package/components/nav-drawer/themes/dark/nav-drawer-item.fluent.css.js.map +1 -1
  248. package/components/nav-drawer/themes/dark/nav-drawer-item.indigo.css.js +1 -1
  249. package/components/nav-drawer/themes/dark/nav-drawer-item.indigo.css.js.map +1 -1
  250. package/components/nav-drawer/themes/dark/nav-drawer.indigo.css.js +1 -1
  251. package/components/nav-drawer/themes/dark/nav-drawer.indigo.css.js.map +1 -1
  252. package/components/nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.js +2 -1
  253. package/components/nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.js.map +1 -1
  254. package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.js +2 -1
  255. package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.js.map +1 -1
  256. package/components/nav-drawer/themes/light/indigo/nav-drawer-header-item.indigo.css.js +2 -1
  257. package/components/nav-drawer/themes/light/indigo/nav-drawer-header-item.indigo.css.js.map +1 -1
  258. package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.js +2 -1
  259. package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.js.map +1 -1
  260. package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.js +2 -1
  261. package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.js.map +1 -1
  262. package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js +8 -0
  263. package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js.map +1 -1
  264. package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js +8 -0
  265. package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js.map +1 -1
  266. package/components/nav-drawer/themes/light/nav-drawer.base.css.js +8 -0
  267. package/components/nav-drawer/themes/light/nav-drawer.base.css.js.map +1 -1
  268. package/components/navbar/themes/light/navbar.base.css.js +8 -0
  269. package/components/navbar/themes/light/navbar.base.css.js.map +1 -1
  270. package/components/navbar/themes/light/navbar.bootstrap.css.js +2 -1
  271. package/components/navbar/themes/light/navbar.bootstrap.css.js.map +1 -1
  272. package/components/navbar/themes/light/navbar.fluent.css.js +2 -1
  273. package/components/navbar/themes/light/navbar.fluent.css.js.map +1 -1
  274. package/components/navbar/themes/light/navbar.indigo.css.js +2 -1
  275. package/components/navbar/themes/light/navbar.indigo.css.js.map +1 -1
  276. package/components/progress/themes/circular/circular.progress.base.css.js +8 -1
  277. package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
  278. package/components/progress/themes/circular/circular.progress.bootstrap.css.js +2 -1
  279. package/components/progress/themes/circular/circular.progress.bootstrap.css.js.map +1 -1
  280. package/components/progress/themes/circular/circular.progress.fluent.css.js +2 -1
  281. package/components/progress/themes/circular/circular.progress.fluent.css.js.map +1 -1
  282. package/components/progress/themes/linear/linear.progress.base.css.js +8 -1
  283. package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
  284. package/components/progress/themes/linear/linear.progress.bootstrap.css.js +8 -1
  285. package/components/progress/themes/linear/linear.progress.bootstrap.css.js.map +1 -1
  286. package/components/progress/themes/linear/linear.progress.fluent.css.js +2 -1
  287. package/components/progress/themes/linear/linear.progress.fluent.css.js.map +1 -1
  288. package/components/progress/themes/linear/linear.progress.indigo.css.js +8 -0
  289. package/components/progress/themes/linear/linear.progress.indigo.css.js.map +1 -1
  290. package/components/radio/themes/dark/radio.fluent.css.js +1 -1
  291. package/components/radio/themes/dark/radio.fluent.css.js.map +1 -1
  292. package/components/radio/themes/dark/radio.indigo.css.js +1 -1
  293. package/components/radio/themes/dark/radio.indigo.css.js.map +1 -1
  294. package/components/radio/themes/light/radio.base.css.js +8 -0
  295. package/components/radio/themes/light/radio.base.css.js.map +1 -1
  296. package/components/radio/themes/light/radio.bootstrap.css.js +2 -1
  297. package/components/radio/themes/light/radio.bootstrap.css.js.map +1 -1
  298. package/components/radio/themes/light/radio.fluent.css.js +2 -1
  299. package/components/radio/themes/light/radio.fluent.css.js.map +1 -1
  300. package/components/radio/themes/light/radio.indigo.css.js +2 -1
  301. package/components/radio/themes/light/radio.indigo.css.js.map +1 -1
  302. package/components/radio/themes/light/radio.material.css.js +2 -1
  303. package/components/radio/themes/light/radio.material.css.js.map +1 -1
  304. package/components/radio-group/radio-group.base.css.js +8 -0
  305. package/components/radio-group/radio-group.base.css.js.map +1 -1
  306. package/components/rating/rating-symbol.base.css.js +9 -0
  307. package/components/rating/rating-symbol.base.css.js.map +1 -1
  308. package/components/rating/rating.base.css.js +13 -5
  309. package/components/rating/rating.base.css.js.map +1 -1
  310. package/components/rating/rating.bootstrap.css.js +2 -1
  311. package/components/rating/rating.bootstrap.css.js.map +1 -1
  312. package/components/rating/rating.d.ts +15 -5
  313. package/components/rating/rating.fluent.css.js +2 -1
  314. package/components/rating/rating.fluent.css.js.map +1 -1
  315. package/components/rating/rating.indigo.css.js +2 -1
  316. package/components/rating/rating.indigo.css.js.map +1 -1
  317. package/components/rating/rating.js +9 -5
  318. package/components/rating/rating.js.map +1 -1
  319. package/components/ripple/ripple.material.css.js +7 -0
  320. package/components/ripple/ripple.material.css.js.map +1 -1
  321. package/components/select/select-group.d.ts +31 -0
  322. package/components/select/select-group.js +69 -0
  323. package/components/select/select-group.js.map +1 -0
  324. package/components/select/select-header.d.ts +15 -0
  325. package/components/select/select-header.js +5 -0
  326. package/components/select/select-header.js.map +1 -0
  327. package/components/select/select-item.d.ts +30 -0
  328. package/components/select/select-item.js +39 -0
  329. package/components/select/select-item.js.map +1 -0
  330. package/components/select/select.d.ts +112 -0
  331. package/components/select/select.js +343 -0
  332. package/components/select/select.js.map +1 -0
  333. package/components/select/themes/dark/select.bootstrap.css.d.ts +1 -0
  334. package/components/select/themes/dark/select.bootstrap.css.js +3 -0
  335. package/components/select/themes/dark/select.bootstrap.css.js.map +1 -0
  336. package/components/select/themes/dark/select.fluent.css.d.ts +1 -0
  337. package/components/select/themes/dark/select.fluent.css.js +3 -0
  338. package/components/select/themes/dark/select.fluent.css.js.map +1 -0
  339. package/components/select/themes/dark/select.indigo.css.d.ts +1 -0
  340. package/components/select/themes/dark/select.indigo.css.js +3 -0
  341. package/components/select/themes/dark/select.indigo.css.js.map +1 -0
  342. package/components/select/themes/dark/select.material.css.d.ts +1 -0
  343. package/components/select/themes/dark/select.material.css.js +3 -0
  344. package/components/select/themes/dark/select.material.css.js.map +1 -0
  345. package/components/select/themes/light/select.base.css.d.ts +1 -0
  346. package/components/select/themes/light/select.base.css.js +107 -0
  347. package/components/select/themes/light/select.base.css.js.map +1 -0
  348. package/components/select/themes/light/select.bootstrap.css.d.ts +1 -0
  349. package/components/select/themes/light/select.bootstrap.css.js +69 -0
  350. package/components/select/themes/light/select.bootstrap.css.js.map +1 -0
  351. package/components/select/themes/light/select.fluent.css.d.ts +1 -0
  352. package/components/select/themes/light/select.fluent.css.js +26 -0
  353. package/components/select/themes/light/select.fluent.css.js.map +1 -0
  354. package/components/select/themes/light/select.indigo.css.d.ts +1 -0
  355. package/components/select/themes/light/select.indigo.css.js +23 -0
  356. package/components/select/themes/light/select.indigo.css.js.map +1 -0
  357. package/components/select/themes/light/select.material.css.d.ts +1 -0
  358. package/components/select/themes/light/select.material.css.js +63 -0
  359. package/components/select/themes/light/select.material.css.js.map +1 -0
  360. package/components/slider/range-slider.d.ts +2 -0
  361. package/components/slider/range-slider.js +65 -0
  362. package/components/slider/range-slider.js.map +1 -1
  363. package/components/slider/slider-base.d.ts +9 -7
  364. package/components/slider/slider-base.js +16 -2
  365. package/components/slider/slider-base.js.map +1 -1
  366. package/components/slider/themes/dark/slider.bootstrap.css.js +1 -1
  367. package/components/slider/themes/dark/slider.bootstrap.css.js.map +1 -1
  368. package/components/slider/themes/dark/slider.fluent.css.js +1 -1
  369. package/components/slider/themes/dark/slider.fluent.css.js.map +1 -1
  370. package/components/slider/themes/dark/slider.indigo.css.js +1 -1
  371. package/components/slider/themes/dark/slider.indigo.css.js.map +1 -1
  372. package/components/slider/themes/light/slider.base.css.js +13 -5
  373. package/components/slider/themes/light/slider.base.css.js.map +1 -1
  374. package/components/slider/themes/light/slider.bootstrap.css.js +4 -3
  375. package/components/slider/themes/light/slider.bootstrap.css.js.map +1 -1
  376. package/components/slider/themes/light/slider.fluent.css.js +30 -11
  377. package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
  378. package/components/slider/themes/light/slider.indigo.css.js +6 -5
  379. package/components/slider/themes/light/slider.indigo.css.js.map +1 -1
  380. package/components/slider/themes/light/slider.material.css.js +7 -6
  381. package/components/slider/themes/light/slider.material.css.js.map +1 -1
  382. package/components/snackbar/themes/dark/snackbar.indigo.css.js +1 -1
  383. package/components/snackbar/themes/dark/snackbar.indigo.css.js.map +1 -1
  384. package/components/snackbar/themes/light/snackbar.base.css.js +8 -0
  385. package/components/snackbar/themes/light/snackbar.base.css.js.map +1 -1
  386. package/components/snackbar/themes/light/snackbar.bootstrap.css.js +2 -1
  387. package/components/snackbar/themes/light/snackbar.bootstrap.css.js.map +1 -1
  388. package/components/snackbar/themes/light/snackbar.fluent.css.js +2 -1
  389. package/components/snackbar/themes/light/snackbar.fluent.css.js.map +1 -1
  390. package/components/snackbar/themes/light/snackbar.indigo.css.js +2 -1
  391. package/components/snackbar/themes/light/snackbar.indigo.css.js.map +1 -1
  392. package/components/tabs/tabs.js +1 -0
  393. package/components/tabs/tabs.js.map +1 -1
  394. package/components/tabs/themes/dark/tab.dark.base.css.js +1 -1
  395. package/components/tabs/themes/dark/tab.dark.base.css.js.map +1 -1
  396. package/components/tabs/themes/dark/tab.dark.bootstrap.css.js +1 -1
  397. package/components/tabs/themes/dark/tab.dark.bootstrap.css.js.map +1 -1
  398. package/components/tabs/themes/light/tab-panel.base.css.js +8 -0
  399. package/components/tabs/themes/light/tab-panel.base.css.js.map +1 -1
  400. package/components/tabs/themes/light/tab.base.css.js +8 -0
  401. package/components/tabs/themes/light/tab.base.css.js.map +1 -1
  402. package/components/tabs/themes/light/tab.bootstrap.css.js +2 -1
  403. package/components/tabs/themes/light/tab.bootstrap.css.js.map +1 -1
  404. package/components/tabs/themes/light/tab.fluent.css.js +2 -1
  405. package/components/tabs/themes/light/tab.fluent.css.js.map +1 -1
  406. package/components/tabs/themes/light/tab.indigo.css.js +2 -1
  407. package/components/tabs/themes/light/tab.indigo.css.js.map +1 -1
  408. package/components/tabs/themes/light/tabs.base.css.js +8 -0
  409. package/components/tabs/themes/light/tabs.base.css.js.map +1 -1
  410. package/components/tabs/themes/light/tabs.bootstrap.css.js +2 -1
  411. package/components/tabs/themes/light/tabs.bootstrap.css.js.map +1 -1
  412. package/components/tabs/themes/light/tabs.fluent.css.js +2 -1
  413. package/components/tabs/themes/light/tabs.fluent.css.js.map +1 -1
  414. package/components/tabs/themes/light/tabs.indigo.css.js +2 -1
  415. package/components/tabs/themes/light/tabs.indigo.css.js.map +1 -1
  416. package/components/toast/themes/toast.base.css.js +2 -1
  417. package/components/toast/themes/toast.base.css.js.map +1 -1
  418. package/components/toast/themes/toast.bootstrap.css.js +2 -1
  419. package/components/toast/themes/toast.bootstrap.css.js.map +1 -1
  420. package/components/toast/themes/toast.fluent.css.js +2 -1
  421. package/components/toast/themes/toast.fluent.css.js.map +1 -1
  422. package/components/toast/themes/toast.indigo.css.js +2 -1
  423. package/components/toast/themes/toast.indigo.css.js.map +1 -1
  424. package/components/toast/toast.d.ts +1 -0
  425. package/components/toast/toast.js +9 -0
  426. package/components/toast/toast.js.map +1 -1
  427. package/components/tree/themes/dark/tree-item.bootstrap.css.js +1 -1
  428. package/components/tree/themes/dark/tree-item.bootstrap.css.js.map +1 -1
  429. package/components/tree/themes/dark/tree-item.fluent.css.js +1 -1
  430. package/components/tree/themes/dark/tree-item.fluent.css.js.map +1 -1
  431. package/components/tree/themes/dark/tree-item.indigo.css.js +1 -1
  432. package/components/tree/themes/dark/tree-item.indigo.css.js.map +1 -1
  433. package/components/tree/themes/light/tree-item.base.css.js +12 -22
  434. package/components/tree/themes/light/tree-item.base.css.js.map +1 -1
  435. package/components/tree/themes/light/tree-item.bootstrap.css.js +2 -1
  436. package/components/tree/themes/light/tree-item.bootstrap.css.js.map +1 -1
  437. package/components/tree/themes/light/tree-item.fluent.css.js +2 -1
  438. package/components/tree/themes/light/tree-item.fluent.css.js.map +1 -1
  439. package/components/tree/themes/light/tree-item.indigo.css.js +2 -1
  440. package/components/tree/themes/light/tree-item.indigo.css.js.map +1 -1
  441. package/components/tree/themes/light/tree.base.css.js +20 -0
  442. package/components/tree/themes/light/tree.base.css.js.map +1 -1
  443. package/custom-elements.json +613 -14
  444. package/index.d.ts +5 -0
  445. package/index.js +5 -0
  446. package/index.js.map +1 -1
  447. package/package.json +3 -3
  448. package/themes/dark/bootstrap.css +19 -3
  449. package/themes/dark/fluent.css +56 -6
  450. package/themes/dark/indigo.css +27 -3
  451. package/themes/dark/material.css +21 -4
  452. package/themes/light/bootstrap.css +7 -3
  453. package/themes/light/fluent.css +7 -3
  454. package/themes/light/indigo.css +7 -3
  455. package/themes/light/material.css +8 -4
  456. package/vscode-html-custom-data.json +278 -10
@@ -1,5 +1,6 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host [part=base] {
2
+ export const styles = css `/* stylelint-disable max-line-length */
3
+ :host [part=base] {
3
4
  -webkit-transition-duration: 0.1s;
4
5
  -o-transition-duration: 0.1s;
5
6
  transition-duration: 0.1s;
@@ -1 +1 @@
1
- {"version":3,"file":"radio.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/radio/themes/light/radio.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0GvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host [part=base] {\n -webkit-transition-duration: 0.1s;\n -o-transition-duration: 0.1s;\n transition-duration: 0.1s;\n}\n\n:host [part~=control] {\n width: var(--size, 1.25rem);\n height: var(--size, 1.25rem);\n min-width: var(--size, 1.25rem);\n background: transparent;\n -webkit-transition: none;\n -o-transition: none;\n transition: none;\n}\n:host [part~=control]::before, :host [part~=control]::after {\n -webkit-transition-duration: 0.1s;\n -o-transition-duration: 0.1s;\n transition-duration: 0.1s;\n}\n:host [part~=control]::before {\n -webkit-transform: translate(-50%, -50%) scale(0.5);\n -ms-transform: translate(-50%, -50%) scale(0.5);\n transform: translate(-50%, -50%) scale(0.5);\n}\n:host [part~=control]::after {\n border: calc(var(--size, 20px) / 20) solid hsla(var(--ig-gray-900), var(--ig-gray-a));\n}\n\n:host [part~=label] {\n font-family: var(--ig-body-2-font-family);\n font-size: var(--ig-body-2-font-size);\n font-weight: var(--ig-body-2-font-weight);\n font-style: var(--ig-body-2-font-style);\n line-height: var(--ig-body-2-line-height);\n letter-spacing: var(--ig-body-2-letter-spacing);\n text-transform: var(--ig-body-2-text-transform);\n margin-top: var(--ig-body-2-margin-top);\n margin-bottom: var(--ig-body-2-margin-bottom);\n}\n\n:host(:hover) [part=control]::before,\n:host(:focus-within) [part=control]::before {\n background: var(--hover-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n}\n:host(:hover) [part=\"control checked\"]::after,\n:host(:focus-within) [part=\"control checked\"]::after {\n border-color: var(--checked-hover-color, hsla(var(--ig-primary-900), var(--ig-primary-a)));\n}\n:host(:hover) [part=\"control checked\"]::before,\n:host(:focus-within) [part=\"control checked\"]::before {\n background: var(--checked-hover-color, hsla(var(--ig-primary-900), var(--ig-primary-a)));\n}\n\n:host [part=\"control checked\"]::before {\n background: hsla(var(--ig-primary-500), var(--ig-primary-a));\n}\n:host [part=\"control checked\"]::after {\n border-color: hsla(var(--ig-primary-500), var(--ig-primary-a));\n}\n\n:host(:not([disabled])[invalid]) [part~=label] {\n color: var(--invalid-color, hsla(var(--ig-error-500), var(--ig-error-a)));\n}\n:host(:not([disabled])[invalid]) [part~=control]::before {\n background: var(--invalid-color, hsla(var(--ig-error-500), var(--ig-error-a)));\n}\n:host(:not([disabled])[invalid]) [part=\"control checked\"]::after {\n border-color: var(--invalid-color, hsla(var(--ig-error-500), var(--ig-error-a)));\n}\n\n:host(:not([disabled])[invalid]:hover) [part=control]::after,\n:host(:not([disabled])[invalid]:focus-within) [part=control]::after {\n border-color: var(--invalid-hover-color, hsla(var(--ig-error-700), var(--ig-error-a)));\n}\n:host(:not([disabled])[invalid]:hover) [part=\"control checked\"]::after,\n:host(:not([disabled])[invalid]:focus-within) [part=\"control checked\"]::after {\n border-color: var(--invalid-hover-color, hsla(var(--ig-error-700), var(--ig-error-a)));\n}\n:host(:not([disabled])[invalid]:hover) [part=\"control checked\"]::before,\n:host(:not([disabled])[invalid]:focus-within) [part=\"control checked\"]::before {\n background: var(--invalid-hover-color, hsla(var(--ig-error-700), var(--ig-error-a)));\n}\n\n:host([disabled]) [part~=label] {\n color: var(--disabled-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n}\n:host([disabled]) [part~=control]::after {\n border-color: var(--disabled-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n}\n:host([disabled]) [part=\"control checked\"]::before {\n background: var(--disabled-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n}\n\n[part~=focused] {\n position: relative;\n}\n[part~=focused]::after {\n content: \"\";\n position: absolute;\n top: -0.125rem;\n left: -0.125rem;\n -webkit-box-shadow: 0 0 0 1px hsla(var(--ig-gray-700), var(--ig-gray-a));\n box-shadow: 0 0 0 1px hsla(var(--ig-gray-700), var(--ig-gray-a));\n width: calc(100% + (0.125rem * 2));\n height: calc(100% + (0.125rem * 2));\n}`;\n"]}
1
+ {"version":3,"file":"radio.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/radio/themes/light/radio.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2GvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`/* stylelint-disable max-line-length */\n:host [part=base] {\n -webkit-transition-duration: 0.1s;\n -o-transition-duration: 0.1s;\n transition-duration: 0.1s;\n}\n\n:host [part~=control] {\n width: var(--size, 1.25rem);\n height: var(--size, 1.25rem);\n min-width: var(--size, 1.25rem);\n background: transparent;\n -webkit-transition: none;\n -o-transition: none;\n transition: none;\n}\n:host [part~=control]::before, :host [part~=control]::after {\n -webkit-transition-duration: 0.1s;\n -o-transition-duration: 0.1s;\n transition-duration: 0.1s;\n}\n:host [part~=control]::before {\n -webkit-transform: translate(-50%, -50%) scale(0.5);\n -ms-transform: translate(-50%, -50%) scale(0.5);\n transform: translate(-50%, -50%) scale(0.5);\n}\n:host [part~=control]::after {\n border: calc(var(--size, 20px) / 20) solid hsla(var(--ig-gray-900), var(--ig-gray-a));\n}\n\n:host [part~=label] {\n font-family: var(--ig-body-2-font-family);\n font-size: var(--ig-body-2-font-size);\n font-weight: var(--ig-body-2-font-weight);\n font-style: var(--ig-body-2-font-style);\n line-height: var(--ig-body-2-line-height);\n letter-spacing: var(--ig-body-2-letter-spacing);\n text-transform: var(--ig-body-2-text-transform);\n margin-top: var(--ig-body-2-margin-top);\n margin-bottom: var(--ig-body-2-margin-bottom);\n}\n\n:host(:hover) [part=control]::before,\n:host(:focus-within) [part=control]::before {\n background: var(--hover-color, hsla(var(--ig-gray-700), var(--ig-gray-a)));\n}\n:host(:hover) [part=\"control checked\"]::after,\n:host(:focus-within) [part=\"control checked\"]::after {\n border-color: var(--checked-hover-color, hsla(var(--ig-primary-900), var(--ig-primary-a)));\n}\n:host(:hover) [part=\"control checked\"]::before,\n:host(:focus-within) [part=\"control checked\"]::before {\n background: var(--checked-hover-color, hsla(var(--ig-primary-900), var(--ig-primary-a)));\n}\n\n:host [part=\"control checked\"]::before {\n background: hsla(var(--ig-primary-500), var(--ig-primary-a));\n}\n:host [part=\"control checked\"]::after {\n border-color: hsla(var(--ig-primary-500), var(--ig-primary-a));\n}\n\n:host(:not([disabled])[invalid]) [part~=label] {\n color: var(--invalid-color, hsla(var(--ig-error-500), var(--ig-error-a)));\n}\n:host(:not([disabled])[invalid]) [part~=control]::before {\n background: var(--invalid-color, hsla(var(--ig-error-500), var(--ig-error-a)));\n}\n:host(:not([disabled])[invalid]) [part=\"control checked\"]::after {\n border-color: var(--invalid-color, hsla(var(--ig-error-500), var(--ig-error-a)));\n}\n\n:host(:not([disabled])[invalid]:hover) [part=control]::after,\n:host(:not([disabled])[invalid]:focus-within) [part=control]::after {\n border-color: var(--invalid-hover-color, hsla(var(--ig-error-700), var(--ig-error-a)));\n}\n:host(:not([disabled])[invalid]:hover) [part=\"control checked\"]::after,\n:host(:not([disabled])[invalid]:focus-within) [part=\"control checked\"]::after {\n border-color: var(--invalid-hover-color, hsla(var(--ig-error-700), var(--ig-error-a)));\n}\n:host(:not([disabled])[invalid]:hover) [part=\"control checked\"]::before,\n:host(:not([disabled])[invalid]:focus-within) [part=\"control checked\"]::before {\n background: var(--invalid-hover-color, hsla(var(--ig-error-700), var(--ig-error-a)));\n}\n\n:host([disabled]) [part~=label] {\n color: var(--disabled-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n}\n:host([disabled]) [part~=control]::after {\n border-color: var(--disabled-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n}\n:host([disabled]) [part=\"control checked\"]::before {\n background: var(--disabled-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n}\n\n[part~=focused] {\n position: relative;\n}\n[part~=focused]::after {\n content: \"\";\n position: absolute;\n top: -0.125rem;\n left: -0.125rem;\n -webkit-box-shadow: 0 0 0 1px hsla(var(--ig-gray-700), var(--ig-gray-a));\n box-shadow: 0 0 0 1px hsla(var(--ig-gray-700), var(--ig-gray-a));\n width: calc(100% + (0.125rem * 2));\n height: calc(100% + (0.125rem * 2));\n}`;\n"]}
@@ -1,5 +1,6 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host {
2
+ export const styles = css `/* stylelint-disable max-line-length */
3
+ :host {
3
4
  font-weight: 600;
4
5
  }
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"radio.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/radio/themes/light/radio.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqFvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n font-weight: 600;\n}\n\n:host [part~=control] {\n width: var(--size, 1.25rem);\n height: var(--size, 1.25rem);\n min-width: var(--size, 1.25rem);\n -webkit-transition: none;\n -o-transition: none;\n transition: none;\n background: none;\n}\n\n:host(:not([invalid])) [part=control]::after {\n border-color: var(--border-color, hsla(var(--ig-gray-600), var(--ig-gray-a)));\n}\n\n:host(:hover) [part=control] {\n -webkit-box-shadow: 0 0 0 0.25rem hsla(var(--ig-gray-200), 0.87);\n box-shadow: 0 0 0 0.25rem hsla(var(--ig-gray-200), 0.87);\n}\n\n:host(:focus-within) [part=control] {\n -webkit-box-shadow: 0 0 0 0.25rem hsla(var(--ig-gray-300), 0.87);\n box-shadow: 0 0 0 0.25rem hsla(var(--ig-gray-300), 0.87);\n}\n\n:host(:not([invalid])) [part=\"control checked\"]::after {\n border-color: var(--checked-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));\n}\n\n:host(:not([invalid])) [part=\"control checked\"]::before {\n background: var(--checked-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));\n border-color: var(--checked-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));\n}\n\n:host(:hover) [part=\"control checked\"] {\n background: transparent;\n -webkit-box-shadow: 0 0 0 0.25rem hsla(var(--ig-secondary-100), 0.87);\n box-shadow: 0 0 0 0.25rem hsla(var(--ig-secondary-100), 0.87);\n}\n\n:host(:focus-within) [part=\"control checked\"] {\n background: transparent;\n -webkit-box-shadow: 0 0 0 0.25rem hsla(var(--ig-secondary-200), 0.87);\n box-shadow: 0 0 0 0.25rem hsla(var(--ig-secondary-200), 0.87);\n}\n\n:host(:not([disabled])[invalid]) [part=\"control checked\"]::before {\n background: hsla(var(--ig-error-500), var(--ig-error-a));\n}\n\n:host([invalid]:hover) [part~=control] {\n -webkit-box-shadow: 0 0 0 0.25rem hsla(var(--ig-error-100), 0.87);\n box-shadow: 0 0 0 0.25rem hsla(var(--ig-error-100), 0.87);\n}\n\n:host([invalid]:focus-within) [part~=control] {\n -webkit-box-shadow: 0 0 0 0.25rem hsla(var(--ig-error-200), 0.87);\n box-shadow: 0 0 0 0.25rem hsla(var(--ig-error-200), 0.87);\n}\n\n:host([disabled]) {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n:host([disabled]) [part=control]::after {\n background: transparent;\n}\n\n:host([disabled]) [part=control]::after,\n:host([disabled]) [part=\"control checked\"]::after {\n border-color: var(--disabled-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n}\n\n:host([disabled]) [part=\"control checked\"]::before {\n background: var(--disabled-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n}\n\n:host([disabled]) [part~=label] {\n color: var(--disabled-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n}`;\n"]}
1
+ {"version":3,"file":"radio.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/radio/themes/light/radio.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsFvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`/* stylelint-disable max-line-length */\n:host {\n font-weight: 600;\n}\n\n:host [part~=control] {\n width: var(--size, 1.25rem);\n height: var(--size, 1.25rem);\n min-width: var(--size, 1.25rem);\n -webkit-transition: none;\n -o-transition: none;\n transition: none;\n background: none;\n}\n\n:host(:not([invalid])) [part=control]::after {\n border-color: var(--border-color, hsla(var(--ig-gray-600), var(--ig-gray-a)));\n}\n\n:host(:hover) [part=control] {\n -webkit-box-shadow: 0 0 0 0.25rem hsla(var(--ig-gray-200), 0.87);\n box-shadow: 0 0 0 0.25rem hsla(var(--ig-gray-200), 0.87);\n}\n\n:host(:focus-within) [part=control] {\n -webkit-box-shadow: 0 0 0 0.25rem hsla(var(--ig-gray-300), 0.87);\n box-shadow: 0 0 0 0.25rem hsla(var(--ig-gray-300), 0.87);\n}\n\n:host(:not([invalid])) [part=\"control checked\"]::after {\n border-color: var(--checked-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));\n}\n\n:host(:not([invalid])) [part=\"control checked\"]::before {\n background: var(--checked-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));\n border-color: var(--checked-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));\n}\n\n:host(:hover) [part=\"control checked\"] {\n background: transparent;\n -webkit-box-shadow: 0 0 0 0.25rem hsla(var(--ig-secondary-100), 0.87);\n box-shadow: 0 0 0 0.25rem hsla(var(--ig-secondary-100), 0.87);\n}\n\n:host(:focus-within) [part=\"control checked\"] {\n background: transparent;\n -webkit-box-shadow: 0 0 0 0.25rem hsla(var(--ig-secondary-200), 0.87);\n box-shadow: 0 0 0 0.25rem hsla(var(--ig-secondary-200), 0.87);\n}\n\n:host(:not([disabled])[invalid]) [part=\"control checked\"]::before {\n background: hsla(var(--ig-error-500), var(--ig-error-a));\n}\n\n:host([invalid]:hover) [part~=control] {\n -webkit-box-shadow: 0 0 0 0.25rem hsla(var(--ig-error-100), 0.87);\n box-shadow: 0 0 0 0.25rem hsla(var(--ig-error-100), 0.87);\n}\n\n:host([invalid]:focus-within) [part~=control] {\n -webkit-box-shadow: 0 0 0 0.25rem hsla(var(--ig-error-200), 0.87);\n box-shadow: 0 0 0 0.25rem hsla(var(--ig-error-200), 0.87);\n}\n\n:host([disabled]) {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n:host([disabled]) [part=control]::after {\n background: transparent;\n}\n\n:host([disabled]) [part=control]::after,\n:host([disabled]) [part=\"control checked\"]::after {\n border-color: var(--disabled-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n}\n\n:host([disabled]) [part=\"control checked\"]::before {\n background: var(--disabled-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n}\n\n:host([disabled]) [part~=label] {\n color: var(--disabled-color, hsla(var(--ig-gray-300), var(--ig-gray-a)));\n}`;\n"]}
@@ -1,5 +1,6 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `[part~=base]:hover [part=control] {
2
+ export const styles = css `/* stylelint-disable max-line-length */
3
+ [part~=base]:hover [part=control] {
3
4
  background: hsla(var(--ig-gray-600), 0.06);
4
5
  }
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"radio.material.css.js","sourceRoot":"","sources":["../../../../../src/components/radio/themes/light/radio.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;EAavB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part~=base]:hover [part=control] {\n background: hsla(var(--ig-gray-600), 0.06);\n}\n\n[part=\"base checked\"]:hover [part~=control] {\n background: hsla(var(--ig-secondary-500), 0.06);\n}\n[part=\"base checked\"]:focus-within [part~=control] {\n background: hsla(var(--ig-secondary-500), 0.12);\n}\n\n:host(:not([disabled])[invalid]) [part=\"control checked\"]::before {\n background: hsla(var(--ig-error-500), var(--ig-error-a));\n}`;\n"]}
1
+ {"version":3,"file":"radio.material.css.js","sourceRoot":"","sources":["../../../../../src/components/radio/themes/light/radio.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;EAcvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`/* stylelint-disable max-line-length */\n[part~=base]:hover [part=control] {\n background: hsla(var(--ig-gray-600), 0.06);\n}\n\n[part=\"base checked\"]:hover [part~=control] {\n background: hsla(var(--ig-secondary-500), 0.06);\n}\n[part=\"base checked\"]:focus-within [part~=control] {\n background: hsla(var(--ig-secondary-500), 0.12);\n}\n\n:host(:not([disabled])[invalid]) [part=\"control checked\"]::before {\n background: hsla(var(--ig-error-500), var(--ig-error-a));\n}`;\n"]}
@@ -1,5 +1,12 @@
1
1
  import { css } from 'lit';
2
2
  export const styles = css `:host {
3
+ --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
4
+ --is-medium:
5
+ min(
6
+ clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
7
+ clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
8
+ );
9
+ --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
3
10
  position: relative;
4
11
  -webkit-box-sizing: border-box;
5
12
  box-sizing: border-box;
@@ -25,6 +32,7 @@ export const styles = css `:host {
25
32
  display: none !important;
26
33
  }
27
34
 
35
+ /* stylelint-disable max-line-length */
28
36
  :host {
29
37
  display: -webkit-box;
30
38
  display: -ms-flexbox;
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.base.css.js","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoDvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--scrolbar-size, 0.875rem);\n scrollbar-color: var(--igc-scrollbar-thumb-color, hsla(var(--ig-gray-400), var(--ig-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--scrolbar-size, 0.875rem);\n height: var(--scrolbar-size, 0.875rem);\n background: var(--igc-scrollbar-track-color, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--igc-scrollbar-thumb-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n}\n\n[hidden] {\n display: none !important;\n}\n\n:host {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n\n:host([alignment=vertical]) {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n:host([alignment=vertical]) ::slotted(igc-radio:not(:first-of-type)) {\n -webkit-margin-before: 0.5rem;\n margin-block-start: 0.5rem;\n}\n\n:host([alignment=horizontal]) {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n:host([alignment=horizontal]) ::slotted(igc-radio:not(:first-of-type)) {\n -webkit-margin-start: 0.5rem;\n margin-inline-start: 0.5rem;\n}`;\n"]}
1
+ {"version":3,"file":"radio-group.base.css.js","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4DvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium:\n min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--scrolbar-size, 0.875rem);\n scrollbar-color: var(--igc-scrollbar-thumb-color, hsla(var(--ig-gray-400), var(--ig-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--scrolbar-size, 0.875rem);\n height: var(--scrolbar-size, 0.875rem);\n background: var(--igc-scrollbar-track-color, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--igc-scrollbar-thumb-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n}\n\n[hidden] {\n display: none !important;\n}\n\n/* stylelint-disable max-line-length */\n:host {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n\n:host([alignment=vertical]) {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n:host([alignment=vertical]) ::slotted(igc-radio:not(:first-of-type)) {\n -webkit-margin-before: 0.5rem;\n margin-block-start: 0.5rem;\n}\n\n:host([alignment=horizontal]) {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n:host([alignment=horizontal]) ::slotted(igc-radio:not(:first-of-type)) {\n -webkit-margin-start: 0.5rem;\n margin-inline-start: 0.5rem;\n}`;\n"]}
@@ -1,5 +1,12 @@
1
1
  import { css } from 'lit';
2
2
  export const styles = css `:host {
3
+ --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
4
+ --is-medium:
5
+ min(
6
+ clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
7
+ clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
8
+ );
9
+ --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
3
10
  position: relative;
4
11
  -webkit-box-sizing: border-box;
5
12
  box-sizing: border-box;
@@ -25,7 +32,9 @@ export const styles = css `:host {
25
32
  display: none !important;
26
33
  }
27
34
 
35
+ /* stylelint-disable max-line-length */
28
36
  :host {
37
+ --symbol-size: max(var(--is-large, 1) * 2.25rem, var(--is-medium, 1) * 1.5rem, var(--is-small, 1) * 1.125rem);
29
38
  display: -webkit-box;
30
39
  display: -ms-flexbox;
31
40
  display: flex;
@@ -1 +1 @@
1
- {"version":3,"file":"rating-symbol.base.css.js","sourceRoot":"","sources":["../../../src/components/rating/rating-symbol.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiGvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--scrolbar-size, 0.875rem);\n scrollbar-color: var(--igc-scrollbar-thumb-color, hsla(var(--ig-gray-400), var(--ig-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--scrolbar-size, 0.875rem);\n height: var(--scrolbar-size, 0.875rem);\n background: var(--igc-scrollbar-track-color, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--igc-scrollbar-thumb-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n}\n\n[hidden] {\n display: none !important;\n}\n\n:host {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: var(--symbol-size);\n height: var(--symbol-size);\n}\n\n[part~=symbol] {\n position: absolute;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n color: inherit;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: var(--symbol-size);\n height: var(--symbol-size);\n min-width: var(--symbol-size);\n min-height: var(--symbol-size);\n font-size: var(--symbol-size);\n font-family: sans-serif;\n line-height: 100%;\n letter-spacing: 0;\n}\n[part~=symbol] igc-icon {\n --size: var(--symbol-size);\n}\n\n[part=\"symbol full\"] {\n color: var(--symbol-full-color);\n}\n\n[part=\"symbol empty\"] {\n color: var(--symbol-empty-color);\n}\n\n::slotted(*) {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n::slotted(igc-icon) {\n --size: var(--symbol-size);\n}\n\nslot:not([name])::slotted(:not(igc-icon)) {\n -webkit-filter: var(--symbol-full-filter, grayscale(0));\n filter: var(--symbol-full-filter, grayscale(0));\n}\n\n[name=empty]::slotted(:not(igc-icon)) {\n -webkit-filter: var(--symbol-empty-filter, grayscale(1));\n filter: var(--symbol-empty-filter, grayscale(1));\n}`;\n"]}
1
+ {"version":3,"file":"rating-symbol.base.css.js","sourceRoot":"","sources":["../../../src/components/rating/rating-symbol.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0GvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium:\n min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--scrolbar-size, 0.875rem);\n scrollbar-color: var(--igc-scrollbar-thumb-color, hsla(var(--ig-gray-400), var(--ig-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--scrolbar-size, 0.875rem);\n height: var(--scrolbar-size, 0.875rem);\n background: var(--igc-scrollbar-track-color, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--igc-scrollbar-thumb-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n}\n\n[hidden] {\n display: none !important;\n}\n\n/* stylelint-disable max-line-length */\n:host {\n --symbol-size: max(var(--is-large, 1) * 2.25rem, var(--is-medium, 1) * 1.5rem, var(--is-small, 1) * 1.125rem);\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: var(--symbol-size);\n height: var(--symbol-size);\n}\n\n[part~=symbol] {\n position: absolute;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n color: inherit;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: var(--symbol-size);\n height: var(--symbol-size);\n min-width: var(--symbol-size);\n min-height: var(--symbol-size);\n font-size: var(--symbol-size);\n font-family: sans-serif;\n line-height: 100%;\n letter-spacing: 0;\n}\n[part~=symbol] igc-icon {\n --size: var(--symbol-size);\n}\n\n[part=\"symbol full\"] {\n color: var(--symbol-full-color);\n}\n\n[part=\"symbol empty\"] {\n color: var(--symbol-empty-color);\n}\n\n::slotted(*) {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n::slotted(igc-icon) {\n --size: var(--symbol-size);\n}\n\nslot:not([name])::slotted(:not(igc-icon)) {\n -webkit-filter: var(--symbol-full-filter, grayscale(0));\n filter: var(--symbol-full-filter, grayscale(0));\n}\n\n[name=empty]::slotted(:not(igc-icon)) {\n -webkit-filter: var(--symbol-empty-filter, grayscale(1));\n filter: var(--symbol-empty-filter, grayscale(1));\n}`;\n"]}
@@ -1,5 +1,12 @@
1
1
  import { css } from 'lit';
2
2
  export const styles = css `:host {
3
+ --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
4
+ --is-medium:
5
+ min(
6
+ clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
7
+ clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
8
+ );
9
+ --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
3
10
  position: relative;
4
11
  -webkit-box-sizing: border-box;
5
12
  box-sizing: border-box;
@@ -25,6 +32,7 @@ export const styles = css `:host {
25
32
  display: none !important;
26
33
  }
27
34
 
35
+ /* stylelint-disable max-line-length */
28
36
  :host {
29
37
  --symbol-full-color: hsla(var(--ig-warn-500), var(--ig-warn-a));
30
38
  --symbol-empty-color: hsla(var(--ig-gray-600), var(--ig-gray-a));
@@ -42,16 +50,16 @@ export const styles = css `:host {
42
50
  gap: 0.25rem;
43
51
  }
44
52
 
45
- :host([size=small]) {
46
- --symbol-size: 1.125rem;
53
+ :host([size=large]) {
54
+ --component-size: var(--ig-size, var(--ig-size-large));
47
55
  }
48
56
 
49
57
  :host([size=medium]) {
50
- --symbol-size: 1.5rem;
58
+ --component-size: var(--ig-size, var(--ig-size-medium));
51
59
  }
52
60
 
53
- :host([size=large]) {
54
- --symbol-size: 2.25rem;
61
+ :host([size=small]) {
62
+ --component-size: var(--ig-size, var(--ig-size-small));
55
63
  }
56
64
 
57
65
  [part=base] {
@@ -1 +1 @@
1
- {"version":3,"file":"rating.base.css.js","sourceRoot":"","sources":["../../../src/components/rating/rating.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyIvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--scrolbar-size, 0.875rem);\n scrollbar-color: var(--igc-scrollbar-thumb-color, hsla(var(--ig-gray-400), var(--ig-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--scrolbar-size, 0.875rem);\n height: var(--scrolbar-size, 0.875rem);\n background: var(--igc-scrollbar-track-color, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--igc-scrollbar-thumb-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n}\n\n[hidden] {\n display: none !important;\n}\n\n:host {\n --symbol-full-color: hsla(var(--ig-warn-500), var(--ig-warn-a));\n --symbol-empty-color: hsla(var(--ig-gray-600), var(--ig-gray-a));\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n font-family: var(--ig-font-family);\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n gap: 0.25rem;\n}\n\n:host([size=small]) {\n --symbol-size: 1.125rem;\n}\n\n:host([size=medium]) {\n --symbol-size: 1.5rem;\n}\n\n:host([size=large]) {\n --symbol-size: 2.25rem;\n}\n\n[part=base] {\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n gap: 0.25rem;\n}\n\n[part~=symbols] {\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n padding: 0.125rem;\n gap: 0.125rem;\n inset-inline-start: 0;\n}\n\n[part~=value-label] {\n font-family: var(--ig-subtitle-1-font-family);\n font-size: var(--ig-subtitle-1-font-size);\n font-weight: var(--ig-subtitle-1-font-weight);\n font-style: var(--ig-subtitle-1-font-style);\n line-height: var(--ig-subtitle-1-line-height);\n letter-spacing: var(--ig-subtitle-1-letter-spacing);\n text-transform: var(--ig-subtitle-1-text-transform);\n margin-top: var(--ig-subtitle-1-margin-top);\n margin-bottom: var(--ig-subtitle-1-margin-bottom);\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n}\n\n[part~=label] {\n font-family: var(--ig-caption-font-family);\n font-size: var(--ig-caption-font-size);\n font-weight: var(--ig-caption-font-weight);\n font-style: var(--ig-caption-font-style);\n line-height: var(--ig-caption-line-height);\n letter-spacing: var(--ig-caption-letter-spacing);\n text-transform: var(--ig-caption-text-transform);\n margin-top: var(--ig-caption-margin-top);\n margin-bottom: var(--ig-caption-margin-bottom);\n color: hsla(var(--ig-gray-700), var(--ig-gray-a));\n -webkit-padding-start: 0.25rem;\n padding-inline-start: 0.25rem;\n height: auto;\n width: auto;\n min-height: 0;\n min-width: 0;\n margin: 0;\n}\n\n:host(:not([disabled], [readonly])) [part~=symbols] {\n cursor: pointer;\n}\n\n:host([disabled]) {\n --symbol-full-color: hsla(var(--ig-warn-200), var(--ig-warn-a));\n --symbol-empty-color: hsla(var(--ig-gray-400), var(--ig-gray-a));\n --symbol-full-filter: grayscale(50%);\n --symbol-empty-filter: grayscale(100%) opacity(50%);\n}\n:host([disabled]) [part~=value-label],\n:host([disabled]) [part~=label] {\n color: hsla(var(--ig-gray-400), var(--ig-gray-a));\n}\n:host([disabled]) [part~=symbols] {\n cursor: initial;\n}`;\n"]}
1
+ {"version":3,"file":"rating.base.css.js","sourceRoot":"","sources":["../../../src/components/rating/rating.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiJvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium:\n min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--scrolbar-size, 0.875rem);\n scrollbar-color: var(--igc-scrollbar-thumb-color, hsla(var(--ig-gray-400), var(--ig-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--scrolbar-size, 0.875rem);\n height: var(--scrolbar-size, 0.875rem);\n background: var(--igc-scrollbar-track-color, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--igc-scrollbar-thumb-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n}\n\n[hidden] {\n display: none !important;\n}\n\n/* stylelint-disable max-line-length */\n:host {\n --symbol-full-color: hsla(var(--ig-warn-500), var(--ig-warn-a));\n --symbol-empty-color: hsla(var(--ig-gray-600), var(--ig-gray-a));\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n font-family: var(--ig-font-family);\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n gap: 0.25rem;\n}\n\n:host([size=large]) {\n --component-size: var(--ig-size, var(--ig-size-large));\n}\n\n:host([size=medium]) {\n --component-size: var(--ig-size, var(--ig-size-medium));\n}\n\n:host([size=small]) {\n --component-size: var(--ig-size, var(--ig-size-small));\n}\n\n[part=base] {\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n gap: 0.25rem;\n}\n\n[part~=symbols] {\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n padding: 0.125rem;\n gap: 0.125rem;\n inset-inline-start: 0;\n}\n\n[part~=value-label] {\n font-family: var(--ig-subtitle-1-font-family);\n font-size: var(--ig-subtitle-1-font-size);\n font-weight: var(--ig-subtitle-1-font-weight);\n font-style: var(--ig-subtitle-1-font-style);\n line-height: var(--ig-subtitle-1-line-height);\n letter-spacing: var(--ig-subtitle-1-letter-spacing);\n text-transform: var(--ig-subtitle-1-text-transform);\n margin-top: var(--ig-subtitle-1-margin-top);\n margin-bottom: var(--ig-subtitle-1-margin-bottom);\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n}\n\n[part~=label] {\n font-family: var(--ig-caption-font-family);\n font-size: var(--ig-caption-font-size);\n font-weight: var(--ig-caption-font-weight);\n font-style: var(--ig-caption-font-style);\n line-height: var(--ig-caption-line-height);\n letter-spacing: var(--ig-caption-letter-spacing);\n text-transform: var(--ig-caption-text-transform);\n margin-top: var(--ig-caption-margin-top);\n margin-bottom: var(--ig-caption-margin-bottom);\n color: hsla(var(--ig-gray-700), var(--ig-gray-a));\n -webkit-padding-start: 0.25rem;\n padding-inline-start: 0.25rem;\n height: auto;\n width: auto;\n min-height: 0;\n min-width: 0;\n margin: 0;\n}\n\n:host(:not([disabled], [readonly])) [part~=symbols] {\n cursor: pointer;\n}\n\n:host([disabled]) {\n --symbol-full-color: hsla(var(--ig-warn-200), var(--ig-warn-a));\n --symbol-empty-color: hsla(var(--ig-gray-400), var(--ig-gray-a));\n --symbol-full-filter: grayscale(50%);\n --symbol-empty-filter: grayscale(100%) opacity(50%);\n}\n:host([disabled]) [part~=value-label],\n:host([disabled]) [part~=label] {\n color: hsla(var(--ig-gray-400), var(--ig-gray-a));\n}\n:host([disabled]) [part~=symbols] {\n cursor: initial;\n}`;\n"]}
@@ -1,5 +1,6 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `[part=base] {
2
+ export const styles = css `/* stylelint-disable max-line-length */
3
+ [part=base] {
3
4
  gap: 0.4375rem;
4
5
  }
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"rating.bootstrap.css.js","sourceRoot":"","sources":["../../../src/components/rating/rating.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part=base] {\n gap: 0.4375rem;\n}\n\n[part~=label] {\n font-family: var(--ig-body-1-font-family);\n font-size: var(--ig-body-1-font-size);\n font-weight: var(--ig-body-1-font-weight);\n font-style: var(--ig-body-1-font-style);\n line-height: var(--ig-body-1-line-height);\n letter-spacing: var(--ig-body-1-letter-spacing);\n text-transform: var(--ig-body-1-text-transform);\n margin-top: var(--ig-body-1-margin-top);\n margin-bottom: var(--ig-body-1-margin-bottom);\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n}\n\n[part~=value-label] {\n font-family: var(--ig-body-2-font-family);\n font-size: var(--ig-body-2-font-size);\n font-weight: var(--ig-body-2-font-weight);\n font-style: var(--ig-body-2-font-style);\n line-height: var(--ig-body-2-line-height);\n letter-spacing: var(--ig-body-2-letter-spacing);\n text-transform: var(--ig-body-2-text-transform);\n margin-top: var(--ig-body-2-margin-top);\n margin-bottom: var(--ig-body-2-margin-bottom);\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n}`;\n"]}
1
+ {"version":3,"file":"rating.bootstrap.css.js","sourceRoot":"","sources":["../../../src/components/rating/rating.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`/* stylelint-disable max-line-length */\n[part=base] {\n gap: 0.4375rem;\n}\n\n[part~=label] {\n font-family: var(--ig-body-1-font-family);\n font-size: var(--ig-body-1-font-size);\n font-weight: var(--ig-body-1-font-weight);\n font-style: var(--ig-body-1-font-style);\n line-height: var(--ig-body-1-line-height);\n letter-spacing: var(--ig-body-1-letter-spacing);\n text-transform: var(--ig-body-1-text-transform);\n margin-top: var(--ig-body-1-margin-top);\n margin-bottom: var(--ig-body-1-margin-bottom);\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n}\n\n[part~=value-label] {\n font-family: var(--ig-body-2-font-family);\n font-size: var(--ig-body-2-font-size);\n font-weight: var(--ig-body-2-font-weight);\n font-style: var(--ig-body-2-font-style);\n line-height: var(--ig-body-2-line-height);\n letter-spacing: var(--ig-body-2-letter-spacing);\n text-transform: var(--ig-body-2-text-transform);\n margin-top: var(--ig-body-2-margin-top);\n margin-bottom: var(--ig-body-2-margin-bottom);\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n}`;\n"]}
@@ -39,18 +39,28 @@ export default class IgcRatingComponent extends IgcRatingComponent_base {
39
39
  protected hoverState: boolean;
40
40
  protected get isInteractive(): boolean;
41
41
  protected get hasProjectedSymbols(): boolean;
42
- protected get valueText(): string | number;
43
- /** The maximum value for the rating */
42
+ protected get valueText(): string;
43
+ /**
44
+ * The maximum value for the rating.
45
+ *
46
+ * If there are projected symbols, the maximum value will be resolved
47
+ * based on the number of symbols.
48
+ */
44
49
  max: number;
45
- /** The minimum value change allowed. */
50
+ /**
51
+ * The minimum value change allowed.
52
+ *
53
+ * Valid values are in the interval between 0 and 1 inclusive.
54
+ */
46
55
  step: number;
47
56
  /** The name attribute of the control */
48
57
  name: string;
49
58
  /** The label of the control. */
50
59
  label: string;
51
60
  /**
52
- * A format string which sets aria-valuetext. All instances of '{0}' will be replaced
53
- * with the current value of the control.
61
+ * A format string which sets aria-valuetext. Instances of '{0}' will be replaced
62
+ * with the current value of the control and instances of '{1}' with the maximum value for the control.
63
+ *
54
64
  * Important for screen-readers and useful for localization.
55
65
  */
56
66
  valueFormat: string;
@@ -1,5 +1,6 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `[part=base],
2
+ export const styles = css `/* stylelint-disable max-line-length */
3
+ [part=base],
3
4
  :host {
4
5
  gap: 0.375rem;
5
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rating.fluent.css.js","sourceRoot":"","sources":["../../../src/components/rating/rating.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part=base],\n:host {\n gap: 0.375rem;\n}\n\n[part~=label] {\n font-family: var(--ig-subtitle-2-font-family);\n font-size: var(--ig-subtitle-2-font-size);\n font-weight: var(--ig-subtitle-2-font-weight);\n font-style: var(--ig-subtitle-2-font-style);\n line-height: var(--ig-subtitle-2-line-height);\n letter-spacing: var(--ig-subtitle-2-letter-spacing);\n text-transform: var(--ig-subtitle-2-text-transform);\n margin-top: var(--ig-subtitle-2-margin-top);\n margin-bottom: var(--ig-subtitle-2-margin-bottom);\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n}\n\n[part~=value-label] {\n font-family: var(--ig-body-2-font-family);\n font-size: var(--ig-body-2-font-size);\n font-weight: var(--ig-body-2-font-weight);\n font-style: var(--ig-body-2-font-style);\n line-height: var(--ig-body-2-line-height);\n letter-spacing: var(--ig-body-2-letter-spacing);\n text-transform: var(--ig-body-2-text-transform);\n margin-top: var(--ig-body-2-margin-top);\n margin-bottom: var(--ig-body-2-margin-bottom);\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n}\n\n:host([disabled]) [part~=symbols-wrapper] {\n color: hsla(var(--ig-gray-200), var(--ig-gray-a));\n}\n:host([disabled]) [part~=value-label],\n:host([disabled]) [part~=label] {\n color: hsla(var(--ig-gray-400), var(--ig-gray-a));\n}\n:host([disabled]) [part=\"symbols-wrapper selected\"] {\n color: hsla(var(--ig-gray-500), var(--ig-gray-a));\n}`;\n"]}
1
+ {"version":3,"file":"rating.fluent.css.js","sourceRoot":"","sources":["../../../src/components/rating/rating.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`/* stylelint-disable max-line-length */\n[part=base],\n:host {\n gap: 0.375rem;\n}\n\n[part~=label] {\n font-family: var(--ig-subtitle-2-font-family);\n font-size: var(--ig-subtitle-2-font-size);\n font-weight: var(--ig-subtitle-2-font-weight);\n font-style: var(--ig-subtitle-2-font-style);\n line-height: var(--ig-subtitle-2-line-height);\n letter-spacing: var(--ig-subtitle-2-letter-spacing);\n text-transform: var(--ig-subtitle-2-text-transform);\n margin-top: var(--ig-subtitle-2-margin-top);\n margin-bottom: var(--ig-subtitle-2-margin-bottom);\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n}\n\n[part~=value-label] {\n font-family: var(--ig-body-2-font-family);\n font-size: var(--ig-body-2-font-size);\n font-weight: var(--ig-body-2-font-weight);\n font-style: var(--ig-body-2-font-style);\n line-height: var(--ig-body-2-line-height);\n letter-spacing: var(--ig-body-2-letter-spacing);\n text-transform: var(--ig-body-2-text-transform);\n margin-top: var(--ig-body-2-margin-top);\n margin-bottom: var(--ig-body-2-margin-bottom);\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n}\n\n:host([disabled]) [part~=symbols-wrapper] {\n color: hsla(var(--ig-gray-200), var(--ig-gray-a));\n}\n:host([disabled]) [part~=value-label],\n:host([disabled]) [part~=label] {\n color: hsla(var(--ig-gray-400), var(--ig-gray-a));\n}\n:host([disabled]) [part=\"symbols-wrapper selected\"] {\n color: hsla(var(--ig-gray-500), var(--ig-gray-a));\n}`;\n"]}
@@ -1,5 +1,6 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host {
2
+ export const styles = css `/* stylelint-disable max-line-length */
3
+ :host {
3
4
  gap: 0.3125rem;
4
5
  }
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"rating.indigo.css.js","sourceRoot":"","sources":["../../../src/components/rating/rating.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n gap: 0.3125rem;\n}\n\n[part=base] {\n gap: 0.5rem;\n}\n\n[part~=label] {\n font-family: var(--ig-body-1-font-family);\n font-size: var(--ig-body-1-font-size);\n font-weight: var(--ig-body-1-font-weight);\n font-style: var(--ig-body-1-font-style);\n line-height: var(--ig-body-1-line-height);\n letter-spacing: var(--ig-body-1-letter-spacing);\n text-transform: var(--ig-body-1-text-transform);\n margin-top: var(--ig-body-1-margin-top);\n margin-bottom: var(--ig-body-1-margin-bottom);\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n}\n\n[part~=value-label] {\n font-family: var(--ig-body-1-font-family);\n font-size: var(--ig-body-1-font-size);\n font-weight: var(--ig-body-1-font-weight);\n font-style: var(--ig-body-1-font-style);\n line-height: var(--ig-body-1-line-height);\n letter-spacing: var(--ig-body-1-letter-spacing);\n text-transform: var(--ig-body-1-text-transform);\n margin-top: var(--ig-body-1-margin-top);\n margin-bottom: var(--ig-body-1-margin-bottom);\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n}`;\n"]}
1
+ {"version":3,"file":"rating.indigo.css.js","sourceRoot":"","sources":["../../../src/components/rating/rating.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`/* stylelint-disable max-line-length */\n:host {\n gap: 0.3125rem;\n}\n\n[part=base] {\n gap: 0.5rem;\n}\n\n[part~=label] {\n font-family: var(--ig-body-1-font-family);\n font-size: var(--ig-body-1-font-size);\n font-weight: var(--ig-body-1-font-weight);\n font-style: var(--ig-body-1-font-style);\n line-height: var(--ig-body-1-line-height);\n letter-spacing: var(--ig-body-1-letter-spacing);\n text-transform: var(--ig-body-1-text-transform);\n margin-top: var(--ig-body-1-margin-top);\n margin-bottom: var(--ig-body-1-margin-bottom);\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n}\n\n[part~=value-label] {\n font-family: var(--ig-body-1-font-family);\n font-size: var(--ig-body-1-font-size);\n font-weight: var(--ig-body-1-font-weight);\n font-style: var(--ig-body-1-font-style);\n line-height: var(--ig-body-1-line-height);\n letter-spacing: var(--ig-body-1-letter-spacing);\n text-transform: var(--ig-body-1-text-transform);\n margin-top: var(--ig-body-1-margin-top);\n margin-bottom: var(--ig-body-1-margin-bottom);\n color: hsla(var(--ig-gray-900), var(--ig-gray-a));\n}`;\n"]}
@@ -44,9 +44,12 @@ let IgcRatingComponent = class IgcRatingComponent extends SizableMixin(EventEmit
44
44
  return this.ratingSymbols.length > 0;
45
45
  }
46
46
  get valueText() {
47
+ const value = this.round(this.value);
47
48
  return this.valueFormat
48
- ? this.valueFormat.replace(/\{0\}/gm, `${this.value}`)
49
- : this.value;
49
+ ? this.valueFormat
50
+ .replace(/\{0\}/gm, `${value}`)
51
+ .replace(/\{1\}/gm, `${this.max}`)
52
+ : `${value} of ${this.max}`;
50
53
  }
51
54
  handleMaxChange() {
52
55
  this.hasProjectedSymbols
@@ -205,7 +208,6 @@ let IgcRatingComponent = class IgcRatingComponent extends SizableMixin(EventEmit
205
208
  }
206
209
  }
207
210
  render() {
208
- var _a;
209
211
  const props = [
210
212
  this.value,
211
213
  this.hoverValue,
@@ -216,12 +218,14 @@ let IgcRatingComponent = class IgcRatingComponent extends SizableMixin(EventEmit
216
218
  this.ratingSymbols,
217
219
  ];
218
220
  return html `
219
- <label part="label" ?hidden=${!this.label}>${this.label}</label>
221
+ <label part="label" id="rating-label" ?hidden=${!this.label}
222
+ >${this.label}</label
223
+ >
220
224
  <div
221
225
  part="base"
222
226
  role="slider"
223
227
  tabindex=${ifDefined(this.disabled ? undefined : 0)}
224
- aria-label=${(_a = this.label) !== null && _a !== void 0 ? _a : nothing}
228
+ aria-labelledby="rating-label"
225
229
  aria-valuemin="0"
226
230
  aria-valuenow=${this.value}
227
231
  aria-valuemax=${this.max}
@@ -1 +1 @@
1
- {"version":3,"file":"rating.js","sourceRoot":"","sources":["../../../src/components/rating/rating.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,wBAAwB,MAAM,oBAAoB,CAAC;AAC1D,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAE/C,gBAAgB,CAAC,wBAAwB,EAAE,gBAAgB,CAAC,CAAC;AA+B7D,IAAqB,kBAAkB,GAAvC,MAAqB,kBAAmB,SAAQ,YAAY,CAC1D,iBAAiB,CAA6C,UAAU,CAAC,CAC1E;IAyGC;QACE,KAAK,EAAE,CAAC;QArGA,kBAAa,GAAoC,EAAE,CAAC;QASpD,eAAU,GAAG,CAAC,CAAC,CAAC;QAGhB,eAAU,GAAG,KAAK,CAAC;QAkBtB,QAAG,GAAG,CAAC,CAAC;QAIR,SAAI,GAAG,CAAC,CAAC;QAoBT,UAAK,GAAG,CAAC,CAAC;QAIV,aAAQ,GAAG,KAAK,CAAC;QAIjB,iBAAY,GAAG,KAAK,CAAC;QAIrB,aAAQ,GAAG,KAAK,CAAC;QAIjB,WAAM,GAAG,KAAK,CAAC;QAgCpB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACvD,CAAC;IAzFD,IAAc,aAAa;QACzB,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,IAAc,mBAAmB;QAC/B,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,IAAc,SAAS;QACrB,OAAO,IAAI,CAAC,WAAW;YACrB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACjB,CAAC;IA+CS,eAAe;QACvB,IAAI,CAAC,mBAAmB;YACtB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YACxC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE;YACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;SACvB;IACH,CAAC;IAGS,iBAAiB;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAGS,qBAAqB;QAC7B,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IAGS,qBAAqB;QAC7B,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;YACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpC;IACH,CAAC;IAOS,WAAW,CAAC,EAAE,OAAO,EAAc;QAC3C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,OAAO;SACR;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAES,eAAe,CAAC,EAAE,OAAO,EAAc;QAC/C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,OAAO;SACR;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;YAE7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;SACzD;IACH,CAAC;IAES,gBAAgB;QACxB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;IACH,CAAC;IAES,gBAAgB;QACxB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;IACH,CAAC;IAES,aAAa,CAAC,EAAE,GAAG,EAAiB;QAC5C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,OAAO;SACR;QAED,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAExB,QAAQ,GAAG,EAAE;YACX,KAAK,SAAS,CAAC;YACf,KAAK,YAAY;gBACf,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACvC,MAAM;YACR,KAAK,WAAW,CAAC;YACjB,KAAK,WAAW;gBACd,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACvC,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;gBACnB,MAAM;YACR,KAAK,KAAK;gBACR,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;gBAClB,MAAM;YACR;gBACE,OAAO;SACV;QAGD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAExC,IAAI,MAAM,KAAK,IAAI,CAAC,KAAK,EAAE;YACzB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;SACrD;IACH,CAAC;IAES,gBAAgB,CAAC,KAAY;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB,CAAC;QAE7C,IAAI,CAAC,aAAa,GAAG,IAAI;aACtB,gBAAgB,EAAE;aAClB,MAAM,CACL,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,wBAAwB,CACjB,CAAC;QAElC,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;SACtC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAES,YAAY,CAAC,CAAS;QAC9B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC;QACtE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAE7D,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAES,YAAY,CAAC,GAAW;QAChC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAES,KAAK,CAAC,KAAa;QAC3B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAClD,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAES,UAAU,CAAC,KAAa,EAAE,KAAK,GAAG,IAAI;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAC7D,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC;QACnC,MAAM,SAAS,GAAG,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrD,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAEvD,MAAM,OAAO,GAAG,WAAW,QAAQ,CACjC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAClC,QAAQ,CAAC;QACV,MAAM,QAAQ,GAAG,eAAe,QAAQ,CACtC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAClC,IAAI,CAAC;QAEN,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;YACpC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;SACpC,CAAC;IACJ,CAAC;IAMM,MAAM,CAAC,CAAC,GAAG,CAAC;QACjB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAMM,QAAQ,CAAC,CAAC,GAAG,CAAC;QACnB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAES,CAAC,aAAa;QACtB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACjC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACtD,MAAM,IAAI,CAAA;;;;kBAIE,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;;;;;kBAK/B,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;;;2BAGvB,CAAC;SACvB;IACH,CAAC;IAES,aAAa;QACrB,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAgC,EAAE,CAAC,EAAE,EAAE;;gBACjE,MAAM,IAAI,GAAG,MAAA,MAAM,CAAC,UAAU,0CAAE,aAAa,CAC3C,sBAAsB,CACR,CAAC;gBAEjB,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,UAAU,0CAAE,aAAa,CAC5C,uBAAuB,CACT,CAAC;gBACjB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAEtD,IAAI,IAAI,EAAE;oBACR,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;iBAC/B;gBAED,IAAI,KAAK,EAAE;oBACT,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;iBACjC;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAEkB,MAAM;;QACvB,MAAM,KAAK,GAAG;YACZ,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,GAAG;YACR,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,aAAa;SACnB,CAAC;QAEF,OAAO,IAAI,CAAA;oCACqB,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK;;;;mBAI1C,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;qBACtC,MAAA,IAAI,CAAC,KAAK,mCAAI,OAAO;;wBAElB,IAAI,CAAC,KAAK;wBACV,IAAI,CAAC,GAAG;yBACP,IAAI,CAAC,SAAS;;;;;mBAKpB,IAAI,CAAC,WAAW;wBACX,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO;wBACnD,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO;uBACpD,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO;;8BAE3C,IAAI,CAAC,gBAAgB;cACrC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE;YAClB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9B,CAAC,CAAC;;;4CAG8B,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;;;;KAInE,CAAC;IACJ,CAAC;CACF,CAAA;AAlVwB,0BAAO,GAAG,YAAa,CAAA;AAEhC,yBAAM,GAAG,CAAC,MAAM,CAAE,CAAA;AAKhC;IADC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC;qDACE;AAGlC;IADC,kBAAkB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sDACxB;AAGnC;IADC,KAAK,EAAE;sDACkB;AAG1B;IADC,KAAK,EAAE;sDACqB;AAkB7B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CACZ;AAIf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDACX;AAIhB;IADC,QAAQ,EAAE;gDACU;AAIrB;IADC,QAAQ,EAAE;iDACW;AAQtB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;uDACZ;AAI5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDACV;AAIjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oDACnB;AAIxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;wDAC3C;AAI5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oDACnB;AAIxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDACN;AAGtB;IADC,KAAK,CAAC,KAAK,CAAC;yDAQZ;AAGD;IADC,KAAK,CAAC,OAAO,CAAC;2DAGd;AAGD;IADC,KAAK,CAAC,MAAM,CAAC;+DAGb;AAGD;IADC,KAAK,CAAC,QAAQ,CAAC;+DAMf;AAzGkB,kBAAkB;IADtC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;GACjB,kBAAkB,CAqVtC;eArVoB,kBAAkB","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property, query, queryAssignedNodes, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { guard } from 'lit/directives/guard.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { SizableMixin } from '../common/mixins/sizable.js';\nimport { clamp, isLTR } from '../common/util.js';\nimport { styles } from './rating.base.css.js';\nimport { styles as bootstrap } from './rating.bootstrap.css.js';\nimport { styles as fluent } from './rating.fluent.css.js';\nimport { styles as indigo } from './rating.indigo.css.js';\n\nimport { defineComponents } from '../common/definitions/defineComponents.js';\nimport IgcRatingSymbolComponent from './rating-symbol.js';\nimport IgcIconComponent from '../icon/icon.js';\n\ndefineComponents(IgcRatingSymbolComponent, IgcIconComponent);\n\nexport interface IgcRatingEventMap {\n igcChange: CustomEvent<number>;\n igcHover: CustomEvent<number>;\n}\n\n/**\n * Rating provides insight regarding others' opinions and experiences,\n * and can allow the user to submit a rating of their own\n *\n * @element igc-rating\n *\n * @fires igcChange - Emitted when the value of the control changes.\n * @fires igcHover - Emitted when hover is enabled and the user mouses over a symbol of the rating.\n *\n * @csspart base - The main wrapper which holds all of the rating elements.\n * @csspart label - The label part.\n * @csspart value-label - The value label part.\n * @csspart symbols - A wrapper for all rating symbols.\n * @csspart symbol - The part of the encapsulated default symbol.\n * @csspart full - The part of the encapsulated full symbols.\n * @csspart empty - The part of the encapsulated empty symbols.\n *\n * @cssproperty --symbol-size - The size of the symbols.\n * @cssproperty --symbol-full-color - The color of the filled symbol.\n * @cssproperty --symbol-empty-color - The color of the empty symbol.\n * @cssproperty --symbol-full-filter - The filter(s) used for the filled symbol.\n * @cssproperty --symbol-empty-filter - The filter(s) used for the empty symbol.\n */\n@themes({ fluent, bootstrap, indigo })\nexport default class IgcRatingComponent extends SizableMixin(\n EventEmitterMixin<IgcRatingEventMap, Constructor<LitElement>>(LitElement)\n) {\n public static readonly tagName = 'igc-rating';\n\n public static styles = [styles];\n\n protected ratingSymbols: Array<IgcRatingSymbolComponent> = [];\n\n @query('[part=\"symbols\"]', true)\n protected container!: HTMLElement;\n\n @queryAssignedNodes({ slot: 'value-label', flatten: true })\n protected valueLabel!: Array<Node>;\n\n @state()\n protected hoverValue = -1;\n\n @state()\n protected hoverState = false;\n\n protected get isInteractive() {\n return !(this.readonly || this.disabled);\n }\n\n protected get hasProjectedSymbols() {\n return this.ratingSymbols.length > 0;\n }\n\n protected get valueText() {\n return this.valueFormat\n ? this.valueFormat.replace(/\\{0\\}/gm, `${this.value}`)\n : this.value;\n }\n\n /** The maximum value for the rating */\n @property({ type: Number })\n public max = 5;\n\n /** The minimum value change allowed. */\n @property({ type: Number })\n public step = 1;\n\n /** The name attribute of the control */\n @property()\n public name!: string;\n\n /** The label of the control. */\n @property()\n public label!: string;\n\n /**\n * A format string which sets aria-valuetext. All instances of '{0}' will be replaced\n * with the current value of the control.\n * Important for screen-readers and useful for localization.\n */\n @property({ attribute: 'value-format' })\n public valueFormat!: string;\n\n /** The current value of the component */\n @property({ type: Number })\n public value = 0;\n\n /** Sets the disabled state of the component */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /** Sets hover preview behavior for the component */\n @property({ type: Boolean, reflect: true, attribute: 'hover-preview' })\n public hoverPreview = false;\n\n /** Sets the readonly state of the component */\n @property({ type: Boolean, reflect: true })\n public readonly = false;\n\n /** Toggles single selection visual mode. */\n @property({ type: Boolean })\n public single = false;\n\n @watch('max')\n protected handleMaxChange() {\n this.hasProjectedSymbols\n ? (this.max = this.ratingSymbols.length)\n : (this.max = Math.max(0, this.max));\n if (this.max < this.value) {\n this.value = this.max;\n }\n }\n\n @watch('value')\n protected handleValueChange() {\n this.value = clamp(this.value, 0, this.max);\n }\n\n @watch('step')\n protected handlePrecisionChange() {\n this.step = !this.single ? clamp(this.step, 0.001, 1) : 1;\n }\n\n @watch('single')\n protected handleSelectionChange() {\n if (this.single) {\n this.step = 1;\n this.value = Math.ceil(this.value);\n }\n }\n\n constructor() {\n super();\n this.addEventListener('keydown', this.handleKeyDown);\n }\n\n protected handleClick({ clientX }: MouseEvent) {\n if (!this.isInteractive) {\n return;\n }\n\n const value = this.calcNewValue(clientX);\n this.value === value ? (this.value = 0) : (this.value = value);\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n protected handleMouseMove({ clientX }: MouseEvent) {\n if (!this.isInteractive) {\n return;\n }\n\n const value = this.calcNewValue(clientX);\n\n if (this.hoverValue !== value) {\n // Since mousemove spams a lot, only emit on a value change\n this.hoverValue = value;\n this.emitEvent('igcHover', { detail: this.hoverValue });\n }\n }\n\n protected handleMouseEnter() {\n if (this.isInteractive) {\n this.hoverState = true;\n }\n }\n\n protected handleMouseLeave() {\n if (this.isInteractive) {\n this.hoverState = false;\n }\n }\n\n protected handleKeyDown({ key }: KeyboardEvent) {\n if (!this.isInteractive) {\n return;\n }\n\n let result = this.value;\n const ltr = isLTR(this);\n\n switch (key) {\n case 'ArrowUp':\n case 'ArrowRight':\n result += ltr ? this.step : -this.step;\n break;\n case 'ArrowDown':\n case 'ArrowLeft':\n result -= ltr ? this.step : -this.step;\n break;\n case 'Home':\n result = this.step;\n break;\n case 'End':\n result = this.max;\n break;\n default:\n return;\n }\n\n // Verify new value is in bounds and emit\n this.value = clamp(result, 0, this.max);\n\n if (result === this.value) {\n this.emitEvent('igcChange', { detail: this.value });\n }\n }\n\n protected handleSlotChange(event: Event) {\n const slot = event.target as HTMLSlotElement;\n\n this.ratingSymbols = slot\n .assignedElements()\n .filter(\n (el) => el instanceof IgcRatingSymbolComponent\n ) as IgcRatingSymbolComponent[];\n\n if (this.hasProjectedSymbols) {\n this.max = this.ratingSymbols.length;\n }\n\n this.requestUpdate();\n }\n\n protected calcNewValue(x: number) {\n const { width, left, right } = this.container.getBoundingClientRect();\n const percent = isLTR(this) ? (x - left) / width : (right - x) / width;\n const value = this.round(this.max * percent + this.step / 2);\n\n return clamp(value, this.step, this.max);\n }\n\n protected getPrecision(num: number) {\n const [_, decimal] = num.toString().split('.');\n return decimal ? decimal.length : 0;\n }\n\n protected round(value: number) {\n value = Math.round(value / this.step) * this.step;\n return Number(value.toFixed(this.getPrecision(this.step)));\n }\n\n protected clipSymbol(index: number, isLTR = true) {\n const value = this.hoverState ? this.hoverValue : this.value;\n const progress = index + 1 - value;\n const exclusive = progress === 0 || this.value === index + 1 ? 0 : 1;\n const selection = this.single ? exclusive : progress;\n const activate = (p: number) => clamp(p * 100, 0, 100);\n\n const forward = `inset(0 ${activate(\n isLTR ? selection : 1 - selection\n )}% 0 0)`;\n const backward = `inset(0 0 0 ${activate(\n isLTR ? 1 - selection : selection\n )}%)`;\n\n return {\n backward: isLTR ? backward : forward,\n forward: isLTR ? forward : backward,\n };\n }\n\n /**\n * Increments the value of the control by `n` steps multiplied by the\n * step factor.\n */\n public stepUp(n = 1) {\n this.value += this.round(n * this.step);\n }\n\n /**\n * Decrements the value of the control by `n` steps multiplied by\n * the step factor.\n */\n public stepDown(n = 1) {\n this.value -= this.round(n * this.step);\n }\n\n protected *renderSymbols() {\n const ltr = isLTR(this);\n for (let i = 0; i < this.max; i++) {\n const { forward, backward } = this.clipSymbol(i, ltr);\n yield html`<igc-rating-symbol exportparts=\"symbol, full, empty\">\n <igc-icon\n collection=\"internal\"\n name=\"star\"\n style=${styleMap({ clipPath: forward })}\n ></igc-icon>\n <igc-icon\n collection=\"internal\"\n name=\"star_border\"\n style=${styleMap({ clipPath: backward })}\n slot=\"empty\"\n ></igc-icon>\n </igc-rating-symbol>`;\n }\n }\n\n protected clipProjected() {\n if (this.hasProjectedSymbols) {\n const ltr = isLTR(this);\n this.ratingSymbols.forEach((symbol: IgcRatingSymbolComponent, i) => {\n const full = symbol.shadowRoot?.querySelector(\n '[part=\"symbol full\"]'\n ) as HTMLElement;\n\n const empty = symbol.shadowRoot?.querySelector(\n '[part=\"symbol empty\"]'\n ) as HTMLElement;\n const { forward, backward } = this.clipSymbol(i, ltr);\n\n if (full) {\n full.style.clipPath = forward;\n }\n\n if (empty) {\n empty.style.clipPath = backward;\n }\n });\n }\n }\n\n protected override render() {\n const props = [\n this.value,\n this.hoverValue,\n this.max,\n this.step,\n this.single,\n this.hoverState,\n this.ratingSymbols,\n ];\n\n return html`\n <label part=\"label\" ?hidden=${!this.label}>${this.label}</label>\n <div\n part=\"base\"\n role=\"slider\"\n tabindex=${ifDefined(this.disabled ? undefined : 0)}\n aria-label=${this.label ?? nothing}\n aria-valuemin=\"0\"\n aria-valuenow=${this.value}\n aria-valuemax=${this.max}\n aria-valuetext=${this.valueText}\n >\n <div\n aria-hidden=\"true\"\n part=\"symbols\"\n @click=${this.handleClick}\n @mouseenter=${this.hoverPreview ? this.handleMouseEnter : nothing}\n @mouseleave=${this.hoverPreview ? this.handleMouseLeave : nothing}\n @mousemove=${this.hoverPreview ? this.handleMouseMove : nothing}\n >\n <slot @slotchange=${this.handleSlotChange}>\n ${guard(props, () => {\n this.clipProjected();\n return this.renderSymbols();\n })}\n </slot>\n </div>\n <label part=\"value-label\" ?hidden=${this.valueLabel.length === 0}>\n <slot name=\"value-label\"></slot>\n </label>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-rating': IgcRatingComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"rating.js","sourceRoot":"","sources":["../../../src/components/rating/rating.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property, query, queryAssignedNodes, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { guard } from 'lit/directives/guard.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { SizableMixin } from '../common/mixins/sizable.js';\nimport { clamp, isLTR } from '../common/util.js';\nimport { styles } from './rating.base.css.js';\nimport { styles as bootstrap } from './rating.bootstrap.css.js';\nimport { styles as fluent } from './rating.fluent.css.js';\nimport { styles as indigo } from './rating.indigo.css.js';\n\nimport { defineComponents } from '../common/definitions/defineComponents.js';\nimport IgcRatingSymbolComponent from './rating-symbol.js';\nimport IgcIconComponent from '../icon/icon.js';\n\ndefineComponents(IgcRatingSymbolComponent, IgcIconComponent);\n\nexport interface IgcRatingEventMap {\n igcChange: CustomEvent<number>;\n igcHover: CustomEvent<number>;\n}\n\n/**\n * Rating provides insight regarding others' opinions and experiences,\n * and can allow the user to submit a rating of their own\n *\n * @element igc-rating\n *\n * @fires igcChange - Emitted when the value of the control changes.\n * @fires igcHover - Emitted when hover is enabled and the user mouses over a symbol of the rating.\n *\n * @csspart base - The main wrapper which holds all of the rating elements.\n * @csspart label - The label part.\n * @csspart value-label - The value label part.\n * @csspart symbols - A wrapper for all rating symbols.\n * @csspart symbol - The part of the encapsulated default symbol.\n * @csspart full - The part of the encapsulated full symbols.\n * @csspart empty - The part of the encapsulated empty symbols.\n *\n * @cssproperty --symbol-size - The size of the symbols.\n * @cssproperty --symbol-full-color - The color of the filled symbol.\n * @cssproperty --symbol-empty-color - The color of the empty symbol.\n * @cssproperty --symbol-full-filter - The filter(s) used for the filled symbol.\n * @cssproperty --symbol-empty-filter - The filter(s) used for the empty symbol.\n */\n@themes({ fluent, bootstrap, indigo })\nexport default class IgcRatingComponent extends SizableMixin(\n EventEmitterMixin<IgcRatingEventMap, Constructor<LitElement>>(LitElement)\n) {\n public static readonly tagName = 'igc-rating';\n\n public static styles = [styles];\n\n protected ratingSymbols: Array<IgcRatingSymbolComponent> = [];\n\n @query('[part=\"symbols\"]', true)\n protected container!: HTMLElement;\n\n @queryAssignedNodes({ slot: 'value-label', flatten: true })\n protected valueLabel!: Array<Node>;\n\n @state()\n protected hoverValue = -1;\n\n @state()\n protected hoverState = false;\n\n protected get isInteractive() {\n return !(this.readonly || this.disabled);\n }\n\n protected get hasProjectedSymbols() {\n return this.ratingSymbols.length > 0;\n }\n\n protected get valueText() {\n // Skip IEEE 754 representation for screen readers\n const value = this.round(this.value);\n\n return this.valueFormat\n ? this.valueFormat\n .replace(/\\{0\\}/gm, `${value}`)\n .replace(/\\{1\\}/gm, `${this.max}`)\n : `${value} of ${this.max}`;\n }\n\n /**\n * The maximum value for the rating.\n *\n * If there are projected symbols, the maximum value will be resolved\n * based on the number of symbols.\n */\n @property({ type: Number })\n public max = 5;\n\n /**\n * The minimum value change allowed.\n *\n * Valid values are in the interval between 0 and 1 inclusive.\n */\n @property({ type: Number })\n public step = 1;\n\n /** The name attribute of the control */\n @property()\n public name!: string;\n\n /** The label of the control. */\n @property()\n public label!: string;\n\n /**\n * A format string which sets aria-valuetext. Instances of '{0}' will be replaced\n * with the current value of the control and instances of '{1}' with the maximum value for the control.\n *\n * Important for screen-readers and useful for localization.\n */\n @property({ attribute: 'value-format' })\n public valueFormat!: string;\n\n /** The current value of the component */\n @property({ type: Number })\n public value = 0;\n\n /** Sets the disabled state of the component */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /** Sets hover preview behavior for the component */\n @property({ type: Boolean, reflect: true, attribute: 'hover-preview' })\n public hoverPreview = false;\n\n /** Sets the readonly state of the component */\n @property({ type: Boolean, reflect: true })\n public readonly = false;\n\n /** Toggles single selection visual mode. */\n @property({ type: Boolean })\n public single = false;\n\n @watch('max')\n protected handleMaxChange() {\n this.hasProjectedSymbols\n ? (this.max = this.ratingSymbols.length)\n : (this.max = Math.max(0, this.max));\n if (this.max < this.value) {\n this.value = this.max;\n }\n }\n\n @watch('value')\n protected handleValueChange() {\n this.value = clamp(this.value, 0, this.max);\n }\n\n @watch('step')\n protected handlePrecisionChange() {\n this.step = !this.single ? clamp(this.step, 0.001, 1) : 1;\n }\n\n @watch('single')\n protected handleSelectionChange() {\n if (this.single) {\n this.step = 1;\n this.value = Math.ceil(this.value);\n }\n }\n\n constructor() {\n super();\n this.addEventListener('keydown', this.handleKeyDown);\n }\n\n protected handleClick({ clientX }: MouseEvent) {\n if (!this.isInteractive) {\n return;\n }\n\n const value = this.calcNewValue(clientX);\n this.value === value ? (this.value = 0) : (this.value = value);\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n protected handleMouseMove({ clientX }: MouseEvent) {\n if (!this.isInteractive) {\n return;\n }\n\n const value = this.calcNewValue(clientX);\n\n if (this.hoverValue !== value) {\n // Since mousemove spams a lot, only emit on a value change\n this.hoverValue = value;\n this.emitEvent('igcHover', { detail: this.hoverValue });\n }\n }\n\n protected handleMouseEnter() {\n if (this.isInteractive) {\n this.hoverState = true;\n }\n }\n\n protected handleMouseLeave() {\n if (this.isInteractive) {\n this.hoverState = false;\n }\n }\n\n protected handleKeyDown({ key }: KeyboardEvent) {\n if (!this.isInteractive) {\n return;\n }\n\n let result = this.value;\n const ltr = isLTR(this);\n\n switch (key) {\n case 'ArrowUp':\n case 'ArrowRight':\n result += ltr ? this.step : -this.step;\n break;\n case 'ArrowDown':\n case 'ArrowLeft':\n result -= ltr ? this.step : -this.step;\n break;\n case 'Home':\n result = this.step;\n break;\n case 'End':\n result = this.max;\n break;\n default:\n return;\n }\n\n // Verify new value is in bounds and emit\n this.value = clamp(result, 0, this.max);\n\n if (result === this.value) {\n this.emitEvent('igcChange', { detail: this.value });\n }\n }\n\n protected handleSlotChange(event: Event) {\n const slot = event.target as HTMLSlotElement;\n\n this.ratingSymbols = slot\n .assignedElements()\n .filter(\n (el) => el instanceof IgcRatingSymbolComponent\n ) as IgcRatingSymbolComponent[];\n\n if (this.hasProjectedSymbols) {\n this.max = this.ratingSymbols.length;\n }\n\n this.requestUpdate();\n }\n\n protected calcNewValue(x: number) {\n const { width, left, right } = this.container.getBoundingClientRect();\n const percent = isLTR(this) ? (x - left) / width : (right - x) / width;\n const value = this.round(this.max * percent + this.step / 2);\n\n return clamp(value, this.step, this.max);\n }\n\n protected getPrecision(num: number) {\n const [_, decimal] = num.toString().split('.');\n return decimal ? decimal.length : 0;\n }\n\n protected round(value: number) {\n value = Math.round(value / this.step) * this.step;\n return Number(value.toFixed(this.getPrecision(this.step)));\n }\n\n protected clipSymbol(index: number, isLTR = true) {\n const value = this.hoverState ? this.hoverValue : this.value;\n const progress = index + 1 - value;\n const exclusive = progress === 0 || this.value === index + 1 ? 0 : 1;\n const selection = this.single ? exclusive : progress;\n const activate = (p: number) => clamp(p * 100, 0, 100);\n\n const forward = `inset(0 ${activate(\n isLTR ? selection : 1 - selection\n )}% 0 0)`;\n const backward = `inset(0 0 0 ${activate(\n isLTR ? 1 - selection : selection\n )}%)`;\n\n return {\n backward: isLTR ? backward : forward,\n forward: isLTR ? forward : backward,\n };\n }\n\n /**\n * Increments the value of the control by `n` steps multiplied by the\n * step factor.\n */\n public stepUp(n = 1) {\n this.value += this.round(n * this.step);\n }\n\n /**\n * Decrements the value of the control by `n` steps multiplied by\n * the step factor.\n */\n public stepDown(n = 1) {\n this.value -= this.round(n * this.step);\n }\n\n protected *renderSymbols() {\n const ltr = isLTR(this);\n for (let i = 0; i < this.max; i++) {\n const { forward, backward } = this.clipSymbol(i, ltr);\n yield html`<igc-rating-symbol exportparts=\"symbol, full, empty\">\n <igc-icon\n collection=\"internal\"\n name=\"star\"\n style=${styleMap({ clipPath: forward })}\n ></igc-icon>\n <igc-icon\n collection=\"internal\"\n name=\"star_border\"\n style=${styleMap({ clipPath: backward })}\n slot=\"empty\"\n ></igc-icon>\n </igc-rating-symbol>`;\n }\n }\n\n protected clipProjected() {\n if (this.hasProjectedSymbols) {\n const ltr = isLTR(this);\n this.ratingSymbols.forEach((symbol: IgcRatingSymbolComponent, i) => {\n const full = symbol.shadowRoot?.querySelector(\n '[part=\"symbol full\"]'\n ) as HTMLElement;\n\n const empty = symbol.shadowRoot?.querySelector(\n '[part=\"symbol empty\"]'\n ) as HTMLElement;\n const { forward, backward } = this.clipSymbol(i, ltr);\n\n if (full) {\n full.style.clipPath = forward;\n }\n\n if (empty) {\n empty.style.clipPath = backward;\n }\n });\n }\n }\n\n protected override render() {\n const props = [\n this.value,\n this.hoverValue,\n this.max,\n this.step,\n this.single,\n this.hoverState,\n this.ratingSymbols,\n ];\n\n return html`\n <label part=\"label\" id=\"rating-label\" ?hidden=${!this.label}\n >${this.label}</label\n >\n <div\n part=\"base\"\n role=\"slider\"\n tabindex=${ifDefined(this.disabled ? undefined : 0)}\n aria-labelledby=\"rating-label\"\n aria-valuemin=\"0\"\n aria-valuenow=${this.value}\n aria-valuemax=${this.max}\n aria-valuetext=${this.valueText}\n >\n <div\n aria-hidden=\"true\"\n part=\"symbols\"\n @click=${this.handleClick}\n @mouseenter=${this.hoverPreview ? this.handleMouseEnter : nothing}\n @mouseleave=${this.hoverPreview ? this.handleMouseLeave : nothing}\n @mousemove=${this.hoverPreview ? this.handleMouseMove : nothing}\n >\n <slot @slotchange=${this.handleSlotChange}>\n ${guard(props, () => {\n this.clipProjected();\n return this.renderSymbols();\n })}\n </slot>\n </div>\n <label part=\"value-label\" ?hidden=${this.valueLabel.length === 0}>\n <slot name=\"value-label\"></slot>\n </label>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-rating': IgcRatingComponent;\n }\n}\n"]}
@@ -1,5 +1,12 @@
1
1
  import { css } from 'lit';
2
2
  export const styles = css `:host {
3
+ --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
4
+ --is-medium:
5
+ min(
6
+ clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),
7
+ clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)
8
+ );
9
+ --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);
3
10
  position: relative;
4
11
  -webkit-box-sizing: border-box;
5
12
  box-sizing: border-box;
@@ -1 +1 @@
1
- {"version":3,"file":"ripple.material.css.js","sourceRoot":"","sources":["../../../src/components/ripple/ripple.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--scrolbar-size, 0.875rem);\n scrollbar-color: var(--igc-scrollbar-thumb-color, hsla(var(--ig-gray-400), var(--ig-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--scrolbar-size, 0.875rem);\n height: var(--scrolbar-size, 0.875rem);\n background: var(--igc-scrollbar-track-color, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--igc-scrollbar-thumb-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n}\n\n[hidden] {\n display: none !important;\n}\n\n:host {\n position: absolute;\n display: block;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n contain: content;\n overflow: hidden;\n}`;\n"]}
1
+ {"version":3,"file":"ripple.material.css.js","sourceRoot":"","sources":["../../../src/components/ripple/ripple.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0CvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host {\n --is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);\n --is-medium:\n min(\n clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1),\n clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1)\n );\n --is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scrollbar-width: var(--scrolbar-size, 0.875rem);\n scrollbar-color: var(--igc-scrollbar-thumb-color, hsla(var(--ig-gray-400), var(--ig-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n}\n:host *,\n:host *::before,\n:host *::after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n:host ::-webkit-scrollbar {\n width: var(--scrolbar-size, 0.875rem);\n height: var(--scrolbar-size, 0.875rem);\n background: var(--igc-scrollbar-track-color, hsla(var(--ig-gray-200), var(--ig-gray-a)));\n}\n:host ::-webkit-scrollbar-thumb {\n background: var(--igc-scrollbar-thumb-color, hsla(var(--ig-gray-400), var(--ig-gray-a)));\n}\n\n[hidden] {\n display: none !important;\n}\n\n:host {\n position: absolute;\n display: block;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n contain: content;\n overflow: hidden;\n}`;\n"]}
@@ -0,0 +1,31 @@
1
+ import IgcDropdownGroupComponent from '../dropdown/dropdown-group.js';
2
+ import IgcSelectItemComponent from './select-item.js';
3
+ /**
4
+ * @element igc-select-group - A container for a group of `igc-select-item` components.
5
+ *
6
+ * @slot label - Contains the group's label.
7
+ * @slot - Intended to contain the items belonging to this group.
8
+ *
9
+ * @csspart label - The native label element.
10
+ */
11
+ export default class IgcSelectGroupComponent extends IgcDropdownGroupComponent {
12
+ /** @private */
13
+ static readonly tagName = "igc-select-group";
14
+ private observer;
15
+ private controlledItems;
16
+ /** All child `igc-select-item`s. */
17
+ items: Array<IgcSelectItemComponent>;
18
+ protected activeItems: Array<IgcSelectItemComponent>;
19
+ disabled: boolean;
20
+ constructor();
21
+ disconnectedCallback(): void;
22
+ protected getParent(): import("./select.js").default;
23
+ protected firstUpdated(): Promise<void>;
24
+ protected updateControlledItems(mutations: MutationRecord[]): void;
25
+ protected updateDisabled(): void;
26
+ }
27
+ declare global {
28
+ interface HTMLElementTagNameMap {
29
+ 'igc-select-group': IgcSelectGroupComponent;
30
+ }
31
+ }
@@ -0,0 +1,69 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { property, queryAssignedElements } from 'lit/decorators.js';
8
+ import { watch } from '../common/decorators/watch.js';
9
+ import IgcDropdownGroupComponent from '../dropdown/dropdown-group.js';
10
+ export default class IgcSelectGroupComponent extends IgcDropdownGroupComponent {
11
+ constructor() {
12
+ super();
13
+ this.disabled = false;
14
+ this.observer = new MutationObserver(this.updateControlledItems.bind(this));
15
+ }
16
+ disconnectedCallback() {
17
+ this.observer.disconnect();
18
+ }
19
+ getParent() {
20
+ return this.closest('igc-select');
21
+ }
22
+ async firstUpdated() {
23
+ await this.updateComplete;
24
+ this.controlledItems = this.activeItems;
25
+ this.setAttribute('role', 'presentation');
26
+ this.items.forEach((i) => {
27
+ this.observer.observe(i, {
28
+ attributes: true,
29
+ attributeFilter: ['disabled'],
30
+ });
31
+ });
32
+ this.updateDisabled();
33
+ }
34
+ updateControlledItems(mutations) {
35
+ mutations.forEach((mutation) => {
36
+ const item = mutation.target;
37
+ if (!this.disabled) {
38
+ this.controlledItems = this.activeItems;
39
+ }
40
+ if (this.disabled && !item.disabled) {
41
+ item.disabled = true;
42
+ }
43
+ });
44
+ }
45
+ updateDisabled() {
46
+ var _a;
47
+ this.disabled
48
+ ? this.setAttribute('aria-disabled', 'true')
49
+ : this.removeAttribute('aria-disabled');
50
+ (_a = this.controlledItems) === null || _a === void 0 ? void 0 : _a.forEach((i) => (i.disabled = this.disabled));
51
+ }
52
+ }
53
+ IgcSelectGroupComponent.tagName = 'igc-select-group';
54
+ __decorate([
55
+ queryAssignedElements({ flatten: true, selector: 'igc-select-item' })
56
+ ], IgcSelectGroupComponent.prototype, "items", void 0);
57
+ __decorate([
58
+ queryAssignedElements({
59
+ flatten: true,
60
+ selector: 'igc-select-item:not([disabled])',
61
+ })
62
+ ], IgcSelectGroupComponent.prototype, "activeItems", void 0);
63
+ __decorate([
64
+ property({ reflect: true, type: Boolean })
65
+ ], IgcSelectGroupComponent.prototype, "disabled", void 0);
66
+ __decorate([
67
+ watch('disabled', { waitUntilFirstUpdate: true })
68
+ ], IgcSelectGroupComponent.prototype, "updateDisabled", null);
69
+ //# sourceMappingURL=select-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-group.js","sourceRoot":"","sources":["../../../src/components/select/select-group.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,yBAAyB,MAAM,+BAA+B,CAAC;AAWtE,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,yBAAyB;IAoB5E;QACE,KAAK,EAAE,CAAC;QAHH,aAAQ,GAAG,KAAK,CAAC;QAKtB,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,CAAC;IAEe,oBAAoB;QAClC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAEkB,SAAS;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAE,CAAC;IACrC,CAAC;IAEkB,KAAK,CAAC,YAAY;QACnC,MAAM,IAAI,CAAC,cAAc,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE;gBACvB,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,CAAC,UAAU,CAAC;aAC9B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAES,qBAAqB,CAAC,SAA2B;QACzD,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAgC,CAAC;YAEvD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC;aACzC;YAED,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAGS,cAAc;;QACtB,IAAI,CAAC,QAAQ;YACX,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAE1C,MAAA,IAAI,CAAC,eAAe,0CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrE,CAAC;;AApE+B,+BAAO,GAAG,kBAAkB,CAAC;AAO7D;IADC,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;sDAChB;AAMtD;IAJC,qBAAqB,CAAC;QACrB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,iCAAiC;KAC5C,CAAC;4DACoD;AAGtD;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yDACnB;AA8CxB;IADC,KAAK,CAAC,UAAU,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;6DAOjD","sourcesContent":["import { property, queryAssignedElements } from 'lit/decorators.js';\nimport { watch } from '../common/decorators/watch.js';\nimport IgcDropdownGroupComponent from '../dropdown/dropdown-group.js';\nimport IgcSelectItemComponent from './select-item.js';\n\n/**\n * @element igc-select-group - A container for a group of `igc-select-item` components.\n *\n * @slot label - Contains the group's label.\n * @slot - Intended to contain the items belonging to this group.\n *\n * @csspart label - The native label element.\n */\nexport default class IgcSelectGroupComponent extends IgcDropdownGroupComponent {\n /** @private */\n public static override readonly tagName = 'igc-select-group';\n\n private observer!: MutationObserver;\n private controlledItems!: Array<IgcSelectItemComponent>;\n\n /** All child `igc-select-item`s. */\n @queryAssignedElements({ flatten: true, selector: 'igc-select-item' })\n public override items!: Array<IgcSelectItemComponent>;\n\n @queryAssignedElements({\n flatten: true,\n selector: 'igc-select-item:not([disabled])',\n })\n protected activeItems!: Array<IgcSelectItemComponent>;\n\n @property({ reflect: true, type: Boolean })\n public disabled = false;\n\n constructor() {\n super();\n\n this.observer = new MutationObserver(this.updateControlledItems.bind(this));\n }\n\n public override disconnectedCallback() {\n this.observer.disconnect();\n }\n\n protected override getParent() {\n return this.closest('igc-select')!;\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n this.controlledItems = this.activeItems;\n this.setAttribute('role', 'presentation');\n\n this.items.forEach((i) => {\n this.observer.observe(i, {\n attributes: true,\n attributeFilter: ['disabled'],\n });\n });\n\n this.updateDisabled();\n }\n\n protected updateControlledItems(mutations: MutationRecord[]) {\n mutations.forEach((mutation) => {\n const item = mutation.target as IgcSelectItemComponent;\n\n if (!this.disabled) {\n this.controlledItems = this.activeItems;\n }\n\n if (this.disabled && !item.disabled) {\n item.disabled = true;\n }\n });\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n protected updateDisabled() {\n this.disabled\n ? this.setAttribute('aria-disabled', 'true')\n : this.removeAttribute('aria-disabled');\n\n this.controlledItems?.forEach((i) => (i.disabled = this.disabled));\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-select-group': IgcSelectGroupComponent;\n }\n}\n"]}