igniteui-webcomponents 6.0.1 → 6.1.1-alpha.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 (497) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/components/accordion/accordion.js +3 -3
  3. package/components/accordion/accordion.js.map +1 -1
  4. package/components/avatar/avatar.d.ts +8 -10
  5. package/components/avatar/avatar.js +26 -26
  6. package/components/avatar/avatar.js.map +1 -1
  7. package/components/badge/badge.d.ts +3 -4
  8. package/components/badge/badge.js +13 -13
  9. package/components/badge/badge.js.map +1 -1
  10. package/components/banner/banner.d.ts +2 -3
  11. package/components/banner/banner.js +8 -4
  12. package/components/banner/banner.js.map +1 -1
  13. package/components/button/button-base.d.ts +8 -16
  14. package/components/button/button-base.js +27 -42
  15. package/components/button/button-base.js.map +1 -1
  16. package/components/button/button.js.map +1 -1
  17. package/components/button/icon-button.d.ts +2 -2
  18. package/components/button/icon-button.js +1 -1
  19. package/components/button/icon-button.js.map +1 -1
  20. package/components/button/themes/button/light/button.shared.css.js +1 -1
  21. package/components/button/themes/button/light/button.shared.css.js.map +1 -1
  22. package/components/button-group/button-group.js +2 -2
  23. package/components/button-group/button-group.js.map +1 -1
  24. package/components/button-group/toggle-button.d.ts +2 -8
  25. package/components/button-group/toggle-button.js +8 -12
  26. package/components/button-group/toggle-button.js.map +1 -1
  27. package/components/calendar/calendar.d.ts +1 -1
  28. package/components/calendar/calendar.js +13 -10
  29. package/components/calendar/calendar.js.map +1 -1
  30. package/components/calendar/days-view/days-view.d.ts +1 -1
  31. package/components/calendar/days-view/days-view.js +10 -11
  32. package/components/calendar/days-view/days-view.js.map +1 -1
  33. package/components/calendar/helpers.d.ts +12 -1
  34. package/components/calendar/helpers.js +35 -10
  35. package/components/calendar/helpers.js.map +1 -1
  36. package/components/calendar/model.d.ts +15 -1
  37. package/components/calendar/model.js +26 -5
  38. package/components/calendar/model.js.map +1 -1
  39. package/components/calendar/months-view/months-view.d.ts +1 -1
  40. package/components/calendar/months-view/months-view.js +10 -10
  41. package/components/calendar/months-view/months-view.js.map +1 -1
  42. package/components/calendar/years-view/years-view.d.ts +1 -1
  43. package/components/calendar/years-view/years-view.js +10 -10
  44. package/components/calendar/years-view/years-view.js.map +1 -1
  45. package/components/card/card.actions.js +1 -1
  46. package/components/card/card.actions.js.map +1 -1
  47. package/components/card/card.content.js +1 -1
  48. package/components/card/card.content.js.map +1 -1
  49. package/components/card/card.header.js +1 -1
  50. package/components/card/card.header.js.map +1 -1
  51. package/components/card/card.js +1 -1
  52. package/components/card/card.js.map +1 -1
  53. package/components/card/card.media.js +1 -1
  54. package/components/card/card.media.js.map +1 -1
  55. package/components/carousel/carousel-indicator-container.d.ts +2 -2
  56. package/components/carousel/carousel-indicator-container.js +9 -10
  57. package/components/carousel/carousel-indicator-container.js.map +1 -1
  58. package/components/carousel/carousel-indicator.d.ts +5 -7
  59. package/components/carousel/carousel-indicator.js +19 -19
  60. package/components/carousel/carousel-indicator.js.map +1 -1
  61. package/components/carousel/carousel-slide.d.ts +2 -3
  62. package/components/carousel/carousel-slide.js +17 -11
  63. package/components/carousel/carousel-slide.js.map +1 -1
  64. package/components/carousel/carousel.d.ts +6 -8
  65. package/components/carousel/carousel.js +36 -28
  66. package/components/carousel/carousel.js.map +1 -1
  67. package/components/chat/chat-input.d.ts +41 -0
  68. package/components/chat/chat-input.js +254 -0
  69. package/components/chat/chat-input.js.map +1 -0
  70. package/components/chat/chat-message-list.d.ts +24 -0
  71. package/components/chat/chat-message-list.js +88 -0
  72. package/components/chat/chat-message-list.js.map +1 -0
  73. package/components/chat/chat-message.d.ts +21 -0
  74. package/components/chat/chat-message.js +52 -0
  75. package/components/chat/chat-message.js.map +1 -0
  76. package/components/chat/chat.d.ts +41 -0
  77. package/components/chat/chat.js +98 -0
  78. package/components/chat/chat.js.map +1 -0
  79. package/components/chat/markdown-util.d.ts +2 -0
  80. package/components/chat/markdown-util.js +22 -0
  81. package/components/chat/markdown-util.js.map +1 -0
  82. package/components/chat/message-attachments.d.ts +28 -0
  83. package/components/chat/message-attachments.js +168 -0
  84. package/components/chat/message-attachments.js.map +1 -0
  85. package/components/chat/themes/chat.base.css.d.ts +1 -0
  86. package/components/chat/themes/chat.base.css.js +3 -0
  87. package/components/chat/themes/chat.base.css.js.map +1 -0
  88. package/components/chat/themes/input.base.css.d.ts +1 -0
  89. package/components/chat/themes/input.base.css.js +3 -0
  90. package/components/chat/themes/input.base.css.js.map +1 -0
  91. package/components/chat/themes/message-attachments.base.css.d.ts +1 -0
  92. package/components/chat/themes/message-attachments.base.css.js +3 -0
  93. package/components/chat/themes/message-attachments.base.css.js.map +1 -0
  94. package/components/chat/themes/message-list.base.css.d.ts +1 -0
  95. package/components/chat/themes/message-list.base.css.js +3 -0
  96. package/components/chat/themes/message-list.base.css.js.map +1 -0
  97. package/components/chat/themes/message.base.css.d.ts +1 -0
  98. package/components/chat/themes/message.base.css.js +3 -0
  99. package/components/chat/themes/message.base.css.js.map +1 -0
  100. package/components/chat/types.d.ts +46 -0
  101. package/components/chat/types.js +8 -0
  102. package/components/chat/types.js.map +1 -0
  103. package/components/checkbox/checkbox-base.d.ts +8 -10
  104. package/components/checkbox/checkbox-base.js +20 -23
  105. package/components/checkbox/checkbox-base.js.map +1 -1
  106. package/components/checkbox/checkbox.d.ts +3 -3
  107. package/components/checkbox/checkbox.js +19 -20
  108. package/components/checkbox/checkbox.js.map +1 -1
  109. package/components/checkbox/switch.d.ts +2 -2
  110. package/components/checkbox/switch.js +16 -20
  111. package/components/checkbox/switch.js.map +1 -1
  112. package/components/checkbox/validators.js.map +1 -1
  113. package/components/chip/chip.js +4 -4
  114. package/components/chip/chip.js.map +1 -1
  115. package/components/combo/combo-header.js +1 -1
  116. package/components/combo/combo-header.js.map +1 -1
  117. package/components/combo/combo-item.d.ts +4 -6
  118. package/components/combo/combo-item.js +20 -18
  119. package/components/combo/combo-item.js.map +1 -1
  120. package/components/combo/combo.d.ts +3 -3
  121. package/components/combo/combo.js +25 -24
  122. package/components/combo/combo.js.map +1 -1
  123. package/components/combo/themes/combo.base.css.js +1 -1
  124. package/components/combo/themes/combo.base.css.js.map +1 -1
  125. package/components/combo/themes/shared/combo.fluent.css.js +1 -1
  126. package/components/combo/themes/shared/combo.fluent.css.js.map +1 -1
  127. package/components/common/abort-handler.d.ts +39 -0
  128. package/components/common/abort-handler.js +19 -0
  129. package/components/common/abort-handler.js.map +1 -0
  130. package/components/common/context.d.ts +5 -1
  131. package/components/common/context.js +2 -1
  132. package/components/common/context.js.map +1 -1
  133. package/components/common/controllers/drag.d.ts +3 -2
  134. package/components/common/controllers/drag.js +7 -6
  135. package/components/common/controllers/drag.js.map +1 -1
  136. package/components/common/controllers/focus-ring.d.ts +22 -11
  137. package/components/common/controllers/focus-ring.js +17 -14
  138. package/components/common/controllers/focus-ring.js.map +1 -1
  139. package/components/common/controllers/gestures.d.ts +6 -2
  140. package/components/common/controllers/gestures.js +15 -11
  141. package/components/common/controllers/gestures.js.map +1 -1
  142. package/components/common/controllers/internals.d.ts +33 -0
  143. package/components/common/controllers/internals.js +25 -0
  144. package/components/common/controllers/internals.js.map +1 -0
  145. package/components/common/controllers/key-bindings.d.ts +41 -33
  146. package/components/common/controllers/key-bindings.js +85 -71
  147. package/components/common/controllers/key-bindings.js.map +1 -1
  148. package/components/common/controllers/mutation-observer.d.ts +25 -15
  149. package/components/common/controllers/mutation-observer.js +23 -12
  150. package/components/common/controllers/mutation-observer.js.map +1 -1
  151. package/components/common/controllers/resize-observer.js.map +1 -1
  152. package/components/common/controllers/root-click.d.ts +58 -13
  153. package/components/common/controllers/root-click.js +47 -35
  154. package/components/common/controllers/root-click.js.map +1 -1
  155. package/components/common/decorators/shadow-options.d.ts +10 -0
  156. package/components/common/decorators/shadow-options.js +10 -0
  157. package/components/common/decorators/shadow-options.js.map +1 -0
  158. package/components/common/definitions/defineAllComponents.js +16 -12
  159. package/components/common/definitions/defineAllComponents.js.map +1 -1
  160. package/components/common/i18n/date-range-picker.resources.d.ts +11 -0
  161. package/components/common/i18n/date-range-picker.resources.js +12 -0
  162. package/components/common/i18n/date-range-picker.resources.js.map +1 -0
  163. package/components/common/mixins/alert.d.ts +1 -2
  164. package/components/common/mixins/alert.js +13 -9
  165. package/components/common/mixins/alert.js.map +1 -1
  166. package/components/common/mixins/combo-box.d.ts +2 -1
  167. package/components/common/mixins/combo-box.js +8 -4
  168. package/components/common/mixins/combo-box.js.map +1 -1
  169. package/components/common/mixins/forms/associated.js +2 -2
  170. package/components/common/mixins/forms/associated.js.map +1 -1
  171. package/components/common/mixins/forms/form-value.d.ts +15 -1
  172. package/components/common/mixins/forms/form-value.js +25 -4
  173. package/components/common/mixins/forms/form-value.js.map +1 -1
  174. package/components/common/mixins/option.d.ts +3 -3
  175. package/components/common/mixins/option.js +13 -11
  176. package/components/common/mixins/option.js.map +1 -1
  177. package/components/common/part-map.d.ts +17 -0
  178. package/components/common/part-map.js +46 -0
  179. package/components/common/part-map.js.map +1 -0
  180. package/components/common/util.d.ts +14 -6
  181. package/components/common/util.js +26 -23
  182. package/components/common/util.js.map +1 -1
  183. package/components/common/validators.js +3 -7
  184. package/components/common/validators.js.map +1 -1
  185. package/components/date-picker/date-picker.d.ts +4 -9
  186. package/components/date-picker/date-picker.js +24 -24
  187. package/components/date-picker/date-picker.js.map +1 -1
  188. package/components/date-picker/themes/dark/date-picker.bootstrap.css.js +1 -1
  189. package/components/date-picker/themes/dark/date-picker.bootstrap.css.js.map +1 -1
  190. package/components/date-picker/themes/dark/date-picker.fluent.css.js +1 -1
  191. package/components/date-picker/themes/dark/date-picker.fluent.css.js.map +1 -1
  192. package/components/date-picker/themes/dark/date-picker.indigo.css.js +1 -1
  193. package/components/date-picker/themes/dark/date-picker.indigo.css.js.map +1 -1
  194. package/components/date-picker/themes/dark/date-picker.material.css.js +1 -1
  195. package/components/date-picker/themes/dark/date-picker.material.css.js.map +1 -1
  196. package/components/date-picker/themes/light/date-picker.bootstrap.css.js +1 -1
  197. package/components/date-picker/themes/light/date-picker.bootstrap.css.js.map +1 -1
  198. package/components/date-picker/themes/light/date-picker.fluent.css.js +1 -1
  199. package/components/date-picker/themes/light/date-picker.fluent.css.js.map +1 -1
  200. package/components/date-picker/themes/light/date-picker.indigo.css.js +1 -1
  201. package/components/date-picker/themes/light/date-picker.indigo.css.js.map +1 -1
  202. package/components/date-picker/themes/light/date-picker.material.css.js +1 -1
  203. package/components/date-picker/themes/light/date-picker.material.css.js.map +1 -1
  204. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js +1 -1
  205. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js.map +1 -1
  206. package/components/date-picker/themes/shared/date-picker.common.css.js +1 -1
  207. package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -1
  208. package/components/date-picker/themes/shared/date-picker.fluent.css.js +1 -1
  209. package/components/date-picker/themes/shared/date-picker.fluent.css.js.map +1 -1
  210. package/components/date-picker/themes/shared/date-picker.indigo.css.js +1 -1
  211. package/components/date-picker/themes/shared/date-picker.indigo.css.js.map +1 -1
  212. package/components/date-picker/themes/shared/date-picker.material.css.d.ts +1 -0
  213. package/components/date-picker/themes/shared/date-picker.material.css.js +3 -0
  214. package/components/date-picker/themes/shared/date-picker.material.css.js.map +1 -0
  215. package/components/date-picker/themes/themes.js +3 -2
  216. package/components/date-picker/themes/themes.js.map +1 -1
  217. package/components/date-picker/validators.js.map +1 -1
  218. package/components/date-range-picker/date-range-picker.base.css.d.ts +1 -0
  219. package/components/date-range-picker/date-range-picker.base.css.js +3 -0
  220. package/components/date-range-picker/date-range-picker.base.css.js.map +1 -0
  221. package/components/date-range-picker/date-range-picker.d.ts +360 -0
  222. package/components/date-range-picker/date-range-picker.js +811 -0
  223. package/components/date-range-picker/date-range-picker.js.map +1 -0
  224. package/components/date-range-picker/predefined-ranges-area.base.css.d.ts +1 -0
  225. package/components/date-range-picker/predefined-ranges-area.base.css.js +3 -0
  226. package/components/date-range-picker/predefined-ranges-area.base.css.js.map +1 -0
  227. package/components/date-range-picker/predefined-ranges-area.d.ts +36 -0
  228. package/components/date-range-picker/predefined-ranges-area.js +115 -0
  229. package/components/date-range-picker/predefined-ranges-area.js.map +1 -0
  230. package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.d.ts +1 -0
  231. package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.js +3 -0
  232. package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.js.map +1 -0
  233. package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.d.ts +1 -0
  234. package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.js +3 -0
  235. package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.js.map +1 -0
  236. package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.d.ts +1 -0
  237. package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js +3 -0
  238. package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js.map +1 -0
  239. package/components/date-range-picker/themes/dark/date-range-picker.material.css.d.ts +1 -0
  240. package/components/date-range-picker/themes/dark/date-range-picker.material.css.js +3 -0
  241. package/components/date-range-picker/themes/dark/date-range-picker.material.css.js.map +1 -0
  242. package/components/date-range-picker/themes/light/date-range-picker.bootstrap.css.d.ts +1 -0
  243. package/components/date-range-picker/themes/light/date-range-picker.bootstrap.css.js +3 -0
  244. package/components/date-range-picker/themes/light/date-range-picker.bootstrap.css.js.map +1 -0
  245. package/components/date-range-picker/themes/light/date-range-picker.fluent.css.d.ts +1 -0
  246. package/components/date-range-picker/themes/light/date-range-picker.fluent.css.js +3 -0
  247. package/components/date-range-picker/themes/light/date-range-picker.fluent.css.js.map +1 -0
  248. package/components/date-range-picker/themes/light/date-range-picker.indigo.css.d.ts +1 -0
  249. package/components/date-range-picker/themes/light/date-range-picker.indigo.css.js +3 -0
  250. package/components/date-range-picker/themes/light/date-range-picker.indigo.css.js.map +1 -0
  251. package/components/date-range-picker/themes/light/date-range-picker.material.css.d.ts +1 -0
  252. package/components/date-range-picker/themes/light/date-range-picker.material.css.js +3 -0
  253. package/components/date-range-picker/themes/light/date-range-picker.material.css.js.map +1 -0
  254. package/components/date-range-picker/themes/light/date-range-picker.shared.css.d.ts +1 -0
  255. package/components/date-range-picker/themes/light/date-range-picker.shared.css.js +3 -0
  256. package/components/date-range-picker/themes/light/date-range-picker.shared.css.js.map +1 -0
  257. package/components/date-range-picker/themes/ranges-themes.d.ts +2 -0
  258. package/components/date-range-picker/themes/ranges-themes.js +14 -0
  259. package/components/date-range-picker/themes/ranges-themes.js.map +1 -0
  260. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.d.ts +1 -0
  261. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js +3 -0
  262. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js.map +1 -0
  263. package/components/date-range-picker/themes/shared/date-range-picker.common.css.d.ts +1 -0
  264. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js +3 -0
  265. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js.map +1 -0
  266. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.d.ts +1 -0
  267. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js +3 -0
  268. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js.map +1 -0
  269. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.d.ts +1 -0
  270. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js +3 -0
  271. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js.map +1 -0
  272. package/components/date-range-picker/themes/shared/date-range-picker.material.css.d.ts +1 -0
  273. package/components/date-range-picker/themes/shared/date-range-picker.material.css.js +3 -0
  274. package/components/date-range-picker/themes/shared/date-range-picker.material.css.js.map +1 -0
  275. package/components/date-range-picker/themes/shared/predefined-ranges-area.common.css.d.ts +1 -0
  276. package/components/date-range-picker/themes/shared/predefined-ranges-area.common.css.js +3 -0
  277. package/components/date-range-picker/themes/shared/predefined-ranges-area.common.css.js.map +1 -0
  278. package/components/date-range-picker/themes/shared/predefined-ranges-area.indigo.css.d.ts +1 -0
  279. package/components/date-range-picker/themes/shared/predefined-ranges-area.indigo.css.js +3 -0
  280. package/components/date-range-picker/themes/shared/predefined-ranges-area.indigo.css.js.map +1 -0
  281. package/components/date-range-picker/themes/themes.d.ts +2 -0
  282. package/components/date-range-picker/themes/themes.js +50 -0
  283. package/components/date-range-picker/themes/themes.js.map +1 -0
  284. package/components/date-range-picker/validators.d.ts +26 -0
  285. package/components/date-range-picker/validators.js +57 -0
  286. package/components/date-range-picker/validators.js.map +1 -0
  287. package/components/date-time-input/date-time-input.d.ts +2 -2
  288. package/components/date-time-input/date-time-input.js +7 -9
  289. package/components/date-time-input/date-time-input.js.map +1 -1
  290. package/components/date-time-input/date-util.d.ts +7 -0
  291. package/components/date-time-input/date-util.js +11 -0
  292. package/components/date-time-input/date-util.js.map +1 -1
  293. package/components/date-time-input/validators.js.map +1 -1
  294. package/components/dialog/dialog.js +12 -11
  295. package/components/dialog/dialog.js.map +1 -1
  296. package/components/dialog/themes/dialog.base.css.js +1 -1
  297. package/components/dialog/themes/dialog.base.css.js.map +1 -1
  298. package/components/dialog/themes/shared/dialog.indigo.css.js +1 -1
  299. package/components/dialog/themes/shared/dialog.indigo.css.js.map +1 -1
  300. package/components/divider/divider.d.ts +5 -3
  301. package/components/divider/divider.js +17 -15
  302. package/components/divider/divider.js.map +1 -1
  303. package/components/dropdown/dropdown-group.d.ts +0 -1
  304. package/components/dropdown/dropdown-group.js +7 -3
  305. package/components/dropdown/dropdown-group.js.map +1 -1
  306. package/components/dropdown/dropdown-header.js +1 -1
  307. package/components/dropdown/dropdown-header.js.map +1 -1
  308. package/components/dropdown/dropdown.d.ts +2 -1
  309. package/components/dropdown/dropdown.js +5 -2
  310. package/components/dropdown/dropdown.js.map +1 -1
  311. package/components/expansion-panel/expansion-panel.js +1 -1
  312. package/components/expansion-panel/expansion-panel.js.map +1 -1
  313. package/components/file-input/file-input.d.ts +11 -5
  314. package/components/file-input/file-input.js +23 -19
  315. package/components/file-input/file-input.js.map +1 -1
  316. package/components/file-input/themes/file-input.base.css.js +1 -1
  317. package/components/file-input/themes/file-input.base.css.js.map +1 -1
  318. package/components/file-input/validators.js.map +1 -1
  319. package/components/focus-trap/focus-trap.js +4 -4
  320. package/components/focus-trap/focus-trap.js.map +1 -1
  321. package/components/icon/icon.d.ts +1 -1
  322. package/components/icon/icon.js +7 -5
  323. package/components/icon/icon.js.map +1 -1
  324. package/components/input/input-base.d.ts +1 -8
  325. package/components/input/input-base.js +9 -10
  326. package/components/input/input-base.js.map +1 -1
  327. package/components/input/input.d.ts +2 -3
  328. package/components/input/input.js +10 -9
  329. package/components/input/input.js.map +1 -1
  330. package/components/input/themes/dark/input.bootstrap.css.js +1 -1
  331. package/components/input/themes/dark/input.bootstrap.css.js.map +1 -1
  332. package/components/input/themes/dark/input.indigo.css.js +1 -1
  333. package/components/input/themes/dark/input.indigo.css.js.map +1 -1
  334. package/components/input/themes/light/input.bootstrap.css.js +1 -1
  335. package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
  336. package/components/input/themes/light/input.indigo.css.js +1 -1
  337. package/components/input/themes/light/input.indigo.css.js.map +1 -1
  338. package/components/input/themes/light/input.shared.css.js +1 -1
  339. package/components/input/themes/light/input.shared.css.js.map +1 -1
  340. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  341. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  342. package/components/input/themes/shared/input.common.css.js +1 -1
  343. package/components/input/themes/shared/input.common.css.js.map +1 -1
  344. package/components/input/themes/shared/input.fluent.css.js +1 -1
  345. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  346. package/components/input/themes/shared/input.indigo.css.js +1 -1
  347. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  348. package/components/input/themes/shared/input.material.css.js +1 -1
  349. package/components/input/themes/shared/input.material.css.js.map +1 -1
  350. package/components/input/validators.js.map +1 -1
  351. package/components/list/list-header.d.ts +0 -1
  352. package/components/list/list-header.js +5 -3
  353. package/components/list/list-header.js.map +1 -1
  354. package/components/list/list-item.d.ts +0 -1
  355. package/components/list/list-item.js +7 -3
  356. package/components/list/list-item.js.map +1 -1
  357. package/components/list/list.d.ts +0 -1
  358. package/components/list/list.js +7 -3
  359. package/components/list/list.js.map +1 -1
  360. package/components/mask-input/mask-input.d.ts +2 -3
  361. package/components/mask-input/mask-input.js +13 -12
  362. package/components/mask-input/mask-input.js.map +1 -1
  363. package/components/mask-input/mask-parser.d.ts +100 -14
  364. package/components/mask-input/mask-parser.js +134 -117
  365. package/components/mask-input/mask-parser.js.map +1 -1
  366. package/components/mask-input/validators.js.map +1 -1
  367. package/components/nav-drawer/nav-drawer-header-item.js +1 -1
  368. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  369. package/components/nav-drawer/nav-drawer-item.js +3 -7
  370. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  371. package/components/nav-drawer/nav-drawer.js +6 -7
  372. package/components/nav-drawer/nav-drawer.js.map +1 -1
  373. package/components/navbar/navbar.js +1 -1
  374. package/components/navbar/navbar.js.map +1 -1
  375. package/components/popover/popover.js +1 -1
  376. package/components/popover/popover.js.map +1 -1
  377. package/components/progress/base.d.ts +1 -2
  378. package/components/progress/base.js +34 -31
  379. package/components/progress/base.js.map +1 -1
  380. package/components/progress/circular-progress.js +7 -15
  381. package/components/progress/circular-progress.js.map +1 -1
  382. package/components/progress/linear-progress.js +5 -5
  383. package/components/progress/linear-progress.js.map +1 -1
  384. package/components/radio/radio.d.ts +11 -12
  385. package/components/radio/radio.js +40 -45
  386. package/components/radio/radio.js.map +1 -1
  387. package/components/radio/utils.js +6 -3
  388. package/components/radio/utils.js.map +1 -1
  389. package/components/radio-group/radio-group.d.ts +1 -1
  390. package/components/radio-group/radio-group.js +9 -8
  391. package/components/radio-group/radio-group.js.map +1 -1
  392. package/components/rating/rating-symbol.js +1 -1
  393. package/components/rating/rating-symbol.js.map +1 -1
  394. package/components/rating/rating.d.ts +2 -2
  395. package/components/rating/rating.js +5 -5
  396. package/components/rating/rating.js.map +1 -1
  397. package/components/resize-container/resize-container.js +5 -5
  398. package/components/resize-container/resize-container.js.map +1 -1
  399. package/components/resize-container/resize-controller.d.ts +3 -2
  400. package/components/resize-container/resize-controller.js +6 -4
  401. package/components/resize-container/resize-controller.js.map +1 -1
  402. package/components/ripple/ripple.js +3 -2
  403. package/components/ripple/ripple.js.map +1 -1
  404. package/components/select/select-group.d.ts +1 -1
  405. package/components/select/select-group.js +9 -5
  406. package/components/select/select-group.js.map +1 -1
  407. package/components/select/select-header.js +1 -1
  408. package/components/select/select-header.js.map +1 -1
  409. package/components/select/select.d.ts +3 -2
  410. package/components/select/select.js +19 -15
  411. package/components/select/select.js.map +1 -1
  412. package/components/select/themes/shared/select.fluent.css.js +1 -1
  413. package/components/select/themes/shared/select.fluent.css.js.map +1 -1
  414. package/components/select/validators.js.map +1 -1
  415. package/components/slider/range-slider.js +1 -1
  416. package/components/slider/range-slider.js.map +1 -1
  417. package/components/slider/slider-base.js +7 -7
  418. package/components/slider/slider-base.js.map +1 -1
  419. package/components/slider/slider-label.js +1 -1
  420. package/components/slider/slider-label.js.map +1 -1
  421. package/components/slider/slider.d.ts +2 -3
  422. package/components/slider/slider.js +7 -7
  423. package/components/slider/slider.js.map +1 -1
  424. package/components/snackbar/snackbar.js.map +1 -1
  425. package/components/stepper/step.js +4 -4
  426. package/components/stepper/step.js.map +1 -1
  427. package/components/stepper/stepper.js +1 -1
  428. package/components/stepper/stepper.js.map +1 -1
  429. package/components/tabs/tab.js +2 -2
  430. package/components/tabs/tab.js.map +1 -1
  431. package/components/tabs/tabs.js +12 -10
  432. package/components/tabs/tabs.js.map +1 -1
  433. package/components/textarea/textarea.d.ts +3 -9
  434. package/components/textarea/textarea.js +13 -14
  435. package/components/textarea/textarea.js.map +1 -1
  436. package/components/textarea/themes/dark/textarea.bootstrap.css.js +1 -1
  437. package/components/textarea/themes/dark/textarea.bootstrap.css.js.map +1 -1
  438. package/components/textarea/themes/dark/textarea.indigo.css.js +1 -1
  439. package/components/textarea/themes/dark/textarea.indigo.css.js.map +1 -1
  440. package/components/textarea/themes/light/textarea.bootstrap.css.js +1 -1
  441. package/components/textarea/themes/light/textarea.bootstrap.css.js.map +1 -1
  442. package/components/textarea/themes/light/textarea.indigo.css.js +1 -1
  443. package/components/textarea/themes/light/textarea.indigo.css.js.map +1 -1
  444. package/components/textarea/themes/light/textarea.shared.css.js +1 -1
  445. package/components/textarea/themes/light/textarea.shared.css.js.map +1 -1
  446. package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
  447. package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
  448. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  449. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  450. package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
  451. package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
  452. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  453. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  454. package/components/textarea/themes/textarea.base.css.js +1 -1
  455. package/components/textarea/themes/textarea.base.css.js.map +1 -1
  456. package/components/textarea/validators.js.map +1 -1
  457. package/components/tile-manager/position.d.ts +1 -1
  458. package/components/tile-manager/position.js.map +1 -1
  459. package/components/tile-manager/themes/container.js.map +1 -1
  460. package/components/tile-manager/tile-manager.d.ts +0 -1
  461. package/components/tile-manager/tile-manager.js +9 -10
  462. package/components/tile-manager/tile-manager.js.map +1 -1
  463. package/components/tile-manager/tile.js +7 -6
  464. package/components/tile-manager/tile.js.map +1 -1
  465. package/components/tooltip/controller.d.ts +2 -4
  466. package/components/tooltip/controller.js +11 -20
  467. package/components/tooltip/controller.js.map +1 -1
  468. package/components/tooltip/themes/themes.js +1 -1
  469. package/components/tooltip/themes/themes.js.map +1 -1
  470. package/components/tooltip/tooltip.d.ts +24 -10
  471. package/components/tooltip/tooltip.js +56 -49
  472. package/components/tooltip/tooltip.js.map +1 -1
  473. package/components/tree/tree-item.d.ts +1 -0
  474. package/components/tree/tree-item.js +28 -26
  475. package/components/tree/tree-item.js.map +1 -1
  476. package/components/tree/tree.d.ts +1 -1
  477. package/components/tree/tree.js +4 -3
  478. package/components/tree/tree.js.map +1 -1
  479. package/components/tree/tree.navigation.d.ts +1 -1
  480. package/components/tree/tree.navigation.js.map +1 -1
  481. package/components/tree/tree.selection.d.ts +1 -1
  482. package/components/tree/tree.selection.js.map +1 -1
  483. package/components/validation-container/themes/themes.js.map +1 -1
  484. package/components/validation-container/validation-container.d.ts +1 -1
  485. package/components/validation-container/validation-container.js +5 -12
  486. package/components/validation-container/validation-container.js.map +1 -1
  487. package/custom-elements.json +31449 -26970
  488. package/igniteui-webcomponents.css-data.json +1 -1
  489. package/igniteui-webcomponents.html-data.json +1 -1
  490. package/index.d.ts +11 -1
  491. package/index.js +6 -0
  492. package/index.js.map +1 -1
  493. package/package.json +3 -2
  494. package/theming/theming-controller.d.ts +1 -1
  495. package/theming/theming-controller.js +1 -1
  496. package/theming/theming-controller.js.map +1 -1
  497. package/web-types.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../../src/components/popover/popover.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type Middleware,\n type MiddlewareData,\n type Placement,\n arrow,\n autoUpdate,\n computePosition,\n flip,\n inline,\n limitShift,\n offset,\n shift,\n size,\n} from '@floating-ui/dom';\nimport { LitElement, html } from 'lit';\nimport { property, query, queryAssignedElements } from 'lit/decorators.js';\n\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n first,\n getElementByIdFromRoot,\n isEmpty,\n isString,\n roundByDPR,\n} from '../common/util.js';\nimport { styles } from './themes/light/popover.base.css.js';\n\n/**\n * Describes the preferred placement of a toggle component.\n */\nexport type PopoverPlacement =\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end';\n\n/* blazorSuppress */\n/**\n * @element igc-popover\n *\n * @slot - Content of the popover.\n * @slot anchor - The element the popover will be anchored to.\n *\n * @csspart container - The container wrapping the slotted content in the popover.\n */\nexport default class IgcPopoverComponent extends LitElement {\n public static readonly tagName = 'igc-popover';\n public static override styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcPopoverComponent);\n }\n\n private dispose?: ReturnType<typeof autoUpdate>;\n private target?: Element;\n\n @query('#container')\n private _container!: HTMLElement;\n\n @queryAssignedElements({ slot: 'anchor', flatten: true })\n private _anchors!: HTMLElement[];\n\n /**\n * Pass an IDREF or an DOM element reference to use as the\n * anchor target for the floating element.\n */\n @property()\n public anchor?: Element | string;\n\n /**\n * Element to render as an \"arrow\" element for the current popover.\n */\n @property({ attribute: false })\n public arrow: HTMLElement | null = null;\n\n /** Additional offset to apply to the arrow element if enabled. */\n @property({ type: Number, attribute: 'arrow-offset' })\n public arrowOffset = 0;\n\n /**\n * Improves positioning for inline reference elements that span over multiple lines.\n * Useful for tooltips or similar components.\n */\n @property({ type: Boolean, reflect: true })\n public inline = false;\n\n /**\n * When enabled this changes the placement of the floating element in order to keep it\n * in view along the main axis.\n */\n @property({ type: Boolean, reflect: true })\n public flip = false;\n\n /**\n * Placement modifier which translates the floating element along the main axis.\n */\n @property({ type: Number })\n public offset = 0;\n\n /**\n * The visibility state of the popover component.\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n /**\n * Where to place the floating element relative to the parent anchor element.\n */\n @property()\n public placement: PopoverPlacement = 'bottom-start';\n\n /**\n * When enabled the floating element will match the width of its parent anchor element.\n */\n @property({ type: Boolean, reflect: true, attribute: 'same-width' })\n public sameWidth = false;\n\n /**\n * When enabled this tries to shift the floating element along the main axis\n * keeping it in view, preventing overflow while maintaining the desired placement.\n */\n @property({ type: Boolean, reflect: true })\n public shift = false;\n\n /**\n * Virtual padding for the resolved overflow detection offsets in pixels.\n */\n @property({ type: Number, attribute: 'shift-padding' })\n public shiftPadding = 0;\n\n @watch('anchor')\n protected anchorChange() {\n const newTarget = isString(this.anchor)\n ? getElementByIdFromRoot(this, this.anchor)\n : this.anchor;\n\n if (newTarget) {\n this.target = newTarget;\n this._updateState();\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n protected openChange() {\n this.open ? this.show() : this.hide();\n }\n\n @watch('arrow', { waitUntilFirstUpdate: true })\n @watch('arrowOffset', { waitUntilFirstUpdate: true })\n @watch('flip', { waitUntilFirstUpdate: true })\n @watch('inline', { waitUntilFirstUpdate: true })\n @watch('offset', { waitUntilFirstUpdate: true })\n @watch('placement', { waitUntilFirstUpdate: true })\n @watch('sameWidth', { waitUntilFirstUpdate: true })\n @watch('shift', { waitUntilFirstUpdate: true })\n @watch('shiftPadding', { waitUntilFirstUpdate: true })\n protected floatingPropChange() {\n this._updateState();\n }\n\n public override async connectedCallback() {\n super.connectedCallback();\n\n await this.updateComplete;\n if (this.open) {\n this.show();\n }\n }\n\n public override disconnectedCallback() {\n this.hide();\n super.disconnectedCallback();\n }\n\n protected show() {\n if (!this.target) {\n return;\n }\n\n this._showPopover();\n\n this.dispose = autoUpdate(\n this.target,\n this._container,\n this._updatePosition.bind(this)\n );\n }\n\n protected async hide(): Promise<void> {\n this._hidePopover();\n\n return new Promise((resolve) => {\n this.dispose?.();\n this.dispose = undefined;\n resolve();\n });\n }\n\n private _showPopover() {\n this._container?.showPopover();\n }\n\n private _hidePopover() {\n this._container?.hidePopover();\n }\n\n private _createMiddleware(): Middleware[] {\n const middleware: Middleware[] = [];\n const styles = this._container.style;\n\n if (this.offset) {\n middleware.push(offset(this.offset));\n }\n\n if (this.inline) {\n middleware.push(inline());\n }\n\n if (this.shift) {\n middleware.push(\n shift({\n padding: this.shiftPadding,\n limiter: limitShift(),\n })\n );\n }\n\n if (this.arrow) {\n middleware.push(arrow({ element: this.arrow }));\n }\n\n if (this.flip) {\n middleware.push(flip());\n }\n\n if (this.sameWidth) {\n middleware.push(\n size({\n apply: ({ rects }) => {\n Object.assign(styles, { width: `${rects.reference.width}px` });\n },\n })\n );\n } else {\n Object.assign(styles, { width: '' });\n }\n\n return middleware;\n }\n\n private async _updateState() {\n if (this.open) {\n await this.hide();\n this.show();\n }\n }\n\n private async _updatePosition() {\n if (!(this.open && this.target)) {\n return;\n }\n\n const { x, y, middlewareData, placement } = await computePosition(\n this.target,\n this._container,\n {\n placement: this.placement ?? 'bottom-start',\n middleware: this._createMiddleware(),\n strategy: 'absolute',\n }\n );\n\n Object.assign(this._container.style, {\n left: 0,\n top: 0,\n transform: `translate(${roundByDPR(x)}px,${roundByDPR(y)}px)`,\n });\n\n this._positionArrow(placement, middlewareData);\n }\n\n private _positionArrow(placement: Placement, data: MiddlewareData) {\n if (!(data.arrow && this.arrow)) {\n return;\n }\n\n const { x, y } = data.arrow;\n\n // The current placement of the popover along the x/y axis\n const currentPlacement = first(placement.split('-'));\n\n // The opposite side where the arrow element should render based on the `currentPlacement`\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[currentPlacement]!;\n\n this.arrow.part = currentPlacement;\n\n Object.assign(this.arrow.style, {\n left: x != null ? `${roundByDPR(x + this.arrowOffset)}px` : '',\n top: y != null ? `${roundByDPR(y + this.arrowOffset)}px` : '',\n [staticSide]: '-4px',\n });\n }\n\n private _anchorSlotChange() {\n if (this.anchor || isEmpty(this._anchors)) {\n return;\n }\n\n this.target = this._anchors[0];\n this._updateState();\n }\n\n protected override render() {\n return html`\n <slot name=\"anchor\" @slotchange=${this._anchorSlotChange}></slot>\n <div id=\"container\" part=\"container\" popover=\"manual\">\n <slot></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-popover': IgcPopoverComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../../src/components/popover/popover.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n arrow,\n autoUpdate,\n computePosition,\n flip,\n inline,\n limitShift,\n type Middleware,\n type MiddlewareData,\n offset,\n type Placement,\n shift,\n size,\n} from '@floating-ui/dom';\nimport { html, LitElement } from 'lit';\nimport { property, query, queryAssignedElements } from 'lit/decorators.js';\n\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n first,\n getElementByIdFromRoot,\n isEmpty,\n isString,\n roundByDPR,\n} from '../common/util.js';\nimport { styles } from './themes/light/popover.base.css.js';\n\n/**\n * Describes the preferred placement of a toggle component.\n */\nexport type PopoverPlacement =\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end';\n\n/* blazorSuppress */\n/**\n * @element igc-popover\n *\n * @slot - Content of the popover.\n * @slot anchor - The element the popover will be anchored to.\n *\n * @csspart container - The container wrapping the slotted content in the popover.\n */\nexport default class IgcPopoverComponent extends LitElement {\n public static readonly tagName = 'igc-popover';\n public static override styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcPopoverComponent);\n }\n\n private dispose?: ReturnType<typeof autoUpdate>;\n private target?: Element;\n\n @query('#container')\n private _container!: HTMLElement;\n\n @queryAssignedElements({ slot: 'anchor', flatten: true })\n private _anchors!: HTMLElement[];\n\n /**\n * Pass an IDREF or an DOM element reference to use as the\n * anchor target for the floating element.\n */\n @property()\n public anchor?: Element | string;\n\n /**\n * Element to render as an \"arrow\" element for the current popover.\n */\n @property({ attribute: false })\n public arrow: HTMLElement | null = null;\n\n /** Additional offset to apply to the arrow element if enabled. */\n @property({ type: Number, attribute: 'arrow-offset' })\n public arrowOffset = 0;\n\n /**\n * Improves positioning for inline reference elements that span over multiple lines.\n * Useful for tooltips or similar components.\n */\n @property({ type: Boolean, reflect: true })\n public inline = false;\n\n /**\n * When enabled this changes the placement of the floating element in order to keep it\n * in view along the main axis.\n */\n @property({ type: Boolean, reflect: true })\n public flip = false;\n\n /**\n * Placement modifier which translates the floating element along the main axis.\n */\n @property({ type: Number })\n public offset = 0;\n\n /**\n * The visibility state of the popover component.\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n /**\n * Where to place the floating element relative to the parent anchor element.\n */\n @property()\n public placement: PopoverPlacement = 'bottom-start';\n\n /**\n * When enabled the floating element will match the width of its parent anchor element.\n */\n @property({ type: Boolean, reflect: true, attribute: 'same-width' })\n public sameWidth = false;\n\n /**\n * When enabled this tries to shift the floating element along the main axis\n * keeping it in view, preventing overflow while maintaining the desired placement.\n */\n @property({ type: Boolean, reflect: true })\n public shift = false;\n\n /**\n * Virtual padding for the resolved overflow detection offsets in pixels.\n */\n @property({ type: Number, attribute: 'shift-padding' })\n public shiftPadding = 0;\n\n @watch('anchor')\n protected anchorChange() {\n const newTarget = isString(this.anchor)\n ? getElementByIdFromRoot(this, this.anchor)\n : this.anchor;\n\n if (newTarget) {\n this.target = newTarget;\n this._updateState();\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n protected openChange() {\n this.open ? this.show() : this.hide();\n }\n\n @watch('arrow', { waitUntilFirstUpdate: true })\n @watch('arrowOffset', { waitUntilFirstUpdate: true })\n @watch('flip', { waitUntilFirstUpdate: true })\n @watch('inline', { waitUntilFirstUpdate: true })\n @watch('offset', { waitUntilFirstUpdate: true })\n @watch('placement', { waitUntilFirstUpdate: true })\n @watch('sameWidth', { waitUntilFirstUpdate: true })\n @watch('shift', { waitUntilFirstUpdate: true })\n @watch('shiftPadding', { waitUntilFirstUpdate: true })\n protected floatingPropChange() {\n this._updateState();\n }\n\n public override async connectedCallback() {\n super.connectedCallback();\n\n await this.updateComplete;\n if (this.open) {\n this.show();\n }\n }\n\n public override disconnectedCallback() {\n this.hide();\n super.disconnectedCallback();\n }\n\n protected show() {\n if (!this.target) {\n return;\n }\n\n this._showPopover();\n\n this.dispose = autoUpdate(\n this.target,\n this._container,\n this._updatePosition.bind(this)\n );\n }\n\n protected async hide(): Promise<void> {\n this._hidePopover();\n\n return new Promise((resolve) => {\n this.dispose?.();\n this.dispose = undefined;\n resolve();\n });\n }\n\n private _showPopover() {\n this._container?.showPopover();\n }\n\n private _hidePopover() {\n this._container?.hidePopover();\n }\n\n private _createMiddleware(): Middleware[] {\n const middleware: Middleware[] = [];\n const styles = this._container.style;\n\n if (this.offset) {\n middleware.push(offset(this.offset));\n }\n\n if (this.inline) {\n middleware.push(inline());\n }\n\n if (this.shift) {\n middleware.push(\n shift({\n padding: this.shiftPadding,\n limiter: limitShift(),\n })\n );\n }\n\n if (this.arrow) {\n middleware.push(arrow({ element: this.arrow }));\n }\n\n if (this.flip) {\n middleware.push(flip());\n }\n\n if (this.sameWidth) {\n middleware.push(\n size({\n apply: ({ rects }) => {\n Object.assign(styles, { width: `${rects.reference.width}px` });\n },\n })\n );\n } else {\n Object.assign(styles, { width: '' });\n }\n\n return middleware;\n }\n\n private async _updateState() {\n if (this.open) {\n await this.hide();\n this.show();\n }\n }\n\n private async _updatePosition() {\n if (!(this.open && this.target)) {\n return;\n }\n\n const { x, y, middlewareData, placement } = await computePosition(\n this.target,\n this._container,\n {\n placement: this.placement ?? 'bottom-start',\n middleware: this._createMiddleware(),\n strategy: 'absolute',\n }\n );\n\n Object.assign(this._container.style, {\n left: 0,\n top: 0,\n transform: `translate(${roundByDPR(x)}px,${roundByDPR(y)}px)`,\n });\n\n this._positionArrow(placement, middlewareData);\n }\n\n private _positionArrow(placement: Placement, data: MiddlewareData) {\n if (!(data.arrow && this.arrow)) {\n return;\n }\n\n const { x, y } = data.arrow;\n\n // The current placement of the popover along the x/y axis\n const currentPlacement = first(placement.split('-'));\n\n // The opposite side where the arrow element should render based on the `currentPlacement`\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[currentPlacement]!;\n\n this.arrow.part = currentPlacement;\n\n Object.assign(this.arrow.style, {\n left: x != null ? `${roundByDPR(x + this.arrowOffset)}px` : '',\n top: y != null ? `${roundByDPR(y + this.arrowOffset)}px` : '',\n [staticSide]: '-4px',\n });\n }\n\n private _anchorSlotChange() {\n if (this.anchor || isEmpty(this._anchors)) {\n return;\n }\n\n this.target = this._anchors[0];\n this._updateState();\n }\n\n protected override render() {\n return html`\n <slot name=\"anchor\" @slotchange=${this._anchorSlotChange}></slot>\n <div id=\"container\" part=\"container\" popover=\"manual\">\n <slot></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-popover': IgcPopoverComponent;\n }\n}\n"]}
@@ -2,7 +2,7 @@ import { LitElement } from 'lit';
2
2
  import type { StyleInfo } from 'lit/directives/style-map.js';
3
3
  import type { StyleVariant } from '../types.js';
4
4
  export declare abstract class IgcProgressBaseComponent extends LitElement {
5
- private readonly __internals;
5
+ private readonly _internals;
6
6
  protected _assignedElements: HTMLElement[];
7
7
  protected _base: HTMLElement;
8
8
  protected _percentage: number;
@@ -50,7 +50,6 @@ export declare abstract class IgcProgressBaseComponent extends LitElement {
50
50
  protected indeterminateChange(): void;
51
51
  protected maxChange(): void;
52
52
  protected valueChange(): void;
53
- constructor();
54
53
  protected createRenderRoot(): HTMLElement | DocumentFragment;
55
54
  protected updated(): void;
56
55
  private _updateARIA;
@@ -4,11 +4,38 @@ 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
- import { LitElement, html, nothing } from 'lit';
7
+ import { html, LitElement, nothing } from 'lit';
8
8
  import { property, query, queryAssignedElements, state, } from 'lit/decorators.js';
9
+ import { addInternalsController } from '../common/controllers/internals.js';
9
10
  import { watch } from '../common/decorators/watch.js';
10
- import { asPercent, clamp, formatString, isEmpty, partNameMap, } from '../common/util.js';
11
+ import { partMap } from '../common/part-map.js';
12
+ import { asPercent, clamp, formatString, isEmpty } from '../common/util.js';
11
13
  export class IgcProgressBaseComponent extends LitElement {
14
+ constructor() {
15
+ super(...arguments);
16
+ this._internals = addInternalsController(this, {
17
+ initialARIA: {
18
+ role: 'progressbar',
19
+ ariaValueMin: '0',
20
+ ariaValueNow: '0',
21
+ },
22
+ });
23
+ this._percentage = 0;
24
+ this._progress = 0;
25
+ this._hasFraction = false;
26
+ this._styleInfo = {
27
+ '--_progress-whole': '0.00',
28
+ '--_progress-integer': '0',
29
+ '--_progress-fraction': '0',
30
+ '--_transition-duration': '0ms',
31
+ };
32
+ this.max = 100;
33
+ this.value = 0;
34
+ this.variant = 'primary';
35
+ this.animationDuration = 500;
36
+ this.indeterminate = false;
37
+ this.hideLabel = false;
38
+ }
12
39
  indeterminateChange() {
13
40
  if (!this.indeterminate) {
14
41
  this._updateProgress();
@@ -29,30 +56,6 @@ export class IgcProgressBaseComponent extends LitElement {
29
56
  this._updateProgress();
30
57
  }
31
58
  }
32
- constructor() {
33
- super();
34
- this._percentage = 0;
35
- this._progress = 0;
36
- this._hasFraction = false;
37
- this._styleInfo = {
38
- '--_progress-whole': '0.00',
39
- '--_progress-integer': '0',
40
- '--_progress-fraction': '0',
41
- '--_transition-duration': '0ms',
42
- };
43
- this.max = 100;
44
- this.value = 0;
45
- this.variant = 'primary';
46
- this.animationDuration = 500;
47
- this.indeterminate = false;
48
- this.hideLabel = false;
49
- this.__internals = this.attachInternals();
50
- Object.assign(this.__internals, {
51
- role: 'progressbar',
52
- ariaValueMin: '0',
53
- ariaValueNow: '0',
54
- });
55
- }
56
59
  createRenderRoot() {
57
60
  const root = super.createRenderRoot();
58
61
  root.addEventListener('slotchange', () => this.requestUpdate());
@@ -63,7 +66,7 @@ export class IgcProgressBaseComponent extends LitElement {
63
66
  }
64
67
  _updateARIA() {
65
68
  const text = this.labelFormat ? this.renderLabelFormat() : `${this.value}%`;
66
- Object.assign(this.__internals, {
69
+ this._internals.setARIA({
67
70
  ariaValueMax: this.max.toString(),
68
71
  ariaValueNow: this.indeterminate ? null : this.value.toString(),
69
72
  ariaValueText: this.indeterminate ? null : text,
@@ -81,14 +84,14 @@ export class IgcProgressBaseComponent extends LitElement {
81
84
  };
82
85
  }
83
86
  renderLabel() {
84
- const parts = partNameMap({
87
+ const parts = {
85
88
  label: true,
86
89
  value: true,
87
90
  fraction: this._hasFraction,
88
- });
91
+ };
89
92
  return this.labelFormat
90
- ? html `<span part=${parts}>${this.renderLabelFormat()}</span>`
91
- : html `<span part="${parts} counter"></span>`;
93
+ ? html `<span part=${partMap(parts)}>${this.renderLabelFormat()}</span>`
94
+ : html `<span part=${partMap({ ...parts, counter: true })}></span>`;
92
95
  }
93
96
  renderLabelFormat() {
94
97
  return formatString(this.labelFormat, this.value, this.max);
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/components/progress/base.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport type { StyleInfo } from 'lit/directives/style-map.js';\nimport { watch } from '../common/decorators/watch.js';\nimport {\n asPercent,\n clamp,\n formatString,\n isEmpty,\n partNameMap,\n} from '../common/util.js';\nimport type { StyleVariant } from '../types.js';\n\nexport abstract class IgcProgressBaseComponent extends LitElement {\n private readonly __internals: ElementInternals;\n\n @queryAssignedElements()\n protected _assignedElements!: HTMLElement[];\n\n @query('[part=\"base\"]', true)\n protected _base!: HTMLElement;\n\n @state()\n protected _percentage = 0;\n\n @state()\n protected _progress = 0;\n\n @state()\n protected _hasFraction = false;\n\n @state()\n protected _styleInfo: StyleInfo = {\n '--_progress-whole': '0.00',\n '--_progress-integer': '0',\n '--_progress-fraction': '0',\n '--_transition-duration': '0ms',\n };\n\n /**\n * Maximum value of the control.\n * @attr\n */\n @property({ type: Number })\n public max = 100;\n\n /**\n * The value of the control.\n * @attr\n */\n @property({ type: Number })\n public value = 0;\n\n /**\n * The variant of the control.\n * @attr\n */\n @property({ reflect: true })\n public variant: StyleVariant = 'primary';\n\n /**\n * Animation duration in milliseconds.\n * @attr animation-duration\n */\n @property({ type: Number, attribute: 'animation-duration' })\n public animationDuration = 500;\n\n /**\n * The indeterminate state of the control.\n * @attr\n */\n @property({ type: Boolean, reflect: false })\n public indeterminate = false;\n\n /**\n * Shows/hides the label of the control.\n * @attr hide-label\n */\n @property({ type: Boolean, attribute: 'hide-label', reflect: false })\n public hideLabel = false;\n\n /**\n * Format string for the default label of the control.\n * Placeholders:\n * {0} - current value of the control.\n * {1} - max value of the control.\n * @attr label-format\n */\n @property({ attribute: 'label-format' })\n public labelFormat!: string;\n\n @watch('indeterminate')\n protected indeterminateChange() {\n if (!this.indeterminate) {\n this._updateProgress();\n }\n }\n\n @watch('max')\n protected maxChange() {\n this.max = Math.max(0, this.max);\n if (this.value > this.max) {\n this.value = this.max;\n }\n\n if (!this.indeterminate) {\n this._updateProgress();\n }\n }\n\n @watch('value')\n protected valueChange() {\n this.value = clamp(this.value, 0, this.max);\n\n if (!this.indeterminate) {\n this._updateProgress();\n }\n }\n\n constructor() {\n super();\n this.__internals = this.attachInternals();\n\n Object.assign(this.__internals, {\n role: 'progressbar',\n ariaValueMin: '0',\n ariaValueNow: '0',\n });\n }\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this.requestUpdate());\n return root;\n }\n\n protected override updated() {\n this._updateARIA();\n }\n\n private _updateARIA() {\n const text = this.labelFormat ? this.renderLabelFormat() : `${this.value}%`;\n\n Object.assign(this.__internals, {\n ariaValueMax: this.max.toString(),\n ariaValueNow: this.indeterminate ? null : this.value.toString(),\n ariaValueText: this.indeterminate ? null : text,\n });\n }\n\n private _updateProgress() {\n const percentage = asPercent(this.value, Math.max(1, this.max));\n const fractionValue = Math.round((percentage % 1) * 100);\n this._hasFraction = fractionValue > 0;\n\n this._styleInfo = {\n '--_progress-whole': percentage.toFixed(2),\n '--_progress-integer': Math.floor(percentage),\n '--_progress-fraction': fractionValue,\n '--_transition-duration': `${this.animationDuration}ms`,\n };\n }\n\n protected renderLabel() {\n const parts = partNameMap({\n label: true,\n value: true,\n fraction: this._hasFraction,\n });\n\n return this.labelFormat\n ? html`<span part=${parts}>${this.renderLabelFormat()}</span>`\n : html`<span part=\"${parts} counter\"></span>`;\n }\n\n protected renderLabelFormat() {\n return formatString(this.labelFormat, this.value, this.max);\n }\n\n protected renderDefaultSlot() {\n const hideDefaultLabel =\n this.indeterminate || this.hideLabel || !isEmpty(this._assignedElements);\n\n return html`\n <slot part=\"label\"></slot>\n ${hideDefaultLabel ? nothing : this.renderLabel()}\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/components/progress/base.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport type { StyleInfo } from 'lit/directives/style-map.js';\nimport { addInternalsController } from '../common/controllers/internals.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { partMap } from '../common/part-map.js';\nimport { asPercent, clamp, formatString, isEmpty } from '../common/util.js';\nimport type { StyleVariant } from '../types.js';\n\nexport abstract class IgcProgressBaseComponent extends LitElement {\n private readonly _internals = addInternalsController(this, {\n initialARIA: {\n role: 'progressbar',\n ariaValueMin: '0',\n ariaValueNow: '0',\n },\n });\n\n @queryAssignedElements()\n protected _assignedElements!: HTMLElement[];\n\n @query('[part=\"base\"]', true)\n protected _base!: HTMLElement;\n\n @state()\n protected _percentage = 0;\n\n @state()\n protected _progress = 0;\n\n @state()\n protected _hasFraction = false;\n\n @state()\n protected _styleInfo: StyleInfo = {\n '--_progress-whole': '0.00',\n '--_progress-integer': '0',\n '--_progress-fraction': '0',\n '--_transition-duration': '0ms',\n };\n\n /**\n * Maximum value of the control.\n * @attr\n */\n @property({ type: Number })\n public max = 100;\n\n /**\n * The value of the control.\n * @attr\n */\n @property({ type: Number })\n public value = 0;\n\n /**\n * The variant of the control.\n * @attr\n */\n @property({ reflect: true })\n public variant: StyleVariant = 'primary';\n\n /**\n * Animation duration in milliseconds.\n * @attr animation-duration\n */\n @property({ type: Number, attribute: 'animation-duration' })\n public animationDuration = 500;\n\n /**\n * The indeterminate state of the control.\n * @attr\n */\n @property({ type: Boolean, reflect: false })\n public indeterminate = false;\n\n /**\n * Shows/hides the label of the control.\n * @attr hide-label\n */\n @property({ type: Boolean, attribute: 'hide-label', reflect: false })\n public hideLabel = false;\n\n /**\n * Format string for the default label of the control.\n * Placeholders:\n * {0} - current value of the control.\n * {1} - max value of the control.\n * @attr label-format\n */\n @property({ attribute: 'label-format' })\n public labelFormat!: string;\n\n @watch('indeterminate')\n protected indeterminateChange() {\n if (!this.indeterminate) {\n this._updateProgress();\n }\n }\n\n @watch('max')\n protected maxChange() {\n this.max = Math.max(0, this.max);\n if (this.value > this.max) {\n this.value = this.max;\n }\n\n if (!this.indeterminate) {\n this._updateProgress();\n }\n }\n\n @watch('value')\n protected valueChange() {\n this.value = clamp(this.value, 0, this.max);\n\n if (!this.indeterminate) {\n this._updateProgress();\n }\n }\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this.requestUpdate());\n return root;\n }\n\n protected override updated() {\n this._updateARIA();\n }\n\n private _updateARIA() {\n const text = this.labelFormat ? this.renderLabelFormat() : `${this.value}%`;\n\n this._internals.setARIA({\n ariaValueMax: this.max.toString(),\n ariaValueNow: this.indeterminate ? null : this.value.toString(),\n ariaValueText: this.indeterminate ? null : text,\n });\n }\n\n private _updateProgress() {\n const percentage = asPercent(this.value, Math.max(1, this.max));\n const fractionValue = Math.round((percentage % 1) * 100);\n this._hasFraction = fractionValue > 0;\n\n this._styleInfo = {\n '--_progress-whole': percentage.toFixed(2),\n '--_progress-integer': Math.floor(percentage),\n '--_progress-fraction': fractionValue,\n '--_transition-duration': `${this.animationDuration}ms`,\n };\n }\n\n protected renderLabel() {\n const parts = {\n label: true,\n value: true,\n fraction: this._hasFraction,\n };\n\n return this.labelFormat\n ? html`<span part=${partMap(parts)}>${this.renderLabelFormat()}</span>`\n : html`<span part=${partMap({ ...parts, counter: true })}></span>`;\n }\n\n protected renderLabelFormat() {\n return formatString(this.labelFormat, this.value, this.max);\n }\n\n protected renderDefaultSlot() {\n const hideDefaultLabel =\n this.indeterminate || this.hideLabel || !isEmpty(this._assignedElements);\n\n return html`\n <slot part=\"label\"></slot>\n ${hideDefaultLabel ? nothing : this.renderLabel()}\n `;\n }\n}\n"]}
@@ -10,7 +10,8 @@ import { queryAssignedElements } from 'lit/decorators.js';
10
10
  import { styleMap } from 'lit/directives/style-map.js';
11
11
  import { themes } from '../../theming/theming-decorator.js';
12
12
  import { registerComponent } from '../common/definitions/register.js';
13
- import { createCounter, isEmpty, partNameMap } from '../common/util.js';
13
+ import { partMap } from '../common/part-map.js';
14
+ import { createCounter, isEmpty } from '../common/util.js';
14
15
  import { IgcProgressBaseComponent } from './base.js';
15
16
  import IgcCircularGradientComponent from './circular-gradient.js';
16
17
  import { styles } from './themes/circular/circular.progress.base.css.js';
@@ -25,13 +26,6 @@ let IgcCircularProgressComponent = IgcCircularProgressComponent_1 = class IgcCir
25
26
  registerComponent(IgcCircularProgressComponent_1, IgcCircularGradientComponent);
26
27
  }
27
28
  renderSvg() {
28
- const parts = partNameMap({
29
- indeterminate: this.indeterminate,
30
- track: true,
31
- });
32
- const styles = {
33
- stroke: `url(#${this._gradientId})`,
34
- };
35
29
  const gradients = !isEmpty(this._assignedGradients)
36
30
  ? this._assignedGradients.map(({ offset, color, opacity }) => svg `<stop offset=${offset} stop-color=${color} stop-opacity=${opacity}/>`)
37
31
  : svg `
@@ -39,8 +33,8 @@ let IgcCircularProgressComponent = IgcCircularProgressComponent_1 = class IgcCir
39
33
  <stop offset="100%" part="gradient_end" />
40
34
  `;
41
35
  return svg `
42
- <circle part=${parts}/>
43
- <circle style=${styleMap(styles)} part="fill"/>
36
+ <circle part=${partMap({ track: true, indeterminate: this.indeterminate })}/>
37
+ <circle style=${styleMap({ stroke: `url(#${this._gradientId})` })} part="fill"/>
44
38
 
45
39
  <defs>
46
40
  <linearGradient id=${this._gradientId} gradientTransform="rotate(90)">
@@ -50,13 +44,11 @@ let IgcCircularProgressComponent = IgcCircularProgressComponent_1 = class IgcCir
50
44
  `;
51
45
  }
52
46
  render() {
53
- const parts = partNameMap({
54
- svg: true,
55
- indeterminate: this.indeterminate,
56
- });
57
47
  return html `
58
48
  <div part="base" style=${styleMap(this._styleInfo)}>
59
- <svg part=${parts}>${this.renderSvg()}</svg>
49
+ <svg part=${partMap({ svg: true, indeterminate: this.indeterminate })}>
50
+ ${this.renderSvg()}
51
+ </svg>
60
52
  <slot name="gradient"></slot>
61
53
  ${this.renderDefaultSlot()}
62
54
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"circular-progress.js","sourceRoot":"","sources":["../../../src/components/progress/circular-progress.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,4BAA4B,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,iDAAiD,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,0DAA0D,CAAC;AAC5F,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AA0BnC,IAAM,4BAA4B,oCAAlC,MAAM,4BAA6B,SAAQ,wBAAwB;IAAnE;;QAcL,gBAAW,GAAG,qBAAqB,8BAA4B,CAAC,SAAS,EAAE,EAAE,CAAC;IAkDxF,CAAC;IAzDQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CACf,8BAA4B,EAC5B,4BAA4B,CAC7B,CAAC;IACJ,CAAC;IAOS,SAAS;QACjB,MAAM,KAAK,GAAG,WAAW,CAAC;YACxB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,QAAQ,IAAI,CAAC,WAAW,GAAG;SACpC,CAAC;QAEF,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACzB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAC7B,GAAG,CAAA,gBAAgB,MAAM,eAAe,KAAK,iBAAiB,OAAO,IAAI,CAC5E;YACH,CAAC,CAAC,GAAG,CAAA;;;OAGJ,CAAC;QAEJ,OAAO,GAAG,CAAA;qBACO,KAAK;sBACJ,QAAQ,CAAC,MAAM,CAAC;;;+BAGP,IAAI,CAAC,WAAW;YACnC,SAAS;;;KAGhB,CAAC;IACJ,CAAC;IAEkB,MAAM;QACvB,MAAM,KAAK,GAAG,WAAW,CAAC;YACxB,GAAG,EAAE,IAAI;YACT,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAA;+BACgB,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;oBACpC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;;UAEnC,IAAI,CAAC,iBAAiB,EAAE;;KAE7B,CAAC;IACJ,CAAC;;AA9DsB,oCAAO,GAAG,uBAAuB,AAA1B,CAA2B;AAClC,mCAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAEzB,sCAAS,GAAG,aAAa,EAAE,AAAlB,CAAmB;AAa5C;IADP,qBAAqB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;wEACgB;AAjBzC,4BAA4B;IADhD,MAAM,CAAC,GAAG,CAAC;GACS,4BAA4B,CAgEhD;eAhEoB,4BAA4B","sourcesContent":["import { html, svg } from 'lit';\nimport { queryAssignedElements } from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { createCounter, isEmpty, partNameMap } from '../common/util.js';\nimport { IgcProgressBaseComponent } from './base.js';\nimport IgcCircularGradientComponent from './circular-gradient.js';\nimport { styles } from './themes/circular/circular.progress.base.css.js';\nimport { styles as shared } from './themes/circular/shared/circular.progress.common.css.js';\nimport { all } from './themes/circular/themes.js';\n\n/**\n * A circular progress indicator used to express unspecified wait time or display\n * the length of a process.\n *\n * @element igc-circular-progress\n *\n * @slot - The text area container.\n * @slot gradient - Customize the progress bar in order to use a color gradient instead of a solid color. Accepts `igc-circular-gradient` elements.\n *\n * @csspart svg - The igc-circular-progress SVG element.\n * @csspart gradient_start - The igc-circular-progress linear-gradient start color.\n * @csspart gradient_end - The igc-circular-progress linear-gradient end color.\n * @csspart track - The igc-circular-progress ring track area.\n * @csspart fill - The igc-circular-progress indicator area.\n * @csspart label - The igc-circular-progress label.\n * @csspart value - The igc-circular-progress label value.\n * @csspart indeterminate - The igc-circular-progress indeterminate state.\n * @csspart primary - The igc-circular-progress primary state.\n * @csspart danger - The igc-circular-progress error state.\n * @csspart warning - The igc-circular-progress warning state.\n * @csspart info - The igc-circular-progress info state.\n * @csspart success - The igc-circular-progress success state.\n */\n@themes(all)\nexport default class IgcCircularProgressComponent extends IgcProgressBaseComponent {\n public static readonly tagName = 'igc-circular-progress';\n public static override styles = [styles, shared];\n\n private static readonly increment = createCounter();\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n IgcCircularProgressComponent,\n IgcCircularGradientComponent\n );\n }\n\n private _gradientId = `circular-progress-${IgcCircularProgressComponent.increment()}`;\n\n @queryAssignedElements({ slot: 'gradient' })\n private _assignedGradients!: IgcCircularGradientComponent[];\n\n protected renderSvg() {\n const parts = partNameMap({\n indeterminate: this.indeterminate,\n track: true,\n });\n const styles = {\n stroke: `url(#${this._gradientId})`,\n };\n\n const gradients = !isEmpty(this._assignedGradients)\n ? this._assignedGradients.map(\n ({ offset, color, opacity }) =>\n svg`<stop offset=${offset} stop-color=${color} stop-opacity=${opacity}/>`\n )\n : svg`\n <stop offset=\"0%\" part=\"gradient_start\" />\n <stop offset=\"100%\" part=\"gradient_end\" />\n `;\n\n return svg`\n <circle part=${parts}/>\n <circle style=${styleMap(styles)} part=\"fill\"/>\n\n <defs>\n <linearGradient id=${this._gradientId} gradientTransform=\"rotate(90)\">\n ${gradients}\n </linearGradient>\n </defs>\n `;\n }\n\n protected override render() {\n const parts = partNameMap({\n svg: true,\n indeterminate: this.indeterminate,\n });\n\n return html`\n <div part=\"base\" style=${styleMap(this._styleInfo)}>\n <svg part=${parts}>${this.renderSvg()}</svg>\n <slot name=\"gradient\"></slot>\n ${this.renderDefaultSlot()}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-circular-progress': IgcCircularProgressComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"circular-progress.js","sourceRoot":"","sources":["../../../src/components/progress/circular-progress.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,4BAA4B,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,iDAAiD,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,0DAA0D,CAAC;AAC5F,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AA0BnC,IAAM,4BAA4B,oCAAlC,MAAM,4BAA6B,SAAQ,wBAAwB;IAAnE;;QAcL,gBAAW,GAAG,qBAAqB,8BAA4B,CAAC,SAAS,EAAE,EAAE,CAAC;IAuCxF,CAAC;IA9CQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CACf,8BAA4B,EAC5B,4BAA4B,CAC7B,CAAC;IACJ,CAAC;IAOS,SAAS;QACjB,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACzB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAC7B,GAAG,CAAA,gBAAgB,MAAM,eAAe,KAAK,iBAAiB,OAAO,IAAI,CAC5E;YACH,CAAC,CAAC,GAAG,CAAA;;;OAGJ,CAAC;QAEJ,OAAO,GAAG,CAAA;qBACO,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;sBAC1D,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;;;+BAGxC,IAAI,CAAC,WAAW;YACnC,SAAS;;;KAGhB,CAAC;IACJ,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;+BACgB,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;oBACpC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;YACjE,IAAI,CAAC,SAAS,EAAE;;;UAGlB,IAAI,CAAC,iBAAiB,EAAE;;KAE7B,CAAC;IACJ,CAAC;;AAnDsB,oCAAO,GAAG,uBAAuB,AAA1B,CAA2B;AAClC,mCAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAEzB,sCAAS,GAAG,aAAa,EAAE,AAAlB,CAAmB;AAa5C;IADP,qBAAqB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;wEACgB;AAjBzC,4BAA4B;IADhD,MAAM,CAAC,GAAG,CAAC;GACS,4BAA4B,CAqDhD;eArDoB,4BAA4B","sourcesContent":["import { html, svg } from 'lit';\nimport { queryAssignedElements } from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { partMap } from '../common/part-map.js';\nimport { createCounter, isEmpty } from '../common/util.js';\nimport { IgcProgressBaseComponent } from './base.js';\nimport IgcCircularGradientComponent from './circular-gradient.js';\nimport { styles } from './themes/circular/circular.progress.base.css.js';\nimport { styles as shared } from './themes/circular/shared/circular.progress.common.css.js';\nimport { all } from './themes/circular/themes.js';\n\n/**\n * A circular progress indicator used to express unspecified wait time or display\n * the length of a process.\n *\n * @element igc-circular-progress\n *\n * @slot - The text area container.\n * @slot gradient - Customize the progress bar in order to use a color gradient instead of a solid color. Accepts `igc-circular-gradient` elements.\n *\n * @csspart svg - The igc-circular-progress SVG element.\n * @csspart gradient_start - The igc-circular-progress linear-gradient start color.\n * @csspart gradient_end - The igc-circular-progress linear-gradient end color.\n * @csspart track - The igc-circular-progress ring track area.\n * @csspart fill - The igc-circular-progress indicator area.\n * @csspart label - The igc-circular-progress label.\n * @csspart value - The igc-circular-progress label value.\n * @csspart indeterminate - The igc-circular-progress indeterminate state.\n * @csspart primary - The igc-circular-progress primary state.\n * @csspart danger - The igc-circular-progress error state.\n * @csspart warning - The igc-circular-progress warning state.\n * @csspart info - The igc-circular-progress info state.\n * @csspart success - The igc-circular-progress success state.\n */\n@themes(all)\nexport default class IgcCircularProgressComponent extends IgcProgressBaseComponent {\n public static readonly tagName = 'igc-circular-progress';\n public static override styles = [styles, shared];\n\n private static readonly increment = createCounter();\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n IgcCircularProgressComponent,\n IgcCircularGradientComponent\n );\n }\n\n private _gradientId = `circular-progress-${IgcCircularProgressComponent.increment()}`;\n\n @queryAssignedElements({ slot: 'gradient' })\n private _assignedGradients!: IgcCircularGradientComponent[];\n\n protected renderSvg() {\n const gradients = !isEmpty(this._assignedGradients)\n ? this._assignedGradients.map(\n ({ offset, color, opacity }) =>\n svg`<stop offset=${offset} stop-color=${color} stop-opacity=${opacity}/>`\n )\n : svg`\n <stop offset=\"0%\" part=\"gradient_start\" />\n <stop offset=\"100%\" part=\"gradient_end\" />\n `;\n\n return svg`\n <circle part=${partMap({ track: true, indeterminate: this.indeterminate })}/>\n <circle style=${styleMap({ stroke: `url(#${this._gradientId})` })} part=\"fill\"/>\n\n <defs>\n <linearGradient id=${this._gradientId} gradientTransform=\"rotate(90)\">\n ${gradients}\n </linearGradient>\n </defs>\n `;\n }\n\n protected override render() {\n return html`\n <div part=\"base\" style=${styleMap(this._styleInfo)}>\n <svg part=${partMap({ svg: true, indeterminate: this.indeterminate })}>\n ${this.renderSvg()}\n </svg>\n <slot name=\"gradient\"></slot>\n ${this.renderDefaultSlot()}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-circular-progress': IgcCircularProgressComponent;\n }\n}\n"]}
@@ -10,7 +10,7 @@ import { property } from 'lit/decorators.js';
10
10
  import { styleMap } from 'lit/directives/style-map.js';
11
11
  import { themes } from '../../theming/theming-decorator.js';
12
12
  import { registerComponent } from '../common/definitions/register.js';
13
- import { partNameMap } from '../common/util.js';
13
+ import { partMap } from '../common/part-map.js';
14
14
  import { IgcProgressBaseComponent } from './base.js';
15
15
  import { styles } from './themes/linear/linear.progress.base.css.js';
16
16
  import { styles as shared } from './themes/linear/shared/linear.progress.common.css.js';
@@ -25,17 +25,17 @@ let IgcLinearProgressComponent = IgcLinearProgressComponent_1 = class IgcLinearP
25
25
  registerComponent(IgcLinearProgressComponent_1);
26
26
  }
27
27
  render() {
28
- const parts = partNameMap({
28
+ const parts = {
29
29
  fill: true,
30
30
  striped: this.striped,
31
31
  indeterminate: this.indeterminate,
32
32
  [this.variant]: true,
33
- });
33
+ };
34
34
  return html `
35
35
  <div part="base" style=${styleMap(this._styleInfo)}>
36
36
  <div part="track">
37
- <div part=${parts}></div>
38
- <div part="${parts} secondary"></div>
37
+ <div part=${partMap(parts)}></div>
38
+ <div part=${partMap({ ...parts, secondary: true })}></div>
39
39
  </div>
40
40
  ${this.renderDefaultSlot()}
41
41
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"linear-progress.js","sourceRoot":"","sources":["../../../src/components/progress/linear-progress.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,6CAA6C,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAuBjC,IAAM,0BAA0B,kCAAhC,MAAM,0BAA2B,SAAQ,wBAAwB;IAAjE;;QAcN,YAAO,GAAG,KAAK,CAAC;QAOhB,eAAU,GAA6B,WAAW,CAAC;IAoB5D,CAAC;IApCQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,4BAA0B,CAAC,CAAC;IAChD,CAAC;IAgBkB,MAAM;QACvB,MAAM,KAAK,GAAG,WAAW,CAAC;YACxB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI;SACrB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAA;+BACgB,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;;sBAElC,KAAK;uBACJ,KAAK;;UAElB,IAAI,CAAC,iBAAiB,EAAE;;KAE7B,CAAC;IACJ,CAAC;;AAvCsB,kCAAO,GAAG,qBAAqB,AAAxB,CAAyB;AAChC,iCAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAY1C;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2DACpB;AAOhB;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8DACI;AArBvC,0BAA0B;IAD9C,MAAM,CAAC,GAAG,CAAC;GACS,0BAA0B,CAyC9C;eAzCoB,0BAA0B","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { partNameMap } from '../common/util.js';\nimport type { LinearProgressLabelAlign } from '../types.js';\nimport { IgcProgressBaseComponent } from './base.js';\nimport { styles } from './themes/linear/linear.progress.base.css.js';\nimport { styles as shared } from './themes/linear/shared/linear.progress.common.css.js';\nimport { all } from './themes/linear/themes.js';\n\n/**\n * A linear progress indicator used to express unspecified wait time or display\n * the length of a process.\n *\n * @element igc-linear-progress\n *\n * @slot - The text area container.\n *\n * @csspart track - The igc-linear-progress track area.\n * @csspart fill - The igc-linear-progress indicator area.\n * @csspart striped - The igc-linear-progress striped indicator.\n * @csspart label - The igc-linear-progress label.\n * @csspart value - The igc-linear-progress label value.\n * @csspart indeterminate - The igc-linear-progress indeterminate state.\n * @csspart primary - The igc-linear-progress indicator primary state.\n * @csspart danger - The igc-linear-progress indicator error state.\n * @csspart warning - The igc-linear-progress indicator warning state.\n * @csspart info - The igc-linear-progress indicator info state.\n * @csspart success - The igc-linear-progress indicator success state.\n */\n@themes(all)\nexport default class IgcLinearProgressComponent extends IgcProgressBaseComponent {\n public static readonly tagName = 'igc-linear-progress';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcLinearProgressComponent);\n }\n\n /**\n * Sets the striped look of the control.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public striped = false;\n\n /**\n * The position for the default label of the control.\n * @attr label-align\n */\n @property({ attribute: 'label-align', reflect: true })\n public labelAlign: LinearProgressLabelAlign = 'top-start';\n\n protected override render() {\n const parts = partNameMap({\n fill: true,\n striped: this.striped,\n indeterminate: this.indeterminate,\n [this.variant]: true,\n });\n\n return html`\n <div part=\"base\" style=${styleMap(this._styleInfo)}>\n <div part=\"track\">\n <div part=${parts}></div>\n <div part=\"${parts} secondary\"></div>\n </div>\n ${this.renderDefaultSlot()}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-linear-progress': IgcLinearProgressComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"linear-progress.js","sourceRoot":"","sources":["../../../src/components/progress/linear-progress.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,6CAA6C,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAuBjC,IAAM,0BAA0B,kCAAhC,MAAM,0BAA2B,SAAQ,wBAAwB;IAAjE;;QAcN,YAAO,GAAG,KAAK,CAAC;QAOhB,eAAU,GAA6B,WAAW,CAAC;IAoB5D,CAAC;IApCQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,4BAA0B,CAAC,CAAC;IAChD,CAAC;IAgBkB,MAAM;QACvB,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI;SACrB,CAAC;QAEF,OAAO,IAAI,CAAA;+BACgB,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;;sBAElC,OAAO,CAAC,KAAK,CAAC;sBACd,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;UAElD,IAAI,CAAC,iBAAiB,EAAE;;KAE7B,CAAC;IACJ,CAAC;;AAvCsB,kCAAO,GAAG,qBAAqB,AAAxB,CAAyB;AAChC,iCAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAY1C;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2DACpB;AAOhB;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8DACI;AArBvC,0BAA0B;IAD9C,MAAM,CAAC,GAAG,CAAC;GACS,0BAA0B,CAyC9C;eAzCoB,0BAA0B","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { partMap } from '../common/part-map.js';\nimport type { LinearProgressLabelAlign } from '../types.js';\nimport { IgcProgressBaseComponent } from './base.js';\nimport { styles } from './themes/linear/linear.progress.base.css.js';\nimport { styles as shared } from './themes/linear/shared/linear.progress.common.css.js';\nimport { all } from './themes/linear/themes.js';\n\n/**\n * A linear progress indicator used to express unspecified wait time or display\n * the length of a process.\n *\n * @element igc-linear-progress\n *\n * @slot - The text area container.\n *\n * @csspart track - The igc-linear-progress track area.\n * @csspart fill - The igc-linear-progress indicator area.\n * @csspart striped - The igc-linear-progress striped indicator.\n * @csspart label - The igc-linear-progress label.\n * @csspart value - The igc-linear-progress label value.\n * @csspart indeterminate - The igc-linear-progress indeterminate state.\n * @csspart primary - The igc-linear-progress indicator primary state.\n * @csspart danger - The igc-linear-progress indicator error state.\n * @csspart warning - The igc-linear-progress indicator warning state.\n * @csspart info - The igc-linear-progress indicator info state.\n * @csspart success - The igc-linear-progress indicator success state.\n */\n@themes(all)\nexport default class IgcLinearProgressComponent extends IgcProgressBaseComponent {\n public static readonly tagName = 'igc-linear-progress';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcLinearProgressComponent);\n }\n\n /**\n * Sets the striped look of the control.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public striped = false;\n\n /**\n * The position for the default label of the control.\n * @attr label-align\n */\n @property({ attribute: 'label-align', reflect: true })\n public labelAlign: LinearProgressLabelAlign = 'top-start';\n\n protected override render() {\n const parts = {\n fill: true,\n striped: this.striped,\n indeterminate: this.indeterminate,\n [this.variant]: true,\n };\n\n return html`\n <div part=\"base\" style=${styleMap(this._styleInfo)}>\n <div part=\"track\">\n <div part=${partMap(parts)}></div>\n <div part=${partMap({ ...parts, secondary: true })}></div>\n </div>\n ${this.renderDefaultSlot()}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-linear-progress': IgcLinearProgressComponent;\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { LitElement, type TemplateResult } from 'lit';
2
2
  import type { Constructor } from '../common/mixins/constructor.js';
3
- import { type FormValue } from '../common/mixins/forms/form-value.js';
3
+ import { type FormValueOf } from '../common/mixins/forms/form-value.js';
4
4
  import type { ToggleLabelPosition } from '../types.js';
5
5
  export interface IgcRadioChangeEventArgs {
6
6
  checked: boolean;
@@ -33,14 +33,14 @@ export default class IgcRadioComponent extends IgcRadioComponent_base {
33
33
  static register(): void;
34
34
  private static readonly increment;
35
35
  protected get __validators(): import("../common/validators.js").Validator<IgcRadioComponent>[];
36
- protected _formValue: FormValue<boolean>;
37
- private inputId;
38
- private labelId;
39
- private _kbFocus;
36
+ protected readonly _formValue: FormValueOf<boolean>;
37
+ private readonly _inputId;
38
+ private readonly _labelId;
39
+ private readonly _focusRingManager;
40
40
  protected _value: string;
41
- protected input: HTMLInputElement;
42
- protected label: Array<Node>;
43
- protected hideLabel: boolean;
41
+ protected readonly _input: HTMLInputElement;
42
+ protected readonly _label: Array<Node>;
43
+ protected _hideLabel: boolean;
44
44
  private _tabIndex;
45
45
  /** Returns all radio elements from the group, that is having the same name property. */
46
46
  private get _radios();
@@ -94,10 +94,9 @@ export default class IgcRadioComponent extends IgcRadioComponent_base {
94
94
  protected formResetCallback(): void;
95
95
  /** Called after a form reset callback to restore default keyboard navigation. */
96
96
  private _resetTabIndexes;
97
- protected handleClick(event: PointerEvent): void;
98
- protected handleBlur(): void;
99
- protected navigate(idx: number): void;
100
- protected renderValidatorContainer(): TemplateResult;
97
+ protected _handleClick(event: PointerEvent): void;
98
+ protected _navigate(idx: number): void;
99
+ protected _renderValidatorContainer(): TemplateResult;
101
100
  protected render(): TemplateResult<1>;
102
101
  }
103
102
  declare global {
@@ -5,18 +5,19 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  var IgcRadioComponent_1;
8
- import { LitElement, html } from 'lit';
8
+ import { html, LitElement } from 'lit';
9
9
  import { property, query, queryAssignedNodes, state } from 'lit/decorators.js';
10
10
  import { ifDefined } from 'lit/directives/if-defined.js';
11
11
  import { live } from 'lit/directives/live.js';
12
12
  import { themes } from '../../theming/theming-decorator.js';
13
13
  import { addKeyboardFocusRing } from '../common/controllers/focus-ring.js';
14
- import { addKeybindings, arrowDown, arrowLeft, arrowRight, arrowUp, tabKey, } from '../common/controllers/key-bindings.js';
14
+ import { addKeybindings, arrowDown, arrowLeft, arrowRight, arrowUp, } from '../common/controllers/key-bindings.js';
15
15
  import { registerComponent } from '../common/definitions/register.js';
16
16
  import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
17
17
  import { FormAssociatedCheckboxRequiredMixin } from '../common/mixins/forms/associated-required.js';
18
18
  import { createFormValueState, defaultBooleanTransformers, } from '../common/mixins/forms/form-value.js';
19
- import { createCounter, isDefined, isEmpty, isLTR, last, noop, partNameMap, wrap, } from '../common/util.js';
19
+ import { partMap } from '../common/part-map.js';
20
+ import { createCounter, isDefined, isEmpty, isLTR, last, wrap, } from '../common/util.js';
20
21
  import IgcValidationContainerComponent from '../validation-container/validation-container.js';
21
22
  import { styles } from './themes/radio.base.css.js';
22
23
  import { styles as shared } from './themes/shared/radio.common.css.js';
@@ -75,31 +76,30 @@ let IgcRadioComponent = IgcRadioComponent_1 = class IgcRadioComponent extends Fo
75
76
  }
76
77
  constructor() {
77
78
  super();
78
- this.inputId = `radio-${IgcRadioComponent_1.increment()}`;
79
- this.labelId = `radio-label-${this.inputId}`;
80
- this._kbFocus = addKeyboardFocusRing(this);
81
- this.hideLabel = false;
82
- this._tabIndex = 0;
83
- this.labelPosition = 'after';
84
79
  this._formValue = createFormValueState(this, {
85
80
  initialValue: false,
86
81
  transformers: defaultBooleanTransformers,
87
82
  });
83
+ this._inputId = `radio-${IgcRadioComponent_1.increment()}`;
84
+ this._labelId = `radio-label-${this._inputId}`;
85
+ this._focusRingManager = addKeyboardFocusRing(this);
86
+ this._hideLabel = false;
87
+ this._tabIndex = 0;
88
+ this.labelPosition = 'after';
88
89
  addKeybindings(this, {
89
90
  skip: () => this.disabled,
90
91
  bindingDefaults: { preventDefault: true, triggers: ['keydownRepeat'] },
91
92
  })
92
- .set(tabKey, noop, { preventDefault: false })
93
- .set(arrowLeft, () => this.navigate(isLTR(this) ? -1 : 1))
94
- .set(arrowRight, () => this.navigate(isLTR(this) ? 1 : -1))
95
- .set(arrowUp, () => this.navigate(-1))
96
- .set(arrowDown, () => this.navigate(1));
93
+ .set(arrowLeft, () => this._navigate(isLTR(this) ? -1 : 1))
94
+ .set(arrowRight, () => this._navigate(isLTR(this) ? 1 : -1))
95
+ .set(arrowUp, () => this._navigate(-1))
96
+ .set(arrowDown, () => this._navigate(1));
97
97
  }
98
98
  createRenderRoot() {
99
99
  const root = super.createRenderRoot();
100
- this.hideLabel = isEmpty(this.label);
100
+ this._hideLabel = isEmpty(this._label);
101
101
  root.addEventListener('slotchange', () => {
102
- this.hideLabel = isEmpty(this.label);
102
+ this._hideLabel = isEmpty(this._label);
103
103
  });
104
104
  return root;
105
105
  }
@@ -122,13 +122,13 @@ let IgcRadioComponent = IgcRadioComponent_1 = class IgcRadioComponent extends Fo
122
122
  }
123
123
  }
124
124
  click() {
125
- this.input.click();
125
+ this._input.click();
126
126
  }
127
127
  focus(options) {
128
- this.input.focus(options);
128
+ this._input.focus(options);
129
129
  }
130
130
  blur() {
131
- this.input.blur();
131
+ this._input.blur();
132
132
  }
133
133
  _checkValidity() {
134
134
  return super.checkValidity();
@@ -175,13 +175,13 @@ let IgcRadioComponent = IgcRadioComponent_1 = class IgcRadioComponent extends Fo
175
175
  }
176
176
  }
177
177
  }
178
- handleClick(event) {
178
+ _handleClick(event) {
179
179
  event.stopPropagation();
180
180
  if (this.checked) {
181
181
  return;
182
182
  }
183
183
  this.checked = true;
184
- this.input.focus();
184
+ this._input.focus();
185
185
  this.emitEvent('igcChange', {
186
186
  detail: {
187
187
  checked: this.checked,
@@ -189,10 +189,7 @@ let IgcRadioComponent = IgcRadioComponent_1 = class IgcRadioComponent extends Fo
189
189
  },
190
190
  });
191
191
  }
192
- handleBlur() {
193
- this._kbFocus.reset();
194
- }
195
- navigate(idx) {
192
+ _navigate(idx) {
196
193
  const active = this._active;
197
194
  const next = wrap(0, active.length - 1, active.indexOf(this) + idx);
198
195
  const radio = active[next];
@@ -202,7 +199,7 @@ let IgcRadioComponent = IgcRadioComponent_1 = class IgcRadioComponent extends Fo
202
199
  detail: { checked: radio.checked, value: radio.value },
203
200
  });
204
201
  }
205
- renderValidatorContainer() {
202
+ _renderValidatorContainer() {
206
203
  return IgcValidationContainerComponent.create(this);
207
204
  }
208
205
  render() {
@@ -210,16 +207,15 @@ let IgcRadioComponent = IgcRadioComponent_1 = class IgcRadioComponent extends Fo
210
207
  const checked = this.checked;
211
208
  return html `
212
209
  <label
213
- part=${partNameMap({
210
+ part=${partMap({
214
211
  base: true,
215
212
  checked,
216
- focused: this._kbFocus.focused,
213
+ focused: this._focusRingManager.focused,
217
214
  })}
218
- for=${this.inputId}
219
- @pointerdown=${this._kbFocus.reset}
215
+ for=${this._inputId}
220
216
  >
221
217
  <input
222
- id=${this.inputId}
218
+ id=${this._inputId}
223
219
  type="radio"
224
220
  name=${ifDefined(this.name)}
225
221
  value=${ifDefined(this.value)}
@@ -227,27 +223,26 @@ let IgcRadioComponent = IgcRadioComponent_1 = class IgcRadioComponent extends Fo
227
223
  .disabled=${this.disabled}
228
224
  .checked=${live(checked)}
229
225
  tabindex=${this._tabIndex}
230
- aria-checked=${checked ? 'true' : 'false'}
231
- aria-disabled=${this.disabled ? 'true' : 'false'}
232
- aria-labelledby=${labelledBy ? labelledBy : this.labelId}
233
- @click=${this.handleClick}
234
- @blur=${this.handleBlur}
226
+ aria-checked=${checked}
227
+ aria-disabled=${this.disabled}
228
+ aria-labelledby=${labelledBy ? labelledBy : this._labelId}
229
+ @click=${this._handleClick}
235
230
  />
236
- <span part=${partNameMap({ control: true, checked })}>
231
+ <span part=${partMap({ control: true, checked })}>
237
232
  <span
238
233
  .hidden=${this.disabled}
239
- part=${partNameMap({ ripple: true, checked })}
234
+ part=${partMap({ ripple: true, checked })}
240
235
  ></span>
241
236
  </span>
242
237
  <span
243
- .hidden=${this.hideLabel}
244
- part=${partNameMap({ label: true, checked })}
245
- id=${this.labelId}
238
+ .hidden=${this._hideLabel}
239
+ part=${partMap({ label: true, checked })}
240
+ id=${this._labelId}
246
241
  >
247
242
  <slot></slot>
248
243
  </span>
249
244
  </label>
250
- ${this.renderValidatorContainer()}
245
+ ${this._renderValidatorContainer()}
251
246
  `;
252
247
  }
253
248
  };
@@ -256,13 +251,13 @@ IgcRadioComponent.styles = [styles, shared];
256
251
  IgcRadioComponent.increment = createCounter();
257
252
  __decorate([
258
253
  query('input', true)
259
- ], IgcRadioComponent.prototype, "input", void 0);
254
+ ], IgcRadioComponent.prototype, "_input", void 0);
260
255
  __decorate([
261
256
  queryAssignedNodes({ flatten: true })
262
- ], IgcRadioComponent.prototype, "label", void 0);
257
+ ], IgcRadioComponent.prototype, "_label", void 0);
263
258
  __decorate([
264
259
  state()
265
- ], IgcRadioComponent.prototype, "hideLabel", void 0);
260
+ ], IgcRadioComponent.prototype, "_hideLabel", void 0);
266
261
  __decorate([
267
262
  state()
268
263
  ], IgcRadioComponent.prototype, "_tabIndex", void 0);