@siemens/element-ng 49.16.0 → 51.0.0-rc.10

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 (314) hide show
  1. package/README.md +1 -1
  2. package/fesm2022/siemens-element-ng-about.mjs +41 -25
  3. package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
  4. package/fesm2022/siemens-element-ng-accordion.mjs +59 -41
  5. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  6. package/fesm2022/siemens-element-ng-action-modal.mjs +83 -53
  7. package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
  8. package/fesm2022/siemens-element-ng-ag-grid.mjs +143 -148
  9. package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
  10. package/fesm2022/siemens-element-ng-application-header.mjs +180 -188
  11. package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
  12. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +34 -28
  13. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
  14. package/fesm2022/siemens-element-ng-autocomplete.mjs +27 -22
  15. package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
  16. package/fesm2022/siemens-element-ng-avatar.mjs +34 -24
  17. package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
  18. package/fesm2022/siemens-element-ng-badge.mjs +9 -8
  19. package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
  20. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +17 -14
  21. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
  22. package/fesm2022/siemens-element-ng-breadcrumb.mjs +21 -17
  23. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  24. package/fesm2022/siemens-element-ng-card.mjs +72 -47
  25. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  26. package/fesm2022/siemens-element-ng-carousel.mjs +58 -34
  27. package/fesm2022/siemens-element-ng-carousel.mjs.map +1 -1
  28. package/fesm2022/siemens-element-ng-chat-messages.mjs +323 -215
  29. package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
  30. package/fesm2022/siemens-element-ng-circle-status.mjs +39 -25
  31. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  32. package/fesm2022/siemens-element-ng-color-picker.mjs +44 -34
  33. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
  34. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +58 -37
  35. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
  36. package/fesm2022/siemens-element-ng-common.mjs +22 -22
  37. package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
  38. package/fesm2022/siemens-element-ng-connection-strength.mjs +14 -12
  39. package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
  40. package/fesm2022/siemens-element-ng-content-action-bar.mjs +37 -28
  41. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  42. package/fesm2022/siemens-element-ng-copyright-notice.mjs +19 -14
  43. package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
  44. package/fesm2022/siemens-element-ng-dashboard.mjs +337 -223
  45. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  46. package/fesm2022/siemens-element-ng-datatable.mjs +12 -15
  47. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
  48. package/fesm2022/siemens-element-ng-date-range-filter.mjs +126 -76
  49. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  50. package/fesm2022/siemens-element-ng-datepicker.mjs +393 -251
  51. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  52. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +22 -17
  53. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
  54. package/fesm2022/siemens-element-ng-empty-state.mjs +15 -12
  55. package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
  56. package/fesm2022/siemens-element-ng-file-uploader.mjs +105 -91
  57. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  58. package/fesm2022/siemens-element-ng-filter-bar.mjs +33 -25
  59. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  60. package/fesm2022/siemens-element-ng-filtered-search.mjs +274 -165
  61. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  62. package/fesm2022/siemens-element-ng-footer.mjs +12 -10
  63. package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
  64. package/fesm2022/siemens-element-ng-form.mjs +361 -116
  65. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  66. package/fesm2022/siemens-element-ng-formly-legacy.mjs +99 -0
  67. package/fesm2022/siemens-element-ng-formly-legacy.mjs.map +1 -0
  68. package/fesm2022/siemens-element-ng-formly.mjs +224 -318
  69. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  70. package/fesm2022/siemens-element-ng-header-dropdown.mjs +40 -30
  71. package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
  72. package/fesm2022/siemens-element-ng-help-button.mjs +6 -6
  73. package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
  74. package/fesm2022/siemens-element-ng-icon.mjs +56 -57
  75. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  76. package/fesm2022/siemens-element-ng-info-page.mjs +17 -11
  77. package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
  78. package/fesm2022/siemens-element-ng-inline-notification.mjs +19 -14
  79. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  80. package/fesm2022/siemens-element-ng-ip-input.mjs +19 -15
  81. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
  82. package/fesm2022/siemens-element-ng-landing-page.mjs +121 -75
  83. package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
  84. package/fesm2022/siemens-element-ng-language-switcher.mjs +16 -12
  85. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
  86. package/fesm2022/siemens-element-ng-link.mjs +31 -21
  87. package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
  88. package/fesm2022/siemens-element-ng-list-details.mjs +132 -66
  89. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  90. package/fesm2022/siemens-element-ng-loading-spinner.mjs +51 -64
  91. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  92. package/fesm2022/siemens-element-ng-localization.mjs +14 -12
  93. package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
  94. package/fesm2022/siemens-element-ng-main-detail-container.mjs +116 -51
  95. package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
  96. package/fesm2022/siemens-element-ng-maplibre.mjs +401 -0
  97. package/fesm2022/siemens-element-ng-maplibre.mjs.map +1 -0
  98. package/fesm2022/siemens-element-ng-markdown-directives-tabs.mjs +70 -0
  99. package/fesm2022/siemens-element-ng-markdown-directives-tabs.mjs.map +1 -0
  100. package/fesm2022/siemens-element-ng-markdown-extensions-citations.mjs +215 -0
  101. package/fesm2022/siemens-element-ng-markdown-extensions-citations.mjs.map +1 -0
  102. package/fesm2022/siemens-element-ng-markdown-extensions-katex.mjs +76 -0
  103. package/fesm2022/siemens-element-ng-markdown-extensions-katex.mjs.map +1 -0
  104. package/fesm2022/siemens-element-ng-markdown-extensions-mermaid.mjs +86 -0
  105. package/fesm2022/siemens-element-ng-markdown-extensions-mermaid.mjs.map +1 -0
  106. package/fesm2022/siemens-element-ng-markdown-hightlighter-highlightjs.mjs +130 -0
  107. package/fesm2022/siemens-element-ng-markdown-hightlighter-highlightjs.mjs.map +1 -0
  108. package/fesm2022/siemens-element-ng-markdown.mjs +800 -0
  109. package/fesm2022/siemens-element-ng-markdown.mjs.map +1 -0
  110. package/fesm2022/siemens-element-ng-menu.mjs +71 -57
  111. package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
  112. package/fesm2022/siemens-element-ng-modal.mjs +14 -11
  113. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  114. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +251 -206
  115. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
  116. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +123 -86
  117. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  118. package/fesm2022/siemens-element-ng-navbar.mjs +72 -45
  119. package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
  120. package/fesm2022/siemens-element-ng-notification-item.mjs +19 -11
  121. package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
  122. package/fesm2022/siemens-element-ng-number-input.mjs +41 -29
  123. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
  124. package/fesm2022/siemens-element-ng-pagination.mjs +31 -20
  125. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
  126. package/fesm2022/siemens-element-ng-password-strength.mjs +33 -24
  127. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
  128. package/fesm2022/siemens-element-ng-password-toggle.mjs +19 -14
  129. package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
  130. package/fesm2022/siemens-element-ng-phone-number.mjs +144 -139
  131. package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
  132. package/fesm2022/siemens-element-ng-photo-upload.mjs +85 -52
  133. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  134. package/fesm2022/siemens-element-ng-pills-input.mjs +56 -41
  135. package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
  136. package/fesm2022/siemens-element-ng-popover-legacy.mjs +43 -28
  137. package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
  138. package/fesm2022/siemens-element-ng-popover.mjs +35 -27
  139. package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
  140. package/fesm2022/siemens-element-ng-progressbar.mjs +23 -16
  141. package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
  142. package/fesm2022/siemens-element-ng-resize-observer.mjs +32 -43
  143. package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
  144. package/fesm2022/siemens-element-ng-result-details-list.mjs +12 -10
  145. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  146. package/fesm2022/siemens-element-ng-search-bar.mjs +38 -37
  147. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  148. package/fesm2022/siemens-element-ng-select.mjs +265 -170
  149. package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
  150. package/fesm2022/siemens-element-ng-shadow-root.mjs +4 -4
  151. package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -1
  152. package/fesm2022/siemens-element-ng-side-panel.mjs +181 -104
  153. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  154. package/fesm2022/siemens-element-ng-skip-links.mjs +21 -24
  155. package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
  156. package/fesm2022/siemens-element-ng-slider.mjs +45 -30
  157. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
  158. package/fesm2022/siemens-element-ng-source-chip.mjs +79 -0
  159. package/fesm2022/siemens-element-ng-source-chip.mjs.map +1 -0
  160. package/fesm2022/siemens-element-ng-split.mjs +290 -306
  161. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  162. package/fesm2022/siemens-element-ng-status-bar.mjs +66 -52
  163. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  164. package/fesm2022/siemens-element-ng-status-counter.mjs +15 -11
  165. package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
  166. package/fesm2022/siemens-element-ng-status-toggle.mjs +26 -16
  167. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
  168. package/fesm2022/siemens-element-ng-summary-chip.mjs +25 -16
  169. package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
  170. package/fesm2022/siemens-element-ng-summary-widget.mjs +27 -17
  171. package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
  172. package/fesm2022/siemens-element-ng-system-banner.mjs +13 -10
  173. package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
  174. package/fesm2022/siemens-element-ng-tabs-legacy.mjs +20 -17
  175. package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
  176. package/fesm2022/siemens-element-ng-tabs.mjs +156 -131
  177. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  178. package/fesm2022/siemens-element-ng-theme.mjs +29 -6
  179. package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
  180. package/fesm2022/siemens-element-ng-threshold.mjs +62 -42
  181. package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
  182. package/fesm2022/siemens-element-ng-toast-notification.mjs +59 -40
  183. package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
  184. package/fesm2022/siemens-element-ng-tooltip.mjs +108 -82
  185. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  186. package/fesm2022/siemens-element-ng-tour.mjs +36 -19
  187. package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
  188. package/fesm2022/siemens-element-ng-translate.mjs +0 -1
  189. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  190. package/fesm2022/siemens-element-ng-tree-view.mjs +113 -84
  191. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  192. package/fesm2022/siemens-element-ng-typeahead.mjs +69 -49
  193. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
  194. package/fesm2022/siemens-element-ng-wizard.mjs +95 -54
  195. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  196. package/formly-legacy/package.json +4 -0
  197. package/maplibre/package.json +4 -0
  198. package/maplibre/styles/_index.scss +1 -0
  199. package/maplibre/styles/maplibre-gl.scss +724 -0
  200. package/markdown/directives/tabs/package.json +4 -0
  201. package/markdown/extensions/citations/package.json +4 -0
  202. package/markdown/extensions/katex/package.json +4 -0
  203. package/markdown/extensions/mermaid/package.json +4 -0
  204. package/markdown/hightlighter/highlightjs/package.json +4 -0
  205. package/markdown/package.json +4 -0
  206. package/package.json +96 -25
  207. package/schematics/collection.json +5 -0
  208. package/schematics/{migrations/icon-path-migration → migrate-tabs-legacy}/index.js +1 -1
  209. package/schematics/migrate-tabs-legacy/migrate-tabs-legacy-rule.js +675 -0
  210. package/schematics/migrate-tabs-legacy/schema.json +14 -0
  211. package/schematics/migration.json +4 -4
  212. package/schematics/migrations/data/class-member-replacement.js +1 -19
  213. package/schematics/migrations/data/component-property-names.js +1 -25
  214. package/schematics/migrations/data/component-property-to-child.js +11 -0
  215. package/schematics/migrations/data/css-custom-properties.js +224 -0
  216. package/schematics/migrations/data/element-class-changes.js +116 -18
  217. package/schematics/migrations/data/element-migration-data.js +6 -0
  218. package/schematics/migrations/data/element-selectors.js +1 -9
  219. package/schematics/migrations/data/index.js +0 -4
  220. package/schematics/migrations/data/migration-test-data.js +49 -6
  221. package/schematics/migrations/data/provider-function-removals.js +7 -0
  222. package/schematics/migrations/data/symbol-removals.js +17 -7
  223. package/schematics/migrations/data/symbol-renaming.js +3 -44
  224. package/schematics/migrations/element-migration/element-migration.js +6 -6
  225. package/schematics/migrations/utilities/component-property-to-child.migration.js +73 -0
  226. package/schematics/migrations/utilities/css-custom-property.migration.js +51 -0
  227. package/schematics/migrations/utilities/element-class-change.migration.js +10 -5
  228. package/schematics/migrations/utilities/import-removal.js +39 -0
  229. package/schematics/migrations/utilities/index.js +4 -0
  230. package/schematics/migrations/utilities/provider-function-removal.migration.js +116 -0
  231. package/schematics/ng-update/index.js +1 -1
  232. package/schematics/ng-update/migrate-content-formatter.js +288 -0
  233. package/schematics/ng-update/migrate-list-details-units.js +86 -0
  234. package/schematics/ng-update/migrate-main-detail-units.js +89 -0
  235. package/schematics/ng-update/migrate-markdown-renderer.js +106 -0
  236. package/schematics/ng-update/migrate-spacers.js +32 -0
  237. package/schematics/ng-update/migrate-split-collapse.js +276 -0
  238. package/schematics/ng-update/migrate-split-scale.js +524 -0
  239. package/schematics/ng-update/migrate-split-sizes.js +107 -0
  240. package/schematics/ng-update/migrate-to-v51.js +35 -0
  241. package/schematics/utils/index.js +1 -0
  242. package/schematics/utils/template-edit-utils.js +35 -0
  243. package/schematics/utils/template-utils.js +31 -45
  244. package/source-chip/package.json +4 -0
  245. package/template-i18n.json +78 -47
  246. package/types/siemens-element-ng-application-header.d.ts +7 -33
  247. package/types/siemens-element-ng-avatar.d.ts +1 -1
  248. package/types/siemens-element-ng-breadcrumb.d.ts +1 -1
  249. package/types/siemens-element-ng-chat-messages.d.ts +118 -70
  250. package/types/siemens-element-ng-circle-status.d.ts +1 -1
  251. package/types/siemens-element-ng-content-action-bar.d.ts +1 -1
  252. package/types/siemens-element-ng-dashboard.d.ts +2 -2
  253. package/types/siemens-element-ng-datatable.d.ts +5 -56
  254. package/types/siemens-element-ng-date-range-filter.d.ts +1 -1
  255. package/types/siemens-element-ng-datepicker.d.ts +8 -15
  256. package/types/siemens-element-ng-electron-titlebar.d.ts +1 -1
  257. package/types/siemens-element-ng-file-uploader.d.ts +13 -31
  258. package/types/siemens-element-ng-filter-bar.d.ts +1 -1
  259. package/types/siemens-element-ng-filtered-search.d.ts +4 -4
  260. package/types/siemens-element-ng-form.d.ts +183 -44
  261. package/types/siemens-element-ng-formly-legacy.d.ts +40 -0
  262. package/types/siemens-element-ng-formly.d.ts +34 -167
  263. package/types/siemens-element-ng-icon.d.ts +2 -19
  264. package/types/siemens-element-ng-landing-page.d.ts +2 -2
  265. package/types/siemens-element-ng-list-details.d.ts +25 -3
  266. package/types/siemens-element-ng-loading-spinner.d.ts +11 -17
  267. package/types/siemens-element-ng-main-detail-container.d.ts +23 -3
  268. package/types/siemens-element-ng-maplibre.d.ts +190 -0
  269. package/types/siemens-element-ng-markdown-directives-tabs.d.ts +10 -0
  270. package/types/siemens-element-ng-markdown-extensions-citations.d.ts +11 -0
  271. package/types/siemens-element-ng-markdown-extensions-katex.d.ts +19 -0
  272. package/types/siemens-element-ng-markdown-extensions-mermaid.d.ts +11 -0
  273. package/types/siemens-element-ng-markdown-hightlighter-highlightjs.d.ts +48 -0
  274. package/types/siemens-element-ng-markdown.d.ts +367 -0
  275. package/types/siemens-element-ng-menu.d.ts +2 -0
  276. package/types/siemens-element-ng-navbar-vertical-next.d.ts +87 -39
  277. package/types/siemens-element-ng-navbar-vertical.d.ts +1 -1
  278. package/types/siemens-element-ng-navbar.d.ts +3 -3
  279. package/types/siemens-element-ng-notification-item.d.ts +12 -0
  280. package/types/siemens-element-ng-phone-number.d.ts +28 -10
  281. package/types/siemens-element-ng-photo-upload.d.ts +4 -4
  282. package/types/siemens-element-ng-resize-observer.d.ts +0 -17
  283. package/types/siemens-element-ng-search-bar.d.ts +2 -9
  284. package/types/siemens-element-ng-select.d.ts +32 -5
  285. package/types/siemens-element-ng-side-panel.d.ts +25 -11
  286. package/types/siemens-element-ng-source-chip.d.ts +53 -0
  287. package/types/siemens-element-ng-split.d.ts +101 -78
  288. package/types/siemens-element-ng-status-bar.d.ts +5 -13
  289. package/types/siemens-element-ng-status-counter.d.ts +1 -1
  290. package/types/siemens-element-ng-system-banner.d.ts +2 -2
  291. package/types/siemens-element-ng-tabs.d.ts +1 -2
  292. package/types/siemens-element-ng-theme.d.ts +12 -2
  293. package/types/siemens-element-ng-threshold.d.ts +1 -1
  294. package/types/siemens-element-ng-toast-notification.d.ts +0 -1
  295. package/types/siemens-element-ng-tooltip.d.ts +7 -7
  296. package/types/siemens-element-ng-translate.d.ts +35 -5
  297. package/types/siemens-element-ng-tree-view.d.ts +3 -0
  298. package/types/siemens-element-ng-wizard.d.ts +18 -3
  299. package/fesm2022/siemens-element-ng-icon-status.mjs +0 -46
  300. package/fesm2022/siemens-element-ng-icon-status.mjs.map +0 -1
  301. package/fesm2022/siemens-element-ng-markdown-renderer.mjs +0 -263
  302. package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +0 -1
  303. package/fesm2022/siemens-element-ng-sort-bar.mjs +0 -99
  304. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +0 -1
  305. package/icon-status/package.json +0 -4
  306. package/markdown-renderer/package.json +0 -4
  307. package/schematics/migrations/icon-path-migration/icon-path-migration.js +0 -95
  308. package/schematics/ng-update/migrate-to-v49.js +0 -21
  309. package/schematics/vitest-setup.js +0 -5
  310. package/sort-bar/package.json +0 -4
  311. package/types/siemens-element-ng-icon-status.d.ts +0 -25
  312. package/types/siemens-element-ng-markdown-renderer.d.ts +0 -36
  313. package/types/siemens-element-ng-sort-bar.d.ts +0 -59
  314. /package/{LICENSE.md → LICENSE} +0 -0
@@ -1,19 +1,19 @@
1
+ import * as i1 from '@angular/cdk/portal';
2
+ import { DomPortal, PortalModule, TemplatePortal } from '@angular/cdk/portal';
1
3
  import * as i0 from '@angular/core';
2
- import { ChangeDetectionStrategy, Component, InjectionToken, input, linkedSignal, untracked, signal, inject, computed, ViewContainerRef, DestroyRef, Injector, effect, Directive, booleanAttribute, ElementRef, model, viewChild, contentChildren, afterNextRender, output, NgModule } from '@angular/core';
4
+ import { inject, ElementRef, Component, InjectionToken, viewChild, linkedSignal, input, untracked, signal, computed, ViewContainerRef, DestroyRef, Injector, effect, Directive, booleanAttribute, model, contentChild, contentChildren, afterNextRender, output } from '@angular/core';
3
5
  import { BreakpointObserver } from '@angular/cdk/layout';
4
- import * as i1 from '@angular/cdk/portal';
5
- import { TemplatePortal, DomPortal, PortalModule } from '@angular/cdk/portal';
6
6
  import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
7
7
  import { elementRight2, elementDown2, elementLayoutPane2Right, elementLayoutPane2, elementDoubleRight, elementDoubleLeft, elementSearch } from '@siemens/element-icons';
8
8
  import { SI_UI_STATE_SERVICE } from '@siemens/element-ng/common';
9
- import { addIcons, SiIconComponent } from '@siemens/element-ng/icon';
9
+ import { SiIconComponent, addIcons } from '@siemens/element-ng/icon';
10
10
  import { BOOTSTRAP_BREAKPOINTS } from '@siemens/element-ng/resize-observer';
11
11
  import { SiSkipLinkTargetDirective } from '@siemens/element-ng/skip-links';
12
12
  import { t, SiTranslatePipe } from '@siemens/element-translate-ng/translate';
13
+ import { CdkTrapFocus } from '@angular/cdk/a11y';
14
+ import { CdkOverlayOrigin, Overlay, CdkConnectedOverlay } from '@angular/cdk/overlay';
13
15
  import { RouterLinkActive } from '@angular/router';
14
16
  import { EMPTY } from 'rxjs';
15
- import { Overlay } from '@angular/cdk/overlay';
16
- import { CdkTrapFocus } from '@angular/cdk/a11y';
17
17
  import { SiSearchBarComponent } from '@siemens/element-ng/search-bar';
18
18
 
19
19
  /**
@@ -26,12 +26,17 @@ import { SiSearchBarComponent } from '@siemens/element-ng/search-bar';
26
26
  * @experimental
27
27
  */
28
28
  class SiNavbarVerticalNextItemsComponent {
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextItemsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: SiNavbarVerticalNextItemsComponent, isStandalone: true, selector: "si-navbar-vertical-next-items", ngImport: i0, template: '<ng-content />', isInline: true, styles: [":host{display:block;overflow-x:hidden;min-block-size:0;flex:1 0 0;overflow-y:auto;margin-block-start:8px}:host-context(.nav-collapsed){display:none}@media(min-width:576px){:host-context(:not(.nav-text-only).nav-collapsed){display:block}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
29
+ elementRef = inject(ElementRef);
30
+ /** DOM portal that relocates the whole items container into the chip menu overlay.
31
+ * @internal
32
+ */
33
+ hostPortal = new DomPortal(this.elementRef.nativeElement);
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextItemsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: SiNavbarVerticalNextItemsComponent, isStandalone: true, selector: "si-navbar-vertical-next-items", ngImport: i0, template: '<ng-content />', isInline: true, styles: [":host{display:block;overflow-x:hidden;min-block-size:0;flex:1 0 0;overflow-y:auto;margin-block-start:var(--si-sys-sizing-spacing-y-40)}:host-context(.nav-collapsed){display:none}@media(min-width:576px){:host-context(:not(.nav-text-only).nav-collapsed){display:block}}:host-context(.chip-menu-panel){flex:none;margin:0;overflow:visible;min-block-size:auto}\n"] });
31
36
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextItemsComponent, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextItemsComponent, decorators: [{
33
38
  type: Component,
34
- args: [{ selector: 'si-navbar-vertical-next-items', template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;overflow-x:hidden;min-block-size:0;flex:1 0 0;overflow-y:auto;margin-block-start:8px}:host-context(.nav-collapsed){display:none}@media(min-width:576px){:host-context(:not(.nav-text-only).nav-collapsed){display:block}}\n"] }]
39
+ args: [{ selector: 'si-navbar-vertical-next-items', template: '<ng-content />', styles: [":host{display:block;overflow-x:hidden;min-block-size:0;flex:1 0 0;overflow-y:auto;margin-block-start:var(--si-sys-sizing-spacing-y-40)}:host-context(.nav-collapsed){display:none}@media(min-width:576px){:host-context(:not(.nav-text-only).nav-collapsed){display:block}}:host-context(.chip-menu-panel){flex:none;margin:0;overflow:visible;min-block-size:auto}\n"] }]
35
40
  }] });
36
41
 
37
42
  /**
@@ -41,6 +46,69 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
41
46
  /** @experimental */
42
47
  const SI_NAVBAR_VERTICAL_NEXT = new InjectionToken('SI_NAVBAR_VERTICAL_NEXT');
43
48
 
49
+ /**
50
+ * Copyright (c) Siemens 2016 - 2026
51
+ * SPDX-License-Identifier: MIT
52
+ */
53
+ /**
54
+ * Chip button + chip menu overlay. Mounted by the navbar in inline-collapse
55
+ * mode when an active root item exists.
56
+ * @experimental
57
+ */
58
+ class SiNavbarVerticalNextChipMenuComponent {
59
+ static menuIdCounter = 0;
60
+ /** Parent navbar host. */
61
+ navbar = inject(SI_NAVBAR_VERTICAL_NEXT);
62
+ chipOrigin = viewChild(CdkOverlayOrigin, /* @ts-ignore */
63
+ ...(ngDevMode ? [{ debugName: "chipOrigin" }] : /* istanbul ignore next */ []));
64
+ /** DOM id wiring the chip button's `aria-controls` to the overlay panel.
65
+ * @internal
66
+ */
67
+ menuId = `si-navbar-vertical-next-chip-menu-${SiNavbarVerticalNextChipMenuComponent.menuIdCounter++}`;
68
+ /** DOM id wiring the chip label to the overlay panel's `aria-labelledby`.
69
+ * @internal
70
+ */
71
+ menuLabelId = `${this.menuId}-label`;
72
+ /**
73
+ * `true` when the overlay is open.
74
+ *
75
+ * @defaultValue false
76
+ * @internal
77
+ */
78
+ open = linkedSignal({ ...(ngDevMode ? { debugName: "open" } : /* istanbul ignore next */ {}), source: () => this.navbar.collapsed(),
79
+ computation: (collapsed, previous) => (collapsed ? (previous?.value ?? false) : false) });
80
+ /** @internal */
81
+ positions = [
82
+ { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' },
83
+ { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom' }
84
+ ];
85
+ /** @internal */
86
+ scrollStrategy = inject(Overlay).scrollStrategies.reposition();
87
+ /** Toggles the overlay open state. */
88
+ toggle() {
89
+ this.open.update(open => !open);
90
+ }
91
+ /** Closes the overlay.
92
+ * @internal
93
+ */
94
+ close() {
95
+ this.open.set(false);
96
+ }
97
+ /** @internal */
98
+ onOutsideClick(event) {
99
+ // Chip button click is handled by toggle(); ignore here.
100
+ if (!this.chipOrigin()?.elementRef.nativeElement.contains(event.target)) {
101
+ this.close();
102
+ }
103
+ }
104
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextChipMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
105
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiNavbarVerticalNextChipMenuComponent, isStandalone: true, selector: "si-navbar-vertical-next-chip-menu", viewQueries: [{ propertyName: "chipOrigin", first: true, predicate: CdkOverlayOrigin, descendants: true, isSignal: true }], ngImport: i0, template: "@let item = navbar.activeItem();\n<button\n #chipOrigin=\"cdkOverlayOrigin\"\n cdkOverlayOrigin\n type=\"button\"\n class=\"chip btn btn-ghost\"\n aria-haspopup=\"dialog\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-controls]=\"open() ? menuId : null\"\n (click)=\"toggle()\"\n>\n @if (item?.icon(); as chipIcon) {\n <si-icon class=\"icon\" [icon]=\"chipIcon\" />\n }\n @if (item?.label(); as label) {\n <span class=\"chip-label text-truncate\" [id]=\"menuLabelId\">{{ label }}</span>\n }\n</button>\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"chipOrigin\"\n [cdkConnectedOverlayOpen]=\"open()\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n (overlayOutsideClick)=\"onOutsideClick($event)\"\n>\n <div\n class=\"chip-menu-panel dropdown-menu\"\n role=\"dialog\"\n aria-modal=\"true\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n [id]=\"menuId\"\n [attr.aria-labelledby]=\"item?.label() ? menuLabelId : null\"\n (keydown.escape)=\"close()\"\n >\n @let items = navbar.itemsComponent();\n @if (items) {\n <ng-container [cdkPortalOutlet]=\"items.hostPortal\" />\n }\n </div>\n</ng-template>\n", styles: [":host{display:contents}.chip{position:fixed;z-index:0;inset-block-start:calc(calc(var(--si-sys-sizing-sizing-100) + 1px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px)) + var(--si-sys-sizing-spacing-y-60));inset-inline-start:calc(var(--si-navbar-parked-inline-start) + calc(1lh + 2 * var(--si-sys-sizing-spacing-y-40)) + 1px);max-inline-size:calc(100vi - 2 * var(--si-navbar-parked-inline-start) - calc(1lh + 2 * var(--si-sys-sizing-spacing-y-40)) - 1px);block-size:calc(1lh + 2 * var(--si-sys-sizing-spacing-y-40));min-inline-size:0;justify-content:flex-start;border-start-start-radius:0;border-end-start-radius:0;opacity:1;transition:inset-inline-start calc(.5s * var(--element-animations-enabled, 1)) ease,opacity calc(.5s * var(--element-animations-enabled, 1)) ease}@starting-style{.chip{inset-inline-start:var(--si-navbar-parked-inline-start);opacity:0}}.chip:focus-visible{z-index:1032}.chip .chip-label{font-weight:400}.chip-menu-panel{display:block;position:static;margin:0}\n"], dependencies: [{ kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }] });
106
+ }
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextChipMenuComponent, decorators: [{
108
+ type: Component,
109
+ args: [{ selector: 'si-navbar-vertical-next-chip-menu', imports: [CdkConnectedOverlay, CdkOverlayOrigin, CdkTrapFocus, PortalModule, SiIconComponent], template: "@let item = navbar.activeItem();\n<button\n #chipOrigin=\"cdkOverlayOrigin\"\n cdkOverlayOrigin\n type=\"button\"\n class=\"chip btn btn-ghost\"\n aria-haspopup=\"dialog\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-controls]=\"open() ? menuId : null\"\n (click)=\"toggle()\"\n>\n @if (item?.icon(); as chipIcon) {\n <si-icon class=\"icon\" [icon]=\"chipIcon\" />\n }\n @if (item?.label(); as label) {\n <span class=\"chip-label text-truncate\" [id]=\"menuLabelId\">{{ label }}</span>\n }\n</button>\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"chipOrigin\"\n [cdkConnectedOverlayOpen]=\"open()\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n (overlayOutsideClick)=\"onOutsideClick($event)\"\n>\n <div\n class=\"chip-menu-panel dropdown-menu\"\n role=\"dialog\"\n aria-modal=\"true\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n [id]=\"menuId\"\n [attr.aria-labelledby]=\"item?.label() ? menuLabelId : null\"\n (keydown.escape)=\"close()\"\n >\n @let items = navbar.itemsComponent();\n @if (items) {\n <ng-container [cdkPortalOutlet]=\"items.hostPortal\" />\n }\n </div>\n</ng-template>\n", styles: [":host{display:contents}.chip{position:fixed;z-index:0;inset-block-start:calc(calc(var(--si-sys-sizing-sizing-100) + 1px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px)) + var(--si-sys-sizing-spacing-y-60));inset-inline-start:calc(var(--si-navbar-parked-inline-start) + calc(1lh + 2 * var(--si-sys-sizing-spacing-y-40)) + 1px);max-inline-size:calc(100vi - 2 * var(--si-navbar-parked-inline-start) - calc(1lh + 2 * var(--si-sys-sizing-spacing-y-40)) - 1px);block-size:calc(1lh + 2 * var(--si-sys-sizing-spacing-y-40));min-inline-size:0;justify-content:flex-start;border-start-start-radius:0;border-end-start-radius:0;opacity:1;transition:inset-inline-start calc(.5s * var(--element-animations-enabled, 1)) ease,opacity calc(.5s * var(--element-animations-enabled, 1)) ease}@starting-style{.chip{inset-inline-start:var(--si-navbar-parked-inline-start);opacity:0}}.chip:focus-visible{z-index:1032}.chip .chip-label{font-weight:400}.chip-menu-panel{display:block;position:static;margin:0}\n"] }]
110
+ }], propDecorators: { chipOrigin: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkOverlayOrigin), { isSignal: true }] }] } });
111
+
44
112
  /**
45
113
  * Copyright (c) Siemens 2016 - 2026
46
114
  * SPDX-License-Identifier: MIT
@@ -54,16 +122,16 @@ const SI_NAVBAR_VERTICAL_NEXT = new InjectionToken('SI_NAVBAR_VERTICAL_NEXT');
54
122
  */
55
123
  class SiNavbarFlyoutAnchorComponent {
56
124
  /** ID of the flyout group owned by this accessibility anchor. */
57
- groupId = input(...(ngDevMode ? [undefined, { debugName: "groupId" }] : []));
58
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarFlyoutAnchorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
59
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: SiNavbarFlyoutAnchorComponent, isStandalone: true, selector: "si-navbar-flyout-anchor", inputs: { groupId: { classPropertyName: "groupId", publicName: "groupId", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-owns": "groupId()" } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
125
+ groupId = input(/* @ts-ignore */
126
+ ...(ngDevMode ? [undefined, { debugName: "groupId" }] : /* istanbul ignore next */ []));
127
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarFlyoutAnchorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
128
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.8", type: SiNavbarFlyoutAnchorComponent, isStandalone: true, selector: "si-navbar-flyout-anchor", inputs: { groupId: { classPropertyName: "groupId", publicName: "groupId", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-owns": "groupId()" } }, ngImport: i0, template: '', isInline: true });
60
129
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarFlyoutAnchorComponent, decorators: [{
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarFlyoutAnchorComponent, decorators: [{
62
131
  type: Component,
63
132
  args: [{
64
133
  selector: 'si-navbar-flyout-anchor',
65
134
  template: '',
66
- changeDetection: ChangeDetectionStrategy.OnPush,
67
135
  host: { '[attr.aria-owns]': 'groupId()' }
68
136
  }]
69
137
  }], propDecorators: { groupId: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupId", required: false }] }] } });
@@ -74,11 +142,12 @@ class SiNavbarVerticalNextGroupTriggerDirective {
74
142
  groupId = `si-navbar-vertical-next-group-${SiNavbarVerticalNextGroupTriggerDirective.idCounter++}`;
75
143
  id = `${this.groupId}-trigger`;
76
144
  /** Template rendered for the expandable group. */
77
- groupTemplate = input.required({ ...(ngDevMode ? { debugName: "groupTemplate" } : {}), alias: 'siNavbarVerticalNextGroupTriggerFor' });
145
+ groupTemplate = input.required({ ...(ngDevMode ? { debugName: "groupTemplate" } : /* istanbul ignore next */ {}), alias: 'siNavbarVerticalNextGroupTriggerFor' });
78
146
  /** Key used to persist the expanded state of this group. */
79
- stateId = input(...(ngDevMode ? [undefined, { debugName: "stateId" }] : []));
147
+ stateId = input(/* @ts-ignore */
148
+ ...(ngDevMode ? [undefined, { debugName: "stateId" }] : /* istanbul ignore next */ []));
80
149
  /** @defaultValue false */
81
- expanded = linkedSignal({ ...(ngDevMode ? { debugName: "expanded" } : {}), source: () => {
150
+ expanded = linkedSignal({ ...(ngDevMode ? { debugName: "expanded" } : /* istanbul ignore next */ {}), source: () => {
82
151
  const stateId = this.stateId();
83
152
  return {
84
153
  uiState: stateId ? this.navbar.uiStateExpandedItems()[stateId] : undefined,
@@ -104,28 +173,37 @@ class SiNavbarVerticalNextGroupTriggerDirective {
104
173
  * `false` whenever the rendering mode changes.
105
174
  * @internal
106
175
  */
107
- flyout = linkedSignal({ ...(ngDevMode ? { debugName: "flyout" } : {}), source: () => this.flyoutMode(),
176
+ flyout = linkedSignal({ ...(ngDevMode ? { debugName: "flyout" } : /* istanbul ignore next */ {}), source: () => this.flyoutMode(),
108
177
  computation: () => false });
109
178
  /** `true` when this group contains the active route. Set by the group component.
110
179
  * @internal
111
180
  */
112
- active = signal(false, ...(ngDevMode ? [{ debugName: "active" }] : []));
181
+ active = signal(false, /* @ts-ignore */
182
+ ...(ngDevMode ? [{ debugName: "active" }] : /* istanbul ignore next */ []));
113
183
  navbar = inject(SI_NAVBAR_VERTICAL_NEXT);
114
184
  /** Signal mirror of the navbar's flyout mode. `true` when groups should render as transient overlays instead of inline.
115
185
  * @internal
116
186
  */
117
- flyoutMode = computed(() => this.navbar.flyoutMode(), ...(ngDevMode ? [{ debugName: "flyoutMode" }] : []));
187
+ flyoutMode = computed(() => this.navbar.flyoutMode(), /* @ts-ignore */
188
+ ...(ngDevMode ? [{ debugName: "flyoutMode" }] : /* istanbul ignore next */ []));
118
189
  flyoutOutsideClickSubscription;
119
190
  viewContainer = inject(ViewContainerRef);
120
191
  overlay = inject(Overlay);
121
192
  destroyRef = inject(DestroyRef);
122
193
  injector = Injector.create({ parent: inject(Injector), providers: [] });
123
194
  overlayRef = this.overlay.create({
124
- positionStrategy: this.buildPositionStrategy(this.navbar.chipMode())
195
+ positionStrategy: this.overlay
196
+ .position()
197
+ .flexibleConnectedTo(this.viewContainer.element)
198
+ .withPositions([
199
+ { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top' },
200
+ { originX: 'end', originY: 'bottom', overlayX: 'start', overlayY: 'bottom' }
201
+ ])
125
202
  });
126
203
  groupView;
127
204
  flyoutAnchorComponentRef;
128
- templatePortal = computed(() => new TemplatePortal(this.groupTemplate(), this.viewContainer, undefined, this.injector), ...(ngDevMode ? [{ debugName: "templatePortal" }] : []));
205
+ templatePortal = computed(() => new TemplatePortal(this.groupTemplate(), this.viewContainer, undefined, this.injector), /* @ts-ignore */
206
+ ...(ngDevMode ? [{ debugName: "templatePortal" }] : /* istanbul ignore next */ []));
129
207
  constructor() {
130
208
  // Manage the rendering of the inline projection / flyout overlay in
131
209
  // response to mode changes. Only side effects belong here; the related
@@ -143,22 +221,6 @@ class SiNavbarVerticalNextGroupTriggerDirective {
143
221
  });
144
222
  }
145
223
  /** @internal */
146
- buildPositionStrategy(chipMode) {
147
- const positions = chipMode
148
- ? [
149
- { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom' },
150
- { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' }
151
- ]
152
- : [
153
- { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top' },
154
- { originX: 'end', originY: 'bottom', overlayX: 'start', overlayY: 'bottom' }
155
- ];
156
- return this.overlay
157
- .position()
158
- .flexibleConnectedTo(this.viewContainer.element)
159
- .withPositions(positions);
160
- }
161
- /** @internal */
162
224
  hideFlyout() {
163
225
  if (!this.flyout())
164
226
  return;
@@ -192,13 +254,9 @@ class SiNavbarVerticalNextGroupTriggerDirective {
192
254
  });
193
255
  }
194
256
  attachFlyout() {
195
- this.overlayRef.updatePositionStrategy(this.buildPositionStrategy(this.navbar.chipMode()));
196
257
  this.groupView?.destroy();
197
258
  this.groupView = this.overlayRef.attach(this.templatePortal());
198
- // In chip mode the trigger's DOM is outside <nav> via DomPortal; use the
199
- // navbar's in-nav anchor host so aria-owns stays within the navigation landmark.
200
- const anchorHost = this.navbar.flyoutAnchorHost() ?? this.viewContainer;
201
- this.flyoutAnchorComponentRef = anchorHost.createComponent(SiNavbarFlyoutAnchorComponent);
259
+ this.flyoutAnchorComponentRef = this.viewContainer.createComponent(SiNavbarFlyoutAnchorComponent);
202
260
  this.flyoutAnchorComponentRef.setInput('groupId', this.groupId);
203
261
  this.flyoutOutsideClickSubscription = this.overlayRef
204
262
  .outsidePointerEvents()
@@ -210,17 +268,17 @@ class SiNavbarVerticalNextGroupTriggerDirective {
210
268
  this.flyoutOutsideClickSubscription?.unsubscribe();
211
269
  this.flyoutOutsideClickSubscription = undefined;
212
270
  }
213
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextGroupTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
214
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiNavbarVerticalNextGroupTriggerDirective, isStandalone: true, selector: "button[siNavbarVerticalNextGroupTriggerFor]", inputs: { groupTemplate: { classPropertyName: "groupTemplate", publicName: "siNavbarVerticalNextGroupTriggerFor", isSignal: true, isRequired: true, transformFunction: null }, stateId: { classPropertyName: "stateId", publicName: "stateId", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "triggered()" }, properties: { "id": "id", "class.show": "expanded()", "attr.aria-controls": "groupId", "attr.aria-expanded": "flyoutMode() ? flyout() : expanded()" }, classAttribute: "dropdown-toggle" }, ngImport: i0 });
271
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextGroupTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
272
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.8", type: SiNavbarVerticalNextGroupTriggerDirective, isStandalone: true, selector: "button[siNavbarVerticalNextGroupTriggerFor]", inputs: { groupTemplate: { classPropertyName: "groupTemplate", publicName: "siNavbarVerticalNextGroupTriggerFor", isSignal: true, isRequired: true, transformFunction: null }, stateId: { classPropertyName: "stateId", publicName: "stateId", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "triggered()" }, properties: { "id": "id", "class.show": "!flyoutMode() && expanded()", "attr.aria-controls": "groupId", "attr.aria-expanded": "flyoutMode() ? flyout() : expanded()" }, classAttribute: "dropdown-toggle" }, ngImport: i0 });
215
273
  }
216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextGroupTriggerDirective, decorators: [{
274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextGroupTriggerDirective, decorators: [{
217
275
  type: Directive,
218
276
  args: [{
219
277
  selector: 'button[siNavbarVerticalNextGroupTriggerFor]',
220
278
  host: {
221
279
  class: 'dropdown-toggle',
222
280
  '[id]': 'id',
223
- '[class.show]': 'expanded()',
281
+ '[class.show]': '!flyoutMode() && expanded()',
224
282
  '[attr.aria-controls]': 'groupId',
225
283
  '[attr.aria-expanded]': 'flyoutMode() ? flyout() : expanded()',
226
284
  '(click)': 'triggered()'
@@ -236,19 +294,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
236
294
  class SiNavbarVerticalNextItemComponent {
237
295
  icons = addIcons({ elementDown2, elementRight2 });
238
296
  /** Optional icon to render before the label. */
239
- icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
297
+ icon = input(/* @ts-ignore */
298
+ ...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
240
299
  /** Badge value to display. */
241
- badge = input(...(ngDevMode ? [undefined, { debugName: "badge" }] : []));
300
+ badge = input(/* @ts-ignore */
301
+ ...(ngDevMode ? [undefined, { debugName: "badge" }] : /* istanbul ignore next */ []));
242
302
  /** Color of the badge. */
243
- badgeColor = input(...(ngDevMode ? [undefined, { debugName: "badgeColor" }] : []));
303
+ badgeColor = input(/* @ts-ignore */
304
+ ...(ngDevMode ? [undefined, { debugName: "badgeColor" }] : /* istanbul ignore next */ []));
244
305
  /**
245
306
  * Hide the badge when the navbar is collapsed.
246
307
  *
247
308
  * @defaultValue false
248
309
  */
249
- hideBadgeWhenCollapsed = input(false, { ...(ngDevMode ? { debugName: "hideBadgeWhenCollapsed" } : {}), transform: booleanAttribute });
310
+ hideBadgeWhenCollapsed = input(false, { ...(ngDevMode ? { debugName: "hideBadgeWhenCollapsed" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
250
311
  /** Override the active state. Useful for action items. */
251
- activeOverride = input(...(ngDevMode ? [undefined, { debugName: "activeOverride" }] : []));
312
+ activeOverride = input(/* @ts-ignore */
313
+ ...(ngDevMode ? [undefined, { debugName: "activeOverride" }] : /* istanbul ignore next */ []));
314
+ /**
315
+ * Text label of this item.
316
+ * Consumed by the chip button to mirror the active item's label when collapsed.
317
+ */
318
+ label = input(/* @ts-ignore */
319
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
252
320
  navbar = inject(SI_NAVBAR_VERTICAL_NEXT);
253
321
  parent = inject(SiNavbarVerticalNextItemComponent, {
254
322
  skipSelf: true,
@@ -263,37 +331,37 @@ class SiNavbarVerticalNextItemComponent {
263
331
  * @internal
264
332
  */
265
333
  routerActive = toSignal(this.routerLinkActive?.isActiveChange ?? EMPTY, { initialValue: this.routerLinkActive?.isActive ?? false });
266
- /** @internal */
267
- elementRef = inject(ElementRef);
268
- /** DOM portal relocated into the chip slot when collapsed.
334
+ /** `true` when the navbar is in chip mode (inline-collapse active and collapsed).
269
335
  * @internal
270
336
  */
271
- hostPortal = new DomPortal(this.elementRef.nativeElement);
272
- /** Signal mirror of the navbar's chip mode. `true` when inline-collapse is active and the navbar is collapsed.
273
- * @internal
274
- */
275
- chipMode = computed(() => this.navbar.chipMode(), ...(ngDevMode ? [{ debugName: "chipMode" }] : []));
337
+ chipMode = this.navbar.chipMode;
276
338
  /**
277
339
  * Determines if the badge contains text-only content (not numeric)
278
340
  */
279
341
  textOnlyBadge = computed(() => {
280
342
  const badge = this.badge();
281
343
  return badge != null && badge !== '' ? typeof badge !== 'number' : false;
282
- }, ...(ngDevMode ? [{ debugName: "textOnlyBadge" }] : []));
344
+ }, /* @ts-ignore */
345
+ ...(ngDevMode ? [{ debugName: "textOnlyBadge" }] : /* istanbul ignore next */ []));
283
346
  /** `true` when the `active` CSS class should be applied to this item.
284
347
  *
285
- * In chip mode, root-level items use `is-chip` styling instead of `active`, so the
286
- * class is suppressed unless the item is a sub-item (`parent` is set) or it is a
287
- * group trigger whose flyout is currently open.
288
- * Outside chip mode the value equals `active()`.
348
+ * In chip mode the root-level items are hidden inside the collapsed nav until
349
+ * the user opens the chip menu, so their active state is suppressed to avoid
350
+ * flashing when the menu closes. Sub-items and open group triggers always
351
+ * reflect activity. While the chip menu is open, root-level active items must
352
+ * be highlighted so the user can locate the current page in the overlay.
289
353
  * @internal
290
354
  */
291
355
  showActive = computed(() => {
292
356
  if (this.chipMode()) {
357
+ if (this.navbar.chipMenuOpen()) {
358
+ return this.active();
359
+ }
293
360
  return (!!this.parent || this.group?.flyout()) && this.active();
294
361
  }
295
362
  return this.active();
296
- }, ...(ngDevMode ? [{ debugName: "showActive" }] : []));
363
+ }, /* @ts-ignore */
364
+ ...(ngDevMode ? [{ debugName: "showActive" }] : /* istanbul ignore next */ []));
297
365
  /**
298
366
  * Formats badge value to limit display to "+99" for numbers greater than 99
299
367
  */
@@ -306,15 +374,18 @@ class SiNavbarVerticalNextItemComponent {
306
374
  return badge > 99 ? '+99' : badge.toString();
307
375
  }
308
376
  return badge.toString();
309
- }, ...(ngDevMode ? [{ debugName: "formattedBadge" }] : []));
377
+ }, /* @ts-ignore */
378
+ ...(ngDevMode ? [{ debugName: "formattedBadge" }] : /* istanbul ignore next */ []));
310
379
  /** Active via override or router link — excludes group state.
311
380
  * @internal
312
381
  */
313
- anyRouteActive = computed(() => !!this.activeOverride() || this.routerActive(), ...(ngDevMode ? [{ debugName: "anyRouteActive" }] : []));
382
+ anyRouteActive = computed(() => !!this.activeOverride() || this.routerActive(), /* @ts-ignore */
383
+ ...(ngDevMode ? [{ debugName: "anyRouteActive" }] : /* istanbul ignore next */ []));
314
384
  /** Own route is active, or a descendant route is active — includes group state, not gated on expansion.
315
385
  * @internal
316
386
  */
317
- isOnActiveRoute = computed(() => this.anyRouteActive() || !!this.group?.active(), ...(ngDevMode ? [{ debugName: "isOnActiveRoute" }] : []));
387
+ isOnActiveRoute = computed(() => this.anyRouteActive() || !!this.group?.active(), /* @ts-ignore */
388
+ ...(ngDevMode ? [{ debugName: "isOnActiveRoute" }] : /* istanbul ignore next */ []));
318
389
  /**
319
390
  * `true` when this item should reflect activity.
320
391
  *
@@ -326,15 +397,13 @@ class SiNavbarVerticalNextItemComponent {
326
397
  * when the active child cannot show it itself.
327
398
  */
328
399
  active = computed(() => this.anyRouteActive() ||
329
- ((!this.group?.expanded() || this.navbar.collapsed()) && !!this.group?.active()), ...(ngDevMode ? [{ debugName: "active" }] : []));
400
+ ((!this.group?.expanded() || this.navbar.collapsed()) && !!this.group?.active()), /* @ts-ignore */
401
+ ...(ngDevMode ? [{ debugName: "active" }] : /* istanbul ignore next */ []));
330
402
  /** `true` when this is a root-level item on the active route (ungated, so the chip survives collapse↔expand).
331
403
  * @internal
332
404
  */
333
- isActiveRootItem = computed(() => !this.parent && this.isOnActiveRoute(), ...(ngDevMode ? [{ debugName: "isActiveRootItem" }] : []));
334
- /** `true` when this item is currently rendered as a chip in the inline-collapse bar.
335
- * @internal
336
- */
337
- isChip = computed(() => this.navbar.chipPortalAttached() && this.isActiveRootItem(), ...(ngDevMode ? [{ debugName: "isChip" }] : []));
405
+ isActiveRootItem = computed(() => !this.parent && this.isOnActiveRoute(), /* @ts-ignore */
406
+ ...(ngDevMode ? [{ debugName: "isActiveRootItem" }] : /* istanbul ignore next */ []));
338
407
  ngOnInit() {
339
408
  if (this.group && this.active()) {
340
409
  this.group.expanded.set(true);
@@ -346,22 +415,18 @@ class SiNavbarVerticalNextItemComponent {
346
415
  this.navbar.itemTriggered();
347
416
  }
348
417
  }
349
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
350
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiNavbarVerticalNextItemComponent, isStandalone: true, selector: "a[si-navbar-vertical-next-item], button[si-navbar-vertical-next-item]", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, badgeColor: { classPropertyName: "badgeColor", publicName: "badgeColor", isSignal: true, isRequired: false, transformFunction: null }, hideBadgeWhenCollapsed: { classPropertyName: "hideBadgeWhenCollapsed", publicName: "hideBadgeWhenCollapsed", isSignal: true, isRequired: false, transformFunction: null }, activeOverride: { classPropertyName: "activeOverride", publicName: "activeOverride", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "triggered()" }, properties: { "class.focus-inside": "!chipMode() || !!parent", "class.navbar-vertical-item": "!isChip()", "class.active": "showActive()", "class.is-chip": "isChip()", "class.btn": "isChip()", "class.btn-primary-ghost": "isChip()", "class.hide-badge-collapsed": "hideBadgeWhenCollapsed()" } }, ngImport: i0, template: "@let icon = this.icon();\n@if (icon) {\n <si-icon [class]=\"isChip() ? 'icon' : 'icon-lg'\" [icon]=\"icon\" />\n}\n<div class=\"item-title text-truncate si-h5\">\n <ng-content />\n</div>\n@if (!isChip() && !navbar.textOnly() && formattedBadge()) {\n @let badgeColor = this.badgeColor();\n <span\n [class]=\"[\n 'badge',\n badgeColor ? `bg-${badgeColor}` : 'bg-default',\n textOnlyBadge() ? 'badge-text-only' : '',\n navbar.collapsed() ? 'badge-collapsed' : ''\n ]\"\n >{{ formattedBadge() }}</span\n >\n}\n@if (group) {\n <si-icon\n class=\"dropdown-caret me-0 text-body\"\n [icon]=\"group.flyoutMode() ? icons.elementRight2 : icons.elementDown2\"\n />\n}\n", styles: [":host(.navbar-vertical-item){display:flex;align-items:center;position:relative;color:var(--element-text-primary);background:none;border:0;font-size:.875rem;padding-block:8px;padding-inline:0 12px;min-inline-size:0;min-block-size:calc(1lh + 24px);inline-size:100%;border-radius:0}:host(.navbar-vertical-item) .item-title{margin-inline-start:12px}:host(.navbar-vertical-item) .icon-lg{margin-inline-start:12px}:host(.navbar-vertical-item) .icon-lg+.item-title{margin-inline-start:8px}:host(.navbar-vertical-item).show .badge:not(.badge-collapsed){display:none}:host(.navbar-vertical-item):not(.show) .badge+.dropdown-caret{margin-inline:0;padding-inline:0}:host(.navbar-vertical-item).active{color:var(--element-action-primary-hover);background:var(--element-base-1-selected)}:host(.navbar-vertical-item).active:after{content:\"\";position:absolute;inset-block:0;inset-inline-start:0;inline-size:4px;background:var(--element-action-primary-hover)}:host(.navbar-vertical-item):hover{text-decoration:none;background:var(--element-base-1-hover)}:host-context(si-navbar-vertical-next-items > .navbar-vertical-item)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-items > si-navbar-vertical-next-group)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-items > si-navbar-flyout-anchor)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-footer-items > .navbar-vertical-item)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-footer-items > si-navbar-vertical-next-group)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-footer-items > si-navbar-flyout-anchor)+:host(.navbar-vertical-item){margin-block-start:8px}:host-context(.nav-text-only si-navbar-vertical-next-group) .item-title{margin-inline-start:0}:host-context(si-navbar-vertical-next-group) :host(.navbar-vertical-item){padding-inline-start:32px}:host-context(si-navbar-vertical-next-group) :host(.navbar-vertical-item) .item-title{font-weight:400}:host-context(.dropdown-menu) :host(.navbar-vertical-item){padding-inline-start:0}:host-context(.dropdown-menu) :host(.navbar-vertical-item) .item-title{font-weight:400}:host-context(.nav-collapsed):not(.is-chip) .badge{position:absolute;inset-block-start:4px;inset-inline-end:6px;min-inline-size:.875rem;border-radius:.4375rem;font-size:.75rem;line-height:.875rem;padding-block:0;padding-inline:4px;font-family:var(--element-body-font-family);font-weight:600;text-align:center}:host-context(.nav-collapsed):not(.is-chip) .badge.badge-text-only{color:transparent;font-size:0}:host-context(.nav-collapsed):not(.is-chip) :is(.item-title,.dropdown-caret){position:absolute!important;inline-size:1px!important;block-size:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}:host-context(.nav-collapsed):not(.is-chip).hide-badge-collapsed .badge{display:none}.badge{margin-inline:auto 0}:host(.is-chip).active:after{display:none}:host(.is-chip) .dropdown-caret{display:none}:host(.is-chip) .item-title{font-weight:400}:host-context(.chip).is-chip{border-start-start-radius:0;border-end-start-radius:0;inline-size:100%;min-inline-size:0}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
418
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
419
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiNavbarVerticalNextItemComponent, isStandalone: true, selector: "a[si-navbar-vertical-next-item], button[si-navbar-vertical-next-item]", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, badgeColor: { classPropertyName: "badgeColor", publicName: "badgeColor", isSignal: true, isRequired: false, transformFunction: null }, hideBadgeWhenCollapsed: { classPropertyName: "hideBadgeWhenCollapsed", publicName: "hideBadgeWhenCollapsed", isSignal: true, isRequired: false, transformFunction: null }, activeOverride: { classPropertyName: "activeOverride", publicName: "activeOverride", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "triggered()" }, properties: { "class.active": "showActive()", "class.hide-badge-collapsed": "hideBadgeWhenCollapsed()" }, classAttribute: "navbar-vertical-item focus-inside" }, ngImport: i0, template: "@let icon = this.icon();\n@if (icon) {\n <si-icon class=\"icon\" [icon]=\"icon\" />\n}\n<div class=\"item-title text-truncate si-h5\">{{ label() }}</div>\n@if (!navbar.textOnly() && formattedBadge()) {\n @let badgeColor = this.badgeColor();\n <span\n [class]=\"[\n 'badge',\n badgeColor ? `bg-${badgeColor}` : 'bg-default',\n textOnlyBadge() ? 'badge-text-only' : '',\n navbar.collapsed() ? 'badge-collapsed' : ''\n ]\"\n >{{ formattedBadge() }}</span\n >\n}\n@if (group) {\n <si-icon\n class=\"dropdown-caret me-0 text-primary\"\n [icon]=\"group.flyoutMode() ? icons.elementRight2 : icons.elementDown2\"\n />\n}\n", styles: [":host(.navbar-vertical-item){display:flex;align-items:center;position:relative;color:var(--si-sys-text-primary);background:none;border:0;font-size:var(--si-sys-typography-font-size-body);padding-block:var(--si-sys-sizing-spacing-y-40);padding-inline:0 var(--si-sys-sizing-spacing-x-50);min-inline-size:0;min-block-size:calc(1lh + 2 * var(--si-sys-sizing-spacing-y-50));inline-size:100%;border-radius:0}:host(.navbar-vertical-item) .item-title{margin-inline-start:var(--si-sys-sizing-spacing-x-50)}:host(.navbar-vertical-item) .icon{margin-inline-start:var(--si-sys-sizing-spacing-x-50);padding-inline:var(--si-sys-sizing-spacing-x-10);padding-block:var(--si-sys-sizing-spacing-y-10)}:host(.navbar-vertical-item) .icon+.item-title{margin-inline-start:var(--si-sys-sizing-spacing-x-40)}:host(.navbar-vertical-item).show .badge:not(.badge-collapsed){display:none}:host(.navbar-vertical-item):not(.show) .badge+.dropdown-caret{margin-inline:0;padding-inline:0}:host(.navbar-vertical-item).active{color:var(--si-sys-text-accent-active);background:var(--si-sys-background-active)}:host(.navbar-vertical-item).active:after{content:\"\";position:absolute;inset-block:0;inset-inline-start:0;inline-size:4px;background:var(--si-sys-border-accent-active)}:host(.navbar-vertical-item):hover{text-decoration:none;background:var(--si-sys-background-hover)}:host-context(si-navbar-vertical-next-items > .navbar-vertical-item)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-items > si-navbar-vertical-next-group)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-items > si-navbar-flyout-anchor)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-footer-items > .navbar-vertical-item)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-footer-items > si-navbar-vertical-next-group)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-footer-items > si-navbar-flyout-anchor)+:host(.navbar-vertical-item){margin-block-start:var(--si-sys-sizing-spacing-y-40)}:host-context(.nav-text-only si-navbar-vertical-next-group) .item-title{margin-inline-start:0}:host-context(si-navbar-vertical-next-group) :host(.navbar-vertical-item){padding-inline-start:var(--si-sys-sizing-spacing-x-90)}:host-context(si-navbar-vertical-next-group) :host(.navbar-vertical-item) .item-title{font-weight:400}:host-context(.dropdown-menu) :host(.navbar-vertical-item){padding-inline-start:0}:host-context(.dropdown-menu) :host(.navbar-vertical-item) .item-title{font-weight:400}:host-context(.nav-collapsed) .badge{position:absolute;inset-block-start:var(--si-sys-sizing-spacing-y-20);inset-inline-end:var(--si-sys-sizing-spacing-x-30);min-inline-size:.875rem;border-radius:.4375rem;font-size:var(--si-sys-typography-font-size-body-sm);line-height:.875rem;padding-block:0;padding-inline:var(--si-sys-sizing-spacing-x-20);font-family:var(--element-body-font-family);font-weight:600;text-align:center}:host-context(.nav-collapsed) .badge.badge-text-only{color:transparent;font-size:0}:host-context(.nav-collapsed) :is(.item-title,.dropdown-caret){position:absolute!important;inline-size:1px!important;block-size:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}:host-context(.nav-collapsed).hide-badge-collapsed .badge{display:none}.badge{margin-inline:auto 0}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }] });
351
420
  }
352
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextItemComponent, decorators: [{
421
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextItemComponent, decorators: [{
353
422
  type: Component,
354
- args: [{ selector: 'a[si-navbar-vertical-next-item], button[si-navbar-vertical-next-item]', imports: [SiIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: {
355
- '[class.focus-inside]': '!chipMode() || !!parent',
356
- '[class.navbar-vertical-item]': '!isChip()',
423
+ args: [{ selector: 'a[si-navbar-vertical-next-item], button[si-navbar-vertical-next-item]', imports: [SiIconComponent], host: {
424
+ class: 'navbar-vertical-item focus-inside',
357
425
  '[class.active]': 'showActive()',
358
- '[class.is-chip]': 'isChip()',
359
- '[class.btn]': 'isChip()',
360
- '[class.btn-primary-ghost]': 'isChip()',
361
426
  '[class.hide-badge-collapsed]': 'hideBadgeWhenCollapsed()',
362
427
  '(click)': 'triggered()'
363
- }, template: "@let icon = this.icon();\n@if (icon) {\n <si-icon [class]=\"isChip() ? 'icon' : 'icon-lg'\" [icon]=\"icon\" />\n}\n<div class=\"item-title text-truncate si-h5\">\n <ng-content />\n</div>\n@if (!isChip() && !navbar.textOnly() && formattedBadge()) {\n @let badgeColor = this.badgeColor();\n <span\n [class]=\"[\n 'badge',\n badgeColor ? `bg-${badgeColor}` : 'bg-default',\n textOnlyBadge() ? 'badge-text-only' : '',\n navbar.collapsed() ? 'badge-collapsed' : ''\n ]\"\n >{{ formattedBadge() }}</span\n >\n}\n@if (group) {\n <si-icon\n class=\"dropdown-caret me-0 text-body\"\n [icon]=\"group.flyoutMode() ? icons.elementRight2 : icons.elementDown2\"\n />\n}\n", styles: [":host(.navbar-vertical-item){display:flex;align-items:center;position:relative;color:var(--element-text-primary);background:none;border:0;font-size:.875rem;padding-block:8px;padding-inline:0 12px;min-inline-size:0;min-block-size:calc(1lh + 24px);inline-size:100%;border-radius:0}:host(.navbar-vertical-item) .item-title{margin-inline-start:12px}:host(.navbar-vertical-item) .icon-lg{margin-inline-start:12px}:host(.navbar-vertical-item) .icon-lg+.item-title{margin-inline-start:8px}:host(.navbar-vertical-item).show .badge:not(.badge-collapsed){display:none}:host(.navbar-vertical-item):not(.show) .badge+.dropdown-caret{margin-inline:0;padding-inline:0}:host(.navbar-vertical-item).active{color:var(--element-action-primary-hover);background:var(--element-base-1-selected)}:host(.navbar-vertical-item).active:after{content:\"\";position:absolute;inset-block:0;inset-inline-start:0;inline-size:4px;background:var(--element-action-primary-hover)}:host(.navbar-vertical-item):hover{text-decoration:none;background:var(--element-base-1-hover)}:host-context(si-navbar-vertical-next-items > .navbar-vertical-item)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-items > si-navbar-vertical-next-group)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-items > si-navbar-flyout-anchor)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-footer-items > .navbar-vertical-item)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-footer-items > si-navbar-vertical-next-group)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-footer-items > si-navbar-flyout-anchor)+:host(.navbar-vertical-item){margin-block-start:8px}:host-context(.nav-text-only si-navbar-vertical-next-group) .item-title{margin-inline-start:0}:host-context(si-navbar-vertical-next-group) :host(.navbar-vertical-item){padding-inline-start:32px}:host-context(si-navbar-vertical-next-group) :host(.navbar-vertical-item) .item-title{font-weight:400}:host-context(.dropdown-menu) :host(.navbar-vertical-item){padding-inline-start:0}:host-context(.dropdown-menu) :host(.navbar-vertical-item) .item-title{font-weight:400}:host-context(.nav-collapsed):not(.is-chip) .badge{position:absolute;inset-block-start:4px;inset-inline-end:6px;min-inline-size:.875rem;border-radius:.4375rem;font-size:.75rem;line-height:.875rem;padding-block:0;padding-inline:4px;font-family:var(--element-body-font-family);font-weight:600;text-align:center}:host-context(.nav-collapsed):not(.is-chip) .badge.badge-text-only{color:transparent;font-size:0}:host-context(.nav-collapsed):not(.is-chip) :is(.item-title,.dropdown-caret){position:absolute!important;inline-size:1px!important;block-size:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}:host-context(.nav-collapsed):not(.is-chip).hide-badge-collapsed .badge{display:none}.badge{margin-inline:auto 0}:host(.is-chip).active:after{display:none}:host(.is-chip) .dropdown-caret{display:none}:host(.is-chip) .item-title{font-weight:400}:host-context(.chip).is-chip{border-start-start-radius:0;border-end-start-radius:0;inline-size:100%;min-inline-size:0}\n"] }]
364
- }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], badge: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge", required: false }] }], badgeColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "badgeColor", required: false }] }], hideBadgeWhenCollapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideBadgeWhenCollapsed", required: false }] }], activeOverride: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeOverride", required: false }] }] } });
428
+ }, template: "@let icon = this.icon();\n@if (icon) {\n <si-icon class=\"icon\" [icon]=\"icon\" />\n}\n<div class=\"item-title text-truncate si-h5\">{{ label() }}</div>\n@if (!navbar.textOnly() && formattedBadge()) {\n @let badgeColor = this.badgeColor();\n <span\n [class]=\"[\n 'badge',\n badgeColor ? `bg-${badgeColor}` : 'bg-default',\n textOnlyBadge() ? 'badge-text-only' : '',\n navbar.collapsed() ? 'badge-collapsed' : ''\n ]\"\n >{{ formattedBadge() }}</span\n >\n}\n@if (group) {\n <si-icon\n class=\"dropdown-caret me-0 text-primary\"\n [icon]=\"group.flyoutMode() ? icons.elementRight2 : icons.elementDown2\"\n />\n}\n", styles: [":host(.navbar-vertical-item){display:flex;align-items:center;position:relative;color:var(--si-sys-text-primary);background:none;border:0;font-size:var(--si-sys-typography-font-size-body);padding-block:var(--si-sys-sizing-spacing-y-40);padding-inline:0 var(--si-sys-sizing-spacing-x-50);min-inline-size:0;min-block-size:calc(1lh + 2 * var(--si-sys-sizing-spacing-y-50));inline-size:100%;border-radius:0}:host(.navbar-vertical-item) .item-title{margin-inline-start:var(--si-sys-sizing-spacing-x-50)}:host(.navbar-vertical-item) .icon{margin-inline-start:var(--si-sys-sizing-spacing-x-50);padding-inline:var(--si-sys-sizing-spacing-x-10);padding-block:var(--si-sys-sizing-spacing-y-10)}:host(.navbar-vertical-item) .icon+.item-title{margin-inline-start:var(--si-sys-sizing-spacing-x-40)}:host(.navbar-vertical-item).show .badge:not(.badge-collapsed){display:none}:host(.navbar-vertical-item):not(.show) .badge+.dropdown-caret{margin-inline:0;padding-inline:0}:host(.navbar-vertical-item).active{color:var(--si-sys-text-accent-active);background:var(--si-sys-background-active)}:host(.navbar-vertical-item).active:after{content:\"\";position:absolute;inset-block:0;inset-inline-start:0;inline-size:4px;background:var(--si-sys-border-accent-active)}:host(.navbar-vertical-item):hover{text-decoration:none;background:var(--si-sys-background-hover)}:host-context(si-navbar-vertical-next-items > .navbar-vertical-item)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-items > si-navbar-vertical-next-group)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-items > si-navbar-flyout-anchor)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-footer-items > .navbar-vertical-item)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-footer-items > si-navbar-vertical-next-group)+:host(.navbar-vertical-item),:host-context(si-navbar-vertical-next-footer-items > si-navbar-flyout-anchor)+:host(.navbar-vertical-item){margin-block-start:var(--si-sys-sizing-spacing-y-40)}:host-context(.nav-text-only si-navbar-vertical-next-group) .item-title{margin-inline-start:0}:host-context(si-navbar-vertical-next-group) :host(.navbar-vertical-item){padding-inline-start:var(--si-sys-sizing-spacing-x-90)}:host-context(si-navbar-vertical-next-group) :host(.navbar-vertical-item) .item-title{font-weight:400}:host-context(.dropdown-menu) :host(.navbar-vertical-item){padding-inline-start:0}:host-context(.dropdown-menu) :host(.navbar-vertical-item) .item-title{font-weight:400}:host-context(.nav-collapsed) .badge{position:absolute;inset-block-start:var(--si-sys-sizing-spacing-y-20);inset-inline-end:var(--si-sys-sizing-spacing-x-30);min-inline-size:.875rem;border-radius:.4375rem;font-size:var(--si-sys-typography-font-size-body-sm);line-height:.875rem;padding-block:0;padding-inline:var(--si-sys-sizing-spacing-x-20);font-family:var(--element-body-font-family);font-weight:600;text-align:center}:host-context(.nav-collapsed) .badge.badge-text-only{color:transparent;font-size:0}:host-context(.nav-collapsed) :is(.item-title,.dropdown-caret){position:absolute!important;inline-size:1px!important;block-size:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}:host-context(.nav-collapsed).hide-badge-collapsed .badge{display:none}.badge{margin-inline:auto 0}\n"] }]
429
+ }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], badge: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge", required: false }] }], badgeColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "badgeColor", required: false }] }], hideBadgeWhenCollapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideBadgeWhenCollapsed", required: false }] }], activeOverride: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeOverride", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }] } });
365
430
 
366
431
  /**
367
432
  * Copyright (c) Siemens 2016 - 2026
@@ -380,13 +445,14 @@ class SiNavbarVerticalNextComponent {
380
445
  *
381
446
  * @defaultValue false
382
447
  */
383
- collapsed = model(false, ...(ngDevMode ? [{ debugName: "collapsed" }] : []));
448
+ collapsed = model(false, /* @ts-ignore */
449
+ ...(ngDevMode ? [{ debugName: "collapsed" }] : /* istanbul ignore next */ []));
384
450
  /**
385
451
  * Set to `true` if there are no icons
386
452
  *
387
453
  * @defaultValue false
388
454
  */
389
- textOnly = input(false, { ...(ngDevMode ? { debugName: "textOnly" } : {}), transform: booleanAttribute });
455
+ textOnly = input(false, { ...(ngDevMode ? { debugName: "textOnly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
390
456
  /**
391
457
  * Enables an alternative inline-collapse behavior.
392
458
  *
@@ -395,7 +461,7 @@ class SiNavbarVerticalNextComponent {
395
461
  *
396
462
  * @defaultValue false
397
463
  */
398
- inlineCollapse = input(false, { ...(ngDevMode ? { debugName: "inlineCollapse" } : {}), transform: booleanAttribute });
464
+ inlineCollapse = input(false, { ...(ngDevMode ? { debugName: "inlineCollapse" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
399
465
  /**
400
466
  * When `true`, item-groups always open as a transient flyout panel adjacent to the
401
467
  * trigger, regardless of whether the navbar is collapsed or expanded.
@@ -403,7 +469,7 @@ class SiNavbarVerticalNextComponent {
403
469
  *
404
470
  * @defaultValue false
405
471
  */
406
- alwaysFlyout = input(false, { ...(ngDevMode ? { debugName: "alwaysFlyout" } : {}), transform: booleanAttribute });
472
+ alwaysFlyout = input(false, { ...(ngDevMode ? { debugName: "alwaysFlyout" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
407
473
  /**
408
474
  * List of vertical navigation items
409
475
  *
@@ -412,22 +478,24 @@ class SiNavbarVerticalNextComponent {
412
478
  *
413
479
  * @defaultValue true
414
480
  */
415
- visible = input(true, { ...(ngDevMode ? { debugName: "visible" } : {}), transform: booleanAttribute });
481
+ visible = input(true, { ...(ngDevMode ? { debugName: "visible" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
416
482
  /**
417
483
  * Text for the navbar toggle button used as `aria-label`.
418
484
  * The expanded state is communicated via `aria-expanded`.
419
485
  *
420
486
  * @defaultValue
421
487
  * ```
422
- * t(() => $localize`:@@SI_NAVBAR_VERTICAL.TOGGLE:Toggle`)
488
+ * t(() => $localize`:@@SI_NAVBAR_VERTICAL.TOGGLE:Show side navigation`)
423
489
  * ```
424
490
  */
425
- toggleButtonText = input(t(() => $localize `:@@SI_NAVBAR_VERTICAL.TOGGLE:Toggle`), ...(ngDevMode ? [{ debugName: "toggleButtonText" }] : []));
491
+ toggleButtonText = input(t(() => $localize `:@@SI_NAVBAR_VERTICAL.TOGGLE:Show side navigation`), /* @ts-ignore */
492
+ ...(ngDevMode ? [{ debugName: "toggleButtonText" }] : /* istanbul ignore next */ []));
426
493
  /**
427
494
  * An optional stateId to uniquely identify a component instance.
428
495
  * Required for persistence of ui state.
429
496
  */
430
- stateId = input(...(ngDevMode ? [undefined, { debugName: "stateId" }] : []));
497
+ stateId = input(/* @ts-ignore */
498
+ ...(ngDevMode ? [undefined, { debugName: "stateId" }] : /* istanbul ignore next */ []));
431
499
  /**
432
500
  * Label for the skip link to the vertical navbar
433
501
  *
@@ -436,7 +504,8 @@ class SiNavbarVerticalNextComponent {
436
504
  * t(() => $localize`:@@SI_NAVBAR_VERTICAL.SKIP_LINK.NAVIGATION_LABEL:Navigation`)
437
505
  * ```
438
506
  */
439
- skipLinkNavigationLabel = input(t(() => $localize `:@@SI_NAVBAR_VERTICAL.SKIP_LINK.NAVIGATION_LABEL:Navigation`), ...(ngDevMode ? [{ debugName: "skipLinkNavigationLabel" }] : []));
507
+ skipLinkNavigationLabel = input(t(() => $localize `:@@SI_NAVBAR_VERTICAL.SKIP_LINK.NAVIGATION_LABEL:Navigation`), /* @ts-ignore */
508
+ ...(ngDevMode ? [{ debugName: "skipLinkNavigationLabel" }] : /* istanbul ignore next */ []));
440
509
  /**
441
510
  * Label for the skip link to main content
442
511
  *
@@ -445,35 +514,42 @@ class SiNavbarVerticalNextComponent {
445
514
  * t(() => $localize`:@@SI_NAVBAR_VERTICAL.SKIP_LINK.MAIN_LABEL:Main content`)
446
515
  * ```
447
516
  */
448
- skipLinkMainContentLabel = input(t(() => $localize `:@@SI_NAVBAR_VERTICAL.SKIP_LINK.MAIN_LABEL:Main content`), ...(ngDevMode ? [{ debugName: "skipLinkMainContentLabel" }] : []));
517
+ skipLinkMainContentLabel = input(t(() => $localize `:@@SI_NAVBAR_VERTICAL.SKIP_LINK.MAIN_LABEL:Main content`), /* @ts-ignore */
518
+ ...(ngDevMode ? [{ debugName: "skipLinkMainContentLabel" }] : /* istanbul ignore next */ []));
449
519
  uiStateService = inject(SI_UI_STATE_SERVICE, { optional: true });
450
520
  breakpointObserver = inject(BreakpointObserver);
451
521
  injector = inject(Injector);
452
- ready = signal(false, ...(ngDevMode ? [{ debugName: "ready" }] : []));
453
- smallScreen = signal(false, ...(ngDevMode ? [{ debugName: "smallScreen" }] : []));
454
- /** Stable ViewContainerRef inside <nav>, used to host flyout anchors when the chip DomPortal moves a trigger outside the nav.
522
+ ready = signal(false, /* @ts-ignore */
523
+ ...(ngDevMode ? [{ debugName: "ready" }] : /* istanbul ignore next */ []));
524
+ smallScreen = signal(false, /* @ts-ignore */
525
+ ...(ngDevMode ? [{ debugName: "smallScreen" }] : /* istanbul ignore next */ []));
526
+ /** Chip menu sub-component; present only while the parent template renders it.
455
527
  * @internal
456
528
  */
457
- flyoutAnchorHost = viewChild('flyoutAnchorHost', { ...(ngDevMode ? { debugName: "flyoutAnchorHost" } : {}), read: ViewContainerRef });
458
- /** All projected nav items, including descendants inside group templates.
529
+ chipMenu = viewChild(SiNavbarVerticalNextChipMenuComponent, /* @ts-ignore */
530
+ ...(ngDevMode ? [{ debugName: "chipMenu" }] : /* istanbul ignore next */ []));
531
+ /** Projected items container; portaled into the chip menu overlay while it is open.
459
532
  * @internal
460
533
  */
461
- items = contentChildren(SiNavbarVerticalNextItemComponent, { ...(ngDevMode ? { debugName: "items" } : {}), descendants: true });
462
- /** The active root-level item; group triggers resolve for nested routes.
534
+ itemsComponent = contentChild(SiNavbarVerticalNextItemsComponent, /* @ts-ignore */
535
+ ...(ngDevMode ? [{ debugName: "itemsComponent" }] : /* istanbul ignore next */ []));
536
+ /** All projected nav items, including descendants inside group templates.
463
537
  * @internal
464
538
  */
465
- activeItem = computed(() => this.items().find(item => item.isActiveRootItem()), ...(ngDevMode ? [{ debugName: "activeItem" }] : []));
466
- /** `true` when the active item's portal should occupy the chip slot.
539
+ items = contentChildren(SiNavbarVerticalNextItemComponent, { ...(ngDevMode ? { debugName: "items" } : /* istanbul ignore next */ {}), descendants: true });
540
+ /** The active root-level item; group triggers resolve for nested routes.
467
541
  * @internal
468
542
  */
469
- chipPortalAttached = computed(() => this.inlineCollapse() && this.collapsed() && !!this.activeItem(), ...(ngDevMode ? [{ debugName: "chipPortalAttached" }] : []));
543
+ activeItem = linkedSignal({ ...(ngDevMode ? { debugName: "activeItem" } : /* istanbul ignore next */ {}), source: () => this.items().find(item => item.isActiveRootItem()),
544
+ computation: (current, previous) => current ?? previous?.value });
470
545
  /**
471
546
  * @defaultValue
472
547
  * ```
473
548
  * {}
474
549
  * ```
475
550
  */
476
- uiStateExpandedItems = signal({}, ...(ngDevMode ? [{ debugName: "uiStateExpandedItems" }] : []));
551
+ uiStateExpandedItems = signal({}, /* @ts-ignore */
552
+ ...(ngDevMode ? [{ debugName: "uiStateExpandedItems" }] : /* istanbul ignore next */ []));
477
553
  // Indicates if the user prefers a collapsed navbar. Relevant for resizing.
478
554
  preferCollapse = false;
479
555
  toggleIcon = computed(() => {
@@ -481,15 +557,28 @@ class SiNavbarVerticalNextComponent {
481
557
  return this.collapsed() ? this.icons.elementLayoutPane2 : this.icons.elementLayoutPane2Right;
482
558
  }
483
559
  return this.collapsed() ? this.icons.elementDoubleRight : this.icons.elementDoubleLeft;
484
- }, ...(ngDevMode ? [{ debugName: "toggleIcon" }] : []));
560
+ }, /* @ts-ignore */
561
+ ...(ngDevMode ? [{ debugName: "toggleIcon" }] : /* istanbul ignore next */ []));
485
562
  /** `true` when inline-collapse is active and the nav is collapsed.
486
563
  * @internal
487
564
  */
488
- chipMode = computed(() => this.inlineCollapse() && this.collapsed(), ...(ngDevMode ? [{ debugName: "chipMode" }] : []));
565
+ chipMode = computed(() => this.inlineCollapse() && this.collapsed(), /* @ts-ignore */
566
+ ...(ngDevMode ? [{ debugName: "chipMode" }] : /* istanbul ignore next */ []));
489
567
  /** `true` when groups should render as flyout overlays.
490
568
  * @internal
491
569
  */
492
- flyoutMode = computed(() => this.alwaysFlyout() || this.collapsed(), ...(ngDevMode ? [{ debugName: "flyoutMode" }] : []));
570
+ flyoutMode = computed(() => this.alwaysFlyout() || this.collapsed(), /* @ts-ignore */
571
+ ...(ngDevMode ? [{ debugName: "flyoutMode" }] : /* istanbul ignore next */ []));
572
+ /** `true` when the chip menu overlay is open.
573
+ * @internal
574
+ */
575
+ chipMenuOpen = computed(() => this.chipMenu()?.open() ?? false, /* @ts-ignore */
576
+ ...(ngDevMode ? [{ debugName: "chipMenuOpen" }] : /* istanbul ignore next */ []));
577
+ /** `true` when the chip is rendered and visually parked next to the toggle.
578
+ * @internal
579
+ */
580
+ hasVisibleChip = computed(() => this.chipMode() && !!this.activeItem(), /* @ts-ignore */
581
+ ...(ngDevMode ? [{ debugName: "hasVisibleChip" }] : /* istanbul ignore next */ []));
493
582
  constructor() {
494
583
  this.breakpointObserver
495
584
  .observe(`(max-width: ${BOOTSTRAP_BREAKPOINTS.lgMinimum}px)`)
@@ -568,21 +657,28 @@ class SiNavbarVerticalNextComponent {
568
657
  if (this.smallScreen()) {
569
658
  this.collapsed.set(true);
570
659
  }
660
+ this.chipMenu()?.close();
571
661
  }
572
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
573
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiNavbarVerticalNextComponent, isStandalone: true, selector: "si-navbar-vertical-next", inputs: { collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, textOnly: { classPropertyName: "textOnly", publicName: "textOnly", isSignal: true, isRequired: false, transformFunction: null }, inlineCollapse: { classPropertyName: "inlineCollapse", publicName: "inlineCollapse", isSignal: true, isRequired: false, transformFunction: null }, alwaysFlyout: { classPropertyName: "alwaysFlyout", publicName: "alwaysFlyout", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, toggleButtonText: { classPropertyName: "toggleButtonText", publicName: "toggleButtonText", isSignal: true, isRequired: false, transformFunction: null }, stateId: { classPropertyName: "stateId", publicName: "stateId", isSignal: true, isRequired: false, transformFunction: null }, skipLinkNavigationLabel: { classPropertyName: "skipLinkNavigationLabel", publicName: "skipLinkNavigationLabel", isSignal: true, isRequired: false, transformFunction: null }, skipLinkMainContentLabel: { classPropertyName: "skipLinkMainContentLabel", publicName: "skipLinkMainContentLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { collapsed: "collapsedChange" }, host: { properties: { "class.nav-collapsed": "collapsed()", "class.nav-text-only": "textOnly()", "class.nav-inline-collapse": "inlineCollapse()", "class.visible": "visible()", "class.ready": "ready()" }, classAttribute: "si-layout-inner ready" }, providers: [{ provide: SI_NAVBAR_VERTICAL_NEXT, useExisting: SiNavbarVerticalNextComponent }], queries: [{ propertyName: "items", predicate: SiNavbarVerticalNextItemComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "flyoutAnchorHost", first: true, predicate: ["flyoutAnchorHost"], descendants: true, read: ViewContainerRef, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "@if (visible()) {\n @if (smallScreen() && !collapsed()) {\n <div class=\"modal-backdrop\" animate.leave=\"backdrop-leave\" (click)=\"toggleCollapse()\"></div>\n }\n <nav\n tabindex=\"-1\"\n class=\"bg-base-1 focus-sub-inside\"\n [class.expanded]=\"!collapsed()\"\n [siSkipLinkTarget]=\"skipLinkNavigationLabel()\"\n [class.text-only]=\"textOnly()\"\n >\n <div class=\"collapse-toggle ms-auto\">\n <div class=\"mobile-drawer focus-inside\">\n <button\n type=\"button\"\n class=\"btn btn-icon toggle-button\"\n [class.btn-primary-ghost]=\"chipMode()\"\n [class.btn-tertiary-ghost]=\"!chipMode()\"\n [attr.aria-label]=\"toggleButtonText() | translate\"\n [attr.aria-expanded]=\"!collapsed()\"\n (click)=\"toggleCollapse()\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"toggleIcon()\" />\n </button>\n </div>\n </div>\n @if (inlineCollapse() && activeItem(); as item) {\n <div\n class=\"chip\"\n [class.chip-visible]=\"collapsed()\"\n [attr.inert]=\"collapsed() ? null : ''\"\n [attr.aria-hidden]=\"collapsed() ? null : 'true'\"\n >\n @if (chipPortalAttached()) {\n <ng-container [cdkPortalOutlet]=\"item.hostPortal\" />\n }\n </div>\n <ng-container #flyoutAnchorHost />\n }\n <div\n class=\"nav-content\"\n [attr.inert]=\"chipMode() ? '' : null\"\n [attr.aria-hidden]=\"chipMode() ? 'true' : null\"\n >\n <ng-content select=\"si-navbar-vertical-next-search\" />\n <ng-content select=\"si-navbar-vertical-next-items\" />\n <ng-content select=\"si-navbar-vertical-next-footer-items\" />\n </div>\n </nav>\n @if (inlineCollapse()) {\n <div class=\"toggle-placeholder\" aria-hidden=\"true\"></div>\n }\n}\n<main\n class=\"si-layout-inner focus-none\"\n tabindex=\"-1\"\n [siSkipLinkTarget]=\"skipLinkMainContentLabel()\"\n>\n <ng-content />\n</main>\n", styles: [":host{display:block;--si-layout-header-first-element-offset: 40px}:host.ready:not(.visible){padding-inline-start:0!important}:host.ready{transition:padding-inline-start calc(.5s * var(--element-animations-enabled, 1))}nav{display:flex;flex-direction:column;position:fixed;z-index:1031;inset-block-start:calc(1.5rem + 25px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px));inset-block-end:0;inset-inline-start:0;inline-size:0;transition:inline-size calc(.5s * var(--element-animations-enabled, 1)) ease}:host(.nav-collapsed) nav{z-index:1030}nav.expanded{inline-size:240px}.mobile-drawer{display:block;text-align:end;border:0;inline-size:calc(1.5rem + 24px);color:var(--element-text-primary);padding-block:4px;padding-inline:8px;margin-block-start:8px;border-start-end-radius:var(--element-radius-2);border-end-end-radius:var(--element-radius-2);transition:inline-size calc(.5s * var(--element-animations-enabled, 1)) ease,background-color calc(.5s * var(--element-animations-enabled, 1)) ease,box-shadow calc(.5s * var(--element-animations-enabled, 1)) ease}:host(:not(.nav-collapsed):not(.nav-inline-collapse)) .mobile-drawer{inline-size:240px}.modal-backdrop{z-index:1031;transition:opacity calc(.15s * var(--element-animations-enabled, 1)) linear;opacity:1}@starting-style{.modal-backdrop{opacity:0}}.modal-backdrop.backdrop-leave{opacity:0}:host(.nav-text-only:not(.nav-inline-collapse)).nav-collapsed .mobile-drawer{background:var(--element-base-1);box-shadow:0 0 4px var(--element-box-shadow-color-1),0 4px 4px var(--element-box-shadow-color-2)}@media(max-width:575.98px){:host.nav-collapsed .mobile-drawer{background:var(--element-base-1);box-shadow:0 0 4px var(--element-box-shadow-color-1),0 4px 4px var(--element-box-shadow-color-2)}}@media(min-width:576px){:host:not(.nav-text-only),:host:not(.nav-collapsed),:host(.nav-inline-collapse){--si-layout-header-first-element-offset: 0}:host:where(:not(.nav-text-only):not(.nav-inline-collapse)){padding-inline-start:calc(1.5rem + 24px)}:host:where(:not(.nav-text-only):not(.nav-inline-collapse)) nav{inline-size:calc(1.5rem + 24px)}:host:where(:not(.nav-text-only):not(.nav-inline-collapse)) nav.expanded{inline-size:240px}}@media(min-width:992px){:host:not(.nav-collapsed){padding-inline-start:240px}}.nav-content{display:flex;flex-direction:column;flex:1 1 auto;min-block-size:0}:host(.nav-inline-collapse){--si-layout-header-first-element-offset: 0;--si-navbar-parked-inline-start: 16px}@media(min-width:768px){:host(.nav-inline-collapse){--si-navbar-parked-inline-start: 32px}}:host(.nav-inline-collapse) nav{overflow:hidden}:host(.nav-inline-collapse) nav:before{content:\"\";position:absolute;inset:0;background:var(--element-base-1);z-index:1;pointer-events:none}:host(.nav-inline-collapse) .nav-content{position:relative;z-index:2}:host(.nav-inline-collapse) .mobile-drawer:before{content:\"\";display:block;block-size:calc(1lh + 16px)}:host(.nav-inline-collapse) .toggle-placeholder{block-size:0;margin-block-start:0;transition:block-size calc(.5s * var(--element-animations-enabled, 1)) ease,margin-block-start calc(.5s * var(--element-animations-enabled, 1)) ease}:host(.nav-inline-collapse) .toggle-button{position:fixed;z-index:1031;inset-block-start:calc(calc(1.5rem + 25px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px)) + 8px + 4px);inset-inline-start:calc(232px - (1lh + 16px));transition:inset-inline-start calc(.5s * var(--element-animations-enabled, 1)) ease,inset-block-start calc(.5s * var(--element-animations-enabled, 1)) ease}:host(.nav-inline-collapse) .chip{position:fixed;z-index:0;inset-block-start:calc(calc(1.5rem + 25px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px)) + 16px);max-inline-size:calc(100vi - 2 * var(--si-navbar-parked-inline-start) - calc(1lh + 16px) - 1px);inset-inline-start:var(--si-navbar-parked-inline-start);opacity:0;transition:inset-inline-start calc(.5s * var(--element-animations-enabled, 1)) ease,opacity calc(.5s * var(--element-animations-enabled, 1)) ease}:host(.nav-inline-collapse) .chip:has(:focus-visible){z-index:1032}@starting-style{:host(.nav-inline-collapse) .chip.chip-visible{inset-inline-start:var(--si-navbar-parked-inline-start);opacity:0}}:host(.nav-inline-collapse) .chip.chip-visible{inset-inline-start:calc(var(--si-navbar-parked-inline-start) + calc(1lh + 16px) + 1px);opacity:1}:host(.nav-inline-collapse).nav-collapsed .toggle-placeholder{block-size:calc(1lh + 16px);margin-block-start:16px}:host(.nav-inline-collapse).nav-collapsed .toggle-button{inset-block-start:calc(calc(1.5rem + 25px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px)) + 16px);inset-inline-start:var(--si-navbar-parked-inline-start)}:host(.nav-inline-collapse).nav-collapsed:has(.chip.chip-visible) .toggle-button{border-start-end-radius:0;border-end-end-radius:0}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiSkipLinkTargetDirective, selector: "[siSkipLinkTarget]", inputs: ["siSkipLinkTarget"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
662
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
663
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiNavbarVerticalNextComponent, isStandalone: true, selector: "si-navbar-vertical-next", inputs: { collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, textOnly: { classPropertyName: "textOnly", publicName: "textOnly", isSignal: true, isRequired: false, transformFunction: null }, inlineCollapse: { classPropertyName: "inlineCollapse", publicName: "inlineCollapse", isSignal: true, isRequired: false, transformFunction: null }, alwaysFlyout: { classPropertyName: "alwaysFlyout", publicName: "alwaysFlyout", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, toggleButtonText: { classPropertyName: "toggleButtonText", publicName: "toggleButtonText", isSignal: true, isRequired: false, transformFunction: null }, stateId: { classPropertyName: "stateId", publicName: "stateId", isSignal: true, isRequired: false, transformFunction: null }, skipLinkNavigationLabel: { classPropertyName: "skipLinkNavigationLabel", publicName: "skipLinkNavigationLabel", isSignal: true, isRequired: false, transformFunction: null }, skipLinkMainContentLabel: { classPropertyName: "skipLinkMainContentLabel", publicName: "skipLinkMainContentLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { collapsed: "collapsedChange" }, host: { properties: { "class.nav-collapsed": "collapsed()", "class.nav-text-only": "textOnly()", "class.nav-inline-collapse": "inlineCollapse()", "class.has-visible-chip": "hasVisibleChip()", "class.visible": "visible()", "class.ready": "ready()" }, classAttribute: "si-layout-inner ready" }, providers: [{ provide: SI_NAVBAR_VERTICAL_NEXT, useExisting: SiNavbarVerticalNextComponent }], queries: [{ propertyName: "itemsComponent", first: true, predicate: SiNavbarVerticalNextItemsComponent, descendants: true, isSignal: true }, { propertyName: "items", predicate: SiNavbarVerticalNextItemComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "chipMenu", first: true, predicate: SiNavbarVerticalNextChipMenuComponent, descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "@if (visible()) {\n @if (smallScreen() && !collapsed()) {\n <div class=\"modal-backdrop\" animate.leave=\"backdrop-leave\" (click)=\"toggleCollapse()\"></div>\n }\n <nav\n tabindex=\"-1\"\n class=\"background-1 focus-sub-inside\"\n [class.expanded]=\"!collapsed()\"\n [siSkipLinkTarget]=\"skipLinkNavigationLabel()\"\n [class.text-only]=\"textOnly()\"\n >\n <div class=\"collapse-toggle ms-auto\">\n <div class=\"mobile-drawer focus-inside\">\n <button\n type=\"button\"\n class=\"btn btn-icon toggle-button\"\n [class.btn-ghost]=\"chipMode()\"\n [class.btn-tertiary-ghost]=\"!chipMode()\"\n [attr.aria-label]=\"toggleButtonText() | translate\"\n [attr.aria-expanded]=\"!collapsed()\"\n (click)=\"toggleCollapse()\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"toggleIcon()\" />\n </button>\n </div>\n </div>\n @if (hasVisibleChip()) {\n <si-navbar-vertical-next-chip-menu />\n }\n <div\n class=\"nav-content\"\n [attr.inert]=\"chipMode() ? '' : null\"\n [attr.aria-hidden]=\"chipMode() ? 'true' : null\"\n >\n <ng-content select=\"si-navbar-vertical-next-search\" />\n <ng-content select=\"si-navbar-vertical-next-items\" />\n <ng-content select=\"si-navbar-vertical-next-footer-items\" />\n </div>\n </nav>\n @if (inlineCollapse()) {\n <div class=\"toggle-placeholder\" aria-hidden=\"true\"></div>\n }\n}\n<main\n class=\"si-layout-inner focus-none\"\n tabindex=\"-1\"\n [siSkipLinkTarget]=\"skipLinkMainContentLabel()\"\n>\n <ng-content />\n</main>\n", styles: [":host{display:block;--si-layout-header-first-element-offset: 40px}:host.ready:not(.visible){padding-inline-start:0!important}:host.ready{transition:padding-inline-start calc(.5s * var(--element-animations-enabled, 1))}nav{display:flex;flex-direction:column;position:fixed;z-index:1031;inset-block-start:calc(var(--si-sys-sizing-sizing-100) + 1px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px));inset-block-end:0;inset-inline-start:0;inline-size:0;transition:inline-size calc(.5s * var(--element-animations-enabled, 1)) ease}:host(.nav-collapsed) nav{z-index:1030}nav.expanded{inline-size:240px}.mobile-drawer{display:block;text-align:end;border:0;inline-size:calc(1.5rem + 2 * var(--si-sys-sizing-spacing-x-50));color:var(--si-sys-text-primary);padding-block:var(--si-sys-sizing-spacing-y-20);padding-inline:var(--si-sys-sizing-spacing-x-40);margin-block-start:var(--si-sys-sizing-spacing-y-40);border-start-end-radius:var(--element-radius-2);border-end-end-radius:var(--element-radius-2);transition:inline-size calc(.5s * var(--element-animations-enabled, 1)) ease,background-color calc(.5s * var(--element-animations-enabled, 1)) ease,box-shadow calc(.5s * var(--element-animations-enabled, 1)) ease}:host(:not(.nav-collapsed):not(.nav-inline-collapse)) .mobile-drawer{inline-size:240px}.modal-backdrop{z-index:1031;transition:opacity calc(.15s * var(--element-animations-enabled, 1)) linear;opacity:1}@starting-style{.modal-backdrop{opacity:0}}.modal-backdrop.backdrop-leave{opacity:0}:host(.nav-text-only:not(.nav-inline-collapse)).nav-collapsed .mobile-drawer{background:var(--si-sys-background-1);box-shadow:var(--si-sys-effects-shadow-1)}@media(max-width:575.98px){:host.nav-collapsed .mobile-drawer{background:var(--si-sys-background-1);box-shadow:var(--si-sys-effects-shadow-1)}}@media(min-width:576px){:host:not(.nav-text-only),:host:not(.nav-collapsed),:host(.nav-inline-collapse){--si-layout-header-first-element-offset: 0}:host:where(:not(.nav-text-only):not(.nav-inline-collapse)){padding-inline-start:calc(1.5rem + 2 * var(--si-sys-sizing-spacing-x-50))}:host:where(:not(.nav-text-only):not(.nav-inline-collapse)) nav{inline-size:calc(1.5rem + 2 * var(--si-sys-sizing-spacing-x-50))}:host:where(:not(.nav-text-only):not(.nav-inline-collapse)) nav.expanded{inline-size:240px}}@media(min-width:992px){:host:not(.nav-collapsed){padding-inline-start:240px}}.nav-content{display:flex;flex-direction:column;flex:1 1 auto;min-block-size:0}:host(.nav-inline-collapse){--si-layout-header-first-element-offset: 0;--si-navbar-parked-inline-start: var(--si-sys-sizing-spacing-x-60)}@media(min-width:768px){:host(.nav-inline-collapse){--si-navbar-parked-inline-start: var(--si-sys-sizing-spacing-x-90)}}:host(.nav-inline-collapse) nav{overflow:hidden}:host(.nav-inline-collapse) nav:before{content:\"\";position:absolute;inset:0;background:var(--si-sys-background-1);z-index:1;pointer-events:none}:host(.nav-inline-collapse) .nav-content{position:relative;z-index:2}:host(.nav-inline-collapse) .mobile-drawer:before{content:\"\";display:block;block-size:calc(1lh + 2 * var(--si-sys-sizing-spacing-y-40))}:host(.nav-inline-collapse) .toggle-placeholder{block-size:0;margin-block-start:0;transition:block-size calc(.5s * var(--element-animations-enabled, 1)) ease,margin-block-start calc(.5s * var(--element-animations-enabled, 1)) ease}:host(.nav-inline-collapse) .toggle-button{position:fixed;z-index:1031;inset-block-start:calc(calc(var(--si-sys-sizing-sizing-100) + 1px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px)) + var(--si-sys-sizing-spacing-y-40) + var(--si-sys-sizing-spacing-y-20));inset-inline-start:calc(240px - calc(1lh + 2 * var(--si-sys-sizing-spacing-y-40)) - var(--si-sys-sizing-spacing-x-40));transition:inset-inline-start calc(.5s * var(--element-animations-enabled, 1)) ease,inset-block-start calc(.5s * var(--element-animations-enabled, 1)) ease}:host(.nav-inline-collapse).nav-collapsed .toggle-placeholder{block-size:calc(1lh + 2 * var(--si-sys-sizing-spacing-y-40));margin-block-start:var(--si-sys-sizing-spacing-y-60)}:host(.nav-inline-collapse).nav-collapsed .toggle-button{inset-block-start:calc(calc(var(--si-sys-sizing-sizing-100) + 1px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px)) + var(--si-sys-sizing-spacing-y-60));inset-inline-start:var(--si-navbar-parked-inline-start)}:host(.has-visible-chip) .toggle-button{border-start-end-radius:0;border-end-end-radius:0}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiNavbarVerticalNextChipMenuComponent, selector: "si-navbar-vertical-next-chip-menu" }, { kind: "directive", type: SiSkipLinkTargetDirective, selector: "[siSkipLinkTarget]", inputs: ["siSkipLinkTarget"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
574
664
  }
575
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextComponent, decorators: [{
665
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextComponent, decorators: [{
576
666
  type: Component,
577
- args: [{ selector: 'si-navbar-vertical-next', imports: [PortalModule, SiIconComponent, SiSkipLinkTargetDirective, SiTranslatePipe], providers: [{ provide: SI_NAVBAR_VERTICAL_NEXT, useExisting: SiNavbarVerticalNextComponent }], changeDetection: ChangeDetectionStrategy.OnPush, host: {
667
+ args: [{ selector: 'si-navbar-vertical-next', imports: [
668
+ SiIconComponent,
669
+ SiNavbarVerticalNextChipMenuComponent,
670
+ SiSkipLinkTargetDirective,
671
+ SiTranslatePipe
672
+ ], providers: [{ provide: SI_NAVBAR_VERTICAL_NEXT, useExisting: SiNavbarVerticalNextComponent }], host: {
578
673
  class: 'si-layout-inner ready',
579
674
  '[class.nav-collapsed]': 'collapsed()',
580
675
  '[class.nav-text-only]': 'textOnly()',
581
676
  '[class.nav-inline-collapse]': 'inlineCollapse()',
677
+ '[class.has-visible-chip]': 'hasVisibleChip()',
582
678
  '[class.visible]': 'visible()',
583
679
  '[class.ready]': 'ready()'
584
- }, template: "@if (visible()) {\n @if (smallScreen() && !collapsed()) {\n <div class=\"modal-backdrop\" animate.leave=\"backdrop-leave\" (click)=\"toggleCollapse()\"></div>\n }\n <nav\n tabindex=\"-1\"\n class=\"bg-base-1 focus-sub-inside\"\n [class.expanded]=\"!collapsed()\"\n [siSkipLinkTarget]=\"skipLinkNavigationLabel()\"\n [class.text-only]=\"textOnly()\"\n >\n <div class=\"collapse-toggle ms-auto\">\n <div class=\"mobile-drawer focus-inside\">\n <button\n type=\"button\"\n class=\"btn btn-icon toggle-button\"\n [class.btn-primary-ghost]=\"chipMode()\"\n [class.btn-tertiary-ghost]=\"!chipMode()\"\n [attr.aria-label]=\"toggleButtonText() | translate\"\n [attr.aria-expanded]=\"!collapsed()\"\n (click)=\"toggleCollapse()\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"toggleIcon()\" />\n </button>\n </div>\n </div>\n @if (inlineCollapse() && activeItem(); as item) {\n <div\n class=\"chip\"\n [class.chip-visible]=\"collapsed()\"\n [attr.inert]=\"collapsed() ? null : ''\"\n [attr.aria-hidden]=\"collapsed() ? null : 'true'\"\n >\n @if (chipPortalAttached()) {\n <ng-container [cdkPortalOutlet]=\"item.hostPortal\" />\n }\n </div>\n <ng-container #flyoutAnchorHost />\n }\n <div\n class=\"nav-content\"\n [attr.inert]=\"chipMode() ? '' : null\"\n [attr.aria-hidden]=\"chipMode() ? 'true' : null\"\n >\n <ng-content select=\"si-navbar-vertical-next-search\" />\n <ng-content select=\"si-navbar-vertical-next-items\" />\n <ng-content select=\"si-navbar-vertical-next-footer-items\" />\n </div>\n </nav>\n @if (inlineCollapse()) {\n <div class=\"toggle-placeholder\" aria-hidden=\"true\"></div>\n }\n}\n<main\n class=\"si-layout-inner focus-none\"\n tabindex=\"-1\"\n [siSkipLinkTarget]=\"skipLinkMainContentLabel()\"\n>\n <ng-content />\n</main>\n", styles: [":host{display:block;--si-layout-header-first-element-offset: 40px}:host.ready:not(.visible){padding-inline-start:0!important}:host.ready{transition:padding-inline-start calc(.5s * var(--element-animations-enabled, 1))}nav{display:flex;flex-direction:column;position:fixed;z-index:1031;inset-block-start:calc(1.5rem + 25px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px));inset-block-end:0;inset-inline-start:0;inline-size:0;transition:inline-size calc(.5s * var(--element-animations-enabled, 1)) ease}:host(.nav-collapsed) nav{z-index:1030}nav.expanded{inline-size:240px}.mobile-drawer{display:block;text-align:end;border:0;inline-size:calc(1.5rem + 24px);color:var(--element-text-primary);padding-block:4px;padding-inline:8px;margin-block-start:8px;border-start-end-radius:var(--element-radius-2);border-end-end-radius:var(--element-radius-2);transition:inline-size calc(.5s * var(--element-animations-enabled, 1)) ease,background-color calc(.5s * var(--element-animations-enabled, 1)) ease,box-shadow calc(.5s * var(--element-animations-enabled, 1)) ease}:host(:not(.nav-collapsed):not(.nav-inline-collapse)) .mobile-drawer{inline-size:240px}.modal-backdrop{z-index:1031;transition:opacity calc(.15s * var(--element-animations-enabled, 1)) linear;opacity:1}@starting-style{.modal-backdrop{opacity:0}}.modal-backdrop.backdrop-leave{opacity:0}:host(.nav-text-only:not(.nav-inline-collapse)).nav-collapsed .mobile-drawer{background:var(--element-base-1);box-shadow:0 0 4px var(--element-box-shadow-color-1),0 4px 4px var(--element-box-shadow-color-2)}@media(max-width:575.98px){:host.nav-collapsed .mobile-drawer{background:var(--element-base-1);box-shadow:0 0 4px var(--element-box-shadow-color-1),0 4px 4px var(--element-box-shadow-color-2)}}@media(min-width:576px){:host:not(.nav-text-only),:host:not(.nav-collapsed),:host(.nav-inline-collapse){--si-layout-header-first-element-offset: 0}:host:where(:not(.nav-text-only):not(.nav-inline-collapse)){padding-inline-start:calc(1.5rem + 24px)}:host:where(:not(.nav-text-only):not(.nav-inline-collapse)) nav{inline-size:calc(1.5rem + 24px)}:host:where(:not(.nav-text-only):not(.nav-inline-collapse)) nav.expanded{inline-size:240px}}@media(min-width:992px){:host:not(.nav-collapsed){padding-inline-start:240px}}.nav-content{display:flex;flex-direction:column;flex:1 1 auto;min-block-size:0}:host(.nav-inline-collapse){--si-layout-header-first-element-offset: 0;--si-navbar-parked-inline-start: 16px}@media(min-width:768px){:host(.nav-inline-collapse){--si-navbar-parked-inline-start: 32px}}:host(.nav-inline-collapse) nav{overflow:hidden}:host(.nav-inline-collapse) nav:before{content:\"\";position:absolute;inset:0;background:var(--element-base-1);z-index:1;pointer-events:none}:host(.nav-inline-collapse) .nav-content{position:relative;z-index:2}:host(.nav-inline-collapse) .mobile-drawer:before{content:\"\";display:block;block-size:calc(1lh + 16px)}:host(.nav-inline-collapse) .toggle-placeholder{block-size:0;margin-block-start:0;transition:block-size calc(.5s * var(--element-animations-enabled, 1)) ease,margin-block-start calc(.5s * var(--element-animations-enabled, 1)) ease}:host(.nav-inline-collapse) .toggle-button{position:fixed;z-index:1031;inset-block-start:calc(calc(1.5rem + 25px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px)) + 8px + 4px);inset-inline-start:calc(232px - (1lh + 16px));transition:inset-inline-start calc(.5s * var(--element-animations-enabled, 1)) ease,inset-block-start calc(.5s * var(--element-animations-enabled, 1)) ease}:host(.nav-inline-collapse) .chip{position:fixed;z-index:0;inset-block-start:calc(calc(1.5rem + 25px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px)) + 16px);max-inline-size:calc(100vi - 2 * var(--si-navbar-parked-inline-start) - calc(1lh + 16px) - 1px);inset-inline-start:var(--si-navbar-parked-inline-start);opacity:0;transition:inset-inline-start calc(.5s * var(--element-animations-enabled, 1)) ease,opacity calc(.5s * var(--element-animations-enabled, 1)) ease}:host(.nav-inline-collapse) .chip:has(:focus-visible){z-index:1032}@starting-style{:host(.nav-inline-collapse) .chip.chip-visible{inset-inline-start:var(--si-navbar-parked-inline-start);opacity:0}}:host(.nav-inline-collapse) .chip.chip-visible{inset-inline-start:calc(var(--si-navbar-parked-inline-start) + calc(1lh + 16px) + 1px);opacity:1}:host(.nav-inline-collapse).nav-collapsed .toggle-placeholder{block-size:calc(1lh + 16px);margin-block-start:16px}:host(.nav-inline-collapse).nav-collapsed .toggle-button{inset-block-start:calc(calc(1.5rem + 25px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px)) + 16px);inset-inline-start:var(--si-navbar-parked-inline-start)}:host(.nav-inline-collapse).nav-collapsed:has(.chip.chip-visible) .toggle-button{border-start-end-radius:0;border-end-end-radius:0}\n"] }]
585
- }], ctorParameters: () => [], propDecorators: { collapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsed", required: false }] }, { type: i0.Output, args: ["collapsedChange"] }], textOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "textOnly", required: false }] }], inlineCollapse: [{ type: i0.Input, args: [{ isSignal: true, alias: "inlineCollapse", required: false }] }], alwaysFlyout: [{ type: i0.Input, args: [{ isSignal: true, alias: "alwaysFlyout", required: false }] }], visible: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: false }] }], toggleButtonText: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleButtonText", required: false }] }], stateId: [{ type: i0.Input, args: [{ isSignal: true, alias: "stateId", required: false }] }], skipLinkNavigationLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "skipLinkNavigationLabel", required: false }] }], skipLinkMainContentLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "skipLinkMainContentLabel", required: false }] }], flyoutAnchorHost: [{ type: i0.ViewChild, args: ['flyoutAnchorHost', { ...{ read: ViewContainerRef }, isSignal: true }] }], items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SiNavbarVerticalNextItemComponent), { ...{
680
+ }, template: "@if (visible()) {\n @if (smallScreen() && !collapsed()) {\n <div class=\"modal-backdrop\" animate.leave=\"backdrop-leave\" (click)=\"toggleCollapse()\"></div>\n }\n <nav\n tabindex=\"-1\"\n class=\"background-1 focus-sub-inside\"\n [class.expanded]=\"!collapsed()\"\n [siSkipLinkTarget]=\"skipLinkNavigationLabel()\"\n [class.text-only]=\"textOnly()\"\n >\n <div class=\"collapse-toggle ms-auto\">\n <div class=\"mobile-drawer focus-inside\">\n <button\n type=\"button\"\n class=\"btn btn-icon toggle-button\"\n [class.btn-ghost]=\"chipMode()\"\n [class.btn-tertiary-ghost]=\"!chipMode()\"\n [attr.aria-label]=\"toggleButtonText() | translate\"\n [attr.aria-expanded]=\"!collapsed()\"\n (click)=\"toggleCollapse()\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"toggleIcon()\" />\n </button>\n </div>\n </div>\n @if (hasVisibleChip()) {\n <si-navbar-vertical-next-chip-menu />\n }\n <div\n class=\"nav-content\"\n [attr.inert]=\"chipMode() ? '' : null\"\n [attr.aria-hidden]=\"chipMode() ? 'true' : null\"\n >\n <ng-content select=\"si-navbar-vertical-next-search\" />\n <ng-content select=\"si-navbar-vertical-next-items\" />\n <ng-content select=\"si-navbar-vertical-next-footer-items\" />\n </div>\n </nav>\n @if (inlineCollapse()) {\n <div class=\"toggle-placeholder\" aria-hidden=\"true\"></div>\n }\n}\n<main\n class=\"si-layout-inner focus-none\"\n tabindex=\"-1\"\n [siSkipLinkTarget]=\"skipLinkMainContentLabel()\"\n>\n <ng-content />\n</main>\n", styles: [":host{display:block;--si-layout-header-first-element-offset: 40px}:host.ready:not(.visible){padding-inline-start:0!important}:host.ready{transition:padding-inline-start calc(.5s * var(--element-animations-enabled, 1))}nav{display:flex;flex-direction:column;position:fixed;z-index:1031;inset-block-start:calc(var(--si-sys-sizing-sizing-100) + 1px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px));inset-block-end:0;inset-inline-start:0;inline-size:0;transition:inline-size calc(.5s * var(--element-animations-enabled, 1)) ease}:host(.nav-collapsed) nav{z-index:1030}nav.expanded{inline-size:240px}.mobile-drawer{display:block;text-align:end;border:0;inline-size:calc(1.5rem + 2 * var(--si-sys-sizing-spacing-x-50));color:var(--si-sys-text-primary);padding-block:var(--si-sys-sizing-spacing-y-20);padding-inline:var(--si-sys-sizing-spacing-x-40);margin-block-start:var(--si-sys-sizing-spacing-y-40);border-start-end-radius:var(--element-radius-2);border-end-end-radius:var(--element-radius-2);transition:inline-size calc(.5s * var(--element-animations-enabled, 1)) ease,background-color calc(.5s * var(--element-animations-enabled, 1)) ease,box-shadow calc(.5s * var(--element-animations-enabled, 1)) ease}:host(:not(.nav-collapsed):not(.nav-inline-collapse)) .mobile-drawer{inline-size:240px}.modal-backdrop{z-index:1031;transition:opacity calc(.15s * var(--element-animations-enabled, 1)) linear;opacity:1}@starting-style{.modal-backdrop{opacity:0}}.modal-backdrop.backdrop-leave{opacity:0}:host(.nav-text-only:not(.nav-inline-collapse)).nav-collapsed .mobile-drawer{background:var(--si-sys-background-1);box-shadow:var(--si-sys-effects-shadow-1)}@media(max-width:575.98px){:host.nav-collapsed .mobile-drawer{background:var(--si-sys-background-1);box-shadow:var(--si-sys-effects-shadow-1)}}@media(min-width:576px){:host:not(.nav-text-only),:host:not(.nav-collapsed),:host(.nav-inline-collapse){--si-layout-header-first-element-offset: 0}:host:where(:not(.nav-text-only):not(.nav-inline-collapse)){padding-inline-start:calc(1.5rem + 2 * var(--si-sys-sizing-spacing-x-50))}:host:where(:not(.nav-text-only):not(.nav-inline-collapse)) nav{inline-size:calc(1.5rem + 2 * var(--si-sys-sizing-spacing-x-50))}:host:where(:not(.nav-text-only):not(.nav-inline-collapse)) nav.expanded{inline-size:240px}}@media(min-width:992px){:host:not(.nav-collapsed){padding-inline-start:240px}}.nav-content{display:flex;flex-direction:column;flex:1 1 auto;min-block-size:0}:host(.nav-inline-collapse){--si-layout-header-first-element-offset: 0;--si-navbar-parked-inline-start: var(--si-sys-sizing-spacing-x-60)}@media(min-width:768px){:host(.nav-inline-collapse){--si-navbar-parked-inline-start: var(--si-sys-sizing-spacing-x-90)}}:host(.nav-inline-collapse) nav{overflow:hidden}:host(.nav-inline-collapse) nav:before{content:\"\";position:absolute;inset:0;background:var(--si-sys-background-1);z-index:1;pointer-events:none}:host(.nav-inline-collapse) .nav-content{position:relative;z-index:2}:host(.nav-inline-collapse) .mobile-drawer:before{content:\"\";display:block;block-size:calc(1lh + 2 * var(--si-sys-sizing-spacing-y-40))}:host(.nav-inline-collapse) .toggle-placeholder{block-size:0;margin-block-start:0;transition:block-size calc(.5s * var(--element-animations-enabled, 1)) ease,margin-block-start calc(.5s * var(--element-animations-enabled, 1)) ease}:host(.nav-inline-collapse) .toggle-button{position:fixed;z-index:1031;inset-block-start:calc(calc(var(--si-sys-sizing-sizing-100) + 1px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px)) + var(--si-sys-sizing-spacing-y-40) + var(--si-sys-sizing-spacing-y-20));inset-inline-start:calc(240px - calc(1lh + 2 * var(--si-sys-sizing-spacing-y-40)) - var(--si-sys-sizing-spacing-x-40));transition:inset-inline-start calc(.5s * var(--element-animations-enabled, 1)) ease,inset-block-start calc(.5s * var(--element-animations-enabled, 1)) ease}:host(.nav-inline-collapse).nav-collapsed .toggle-placeholder{block-size:calc(1lh + 2 * var(--si-sys-sizing-spacing-y-40));margin-block-start:var(--si-sys-sizing-spacing-y-60)}:host(.nav-inline-collapse).nav-collapsed .toggle-button{inset-block-start:calc(calc(var(--si-sys-sizing-sizing-100) + 1px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px)) + var(--si-sys-sizing-spacing-y-60));inset-inline-start:var(--si-navbar-parked-inline-start)}:host(.has-visible-chip) .toggle-button{border-start-end-radius:0;border-end-end-radius:0}\n"] }]
681
+ }], ctorParameters: () => [], propDecorators: { collapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsed", required: false }] }, { type: i0.Output, args: ["collapsedChange"] }], textOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "textOnly", required: false }] }], inlineCollapse: [{ type: i0.Input, args: [{ isSignal: true, alias: "inlineCollapse", required: false }] }], alwaysFlyout: [{ type: i0.Input, args: [{ isSignal: true, alias: "alwaysFlyout", required: false }] }], visible: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: false }] }], toggleButtonText: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleButtonText", required: false }] }], stateId: [{ type: i0.Input, args: [{ isSignal: true, alias: "stateId", required: false }] }], skipLinkNavigationLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "skipLinkNavigationLabel", required: false }] }], skipLinkMainContentLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "skipLinkMainContentLabel", required: false }] }], chipMenu: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SiNavbarVerticalNextChipMenuComponent), { isSignal: true }] }], itemsComponent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SiNavbarVerticalNextItemsComponent), { isSignal: true }] }], items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SiNavbarVerticalNextItemComponent), { ...{
586
682
  descendants: true
587
683
  }, isSignal: true }] }] } });
588
684
 
@@ -595,12 +691,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
595
691
  * We need a component to attach the stylesheet
596
692
  */
597
693
  class SiNavbarVerticalNextDividerComponent {
598
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
599
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: SiNavbarVerticalNextDividerComponent, isStandalone: true, selector: "si-navbar-vertical-next-divider", ngImport: i0, template: '', isInline: true, styles: [":host{display:block;block-size:1px;background-color:var(--element-ui-4);margin-block:6px;margin-inline:12px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
694
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
695
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: SiNavbarVerticalNextDividerComponent, isStandalone: true, selector: "si-navbar-vertical-next-divider", ngImport: i0, template: '', isInline: true, styles: [":host{display:block;block-size:1px;background-color:var(--si-sys-border-4);margin-block:var(--si-sys-sizing-spacing-y-30);margin-inline:var(--si-sys-sizing-spacing-x-50)}\n"] });
600
696
  }
601
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextDividerComponent, decorators: [{
697
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextDividerComponent, decorators: [{
602
698
  type: Component,
603
- args: [{ selector: 'si-navbar-vertical-next-divider', template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;block-size:1px;background-color:var(--element-ui-4);margin-block:6px;margin-inline:12px}\n"] }]
699
+ args: [{ selector: 'si-navbar-vertical-next-divider', template: '', styles: [":host{display:block;block-size:1px;background-color:var(--si-sys-border-4);margin-block:var(--si-sys-sizing-spacing-y-30);margin-inline:var(--si-sys-sizing-spacing-x-50)}\n"] }]
604
700
  }] });
605
701
 
606
702
  /**
@@ -614,12 +710,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
614
710
  * @experimental
615
711
  */
616
712
  class SiNavbarVerticalNextFooterItemsComponent {
617
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextFooterItemsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
618
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: SiNavbarVerticalNextFooterItemsComponent, isStandalone: true, selector: "si-navbar-vertical-next-footer-items", ngImport: i0, template: '<ng-content />', isInline: true, styles: [":host{display:block;overflow-x:hidden;margin-block-start:auto;padding-block-end:8px}:host-context(.nav-collapsed){display:none}@media(min-width:576px){:host-context(:not(.nav-text-only).nav-collapsed){display:block}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
713
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextFooterItemsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
714
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: SiNavbarVerticalNextFooterItemsComponent, isStandalone: true, selector: "si-navbar-vertical-next-footer-items", ngImport: i0, template: '<ng-content />', isInline: true, styles: [":host{display:block;overflow-x:hidden;margin-block-start:auto;padding-block-end:var(--si-sys-sizing-spacing-y-40)}:host-context(.nav-collapsed){display:none}@media(min-width:576px){:host-context(:not(.nav-text-only).nav-collapsed){display:block}}\n"] });
619
715
  }
620
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextFooterItemsComponent, decorators: [{
716
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextFooterItemsComponent, decorators: [{
621
717
  type: Component,
622
- args: [{ selector: 'si-navbar-vertical-next-footer-items', template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;overflow-x:hidden;margin-block-start:auto;padding-block-end:8px}:host-context(.nav-collapsed){display:none}@media(min-width:576px){:host-context(:not(.nav-text-only).nav-collapsed){display:block}}\n"] }]
718
+ args: [{ selector: 'si-navbar-vertical-next-footer-items', template: '<ng-content />', styles: [":host{display:block;overflow-x:hidden;margin-block-start:auto;padding-block-end:var(--si-sys-sizing-spacing-y-40)}:host-context(.nav-collapsed){display:none}@media(min-width:576px){:host-context(:not(.nav-text-only).nav-collapsed){display:block}}\n"] }]
623
719
  }] });
624
720
 
625
721
  /**
@@ -633,7 +729,8 @@ class SiNavbarVerticalNextGroupComponent {
633
729
  routerLinkActive = inject(RouterLinkActive, { optional: true });
634
730
  visible = computed(() => {
635
731
  return this.groupTrigger.flyout() || (!this.navbar.collapsed() && this.groupTrigger.expanded());
636
- }, ...(ngDevMode ? [{ debugName: "visible" }] : []));
732
+ }, /* @ts-ignore */
733
+ ...(ngDevMode ? [{ debugName: "visible" }] : /* istanbul ignore next */ []));
637
734
  constructor() {
638
735
  this.routerLinkActive?.isActiveChange
639
736
  .pipe(takeUntilDestroyed())
@@ -642,8 +739,8 @@ class SiNavbarVerticalNextGroupComponent {
642
739
  close() {
643
740
  this.groupTrigger.hideFlyout();
644
741
  }
645
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
646
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiNavbarVerticalNextGroupComponent, isStandalone: true, selector: "si-navbar-vertical-next-group", host: { attributes: { "role": "group", "animate.enter": "component-enter" }, listeners: { "keydown.escape": "close()" }, properties: { "id": "groupTrigger.groupId", "attr.aria-labelledby": "groupTrigger.id" } }, ngImport: i0, template: `@if (visible()) {
742
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
743
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiNavbarVerticalNextGroupComponent, isStandalone: true, selector: "si-navbar-vertical-next-group", host: { attributes: { "animate.enter": "component-enter" }, listeners: { "keydown.escape": "close()" }, properties: { "attr.role": "groupTrigger.flyout() ? 'dialog' : 'group'", "id": "groupTrigger.groupId", "attr.aria-labelledby": "groupTrigger.id" } }, ngImport: i0, template: `@if (visible()) {
647
744
  @let flyout = groupTrigger.flyout();
648
745
  <div
649
746
  animate.leave="group-leave"
@@ -656,9 +753,9 @@ class SiNavbarVerticalNextGroupComponent {
656
753
  <ng-content />
657
754
  </div>
658
755
  </div>
659
- }`, isInline: true, styles: [":host.component-enter .inline-group{transition:none}.inline-group{display:grid;transition-property:grid-template-rows,opacity;transition-duration:calc(.5s * var(--element-animations-enabled, 1));transition-timing-function:ease;opacity:1;grid-template-rows:1fr;overflow:hidden}@starting-style{.inline-group{grid-template-rows:0fr;opacity:0}}.inline-group.group-leave{grid-template-rows:0fr;opacity:0}.dropdown-menu{display:block;position:static}\n"], dependencies: [{ kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
756
+ }`, isInline: true, styles: [":host.component-enter .inline-group{transition:none}.inline-group{display:grid;transition-property:grid-template-rows,opacity;transition-duration:calc(.5s * var(--element-animations-enabled, 1));transition-timing-function:ease;opacity:1;grid-template-rows:1fr;overflow:hidden}@starting-style{.inline-group{grid-template-rows:0fr;opacity:0}}.inline-group.group-leave{grid-template-rows:0fr;opacity:0}.dropdown-menu{display:block;position:static}\n"], dependencies: [{ kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }] });
660
757
  }
661
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextGroupComponent, decorators: [{
758
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextGroupComponent, decorators: [{
662
759
  type: Component,
663
760
  args: [{ selector: 'si-navbar-vertical-next-group', imports: [CdkTrapFocus], template: `@if (visible()) {
664
761
  @let flyout = groupTrigger.flyout();
@@ -673,8 +770,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
673
770
  <ng-content />
674
771
  </div>
675
772
  </div>
676
- }`, changeDetection: ChangeDetectionStrategy.OnPush, host: {
677
- role: 'group',
773
+ }`, host: {
774
+ '[attr.role]': "groupTrigger.flyout() ? 'dialog' : 'group'",
678
775
  '[id]': 'groupTrigger.groupId',
679
776
  '[attr.aria-labelledby]': 'groupTrigger.id',
680
777
  'animate.enter': 'component-enter',
@@ -689,31 +786,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
689
786
  /** @experimental */
690
787
  class SiNavbarVerticalNextHeaderComponent {
691
788
  navbar = inject(SI_NAVBAR_VERTICAL_NEXT);
692
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
693
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiNavbarVerticalNextHeaderComponent, isStandalone: true, selector: "si-navbar-vertical-next-header", host: { attributes: { "animate.enter": "component-enter" }, properties: { "class.collapsed": "navbar.collapsed()" } }, ngImport: i0, template: `
694
- @if (!navbar.collapsed()) {
789
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
790
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiNavbarVerticalNextHeaderComponent, isStandalone: true, selector: "si-navbar-vertical-next-header", host: { attributes: { "animate.enter": "component-enter" }, properties: { "class.collapsed": "navbar.collapsed() && !navbar.chipMenuOpen()", "class.chip-mode": "navbar.chipMode()" } }, ngImport: i0, template: `
791
+ @if (!navbar.collapsed() || navbar.chipMenuOpen()) {
695
792
  <div class="title si-h5 text-secondary text-truncate p-5" animate.leave="title-leave">
696
793
  <ng-content />
697
794
  </div>
698
795
  } @else {
699
796
  <si-navbar-vertical-next-divider class="divider" animate.leave="divider-leave" />
700
797
  }
701
- `, isInline: true, styles: [".divider,.title{opacity:1;transition:opacity calc(.25s * var(--element-animations-enabled, 1)) calc(.25s * var(--element-animations-enabled, 1)) ease-out}@starting-style{.divider,.title{opacity:0}}:host{display:flex;align-items:center;block-size:calc(1lh + 24px);transition:block-size calc(.5s * var(--element-animations-enabled, 1)) ease-out}:host.collapsed{block-size:13px}:host.component-enter{transition:none}:host.component-enter .title,:host.component-enter .divider{transition:none}.title.title-leave{opacity:0;transition:opacity calc(.25s * var(--element-animations-enabled, 1)) ease-in}.divider{flex:1;margin-block:0}.divider.divider-leave{opacity:0;transition-delay:0s}\n"], dependencies: [{ kind: "component", type: SiNavbarVerticalNextDividerComponent, selector: "si-navbar-vertical-next-divider" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
798
+ `, isInline: true, styles: [".divider,.title{opacity:1;transition:opacity calc(.25s * var(--element-animations-enabled, 1)) calc(.25s * var(--element-animations-enabled, 1)) ease-out}@starting-style{.divider,.title{opacity:0}}:host{display:flex;align-items:center;block-size:calc(1lh + 2 * var(--si-sys-sizing-spacing-y-50));transition:block-size calc(.5s * var(--element-animations-enabled, 1)) ease-out}:host.collapsed{block-size:13px}:host.component-enter{transition:none}:host.component-enter .title,:host.component-enter .divider{transition:none}.title.title-leave{opacity:0;transition:opacity calc(.25s * var(--element-animations-enabled, 1)) ease-in}:host.chip-mode .title{transition:none}.divider{flex:1;margin-block:0}.divider.divider-leave{opacity:0;transition-delay:0s}\n"], dependencies: [{ kind: "component", type: SiNavbarVerticalNextDividerComponent, selector: "si-navbar-vertical-next-divider" }] });
702
799
  }
703
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextHeaderComponent, decorators: [{
800
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextHeaderComponent, decorators: [{
704
801
  type: Component,
705
802
  args: [{ selector: 'si-navbar-vertical-next-header', imports: [SiNavbarVerticalNextDividerComponent], template: `
706
- @if (!navbar.collapsed()) {
803
+ @if (!navbar.collapsed() || navbar.chipMenuOpen()) {
707
804
  <div class="title si-h5 text-secondary text-truncate p-5" animate.leave="title-leave">
708
805
  <ng-content />
709
806
  </div>
710
807
  } @else {
711
808
  <si-navbar-vertical-next-divider class="divider" animate.leave="divider-leave" />
712
809
  }
713
- `, changeDetection: ChangeDetectionStrategy.OnPush, host: {
714
- '[class.collapsed]': 'navbar.collapsed()',
810
+ `, host: {
811
+ '[class.collapsed]': 'navbar.collapsed() && !navbar.chipMenuOpen()',
812
+ '[class.chip-mode]': 'navbar.chipMode()',
715
813
  'animate.enter': 'component-enter'
716
- }, styles: [".divider,.title{opacity:1;transition:opacity calc(.25s * var(--element-animations-enabled, 1)) calc(.25s * var(--element-animations-enabled, 1)) ease-out}@starting-style{.divider,.title{opacity:0}}:host{display:flex;align-items:center;block-size:calc(1lh + 24px);transition:block-size calc(.5s * var(--element-animations-enabled, 1)) ease-out}:host.collapsed{block-size:13px}:host.component-enter{transition:none}:host.component-enter .title,:host.component-enter .divider{transition:none}.title.title-leave{opacity:0;transition:opacity calc(.25s * var(--element-animations-enabled, 1)) ease-in}.divider{flex:1;margin-block:0}.divider.divider-leave{opacity:0;transition-delay:0s}\n"] }]
814
+ }, styles: [".divider,.title{opacity:1;transition:opacity calc(.25s * var(--element-animations-enabled, 1)) calc(.25s * var(--element-animations-enabled, 1)) ease-out}@starting-style{.divider,.title{opacity:0}}:host{display:flex;align-items:center;block-size:calc(1lh + 2 * var(--si-sys-sizing-spacing-y-50));transition:block-size calc(.5s * var(--element-animations-enabled, 1)) ease-out}:host.collapsed{block-size:13px}:host.component-enter{transition:none}:host.component-enter .title,:host.component-enter .divider{transition:none}.title.title-leave{opacity:0;transition:opacity calc(.25s * var(--element-animations-enabled, 1)) ease-in}:host.chip-mode .title{transition:none}.divider{flex:1;margin-block:0}.divider.divider-leave{opacity:0;transition-delay:0s}\n"] }]
717
815
  }] });
718
816
 
719
817
  /**
@@ -728,89 +826,36 @@ class SiNavbarVerticalNextSearchComponent {
728
826
  *
729
827
  * @defaultValue
730
828
  * ```
731
- * t(() => $localize`:@@SI_NAVBAR_VERTICAL.SEARCH_PLACEHOLDER:Search ...`)
829
+ * t(() => $localize`:@@SI_NAVBAR_VERTICAL.SEARCH_PLACEHOLDER:Search…`)
732
830
  * ```
733
831
  */
734
- placeholder = input(t(() => $localize `:@@SI_NAVBAR_VERTICAL.SEARCH_PLACEHOLDER:Search ...`), ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
832
+ placeholder = input(t(() => $localize `:@@SI_NAVBAR_VERTICAL.SEARCH_PLACEHOLDER:Search…`), /* @ts-ignore */
833
+ ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
735
834
  /**
736
835
  * Debounce time for the search input
737
836
  * @defaultValue 400
738
837
  */
739
- debounceTime = input(400, ...(ngDevMode ? [{ debugName: "debounceTime" }] : []));
838
+ debounceTime = input(400, /* @ts-ignore */
839
+ ...(ngDevMode ? [{ debugName: "debounceTime" }] : /* istanbul ignore next */ []));
740
840
  /**
741
841
  * Output for search bar input
742
842
  */
743
843
  searchChange = output();
744
844
  navbar = inject(SI_NAVBAR_VERTICAL_NEXT);
745
- searchBar = viewChild.required(SiSearchBarComponent);
845
+ searchBar = viewChild.required(SiSearchBarComponent, /* @ts-ignore */
846
+ ...(ngDevMode ? [{ debugName: "searchBar" }] : /* istanbul ignore next */ []));
746
847
  expandForSearch() {
747
848
  this.navbar.expand();
748
849
  setTimeout(() => this.searchBar().focus());
749
850
  }
750
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
751
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.8", type: SiNavbarVerticalNextSearchComponent, isStandalone: true, selector: "si-navbar-vertical-next-search", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchChange: "searchChange" }, viewQueries: [{ propertyName: "searchBar", first: true, predicate: SiSearchBarComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<si-search-bar\n class=\"mx-4\"\n colorVariant=\"base-0\"\n prohibitedCharacters=\"*?\"\n [placeholder]=\"placeholder() | translate\"\n [debounceTime]=\"debounceTime()\"\n [showIcon]=\"true\"\n (searchChange)=\"searchChange.emit($event)\"\n/>\n<button\n type=\"button\"\n class=\"btn-search bg-base-0 px-3 mx-4 mobile text-secondary\"\n [attr.aria-label]=\"placeholder() | translate\"\n (click)=\"expandForSearch()\"\n>\n <si-icon class=\"icon\" [icon]=\"icons.elementSearch\" />\n</button>\n", styles: [":host{display:flex;align-items:center;margin-block-start:8px;padding-block:4px;overflow-x:hidden}:host-context(.nav-collapsed){display:none}:host-context(.nav-collapsed) si-search-bar{display:none}si-search-bar{inline-size:100%}.btn-search{display:none;border:0;border-radius:var(--element-radius-2);block-size:calc(1lh + 16px);inline-size:calc(1.5rem + 8px);text-align:start}@media(min-width:576px){:host-context(:not(.nav-text-only).nav-collapsed){display:flex}.btn-search{display:none}:host-context(.nav-collapsed) .btn-search{display:block}}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiSearchBarComponent, selector: "si-search-bar", inputs: ["debounceTime", "prohibitedCharacters", "placeholder", "showIcon", "tabbable", "value", "readonly", "colorVariant", "disabled", "maxlength", "clearButtonAriaLabel"], outputs: ["searchChange"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
851
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
852
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.8", type: SiNavbarVerticalNextSearchComponent, isStandalone: true, selector: "si-navbar-vertical-next-search", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchChange: "searchChange" }, viewQueries: [{ propertyName: "searchBar", first: true, predicate: SiSearchBarComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<si-search-bar\n class=\"mx-4\"\n colorVariant=\"base-0\"\n prohibitedCharacters=\"*?\"\n [placeholder]=\"placeholder() | translate\"\n [debounceTime]=\"debounceTime()\"\n [showIcon]=\"true\"\n (searchChange)=\"searchChange.emit($event)\"\n/>\n<button\n type=\"button\"\n class=\"btn-search background-0 px-3 mx-4 mobile text-secondary\"\n [attr.aria-label]=\"placeholder() | translate\"\n (click)=\"expandForSearch()\"\n>\n <si-icon class=\"icon\" [icon]=\"icons.elementSearch\" />\n</button>\n", styles: [":host{display:flex;align-items:center;margin-block-start:var(--si-sys-sizing-spacing-y-40);padding-block:var(--si-sys-sizing-spacing-y-20);overflow-x:hidden}:host-context(.nav-collapsed){display:none}:host-context(.nav-collapsed) si-search-bar{display:none}si-search-bar{inline-size:100%}.btn-search{display:none;border:0;border-radius:var(--element-radius-2);block-size:var(--si-sys-sizing-sizing-80);inline-size:calc(1.5rem + 2 * var(--si-sys-sizing-spacing-x-20));text-align:start}@media(min-width:576px){:host-context(:not(.nav-text-only).nav-collapsed){display:flex}.btn-search{display:none}:host-context(.nav-collapsed) .btn-search{display:block}}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiSearchBarComponent, selector: "si-search-bar", inputs: ["debounceTime", "prohibitedCharacters", "placeholder", "showIcon", "value", "readonly", "colorVariant", "disabled", "maxlength", "clearButtonAriaLabel"], outputs: ["searchChange"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
752
853
  }
753
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextSearchComponent, decorators: [{
854
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiNavbarVerticalNextSearchComponent, decorators: [{
754
855
  type: Component,
755
- args: [{ selector: 'si-navbar-vertical-next-search', imports: [SiIconComponent, SiSearchBarComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<si-search-bar\n class=\"mx-4\"\n colorVariant=\"base-0\"\n prohibitedCharacters=\"*?\"\n [placeholder]=\"placeholder() | translate\"\n [debounceTime]=\"debounceTime()\"\n [showIcon]=\"true\"\n (searchChange)=\"searchChange.emit($event)\"\n/>\n<button\n type=\"button\"\n class=\"btn-search bg-base-0 px-3 mx-4 mobile text-secondary\"\n [attr.aria-label]=\"placeholder() | translate\"\n (click)=\"expandForSearch()\"\n>\n <si-icon class=\"icon\" [icon]=\"icons.elementSearch\" />\n</button>\n", styles: [":host{display:flex;align-items:center;margin-block-start:8px;padding-block:4px;overflow-x:hidden}:host-context(.nav-collapsed){display:none}:host-context(.nav-collapsed) si-search-bar{display:none}si-search-bar{inline-size:100%}.btn-search{display:none;border:0;border-radius:var(--element-radius-2);block-size:calc(1lh + 16px);inline-size:calc(1.5rem + 8px);text-align:start}@media(min-width:576px){:host-context(:not(.nav-text-only).nav-collapsed){display:flex}.btn-search{display:none}:host-context(.nav-collapsed) .btn-search{display:block}}\n"] }]
856
+ args: [{ selector: 'si-navbar-vertical-next-search', imports: [SiIconComponent, SiSearchBarComponent, SiTranslatePipe], template: "<si-search-bar\n class=\"mx-4\"\n colorVariant=\"base-0\"\n prohibitedCharacters=\"*?\"\n [placeholder]=\"placeholder() | translate\"\n [debounceTime]=\"debounceTime()\"\n [showIcon]=\"true\"\n (searchChange)=\"searchChange.emit($event)\"\n/>\n<button\n type=\"button\"\n class=\"btn-search background-0 px-3 mx-4 mobile text-secondary\"\n [attr.aria-label]=\"placeholder() | translate\"\n (click)=\"expandForSearch()\"\n>\n <si-icon class=\"icon\" [icon]=\"icons.elementSearch\" />\n</button>\n", styles: [":host{display:flex;align-items:center;margin-block-start:var(--si-sys-sizing-spacing-y-40);padding-block:var(--si-sys-sizing-spacing-y-20);overflow-x:hidden}:host-context(.nav-collapsed){display:none}:host-context(.nav-collapsed) si-search-bar{display:none}si-search-bar{inline-size:100%}.btn-search{display:none;border:0;border-radius:var(--element-radius-2);block-size:var(--si-sys-sizing-sizing-80);inline-size:calc(1.5rem + 2 * var(--si-sys-sizing-spacing-x-20));text-align:start}@media(min-width:576px){:host-context(:not(.nav-text-only).nav-collapsed){display:flex}.btn-search{display:none}:host-context(.nav-collapsed) .btn-search{display:block}}\n"] }]
756
857
  }], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], debounceTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "debounceTime", required: false }] }], searchChange: [{ type: i0.Output, args: ["searchChange"] }], searchBar: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SiSearchBarComponent), { isSignal: true }] }] } });
757
858
 
758
- /**
759
- * Copyright (c) Siemens 2016 - 2026
760
- * SPDX-License-Identifier: MIT
761
- */
762
- /** @experimental */
763
- class SiNavbarVerticalNextModule {
764
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
765
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextModule, imports: [SiNavbarVerticalNextComponent,
766
- SiNavbarVerticalNextDividerComponent,
767
- SiNavbarVerticalNextFooterItemsComponent,
768
- SiNavbarVerticalNextGroupComponent,
769
- SiNavbarVerticalNextGroupTriggerDirective,
770
- SiNavbarVerticalNextHeaderComponent,
771
- SiNavbarVerticalNextItemComponent,
772
- SiNavbarVerticalNextItemsComponent,
773
- SiNavbarVerticalNextSearchComponent], exports: [SiNavbarVerticalNextComponent,
774
- SiNavbarVerticalNextDividerComponent,
775
- SiNavbarVerticalNextFooterItemsComponent,
776
- SiNavbarVerticalNextGroupComponent,
777
- SiNavbarVerticalNextGroupTriggerDirective,
778
- SiNavbarVerticalNextHeaderComponent,
779
- SiNavbarVerticalNextItemComponent,
780
- SiNavbarVerticalNextItemsComponent,
781
- SiNavbarVerticalNextSearchComponent] });
782
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextModule, imports: [SiNavbarVerticalNextComponent,
783
- SiNavbarVerticalNextItemComponent,
784
- SiNavbarVerticalNextSearchComponent] });
785
- }
786
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalNextModule, decorators: [{
787
- type: NgModule,
788
- args: [{
789
- imports: [
790
- SiNavbarVerticalNextComponent,
791
- SiNavbarVerticalNextDividerComponent,
792
- SiNavbarVerticalNextFooterItemsComponent,
793
- SiNavbarVerticalNextGroupComponent,
794
- SiNavbarVerticalNextGroupTriggerDirective,
795
- SiNavbarVerticalNextHeaderComponent,
796
- SiNavbarVerticalNextItemComponent,
797
- SiNavbarVerticalNextItemsComponent,
798
- SiNavbarVerticalNextSearchComponent
799
- ],
800
- exports: [
801
- SiNavbarVerticalNextComponent,
802
- SiNavbarVerticalNextDividerComponent,
803
- SiNavbarVerticalNextFooterItemsComponent,
804
- SiNavbarVerticalNextGroupComponent,
805
- SiNavbarVerticalNextGroupTriggerDirective,
806
- SiNavbarVerticalNextHeaderComponent,
807
- SiNavbarVerticalNextItemComponent,
808
- SiNavbarVerticalNextItemsComponent,
809
- SiNavbarVerticalNextSearchComponent
810
- ]
811
- }]
812
- }] });
813
-
814
859
  /**
815
860
  * Copyright (c) Siemens 2016 - 2026
816
861
  * SPDX-License-Identifier: MIT
@@ -820,5 +865,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
820
865
  * Generated bundle index. Do not edit.
821
866
  */
822
867
 
823
- export { SiNavbarVerticalNextComponent, SiNavbarVerticalNextDividerComponent, SiNavbarVerticalNextFooterItemsComponent, SiNavbarVerticalNextGroupComponent, SiNavbarVerticalNextGroupTriggerDirective, SiNavbarVerticalNextHeaderComponent, SiNavbarVerticalNextItemComponent, SiNavbarVerticalNextItemsComponent, SiNavbarVerticalNextModule, SiNavbarVerticalNextSearchComponent };
868
+ export { SiNavbarVerticalNextChipMenuComponent, SiNavbarVerticalNextComponent, SiNavbarVerticalNextDividerComponent, SiNavbarVerticalNextFooterItemsComponent, SiNavbarVerticalNextGroupComponent, SiNavbarVerticalNextGroupTriggerDirective, SiNavbarVerticalNextHeaderComponent, SiNavbarVerticalNextItemComponent, SiNavbarVerticalNextItemsComponent, SiNavbarVerticalNextSearchComponent };
824
869
  //# sourceMappingURL=siemens-element-ng-navbar-vertical-next.mjs.map