igniteui-webcomponents 2.2.0 → 3.2.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 (272) hide show
  1. package/CHANGELOG.md +40 -5
  2. package/README.md +6 -1
  3. package/components/avatar/avatar.js +2 -2
  4. package/components/avatar/avatar.js.map +1 -1
  5. package/components/badge/badge.js +3 -3
  6. package/components/badge/badge.js.map +1 -1
  7. package/components/button/button-base.d.ts +5 -0
  8. package/components/button/button-base.js +5 -1
  9. package/components/button/button-base.js.map +1 -1
  10. package/components/button/button.js +6 -6
  11. package/components/button/button.js.map +1 -1
  12. package/components/button/icon-button.d.ts +1 -1
  13. package/components/button/icon-button.js +19 -16
  14. package/components/button/icon-button.js.map +1 -1
  15. package/components/button/themes/button/light/button.base.css.js +1 -1
  16. package/components/button/themes/button/light/button.base.css.js.map +1 -1
  17. package/components/button/themes/button/light/button.indigo.css.js +1 -1
  18. package/components/button/themes/button/light/button.indigo.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 +8 -8
  32. package/components/calendar/calendar.js +16 -16
  33. package/components/calendar/calendar.js.map +1 -1
  34. package/components/calendar/common/calendar-base.d.ts +1 -1
  35. package/components/calendar/common/calendar-base.js +21 -15
  36. package/components/calendar/common/calendar-base.js.map +1 -1
  37. package/components/calendar/common/utils.d.ts +1 -1
  38. package/components/calendar/common/utils.js.map +1 -1
  39. package/components/calendar/days-view/days-view.d.ts +5 -5
  40. package/components/calendar/days-view/days-view.js +13 -11
  41. package/components/calendar/days-view/days-view.js.map +1 -1
  42. package/components/calendar/months-view/months-view.d.ts +3 -3
  43. package/components/calendar/months-view/months-view.js +12 -10
  44. package/components/calendar/months-view/months-view.js.map +1 -1
  45. package/components/calendar/years-view/years-view.d.ts +3 -3
  46. package/components/calendar/years-view/years-view.js +11 -9
  47. package/components/calendar/years-view/years-view.js.map +1 -1
  48. package/components/card/card.actions.js +3 -3
  49. package/components/card/card.actions.js.map +1 -1
  50. package/components/card/card.content.js +3 -3
  51. package/components/card/card.content.js.map +1 -1
  52. package/components/card/card.header.js +4 -4
  53. package/components/card/card.header.js.map +1 -1
  54. package/components/card/card.js +4 -4
  55. package/components/card/card.js.map +1 -1
  56. package/components/card/card.media.js +1 -1
  57. package/components/card/card.media.js.map +1 -1
  58. package/components/checkbox/checkbox-base.js +2 -1
  59. package/components/checkbox/checkbox-base.js.map +1 -1
  60. package/components/checkbox/checkbox.js +6 -7
  61. package/components/checkbox/checkbox.js.map +1 -1
  62. package/components/checkbox/switch.js +6 -7
  63. package/components/checkbox/switch.js.map +1 -1
  64. package/components/checkbox/themes/light/switch.base.css.js +1 -1
  65. package/components/checkbox/themes/light/switch.base.css.js.map +1 -1
  66. package/components/chip/chip.d.ts +1 -0
  67. package/components/chip/chip.js +20 -9
  68. package/components/chip/chip.js.map +1 -1
  69. package/components/chip/themes/chip.base.css.js +1 -1
  70. package/components/chip/themes/chip.base.css.js.map +1 -1
  71. package/components/chip/themes/chip.bootstrap.css.js +1 -1
  72. package/components/chip/themes/chip.bootstrap.css.js.map +1 -1
  73. package/components/chip/themes/chip.fluent.css.js +1 -1
  74. package/components/chip/themes/chip.fluent.css.js.map +1 -1
  75. package/components/chip/themes/chip.indigo.css.js +1 -1
  76. package/components/chip/themes/chip.indigo.css.js.map +1 -1
  77. package/components/chip/themes/chip.material.css.js +1 -1
  78. package/components/chip/themes/chip.material.css.js.map +1 -1
  79. package/components/common/definitions/defineAllComponents.js +53 -45
  80. package/components/common/definitions/defineAllComponents.js.map +1 -1
  81. package/components/dropdown/dropdown-group.d.ts +4 -4
  82. package/components/dropdown/dropdown-group.js +11 -11
  83. package/components/dropdown/dropdown-group.js.map +1 -1
  84. package/components/dropdown/dropdown-header.d.ts +3 -3
  85. package/components/dropdown/dropdown-header.js +9 -9
  86. package/components/dropdown/dropdown-header.js.map +1 -1
  87. package/components/dropdown/dropdown-item.d.ts +2 -2
  88. package/components/dropdown/dropdown-item.js +18 -18
  89. package/components/dropdown/dropdown-item.js.map +1 -1
  90. package/components/dropdown/dropdown.d.ts +16 -16
  91. package/components/dropdown/dropdown.js +51 -56
  92. package/components/dropdown/dropdown.js.map +1 -1
  93. package/components/expansion-panel/expansion-panel.d.ts +72 -0
  94. package/components/expansion-panel/expansion-panel.js +167 -0
  95. package/components/expansion-panel/expansion-panel.js.map +1 -0
  96. package/components/expansion-panel/themes/light/expansion-panel.base.css.d.ts +1 -0
  97. package/components/expansion-panel/themes/light/expansion-panel.base.css.js +3 -0
  98. package/components/expansion-panel/themes/light/expansion-panel.base.css.js.map +1 -0
  99. package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.d.ts +1 -0
  100. package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js +3 -0
  101. package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js.map +1 -0
  102. package/components/expansion-panel/themes/light/expansion-panel.fluent.css.d.ts +1 -0
  103. package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js +3 -0
  104. package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js.map +1 -0
  105. package/components/expansion-panel/themes/light/expansion-panel.indigo.css.d.ts +1 -0
  106. package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js +3 -0
  107. package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js.map +1 -0
  108. package/components/form/form.d.ts +2 -2
  109. package/components/form/form.js +13 -4
  110. package/components/form/form.js.map +1 -1
  111. package/components/icon/icon.d.ts +1 -1
  112. package/components/icon/icon.js +3 -2
  113. package/components/icon/icon.js.map +1 -1
  114. package/components/icon/icon.registry.js +5 -0
  115. package/components/icon/icon.registry.js.map +1 -1
  116. package/components/input/input-base.d.ts +2 -1
  117. package/components/input/input-base.js +11 -6
  118. package/components/input/input-base.js.map +1 -1
  119. package/components/input/input.d.ts +1 -1
  120. package/components/input/input.js +6 -5
  121. package/components/input/input.js.map +1 -1
  122. package/components/input/themes/light/input.base.css.js +1 -1
  123. package/components/input/themes/light/input.base.css.js.map +1 -1
  124. package/components/input/themes/light/input.material.css.js +1 -1
  125. package/components/input/themes/light/input.material.css.js.map +1 -1
  126. package/components/list/list-header.js +3 -3
  127. package/components/list/list-header.js.map +1 -1
  128. package/components/list/list-item.js +5 -5
  129. package/components/list/list-item.js.map +1 -1
  130. package/components/list/list.d.ts +1 -1
  131. package/components/list/list.js +4 -4
  132. package/components/list/list.js.map +1 -1
  133. package/components/list/themes/light/list.base.css.js +1 -1
  134. package/components/list/themes/light/list.base.css.js.map +1 -1
  135. package/components/mask-input/mask-input.d.ts +102 -0
  136. package/components/mask-input/mask-input.js +260 -0
  137. package/components/mask-input/mask-input.js.map +1 -0
  138. package/components/mask-input/mask-parser.d.ts +30 -0
  139. package/components/mask-input/mask-parser.js +167 -0
  140. package/components/mask-input/mask-parser.js.map +1 -0
  141. package/components/nav-drawer/nav-drawer-header-item.js +3 -3
  142. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  143. package/components/nav-drawer/nav-drawer-item.d.ts +1 -0
  144. package/components/nav-drawer/nav-drawer-item.js +9 -6
  145. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  146. package/components/nav-drawer/nav-drawer.d.ts +1 -1
  147. package/components/nav-drawer/nav-drawer.js +14 -11
  148. package/components/nav-drawer/nav-drawer.js.map +1 -1
  149. package/components/nav-drawer/styles/indigo/nav-drawer-item.indigo.css.js +1 -1
  150. package/components/nav-drawer/styles/indigo/nav-drawer-item.indigo.css.js.map +1 -1
  151. package/components/nav-drawer/styles/nav-drawer-item.base.css.js +1 -1
  152. package/components/nav-drawer/styles/nav-drawer-item.base.css.js.map +1 -1
  153. package/components/nav-drawer/styles/nav-drawer.base.css.js +1 -1
  154. package/components/nav-drawer/styles/nav-drawer.base.css.js.map +1 -1
  155. package/components/navbar/navbar.js +6 -5
  156. package/components/navbar/navbar.js.map +1 -1
  157. package/components/navbar/themes/light/navbar.base.css.js +1 -1
  158. package/components/navbar/themes/light/navbar.base.css.js.map +1 -1
  159. package/components/navbar/themes/light/navbar.bootstrap.css.js +1 -1
  160. package/components/navbar/themes/light/navbar.bootstrap.css.js.map +1 -1
  161. package/components/navbar/themes/light/navbar.fluent.css.d.ts +1 -0
  162. package/components/navbar/themes/light/navbar.fluent.css.js +3 -0
  163. package/components/navbar/themes/light/navbar.fluent.css.js.map +1 -0
  164. package/components/progress/base.js +2 -2
  165. package/components/progress/base.js.map +1 -1
  166. package/components/progress/circular-progress.d.ts +2 -2
  167. package/components/progress/circular-progress.js +6 -6
  168. package/components/progress/circular-progress.js.map +1 -1
  169. package/components/progress/linear-progress.d.ts +1 -1
  170. package/components/progress/linear-progress.js +7 -7
  171. package/components/progress/linear-progress.js.map +1 -1
  172. package/components/radio/radio.js +9 -9
  173. package/components/radio/radio.js.map +1 -1
  174. package/components/radio-group/radio-group.js +1 -1
  175. package/components/radio-group/radio-group.js.map +1 -1
  176. package/components/rating/rating.base.css.js +1 -1
  177. package/components/rating/rating.base.css.js.map +1 -1
  178. package/components/rating/rating.d.ts +2 -2
  179. package/components/rating/rating.fluent.css.js +1 -1
  180. package/components/rating/rating.fluent.css.js.map +1 -1
  181. package/components/rating/rating.js +10 -10
  182. package/components/rating/rating.js.map +1 -1
  183. package/components/ripple/ripple.js +1 -1
  184. package/components/ripple/ripple.js.map +1 -1
  185. package/components/slider/range-slider.d.ts +3 -3
  186. package/components/slider/range-slider.js +2 -2
  187. package/components/slider/range-slider.js.map +1 -1
  188. package/components/slider/slider-base.js +8 -7
  189. package/components/slider/slider-base.js.map +1 -1
  190. package/components/slider/slider.d.ts +3 -3
  191. package/components/slider/slider.js +2 -2
  192. package/components/slider/slider.js.map +1 -1
  193. package/components/snackbar/snackbar.d.ts +2 -0
  194. package/components/snackbar/snackbar.js +8 -5
  195. package/components/snackbar/snackbar.js.map +1 -1
  196. package/components/toast/toast.js +5 -5
  197. package/components/toast/toast.js.map +1 -1
  198. package/components/toggle/toggle.controller.d.ts +3 -3
  199. package/components/toggle/toggle.controller.js +1 -1
  200. package/components/toggle/toggle.controller.js.map +1 -1
  201. package/components/toggle/toggle.directive.d.ts +1 -1
  202. package/components/toggle/toggle.directive.js +5 -4
  203. package/components/toggle/toggle.directive.js.map +1 -1
  204. package/components/toggle/{utilities.d.ts → types.d.ts} +0 -0
  205. package/components/toggle/types.js +2 -0
  206. package/components/toggle/types.js.map +1 -0
  207. package/components/tree/themes/dark/tree-item.bootstrap.css.d.ts +1 -0
  208. package/components/tree/themes/dark/tree-item.bootstrap.css.js +3 -0
  209. package/components/tree/themes/dark/tree-item.bootstrap.css.js.map +1 -0
  210. package/components/tree/themes/dark/tree-item.fluent.css.d.ts +1 -0
  211. package/components/tree/themes/dark/tree-item.fluent.css.js +3 -0
  212. package/components/tree/themes/dark/tree-item.fluent.css.js.map +1 -0
  213. package/components/tree/themes/dark/tree-item.indigo.css.d.ts +1 -0
  214. package/components/tree/themes/dark/tree-item.indigo.css.js +3 -0
  215. package/components/tree/themes/dark/tree-item.indigo.css.js.map +1 -0
  216. package/components/tree/themes/light/tree-item.base.css.d.ts +1 -0
  217. package/components/tree/themes/light/tree-item.base.css.js +3 -0
  218. package/components/tree/themes/light/tree-item.base.css.js.map +1 -0
  219. package/components/tree/themes/light/tree-item.bootstrap.css.d.ts +1 -0
  220. package/components/tree/themes/light/tree-item.bootstrap.css.js +3 -0
  221. package/components/tree/themes/light/tree-item.bootstrap.css.js.map +1 -0
  222. package/components/tree/themes/light/tree-item.fluent.css.d.ts +1 -0
  223. package/components/tree/themes/light/tree-item.fluent.css.js +3 -0
  224. package/components/tree/themes/light/tree-item.fluent.css.js.map +1 -0
  225. package/components/tree/themes/light/tree-item.indigo.css.d.ts +1 -0
  226. package/components/tree/themes/light/tree-item.indigo.css.js +3 -0
  227. package/components/tree/themes/light/tree-item.indigo.css.js.map +1 -0
  228. package/components/tree/themes/light/tree.base.css.d.ts +1 -0
  229. package/components/tree/themes/light/tree.base.css.js +3 -0
  230. package/components/tree/themes/light/tree.base.css.js.map +1 -0
  231. package/components/tree/tree-item.d.ts +116 -0
  232. package/components/tree/tree-item.js +447 -0
  233. package/components/tree/tree-item.js.map +1 -0
  234. package/components/tree/tree.common.d.ts +17 -0
  235. package/components/tree/tree.common.js +2 -0
  236. package/components/tree/tree.common.js.map +1 -0
  237. package/components/tree/tree.d.ts +71 -0
  238. package/components/tree/tree.js +139 -0
  239. package/components/tree/tree.js.map +1 -0
  240. package/components/tree/tree.navigation.d.ts +41 -0
  241. package/components/tree/tree.navigation.js +260 -0
  242. package/components/tree/tree.navigation.js.map +1 -0
  243. package/components/tree/tree.selection.d.ts +55 -0
  244. package/components/tree/tree.selection.js +265 -0
  245. package/components/tree/tree.selection.js.map +1 -0
  246. package/custom-elements.json +635 -5
  247. package/index.d.ts +57 -52
  248. package/index.js +55 -51
  249. package/index.js.map +1 -1
  250. package/package.json +2 -2
  251. package/themes/dark/bootstrap.css +1 -1
  252. package/themes/dark/fluent.css +1 -1
  253. package/themes/dark/indigo.css +1 -1
  254. package/themes/light/bootstrap.css +1 -1
  255. package/themes/light/fluent.css +1 -1
  256. package/theming/config.d.ts +1 -1
  257. package/theming/config.js +2 -2
  258. package/theming/config.js.map +1 -1
  259. package/theming/index.d.ts +3 -3
  260. package/theming/index.js +3 -3
  261. package/theming/index.js.map +1 -1
  262. package/theming/{theming-controlller.d.ts → theming-controller.d.ts} +1 -1
  263. package/theming/{theming-controlller.js → theming-controller.js} +3 -3
  264. package/theming/theming-controller.js.map +1 -0
  265. package/theming/theming-decorator.js +1 -1
  266. package/theming/theming-decorator.js.map +1 -1
  267. package/theming/theming-event.d.ts +1 -1
  268. package/theming/theming-event.js.map +1 -1
  269. package/vscode-html-custom-data.json +317 -46
  270. package/components/toggle/utilities.js +0 -2
  271. package/components/toggle/utilities.js.map +0 -1
  272. package/theming/theming-controlller.js.map +0 -1
package/theming/config.js CHANGED
@@ -1,5 +1,5 @@
1
- import { CHANGE_THEME_EVENT } from './theming-event';
2
- import { getAllCSSVariables } from './utils';
1
+ import { CHANGE_THEME_EVENT } from './theming-event.js';
2
+ import { getAllCSSVariables } from './utils.js';
3
3
  let theme;
4
4
  function dispatchThemingEvent(detail) {
5
5
  window.dispatchEvent(new CustomEvent(CHANGE_THEME_EVENT, { detail }));
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/theming/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,IAAI,KAAY,CAAC;AAKjB,SAAS,oBAAoB,CAAC,MAA8B;IAC1D,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAgB,GAAG,EAAE;IACxC,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GACV,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC;YACpE,EAAE,CAAC;QAEL,KAAK,GAAG,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAW,CAAC,CAAC,CAAC,WAAW,CAAC;KAC5D;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAY,EAAE,EAAE;IACvC,KAAK,GAAG,KAAK,CAAC;AAChB,CAAC,CAAC;AAYF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;IACzC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE;QACpB,QAAQ,CAAC,CAAC,CAAC,CAAC;KACb;IAED,oBAAoB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAClC,CAAC,CAAC","sourcesContent":["import { ChangeThemeEventDetail, CHANGE_THEME_EVENT } from './theming-event';\nimport { Theme } from './types';\nimport { getAllCSSVariables } from './utils';\n\nlet theme: Theme;\n\n/**\n * Dispatch an \"igc-change-theme\" event to `window` with the given detail.\n */\nfunction dispatchThemingEvent(detail: ChangeThemeEventDetail) {\n window.dispatchEvent(new CustomEvent(CHANGE_THEME_EVENT, { detail }));\n}\n\nfunction isOfTypeTheme(theme: string): theme is Theme {\n return ['bootstrap', 'material', 'indigo', 'fluent'].includes(theme);\n}\n\nexport const getTheme: () => Theme = () => {\n if (!theme) {\n const [_, t] =\n Object.entries(getAllCSSVariables()).find(([v]) => v === 'igcTheme') ||\n [];\n\n theme = t && isOfTypeTheme(t) ? (t as Theme) : 'bootstrap';\n }\n\n return theme;\n};\n\nexport const setTheme = (value: Theme) => {\n theme = value;\n};\n\n/**\n * Allows the global configuration of the active theme.\n *\n * Usage:\n * ```ts\n * import { configureTheme } from 'igniteui-webcomponents';\n *\n * configureTheme({ theme: 'material' });\n * ```\n */\nexport const configureTheme = (t: Theme) => {\n if (isOfTypeTheme(t)) {\n setTheme(t);\n }\n\n dispatchThemingEvent({ theme });\n};\n"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/theming/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,IAAI,KAAY,CAAC;AAKjB,SAAS,oBAAoB,CAAC,MAA8B;IAC1D,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAgB,GAAG,EAAE;IACxC,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GACV,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC;YACpE,EAAE,CAAC;QAEL,KAAK,GAAG,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAW,CAAC,CAAC,CAAC,WAAW,CAAC;KAC5D;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAY,EAAE,EAAE;IACvC,KAAK,GAAG,KAAK,CAAC;AAChB,CAAC,CAAC;AAYF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;IACzC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE;QACpB,QAAQ,CAAC,CAAC,CAAC,CAAC;KACb;IAED,oBAAoB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAClC,CAAC,CAAC","sourcesContent":["import { ChangeThemeEventDetail, CHANGE_THEME_EVENT } from './theming-event.js';\nimport type { Theme } from './types';\nimport { getAllCSSVariables } from './utils.js';\n\nlet theme: Theme;\n\n/**\n * Dispatch an \"igc-change-theme\" event to `window` with the given detail.\n */\nfunction dispatchThemingEvent(detail: ChangeThemeEventDetail) {\n window.dispatchEvent(new CustomEvent(CHANGE_THEME_EVENT, { detail }));\n}\n\nfunction isOfTypeTheme(theme: string): theme is Theme {\n return ['bootstrap', 'material', 'indigo', 'fluent'].includes(theme);\n}\n\nexport const getTheme: () => Theme = () => {\n if (!theme) {\n const [_, t] =\n Object.entries(getAllCSSVariables()).find(([v]) => v === 'igcTheme') ||\n [];\n\n theme = t && isOfTypeTheme(t) ? (t as Theme) : 'bootstrap';\n }\n\n return theme;\n};\n\nexport const setTheme = (value: Theme) => {\n theme = value;\n};\n\n/**\n * Allows the global configuration of the active theme.\n *\n * Usage:\n * ```ts\n * import { configureTheme } from 'igniteui-webcomponents';\n *\n * configureTheme({ theme: 'material' });\n * ```\n */\nexport const configureTheme = (t: Theme) => {\n if (isOfTypeTheme(t)) {\n setTheme(t);\n }\n\n dispatchThemingEvent({ theme });\n};\n"]}
@@ -1,4 +1,4 @@
1
- export * from './config';
2
- export * from './theming-controlller';
3
- export * from './theming-decorator';
1
+ export * from './config.js';
2
+ export * from './theming-controller.js';
3
+ export * from './theming-decorator.js';
4
4
  export * from './types';
package/theming/index.js CHANGED
@@ -1,5 +1,5 @@
1
- export * from './config';
2
- export * from './theming-controlller';
3
- export * from './theming-decorator';
1
+ export * from './config.js';
2
+ export * from './theming-controller.js';
3
+ export * from './theming-decorator.js';
4
4
  export * from './types';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theming/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC","sourcesContent":["export * from './config';\nexport * from './theming-controlller';\nexport * from './theming-decorator';\nexport * from './types';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theming/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,SAAS,CAAC","sourcesContent":["export * from './config.js';\nexport * from './theming-controller.js';\nexport * from './theming-decorator.js';\nexport * from './types';\n"]}
@@ -1,5 +1,5 @@
1
1
  import { ReactiveController, ReactiveControllerHost, ReactiveElement } from 'lit';
2
- import { Theme, ThemeController, Themes } from './types';
2
+ import type { Theme, ThemeController, Themes } from './types';
3
3
  declare class ThemingController implements ReactiveController, ThemeController {
4
4
  private themes;
5
5
  private host;
@@ -1,6 +1,6 @@
1
1
  import { adoptStyles, css, } from 'lit';
2
- import { getTheme } from './config';
3
- import { CHANGE_THEME_EVENT } from './theming-event';
2
+ import { getTheme } from './config.js';
3
+ import { CHANGE_THEME_EVENT } from './theming-event.js';
4
4
  class ThemingController {
5
5
  constructor(host, themes) {
6
6
  this.__themingEventHandler = () => {
@@ -46,4 +46,4 @@ const _updateWhenThemeChanges = (host, themes) => {
46
46
  return controller;
47
47
  };
48
48
  export const updateWhenThemeChanges = _updateWhenThemeChanges;
49
- //# sourceMappingURL=theming-controlller.js.map
49
+ //# sourceMappingURL=theming-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theming-controller.js","sourceRoot":"","sources":["../../src/theming/theming-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,GAAG,GAKJ,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,MAAM,iBAAiB;IAKrB,YAAY,IAA8C,EAAE,MAAc;QAKzD,0BAAqB,GAAG,GAAG,EAAE;YAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5B,CAAC,CAAC;QAPA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAOM,aAAa;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1E,CAAC;IAEM,gBAAgB;QACrB,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC7E,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAgC,CAAC;QACxD,MAAM,2BAA2B,GAC/B,MAAM,CAAC,UAAU;YACjB,oBAAoB,IAAI,QAAQ,CAAC,SAAS;YAC1C,SAAS,IAAI,aAAa,CAAC,SAAS,CAAC;QAEvC,IAAI,UAAU,GAAG,GAAG,CAAA,EAAE,CAAC;QAEvB,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAChD,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAChC,CAAC;QAEF,IAAI,KAAK,EAAE;YACT,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC;YAC7B,UAAU,GAAG,SAAS,CAAC;SACxB;QAOD,IAAI,CAAC,2BAA2B,EAAE;YAChC,CAAC,GAAG,IAAI,CAAC,IAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;iBACjD,KAAK,CAAC,CAAC,CAAC;iBACR,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;SACnC;QAED,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAwB,EAAE;YAC9C,GAAG,IAAI,CAAC,aAAa;YACrB,UAAU;SACX,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,uBAAuB,GAAG,CAC9B,IAA8C,EAC9C,MAAc,EACd,EAAE;IACF,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC/B,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAE/B,uBAAuB,CAAC","sourcesContent":["import {\n adoptStyles,\n css,\n LitElement,\n ReactiveController,\n ReactiveControllerHost,\n ReactiveElement,\n} from 'lit';\nimport { getTheme } from './config.js';\nimport { CHANGE_THEME_EVENT } from './theming-event.js';\nimport type { Theme, ThemeController, Themes } from './types';\n\nclass ThemingController implements ReactiveController, ThemeController {\n private themes: Themes;\n private host: ReactiveControllerHost & ReactiveElement;\n public theme!: Theme;\n\n constructor(host: ReactiveControllerHost & ReactiveElement, themes: Themes) {\n this.host = host;\n this.themes = themes;\n }\n\n private readonly __themingEventHandler = () => {\n this.adoptStyles();\n this.host.requestUpdate();\n };\n\n public hostConnected() {\n this.adoptStyles();\n window.addEventListener(CHANGE_THEME_EVENT, this.__themingEventHandler);\n }\n\n public hostDisconnected() {\n window.removeEventListener(CHANGE_THEME_EVENT, this.__themingEventHandler);\n }\n\n protected adoptStyles() {\n this.theme = getTheme();\n const ctor = this.host.constructor as typeof LitElement;\n const supportsAdoptingStyleSheets =\n window.ShadowRoot &&\n 'adoptedStyleSheets' in Document.prototype &&\n 'replace' in CSSStyleSheet.prototype;\n\n let styleSheet = css``;\n\n const [theme] = Object.entries(this.themes).filter(\n ([name]) => name === this.theme\n );\n\n if (theme) {\n const [_, cssResult] = theme;\n styleSheet = cssResult;\n }\n\n // Firefox and Safari don't support the adoptedStyleSheets API yet,\n // and the lit framework appends the resolved stylesheets indiscriminately\n // when using the adoptStyles API below. Hence, we need to remove all previously\n // defined style tags in the shadow root as changing the themes at runtime just\n // keeps stacking the resolved styles one over the other, resulting in broken themes.\n if (!supportsAdoptingStyleSheets) {\n [...this.host!.renderRoot.querySelectorAll('style')]\n .slice(1)\n .forEach((tag) => tag.remove());\n }\n\n adoptStyles(this.host.shadowRoot as ShadowRoot, [\n ...ctor.elementStyles,\n styleSheet,\n ]);\n }\n}\n\nconst _updateWhenThemeChanges = (\n host: ReactiveControllerHost & ReactiveElement,\n themes: Themes\n) => {\n const controller = new ThemingController(host, themes);\n host.addController(controller);\n return controller;\n};\n\nexport const updateWhenThemeChanges: typeof _updateWhenThemeChanges & {\n _THEMING_CONTROLLER_FN_?: never;\n} = _updateWhenThemeChanges;\n"]}
@@ -1,4 +1,4 @@
1
- import { updateWhenThemeChanges } from './theming-controlller';
1
+ import { updateWhenThemeChanges } from './theming-controller.js';
2
2
  export function themes(themes) {
3
3
  return (clazz) => {
4
4
  clazz.addInitializer((instance) => {
@@ -1 +1 @@
1
- {"version":3,"file":"theming-decorator.js","sourceRoot":"","sources":["../../src/theming/theming-decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAyB/D,MAAM,UAAU,MAAM,CAAC,MAAc;IACnC,OAAO,CAAC,KAAU,EAAE,EAAE;QACpB,KAAK,CAAC,cAAc,CAAC,CAAC,QAAyC,EAAE,EAAE;YACjE,MAAM,UAAU,GAAG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAE5D,IAAI,cAAc,IAAI,QAAQ,EAAE;gBAC9B,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;aACnC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { ReactiveElement } from 'lit';\nimport { updateWhenThemeChanges } from './theming-controlller';\nimport { ReactiveTheme, Themes } from './types';\n\n/**\n * Class decorator to enable multiple theme support for a component.\n * The component will re-render on theme changes.\n *\n * See also {@link updateWhenThemeChanges} for the same functionallity\n * without the use of this decorator.\n *\n * Usage:\n * ```ts\n * import { LitElement, html } from 'lit';\n * import { themes } from 'igniteui-webcomponents/themes';\n * import { styles } from './themes/my-element.base.css';\n * import { styles as material } from './themes/my-element.material.css';\n * import { styles as bootstrap } from './themes/my-element.bootstrap.css';\n * import { styles as indigo } from './themes/my-element.indigo.css';\n *\n * @themes({ material, bootstrap, indigo })\n * class MyElement extends LitElement {\n * public static styles = styles;\n * }\n * ```\n */\nexport function themes(themes: Themes) {\n return (clazz: any) => {\n clazz.addInitializer((instance: ReactiveElement & ReactiveTheme) => {\n const controller = updateWhenThemeChanges(instance, themes);\n\n if ('themeAdopted' in instance) {\n instance.themeAdopted(controller);\n }\n });\n return clazz;\n };\n}\n"]}
1
+ {"version":3,"file":"theming-decorator.js","sourceRoot":"","sources":["../../src/theming/theming-decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAyBjE,MAAM,UAAU,MAAM,CAAC,MAAc;IACnC,OAAO,CAAC,KAAU,EAAE,EAAE;QACpB,KAAK,CAAC,cAAc,CAAC,CAAC,QAAyC,EAAE,EAAE;YACjE,MAAM,UAAU,GAAG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAE5D,IAAI,cAAc,IAAI,QAAQ,EAAE;gBAC9B,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;aACnC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { ReactiveElement } from 'lit';\nimport { updateWhenThemeChanges } from './theming-controller.js';\nimport { ReactiveTheme, Themes } from './types';\n\n/**\n * Class decorator to enable multiple theme support for a component.\n * The component will re-render on theme changes.\n *\n * See also {@link updateWhenThemeChanges} for the same functionallity\n * without the use of this decorator.\n *\n * Usage:\n * ```ts\n * import { LitElement, html } from 'lit';\n * import { themes } from 'igniteui-webcomponents/themes';\n * import { styles } from './themes/my-element.base.css';\n * import { styles as material } from './themes/my-element.material.css';\n * import { styles as bootstrap } from './themes/my-element.bootstrap.css';\n * import { styles as indigo } from './themes/my-element.indigo.css';\n *\n * @themes({ material, bootstrap, indigo })\n * class MyElement extends LitElement {\n * public static styles = styles;\n * }\n * ```\n */\nexport function themes(themes: Themes) {\n return (clazz: any) => {\n clazz.addInitializer((instance: ReactiveElement & ReactiveTheme) => {\n const controller = updateWhenThemeChanges(instance, themes);\n\n if ('themeAdopted' in instance) {\n instance.themeAdopted(controller);\n }\n });\n return clazz;\n };\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { Theme } from './types';
1
+ import type { Theme } from './types';
2
2
  export declare const CHANGE_THEME_EVENT = "igc-change-theme";
3
3
  declare global {
4
4
  interface WindowEventMap {
@@ -1 +1 @@
1
- {"version":3,"file":"theming-event.js","sourceRoot":"","sources":["../../src/theming/theming-event.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC","sourcesContent":["import { Theme } from './types';\n\nexport const CHANGE_THEME_EVENT = 'igc-change-theme';\n\n// Misfiring eslint rule\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ndeclare global {\n interface WindowEventMap {\n [CHANGE_THEME_EVENT]: CustomEvent<ChangeThemeEventDetail>;\n }\n}\n\n/**\n * The possible details of the \"igc-change-theme\" event.\n */\nexport type ChangeThemeEventDetail = {\n theme: Theme;\n};\n"]}
1
+ {"version":3,"file":"theming-event.js","sourceRoot":"","sources":["../../src/theming/theming-event.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC","sourcesContent":["import type { Theme } from './types';\n\nexport const CHANGE_THEME_EVENT = 'igc-change-theme';\n\n// Misfiring eslint rule\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ndeclare global {\n interface WindowEventMap {\n [CHANGE_THEME_EVENT]: CustomEvent<ChangeThemeEventDetail>;\n }\n}\n\n/**\n * The possible details of the \"igc-change-theme\" event.\n */\nexport type ChangeThemeEventDetail = {\n theme: Theme;\n};\n"]}