igniteui-webcomponents 3.1.0 → 3.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 (411) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +56 -1
  3. package/components/accordion/accordion.d.ts +36 -0
  4. package/components/accordion/accordion.js +127 -0
  5. package/components/accordion/accordion.js.map +1 -0
  6. package/components/{nav-drawer/styles/indigo/nav-drawer-header-item.indigo.css.d.ts → accordion/themes/accordion.base.css.d.ts} +0 -0
  7. package/components/accordion/themes/accordion.base.css.js +3 -0
  8. package/components/accordion/themes/accordion.base.css.js.map +1 -0
  9. package/components/badge/themes/light/badge.bootstrap.css.js +1 -1
  10. package/components/badge/themes/light/badge.bootstrap.css.js.map +1 -1
  11. package/components/button/button-base.d.ts +6 -1
  12. package/components/button/button-base.js +4 -0
  13. package/components/button/button-base.js.map +1 -1
  14. package/components/button/icon-button.d.ts +0 -1
  15. package/components/button/icon-button.js +13 -9
  16. package/components/button/icon-button.js.map +1 -1
  17. package/components/button/themes/button/light/button.base.css.js +1 -1
  18. package/components/button/themes/button/light/button.base.css.js.map +1 -1
  19. package/components/button/themes/button/light/button.material.css.js +1 -1
  20. package/components/button/themes/button/light/button.material.css.js.map +1 -1
  21. package/components/button/themes/icon-button/light/icon-button.base.css.js +1 -1
  22. package/components/button/themes/icon-button/light/icon-button.base.css.js.map +1 -1
  23. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js +1 -1
  24. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js.map +1 -1
  25. package/components/button/themes/icon-button/light/icon-button.fluent.css.js +1 -1
  26. package/components/button/themes/icon-button/light/icon-button.fluent.css.js.map +1 -1
  27. package/components/button/themes/icon-button/light/icon-button.indigo.css.js +1 -1
  28. package/components/button/themes/icon-button/light/icon-button.indigo.css.js.map +1 -1
  29. package/components/button/themes/icon-button/light/icon-button.material.css.js +1 -1
  30. package/components/button/themes/icon-button/light/icon-button.material.css.js.map +1 -1
  31. package/components/calendar/calendar.d.ts +1 -5
  32. package/components/calendar/calendar.js +6 -4
  33. package/components/calendar/calendar.js.map +1 -1
  34. package/components/calendar/common/calendar-base.js +16 -12
  35. package/components/calendar/common/calendar-base.js.map +1 -1
  36. package/components/calendar/common/calendar.model.js.map +1 -1
  37. package/components/calendar/days-view/days-view.d.ts +2 -1
  38. package/components/calendar/days-view/days-view.js +2 -2
  39. package/components/calendar/days-view/days-view.js.map +1 -1
  40. package/components/calendar/months-view/months-view.d.ts +2 -1
  41. package/components/calendar/months-view/months-view.js +2 -2
  42. package/components/calendar/months-view/months-view.js.map +1 -1
  43. package/components/calendar/themes/bootstrap/calendar.bootstrap.css.js +1 -1
  44. package/components/calendar/themes/bootstrap/calendar.bootstrap.css.js.map +1 -1
  45. package/components/calendar/years-view/years-view.d.ts +2 -1
  46. package/components/calendar/years-view/years-view.js +2 -2
  47. package/components/calendar/years-view/years-view.js.map +1 -1
  48. package/components/card/card.header.js +2 -0
  49. package/components/card/card.header.js.map +1 -1
  50. package/components/card/card.js +6 -0
  51. package/components/card/card.js.map +1 -1
  52. package/components/card/themes/light/card.header.bootstrap.css.js +1 -1
  53. package/components/card/themes/light/card.header.bootstrap.css.js.map +1 -1
  54. package/components/{nav-drawer/styles/indigo/nav-drawer-item.indigo.css.d.ts → card/themes/light/card.header.fluent.css.d.ts} +0 -0
  55. package/components/card/themes/light/card.header.fluent.css.js +3 -0
  56. package/components/card/themes/light/card.header.fluent.css.js.map +1 -0
  57. package/components/checkbox/checkbox-base.d.ts +1 -1
  58. package/components/checkbox/checkbox.d.ts +1 -0
  59. package/components/checkbox/checkbox.js +6 -5
  60. package/components/checkbox/checkbox.js.map +1 -1
  61. package/components/checkbox/switch.d.ts +1 -0
  62. package/components/checkbox/switch.js +6 -5
  63. package/components/checkbox/switch.js.map +1 -1
  64. package/components/checkbox/themes/light/checkbox.base.css.js +1 -1
  65. package/components/checkbox/themes/light/checkbox.base.css.js.map +1 -1
  66. package/components/checkbox/themes/light/checkbox.bootstrap.css.js +1 -1
  67. package/components/checkbox/themes/light/checkbox.bootstrap.css.js.map +1 -1
  68. package/components/checkbox/themes/light/checkbox.fluent.css.js +1 -1
  69. package/components/checkbox/themes/light/checkbox.fluent.css.js.map +1 -1
  70. package/components/checkbox/themes/light/checkbox.indigo.css.js +1 -1
  71. package/components/checkbox/themes/light/checkbox.indigo.css.js.map +1 -1
  72. package/components/checkbox/themes/light/checkbox.material.css.js +1 -1
  73. package/components/checkbox/themes/light/checkbox.material.css.js.map +1 -1
  74. package/components/checkbox/themes/light/switch.base.css.js +1 -1
  75. package/components/checkbox/themes/light/switch.base.css.js.map +1 -1
  76. package/components/checkbox/themes/light/switch.fluent.css.js +1 -1
  77. package/components/checkbox/themes/light/switch.fluent.css.js.map +1 -1
  78. package/components/chip/chip.d.ts +1 -2
  79. package/components/chip/chip.js +3 -1
  80. package/components/chip/chip.js.map +1 -1
  81. package/components/chip/themes/chip.base.css.js +1 -1
  82. package/components/chip/themes/chip.base.css.js.map +1 -1
  83. package/components/chip/themes/chip.bootstrap.css.js +1 -1
  84. package/components/chip/themes/chip.bootstrap.css.js.map +1 -1
  85. package/components/chip/themes/chip.fluent.css.js +1 -1
  86. package/components/chip/themes/chip.fluent.css.js.map +1 -1
  87. package/components/chip/themes/chip.indigo.css.js +1 -1
  88. package/components/chip/themes/chip.indigo.css.js.map +1 -1
  89. package/components/chip/themes/chip.material.css.js +1 -1
  90. package/components/chip/themes/chip.material.css.js.map +1 -1
  91. package/components/common/decorators/blazorAdditionalDependencies.d.ts +5 -0
  92. package/components/common/decorators/blazorAdditionalDependencies.js +6 -0
  93. package/components/common/decorators/blazorAdditionalDependencies.js.map +1 -0
  94. package/components/common/decorators/index.d.ts +1 -0
  95. package/components/common/decorators/index.js +1 -0
  96. package/components/common/decorators/index.js.map +1 -1
  97. package/components/common/definitions/defineAllComponents.js +18 -0
  98. package/components/common/definitions/defineAllComponents.js.map +1 -1
  99. package/components/common/i18n/calendar.resources.js.map +1 -1
  100. package/components/common/mixins/constructor.d.ts +1 -0
  101. package/components/common/mixins/constructor.js.map +1 -1
  102. package/components/common/mixins/event-emitter.d.ts +2 -2
  103. package/components/common/mixins/event-emitter.js +2 -2
  104. package/components/common/mixins/event-emitter.js.map +1 -1
  105. package/components/common/types.d.ts +1 -0
  106. package/components/common/types.js +2 -0
  107. package/components/common/types.js.map +1 -0
  108. package/components/common/util.d.ts +18 -0
  109. package/components/common/util.js +17 -0
  110. package/components/common/util.js.map +1 -1
  111. package/components/date-time-input/date-time-input.d.ts +110 -0
  112. package/components/date-time-input/date-time-input.js +505 -0
  113. package/components/date-time-input/date-time-input.js.map +1 -0
  114. package/components/date-time-input/date-util.d.ts +89 -0
  115. package/components/date-time-input/date-util.js +597 -0
  116. package/components/date-time-input/date-util.js.map +1 -0
  117. package/components/dropdown/dropdown-group.d.ts +3 -2
  118. package/components/dropdown/dropdown-group.js +9 -10
  119. package/components/dropdown/dropdown-group.js.map +1 -1
  120. package/components/dropdown/dropdown.d.ts +25 -21
  121. package/components/dropdown/dropdown.js +63 -79
  122. package/components/dropdown/dropdown.js.map +1 -1
  123. package/components/expansion-panel/expansion-panel.d.ts +73 -0
  124. package/components/expansion-panel/expansion-panel.js +173 -0
  125. package/components/expansion-panel/expansion-panel.js.map +1 -0
  126. package/components/{nav-drawer/styles/indigo/nav-drawer.indigo.css.d.ts → expansion-panel/themes/light/expansion-panel.base.css.d.ts} +0 -0
  127. package/components/expansion-panel/themes/light/expansion-panel.base.css.js +3 -0
  128. package/components/expansion-panel/themes/light/expansion-panel.base.css.js.map +1 -0
  129. package/components/{nav-drawer/styles/nav-drawer-header-item.base.css.d.ts → expansion-panel/themes/light/expansion-panel.bootstrap.css.d.ts} +0 -0
  130. package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js +3 -0
  131. package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js.map +1 -0
  132. package/components/{nav-drawer/styles/nav-drawer-item.base.css.d.ts → expansion-panel/themes/light/expansion-panel.fluent.css.d.ts} +0 -0
  133. package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js +3 -0
  134. package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js.map +1 -0
  135. package/components/{nav-drawer/styles/nav-drawer.base.css.d.ts → expansion-panel/themes/light/expansion-panel.indigo.css.d.ts} +0 -0
  136. package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js +3 -0
  137. package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js.map +1 -0
  138. package/components/form/form.d.ts +1 -1
  139. package/components/form/form.js +12 -2
  140. package/components/form/form.js.map +1 -1
  141. package/components/icon/icon.js +3 -7
  142. package/components/icon/icon.js.map +1 -1
  143. package/components/icon/icon.material.css.js +1 -1
  144. package/components/icon/icon.material.css.js.map +1 -1
  145. package/components/icon/icon.registry.js +5 -0
  146. package/components/icon/icon.registry.js.map +1 -1
  147. package/components/input/input-base.d.ts +7 -3
  148. package/components/input/input-base.js +16 -11
  149. package/components/input/input-base.js.map +1 -1
  150. package/components/input/input.d.ts +1 -4
  151. package/components/input/input.js +8 -4
  152. package/components/input/input.js.map +1 -1
  153. package/components/input/themes/light/input.base.css.js +1 -1
  154. package/components/input/themes/light/input.base.css.js.map +1 -1
  155. package/components/input/themes/light/input.bootstrap.css.js +1 -1
  156. package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
  157. package/components/list/list.js +4 -0
  158. package/components/list/list.js.map +1 -1
  159. package/components/list/themes/light/list-item.bootstrap.css.js +1 -1
  160. package/components/list/themes/light/list-item.bootstrap.css.js.map +1 -1
  161. package/components/list/themes/light/list-item.fluent.css.js +1 -1
  162. package/components/list/themes/light/list-item.fluent.css.js.map +1 -1
  163. package/components/list/themes/light/list-item.indigo.css.js +1 -1
  164. package/components/list/themes/light/list-item.indigo.css.js.map +1 -1
  165. package/components/list/themes/light/list.base.css.js +1 -1
  166. package/components/list/themes/light/list.base.css.js.map +1 -1
  167. package/components/mask-input/mask-input-base.d.ts +38 -0
  168. package/components/mask-input/mask-input-base.js +110 -0
  169. package/components/mask-input/mask-input-base.js.map +1 -0
  170. package/components/mask-input/mask-input.d.ts +71 -0
  171. package/components/mask-input/mask-input.js +182 -0
  172. package/components/mask-input/mask-input.js.map +1 -0
  173. package/components/mask-input/mask-parser.d.ts +30 -0
  174. package/components/mask-input/mask-parser.js +167 -0
  175. package/components/mask-input/mask-parser.js.map +1 -0
  176. package/components/nav-drawer/nav-drawer-header-item.js +4 -3
  177. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  178. package/components/nav-drawer/nav-drawer-item.d.ts +1 -0
  179. package/components/nav-drawer/nav-drawer-item.js +9 -5
  180. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  181. package/components/nav-drawer/nav-drawer.js +6 -2
  182. package/components/nav-drawer/nav-drawer.js.map +1 -1
  183. package/components/{snackbar/themes/snackbar.base.css.d.ts → nav-drawer/themes/dark/nav-drawer-item.base.css.d.ts} +0 -0
  184. package/components/nav-drawer/themes/dark/nav-drawer-item.base.css.js +3 -0
  185. package/components/nav-drawer/themes/dark/nav-drawer-item.base.css.js.map +1 -0
  186. package/components/{snackbar/themes/snackbar.bootstrap.css.d.ts → nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.d.ts} +0 -0
  187. package/components/nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.js +3 -0
  188. package/components/nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.js.map +1 -0
  189. package/components/{snackbar/themes/snackbar.fluent.css.d.ts → nav-drawer/themes/dark/nav-drawer-item.fluent.css.d.ts} +0 -0
  190. package/components/nav-drawer/themes/dark/nav-drawer-item.fluent.css.js +3 -0
  191. package/components/nav-drawer/themes/dark/nav-drawer-item.fluent.css.js.map +1 -0
  192. package/components/{snackbar/themes/snackbar.indigo.css.d.ts → nav-drawer/themes/dark/nav-drawer-item.indigo.css.d.ts} +0 -0
  193. package/components/nav-drawer/themes/dark/nav-drawer-item.indigo.css.js +3 -0
  194. package/components/nav-drawer/themes/dark/nav-drawer-item.indigo.css.js.map +1 -0
  195. package/components/nav-drawer/themes/dark/nav-drawer.indigo.css.d.ts +1 -0
  196. package/components/nav-drawer/themes/dark/nav-drawer.indigo.css.js +3 -0
  197. package/components/nav-drawer/themes/dark/nav-drawer.indigo.css.js.map +1 -0
  198. package/components/nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.d.ts +1 -0
  199. package/components/nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.js +3 -0
  200. package/components/nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.js.map +1 -0
  201. package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.d.ts +1 -0
  202. package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.js +3 -0
  203. package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.js.map +1 -0
  204. package/components/nav-drawer/themes/light/indigo/nav-drawer-header-item.indigo.css.d.ts +1 -0
  205. package/components/nav-drawer/{styles → themes/light}/indigo/nav-drawer-header-item.indigo.css.js +0 -0
  206. package/components/nav-drawer/themes/light/indigo/nav-drawer-header-item.indigo.css.js.map +1 -0
  207. package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.d.ts +1 -0
  208. package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.js +3 -0
  209. package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.js.map +1 -0
  210. package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.d.ts +1 -0
  211. package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.js +3 -0
  212. package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.js.map +1 -0
  213. package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.d.ts +1 -0
  214. package/components/nav-drawer/{styles → themes/light}/nav-drawer-header-item.base.css.js +1 -1
  215. package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js.map +1 -0
  216. package/components/nav-drawer/themes/light/nav-drawer-item.base.css.d.ts +1 -0
  217. package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js +3 -0
  218. package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js.map +1 -0
  219. package/components/nav-drawer/themes/light/nav-drawer.base.css.d.ts +1 -0
  220. package/components/nav-drawer/{styles → themes/light}/nav-drawer.base.css.js +1 -1
  221. package/components/nav-drawer/themes/light/nav-drawer.base.css.js.map +1 -0
  222. package/components/navbar/navbar.js +2 -1
  223. package/components/navbar/navbar.js.map +1 -1
  224. package/components/navbar/themes/light/navbar.base.css.js +1 -1
  225. package/components/navbar/themes/light/navbar.base.css.js.map +1 -1
  226. package/components/navbar/themes/light/navbar.bootstrap.css.js +1 -1
  227. package/components/navbar/themes/light/navbar.bootstrap.css.js.map +1 -1
  228. package/components/navbar/themes/light/navbar.fluent.css.d.ts +1 -0
  229. package/components/navbar/themes/light/navbar.fluent.css.js +3 -0
  230. package/components/navbar/themes/light/navbar.fluent.css.js.map +1 -0
  231. package/components/progress/circular-progress.d.ts +1 -1
  232. package/components/progress/circular-progress.js +3 -0
  233. package/components/progress/circular-progress.js.map +1 -1
  234. package/components/radio/radio.d.ts +2 -1
  235. package/components/radio/radio.js +6 -5
  236. package/components/radio/radio.js.map +1 -1
  237. package/components/radio/themes/light/radio.base.css.js +1 -1
  238. package/components/radio/themes/light/radio.base.css.js.map +1 -1
  239. package/components/radio/themes/light/radio.fluent.css.js +1 -1
  240. package/components/radio/themes/light/radio.fluent.css.js.map +1 -1
  241. package/components/rating/rating-symbol.base.css.d.ts +1 -0
  242. package/components/rating/rating-symbol.base.css.js +3 -0
  243. package/components/rating/rating-symbol.base.css.js.map +1 -0
  244. package/components/rating/rating-symbol.d.ts +8 -2
  245. package/components/rating/rating-symbol.js +12 -3
  246. package/components/rating/rating-symbol.js.map +1 -1
  247. package/components/rating/rating.base.css.js +1 -1
  248. package/components/rating/rating.base.css.js.map +1 -1
  249. package/components/rating/rating.bootstrap.css.js +1 -1
  250. package/components/rating/rating.bootstrap.css.js.map +1 -1
  251. package/components/rating/rating.d.ts +19 -14
  252. package/components/rating/rating.fluent.css.js +1 -1
  253. package/components/rating/rating.fluent.css.js.map +1 -1
  254. package/components/rating/rating.indigo.css.js +1 -1
  255. package/components/rating/rating.indigo.css.js.map +1 -1
  256. package/components/rating/rating.js +86 -44
  257. package/components/rating/rating.js.map +1 -1
  258. package/components/slider/range-slider.d.ts +1 -1
  259. package/components/slider/range-slider.js.map +1 -1
  260. package/components/slider/slider-base.js +4 -1
  261. package/components/slider/slider-base.js.map +1 -1
  262. package/components/slider/slider.d.ts +1 -1
  263. package/components/slider/themes/light/slider.base.css.js +1 -1
  264. package/components/slider/themes/light/slider.base.css.js.map +1 -1
  265. package/components/slider/themes/light/slider.bootstrap.css.js +1 -1
  266. package/components/slider/themes/light/slider.bootstrap.css.js.map +1 -1
  267. package/components/slider/themes/light/slider.fluent.css.js +1 -1
  268. package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
  269. package/components/slider/themes/light/slider.indigo.css.js +1 -1
  270. package/components/slider/themes/light/slider.indigo.css.js.map +1 -1
  271. package/components/slider/themes/light/slider.material.css.js +1 -1
  272. package/components/slider/themes/light/slider.material.css.js.map +1 -1
  273. package/components/snackbar/snackbar.d.ts +1 -1
  274. package/components/snackbar/snackbar.js +8 -4
  275. package/components/snackbar/snackbar.js.map +1 -1
  276. package/components/snackbar/themes/dark/snackbar.indigo.css.d.ts +1 -0
  277. package/components/snackbar/themes/dark/snackbar.indigo.css.js +3 -0
  278. package/components/snackbar/themes/dark/snackbar.indigo.css.js.map +1 -0
  279. package/components/snackbar/themes/light/snackbar.base.css.d.ts +1 -0
  280. package/components/snackbar/themes/light/snackbar.base.css.js +3 -0
  281. package/components/snackbar/themes/light/snackbar.base.css.js.map +1 -0
  282. package/components/snackbar/themes/light/snackbar.bootstrap.css.d.ts +1 -0
  283. package/components/snackbar/themes/light/snackbar.bootstrap.css.js +3 -0
  284. package/components/snackbar/themes/light/snackbar.bootstrap.css.js.map +1 -0
  285. package/components/snackbar/themes/light/snackbar.fluent.css.d.ts +1 -0
  286. package/components/snackbar/themes/light/snackbar.fluent.css.js +3 -0
  287. package/components/snackbar/themes/light/snackbar.fluent.css.js.map +1 -0
  288. package/components/snackbar/themes/light/snackbar.indigo.css.d.ts +1 -0
  289. package/components/snackbar/themes/light/snackbar.indigo.css.js +3 -0
  290. package/components/snackbar/themes/light/snackbar.indigo.css.js.map +1 -0
  291. package/components/tabs/tab-panel.d.ts +20 -0
  292. package/components/tabs/tab-panel.js +20 -0
  293. package/components/tabs/tab-panel.js.map +1 -0
  294. package/components/tabs/tab.d.ts +37 -0
  295. package/components/tabs/tab.js +71 -0
  296. package/components/tabs/tab.js.map +1 -0
  297. package/components/tabs/tabs.d.ts +79 -0
  298. package/components/tabs/tabs.js +316 -0
  299. package/components/tabs/tabs.js.map +1 -0
  300. package/components/tabs/themes/dark/tab.dark.base.css.d.ts +1 -0
  301. package/components/tabs/themes/dark/tab.dark.base.css.js +3 -0
  302. package/components/tabs/themes/dark/tab.dark.base.css.js.map +1 -0
  303. package/components/tabs/themes/dark/tab.dark.bootstrap.css.d.ts +1 -0
  304. package/components/tabs/themes/dark/tab.dark.bootstrap.css.js +3 -0
  305. package/components/tabs/themes/dark/tab.dark.bootstrap.css.js.map +1 -0
  306. package/components/tabs/themes/light/tab-panel.base.css.d.ts +1 -0
  307. package/components/tabs/themes/light/tab-panel.base.css.js +3 -0
  308. package/components/tabs/themes/light/tab-panel.base.css.js.map +1 -0
  309. package/components/tabs/themes/light/tab.base.css.d.ts +1 -0
  310. package/components/tabs/themes/light/tab.base.css.js +3 -0
  311. package/components/tabs/themes/light/tab.base.css.js.map +1 -0
  312. package/components/tabs/themes/light/tab.bootstrap.css.d.ts +1 -0
  313. package/components/tabs/themes/light/tab.bootstrap.css.js +3 -0
  314. package/components/tabs/themes/light/tab.bootstrap.css.js.map +1 -0
  315. package/components/tabs/themes/light/tab.fluent.css.d.ts +1 -0
  316. package/components/tabs/themes/light/tab.fluent.css.js +3 -0
  317. package/components/tabs/themes/light/tab.fluent.css.js.map +1 -0
  318. package/components/tabs/themes/light/tab.indigo.css.d.ts +1 -0
  319. package/components/tabs/themes/light/tab.indigo.css.js +3 -0
  320. package/components/tabs/themes/light/tab.indigo.css.js.map +1 -0
  321. package/components/tabs/themes/light/tabs.base.css.d.ts +1 -0
  322. package/components/tabs/themes/light/tabs.base.css.js +3 -0
  323. package/components/tabs/themes/light/tabs.base.css.js.map +1 -0
  324. package/components/tabs/themes/light/tabs.bootstrap.css.d.ts +1 -0
  325. package/components/tabs/themes/light/tabs.bootstrap.css.js +3 -0
  326. package/components/tabs/themes/light/tabs.bootstrap.css.js.map +1 -0
  327. package/components/tabs/themes/light/tabs.fluent.css.d.ts +1 -0
  328. package/components/tabs/themes/light/tabs.fluent.css.js +3 -0
  329. package/components/tabs/themes/light/tabs.fluent.css.js.map +1 -0
  330. package/components/tabs/themes/light/tabs.indigo.css.d.ts +1 -0
  331. package/components/tabs/themes/light/tabs.indigo.css.js +3 -0
  332. package/components/tabs/themes/light/tabs.indigo.css.js.map +1 -0
  333. package/components/tabs/utils.d.ts +14 -0
  334. package/components/tabs/utils.js +32 -0
  335. package/components/tabs/utils.js.map +1 -0
  336. package/components/toast/themes/toast.base.css.js +1 -1
  337. package/components/toast/themes/toast.base.css.js.map +1 -1
  338. package/components/toggle/toggle.controller.d.ts +17 -2
  339. package/components/toggle/toggle.controller.js +16 -11
  340. package/components/toggle/toggle.controller.js.map +1 -1
  341. package/components/toggle/toggle.directive.d.ts +1 -1
  342. package/components/toggle/toggle.directive.js +6 -4
  343. package/components/toggle/toggle.directive.js.map +1 -1
  344. package/components/tree/themes/dark/tree-item.bootstrap.css.d.ts +1 -0
  345. package/components/tree/themes/dark/tree-item.bootstrap.css.js +3 -0
  346. package/components/tree/themes/dark/tree-item.bootstrap.css.js.map +1 -0
  347. package/components/tree/themes/dark/tree-item.fluent.css.d.ts +1 -0
  348. package/components/tree/themes/dark/tree-item.fluent.css.js +3 -0
  349. package/components/tree/themes/dark/tree-item.fluent.css.js.map +1 -0
  350. package/components/tree/themes/dark/tree-item.indigo.css.d.ts +1 -0
  351. package/components/tree/themes/dark/tree-item.indigo.css.js +3 -0
  352. package/components/tree/themes/dark/tree-item.indigo.css.js.map +1 -0
  353. package/components/tree/themes/light/tree-item.base.css.d.ts +1 -0
  354. package/components/tree/themes/light/tree-item.base.css.js +3 -0
  355. package/components/tree/themes/light/tree-item.base.css.js.map +1 -0
  356. package/components/tree/themes/light/tree-item.bootstrap.css.d.ts +1 -0
  357. package/components/tree/themes/light/tree-item.bootstrap.css.js +3 -0
  358. package/components/tree/themes/light/tree-item.bootstrap.css.js.map +1 -0
  359. package/components/tree/themes/light/tree-item.fluent.css.d.ts +1 -0
  360. package/components/tree/themes/light/tree-item.fluent.css.js +3 -0
  361. package/components/tree/themes/light/tree-item.fluent.css.js.map +1 -0
  362. package/components/tree/themes/light/tree-item.indigo.css.d.ts +1 -0
  363. package/components/tree/themes/light/tree-item.indigo.css.js +3 -0
  364. package/components/tree/themes/light/tree-item.indigo.css.js.map +1 -0
  365. package/components/tree/themes/light/tree.base.css.d.ts +1 -0
  366. package/components/tree/themes/light/tree.base.css.js +3 -0
  367. package/components/tree/themes/light/tree.base.css.js.map +1 -0
  368. package/components/tree/tree-item.d.ts +116 -0
  369. package/components/tree/tree-item.js +465 -0
  370. package/components/tree/tree-item.js.map +1 -0
  371. package/components/tree/tree.common.d.ts +17 -0
  372. package/components/tree/tree.common.js +2 -0
  373. package/components/tree/tree.common.js.map +1 -0
  374. package/components/tree/tree.d.ts +71 -0
  375. package/components/tree/tree.js +169 -0
  376. package/components/tree/tree.js.map +1 -0
  377. package/components/tree/tree.navigation.d.ts +41 -0
  378. package/components/tree/tree.navigation.js +260 -0
  379. package/components/tree/tree.navigation.js.map +1 -0
  380. package/components/tree/tree.selection.d.ts +55 -0
  381. package/components/tree/tree.selection.js +265 -0
  382. package/components/tree/tree.selection.js.map +1 -0
  383. package/custom-elements.json +2754 -1522
  384. package/index.d.ts +12 -8
  385. package/index.js +9 -7
  386. package/index.js.map +1 -1
  387. package/package.json +10 -8
  388. package/themes/dark/bootstrap.css +1 -1
  389. package/themes/dark/fluent.css +1 -1
  390. package/themes/dark/indigo.css +1 -1
  391. package/themes/dark/material.css +1 -1
  392. package/themes/light/bootstrap.css +1 -1
  393. package/themes/light/fluent.css +1 -1
  394. package/vscode-html-custom-data.json +515 -72
  395. package/components/nav-drawer/styles/indigo/nav-drawer-header-item.indigo.css.js.map +0 -1
  396. package/components/nav-drawer/styles/indigo/nav-drawer-item.indigo.css.js +0 -3
  397. package/components/nav-drawer/styles/indigo/nav-drawer-item.indigo.css.js.map +0 -1
  398. package/components/nav-drawer/styles/indigo/nav-drawer.indigo.css.js +0 -3
  399. package/components/nav-drawer/styles/indigo/nav-drawer.indigo.css.js.map +0 -1
  400. package/components/nav-drawer/styles/nav-drawer-header-item.base.css.js.map +0 -1
  401. package/components/nav-drawer/styles/nav-drawer-item.base.css.js +0 -3
  402. package/components/nav-drawer/styles/nav-drawer-item.base.css.js.map +0 -1
  403. package/components/nav-drawer/styles/nav-drawer.base.css.js.map +0 -1
  404. package/components/snackbar/themes/snackbar.base.css.js +0 -3
  405. package/components/snackbar/themes/snackbar.base.css.js.map +0 -1
  406. package/components/snackbar/themes/snackbar.bootstrap.css.js +0 -3
  407. package/components/snackbar/themes/snackbar.bootstrap.css.js.map +0 -1
  408. package/components/snackbar/themes/snackbar.fluent.css.js +0 -3
  409. package/components/snackbar/themes/snackbar.fluent.css.js.map +0 -1
  410. package/components/snackbar/themes/snackbar.indigo.css.js +0 -3
  411. package/components/snackbar/themes/snackbar.indigo.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, LitElement } from 'lit';\nimport { property, query, queryAssignedElements } from 'lit/decorators.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { styles } from './themes/light/dropdown.base.css.js';\nimport { styles as bootstrap } from './themes/light/dropdown.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/dropdown.fluent.css.js';\nimport { styles as indigo } from './themes/light/dropdown.indigo.css.js';\nimport type {\n IgcPlacement,\n IgcToggleComponent,\n IgcToggleEventMap,\n} from '../toggle/types';\nimport IgcDropdownItemComponent from './dropdown-item.js';\nimport { IgcToggleController } from '../toggle/toggle.controller.js';\nimport type IgcDropdownGroupComponent from './dropdown-group';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { SizableMixin } from '../common/mixins/sizable.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { blazorSuppress } from '../common/decorators/blazorSuppress.js';\n\nexport enum DropdownActionKey {\n ESCAPE = 'escape',\n ENTER = 'enter',\n}\n\nexport interface IgcDropdownEventMap extends IgcToggleEventMap {\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.\n * @csspart list - The dropdown list.\n */\n@themes({ bootstrap, fluent, indigo })\nexport default class IgcDropdownComponent\n extends SizableMixin(\n EventEmitterMixin<IgcDropdownEventMap, Constructor<LitElement>>(LitElement)\n )\n implements IgcToggleComponent\n{\n public static readonly tagName = 'igc-dropdown';\n\n public static styles = styles;\n\n private toggleController!: IgcToggleController;\n private selectedItem!: IgcDropdownItemComponent | null;\n private activeItem!: IgcDropdownItemComponent;\n private target!: HTMLElement;\n\n private get allItems(): IgcDropdownItemComponent[] {\n const groupItems: IgcDropdownItemComponent[] = this.groups.flatMap(\n (group) => group.items\n );\n return [...this.items, ...groupItems];\n }\n\n @queryAssignedElements({ slot: 'target' })\n private targetNodes!: Array<HTMLElement>;\n\n @query('[part=\"base\"]')\n protected content!: HTMLElement;\n\n @query('[part=\"list\"]')\n protected scrollContainer!: HTMLElement;\n\n @queryAssignedElements({ flatten: true, selector: 'igc-dropdown-item' })\n protected items!: Array<IgcDropdownItemComponent>;\n\n @queryAssignedElements({ flatten: true, selector: 'igc-dropdown-group' })\n protected groups!: Array<IgcDropdownGroupComponent>;\n\n /** Whether the dropdown should be kept open on selection. */\n @property({ type: Boolean, attribute: 'keep-open-on-select' })\n public keepOpenOnSelect = false;\n\n /** Sets the open state of the component. */\n @property({ type: Boolean })\n public open = false;\n\n /** The preferred placement of the component around the target element.\n * @type {\"top\" | \"top-start\" | \"top-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"right\" | \"right-start\" | \"right-end\" | \"left\" | \"left-start\" | \"left-end\"}\n */\n @property()\n public placement: IgcPlacement = 'bottom-start';\n\n /** Sets the component's positioning strategy. */\n @property({ attribute: 'position-strategy' })\n public positionStrategy: 'absolute' | 'fixed' = 'absolute';\n\n /** Determines the behavior of the component during scrolling the container. */\n @property({ attribute: 'scroll-strategy' })\n public scrollStrategy: 'scroll' | 'block' | 'close' = '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 */\n @property({ type: Boolean })\n public flip = false;\n\n /** The distance from the target element. */\n @property({ type: Number })\n public distance = 0;\n\n /** Whether the component should be kept open on clicking outside of it. */\n @property({ type: Boolean, attribute: 'keep-open-on-outside-click' })\n public keepOpenOnOutsideClick = false;\n\n /** Whether the dropdown's width should be the same as the target's one. */\n @property({ type: Boolean, attribute: 'same-width' })\n public sameWidth = false;\n\n @watch('open')\n protected toggleDirectiveChange() {\n if (!this.target) return;\n this.toggleController.target = this.target;\n\n if (this.open) {\n document.addEventListener('keydown', this.handleKeyDown);\n this.target.addEventListener('focusout', this.handleFocusout);\n this.selectedItem = this.allItems.find((i) => i.selected) ?? null;\n } else {\n document.removeEventListener('keydown', this.handleKeyDown);\n this.target.removeEventListener('focusout', this.handleFocusout);\n }\n\n this.target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n\n @watch('placement')\n @watch('flip')\n @watch('positionStrategy')\n @watch('closeOnOutsideClick')\n @watch('distance')\n @watch('sameWidth')\n protected updateOptions() {\n if (!this.toggleController) return;\n\n this.toggleController.updateToggleDir();\n }\n\n @watch('size')\n protected sizeChange() {\n this.groups.forEach((g) => (g.size = this.size));\n }\n\n constructor() {\n super();\n\n this.toggleController = new IgcToggleController(this, this.target);\n }\n\n public override firstUpdated() {\n if (this.targetNodes.length) {\n this.target = this.targetNodes[0];\n this.target.setAttribute('aria-haspopup', 'listbox');\n }\n }\n\n protected override async getUpdateComplete() {\n const result = await super.getUpdateComplete();\n await this.toggleController.rendered;\n return result;\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (\n this.open &&\n event &&\n (event.composedPath().includes(this.target) ||\n event.composedPath().includes(this.content))\n ) {\n const key = event.key.toLowerCase();\n const navKeys = [\n 'esc',\n 'escape',\n 'enter',\n 'arrowup',\n 'up',\n 'arrowdown',\n 'down',\n ];\n if (navKeys.indexOf(key) === -1) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n switch (key) {\n case 'esc':\n case 'escape':\n this.handleItemActionKey(DropdownActionKey.ESCAPE);\n break;\n case 'enter':\n this.handleItemActionKey(DropdownActionKey.ENTER);\n break;\n case 'arrowup':\n case 'up':\n this.onArrowUpKeyDown();\n break;\n case 'arrowdown':\n case 'down':\n this.onArrowDownKeyDown();\n break;\n default:\n return;\n }\n }\n };\n\n private handleItemActionKey(key: DropdownActionKey) {\n switch (key) {\n case DropdownActionKey.ENTER:\n this.selectItem(this.activeItem);\n this.handleChange(this.activeItem);\n break;\n case DropdownActionKey.ESCAPE:\n break;\n }\n\n if (!this.keepOpenOnSelect) this._hide();\n }\n\n private handleClick(event: MouseEvent) {\n const newSelectedItem = event\n .composedPath()\n .find(\n (e) => e instanceof IgcDropdownItemComponent\n ) as IgcDropdownItemComponent;\n\n if (!newSelectedItem || newSelectedItem.disabled) return;\n\n this.selectItem(newSelectedItem);\n this.handleChange(newSelectedItem);\n if (!this.keepOpenOnSelect) this._hide();\n }\n\n private handleTargetClick = () => {\n if (!this.open) {\n if (!this.handleOpening()) return;\n this.show();\n this.emitEvent('igcOpened');\n } else {\n this._hide();\n }\n };\n\n private handleOpening() {\n const args = { cancelable: true };\n return this.emitEvent('igcOpening', args);\n }\n\n private handleClosing(): boolean {\n const args = { cancelable: true };\n return this.emitEvent('igcClosing', args);\n }\n\n private handleChange(item: IgcDropdownItemComponent) {\n const args = { detail: item };\n this.emitEvent('igcChange', args);\n }\n\n private handleSlotChange() {\n if (!this.target) return;\n this.target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n\n private handleFocusout(event: Event) {\n event.preventDefault();\n (event.target as HTMLElement).focus();\n }\n\n private getItem(value: string) {\n let itemIndex = -1;\n let item!: IgcDropdownItemComponent;\n this.allItems.find((i, index) => {\n if (i.value === value) {\n item = i;\n itemIndex = index;\n }\n });\n return { item: item, index: itemIndex };\n }\n\n private activateItem(value: IgcDropdownItemComponent) {\n if (!value) return;\n\n if (this.activeItem && this.activeItem !== value) {\n this.activeItem.active = false;\n }\n\n this.activeItem = value;\n this.activeItem.active = true;\n }\n\n private selectItem(\n item: IgcDropdownItemComponent,\n emit = true\n ): IgcDropdownItemComponent | null {\n const oldItem = this.selectedItem;\n\n if (!item) {\n return null;\n }\n\n if (oldItem && oldItem !== item) {\n oldItem.selected = false;\n }\n\n this.activateItem(item);\n this.selectedItem = item;\n this.selectedItem.selected = true;\n if (emit) this.handleChange(this.selectedItem);\n\n return this.selectedItem;\n }\n\n private navigate(direction: -1 | 1, currentIndex?: number) {\n let index = -1;\n if (this.activeItem) {\n index = currentIndex\n ? currentIndex\n : [...this.allItems].indexOf(this.activeItem) ?? index;\n }\n\n const newIndex = this.getNearestSiblingFocusableItemIndex(index, direction);\n this.navigateItem(newIndex);\n }\n\n private navigateItem(newIndex: number): IgcDropdownItemComponent | null {\n if (!this.allItems) {\n return null;\n }\n\n if (newIndex < 0 || newIndex >= this.allItems.length) {\n return null;\n }\n\n const newItem = this.allItems[newIndex];\n\n this.activateItem(newItem);\n this.scrollToHiddenItem(newItem);\n\n return newItem;\n }\n\n private scrollToHiddenItem(newItem: IgcDropdownItemComponent) {\n const elementRect = newItem.getBoundingClientRect();\n const parentRect = this.content.getBoundingClientRect();\n if (parentRect.top > elementRect.top) {\n this.content.scrollTop -= parentRect.top - elementRect.top;\n }\n\n if (parentRect.bottom < elementRect.bottom) {\n this.content.scrollTop += elementRect.bottom - parentRect.bottom;\n }\n }\n\n private getNearestSiblingFocusableItemIndex(\n startIndex: number,\n direction: -1 | 1\n ): number {\n let index = startIndex;\n const items = this.allItems;\n if (!items) {\n return -1;\n }\n\n while (items[index + direction] && items[index + direction].disabled) {\n index += direction;\n }\n\n index += direction;\n\n return index > -1 && index < items.length ? index : -1;\n }\n\n private navigateNext() {\n this.navigate(1);\n }\n\n private navigatePrev() {\n this.navigate(-1);\n }\n\n private onArrowDownKeyDown() {\n this.navigateNext();\n }\n\n private onArrowUpKeyDown() {\n this.navigatePrev();\n }\n\n private _hide(emit = true) {\n if (emit && !this.handleClosing()) return;\n\n if (!this.open) return;\n\n this.open = false;\n\n if (emit) {\n this.emitEvent('igcClosed');\n }\n }\n\n /** Shows the dropdown. */\n @blazorSuppress()\n public show(target?: HTMLElement) {\n if (this.open && !target) return;\n\n if (target) this.target = target;\n\n this.open = true;\n }\n\n /** Hides the dropdown. */\n public hide(): void {\n this._hide(false);\n }\n\n /** Toggles the open state of the dropdown. */\n @blazorSuppress()\n public toggle(target?: HTMLElement): void {\n if (!this.open) {\n this.show(target);\n } else {\n this.hide();\n }\n }\n\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 /** 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 /** Navigates to the specified item. If it exists, returns the found item, otherwise - null. */\n @blazorSuppress()\n public navigateTo(value: string | number): IgcDropdownItemComponent | null {\n const index =\n typeof value === 'string' ? this.getItem(value).index : (value as number);\n\n return this.navigateItem(index);\n }\n\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 /** Selects the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public select(index: number): IgcDropdownItemComponent | null;\n /** Selects the specified item. If it exists, returns the found item, otherwise - null. */\n @blazorSuppress()\n public select(value: string | number): IgcDropdownItemComponent | null {\n const item =\n typeof value === 'string'\n ? this.getItem(value).item\n : this.allItems[value as number];\n\n return this.selectItem(item, false);\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`\n <slot\n id=\"igcDDLTarget\"\n name=\"target\"\n @click=${this.handleTargetClick}\n @slotchange=${this.handleSlotChange}\n >\n </slot>\n <div\n part=\"base\"\n style=${styleMap({ position: this.positionStrategy })}\n @click=${this.handleClick}\n ${this.toggleController.toggleDirective}\n >\n <div role=\"listbox\" part=\"list\" aria-labelledby=\"igcDDLTarget\">\n <slot></slot>\n </div>\n </div>\n `;\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, LitElement } from 'lit';\nimport { property, query, queryAssignedElements } from 'lit/decorators.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { styles } from './themes/light/dropdown.base.css.js';\nimport { styles as bootstrap } from './themes/light/dropdown.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/dropdown.fluent.css.js';\nimport { styles as indigo } from './themes/light/dropdown.indigo.css.js';\nimport type {\n IgcPlacement,\n IgcToggleComponent,\n IgcToggleEventMap,\n} from '../toggle/types';\nimport { IgcToggleController } from '../toggle/toggle.controller.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { SizableMixin } from '../common/mixins/sizable.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { blazorSuppress } from '../common/decorators/blazorSuppress.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\n\nimport { defineComponents } from '../common/definitions/defineComponents.js';\nimport IgcDropdownGroupComponent from './dropdown-group.js';\nimport IgcDropdownHeaderComponent from './dropdown-header.js';\nimport IgcDropdownItemComponent from './dropdown-item.js';\n\ndefineComponents(\n IgcDropdownGroupComponent,\n IgcDropdownHeaderComponent,\n IgcDropdownItemComponent\n);\n\nexport interface IgcDropdownEventMap extends IgcToggleEventMap {\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.\n * @csspart list - The dropdown list.\n */\n@themes({ bootstrap, fluent, indigo })\n@blazorAdditionalDependencies(\n 'IgcDropdownItemComponent, IgcDropdownHeaderComponent, IgcDropdownGroupComponent'\n)\nexport default class IgcDropdownComponent\n extends SizableMixin(\n EventEmitterMixin<IgcDropdownEventMap, Constructor<LitElement>>(LitElement)\n )\n implements IgcToggleComponent\n{\n public static readonly tagName = 'igc-dropdown';\n\n public static styles = styles;\n\n private toggleController!: IgcToggleController;\n private selectedItem!: IgcDropdownItemComponent | null;\n private activeItem!: IgcDropdownItemComponent;\n private target!: HTMLElement;\n\n private readonly keyDownHandlers: Map<string, Function> = new Map(\n Object.entries({\n Escape: this.onEscapeKey,\n Enter: this.onEnterKey,\n ArrowUp: this.onArrowUpKeyDown,\n ArrowDown: this.onArrowDownKeyDown,\n Home: this.onHomeKey,\n End: this.onEndKey,\n })\n );\n\n protected get allItems() {\n return [...this.items, ...this.groups.flatMap((group) => group.items)];\n }\n\n @queryAssignedElements({ slot: 'target' })\n private targetNodes!: Array<HTMLElement>;\n\n @query('[part=\"base\"]')\n protected content!: HTMLElement;\n\n @query('[part=\"list\"]')\n protected scrollContainer!: HTMLElement;\n\n @queryAssignedElements({ flatten: true, selector: 'igc-dropdown-item' })\n protected items!: Array<IgcDropdownItemComponent>;\n\n @queryAssignedElements({ flatten: true, selector: 'igc-dropdown-group' })\n protected groups!: Array<IgcDropdownGroupComponent>;\n\n /** Whether the dropdown should be kept open on selection. */\n @property({ type: Boolean, attribute: 'keep-open-on-select' })\n public keepOpenOnSelect = false;\n\n /** Sets the open state of the component. */\n @property({ type: Boolean })\n public open = false;\n\n /** The preferred placement of the component around the target element.\n * @type {\"top\" | \"top-start\" | \"top-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"right\" | \"right-start\" | \"right-end\" | \"left\" | \"left-start\" | \"left-end\"}\n */\n @property()\n public placement: IgcPlacement = 'bottom-start';\n\n /** Sets the component's positioning strategy. */\n @property({ attribute: 'position-strategy' })\n public positionStrategy: 'absolute' | 'fixed' = 'absolute';\n\n /** Determines the behavior of the component during scrolling the container. */\n @property({ attribute: 'scroll-strategy' })\n public scrollStrategy: 'scroll' | 'block' | 'close' = '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 */\n @property({ type: Boolean })\n public flip = false;\n\n /** The distance from the target element. */\n @property({ type: Number })\n public distance = 0;\n\n /** Whether the component should be kept open on clicking outside of it. */\n @property({ type: Boolean, attribute: 'keep-open-on-outside-click' })\n public keepOpenOnOutsideClick = false;\n\n /** Whether the dropdown's width should be the same as the target's one. */\n @property({ type: Boolean, attribute: 'same-width' })\n public sameWidth = false;\n\n @watch('open')\n protected toggleDirectiveChange() {\n if (!this.target) return;\n this.toggleController.target = this.target;\n\n if (this.open) {\n document.addEventListener('keydown', this.handleKeyDown);\n this.target.addEventListener('focusout', this.handleFocusout);\n this.selectedItem = this.allItems.find((i) => i.selected) ?? null;\n } else {\n document.removeEventListener('keydown', this.handleKeyDown);\n this.target.removeEventListener('focusout', this.handleFocusout);\n }\n\n this.target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n\n @watch('placement')\n @watch('flip')\n @watch('positionStrategy')\n @watch('closeOnOutsideClick')\n @watch('distance')\n @watch('sameWidth')\n protected updateOptions() {\n if (!this.toggleController) return;\n\n this.toggleController.update();\n }\n\n @watch('size')\n protected sizeChange() {\n this.groups.forEach((g) => g.requestUpdate());\n }\n\n constructor() {\n super();\n this.toggleController = new IgcToggleController(this, {\n target: this.target,\n closeCallback: () => this._hide(),\n });\n }\n\n public override async firstUpdated() {\n if (this.targetNodes.length) {\n this.target = this.targetNodes[0];\n this.target.setAttribute('aria-haspopup', 'listbox');\n }\n\n await this.updateComplete;\n this.setInitialSelection();\n }\n\n protected override async getUpdateComplete() {\n const result = await super.getUpdateComplete();\n await this.toggleController.rendered;\n return result;\n }\n\n protected setInitialSelection() {\n const item = this.allItems.filter((item) => item.selected).at(-1);\n this.allItems.forEach((item) => (item.selected = false));\n if (item) {\n this.selectItem(item, false);\n }\n }\n\n protected handleKeyDown = (event: KeyboardEvent) => {\n const path = event.composedPath();\n if (!(path.includes(this.target) || path.includes(this.content))) return;\n\n if (this.keyDownHandlers.has(event.key)) {\n event.preventDefault();\n event.stopPropagation();\n this.keyDownHandlers.get(event.key)?.call(this);\n }\n };\n\n protected onHomeKey() {\n this.navigateTo(\n this.allItems.filter((item) => !item.disabled).at(0)!.value\n );\n }\n\n protected onEndKey() {\n this.navigateTo(\n this.allItems.filter((item) => !item.disabled).at(-1)!.value\n );\n }\n\n protected onEscapeKey() {\n this._hide();\n }\n\n protected onEnterKey() {\n this.selectItem(this.activeItem);\n }\n\n protected handleClick(event: MouseEvent) {\n const item = event\n .composedPath()\n .find(\n (e) => e instanceof IgcDropdownItemComponent\n ) as IgcDropdownItemComponent;\n\n if (!item || item.disabled) return;\n\n this.selectItem(item);\n }\n\n protected handleTargetClick = async () => {\n if (!this.open) {\n if (!this.handleOpening()) return;\n this.show();\n await this.updateComplete;\n this.emitEvent('igcOpened');\n } else {\n this._hide();\n }\n };\n\n protected handleOpening() {\n const args = { cancelable: true };\n return this.emitEvent('igcOpening', args);\n }\n\n protected handleClosing(): boolean {\n const args = { cancelable: true };\n return this.emitEvent('igcClosing', args);\n }\n\n protected handleChange(item: IgcDropdownItemComponent) {\n const args = { detail: item };\n this.emitEvent('igcChange', args);\n }\n\n protected handleSlotChange() {\n if (!this.target) return;\n this.target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n\n protected handleFocusout(event: Event) {\n event.preventDefault();\n (event.target as HTMLElement).focus();\n }\n\n protected getItem(value: string) {\n let itemIndex = -1;\n let item!: IgcDropdownItemComponent;\n this.allItems.find((i, index) => {\n if (i.value === value) {\n item = i;\n itemIndex = index;\n }\n });\n return { item: item, index: itemIndex };\n }\n\n protected activateItem(value: IgcDropdownItemComponent) {\n if (!value) return;\n\n if (this.activeItem) {\n this.activeItem.active = false;\n }\n\n this.activeItem = value;\n this.activeItem.active = true;\n }\n\n protected selectItem(\n item: IgcDropdownItemComponent,\n emit = true\n ): IgcDropdownItemComponent | null {\n if (!item) return null;\n\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 if (emit) this.handleChange(this.selectedItem);\n if (emit && !this.keepOpenOnSelect) this._hide();\n\n return this.selectedItem;\n }\n\n protected navigate(direction: -1 | 1, currentIndex?: number) {\n let index = -1;\n if (this.activeItem) {\n index = currentIndex\n ? currentIndex\n : [...this.allItems].indexOf(this.activeItem) ?? index;\n }\n\n const newIndex = this.getNearestSiblingFocusableItemIndex(index, direction);\n this.navigateItem(newIndex);\n }\n\n private navigateItem(newIndex: number): IgcDropdownItemComponent | null {\n if (!this.allItems) {\n return null;\n }\n\n if (newIndex < 0 || newIndex >= this.allItems.length) {\n return null;\n }\n\n const newItem = this.allItems[newIndex];\n\n this.activateItem(newItem);\n this.scrollToHiddenItem(newItem);\n\n return newItem;\n }\n\n private scrollToHiddenItem(newItem: IgcDropdownItemComponent) {\n const elementRect = newItem.getBoundingClientRect();\n const parentRect = this.content.getBoundingClientRect();\n if (parentRect.top > elementRect.top) {\n this.content.scrollTop -= parentRect.top - elementRect.top;\n }\n\n if (parentRect.bottom < elementRect.bottom) {\n this.content.scrollTop += elementRect.bottom - parentRect.bottom;\n }\n }\n\n private getNearestSiblingFocusableItemIndex(\n startIndex: number,\n direction: -1 | 1\n ): number {\n let index = startIndex;\n const items = this.allItems;\n if (!items) {\n return -1;\n }\n\n while (items[index + direction] && items[index + direction].disabled) {\n index += direction;\n }\n\n index += direction;\n\n return index > -1 && index < items.length ? index : -1;\n }\n\n private navigateNext() {\n this.navigate(1);\n }\n\n private navigatePrev() {\n this.navigate(-1);\n }\n\n private onArrowDownKeyDown() {\n this.navigateNext();\n }\n\n private onArrowUpKeyDown() {\n this.navigatePrev();\n }\n\n private async _hide(emit = true) {\n if (emit && !this.handleClosing()) return;\n\n if (!this.open) return;\n\n this.open = false;\n\n if (emit) {\n await this.updateComplete;\n this.emitEvent('igcClosed');\n }\n }\n\n /** Shows the dropdown. */\n @blazorSuppress()\n public show(target?: HTMLElement) {\n if (this.open && !target) return;\n\n if (target) this.target = target;\n\n this.open = true;\n }\n\n /** Hides the dropdown. */\n public hide(): void {\n this._hide(false);\n }\n\n /** Toggles the open state of the dropdown. */\n @blazorSuppress()\n public toggle(target?: HTMLElement): void {\n this.open ? this.hide() : this.show(target);\n }\n\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 /** 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 /** Navigates to the specified item. If it exists, returns the found item, otherwise - null. */\n @blazorSuppress()\n public navigateTo(value: string | number): IgcDropdownItemComponent | null {\n const index =\n typeof value === 'string' ? this.getItem(value).index : (value as number);\n\n return this.navigateItem(index);\n }\n\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 /** Selects the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public select(index: number): IgcDropdownItemComponent | null;\n /** Selects the specified item. If it exists, returns the found item, otherwise - null. */\n @blazorSuppress()\n public select(value: string | number): IgcDropdownItemComponent | null {\n const item =\n typeof value === 'string'\n ? this.getItem(value).item\n : this.allItems[value as number];\n\n return this.selectItem(item, false);\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`\n <slot\n id=\"igcDDLTarget\"\n name=\"target\"\n @click=${this.handleTargetClick}\n @slotchange=${this.handleSlotChange}\n >\n </slot>\n <div\n part=\"base\"\n style=${styleMap({ position: this.positionStrategy })}\n @click=${this.handleClick}\n ${this.toggleController.toggleDirective}\n >\n <div role=\"listbox\" part=\"list\" aria-labelledby=\"igcDDLTarget\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown': IgcDropdownComponent;\n }\n}\n"]}
@@ -0,0 +1,73 @@
1
+ import { LitElement } from 'lit';
2
+ import { Constructor } from '../common/mixins/constructor.js';
3
+ export interface IgcExpansionPanelComponentEventMap {
4
+ igcOpening: CustomEvent<IgcExpansionPanelComponent>;
5
+ igcOpened: CustomEvent<IgcExpansionPanelComponent>;
6
+ igcClosing: CustomEvent<IgcExpansionPanelComponent>;
7
+ igcClosed: CustomEvent<IgcExpansionPanelComponent>;
8
+ }
9
+ declare const IgcExpansionPanelComponent_base: import("../common/mixins/constructor.js").AbstractConstructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcExpansionPanelComponentEventMap>> & Constructor<LitElement>;
10
+ /**
11
+ * The Expansion Panel Component provides a way to display information in a toggleable way -
12
+ * compact summary view containing title and description and expanded detail view containing
13
+ * additional content to the summary header.
14
+ *
15
+ * @element igc-expansion-panel
16
+ *
17
+ * @slot title - renders the title of the panel's header
18
+ * @slot subtitle - renders the subtitle of the panel's header
19
+ * @slot indicator - renders the expand/collapsed indicator
20
+ *
21
+ * @fires igcOpening - Emitted before opening the expansion panel.
22
+ * @fires igcOpened - Emitted after the expansion panel is opened.
23
+ * @fires igcClosing - Emitted before closing the expansion panel.
24
+ * @fires igcClosed - Emitted after the expansion panel is closed.
25
+ *
26
+ * @csspart header - The container of the expansion indicator, title and subtitle.
27
+ * @csspart title - The title container.
28
+ * @csspart subtitle - The subtitle container.
29
+ * @csspart indicator - The indicator container.
30
+ * @csspart content - The expansion panel's content wrapper.
31
+ */
32
+ export default class IgcExpansionPanelComponent extends IgcExpansionPanelComponent_base {
33
+ static readonly tagName = "igc-expansion-panel";
34
+ static styles: import("lit").CSSResult;
35
+ private static readonly increment;
36
+ /** Indicates whether the contents of the control should be visible. */
37
+ open: boolean;
38
+ /** Get/Set whether the expansion panel is disabled. Disabled panels are ignored for user interactions. */
39
+ disabled: boolean;
40
+ /** The indicator position of the expansion panel. */
41
+ indicatorPosition: 'start' | 'end' | 'none';
42
+ protected panelHeader: HTMLElement;
43
+ private panelId;
44
+ connectedCallback(): void;
45
+ private handleClicked;
46
+ private handleKeydown;
47
+ /**
48
+ * @private
49
+ * Opens the panel.
50
+ */
51
+ private openWithEvent;
52
+ /**
53
+ * @private
54
+ * Closes the panel.
55
+ */
56
+ private closeWithEvent;
57
+ /** Toggles panel open state. */
58
+ toggle(): void;
59
+ /** Hides the panel content. */
60
+ hide(): void;
61
+ /** Shows the panel content. */
62
+ show(): void;
63
+ private indicatorTemplate;
64
+ private headerTemplate;
65
+ private contentTemplate;
66
+ protected render(): import("lit-html").TemplateResult<1>;
67
+ }
68
+ declare global {
69
+ interface HTMLElementTagNameMap {
70
+ 'igc-expansion-panel': IgcExpansionPanelComponent;
71
+ }
72
+ }
73
+ export {};
@@ -0,0 +1,173 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var IgcExpansionPanelComponent_1;
8
+ import { LitElement, html } from 'lit';
9
+ import { property, query } from 'lit/decorators.js';
10
+ import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
11
+ import { themes } from '../../theming/theming-decorator.js';
12
+ import { styles } from './themes/light/expansion-panel.base.css.js';
13
+ import { styles as bootstrap } from './themes/light/expansion-panel.bootstrap.css.js';
14
+ import { styles as fluent } from './themes/light/expansion-panel.fluent.css.js';
15
+ import { styles as indigo } from './themes/light/expansion-panel.indigo.css.js';
16
+ import { createCounter } from '../common/util.js';
17
+ import { defineComponents } from '../common/definitions/defineComponents.js';
18
+ import IgcIconComponent from '../icon/icon.js';
19
+ defineComponents(IgcIconComponent);
20
+ let IgcExpansionPanelComponent = IgcExpansionPanelComponent_1 = class IgcExpansionPanelComponent extends EventEmitterMixin(LitElement) {
21
+ constructor() {
22
+ super(...arguments);
23
+ this.open = false;
24
+ this.disabled = false;
25
+ this.indicatorPosition = 'start';
26
+ }
27
+ connectedCallback() {
28
+ super.connectedCallback();
29
+ this.panelId =
30
+ this.getAttribute('id') ||
31
+ `igc-expansion-panel-${IgcExpansionPanelComponent_1.increment()}`;
32
+ }
33
+ handleClicked() {
34
+ this.panelHeader.focus();
35
+ if (this.open) {
36
+ this.closeWithEvent();
37
+ }
38
+ else {
39
+ this.openWithEvent();
40
+ }
41
+ }
42
+ handleKeydown(event) {
43
+ if (this.disabled) {
44
+ return;
45
+ }
46
+ switch (event.key.toLowerCase()) {
47
+ case 'arrowdown':
48
+ case 'down':
49
+ if (event.altKey) {
50
+ this.openWithEvent();
51
+ }
52
+ break;
53
+ case 'arrowup':
54
+ case 'up':
55
+ if (event.altKey) {
56
+ this.closeWithEvent();
57
+ }
58
+ break;
59
+ case 'enter':
60
+ case ' ':
61
+ this.open ? this.closeWithEvent() : this.openWithEvent();
62
+ break;
63
+ }
64
+ }
65
+ openWithEvent() {
66
+ if (this.open) {
67
+ return;
68
+ }
69
+ const args = {
70
+ cancelable: true,
71
+ detail: this,
72
+ };
73
+ const allowed = this.emitEvent('igcOpening', args);
74
+ if (!allowed) {
75
+ return;
76
+ }
77
+ this.open = true;
78
+ this.emitEvent('igcOpened', { detail: this });
79
+ }
80
+ closeWithEvent() {
81
+ if (!this.open) {
82
+ return;
83
+ }
84
+ const args = {
85
+ cancelable: true,
86
+ detail: this,
87
+ };
88
+ const allowed = this.emitEvent('igcClosing', args);
89
+ if (!allowed) {
90
+ return;
91
+ }
92
+ this.open = false;
93
+ this.emitEvent('igcClosed', { detail: this });
94
+ }
95
+ toggle() {
96
+ this.open = !this.open;
97
+ }
98
+ hide() {
99
+ this.open = false;
100
+ }
101
+ show() {
102
+ this.open = true;
103
+ }
104
+ indicatorTemplate() {
105
+ return html `
106
+ <div part="indicator" aria-hidden="true">
107
+ <slot name="indicator">
108
+ <igc-icon
109
+ name=${this.open ? 'keyboard_arrow_up' : 'keyboard_arrow_down'}
110
+ collection="internal"
111
+ >
112
+ </igc-icon>
113
+ </slot>
114
+ </div>
115
+ `;
116
+ }
117
+ headerTemplate() {
118
+ return html `
119
+ <div
120
+ part="header"
121
+ id="${this.panelId}-header"
122
+ role="button"
123
+ aria-expanded="${this.open}"
124
+ aria-disabled="${this.disabled}"
125
+ aria-controls="${this.panelId}-content"
126
+ tabindex=${this.disabled ? '-1' : '0'}
127
+ @click=${this.handleClicked}
128
+ @keydown=${this.handleKeydown}
129
+ >
130
+ ${this.indicatorTemplate()}
131
+ <div>
132
+ <slot name="title" part="title"></slot>
133
+ <slot name="subtitle" part="subtitle"></slot>
134
+ </div>
135
+ </div>
136
+ `;
137
+ }
138
+ contentTemplate() {
139
+ return html `
140
+ <div
141
+ part="content"
142
+ role="region"
143
+ id="${this.panelId}-content"
144
+ aria-labelledby="${this.panelId}-header"
145
+ >
146
+ <slot ?hidden=${!this.open}></slot>
147
+ </div>
148
+ `;
149
+ }
150
+ render() {
151
+ return html ` ${this.headerTemplate()} ${this.contentTemplate()}`;
152
+ }
153
+ };
154
+ IgcExpansionPanelComponent.tagName = 'igc-expansion-panel';
155
+ IgcExpansionPanelComponent.styles = styles;
156
+ IgcExpansionPanelComponent.increment = createCounter();
157
+ __decorate([
158
+ property({ reflect: true, type: Boolean })
159
+ ], IgcExpansionPanelComponent.prototype, "open", void 0);
160
+ __decorate([
161
+ property({ reflect: true, type: Boolean })
162
+ ], IgcExpansionPanelComponent.prototype, "disabled", void 0);
163
+ __decorate([
164
+ property({ reflect: true, attribute: 'indicator-position' })
165
+ ], IgcExpansionPanelComponent.prototype, "indicatorPosition", void 0);
166
+ __decorate([
167
+ query('[part~="header"]', true)
168
+ ], IgcExpansionPanelComponent.prototype, "panelHeader", void 0);
169
+ IgcExpansionPanelComponent = IgcExpansionPanelComponent_1 = __decorate([
170
+ themes({ bootstrap, fluent, indigo })
171
+ ], IgcExpansionPanelComponent);
172
+ export default IgcExpansionPanelComponent;
173
+ //# sourceMappingURL=expansion-panel.js.map
@@ -0,0 +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 { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { styles } from './themes/light/expansion-panel.base.css.js';\nimport { styles as bootstrap } from './themes/light/expansion-panel.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/expansion-panel.fluent.css.js';\nimport { styles as indigo } from './themes/light/expansion-panel.indigo.css.js';\nimport { createCounter } from '../common/util.js';\n\nimport { defineComponents } from '../common/definitions/defineComponents.js';\nimport IgcIconComponent from '../icon/icon.js';\n\ndefineComponents(IgcIconComponent);\n\nexport interface IgcExpansionPanelComponentEventMap {\n igcOpening: CustomEvent<IgcExpansionPanelComponent>;\n igcOpened: CustomEvent<IgcExpansionPanelComponent>;\n igcClosing: CustomEvent<IgcExpansionPanelComponent>;\n igcClosed: CustomEvent<IgcExpansionPanelComponent>;\n}\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 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 *\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 */\n@themes({ bootstrap, fluent, indigo })\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;\n private static readonly increment = createCounter();\n\n /** Indicates whether the contents of the control should be visible. */\n @property({ reflect: true, type: Boolean })\n public open = false;\n\n /** Get/Set whether the expansion panel is disabled. Disabled panels are ignored for user interactions. */\n @property({ reflect: true, type: Boolean })\n public disabled = false;\n\n /** The indicator position of the expansion panel. */\n @property({ reflect: true, attribute: 'indicator-position' })\n public indicatorPosition: 'start' | 'end' | 'none' = 'start';\n\n @query('[part~=\"header\"]', true)\n protected panelHeader!: HTMLElement;\n\n private panelId!: string;\n\n public override connectedCallback() {\n super.connectedCallback();\n this.panelId =\n this.getAttribute('id') ||\n `igc-expansion-panel-${IgcExpansionPanelComponent.increment()}`;\n }\n\n private handleClicked() {\n this.panelHeader!.focus();\n\n if (this.open) {\n this.closeWithEvent();\n } else {\n this.openWithEvent();\n }\n }\n\n private handleKeydown(event: KeyboardEvent) {\n if (this.disabled) {\n return;\n }\n\n switch (event.key.toLowerCase()) {\n case 'arrowdown':\n case 'down':\n if (event.altKey) {\n this.openWithEvent();\n }\n break;\n case 'arrowup':\n case 'up':\n if (event.altKey) {\n this.closeWithEvent();\n }\n break;\n case 'enter':\n case ' ':\n this.open ? this.closeWithEvent() : this.openWithEvent();\n break;\n }\n }\n\n /**\n * @private\n * Opens the panel.\n */\n private openWithEvent() {\n if (this.open) {\n return;\n }\n\n const args = {\n cancelable: true,\n detail: this,\n };\n\n const allowed = this.emitEvent('igcOpening', args);\n\n if (!allowed) {\n return;\n }\n\n this.open = true;\n this.emitEvent('igcOpened', { detail: this });\n }\n\n /**\n * @private\n * Closes the panel.\n */\n private closeWithEvent() {\n if (!this.open) {\n return;\n }\n\n const args = {\n cancelable: true,\n detail: this,\n };\n\n const allowed = this.emitEvent('igcClosing', args);\n\n if (!allowed) {\n return;\n }\n\n this.open = false;\n this.emitEvent('igcClosed', { detail: this });\n }\n\n /** Toggles panel open state. */\n public toggle(): void {\n this.open = !this.open;\n }\n\n /** Hides the panel content. */\n public hide(): void {\n this.open = false;\n }\n\n /** Shows the panel content. */\n public show(): void {\n this.open = true;\n }\n\n private indicatorTemplate() {\n return html`\n <div part=\"indicator\" aria-hidden=\"true\">\n <slot name=\"indicator\">\n <igc-icon\n name=${this.open ? 'keyboard_arrow_up' : 'keyboard_arrow_down'}\n collection=\"internal\"\n >\n </igc-icon>\n </slot>\n </div>\n `;\n }\n\n private headerTemplate() {\n return html`\n <div\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.handleClicked}\n @keydown=${this.handleKeydown}\n >\n ${this.indicatorTemplate()}\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 contentTemplate() {\n return html`\n <div\n part=\"content\"\n role=\"region\"\n id=\"${this.panelId!}-content\"\n aria-labelledby=\"${this.panelId!}-header\"\n >\n <slot ?hidden=${!this.open}></slot>\n </div>\n `;\n }\n\n protected override render() {\n return html` ${this.headerTemplate()} ${this.contentTemplate()}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-expansion-panel': IgcExpansionPanelComponent;\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--lines-clamped: 1;color:hsla(var(--igc-gray-900), var(--igc-gray-a));background:hsla(var(--igc-surface-500), var(--igc-surface-a));width:auto;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}[part=header]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;padding:calc(var(--igc-spacing-large)*2) calc(var(--igc-spacing-large)*3)}[part=header]:focus,[part=header]:active{outline:rgba(0,0,0,0);background:hsla(var(--igc-gray-100), var(--igc-gray-a))}[part=header] *:not([part~=indicator]){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[part=title]::slotted(*){font-family:var(--igc-h5-font-family);font-weight:var(--igc-h5-font-weight);font-size:var(--igc-h5-font-size);font-style:var(--igc-h5-font-style);letter-spacing:var(--igc-h5-letter-spacing);text-transform:var(--igc-h5-text-transform);line-height:var(--igc-h5-line-height);margin-top:var(--igc-h5-margin-top);margin-bottom:var(--igc-h5-margin-bottom);display:-webkit-inline-box;-webkit-line-clamp:var(--lines-clamped);-webkit-box-orient:vertical;overflow:hidden;margin:0}[part=subtitle]{color:hsla(var(--igc-gray-700), var(--igc-gray-a))}[part=subtitle]::slotted(*){font-family:var(--igc-subtitle-2-font-family);font-weight:var(--igc-subtitle-2-font-weight);font-size:var(--igc-subtitle-2-font-size);font-style:var(--igc-subtitle-2-font-style);letter-spacing:var(--igc-subtitle-2-letter-spacing);text-transform:var(--igc-subtitle-2-text-transform);line-height:var(--igc-subtitle-2-line-height);margin-top:var(--igc-subtitle-2-margin-top);margin-bottom:var(--igc-subtitle-2-margin-bottom);white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}:host([open]) [part~=content]{font-family:var(--igc-body-2-font-family);font-weight:var(--igc-body-2-font-weight);font-size:var(--igc-body-2-font-size);font-style:var(--igc-body-2-font-style);letter-spacing:var(--igc-body-2-letter-spacing);text-transform:var(--igc-body-2-text-transform);line-height:var(--igc-body-2-line-height);margin-top:var(--igc-body-2-margin-top);margin-bottom:var(--igc-body-2-margin-bottom);overflow:hidden;padding:calc(var(--igc-spacing-large)*2) calc(var(--igc-spacing-large)*3)}[part~=indicator]{color:hsla(var(--igc-gray-800), var(--igc-gray-a))}[part~=indicator] igc-icon{--size: 1.5rem}:host([indicator-position=start]) [part~=indicator]{-webkit-margin-end:calc(var(--igc-spacing-large)*2);margin-inline-end:calc(var(--igc-spacing-large)*2)}:host([indicator-position=end]) [part~=indicator]{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-webkit-margin-start:calc(var(--igc-spacing-large)*2);margin-inline-start:calc(var(--igc-spacing-large)*2)}:host([indicator-position=none]) [part~=indicator]{display:none}:host([disabled]){pointer-events:none}:host([disabled]) [part=title],:host([disabled]) [part=subtitle],:host([disabled]) [part~=indicator]{color:var(--disabled-color, hsla(var(--igc-gray-500), var(--igc-gray-a)))}`;
3
+ //# sourceMappingURL=expansion-panel.base.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expansion-panel.base.css.js","sourceRoot":"","sources":["../../../../../src/components/expansion-panel/themes/light/expansion-panel.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,02GAA02G,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--lines-clamped: 1;color:hsla(var(--igc-gray-900), var(--igc-gray-a));background:hsla(var(--igc-surface-500), var(--igc-surface-a));width:auto;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}[part=header]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;padding:calc(var(--igc-spacing-large)*2) calc(var(--igc-spacing-large)*3)}[part=header]:focus,[part=header]:active{outline:rgba(0,0,0,0);background:hsla(var(--igc-gray-100), var(--igc-gray-a))}[part=header] *:not([part~=indicator]){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[part=title]::slotted(*){font-family:var(--igc-h5-font-family);font-weight:var(--igc-h5-font-weight);font-size:var(--igc-h5-font-size);font-style:var(--igc-h5-font-style);letter-spacing:var(--igc-h5-letter-spacing);text-transform:var(--igc-h5-text-transform);line-height:var(--igc-h5-line-height);margin-top:var(--igc-h5-margin-top);margin-bottom:var(--igc-h5-margin-bottom);display:-webkit-inline-box;-webkit-line-clamp:var(--lines-clamped);-webkit-box-orient:vertical;overflow:hidden;margin:0}[part=subtitle]{color:hsla(var(--igc-gray-700), var(--igc-gray-a))}[part=subtitle]::slotted(*){font-family:var(--igc-subtitle-2-font-family);font-weight:var(--igc-subtitle-2-font-weight);font-size:var(--igc-subtitle-2-font-size);font-style:var(--igc-subtitle-2-font-style);letter-spacing:var(--igc-subtitle-2-letter-spacing);text-transform:var(--igc-subtitle-2-text-transform);line-height:var(--igc-subtitle-2-line-height);margin-top:var(--igc-subtitle-2-margin-top);margin-bottom:var(--igc-subtitle-2-margin-bottom);white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}:host([open]) [part~=content]{font-family:var(--igc-body-2-font-family);font-weight:var(--igc-body-2-font-weight);font-size:var(--igc-body-2-font-size);font-style:var(--igc-body-2-font-style);letter-spacing:var(--igc-body-2-letter-spacing);text-transform:var(--igc-body-2-text-transform);line-height:var(--igc-body-2-line-height);margin-top:var(--igc-body-2-margin-top);margin-bottom:var(--igc-body-2-margin-bottom);overflow:hidden;padding:calc(var(--igc-spacing-large)*2) calc(var(--igc-spacing-large)*3)}[part~=indicator]{color:hsla(var(--igc-gray-800), var(--igc-gray-a))}[part~=indicator] igc-icon{--size: 1.5rem}:host([indicator-position=start]) [part~=indicator]{-webkit-margin-end:calc(var(--igc-spacing-large)*2);margin-inline-end:calc(var(--igc-spacing-large)*2)}:host([indicator-position=end]) [part~=indicator]{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-webkit-margin-start:calc(var(--igc-spacing-large)*2);margin-inline-start:calc(var(--igc-spacing-large)*2)}:host([indicator-position=none]) [part~=indicator]{display:none}:host([disabled]){pointer-events:none}:host([disabled]) [part=title],:host([disabled]) [part=subtitle],:host([disabled]) [part~=indicator]{color:var(--disabled-color, hsla(var(--igc-gray-500), var(--igc-gray-a)))}`;\n"]}
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `[part=title],[part~=indicator]{color:hsla(var(--igc-gray-800), var(--igc-gray-a))}[part=subtitle]{color:hsla(var(--igc-gray-600), var(--igc-gray-a))}[part=subtitle]::slotted(*){font-family:var(--igc-body-2-font-family);font-weight:var(--igc-body-2-font-weight);font-size:var(--igc-body-2-font-size);font-style:var(--igc-body-2-font-style);letter-spacing:var(--igc-body-2-letter-spacing);text-transform:var(--igc-body-2-text-transform);line-height:var(--igc-body-2-line-height);margin-top:var(--igc-body-2-margin-top);margin-bottom:var(--igc-body-2-margin-bottom)}:host([open]) [part~=content]{font-family:var(--igc-body-1-font-family);font-weight:var(--igc-body-1-font-weight);font-size:var(--igc-body-1-font-size);font-style:var(--igc-body-1-font-style);letter-spacing:var(--igc-body-1-letter-spacing);text-transform:var(--igc-body-1-text-transform);line-height:var(--igc-body-1-line-height);margin-top:var(--igc-body-1-margin-top);margin-bottom:var(--igc-body-1-margin-bottom)}`;
3
+ //# sourceMappingURL=expansion-panel.bootstrap.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expansion-panel.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,q9BAAq9B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part=title],[part~=indicator]{color:hsla(var(--igc-gray-800), var(--igc-gray-a))}[part=subtitle]{color:hsla(var(--igc-gray-600), var(--igc-gray-a))}[part=subtitle]::slotted(*){font-family:var(--igc-body-2-font-family);font-weight:var(--igc-body-2-font-weight);font-size:var(--igc-body-2-font-size);font-style:var(--igc-body-2-font-style);letter-spacing:var(--igc-body-2-letter-spacing);text-transform:var(--igc-body-2-text-transform);line-height:var(--igc-body-2-line-height);margin-top:var(--igc-body-2-margin-top);margin-bottom:var(--igc-body-2-margin-bottom)}:host([open]) [part~=content]{font-family:var(--igc-body-1-font-family);font-weight:var(--igc-body-1-font-weight);font-size:var(--igc-body-1-font-size);font-style:var(--igc-body-1-font-style);letter-spacing:var(--igc-body-1-letter-spacing);text-transform:var(--igc-body-1-text-transform);line-height:var(--igc-body-1-line-height);margin-top:var(--igc-body-1-margin-top);margin-bottom:var(--igc-body-1-margin-bottom)}`;\n"]}
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `[part=title]::slotted(*){font-family:var(--igc-subtitle-1-font-family);font-weight:var(--igc-subtitle-1-font-weight);font-size:var(--igc-subtitle-1-font-size);font-style:var(--igc-subtitle-1-font-style);letter-spacing:var(--igc-subtitle-1-letter-spacing);text-transform:var(--igc-subtitle-1-text-transform);line-height:var(--igc-subtitle-1-line-height);margin-top:var(--igc-subtitle-1-margin-top);margin-bottom:var(--igc-subtitle-1-margin-bottom)}[part=subtitle]::slotted(*){font-family:var(--igc-body-2-font-family);font-weight:var(--igc-body-2-font-weight);font-size:var(--igc-body-2-font-size);font-style:var(--igc-body-2-font-style);letter-spacing:var(--igc-body-2-letter-spacing);text-transform:var(--igc-body-2-text-transform);line-height:var(--igc-body-2-line-height);margin-top:var(--igc-body-2-margin-top);margin-bottom:var(--igc-body-2-margin-bottom)}:host([open]) [part~=content]{font-family:var(--igc-caption-font-family);font-weight:var(--igc-caption-font-weight);font-size:var(--igc-caption-font-size);font-style:var(--igc-caption-font-style);letter-spacing:var(--igc-caption-letter-spacing);text-transform:var(--igc-caption-text-transform);line-height:var(--igc-caption-line-height);margin-top:var(--igc-caption-margin-top);margin-bottom:var(--igc-caption-margin-bottom);color:hsla(var(--igc-gray-700), var(--igc-gray-a))}:host([disabled]) [part~=indicator],:host([disabled]) [part=title],:host([disabled]) [part=subtitle]{color:hsla(var(--igc-gray-400), var(--igc-gray-a))}`;
3
+ //# sourceMappingURL=expansion-panel.fluent.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expansion-panel.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/expansion-panel/themes/light/expansion-panel.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,m9CAAm9C,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part=title]::slotted(*){font-family:var(--igc-subtitle-1-font-family);font-weight:var(--igc-subtitle-1-font-weight);font-size:var(--igc-subtitle-1-font-size);font-style:var(--igc-subtitle-1-font-style);letter-spacing:var(--igc-subtitle-1-letter-spacing);text-transform:var(--igc-subtitle-1-text-transform);line-height:var(--igc-subtitle-1-line-height);margin-top:var(--igc-subtitle-1-margin-top);margin-bottom:var(--igc-subtitle-1-margin-bottom)}[part=subtitle]::slotted(*){font-family:var(--igc-body-2-font-family);font-weight:var(--igc-body-2-font-weight);font-size:var(--igc-body-2-font-size);font-style:var(--igc-body-2-font-style);letter-spacing:var(--igc-body-2-letter-spacing);text-transform:var(--igc-body-2-text-transform);line-height:var(--igc-body-2-line-height);margin-top:var(--igc-body-2-margin-top);margin-bottom:var(--igc-body-2-margin-bottom)}:host([open]) [part~=content]{font-family:var(--igc-caption-font-family);font-weight:var(--igc-caption-font-weight);font-size:var(--igc-caption-font-size);font-style:var(--igc-caption-font-style);letter-spacing:var(--igc-caption-letter-spacing);text-transform:var(--igc-caption-text-transform);line-height:var(--igc-caption-line-height);margin-top:var(--igc-caption-margin-top);margin-bottom:var(--igc-caption-margin-bottom);color:hsla(var(--igc-gray-700), var(--igc-gray-a))}:host([disabled]) [part~=indicator],:host([disabled]) [part=title],:host([disabled]) [part=subtitle]{color:hsla(var(--igc-gray-400), var(--igc-gray-a))}`;\n"]}
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `[part~=indicator]{color:hsla(var(--igc-gray-600), var(--igc-gray-a))}[part=subtitle]{color:hsla(var(--igc-gray-500), var(--igc-gray-a))}:host([open]) [part~=content]{font-family:var(--igc-body-1-font-family);font-weight:var(--igc-body-1-font-weight);font-size:var(--igc-body-1-font-size);font-style:var(--igc-body-1-font-style);letter-spacing:var(--igc-body-1-letter-spacing);text-transform:var(--igc-body-1-text-transform);line-height:var(--igc-body-1-line-height);margin-top:var(--igc-body-1-margin-top);margin-bottom:var(--igc-body-1-margin-bottom)}:host([disabled]) [part~=indicator],:host([disabled]) [part=title],:host([disabled]) [part=subtitle]{color:hsla(var(--igc-gray-300), var(--igc-gray-a))}`;
3
+ //# sourceMappingURL=expansion-panel.indigo.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expansion-panel.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/expansion-panel/themes/light/expansion-panel.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,ksBAAksB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part~=indicator]{color:hsla(var(--igc-gray-600), var(--igc-gray-a))}[part=subtitle]{color:hsla(var(--igc-gray-500), var(--igc-gray-a))}:host([open]) [part~=content]{font-family:var(--igc-body-1-font-family);font-weight:var(--igc-body-1-font-weight);font-size:var(--igc-body-1-font-size);font-style:var(--igc-body-1-font-style);letter-spacing:var(--igc-body-1-letter-spacing);text-transform:var(--igc-body-1-text-transform);line-height:var(--igc-body-1-line-height);margin-top:var(--igc-body-1-margin-top);margin-bottom:var(--igc-body-1-margin-bottom)}:host([disabled]) [part~=indicator],:host([disabled]) [part=title],:host([disabled]) [part=subtitle]{color:hsla(var(--igc-gray-300), var(--igc-gray-a))}`;\n"]}
@@ -4,7 +4,7 @@ export interface IgcFormEventMap {
4
4
  igcSubmit: CustomEvent<FormData>;
5
5
  igcReset: CustomEvent;
6
6
  }
7
- declare const IgcFormComponent_base: Constructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcFormEventMap>> & Constructor<LitElement>;
7
+ declare const IgcFormComponent_base: import("../common/mixins/constructor.js").AbstractConstructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcFormEventMap>> & Constructor<LitElement>;
8
8
  /**
9
9
  * The form is a component used to collect user input from
10
10
  * interactive controls.
@@ -19,7 +19,14 @@ export default class IgcFormComponent extends EventEmitterMixin(LitElement) {
19
19
  'igc-switch',
20
20
  'igc-checkbox',
21
21
  ];
22
- this._controlsWithValue = ['input', 'igc-input', 'textarea', 'igc-rating'];
22
+ this._controlsWithValue = [
23
+ 'input',
24
+ 'igc-input',
25
+ 'igc-mask-input',
26
+ 'textarea',
27
+ 'igc-rating',
28
+ 'igc-date-time-input',
29
+ ];
23
30
  this._controlsThatSubmit = [
24
31
  'input',
25
32
  'button',
@@ -52,7 +59,10 @@ export default class IgcFormComponent extends EventEmitterMixin(LitElement) {
52
59
  (tagName !== 'input' && this._controlsWithChecked.includes(tagName))) {
53
60
  element.checked = element.hasAttribute('checked');
54
61
  }
55
- else if (tagName === 'igc-input' || tagName === 'igc-rating') {
62
+ else if (tagName === 'igc-input' ||
63
+ tagName === 'igc-rating' ||
64
+ tagName === 'igc-mask-input' ||
65
+ tagName === 'igc-date-time-input') {
56
66
  element.value = element.getAttribute('value');
57
67
  }
58
68
  else if (this._controlsWithValue.includes(tagName)) {
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sourceRoot":"","sources":["../../../src/components/form/form.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { alternateName } from '../common/decorators/alternateName.js';\nimport { blazorSuppress } from '../common/decorators/blazorSuppress.js';\n\nexport interface IgcFormEventMap {\n igcSubmit: CustomEvent<FormData>;\n igcReset: CustomEvent;\n}\n\n/**\n * The form is a component used to collect user input from\n * interactive controls.\n *\n * @element igc-form\n *\n * @slot - Default slot for the form.\n *\n * @fires igcSubmit - Emitted when the form is submitted.\n * @fires igcReset - Emitted when the form is reset.\n */\nexport default class IgcFormComponent extends EventEmitterMixin<\n IgcFormEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-form';\n\n public static styles = css`\n :host {\n display: block;\n }\n `;\n\n private _controlsWithChecked = [\n 'input',\n 'radio',\n 'igc-radio',\n 'igc-switch',\n 'igc-checkbox',\n ];\n private _controlsWithValue = ['input', 'igc-input', 'textarea', 'igc-rating'];\n private _controlsThatSubmit = [\n 'input',\n 'button',\n 'igc-button',\n 'igc-icon-button',\n ];\n\n /** Specifies if form data validation should be skipped on submit. */\n @property({ type: Boolean, reflect: true }) public novalidate = false;\n\n constructor() {\n super();\n\n this.addEventListener('click', this.handleClick);\n }\n\n /** Submits the form. */\n @alternateName('performSubmit')\n public submit(): boolean {\n const formData = this.getFormData();\n if (!this.novalidate && !this.reportValidity()) {\n return false;\n }\n\n this.emitEvent('igcSubmit', { detail: formData });\n return true;\n }\n\n /** Resets the form. */\n @alternateName('performReset')\n public reset() {\n const formElements = this.getFormElements();\n formElements.forEach((element) => {\n const tagName = element.tagName.toLowerCase();\n if (tagName === 'select') {\n for (let i = 0; i < element.options.length; i++) {\n const option = element.options[i];\n option.selected = option.defaultSelected;\n }\n } else if (\n (tagName === 'input' &&\n (element.type === 'checkbox' || element.type == 'radio')) ||\n (tagName !== 'input' && this._controlsWithChecked.includes(tagName))\n ) {\n element.checked = element.hasAttribute('checked');\n } else if (tagName === 'igc-input' || tagName === 'igc-rating') {\n element.value = element.getAttribute('value');\n } else if (this._controlsWithValue.includes(tagName)) {\n element.value = element.defaultValue;\n }\n });\n\n this.emitEvent('igcReset');\n }\n\n private getFormElements(): any[] {\n const slot = this.shadowRoot?.querySelector('slot');\n const assignedElements = slot?.assignedElements({ flatten: true });\n const formElements: any[] = [];\n assignedElements?.forEach((element: any) => {\n if (!element.disabled) {\n formElements.push(element);\n }\n const children = Array.from(element.getElementsByTagName('*')).filter(\n (element: any) => !element.disabled\n );\n formElements.push(...children);\n });\n\n return formElements;\n }\n\n //suppressing in blazor for now due to an issue, bringing it back later\n /** Retrieves the data from the form in the format of a FormData object. */\n @blazorSuppress()\n public getFormData() {\n const formData = new FormData();\n\n const formElements = this.getFormElements();\n formElements.forEach((element) => {\n const tagName = element.tagName.toLowerCase();\n if (tagName === 'select') {\n for (let i = 0; i < element.options.length; i++) {\n const option = element.options[i];\n if (option.selected) {\n formData.append(element.name, option.value);\n }\n }\n } else if (\n this._controlsWithChecked.includes(tagName) &&\n element.checked\n ) {\n formData.append(element.name, element.value || 'on');\n } else if (\n this._controlsWithValue.includes(tagName) &&\n element.type !== 'checkbox' &&\n element.type !== 'radio' &&\n element.type !== 'submit'\n ) {\n formData.append(element.name, element.value);\n }\n });\n\n return formData;\n }\n\n /** Checks for validity of the form. */\n public reportValidity(): boolean {\n const formElements = this.getFormElements();\n return !formElements.some(\n (element) =>\n typeof element.reportValidity === 'function' &&\n element.reportValidity() === false\n );\n }\n\n private handleClick(event: MouseEvent) {\n const targetElement: any = event.target as HTMLElement;\n if (\n this._controlsThatSubmit.includes(targetElement.tagName.toLowerCase()) &&\n targetElement.type.toLowerCase() === 'submit'\n ) {\n this.submit();\n } else if (targetElement.type?.toLowerCase() === 'reset') {\n this.reset();\n }\n\n return true;\n }\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-form': IgcFormComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../../src/components/form/form.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { alternateName } from '../common/decorators/alternateName.js';\nimport { blazorSuppress } from '../common/decorators/blazorSuppress.js';\n\nexport interface IgcFormEventMap {\n igcSubmit: CustomEvent<FormData>;\n igcReset: CustomEvent;\n}\n\n/**\n * The form is a component used to collect user input from\n * interactive controls.\n *\n * @element igc-form\n *\n * @slot - Default slot for the form.\n *\n * @fires igcSubmit - Emitted when the form is submitted.\n * @fires igcReset - Emitted when the form is reset.\n */\nexport default class IgcFormComponent extends EventEmitterMixin<\n IgcFormEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-form';\n\n public static styles = css`\n :host {\n display: block;\n }\n `;\n\n private _controlsWithChecked = [\n 'input',\n 'radio',\n 'igc-radio',\n 'igc-switch',\n 'igc-checkbox',\n ];\n private _controlsWithValue = [\n 'input',\n 'igc-input',\n 'igc-mask-input',\n 'textarea',\n 'igc-rating',\n 'igc-date-time-input',\n ];\n private _controlsThatSubmit = [\n 'input',\n 'button',\n 'igc-button',\n 'igc-icon-button',\n ];\n\n /** Specifies if form data validation should be skipped on submit. */\n @property({ type: Boolean, reflect: true }) public novalidate = false;\n\n constructor() {\n super();\n\n this.addEventListener('click', this.handleClick);\n }\n\n /** Submits the form. */\n @alternateName('performSubmit')\n public submit(): boolean {\n const formData = this.getFormData();\n if (!this.novalidate && !this.reportValidity()) {\n return false;\n }\n\n this.emitEvent('igcSubmit', { detail: formData });\n return true;\n }\n\n /** Resets the form. */\n @alternateName('performReset')\n public reset() {\n const formElements = this.getFormElements();\n formElements.forEach((element) => {\n const tagName = element.tagName.toLowerCase();\n if (tagName === 'select') {\n for (let i = 0; i < element.options.length; i++) {\n const option = element.options[i];\n option.selected = option.defaultSelected;\n }\n } else if (\n (tagName === 'input' &&\n (element.type === 'checkbox' || element.type == 'radio')) ||\n (tagName !== 'input' && this._controlsWithChecked.includes(tagName))\n ) {\n element.checked = element.hasAttribute('checked');\n } else if (\n tagName === 'igc-input' ||\n tagName === 'igc-rating' ||\n tagName === 'igc-mask-input' ||\n tagName === 'igc-date-time-input'\n ) {\n element.value = element.getAttribute('value');\n } else if (this._controlsWithValue.includes(tagName)) {\n element.value = element.defaultValue;\n }\n });\n\n this.emitEvent('igcReset');\n }\n\n private getFormElements(): any[] {\n const slot = this.shadowRoot?.querySelector('slot');\n const assignedElements = slot?.assignedElements({ flatten: true });\n const formElements: any[] = [];\n assignedElements?.forEach((element: any) => {\n if (!element.disabled) {\n formElements.push(element);\n }\n const children = Array.from(element.getElementsByTagName('*')).filter(\n (element: any) => !element.disabled\n );\n formElements.push(...children);\n });\n\n return formElements;\n }\n\n //suppressing in blazor for now due to an issue, bringing it back later\n /** Retrieves the data from the form in the format of a FormData object. */\n @blazorSuppress()\n public getFormData() {\n const formData = new FormData();\n\n const formElements = this.getFormElements();\n formElements.forEach((element) => {\n const tagName = element.tagName.toLowerCase();\n if (tagName === 'select') {\n for (let i = 0; i < element.options.length; i++) {\n const option = element.options[i];\n if (option.selected) {\n formData.append(element.name, option.value);\n }\n }\n } else if (\n this._controlsWithChecked.includes(tagName) &&\n element.checked\n ) {\n formData.append(element.name, element.value || 'on');\n } else if (\n this._controlsWithValue.includes(tagName) &&\n element.type !== 'checkbox' &&\n element.type !== 'radio' &&\n element.type !== 'submit'\n ) {\n formData.append(element.name, element.value);\n }\n });\n\n return formData;\n }\n\n /** Checks for validity of the form. */\n public reportValidity(): boolean {\n const formElements = this.getFormElements();\n return !formElements.some(\n (element) =>\n typeof element.reportValidity === 'function' &&\n element.reportValidity() === false\n );\n }\n\n private handleClick(event: MouseEvent) {\n const targetElement: any = event.target as HTMLElement;\n if (\n this._controlsThatSubmit.includes(targetElement.tagName.toLowerCase()) &&\n targetElement.type.toLowerCase() === 'submit'\n ) {\n this.submit();\n } else if (targetElement.type?.toLowerCase() === 'reset') {\n this.reset();\n }\n\n return true;\n }\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-form': IgcFormComponent;\n }\n}\n"]}
@@ -5,14 +5,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { html, LitElement } from 'lit';
8
- import { customElement, property, state } from 'lit/decorators.js';
8
+ import { property, state } from 'lit/decorators.js';
9
9
  import { unsafeSVG } from 'lit/directives/unsafe-svg.js';
10
10
  import { alternateName } from '../common/decorators/alternateName.js';
11
11
  import { blazorInclude } from '../common/decorators/blazorInclude.js';
12
12
  import { SizableMixin } from '../common/mixins/sizable.js';
13
13
  import { styles } from './icon.material.css.js';
14
14
  import { IconsRegistry, registerIcon as registerIcon_impl, registerIconFromText as registerIconFromText_impl, } from './icon.registry.js';
15
- let IgcIconComponent = class IgcIconComponent extends SizableMixin(LitElement) {
15
+ export default class IgcIconComponent extends SizableMixin(LitElement) {
16
16
  constructor() {
17
17
  super();
18
18
  this.svg = '';
@@ -68,7 +68,7 @@ let IgcIconComponent = class IgcIconComponent extends SizableMixin(LitElement) {
68
68
  registerIconFromText(name, iconText, collection = 'default') {
69
69
  registerIconFromText_impl(name, iconText, collection);
70
70
  }
71
- };
71
+ }
72
72
  IgcIconComponent.tagName = 'igc-icon';
73
73
  IgcIconComponent.styles = styles;
74
74
  __decorate([
@@ -90,8 +90,4 @@ __decorate([
90
90
  __decorate([
91
91
  blazorInclude()
92
92
  ], IgcIconComponent.prototype, "registerIconFromText", null);
93
- IgcIconComponent = __decorate([
94
- customElement('igc-icon')
95
- ], IgcIconComponent);
96
- export default IgcIconComponent;
97
93
  //# sourceMappingURL=icon.js.map