@siemens/element-ng 47.3.0 → 47.5.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 (313) hide show
  1. package/badge/si-badge.component.d.ts +1 -1
  2. package/breadcrumb/breadcrumb-item.model.d.ts +36 -0
  3. package/breadcrumb/index.d.ts +7 -0
  4. package/breadcrumb/package.json +3 -0
  5. package/breadcrumb/si-breadcrumb-item-template.directive.d.ts +10 -0
  6. package/breadcrumb/si-breadcrumb.component.d.ts +46 -0
  7. package/breadcrumb/si-breadcrumb.module.d.ts +7 -0
  8. package/card/index.d.ts +6 -0
  9. package/card/package.json +3 -0
  10. package/card/si-card.component.d.ts +79 -0
  11. package/card/si-card.module.d.ts +7 -0
  12. package/circle-status/index.d.ts +6 -0
  13. package/circle-status/package.json +3 -0
  14. package/circle-status/si-circle-status.component.d.ts +66 -0
  15. package/circle-status/si-circle-status.module.d.ts +7 -0
  16. package/column-selection-dialog/column-selection-editor/si-column-selection-editor.component.d.ts +23 -0
  17. package/column-selection-dialog/index.d.ts +6 -0
  18. package/column-selection-dialog/package.json +3 -0
  19. package/column-selection-dialog/si-column-selection-dialog.component.d.ts +114 -0
  20. package/column-selection-dialog/si-column-selection-dialog.service.d.ts +20 -0
  21. package/column-selection-dialog/si-column-selection-dialog.types.d.ts +68 -0
  22. package/common/models/status-type.model.d.ts +4 -2
  23. package/datatable/index.d.ts +42 -0
  24. package/datatable/package.json +3 -0
  25. package/datatable/si-datatable-interaction.directive.d.ts +34 -0
  26. package/datatable/si-datatable.module.d.ts +7 -0
  27. package/date-range-filter/index.d.ts +8 -0
  28. package/date-range-filter/package.json +3 -0
  29. package/date-range-filter/si-date-range-calculation.service.d.ts +33 -0
  30. package/date-range-filter/si-date-range-filter.component.d.ts +248 -0
  31. package/date-range-filter/si-date-range-filter.module.d.ts +7 -0
  32. package/date-range-filter/si-date-range-filter.types.d.ts +40 -0
  33. package/date-range-filter/si-relative-date.component.d.ts +31 -0
  34. package/datepicker/components/si-calendar-body.component.d.ts +137 -0
  35. package/datepicker/components/si-calendar-date-cell.directive.d.ts +16 -0
  36. package/datepicker/components/si-calendar-direction-button.component.d.ts +18 -0
  37. package/datepicker/components/si-compare-adapter.d.ts +37 -0
  38. package/datepicker/components/si-day-selection.component.d.ts +76 -0
  39. package/datepicker/components/si-initial-focus.component.d.ts +74 -0
  40. package/datepicker/components/si-month-selection.component.d.ts +62 -0
  41. package/datepicker/components/si-year-selection.component.d.ts +65 -0
  42. package/datepicker/date-time-helper.d.ts +302 -0
  43. package/datepicker/index.d.ts +15 -0
  44. package/datepicker/package.json +3 -0
  45. package/datepicker/si-calendar-button.component.d.ts +49 -0
  46. package/datepicker/si-date-input.directive.d.ts +114 -0
  47. package/datepicker/si-date-range.component.d.ts +150 -0
  48. package/datepicker/si-datepicker-overlay.component.d.ts +82 -0
  49. package/datepicker/si-datepicker-overlay.directive.d.ts +104 -0
  50. package/datepicker/si-datepicker.component.d.ts +228 -0
  51. package/datepicker/si-datepicker.directive.d.ts +62 -0
  52. package/datepicker/si-datepicker.model.d.ts +129 -0
  53. package/datepicker/si-datepicker.module.d.ts +12 -0
  54. package/datepicker/si-timepicker.component.d.ts +214 -0
  55. package/electron-titlebar/electron.helpers.d.ts +5 -0
  56. package/electron-titlebar/index.d.ts +7 -0
  57. package/electron-titlebar/package.json +3 -0
  58. package/electron-titlebar/si-electron-titlebar.component.d.ts +72 -0
  59. package/electron-titlebar/si-electron-titlebar.module.d.ts +7 -0
  60. package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
  61. package/fesm2022/siemens-element-ng-breadcrumb.mjs +302 -0
  62. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -0
  63. package/fesm2022/siemens-element-ng-card.mjs +122 -0
  64. package/fesm2022/siemens-element-ng-card.mjs.map +1 -0
  65. package/fesm2022/siemens-element-ng-circle-status.mjs +146 -0
  66. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -0
  67. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +369 -0
  68. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -0
  69. package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
  70. package/fesm2022/siemens-element-ng-datatable.mjs +173 -0
  71. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -0
  72. package/fesm2022/siemens-element-ng-date-range-filter.mjs +649 -0
  73. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -0
  74. package/fesm2022/siemens-element-ng-datepicker.mjs +4231 -0
  75. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -0
  76. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +142 -0
  77. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -0
  78. package/fesm2022/siemens-element-ng-file-uploader.mjs +751 -0
  79. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -0
  80. package/fesm2022/siemens-element-ng-filter-bar.mjs +153 -0
  81. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -0
  82. package/fesm2022/siemens-element-ng-filtered-search.mjs +1139 -0
  83. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -0
  84. package/fesm2022/siemens-element-ng-formly.mjs +935 -0
  85. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -0
  86. package/fesm2022/siemens-element-ng-icon.mjs +52 -14
  87. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  88. package/fesm2022/siemens-element-ng-info-page.mjs +63 -0
  89. package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -0
  90. package/fesm2022/siemens-element-ng-inline-notification.mjs +4 -6
  91. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  92. package/fesm2022/siemens-element-ng-ip-input.mjs +451 -0
  93. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -0
  94. package/fesm2022/siemens-element-ng-list-details.mjs +390 -0
  95. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -0
  96. package/fesm2022/siemens-element-ng-loading-spinner.mjs +15 -12
  97. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  98. package/fesm2022/siemens-element-ng-localization.mjs +306 -0
  99. package/fesm2022/siemens-element-ng-localization.mjs.map +1 -0
  100. package/fesm2022/siemens-element-ng-modal.mjs +4 -1
  101. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  102. package/fesm2022/siemens-element-ng-password-strength.mjs +22 -16
  103. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
  104. package/fesm2022/siemens-element-ng-phone-number.mjs +426 -0
  105. package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -0
  106. package/fesm2022/siemens-element-ng-photo-upload.mjs +480 -0
  107. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -0
  108. package/fesm2022/siemens-element-ng-result-details-list.mjs +74 -0
  109. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -0
  110. package/fesm2022/siemens-element-ng-search-bar.mjs +193 -0
  111. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -0
  112. package/fesm2022/siemens-element-ng-shadow-root.mjs +70 -0
  113. package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -0
  114. package/fesm2022/siemens-element-ng-side-panel.mjs +554 -0
  115. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -0
  116. package/fesm2022/siemens-element-ng-slider.mjs +313 -0
  117. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -0
  118. package/fesm2022/siemens-element-ng-sort-bar.mjs +89 -0
  119. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -0
  120. package/fesm2022/siemens-element-ng-split.mjs +575 -0
  121. package/fesm2022/siemens-element-ng-split.mjs.map +1 -0
  122. package/fesm2022/siemens-element-ng-status-bar.mjs +348 -0
  123. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -0
  124. package/fesm2022/siemens-element-ng-status-toggle.mjs +196 -0
  125. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -0
  126. package/fesm2022/siemens-element-ng-system-banner.mjs +47 -0
  127. package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -0
  128. package/fesm2022/siemens-element-ng-tabs-next.mjs +491 -0
  129. package/fesm2022/siemens-element-ng-tabs-next.mjs.map +1 -0
  130. package/fesm2022/siemens-element-ng-tabs.mjs +395 -0
  131. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -0
  132. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  133. package/fesm2022/siemens-element-ng-tree-view.mjs +2936 -0
  134. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -0
  135. package/fesm2022/siemens-element-ng-unauthorized-page.mjs +76 -0
  136. package/fesm2022/siemens-element-ng-unauthorized-page.mjs.map +1 -0
  137. package/fesm2022/siemens-element-ng-wizard.mjs +2 -2
  138. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  139. package/file-uploader/index.d.ts +8 -0
  140. package/file-uploader/package.json +3 -0
  141. package/file-uploader/si-file-dropzone.component.d.ts +106 -0
  142. package/file-uploader/si-file-uploader.component.d.ts +296 -0
  143. package/file-uploader/si-file-uploader.model.d.ts +12 -0
  144. package/file-uploader/si-file-uploader.module.d.ts +8 -0
  145. package/filter-bar/filter.d.ts +26 -0
  146. package/filter-bar/index.d.ts +8 -0
  147. package/filter-bar/package.json +3 -0
  148. package/filter-bar/si-filter-bar.component.d.ts +65 -0
  149. package/filter-bar/si-filter-bar.module.d.ts +7 -0
  150. package/filter-bar/si-filter-pill.component.d.ts +20 -0
  151. package/filtered-search/index.d.ts +7 -0
  152. package/filtered-search/package.json +3 -0
  153. package/filtered-search/si-filtered-search-helper.d.ts +22 -0
  154. package/filtered-search/si-filtered-search-value.component.d.ts +53 -0
  155. package/filtered-search/si-filtered-search.component.d.ts +329 -0
  156. package/filtered-search/si-filtered-search.model.d.ts +139 -0
  157. package/filtered-search/si-filtered-search.module.d.ts +7 -0
  158. package/filtered-search/values/date-value/si-filtered-search-date-value.component.d.ts +57 -0
  159. package/filtered-search/values/si-filtered-search-value.base.d.ts +27 -0
  160. package/filtered-search/values/typeahead/si-filtered-search-typeahead.component.d.ts +45 -0
  161. package/formly/fields/button/si-formly-button.component.d.ts +7 -0
  162. package/formly/fields/date-range/si-formly-date-range.component.d.ts +6 -0
  163. package/formly/fields/datetime/si-formly-datetime.component.d.ts +13 -0
  164. package/formly/fields/email/si-formly-email.component.d.ts +6 -0
  165. package/formly/fields/ip-input/si-formly-ip-input.component.d.ts +6 -0
  166. package/formly/fields/number/si-formly-number.component.d.ts +6 -0
  167. package/formly/fields/password/si-formly-password.component.d.ts +6 -0
  168. package/formly/fields/select/si-formly-select.component.d.ts +6 -0
  169. package/formly/fields/text/si-formly-text-display.component.d.ts +7 -0
  170. package/formly/fields/textarea/si-formly-textarea.component.d.ts +18 -0
  171. package/formly/fields/time/si-formly-time.component.d.ts +13 -0
  172. package/formly/index.d.ts +6 -0
  173. package/formly/package.json +3 -0
  174. package/formly/si-formly-translate.extension.d.ts +11 -0
  175. package/formly/si-formly.component.d.ts +62 -0
  176. package/formly/si-formly.module.d.ts +35 -0
  177. package/formly/structural/si-formly-accordion/si-formly-accordion.component.d.ts +13 -0
  178. package/formly/structural/si-formly-array/si-formly-array.component.d.ts +6 -0
  179. package/formly/structural/si-formly-object/si-formly-object.component.d.ts +6 -0
  180. package/formly/structural/si-formly-object-grid/si-formly-object-grid.component.d.ts +22 -0
  181. package/formly/structural/si-formly-object-grid/si-formly-object-grid.model.d.ts +21 -0
  182. package/formly/structural/si-formly-object-plain/si-formly-object-plain.component.d.ts +6 -0
  183. package/formly/structural/si-formly-tabset/si-formly-object-tabset.component.d.ts +7 -0
  184. package/formly/utils.d.ts +6 -0
  185. package/formly/wrapper/si-formly-fieldset.component.d.ts +8 -0
  186. package/formly/wrapper/si-formly-form-field-provider.directive.d.ts +19 -0
  187. package/formly/wrapper/si-formly-horizontal-wrapper.component.d.ts +6 -0
  188. package/formly/wrapper/si-formly-icon-wrapper.component.d.ts +6 -0
  189. package/formly/wrapper/si-formly-wrapper.component.d.ts +8 -0
  190. package/icon/element-icons.d.ts +15 -0
  191. package/icon/si-status-icon.component.d.ts +6 -1
  192. package/info-page/index.d.ts +5 -0
  193. package/info-page/package.json +3 -0
  194. package/info-page/si-info-page.component.d.ts +38 -0
  195. package/inline-notification/si-inline-notification.component.d.ts +0 -2
  196. package/ip-input/address-utils.d.ts +28 -0
  197. package/ip-input/address-validators.d.ts +21 -0
  198. package/ip-input/index.d.ts +7 -0
  199. package/ip-input/package.json +3 -0
  200. package/ip-input/si-ip-input.directive.d.ts +53 -0
  201. package/ip-input/si-ip4-input.directive.d.ts +9 -0
  202. package/ip-input/si-ip6-input.directive.d.ts +10 -0
  203. package/list-details/index.d.ts +12 -0
  204. package/list-details/package.json +3 -0
  205. package/list-details/si-details-pane/si-details-pane.component.d.ts +8 -0
  206. package/list-details/si-details-pane-body/si-details-pane-body.component.d.ts +6 -0
  207. package/list-details/si-details-pane-footer/si-details-pane-footer.component.d.ts +6 -0
  208. package/list-details/si-details-pane-header/si-details-pane-header.component.d.ts +38 -0
  209. package/list-details/si-list-details.component.d.ts +100 -0
  210. package/list-details/si-list-pane/si-list-pane.component.d.ts +10 -0
  211. package/list-details/si-list-pane-body/si-list-pane-body.component.d.ts +6 -0
  212. package/list-details/si-list-pane-header/si-list-pane-header.component.d.ts +6 -0
  213. package/loading-spinner/si-loading-spinner.directive.d.ts +3 -2
  214. package/localization/index.d.ts +8 -0
  215. package/localization/package.json +3 -0
  216. package/localization/si-directionality.d.ts +41 -0
  217. package/localization/si-locale-id.d.ts +22 -0
  218. package/localization/si-locale-store.d.ts +16 -0
  219. package/localization/si-locale.service.d.ts +73 -0
  220. package/package.json +161 -9
  221. package/password-strength/si-password-strength.directive.d.ts +11 -0
  222. package/phone-number/index.d.ts +7 -0
  223. package/phone-number/package.json +3 -0
  224. package/phone-number/si-phone-number-input-select.directive.d.ts +10 -0
  225. package/phone-number/si-phone-number-input.component.d.ts +137 -0
  226. package/phone-number/si-phone-number-input.models.d.ts +48 -0
  227. package/phone-number/si-phone-number-input.module.d.ts +7 -0
  228. package/photo-upload/index.d.ts +6 -0
  229. package/photo-upload/package.json +3 -0
  230. package/photo-upload/si-image-cropper-style.component.d.ts +5 -0
  231. package/photo-upload/si-photo-upload.component.d.ts +298 -0
  232. package/result-details-list/index.d.ts +7 -0
  233. package/result-details-list/package.json +3 -0
  234. package/result-details-list/si-result-details-list.component.d.ts +14 -0
  235. package/result-details-list/si-result-details-list.datamodel.d.ts +48 -0
  236. package/result-details-list/si-result-details-list.module.d.ts +7 -0
  237. package/search-bar/index.d.ts +6 -0
  238. package/search-bar/package.json +3 -0
  239. package/search-bar/si-search-bar.component.d.ts +87 -0
  240. package/search-bar/si-search-bar.module.d.ts +7 -0
  241. package/shadow-root/index.d.ts +5 -0
  242. package/shadow-root/package.json +3 -0
  243. package/shadow-root/si-shadow-root.directive.d.ts +39 -0
  244. package/side-panel/index.d.ts +9 -0
  245. package/side-panel/package.json +3 -0
  246. package/side-panel/si-side-panel-content.component.d.ts +105 -0
  247. package/side-panel/si-side-panel.component.d.ts +108 -0
  248. package/side-panel/si-side-panel.module.d.ts +8 -0
  249. package/side-panel/si-side-panel.service.d.ts +45 -0
  250. package/side-panel/side-panel.model.d.ts +16 -0
  251. package/slider/index.d.ts +6 -0
  252. package/slider/package.json +3 -0
  253. package/slider/si-slider.component.d.ts +129 -0
  254. package/slider/si-slider.module.d.ts +7 -0
  255. package/sort-bar/index.d.ts +6 -0
  256. package/sort-bar/package.json +3 -0
  257. package/sort-bar/si-sort-bar.component.d.ts +42 -0
  258. package/sort-bar/si-sort-bar.module.d.ts +7 -0
  259. package/split/index.d.ts +8 -0
  260. package/split/package.json +3 -0
  261. package/split/si-split-part.component.d.ts +154 -0
  262. package/split/si-split.component.d.ts +48 -0
  263. package/split/si-split.interfaces.d.ts +17 -0
  264. package/split/si-split.module.d.ts +8 -0
  265. package/status-bar/index.d.ts +7 -0
  266. package/status-bar/package.json +3 -0
  267. package/status-bar/si-status-bar-item/index.d.ts +6 -0
  268. package/status-bar/si-status-bar-item/si-status-bar-item.component.d.ts +22 -0
  269. package/status-bar/si-status-bar-item/si-status-bar-item.model.d.ts +33 -0
  270. package/status-bar/si-status-bar.component.d.ts +116 -0
  271. package/status-bar/si-status-bar.module.d.ts +7 -0
  272. package/status-toggle/index.d.ts +6 -0
  273. package/status-toggle/package.json +3 -0
  274. package/status-toggle/si-status-toggle.component.d.ts +54 -0
  275. package/status-toggle/status-toggle.model.d.ts +26 -0
  276. package/system-banner/index.d.ts +5 -0
  277. package/system-banner/package.json +3 -0
  278. package/system-banner/system-banner.component.d.ts +23 -0
  279. package/tabs/index.d.ts +7 -0
  280. package/tabs/package.json +3 -0
  281. package/tabs/si-tab/index.d.ts +5 -0
  282. package/tabs/si-tab/si-tab.component.d.ts +58 -0
  283. package/tabs/si-tabs.module.d.ts +8 -0
  284. package/tabs/si-tabset/index.d.ts +5 -0
  285. package/tabs/si-tabset/si-tabset.component.d.ts +100 -0
  286. package/tabs-next/index.d.ts +7 -0
  287. package/tabs-next/package.json +3 -0
  288. package/tabs-next/si-tab-next-base.directive.d.ts +66 -0
  289. package/tabs-next/si-tab-next-link.component.d.ts +18 -0
  290. package/tabs-next/si-tab-next.component.d.ts +16 -0
  291. package/tabs-next/si-tabs-tokens.d.ts +7 -0
  292. package/tabs-next/si-tabset-next.component.d.ts +72 -0
  293. package/template-i18n.json +111 -0
  294. package/translate/si-translatable-keys.interface.d.ts +111 -0
  295. package/tree-view/drag-drop.util.d.ts +32 -0
  296. package/tree-view/index.d.ts +12 -0
  297. package/tree-view/package.json +3 -0
  298. package/tree-view/si-tree-view-converter.service.d.ts +41 -0
  299. package/tree-view/si-tree-view-item/si-tree-view-item.component.d.ts +105 -0
  300. package/tree-view/si-tree-view-item/si-tree-view-item.directive.d.ts +24 -0
  301. package/tree-view/si-tree-view-item-context.d.ts +11 -0
  302. package/tree-view/si-tree-view-item-height.service.d.ts +49 -0
  303. package/tree-view/si-tree-view-item-template.directive.d.ts +18 -0
  304. package/tree-view/si-tree-view-virtualization.service.d.ts +150 -0
  305. package/tree-view/si-tree-view.component.d.ts +466 -0
  306. package/tree-view/si-tree-view.model.d.ts +146 -0
  307. package/tree-view/si-tree-view.module.d.ts +10 -0
  308. package/tree-view/si-tree-view.service.d.ts +55 -0
  309. package/tree-view/si-tree-view.utils.d.ts +46 -0
  310. package/unauthorized-page/index.d.ts +6 -0
  311. package/unauthorized-page/package.json +3 -0
  312. package/unauthorized-page/si-unauthorized-page.component.d.ts +35 -0
  313. package/unauthorized-page/si-unauthorized-page.module.d.ts +7 -0
@@ -0,0 +1,466 @@
1
+ import { AfterViewChecked, AfterViewInit, ElementRef, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges, TemplateRef } from '@angular/core';
2
+ import { MenuItem as MenuItemLegacy } from '@siemens/element-ng/common';
3
+ import { MenuItem } from '@siemens/element-ng/menu';
4
+ import { TranslatableString } from '@siemens/element-translate-ng/translate';
5
+ import { Subject } from 'rxjs';
6
+ import { SiTreeViewItemTemplateDirective } from './si-tree-view-item-template.directive';
7
+ import { SiTreeViewItemComponent } from './si-tree-view-item/si-tree-view-item.component';
8
+ import { CheckboxClickEventArgs, FolderStateEventArgs, ItemsVirtualizedArgs, LoadChildrenEventArgs, MenuItemsProvider, TreeItem, TreeViewIconSet } from './si-tree-view.model';
9
+ import * as i0 from "@angular/core";
10
+ /**
11
+ * Implements a tree view with the following main capabilities:
12
+ * Showing multiple trees. The data of the trees is set via the input property 'items'.
13
+ * Showing the trees in a flat mode with navigation/bread/crumb on top.
14
+ * A tree/list item is composed of a 'folder' icon, any item icon, the label, two additional datafields and a context menu button.
15
+ * Children of parent nodes are lazy loaded upon request (in case they are not yet available in model.)
16
+ * Context menu support via context menu item: the context menu items can be set via input properties.
17
+ * Multi selection and focus support.
18
+ * Checkboxes and / or option boxes per tree node.
19
+ * Virtualization support: Input properties allow to set the page size and the number of pages to be virtualized.
20
+ * Current limitation is roughly half a million of nodes. This is due to some 'strange' behavior with flex containers.
21
+ * Set the input properties 'pageSize' and 'pagesVirtualized' to a reasonable amount of virtualized items.
22
+ * The number of virtualized items is the product of the pageSize and the pagesVirtualized (no of pages virtualized).
23
+ * Choose a value in the area of 50 virtualized items, dependent on the screen size. Check at runtime if appropriate!
24
+ * Grouped List support: The component does also support grouped lists.
25
+ * See the test client implementation of this package for all functionality.
26
+ */
27
+ export declare class SiTreeViewComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit, AfterViewChecked {
28
+ /**
29
+ * The context menu items which are bound to the context menu of all tree items,
30
+ * or a menu item provider function that is invoked for each tree item once.
31
+ *
32
+ * @defaultValue []
33
+ */
34
+ readonly contextMenuItems: import("@angular/core").InputSignal<MenuItemsProvider | (MenuItemLegacy | MenuItem)[]>;
35
+ /**
36
+ * The indentation in pixel for the children in respect to its parent.
37
+ *
38
+ * @defaultValue DEFAULT_CHILDREN_INDENTATION
39
+ */
40
+ readonly childrenIndentation: import("@angular/core").InputSignal<number>;
41
+ /**
42
+ * Enable horizontal scrolling. When disabled (the default), an ellipsis is used for overflowing text
43
+ *
44
+ * @defaultValue false
45
+ */
46
+ readonly horizontalScrolling: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
47
+ /**
48
+ * Enable the compact mode, making it more vertically compact.
49
+ *
50
+ * @defaultValue false
51
+ */
52
+ readonly compactMode: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
53
+ /**
54
+ * Enable buttons for collapse and expand all.
55
+ * Does not work when `flatTree` is enabled.
56
+ *
57
+ * @defaultValue false
58
+ */
59
+ readonly expandCollapseAll: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
60
+ /**
61
+ * Tooltip text shown for the expand all icon.
62
+ *
63
+ * @defaultValue
64
+ * ```
65
+ * $localize`:@@SI_TREE_VIEW.EXPAND_ALL:Expand all`
66
+ * ```
67
+ */
68
+ readonly expandAllTooltip: import("@angular/core").InputSignal<TranslatableString>;
69
+ /**
70
+ * Tooltip text shown for the collapse all icon.
71
+ *
72
+ * @defaultValue
73
+ * ```
74
+ * $localize`:@@SI_TREE_VIEW.COLLAPSE_ALL:Collapse all`
75
+ * ```
76
+ */
77
+ readonly collapseAllTooltip: import("@angular/core").InputSignal<TranslatableString>;
78
+ /**
79
+ * Customize icons for treeview.
80
+ */
81
+ readonly icons: import("@angular/core").InputSignal<TreeViewIconSet | undefined>;
82
+ /**
83
+ * Track-by function for tree items. By default, items are tracked by their identity.
84
+ *
85
+ * @deprecated has no effect and will be removed
86
+ *
87
+ * @defaultValue
88
+ * ```
89
+ * buildTrackByIdentity<TreeItem>()
90
+ * ```
91
+ */
92
+ readonly trackByFunction: import("@angular/core").InputSignal<import("@angular/core").TrackByFunction<TreeItem<any>>>;
93
+ /**
94
+ * Number of rows per page. Used for the virtualization of rows (number of
95
+ * rows per page).
96
+ * @defaultValue 10
97
+ * @defaultref {@link SiTreeViewVirtualizationService#pageSize}
98
+ */
99
+ readonly pageSize: import("@angular/core").InputSignalWithTransform<number, number>;
100
+ /**
101
+ * Number of pages which are virtualized.
102
+ * @defaultValue 6
103
+ * @defaultref {@link SiTreeViewVirtualizationService#pagesVirtualized}
104
+ */
105
+ readonly pagesVirtualized: import("@angular/core").InputSignalWithTransform<number, number>;
106
+ /**
107
+ * Whether "filled" icons should not be used when a tree item is selected.
108
+ * Per default filled icons are used when available.
109
+ * @defaultValue false
110
+ */
111
+ readonly disableFilledIcons: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
112
+ /**
113
+ * Sets if the folder state icon shall be shown on the left (in LTR) or on the right (in LTR) side
114
+ * of the tree item. Per default the icon will be shown on the left (in LTR). Has no
115
+ * effect if flatTree is enabled.
116
+ * @defaultValue true
117
+ */
118
+ readonly folderStateStart: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
119
+ /**
120
+ * Sets if the tree list shall virtualize the tree items.
121
+ * This input field must be set at startup and shall not be changed afterwards.
122
+ * @defaultValue true
123
+ */
124
+ readonly isVirtualized: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
125
+ /**
126
+ * Sets the root tree items of all the trees (Required).
127
+ * @defaultValue []
128
+ * @defaultref {@link _items}
129
+ */
130
+ readonly items: import("@angular/core").InputSignal<TreeItem<any>[]>;
131
+ /**
132
+ * Sets the tree item to be selected.
133
+ */
134
+ readonly selectedItem: import("@angular/core").InputSignal<TreeItem<any> | TreeItem<any>[] | undefined>;
135
+ /**
136
+ * Sets if the tree shall force single tree item selection.
137
+ * @defaultValue false
138
+ */
139
+ readonly singleSelectMode: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
140
+ /**
141
+ * Shows or hides additional information below the label.
142
+ * @defaultValue false
143
+ */
144
+ readonly enableDataField1: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
145
+ /**
146
+ * Shows or hides additional information below the label.
147
+ * @defaultValue false
148
+ * @defaultref {@link SiTreeViewService#enableDataField2}
149
+ */
150
+ readonly enableDataField2: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
151
+ /**
152
+ * Shows or hides state pipe.
153
+ * @defaultValue true
154
+ */
155
+ readonly enableStateIndicator: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
156
+ /**
157
+ * Shows or hides icon
158
+ * @defaultValue true
159
+ */
160
+ readonly enableIcon: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
161
+ /**
162
+ * Shows or hides context menu button.
163
+ * @defaultValue true
164
+ * @defaultref {@link SiTreeViewService#enableContextMenuButton}
165
+ */
166
+ readonly enableContextMenuButton: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
167
+ /**
168
+ * Allows / disabled selecting of tree items by clicking on them.
169
+ * @defaultValue false
170
+ */
171
+ readonly enableSelection: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
172
+ /**
173
+ * Sets if children are deleted upon collapsing tree items. This feature might
174
+ * be used, if children shall be lazy loaded always upon expanding a tree
175
+ * item.
176
+ * @defaultValue false
177
+ */
178
+ readonly deleteChildrenOnCollapse: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
179
+ /**
180
+ * Sets if the tree view shall be displayed as flat tree list with a
181
+ * breadcrumb. A flat tree only shows the one level at the time and lists the
182
+ * tree items of the current level as a list.
183
+ * @defaultValue false
184
+ * @defaultref {@link SiTreeViewService#flatTree}
185
+ */
186
+ readonly flatTree: import("@angular/core").InputSignal<boolean>;
187
+ /**
188
+ * Sets if the tree view is displayed as a grouped list.
189
+ * Important: In this mode, only the first two hierarchies of the tree model
190
+ * are considered!
191
+ * @defaultValue false
192
+ * @defaultref {@link SiTreeViewService#groupedList}
193
+ */
194
+ readonly groupedList: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
195
+ /**
196
+ * Sets if the tree items shall show a checkbox.
197
+ * @defaultValue false
198
+ * @defaultref {@link SiTreeViewService#enableCheckbox}
199
+ */
200
+ readonly enableCheckbox: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
201
+ /**
202
+ * Sets if the tree items shall show an optionbox.
203
+ * @defaultValue false
204
+ */
205
+ readonly enableOptionbox: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
206
+ /**
207
+ * Sets if the tree items should expand/collapse when clicking on them.
208
+ * Does not work when `flatTree` is enabled or the tree item is not selectable.
209
+ * @defaultValue false
210
+ */
211
+ readonly expandOnClick: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
212
+ /**
213
+ * Sets if the checkbox state of a tree item is inherited to its children/parent.
214
+ * @defaultValue true
215
+ */
216
+ readonly inheritChecked: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
217
+ /**
218
+ * String to be shown when there are no content actions.
219
+ *
220
+ * @defaultValue 'No actions available'
221
+ */
222
+ readonly noActionsString: import("@angular/core").InputSignal<string>;
223
+ /** Aria label for the tree view. Needed for a11y, alternatively use {@link ariaLabelledBy}. */
224
+ readonly ariaLabel: import("@angular/core").InputSignal<TranslatableString | undefined>;
225
+ /** Aria labelled by for the tree view. Needed for a11y, alternatively use {@link ariaLabel}. */
226
+ readonly ariaLabelledBy: import("@angular/core").InputSignal<string | undefined>;
227
+ /**
228
+ * Triggered upon virtualization (or unvirtualization) of a tree item.
229
+ */
230
+ readonly itemsVirtualizedChanged: import("@angular/core").OutputEmitterRef<ItemsVirtualizedArgs>;
231
+ /**
232
+ * Triggered upon clicking the folder of a tree item.
233
+ */
234
+ readonly treeItemFolderClicked: import("@angular/core").OutputEmitterRef<FolderStateEventArgs>;
235
+ /**
236
+ * Triggered upon a state change of the folder of a tree item.
237
+ */
238
+ readonly treeItemFolderStateChanged: import("@angular/core").OutputEmitterRef<FolderStateEventArgs>;
239
+ /**
240
+ * Triggered upon clicking the label of a tree item.
241
+ */
242
+ readonly treeItemClicked: import("@angular/core").OutputEmitterRef<TreeItem<any>>;
243
+ /**
244
+ * Triggered upon clicking the checkbox of a tree item.
245
+ */
246
+ readonly treeItemCheckboxClicked: import("@angular/core").OutputEmitterRef<CheckboxClickEventArgs>;
247
+ /**
248
+ * Triggered upon the request of loading the children of a tree item.
249
+ */
250
+ readonly loadChildren: import("@angular/core").OutputEmitterRef<LoadChildrenEventArgs>;
251
+ /**
252
+ * Triggered upon the selection of a tree item (multi selection supported).
253
+ */
254
+ readonly treeItemsSelected: import("@angular/core").OutputEmitterRef<TreeItem<any>[]>;
255
+ /**
256
+ * The injected content with included SiTreeViewItemTemplateDirective.
257
+ */
258
+ templates: QueryList<SiTreeViewItemTemplateDirective>;
259
+ private initialized;
260
+ private updateTreeItemHeightRequired;
261
+ private updateGroupItemHeightRequired;
262
+ private selectedTreeItems;
263
+ private manuallySelectedTreeItems;
264
+ private latestFolderChanged?;
265
+ private breadCrumbTreeItems;
266
+ private subscriptions;
267
+ private multiSelectionStart;
268
+ private _multiSelectionActive;
269
+ private domChangeObserver?;
270
+ private scroll$;
271
+ private element;
272
+ private siTreeViewService;
273
+ private siTreeViewConverterService;
274
+ private siTreeViewVirtualizationService;
275
+ private siTreeViewItemHeightService;
276
+ private cdRef;
277
+ private resizeObserver;
278
+ /**
279
+ * Create a virtual root node so there is just a single root node. This makes sure the tree
280
+ * can be fully traversed starting from any node. This is needed e.g. for recursively
281
+ * removing the "active" state from other nodes.
282
+ */
283
+ private virtualRoot;
284
+ private readonly _items;
285
+ private updateTreeItemDefaults;
286
+ /**
287
+ * @internal
288
+ */
289
+ readonly computedIcons: import("@angular/core").Signal<{
290
+ headerHome: string;
291
+ headerArrow: string;
292
+ itemMenu: string;
293
+ itemCollapsed: string;
294
+ itemCollapsedFlat: string;
295
+ itemCollapsedLeft: string;
296
+ itemExpanded: string;
297
+ itemExpandedFlat: string;
298
+ itemExpandedLeft: string;
299
+ }>;
300
+ /** @internal */
301
+ scrollChildIntoView: Subject<TreeItem>;
302
+ /** @internal */
303
+ childrenLoaded: Subject<TreeItem>;
304
+ /**
305
+ * @internal
306
+ * Used internally by `SiTreeViewItemDirective` to determine if the items have changed,
307
+ * and render the new items.
308
+ */
309
+ evaluateForTreeItemsDiffer: Subject<void>;
310
+ /** @internal */
311
+ hasAnyChildren: boolean;
312
+ /**
313
+ * Gets the height of the div above the virtualized rows.
314
+ */
315
+ protected get heightBefore(): string;
316
+ /**
317
+ * Gets the height of the div below the virtualized rows.
318
+ */
319
+ protected get heightAfter(): string;
320
+ /**
321
+ * @internal
322
+ * This is meant to be used for internal purpose.
323
+ * Returns the virtualized items in the tree list uses virtualization, otherwise all items are returned as a flat list.
324
+ * Bind these to the HTML.
325
+ */
326
+ get itemsVirtualized(): TreeItem[];
327
+ protected children: QueryList<SiTreeViewItemComponent>;
328
+ protected treeItemContentTemplate: TemplateRef<any>;
329
+ private nextItmes;
330
+ private keyManager;
331
+ /**
332
+ * @internal
333
+ * Returns index of the currently active Tree Item element in DOM
334
+ * or null if there is no active tree item element
335
+ */
336
+ get activeIndex(): number | null;
337
+ /** Can be used for [cdkDropListData] when using cdk drag and drop. */
338
+ get dropListItems(): TreeItem[];
339
+ ngOnChanges(changes: SimpleChanges): void;
340
+ ngOnInit(): void;
341
+ ngAfterViewInit(): void;
342
+ ngAfterViewChecked(): void;
343
+ ngOnDestroy(): void;
344
+ /**
345
+ * Returns the last breadcrumb tree item. Can be null in case the flat tree
346
+ * shows the root.
347
+ */
348
+ protected get lastBreadCrumbItem(): TreeItem | null;
349
+ /**
350
+ * Returns true if the header shows the root/home of the tree.
351
+ */
352
+ protected get headerShowsRoot(): boolean;
353
+ /**
354
+ * Called by the owner of the tree upon returning the retrieved children of a
355
+ * 'load children' request.
356
+ */
357
+ private childrenLoadingDone;
358
+ protected onFlatTreeNavigateUp(): void;
359
+ protected onFlatTreeNavigateHome(): void;
360
+ private getChildren;
361
+ private focusItem;
362
+ private focusParentItem;
363
+ private focusFirstChildItem;
364
+ /**
365
+ * Updates the tree to visualize the provided tree item by expanding all its parent items, collapsing all
366
+ * other first level tree items and scroll to the provided item.
367
+ * @param item - The tree item that shall be visible.
368
+ */
369
+ showTreeItem(item: TreeItem): void;
370
+ private doShowTreeItem;
371
+ /**
372
+ * Expands all tree items.
373
+ * @param items - Optional param for recursion, will expand these items. If empty, all tree items will be expanded.
374
+ */
375
+ expandAll(items?: TreeItem[]): void;
376
+ /**
377
+ * Expands the provided tree item.
378
+ * @param item - The tree item to be expanded.
379
+ */
380
+ expandTreeItem(item: TreeItem): void;
381
+ /**
382
+ * Collapses all tree items.
383
+ * @param items - Optional param for recursion, will collapse these items. If empty, all tree items will be collapsed.
384
+ */
385
+ collapseAll(items?: TreeItem[]): void;
386
+ /**
387
+ * Collapses the provided tree item.
388
+ * @param item - The tree item to be collapsed.
389
+ */
390
+ collapseTreeItem(item: TreeItem): void;
391
+ /**
392
+ * Add tree items as root elements or as children of an existing tree item.
393
+ * @param children - Tree items to add.
394
+ * @param parent - Optional parent tree item to which the items shall be added.
395
+ * @param position - Optional position where to insert the tree items among their siblings.
396
+ */
397
+ addChildItems(children: TreeItem[], parent?: TreeItem, position?: number): void;
398
+ /**
399
+ * Forces a refresh of the view considering the current tree item model. Needs
400
+ * to be called when tree items have been added, removed, or updated via model
401
+ * in ways that do not trigger an automatic update of the view.
402
+ */
403
+ refresh(): void;
404
+ /**
405
+ * Scrolls the specified tree item into view. Tree items will be expanded if
406
+ * required.
407
+ */
408
+ scrollItemIntoView(treeItem: TreeItem): void;
409
+ private evalListItemsForFlatTreeMode;
410
+ private collapseChildrenFlatTreeModeOnly;
411
+ private collapseChildren;
412
+ protected onKeyUpShift(): void;
413
+ protected onKeyUpCtrl(): void;
414
+ protected onKeyUpMeta(): void;
415
+ protected onMouseLeave(): void;
416
+ protected handleKeydown(event: KeyboardEvent): void;
417
+ private onItemClicked;
418
+ private emitSelectedItems;
419
+ private handleTreeMode;
420
+ private evalLowestBreadCrumbNode;
421
+ protected treeViewInnerElement: ElementRef<HTMLDivElement>;
422
+ private onItemFolderClicked;
423
+ private updateBreadCrumb;
424
+ private pushParentItemsIntoBreadCrumbRecursive;
425
+ private onItemCheckboxClicked;
426
+ private onLoadChildren;
427
+ private setFlatTreeSelectedFolder;
428
+ private onBreadCrumbItemClicked;
429
+ private onScroll;
430
+ /**
431
+ * Called by the consumer when he wants a node to be scrolled into view.
432
+ */
433
+ private onScrollIntoViewByConsumer;
434
+ private onScrollIntoView;
435
+ private fillFlattenedTree;
436
+ private focusFirstItemFlattened;
437
+ private updateHasChildren;
438
+ protected updateVirtualizedItemList(): void;
439
+ private resetVirtualizedItemList;
440
+ /**
441
+ * Track class changes since adding classes like `.tree-sm` or `.tree-xs` change the item height.
442
+ * Changes have to trigger the SiTreeViewItemHeightService otherwise the virtualized items are
443
+ * calculated incorrectly which cause rendering issues.
444
+ */
445
+ private addClassObserver;
446
+ /**
447
+ * Create an observable to track visible dimensions and item height of the tree view.
448
+ * It's necessary to dynamically increase the `pageSize` to render the correct amount
449
+ * of visible tree items.
450
+ * @returns observable with the current tree dimensions.
451
+ */
452
+ private monitorTreeSizeChanges;
453
+ /**
454
+ * Dynamically calculate and update the virtual pageSize to render the correct amount of tree items.
455
+ * @param dimension - current tree dimensions.
456
+ */
457
+ private updatePageSize;
458
+ /**
459
+ * Make sure to always have a single item for single selection or if there is only one item in the array.
460
+ */
461
+ private coerceToSelectionType;
462
+ private treeItemsUpdated;
463
+ private selectTreeItems;
464
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiTreeViewComponent, never>;
465
+ static ɵcmp: i0.ɵɵComponentDeclaration<SiTreeViewComponent, "si-tree-view", never, { "contextMenuItems": { "alias": "contextMenuItems"; "required": false; "isSignal": true; }; "childrenIndentation": { "alias": "childrenIndentation"; "required": false; "isSignal": true; }; "horizontalScrolling": { "alias": "horizontalScrolling"; "required": false; "isSignal": true; }; "compactMode": { "alias": "compactMode"; "required": false; "isSignal": true; }; "expandCollapseAll": { "alias": "expandCollapseAll"; "required": false; "isSignal": true; }; "expandAllTooltip": { "alias": "expandAllTooltip"; "required": false; "isSignal": true; }; "collapseAllTooltip": { "alias": "collapseAllTooltip"; "required": false; "isSignal": true; }; "icons": { "alias": "icons"; "required": false; "isSignal": true; }; "trackByFunction": { "alias": "trackByFunction"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "pagesVirtualized": { "alias": "pagesVirtualized"; "required": false; "isSignal": true; }; "disableFilledIcons": { "alias": "disableFilledIcons"; "required": false; "isSignal": true; }; "folderStateStart": { "alias": "folderStateStart"; "required": false; "isSignal": true; }; "isVirtualized": { "alias": "isVirtualized"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "selectedItem": { "alias": "selectedItem"; "required": false; "isSignal": true; }; "singleSelectMode": { "alias": "singleSelectMode"; "required": false; "isSignal": true; }; "enableDataField1": { "alias": "enableDataField1"; "required": false; "isSignal": true; }; "enableDataField2": { "alias": "enableDataField2"; "required": false; "isSignal": true; }; "enableStateIndicator": { "alias": "enableStateIndicator"; "required": false; "isSignal": true; }; "enableIcon": { "alias": "enableIcon"; "required": false; "isSignal": true; }; "enableContextMenuButton": { "alias": "enableContextMenuButton"; "required": false; "isSignal": true; }; "enableSelection": { "alias": "enableSelection"; "required": false; "isSignal": true; }; "deleteChildrenOnCollapse": { "alias": "deleteChildrenOnCollapse"; "required": false; "isSignal": true; }; "flatTree": { "alias": "flatTree"; "required": false; "isSignal": true; }; "groupedList": { "alias": "groupedList"; "required": false; "isSignal": true; }; "enableCheckbox": { "alias": "enableCheckbox"; "required": false; "isSignal": true; }; "enableOptionbox": { "alias": "enableOptionbox"; "required": false; "isSignal": true; }; "expandOnClick": { "alias": "expandOnClick"; "required": false; "isSignal": true; }; "inheritChecked": { "alias": "inheritChecked"; "required": false; "isSignal": true; }; "noActionsString": { "alias": "noActionsString"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; "isSignal": true; }; }, { "itemsVirtualizedChanged": "itemsVirtualizedChanged"; "treeItemFolderClicked": "treeItemFolderClicked"; "treeItemFolderStateChanged": "treeItemFolderStateChanged"; "treeItemClicked": "treeItemClicked"; "treeItemCheckboxClicked": "treeItemCheckboxClicked"; "loadChildren": "loadChildren"; "treeItemsSelected": "treeItemsSelected"; }, ["treeItemContentTemplate", "templates", "nextItmes"], ["[cdkDropList], [siTreeViewItem]"], true, never>;
466
+ }
@@ -0,0 +1,146 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import { MenuItem as MenuItemLegacy } from '@siemens/element-ng/common';
6
+ import { MenuItem } from '@siemens/element-ng/menu';
7
+ import { Observable } from 'rxjs';
8
+ import type { SiTreeViewComponent } from './si-tree-view.component';
9
+ /**
10
+ * The folder state of a tree item.
11
+ */
12
+ export type TreeItemFolderState = 'collapsed' | 'expanding' | 'expanded' | 'leaf';
13
+ /**
14
+ * The check box state of a tree item.
15
+ */
16
+ export type CheckboxState = 'unchecked' | 'checked' | 'indeterminate';
17
+ export type MenuItemsProvider = (item: TreeItem) => (MenuItemLegacy | MenuItem)[] | Observable<(MenuItemLegacy | MenuItem)[]> | null;
18
+ /**
19
+ * Defines the data for a tree item. All properties are optional.
20
+ */
21
+ export interface TreeItem<T = any> {
22
+ /**
23
+ * Indicates if the item is active, the last clicked item is active always; only one item can be active.
24
+ */
25
+ active?: boolean;
26
+ /**
27
+ * Defines the content of the optional badge. Should be a number or something like "100+".
28
+ * If undefined or empty string, no badge is displayed.
29
+ */
30
+ badge?: string | number;
31
+ /**
32
+ * Defines the background color of the badge. Use the status color names as
33
+ * inputs.
34
+ * @see https://element.siemens.io/components/status-notifications/badges/
35
+ */
36
+ badgeColor?: string;
37
+ /**
38
+ * The state of the checkbox/optionbox.
39
+ */
40
+ checked?: CheckboxState;
41
+ /**
42
+ * The child tree items.
43
+ */
44
+ children?: TreeItem<T>[];
45
+ /**
46
+ * Any custom data that can be used in custom templates. Not shown by default.
47
+ */
48
+ customData?: T;
49
+ /**
50
+ * The text shown for the tree item data field 1.
51
+ */
52
+ dataField1?: string;
53
+ /**
54
+ * The text shown for the tree item data field 2.
55
+ */
56
+ dataField2?: string;
57
+ /**
58
+ * The hierarchy level of the node. This will be auto-calculated by the tree view control.
59
+ */
60
+ level?: number;
61
+ /**
62
+ * The web font icon class name (e.g. element-building). The icon is shown on the left (in LTR) side of the label.
63
+ */
64
+ icon?: string;
65
+ /**
66
+ * The text shown for the tree item label (header).
67
+ */
68
+ label?: string;
69
+ /**
70
+ * The parent tree item. This will be automatically set by the tree view control.
71
+ */
72
+ parent?: TreeItem<T>;
73
+ /**
74
+ * Indicates if the tree item is selectable or not.
75
+ */
76
+ selectable?: boolean;
77
+ /**
78
+ * If the item is selected (note that the tree view component supports single and multi-selection).
79
+ */
80
+ selected?: boolean;
81
+ /**
82
+ * If the tree item shall show a checkbox.
83
+ */
84
+ showCheckbox?: boolean;
85
+ /**
86
+ * If the tree item shall show an optionbox.
87
+ */
88
+ showOptionbox?: boolean;
89
+ /**
90
+ * The folder state of the tree item.
91
+ */
92
+ state?: TreeItemFolderState;
93
+ /**
94
+ * The color of the state pipe; formatted as CSS value ('red' or '#FF0000' or 'rgb(255, 0, 0)').
95
+ */
96
+ stateIndicatorColor?: string;
97
+ /**
98
+ * The name of the template to apply.
99
+ */
100
+ templateName?: string;
101
+ }
102
+ export interface TreeViewIconSet {
103
+ headerHome: string;
104
+ headerArrow: string;
105
+ itemMenu: string;
106
+ itemCollapsed: string;
107
+ itemCollapsedFlat: string;
108
+ itemCollapsedLeft: string;
109
+ itemExpanded: string;
110
+ itemExpandedFlat: string;
111
+ itemExpandedLeft: string;
112
+ }
113
+ export declare class FolderStateEventArgs {
114
+ treeItem: TreeItem;
115
+ oldState: TreeItemFolderState;
116
+ newState: TreeItemFolderState;
117
+ constructor(treeItem: TreeItem, oldState: TreeItemFolderState, newState: TreeItemFolderState);
118
+ }
119
+ export declare class CheckboxClickEventArgs {
120
+ target: TreeItem;
121
+ oldState: CheckboxState;
122
+ newState: CheckboxState;
123
+ constructor(target: TreeItem, oldState: CheckboxState, newState: CheckboxState);
124
+ }
125
+ export declare class ClickEventArgs {
126
+ target: TreeItem;
127
+ mouseEvent: MouseEvent | KeyboardEvent;
128
+ constructor(target: TreeItem, mouseEvent: MouseEvent | KeyboardEvent);
129
+ }
130
+ export declare class LoadChildrenEventArgs {
131
+ treeItem: TreeItem;
132
+ callback: (treeItem: TreeItem, children: TreeItem[]) => void;
133
+ constructor(treeItem: TreeItem, callback: (treeItem: TreeItem, children: TreeItem[]) => void);
134
+ }
135
+ export declare class ItemsVirtualizedArgs {
136
+ treeItems: TreeItem[];
137
+ virtualized: boolean;
138
+ constructor(treeItems: TreeItem[], virtualized: boolean);
139
+ }
140
+ export declare const DEFAULT_TREE_ICON_SET: TreeViewIconSet;
141
+ export declare const DEFAULT_CHILDREN_INDENTATION = 14;
142
+ export type TreeItemContext = {
143
+ treeItem: TreeItem;
144
+ index: number;
145
+ parent: SiTreeViewComponent;
146
+ };
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./si-tree-view.component";
3
+ import * as i2 from "./si-tree-view-item/si-tree-view-item.component";
4
+ import * as i3 from "./si-tree-view-item/si-tree-view-item.directive";
5
+ import * as i4 from "./si-tree-view-item-template.directive";
6
+ export declare class SiTreeViewModule {
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiTreeViewModule, never>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SiTreeViewModule, never, [typeof i1.SiTreeViewComponent, typeof i2.SiTreeViewItemComponent, typeof i3.SiTreeViewItemDirective, typeof i4.SiTreeViewItemTemplateDirective], [typeof i1.SiTreeViewComponent, typeof i2.SiTreeViewItemComponent, typeof i3.SiTreeViewItemDirective, typeof i4.SiTreeViewItemTemplateDirective]>;
9
+ static ɵinj: i0.ɵɵInjectorDeclaration<SiTreeViewModule>;
10
+ }
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import { ElementRef } from '@angular/core';
6
+ import { Observable, Subject } from 'rxjs';
7
+ import { CheckboxClickEventArgs, ClickEventArgs, FolderStateEventArgs, TreeItem } from './si-tree-view.model';
8
+ import * as i0 from "@angular/core";
9
+ /**
10
+ * Supports communication between the TreeViewComponent and the TreeViewItemComponent and the services.
11
+ * Stores tree specific settings.
12
+ * One instance per TreeViewComponent exists.
13
+ */
14
+ export declare class SiTreeViewService {
15
+ /** Emits when a tree item is clicked. */
16
+ clickEvent: Subject<ClickEventArgs>;
17
+ /** Emits when a folder item is clicked. */
18
+ folderClickEvent: Subject<FolderStateEventArgs>;
19
+ /** Emits when checkbox is clicked. */
20
+ checkboxClickEvent: Subject<CheckboxClickEventArgs>;
21
+ /** Emits when on tree item expansion to load child items. */
22
+ loadChildrenEvent: Subject<TreeItem>;
23
+ /** Emits when the consumer want a node to be scrolled into view. */
24
+ scrollIntoViewEvent: Subject<ElementRef>;
25
+ /** Emits when the parent shall become focused. */
26
+ focusParentEvent: Subject<TreeItem>;
27
+ /** Emits when the child shall become focused. */
28
+ focusFirstChildEvent: Subject<TreeItem>;
29
+ /**
30
+ * Shows or hides context menu button.
31
+ *
32
+ * @defaultValue true
33
+ */
34
+ enableContextMenuButton: boolean;
35
+ /**
36
+ * Child padding in pixel (px).
37
+ *
38
+ * @defaultValue 14
39
+ */
40
+ childrenIndentation: number;
41
+ /**
42
+ * Visualize tree as grouped list, the child padding will have no effect.
43
+ *
44
+ * @defaultValue false
45
+ */
46
+ groupedList: boolean;
47
+ /** @internal */
48
+ triggerMarkForCheck: Subject<void>;
49
+ /** @internal */
50
+ scroll$: Observable<Event>;
51
+ /** Indicate whether item is a group item. */
52
+ isGroupedItem(item: TreeItem): boolean;
53
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiTreeViewService, never>;
54
+ static ɵprov: i0.ɵɵInjectableDeclaration<SiTreeViewService>;
55
+ }