igniteui-webcomponents 6.3.0-beta.0 → 6.3.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 (324) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/components/accordion/accordion.js +3 -4
  3. package/components/accordion/accordion.js.map +1 -1
  4. package/components/avatar/avatar.js +3 -4
  5. package/components/avatar/avatar.js.map +1 -1
  6. package/components/badge/badge.js +3 -4
  7. package/components/badge/badge.js.map +1 -1
  8. package/components/banner/banner.js +3 -4
  9. package/components/banner/banner.js.map +1 -1
  10. package/components/button/button-base.js +1 -1
  11. package/components/button/button-base.js.map +1 -1
  12. package/components/button/button.js +3 -4
  13. package/components/button/button.js.map +1 -1
  14. package/components/button/icon-button.js +3 -4
  15. package/components/button/icon-button.js.map +1 -1
  16. package/components/button-group/button-group.js +3 -4
  17. package/components/button-group/button-group.js.map +1 -1
  18. package/components/button-group/toggle-button.js +4 -3
  19. package/components/button-group/toggle-button.js.map +1 -1
  20. package/components/calendar/calendar.js +3 -4
  21. package/components/calendar/calendar.js.map +1 -1
  22. package/components/calendar/days-view/days-view.js +4 -3
  23. package/components/calendar/days-view/days-view.js.map +1 -1
  24. package/components/calendar/months-view/months-view.js +4 -3
  25. package/components/calendar/months-view/months-view.js.map +1 -1
  26. package/components/calendar/years-view/years-view.js +4 -3
  27. package/components/calendar/years-view/years-view.js.map +1 -1
  28. package/components/card/card.actions.js +3 -4
  29. package/components/card/card.actions.js.map +1 -1
  30. package/components/card/card.content.js +3 -4
  31. package/components/card/card.content.js.map +1 -1
  32. package/components/card/card.header.js +3 -4
  33. package/components/card/card.header.js.map +1 -1
  34. package/components/card/card.js +3 -4
  35. package/components/card/card.js.map +1 -1
  36. package/components/card/card.media.js +3 -4
  37. package/components/card/card.media.js.map +1 -1
  38. package/components/carousel/carousel-indicator-container.js +3 -4
  39. package/components/carousel/carousel-indicator-container.js.map +1 -1
  40. package/components/carousel/carousel-indicator.js +3 -4
  41. package/components/carousel/carousel-indicator.js.map +1 -1
  42. package/components/carousel/carousel-slide.js +3 -4
  43. package/components/carousel/carousel-slide.js.map +1 -1
  44. package/components/carousel/carousel.js +3 -4
  45. package/components/carousel/carousel.js.map +1 -1
  46. package/components/chat/chat-input.d.ts +8 -20
  47. package/components/chat/chat-input.js +78 -56
  48. package/components/chat/chat-input.js.map +1 -1
  49. package/components/chat/chat-message.d.ts +6 -21
  50. package/components/chat/chat-message.js +113 -71
  51. package/components/chat/chat-message.js.map +1 -1
  52. package/components/chat/chat-state.d.ts +45 -50
  53. package/components/chat/chat-state.js +82 -91
  54. package/components/chat/chat-state.js.map +1 -1
  55. package/components/chat/chat.d.ts +68 -24
  56. package/components/chat/chat.js +99 -96
  57. package/components/chat/chat.js.map +1 -1
  58. package/components/chat/extras/markdown-renderer.d.ts +6 -3
  59. package/components/chat/extras/markdown-renderer.js +19 -14
  60. package/components/chat/extras/markdown-renderer.js.map +1 -1
  61. package/components/chat/message-attachments.d.ts +5 -5
  62. package/components/chat/message-attachments.js +49 -43
  63. package/components/chat/message-attachments.js.map +1 -1
  64. package/components/chat/themes/chat.base.css.js +1 -1
  65. package/components/chat/themes/chat.base.css.js.map +1 -1
  66. package/components/chat/themes/dark/chat.bootstrap.css.js +1 -1
  67. package/components/chat/themes/dark/chat.bootstrap.css.js.map +1 -1
  68. package/components/chat/themes/dark/chat.fluent.css.js +1 -1
  69. package/components/chat/themes/dark/chat.fluent.css.js.map +1 -1
  70. package/components/chat/themes/dark/chat.indigo.css.js +1 -1
  71. package/components/chat/themes/dark/chat.indigo.css.js.map +1 -1
  72. package/components/chat/themes/dark/chat.material.css.js +1 -1
  73. package/components/chat/themes/dark/chat.material.css.js.map +1 -1
  74. package/components/chat/themes/input.base.css.js +1 -1
  75. package/components/chat/themes/input.base.css.js.map +1 -1
  76. package/components/chat/themes/light/chat.bootstrap.css.js +1 -1
  77. package/components/chat/themes/light/chat.bootstrap.css.js.map +1 -1
  78. package/components/chat/themes/light/chat.indigo.css.js +1 -1
  79. package/components/chat/themes/light/chat.indigo.css.js.map +1 -1
  80. package/components/chat/themes/light/chat.shared.css.js +1 -1
  81. package/components/chat/themes/light/chat.shared.css.js.map +1 -1
  82. package/components/chat/themes/message-attachments.base.css.js +1 -1
  83. package/components/chat/themes/message-attachments.base.css.js.map +1 -1
  84. package/components/chat/themes/message.base.css.js +1 -1
  85. package/components/chat/themes/message.base.css.js.map +1 -1
  86. package/components/chat/themes/shared/chat.bootstrap.css.js +1 -1
  87. package/components/chat/themes/shared/chat.bootstrap.css.js.map +1 -1
  88. package/components/chat/themes/shared/chat.fluent.css.js +1 -1
  89. package/components/chat/themes/shared/chat.fluent.css.js.map +1 -1
  90. package/components/chat/themes/shared/chat.indigo.css.js +1 -1
  91. package/components/chat/themes/shared/chat.indigo.css.js.map +1 -1
  92. package/components/chat/themes/shared/input/input.bootstrap.css.js +1 -1
  93. package/components/chat/themes/shared/input/input.bootstrap.css.js.map +1 -1
  94. package/components/chat/themes/shared/input/input.fluent.css.js +1 -1
  95. package/components/chat/themes/shared/input/input.fluent.css.js.map +1 -1
  96. package/components/chat/themes/shared/input/input.indigo.css.js +1 -1
  97. package/components/chat/themes/shared/input/input.indigo.css.js.map +1 -1
  98. package/components/chat/themes/shared/message-attachments/message-attachments.common.css.js +1 -1
  99. package/components/chat/themes/shared/message-attachments/message-attachments.common.css.js.map +1 -1
  100. package/components/chat/types.d.ts +173 -28
  101. package/components/chat/types.js.map +1 -1
  102. package/components/chat/utils.d.ts +3 -3
  103. package/components/chat/utils.js +7 -11
  104. package/components/chat/utils.js.map +1 -1
  105. package/components/checkbox/checkbox.js +3 -4
  106. package/components/checkbox/checkbox.js.map +1 -1
  107. package/components/checkbox/switch.js +3 -4
  108. package/components/checkbox/switch.js.map +1 -1
  109. package/components/checkbox/themes/checkbox.base.css.js +1 -1
  110. package/components/checkbox/themes/checkbox.base.css.js.map +1 -1
  111. package/components/checkbox/themes/switch.base.css.js +1 -1
  112. package/components/checkbox/themes/switch.base.css.js.map +1 -1
  113. package/components/chip/chip.js +3 -4
  114. package/components/chip/chip.js.map +1 -1
  115. package/components/combo/combo-header.js +3 -4
  116. package/components/combo/combo-header.js.map +1 -1
  117. package/components/combo/combo-item.js +3 -4
  118. package/components/combo/combo-item.js.map +1 -1
  119. package/components/combo/combo-list.js +2 -3
  120. package/components/combo/combo-list.js.map +1 -1
  121. package/components/combo/combo.js +4 -3
  122. package/components/combo/combo.js.map +1 -1
  123. package/components/common/controllers/focus-ring.js +5 -5
  124. package/components/common/controllers/focus-ring.js.map +1 -1
  125. package/components/common/controllers/key-bindings.js +4 -4
  126. package/components/common/controllers/key-bindings.js.map +1 -1
  127. package/components/common/i18n/chat.resources.d.ts +3 -0
  128. package/components/common/i18n/chat.resources.js +3 -0
  129. package/components/common/i18n/chat.resources.js.map +1 -1
  130. package/components/common/mixins/forms/associated.js +1 -1
  131. package/components/common/mixins/forms/associated.js.map +1 -1
  132. package/components/common/mixins/forms/form-value.js +1 -1
  133. package/components/common/mixins/forms/form-value.js.map +1 -1
  134. package/components/common/part-map.d.ts +1 -1
  135. package/components/common/util.d.ts +3 -0
  136. package/components/common/util.js +9 -1
  137. package/components/common/util.js.map +1 -1
  138. package/components/date-picker/date-picker.js +5 -4
  139. package/components/date-picker/date-picker.js.map +1 -1
  140. package/components/date-range-picker/date-range-picker.js +5 -4
  141. package/components/date-range-picker/date-range-picker.js.map +1 -1
  142. package/components/date-range-picker/predefined-ranges-area.js +3 -4
  143. package/components/date-range-picker/predefined-ranges-area.js.map +1 -1
  144. package/components/date-time-input/date-time-input.js +2 -3
  145. package/components/date-time-input/date-time-input.js.map +1 -1
  146. package/components/date-time-input/date-util.js +11 -11
  147. package/components/date-time-input/date-util.js.map +1 -1
  148. package/components/dialog/dialog.js +3 -4
  149. package/components/dialog/dialog.js.map +1 -1
  150. package/components/divider/divider.js +3 -4
  151. package/components/divider/divider.js.map +1 -1
  152. package/components/dropdown/dropdown-group.js +3 -4
  153. package/components/dropdown/dropdown-group.js.map +1 -1
  154. package/components/dropdown/dropdown-header.js +3 -4
  155. package/components/dropdown/dropdown-header.js.map +1 -1
  156. package/components/dropdown/dropdown-item.js +3 -4
  157. package/components/dropdown/dropdown-item.js.map +1 -1
  158. package/components/dropdown/dropdown.js +4 -3
  159. package/components/dropdown/dropdown.js.map +1 -1
  160. package/components/expansion-panel/expansion-panel.js +3 -4
  161. package/components/expansion-panel/expansion-panel.js.map +1 -1
  162. package/components/file-input/file-input.js +3 -4
  163. package/components/file-input/file-input.js.map +1 -1
  164. package/components/focus-trap/focus-trap.js +7 -8
  165. package/components/focus-trap/focus-trap.js.map +1 -1
  166. package/components/icon/icon-references.js +78 -0
  167. package/components/icon/icon-references.js.map +1 -1
  168. package/components/icon/icon-state.broadcast.js +1 -1
  169. package/components/icon/icon-state.broadcast.js.map +1 -1
  170. package/components/icon/icon.js +3 -4
  171. package/components/icon/icon.js.map +1 -1
  172. package/components/icon/internal-icons-lib.js +39 -0
  173. package/components/icon/internal-icons-lib.js.map +1 -1
  174. package/components/input/input-base.js +4 -3
  175. package/components/input/input-base.js.map +1 -1
  176. package/components/input/input.js +2 -3
  177. package/components/input/input.js.map +1 -1
  178. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  179. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  180. package/components/input/themes/shared/input.indigo.css.js +1 -1
  181. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  182. package/components/list/list-header.js +3 -4
  183. package/components/list/list-header.js.map +1 -1
  184. package/components/list/list-item.js +3 -4
  185. package/components/list/list-item.js.map +1 -1
  186. package/components/list/list.js +3 -4
  187. package/components/list/list.js.map +1 -1
  188. package/components/list/themes/header.js +2 -28
  189. package/components/list/themes/header.js.map +1 -1
  190. package/components/list/themes/item.js +6 -20
  191. package/components/list/themes/item.js.map +1 -1
  192. package/components/mask-input/mask-input.js +2 -3
  193. package/components/mask-input/mask-input.js.map +1 -1
  194. package/components/nav-drawer/nav-drawer-header-item.js +3 -4
  195. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  196. package/components/nav-drawer/nav-drawer-item.js +3 -4
  197. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  198. package/components/nav-drawer/nav-drawer.js +3 -4
  199. package/components/nav-drawer/nav-drawer.js.map +1 -1
  200. package/components/navbar/navbar.js +3 -4
  201. package/components/navbar/navbar.js.map +1 -1
  202. package/components/popover/popover.js +9 -10
  203. package/components/popover/popover.js.map +1 -1
  204. package/components/progress/circular-gradient.js +2 -3
  205. package/components/progress/circular-gradient.js.map +1 -1
  206. package/components/progress/circular-progress.js +3 -4
  207. package/components/progress/circular-progress.js.map +1 -1
  208. package/components/progress/linear-progress.js +3 -4
  209. package/components/progress/linear-progress.js.map +1 -1
  210. package/components/radio/radio.js +3 -4
  211. package/components/radio/radio.js.map +1 -1
  212. package/components/radio-group/radio-group.js +3 -4
  213. package/components/radio-group/radio-group.js.map +1 -1
  214. package/components/rating/rating-symbol.js +3 -4
  215. package/components/rating/rating-symbol.js.map +1 -1
  216. package/components/rating/rating.js +3 -4
  217. package/components/rating/rating.js.map +1 -1
  218. package/components/resize-container/resize-container.js +3 -4
  219. package/components/resize-container/resize-container.js.map +1 -1
  220. package/components/ripple/ripple.js +3 -4
  221. package/components/ripple/ripple.js.map +1 -1
  222. package/components/select/select-group.js +3 -4
  223. package/components/select/select-group.js.map +1 -1
  224. package/components/select/select-header.js +3 -4
  225. package/components/select/select-header.js.map +1 -1
  226. package/components/select/select-item.js +3 -4
  227. package/components/select/select-item.js.map +1 -1
  228. package/components/select/select.js +4 -3
  229. package/components/select/select.js.map +1 -1
  230. package/components/slider/range-slider.js +2 -3
  231. package/components/slider/range-slider.js.map +1 -1
  232. package/components/slider/slider-base.js +1 -1
  233. package/components/slider/slider-base.js.map +1 -1
  234. package/components/slider/slider-label.js +7 -8
  235. package/components/slider/slider-label.js.map +1 -1
  236. package/components/slider/slider.js +2 -3
  237. package/components/slider/slider.js.map +1 -1
  238. package/components/snackbar/snackbar.js +3 -4
  239. package/components/snackbar/snackbar.js.map +1 -1
  240. package/components/stepper/step.js +3 -4
  241. package/components/stepper/step.js.map +1 -1
  242. package/components/stepper/stepper.js +3 -4
  243. package/components/stepper/stepper.js.map +1 -1
  244. package/components/tabs/tab-dom.js +1 -1
  245. package/components/tabs/tab-dom.js.map +1 -1
  246. package/components/tabs/tab.js +4 -5
  247. package/components/tabs/tab.js.map +1 -1
  248. package/components/tabs/tabs.js +3 -4
  249. package/components/tabs/tabs.js.map +1 -1
  250. package/components/textarea/textarea.js +4 -3
  251. package/components/textarea/textarea.js.map +1 -1
  252. package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
  253. package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
  254. package/components/tile-manager/themes/tile-manager.base.css.js +1 -1
  255. package/components/tile-manager/themes/tile-manager.base.css.js.map +1 -1
  256. package/components/tile-manager/tile-manager.js +4 -3
  257. package/components/tile-manager/tile-manager.js.map +1 -1
  258. package/components/tile-manager/tile.js +3 -4
  259. package/components/tile-manager/tile.js.map +1 -1
  260. package/components/toast/toast.js +3 -4
  261. package/components/toast/toast.js.map +1 -1
  262. package/components/tooltip/controller.js +4 -4
  263. package/components/tooltip/controller.js.map +1 -1
  264. package/components/tooltip/tooltip.js +3 -4
  265. package/components/tooltip/tooltip.js.map +1 -1
  266. package/components/tree/tree-item.js +3 -4
  267. package/components/tree/tree-item.js.map +1 -1
  268. package/components/tree/tree.js +4 -3
  269. package/components/tree/tree.js.map +1 -1
  270. package/components/validation-container/validation-container.js +3 -4
  271. package/components/validation-container/validation-container.js.map +1 -1
  272. package/custom-elements.json +2142 -2029
  273. package/igniteui-webcomponents.css-data.json +1 -1
  274. package/igniteui-webcomponents.html-data.json +1 -1
  275. package/package.json +24 -2
  276. package/web-types.json +2 -2
  277. package/components/list/themes/dark/header/list-header.bootstrap.css.d.ts +0 -1
  278. package/components/list/themes/dark/header/list-header.bootstrap.css.js +0 -3
  279. package/components/list/themes/dark/header/list-header.bootstrap.css.js.map +0 -1
  280. package/components/list/themes/dark/header/list-header.fluent.css.d.ts +0 -1
  281. package/components/list/themes/dark/header/list-header.fluent.css.js +0 -3
  282. package/components/list/themes/dark/header/list-header.fluent.css.js.map +0 -1
  283. package/components/list/themes/dark/header/list-header.indigo.css.d.ts +0 -1
  284. package/components/list/themes/dark/header/list-header.indigo.css.js +0 -3
  285. package/components/list/themes/dark/header/list-header.indigo.css.js.map +0 -1
  286. package/components/list/themes/dark/header/list-header.material.css.d.ts +0 -1
  287. package/components/list/themes/dark/header/list-header.material.css.js +0 -3
  288. package/components/list/themes/dark/header/list-header.material.css.js.map +0 -1
  289. package/components/list/themes/dark/item/list-item.bootstrap.css.d.ts +0 -1
  290. package/components/list/themes/dark/item/list-item.bootstrap.css.js +0 -3
  291. package/components/list/themes/dark/item/list-item.bootstrap.css.js.map +0 -1
  292. package/components/list/themes/dark/item/list-item.fluent.css.d.ts +0 -1
  293. package/components/list/themes/dark/item/list-item.fluent.css.js +0 -3
  294. package/components/list/themes/dark/item/list-item.fluent.css.js.map +0 -1
  295. package/components/list/themes/dark/item/list-item.indigo.css.d.ts +0 -1
  296. package/components/list/themes/dark/item/list-item.indigo.css.js +0 -3
  297. package/components/list/themes/dark/item/list-item.indigo.css.js.map +0 -1
  298. package/components/list/themes/dark/item/list-item.material.css.d.ts +0 -1
  299. package/components/list/themes/dark/item/list-item.material.css.js +0 -3
  300. package/components/list/themes/dark/item/list-item.material.css.js.map +0 -1
  301. package/components/list/themes/light/header/list-header.bootstrap.css.d.ts +0 -1
  302. package/components/list/themes/light/header/list-header.bootstrap.css.js +0 -3
  303. package/components/list/themes/light/header/list-header.bootstrap.css.js.map +0 -1
  304. package/components/list/themes/light/header/list-header.fluent.css.d.ts +0 -1
  305. package/components/list/themes/light/header/list-header.fluent.css.js +0 -3
  306. package/components/list/themes/light/header/list-header.fluent.css.js.map +0 -1
  307. package/components/list/themes/light/header/list-header.indigo.css.d.ts +0 -1
  308. package/components/list/themes/light/header/list-header.indigo.css.js +0 -3
  309. package/components/list/themes/light/header/list-header.indigo.css.js.map +0 -1
  310. package/components/list/themes/light/header/list-header.material.css.d.ts +0 -1
  311. package/components/list/themes/light/header/list-header.material.css.js +0 -3
  312. package/components/list/themes/light/header/list-header.material.css.js.map +0 -1
  313. package/components/list/themes/light/item/list-item.bootstrap.css.d.ts +0 -1
  314. package/components/list/themes/light/item/list-item.bootstrap.css.js +0 -3
  315. package/components/list/themes/light/item/list-item.bootstrap.css.js.map +0 -1
  316. package/components/list/themes/light/item/list-item.fluent.css.d.ts +0 -1
  317. package/components/list/themes/light/item/list-item.fluent.css.js +0 -3
  318. package/components/list/themes/light/item/list-item.fluent.css.js.map +0 -1
  319. package/components/list/themes/light/item/list-item.indigo.css.d.ts +0 -1
  320. package/components/list/themes/light/item/list-item.indigo.css.js +0 -3
  321. package/components/list/themes/light/item/list-item.indigo.css.js.map +0 -1
  322. package/components/list/themes/light/item/list-item.material.css.d.ts +0 -1
  323. package/components/list/themes/light/item/list-item.material.css.js +0 -3
  324. package/components/list/themes/light/item/list-item.material.css.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\n\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport {\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n endKey,\n enterKey,\n escapeKey,\n homeKey,\n type KeyBindingController,\n type KeyBindingObserverCleanup,\n tabKey,\n} from '../common/controllers/key-bindings.js';\nimport { addRootClickController } from '../common/controllers/root-click.js';\nimport { addRootScrollHandler } from '../common/controllers/root-scroll.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n getActiveItems,\n getItems,\n getNextActiveItem,\n getPreviousActiveItem,\n IgcBaseComboBoxLikeComponent,\n setInitialSelectionState,\n} from '../common/mixins/combo-box.js';\nimport type { AbstractConstructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport {\n findElementFromEventPath,\n getElementByIdFromRoot,\n isString,\n} from '../common/util.js';\nimport IgcPopoverComponent, {\n type PopoverPlacement,\n} from '../popover/popover.js';\nimport type { PopoverScrollStrategy } from '../types.js';\nimport IgcDropdownGroupComponent from './dropdown-group.js';\nimport IgcDropdownHeaderComponent from './dropdown-header.js';\nimport IgcDropdownItemComponent from './dropdown-item.js';\nimport { all } from './themes/container.js';\nimport { styles } from './themes/dropdown.base.css.js';\nimport { styles as shared } from './themes/shared/dropdown.common.css.js';\n\nexport interface IgcDropdownComponentEventMap {\n igcOpening: CustomEvent<void>;\n igcOpened: CustomEvent<void>;\n igcClosing: CustomEvent<void>;\n igcClosed: CustomEvent<void>;\n igcChange: CustomEvent<IgcDropdownItemComponent>;\n}\n\n/**\n * Represents a DropDown component.\n *\n * @element igc-dropdown\n *\n * @fires igcChange - Emitted when the selected item changes.\n * @fires igcOpening - Emitted just before the dropdown is open.\n * @fires igcOpened - Emitted after the dropdown is open.\n * @fires igcClosing - Emitter just before the dropdown is closed.\n * @fires igcClosed - Emitted after closing the dropdown.\n *\n * @slot target - Renders the dropdown's target element.\n * @slot - Renders the dropdown list items.\n *\n * @csspart base - The dropdown list wrapper container.\n * @csspart list - The dropdown list element.\n */\n@blazorAdditionalDependencies(\n 'IgcDropdownItemComponent, IgcDropdownHeaderComponent, IgcDropdownGroupComponent'\n)\nexport default class IgcDropdownComponent extends EventEmitterMixin<\n IgcDropdownComponentEventMap,\n AbstractConstructor<IgcBaseComboBoxLikeComponent>\n>(IgcBaseComboBoxLikeComponent) {\n public static readonly tagName = 'igc-dropdown';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n IgcDropdownComponent,\n IgcDropdownGroupComponent,\n IgcDropdownHeaderComponent,\n IgcDropdownItemComponent,\n IgcPopoverComponent\n );\n }\n\n private readonly _keyBindings: KeyBindingController;\n\n private _rootScrollController = addRootScrollHandler(this, {\n hideCallback: this.handleClosing,\n });\n\n protected override readonly _rootClickController = addRootClickController(\n this,\n {\n onHide: this.handleClosing,\n }\n );\n\n @state()\n protected _selectedItem: IgcDropdownItemComponent | null = null;\n\n @state()\n protected _activeItem!: IgcDropdownItemComponent;\n\n private get _activeItems() {\n return Array.from(\n getActiveItems<IgcDropdownItemComponent>(\n this,\n IgcDropdownItemComponent.tagName\n )\n );\n }\n\n private _targetListeners!: KeyBindingObserverCleanup;\n\n @state()\n private _target?: HTMLElement;\n\n @query('slot[name=\"target\"]', true)\n protected trigger!: HTMLSlotElement;\n\n /** The preferred placement of the component around the target element.\n * @attr\n */\n @property()\n public placement: PopoverPlacement = 'bottom-start';\n\n /**\n * Determines the behavior of the component during scrolling of the parent container.\n * @attr scroll-strategy\n */\n @property({ attribute: 'scroll-strategy' })\n public scrollStrategy: PopoverScrollStrategy = 'scroll';\n\n /**\n * Whether the component should be flipped to the opposite side of the target once it's about to overflow the visible area.\n * When true, once enough space is detected on its preferred side, it will flip back.\n * @attr\n */\n @property({ type: Boolean })\n public flip = false;\n\n /**\n * The distance from the target element.\n * @attr\n */\n @property({ type: Number })\n public distance = 0;\n\n /**\n * Whether the dropdown's width should be the same as the target's one.\n * @attr same-width\n */\n @property({ type: Boolean, attribute: 'same-width' })\n public sameWidth = false;\n\n /** Returns the items of the dropdown. */\n public get items() {\n return Array.from(\n getItems<IgcDropdownItemComponent>(this, IgcDropdownItemComponent.tagName)\n );\n }\n\n /** Returns the group items of the dropdown. */\n public get groups() {\n return Array.from(\n getItems<IgcDropdownGroupComponent>(\n this,\n IgcDropdownGroupComponent.tagName\n )\n );\n }\n\n /** Returns the selected item from the dropdown or null. */\n public get selectedItem() {\n return this._selectedItem;\n }\n\n @watch('scrollStrategy', { waitUntilFirstUpdate: true })\n protected scrollStrategyChanged() {\n this._rootScrollController.update({ resetListeners: true });\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n @watch('keepOpenOnOutsideClick', { waitUntilFirstUpdate: true })\n protected openStateChange() {\n this._updateAnchorAccessibility(this._target);\n this._rootClickController.update();\n this._rootScrollController.update();\n\n if (!this.open) {\n this._target = undefined;\n this._targetListeners?.unsubscribe();\n this._rootClickController.update({ target: undefined });\n }\n }\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n this._keyBindings = addKeybindings(this, {\n skip: () => !this.open,\n bindingDefaults: { preventDefault: true, triggers: ['keydownRepeat'] },\n })\n .set(tabKey, this.onTabKey, {\n preventDefault: false,\n })\n .set(escapeKey, this.onEscapeKey)\n .set(arrowUp, this.onArrowUp)\n .set(arrowLeft, this.onArrowUp)\n .set(arrowDown, this.onArrowDown)\n .set(arrowRight, this.onArrowDown)\n .set(enterKey, this.onEnterKey)\n .set(homeKey, this.onHomeKey)\n .set(endKey, this.onEndKey);\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n const selected = setInitialSelectionState(this.items);\n if (selected) {\n this._selectItem(selected, false);\n }\n }\n\n public override disconnectedCallback() {\n this._targetListeners?.unsubscribe();\n super.disconnectedCallback();\n }\n\n private handleListBoxClick(event: MouseEvent) {\n const item = findElementFromEventPath<IgcDropdownItemComponent>(\n IgcDropdownItemComponent.tagName,\n event\n );\n if (item && this._activeItems.includes(item)) {\n this._selectItem(item);\n }\n }\n\n private handleChange(item: IgcDropdownItemComponent) {\n this.emitEvent('igcChange', { detail: item });\n }\n\n private handleSlotChange() {\n this._updateAnchorAccessibility();\n }\n\n private onArrowUp() {\n this._navigateToActiveItem(\n getPreviousActiveItem(this.items, this._activeItem)\n );\n }\n\n private onArrowDown() {\n this._navigateToActiveItem(getNextActiveItem(this.items, this._activeItem));\n }\n\n protected onHomeKey() {\n this._navigateToActiveItem(this._activeItems.at(0));\n }\n\n protected onEndKey() {\n this._navigateToActiveItem(this._activeItems.at(-1));\n }\n\n protected onTabKey() {\n if (this._activeItem) {\n this._selectItem(this._activeItem);\n }\n if (this.open) {\n this._hide(true);\n }\n }\n\n protected onEscapeKey() {\n this._hide(true);\n }\n\n protected onEnterKey() {\n this._selectItem(this._activeItem);\n }\n\n protected handleClosing() {\n this._hide(true);\n }\n\n private activateItem(item: IgcDropdownItemComponent) {\n if (this._activeItem) {\n this._activeItem.active = false;\n }\n\n this._activeItem = item;\n this._activeItem.active = true;\n }\n\n private _navigateToActiveItem(item?: IgcDropdownItemComponent) {\n if (item) {\n this.activateItem(item);\n item.scrollIntoView({ behavior: 'auto', block: 'nearest' });\n }\n }\n\n private _selectItem(item: IgcDropdownItemComponent, emit = true) {\n if (this._selectedItem) {\n this._selectedItem.selected = false;\n }\n\n this.activateItem(item);\n this._selectedItem = item;\n this._selectedItem.selected = true;\n\n if (emit) this.handleChange(this._selectedItem);\n if (emit && !this.keepOpenOnSelect) this._hide(true);\n\n return this._selectedItem;\n }\n\n private _updateAnchorAccessibility(anchor?: HTMLElement | null) {\n const target =\n anchor ?? this.trigger.assignedElements({ flatten: true }).at(0);\n\n // Find tabbable elements ?\n if (target) {\n target.setAttribute('aria-haspopup', 'true');\n target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n }\n\n private getItem(value: string) {\n return this.items.find((item) => item.value === value);\n }\n\n private _setTarget(anchor: HTMLElement | string) {\n const target = isString(anchor)\n ? getElementByIdFromRoot(this, anchor)!\n : anchor;\n\n this._target = target;\n this._targetListeners = this._keyBindings.observeElement(target);\n this._rootClickController.update({ target });\n }\n\n /* blazorSuppress */\n /** Shows the component. */\n public override async show(target?: HTMLElement | string): Promise<boolean> {\n if (target) {\n this._setTarget(target);\n }\n return super.show();\n }\n\n /* blazorSuppress */\n /** Toggles the open state of the component. */\n public override async toggle(\n target?: HTMLElement | string\n ): Promise<boolean> {\n return this.open ? this.hide() : this.show(target);\n }\n\n /* blazorSuppress */\n /** Navigates to the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string): IgcDropdownItemComponent | null;\n /* blazorSuppress */\n /** Navigates to the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public navigateTo(index: number): IgcDropdownItemComponent | null;\n /* blazorSuppress */\n /** Navigates to the specified item. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string | number): IgcDropdownItemComponent | null {\n const item = isString(value) ? this.getItem(value) : this.items[value];\n\n if (item) {\n this._navigateToActiveItem(item);\n }\n\n return item ?? null;\n }\n\n /* blazorSuppress */\n /** Selects the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public select(value: string): IgcDropdownItemComponent | null;\n /* blazorSuppress */\n /** Selects the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public select(index: number): IgcDropdownItemComponent | null;\n /* blazorSuppress */\n /** Selects the specified item. If it exists, returns the found item, otherwise - null. */\n public select(value: string | number): IgcDropdownItemComponent | null {\n const item = isString(value) ? this.getItem(value) : this.items[value];\n return item ? this._selectItem(item, false) : null;\n }\n\n /** Clears the current selection of the dropdown. */\n public clearSelection() {\n if (this._selectedItem) {\n this._selectedItem.selected = false;\n }\n this._selectedItem = null;\n }\n\n protected override render() {\n return html`<igc-popover\n ?open=${this.open}\n ?flip=${this.flip}\n ?same-width=${this.sameWidth}\n .anchor=${this._target}\n .offset=${this.distance}\n .placement=${this.placement}\n shift\n >\n <slot\n id=\"dropdown-target\"\n name=\"target\"\n slot=\"anchor\"\n @click=${this.handleAnchorClick}\n @slotchange=${this.handleSlotChange}\n ></slot>\n <div part=\"base\" @click=${this.handleListBoxClick} .inert=${!this.open}>\n <div\n id=\"dropdown-list\"\n role=\"listbox\"\n part=\"list\"\n aria-labelledby=\"dropdown-target\"\n >\n <slot></slot>\n </div>\n </div>\n </igc-popover>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown': IgcDropdownComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\n\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport {\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n endKey,\n enterKey,\n escapeKey,\n homeKey,\n type KeyBindingController,\n type KeyBindingObserverCleanup,\n tabKey,\n} from '../common/controllers/key-bindings.js';\nimport { addRootClickController } from '../common/controllers/root-click.js';\nimport { addRootScrollHandler } from '../common/controllers/root-scroll.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n getActiveItems,\n getItems,\n getNextActiveItem,\n getPreviousActiveItem,\n IgcBaseComboBoxLikeComponent,\n setInitialSelectionState,\n} from '../common/mixins/combo-box.js';\nimport type { AbstractConstructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport {\n findElementFromEventPath,\n getElementByIdFromRoot,\n isString,\n} from '../common/util.js';\nimport IgcPopoverComponent, {\n type PopoverPlacement,\n} from '../popover/popover.js';\nimport type { PopoverScrollStrategy } from '../types.js';\nimport IgcDropdownGroupComponent from './dropdown-group.js';\nimport IgcDropdownHeaderComponent from './dropdown-header.js';\nimport IgcDropdownItemComponent from './dropdown-item.js';\nimport { all } from './themes/container.js';\nimport { styles } from './themes/dropdown.base.css.js';\nimport { styles as shared } from './themes/shared/dropdown.common.css.js';\n\nexport interface IgcDropdownComponentEventMap {\n igcOpening: CustomEvent<void>;\n igcOpened: CustomEvent<void>;\n igcClosing: CustomEvent<void>;\n igcClosed: CustomEvent<void>;\n igcChange: CustomEvent<IgcDropdownItemComponent>;\n}\n\n/**\n * Represents a DropDown component.\n *\n * @element igc-dropdown\n *\n * @fires igcChange - Emitted when the selected item changes.\n * @fires igcOpening - Emitted just before the dropdown is open.\n * @fires igcOpened - Emitted after the dropdown is open.\n * @fires igcClosing - Emitter just before the dropdown is closed.\n * @fires igcClosed - Emitted after closing the dropdown.\n *\n * @slot target - Renders the dropdown's target element.\n * @slot - Renders the dropdown list items.\n *\n * @csspart base - The dropdown list wrapper container.\n * @csspart list - The dropdown list element.\n */\n@blazorAdditionalDependencies(\n 'IgcDropdownItemComponent, IgcDropdownHeaderComponent, IgcDropdownGroupComponent'\n)\nexport default class IgcDropdownComponent extends EventEmitterMixin<\n IgcDropdownComponentEventMap,\n AbstractConstructor<IgcBaseComboBoxLikeComponent>\n>(IgcBaseComboBoxLikeComponent) {\n public static readonly tagName = 'igc-dropdown';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n IgcDropdownComponent,\n IgcDropdownGroupComponent,\n IgcDropdownHeaderComponent,\n IgcDropdownItemComponent,\n IgcPopoverComponent\n );\n }\n\n private readonly _keyBindings: KeyBindingController;\n\n private _rootScrollController = addRootScrollHandler(this, {\n hideCallback: this.handleClosing,\n });\n\n protected override readonly _rootClickController = addRootClickController(\n this,\n {\n onHide: this.handleClosing,\n }\n );\n\n @state()\n protected _selectedItem: IgcDropdownItemComponent | null = null;\n\n @state()\n protected _activeItem!: IgcDropdownItemComponent;\n\n private get _activeItems() {\n return Array.from(\n getActiveItems<IgcDropdownItemComponent>(\n this,\n IgcDropdownItemComponent.tagName\n )\n );\n }\n\n private _targetListeners!: KeyBindingObserverCleanup;\n\n @state()\n private _target?: HTMLElement;\n\n @query('slot[name=\"target\"]', true)\n protected trigger!: HTMLSlotElement;\n\n /** The preferred placement of the component around the target element.\n * @attr\n */\n @property()\n public placement: PopoverPlacement = 'bottom-start';\n\n /**\n * Determines the behavior of the component during scrolling of the parent container.\n * @attr scroll-strategy\n */\n @property({ attribute: 'scroll-strategy' })\n public scrollStrategy: PopoverScrollStrategy = 'scroll';\n\n /**\n * Whether the component should be flipped to the opposite side of the target once it's about to overflow the visible area.\n * When true, once enough space is detected on its preferred side, it will flip back.\n * @attr\n */\n @property({ type: Boolean })\n public flip = false;\n\n /**\n * The distance from the target element.\n * @attr\n */\n @property({ type: Number })\n public distance = 0;\n\n /**\n * Whether the dropdown's width should be the same as the target's one.\n * @attr same-width\n */\n @property({ type: Boolean, attribute: 'same-width' })\n public sameWidth = false;\n\n /** Returns the items of the dropdown. */\n public get items() {\n return Array.from(\n getItems<IgcDropdownItemComponent>(this, IgcDropdownItemComponent.tagName)\n );\n }\n\n /** Returns the group items of the dropdown. */\n public get groups() {\n return Array.from(\n getItems<IgcDropdownGroupComponent>(\n this,\n IgcDropdownGroupComponent.tagName\n )\n );\n }\n\n /** Returns the selected item from the dropdown or null. */\n public get selectedItem() {\n return this._selectedItem;\n }\n\n @watch('scrollStrategy', { waitUntilFirstUpdate: true })\n protected scrollStrategyChanged() {\n this._rootScrollController.update({ resetListeners: true });\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n @watch('keepOpenOnOutsideClick', { waitUntilFirstUpdate: true })\n protected openStateChange() {\n this._updateAnchorAccessibility(this._target);\n this._rootClickController.update();\n this._rootScrollController.update();\n\n if (!this.open) {\n this._target = undefined;\n this._targetListeners?.unsubscribe();\n this._rootClickController.update({ target: undefined });\n }\n }\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n this._keyBindings = addKeybindings(this, {\n skip: () => !this.open,\n bindingDefaults: { preventDefault: true, triggers: ['keydownRepeat'] },\n })\n .set(tabKey, this.onTabKey, {\n preventDefault: false,\n })\n .set(escapeKey, this.onEscapeKey)\n .set(arrowUp, this.onArrowUp)\n .set(arrowLeft, this.onArrowUp)\n .set(arrowDown, this.onArrowDown)\n .set(arrowRight, this.onArrowDown)\n .set(enterKey, this.onEnterKey)\n .set(homeKey, this.onHomeKey)\n .set(endKey, this.onEndKey);\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n const selected = setInitialSelectionState(this.items);\n if (selected) {\n this._selectItem(selected, false);\n }\n }\n\n public override disconnectedCallback() {\n this._targetListeners?.unsubscribe();\n super.disconnectedCallback();\n }\n\n private handleListBoxClick(event: MouseEvent) {\n const item = findElementFromEventPath<IgcDropdownItemComponent>(\n IgcDropdownItemComponent.tagName,\n event\n );\n if (item && this._activeItems.includes(item)) {\n this._selectItem(item);\n }\n }\n\n private handleChange(item: IgcDropdownItemComponent) {\n this.emitEvent('igcChange', { detail: item });\n }\n\n private handleSlotChange() {\n this._updateAnchorAccessibility();\n }\n\n private onArrowUp() {\n this._navigateToActiveItem(\n getPreviousActiveItem(this.items, this._activeItem)\n );\n }\n\n private onArrowDown() {\n this._navigateToActiveItem(getNextActiveItem(this.items, this._activeItem));\n }\n\n protected onHomeKey() {\n this._navigateToActiveItem(this._activeItems.at(0));\n }\n\n protected onEndKey() {\n this._navigateToActiveItem(this._activeItems.at(-1));\n }\n\n protected onTabKey() {\n if (this._activeItem) {\n this._selectItem(this._activeItem);\n }\n if (this.open) {\n this._hide(true);\n }\n }\n\n protected onEscapeKey() {\n this._hide(true);\n }\n\n protected onEnterKey() {\n this._selectItem(this._activeItem);\n }\n\n protected handleClosing() {\n this._hide(true);\n }\n\n private activateItem(item: IgcDropdownItemComponent) {\n if (this._activeItem) {\n this._activeItem.active = false;\n }\n\n this._activeItem = item;\n this._activeItem.active = true;\n }\n\n private _navigateToActiveItem(item?: IgcDropdownItemComponent) {\n if (item) {\n this.activateItem(item);\n item.scrollIntoView({ behavior: 'auto', block: 'nearest' });\n }\n }\n\n private _selectItem(item: IgcDropdownItemComponent, emit = true) {\n if (this._selectedItem) {\n this._selectedItem.selected = false;\n }\n\n this.activateItem(item);\n this._selectedItem = item;\n this._selectedItem.selected = true;\n\n if (emit) this.handleChange(this._selectedItem);\n if (emit && !this.keepOpenOnSelect) this._hide(true);\n\n return this._selectedItem;\n }\n\n private _updateAnchorAccessibility(anchor?: HTMLElement | null) {\n const target =\n anchor ?? this.trigger.assignedElements({ flatten: true }).at(0);\n\n // Find tabbable elements ?\n if (target) {\n target.setAttribute('aria-haspopup', 'true');\n target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n }\n\n private getItem(value: string) {\n return this.items.find((item) => item.value === value);\n }\n\n private _setTarget(anchor: HTMLElement | string) {\n const target = isString(anchor)\n ? getElementByIdFromRoot(this, anchor)!\n : anchor;\n\n this._target = target;\n this._targetListeners = this._keyBindings.observeElement(target);\n this._rootClickController.update({ target });\n }\n\n /* blazorSuppress */\n /** Shows the component. */\n public override async show(target?: HTMLElement | string): Promise<boolean> {\n if (target) {\n this._setTarget(target);\n }\n return super.show();\n }\n\n /* blazorSuppress */\n /** Toggles the open state of the component. */\n public override async toggle(\n target?: HTMLElement | string\n ): Promise<boolean> {\n return this.open ? this.hide() : this.show(target);\n }\n\n /* blazorSuppress */\n /** Navigates to the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string): IgcDropdownItemComponent | null;\n /* blazorSuppress */\n /** Navigates to the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public navigateTo(index: number): IgcDropdownItemComponent | null;\n /* blazorSuppress */\n /** Navigates to the specified item. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string | number): IgcDropdownItemComponent | null {\n const item = isString(value) ? this.getItem(value) : this.items[value];\n\n if (item) {\n this._navigateToActiveItem(item);\n }\n\n return item ?? null;\n }\n\n /* blazorSuppress */\n /** Selects the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public select(value: string): IgcDropdownItemComponent | null;\n /* blazorSuppress */\n /** Selects the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public select(index: number): IgcDropdownItemComponent | null;\n /* blazorSuppress */\n /** Selects the specified item. If it exists, returns the found item, otherwise - null. */\n public select(value: string | number): IgcDropdownItemComponent | null {\n const item = isString(value) ? this.getItem(value) : this.items[value];\n return item ? this._selectItem(item, false) : null;\n }\n\n /** Clears the current selection of the dropdown. */\n public clearSelection() {\n if (this._selectedItem) {\n this._selectedItem.selected = false;\n }\n this._selectedItem = null;\n }\n\n protected override render() {\n return html`<igc-popover\n ?open=${this.open}\n ?flip=${this.flip}\n ?same-width=${this.sameWidth}\n .anchor=${this._target}\n .offset=${this.distance}\n .placement=${this.placement}\n shift\n >\n <slot\n id=\"dropdown-target\"\n name=\"target\"\n slot=\"anchor\"\n @click=${this.handleAnchorClick}\n @slotchange=${this.handleSlotChange}\n ></slot>\n <div part=\"base\" @click=${this.handleListBoxClick} .inert=${!this.open}>\n <div\n id=\"dropdown-list\"\n role=\"listbox\"\n part=\"list\"\n aria-labelledby=\"dropdown-target\"\n >\n <slot></slot>\n </div>\n </div>\n </igc-popover>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown': IgcDropdownComponent;\n }\n}\n"]}
@@ -19,7 +19,9 @@ import { styles } from './themes/expansion-panel.base.css.js';
19
19
  import { styles as shared } from './themes/shared/expansion-panel.common.css.js';
20
20
  import { all } from './themes/themes.js';
21
21
  let nextId = 1;
22
- class IgcExpansionPanelComponent extends EventEmitterMixin(LitElement) {
22
+ export default class IgcExpansionPanelComponent extends EventEmitterMixin(LitElement) {
23
+ static { this.tagName = 'igc-expansion-panel'; }
24
+ static { this.styles = [styles, shared]; }
23
25
  static register() {
24
26
  registerComponent(IgcExpansionPanelComponent, IgcIconComponent);
25
27
  }
@@ -154,9 +156,6 @@ class IgcExpansionPanelComponent extends EventEmitterMixin(LitElement) {
154
156
  return html `${this._renderHeader()}${this._renderPanel()}`;
155
157
  }
156
158
  }
157
- IgcExpansionPanelComponent.tagName = 'igc-expansion-panel';
158
- IgcExpansionPanelComponent.styles = [styles, shared];
159
- export default IgcExpansionPanelComponent;
160
159
  __decorate([
161
160
  property({ type: Boolean, reflect: true })
162
161
  ], IgcExpansionPanelComponent.prototype, "open", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"expansion-panel.js","sourceRoot":"","sources":["../../../src/components/expansion-panel/expansion-panel.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { addAnimationController } from '../../animations/player.js';\nimport { growVerIn, growVerOut } from '../../animations/presets/grow/index.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport {\n addKeybindings,\n altKey,\n arrowDown,\n arrowUp,\n} from '../common/controllers/key-bindings.js';\nimport { addSlotController, setSlots } from '../common/controllers/slot.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 IgcIconComponent from '../icon/icon.js';\nimport type { ExpansionPanelIndicatorPosition } from '../types.js';\nimport { styles } from './themes/expansion-panel.base.css.js';\nimport { styles as shared } from './themes/shared/expansion-panel.common.css.js';\nimport { all } from './themes/themes.js';\n\nexport interface IgcExpansionPanelComponentEventMap {\n igcOpening: CustomEvent<IgcExpansionPanelComponent>;\n igcOpened: CustomEvent<IgcExpansionPanelComponent>;\n igcClosing: CustomEvent<IgcExpansionPanelComponent>;\n igcClosed: CustomEvent<IgcExpansionPanelComponent>;\n}\n\nlet nextId = 1;\n\n/**\n * The Expansion Panel Component provides a way to display information in a toggleable way -\n * compact summary view containing title and description and expanded detail view containing\n * additional content to the summary header.\n *\n * @element igc-expansion-panel\n *\n * @slot - renders the default content of the panel\n * @slot title - renders the title of the panel's header\n * @slot subtitle - renders the subtitle of the panel's header\n * @slot indicator - renders the expand/collapsed indicator\n * @slot indicator-expanded - renders the expanded state of the indicator\n *\n * @fires igcOpening - Emitted before opening the expansion panel.\n * @fires igcOpened - Emitted after the expansion panel is opened.\n * @fires igcClosing - Emitted before closing the expansion panel.\n * @fires igcClosed - Emitted after the expansion panel is closed.\n *\n * @csspart header - The container of the expansion indicator, title and subtitle.\n * @csspart title - The title container.\n * @csspart subtitle - The subtitle container.\n * @csspart indicator - The indicator container.\n * @csspart content - The expansion panel's content wrapper.\n */\nexport default class IgcExpansionPanelComponent extends EventEmitterMixin<\n IgcExpansionPanelComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-expansion-panel';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcExpansionPanelComponent, IgcIconComponent);\n }\n\n private _panelId = `${IgcExpansionPanelComponent.tagName}-${nextId++}`;\n private readonly _headerRef = createRef<HTMLElement>();\n private readonly _contentRef = createRef<HTMLElement>();\n\n private readonly _player = addAnimationController(this, this._contentRef);\n private readonly _slots = addSlotController(this, {\n slots: setSlots('title', 'subtitle', 'indicator', 'indicator-expanded'),\n });\n\n /**\n * Indicates whether the contents of the control should be visible.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n /**\n * Get/Set whether the expansion panel is disabled. Disabled panels are ignored for user interactions.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /**\n * The indicator position of the expansion panel.\n * @attr indicator-position\n */\n @property({ reflect: true, attribute: 'indicator-position' })\n public indicatorPosition: ExpansionPanelIndicatorPosition = 'start';\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n addKeybindings(this, {\n ref: this._headerRef,\n skip: () => this.disabled,\n })\n .setActivateHandler(this._toggleWithEvent)\n .set([altKey, arrowDown], this._openWithEvent)\n .set([altKey, arrowUp], this._closeWithEvent);\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this._panelId = this.id || this._panelId;\n }\n\n private _handleClick(): void {\n this._headerRef.value!.focus();\n this._toggleWithEvent();\n }\n\n private _toggleWithEvent(): void {\n this.open ? this._closeWithEvent() : this._openWithEvent();\n }\n\n private async _toggleAnimation(dir: 'open' | 'close'): Promise<boolean> {\n const animation = dir === 'open' ? growVerIn : growVerOut;\n\n const [_, event] = await Promise.all([\n this._player.stopAll(),\n this._player.play(animation()),\n ]);\n\n return event.type === 'finish';\n }\n\n private async _openWithEvent(): Promise<void> {\n if (\n this.open ||\n !this.emitEvent('igcOpening', { cancelable: true, detail: this })\n ) {\n return;\n }\n\n this.open = true;\n\n if (await this._toggleAnimation('open')) {\n this.emitEvent('igcOpened', { detail: this });\n }\n }\n\n private async _closeWithEvent(): Promise<void> {\n if (\n !(\n this.open &&\n this.emitEvent('igcClosing', { cancelable: true, detail: this })\n )\n ) {\n return;\n }\n\n this.open = false;\n\n if (await this._toggleAnimation('close')) {\n this.emitEvent('igcClosed', { detail: this });\n }\n }\n\n /** Toggles the panel open/close state. */\n public async toggle(): Promise<boolean> {\n return this.open ? this.hide() : this.show();\n }\n\n /** Hides the panel content. */\n public async hide(): Promise<boolean> {\n if (!this.open) {\n return false;\n }\n\n this.open = false;\n await this._toggleAnimation('close');\n return true;\n }\n\n /** Shows the panel content. */\n public async show(): Promise<boolean> {\n if (this.open) {\n return false;\n }\n\n this.open = true;\n await this._toggleAnimation('open');\n return true;\n }\n\n private _renderIndicator() {\n const iconName = this.open ? 'collapse' : 'expand';\n const indicatorHidden =\n this.open && this._slots.hasAssignedElements('indicator-expanded');\n\n return html`\n <div part=\"indicator\" aria-hidden=\"true\">\n <slot name=\"indicator\" ?hidden=${indicatorHidden}>\n <igc-icon name=${iconName} collection=\"default\"></igc-icon>\n </slot>\n <slot name=\"indicator-expanded\" ?hidden=${!indicatorHidden}></slot>\n </div>\n `;\n }\n\n private _renderHeader() {\n return html`\n <div\n ${ref(this._headerRef)}\n part=\"header\"\n id=\"${this._panelId}-header\"\n role=\"button\"\n aria-expanded=${this.open}\n aria-disabled=${this.disabled}\n aria-controls=\"${this._panelId}-content\"\n tabindex=${this.disabled ? '-1' : '0'}\n @click=${this.disabled ? nothing : this._handleClick}\n >\n ${this._renderIndicator()}\n <div>\n <slot name=\"title\" part=\"title\"></slot>\n <slot name=\"subtitle\" part=\"subtitle\"></slot>\n </div>\n </div>\n `;\n }\n\n private _renderPanel() {\n return html`\n <div\n ${ref(this._contentRef)}\n part=\"content\"\n role=\"region\"\n id=\"${this._panelId}-content\"\n aria-labelledby=\"${this._panelId}-header\"\n .inert=${!this.open}\n aria-hidden=${!this.open}\n >\n <slot></slot>\n </div>\n `;\n }\n\n protected override render() {\n return html`${this._renderHeader()}${this._renderPanel()}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-expansion-panel': IgcExpansionPanelComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"expansion-panel.js","sourceRoot":"","sources":["../../../src/components/expansion-panel/expansion-panel.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\nimport { addAnimationController } from '../../animations/player.js';\nimport { growVerIn, growVerOut } from '../../animations/presets/grow/index.js';\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport {\n addKeybindings,\n altKey,\n arrowDown,\n arrowUp,\n} from '../common/controllers/key-bindings.js';\nimport { addSlotController, setSlots } from '../common/controllers/slot.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 IgcIconComponent from '../icon/icon.js';\nimport type { ExpansionPanelIndicatorPosition } from '../types.js';\nimport { styles } from './themes/expansion-panel.base.css.js';\nimport { styles as shared } from './themes/shared/expansion-panel.common.css.js';\nimport { all } from './themes/themes.js';\n\nexport interface IgcExpansionPanelComponentEventMap {\n igcOpening: CustomEvent<IgcExpansionPanelComponent>;\n igcOpened: CustomEvent<IgcExpansionPanelComponent>;\n igcClosing: CustomEvent<IgcExpansionPanelComponent>;\n igcClosed: CustomEvent<IgcExpansionPanelComponent>;\n}\n\nlet nextId = 1;\n\n/**\n * The Expansion Panel Component provides a way to display information in a toggleable way -\n * compact summary view containing title and description and expanded detail view containing\n * additional content to the summary header.\n *\n * @element igc-expansion-panel\n *\n * @slot - renders the default content of the panel\n * @slot title - renders the title of the panel's header\n * @slot subtitle - renders the subtitle of the panel's header\n * @slot indicator - renders the expand/collapsed indicator\n * @slot indicator-expanded - renders the expanded state of the indicator\n *\n * @fires igcOpening - Emitted before opening the expansion panel.\n * @fires igcOpened - Emitted after the expansion panel is opened.\n * @fires igcClosing - Emitted before closing the expansion panel.\n * @fires igcClosed - Emitted after the expansion panel is closed.\n *\n * @csspart header - The container of the expansion indicator, title and subtitle.\n * @csspart title - The title container.\n * @csspart subtitle - The subtitle container.\n * @csspart indicator - The indicator container.\n * @csspart content - The expansion panel's content wrapper.\n */\nexport default class IgcExpansionPanelComponent extends EventEmitterMixin<\n IgcExpansionPanelComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-expansion-panel';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcExpansionPanelComponent, IgcIconComponent);\n }\n\n private _panelId = `${IgcExpansionPanelComponent.tagName}-${nextId++}`;\n private readonly _headerRef = createRef<HTMLElement>();\n private readonly _contentRef = createRef<HTMLElement>();\n\n private readonly _player = addAnimationController(this, this._contentRef);\n private readonly _slots = addSlotController(this, {\n slots: setSlots('title', 'subtitle', 'indicator', 'indicator-expanded'),\n });\n\n /**\n * Indicates whether the contents of the control should be visible.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n /**\n * Get/Set whether the expansion panel is disabled. Disabled panels are ignored for user interactions.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /**\n * The indicator position of the expansion panel.\n * @attr indicator-position\n */\n @property({ reflect: true, attribute: 'indicator-position' })\n public indicatorPosition: ExpansionPanelIndicatorPosition = 'start';\n\n constructor() {\n super();\n\n addThemingController(this, all);\n\n addKeybindings(this, {\n ref: this._headerRef,\n skip: () => this.disabled,\n })\n .setActivateHandler(this._toggleWithEvent)\n .set([altKey, arrowDown], this._openWithEvent)\n .set([altKey, arrowUp], this._closeWithEvent);\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this._panelId = this.id || this._panelId;\n }\n\n private _handleClick(): void {\n this._headerRef.value!.focus();\n this._toggleWithEvent();\n }\n\n private _toggleWithEvent(): void {\n this.open ? this._closeWithEvent() : this._openWithEvent();\n }\n\n private async _toggleAnimation(dir: 'open' | 'close'): Promise<boolean> {\n const animation = dir === 'open' ? growVerIn : growVerOut;\n\n const [_, event] = await Promise.all([\n this._player.stopAll(),\n this._player.play(animation()),\n ]);\n\n return event.type === 'finish';\n }\n\n private async _openWithEvent(): Promise<void> {\n if (\n this.open ||\n !this.emitEvent('igcOpening', { cancelable: true, detail: this })\n ) {\n return;\n }\n\n this.open = true;\n\n if (await this._toggleAnimation('open')) {\n this.emitEvent('igcOpened', { detail: this });\n }\n }\n\n private async _closeWithEvent(): Promise<void> {\n if (\n !(\n this.open &&\n this.emitEvent('igcClosing', { cancelable: true, detail: this })\n )\n ) {\n return;\n }\n\n this.open = false;\n\n if (await this._toggleAnimation('close')) {\n this.emitEvent('igcClosed', { detail: this });\n }\n }\n\n /** Toggles the panel open/close state. */\n public async toggle(): Promise<boolean> {\n return this.open ? this.hide() : this.show();\n }\n\n /** Hides the panel content. */\n public async hide(): Promise<boolean> {\n if (!this.open) {\n return false;\n }\n\n this.open = false;\n await this._toggleAnimation('close');\n return true;\n }\n\n /** Shows the panel content. */\n public async show(): Promise<boolean> {\n if (this.open) {\n return false;\n }\n\n this.open = true;\n await this._toggleAnimation('open');\n return true;\n }\n\n private _renderIndicator() {\n const iconName = this.open ? 'collapse' : 'expand';\n const indicatorHidden =\n this.open && this._slots.hasAssignedElements('indicator-expanded');\n\n return html`\n <div part=\"indicator\" aria-hidden=\"true\">\n <slot name=\"indicator\" ?hidden=${indicatorHidden}>\n <igc-icon name=${iconName} collection=\"default\"></igc-icon>\n </slot>\n <slot name=\"indicator-expanded\" ?hidden=${!indicatorHidden}></slot>\n </div>\n `;\n }\n\n private _renderHeader() {\n return html`\n <div\n ${ref(this._headerRef)}\n part=\"header\"\n id=\"${this._panelId}-header\"\n role=\"button\"\n aria-expanded=${this.open}\n aria-disabled=${this.disabled}\n aria-controls=\"${this._panelId}-content\"\n tabindex=${this.disabled ? '-1' : '0'}\n @click=${this.disabled ? nothing : this._handleClick}\n >\n ${this._renderIndicator()}\n <div>\n <slot name=\"title\" part=\"title\"></slot>\n <slot name=\"subtitle\" part=\"subtitle\"></slot>\n </div>\n </div>\n `;\n }\n\n private _renderPanel() {\n return html`\n <div\n ${ref(this._contentRef)}\n part=\"content\"\n role=\"region\"\n id=\"${this._panelId}-content\"\n aria-labelledby=\"${this._panelId}-header\"\n .inert=${!this.open}\n aria-hidden=${!this.open}\n >\n <slot></slot>\n </div>\n `;\n }\n\n protected override render() {\n return html`${this._renderHeader()}${this._renderPanel()}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-expansion-panel': IgcExpansionPanelComponent;\n }\n}\n"]}
@@ -19,7 +19,9 @@ import IgcValidationContainerComponent from '../validation-container/validation-
19
19
  import { styles } from './themes/file-input.base.css.js';
20
20
  import { all } from './themes/themes.js';
21
21
  import { fileValidators } from './validators.js';
22
- class IgcFileInputComponent extends EventEmitterMixin(IgcInputBaseComponent) {
22
+ export default class IgcFileInputComponent extends EventEmitterMixin(IgcInputBaseComponent) {
23
+ static { this.tagName = 'igc-file-input'; }
24
+ static { this.styles = [...IgcInputBaseComponent.styles, styles]; }
23
25
  static register() {
24
26
  registerComponent(IgcFileInputComponent, IgcValidationContainerComponent, IgcButtonComponent);
25
27
  }
@@ -124,9 +126,6 @@ class IgcFileInputComponent extends EventEmitterMixin(IgcInputBaseComponent) {
124
126
  `;
125
127
  }
126
128
  }
127
- IgcFileInputComponent.tagName = 'igc-file-input';
128
- IgcFileInputComponent.styles = [...IgcInputBaseComponent.styles, styles];
129
- export default IgcFileInputComponent;
130
129
  __decorate([
131
130
  state()
132
131
  ], IgcFileInputComponent.prototype, "_hasActivation", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"file-input.js","sourceRoot":"","sources":["../../../src/components/file-input/file-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\n\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport IgcButtonComponent from '../button/button.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { AbstractConstructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormValueFileListTransformers } from '../common/mixins/forms/form-transformers.js';\nimport { createFormValueState } from '../common/mixins/forms/form-value.js';\nimport { partMap } from '../common/part-map.js';\nimport { bindIf, hasFiles, isEmpty } from '../common/util.js';\nimport {\n IgcInputBaseComponent,\n type IgcInputComponentEventMap,\n} from '../input/input-base.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.js';\nimport { styles } from './themes/file-input.base.css.js';\nimport { all } from './themes/themes.js';\nimport { fileValidators } from './validators.js';\n\nexport interface IgcFileInputComponentEventMap\n extends Omit<IgcInputComponentEventMap, 'igcChange' | 'igcInput'> {\n igcCancel: CustomEvent<FileList>;\n igcChange: CustomEvent<FileList>;\n}\n\n/* blazorSuppress */\n/**\n * @element igc-file-input\n *\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot helper-text - Renders content below the input.\n * @slot file-selector-text - Renders content for the browse button when input type is file.\n * @slot file-missing-text - Renders content when input type is file and no file is chosen.\n * @slot value-missing - Renders content when the required validation fails.\n * @slot custom-error - Renders content when setCustomValidity(message) is set.\n * @slot invalid - Renders content when the component is in invalid state (validity.valid = false).\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcCancel - Emitted when the control's file picker dialog is canceled.\n *\n * @csspart container - The main wrapper that holds all main input elements.\n * @csspart input - The native input element.\n * @csspart label - The native label element.\n * @csspart file-names - The file names wrapper when input type is 'file'.\n * @csspart file-selector-button - The browse button when input type is 'file'.\n * @csspart prefix - The prefix wrapper.\n * @csspart suffix - The suffix wrapper.\n * @csspart helper-text - The helper text wrapper.\n */\nexport default class IgcFileInputComponent extends EventEmitterMixin<\n IgcFileInputComponentEventMap,\n AbstractConstructor<IgcInputBaseComponent>\n>(IgcInputBaseComponent) {\n public static readonly tagName = 'igc-file-input';\n public static styles = [...IgcInputBaseComponent.styles, styles];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(\n IgcFileInputComponent,\n IgcValidationContainerComponent,\n IgcButtonComponent\n );\n }\n\n protected override get __validators() {\n return fileValidators;\n }\n\n protected override readonly _formValue = createFormValueState(this, {\n initialValue: null,\n transformers: FormValueFileListTransformers,\n });\n\n @state()\n private _hasActivation = false;\n\n private get _fileNames(): string | null {\n return hasFiles(this)\n ? Array.from(this.files!)\n .map((file) => file.name)\n .join(', ')\n : null;\n }\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail\", false) */\n /**\n * The value of the control.\n * @attr\n */\n @property()\n public set value(value: string) {\n if (value === '' && this.input) {\n this.input.value = value;\n }\n }\n\n public get value(): string {\n return this.input?.value ?? '';\n }\n\n /**\n * The multiple attribute of the control.\n * Used to indicate that a file input allows the user to select more than one file.\n * @attr\n */\n @property({ type: Boolean })\n public multiple = false;\n\n /**\n * The accept attribute of the control.\n * Defines the file types as a list of comma-separated values that the file input should accept.\n * @attr\n */\n @property({ type: String })\n public accept = '';\n\n /**\n * The autofocus attribute of the control.\n * @attr\n */\n @property({ type: Boolean })\n public override autofocus!: boolean;\n\n /** @hidden */\n @property({ type: Boolean, attribute: false, noAccessor: true })\n public override readonly readOnly = false;\n\n /** Returns the selected files, if any; otherwise returns null. */\n public get files(): FileList | null {\n return this.input?.files ?? null;\n }\n\n constructor() {\n super();\n addThemingController(this, all);\n }\n\n protected override _restoreDefaultValue(): void {\n this.input.value = '';\n super._restoreDefaultValue();\n }\n\n /* c8 ignore next 2 */\n /** @hidden */\n public override setSelectionRange(): void {}\n\n /* c8 ignore next 2 */\n /** @hidden */\n public override setRangeText(): void {}\n\n private _handleChange(): void {\n this._hasActivation = false;\n this._setTouchedState();\n this._formValue.setValueAndFormState(this.files);\n\n this.requestUpdate();\n this.emitEvent('igcChange', { detail: this.files! });\n }\n\n private _handleCancel(): void {\n this._hasActivation = false;\n this._setTouchedState();\n this._validate();\n\n this.emitEvent('igcCancel', {\n detail: this.files!,\n });\n }\n\n protected override _handleBlur(): void {\n this._hasActivation ? this._validate() : super._handleBlur();\n }\n\n /* c8 ignore next 3 */\n protected _handleClick(): void {\n this._hasActivation = true;\n }\n\n protected override renderFileParts() {\n const emptyText = this.placeholder ?? 'No file chosen';\n\n return html`\n <div part=\"file-parts\">\n <div part=\"file-selector-button\">\n <igc-button variant=\"flat\" ?disabled=${this.disabled} tabindex=\"-1\">\n <slot name=\"file-selector-text\">Browse</slot>\n </igc-button>\n </div>\n <div part=\"file-names\">\n <span>\n ${this._fileNames ??\n html`<slot name=\"file-missing-text\">${emptyText}</slot>`}\n </span>\n </div>\n </div>\n `;\n }\n\n protected renderInput() {\n const hasNegativeTabIndex = this.getAttribute('tabindex') === '-1';\n const hasHelperText = !isEmpty(this._helperText);\n\n return html`\n <input\n id=${this.inputId}\n part=${partMap(this.resolvePartNames('input'))}\n type=\"file\"\n ?disabled=${this.disabled}\n ?required=${this.required}\n ?autofocus=${this.autofocus}\n ?multiple=${this.multiple}\n tabindex=${bindIf(hasNegativeTabIndex, -1)}\n accept=${bindIf(this.accept, this.accept)}\n aria-describedby=${bindIf(hasHelperText, 'helper-text')}\n @click=${this._handleClick}\n @change=${this._handleChange}\n @cancel=${this._handleCancel}\n @blur=${this._handleBlur}\n />\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-file-input': IgcFileInputComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"file-input.js","sourceRoot":"","sources":["../../../src/components/file-input/file-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\n\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport IgcButtonComponent from '../button/button.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { AbstractConstructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormValueFileListTransformers } from '../common/mixins/forms/form-transformers.js';\nimport { createFormValueState } from '../common/mixins/forms/form-value.js';\nimport { partMap } from '../common/part-map.js';\nimport { bindIf, hasFiles, isEmpty } from '../common/util.js';\nimport {\n IgcInputBaseComponent,\n type IgcInputComponentEventMap,\n} from '../input/input-base.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.js';\nimport { styles } from './themes/file-input.base.css.js';\nimport { all } from './themes/themes.js';\nimport { fileValidators } from './validators.js';\n\nexport interface IgcFileInputComponentEventMap\n extends Omit<IgcInputComponentEventMap, 'igcChange' | 'igcInput'> {\n igcCancel: CustomEvent<FileList>;\n igcChange: CustomEvent<FileList>;\n}\n\n/* blazorSuppress */\n/**\n * @element igc-file-input\n *\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot helper-text - Renders content below the input.\n * @slot file-selector-text - Renders content for the browse button when input type is file.\n * @slot file-missing-text - Renders content when input type is file and no file is chosen.\n * @slot value-missing - Renders content when the required validation fails.\n * @slot custom-error - Renders content when setCustomValidity(message) is set.\n * @slot invalid - Renders content when the component is in invalid state (validity.valid = false).\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcCancel - Emitted when the control's file picker dialog is canceled.\n *\n * @csspart container - The main wrapper that holds all main input elements.\n * @csspart input - The native input element.\n * @csspart label - The native label element.\n * @csspart file-names - The file names wrapper when input type is 'file'.\n * @csspart file-selector-button - The browse button when input type is 'file'.\n * @csspart prefix - The prefix wrapper.\n * @csspart suffix - The suffix wrapper.\n * @csspart helper-text - The helper text wrapper.\n */\nexport default class IgcFileInputComponent extends EventEmitterMixin<\n IgcFileInputComponentEventMap,\n AbstractConstructor<IgcInputBaseComponent>\n>(IgcInputBaseComponent) {\n public static readonly tagName = 'igc-file-input';\n public static styles = [...IgcInputBaseComponent.styles, styles];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(\n IgcFileInputComponent,\n IgcValidationContainerComponent,\n IgcButtonComponent\n );\n }\n\n protected override get __validators() {\n return fileValidators;\n }\n\n protected override readonly _formValue = createFormValueState(this, {\n initialValue: null,\n transformers: FormValueFileListTransformers,\n });\n\n @state()\n private _hasActivation = false;\n\n private get _fileNames(): string | null {\n return hasFiles(this)\n ? Array.from(this.files!)\n .map((file) => file.name)\n .join(', ')\n : null;\n }\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail\", false) */\n /**\n * The value of the control.\n * @attr\n */\n @property()\n public set value(value: string) {\n if (value === '' && this.input) {\n this.input.value = value;\n }\n }\n\n public get value(): string {\n return this.input?.value ?? '';\n }\n\n /**\n * The multiple attribute of the control.\n * Used to indicate that a file input allows the user to select more than one file.\n * @attr\n */\n @property({ type: Boolean })\n public multiple = false;\n\n /**\n * The accept attribute of the control.\n * Defines the file types as a list of comma-separated values that the file input should accept.\n * @attr\n */\n @property({ type: String })\n public accept = '';\n\n /**\n * The autofocus attribute of the control.\n * @attr\n */\n @property({ type: Boolean })\n public override autofocus!: boolean;\n\n /** @hidden */\n @property({ type: Boolean, attribute: false, noAccessor: true })\n public override readonly readOnly = false;\n\n /** Returns the selected files, if any; otherwise returns null. */\n public get files(): FileList | null {\n return this.input?.files ?? null;\n }\n\n constructor() {\n super();\n addThemingController(this, all);\n }\n\n protected override _restoreDefaultValue(): void {\n this.input.value = '';\n super._restoreDefaultValue();\n }\n\n /* c8 ignore next 2 */\n /** @hidden */\n public override setSelectionRange(): void {}\n\n /* c8 ignore next 2 */\n /** @hidden */\n public override setRangeText(): void {}\n\n private _handleChange(): void {\n this._hasActivation = false;\n this._setTouchedState();\n this._formValue.setValueAndFormState(this.files);\n\n this.requestUpdate();\n this.emitEvent('igcChange', { detail: this.files! });\n }\n\n private _handleCancel(): void {\n this._hasActivation = false;\n this._setTouchedState();\n this._validate();\n\n this.emitEvent('igcCancel', {\n detail: this.files!,\n });\n }\n\n protected override _handleBlur(): void {\n this._hasActivation ? this._validate() : super._handleBlur();\n }\n\n /* c8 ignore next 3 */\n protected _handleClick(): void {\n this._hasActivation = true;\n }\n\n protected override renderFileParts() {\n const emptyText = this.placeholder ?? 'No file chosen';\n\n return html`\n <div part=\"file-parts\">\n <div part=\"file-selector-button\">\n <igc-button variant=\"flat\" ?disabled=${this.disabled} tabindex=\"-1\">\n <slot name=\"file-selector-text\">Browse</slot>\n </igc-button>\n </div>\n <div part=\"file-names\">\n <span>\n ${this._fileNames ??\n html`<slot name=\"file-missing-text\">${emptyText}</slot>`}\n </span>\n </div>\n </div>\n `;\n }\n\n protected renderInput() {\n const hasNegativeTabIndex = this.getAttribute('tabindex') === '-1';\n const hasHelperText = !isEmpty(this._helperText);\n\n return html`\n <input\n id=${this.inputId}\n part=${partMap(this.resolvePartNames('input'))}\n type=\"file\"\n ?disabled=${this.disabled}\n ?required=${this.required}\n ?autofocus=${this.autofocus}\n ?multiple=${this.multiple}\n tabindex=${bindIf(hasNegativeTabIndex, -1)}\n accept=${bindIf(this.accept, this.accept)}\n aria-describedby=${bindIf(hasHelperText, 'helper-text')}\n @click=${this._handleClick}\n @change=${this._handleChange}\n @cancel=${this._handleCancel}\n @blur=${this._handleBlur}\n />\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-file-input': IgcFileInputComponent;\n }\n}\n"]}
@@ -8,7 +8,13 @@ import { css, html, LitElement, nothing } from 'lit';
8
8
  import { property, state } from 'lit/decorators.js';
9
9
  import { registerComponent } from '../common/definitions/register.js';
10
10
  import { addSafeEventListener, isDefined } from '../common/util.js';
11
- class IgcFocusTrapComponent extends LitElement {
11
+ export default class IgcFocusTrapComponent extends LitElement {
12
+ static { this.tagName = 'igc-focus-trap'; }
13
+ static { this.styles = css `
14
+ :host {
15
+ display: contents;
16
+ }
17
+ `; }
12
18
  static register() {
13
19
  registerComponent(IgcFocusTrapComponent);
14
20
  }
@@ -54,13 +60,6 @@ class IgcFocusTrapComponent extends LitElement {
54
60
  `;
55
61
  }
56
62
  }
57
- IgcFocusTrapComponent.tagName = 'igc-focus-trap';
58
- IgcFocusTrapComponent.styles = css `
59
- :host {
60
- display: contents;
61
- }
62
- `;
63
- export default IgcFocusTrapComponent;
64
63
  __decorate([
65
64
  state()
66
65
  ], IgcFocusTrapComponent.prototype, "_focused", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"focus-trap.js","sourceRoot":"","sources":["../../../src/components/focus-trap/focus-trap.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html, LitElement, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\n\nimport { registerComponent } from '../common/definitions/register.js';\nimport { addSafeEventListener, isDefined } from '../common/util.js';\n\n/* blazorSuppress */\n/**\n *\n * @element igc-focus-trap\n *\n * @slot - The content of the focus trap component\n */\nexport default class IgcFocusTrapComponent extends LitElement {\n public static readonly tagName = 'igc-focus-trap';\n public static override styles = css`\n :host {\n display: contents;\n }\n `;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcFocusTrapComponent);\n }\n\n @state()\n protected _focused = false;\n\n /**\n * Whether to manage focus state for the slotted children.\n * @attr disabled\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /**\n * Whether focus in currently inside the trap component.\n */\n public get focused() {\n return this._focused;\n }\n\n /** An array of focusable elements including elements in Shadow roots */\n public get focusableElements() {\n return Array.from(getFocusableElements<HTMLElement>(this));\n }\n\n constructor() {\n super();\n\n addSafeEventListener(this, 'focusin', this.onFocusIn);\n addSafeEventListener(this, 'focusout', this.onFocusOut);\n }\n\n private onFocusIn() {\n this._focused = true;\n }\n\n private onFocusOut() {\n this._focused = false;\n }\n\n public focusFirstElement() {\n this.focusableElements.at(0)?.focus();\n }\n\n public focusLastElement() {\n this.focusableElements.at(-1)?.focus();\n }\n\n protected override render() {\n const tabStop = !this.focused || this.disabled ? -1 : 0;\n\n return html`\n <div\n id=\"start\"\n tabindex=${tabStop}\n @focus=${this.disabled ? nothing : this.focusLastElement}\n ></div>\n <slot></slot>\n <div\n id=\"end\"\n tabindex=${tabStop}\n @focus=${this.disabled ? nothing : this.focusFirstElement}\n ></div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-focus-trap': IgcFocusTrapComponent;\n }\n}\n\nconst defaultSelectors = [\n '[tabindex]',\n 'a[href]',\n 'button',\n 'input',\n 'select',\n 'textarea',\n];\n\n/** Returns whether the element is hidden. */\nfunction isHidden(node: HTMLElement) {\n return (\n node.hasAttribute('hidden') ||\n node.hasAttribute('inert') ||\n (node.hasAttribute('aria-hidden') &&\n node.getAttribute('aria-hidden') !== 'false')\n );\n}\n\n/** Returns whether the element is disabled. */\nfunction isDisabled(node: HTMLElement) {\n return node.hasAttribute('disabled') || node.hasAttribute('inert');\n}\n\nfunction isContentEditable(node: HTMLElement) {\n return (\n node.hasAttribute('contenteditable') &&\n node.getAttribute('contenteditable') !== 'false'\n );\n}\n\n/**\n * Returns whether the element can be focused.\n */\nfunction isFocusable(node: HTMLElement) {\n if (isHidden(node) || isDisabled(node)) {\n return false;\n }\n\n if (isContentEditable(node)) {\n return true;\n }\n\n if (node.tabIndex === -1) {\n return false;\n }\n\n return defaultSelectors.some((selector) => node.matches(selector));\n}\n\n/**\n * Filter function for the tree walker instance skipping over nodes and their children\n * if the `node` is hidden/disabled or it was already visited and resides in `cache`.\n */\nfunction shouldSkipElements(node: Node, cache?: WeakSet<HTMLElement>) {\n const element = node as HTMLElement;\n\n return isHidden(element) || isDisabled(element) || cache?.has(element)\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT;\n}\n\n/** Returns the slotted elements and the parent element containing the slot */\nfunction getSlottedElements(node: HTMLElement) {\n const slot = node as HTMLSlotElement;\n const elements = slot.assignedElements() as HTMLElement[];\n return { elements, parent: elements.at(0)?.parentElement };\n}\n\n/**\n * Traverses and yields all focusable elements starting at `root`.\n */\nfunction* getFocusableElements<T extends HTMLElement>(\n root: HTMLElement | ShadowRoot,\n cache?: WeakSet<HTMLElement>\n): Generator<T> {\n if (!isDefined(globalThis.document)) {\n return;\n }\n\n let node: T;\n const _cache = cache ?? new WeakSet<HTMLElement>();\n\n const visitor = document.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n (node) => shouldSkipElements(node, _cache)\n );\n\n // biome-ignore lint/suspicious/noAssignInExpressions: short-form\n while ((node = visitor.nextNode() as T)) {\n if (_cache.has(node)) {\n continue;\n }\n\n if (node.shadowRoot) {\n yield* getFocusableElements(node.shadowRoot, _cache);\n continue;\n }\n\n if (node.tagName === 'SLOT') {\n const { elements, parent } = getSlottedElements(node);\n\n if (elements.length > 0) {\n for (const element of elements) {\n yield* getFocusableElements(parent!, _cache);\n _cache.add(element);\n }\n }\n continue;\n }\n\n if (isFocusable(node)) {\n yield node;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"focus-trap.js","sourceRoot":"","sources":["../../../src/components/focus-trap/focus-trap.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html, LitElement, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\n\nimport { registerComponent } from '../common/definitions/register.js';\nimport { addSafeEventListener, isDefined } from '../common/util.js';\n\n/* blazorSuppress */\n/**\n *\n * @element igc-focus-trap\n *\n * @slot - The content of the focus trap component\n */\nexport default class IgcFocusTrapComponent extends LitElement {\n public static readonly tagName = 'igc-focus-trap';\n public static override styles = css`\n :host {\n display: contents;\n }\n `;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcFocusTrapComponent);\n }\n\n @state()\n protected _focused = false;\n\n /**\n * Whether to manage focus state for the slotted children.\n * @attr disabled\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /**\n * Whether focus in currently inside the trap component.\n */\n public get focused() {\n return this._focused;\n }\n\n /** An array of focusable elements including elements in Shadow roots */\n public get focusableElements() {\n return Array.from(getFocusableElements<HTMLElement>(this));\n }\n\n constructor() {\n super();\n\n addSafeEventListener(this, 'focusin', this.onFocusIn);\n addSafeEventListener(this, 'focusout', this.onFocusOut);\n }\n\n private onFocusIn() {\n this._focused = true;\n }\n\n private onFocusOut() {\n this._focused = false;\n }\n\n public focusFirstElement() {\n this.focusableElements.at(0)?.focus();\n }\n\n public focusLastElement() {\n this.focusableElements.at(-1)?.focus();\n }\n\n protected override render() {\n const tabStop = !this.focused || this.disabled ? -1 : 0;\n\n return html`\n <div\n id=\"start\"\n tabindex=${tabStop}\n @focus=${this.disabled ? nothing : this.focusLastElement}\n ></div>\n <slot></slot>\n <div\n id=\"end\"\n tabindex=${tabStop}\n @focus=${this.disabled ? nothing : this.focusFirstElement}\n ></div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-focus-trap': IgcFocusTrapComponent;\n }\n}\n\nconst defaultSelectors = [\n '[tabindex]',\n 'a[href]',\n 'button',\n 'input',\n 'select',\n 'textarea',\n];\n\n/** Returns whether the element is hidden. */\nfunction isHidden(node: HTMLElement) {\n return (\n node.hasAttribute('hidden') ||\n node.hasAttribute('inert') ||\n (node.hasAttribute('aria-hidden') &&\n node.getAttribute('aria-hidden') !== 'false')\n );\n}\n\n/** Returns whether the element is disabled. */\nfunction isDisabled(node: HTMLElement) {\n return node.hasAttribute('disabled') || node.hasAttribute('inert');\n}\n\nfunction isContentEditable(node: HTMLElement) {\n return (\n node.hasAttribute('contenteditable') &&\n node.getAttribute('contenteditable') !== 'false'\n );\n}\n\n/**\n * Returns whether the element can be focused.\n */\nfunction isFocusable(node: HTMLElement) {\n if (isHidden(node) || isDisabled(node)) {\n return false;\n }\n\n if (isContentEditable(node)) {\n return true;\n }\n\n if (node.tabIndex === -1) {\n return false;\n }\n\n return defaultSelectors.some((selector) => node.matches(selector));\n}\n\n/**\n * Filter function for the tree walker instance skipping over nodes and their children\n * if the `node` is hidden/disabled or it was already visited and resides in `cache`.\n */\nfunction shouldSkipElements(node: Node, cache?: WeakSet<HTMLElement>) {\n const element = node as HTMLElement;\n\n return isHidden(element) || isDisabled(element) || cache?.has(element)\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT;\n}\n\n/** Returns the slotted elements and the parent element containing the slot */\nfunction getSlottedElements(node: HTMLElement) {\n const slot = node as HTMLSlotElement;\n const elements = slot.assignedElements() as HTMLElement[];\n return { elements, parent: elements.at(0)?.parentElement };\n}\n\n/**\n * Traverses and yields all focusable elements starting at `root`.\n */\nfunction* getFocusableElements<T extends HTMLElement>(\n root: HTMLElement | ShadowRoot,\n cache?: WeakSet<HTMLElement>\n): Generator<T> {\n if (!isDefined(globalThis.document)) {\n return;\n }\n\n let node: T;\n const _cache = cache ?? new WeakSet<HTMLElement>();\n\n const visitor = document.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n (node) => shouldSkipElements(node, _cache)\n );\n\n // biome-ignore lint/suspicious/noAssignInExpressions: short-form\n while ((node = visitor.nextNode() as T)) {\n if (_cache.has(node)) {\n continue;\n }\n\n if (node.shadowRoot) {\n yield* getFocusableElements(node.shadowRoot, _cache);\n continue;\n }\n\n if (node.tagName === 'SLOT') {\n const { elements, parent } = getSlottedElements(node);\n\n if (elements.length > 0) {\n for (const element of elements) {\n yield* getFocusableElements(parent!, _cache);\n _cache.add(element);\n }\n }\n continue;\n }\n\n if (isFocusable(node)) {\n yield node;\n }\n }\n}\n"]}
@@ -94,12 +94,90 @@ addIcon('file_generic', {
94
94
  collection: 'internal',
95
95
  },
96
96
  });
97
+ addIcon('file_css', {
98
+ default: {
99
+ name: 'file_css',
100
+ collection: 'internal',
101
+ },
102
+ });
103
+ addIcon('file_csv', {
104
+ default: {
105
+ name: 'file_csv',
106
+ collection: 'internal',
107
+ },
108
+ });
109
+ addIcon('file_doc', {
110
+ default: {
111
+ name: 'file_doc',
112
+ collection: 'internal',
113
+ },
114
+ });
115
+ addIcon('file_htm', {
116
+ default: {
117
+ name: 'file_htm',
118
+ collection: 'internal',
119
+ },
120
+ });
121
+ addIcon('file_html', {
122
+ default: {
123
+ name: 'file_html',
124
+ collection: 'internal',
125
+ },
126
+ });
127
+ addIcon('file_js', {
128
+ default: {
129
+ name: 'file_js',
130
+ collection: 'internal',
131
+ },
132
+ });
97
133
  addIcon('file_json', {
98
134
  default: {
99
135
  name: 'file_json',
100
136
  collection: 'internal',
101
137
  },
102
138
  });
139
+ addIcon('file_pdf', {
140
+ default: {
141
+ name: 'file_pdf',
142
+ collection: 'internal',
143
+ },
144
+ });
145
+ addIcon('file_rtf', {
146
+ default: {
147
+ name: 'file_rtf',
148
+ collection: 'internal',
149
+ },
150
+ });
151
+ addIcon('file_svg', {
152
+ default: {
153
+ name: 'file_svg',
154
+ collection: 'internal',
155
+ },
156
+ });
157
+ addIcon('file_txt', {
158
+ default: {
159
+ name: 'file_txt',
160
+ collection: 'internal',
161
+ },
162
+ });
163
+ addIcon('file_xls', {
164
+ default: {
165
+ name: 'file_xls',
166
+ collection: 'internal',
167
+ },
168
+ });
169
+ addIcon('file_xml', {
170
+ default: {
171
+ name: 'file_xml',
172
+ collection: 'internal',
173
+ },
174
+ });
175
+ addIcon('file_zip', {
176
+ default: {
177
+ name: 'file_zip',
178
+ collection: 'internal',
179
+ },
180
+ });
103
181
  addIcon('file_link', {
104
182
  default: {
105
183
  name: 'file_link',
@@ -1 +1 @@
1
- {"version":3,"file":"icon-references.js","sourceRoot":"","sources":["../../../src/components/icon/icon-references.ts"],"names":[],"mappings":"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","sourcesContent":["/** READ BEFORE YOU MODIFY THIS FILE!\n *\n * Before you add/modify an icon reference, please think about the semantics of the icon you are adding/modifying.\n *\n * Icon aliases have sematic meaning depending on the context in which they are used.\n * For instance, if your component handles toggling between expanded and collapsed states,\n * you may want to use the already existing `expand` and `collapse` aliases that point to\n * the `expand_more` and `expand_less` icons in the material font set.\n *\n * It may so happen, however, that the design of your component requires you to use the `chevron_right` for the\n * expand icon and the `expand_more` for the collapse icon. In this case the `tree_expand` and `tree_collapse` aliases\n * would be appropriate.\n * This distinction is important when choosing which icon to use for your component as it will have an impact\n * when a user decides to rewire the `expand`/`collapse` icons to some other icons.\n *\n * Likewise, modifying existing references should be handled with caution as many component in the framework already\n * share icons that have equivalent semantic meaning. For example, the `Paginator`, `Grid Filtering Row`,\n * and `Tabs` components in Ignite UI for Angular all use the `prev` and `next` icons for navigating between pages\n * or lists of items. Changing the underlying target for those icons should be done in a way that suits all components.\n *\n * Keep in mind that icon aliases and their underlying names are shared between Ignite UI component frameworks\n * and changing an alias name here should be reflected in the other frameworks as well.\n *\n * To get acquainted with which component uses what icon, please make sure to read the\n * [docs](https://infragistics.com/products/ignite-ui-angular/Angular/components/icon-service#internal-usage).\n */\nimport type {\n IconMeta,\n IconReference,\n IconThemeKey,\n} from './registry/types.js';\n\ntype Icon = { [key in IconThemeKey]?: IconMeta };\n\nexport const iconReferences: IconReference[] = [];\nconst makeIconRefs = (icons: Icon) => {\n return new Map(\n Object.entries(icons).map((icon) => {\n return icon as [theme: IconThemeKey, IconMeta];\n })\n );\n};\n\nconst addIcon = (name: string, target: Icon) => {\n const icon = {\n alias: {\n name,\n collection: 'default',\n },\n target: makeIconRefs(target),\n };\n\n iconReferences.push(icon as IconReference);\n};\n\naddIcon('expand', {\n default: {\n name: 'keyboard_arrow_down',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_down',\n collection: 'internal',\n },\n});\naddIcon('attach_file', {\n default: {\n name: 'attach_file',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_attach_file',\n collection: 'internal',\n },\n});\naddIcon('attach_document', {\n default: {\n name: 'document_filled',\n collection: 'internal',\n },\n});\naddIcon('attach_image', {\n default: {\n name: 'document_image',\n collection: 'internal',\n },\n});\naddIcon('auto_suggest', {\n default: {\n name: 'auto_suggest',\n collection: 'internal',\n },\n});\naddIcon('send_message', {\n default: {\n name: 'send',\n collection: 'internal',\n },\n});\naddIcon('image_thumbnail', {\n default: {\n name: 'image',\n collection: 'internal',\n },\n});\naddIcon('table_thumbnail', {\n default: {\n name: 'table',\n collection: 'internal',\n },\n});\naddIcon('layout_thumbnail', {\n default: {\n name: 'layout',\n collection: 'internal',\n },\n});\naddIcon('code_thumbnail', {\n default: {\n name: 'code_circle',\n collection: 'internal',\n },\n});\naddIcon('document_thumbnail', {\n default: {\n name: 'document_empty',\n collection: 'internal',\n },\n});\naddIcon('file_generic', {\n default: {\n name: 'file_generic',\n collection: 'internal',\n },\n});\naddIcon('file_json', {\n default: {\n name: 'file_json',\n collection: 'internal',\n },\n});\naddIcon('file_link', {\n default: {\n name: 'file_link',\n collection: 'internal',\n },\n});\naddIcon('more_horiz', {\n default: {\n name: 'more_horiz',\n collection: 'internal',\n },\n});\naddIcon('open_in_new', {\n default: {\n name: 'open_in_new',\n collection: 'internal',\n },\n});\naddIcon('thumb_up_active', {\n default: {\n name: 'thumb_up_filled',\n collection: 'internal',\n },\n});\naddIcon('thumb_up_inactive', {\n default: {\n name: 'thumb_up_empty',\n collection: 'internal',\n },\n});\naddIcon('thumb_down_active', {\n default: {\n name: 'thumb_down_filled',\n collection: 'internal',\n },\n});\naddIcon('thumb_down_inactive', {\n default: {\n name: 'thumb_down_empty',\n collection: 'internal',\n },\n});\naddIcon('regenerate', {\n default: {\n name: 'reload',\n collection: 'internal',\n },\n});\naddIcon('copy_content', {\n default: {\n name: 'copy',\n collection: 'internal',\n },\n});\naddIcon('collapse', {\n default: {\n name: 'keyboard_arrow_up',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_up',\n collection: 'internal',\n },\n});\naddIcon('arrow_prev', {\n default: {\n name: 'navigate_before',\n collection: 'internal',\n },\n fluent: {\n name: 'arrow_upward',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_left',\n collection: 'internal',\n },\n});\naddIcon('arrow_next', {\n default: {\n name: 'navigate_next',\n collection: 'internal',\n },\n fluent: {\n name: 'arrow_downward',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_right',\n collection: 'internal',\n },\n});\naddIcon('selected', {\n default: {\n name: 'chip_select',\n collection: 'internal',\n },\n});\naddIcon('remove', {\n default: {\n name: 'chip_cancel',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_cancel',\n collection: 'internal',\n },\n});\naddIcon('input_clear', {\n default: {\n name: 'clear',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_clear',\n collection: 'internal',\n },\n});\naddIcon('input_expand', {\n default: {\n name: 'keyboard_arrow_down',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_down',\n collection: 'internal',\n },\n});\naddIcon('input_collapse', {\n default: {\n name: 'keyboard_arrow_up',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_up',\n collection: 'internal',\n },\n});\naddIcon('chevron_right', {\n default: {\n name: 'keyboard_arrow_right',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_right',\n collection: 'internal',\n },\n});\naddIcon('chevron_left', {\n default: {\n name: 'navigate_before',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_left',\n collection: 'internal',\n },\n});\naddIcon('case_sensitive', {\n default: {\n name: 'case_sensitive',\n collection: 'internal',\n },\n});\naddIcon('today', {\n default: {\n name: 'calendar_today',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_calendar_today',\n collection: 'internal',\n },\n});\naddIcon('clock', {\n default: {\n name: 'access_time',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_access_time',\n collection: 'internal',\n },\n});\naddIcon('star_filled', {\n default: {\n name: 'star',\n collection: 'internal',\n },\n});\naddIcon('star_outlined', {\n default: {\n name: 'star_border',\n collection: 'internal',\n },\n});\naddIcon('prev', {\n default: {\n name: 'navigate_before',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_left',\n collection: 'internal',\n },\n});\naddIcon('next', {\n default: {\n name: 'navigate_next',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_right',\n collection: 'internal',\n },\n});\naddIcon('tree_expand', {\n default: {\n name: 'keyboard_arrow_right',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_right',\n collection: 'internal',\n },\n});\naddIcon('tree_collapse', {\n default: {\n name: 'keyboard_arrow_down',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_down',\n collection: 'internal',\n },\n});\naddIcon('carousel_prev', {\n default: {\n name: 'keyboard_arrow_left',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_left',\n collection: 'internal',\n },\n});\naddIcon('carousel_next', {\n default: {\n name: 'keyboard_arrow_right',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_right',\n collection: 'internal',\n },\n});\naddIcon('error', {\n default: {\n name: 'error',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_error',\n collection: 'internal',\n },\n});\naddIcon('fullscreen', {\n default: {\n name: 'fullscreen',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_fullscreen',\n collection: 'internal',\n },\n});\naddIcon('fullscreen_exit', {\n default: {\n name: 'fullscreen_exit',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_fullscreen_exit',\n collection: 'internal',\n },\n});\naddIcon('expand_content', {\n default: {\n name: 'expand_content',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_expand_content',\n collection: 'internal',\n },\n});\naddIcon('collapse_content', {\n default: {\n name: 'collapse_content',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_collapse_content',\n collection: 'internal',\n },\n});\naddIcon('resize', {\n default: {\n name: 'resize',\n collection: 'internal',\n },\n});\n"]}
1
+ {"version":3,"file":"icon-references.js","sourceRoot":"","sources":["../../../src/components/icon/icon-references.ts"],"names":[],"mappings":"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","sourcesContent":["/** READ BEFORE YOU MODIFY THIS FILE!\n *\n * Before you add/modify an icon reference, please think about the semantics of the icon you are adding/modifying.\n *\n * Icon aliases have sematic meaning depending on the context in which they are used.\n * For instance, if your component handles toggling between expanded and collapsed states,\n * you may want to use the already existing `expand` and `collapse` aliases that point to\n * the `expand_more` and `expand_less` icons in the material font set.\n *\n * It may so happen, however, that the design of your component requires you to use the `chevron_right` for the\n * expand icon and the `expand_more` for the collapse icon. In this case the `tree_expand` and `tree_collapse` aliases\n * would be appropriate.\n * This distinction is important when choosing which icon to use for your component as it will have an impact\n * when a user decides to rewire the `expand`/`collapse` icons to some other icons.\n *\n * Likewise, modifying existing references should be handled with caution as many component in the framework already\n * share icons that have equivalent semantic meaning. For example, the `Paginator`, `Grid Filtering Row`,\n * and `Tabs` components in Ignite UI for Angular all use the `prev` and `next` icons for navigating between pages\n * or lists of items. Changing the underlying target for those icons should be done in a way that suits all components.\n *\n * Keep in mind that icon aliases and their underlying names are shared between Ignite UI component frameworks\n * and changing an alias name here should be reflected in the other frameworks as well.\n *\n * To get acquainted with which component uses what icon, please make sure to read the\n * [docs](https://infragistics.com/products/ignite-ui-angular/Angular/components/icon-service#internal-usage).\n */\nimport type {\n IconMeta,\n IconReference,\n IconThemeKey,\n} from './registry/types.js';\n\ntype Icon = { [key in IconThemeKey]?: IconMeta };\n\nexport const iconReferences: IconReference[] = [];\nconst makeIconRefs = (icons: Icon) => {\n return new Map(\n Object.entries(icons).map((icon) => {\n return icon as [theme: IconThemeKey, IconMeta];\n })\n );\n};\n\nconst addIcon = (name: string, target: Icon) => {\n const icon = {\n alias: {\n name,\n collection: 'default',\n },\n target: makeIconRefs(target),\n };\n\n iconReferences.push(icon as IconReference);\n};\n\naddIcon('expand', {\n default: {\n name: 'keyboard_arrow_down',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_down',\n collection: 'internal',\n },\n});\naddIcon('attach_file', {\n default: {\n name: 'attach_file',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_attach_file',\n collection: 'internal',\n },\n});\naddIcon('attach_document', {\n default: {\n name: 'document_filled',\n collection: 'internal',\n },\n});\naddIcon('attach_image', {\n default: {\n name: 'document_image',\n collection: 'internal',\n },\n});\naddIcon('auto_suggest', {\n default: {\n name: 'auto_suggest',\n collection: 'internal',\n },\n});\naddIcon('send_message', {\n default: {\n name: 'send',\n collection: 'internal',\n },\n});\naddIcon('image_thumbnail', {\n default: {\n name: 'image',\n collection: 'internal',\n },\n});\naddIcon('table_thumbnail', {\n default: {\n name: 'table',\n collection: 'internal',\n },\n});\naddIcon('layout_thumbnail', {\n default: {\n name: 'layout',\n collection: 'internal',\n },\n});\naddIcon('code_thumbnail', {\n default: {\n name: 'code_circle',\n collection: 'internal',\n },\n});\naddIcon('document_thumbnail', {\n default: {\n name: 'document_empty',\n collection: 'internal',\n },\n});\naddIcon('file_generic', {\n default: {\n name: 'file_generic',\n collection: 'internal',\n },\n});\naddIcon('file_css', {\n default: {\n name: 'file_css',\n collection: 'internal',\n },\n});\naddIcon('file_csv', {\n default: {\n name: 'file_csv',\n collection: 'internal',\n },\n});\naddIcon('file_doc', {\n default: {\n name: 'file_doc',\n collection: 'internal',\n },\n});\naddIcon('file_htm', {\n default: {\n name: 'file_htm',\n collection: 'internal',\n },\n});\naddIcon('file_html', {\n default: {\n name: 'file_html',\n collection: 'internal',\n },\n});\naddIcon('file_js', {\n default: {\n name: 'file_js',\n collection: 'internal',\n },\n});\naddIcon('file_json', {\n default: {\n name: 'file_json',\n collection: 'internal',\n },\n});\naddIcon('file_pdf', {\n default: {\n name: 'file_pdf',\n collection: 'internal',\n },\n});\naddIcon('file_rtf', {\n default: {\n name: 'file_rtf',\n collection: 'internal',\n },\n});\naddIcon('file_svg', {\n default: {\n name: 'file_svg',\n collection: 'internal',\n },\n});\naddIcon('file_txt', {\n default: {\n name: 'file_txt',\n collection: 'internal',\n },\n});\naddIcon('file_xls', {\n default: {\n name: 'file_xls',\n collection: 'internal',\n },\n});\naddIcon('file_xml', {\n default: {\n name: 'file_xml',\n collection: 'internal',\n },\n});\naddIcon('file_zip', {\n default: {\n name: 'file_zip',\n collection: 'internal',\n },\n});\naddIcon('file_link', {\n default: {\n name: 'file_link',\n collection: 'internal',\n },\n});\naddIcon('more_horiz', {\n default: {\n name: 'more_horiz',\n collection: 'internal',\n },\n});\naddIcon('open_in_new', {\n default: {\n name: 'open_in_new',\n collection: 'internal',\n },\n});\naddIcon('thumb_up_active', {\n default: {\n name: 'thumb_up_filled',\n collection: 'internal',\n },\n});\naddIcon('thumb_up_inactive', {\n default: {\n name: 'thumb_up_empty',\n collection: 'internal',\n },\n});\naddIcon('thumb_down_active', {\n default: {\n name: 'thumb_down_filled',\n collection: 'internal',\n },\n});\naddIcon('thumb_down_inactive', {\n default: {\n name: 'thumb_down_empty',\n collection: 'internal',\n },\n});\naddIcon('regenerate', {\n default: {\n name: 'reload',\n collection: 'internal',\n },\n});\naddIcon('copy_content', {\n default: {\n name: 'copy',\n collection: 'internal',\n },\n});\naddIcon('collapse', {\n default: {\n name: 'keyboard_arrow_up',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_up',\n collection: 'internal',\n },\n});\naddIcon('arrow_prev', {\n default: {\n name: 'navigate_before',\n collection: 'internal',\n },\n fluent: {\n name: 'arrow_upward',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_left',\n collection: 'internal',\n },\n});\naddIcon('arrow_next', {\n default: {\n name: 'navigate_next',\n collection: 'internal',\n },\n fluent: {\n name: 'arrow_downward',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_right',\n collection: 'internal',\n },\n});\naddIcon('selected', {\n default: {\n name: 'chip_select',\n collection: 'internal',\n },\n});\naddIcon('remove', {\n default: {\n name: 'chip_cancel',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_cancel',\n collection: 'internal',\n },\n});\naddIcon('input_clear', {\n default: {\n name: 'clear',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_clear',\n collection: 'internal',\n },\n});\naddIcon('input_expand', {\n default: {\n name: 'keyboard_arrow_down',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_down',\n collection: 'internal',\n },\n});\naddIcon('input_collapse', {\n default: {\n name: 'keyboard_arrow_up',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_up',\n collection: 'internal',\n },\n});\naddIcon('chevron_right', {\n default: {\n name: 'keyboard_arrow_right',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_right',\n collection: 'internal',\n },\n});\naddIcon('chevron_left', {\n default: {\n name: 'navigate_before',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_left',\n collection: 'internal',\n },\n});\naddIcon('case_sensitive', {\n default: {\n name: 'case_sensitive',\n collection: 'internal',\n },\n});\naddIcon('today', {\n default: {\n name: 'calendar_today',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_calendar_today',\n collection: 'internal',\n },\n});\naddIcon('clock', {\n default: {\n name: 'access_time',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_access_time',\n collection: 'internal',\n },\n});\naddIcon('star_filled', {\n default: {\n name: 'star',\n collection: 'internal',\n },\n});\naddIcon('star_outlined', {\n default: {\n name: 'star_border',\n collection: 'internal',\n },\n});\naddIcon('prev', {\n default: {\n name: 'navigate_before',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_left',\n collection: 'internal',\n },\n});\naddIcon('next', {\n default: {\n name: 'navigate_next',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_right',\n collection: 'internal',\n },\n});\naddIcon('tree_expand', {\n default: {\n name: 'keyboard_arrow_right',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_right',\n collection: 'internal',\n },\n});\naddIcon('tree_collapse', {\n default: {\n name: 'keyboard_arrow_down',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_down',\n collection: 'internal',\n },\n});\naddIcon('carousel_prev', {\n default: {\n name: 'keyboard_arrow_left',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_left',\n collection: 'internal',\n },\n});\naddIcon('carousel_next', {\n default: {\n name: 'keyboard_arrow_right',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_chevron_right',\n collection: 'internal',\n },\n});\naddIcon('error', {\n default: {\n name: 'error',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_error',\n collection: 'internal',\n },\n});\naddIcon('fullscreen', {\n default: {\n name: 'fullscreen',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_fullscreen',\n collection: 'internal',\n },\n});\naddIcon('fullscreen_exit', {\n default: {\n name: 'fullscreen_exit',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_fullscreen_exit',\n collection: 'internal',\n },\n});\naddIcon('expand_content', {\n default: {\n name: 'expand_content',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_expand_content',\n collection: 'internal',\n },\n});\naddIcon('collapse_content', {\n default: {\n name: 'collapse_content',\n collection: 'internal',\n },\n indigo: {\n name: 'indigo_collapse_content',\n collection: 'internal',\n },\n});\naddIcon('resize', {\n default: {\n name: 'resize',\n collection: 'internal',\n },\n});\n"]}
@@ -1,6 +1,7 @@
1
1
  import { createIconDefaultMap } from './registry/default-map.js';
2
2
  import { ActionType } from './registry/types.js';
3
3
  export class IconsStateBroadcast {
4
+ static { this.origin = 'igniteui-webcomponents'; }
4
5
  constructor(collections, refsCollection) {
5
6
  this.collections = collections;
6
7
  this.refsCollection = refsCollection;
@@ -62,5 +63,4 @@ export class IconsStateBroadcast {
62
63
  return userSetIcons;
63
64
  }
64
65
  }
65
- IconsStateBroadcast.origin = 'igniteui-webcomponents';
66
66
  //# sourceMappingURL=icon-state.broadcast.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon-state.broadcast.js","sourceRoot":"","sources":["../../../src/components/icon/icon-state.broadcast.ts"],"names":[],"mappings":"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","sourcesContent":["import { createIconDefaultMap } from './registry/default-map.js';\nimport type {\n BroadcastIconsChangeMessage,\n IconMeta,\n IconsCollection,\n SvgIcon,\n} from './registry/types.js';\nimport { ActionType } from './registry/types.js';\n\nexport class IconsStateBroadcast {\n private channel!: BroadcastChannel | null;\n private collections: IconsCollection<SvgIcon>;\n private refsCollection: IconsCollection<IconMeta>;\n private static readonly origin = 'igniteui-webcomponents';\n\n constructor(\n collections: IconsCollection<SvgIcon>,\n refsCollection: IconsCollection<IconMeta>\n ) {\n this.collections = collections;\n this.refsCollection = refsCollection;\n this.create();\n\n globalThis.addEventListener('pageshow', () => this.create());\n globalThis.addEventListener('pagehide', () => this.dispose());\n }\n\n public send(data: BroadcastIconsChangeMessage) {\n if (this.channel) {\n this.channel.postMessage(data);\n }\n }\n\n public handleEvent({ data }: MessageEvent<BroadcastIconsChangeMessage>) {\n // no need to sync with other wc icon services, just with angular elements\n if (\n data.actionType !== ActionType.SyncState ||\n data.origin === IconsStateBroadcast.origin\n ) {\n return;\n }\n\n this.send({\n actionType: ActionType.SyncState,\n collections: this.getUserSetCollection(this.collections).toMap(),\n references: this.getUserRefsCollection(this.refsCollection).toMap(),\n origin: IconsStateBroadcast.origin,\n });\n }\n\n private create() {\n if (!this.channel) {\n this.channel = new BroadcastChannel('ignite-ui-icon-channel');\n this.channel.addEventListener('message', this);\n }\n }\n\n /* c8 ignore next 7 */\n private dispose() {\n if (this.channel) {\n this.channel.removeEventListener('message', this);\n this.channel.close();\n this.channel = null;\n }\n }\n\n private getUserRefsCollection(collections: IconsCollection<IconMeta>) {\n const userSetIcons = createIconDefaultMap<string, IconMeta>();\n for (const [collectionKey, collection] of collections.entries()) {\n for (const [iconKey, icon] of collection.entries()) {\n if (icon.external) {\n userSetIcons.getOrCreate(collectionKey).set(iconKey, icon);\n }\n }\n }\n return userSetIcons;\n }\n\n private getUserSetCollection(collections: IconsCollection<SvgIcon>) {\n const userSetIcons = createIconDefaultMap<string, SvgIcon>();\n\n for (const [collectionKey, collection] of collections.entries()) {\n if (collectionKey === 'internal') {\n continue;\n }\n for (const [iconKey, icon] of collection.entries()) {\n userSetIcons.getOrCreate(collectionKey).set(iconKey, icon);\n }\n }\n return userSetIcons;\n }\n}\n"]}
1
+ {"version":3,"file":"icon-state.broadcast.js","sourceRoot":"","sources":["../../../src/components/icon/icon-state.broadcast.ts"],"names":[],"mappings":"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","sourcesContent":["import { createIconDefaultMap } from './registry/default-map.js';\nimport type {\n BroadcastIconsChangeMessage,\n IconMeta,\n IconsCollection,\n SvgIcon,\n} from './registry/types.js';\nimport { ActionType } from './registry/types.js';\n\nexport class IconsStateBroadcast {\n private channel!: BroadcastChannel | null;\n private collections: IconsCollection<SvgIcon>;\n private refsCollection: IconsCollection<IconMeta>;\n private static readonly origin = 'igniteui-webcomponents';\n\n constructor(\n collections: IconsCollection<SvgIcon>,\n refsCollection: IconsCollection<IconMeta>\n ) {\n this.collections = collections;\n this.refsCollection = refsCollection;\n this.create();\n\n globalThis.addEventListener('pageshow', () => this.create());\n globalThis.addEventListener('pagehide', () => this.dispose());\n }\n\n public send(data: BroadcastIconsChangeMessage) {\n if (this.channel) {\n this.channel.postMessage(data);\n }\n }\n\n public handleEvent({ data }: MessageEvent<BroadcastIconsChangeMessage>) {\n // no need to sync with other wc icon services, just with angular elements\n if (\n data.actionType !== ActionType.SyncState ||\n data.origin === IconsStateBroadcast.origin\n ) {\n return;\n }\n\n this.send({\n actionType: ActionType.SyncState,\n collections: this.getUserSetCollection(this.collections).toMap(),\n references: this.getUserRefsCollection(this.refsCollection).toMap(),\n origin: IconsStateBroadcast.origin,\n });\n }\n\n private create() {\n if (!this.channel) {\n this.channel = new BroadcastChannel('ignite-ui-icon-channel');\n this.channel.addEventListener('message', this);\n }\n }\n\n /* c8 ignore next 7 */\n private dispose() {\n if (this.channel) {\n this.channel.removeEventListener('message', this);\n this.channel.close();\n this.channel = null;\n }\n }\n\n private getUserRefsCollection(collections: IconsCollection<IconMeta>) {\n const userSetIcons = createIconDefaultMap<string, IconMeta>();\n for (const [collectionKey, collection] of collections.entries()) {\n for (const [iconKey, icon] of collection.entries()) {\n if (icon.external) {\n userSetIcons.getOrCreate(collectionKey).set(iconKey, icon);\n }\n }\n }\n return userSetIcons;\n }\n\n private getUserSetCollection(collections: IconsCollection<SvgIcon>) {\n const userSetIcons = createIconDefaultMap<string, SvgIcon>();\n\n for (const [collectionKey, collection] of collections.entries()) {\n if (collectionKey === 'internal') {\n continue;\n }\n for (const [iconKey, icon] of collection.entries()) {\n userSetIcons.getOrCreate(collectionKey).set(iconKey, icon);\n }\n }\n return userSetIcons;\n }\n}\n"]}
@@ -16,7 +16,9 @@ import { getIconRegistry, registerIcon as registerIcon_impl, registerIconFromTex
16
16
  import { styles } from './themes/icon.base.css.js';
17
17
  import { styles as shared } from './themes/shared/icon.common.css.js';
18
18
  import { all } from './themes/themes.js';
19
- class IgcIconComponent extends LitElement {
19
+ export default class IgcIconComponent extends LitElement {
20
+ static { this.tagName = 'igc-icon'; }
21
+ static { this.styles = [styles, shared]; }
20
22
  static register() {
21
23
  registerComponent(IgcIconComponent);
22
24
  }
@@ -73,9 +75,6 @@ class IgcIconComponent extends LitElement {
73
75
  setIconRef_impl(name, collection, icon);
74
76
  }
75
77
  }
76
- IgcIconComponent.tagName = 'igc-icon';
77
- IgcIconComponent.styles = [styles, shared];
78
- export default IgcIconComponent;
79
78
  __decorate([
80
79
  state()
81
80
  ], IgcIconComponent.prototype, "svg", void 0);