igniteui-webcomponents 4.8.1 → 4.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +2 -2
  3. package/animations/player.js +1 -1
  4. package/animations/player.js.map +1 -1
  5. package/animations/presets/slide/index.js +4 -4
  6. package/animations/presets/slide/index.js.map +1 -1
  7. package/components/accordion/accordion.js +2 -2
  8. package/components/accordion/accordion.js.map +1 -1
  9. package/components/avatar/avatar.d.ts +1 -0
  10. package/components/avatar/avatar.js +11 -7
  11. package/components/avatar/avatar.js.map +1 -1
  12. package/components/avatar/themes/themes.js.map +1 -1
  13. package/components/badge/badge.js +7 -6
  14. package/components/badge/badge.js.map +1 -1
  15. package/components/badge/themes/themes.d.ts +1 -1
  16. package/components/badge/themes/themes.js.map +1 -1
  17. package/components/button/button-base.d.ts +1 -1
  18. package/components/button/button-base.js.map +1 -1
  19. package/components/button/button.js +6 -5
  20. package/components/button/button.js.map +1 -1
  21. package/components/button/icon-button.js +8 -7
  22. package/components/button/icon-button.js.map +1 -1
  23. package/components/button/themes/button/dark/button.material.css.js +1 -1
  24. package/components/button/themes/button/dark/button.material.css.js.map +1 -1
  25. package/components/button/themes/button/light/button.material.css.js +1 -1
  26. package/components/button/themes/button/light/button.material.css.js.map +1 -1
  27. package/components/button/themes/button/themes.d.ts +1 -1
  28. package/components/button/themes/button/themes.js.map +1 -1
  29. package/components/button/themes/icon-button/themes.d.ts +1 -1
  30. package/components/button/themes/icon-button/themes.js.map +1 -1
  31. package/components/button-group/button-group.js +27 -19
  32. package/components/button-group/button-group.js.map +1 -1
  33. package/components/button-group/themes/button.js.map +1 -1
  34. package/components/button-group/themes/group.js.map +1 -1
  35. package/components/button-group/toggle-button.js +7 -6
  36. package/components/button-group/toggle-button.js.map +1 -1
  37. package/components/calendar/calendar.d.ts +3 -3
  38. package/components/calendar/calendar.js +19 -22
  39. package/components/calendar/calendar.js.map +1 -1
  40. package/components/calendar/common/calendar-base.d.ts +1 -1
  41. package/components/calendar/common/calendar-base.js +2 -2
  42. package/components/calendar/common/calendar-base.js.map +1 -1
  43. package/components/calendar/common/calendar.model.d.ts +1 -1
  44. package/components/calendar/common/calendar.model.js +12 -11
  45. package/components/calendar/common/calendar.model.js.map +1 -1
  46. package/components/calendar/common/utils.d.ts +1 -1
  47. package/components/calendar/common/utils.js +1 -1
  48. package/components/calendar/common/utils.js.map +1 -1
  49. package/components/calendar/days-view/days-view.d.ts +4 -4
  50. package/components/calendar/days-view/days-view.js +11 -14
  51. package/components/calendar/days-view/days-view.js.map +1 -1
  52. package/components/calendar/months-view/months-view.d.ts +2 -2
  53. package/components/calendar/months-view/months-view.js +4 -3
  54. package/components/calendar/months-view/months-view.js.map +1 -1
  55. package/components/calendar/themes/calendar.base.css.js +1 -1
  56. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  57. package/components/calendar/themes/calendar.d.ts +1 -1
  58. package/components/calendar/themes/calendar.js +3 -2
  59. package/components/calendar/themes/calendar.js.map +1 -1
  60. package/components/calendar/themes/dark/calendar.bootstrap.css.js +1 -1
  61. package/components/calendar/themes/dark/calendar.bootstrap.css.js.map +1 -1
  62. package/components/calendar/themes/dark/calendar.fluent.css.js +1 -1
  63. package/components/calendar/themes/dark/calendar.fluent.css.js.map +1 -1
  64. package/components/calendar/themes/dark/calendar.indigo.css.js +1 -1
  65. package/components/calendar/themes/dark/calendar.indigo.css.js.map +1 -1
  66. package/components/calendar/themes/dark/calendar.material.css.js +1 -1
  67. package/components/calendar/themes/dark/calendar.material.css.js.map +1 -1
  68. package/components/calendar/themes/days-view.base.css.js +1 -1
  69. package/components/calendar/themes/days-view.base.css.js.map +1 -1
  70. package/components/calendar/themes/days.d.ts +1 -1
  71. package/components/calendar/themes/days.js +3 -2
  72. package/components/calendar/themes/days.js.map +1 -1
  73. package/components/calendar/themes/light/calendar.bootstrap.css.js +1 -1
  74. package/components/calendar/themes/light/calendar.bootstrap.css.js.map +1 -1
  75. package/components/calendar/themes/light/calendar.fluent.css.js +1 -1
  76. package/components/calendar/themes/light/calendar.fluent.css.js.map +1 -1
  77. package/components/calendar/themes/light/calendar.indigo.css.js +1 -1
  78. package/components/calendar/themes/light/calendar.indigo.css.js.map +1 -1
  79. package/components/calendar/themes/light/calendar.material.css.js +1 -1
  80. package/components/calendar/themes/light/calendar.material.css.js.map +1 -1
  81. package/components/calendar/themes/light/calendar.shared.css.js +1 -1
  82. package/components/calendar/themes/light/calendar.shared.css.js.map +1 -1
  83. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js +1 -1
  84. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js.map +1 -1
  85. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js +1 -1
  86. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js.map +1 -1
  87. package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js +1 -1
  88. package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js.map +1 -1
  89. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js +1 -1
  90. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js.map +1 -1
  91. package/components/calendar/themes/shared/fluent/days-view.fluent.css.js +1 -1
  92. package/components/calendar/themes/shared/fluent/days-view.fluent.css.js.map +1 -1
  93. package/components/calendar/themes/shared/fluent/year-month-view.fluent.css.js +1 -1
  94. package/components/calendar/themes/shared/fluent/year-month-view.fluent.css.js.map +1 -1
  95. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js +1 -1
  96. package/components/calendar/themes/shared/indigo/calendar.indigo.css.js.map +1 -1
  97. package/components/calendar/themes/shared/indigo/days-view.indigo.css.js +3 -0
  98. package/components/calendar/themes/shared/indigo/days-view.indigo.css.js.map +1 -0
  99. package/components/calendar/themes/shared/indigo/year-month-view.indigo.css.d.ts +1 -0
  100. package/components/calendar/themes/shared/indigo/year-month-view.indigo.css.js +3 -0
  101. package/components/calendar/themes/shared/indigo/year-month-view.indigo.css.js.map +1 -0
  102. package/components/calendar/themes/shared/material/calendar.material.css.d.ts +1 -0
  103. package/components/calendar/themes/shared/material/calendar.material.css.js +3 -0
  104. package/components/calendar/themes/shared/material/calendar.material.css.js.map +1 -0
  105. package/components/calendar/themes/shared/material/days-view.material.css.js +1 -1
  106. package/components/calendar/themes/shared/material/days-view.material.css.js.map +1 -1
  107. package/components/calendar/themes/shared/material/year-month-view.material.css.js +1 -1
  108. package/components/calendar/themes/shared/material/year-month-view.material.css.js.map +1 -1
  109. package/components/calendar/themes/year-month-view.base.css.js +1 -1
  110. package/components/calendar/themes/year-month-view.base.css.js.map +1 -1
  111. package/components/calendar/themes/year-month.d.ts +1 -1
  112. package/components/calendar/themes/year-month.js +3 -2
  113. package/components/calendar/themes/year-month.js.map +1 -1
  114. package/components/calendar/years-view/years-view.d.ts +2 -2
  115. package/components/calendar/years-view/years-view.js +4 -3
  116. package/components/calendar/years-view/years-view.js.map +1 -1
  117. package/components/card/card.actions.js +6 -5
  118. package/components/card/card.actions.js.map +1 -1
  119. package/components/card/card.content.js +6 -5
  120. package/components/card/card.content.js.map +1 -1
  121. package/components/card/card.header.js +6 -5
  122. package/components/card/card.header.js.map +1 -1
  123. package/components/card/card.js +6 -5
  124. package/components/card/card.js.map +1 -1
  125. package/components/card/card.media.js +2 -2
  126. package/components/card/card.media.js.map +1 -1
  127. package/components/card/themes/actions.d.ts +1 -1
  128. package/components/card/themes/actions.js.map +1 -1
  129. package/components/card/themes/container.d.ts +1 -1
  130. package/components/card/themes/container.js.map +1 -1
  131. package/components/card/themes/content.d.ts +1 -1
  132. package/components/card/themes/content.js.map +1 -1
  133. package/components/card/themes/header.d.ts +1 -1
  134. package/components/card/themes/header.js.map +1 -1
  135. package/components/checkbox/checkbox-base.d.ts +2 -2
  136. package/components/checkbox/checkbox-base.js +3 -5
  137. package/components/checkbox/checkbox-base.js.map +1 -1
  138. package/components/checkbox/checkbox.js +4 -4
  139. package/components/checkbox/checkbox.js.map +1 -1
  140. package/components/checkbox/switch.js +4 -4
  141. package/components/checkbox/switch.js.map +1 -1
  142. package/components/checkbox/themes/checkbox-themes.d.ts +1 -1
  143. package/components/checkbox/themes/checkbox-themes.js.map +1 -1
  144. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js +1 -1
  145. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js.map +1 -1
  146. package/components/checkbox/themes/switch-themes.d.ts +1 -1
  147. package/components/checkbox/themes/switch-themes.js.map +1 -1
  148. package/components/chip/chip.d.ts +1 -1
  149. package/components/chip/chip.js +7 -6
  150. package/components/chip/chip.js.map +1 -1
  151. package/components/chip/themes/chip.base.css.js +1 -1
  152. package/components/chip/themes/chip.base.css.js.map +1 -1
  153. package/components/chip/themes/themes.d.ts +1 -1
  154. package/components/chip/themes/themes.js.map +1 -1
  155. package/components/combo/combo-header.js +5 -4
  156. package/components/combo/combo-header.js.map +1 -1
  157. package/components/combo/combo-item.js +5 -4
  158. package/components/combo/combo-item.js.map +1 -1
  159. package/components/combo/combo-list.js +1 -1
  160. package/components/combo/combo-list.js.map +1 -1
  161. package/components/combo/combo.d.ts +5 -5
  162. package/components/combo/combo.js +16 -14
  163. package/components/combo/combo.js.map +1 -1
  164. package/components/combo/controllers/data.d.ts +2 -2
  165. package/components/combo/controllers/data.js.map +1 -1
  166. package/components/combo/controllers/navigation.d.ts +3 -3
  167. package/components/combo/controllers/navigation.js +1 -3
  168. package/components/combo/controllers/navigation.js.map +1 -1
  169. package/components/combo/controllers/selection.d.ts +1 -1
  170. package/components/combo/controllers/selection.js.map +1 -1
  171. package/components/combo/operations/filter.d.ts +2 -2
  172. package/components/combo/operations/filter.js +2 -2
  173. package/components/combo/operations/filter.js.map +1 -1
  174. package/components/combo/operations/group.d.ts +1 -1
  175. package/components/combo/operations/group.js.map +1 -1
  176. package/components/combo/themes/combo.base.css.js +1 -1
  177. package/components/combo/themes/combo.base.css.js.map +1 -1
  178. package/components/combo/themes/themes.d.ts +1 -1
  179. package/components/combo/themes/themes.js.map +1 -1
  180. package/components/combo/types.d.ts +2 -2
  181. package/components/combo/types.js.map +1 -1
  182. package/components/common/controllers/root-click.d.ts +1 -1
  183. package/components/common/controllers/root-click.js.map +1 -1
  184. package/components/common/controllers/root-scroll.d.ts +1 -1
  185. package/components/common/controllers/root-scroll.js.map +1 -1
  186. package/components/common/decorators/blazorDeepImport.d.ts +2 -1
  187. package/components/common/decorators/blazorDeepImport.js.map +1 -1
  188. package/components/common/decorators/blazorIndirectRender.d.ts +2 -1
  189. package/components/common/decorators/blazorIndirectRender.js.map +1 -1
  190. package/components/common/decorators/blazorSuppressComponent.d.ts +2 -1
  191. package/components/common/decorators/blazorSuppressComponent.js.map +1 -1
  192. package/components/common/decorators/watch.js +2 -2
  193. package/components/common/decorators/watch.js.map +1 -1
  194. package/components/common/definitions/defineAllComponents.js +4 -4
  195. package/components/common/definitions/defineAllComponents.js.map +1 -1
  196. package/components/common/definitions/defineComponents.d.ts +1 -1
  197. package/components/common/definitions/defineComponents.js.map +1 -1
  198. package/components/common/mixins/alert.d.ts +1 -1
  199. package/components/common/mixins/alert.js.map +1 -1
  200. package/components/common/mixins/combo-box.js.map +1 -1
  201. package/components/common/mixins/constructor.d.ts +2 -2
  202. package/components/common/mixins/constructor.js.map +1 -1
  203. package/components/common/mixins/event-emitter.d.ts +1 -1
  204. package/components/common/mixins/event-emitter.js.map +1 -1
  205. package/components/common/mixins/form-associated-required.d.ts +2 -2
  206. package/components/common/mixins/form-associated-required.js +1 -1
  207. package/components/common/mixins/form-associated-required.js.map +1 -1
  208. package/components/common/mixins/form-associated.d.ts +2 -2
  209. package/components/common/mixins/form-associated.js.map +1 -1
  210. package/components/common/mixins/sizable.d.ts +1 -1
  211. package/components/common/mixins/sizable.js.map +1 -1
  212. package/components/common/util.d.ts +4 -2
  213. package/components/common/util.js +16 -18
  214. package/components/common/util.js.map +1 -1
  215. package/components/common/validators.js +5 -5
  216. package/components/common/validators.js.map +1 -1
  217. package/components/date-time-input/date-time-input.d.ts +5 -5
  218. package/components/date-time-input/date-time-input.js +38 -55
  219. package/components/date-time-input/date-time-input.js.map +1 -1
  220. package/components/date-time-input/date-util.d.ts +1 -1
  221. package/components/date-time-input/date-util.js +40 -32
  222. package/components/date-time-input/date-util.js.map +1 -1
  223. package/components/dialog/dialog.js +5 -5
  224. package/components/dialog/dialog.js.map +1 -1
  225. package/components/dialog/themes/dialog.base.css.js +1 -1
  226. package/components/dialog/themes/dialog.base.css.js.map +1 -1
  227. package/components/dialog/themes/themes.d.ts +1 -1
  228. package/components/dialog/themes/themes.js.map +1 -1
  229. package/components/dropdown/dropdown-group.js +7 -6
  230. package/components/dropdown/dropdown-group.js.map +1 -1
  231. package/components/dropdown/dropdown-header.js +6 -5
  232. package/components/dropdown/dropdown-header.js.map +1 -1
  233. package/components/dropdown/dropdown-item.js +7 -6
  234. package/components/dropdown/dropdown-item.js.map +1 -1
  235. package/components/dropdown/dropdown.d.ts +4 -2
  236. package/components/dropdown/dropdown.js +10 -10
  237. package/components/dropdown/dropdown.js.map +1 -1
  238. package/components/dropdown/themes/container.d.ts +1 -1
  239. package/components/dropdown/themes/container.js.map +1 -1
  240. package/components/dropdown/themes/group.d.ts +1 -1
  241. package/components/dropdown/themes/group.js.map +1 -1
  242. package/components/dropdown/themes/header.d.ts +1 -1
  243. package/components/dropdown/themes/header.js.map +1 -1
  244. package/components/dropdown/themes/item.d.ts +1 -1
  245. package/components/dropdown/themes/item.js.map +1 -1
  246. package/components/expansion-panel/expansion-panel.js +4 -4
  247. package/components/expansion-panel/expansion-panel.js.map +1 -1
  248. package/components/expansion-panel/themes/themes.d.ts +1 -1
  249. package/components/expansion-panel/themes/themes.js.map +1 -1
  250. package/components/form/form.d.ts +1 -1
  251. package/components/form/form.js +2 -2
  252. package/components/form/form.js.map +1 -1
  253. package/components/icon/icon.js +8 -7
  254. package/components/icon/icon.js.map +1 -1
  255. package/components/icon/themes/themes.d.ts +1 -1
  256. package/components/icon/themes/themes.js.map +1 -1
  257. package/components/input/input-base.d.ts +2 -2
  258. package/components/input/input-base.js +5 -5
  259. package/components/input/input-base.js.map +1 -1
  260. package/components/input/input.d.ts +8 -1
  261. package/components/input/input.js +10 -14
  262. package/components/input/input.js.map +1 -1
  263. package/components/input/themes/themes.d.ts +1 -1
  264. package/components/input/themes/themes.js.map +1 -1
  265. package/components/list/list-header.js +6 -5
  266. package/components/list/list-header.js.map +1 -1
  267. package/components/list/list-item.js +6 -5
  268. package/components/list/list-item.js.map +1 -1
  269. package/components/list/list.js +7 -6
  270. package/components/list/list.js.map +1 -1
  271. package/components/list/themes/container.d.ts +1 -1
  272. package/components/list/themes/container.js.map +1 -1
  273. package/components/list/themes/header.d.ts +1 -1
  274. package/components/list/themes/header.js.map +1 -1
  275. package/components/list/themes/item.d.ts +1 -1
  276. package/components/list/themes/item.js.map +1 -1
  277. package/components/list/themes/shared/item/list-item.bootstrap.css.js +1 -1
  278. package/components/list/themes/shared/item/list-item.bootstrap.css.js.map +1 -1
  279. package/components/mask-input/mask-input-base.d.ts +1 -1
  280. package/components/mask-input/mask-input-base.js +1 -1
  281. package/components/mask-input/mask-input-base.js.map +1 -1
  282. package/components/mask-input/mask-input.d.ts +2 -2
  283. package/components/mask-input/mask-input.js +2 -2
  284. package/components/mask-input/mask-input.js.map +1 -1
  285. package/components/mask-input/mask-parser.d.ts +2 -2
  286. package/components/mask-input/mask-parser.js +44 -34
  287. package/components/mask-input/mask-parser.js.map +1 -1
  288. package/components/nav-drawer/nav-drawer-header-item.js +6 -5
  289. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  290. package/components/nav-drawer/nav-drawer-item.js +8 -7
  291. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  292. package/components/nav-drawer/nav-drawer.js +7 -6
  293. package/components/nav-drawer/nav-drawer.js.map +1 -1
  294. package/components/nav-drawer/themes/container.d.ts +1 -1
  295. package/components/nav-drawer/themes/container.js.map +1 -1
  296. package/components/nav-drawer/themes/header-item.d.ts +1 -1
  297. package/components/nav-drawer/themes/header-item.js.map +1 -1
  298. package/components/nav-drawer/themes/item.d.ts +1 -1
  299. package/components/nav-drawer/themes/item.js +7 -0
  300. package/components/nav-drawer/themes/item.js.map +1 -1
  301. package/components/nav-drawer/themes/shared/item/item.bootstrap.css.d.ts +1 -0
  302. package/components/nav-drawer/themes/shared/item/item.bootstrap.css.js +3 -0
  303. package/components/nav-drawer/themes/shared/item/item.bootstrap.css.js.map +1 -0
  304. package/components/navbar/navbar.js +6 -5
  305. package/components/navbar/navbar.js.map +1 -1
  306. package/components/navbar/themes/themes.d.ts +1 -1
  307. package/components/navbar/themes/themes.js.map +1 -1
  308. package/components/popover/popover.d.ts +2 -4
  309. package/components/popover/popover.js +16 -18
  310. package/components/popover/popover.js.map +1 -1
  311. package/components/popover/themes/light/popover.base.css.js +1 -1
  312. package/components/popover/themes/light/popover.base.css.js.map +1 -1
  313. package/components/progress/base.js +8 -5
  314. package/components/progress/base.js.map +1 -1
  315. package/components/progress/circular-gradient.js +1 -1
  316. package/components/progress/circular-gradient.js.map +1 -1
  317. package/components/progress/circular-progress.js +4 -4
  318. package/components/progress/circular-progress.js.map +1 -1
  319. package/components/progress/linear-progress.js +7 -6
  320. package/components/progress/linear-progress.js.map +1 -1
  321. package/components/progress/themes/circular/themes.d.ts +1 -1
  322. package/components/progress/themes/circular/themes.js.map +1 -1
  323. package/components/progress/themes/linear/themes.d.ts +1 -1
  324. package/components/progress/themes/linear/themes.js.map +1 -1
  325. package/components/radio/radio.d.ts +2 -2
  326. package/components/radio/radio.js +5 -5
  327. package/components/radio/radio.js.map +1 -1
  328. package/components/radio/themes/themes.d.ts +1 -1
  329. package/components/radio/themes/themes.js.map +1 -1
  330. package/components/radio/utils.js.map +1 -1
  331. package/components/radio-group/radio-group.js +7 -6
  332. package/components/radio-group/radio-group.js.map +1 -1
  333. package/components/rating/rating-symbol.js +2 -2
  334. package/components/rating/rating-symbol.js.map +1 -1
  335. package/components/rating/rating.d.ts +3 -1
  336. package/components/rating/rating.js +24 -18
  337. package/components/rating/rating.js.map +1 -1
  338. package/components/rating/themes/themes.d.ts +1 -1
  339. package/components/rating/themes/themes.js.map +1 -1
  340. package/components/ripple/ripple.js +4 -4
  341. package/components/ripple/ripple.js.map +1 -1
  342. package/components/select/select-group.js +5 -4
  343. package/components/select/select-group.js.map +1 -1
  344. package/components/select/select-header.js +4 -3
  345. package/components/select/select-header.js.map +1 -1
  346. package/components/select/select-item.js +4 -3
  347. package/components/select/select-item.js.map +1 -1
  348. package/components/select/select.d.ts +3 -3
  349. package/components/select/select.js +10 -10
  350. package/components/select/select.js.map +1 -1
  351. package/components/select/themes/themes.d.ts +1 -1
  352. package/components/select/themes/themes.js.map +1 -1
  353. package/components/slider/range-slider.d.ts +1 -1
  354. package/components/slider/range-slider.js +15 -13
  355. package/components/slider/range-slider.js.map +1 -1
  356. package/components/slider/slider-base.d.ts +2 -2
  357. package/components/slider/slider-base.js +8 -8
  358. package/components/slider/slider-base.js.map +1 -1
  359. package/components/slider/slider-label.js +1 -1
  360. package/components/slider/slider-label.js.map +1 -1
  361. package/components/slider/slider.d.ts +1 -1
  362. package/components/slider/slider.js +3 -3
  363. package/components/slider/slider.js.map +1 -1
  364. package/components/slider/themes/themes.d.ts +1 -1
  365. package/components/slider/themes/themes.js.map +1 -1
  366. package/components/snackbar/snackbar.d.ts +1 -1
  367. package/components/snackbar/snackbar.js +7 -6
  368. package/components/snackbar/snackbar.js.map +1 -1
  369. package/components/snackbar/themes/themes.d.ts +1 -1
  370. package/components/snackbar/themes/themes.js.map +1 -1
  371. package/components/stepper/step.d.ts +1 -1
  372. package/components/stepper/step.js +10 -11
  373. package/components/stepper/step.js.map +1 -1
  374. package/components/stepper/stepper.d.ts +2 -2
  375. package/components/stepper/stepper.js +21 -12
  376. package/components/stepper/stepper.js.map +1 -1
  377. package/components/stepper/themes/step/themes.d.ts +1 -1
  378. package/components/stepper/themes/step/themes.js.map +1 -1
  379. package/components/tabs/tab-panel.js +2 -2
  380. package/components/tabs/tab-panel.js.map +1 -1
  381. package/components/tabs/tab.js +5 -5
  382. package/components/tabs/tab.js.map +1 -1
  383. package/components/tabs/tabs.d.ts +2 -2
  384. package/components/tabs/tabs.js +22 -18
  385. package/components/tabs/tabs.js.map +1 -1
  386. package/components/tabs/themes/tab-themes.d.ts +1 -1
  387. package/components/tabs/themes/tab-themes.js.map +1 -1
  388. package/components/tabs/themes/tabs-themes.d.ts +1 -1
  389. package/components/tabs/themes/tabs-themes.js.map +1 -1
  390. package/components/textarea/textarea.d.ts +8 -1
  391. package/components/textarea/textarea.js +11 -5
  392. package/components/textarea/textarea.js.map +1 -1
  393. package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
  394. package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
  395. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  396. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  397. package/components/textarea/themes/themes.d.ts +1 -1
  398. package/components/textarea/themes/themes.js.map +1 -1
  399. package/components/toast/themes/themes.d.ts +1 -1
  400. package/components/toast/themes/themes.js.map +1 -1
  401. package/components/toast/toast.js +7 -6
  402. package/components/toast/toast.js.map +1 -1
  403. package/components/tree/themes/container.d.ts +1 -1
  404. package/components/tree/themes/container.js.map +1 -1
  405. package/components/tree/themes/item.d.ts +1 -1
  406. package/components/tree/themes/item.js.map +1 -1
  407. package/components/tree/tree-item.js +12 -13
  408. package/components/tree/tree-item.js.map +1 -1
  409. package/components/tree/tree.d.ts +2 -2
  410. package/components/tree/tree.js +25 -19
  411. package/components/tree/tree.js.map +1 -1
  412. package/components/tree/tree.navigation.d.ts +3 -3
  413. package/components/tree/tree.navigation.js.map +1 -1
  414. package/components/tree/tree.selection.d.ts +2 -2
  415. package/components/tree/tree.selection.js +12 -10
  416. package/components/tree/tree.selection.js.map +1 -1
  417. package/custom-elements.json +95 -48
  418. package/package.json +1 -1
  419. package/themes/dark/bootstrap.css +1 -1
  420. package/themes/dark/fluent.css +1 -1
  421. package/themes/dark/indigo.css +1 -1
  422. package/themes/dark/material.css +1 -1
  423. package/themes/light/bootstrap.css +1 -1
  424. package/themes/light/fluent.css +1 -1
  425. package/themes/light/indigo.css +1 -1
  426. package/themes/light/material.css +1 -1
  427. package/theming/config.js +4 -4
  428. package/theming/config.js.map +1 -1
  429. package/theming/theming-controller.d.ts +1 -1
  430. package/theming/theming-controller.js.map +1 -1
  431. package/theming/theming-decorator.js.map +1 -1
  432. package/theming/types.d.ts +1 -1
  433. package/theming/types.js.map +1 -1
  434. package/components/calendar/themes/shared/material/calendar.common.css.js +0 -3
  435. package/components/calendar/themes/shared/material/calendar.common.css.js.map +0 -1
  436. /package/components/calendar/themes/shared/{material/calendar.common.css.d.ts → indigo/days-view.indigo.css.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../src/components/radio/radio.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, query, queryAssignedNodes, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\n\nimport { styles } from './themes/radio.base.css.js';\nimport { styles as shared } from './themes/shared/radio.common.css.js';\nimport { all } from './themes/themes.js';\nimport { getGroup } from './utils.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport {\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n} from '../common/controllers/key-bindings.js';\nimport { alternateName } from '../common/decorators/alternateName.js';\nimport { blazorTwoWayBind } from '../common/decorators/blazorTwoWayBind.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport messages from '../common/localization/validation-en.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormAssociatedRequiredMixin } from '../common/mixins/form-associated-required.js';\nimport { createCounter, isLTR, partNameMap, wrap } from '../common/util.js';\nimport { Validator } from '../common/validators.js';\n\nexport interface IgcRadioEventMap {\n igcChange: CustomEvent<boolean>;\n igcFocus: CustomEvent<void>;\n igcBlur: CustomEvent<void>;\n}\n\n/**\n * @element igc-radio\n *\n * @slot - The radio label.\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcFocus - Emitted when the control gains focus.\n * @fires igcBlur - Emitted when the control loses focus.\n *\n * @csspart base - The radio control base wrapper.\n * @csspart control - The radio control.\n * @csspart label - The radio control label.\n */\n@themes(all)\nexport default class IgcRadioComponent extends FormAssociatedRequiredMixin(\n EventEmitterMixin<IgcRadioEventMap, Constructor<LitElement>>(LitElement)\n) {\n public static readonly tagName = 'igc-radio';\n protected static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(this);\n }\n\n private static readonly increment = createCounter();\n\n protected override validators: Validator<this>[] = [\n {\n key: 'valueMissing',\n message: messages.required,\n isValid: () => {\n const { radios, checked } = this.group;\n return radios.some((radio) => radio.required)\n ? checked.length > 0\n : true;\n },\n },\n ];\n\n private inputId = `radio-${IgcRadioComponent.increment()}`;\n private labelId = `radio-label-${this.inputId}`;\n\n protected _checked = false;\n protected _value!: string;\n\n @query('input[type=\"radio\"]')\n protected input!: HTMLInputElement;\n\n @queryAssignedNodes({ flatten: true })\n protected label!: Array<Node>;\n\n @state()\n private _tabIndex = 0;\n\n @state()\n private focused = false;\n\n @state()\n protected hideLabel = false;\n\n private get group() {\n return getGroup(this);\n }\n\n protected override setDefaultValue(): void {\n this._defaultValue = this === this.group.checked[0];\n }\n\n /**\n * The value attribute of the control.\n * @attr\n */\n @property()\n public set value(value: string) {\n this._value = value;\n if (this._checked) {\n this.setFormValue(this._value || 'on');\n }\n }\n\n public get value(): string {\n return this._value;\n }\n\n /**\n * The checked state of the control.\n * @attr\n */\n @property({ type: Boolean })\n @blazorTwoWayBind('igcChange', 'detail')\n public set checked(value: boolean) {\n this._checked = Boolean(value);\n\n if (this.hasUpdated) {\n this._checked ? this._updateCheckedState() : this._updateUncheckedState();\n }\n }\n\n public get checked(): boolean {\n return this._checked;\n }\n\n /**\n * The label position of the radio control.\n * @attr label-position\n */\n @property({ reflect: true, attribute: 'label-position' })\n public labelPosition: 'before' | 'after' = 'after';\n\n constructor() {\n super();\n this.addEventListener('keyup', this.handleKeyUp);\n\n addKeybindings(this, {\n skip: () => this.disabled,\n bindingDefaults: { preventDefault: true, triggers: ['keydownRepeat'] },\n })\n .set(arrowLeft, () => this.navigate(isLTR(this) ? -1 : 1))\n .set(arrowRight, () => this.navigate(isLTR(this) ? 1 : -1))\n .set(arrowUp, () => this.navigate(-1))\n .set(arrowDown, () => this.navigate(1));\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n\n this._checked = this === this.group.checked[0];\n this.updateValidity();\n }\n\n /** Simulates a click on the radio control. */\n public override click() {\n this.input.click();\n }\n\n /** Sets focus on the radio control. */\n @alternateName('focusComponent')\n public override focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the radio control. */\n @alternateName('blurComponent')\n public override blur() {\n this.input.blur();\n }\n\n /**\n * Sets a custom validation message for the control.\n * As long as `message` is not empty, the control is considered invalid.\n */\n public override setCustomValidity(message: string): void {\n const { radios } = this.group;\n\n for (const radio of radios) {\n radio.updateValidity(message);\n radio.setInvalidState();\n }\n }\n\n @watch('required', { waitUntilFirstUpdate: true })\n protected override requiredChange(): void {\n const { radios } = this.group;\n\n for (const radio of radios) {\n radio.updateValidity();\n radio.setInvalidState();\n }\n }\n\n private _updateCheckedState() {\n const { siblings } = this.group;\n\n this.setFormValue(this.value || 'on');\n this.updateValidity();\n this.setInvalidState();\n\n this._tabIndex = 0;\n this.input?.focus();\n\n for (const radio of siblings) {\n radio.checked = false;\n radio._tabIndex = -1;\n radio.updateValidity();\n radio.setInvalidState();\n }\n }\n\n private _updateUncheckedState() {\n const { siblings } = this.group;\n\n this.setFormValue(null);\n this.updateValidity();\n this.setInvalidState();\n\n if (this.hasUpdated) {\n this._tabIndex = -1;\n }\n\n for (const radio of siblings) {\n radio.updateValidity();\n }\n }\n\n protected handleMouseDown(event: PointerEvent) {\n event.preventDefault();\n this.input.focus();\n this.focused = false;\n }\n\n protected handleClick() {\n this.checked = true;\n this.emitEvent('igcChange', { detail: this.checked });\n }\n\n protected handleBlur() {\n this.emitEvent('igcBlur');\n this.focused = false;\n }\n\n protected handleFocus() {\n this.emitEvent('igcFocus');\n }\n\n protected handleKeyUp() {\n if (!this.focused) {\n this.focused = true;\n }\n }\n\n protected navigate(idx: number) {\n const { active } = this.group;\n const nextIdx = wrap(0, active.length - 1, active.indexOf(this) + idx);\n const radio = active[nextIdx];\n\n radio.focus();\n radio.checked = true;\n radio.emitEvent('igcChange', { detail: radio.checked });\n }\n\n protected handleSlotChange() {\n this.hideLabel = this.label.length < 1;\n }\n\n protected override render() {\n const labelledBy = this.getAttribute('aria-labelledby');\n\n return html`\n <label\n part=${partNameMap({\n base: true,\n checked: this.checked,\n focused: this.focused,\n })}\n for=${this.inputId}\n @pointerdown=${this.handleMouseDown}\n >\n <input\n id=${this.inputId}\n type=\"radio\"\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n .required=${this.required}\n .disabled=${this.disabled}\n .checked=${live(this.checked)}\n tabindex=${this._tabIndex}\n aria-checked=${this.checked ? 'true' : 'false'}\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-labelledby=${labelledBy ? labelledBy : this.labelId}\n @click=${this.handleClick}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n />\n <span part=${partNameMap({ control: true, checked: this.checked })}>\n <span\n .hidden=${this.disabled}\n part=${partNameMap({ ripple: true, checked: this.checked })}\n ></span>\n </span>\n <span\n .hidden=${this.hideLabel}\n part=${partNameMap({ label: true, checked: this.checked })}\n id=${this.labelId}\n >\n <slot @slotchange=${this.handleSlotChange}></slot>\n </span>\n </label>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-radio': IgcRadioComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../src/components/radio/radio.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,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,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,SAAS,EACT,SAAS,EACT,UAAU,EACV,OAAO,GACR,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAsBvB,IAAM,iBAAiB,yBAAvB,MAAM,iBAAkB,SAAQ,2BAA2B,CACxE,iBAAiB,CAA4C,UAAU,CAAC,CACzE;IAKQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,mBAAiB,CAAC,CAAC;IACvC,CAAC;IAsCD,IAAY,KAAK;QACf,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAEkB,eAAe;QAChC,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAOD,IAAW,KAAK,CAAC,KAAa;QAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAQD,IAAW,OAAO,CAAC,KAAc;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IASD;QACE,KAAK,EAAE,CAAC;QApFS,eAAU,GAAsB;YACjD;gBACE,GAAG,EAAE,cAAc;gBACnB,OAAO,EAAE,QAAQ,CAAC,QAAQ;gBAC1B,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;oBACvC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;wBAC3C,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;wBACpB,CAAC,CAAC,IAAI,CAAC;gBACX,CAAC;aACF;SACF,CAAC;QAEM,YAAO,GAAG,SAAS,mBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC;QACnD,YAAO,GAAG,eAAe,IAAI,CAAC,OAAO,EAAE,CAAC;QAEtC,aAAQ,GAAG,KAAK,CAAC;QAUnB,cAAS,GAAG,CAAC,CAAC;QAGd,YAAO,GAAG,KAAK,CAAC;QAGd,cAAS,GAAG,KAAK,CAAC;QAiDrB,kBAAa,GAAuB,OAAO,CAAC;QAIjD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAEjD,cAAc,CAAC,IAAI,EAAE;YACnB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ;YACzB,eAAe,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE;SACvE,CAAC;aACC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzD,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1D,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;aACrC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAEe,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAGe,KAAK;QACnB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAIe,KAAK,CAAC,OAAsB;QAC1C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAIe,IAAI;QAClB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAMe,iBAAiB,CAAC,OAAe;QAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC9B,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAGkB,cAAc;QAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAEhC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QAEpB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;YACtB,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,qBAAqB;QAC3B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAEhC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACtB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAES,eAAe,CAAC,KAAmB;QAC3C,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAES,UAAU;QAClB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAES,QAAQ,CAAC,GAAW;QAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAE9B,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IAES,gBAAgB;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACzC,CAAC;IAEkB,MAAM;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAExD,OAAO,IAAI,CAAA;;eAEA,WAAW,CAAC;YACjB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;cACI,IAAI,CAAC,OAAO;uBACH,IAAI,CAAC,eAAe;;;eAG5B,IAAI,CAAC,OAAO;;iBAEV,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;kBACnB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;sBACjB,IAAI,CAAC,QAAQ;sBACb,IAAI,CAAC,QAAQ;qBACd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;qBAClB,IAAI,CAAC,SAAS;yBACV,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;0BAC9B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;4BAC9B,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;mBAC/C,IAAI,CAAC,WAAW;kBACjB,IAAI,CAAC,UAAU;mBACd,IAAI,CAAC,WAAW;;qBAEd,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;;sBAEpD,IAAI,CAAC,QAAQ;mBAChB,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;;;;oBAInD,IAAI,CAAC,SAAS;iBACjB,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;eACrD,IAAI,CAAC,OAAO;;8BAEG,IAAI,CAAC,gBAAgB;;;KAG9C,CAAC;IACJ,CAAC;;AAhRsB,yBAAO,GAAG,WAAW,AAAd,CAAe;AAC5B,wBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAOnB,2BAAS,GAAG,aAAa,EAAE,AAAlB,CAAmB;AAsB1C;IADT,KAAK,CAAC,qBAAqB,CAAC;gDACM;AAGzB;IADT,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDACR;AAGtB;IADP,KAAK,EAAE;oDACc;AAGd;IADP,KAAK,EAAE;kDACgB;AAGd;IADT,KAAK,EAAE;oDACoB;AAe5B;IADC,QAAQ,EAAE;8CAMV;AAYD;IAFC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC;gDAOvC;AAWM;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;wDACN;AA8BnC;IADf,aAAa,CAAC,gBAAgB,CAAC;8CAG/B;AAIe;IADf,aAAa,CAAC,eAAe,CAAC;6CAG9B;AAgBkB;IADlB,KAAK,CAAC,UAAU,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;uDAQjD;AA3JkB,iBAAiB;IADrC,MAAM,CAAC,GAAG,CAAC;GACS,iBAAiB,CAoRrC;eApRoB,iBAAiB","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, query, queryAssignedNodes, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport {\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n} from '../common/controllers/key-bindings.js';\nimport { alternateName } from '../common/decorators/alternateName.js';\nimport { blazorTwoWayBind } from '../common/decorators/blazorTwoWayBind.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport messages from '../common/localization/validation-en.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormAssociatedRequiredMixin } from '../common/mixins/form-associated-required.js';\nimport { createCounter, isLTR, partNameMap, wrap } from '../common/util.js';\nimport type { Validator } from '../common/validators.js';\nimport { styles } from './themes/radio.base.css.js';\nimport { styles as shared } from './themes/shared/radio.common.css.js';\nimport { all } from './themes/themes.js';\nimport { getGroup } from './utils.js';\n\nexport interface IgcRadioEventMap {\n igcChange: CustomEvent<boolean>;\n igcFocus: CustomEvent<void>;\n igcBlur: CustomEvent<void>;\n}\n\n/**\n * @element igc-radio\n *\n * @slot - The radio label.\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcFocus - Emitted when the control gains focus.\n * @fires igcBlur - Emitted when the control loses focus.\n *\n * @csspart base - The radio control base wrapper.\n * @csspart control - The radio control.\n * @csspart label - The radio control label.\n */\n@themes(all)\nexport default class IgcRadioComponent extends FormAssociatedRequiredMixin(\n EventEmitterMixin<IgcRadioEventMap, Constructor<LitElement>>(LitElement)\n) {\n public static readonly tagName = 'igc-radio';\n protected static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcRadioComponent);\n }\n\n private static readonly increment = createCounter();\n\n protected override validators: Validator<this>[] = [\n {\n key: 'valueMissing',\n message: messages.required,\n isValid: () => {\n const { radios, checked } = this.group;\n return radios.some((radio) => radio.required)\n ? checked.length > 0\n : true;\n },\n },\n ];\n\n private inputId = `radio-${IgcRadioComponent.increment()}`;\n private labelId = `radio-label-${this.inputId}`;\n\n protected _checked = false;\n protected _value!: string;\n\n @query('input[type=\"radio\"]')\n protected input!: HTMLInputElement;\n\n @queryAssignedNodes({ flatten: true })\n protected label!: Array<Node>;\n\n @state()\n private _tabIndex = 0;\n\n @state()\n private focused = false;\n\n @state()\n protected hideLabel = false;\n\n private get group() {\n return getGroup(this);\n }\n\n protected override setDefaultValue(): void {\n this._defaultValue = this === this.group.checked[0];\n }\n\n /**\n * The value attribute of the control.\n * @attr\n */\n @property()\n public set value(value: string) {\n this._value = value;\n if (this._checked) {\n this.setFormValue(this._value || 'on');\n }\n }\n\n public get value(): string {\n return this._value;\n }\n\n /**\n * The checked state of the control.\n * @attr\n */\n @property({ type: Boolean })\n @blazorTwoWayBind('igcChange', 'detail')\n public set checked(value: boolean) {\n this._checked = Boolean(value);\n\n if (this.hasUpdated) {\n this._checked ? this._updateCheckedState() : this._updateUncheckedState();\n }\n }\n\n public get checked(): boolean {\n return this._checked;\n }\n\n /**\n * The label position of the radio control.\n * @attr label-position\n */\n @property({ reflect: true, attribute: 'label-position' })\n public labelPosition: 'before' | 'after' = 'after';\n\n constructor() {\n super();\n this.addEventListener('keyup', this.handleKeyUp);\n\n addKeybindings(this, {\n skip: () => this.disabled,\n bindingDefaults: { preventDefault: true, triggers: ['keydownRepeat'] },\n })\n .set(arrowLeft, () => this.navigate(isLTR(this) ? -1 : 1))\n .set(arrowRight, () => this.navigate(isLTR(this) ? 1 : -1))\n .set(arrowUp, () => this.navigate(-1))\n .set(arrowDown, () => this.navigate(1));\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n\n this._checked = this === this.group.checked[0];\n this.updateValidity();\n }\n\n /** Simulates a click on the radio control. */\n public override click() {\n this.input.click();\n }\n\n /** Sets focus on the radio control. */\n @alternateName('focusComponent')\n public override focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the radio control. */\n @alternateName('blurComponent')\n public override blur() {\n this.input.blur();\n }\n\n /**\n * Sets a custom validation message for the control.\n * As long as `message` is not empty, the control is considered invalid.\n */\n public override setCustomValidity(message: string): void {\n const { radios } = this.group;\n\n for (const radio of radios) {\n radio.updateValidity(message);\n radio.setInvalidState();\n }\n }\n\n @watch('required', { waitUntilFirstUpdate: true })\n protected override requiredChange(): void {\n const { radios } = this.group;\n\n for (const radio of radios) {\n radio.updateValidity();\n radio.setInvalidState();\n }\n }\n\n private _updateCheckedState() {\n const { siblings } = this.group;\n\n this.setFormValue(this.value || 'on');\n this.updateValidity();\n this.setInvalidState();\n\n this._tabIndex = 0;\n this.input?.focus();\n\n for (const radio of siblings) {\n radio.checked = false;\n radio._tabIndex = -1;\n radio.updateValidity();\n radio.setInvalidState();\n }\n }\n\n private _updateUncheckedState() {\n const { siblings } = this.group;\n\n this.setFormValue(null);\n this.updateValidity();\n this.setInvalidState();\n\n if (this.hasUpdated) {\n this._tabIndex = -1;\n }\n\n for (const radio of siblings) {\n radio.updateValidity();\n }\n }\n\n protected handleMouseDown(event: PointerEvent) {\n event.preventDefault();\n this.input.focus();\n this.focused = false;\n }\n\n protected handleClick() {\n this.checked = true;\n this.emitEvent('igcChange', { detail: this.checked });\n }\n\n protected handleBlur() {\n this.emitEvent('igcBlur');\n this.focused = false;\n }\n\n protected handleFocus() {\n this.emitEvent('igcFocus');\n }\n\n protected handleKeyUp() {\n if (!this.focused) {\n this.focused = true;\n }\n }\n\n protected navigate(idx: number) {\n const { active } = this.group;\n const nextIdx = wrap(0, active.length - 1, active.indexOf(this) + idx);\n const radio = active[nextIdx];\n\n radio.focus();\n radio.checked = true;\n radio.emitEvent('igcChange', { detail: radio.checked });\n }\n\n protected handleSlotChange() {\n this.hideLabel = this.label.length < 1;\n }\n\n protected override render() {\n const labelledBy = this.getAttribute('aria-labelledby');\n\n return html`\n <label\n part=${partNameMap({\n base: true,\n checked: this.checked,\n focused: this.focused,\n })}\n for=${this.inputId}\n @pointerdown=${this.handleMouseDown}\n >\n <input\n id=${this.inputId}\n type=\"radio\"\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n .required=${this.required}\n .disabled=${this.disabled}\n .checked=${live(this.checked)}\n tabindex=${this._tabIndex}\n aria-checked=${this.checked ? 'true' : 'false'}\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-labelledby=${labelledBy ? labelledBy : this.labelId}\n @click=${this.handleClick}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n />\n <span part=${partNameMap({ control: true, checked: this.checked })}>\n <span\n .hidden=${this.disabled}\n part=${partNameMap({ ripple: true, checked: this.checked })}\n ></span>\n </span>\n <span\n .hidden=${this.hideLabel}\n part=${partNameMap({ label: true, checked: this.checked })}\n id=${this.labelId}\n >\n <slot @slotchange=${this.handleSlotChange}></slot>\n </span>\n </label>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-radio': IgcRadioComponent;\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- import { Themes } from '../../../theming/types.js';
1
+ import type { Themes } from '../../../theming/types.js';
2
2
  export declare const all: Themes;
@@ -1 +1 @@
1
- {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../src/components/radio/themes/themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAGpE,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,GAAG,CAAA;MACP,WAAW;GACd;IACD,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,cAAc;GAC9B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,QAAQ,IAAI,aAAa;GAC5B;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,MAAM,EAAE,GAAG,CAAA;MACP,UAAU;GACb;IACD,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,aAAa;GAC7B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,QAAQ,IAAI,YAAY;GAC3B;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\n// Dark Overrides\nimport { styles as bootstrapDark } from './dark/radio.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/radio.fluent.css.js';\nimport { styles as indigoDark } from './dark/radio.indigo.css.js';\nimport { styles as materialDark } from './dark/radio.material.css.js';\nimport { styles as sharedDark } from './dark/radio.shared.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/radio.bootstrap.css.js';\nimport { styles as fluentLight } from './light/radio.fluent.css.js';\nimport { styles as indigoLight } from './light/radio.indigo.css.js';\nimport { styles as materialLight } from './light/radio.material.css.js';\nimport { styles as sharedLight } from './light/radio.shared.css.js';\n// Shared Styles\nimport { styles as bootstrap } from './shared/radio.bootstrap.css.js';\nimport { styles as fluent } from './shared/radio.fluent.css.js';\nimport { styles as indigo } from './shared/radio.indigo.css.js';\nimport { styles as material } from './shared/radio.material.css.js';\nimport { Themes } from '../../../theming/types.js';\n\nconst light = {\n shared: css`\n ${sharedLight}\n `,\n bootstrap: css`\n ${bootstrap} ${bootstrapLight}\n `,\n material: css`\n ${material} ${materialLight}\n `,\n fluent: css`\n ${fluent} ${fluentLight}\n `,\n indigo: css`\n ${indigo} ${indigoLight}\n `,\n};\n\nconst dark = {\n shared: css`\n ${sharedDark}\n `,\n bootstrap: css`\n ${bootstrap} ${bootstrapDark}\n `,\n material: css`\n ${material} ${materialDark}\n `,\n fluent: css`\n ${fluent} ${fluentDark}\n `,\n indigo: css`\n ${indigo} ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
1
+ {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../src/components/radio/themes/themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAEpE,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,GAAG,CAAA;MACP,WAAW;GACd;IACD,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,cAAc;GAC9B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,QAAQ,IAAI,aAAa;GAC5B;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,MAAM,EAAE,GAAG,CAAA;MACP,UAAU;GACb;IACD,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,aAAa;GAC7B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,QAAQ,IAAI,YAAY;GAC3B;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\nimport type { Themes } from '../../../theming/types.js';\n// Dark Overrides\nimport { styles as bootstrapDark } from './dark/radio.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/radio.fluent.css.js';\nimport { styles as indigoDark } from './dark/radio.indigo.css.js';\nimport { styles as materialDark } from './dark/radio.material.css.js';\nimport { styles as sharedDark } from './dark/radio.shared.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/radio.bootstrap.css.js';\nimport { styles as fluentLight } from './light/radio.fluent.css.js';\nimport { styles as indigoLight } from './light/radio.indigo.css.js';\nimport { styles as materialLight } from './light/radio.material.css.js';\nimport { styles as sharedLight } from './light/radio.shared.css.js';\n// Shared Styles\nimport { styles as bootstrap } from './shared/radio.bootstrap.css.js';\nimport { styles as fluent } from './shared/radio.fluent.css.js';\nimport { styles as indigo } from './shared/radio.indigo.css.js';\nimport { styles as material } from './shared/radio.material.css.js';\n\nconst light = {\n shared: css`\n ${sharedLight}\n `,\n bootstrap: css`\n ${bootstrap} ${bootstrapLight}\n `,\n material: css`\n ${material} ${materialLight}\n `,\n fluent: css`\n ${fluent} ${fluentLight}\n `,\n indigo: css`\n ${indigo} ${indigoLight}\n `,\n};\n\nconst dark = {\n shared: css`\n ${sharedDark}\n `,\n bootstrap: css`\n ${bootstrap} ${bootstrapDark}\n `,\n material: css`\n ${material} ${materialDark}\n `,\n fluent: css`\n ${fluent} ${fluentDark}\n `,\n indigo: css`\n ${indigo} ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/radio/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAazD,MAAM,UAAU,QAAQ,CAAC,MAAyB;IAChD,MAAM,MAAM,GAAqB;QAC/B,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CACxB,UAAU,CAAC,QAAQ,CAAC,eAAe,EACnC,cAAc,EACd,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,IAAI,IAAI,CAAC,CACrE,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import type IgcRadioComponent from './radio';\nimport { isDefined, iterNodes } from '../common/util.js';\n\ntype RadioQueryResult = {\n /** Radio components under the same group name */\n radios: IgcRadioComponent[];\n /** Radio components under the same group name that are not disabled */\n active: IgcRadioComponent[];\n /** Radio components under the same group name sans the radio member passed in `getGroup` */\n siblings: IgcRadioComponent[];\n /** Radio components under the same group name that are marked as checked */\n checked: IgcRadioComponent[];\n};\n\nexport function getGroup(member: IgcRadioComponent) {\n const result: RadioQueryResult = {\n active: [],\n checked: [],\n radios: [],\n siblings: [],\n };\n\n if (!isDefined(globalThis.document)) {\n return result;\n }\n\n const iterator = iterNodes<IgcRadioComponent>(\n globalThis.document.documentElement,\n 'SHOW_ELEMENT',\n (radio) => radio.matches(`${member.tagName}[name='${member.name}']`)\n );\n\n for (const each of iterator) {\n result.radios.push(each);\n\n if (!each.disabled) {\n result.active.push(each);\n }\n\n if (each.checked) {\n result.checked.push(each);\n }\n\n if (each !== member) {\n result.siblings.push(each);\n }\n }\n\n return result;\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/radio/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAczD,MAAM,UAAU,QAAQ,CAAC,MAAyB;IAChD,MAAM,MAAM,GAAqB;QAC/B,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CACxB,UAAU,CAAC,QAAQ,CAAC,eAAe,EACnC,cAAc,EACd,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,IAAI,IAAI,CAAC,CACrE,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { isDefined, iterNodes } from '../common/util.js';\nimport type IgcRadioComponent from './radio';\n\ntype RadioQueryResult = {\n /** Radio components under the same group name */\n radios: IgcRadioComponent[];\n /** Radio components under the same group name that are not disabled */\n active: IgcRadioComponent[];\n /** Radio components under the same group name sans the radio member passed in `getGroup` */\n siblings: IgcRadioComponent[];\n /** Radio components under the same group name that are marked as checked */\n checked: IgcRadioComponent[];\n};\n\nexport function getGroup(member: IgcRadioComponent) {\n const result: RadioQueryResult = {\n active: [],\n checked: [],\n radios: [],\n siblings: [],\n };\n\n if (!isDefined(globalThis.document)) {\n return result;\n }\n\n const iterator = iterNodes<IgcRadioComponent>(\n globalThis.document.documentElement,\n 'SHOW_ELEMENT',\n (radio) => radio.matches(`${member.tagName}[name='${member.name}']`)\n );\n\n for (const each of iterator) {\n result.radios.push(each);\n\n if (!each.disabled) {\n result.active.push(each);\n }\n\n if (each.checked) {\n result.checked.push(each);\n }\n\n if (each !== member) {\n result.siblings.push(each);\n }\n }\n\n return result;\n}\n"]}
@@ -4,22 +4,23 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
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
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ var IgcRadioGroupComponent_1;
7
8
  import { LitElement, html } from 'lit';
8
9
  import { property } from 'lit/decorators.js';
10
+ import { themes } from '../../theming/theming-decorator.js';
11
+ import { registerComponent } from '../common/definitions/register.js';
12
+ import IgcRadioComponent from '../radio/radio.js';
9
13
  import { styles } from './radio-group.base.css.js';
10
14
  import { styles as fluent } from './radio-group.fluent.css.js';
11
15
  import { styles as indigo } from './radio-group.indigo.css.js';
12
16
  import { styles as material } from './radio-group.material.css.js';
13
- import { themes } from '../../theming/theming-decorator.js';
14
- import { registerComponent } from '../common/definitions/register.js';
15
- import IgcRadioComponent from '../radio/radio.js';
16
- let IgcRadioGroupComponent = class IgcRadioGroupComponent extends LitElement {
17
+ let IgcRadioGroupComponent = IgcRadioGroupComponent_1 = class IgcRadioGroupComponent extends LitElement {
17
18
  constructor() {
18
19
  super(...arguments);
19
20
  this.alignment = 'vertical';
20
21
  }
21
22
  static register() {
22
- registerComponent(this, IgcRadioComponent);
23
+ registerComponent(IgcRadioGroupComponent_1, IgcRadioComponent);
23
24
  }
24
25
  render() {
25
26
  return html `<slot></slot>`;
@@ -30,7 +31,7 @@ IgcRadioGroupComponent.styles = styles;
30
31
  __decorate([
31
32
  property({ reflect: true })
32
33
  ], IgcRadioGroupComponent.prototype, "alignment", void 0);
33
- IgcRadioGroupComponent = __decorate([
34
+ IgcRadioGroupComponent = IgcRadioGroupComponent_1 = __decorate([
34
35
  themes({
35
36
  light: { material, fluent, indigo },
36
37
  dark: { material, fluent, indigo },
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,iBAAiB,MAAM,mBAAmB,CAAC;AAanC,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,UAAU;IAA/C;;QAcN,cAAS,GAA8B,UAAU,CAAC;IAK3D,CAAC;IAdQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAC7C,CAAC;IASkB,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AAjBsB,8BAAO,GAAG,iBAAiB,AAApB,CAAqB;AAC5B,6BAAM,GAAG,MAAM,AAAT,CAAU;AAYhC;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yDAC6B;AAdtC,sBAAsB;IAJ1C,MAAM,CAAC;QACN,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;QACnC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;KACnC,CAAC;GACmB,sBAAsB,CAmB1C;eAnBoB,sBAAsB","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { styles } from './radio-group.base.css.js';\nimport { styles as fluent } from './radio-group.fluent.css.js';\nimport { styles as indigo } from './radio-group.indigo.css.js';\nimport { styles as material } from './radio-group.material.css.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport IgcRadioComponent from '../radio/radio.js';\n\n/**\n * The igc-radio-group component unifies one or more igc-radio buttons.\n *\n * @element igc-radio-group\n *\n * @slot - Default slot\n */\n@themes({\n light: { material, fluent, indigo },\n dark: { material, fluent, indigo },\n})\nexport default class IgcRadioGroupComponent extends LitElement {\n public static readonly tagName = 'igc-radio-group';\n public static override styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(this, IgcRadioComponent);\n }\n\n /**\n * Alignment of the radio controls inside this group.\n * @attr\n */\n @property({ reflect: true })\n public alignment: 'vertical' | 'horizontal' = 'vertical';\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-radio-group': IgcRadioGroupComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,iBAAiB,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAapD,IAAM,sBAAsB,8BAA5B,MAAM,sBAAuB,SAAQ,UAAU;IAA/C;;QAcN,cAAS,GAA8B,UAAU,CAAC;IAK3D,CAAC;IAdQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,wBAAsB,EAAE,iBAAiB,CAAC,CAAC;IAC/D,CAAC;IASkB,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AAjBsB,8BAAO,GAAG,iBAAiB,AAApB,CAAqB;AAC5B,6BAAM,GAAG,MAAM,AAAT,CAAU;AAYhC;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yDAC6B;AAdtC,sBAAsB;IAJ1C,MAAM,CAAC;QACN,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;QACnC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;KACnC,CAAC;GACmB,sBAAsB,CAmB1C;eAnBoB,sBAAsB","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport IgcRadioComponent from '../radio/radio.js';\nimport { styles } from './radio-group.base.css.js';\nimport { styles as fluent } from './radio-group.fluent.css.js';\nimport { styles as indigo } from './radio-group.indigo.css.js';\nimport { styles as material } from './radio-group.material.css.js';\n\n/**\n * The igc-radio-group component unifies one or more igc-radio buttons.\n *\n * @element igc-radio-group\n *\n * @slot - Default slot\n */\n@themes({\n light: { material, fluent, indigo },\n dark: { material, fluent, indigo },\n})\nexport default class IgcRadioGroupComponent extends LitElement {\n public static readonly tagName = 'igc-radio-group';\n public static override styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcRadioGroupComponent, IgcRadioComponent);\n }\n\n /**\n * Alignment of the radio controls inside this group.\n * @attr\n */\n @property({ reflect: true })\n public alignment: 'vertical' | 'horizontal' = 'vertical';\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-radio-group': IgcRadioGroupComponent;\n }\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  import { LitElement, html } from 'lit';
2
- import { styles } from './themes/rating-symbol.base.css.js';
3
2
  import { registerComponent } from '../common/definitions/register.js';
3
+ import { styles } from './themes/rating-symbol.base.css.js';
4
4
  class IgcRatingSymbolComponent extends LitElement {
5
5
  static register() {
6
- registerComponent(this);
6
+ registerComponent(IgcRatingSymbolComponent);
7
7
  }
8
8
  connectedCallback() {
9
9
  super.connectedCallback();
@@ -1 +1 @@
1
- {"version":3,"file":"rating-symbol.js","sourceRoot":"","sources":["../../../src/components/rating/rating-symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAetE,MAAqB,wBAAyB,SAAQ,UAAU;IAKvD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEe,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1D,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;;;;KAOV,CAAC;IACJ,CAAC;;AAtBsB,gCAAO,GAAG,mBAAmB,CAAC;AAC9B,+BAAM,GAAG,CAAC,MAAM,CAAC,CAAC;eAFtB,wBAAwB","sourcesContent":["import { LitElement, html } from 'lit';\n\nimport { styles } from './themes/rating-symbol.base.css.js';\nimport { registerComponent } from '../common/definitions/register.js';\n\n/**\n *\n * Used when a custom icon/symbol/element needs to be passed to the igc-rating component.\n *\n * @element igc-rating-symbol\n *\n * @slot - Default slot for projected full symbols/icons.\n * @slot empty - Default slot for projected empty symbols/icons.\n *\n * @csspart symbol - The symbol wrapping container.\n * @csspart full - The full symbol wrapping container.\n * @csspart empty - The empty symbol wrapping container.\n */\nexport default class IgcRatingSymbolComponent extends LitElement {\n public static readonly tagName = 'igc-rating-symbol';\n public static override styles = [styles];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(this);\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n this.slot = this.slot.length > 0 ? this.slot : 'symbol';\n }\n\n protected override render() {\n return html`\n <div part=\"symbol full\">\n <slot> </slot>\n </div>\n <div part=\"symbol empty\">\n <slot name=\"empty\"></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-rating-symbol': IgcRatingSymbolComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"rating-symbol.js","sourceRoot":"","sources":["../../../src/components/rating/rating-symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAe5D,MAAqB,wBAAyB,SAAQ,UAAU;IAKvD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IAEe,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1D,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;;;;KAOV,CAAC;IACJ,CAAC;;AAtBsB,gCAAO,GAAG,mBAAmB,CAAC;AAC9B,+BAAM,GAAG,CAAC,MAAM,CAAC,CAAC;eAFtB,wBAAwB","sourcesContent":["import { LitElement, html } from 'lit';\n\nimport { registerComponent } from '../common/definitions/register.js';\nimport { styles } from './themes/rating-symbol.base.css.js';\n\n/**\n *\n * Used when a custom icon/symbol/element needs to be passed to the igc-rating component.\n *\n * @element igc-rating-symbol\n *\n * @slot - Default slot for projected full symbols/icons.\n * @slot empty - Default slot for projected empty symbols/icons.\n *\n * @csspart symbol - The symbol wrapping container.\n * @csspart full - The full symbol wrapping container.\n * @csspart empty - The empty symbol wrapping container.\n */\nexport default class IgcRatingSymbolComponent extends LitElement {\n public static readonly tagName = 'igc-rating-symbol';\n public static override styles = [styles];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcRatingSymbolComponent);\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n this.slot = this.slot.length > 0 ? this.slot : 'symbol';\n }\n\n protected override render() {\n return html`\n <div part=\"symbol full\">\n <slot> </slot>\n </div>\n <div part=\"symbol empty\">\n <slot name=\"empty\"></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-rating-symbol': IgcRatingSymbolComponent;\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { LitElement } from 'lit';
2
+ import type { Constructor } from '../common/mixins/constructor.js';
2
3
  import IgcRatingSymbolComponent from './rating-symbol.js';
3
- import { Constructor } from '../common/mixins/constructor.js';
4
4
  export interface IgcRatingEventMap {
5
5
  igcChange: CustomEvent<number>;
6
6
  igcHover: CustomEvent<number>;
@@ -111,6 +111,8 @@ export default class IgcRatingComponent extends IgcRatingComponent_base {
111
111
  protected handleMouseMove({ clientX }: MouseEvent): void;
112
112
  protected emitValueUpdate(value: number): void;
113
113
  protected handleSlotChange(): void;
114
+ protected handleHoverEnabled(): void;
115
+ protected handleHoverDisabled(): void;
114
116
  protected calcNewValue(x: number): number;
115
117
  protected getPrecision(num: number): number;
116
118
  protected round(value: number): number;
@@ -4,15 +4,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
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
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ var IgcRatingComponent_1;
7
8
  import { LitElement, html, nothing } from 'lit';
8
9
  import { property, query, queryAssignedElements, queryAssignedNodes, state, } from 'lit/decorators.js';
9
10
  import { guard } from 'lit/directives/guard.js';
10
11
  import { ifDefined } from 'lit/directives/if-defined.js';
11
12
  import { styleMap } from 'lit/directives/style-map.js';
12
- import IgcRatingSymbolComponent from './rating-symbol.js';
13
- import { styles } from './themes/rating.base.css.js';
14
- import { styles as shared } from './themes/shared/rating.common.css.js';
15
- import { all } from './themes/themes.js';
16
13
  import { themes } from '../../theming/theming-decorator.js';
17
14
  import { addKeybindings, arrowDown, arrowLeft, arrowRight, arrowUp, endKey, homeKey, } from '../common/controllers/key-bindings.js';
18
15
  import { watch } from '../common/decorators/watch.js';
@@ -20,11 +17,15 @@ import { registerComponent } from '../common/definitions/register.js';
20
17
  import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
21
18
  import { FormAssociatedMixin } from '../common/mixins/form-associated.js';
22
19
  import { SizableMixin } from '../common/mixins/sizable.js';
23
- import { clamp, format, isLTR } from '../common/util.js';
20
+ import { clamp, formatString, isLTR } from '../common/util.js';
24
21
  import IgcIconComponent from '../icon/icon.js';
25
- let IgcRatingComponent = class IgcRatingComponent extends FormAssociatedMixin(SizableMixin(EventEmitterMixin(LitElement))) {
22
+ import IgcRatingSymbolComponent from './rating-symbol.js';
23
+ import { styles } from './themes/rating.base.css.js';
24
+ import { styles as shared } from './themes/shared/rating.common.css.js';
25
+ import { all } from './themes/themes.js';
26
+ let IgcRatingComponent = IgcRatingComponent_1 = class IgcRatingComponent extends FormAssociatedMixin(SizableMixin(EventEmitterMixin(LitElement))) {
26
27
  static register() {
27
- registerComponent(this, IgcIconComponent, IgcRatingSymbolComponent);
28
+ registerComponent(IgcRatingComponent_1, IgcIconComponent, IgcRatingSymbolComponent);
28
29
  }
29
30
  get isInteractive() {
30
31
  return !(this.readonly || this.disabled);
@@ -35,7 +36,7 @@ let IgcRatingComponent = class IgcRatingComponent extends FormAssociatedMixin(Si
35
36
  get valueText() {
36
37
  const value = this.round(this.value);
37
38
  return this.valueFormat
38
- ? format(this.valueFormat, `${value}`, `${this.max}`)
39
+ ? formatString(this.valueFormat, value, this.max)
39
40
  : `${value} of ${this.max}`;
40
41
  }
41
42
  set readonly(value) {
@@ -45,15 +46,15 @@ let IgcRatingComponent = class IgcRatingComponent extends FormAssociatedMixin(Si
45
46
  return this.readOnly;
46
47
  }
47
48
  handleMaxChange() {
48
- this.hasProjectedSymbols
49
- ? (this.max = this.ratingSymbols.length)
50
- : (this.max = Math.max(0, this.max));
49
+ this.max = this.hasProjectedSymbols
50
+ ? this.ratingSymbols.length
51
+ : Math.max(0, this.max);
51
52
  if (this.max < this.value) {
52
53
  this.value = this.max;
53
54
  }
54
55
  }
55
56
  handleValueChange() {
56
- this.value = clamp(isNaN(this.value) ? 0 : this.value, 0, this.max);
57
+ this.value = clamp(Number.isNaN(this.value) ? 0 : this.value, 0, this.max);
57
58
  this.setFormValue(`${this.value}`, `${this.value}`);
58
59
  this.updateValidity();
59
60
  this.setInvalidState();
@@ -118,6 +119,12 @@ let IgcRatingComponent = class IgcRatingComponent extends FormAssociatedMixin(Si
118
119
  this.requestUpdate();
119
120
  }
120
121
  }
122
+ handleHoverEnabled() {
123
+ this.hoverState = true;
124
+ }
125
+ handleHoverDisabled() {
126
+ this.hoverState = false;
127
+ }
121
128
  calcNewValue(x) {
122
129
  const { width, left, right } = this.container.getBoundingClientRect();
123
130
  const percent = isLTR(this) ? (x - left) / width : (right - x) / width;
@@ -129,8 +136,7 @@ let IgcRatingComponent = class IgcRatingComponent extends FormAssociatedMixin(Si
129
136
  return decimal ? decimal.length : 0;
130
137
  }
131
138
  round(value) {
132
- value = Math.round(value / this.step) * this.step;
133
- return Number(value.toFixed(this.getPrecision(this.step)));
139
+ return Number((Math.round(value / this.step) * this.step).toFixed(this.getPrecision(this.step)));
134
140
  }
135
141
  clipSymbol(index, isLTR = true) {
136
142
  const value = this.hoverState ? this.hoverValue : this.value;
@@ -215,8 +221,8 @@ let IgcRatingComponent = class IgcRatingComponent extends FormAssociatedMixin(Si
215
221
  aria-hidden="true"
216
222
  part="symbols"
217
223
  @click=${this.isInteractive ? this.handleClick : nothing}
218
- @mouseenter=${hoverActive ? () => (this.hoverState = true) : nothing}
219
- @mouseleave=${hoverActive ? () => (this.hoverState = false) : nothing}
224
+ @mouseenter=${hoverActive ? this.handleHoverEnabled : nothing}
225
+ @mouseleave=${hoverActive ? this.handleHoverDisabled : nothing}
220
226
  @mousemove=${hoverActive ? this.handleMouseMove : nothing}
221
227
  >
222
228
  <slot name="symbol" @slotchange=${this.handleSlotChange}>
@@ -295,8 +301,8 @@ __decorate([
295
301
  __decorate([
296
302
  watch('single')
297
303
  ], IgcRatingComponent.prototype, "handleSelectionChange", null);
298
- IgcRatingComponent = __decorate([
299
- themes(all, true)
304
+ IgcRatingComponent = IgcRatingComponent_1 = __decorate([
305
+ themes(all)
300
306
  ], IgcRatingComponent);
301
307
  export default IgcRatingComponent;
302
308
  //# sourceMappingURL=rating.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rating.js","sourceRoot":"","sources":["../../../src/components/rating/rating.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n queryAssignedNodes,\n state,\n} from 'lit/decorators.js';\nimport { guard } from 'lit/directives/guard.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { styleMap } from 'lit/directives/style-map.js';\n\nimport IgcRatingSymbolComponent from './rating-symbol.js';\nimport { styles } from './themes/rating.base.css.js';\nimport { styles as shared } from './themes/shared/rating.common.css.js';\nimport { all } from './themes/themes.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport {\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n endKey,\n homeKey,\n} from '../common/controllers/key-bindings.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormAssociatedMixin } from '../common/mixins/form-associated.js';\nimport { SizableMixin } from '../common/mixins/sizable.js';\nimport { clamp, format, isLTR } from '../common/util.js';\nimport IgcIconComponent from '../icon/icon.js';\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(all, true)\nexport default class IgcRatingComponent extends FormAssociatedMixin(\n SizableMixin(\n EventEmitterMixin<IgcRatingEventMap, Constructor<LitElement>>(LitElement)\n )\n) {\n public static readonly tagName = 'igc-rating';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(this, IgcIconComponent, IgcRatingSymbolComponent);\n }\n\n @queryAssignedElements({\n selector: IgcRatingSymbolComponent.tagName,\n slot: 'symbol',\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 return this.valueFormat\n ? format(this.valueFormat, `${value}`, `${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 * @attr\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 * @attr\n */\n @property({ type: Number })\n public step = 1;\n\n /**\n * The label of the control.\n * @attr\n */\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 * @attr value-format\n */\n @property({ attribute: 'value-format' })\n public valueFormat!: string;\n\n /**\n * The current value of the component\n * @attr\n */\n @property({ type: Number })\n public value = 0;\n\n /**\n * Sets hover preview behavior for the component\n * @attr hover-preview\n */\n @property({ type: Boolean, reflect: true, attribute: 'hover-preview' })\n public hoverPreview = false;\n\n /**\n * Makes the control a readonly field.\n * @attr readonly\n */\n @property({ type: Boolean, reflect: true, attribute: 'readonly' })\n public readOnly = false;\n\n /* blazorCSSuppress */\n /**\n * Sets the readonly state of the component\n * @prop\n *\n * @deprecated since v4.4.0. Use the `readOnly` property instead.\n */\n @property({ attribute: false })\n public set readonly(value: boolean) {\n this.readOnly = value;\n }\n\n public get readonly() {\n return this.readOnly;\n }\n\n /**\n * Toggles single selection visual mode.\n * @attr\n */\n @property({ type: Boolean })\n public single = false;\n\n /**\n * Whether to reset the rating when the user selects the same value.\n * @attr allow-reset\n */\n @property({ type: Boolean, reflect: true, attribute: 'allow-reset' })\n public allowReset = 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(isNaN(this.value) ? 0 : this.value, 0, this.max);\n this.setFormValue(`${this.value}`, `${this.value}`);\n this.updateValidity();\n this.setInvalidState();\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\n addKeybindings(this, {\n skip: () => !this.isInteractive,\n bindingDefaults: { preventDefault: true },\n })\n .set(arrowUp, () => this.emitValueUpdate(this.value + this.step))\n .set(arrowRight, () =>\n this.emitValueUpdate(\n isLTR(this) ? this.value + this.step : this.value - this.step\n )\n )\n .set(arrowDown, () => this.emitValueUpdate(this.value - this.step))\n .set(arrowLeft, () =>\n this.emitValueUpdate(\n isLTR(this) ? this.value - this.step : this.value + this.step\n )\n )\n .set(homeKey, () => this.emitValueUpdate(this.step))\n .set(endKey, () => this.emitValueUpdate(this.max));\n }\n\n protected handleClick({ clientX }: MouseEvent) {\n const value = this.calcNewValue(clientX);\n const sameValue = this.value === value;\n\n if (this.allowReset && sameValue) {\n this.emitValueUpdate(0);\n } else if (!sameValue) {\n this.emitValueUpdate(value);\n }\n }\n\n protected handleMouseMove({ clientX }: MouseEvent) {\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 emitValueUpdate(value: number) {\n this.value = clamp(value, 0, this.max);\n if (value === this.value) {\n this.emitEvent('igcChange', { detail: this.value });\n }\n }\n\n protected handleSlotChange() {\n if (this.hasProjectedSymbols) {\n this.max = this.ratingSymbols.length;\n this.requestUpdate();\n }\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 const hoverActive = this.hoverPreview && this.isInteractive;\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.isInteractive ? this.handleClick : nothing}\n @mouseenter=${hoverActive ? () => (this.hoverState = true) : nothing}\n @mouseleave=${hoverActive ? () => (this.hoverState = false) : nothing}\n @mousemove=${hoverActive ? this.handleMouseMove : nothing}\n >\n <slot name=\"symbol\" @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 { LitElement, html, nothing } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n queryAssignedNodes,\n state,\n} from 'lit/decorators.js';\nimport { guard } from 'lit/directives/guard.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { styleMap } from 'lit/directives/style-map.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport {\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n endKey,\n homeKey,\n} from '../common/controllers/key-bindings.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormAssociatedMixin } from '../common/mixins/form-associated.js';\nimport { SizableMixin } from '../common/mixins/sizable.js';\nimport { clamp, formatString, isLTR } from '../common/util.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport IgcRatingSymbolComponent from './rating-symbol.js';\nimport { styles } from './themes/rating.base.css.js';\nimport { styles as shared } from './themes/shared/rating.common.css.js';\nimport { all } from './themes/themes.js';\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(all)\nexport default class IgcRatingComponent extends FormAssociatedMixin(\n SizableMixin(\n EventEmitterMixin<IgcRatingEventMap, Constructor<LitElement>>(LitElement)\n )\n) {\n public static readonly tagName = 'igc-rating';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n IgcRatingComponent,\n IgcIconComponent,\n IgcRatingSymbolComponent\n );\n }\n\n @queryAssignedElements({\n selector: IgcRatingSymbolComponent.tagName,\n slot: 'symbol',\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 return this.valueFormat\n ? formatString(this.valueFormat, value, 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 * @attr\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 * @attr\n */\n @property({ type: Number })\n public step = 1;\n\n /**\n * The label of the control.\n * @attr\n */\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 * @attr value-format\n */\n @property({ attribute: 'value-format' })\n public valueFormat!: string;\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail\", false) */\n /**\n * The current value of the component\n * @attr\n */\n @property({ type: Number })\n public value = 0;\n\n /**\n * Sets hover preview behavior for the component\n * @attr hover-preview\n */\n @property({ type: Boolean, reflect: true, attribute: 'hover-preview' })\n public hoverPreview = false;\n\n /**\n * Makes the control a readonly field.\n * @attr readonly\n */\n @property({ type: Boolean, reflect: true, attribute: 'readonly' })\n public readOnly = false;\n\n /* blazorCSSuppress */\n /**\n * Sets the readonly state of the component\n * @prop\n *\n * @deprecated since v4.4.0. Use the `readOnly` property instead.\n */\n @property({ attribute: false })\n public set readonly(value: boolean) {\n this.readOnly = value;\n }\n\n public get readonly() {\n return this.readOnly;\n }\n\n /**\n * Toggles single selection visual mode.\n * @attr\n */\n @property({ type: Boolean })\n public single = false;\n\n /**\n * Whether to reset the rating when the user selects the same value.\n * @attr allow-reset\n */\n @property({ type: Boolean, reflect: true, attribute: 'allow-reset' })\n public allowReset = false;\n\n @watch('max')\n protected handleMaxChange() {\n this.max = this.hasProjectedSymbols\n ? this.ratingSymbols.length\n : Math.max(0, this.max);\n\n if (this.max < this.value) {\n this.value = this.max;\n }\n }\n\n @watch('value')\n protected handleValueChange() {\n this.value = clamp(Number.isNaN(this.value) ? 0 : this.value, 0, this.max);\n this.setFormValue(`${this.value}`, `${this.value}`);\n this.updateValidity();\n this.setInvalidState();\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\n addKeybindings(this, {\n skip: () => !this.isInteractive,\n bindingDefaults: { preventDefault: true },\n })\n .set(arrowUp, () => this.emitValueUpdate(this.value + this.step))\n .set(arrowRight, () =>\n this.emitValueUpdate(\n isLTR(this) ? this.value + this.step : this.value - this.step\n )\n )\n .set(arrowDown, () => this.emitValueUpdate(this.value - this.step))\n .set(arrowLeft, () =>\n this.emitValueUpdate(\n isLTR(this) ? this.value - this.step : this.value + this.step\n )\n )\n .set(homeKey, () => this.emitValueUpdate(this.step))\n .set(endKey, () => this.emitValueUpdate(this.max));\n }\n\n protected handleClick({ clientX }: MouseEvent) {\n const value = this.calcNewValue(clientX);\n const sameValue = this.value === value;\n\n if (this.allowReset && sameValue) {\n this.emitValueUpdate(0);\n } else if (!sameValue) {\n this.emitValueUpdate(value);\n }\n }\n\n protected handleMouseMove({ clientX }: MouseEvent) {\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 emitValueUpdate(value: number) {\n this.value = clamp(value, 0, this.max);\n if (value === this.value) {\n this.emitEvent('igcChange', { detail: this.value });\n }\n }\n\n protected handleSlotChange() {\n if (this.hasProjectedSymbols) {\n this.max = this.ratingSymbols.length;\n this.requestUpdate();\n }\n }\n\n protected handleHoverEnabled() {\n this.hoverState = true;\n }\n\n protected handleHoverDisabled() {\n this.hoverState = false;\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 return Number(\n (Math.round(value / this.step) * this.step).toFixed(\n this.getPrecision(this.step)\n )\n );\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 const hoverActive = this.hoverPreview && this.isInteractive;\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.isInteractive ? this.handleClick : nothing}\n @mouseenter=${hoverActive ? this.handleHoverEnabled : nothing}\n @mouseleave=${hoverActive ? this.handleHoverDisabled : nothing}\n @mousemove=${hoverActive ? this.handleMouseMove : nothing}\n >\n <slot name=\"symbol\" @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,2 +1,2 @@
1
- import { Themes } from '../../../theming/types.js';
1
+ import type { Themes } from '../../../theming/types.js';
2
2
  export declare const all: Themes;
@@ -1 +1 @@
1
- {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../src/components/rating/themes/themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEvE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAGjE,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,cAAc;GAC9B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,aAAa;GAChB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,aAAa;GAC7B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,YAAY;GACf;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\n// Dark Overrides\nimport { styles as bootstrapDark } from './dark/rating.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/rating.fluent.css.js';\nimport { styles as indigoDark } from './dark/rating.indigo.css.js';\nimport { styles as materialDark } from './dark/rating.material.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/rating.bootstrap.css.js';\nimport { styles as fluentLight } from './light/rating.fluent.css.js';\nimport { styles as indigoLight } from './light/rating.indigo.css.js';\nimport { styles as materialLight } from './light/rating.material.css.js';\nimport { styles as shared } from './light/rating.shared.css.js';\n// Shared Styles\nimport { styles as bootstrap } from './shared/rating.bootstrap.css.js';\nimport { styles as fluent } from './shared/rating.fluent.css.js';\nimport { styles as indigo } from './shared/rating.indigo.css.js';\nimport { Themes } from '../../../theming/types.js';\n\nconst light = {\n shared: css`\n ${shared}\n `,\n bootstrap: css`\n ${bootstrap} ${bootstrapLight}\n `,\n material: css`\n ${materialLight}\n `,\n fluent: css`\n ${fluent} ${fluentLight}\n `,\n indigo: css`\n ${indigo} ${indigoLight}\n `,\n};\n\nconst dark = {\n shared: css`\n ${shared}\n `,\n bootstrap: css`\n ${bootstrap} ${bootstrapDark}\n `,\n material: css`\n ${materialDark}\n `,\n fluent: css`\n ${fluent} ${fluentDark}\n `,\n indigo: css`\n ${indigo} ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
1
+ {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../src/components/rating/themes/themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEvE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,cAAc;GAC9B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,aAAa;GAChB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,aAAa;GAC7B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,YAAY;GACf;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\nimport type { Themes } from '../../../theming/types.js';\n// Dark Overrides\nimport { styles as bootstrapDark } from './dark/rating.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/rating.fluent.css.js';\nimport { styles as indigoDark } from './dark/rating.indigo.css.js';\nimport { styles as materialDark } from './dark/rating.material.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/rating.bootstrap.css.js';\nimport { styles as fluentLight } from './light/rating.fluent.css.js';\nimport { styles as indigoLight } from './light/rating.indigo.css.js';\nimport { styles as materialLight } from './light/rating.material.css.js';\nimport { styles as shared } from './light/rating.shared.css.js';\n// Shared Styles\nimport { styles as bootstrap } from './shared/rating.bootstrap.css.js';\nimport { styles as fluent } from './shared/rating.fluent.css.js';\nimport { styles as indigo } from './shared/rating.indigo.css.js';\n\nconst light = {\n shared: css`\n ${shared}\n `,\n bootstrap: css`\n ${bootstrap} ${bootstrapLight}\n `,\n material: css`\n ${materialLight}\n `,\n fluent: css`\n ${fluent} ${fluentLight}\n `,\n indigo: css`\n ${indigo} ${indigoLight}\n `,\n};\n\nconst dark = {\n shared: css`\n ${shared}\n `,\n bootstrap: css`\n ${bootstrap} ${bootstrapDark}\n `,\n material: css`\n ${materialDark}\n `,\n fluent: css`\n ${fluent} ${fluentDark}\n `,\n indigo: css`\n ${indigo} ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
@@ -1,9 +1,9 @@
1
1
  import { LitElement, html } from 'lit';
2
- import { styles } from './ripple.material.css.js';
3
2
  import { registerComponent } from '../common/definitions/register.js';
3
+ import { styles } from './ripple.material.css.js';
4
4
  class IgcRippleComponent extends LitElement {
5
5
  static register() {
6
- registerComponent(this);
6
+ registerComponent(IgcRippleComponent);
7
7
  }
8
8
  constructor() {
9
9
  super();
@@ -15,9 +15,9 @@ class IgcRippleComponent extends LitElement {
15
15
  display: 'block',
16
16
  pointerEvents: 'none',
17
17
  transformOrigin: 'center',
18
- transform: `translate3d(0, 0, 0) scale(0)`,
18
+ transform: 'translate3d(0, 0, 0) scale(0)',
19
19
  willChange: 'opacity, transform',
20
- margin: `0 !important`,
20
+ margin: '0 !important',
21
21
  border: 'none !important',
22
22
  width: `${radius}px`,
23
23
  height: `${radius}px`,
@@ -1 +1 @@
1
- {"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../../src/components/ripple/ripple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAQtE,MAAqB,kBAAmB,SAAQ,UAAU;IAKjD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QAIF,YAAO,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAc,EAAE,EAAE;YACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAEnE,MAAM,MAAM,GAAiC;gBAC3C,QAAQ,EAAE,UAAU;gBACpB,OAAO,EAAE,OAAO;gBAChB,aAAa,EAAE,MAAM;gBACrB,eAAe,EAAE,QAAQ;gBACzB,SAAS,EAAE,+BAA+B;gBAC1C,UAAU,EAAE,oBAAoB;gBAChC,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,iBAAiB;gBACzB,KAAK,EAAE,GAAG,MAAM,IAAI;gBACpB,MAAM,EAAE,GAAG,MAAM,IAAI;gBACrB,YAAY,EAAE,KAAK;gBACnB,GAAG,EAAE,GAAG,GAAG,IAAI;gBACf,IAAI,EAAE,GAAG,IAAI,IAAI;gBACjB,UAAU,EAAE,uCAAuC;aACpD,CAAC;YACF,MAAM,MAAM,GAAe;gBACzB,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE;gBACxC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE;aACtC,CAAC;YACF,MAAM,IAAI,GAA6B;gBACrC,QAAQ,EAAE,GAAG;gBACb,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,QAAQ;aACjB,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC;QApCA,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAqCO,aAAa,CAAC,CAAS,EAAE,CAAS;QACxC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,aAAa,CAAC;IAC3B,CAAC;;AA1DsB,0BAAO,GAAG,YAAY,AAAf,CAAgB;AACvB,yBAAM,GAAG,MAAM,AAAT,CAAU;eAFpB,kBAAkB","sourcesContent":["import { LitElement, html } from 'lit';\n\nimport { styles } from './ripple.material.css.js';\nimport { registerComponent } from '../common/definitions/register.js';\n\n/**\n * A ripple can be applied to an element to represent\n * interactive surface.\n *\n * @element igc-ripple\n */\nexport default class IgcRippleComponent extends LitElement {\n public static readonly tagName = 'igc-ripple';\n public static override styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(this);\n }\n\n constructor() {\n super();\n this.addEventListener('mousedown', this.handler);\n }\n\n private handler = ({ clientX, clientY }: MouseEvent) => {\n const element = document.createElement('span');\n const { radius, top, left } = this.getDimensions(clientX, clientY);\n\n const styles: Partial<CSSStyleDeclaration> = {\n position: 'absolute',\n display: 'block',\n pointerEvents: 'none',\n transformOrigin: 'center',\n transform: `translate3d(0, 0, 0) scale(0)`,\n willChange: 'opacity, transform',\n margin: `0 !important`,\n border: 'none !important',\n width: `${radius}px`,\n height: `${radius}px`,\n borderRadius: '50%',\n top: `${top}px`,\n left: `${left}px`,\n background: 'var(--color, hsl(var(--ig-gray-800)))',\n };\n const frames: Keyframe[] = [\n { opacity: 0.5, transform: 'scale(.3)' },\n { opacity: 0, transform: 'scale(2)' },\n ];\n const opts: KeyframeAnimationOptions = {\n duration: 600, // --igc-ripple-duration,\n fill: 'forwards',\n easing: 'linear', // --igc-ripple-easing\n };\n\n Object.assign(element.style, styles);\n this.shadowRoot?.appendChild(element);\n element.animate(frames, opts).finished.then(() => element.remove());\n };\n\n private getDimensions(x: number, y: number) {\n const { width, height, left, top } = this.getBoundingClientRect();\n const radius = Math.max(width, height);\n const _left = Math.round(x - left - radius / 2);\n const _top = Math.round(y - top - radius / 2);\n return { radius, top: _top, left: _left };\n }\n\n protected override render() {\n return html`<div></div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-ripple': IgcRippleComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../../src/components/ripple/ripple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAQlD,MAAqB,kBAAmB,SAAQ,UAAU;IAKjD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QAIF,YAAO,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAc,EAAE,EAAE;YACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAEnE,MAAM,MAAM,GAAiC;gBAC3C,QAAQ,EAAE,UAAU;gBACpB,OAAO,EAAE,OAAO;gBAChB,aAAa,EAAE,MAAM;gBACrB,eAAe,EAAE,QAAQ;gBACzB,SAAS,EAAE,+BAA+B;gBAC1C,UAAU,EAAE,oBAAoB;gBAChC,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,iBAAiB;gBACzB,KAAK,EAAE,GAAG,MAAM,IAAI;gBACpB,MAAM,EAAE,GAAG,MAAM,IAAI;gBACrB,YAAY,EAAE,KAAK;gBACnB,GAAG,EAAE,GAAG,GAAG,IAAI;gBACf,IAAI,EAAE,GAAG,IAAI,IAAI;gBACjB,UAAU,EAAE,uCAAuC;aACpD,CAAC;YACF,MAAM,MAAM,GAAe;gBACzB,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE;gBACxC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE;aACtC,CAAC;YACF,MAAM,IAAI,GAA6B;gBACrC,QAAQ,EAAE,GAAG;gBACb,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,QAAQ;aACjB,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC;QApCA,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAqCO,aAAa,CAAC,CAAS,EAAE,CAAS;QACxC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,aAAa,CAAC;IAC3B,CAAC;;AA1DsB,0BAAO,GAAG,YAAY,AAAf,CAAgB;AACvB,yBAAM,GAAG,MAAM,AAAT,CAAU;eAFpB,kBAAkB","sourcesContent":["import { LitElement, html } from 'lit';\n\nimport { registerComponent } from '../common/definitions/register.js';\nimport { styles } from './ripple.material.css.js';\n\n/**\n * A ripple can be applied to an element to represent\n * interactive surface.\n *\n * @element igc-ripple\n */\nexport default class IgcRippleComponent extends LitElement {\n public static readonly tagName = 'igc-ripple';\n public static override styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcRippleComponent);\n }\n\n constructor() {\n super();\n this.addEventListener('mousedown', this.handler);\n }\n\n private handler = ({ clientX, clientY }: MouseEvent) => {\n const element = document.createElement('span');\n const { radius, top, left } = this.getDimensions(clientX, clientY);\n\n const styles: Partial<CSSStyleDeclaration> = {\n position: 'absolute',\n display: 'block',\n pointerEvents: 'none',\n transformOrigin: 'center',\n transform: 'translate3d(0, 0, 0) scale(0)',\n willChange: 'opacity, transform',\n margin: '0 !important',\n border: 'none !important',\n width: `${radius}px`,\n height: `${radius}px`,\n borderRadius: '50%',\n top: `${top}px`,\n left: `${left}px`,\n background: 'var(--color, hsl(var(--ig-gray-800)))',\n };\n const frames: Keyframe[] = [\n { opacity: 0.5, transform: 'scale(.3)' },\n { opacity: 0, transform: 'scale(2)' },\n ];\n const opts: KeyframeAnimationOptions = {\n duration: 600, // --igc-ripple-duration,\n fill: 'forwards',\n easing: 'linear', // --igc-ripple-easing\n };\n\n Object.assign(element.style, styles);\n this.shadowRoot?.appendChild(element);\n element.animate(frames, opts).finished.then(() => element.remove());\n };\n\n private getDimensions(x: number, y: number) {\n const { width, height, left, top } = this.getBoundingClientRect();\n const radius = Math.max(width, height);\n const _left = Math.round(x - left - radius / 2);\n const _top = Math.round(y - top - radius / 2);\n return { radius, top: _top, left: _left };\n }\n\n protected override render() {\n return html`<div></div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-ripple': IgcRippleComponent;\n }\n}\n"]}
@@ -4,9 +4,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
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
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ var IgcSelectGroupComponent_1;
7
8
  import { LitElement, html } from 'lit';
8
9
  import { property, queryAssignedElements } from 'lit/decorators.js';
9
- import IgcSelectItemComponent from './select-item.js';
10
10
  import { themes } from '../../theming/theming-decorator.js';
11
11
  import { createMutationController, } from '../common/controllers/mutation-observer.js';
12
12
  import { watch } from '../common/decorators/watch.js';
@@ -14,9 +14,10 @@ import { registerComponent } from '../common/definitions/register.js';
14
14
  import { styles } from '../dropdown/themes/dropdown-group.base.css.js';
15
15
  import { all } from '../dropdown/themes/group.js';
16
16
  import { styles as shared } from '../dropdown/themes/shared/group/dropdown-group.common.css.js';
17
- let IgcSelectGroupComponent = class IgcSelectGroupComponent extends LitElement {
17
+ import IgcSelectItemComponent from './select-item.js';
18
+ let IgcSelectGroupComponent = IgcSelectGroupComponent_1 = class IgcSelectGroupComponent extends LitElement {
18
19
  static register() {
19
- registerComponent(this);
20
+ registerComponent(IgcSelectGroupComponent_1);
20
21
  }
21
22
  _observerCallback({ changes: { attributes }, }) {
22
23
  for (const item of attributes) {
@@ -82,7 +83,7 @@ __decorate([
82
83
  __decorate([
83
84
  watch('disabled', { waitUntilFirstUpdate: true })
84
85
  ], IgcSelectGroupComponent.prototype, "disabledChange", null);
85
- IgcSelectGroupComponent = __decorate([
86
+ IgcSelectGroupComponent = IgcSelectGroupComponent_1 = __decorate([
86
87
  themes(all)
87
88
  ], IgcSelectGroupComponent);
88
89
  export default IgcSelectGroupComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"select-group.js","sourceRoot":"","sources":["../../../src/components/select/select-group.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\n\nimport IgcSelectItemComponent from './select-item.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport {\n MutationControllerParams,\n createMutationController,\n} from '../common/controllers/mutation-observer.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { styles } from '../dropdown/themes/dropdown-group.base.css.js';\nimport { all } from '../dropdown/themes/group.js';\nimport { styles as shared } from '../dropdown/themes/shared/group/dropdown-group.common.css.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 */\n@themes(all)\nexport default class IgcSelectGroupComponent extends LitElement {\n public static readonly tagName = 'igc-select-group';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(this);\n }\n\n private _internals: ElementInternals;\n private controlledItems!: Array<IgcSelectItemComponent>;\n\n /** All child `igc-select-item`s. */\n @queryAssignedElements({\n flatten: true,\n selector: IgcSelectItemComponent.tagName,\n })\n public items!: Array<IgcSelectItemComponent>;\n\n @queryAssignedElements({\n flatten: true,\n selector: `${IgcSelectItemComponent.tagName}:not([disabled])`,\n })\n protected activeItems!: Array<IgcSelectItemComponent>;\n\n private _observerCallback({\n changes: { attributes },\n }: MutationControllerParams<IgcSelectItemComponent>) {\n for (const item of attributes) {\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 /**\n * Whether the group item and all its children are disabled.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public disabled = false;\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n this._internals.role = 'group';\n\n createMutationController(this, {\n callback: this._observerCallback,\n filter: [IgcSelectItemComponent.tagName],\n config: {\n attributeFilter: ['disabled'],\n subtree: true,\n },\n });\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n this.controlledItems = this.activeItems;\n\n this.disabledChange();\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n protected disabledChange() {\n this._internals.ariaDisabled = `${this.disabled}`;\n\n for (const item of this.controlledItems) {\n item.disabled = this.disabled;\n }\n }\n\n protected override render() {\n return html`\n <label part=\"label\">\n <slot name=\"label\"></slot>\n </label>\n <slot></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-select-group': IgcSelectGroupComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"select-group.js","sourceRoot":"","sources":["../../../src/components/select/select-group.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport {\n type MutationControllerParams,\n createMutationController,\n} from '../common/controllers/mutation-observer.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { styles } from '../dropdown/themes/dropdown-group.base.css.js';\nimport { all } from '../dropdown/themes/group.js';\nimport { styles as shared } from '../dropdown/themes/shared/group/dropdown-group.common.css.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 */\n@themes(all)\nexport default class IgcSelectGroupComponent extends LitElement {\n public static readonly tagName = 'igc-select-group';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcSelectGroupComponent);\n }\n\n private _internals: ElementInternals;\n private controlledItems!: Array<IgcSelectItemComponent>;\n\n /** All child `igc-select-item`s. */\n @queryAssignedElements({\n flatten: true,\n selector: IgcSelectItemComponent.tagName,\n })\n public items!: Array<IgcSelectItemComponent>;\n\n @queryAssignedElements({\n flatten: true,\n selector: `${IgcSelectItemComponent.tagName}:not([disabled])`,\n })\n protected activeItems!: Array<IgcSelectItemComponent>;\n\n private _observerCallback({\n changes: { attributes },\n }: MutationControllerParams<IgcSelectItemComponent>) {\n for (const item of attributes) {\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 /**\n * Whether the group item and all its children are disabled.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public disabled = false;\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n this._internals.role = 'group';\n\n createMutationController(this, {\n callback: this._observerCallback,\n filter: [IgcSelectItemComponent.tagName],\n config: {\n attributeFilter: ['disabled'],\n subtree: true,\n },\n });\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n this.controlledItems = this.activeItems;\n\n this.disabledChange();\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n protected disabledChange() {\n this._internals.ariaDisabled = `${this.disabled}`;\n\n for (const item of this.controlledItems) {\n item.disabled = this.disabled;\n }\n }\n\n protected override render() {\n return html`\n <label part=\"label\">\n <slot name=\"label\"></slot>\n </label>\n <slot></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-select-group': IgcSelectGroupComponent;\n }\n}\n"]}