igniteui-webcomponents 6.1.0 → 6.1.1

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 (320) hide show
  1. package/CHANGELOG.md +8 -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 -9
  5. package/components/avatar/avatar.js +29 -32
  6. package/components/avatar/avatar.js.map +1 -1
  7. package/components/badge/badge.d.ts +3 -3
  8. package/components/badge/badge.js +15 -18
  9. package/components/badge/badge.js.map +1 -1
  10. package/components/banner/banner.d.ts +2 -3
  11. package/components/banner/banner.js +14 -13
  12. package/components/banner/banner.js.map +1 -1
  13. package/components/button/button-base.d.ts +4 -11
  14. package/components/button/button-base.js +14 -15
  15. package/components/button/button-base.js.map +1 -1
  16. package/components/button/button.d.ts +1 -0
  17. package/components/button/button.js +9 -12
  18. package/components/button/button.js.map +1 -1
  19. package/components/button/icon-button.d.ts +3 -2
  20. package/components/button/icon-button.js +10 -13
  21. package/components/button/icon-button.js.map +1 -1
  22. package/components/button-group/button-group.js +8 -11
  23. package/components/button-group/button-group.js.map +1 -1
  24. package/components/button-group/toggle-button.d.ts +1 -6
  25. package/components/button-group/toggle-button.js +9 -11
  26. package/components/button-group/toggle-button.js.map +1 -1
  27. package/components/calendar/calendar.js +7 -10
  28. package/components/calendar/calendar.js.map +1 -1
  29. package/components/calendar/days-view/days-view.js +6 -6
  30. package/components/calendar/days-view/days-view.js.map +1 -1
  31. package/components/calendar/months-view/months-view.js +8 -8
  32. package/components/calendar/months-view/months-view.js.map +1 -1
  33. package/components/calendar/years-view/years-view.js +8 -8
  34. package/components/calendar/years-view/years-view.js.map +1 -1
  35. package/components/card/card.actions.d.ts +1 -0
  36. package/components/card/card.actions.js +10 -13
  37. package/components/card/card.actions.js.map +1 -1
  38. package/components/card/card.content.d.ts +1 -0
  39. package/components/card/card.content.js +9 -15
  40. package/components/card/card.content.js.map +1 -1
  41. package/components/card/card.d.ts +1 -0
  42. package/components/card/card.header.d.ts +1 -0
  43. package/components/card/card.header.js +9 -15
  44. package/components/card/card.header.js.map +1 -1
  45. package/components/card/card.js +11 -14
  46. package/components/card/card.js.map +1 -1
  47. package/components/card/card.media.js +1 -1
  48. package/components/card/card.media.js.map +1 -1
  49. package/components/carousel/carousel-indicator-container.d.ts +1 -0
  50. package/components/carousel/carousel-indicator-container.js +9 -18
  51. package/components/carousel/carousel-indicator-container.js.map +1 -1
  52. package/components/carousel/carousel-indicator.d.ts +5 -7
  53. package/components/carousel/carousel-indicator.js +19 -19
  54. package/components/carousel/carousel-indicator.js.map +1 -1
  55. package/components/carousel/carousel-slide.d.ts +2 -3
  56. package/components/carousel/carousel-slide.js +17 -11
  57. package/components/carousel/carousel-slide.js.map +1 -1
  58. package/components/carousel/carousel.d.ts +0 -1
  59. package/components/carousel/carousel.js +22 -21
  60. package/components/carousel/carousel.js.map +1 -1
  61. package/components/checkbox/checkbox-base.js.map +1 -1
  62. package/components/checkbox/checkbox.d.ts +1 -1
  63. package/components/checkbox/checkbox.js +11 -15
  64. package/components/checkbox/checkbox.js.map +1 -1
  65. package/components/checkbox/switch.d.ts +1 -0
  66. package/components/checkbox/switch.js +10 -19
  67. package/components/checkbox/switch.js.map +1 -1
  68. package/components/checkbox/validators.js.map +1 -1
  69. package/components/chip/chip.js +7 -10
  70. package/components/chip/chip.js.map +1 -1
  71. package/components/combo/combo-header.d.ts +1 -0
  72. package/components/combo/combo-header.js +9 -15
  73. package/components/combo/combo-header.js.map +1 -1
  74. package/components/combo/combo-item.d.ts +4 -5
  75. package/components/combo/combo-item.js +22 -23
  76. package/components/combo/combo-item.js.map +1 -1
  77. package/components/combo/combo.d.ts +1 -1
  78. package/components/combo/combo.js +16 -16
  79. package/components/combo/combo.js.map +1 -1
  80. package/components/common/abort-handler.d.ts +39 -0
  81. package/components/common/abort-handler.js +19 -0
  82. package/components/common/abort-handler.js.map +1 -0
  83. package/components/common/controllers/drag.d.ts +3 -2
  84. package/components/common/controllers/drag.js +7 -6
  85. package/components/common/controllers/drag.js.map +1 -1
  86. package/components/common/controllers/focus-ring.d.ts +1 -0
  87. package/components/common/controllers/focus-ring.js +5 -4
  88. package/components/common/controllers/focus-ring.js.map +1 -1
  89. package/components/common/controllers/gestures.d.ts +6 -2
  90. package/components/common/controllers/gestures.js +15 -11
  91. package/components/common/controllers/gestures.js.map +1 -1
  92. package/components/common/controllers/internals.d.ts +33 -0
  93. package/components/common/controllers/internals.js +25 -0
  94. package/components/common/controllers/internals.js.map +1 -0
  95. package/components/common/controllers/key-bindings.d.ts +1 -0
  96. package/components/common/controllers/key-bindings.js +6 -4
  97. package/components/common/controllers/key-bindings.js.map +1 -1
  98. package/components/common/controllers/mutation-observer.d.ts +25 -15
  99. package/components/common/controllers/mutation-observer.js +23 -12
  100. package/components/common/controllers/mutation-observer.js.map +1 -1
  101. package/components/common/controllers/resize-observer.js.map +1 -1
  102. package/components/common/controllers/root-click.d.ts +58 -13
  103. package/components/common/controllers/root-click.js +47 -35
  104. package/components/common/controllers/root-click.js.map +1 -1
  105. package/components/common/decorators/shadow-options.d.ts +10 -0
  106. package/components/common/decorators/shadow-options.js +10 -0
  107. package/components/common/decorators/shadow-options.js.map +1 -0
  108. package/components/common/definitions/defineAllComponents.js +12 -12
  109. package/components/common/definitions/defineAllComponents.js.map +1 -1
  110. package/components/common/mixins/alert.d.ts +1 -2
  111. package/components/common/mixins/alert.js +13 -9
  112. package/components/common/mixins/alert.js.map +1 -1
  113. package/components/common/mixins/combo-box.d.ts +2 -1
  114. package/components/common/mixins/combo-box.js +0 -2
  115. package/components/common/mixins/combo-box.js.map +1 -1
  116. package/components/common/mixins/forms/associated.js +2 -2
  117. package/components/common/mixins/forms/associated.js.map +1 -1
  118. package/components/common/mixins/option.d.ts +1 -2
  119. package/components/common/mixins/option.js +13 -11
  120. package/components/common/mixins/option.js.map +1 -1
  121. package/components/common/part-map.js +1 -1
  122. package/components/common/part-map.js.map +1 -1
  123. package/components/common/util.d.ts +9 -0
  124. package/components/common/util.js +9 -1
  125. package/components/common/util.js.map +1 -1
  126. package/components/date-picker/date-picker.d.ts +2 -7
  127. package/components/date-picker/date-picker.js +18 -19
  128. package/components/date-picker/date-picker.js.map +1 -1
  129. package/components/date-picker/validators.js.map +1 -1
  130. package/components/date-range-picker/date-range-picker.d.ts +3 -8
  131. package/components/date-range-picker/date-range-picker.js +16 -17
  132. package/components/date-range-picker/date-range-picker.js.map +1 -1
  133. package/components/date-range-picker/predefined-ranges-area.d.ts +1 -0
  134. package/components/date-range-picker/predefined-ranges-area.js +10 -13
  135. package/components/date-range-picker/predefined-ranges-area.js.map +1 -1
  136. package/components/date-time-input/date-time-input.js.map +1 -1
  137. package/components/date-time-input/validators.js.map +1 -1
  138. package/components/dialog/dialog.d.ts +1 -0
  139. package/components/dialog/dialog.js +13 -13
  140. package/components/dialog/dialog.js.map +1 -1
  141. package/components/divider/divider.d.ts +5 -2
  142. package/components/divider/divider.js +17 -18
  143. package/components/divider/divider.js.map +1 -1
  144. package/components/dropdown/dropdown-group.d.ts +0 -1
  145. package/components/dropdown/dropdown-group.js +13 -12
  146. package/components/dropdown/dropdown-group.js.map +1 -1
  147. package/components/dropdown/dropdown-header.d.ts +1 -0
  148. package/components/dropdown/dropdown-header.js +9 -15
  149. package/components/dropdown/dropdown-header.js.map +1 -1
  150. package/components/dropdown/dropdown-item.d.ts +1 -0
  151. package/components/dropdown/dropdown-item.js +8 -14
  152. package/components/dropdown/dropdown-item.js.map +1 -1
  153. package/components/dropdown/dropdown.d.ts +2 -1
  154. package/components/dropdown/dropdown.js +7 -4
  155. package/components/dropdown/dropdown.js.map +1 -1
  156. package/components/dropdown/themes/item.js +7 -0
  157. package/components/dropdown/themes/item.js.map +1 -1
  158. package/components/dropdown/themes/shared/item/dropdown-item.bootstrap.css.d.ts +1 -0
  159. package/components/dropdown/themes/shared/item/dropdown-item.bootstrap.css.js +3 -0
  160. package/components/dropdown/themes/shared/item/dropdown-item.bootstrap.css.js.map +1 -0
  161. package/components/expansion-panel/expansion-panel.js +8 -11
  162. package/components/expansion-panel/expansion-panel.js.map +1 -1
  163. package/components/file-input/file-input.d.ts +1 -1
  164. package/components/file-input/file-input.js +18 -21
  165. package/components/file-input/file-input.js.map +1 -1
  166. package/components/file-input/themes/shared/file-input.material.css.js +1 -1
  167. package/components/file-input/themes/shared/file-input.material.css.js.map +1 -1
  168. package/components/file-input/validators.js.map +1 -1
  169. package/components/focus-trap/focus-trap.js +4 -4
  170. package/components/focus-trap/focus-trap.js.map +1 -1
  171. package/components/icon/icon.d.ts +2 -1
  172. package/components/icon/icon.js +18 -15
  173. package/components/icon/icon.js.map +1 -1
  174. package/components/input/input-base.d.ts +2 -8
  175. package/components/input/input-base.js +8 -11
  176. package/components/input/input-base.js.map +1 -1
  177. package/components/input/input.js.map +1 -1
  178. package/components/input/themes/shared/input.material.css.js +1 -1
  179. package/components/input/themes/shared/input.material.css.js.map +1 -1
  180. package/components/input/validators.js.map +1 -1
  181. package/components/list/list-header.d.ts +0 -1
  182. package/components/list/list-header.js +10 -17
  183. package/components/list/list-header.js.map +1 -1
  184. package/components/list/list-item.d.ts +0 -1
  185. package/components/list/list-item.js +13 -12
  186. package/components/list/list-item.js.map +1 -1
  187. package/components/list/list.d.ts +0 -1
  188. package/components/list/list.js +12 -17
  189. package/components/list/list.js.map +1 -1
  190. package/components/mask-input/mask-input.js.map +1 -1
  191. package/components/mask-input/validators.js.map +1 -1
  192. package/components/nav-drawer/nav-drawer-header-item.d.ts +1 -0
  193. package/components/nav-drawer/nav-drawer-header-item.js +9 -15
  194. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  195. package/components/nav-drawer/nav-drawer-item.d.ts +1 -0
  196. package/components/nav-drawer/nav-drawer-item.js +10 -13
  197. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  198. package/components/nav-drawer/nav-drawer.d.ts +1 -0
  199. package/components/nav-drawer/nav-drawer.js +10 -13
  200. package/components/nav-drawer/nav-drawer.js.map +1 -1
  201. package/components/navbar/navbar.d.ts +1 -0
  202. package/components/navbar/navbar.js +9 -15
  203. package/components/navbar/navbar.js.map +1 -1
  204. package/components/popover/popover.js +1 -1
  205. package/components/popover/popover.js.map +1 -1
  206. package/components/progress/base.d.ts +1 -2
  207. package/components/progress/base.js +28 -26
  208. package/components/progress/base.js.map +1 -1
  209. package/components/progress/circular-progress.d.ts +1 -0
  210. package/components/progress/circular-progress.js +10 -13
  211. package/components/progress/circular-progress.js.map +1 -1
  212. package/components/progress/linear-progress.d.ts +1 -0
  213. package/components/progress/linear-progress.js +9 -12
  214. package/components/progress/linear-progress.js.map +1 -1
  215. package/components/radio/radio.js +8 -11
  216. package/components/radio/radio.js.map +1 -1
  217. package/components/radio/utils.js.map +1 -1
  218. package/components/radio-group/radio-group.d.ts +1 -1
  219. package/components/radio-group/radio-group.js +15 -17
  220. package/components/radio-group/radio-group.js.map +1 -1
  221. package/components/rating/rating-symbol.js +1 -1
  222. package/components/rating/rating-symbol.js.map +1 -1
  223. package/components/rating/rating.js +7 -10
  224. package/components/rating/rating.js.map +1 -1
  225. package/components/resize-container/resize-container.js +7 -10
  226. package/components/resize-container/resize-container.js.map +1 -1
  227. package/components/resize-container/resize-controller.d.ts +3 -2
  228. package/components/resize-container/resize-controller.js +6 -4
  229. package/components/resize-container/resize-controller.js.map +1 -1
  230. package/components/ripple/ripple.js +3 -2
  231. package/components/ripple/ripple.js.map +1 -1
  232. package/components/select/select-group.d.ts +1 -1
  233. package/components/select/select-group.js +15 -14
  234. package/components/select/select-group.js.map +1 -1
  235. package/components/select/select-header.d.ts +1 -0
  236. package/components/select/select-header.js +9 -15
  237. package/components/select/select-header.js.map +1 -1
  238. package/components/select/select-item.d.ts +1 -0
  239. package/components/select/select-item.js +9 -9
  240. package/components/select/select-item.js.map +1 -1
  241. package/components/select/select.d.ts +1 -0
  242. package/components/select/select.js +11 -8
  243. package/components/select/select.js.map +1 -1
  244. package/components/select/validators.js.map +1 -1
  245. package/components/slider/slider-base.js +8 -8
  246. package/components/slider/slider-base.js.map +1 -1
  247. package/components/slider/slider-label.js +1 -1
  248. package/components/slider/slider-label.js.map +1 -1
  249. package/components/slider/slider.js.map +1 -1
  250. package/components/snackbar/snackbar.d.ts +1 -0
  251. package/components/snackbar/snackbar.js +9 -12
  252. package/components/snackbar/snackbar.js.map +1 -1
  253. package/components/stepper/step.d.ts +1 -0
  254. package/components/stepper/step.js +10 -13
  255. package/components/stepper/step.js.map +1 -1
  256. package/components/stepper/stepper.js +10 -13
  257. package/components/stepper/stepper.js.map +1 -1
  258. package/components/tabs/tab.d.ts +1 -0
  259. package/components/tabs/tab.js +12 -15
  260. package/components/tabs/tab.js.map +1 -1
  261. package/components/tabs/tabs.js +10 -13
  262. package/components/tabs/tabs.js.map +1 -1
  263. package/components/textarea/textarea.d.ts +2 -8
  264. package/components/textarea/textarea.js +11 -14
  265. package/components/textarea/textarea.js.map +1 -1
  266. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  267. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  268. package/components/textarea/validators.js.map +1 -1
  269. package/components/tile-manager/position.d.ts +1 -1
  270. package/components/tile-manager/position.js.map +1 -1
  271. package/components/tile-manager/themes/container.js.map +1 -1
  272. package/components/tile-manager/tile-manager.d.ts +0 -1
  273. package/components/tile-manager/tile-manager.js +5 -7
  274. package/components/tile-manager/tile-manager.js.map +1 -1
  275. package/components/tile-manager/tile.d.ts +1 -0
  276. package/components/tile-manager/tile.js +54 -57
  277. package/components/tile-manager/tile.js.map +1 -1
  278. package/components/toast/toast.d.ts +1 -0
  279. package/components/toast/toast.js +8 -17
  280. package/components/toast/toast.js.map +1 -1
  281. package/components/tooltip/controller.d.ts +2 -4
  282. package/components/tooltip/controller.js +11 -20
  283. package/components/tooltip/controller.js.map +1 -1
  284. package/components/tooltip/themes/themes.js +1 -1
  285. package/components/tooltip/themes/themes.js.map +1 -1
  286. package/components/tooltip/tooltip.js +17 -16
  287. package/components/tooltip/tooltip.js.map +1 -1
  288. package/components/tree/tree-item.d.ts +1 -0
  289. package/components/tree/tree-item.js +30 -33
  290. package/components/tree/tree-item.js.map +1 -1
  291. package/components/tree/tree.d.ts +1 -1
  292. package/components/tree/tree.js +6 -5
  293. package/components/tree/tree.js.map +1 -1
  294. package/components/tree/tree.navigation.d.ts +1 -1
  295. package/components/tree/tree.navigation.js.map +1 -1
  296. package/components/tree/tree.selection.d.ts +1 -1
  297. package/components/tree/tree.selection.js.map +1 -1
  298. package/components/validation-container/themes/themes.js.map +1 -1
  299. package/components/validation-container/validation-container.d.ts +2 -1
  300. package/components/validation-container/validation-container.js +13 -16
  301. package/components/validation-container/validation-container.js.map +1 -1
  302. package/custom-elements.json +1641 -1753
  303. package/igniteui-webcomponents.html-data.json +1 -1
  304. package/package.json +1 -1
  305. package/theming/config.d.ts +3 -3
  306. package/theming/config.js +14 -18
  307. package/theming/config.js.map +1 -1
  308. package/theming/theming-controller.d.ts +17 -13
  309. package/theming/theming-controller.js +29 -23
  310. package/theming/theming-controller.js.map +1 -1
  311. package/theming/theming-event.d.ts +1 -0
  312. package/theming/theming-event.js.map +1 -1
  313. package/theming/types.d.ts +3 -14
  314. package/theming/types.js.map +1 -1
  315. package/theming/utils.js +24 -23
  316. package/theming/utils.js.map +1 -1
  317. package/web-types.json +1 -1
  318. package/theming/theming-decorator.d.ts +0 -43
  319. package/theming/theming-decorator.js +0 -25
  320. package/theming/theming-decorator.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
+ ## [6.1.1] - 2025-06-25
8
+ ### Fixed
9
+ - #### Dropdown
10
+ - Icon size in Bootstrap theme [#1755](https://github.com/IgniteUI/igniteui-webcomponents/pull/1755)
11
+ - #### Input, File Input
12
+ - Label positioning and transition logic in Material theme [#1739](https://github.com/IgniteUI/igniteui-webcomponents/pull/1739) [#1753](https://github.com/IgniteUI/igniteui-webcomponents/pull/1753)
13
+
7
14
  ## [6.1.0] - 2025-06-12
8
15
  ### Added
9
16
  - Date Range Picker
@@ -924,6 +931,7 @@ Initial release of Ignite UI Web Components
924
931
  - Ripple component
925
932
  - Switch component
926
933
 
934
+ [6.1.1]: https://github.com/IgniteUI/igniteui-webcomponents/compare/6.1.0...6.1.1
927
935
  [6.1.0]: https://github.com/IgniteUI/igniteui-webcomponents/compare/6.0.1...6.1.0
928
936
  [6.0.1]: https://github.com/IgniteUI/igniteui-webcomponents/compare/6.0.0...6.0.1
929
937
  [6.0.0]: https://github.com/IgniteUI/igniteui-webcomponents/compare/5.4.1...6.0.0
@@ -4,11 +4,11 @@ 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 } from 'lit';
7
+ import { html, LitElement } from 'lit';
8
8
  import { property, queryAssignedElements } from 'lit/decorators.js';
9
9
  import { addKeybindings, altKey, arrowDown, arrowUp, endKey, homeKey, shiftKey, } from '../common/controllers/key-bindings.js';
10
10
  import { registerComponent } from '../common/definitions/register.js';
11
- import { first, last } from '../common/util.js';
11
+ import { addSafeEventListener, first, last } from '../common/util.js';
12
12
  import IgcExpansionPanelComponent from '../expansion-panel/expansion-panel.js';
13
13
  import { styles } from './themes/accordion.base.css.js';
14
14
  class IgcAccordionComponent extends LitElement {
@@ -18,7 +18,7 @@ class IgcAccordionComponent extends LitElement {
18
18
  constructor() {
19
19
  super();
20
20
  this.singleExpand = false;
21
- this.addEventListener('igcOpening', this.handlePanelOpening);
21
+ addSafeEventListener(this, 'igcOpening', this.handlePanelOpening);
22
22
  addKeybindings(this, {
23
23
  skip: this.skipKeybinding,
24
24
  bindingDefaults: { preventDefault: true },
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.js","sourceRoot":"","sources":["../../../src/components/accordion/accordion.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EACL,cAAc,EACd,MAAM,EACN,SAAS,EACT,OAAO,EACP,MAAM,EACN,OAAO,EACP,QAAQ,GACT,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAUxD,MAAqB,qBAAsB,SAAQ,UAAU;IAKpD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,qBAAqB,EAAE,0BAA0B,CAAC,CAAC;IACvE,CAAC;IAmBD;QACE,KAAK,EAAE,CAAC;QARH,iBAAY,GAAG,KAAK,CAAC;QAU1B,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE7D,cAAc,CAAC,IAAI,EAAE;YACnB,IAAI,EAAE,IAAI,CAAC,cAAc;YACzB,eAAe,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;SAC1C,CAAC;aACC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CACjB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,CACvD;aACA,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;aACxE,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC;aAC/B,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;aACjC,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;aAClD,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACxD,CAAC;IAEO,cAAc,CAAC,MAAe;QACpC,OAAO,CAAC,CACN,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,OAAO,CAAC;YAClD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAoC,CAAC,CAClE,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,KAAoB;QACvC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAoC,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAE5C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,KAAoB;QACvC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAoC,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAE3C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,WAAW;QACjB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,KAAoB;QACpC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAoC,CAAC;QAE3D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,KAAY;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAoC,CAAC;QAE3D,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACpC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,KAAiC,EAAE,MAAc,CAAC;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC;IAChD,CAAC;IAEO,cAAc,CAAC,KAAiC;QACtD,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAgB,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,KAAiC;QACxD,IACE,CAAC,CACC,KAAK,CAAC,IAAI;YACV,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CACnE,EACD,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,KAAiC;QACvD,IACE,KAAK,CAAC,IAAI;YACV,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EACnE,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IAGM,KAAK,CAAC,OAAO;QAClB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IAGM,KAAK,CAAC,OAAO;QAClB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AApJsB,6BAAO,GAAG,eAAe,AAAlB,CAAmB;AAC1B,4BAAM,GAAG,MAAM,AAAT,CAAU;eAFpB,qBAAqB;AAYhC;IAHP,qBAAqB,CAAC;QACrB,QAAQ,EAAE,GAAG,0BAA0B,CAAC,OAAO,kBAAkB;KAClE,CAAC;4DACwD;AAOnD;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2DAC3C;AAKrB;IADN,qBAAqB,CAAC,EAAE,QAAQ,EAAE,0BAA0B,CAAC,OAAO,EAAE,CAAC;qDACtB","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\n\nimport {\n addKeybindings,\n altKey,\n arrowDown,\n arrowUp,\n endKey,\n homeKey,\n shiftKey,\n} from '../common/controllers/key-bindings.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { first, last } from '../common/util.js';\nimport IgcExpansionPanelComponent from '../expansion-panel/expansion-panel.js';\nimport { styles } from './themes/accordion.base.css.js';\n\n/**\n * The Accordion is a container-based component that can house multiple expansion panels\n * and offers keyboard navigation.\n *\n * @element igc-accordion\n *\n * @slot - Renders the expansion panels inside default slot.\n */\nexport default class IgcAccordionComponent extends LitElement {\n public static readonly tagName = 'igc-accordion';\n public static override styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcAccordionComponent, IgcExpansionPanelComponent);\n }\n\n @queryAssignedElements({\n selector: `${IgcExpansionPanelComponent.tagName}:not([disabled])`,\n })\n private enabledPanels!: Array<IgcExpansionPanelComponent>;\n\n /**\n * Allows only one panel to be expanded at a time.\n * @attr single-expand\n */\n @property({ attribute: 'single-expand', reflect: true, type: Boolean })\n public singleExpand = false;\n\n /* blazorSuppress */\n /** Returns all of the accordions's direct igc-expansion-panel children. */\n @queryAssignedElements({ selector: IgcExpansionPanelComponent.tagName })\n public panels!: Array<IgcExpansionPanelComponent>;\n\n constructor() {\n super();\n\n this.addEventListener('igcOpening', this.handlePanelOpening);\n\n addKeybindings(this, {\n skip: this.skipKeybinding,\n bindingDefaults: { preventDefault: true },\n })\n .set(homeKey, () =>\n this.getPanelHeader(first(this.enabledPanels)).focus()\n )\n .set(endKey, () => this.getPanelHeader(last(this.enabledPanels)).focus())\n .set(arrowUp, this.navigatePrev)\n .set(arrowDown, this.navigateNext)\n .set([shiftKey, altKey, arrowDown], this.expandAll)\n .set([shiftKey, altKey, arrowUp], this.collapseAll);\n }\n\n private skipKeybinding(target: Element) {\n return !(\n target.matches(IgcExpansionPanelComponent.tagName) &&\n this.enabledPanels.includes(target as IgcExpansionPanelComponent)\n );\n }\n\n private navigatePrev(event: KeyboardEvent) {\n const current = event.target as IgcExpansionPanelComponent;\n const next = this.getNextPanel(current, -1);\n\n if (next !== current) {\n this.getPanelHeader(next).focus();\n }\n }\n\n private navigateNext(event: KeyboardEvent) {\n const current = event.target as IgcExpansionPanelComponent;\n const next = this.getNextPanel(current, 1);\n\n if (next !== current) {\n this.getPanelHeader(next).focus();\n }\n }\n\n private collapseAll() {\n for (const panel of this.enabledPanels) {\n this.closePanel(panel);\n }\n }\n\n private expandAll(event: KeyboardEvent) {\n const current = event.target as IgcExpansionPanelComponent;\n\n for (const panel of this.enabledPanels) {\n if (this.singleExpand) {\n current === panel ? this.openPanel(panel) : this.closePanel(panel);\n } else {\n this.openPanel(panel);\n }\n }\n }\n\n private handlePanelOpening(event: Event) {\n const current = event.target as IgcExpansionPanelComponent;\n\n if (!(this.singleExpand && this.panels.includes(current))) {\n return;\n }\n\n for (const panel of this.enabledPanels) {\n if (panel.open && panel !== current) {\n this.closePanel(panel);\n }\n }\n }\n\n private getNextPanel(panel: IgcExpansionPanelComponent, dir: 1 | -1 = 1) {\n const idx = this.enabledPanels.indexOf(panel);\n return this.enabledPanels[idx + dir] || panel;\n }\n\n private getPanelHeader(panel: IgcExpansionPanelComponent) {\n return panel.renderRoot.querySelector('div[part=\"header\"]') as HTMLElement;\n }\n\n private async closePanel(panel: IgcExpansionPanelComponent) {\n if (\n !(\n panel.open &&\n panel.emitEvent('igcClosing', { cancelable: true, detail: panel })\n )\n ) {\n return;\n }\n\n await panel.hide();\n panel.emitEvent('igcClosed', { detail: panel });\n }\n\n private async openPanel(panel: IgcExpansionPanelComponent) {\n if (\n panel.open ||\n !panel.emitEvent('igcOpening', { cancelable: true, detail: panel })\n ) {\n return;\n }\n\n await panel.show();\n panel.emitEvent('igcOpened', { detail: panel });\n }\n\n /** Hides all of the child expansion panels' contents. */\n public async hideAll(): Promise<void> {\n await Promise.all(this.panels.map((panel) => panel.hide()));\n }\n\n /** Shows all of the child expansion panels' contents. */\n public async showAll(): Promise<void> {\n await Promise.all(this.panels.map((panel) => panel.show()));\n }\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-accordion': IgcAccordionComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"accordion.js","sourceRoot":"","sources":["../../../src/components/accordion/accordion.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\n\nimport {\n addKeybindings,\n altKey,\n arrowDown,\n arrowUp,\n endKey,\n homeKey,\n shiftKey,\n} from '../common/controllers/key-bindings.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { addSafeEventListener, first, last } from '../common/util.js';\nimport IgcExpansionPanelComponent from '../expansion-panel/expansion-panel.js';\nimport { styles } from './themes/accordion.base.css.js';\n\n/**\n * The Accordion is a container-based component that can house multiple expansion panels\n * and offers keyboard navigation.\n *\n * @element igc-accordion\n *\n * @slot - Renders the expansion panels inside default slot.\n */\nexport default class IgcAccordionComponent extends LitElement {\n public static readonly tagName = 'igc-accordion';\n public static override styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcAccordionComponent, IgcExpansionPanelComponent);\n }\n\n @queryAssignedElements({\n selector: `${IgcExpansionPanelComponent.tagName}:not([disabled])`,\n })\n private enabledPanels!: Array<IgcExpansionPanelComponent>;\n\n /**\n * Allows only one panel to be expanded at a time.\n * @attr single-expand\n */\n @property({ attribute: 'single-expand', reflect: true, type: Boolean })\n public singleExpand = false;\n\n /* blazorSuppress */\n /** Returns all of the accordions's direct igc-expansion-panel children. */\n @queryAssignedElements({ selector: IgcExpansionPanelComponent.tagName })\n public panels!: Array<IgcExpansionPanelComponent>;\n\n constructor() {\n super();\n\n addSafeEventListener(this, 'igcOpening' as any, this.handlePanelOpening);\n\n addKeybindings(this, {\n skip: this.skipKeybinding,\n bindingDefaults: { preventDefault: true },\n })\n .set(homeKey, () =>\n this.getPanelHeader(first(this.enabledPanels)).focus()\n )\n .set(endKey, () => this.getPanelHeader(last(this.enabledPanels)).focus())\n .set(arrowUp, this.navigatePrev)\n .set(arrowDown, this.navigateNext)\n .set([shiftKey, altKey, arrowDown], this.expandAll)\n .set([shiftKey, altKey, arrowUp], this.collapseAll);\n }\n\n private skipKeybinding(target: Element) {\n return !(\n target.matches(IgcExpansionPanelComponent.tagName) &&\n this.enabledPanels.includes(target as IgcExpansionPanelComponent)\n );\n }\n\n private navigatePrev(event: KeyboardEvent) {\n const current = event.target as IgcExpansionPanelComponent;\n const next = this.getNextPanel(current, -1);\n\n if (next !== current) {\n this.getPanelHeader(next).focus();\n }\n }\n\n private navigateNext(event: KeyboardEvent) {\n const current = event.target as IgcExpansionPanelComponent;\n const next = this.getNextPanel(current, 1);\n\n if (next !== current) {\n this.getPanelHeader(next).focus();\n }\n }\n\n private collapseAll() {\n for (const panel of this.enabledPanels) {\n this.closePanel(panel);\n }\n }\n\n private expandAll(event: KeyboardEvent) {\n const current = event.target as IgcExpansionPanelComponent;\n\n for (const panel of this.enabledPanels) {\n if (this.singleExpand) {\n current === panel ? this.openPanel(panel) : this.closePanel(panel);\n } else {\n this.openPanel(panel);\n }\n }\n }\n\n private handlePanelOpening(event: Event) {\n const current = event.target as IgcExpansionPanelComponent;\n\n if (!(this.singleExpand && this.panels.includes(current))) {\n return;\n }\n\n for (const panel of this.enabledPanels) {\n if (panel.open && panel !== current) {\n this.closePanel(panel);\n }\n }\n }\n\n private getNextPanel(panel: IgcExpansionPanelComponent, dir: 1 | -1 = 1) {\n const idx = this.enabledPanels.indexOf(panel);\n return this.enabledPanels[idx + dir] || panel;\n }\n\n private getPanelHeader(panel: IgcExpansionPanelComponent) {\n return panel.renderRoot.querySelector('div[part=\"header\"]') as HTMLElement;\n }\n\n private async closePanel(panel: IgcExpansionPanelComponent) {\n if (\n !(\n panel.open &&\n panel.emitEvent('igcClosing', { cancelable: true, detail: panel })\n )\n ) {\n return;\n }\n\n await panel.hide();\n panel.emitEvent('igcClosed', { detail: panel });\n }\n\n private async openPanel(panel: IgcExpansionPanelComponent) {\n if (\n panel.open ||\n !panel.emitEvent('igcOpening', { cancelable: true, detail: panel })\n ) {\n return;\n }\n\n await panel.show();\n panel.emitEvent('igcOpened', { detail: panel });\n }\n\n /** Hides all of the child expansion panels' contents. */\n public async hideAll(): Promise<void> {\n await Promise.all(this.panels.map((panel) => panel.hide()));\n }\n\n /** Shows all of the child expansion panels' contents. */\n public async showAll(): Promise<void> {\n await Promise.all(this.panels.map((panel) => panel.show()));\n }\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-accordion': IgcAccordionComponent;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, type PropertyValues } from 'lit';
2
2
  import type { AvatarShape } from '../types.js';
3
3
  /**
4
4
  * An avatar component is used as a representation of a user identity
@@ -17,32 +17,31 @@ export default class IgcAvatarComponent extends LitElement {
17
17
  static readonly tagName = "igc-avatar";
18
18
  static styles: import("lit").CSSResult[];
19
19
  static register(): void;
20
- private __internals;
21
- private hasError;
20
+ private readonly _internals;
21
+ private _hasError;
22
22
  /**
23
23
  * The image source to use.
24
24
  * @attr
25
25
  */
26
- src: string;
26
+ src?: string;
27
27
  /**
28
28
  * Alternative text for the image.
29
29
  * @attr
30
30
  */
31
- alt: string;
31
+ alt?: string;
32
32
  /**
33
33
  * Initials to use as a fallback when no image is available.
34
34
  * @attr
35
35
  */
36
- initials: string;
36
+ initials?: string;
37
37
  /**
38
38
  * The shape of the avatar.
39
39
  * @attr
40
40
  */
41
41
  shape: AvatarShape;
42
42
  constructor();
43
- protected roleDescriptionChange(): void;
44
- protected handleErrorState(): void;
45
- protected handleError(): void;
43
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
44
+ protected _handleError(): void;
46
45
  protected render(): import("lit-html").TemplateResult<1>;
47
46
  }
48
47
  declare global {
@@ -4,36 +4,43 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- var IgcAvatarComponent_1;
8
- import { LitElement, html, nothing } from 'lit';
7
+ import { html, LitElement, nothing } from 'lit';
9
8
  import { property, state } from 'lit/decorators.js';
10
9
  import { ifDefined } from 'lit/directives/if-defined.js';
11
- import { themes } from '../../theming/theming-decorator.js';
12
- import { watch } from '../common/decorators/watch.js';
10
+ import { addThemingController } from '../../theming/theming-controller.js';
11
+ import { addInternalsController } from '../common/controllers/internals.js';
13
12
  import { registerComponent } from '../common/definitions/register.js';
14
13
  import { styles } from './themes/avatar.base.css.js';
15
14
  import { styles as shared } from './themes/shared/avatar.common.css.js';
16
15
  import { all } from './themes/themes.js';
17
- let IgcAvatarComponent = IgcAvatarComponent_1 = class IgcAvatarComponent extends LitElement {
16
+ class IgcAvatarComponent extends LitElement {
18
17
  static register() {
19
- registerComponent(IgcAvatarComponent_1);
18
+ registerComponent(IgcAvatarComponent);
20
19
  }
21
20
  constructor() {
22
21
  super();
23
- this.hasError = false;
22
+ this._internals = addInternalsController(this, {
23
+ initialARIA: {
24
+ role: 'image',
25
+ ariaLabel: 'avatar',
26
+ },
27
+ });
28
+ this._hasError = false;
24
29
  this.shape = 'square';
25
- this.__internals = this.attachInternals();
26
- this.__internals.role = 'img';
27
- this.__internals.ariaLabel = 'avatar';
30
+ addThemingController(this, all);
28
31
  }
29
- roleDescriptionChange() {
30
- this.__internals.ariaRoleDescription = this.alt ?? this.initials;
32
+ willUpdate(changedProperties) {
33
+ if (changedProperties.has('initials') || changedProperties.has('alt')) {
34
+ this._internals.setARIA({
35
+ ariaRoleDescription: this.alt ?? this.initials,
36
+ });
37
+ }
38
+ if (changedProperties.has('src')) {
39
+ this._hasError = false;
40
+ }
31
41
  }
32
- handleErrorState() {
33
- this.hasError = false;
34
- }
35
- handleError() {
36
- this.hasError = true;
42
+ _handleError() {
43
+ this._hasError = true;
37
44
  }
38
45
  render() {
39
46
  return html `
@@ -41,25 +48,26 @@ let IgcAvatarComponent = IgcAvatarComponent_1 = class IgcAvatarComponent extends
41
48
  ${this.initials
42
49
  ? html `<span part="initials">${this.initials}</span>`
43
50
  : html `<slot></slot>`}
44
- ${this.src && !this.hasError
51
+ ${this.src && !this._hasError
45
52
  ? html `
46
53
  <img
47
54
  part="image"
48
55
  alt=${ifDefined(this.alt)}
49
56
  src=${ifDefined(this.src)}
50
- @error=${this.handleError}
57
+ @error=${this._handleError}
51
58
  />
52
59
  `
53
60
  : nothing}
54
61
  </div>
55
62
  `;
56
63
  }
57
- };
64
+ }
58
65
  IgcAvatarComponent.tagName = 'igc-avatar';
59
66
  IgcAvatarComponent.styles = [styles, shared];
67
+ export default IgcAvatarComponent;
60
68
  __decorate([
61
69
  state()
62
- ], IgcAvatarComponent.prototype, "hasError", void 0);
70
+ ], IgcAvatarComponent.prototype, "_hasError", void 0);
63
71
  __decorate([
64
72
  property()
65
73
  ], IgcAvatarComponent.prototype, "src", void 0);
@@ -72,15 +80,4 @@ __decorate([
72
80
  __decorate([
73
81
  property({ reflect: true })
74
82
  ], IgcAvatarComponent.prototype, "shape", void 0);
75
- __decorate([
76
- watch('initials'),
77
- watch('alt')
78
- ], IgcAvatarComponent.prototype, "roleDescriptionChange", null);
79
- __decorate([
80
- watch('src')
81
- ], IgcAvatarComponent.prototype, "handleErrorState", null);
82
- IgcAvatarComponent = IgcAvatarComponent_1 = __decorate([
83
- themes(all)
84
- ], IgcAvatarComponent);
85
- export default IgcAvatarComponent;
86
83
  //# sourceMappingURL=avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/components/avatar/avatar.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAgB1B,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,UAAU;IAKjD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,oBAAkB,CAAC,CAAC;IACxC,CAAC;IAmCD;QACE,KAAK,EAAE,CAAC;QA/BF,aAAQ,GAAG,KAAK,CAAC;QA4BlB,UAAK,GAAgB,QAAQ,CAAC;QAKnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,QAAQ,CAAC;IACxC,CAAC;IAIS,qBAAqB;QAC7B,IAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC;IACnE,CAAC;IAGS,gBAAgB;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,QAAQ;YACb,CAAC,CAAC,IAAI,CAAA,yBAAyB,IAAI,CAAC,QAAQ,SAAS;YACrD,CAAC,CAAC,IAAI,CAAA,eAAe;UACrB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC1B,CAAC,CAAC,IAAI,CAAA;;;sBAGM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;sBACnB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;yBAChB,IAAI,CAAC,WAAW;;aAE5B;YACH,CAAC,CAAC,OAAO;;KAEd,CAAC;IACJ,CAAC;;AAlFsB,0BAAO,GAAG,YAAY,AAAf,CAAgB;AACvB,yBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAUzC;IADP,KAAK,EAAE;oDACiB;AAOlB;IADN,QAAQ,EAAE;+CACS;AAOb;IADN,QAAQ,EAAE;+CACS;AAOb;IADN,QAAQ,EAAE;oDACc;AAOlB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDACS;AAY3B;IAFT,KAAK,CAAC,UAAU,CAAC;IACjB,KAAK,CAAC,KAAK,CAAC;+DAGZ;AAGS;IADT,KAAK,CAAC,KAAK,CAAC;0DAGZ;AA3DkB,kBAAkB;IADtC,MAAM,CAAC,GAAG,CAAC;GACS,kBAAkB,CAoFtC;eApFoB,kBAAkB","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { AvatarShape } from '../types.js';\nimport { styles } from './themes/avatar.base.css.js';\nimport { styles as shared } from './themes/shared/avatar.common.css.js';\nimport { all } from './themes/themes.js';\n\n/**\n * An avatar component is used as a representation of a user identity\n * typically in a user profile.\n *\n * @element igc-avatar\n *\n * @slot - Renders an icon inside the default slot.\n *\n * @csspart base - The base wrapper of the avatar.\n * @csspart initials - The initials wrapper of the avatar.\n * @csspart image - The image wrapper of the avatar.\n * @csspart icon - The icon wrapper of the avatar.\n */\n@themes(all)\nexport default class IgcAvatarComponent extends LitElement {\n public static readonly tagName = 'igc-avatar';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcAvatarComponent);\n }\n\n private __internals: ElementInternals;\n\n @state()\n private hasError = false;\n\n /**\n * The image source to use.\n * @attr\n */\n @property()\n public src!: string;\n\n /**\n * Alternative text for the image.\n * @attr\n */\n @property()\n public alt!: string;\n\n /**\n * Initials to use as a fallback when no image is available.\n * @attr\n */\n @property()\n public initials!: string;\n\n /**\n * The shape of the avatar.\n * @attr\n */\n @property({ reflect: true })\n public shape: AvatarShape = 'square';\n\n constructor() {\n super();\n\n this.__internals = this.attachInternals();\n this.__internals.role = 'img';\n this.__internals.ariaLabel = 'avatar';\n }\n\n @watch('initials')\n @watch('alt')\n protected roleDescriptionChange() {\n this.__internals.ariaRoleDescription = this.alt ?? this.initials;\n }\n\n @watch('src')\n protected handleErrorState() {\n this.hasError = false;\n }\n\n protected handleError() {\n this.hasError = true;\n }\n\n protected override render() {\n return html`\n <div part=\"base\">\n ${this.initials\n ? html`<span part=\"initials\">${this.initials}</span>`\n : html`<slot></slot>`}\n ${this.src && !this.hasError\n ? html`\n <img\n part=\"image\"\n alt=${ifDefined(this.alt)}\n src=${ifDefined(this.src)}\n @error=${this.handleError}\n />\n `\n : nothing}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-avatar': IgcAvatarComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/components/avatar/avatar.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAuB,MAAM,KAAK,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAezC,MAAqB,kBAAmB,SAAQ,UAAU;IAKjD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IAwCD;QACE,KAAK,EAAE,CAAC;QAvCO,eAAU,GAAG,sBAAsB,CAAC,IAAI,EAAE;YACzD,WAAW,EAAE;gBACX,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,QAAQ;aACpB;SACF,CAAC,CAAC;QAGK,cAAS,GAAG,KAAK,CAAC;QA4BnB,UAAK,GAAgB,QAAQ,CAAC;QAInC,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAEkB,UAAU,CAAC,iBAAuC;QACnE,IAAI,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBACtB,mBAAmB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ;aAC/C,CAAC,CAAC;QACL,CAAC;QAED,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IAES,YAAY;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,QAAQ;YACb,CAAC,CAAC,IAAI,CAAA,yBAAyB,IAAI,CAAC,QAAQ,SAAS;YACrD,CAAC,CAAC,IAAI,CAAA,eAAe;UACrB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS;YAC3B,CAAC,CAAC,IAAI,CAAA;;;sBAGM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;sBACnB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;yBAChB,IAAI,CAAC,YAAY;;aAE7B;YACH,CAAC,CAAC,OAAO;;KAEd,CAAC;IACJ,CAAC;;AArFsB,0BAAO,GAAG,YAAY,AAAf,CAAgB;AACvB,yBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;eAF9B,kBAAkB;AAiB7B;IADP,KAAK,EAAE;qDACkB;AAOnB;IADN,QAAQ,EAAE;+CACS;AAOb;IADN,QAAQ,EAAE;+CACS;AAOb;IADN,QAAQ,EAAE;oDACc;AAOlB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDACS","sourcesContent":["import { html, LitElement, nothing, type PropertyValues } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport { addInternalsController } from '../common/controllers/internals.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { AvatarShape } from '../types.js';\nimport { styles } from './themes/avatar.base.css.js';\nimport { styles as shared } from './themes/shared/avatar.common.css.js';\nimport { all } from './themes/themes.js';\n\n/**\n * An avatar component is used as a representation of a user identity\n * typically in a user profile.\n *\n * @element igc-avatar\n *\n * @slot - Renders an icon inside the default slot.\n *\n * @csspart base - The base wrapper of the avatar.\n * @csspart initials - The initials wrapper of the avatar.\n * @csspart image - The image wrapper of the avatar.\n * @csspart icon - The icon wrapper of the avatar.\n */\nexport default class IgcAvatarComponent extends LitElement {\n public static readonly tagName = 'igc-avatar';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcAvatarComponent);\n }\n\n private readonly _internals = addInternalsController(this, {\n initialARIA: {\n role: 'image',\n ariaLabel: 'avatar',\n },\n });\n\n @state()\n private _hasError = false;\n\n /**\n * The image source to use.\n * @attr\n */\n @property()\n public src?: string;\n\n /**\n * Alternative text for the image.\n * @attr\n */\n @property()\n public alt?: string;\n\n /**\n * Initials to use as a fallback when no image is available.\n * @attr\n */\n @property()\n public initials?: string;\n\n /**\n * The shape of the avatar.\n * @attr\n */\n @property({ reflect: true })\n public shape: AvatarShape = 'square';\n\n constructor() {\n super();\n addThemingController(this, all);\n }\n\n protected override willUpdate(changedProperties: PropertyValues<this>): void {\n if (changedProperties.has('initials') || changedProperties.has('alt')) {\n this._internals.setARIA({\n ariaRoleDescription: this.alt ?? this.initials,\n });\n }\n\n if (changedProperties.has('src')) {\n this._hasError = false;\n }\n }\n\n protected _handleError(): void {\n this._hasError = true;\n }\n\n protected override render() {\n return html`\n <div part=\"base\">\n ${this.initials\n ? html`<span part=\"initials\">${this.initials}</span>`\n : html`<slot></slot>`}\n ${this.src && !this._hasError\n ? html`\n <img\n part=\"image\"\n alt=${ifDefined(this.alt)}\n src=${ifDefined(this.src)}\n @error=${this._handleError}\n />\n `\n : nothing}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-avatar': IgcAvatarComponent;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, type PropertyValues } from 'lit';
2
2
  import type { BadgeShape, StyleVariant } from '../types.js';
3
3
  /**
4
4
  * The badge is a component indicating a status on a related item or an area
@@ -14,7 +14,7 @@ export default class IgcBadgeComponent extends LitElement {
14
14
  static readonly tagName = "igc-badge";
15
15
  static styles: import("lit").CSSResult[];
16
16
  static register(): void;
17
- private __internals;
17
+ private readonly _internals;
18
18
  /**
19
19
  * The type of badge.
20
20
  * @attr
@@ -31,7 +31,7 @@ export default class IgcBadgeComponent extends LitElement {
31
31
  */
32
32
  shape: BadgeShape;
33
33
  constructor();
34
- protected variantChange(): void;
34
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
35
35
  protected render(): import("lit-html").TemplateResult<1>;
36
36
  }
37
37
  declare global {
@@ -4,29 +4,32 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- var IgcBadgeComponent_1;
8
- import { LitElement, html } from 'lit';
7
+ import { html, LitElement } from 'lit';
9
8
  import { property } from 'lit/decorators.js';
10
- import { themes } from '../../theming/theming-decorator.js';
11
- import { watch } from '../common/decorators/watch.js';
9
+ import { addThemingController } from '../../theming/theming-controller.js';
10
+ import { addInternalsController } from '../common/controllers/internals.js';
12
11
  import { registerComponent } from '../common/definitions/register.js';
13
12
  import { styles } from './themes/badge.base.css.js';
14
13
  import { styles as shared } from './themes/shared/badge.common.css.js';
15
14
  import { all } from './themes/themes.js';
16
- let IgcBadgeComponent = IgcBadgeComponent_1 = class IgcBadgeComponent extends LitElement {
15
+ class IgcBadgeComponent extends LitElement {
17
16
  static register() {
18
- registerComponent(IgcBadgeComponent_1);
17
+ registerComponent(IgcBadgeComponent);
19
18
  }
20
19
  constructor() {
21
20
  super();
21
+ this._internals = addInternalsController(this, {
22
+ initialARIA: { role: 'status' },
23
+ });
22
24
  this.variant = 'primary';
23
25
  this.outlined = false;
24
26
  this.shape = 'rounded';
25
- this.__internals = this.attachInternals();
26
- this.__internals.role = 'status';
27
+ addThemingController(this, all);
27
28
  }
28
- variantChange() {
29
- this.__internals.ariaRoleDescription = `badge ${this.variant}`;
29
+ willUpdate(changedProperties) {
30
+ if (changedProperties.has('variant')) {
31
+ this._internals.setARIA({ ariaRoleDescription: `badge ${this.variant}` });
32
+ }
30
33
  }
31
34
  render() {
32
35
  return html `
@@ -35,9 +38,10 @@ let IgcBadgeComponent = IgcBadgeComponent_1 = class IgcBadgeComponent extends Li
35
38
  </span>
36
39
  `;
37
40
  }
38
- };
41
+ }
39
42
  IgcBadgeComponent.tagName = 'igc-badge';
40
43
  IgcBadgeComponent.styles = [styles, shared];
44
+ export default IgcBadgeComponent;
41
45
  __decorate([
42
46
  property({ reflect: true })
43
47
  ], IgcBadgeComponent.prototype, "variant", void 0);
@@ -47,11 +51,4 @@ __decorate([
47
51
  __decorate([
48
52
  property({ reflect: true })
49
53
  ], IgcBadgeComponent.prototype, "shape", void 0);
50
- __decorate([
51
- watch('variant')
52
- ], IgcBadgeComponent.prototype, "variantChange", null);
53
- IgcBadgeComponent = IgcBadgeComponent_1 = __decorate([
54
- themes(all)
55
- ], IgcBadgeComponent);
56
- export default IgcBadgeComponent;
57
54
  //# sourceMappingURL=badge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/components/badge/badge.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAa1B,IAAM,iBAAiB,yBAAvB,MAAM,iBAAkB,SAAQ,UAAU;IAKhD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,mBAAiB,CAAC,CAAC;IACvC,CAAC;IAyBD;QACE,KAAK,EAAE,CAAC;QAjBH,YAAO,GAAiB,SAAS,CAAC;QAOlC,aAAQ,GAAG,KAAK,CAAC;QAOjB,UAAK,GAAe,SAAS,CAAC;QAInC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC;IACnC,CAAC;IAGS,aAAa;QACrB,IAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;IACjE,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;;AAhDsB,yBAAO,GAAG,WAAW,AAAd,CAAe;AACtB,wBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAc1C;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kDACa;AAOlC;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDACnB;AAOjB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDACS;AAS3B;IADT,KAAK,CAAC,SAAS,CAAC;sDAGhB;AAzCkB,iBAAiB;IADrC,MAAM,CAAC,GAAG,CAAC;GACS,iBAAiB,CAkDrC;eAlDoB,iBAAiB","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { BadgeShape, StyleVariant } from '../types.js';\nimport { styles } from './themes/badge.base.css.js';\nimport { styles as shared } from './themes/shared/badge.common.css.js';\nimport { all } from './themes/themes.js';\n\n/**\n * The badge is a component indicating a status on a related item or an area\n * where some active indication is required.\n *\n * @element igc-badge\n *\n * @slot - Default slot for the badge.\n *\n * @csspart base - The base wrapper of the badge.\n */\n@themes(all)\nexport default class IgcBadgeComponent extends LitElement {\n public static readonly tagName = 'igc-badge';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcBadgeComponent);\n }\n\n private __internals: ElementInternals;\n\n /**\n * The type of badge.\n * @attr\n */\n @property({ reflect: true })\n public variant: StyleVariant = 'primary';\n\n /**\n * Sets whether to draw an outlined version of the badge.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public outlined = false;\n\n /**\n * The shape of the badge.\n * @attr\n */\n @property({ reflect: true })\n public shape: BadgeShape = 'rounded';\n\n constructor() {\n super();\n this.__internals = this.attachInternals();\n this.__internals.role = 'status';\n }\n\n @watch('variant')\n protected variantChange() {\n this.__internals.ariaRoleDescription = `badge ${this.variant}`;\n }\n\n protected override render() {\n return html`\n <span part=\"base\">\n <slot></slot>\n </span>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-badge': IgcBadgeComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/components/badge/badge.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAYzC,MAAqB,iBAAkB,SAAQ,UAAU;IAKhD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IA2BD;QACE,KAAK,EAAE,CAAC;QA1BO,eAAU,GAAG,sBAAsB,CAAC,IAAI,EAAE;YACzD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAChC,CAAC,CAAC;QAOI,YAAO,GAAiB,SAAS,CAAC;QAOlC,aAAQ,GAAG,KAAK,CAAC;QAOjB,UAAK,GAAe,SAAS,CAAC;QAInC,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAEkB,UAAU,CAAC,iBAAuC;QACnE,IAAI,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,mBAAmB,EAAE,SAAS,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;;AAlDsB,yBAAO,GAAG,WAAW,AAAd,CAAe;AACtB,wBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;eAF9B,iBAAiB;AAkB7B;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kDACa;AAOlC;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDACnB;AAOjB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDACS","sourcesContent":["import { html, LitElement, type PropertyValues } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport { addInternalsController } from '../common/controllers/internals.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { BadgeShape, StyleVariant } from '../types.js';\nimport { styles } from './themes/badge.base.css.js';\nimport { styles as shared } from './themes/shared/badge.common.css.js';\nimport { all } from './themes/themes.js';\n\n/**\n * The badge is a component indicating a status on a related item or an area\n * where some active indication is required.\n *\n * @element igc-badge\n *\n * @slot - Default slot for the badge.\n *\n * @csspart base - The base wrapper of the badge.\n */\nexport default class IgcBadgeComponent extends LitElement {\n public static readonly tagName = 'igc-badge';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcBadgeComponent);\n }\n\n private readonly _internals = addInternalsController(this, {\n initialARIA: { role: 'status' },\n });\n\n /**\n * The type of badge.\n * @attr\n */\n @property({ reflect: true })\n public variant: StyleVariant = 'primary';\n\n /**\n * Sets whether to draw an outlined version of the badge.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public outlined = false;\n\n /**\n * The shape of the badge.\n * @attr\n */\n @property({ reflect: true })\n public shape: BadgeShape = 'rounded';\n\n constructor() {\n super();\n addThemingController(this, all);\n }\n\n protected override willUpdate(changedProperties: PropertyValues<this>): void {\n if (changedProperties.has('variant')) {\n this._internals.setARIA({ ariaRoleDescription: `badge ${this.variant}` });\n }\n }\n\n protected override render() {\n return html`\n <span part=\"base\">\n <slot></slot>\n </span>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-badge': IgcBadgeComponent;\n }\n}\n"]}
@@ -28,9 +28,8 @@ export default class IgcBannerComponent extends IgcBannerComponent_base {
28
28
  static readonly tagName = "igc-banner";
29
29
  static styles: import("lit").CSSResult[];
30
30
  static register(): void;
31
- private _internals;
32
- private _bannerRef;
33
- private _animationPlayer;
31
+ private readonly _bannerRef;
32
+ private readonly _animationPlayer;
34
33
  /**
35
34
  * Determines whether the banner is being shown/hidden.
36
35
  * @attr
@@ -4,30 +4,34 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- var IgcBannerComponent_1;
8
- import { LitElement, html } from 'lit';
7
+ import { html, LitElement } from 'lit';
9
8
  import { property } from 'lit/decorators.js';
10
9
  import { createRef, ref } from 'lit/directives/ref.js';
11
10
  import { addAnimationController } from '../../animations/player.js';
12
11
  import { growVerIn, growVerOut } from '../../animations/presets/grow/index.js';
13
- import { themes } from '../../theming/theming-decorator.js';
12
+ import { addThemingController } from '../../theming/theming-controller.js';
14
13
  import IgcButtonComponent from '../button/button.js';
14
+ import { addInternalsController } from '../common/controllers/internals.js';
15
15
  import { registerComponent } from '../common/definitions/register.js';
16
16
  import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
17
17
  import { styles } from './themes/banner.base.css.js';
18
18
  import { all } from './themes/themes.js';
19
- let IgcBannerComponent = IgcBannerComponent_1 = class IgcBannerComponent extends EventEmitterMixin(LitElement) {
19
+ class IgcBannerComponent extends EventEmitterMixin(LitElement) {
20
20
  static register() {
21
- registerComponent(IgcBannerComponent_1, IgcButtonComponent);
21
+ registerComponent(IgcBannerComponent, IgcButtonComponent);
22
22
  }
23
23
  constructor() {
24
24
  super();
25
25
  this._bannerRef = createRef();
26
26
  this._animationPlayer = addAnimationController(this, this._bannerRef);
27
27
  this.open = false;
28
- this._internals = this.attachInternals();
29
- this._internals.role = 'status';
30
- this._internals.ariaLive = 'polite';
28
+ addThemingController(this, all);
29
+ addInternalsController(this, {
30
+ initialARIA: {
31
+ role: 'status',
32
+ ariaLive: 'polite',
33
+ },
34
+ });
31
35
  }
32
36
  async show() {
33
37
  if (this.open) {
@@ -87,14 +91,11 @@ let IgcBannerComponent = IgcBannerComponent_1 = class IgcBannerComponent extends
87
91
  </div>
88
92
  `;
89
93
  }
90
- };
94
+ }
91
95
  IgcBannerComponent.tagName = 'igc-banner';
92
96
  IgcBannerComponent.styles = [styles];
97
+ export default IgcBannerComponent;
93
98
  __decorate([
94
99
  property({ type: Boolean, reflect: true })
95
100
  ], IgcBannerComponent.prototype, "open", void 0);
96
- IgcBannerComponent = IgcBannerComponent_1 = __decorate([
97
- themes(all)
98
- ], IgcBannerComponent);
99
- export default IgcBannerComponent;
100
101
  //# sourceMappingURL=banner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"banner.js","sourceRoot":"","sources":["../../../src/components/banner/banner.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { type Ref, createRef, ref } from 'lit/directives/ref.js';\n\nimport { addAnimationController } from '../../animations/player.js';\nimport { growVerIn, growVerOut } from '../../animations/presets/grow/index.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport IgcButtonComponent from '../button/button.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { styles } from './themes/banner.base.css.js';\nimport { all } from './themes/themes.js';\n\nexport interface IgcBannerComponentEventMap {\n igcClosing: CustomEvent<void>;\n igcClosed: CustomEvent<void>;\n}\n\n/**\n * The `igc-banner` component displays important and concise message(s) for a user to address, that is specific to a page or feature.\n *\n * @element igc-banner\n *\n * @slot - Renders the text content of the banner message.\n * @slot prefix - Renders additional content at the start of the message block.\n * @slot actions - Renders any action elements.\n *\n * @fires igcClosing - Emitted before closing the banner - when a user interacts (click) with the default action of the banner.\n * @fires igcClosed - Emitted after the banner is closed - when a user interacts (click) with the default action of the banner.\n *\n * @csspart base - The base wrapper of the banner component.\n * @csspart spacer - The inner wrapper that sets the space around the banner.\n * @csspart message - The part that holds the text and the illustration.\n * @csspart illustration - The part that holds the banner icon/illustration.\n * @csspart content - The part that holds the banner text content.\n * @csspart actions - The part that holds the banner action buttons.\n */\n\n@themes(all)\nexport default class IgcBannerComponent extends EventEmitterMixin<\n IgcBannerComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-banner';\n public static styles = [styles];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcBannerComponent, IgcButtonComponent);\n }\n\n private _internals: ElementInternals;\n private _bannerRef: Ref<HTMLElement> = createRef();\n private _animationPlayer = addAnimationController(this, this._bannerRef);\n\n /**\n * Determines whether the banner is being shown/hidden.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n\n this._internals.role = 'status';\n this._internals.ariaLive = 'polite';\n }\n\n /** Shows the banner if not already shown. Returns `true` when the animation has completed. */\n public async show(): Promise<boolean> {\n if (this.open) {\n return false;\n }\n\n this.open = true;\n return await this.toggleAnimation('open');\n }\n\n /** Hides the banner if not already hidden. Returns `true` when the animation has completed. */\n public async hide(): Promise<boolean> {\n if (!this.open) {\n return false;\n }\n\n await this.toggleAnimation('close');\n this.open = false;\n return true;\n }\n\n /** Toggles between shown/hidden state. Returns `true` when the animation has completed. */\n public async toggle(): Promise<boolean> {\n return this.open ? await this.hide() : await this.show();\n }\n\n private async toggleAnimation(dir: 'open' | 'close') {\n const animation = dir === 'open' ? growVerIn : growVerOut;\n\n const [_, event] = await Promise.all([\n this._animationPlayer.stopAll(),\n this._animationPlayer.play(animation()),\n ]);\n\n return event.type === 'finish';\n }\n\n private async handleClick() {\n if (this.emitEvent('igcClosing', { cancelable: true })) {\n await this.hide();\n this.emitEvent('igcClosed');\n }\n }\n\n protected override render() {\n return html`\n <div ${ref(this._bannerRef)} part=\"base\" .inert=${!this.open}>\n <div part=\"spacer\">\n <div part=\"message\">\n <div part=\"illustration\">\n <slot name=\"prefix\"></slot>\n </div>\n <div part=\"content\">\n <slot></slot>\n </div>\n </div>\n <div part=\"actions\">\n <slot name=\"actions\">\n <igc-button\n type=\"button\"\n variant=\"flat\"\n @click=${this.handleClick}\n >OK</igc-button\n >\n </slot>\n </div>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-banner': IgcBannerComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"banner.js","sourceRoot":"","sources":["../../../src/components/banner/banner.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { createRef, type Ref, ref } from 'lit/directives/ref.js';\n\nimport { addAnimationController } from '../../animations/player.js';\nimport { growVerIn, growVerOut } from '../../animations/presets/grow/index.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport IgcButtonComponent from '../button/button.js';\nimport { addInternalsController } from '../common/controllers/internals.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { styles } from './themes/banner.base.css.js';\nimport { all } from './themes/themes.js';\n\nexport interface IgcBannerComponentEventMap {\n igcClosing: CustomEvent<void>;\n igcClosed: CustomEvent<void>;\n}\n\n/**\n * The `igc-banner` component displays important and concise message(s) for a user to address, that is specific to a page or feature.\n *\n * @element igc-banner\n *\n * @slot - Renders the text content of the banner message.\n * @slot prefix - Renders additional content at the start of the message block.\n * @slot actions - Renders any action elements.\n *\n * @fires igcClosing - Emitted before closing the banner - when a user interacts (click) with the default action of the banner.\n * @fires igcClosed - Emitted after the banner is closed - when a user interacts (click) with the default action of the banner.\n *\n * @csspart base - The base wrapper of the banner component.\n * @csspart spacer - The inner wrapper that sets the space around the banner.\n * @csspart message - The part that holds the text and the illustration.\n * @csspart illustration - The part that holds the banner icon/illustration.\n * @csspart content - The part that holds the banner text content.\n * @csspart actions - The part that holds the banner action buttons.\n */\n\nexport default class IgcBannerComponent extends EventEmitterMixin<\n IgcBannerComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-banner';\n public static styles = [styles];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcBannerComponent, IgcButtonComponent);\n }\n\n private readonly _bannerRef: Ref<HTMLElement> = createRef();\n private readonly _animationPlayer = addAnimationController(\n this,\n this._bannerRef\n );\n\n /**\n * Determines whether the banner is being shown/hidden.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n addInternalsController(this, {\n initialARIA: {\n role: 'status',\n ariaLive: 'polite',\n },\n });\n }\n\n /** Shows the banner if not already shown. Returns `true` when the animation has completed. */\n public async show(): Promise<boolean> {\n if (this.open) {\n return false;\n }\n\n this.open = true;\n return await this.toggleAnimation('open');\n }\n\n /** Hides the banner if not already hidden. Returns `true` when the animation has completed. */\n public async hide(): Promise<boolean> {\n if (!this.open) {\n return false;\n }\n\n await this.toggleAnimation('close');\n this.open = false;\n return true;\n }\n\n /** Toggles between shown/hidden state. Returns `true` when the animation has completed. */\n public async toggle(): Promise<boolean> {\n return this.open ? await this.hide() : await this.show();\n }\n\n private async toggleAnimation(dir: 'open' | 'close') {\n const animation = dir === 'open' ? growVerIn : growVerOut;\n\n const [_, event] = await Promise.all([\n this._animationPlayer.stopAll(),\n this._animationPlayer.play(animation()),\n ]);\n\n return event.type === 'finish';\n }\n\n private async handleClick() {\n if (this.emitEvent('igcClosing', { cancelable: true })) {\n await this.hide();\n this.emitEvent('igcClosed');\n }\n }\n\n protected override render() {\n return html`\n <div ${ref(this._bannerRef)} part=\"base\" .inert=${!this.open}>\n <div part=\"spacer\">\n <div part=\"message\">\n <div part=\"illustration\">\n <slot name=\"prefix\"></slot>\n </div>\n <div part=\"content\">\n <slot></slot>\n </div>\n </div>\n <div part=\"actions\">\n <slot name=\"actions\">\n <igc-button\n type=\"button\"\n variant=\"flat\"\n @click=${this.handleClick}\n >OK</igc-button\n >\n </slot>\n </div>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-banner': IgcBannerComponent;\n }\n}\n"]}
@@ -7,13 +7,7 @@ export interface IgcButtonEventMap {
7
7
  declare const IgcButtonBaseComponent_base: Constructor<import("../common//mixins/event-emitter.js").EventEmitterInterface<IgcButtonEventMap>> & Constructor<LitElement>;
8
8
  export declare abstract class IgcButtonBaseComponent extends IgcButtonBaseComponent_base {
9
9
  static readonly formAssociated = true;
10
- protected static shadowRootOptions: {
11
- delegatesFocus: boolean;
12
- mode: ShadowRootMode;
13
- serializable?: boolean;
14
- slotAssignment?: SlotAssignmentMode;
15
- };
16
- protected readonly __internals: ElementInternals;
10
+ protected readonly _internals: import("../common/controllers/internals.js").ElementInternalsController;
17
11
  private readonly _focusRingManager;
18
12
  protected _disabled: boolean;
19
13
  private readonly _nativeButton;
@@ -26,12 +20,12 @@ export declare abstract class IgcButtonBaseComponent extends IgcButtonBaseCompon
26
20
  * The URL the button points to.
27
21
  * @attr
28
22
  */
29
- href: string;
23
+ href?: string;
30
24
  /**
31
25
  * Prompts to save the linked URL instead of navigating to it.
32
26
  * @attr
33
27
  */
34
- download: string;
28
+ download?: string;
35
29
  /**
36
30
  * Where to display the linked URL, as the name for a browsing context.
37
31
  * @attr
@@ -42,7 +36,7 @@ export declare abstract class IgcButtonBaseComponent extends IgcButtonBaseCompon
42
36
  * See https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types
43
37
  * @attr
44
38
  */
45
- rel: string;
39
+ rel?: string;
46
40
  /**
47
41
  * The disabled state of the component
48
42
  * @attr [disabled=false]
@@ -51,7 +45,6 @@ export declare abstract class IgcButtonBaseComponent extends IgcButtonBaseCompon
51
45
  get disabled(): boolean;
52
46
  /** Returns the HTMLFormElement associated with this element. */
53
47
  get form(): HTMLFormElement | null;
54
- constructor();
55
48
  /** Sets focus in the button. */
56
49
  focus(options?: FocusOptions): void;
57
50
  /** Simulates a mouse click on the element */
@@ -4,14 +4,23 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { LitElement, html, nothing } from 'lit';
7
+ import { html, LitElement, nothing } from 'lit';
8
8
  import { property, query } from 'lit/decorators.js';
9
9
  import { ifDefined } from 'lit/directives/if-defined.js';
10
- import { EventEmitterMixin } from '../common//mixins/event-emitter.js';
11
10
  import { addKeyboardFocusRing } from '../common/controllers/focus-ring.js';
11
+ import { addInternalsController } from '../common/controllers/internals.js';
12
12
  import { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';
13
+ import { shadowOptions } from '../common/decorators/shadow-options.js';
14
+ import { EventEmitterMixin } from '../common//mixins/event-emitter.js';
13
15
  import { partMap } from '../common/part-map.js';
14
16
  let IgcButtonBaseComponent = class IgcButtonBaseComponent extends EventEmitterMixin(LitElement) {
17
+ constructor() {
18
+ super(...arguments);
19
+ this._internals = addInternalsController(this);
20
+ this._focusRingManager = addKeyboardFocusRing(this);
21
+ this._disabled = false;
22
+ this.type = 'button';
23
+ }
15
24
  set disabled(value) {
16
25
  this._disabled = value;
17
26
  this.toggleAttribute('disabled', Boolean(this._disabled));
@@ -20,14 +29,7 @@ let IgcButtonBaseComponent = class IgcButtonBaseComponent extends EventEmitterMi
20
29
  return this._disabled;
21
30
  }
22
31
  get form() {
23
- return this.__internals.form;
24
- }
25
- constructor() {
26
- super();
27
- this._focusRingManager = addKeyboardFocusRing(this);
28
- this._disabled = false;
29
- this.type = 'button';
30
- this.__internals = this.attachInternals();
32
+ return this._internals.form;
31
33
  }
32
34
  focus(options) {
33
35
  this._nativeButton.focus(options);
@@ -85,10 +87,6 @@ let IgcButtonBaseComponent = class IgcButtonBaseComponent extends EventEmitterMi
85
87
  }
86
88
  };
87
89
  IgcButtonBaseComponent.formAssociated = true;
88
- IgcButtonBaseComponent.shadowRootOptions = {
89
- ...LitElement.shadowRootOptions,
90
- delegatesFocus: true,
91
- };
92
90
  __decorate([
93
91
  query('[part="base"]', true)
94
92
  ], IgcButtonBaseComponent.prototype, "_nativeButton", void 0);
@@ -111,7 +109,8 @@ __decorate([
111
109
  property({ type: Boolean, reflect: true })
112
110
  ], IgcButtonBaseComponent.prototype, "disabled", null);
113
111
  IgcButtonBaseComponent = __decorate([
114
- blazorDeepImport
112
+ blazorDeepImport,
113
+ shadowOptions({ delegatesFocus: true })
115
114
  ], IgcButtonBaseComponent);
116
115
  export { IgcButtonBaseComponent };
117
116
  //# sourceMappingURL=button-base.js.map