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
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css ``;
3
+ //# sourceMappingURL=tree-item.indigo.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-item.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/tree/themes/dark/tree-item.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css``;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;font-family:inherit;--igc-tree-indentation-size: 24px}:host(:focus-within){outline:none}:host([disabled]){color:hsla(var(--igc-gray-500), var(--igc-gray-a));background:hsla(var(--igc-surface-500), var(--igc-surface-a))}[part~=wrapper]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;background:hsla(var(--igc-surface-500), var(--igc-surface-a));color:var(--igc-surface-500-contrast)}[part~=wrapper]::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;background:rgba(0,0,0,0)}[part~=wrapper]:hover::after{background:var(--hover-color, hsla(var(--igc-gray-900), 0.1))}[part~=active]{background:hsla(var(--igc-gray-200), var(--igc-gray-a));color:var(--igc-gray-200-contrast)}[part~=selected]{background:hsla(var(--igc-secondary-200), var(--igc-secondary-a));color:var(--igc-secondary-200-contrast)}[part~=selected][part~=focused][part~=active],[part~=selected][part~=focused],[part~=selected][part~=active]{background:hsla(var(--igc-secondary-300), var(--igc-secondary-a));color:var(--igc-secondary-300-contrast)}[part~=focused]{-webkit-box-shadow:inset 0 0 0 1px hsla(var(--igc-secondary-500), var(--igc-secondary-a));box-shadow:inset 0 0 0 1px hsla(var(--igc-secondary-500), var(--igc-secondary-a))}[part~=indicator]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-margin-end:.25rem;margin-inline-end:.25rem;min-width:1.5rem}[part~=indicator] igc-icon{width:1.5rem;height:1.5rem;font-size:1.5rem}[part~=label]{display:block;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);margin:0}[part~=label],[part~=text]{z-index:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}[part~=select]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:1;-webkit-margin-end:.25rem;margin-inline-end:.25rem}[part~=select] igc-checkbox::part(label){display:none}[part~=large]{height:3.125rem}[part~=large] igc-circular-progress{--diameter: 1.5rem}[part~=medium]{height:2.5rem}[part~=medium] igc-circular-progress{--diameter: 1.25rem}[part~=small]{height:2rem}[part~=small] igc-circular-progress{--diameter: 1.125rem}[part~=wrapper][part~=large]{padding:0 1.5rem}[part~=wrapper][part~=medium]{padding:0 1rem}[part~=wrapper][part~=small]{padding:0 .75rem}`;
3
+ //# sourceMappingURL=tree-item.base.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-item.base.css.js","sourceRoot":"","sources":["../../../../../src/components/tree/themes/light/tree-item.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,gxHAAgxH,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;font-family:inherit;--igc-tree-indentation-size: 24px}:host(:focus-within){outline:none}:host([disabled]){color:hsla(var(--igc-gray-500), var(--igc-gray-a));background:hsla(var(--igc-surface-500), var(--igc-surface-a))}[part~=wrapper]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;background:hsla(var(--igc-surface-500), var(--igc-surface-a));color:var(--igc-surface-500-contrast)}[part~=wrapper]::after{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;background:rgba(0,0,0,0)}[part~=wrapper]:hover::after{background:var(--hover-color, hsla(var(--igc-gray-900), 0.1))}[part~=active]{background:hsla(var(--igc-gray-200), var(--igc-gray-a));color:var(--igc-gray-200-contrast)}[part~=selected]{background:hsla(var(--igc-secondary-200), var(--igc-secondary-a));color:var(--igc-secondary-200-contrast)}[part~=selected][part~=focused][part~=active],[part~=selected][part~=focused],[part~=selected][part~=active]{background:hsla(var(--igc-secondary-300), var(--igc-secondary-a));color:var(--igc-secondary-300-contrast)}[part~=focused]{-webkit-box-shadow:inset 0 0 0 1px hsla(var(--igc-secondary-500), var(--igc-secondary-a));box-shadow:inset 0 0 0 1px hsla(var(--igc-secondary-500), var(--igc-secondary-a))}[part~=indicator]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-margin-end:.25rem;margin-inline-end:.25rem;min-width:1.5rem}[part~=indicator] igc-icon{width:1.5rem;height:1.5rem;font-size:1.5rem}[part~=label]{display:block;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);margin:0}[part~=label],[part~=text]{z-index:1;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}[part~=select]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:1;-webkit-margin-end:.25rem;margin-inline-end:.25rem}[part~=select] igc-checkbox::part(label){display:none}[part~=large]{height:3.125rem}[part~=large] igc-circular-progress{--diameter: 1.5rem}[part~=medium]{height:2.5rem}[part~=medium] igc-circular-progress{--diameter: 1.25rem}[part~=small]{height:2rem}[part~=small] igc-circular-progress{--diameter: 1.125rem}[part~=wrapper][part~=large]{padding:0 1.5rem}[part~=wrapper][part~=medium]{padding:0 1rem}[part~=wrapper][part~=small]{padding:0 .75rem}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `[part~=active]{background:var(--active-background, hsla(var(--igc-gray-200), var(--igc-gray-a)));color:var(--active-color, var(--igc-gray-200-contrast))}[part~=selected]{background:var(--selected-background, hsla(var(--igc-primary-500), var(--igc-primary-a)));color:var(--selected-color, var(--igc-primary-600-contrast))}[part~=selected][part~=focused][part~=active],[part~=selected][part~=focused],[part~=selected][part~=active]{background:var(--active-selected-background, hsla(var(--igc-primary-600), var(--igc-primary-a)));color:var(--active-selected-color, var(--igc-primary-600-contrast))}[part~=select]{-webkit-margin-end:.5rem;margin-inline-end:.5rem}[part~=focused]{-webkit-box-shadow:inset 0 0 0 1px var(--focused-border-color, hsla(var(--igc-primary-200), var(--igc-primary-a)));box-shadow:inset 0 0 0 1px var(--focused-border-color, hsla(var(--igc-primary-200), var(--igc-primary-a)))}`;
3
+ //# sourceMappingURL=tree-item.bootstrap.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-item.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/tree/themes/light/tree-item.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,m4BAAm4B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part~=active]{background:var(--active-background, hsla(var(--igc-gray-200), var(--igc-gray-a)));color:var(--active-color, var(--igc-gray-200-contrast))}[part~=selected]{background:var(--selected-background, hsla(var(--igc-primary-500), var(--igc-primary-a)));color:var(--selected-color, var(--igc-primary-600-contrast))}[part~=selected][part~=focused][part~=active],[part~=selected][part~=focused],[part~=selected][part~=active]{background:var(--active-selected-background, hsla(var(--igc-primary-600), var(--igc-primary-a)));color:var(--active-selected-color, var(--igc-primary-600-contrast))}[part~=select]{-webkit-margin-end:.5rem;margin-inline-end:.5rem}[part~=focused]{-webkit-box-shadow:inset 0 0 0 1px var(--focused-border-color, hsla(var(--igc-primary-200), var(--igc-primary-a)));box-shadow:inset 0 0 0 1px var(--focused-border-color, hsla(var(--igc-primary-200), var(--igc-primary-a)))}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `[part~=active]{background:var(--active-background, hsla(var(--igc-gray-200), var(--igc-gray-a)));color:var(--active-color, var(--igc-gray-200-contrast))}[part~=selected]{background:var(--selected-background, hsla(var(--igc-gray-200), var(--igc-gray-a)));color:var(--selected-color, var(--igc-gray-200-contrast))}[part~=selected][part~=focused][part~=active],[part~=selected][part~=focused],[part~=selected][part~=active]{background:var(--active-selected-background, hsla(var(--igc-gray-300), var(--igc-gray-a)));color:var(--active-selected-color, var(--igc-gray-300-contrast))}[part~=select]{-webkit-margin-end:.5rem;margin-inline-end:.5rem}[part~=focused]{-webkit-box-shadow:inset 0 0 0 1px var(--focused-border-color, hsla(var(--igc-gray-800), var(--igc-gray-a)));box-shadow:inset 0 0 0 1px var(--focused-border-color, hsla(var(--igc-gray-800), var(--igc-gray-a)))}`;
3
+ //# sourceMappingURL=tree-item.fluent.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-item.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/tree/themes/light/tree-item.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,q2BAAq2B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part~=active]{background:var(--active-background, hsla(var(--igc-gray-200), var(--igc-gray-a)));color:var(--active-color, var(--igc-gray-200-contrast))}[part~=selected]{background:var(--selected-background, hsla(var(--igc-gray-200), var(--igc-gray-a)));color:var(--selected-color, var(--igc-gray-200-contrast))}[part~=selected][part~=focused][part~=active],[part~=selected][part~=focused],[part~=selected][part~=active]{background:var(--active-selected-background, hsla(var(--igc-gray-300), var(--igc-gray-a)));color:var(--active-selected-color, var(--igc-gray-300-contrast))}[part~=select]{-webkit-margin-end:.5rem;margin-inline-end:.5rem}[part~=focused]{-webkit-box-shadow:inset 0 0 0 1px var(--focused-border-color, hsla(var(--igc-gray-800), var(--igc-gray-a)));box-shadow:inset 0 0 0 1px var(--focused-border-color, hsla(var(--igc-gray-800), var(--igc-gray-a)))}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `[part~=active]{background:var(--active-background, hsla(var(--igc-surface-500), var(--igc-surface-a)));color:var(--active-color, hsla(var(--igc-primary-500), var(--igc-primary-a)))}[part~=active]:hover{color:var(--active-color, hsla(var(--igc-primary-500), var(--igc-primary-a)))}[part~=selected]{background:var(--selected-background, hsla(var(--igc-primary-500), var(--igc-primary-a)));color:var(--selected-color, var(--igc-primary-600-contrast))}[part~=selected][part~=focused][part~=active],[part~=selected][part~=focused],[part~=selected][part~=active]{background:var(--active-selected-background, hsla(var(--igc-primary-400), var(--igc-primary-a)));color:var(--active-selected-color, var(--igc-primary-400-contrast))}[part~=select]{-webkit-margin-end:.5rem;margin-inline-end:.5rem}[part~=focused]{-webkit-box-shadow:inset 0 0 0 1px var(--focused-border-color, hsla(var(--igc-primary-300), var(--igc-primary-a)));box-shadow:inset 0 0 0 1px var(--focused-border-color, hsla(var(--igc-primary-300), var(--igc-primary-a)))}`;
3
+ //# sourceMappingURL=tree-item.indigo.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-item.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/tree/themes/light/tree-item.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,kgCAAkgC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part~=active]{background:var(--active-background, hsla(var(--igc-surface-500), var(--igc-surface-a)));color:var(--active-color, hsla(var(--igc-primary-500), var(--igc-primary-a)))}[part~=active]:hover{color:var(--active-color, hsla(var(--igc-primary-500), var(--igc-primary-a)))}[part~=selected]{background:var(--selected-background, hsla(var(--igc-primary-500), var(--igc-primary-a)));color:var(--selected-color, var(--igc-primary-600-contrast))}[part~=selected][part~=focused][part~=active],[part~=selected][part~=focused],[part~=selected][part~=active]{background:var(--active-selected-background, hsla(var(--igc-primary-400), var(--igc-primary-a)));color:var(--active-selected-color, var(--igc-primary-400-contrast))}[part~=select]{-webkit-margin-end:.5rem;margin-inline-end:.5rem}[part~=focused]{-webkit-box-shadow:inset 0 0 0 1px var(--focused-border-color, hsla(var(--igc-primary-300), var(--igc-primary-a)));box-shadow:inset 0 0 0 1px var(--focused-border-color, hsla(var(--igc-primary-300), var(--igc-primary-a)))}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{display:block;height:100%;overflow:auto;font-family:var(--igc-font-family)}`;
3
+ //# sourceMappingURL=tree.base.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.base.css.js","sourceRoot":"","sources":["../../../../../src/components/tree/themes/light/tree.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,izBAAizB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{display:block;height:100%;overflow:auto;font-family:var(--igc-font-family)}`;\n"]}
@@ -0,0 +1,116 @@
1
+ import { LitElement } from 'lit';
2
+ import type IgcTreeComponent from './tree.js';
3
+ /**
4
+ * The tree-item component represents a child item of the tree component or another tree item.
5
+ *
6
+ * @element igc-tree-item
7
+ *
8
+ * @slot - Renders nested tree-item component.
9
+ * @slot label - Renders the tree item container.
10
+ * @slot indicator - Renders the expand indicator container.
11
+ * @slot loading - Renders the tree item loading indicator container.
12
+ * @slot indentation - Renders the container (by default the space) before the tree item.
13
+ *
14
+ * @csspart wrapper - The wrapper for the tree item.
15
+ * @csspart selected - Indicates selected state. Applies to `wrapper`.
16
+ * @csspart focused - Indicates focused state. Applies to `wrapper`.
17
+ * @csspart active - Indicates an active state. Applies to `wrapper`.
18
+ * @csspart indicator - The expand indicator of the tree item.
19
+ * @csspart label - The tree item content.
20
+ * @csspart text - The tree item displayed text.
21
+ * @csspart select - The checkbox of the tree item when selection is enabled.
22
+ */
23
+ export default class IgcTreeItemComponent extends LitElement {
24
+ /** @private */
25
+ static readonly tagName = "igc-tree-item";
26
+ /** @private */
27
+ static styles: import("lit").CSSResult;
28
+ private tabbableEl?;
29
+ private focusedProgrammatically;
30
+ /** A reference to the tree the item is a part of. */
31
+ tree?: IgcTreeComponent;
32
+ /** The parent item of the current tree item (if any) */
33
+ parent: IgcTreeItemComponent | null;
34
+ /** @private */
35
+ init: boolean;
36
+ private contentList;
37
+ /** @private */
38
+ wrapper: HTMLElement;
39
+ private isFocused;
40
+ /** @private */
41
+ hasChildren: boolean;
42
+ /** The depth of the item, relative to the root. */
43
+ level: number;
44
+ /** @private */
45
+ indeterminate: boolean;
46
+ /** The tree item label. */
47
+ label: string;
48
+ /** The tree item expansion state. */
49
+ expanded: boolean;
50
+ /** Marks the item as the tree's active item. */
51
+ active: boolean;
52
+ /** Get/Set whether the tree item is disabled. Disabled items are ignored for user interactions. */
53
+ disabled: boolean;
54
+ /** The tree item selection state. */
55
+ selected: boolean;
56
+ /** To be used for load-on-demand scenarios in order to specify whether the item is loading data. */
57
+ loading: boolean;
58
+ /**
59
+ * The value entry that the tree item is visualizing. Required for searching through items.
60
+ * @type any
61
+ */
62
+ value: any;
63
+ protected bothChange(): void;
64
+ protected expandedChange(oldValue: boolean): void;
65
+ protected activeChange(): void;
66
+ protected disabledChange(): void;
67
+ protected selectedChange(): void;
68
+ connectedCallback(): void;
69
+ disconnectedCallback(): void;
70
+ private get selectionService();
71
+ private get navService();
72
+ private get parts();
73
+ private get directChildren();
74
+ private get allChildren();
75
+ /** The full path to the tree item, starting from the top-most ancestor. */
76
+ get path(): IgcTreeItemComponent[];
77
+ private pointerDown;
78
+ private expandIndicatorClick;
79
+ private selectorClick;
80
+ private onFocus;
81
+ private onBlur;
82
+ private onFocusIn;
83
+ private onFocusOut;
84
+ private labelChange;
85
+ private handleChange;
86
+ /**
87
+ * Returns a collection of child items.
88
+ * If the parameter value is true returns all tree item's direct children,
89
+ * otherwise - only the direct children.
90
+ */
91
+ getChildren(options?: {
92
+ flatten: boolean;
93
+ }): IgcTreeItemComponent[];
94
+ /**
95
+ * @private
96
+ * Expands the tree item.
97
+ */
98
+ expandWithEvent(): void;
99
+ /**
100
+ * @private
101
+ * Collapses the tree item.
102
+ */
103
+ collapseWithEvent(): void;
104
+ /** Toggles tree item expansion state. */
105
+ toggle(): void;
106
+ /** Expands the tree item. */
107
+ expand(): void;
108
+ /** Collapses the tree item. */
109
+ collapse(): void;
110
+ protected render(): import("lit-html").TemplateResult<1>;
111
+ }
112
+ declare global {
113
+ interface HTMLElementTagNameMap {
114
+ 'igc-tree-item': IgcTreeItemComponent;
115
+ }
116
+ }
@@ -0,0 +1,447 @@
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
+ import { property, query, queryAssignedElements, state, } from 'lit/decorators.js';
8
+ import { html, LitElement } from 'lit';
9
+ import { partNameMap } from '../common/util.js';
10
+ import { styles } from './themes/light/tree-item.base.css.js';
11
+ import { styles as bootstrap } from './themes/light/tree-item.bootstrap.css.js';
12
+ import { styles as fluent } from './themes/light/tree-item.fluent.css.js';
13
+ import { styles as indigo } from './themes/light/tree-item.indigo.css.js';
14
+ import { watch } from '../common/decorators/watch.js';
15
+ import { themes } from '../../theming/theming-decorator.js';
16
+ const sizeMultiplier = {
17
+ small: 1 / 2,
18
+ medium: 2 / 3,
19
+ large: 1,
20
+ };
21
+ let IgcTreeItemComponent = class IgcTreeItemComponent extends LitElement {
22
+ constructor() {
23
+ super(...arguments);
24
+ this.focusedProgrammatically = false;
25
+ this.parent = null;
26
+ this.init = false;
27
+ this.isFocused = false;
28
+ this.hasChildren = false;
29
+ this.level = 0;
30
+ this.indeterminate = false;
31
+ this.label = '';
32
+ this.expanded = false;
33
+ this.active = false;
34
+ this.disabled = false;
35
+ this.selected = false;
36
+ this.loading = false;
37
+ this.value = undefined;
38
+ }
39
+ bothChange() {
40
+ if (this.hasChildren) {
41
+ this.setAttribute('aria-expanded', this.expanded.toString());
42
+ }
43
+ else {
44
+ this.removeAttribute('aria-expanded');
45
+ }
46
+ }
47
+ expandedChange(oldValue) {
48
+ var _a;
49
+ (_a = this.navService) === null || _a === void 0 ? void 0 : _a.update_visible_cache(this, this.expanded);
50
+ if (!oldValue) {
51
+ return;
52
+ }
53
+ Promise.resolve().then(() => {
54
+ var _a, _b, _c, _d;
55
+ if (((_a = this.navService) === null || _a === void 0 ? void 0 : _a.focusedItem) !== this && !this.isFocused) {
56
+ (_d = (_c = (_b = this.navService) === null || _b === void 0 ? void 0 : _b.focusedItem) === null || _c === void 0 ? void 0 : _c.wrapper) === null || _d === void 0 ? void 0 : _d.scrollIntoView({
57
+ behavior: 'smooth',
58
+ block: 'nearest',
59
+ inline: 'nearest',
60
+ });
61
+ }
62
+ });
63
+ }
64
+ activeChange() {
65
+ var _a, _b;
66
+ if ((this.active && ((_a = this.navService) === null || _a === void 0 ? void 0 : _a.activeItem) === this) || !this.active) {
67
+ return;
68
+ }
69
+ if (this.navService) {
70
+ this.navService.setActiveItem(this, false);
71
+ }
72
+ (_b = this.tree) === null || _b === void 0 ? void 0 : _b.expandToItem(this);
73
+ Promise.resolve().then(() => {
74
+ var _a;
75
+ (_a = this.wrapper) === null || _a === void 0 ? void 0 : _a.scrollIntoView({
76
+ behavior: 'smooth',
77
+ block: 'nearest',
78
+ inline: 'nearest',
79
+ });
80
+ });
81
+ }
82
+ disabledChange() {
83
+ var _a;
84
+ (_a = this.navService) === null || _a === void 0 ? void 0 : _a.update_disabled_cache(this);
85
+ }
86
+ selectedChange() {
87
+ var _a, _b, _c, _d;
88
+ if (this.selected && !((_a = this.selectionService) === null || _a === void 0 ? void 0 : _a.isItemSelected(this))) {
89
+ (_b = this.selectionService) === null || _b === void 0 ? void 0 : _b.selectItemsWithNoEvent([this]);
90
+ }
91
+ if (!this.selected && ((_c = this.selectionService) === null || _c === void 0 ? void 0 : _c.isItemSelected(this))) {
92
+ (_d = this.selectionService) === null || _d === void 0 ? void 0 : _d.deselectItemsWithNoEvent([this]);
93
+ }
94
+ }
95
+ connectedCallback() {
96
+ var _a, _b;
97
+ super.connectedCallback();
98
+ this.tree = this.closest('igc-tree');
99
+ this.parent =
100
+ ((_a = this.parentElement) === null || _a === void 0 ? void 0 : _a.tagName.toLowerCase()) === 'igc-tree-item'
101
+ ? this.parentElement
102
+ : null;
103
+ this.level = this.parent ? this.parent.level + 1 : 0;
104
+ this.setAttribute('role', 'treeitem');
105
+ this.addEventListener('blur', this.onBlur);
106
+ this.addEventListener('focus', this.onFocus);
107
+ this.addEventListener('pointerdown', this.pointerDown);
108
+ this.activeChange();
109
+ if (this.init) {
110
+ this.selectedChange();
111
+ }
112
+ else {
113
+ (_b = this.selectionService) === null || _b === void 0 ? void 0 : _b.retriggerItemState(this);
114
+ }
115
+ this.init = false;
116
+ }
117
+ disconnectedCallback() {
118
+ var _a, _b;
119
+ super.disconnectedCallback();
120
+ (_a = this.selectionService) === null || _a === void 0 ? void 0 : _a.ensureStateOnItemDelete(this);
121
+ (_b = this.navService) === null || _b === void 0 ? void 0 : _b.delete_item(this);
122
+ }
123
+ get selectionService() {
124
+ var _a;
125
+ return (_a = this.tree) === null || _a === void 0 ? void 0 : _a.selectionService;
126
+ }
127
+ get navService() {
128
+ var _a;
129
+ return (_a = this.tree) === null || _a === void 0 ? void 0 : _a.navService;
130
+ }
131
+ get parts() {
132
+ return {
133
+ selected: this.selected,
134
+ focused: this.isFocused,
135
+ active: this.active,
136
+ };
137
+ }
138
+ get directChildren() {
139
+ return Array.from(this.children).filter((x) => x.tagName.toLowerCase() === 'igc-tree-item');
140
+ }
141
+ get allChildren() {
142
+ return Array.from(this.querySelectorAll(`igc-tree-item`));
143
+ }
144
+ get path() {
145
+ var _a;
146
+ return ((_a = this.parent) === null || _a === void 0 ? void 0 : _a.path) ? [...this.parent.path, this] : [this];
147
+ }
148
+ pointerDown(event) {
149
+ var _a;
150
+ event.stopPropagation();
151
+ if (this.disabled) {
152
+ return;
153
+ }
154
+ this.tabIndex = 0;
155
+ (_a = this.navService) === null || _a === void 0 ? void 0 : _a.setFocusedAndActiveItem(this, true, false);
156
+ }
157
+ expandIndicatorClick() {
158
+ if (this.disabled) {
159
+ return;
160
+ }
161
+ if (this.expanded) {
162
+ this.collapseWithEvent();
163
+ }
164
+ else {
165
+ this.expandWithEvent();
166
+ }
167
+ }
168
+ selectorClick(event) {
169
+ var _a, _b, _c;
170
+ event.preventDefault();
171
+ if (event.shiftKey) {
172
+ (_a = this.selectionService) === null || _a === void 0 ? void 0 : _a.selectMultipleItems(this);
173
+ return;
174
+ }
175
+ if (this.selected) {
176
+ (_b = this.selectionService) === null || _b === void 0 ? void 0 : _b.deselectItem(this);
177
+ }
178
+ else {
179
+ (_c = this.selectionService) === null || _c === void 0 ? void 0 : _c.selectItem(this);
180
+ }
181
+ }
182
+ onFocus() {
183
+ var _a, _b, _c;
184
+ if (this.disabled) {
185
+ return;
186
+ }
187
+ if (((_a = this.navService) === null || _a === void 0 ? void 0 : _a.focusedItem) !== this) {
188
+ (_b = this.navService) === null || _b === void 0 ? void 0 : _b.focusItem(this, false);
189
+ (_c = this.wrapper) === null || _c === void 0 ? void 0 : _c.scrollIntoView({
190
+ behavior: 'smooth',
191
+ block: 'nearest',
192
+ inline: 'nearest',
193
+ });
194
+ }
195
+ if (this.tabbableEl && this.tabbableEl.length) {
196
+ this.tabbableEl.forEach((element) => {
197
+ element.tabIndex = 0;
198
+ });
199
+ this.focusedProgrammatically = true;
200
+ this.tabbableEl[0].focus();
201
+ return;
202
+ }
203
+ this.isFocused = true;
204
+ }
205
+ onBlur() {
206
+ this.isFocused = false;
207
+ }
208
+ onFocusIn(ev) {
209
+ var _a;
210
+ ev === null || ev === void 0 ? void 0 : ev.stopPropagation();
211
+ if (!this.disabled) {
212
+ if (!this.focusedProgrammatically) {
213
+ (_a = this.tabbableEl) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
214
+ element.tabIndex = 0;
215
+ });
216
+ }
217
+ this.removeAttribute('tabIndex');
218
+ this.isFocused = true;
219
+ this.focusedProgrammatically = false;
220
+ }
221
+ }
222
+ onFocusOut(ev) {
223
+ var _a, _b;
224
+ ev === null || ev === void 0 ? void 0 : ev.stopPropagation();
225
+ this.isFocused = false;
226
+ (_a = this.tabbableEl) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
227
+ element.tabIndex = -1;
228
+ });
229
+ if (((_b = this.navService) === null || _b === void 0 ? void 0 : _b.focusedItem) === this) {
230
+ this.setAttribute('tabindex', '0');
231
+ }
232
+ }
233
+ labelChange() {
234
+ const firstElement = this.contentList[0];
235
+ const tabbableSelector = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])';
236
+ this.tabbableEl = [
237
+ ...firstElement.querySelectorAll(tabbableSelector),
238
+ ];
239
+ if (firstElement.matches(tabbableSelector)) {
240
+ this.tabbableEl.splice(0, 0, firstElement);
241
+ }
242
+ if (this.tabbableEl && this.tabbableEl.length) {
243
+ this.setAttribute('role', 'none');
244
+ this.tabbableEl[0].setAttribute('role', 'treeitem');
245
+ this.tabbableEl.forEach((element) => {
246
+ element.tabIndex = -1;
247
+ });
248
+ }
249
+ else {
250
+ this.setAttribute('role', 'treeitem');
251
+ }
252
+ }
253
+ handleChange() {
254
+ var _a;
255
+ this.hasChildren = !!this.directChildren.length;
256
+ (_a = this.navService) === null || _a === void 0 ? void 0 : _a.update_visible_cache(this, this.expanded, false);
257
+ }
258
+ getChildren(options = { flatten: false }) {
259
+ if (options.flatten) {
260
+ return this.allChildren;
261
+ }
262
+ else {
263
+ return this.directChildren;
264
+ }
265
+ }
266
+ expandWithEvent() {
267
+ var _a, _b, _c;
268
+ if (this.expanded) {
269
+ return;
270
+ }
271
+ const args = {
272
+ detail: this,
273
+ cancelable: true,
274
+ };
275
+ const allowed = (_a = this.tree) === null || _a === void 0 ? void 0 : _a.emitEvent('igcItemExpanding', args);
276
+ if (!allowed) {
277
+ return;
278
+ }
279
+ if ((_b = this.tree) === null || _b === void 0 ? void 0 : _b.singleBranchExpand) {
280
+ const pathSet = new Set(this.path.splice(0, this.path.length - 1));
281
+ this.tree.items.forEach((item) => {
282
+ if (!pathSet.has(item)) {
283
+ item.collapseWithEvent();
284
+ }
285
+ });
286
+ }
287
+ this.expanded = true;
288
+ (_c = this.tree) === null || _c === void 0 ? void 0 : _c.emitEvent('igcItemExpanded', { detail: this });
289
+ }
290
+ collapseWithEvent() {
291
+ var _a, _b;
292
+ if (!this.expanded) {
293
+ return;
294
+ }
295
+ const args = {
296
+ detail: this,
297
+ cancelable: true,
298
+ };
299
+ const allowed = (_a = this.tree) === null || _a === void 0 ? void 0 : _a.emitEvent('igcItemCollapsing', args);
300
+ if (!allowed) {
301
+ return;
302
+ }
303
+ this.expanded = false;
304
+ (_b = this.tree) === null || _b === void 0 ? void 0 : _b.emitEvent('igcItemCollapsed', { detail: this });
305
+ }
306
+ toggle() {
307
+ this.expanded = !this.expanded;
308
+ }
309
+ expand() {
310
+ this.expanded = true;
311
+ }
312
+ collapse() {
313
+ this.expanded = false;
314
+ }
315
+ render() {
316
+ var _a, _b, _c;
317
+ const size = this.level * (this.tree ? sizeMultiplier[this.tree.size] : 1);
318
+ return html `
319
+ <div
320
+ id="wrapper"
321
+ part="wrapper ${(_a = this.tree) === null || _a === void 0 ? void 0 : _a.size} ${partNameMap(this.parts)}"
322
+ >
323
+ <div
324
+ style="width: calc(${size} * var(--igc-tree-indentation-size))"
325
+ part="indentation"
326
+ aria-hidden="true"
327
+ >
328
+ <slot name="indentation"></slot>
329
+ </div>
330
+ <div part="indicator" aria-hidden="true">
331
+ ${this.loading
332
+ ? html `
333
+ <slot name="loading">
334
+ <igc-circular-progress indeterminate></igc-circular-progress>
335
+ </slot>
336
+ `
337
+ : html `
338
+ <slot name="indicator" @click=${this.expandIndicatorClick}>
339
+ ${this.hasChildren
340
+ ? html `
341
+ <igc-icon
342
+ name=${this.expanded
343
+ ? 'keyboard_arrow_down'
344
+ : ((_b = this.tree) === null || _b === void 0 ? void 0 : _b.dir) === 'rtl'
345
+ ? 'navigate_before'
346
+ : 'keyboard_arrow_right'}
347
+ collection="internal"
348
+ >
349
+ </igc-icon>
350
+ `
351
+ : ''}
352
+ </slot>
353
+ `}
354
+ </div>
355
+ ${((_c = this.tree) === null || _c === void 0 ? void 0 : _c.selection) !== 'none'
356
+ ? html `
357
+ <div part="select" aria-hidden="true">
358
+ <igc-checkbox
359
+ @click=${this.selectorClick}
360
+ .checked=${this.selected}
361
+ .indeterminate=${this.indeterminate}
362
+ .disabled=${this.disabled}
363
+ tabindex="-1"
364
+ >
365
+ </igc-checkbox>
366
+ </div>
367
+ `
368
+ : ''}
369
+ <div part="label">
370
+ <slot
371
+ name="label"
372
+ @slotchange=${this.labelChange}
373
+ @focusin=${this.onFocusIn}
374
+ @focusout=${this.onFocusOut}
375
+ >
376
+ <span part="text">${this.label}</span>
377
+ </slot>
378
+ </div>
379
+ </div>
380
+ <div role="group">
381
+ <slot @slotchange=${this.handleChange} ?hidden=${!this.expanded}></slot>
382
+ </div>
383
+ `;
384
+ }
385
+ };
386
+ IgcTreeItemComponent.tagName = 'igc-tree-item';
387
+ IgcTreeItemComponent.styles = styles;
388
+ __decorate([
389
+ queryAssignedElements({ slot: 'label', flatten: true })
390
+ ], IgcTreeItemComponent.prototype, "contentList", void 0);
391
+ __decorate([
392
+ query('#wrapper')
393
+ ], IgcTreeItemComponent.prototype, "wrapper", void 0);
394
+ __decorate([
395
+ state()
396
+ ], IgcTreeItemComponent.prototype, "isFocused", void 0);
397
+ __decorate([
398
+ state()
399
+ ], IgcTreeItemComponent.prototype, "hasChildren", void 0);
400
+ __decorate([
401
+ state()
402
+ ], IgcTreeItemComponent.prototype, "level", void 0);
403
+ __decorate([
404
+ state()
405
+ ], IgcTreeItemComponent.prototype, "indeterminate", void 0);
406
+ __decorate([
407
+ property()
408
+ ], IgcTreeItemComponent.prototype, "label", void 0);
409
+ __decorate([
410
+ property({ reflect: true, type: Boolean })
411
+ ], IgcTreeItemComponent.prototype, "expanded", void 0);
412
+ __decorate([
413
+ property({ reflect: true, type: Boolean })
414
+ ], IgcTreeItemComponent.prototype, "active", void 0);
415
+ __decorate([
416
+ property({ reflect: true, type: Boolean })
417
+ ], IgcTreeItemComponent.prototype, "disabled", void 0);
418
+ __decorate([
419
+ property({ reflect: true, type: Boolean })
420
+ ], IgcTreeItemComponent.prototype, "selected", void 0);
421
+ __decorate([
422
+ property({ reflect: true, type: Boolean })
423
+ ], IgcTreeItemComponent.prototype, "loading", void 0);
424
+ __decorate([
425
+ property({ attribute: true })
426
+ ], IgcTreeItemComponent.prototype, "value", void 0);
427
+ __decorate([
428
+ watch('expanded', { waitUntilFirstUpdate: true }),
429
+ watch('hasChildren', { waitUntilFirstUpdate: true })
430
+ ], IgcTreeItemComponent.prototype, "bothChange", null);
431
+ __decorate([
432
+ watch('expanded')
433
+ ], IgcTreeItemComponent.prototype, "expandedChange", null);
434
+ __decorate([
435
+ watch('active', { waitUntilFirstUpdate: true })
436
+ ], IgcTreeItemComponent.prototype, "activeChange", null);
437
+ __decorate([
438
+ watch('disabled')
439
+ ], IgcTreeItemComponent.prototype, "disabledChange", null);
440
+ __decorate([
441
+ watch('selected', { waitUntilFirstUpdate: true })
442
+ ], IgcTreeItemComponent.prototype, "selectedChange", null);
443
+ IgcTreeItemComponent = __decorate([
444
+ themes({ bootstrap, fluent, indigo })
445
+ ], IgcTreeItemComponent);
446
+ export default IgcTreeItemComponent;
447
+ //# sourceMappingURL=tree-item.js.map