@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
@@ -52,10 +52,10 @@ class SiDashboardService {
52
52
  this.cards.next(nextCards);
53
53
  }
54
54
  }
55
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDashboardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
56
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDashboardService });
55
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDashboardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
56
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDashboardService });
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDashboardService, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDashboardService, decorators: [{
59
59
  type: Injectable
60
60
  }] });
61
61
 
@@ -72,7 +72,8 @@ class SiDashboardCardComponent extends SiCardComponent {
72
72
  * t(() => $localize`:@@SI_DASHBOARD.RESTORE:Restore`)
73
73
  * ```
74
74
  */
75
- restoreText = input(t(() => $localize `:@@SI_DASHBOARD.RESTORE:Restore`), ...(ngDevMode ? [{ debugName: "restoreText" }] : []));
75
+ restoreText = input(t(() => $localize `:@@SI_DASHBOARD.RESTORE:Restore`), /* @ts-ignore */
76
+ ...(ngDevMode ? [{ debugName: "restoreText" }] : /* istanbul ignore next */ []));
76
77
  /**
77
78
  * Description of expand button & action.
78
79
  *
@@ -81,7 +82,8 @@ class SiDashboardCardComponent extends SiCardComponent {
81
82
  * t(() => $localize`:@@SI_DASHBOARD.EXPAND:Expand`)
82
83
  * ```
83
84
  */
84
- expandText = input(t(() => $localize `:@@SI_DASHBOARD.EXPAND:Expand`), ...(ngDevMode ? [{ debugName: "expandText" }] : []));
85
+ expandText = input(t(() => $localize `:@@SI_DASHBOARD.EXPAND:Expand`), /* @ts-ignore */
86
+ ...(ngDevMode ? [{ debugName: "expandText" }] : /* istanbul ignore next */ []));
85
87
  /**
86
88
  * Option to enable and show the UI controls for card expand functionality.
87
89
  * `Expand` and `restore` action items will be added to the content action bar.
@@ -89,13 +91,13 @@ class SiDashboardCardComponent extends SiCardComponent {
89
91
  *
90
92
  * @defaultValue false
91
93
  */
92
- enableExpandInteraction = input(false, { ...(ngDevMode ? { debugName: "enableExpandInteraction" } : {}), transform: booleanAttribute });
94
+ enableExpandInteraction = input(false, { ...(ngDevMode ? { debugName: "enableExpandInteraction" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
93
95
  /**
94
96
  * Used in combination with si-dashboard to show filters when a card is expanded or not.
95
97
  *
96
98
  * @defaultValue true
97
99
  */
98
- showMenubar = input(true, { ...(ngDevMode ? { debugName: "showMenubar" } : {}), transform: booleanAttribute });
100
+ showMenubar = input(true, { ...(ngDevMode ? { debugName: "showMenubar" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
99
101
  /**
100
102
  * Emitter for size state change
101
103
  */
@@ -105,15 +107,20 @@ class SiDashboardCardComponent extends SiCardComponent {
105
107
  *
106
108
  * @defaultValue false
107
109
  */
108
- isExpanded = signal(false, ...(ngDevMode ? [{ debugName: "isExpanded" }] : []));
110
+ isExpanded = signal(false, /* @ts-ignore */
111
+ ...(ngDevMode ? [{ debugName: "isExpanded" }] : /* istanbul ignore next */ []));
109
112
  /** @internal */
110
- hide = signal(false, ...(ngDevMode ? [{ debugName: "hide" }] : []));
113
+ hide = signal(false, /* @ts-ignore */
114
+ ...(ngDevMode ? [{ debugName: "hide" }] : /* istanbul ignore next */ []));
111
115
  /** @internal */
112
- enableExpandInteractionInternal = signal(false, ...(ngDevMode ? [{ debugName: "enableExpandInteractionInternal" }] : []));
113
- enableExpandInteractionComputed = computed(() => this.enableExpandInteraction() || this.enableExpandInteractionInternal(), ...(ngDevMode ? [{ debugName: "enableExpandInteractionComputed" }] : []));
116
+ enableExpandInteractionInternal = signal(false, /* @ts-ignore */
117
+ ...(ngDevMode ? [{ debugName: "enableExpandInteractionInternal" }] : /* istanbul ignore next */ []));
118
+ enableExpandInteractionComputed = computed(() => this.enableExpandInteraction() || this.enableExpandInteractionInternal(), /* @ts-ignore */
119
+ ...(ngDevMode ? [{ debugName: "enableExpandInteractionComputed" }] : /* istanbul ignore next */ []));
114
120
  /** @internal */
115
121
  element = inject(ElementRef);
116
- displayContentActionBar = computed(() => this.primaryActionsComputed()?.length > 0 || this.secondaryActions()?.length > 0, ...(ngDevMode ? [{ debugName: "displayContentActionBar" }] : []));
122
+ displayContentActionBar = computed(() => this.primaryActionsComputed()?.length > 0 || this.secondaryActions()?.length > 0, /* @ts-ignore */
123
+ ...(ngDevMode ? [{ debugName: "displayContentActionBar" }] : /* istanbul ignore next */ []));
117
124
  actionBarViewTypeComputed = computed(() => {
118
125
  if (!this.hasContentBarActions()) {
119
126
  if (this.enableExpandInteractionComputed()) {
@@ -126,7 +133,8 @@ class SiDashboardCardComponent extends SiCardComponent {
126
133
  else {
127
134
  return this.actionBarViewType();
128
135
  }
129
- }, ...(ngDevMode ? [{ debugName: "actionBarViewTypeComputed" }] : []));
136
+ }, /* @ts-ignore */
137
+ ...(ngDevMode ? [{ debugName: "actionBarViewTypeComputed" }] : /* istanbul ignore next */ []));
130
138
  actionBarTitleComputed = computed(() => {
131
139
  if (!this.hasContentBarActions()) {
132
140
  if (this.enableExpandInteractionComputed()) {
@@ -139,7 +147,8 @@ class SiDashboardCardComponent extends SiCardComponent {
139
147
  else {
140
148
  return this.actionBarTitle();
141
149
  }
142
- }, ...(ngDevMode ? [{ debugName: "actionBarTitleComputed" }] : []));
150
+ }, /* @ts-ignore */
151
+ ...(ngDevMode ? [{ debugName: "actionBarTitleComputed" }] : /* istanbul ignore next */ []));
143
152
  primaryActionsComputed = computed(() => {
144
153
  const expandRestoreButtonActions = [
145
154
  {
@@ -172,14 +181,16 @@ class SiDashboardCardComponent extends SiCardComponent {
172
181
  }
173
182
  }
174
183
  }
175
- }, ...(ngDevMode ? [{ debugName: "primaryActionsComputed" }] : []));
184
+ }, /* @ts-ignore */
185
+ ...(ngDevMode ? [{ debugName: "primaryActionsComputed" }] : /* istanbul ignore next */ []));
176
186
  icons = addIcons({
177
187
  elementPinch,
178
188
  elementZoom
179
189
  });
180
190
  expandRestoreIconTooltip = computed(() => {
181
191
  return this.isExpanded() ? this.restoreText() : this.expandText();
182
- }, ...(ngDevMode ? [{ debugName: "expandRestoreIconTooltip" }] : []));
192
+ }, /* @ts-ignore */
193
+ ...(ngDevMode ? [{ debugName: "expandRestoreIconTooltip" }] : /* istanbul ignore next */ []));
183
194
  expandActionItem = computed(() => {
184
195
  return {
185
196
  type: 'action',
@@ -188,7 +199,8 @@ class SiDashboardCardComponent extends SiCardComponent {
188
199
  iconOnly: true,
189
200
  action: () => this.expandCard(true)
190
201
  };
191
- }, ...(ngDevMode ? [{ debugName: "expandActionItem" }] : []));
202
+ }, /* @ts-ignore */
203
+ ...(ngDevMode ? [{ debugName: "expandActionItem" }] : /* istanbul ignore next */ []));
192
204
  restoreActionItem = computed(() => {
193
205
  return {
194
206
  type: 'action',
@@ -197,10 +209,12 @@ class SiDashboardCardComponent extends SiCardComponent {
197
209
  iconOnly: true,
198
210
  action: () => this.expandCard(false)
199
211
  };
200
- }, ...(ngDevMode ? [{ debugName: "restoreActionItem" }] : []));
212
+ }, /* @ts-ignore */
213
+ ...(ngDevMode ? [{ debugName: "restoreActionItem" }] : /* istanbul ignore next */ []));
201
214
  hasContentBarActions = computed(() => {
202
215
  return this.primaryActions()?.length > 0 || this.secondaryActions()?.length > 0;
203
- }, ...(ngDevMode ? [{ debugName: "hasContentBarActions" }] : []));
216
+ }, /* @ts-ignore */
217
+ ...(ngDevMode ? [{ debugName: "hasContentBarActions" }] : /* istanbul ignore next */ []));
204
218
  dashboardService = inject(SiDashboardService, { optional: true });
205
219
  constructor() {
206
220
  super();
@@ -225,13 +239,13 @@ class SiDashboardCardComponent extends SiCardComponent {
225
239
  this.isExpanded.set(expand);
226
240
  this.expandChange.emit(expand);
227
241
  }
228
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDashboardCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
229
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiDashboardCardComponent, isStandalone: true, selector: "si-dashboard-card", inputs: { restoreText: { classPropertyName: "restoreText", publicName: "restoreText", isSignal: true, isRequired: false, transformFunction: null }, expandText: { classPropertyName: "expandText", publicName: "expandText", isSignal: true, isRequired: false, transformFunction: null }, enableExpandInteraction: { classPropertyName: "enableExpandInteraction", publicName: "enableExpandInteraction", isSignal: true, isRequired: false, transformFunction: null }, showMenubar: { classPropertyName: "showMenubar", publicName: "showMenubar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expandChange: "expandChange" }, host: { properties: { "class.elevation-2": "isExpanded()", "class.expanded": "isExpanded()", "class.d-none": "hide()" } }, usesInheritance: true, ngImport: i0, template: "@if (imgSrc()) {\n <img\n class=\"card-content-split\"\n [class.card-img-top]=\"imgDir() !== 'horizontal'\"\n [class.card-img-start]=\"imgDir() === 'horizontal'\"\n [attr.src]=\"imgSrc()\"\n [attr.alt]=\"imgAlt() | translate\"\n />\n}\n\n<div class=\"content-container\" [class.card-content-split]=\"imgSrc()\">\n @if (heading() || displayContentActionBar()) {\n <si-card-header\n [heading]=\"heading()\"\n [subHeading]=\"subHeading()\"\n [primaryActions]=\"primaryActionsComputed()\"\n [secondaryActions]=\"secondaryActions()\"\n [actionParam]=\"actionParam()\"\n [actionBarViewType]=\"actionBarViewTypeComputed()\"\n [actionBarTitle]=\"actionBarTitleComputed()\"\n >\n <ng-content select=\"[headerIcon]\" ngProjectAs=\"[headerIcon]\" />\n </si-card-header>\n }\n <ng-content #cardBody select=\"[body]\" />\n <ng-content #cardFooter select=\"[footer]\" />\n</div>\n", styles: [":host.card-horizontal{flex-direction:row}:host{block-size:100%}:host.expanded{position:absolute;inset:0}.card-img-top{block-size:50%;inline-size:auto;object-fit:var(--si-card-img-object-fit, scale-down);object-position:var(--si-card-img-object-position, center top)}.card-img-start{block-size:auto;inline-size:50%;object-fit:var(--si-card-img-object-fit, scale-down);object-position:var(--si-card-img-object-position, left center)}.card-content-split{flex:0 0 50%}.content-container{overflow:hidden;position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-inline-size:0;word-wrap:break-word;border-radius:inherit}\n"], dependencies: [{ kind: "component", type: SiCardHeaderComponent, selector: "si-card-header", inputs: ["heading", "subHeading", "headingId", "subHeadingId", "primaryActions", "secondaryActions", "actionParam", "actionBarViewType", "actionBarTitle"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
242
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDashboardCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
243
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiDashboardCardComponent, isStandalone: true, selector: "si-dashboard-card", inputs: { restoreText: { classPropertyName: "restoreText", publicName: "restoreText", isSignal: true, isRequired: false, transformFunction: null }, expandText: { classPropertyName: "expandText", publicName: "expandText", isSignal: true, isRequired: false, transformFunction: null }, enableExpandInteraction: { classPropertyName: "enableExpandInteraction", publicName: "enableExpandInteraction", isSignal: true, isRequired: false, transformFunction: null }, showMenubar: { classPropertyName: "showMenubar", publicName: "showMenubar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expandChange: "expandChange" }, host: { properties: { "class.shadow-2": "isExpanded()", "class.expanded": "isExpanded()", "class.d-none": "hide()" } }, usesInheritance: true, ngImport: i0, template: "@if (imgSrc()) {\n <img\n class=\"card-content-split\"\n [class.card-img-top]=\"imgDir() !== 'horizontal'\"\n [class.card-img-start]=\"imgDir() === 'horizontal'\"\n [attr.src]=\"imgSrc()\"\n [attr.alt]=\"imgAlt() | translate\"\n />\n}\n\n<div class=\"content-container\" [class.card-content-split]=\"imgSrc()\">\n @if (heading() || displayContentActionBar()) {\n <si-card-header\n [heading]=\"heading()\"\n [subHeading]=\"subHeading()\"\n [primaryActions]=\"primaryActionsComputed()\"\n [secondaryActions]=\"secondaryActions()\"\n [actionParam]=\"actionParam()\"\n [actionBarViewType]=\"actionBarViewTypeComputed()\"\n [actionBarTitle]=\"actionBarTitleComputed()\"\n >\n <ng-content select=\"[headerIcon]\" ngProjectAs=\"[headerIcon]\" />\n </si-card-header>\n }\n <ng-content #cardBody select=\"[body]\" />\n <ng-content #cardFooter select=\"[footer]\" />\n</div>\n", styles: [":host.card-horizontal{flex-direction:row}:host{block-size:100%}:host.expanded{position:absolute;inset:0}.card-img-top{block-size:50%;inline-size:auto;object-fit:var(--si-card-img-object-fit, scale-down);object-position:var(--si-card-img-object-position, center top)}.card-img-start{block-size:auto;inline-size:50%;object-fit:var(--si-card-img-object-fit, scale-down);object-position:var(--si-card-img-object-position, left center)}.card-content-split{flex:0 0 50%}.content-container{overflow:hidden;position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-inline-size:0;word-wrap:break-word;border-radius:inherit}\n"], dependencies: [{ kind: "component", type: SiCardHeaderComponent, selector: "si-card-header", inputs: ["heading", "subHeading", "headingId", "subHeadingId", "primaryActions", "secondaryActions", "actionParam", "actionBarViewType", "actionBarTitle"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
230
244
  }
231
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDashboardCardComponent, decorators: [{
245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDashboardCardComponent, decorators: [{
232
246
  type: Component,
233
- args: [{ selector: 'si-dashboard-card', imports: [SiCardHeaderComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.Default, host: {
234
- '[class.elevation-2]': 'isExpanded()',
247
+ args: [{ selector: 'si-dashboard-card', imports: [SiCardHeaderComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.Eager, host: {
248
+ '[class.shadow-2]': 'isExpanded()',
235
249
  '[class.expanded]': 'isExpanded()',
236
250
  '[class.d-none]': 'hide()'
237
251
  }, template: "@if (imgSrc()) {\n <img\n class=\"card-content-split\"\n [class.card-img-top]=\"imgDir() !== 'horizontal'\"\n [class.card-img-start]=\"imgDir() === 'horizontal'\"\n [attr.src]=\"imgSrc()\"\n [attr.alt]=\"imgAlt() | translate\"\n />\n}\n\n<div class=\"content-container\" [class.card-content-split]=\"imgSrc()\">\n @if (heading() || displayContentActionBar()) {\n <si-card-header\n [heading]=\"heading()\"\n [subHeading]=\"subHeading()\"\n [primaryActions]=\"primaryActionsComputed()\"\n [secondaryActions]=\"secondaryActions()\"\n [actionParam]=\"actionParam()\"\n [actionBarViewType]=\"actionBarViewTypeComputed()\"\n [actionBarTitle]=\"actionBarTitleComputed()\"\n >\n <ng-content select=\"[headerIcon]\" ngProjectAs=\"[headerIcon]\" />\n </si-card-header>\n }\n <ng-content #cardBody select=\"[body]\" />\n <ng-content #cardFooter select=\"[footer]\" />\n</div>\n", styles: [":host.card-horizontal{flex-direction:row}:host{block-size:100%}:host.expanded{position:absolute;inset:0}.card-img-top{block-size:50%;inline-size:auto;object-fit:var(--si-card-img-object-fit, scale-down);object-position:var(--si-card-img-object-position, center top)}.card-img-start{block-size:auto;inline-size:50%;object-fit:var(--si-card-img-object-fit, scale-down);object-position:var(--si-card-img-object-position, left center)}.card-content-split{flex:0 0 50%}.content-container{overflow:hidden;position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-inline-size:0;word-wrap:break-word;border-radius:inherit}\n"] }]
@@ -247,25 +261,26 @@ class SiDashboardComponent {
247
261
  /**
248
262
  * Heading for the dashboard page.
249
263
  */
250
- heading = input(...(ngDevMode ? [undefined, { debugName: "heading" }] : []));
264
+ heading = input(/* @ts-ignore */
265
+ ...(ngDevMode ? [undefined, { debugName: "heading" }] : /* istanbul ignore next */ []));
251
266
  /**
252
267
  * Opt-in to enable expand interaction for all cards.
253
268
  *
254
269
  * @defaultValue false
255
270
  */
256
- enableExpandInteractions = input(false, { ...(ngDevMode ? { debugName: "enableExpandInteractions" } : {}), transform: booleanAttribute });
271
+ enableExpandInteractions = input(false, { ...(ngDevMode ? { debugName: "enableExpandInteractions" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
257
272
  /**
258
273
  * Option to turn off the sticky behavior of the heading and menu bar.
259
274
  *
260
275
  * @defaultValue true
261
276
  */
262
- sticky = input(true, { ...(ngDevMode ? { debugName: "sticky" } : {}), transform: booleanAttribute });
277
+ sticky = input(true, { ...(ngDevMode ? { debugName: "sticky" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
263
278
  /**
264
279
  * Option to hide the menu bar.
265
280
  *
266
281
  * @defaultValue false
267
282
  */
268
- hideMenubar = input(false, { ...(ngDevMode ? { debugName: "hideMenubar" } : {}), transform: booleanAttribute });
283
+ hideMenubar = input(false, { ...(ngDevMode ? { debugName: "hideMenubar" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
269
284
  /**
270
285
  * Is `true` if a card is expanded.
271
286
  * @defaultref {@link isExpandedSignal}
@@ -273,17 +288,20 @@ class SiDashboardComponent {
273
288
  get isExpanded() {
274
289
  return this.isExpandedSignal();
275
290
  }
276
- dashboardFrameEndPadding = signal(null, ...(ngDevMode ? [{ debugName: "dashboardFrameEndPadding" }] : []));
277
- hideMenubarComputed = computed(() => this.hideMenubar() || this.hideMenubarInternal(), ...(ngDevMode ? [{ debugName: "hideMenubarComputed" }] : []));
278
- isExpandedSignal = signal(false, ...(ngDevMode ? [{ debugName: "isExpandedSignal" }] : []));
291
+ dashboardFrameEndPadding = signal(null, /* @ts-ignore */
292
+ ...(ngDevMode ? [{ debugName: "dashboardFrameEndPadding" }] : /* istanbul ignore next */ []));
293
+ hideMenubarComputed = computed(() => this.hideMenubar() || this.hideMenubarInternal(), /* @ts-ignore */
294
+ ...(ngDevMode ? [{ debugName: "hideMenubarComputed" }] : /* istanbul ignore next */ []));
295
+ isExpandedSignal = signal(false, /* @ts-ignore */
296
+ ...(ngDevMode ? [{ debugName: "isExpandedSignal" }] : /* istanbul ignore next */ []));
279
297
  scrollPosition = [0, 0];
280
298
  reinitCards$ = new Subject();
281
299
  cards = [];
282
- expandedPortalOutlet = viewChild.required('expandedPortalOutlet', {
283
- read: CdkPortalOutlet
284
- });
285
- dashboardFrame = viewChild.required('dashboardFrame');
286
- dashboard = viewChild.required('dashboard');
300
+ expandedPortalOutlet = viewChild.required('expandedPortalOutlet', { ...(ngDevMode ? { debugName: "expandedPortalOutlet" } : /* istanbul ignore next */ {}), read: CdkPortalOutlet });
301
+ dashboardFrame = viewChild.required('dashboardFrame', /* @ts-ignore */
302
+ ...(ngDevMode ? [{ debugName: "dashboardFrame" }] : /* istanbul ignore next */ []));
303
+ dashboard = viewChild.required('dashboard', /* @ts-ignore */
304
+ ...(ngDevMode ? [{ debugName: "dashboard" }] : /* istanbul ignore next */ []));
287
305
  dashboardFrameDimensions;
288
306
  dashboardDimensions;
289
307
  scroller = inject(ViewportScroller);
@@ -292,7 +310,8 @@ class SiDashboardComponent {
292
310
  scrollbarHelper = inject(ScrollbarHelper);
293
311
  cdRef = inject(ChangeDetectorRef);
294
312
  document = inject(DOCUMENT);
295
- hideMenubarInternal = signal(false, ...(ngDevMode ? [{ debugName: "hideMenubarInternal" }] : []));
313
+ hideMenubarInternal = signal(false, /* @ts-ignore */
314
+ ...(ngDevMode ? [{ debugName: "hideMenubarInternal" }] : /* istanbul ignore next */ []));
296
315
  constructor() {
297
316
  this.dashboardService.cards$
298
317
  .pipe(takeUntilDestroyed())
@@ -434,12 +453,12 @@ class SiDashboardComponent {
434
453
  }
435
454
  this.dashboardFrameEndPadding.set(padding);
436
455
  }
437
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDashboardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
438
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiDashboardComponent, isStandalone: true, selector: "si-dashboard", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, enableExpandInteractions: { classPropertyName: "enableExpandInteractions", publicName: "enableExpandInteractions", isSignal: true, isRequired: false, transformFunction: null }, sticky: { classPropertyName: "sticky", publicName: "sticky", isSignal: true, isRequired: false, transformFunction: null }, hideMenubar: { classPropertyName: "hideMenubar", publicName: "hideMenubar", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "si-layout-fixed-height" }, providers: [SiDashboardService], viewQueries: [{ propertyName: "expandedPortalOutlet", first: true, predicate: ["expandedPortalOutlet"], descendants: true, read: CdkPortalOutlet, isSignal: true }, { propertyName: "dashboardFrame", first: true, predicate: ["dashboardFrame"], descendants: true, isSignal: true }, { propertyName: "dashboard", first: true, predicate: ["dashboard"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"si-layout-fixed-height si-dashboard si-layout-main-padding py-6\"\n [class.sticky]=\"sticky()\"\n>\n <div class=\"si-dashboard-header\" [class.sticky]=\"sticky()\">\n @if (heading()) {\n <div class=\"si-layout-header\">\n <h2 class=\"si-layout-title si-layout-top-element\">{{ heading() | translate }}</h2>\n </div>\n }\n @if (!hideMenubarComputed()) {\n <div class=\"mb-6\" [class.si-layout-top-element]=\"!heading()\">\n <ng-content select=\"[menubar]\" />\n </div>\n }\n </div>\n <div\n #dashboardFrame\n class=\"si-layout-fixed-height si-dashboard-content ps-2 pt-2 ms-n2 mt-n2\"\n [class.sticky]=\"sticky()\"\n [style.padding-inline-end.px]=\"dashboardFrameEndPadding()\"\n >\n <div class=\"si-layout-fixed-height\" [class.d-none]=\"isExpandedSignal()\">\n <div #dashboard class=\"si-layout-fixed-height fix-si-layout-fixed-height\">\n <ng-content select=\"[dashboard]\" />\n </div>\n </div>\n <div\n class=\"position-relative flex-grow-1 flex-shrink-1 mb-6\"\n [class.d-none]=\"!isExpandedSignal()\"\n >\n <ng-container #expandedPortalOutlet cdkPortalOutlet />\n </div>\n </div>\n</div>\n", styles: [".si-dashboard.sticky{padding-inline-end:0;overflow-x:hidden}.si-dashboard .si-dashboard-header.sticky{padding-inline-end:16px}@media(min-width:768px){.si-dashboard .si-dashboard-header.sticky{padding-inline-end:32px}}.si-dashboard .si-dashboard-content.sticky{overflow-y:auto;overflow-x:hidden}.si-dashboard .fix-si-layout-fixed-height{min-block-size:auto}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
456
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDashboardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
457
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiDashboardComponent, isStandalone: true, selector: "si-dashboard", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, enableExpandInteractions: { classPropertyName: "enableExpandInteractions", publicName: "enableExpandInteractions", isSignal: true, isRequired: false, transformFunction: null }, sticky: { classPropertyName: "sticky", publicName: "sticky", isSignal: true, isRequired: false, transformFunction: null }, hideMenubar: { classPropertyName: "hideMenubar", publicName: "hideMenubar", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "si-layout-fixed-height" }, providers: [SiDashboardService], viewQueries: [{ propertyName: "expandedPortalOutlet", first: true, predicate: ["expandedPortalOutlet"], descendants: true, read: CdkPortalOutlet, isSignal: true }, { propertyName: "dashboardFrame", first: true, predicate: ["dashboardFrame"], descendants: true, isSignal: true }, { propertyName: "dashboard", first: true, predicate: ["dashboard"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"si-layout-fixed-height si-dashboard si-layout-main-padding py-6\"\n [class.sticky]=\"sticky()\"\n>\n <div class=\"si-dashboard-header\" [class.sticky]=\"sticky()\">\n @if (heading()) {\n <div class=\"si-layout-header\">\n <h2 class=\"si-layout-title si-layout-top-element\">{{ heading() | translate }}</h2>\n </div>\n }\n @if (!hideMenubarComputed()) {\n <div class=\"mb-6\" [class.si-layout-top-element]=\"!heading()\">\n <ng-content select=\"[menubar]\" />\n </div>\n }\n </div>\n <div\n #dashboardFrame\n class=\"si-layout-fixed-height si-dashboard-content ps-2 pt-2 ms-n2 mt-n2\"\n [class.sticky]=\"sticky()\"\n [style.padding-inline-end.px]=\"dashboardFrameEndPadding()\"\n >\n <div class=\"si-layout-fixed-height\" [class.d-none]=\"isExpandedSignal()\">\n <div #dashboard class=\"si-layout-fixed-height fix-si-layout-fixed-height\">\n <ng-content select=\"[dashboard]\" />\n </div>\n </div>\n <div\n class=\"position-relative flex-grow-1 flex-shrink-1 mb-6\"\n [class.d-none]=\"!isExpandedSignal()\"\n >\n <ng-container #expandedPortalOutlet cdkPortalOutlet />\n </div>\n </div>\n</div>\n", styles: [".si-dashboard.sticky{padding-inline-end:0;overflow-x:hidden}.si-dashboard .si-dashboard-header.sticky{padding-inline-end:var(--si-sys-sizing-spacing-x-60)}@media(min-width:768px){.si-dashboard .si-dashboard-header.sticky{padding-inline-end:var(--si-sys-sizing-spacing-x-90)}}.si-dashboard .si-dashboard-content.sticky{overflow-y:auto;overflow-x:hidden}.si-dashboard .fix-si-layout-fixed-height{min-block-size:auto}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
439
458
  }
440
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDashboardComponent, decorators: [{
459
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDashboardComponent, decorators: [{
441
460
  type: Component,
442
- args: [{ selector: 'si-dashboard', imports: [PortalModule, SiTranslatePipe], providers: [SiDashboardService], changeDetection: ChangeDetectionStrategy.Default, host: { class: 'si-layout-fixed-height' }, template: "<div\n class=\"si-layout-fixed-height si-dashboard si-layout-main-padding py-6\"\n [class.sticky]=\"sticky()\"\n>\n <div class=\"si-dashboard-header\" [class.sticky]=\"sticky()\">\n @if (heading()) {\n <div class=\"si-layout-header\">\n <h2 class=\"si-layout-title si-layout-top-element\">{{ heading() | translate }}</h2>\n </div>\n }\n @if (!hideMenubarComputed()) {\n <div class=\"mb-6\" [class.si-layout-top-element]=\"!heading()\">\n <ng-content select=\"[menubar]\" />\n </div>\n }\n </div>\n <div\n #dashboardFrame\n class=\"si-layout-fixed-height si-dashboard-content ps-2 pt-2 ms-n2 mt-n2\"\n [class.sticky]=\"sticky()\"\n [style.padding-inline-end.px]=\"dashboardFrameEndPadding()\"\n >\n <div class=\"si-layout-fixed-height\" [class.d-none]=\"isExpandedSignal()\">\n <div #dashboard class=\"si-layout-fixed-height fix-si-layout-fixed-height\">\n <ng-content select=\"[dashboard]\" />\n </div>\n </div>\n <div\n class=\"position-relative flex-grow-1 flex-shrink-1 mb-6\"\n [class.d-none]=\"!isExpandedSignal()\"\n >\n <ng-container #expandedPortalOutlet cdkPortalOutlet />\n </div>\n </div>\n</div>\n", styles: [".si-dashboard.sticky{padding-inline-end:0;overflow-x:hidden}.si-dashboard .si-dashboard-header.sticky{padding-inline-end:16px}@media(min-width:768px){.si-dashboard .si-dashboard-header.sticky{padding-inline-end:32px}}.si-dashboard .si-dashboard-content.sticky{overflow-y:auto;overflow-x:hidden}.si-dashboard .fix-si-layout-fixed-height{min-block-size:auto}\n"] }]
461
+ args: [{ selector: 'si-dashboard', imports: [PortalModule, SiTranslatePipe], providers: [SiDashboardService], changeDetection: ChangeDetectionStrategy.Eager, host: { class: 'si-layout-fixed-height' }, template: "<div\n class=\"si-layout-fixed-height si-dashboard si-layout-main-padding py-6\"\n [class.sticky]=\"sticky()\"\n>\n <div class=\"si-dashboard-header\" [class.sticky]=\"sticky()\">\n @if (heading()) {\n <div class=\"si-layout-header\">\n <h2 class=\"si-layout-title si-layout-top-element\">{{ heading() | translate }}</h2>\n </div>\n }\n @if (!hideMenubarComputed()) {\n <div class=\"mb-6\" [class.si-layout-top-element]=\"!heading()\">\n <ng-content select=\"[menubar]\" />\n </div>\n }\n </div>\n <div\n #dashboardFrame\n class=\"si-layout-fixed-height si-dashboard-content ps-2 pt-2 ms-n2 mt-n2\"\n [class.sticky]=\"sticky()\"\n [style.padding-inline-end.px]=\"dashboardFrameEndPadding()\"\n >\n <div class=\"si-layout-fixed-height\" [class.d-none]=\"isExpandedSignal()\">\n <div #dashboard class=\"si-layout-fixed-height fix-si-layout-fixed-height\">\n <ng-content select=\"[dashboard]\" />\n </div>\n </div>\n <div\n class=\"position-relative flex-grow-1 flex-shrink-1 mb-6\"\n [class.d-none]=\"!isExpandedSignal()\"\n >\n <ng-container #expandedPortalOutlet cdkPortalOutlet />\n </div>\n </div>\n</div>\n", styles: [".si-dashboard.sticky{padding-inline-end:0;overflow-x:hidden}.si-dashboard .si-dashboard-header.sticky{padding-inline-end:var(--si-sys-sizing-spacing-x-60)}@media(min-width:768px){.si-dashboard .si-dashboard-header.sticky{padding-inline-end:var(--si-sys-sizing-spacing-x-90)}}.si-dashboard .si-dashboard-content.sticky{overflow-y:auto;overflow-x:hidden}.si-dashboard .fix-si-layout-fixed-height{min-block-size:auto}\n"] }]
443
462
  }], ctorParameters: () => [], propDecorators: { heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], enableExpandInteractions: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableExpandInteractions", required: false }] }], sticky: [{ type: i0.Input, args: [{ isSignal: true, alias: "sticky", required: false }] }], hideMenubar: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideMenubar", required: false }] }], expandedPortalOutlet: [{ type: i0.ViewChild, args: ['expandedPortalOutlet', { ...{
444
463
  read: CdkPortalOutlet
445
464
  }, isSignal: true }] }], dashboardFrame: [{ type: i0.ViewChild, args: ['dashboardFrame', { isSignal: true }] }], dashboard: [{ type: i0.ViewChild, args: ['dashboard', { isSignal: true }] }] } });
@@ -449,11 +468,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
449
468
  * SPDX-License-Identifier: MIT
450
469
  */
451
470
  class SiDashboardModule {
452
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
453
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: SiDashboardModule, imports: [SiDashboardCardComponent, SiDashboardComponent], exports: [SiDashboardCardComponent, SiDashboardComponent] });
454
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDashboardModule, imports: [SiDashboardCardComponent, SiDashboardComponent] });
471
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
472
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: SiDashboardModule, imports: [SiDashboardCardComponent, SiDashboardComponent], exports: [SiDashboardCardComponent, SiDashboardComponent] });
473
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDashboardModule, imports: [SiDashboardCardComponent, SiDashboardComponent] });
455
474
  }
456
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDashboardModule, decorators: [{
475
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDashboardModule, decorators: [{
457
476
  type: NgModule,
458
477
  args: [{
459
478
  imports: [SiDashboardCardComponent, SiDashboardComponent],
@@ -478,33 +497,37 @@ class SiWidgetBaseDirective {
478
497
  * the skeleton indicates the loading of the value. Disable
479
498
  * the automatic loading mechanism by setting `SiWidgetBodyBaseComponent.disableAutoLoadingIndicator`.
480
499
  */
481
- value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
500
+ value = input.required(/* @ts-ignore */
501
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
482
502
  /**
483
503
  * Option to disable automatic start of skeleton loading indication.
484
504
  *
485
505
  * @defaultValue false
486
506
  */
487
- disableAutoLoadingIndicator = input(false, { ...(ngDevMode ? { debugName: "disableAutoLoadingIndicator" } : {}), transform: booleanAttribute });
507
+ disableAutoLoadingIndicator = input(false, { ...(ngDevMode ? { debugName: "disableAutoLoadingIndicator" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
488
508
  /**
489
509
  * Input to start and stop the skeleton loading indication.
490
510
  *
491
511
  * @defaultValue false
492
512
  */
493
- showLoadingIndicatorInput = input(false, { ...(ngDevMode ? { debugName: "showLoadingIndicatorInput" } : {}),
513
+ showLoadingIndicatorInput = input(false, { ...(ngDevMode ? { debugName: "showLoadingIndicatorInput" } : /* istanbul ignore next */ {}),
494
514
  // eslint-disable-next-line @angular-eslint/no-input-rename
495
515
  alias: 'showLoadingIndicator',
496
516
  transform: booleanAttribute });
497
- showLoadingIndicatorInternal = signal(undefined, ...(ngDevMode ? [{ debugName: "showLoadingIndicatorInternal" }] : []));
517
+ showLoadingIndicatorInternal = signal(undefined, /* @ts-ignore */
518
+ ...(ngDevMode ? [{ debugName: "showLoadingIndicatorInternal" }] : /* istanbul ignore next */ []));
498
519
  showLoadingIndicator = computed(() => {
499
520
  return this.showLoadingIndicatorInternal() ?? this.showLoadingIndicatorInput();
500
- }, ...(ngDevMode ? [{ debugName: "showLoadingIndicator" }] : []));
521
+ }, /* @ts-ignore */
522
+ ...(ngDevMode ? [{ debugName: "showLoadingIndicator" }] : /* istanbul ignore next */ []));
501
523
  /**
502
524
  * Initial delay time in milliseconds before enabling loading indicator.
503
525
  * Only used once initially during construction.
504
526
  *
505
527
  * @defaultValue 300
506
528
  */
507
- initialLoadingIndicatorDebounceTime = input(300, ...(ngDevMode ? [{ debugName: "initialLoadingIndicatorDebounceTime" }] : []));
529
+ initialLoadingIndicatorDebounceTime = input(300, /* @ts-ignore */
530
+ ...(ngDevMode ? [{ debugName: "initialLoadingIndicatorDebounceTime" }] : /* istanbul ignore next */ []));
508
531
  loadingTimer;
509
532
  ngOnChanges() {
510
533
  if (this.disableAutoLoadingIndicator()) {
@@ -530,10 +553,10 @@ class SiWidgetBaseDirective {
530
553
  }, this.initialLoadingIndicatorDebounceTime());
531
554
  }
532
555
  }
533
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiWidgetBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
534
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiWidgetBaseDirective, isStandalone: true, inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disableAutoLoadingIndicator: { classPropertyName: "disableAutoLoadingIndicator", publicName: "disableAutoLoadingIndicator", isSignal: true, isRequired: false, transformFunction: null }, showLoadingIndicatorInput: { classPropertyName: "showLoadingIndicatorInput", publicName: "showLoadingIndicator", isSignal: true, isRequired: false, transformFunction: null }, initialLoadingIndicatorDebounceTime: { classPropertyName: "initialLoadingIndicatorDebounceTime", publicName: "initialLoadingIndicatorDebounceTime", isSignal: true, isRequired: false, transformFunction: null } }, usesOnChanges: true, ngImport: i0 });
556
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiWidgetBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
557
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.8", type: SiWidgetBaseDirective, isStandalone: true, inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disableAutoLoadingIndicator: { classPropertyName: "disableAutoLoadingIndicator", publicName: "disableAutoLoadingIndicator", isSignal: true, isRequired: false, transformFunction: null }, showLoadingIndicatorInput: { classPropertyName: "showLoadingIndicatorInput", publicName: "showLoadingIndicator", isSignal: true, isRequired: false, transformFunction: null }, initialLoadingIndicatorDebounceTime: { classPropertyName: "initialLoadingIndicatorDebounceTime", publicName: "initialLoadingIndicatorDebounceTime", isSignal: true, isRequired: false, transformFunction: null } }, usesOnChanges: true, ngImport: i0 });
535
558
  }
536
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiWidgetBaseDirective, decorators: [{
559
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiWidgetBaseDirective, decorators: [{
537
560
  type: Directive
538
561
  }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], disableAutoLoadingIndicator: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableAutoLoadingIndicator", required: false }] }], showLoadingIndicatorInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "showLoadingIndicator", required: false }] }], initialLoadingIndicatorDebounceTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialLoadingIndicatorDebounceTime", required: false }] }] } });
539
562
 
@@ -551,21 +574,23 @@ class SiLinkWidgetComponent extends SiWidgetBaseDirective {
551
574
  *
552
575
  * @defaultValue false
553
576
  */
554
- showLinkIcons = input(false, { ...(ngDevMode ? { debugName: "showLinkIcons" } : {}), transform: booleanAttribute });
577
+ showLinkIcons = input(false, { ...(ngDevMode ? { debugName: "showLinkIcons" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
555
578
  /**
556
579
  * The number of skeleton progress indication rows.
557
580
  *
558
581
  * @defaultValue 3
559
582
  */
560
- numberOfLinks = input(3, ...(ngDevMode ? [{ debugName: "numberOfLinks" }] : []));
561
- ghosts = computed(() => new Array(this.numberOfLinks() ?? 3), ...(ngDevMode ? [{ debugName: "ghosts" }] : []));
583
+ numberOfLinks = input(3, /* @ts-ignore */
584
+ ...(ngDevMode ? [{ debugName: "numberOfLinks" }] : /* istanbul ignore next */ []));
585
+ ghosts = computed(() => new Array(this.numberOfLinks() ?? 3), /* @ts-ignore */
586
+ ...(ngDevMode ? [{ debugName: "ghosts" }] : /* istanbul ignore next */ []));
562
587
  icons = addIcons({ elementRight2 });
563
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiLinkWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
564
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiLinkWidgetComponent, isStandalone: true, selector: "si-link-widget", inputs: { showLinkIcons: { classPropertyName: "showLinkIcons", publicName: "showLinkIcons", isSignal: true, isRequired: false, transformFunction: null }, numberOfLinks: { classPropertyName: "numberOfLinks", publicName: "numberOfLinks", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "si-link-widget" }, usesInheritance: true, ngImport: i0, template: "@if (!showLoadingIndicator() && value()) {\n @for (link of value(); track link) {\n @if (link.action) {\n <button type=\"button\" class=\"btn btn-link\" [siLink]=\"link\">{{\n link.title | translate\n }}</button>\n } @else {\n <a [siLink]=\"link\">\n {{ link.title | translate }}\n @if (showLinkIcons()) {\n <si-icon class=\"link-icon link-end flip-rtl\" [icon]=\"icons.elementRight2\" />\n }\n </a>\n }\n }\n} @else {\n @for (some of ghosts(); track $index) {\n <div class=\"si-link-widget-skeleton\"></div>\n }\n}\n", dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
588
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiLinkWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
589
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiLinkWidgetComponent, isStandalone: true, selector: "si-link-widget", inputs: { showLinkIcons: { classPropertyName: "showLinkIcons", publicName: "showLinkIcons", isSignal: true, isRequired: false, transformFunction: null }, numberOfLinks: { classPropertyName: "numberOfLinks", publicName: "numberOfLinks", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "si-link-widget" }, usesInheritance: true, ngImport: i0, template: "@if (!showLoadingIndicator() && value()) {\n @for (link of value(); track link) {\n @if (link.action) {\n <button type=\"button\" class=\"btn btn-link\" [siLink]=\"link\">{{\n link.title | translate\n }}</button>\n } @else {\n <a [siLink]=\"link\">\n {{ link.title | translate }}\n @if (showLinkIcons()) {\n <si-icon class=\"link-icon link-end flip-rtl\" [icon]=\"icons.elementRight2\" />\n }\n </a>\n }\n }\n} @else {\n @for (some of ghosts(); track $index) {\n <div class=\"si-link-widget-skeleton\"></div>\n }\n}\n", dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
565
590
  }
566
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiLinkWidgetComponent, decorators: [{
591
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiLinkWidgetComponent, decorators: [{
567
592
  type: Component,
568
- args: [{ selector: 'si-link-widget', imports: [SiIconComponent, SiLinkDirective, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.Default, host: { class: 'si-link-widget' }, template: "@if (!showLoadingIndicator() && value()) {\n @for (link of value(); track link) {\n @if (link.action) {\n <button type=\"button\" class=\"btn btn-link\" [siLink]=\"link\">{{\n link.title | translate\n }}</button>\n } @else {\n <a [siLink]=\"link\">\n {{ link.title | translate }}\n @if (showLinkIcons()) {\n <si-icon class=\"link-icon link-end flip-rtl\" [icon]=\"icons.elementRight2\" />\n }\n </a>\n }\n }\n} @else {\n @for (some of ghosts(); track $index) {\n <div class=\"si-link-widget-skeleton\"></div>\n }\n}\n" }]
593
+ args: [{ selector: 'si-link-widget', imports: [SiIconComponent, SiLinkDirective, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.Eager, host: { class: 'si-link-widget' }, template: "@if (!showLoadingIndicator() && value()) {\n @for (link of value(); track link) {\n @if (link.action) {\n <button type=\"button\" class=\"btn btn-link\" [siLink]=\"link\">{{\n link.title | translate\n }}</button>\n } @else {\n <a [siLink]=\"link\">\n {{ link.title | translate }}\n @if (showLinkIcons()) {\n <si-icon class=\"link-icon link-end flip-rtl\" [icon]=\"icons.elementRight2\" />\n }\n </a>\n }\n }\n} @else {\n @for (some of ghosts(); track $index) {\n <div class=\"si-link-widget-skeleton\"></div>\n }\n}\n" }]
569
594
  }], propDecorators: { showLinkIcons: [{ type: i0.Input, args: [{ isSignal: true, alias: "showLinkIcons", required: false }] }], numberOfLinks: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberOfLinks", required: false }] }] } });
570
595
 
571
596
  /**
@@ -579,23 +604,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
579
604
  class SiListWidgetItemComponent extends SiWidgetBaseDirective {
580
605
  isLink = computed(() => {
581
606
  return typeof this.value()?.label === 'object';
582
- }, ...(ngDevMode ? [{ debugName: "isLink" }] : []));
607
+ }, /* @ts-ignore */
608
+ ...(ngDevMode ? [{ debugName: "isLink" }] : /* istanbul ignore next */ []));
583
609
  badgeColor = computed(() => {
584
610
  return this.value()?.badgeColor ? 'bg-' + this.value()?.badgeColor : 'bg-default';
585
- }, ...(ngDevMode ? [{ debugName: "badgeColor" }] : []));
611
+ }, /* @ts-ignore */
612
+ ...(ngDevMode ? [{ debugName: "badgeColor" }] : /* istanbul ignore next */ []));
586
613
  link = computed(() => {
587
614
  return this.value()?.label;
588
- }, ...(ngDevMode ? [{ debugName: "link" }] : []));
615
+ }, /* @ts-ignore */
616
+ ...(ngDevMode ? [{ debugName: "link" }] : /* istanbul ignore next */ []));
589
617
  label = computed(() => {
590
618
  return this.value()?.label;
591
- }, ...(ngDevMode ? [{ debugName: "label" }] : []));
619
+ }, /* @ts-ignore */
620
+ ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
592
621
  icons = addIcons({ elementRight2 });
593
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiListWidgetItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
594
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiListWidgetItemComponent, isStandalone: true, selector: "si-list-widget-item", host: { attributes: { "role": "listitem" }, classAttribute: "list-group-item d-flex align-items-center" }, usesInheritance: true, ngImport: i0, template: "@let valueObject = value();\n@if (!showLoadingIndicator() && valueObject) {\n @if (valueObject.badge) {\n <span class=\"mx-0 badge me-4\" [class]=\"badgeColor()\">{{ valueObject.badge | translate }}</span>\n }\n <span class=\"me-auto\">\n @if (!isLink()) {\n <span class=\"si-h5\">{{ label() | translate }}</span>\n } @else {\n <a class=\"\" [siLink]=\"link()\"\n >{{ link().title | translate\n }}<si-icon class=\"link-icon link-start flip-rtl\" [icon]=\"icons.elementRight2\" />\n </a>\n }\n @if (valueObject.description) {\n <div class=\"mt-1 si-body text-secondary\">{{ valueObject.description | translate }}</div>\n }\n </span>\n <span>{{ valueObject.text | translate }}</span>\n @if (valueObject.action) {\n @if (valueObject.action.action) {\n <button\n type=\"button\"\n class=\"btn btn-icon btn-tertiary ms-4 p-2\"\n [attr.aria-label]=\"valueObject.action.title | translate\"\n [siLink]=\"valueObject.action\"\n >\n @if (valueObject.actionIcon) {\n <si-icon class=\"icon\" [icon]=\"valueObject.actionIcon\" />\n }\n </button>\n } @else {\n <a\n class=\"ms-4 p-2\"\n [siLink]=\"valueObject.action\"\n [attr.aria-label]=\"valueObject.action.title | translate\"\n >\n @if (valueObject.actionIcon) {\n <si-icon class=\"icon\" [icon]=\"valueObject.actionIcon\" />\n }\n </a>\n }\n }\n} @else {\n <div class=\"si-link-widget-skeleton my-4\"></div>\n}\n", dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
622
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiListWidgetItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
623
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiListWidgetItemComponent, isStandalone: true, selector: "si-list-widget-item", host: { attributes: { "role": "listitem" }, classAttribute: "list-group-item d-flex align-items-center" }, usesInheritance: true, ngImport: i0, template: "@let valueObject = value();\n@if (!showLoadingIndicator() && valueObject) {\n @if (valueObject.badge) {\n <span class=\"mx-0 badge me-4\" [class]=\"badgeColor()\">{{ valueObject.badge | translate }}</span>\n }\n <span class=\"me-auto\">\n @if (!isLink()) {\n <span class=\"si-h5\">{{ label() | translate }}</span>\n } @else {\n <a class=\"\" [siLink]=\"link()\"\n >{{ link().title | translate\n }}<si-icon class=\"link-icon link-start flip-rtl\" [icon]=\"icons.elementRight2\" />\n </a>\n }\n @if (valueObject.description) {\n <div class=\"mt-1 si-body text-secondary\">{{ valueObject.description | translate }}</div>\n }\n </span>\n <span>{{ valueObject.text | translate }}</span>\n @if (valueObject.action) {\n @if (valueObject.action.action) {\n <button\n type=\"button\"\n class=\"btn btn-icon btn-tertiary ms-4 p-2\"\n [attr.aria-label]=\"valueObject.action.title | translate\"\n [siLink]=\"valueObject.action\"\n >\n @if (valueObject.actionIcon) {\n <si-icon class=\"icon\" [icon]=\"valueObject.actionIcon\" />\n }\n </button>\n } @else {\n <a\n class=\"ms-4 p-2\"\n [siLink]=\"valueObject.action\"\n [attr.aria-label]=\"valueObject.action.title | translate\"\n >\n @if (valueObject.actionIcon) {\n <si-icon class=\"icon\" [icon]=\"valueObject.actionIcon\" />\n }\n </a>\n }\n }\n} @else {\n <div class=\"si-link-widget-skeleton my-4\"></div>\n}\n", dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
595
624
  }
596
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiListWidgetItemComponent, decorators: [{
625
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiListWidgetItemComponent, decorators: [{
597
626
  type: Component,
598
- args: [{ selector: 'si-list-widget-item', imports: [SiIconComponent, SiLinkDirective, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.Default, host: {
627
+ args: [{ selector: 'si-list-widget-item', imports: [SiIconComponent, SiLinkDirective, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.Eager, host: {
599
628
  class: 'list-group-item d-flex align-items-center',
600
629
  role: 'listitem'
601
630
  }, template: "@let valueObject = value();\n@if (!showLoadingIndicator() && valueObject) {\n @if (valueObject.badge) {\n <span class=\"mx-0 badge me-4\" [class]=\"badgeColor()\">{{ valueObject.badge | translate }}</span>\n }\n <span class=\"me-auto\">\n @if (!isLink()) {\n <span class=\"si-h5\">{{ label() | translate }}</span>\n } @else {\n <a class=\"\" [siLink]=\"link()\"\n >{{ link().title | translate\n }}<si-icon class=\"link-icon link-start flip-rtl\" [icon]=\"icons.elementRight2\" />\n </a>\n }\n @if (valueObject.description) {\n <div class=\"mt-1 si-body text-secondary\">{{ valueObject.description | translate }}</div>\n }\n </span>\n <span>{{ valueObject.text | translate }}</span>\n @if (valueObject.action) {\n @if (valueObject.action.action) {\n <button\n type=\"button\"\n class=\"btn btn-icon btn-tertiary ms-4 p-2\"\n [attr.aria-label]=\"valueObject.action.title | translate\"\n [siLink]=\"valueObject.action\"\n >\n @if (valueObject.actionIcon) {\n <si-icon class=\"icon\" [icon]=\"valueObject.actionIcon\" />\n }\n </button>\n } @else {\n <a\n class=\"ms-4 p-2\"\n [siLink]=\"valueObject.action\"\n [attr.aria-label]=\"valueObject.action.title | translate\"\n >\n @if (valueObject.actionIcon) {\n <si-icon class=\"icon\" [icon]=\"valueObject.actionIcon\" />\n }\n </a>\n }\n }\n} @else {\n <div class=\"si-link-widget-skeleton my-4\"></div>\n}\n" }]
@@ -612,27 +641,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
612
641
  class SiListWidgetBodyComponent extends SiWidgetBaseDirective {
613
642
  translateService = injectSiTranslateService();
614
643
  /** Optional footer link for the list widget */
615
- link = input(...(ngDevMode ? [undefined, { debugName: "link" }] : []));
644
+ link = input(/* @ts-ignore */
645
+ ...(ngDevMode ? [undefined, { debugName: "link" }] : /* istanbul ignore next */ []));
616
646
  /**
617
647
  * label for the "search placeholder" name
618
648
  *
619
649
  * @defaultValue
620
650
  * ```
621
- * t(() => $localize`:@@SI_LIST_WIDGET.SEARCH_PLACEHOLDER:Search...`)
651
+ * t(() => $localize`:@@SI_LIST_WIDGET.SEARCH_PLACEHOLDER:Search…`)
622
652
  * ```
623
653
  */
624
- searchPlaceholderLabel = input(t(() => $localize `:@@SI_LIST_WIDGET.SEARCH_PLACEHOLDER:Search...`), ...(ngDevMode ? [{ debugName: "searchPlaceholderLabel" }] : []));
654
+ searchPlaceholderLabel = input(t(() => $localize `:@@SI_LIST_WIDGET.SEARCH_PLACEHOLDER:Search…`), /* @ts-ignore */
655
+ ...(ngDevMode ? [{ debugName: "searchPlaceholderLabel" }] : /* istanbul ignore next */ []));
625
656
  /**
626
657
  * Enable ascending and descending SiListWidgetItem sorting. If enabled,
627
658
  * items are initially ascending sorted.
628
659
  */
629
- sort = input(...(ngDevMode ? [undefined, { debugName: "sort" }] : []));
660
+ sort = input(/* @ts-ignore */
661
+ ...(ngDevMode ? [undefined, { debugName: "sort" }] : /* istanbul ignore next */ []));
630
662
  /**
631
663
  * Enables the search functionality.
632
664
  *
633
665
  * @defaultValue false
634
666
  */
635
- search = input(false, { ...(ngDevMode ? { debugName: "search" } : {}), transform: booleanAttribute });
667
+ search = input(false, { ...(ngDevMode ? { debugName: "search" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
636
668
  /**
637
669
  * Compare function of for two `SiListWidgetItem`s that is used to sort
638
670
  * the array of items. The default compares the item labels by using the
@@ -660,7 +692,8 @@ class SiListWidgetBodyComponent extends SiWidgetBaseDirective {
660
692
  const aLabel = typeof a.label === 'object' ? a.label.title : a.label;
661
693
  const bLabel = typeof b.label === 'object' ? b.label.title : b.label;
662
694
  return aLabel.localeCompare(bLabel);
663
- }, ...(ngDevMode ? [{ debugName: "compareFn" }] : []));
695
+ }, /* @ts-ignore */
696
+ ...(ngDevMode ? [{ debugName: "compareFn" }] : /* istanbul ignore next */ []));
664
697
  /**
665
698
  * Filter function that is used to filter down the list items when the user enters
666
699
  * a term in the search bar. Default function.
@@ -685,15 +718,18 @@ class SiListWidgetBodyComponent extends SiWidgetBaseDirective {
685
718
  filterFn = input((item, searchTerm) => {
686
719
  const aLabel = typeof item.label === 'object' ? item.label.title : item.label;
687
720
  return aLabel.toLowerCase().includes(searchTerm.toLowerCase());
688
- }, ...(ngDevMode ? [{ debugName: "filterFn" }] : []));
721
+ }, /* @ts-ignore */
722
+ ...(ngDevMode ? [{ debugName: "filterFn" }] : /* istanbul ignore next */ []));
689
723
  /**
690
724
  * The number of skeleton progress indication rows.
691
725
  *
692
726
  * @defaultValue 6
693
727
  */
694
- numberOfLinks = input(6, ...(ngDevMode ? [{ debugName: "numberOfLinks" }] : []));
728
+ numberOfLinks = input(6, /* @ts-ignore */
729
+ ...(ngDevMode ? [{ debugName: "numberOfLinks" }] : /* istanbul ignore next */ []));
695
730
  /** Used to display the defined number of ghost items */
696
- ghosts = computed(() => new Array(this.numberOfLinks() ?? 6), ...(ngDevMode ? [{ debugName: "ghosts" }] : []));
731
+ ghosts = computed(() => new Array(this.numberOfLinks() ?? 6), /* @ts-ignore */
732
+ ...(ngDevMode ? [{ debugName: "ghosts" }] : /* istanbul ignore next */ []));
697
733
  /** Replica of value with pre-translated labels, recomputed when value or language changes. */
698
734
  translatedItems = toSignal(toObservable(this.value).pipe(switchMap(items => {
699
735
  if (!items) {
@@ -728,19 +764,21 @@ class SiListWidgetBodyComponent extends SiWidgetBaseDirective {
728
764
  filteredListWidgetItems = filteredListWidgetItems?.sort((a, b) => (this.compareFn()(a, b) ?? 0) * factor);
729
765
  }
730
766
  return filteredListWidgetItems;
731
- }, ...(ngDevMode ? [{ debugName: "filteredListWidgetItems" }] : []));
767
+ }, /* @ts-ignore */
768
+ ...(ngDevMode ? [{ debugName: "filteredListWidgetItems" }] : /* istanbul ignore next */ []));
732
769
  /**
733
770
  * Current search term used to filter the displayed list items.
734
771
  *
735
772
  * @defaultValue ''
736
773
  */
737
- searchText = model('', ...(ngDevMode ? [{ debugName: "searchText" }] : []));
738
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiListWidgetBodyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
739
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiListWidgetBodyComponent, isStandalone: true, selector: "si-list-widget-body", inputs: { link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholderLabel: { classPropertyName: "searchPlaceholderLabel", publicName: "searchPlaceholderLabel", isSignal: true, isRequired: false, transformFunction: null }, sort: { classPropertyName: "sort", publicName: "sort", isSignal: true, isRequired: false, transformFunction: null }, search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null }, compareFn: { classPropertyName: "compareFn", publicName: "compareFn", isSignal: true, isRequired: false, transformFunction: null }, filterFn: { classPropertyName: "filterFn", publicName: "filterFn", isSignal: true, isRequired: false, transformFunction: null }, numberOfLinks: { classPropertyName: "numberOfLinks", publicName: "numberOfLinks", isSignal: true, isRequired: false, transformFunction: null }, searchText: { classPropertyName: "searchText", publicName: "searchText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchText: "searchTextChange" }, usesInheritance: true, ngImport: i0, template: "@if (search()) {\n <si-search-bar\n class=\"px-6 py-4\"\n showIcon\n colorVariant=\"base-0\"\n [debounceTime]=\"400\"\n [placeholder]=\"searchPlaceholderLabel() | translate\"\n [(ngModel)]=\"searchText\"\n />\n}\n@let filteredListWidgetItemsList = filteredListWidgetItems();\n@if (!showLoadingIndicator() && filteredListWidgetItemsList) {\n @if (filteredListWidgetItemsList.length > 0) {\n <div class=\"list-group list-group-lg\" role=\"list\">\n @for (item of filteredListWidgetItemsList; track $index) {\n <si-list-widget-item [value]=\"item\" />\n }\n </div>\n } @else {\n <ng-content select=\"[empty-state]\" />\n }\n} @else {\n <div class=\"list-group list-group-lg\" role=\"list\">\n @for (some of ghosts(); track $index) {\n <si-list-widget-item [value]=\"undefined\" />\n }\n </div>\n}\n", styles: [":host{background-color:var(--element-base-1);border-radius:var(--element-radius-3);display:flex;flex-direction:column;flex:1 1 auto;overflow:hidden}:host:has(si-search-bar){padding-block-start:8px}:host-context(si-card,si-dashboard-card){padding-block-start:unset!important}.list-group{border-radius:inherit;overflow-y:auto;overflow-x:hidden}\n"], dependencies: [{ kind: "component", type: SiListWidgetItemComponent, selector: "si-list-widget-item" }, { kind: "component", type: SiSearchBarComponent, selector: "si-search-bar", inputs: ["debounceTime", "prohibitedCharacters", "placeholder", "showIcon", "tabbable", "value", "readonly", "colorVariant", "disabled", "maxlength", "clearButtonAriaLabel"], outputs: ["searchChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
774
+ searchText = model('', /* @ts-ignore */
775
+ ...(ngDevMode ? [{ debugName: "searchText" }] : /* istanbul ignore next */ []));
776
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiListWidgetBodyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
777
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiListWidgetBodyComponent, isStandalone: true, selector: "si-list-widget-body", inputs: { link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholderLabel: { classPropertyName: "searchPlaceholderLabel", publicName: "searchPlaceholderLabel", isSignal: true, isRequired: false, transformFunction: null }, sort: { classPropertyName: "sort", publicName: "sort", isSignal: true, isRequired: false, transformFunction: null }, search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null }, compareFn: { classPropertyName: "compareFn", publicName: "compareFn", isSignal: true, isRequired: false, transformFunction: null }, filterFn: { classPropertyName: "filterFn", publicName: "filterFn", isSignal: true, isRequired: false, transformFunction: null }, numberOfLinks: { classPropertyName: "numberOfLinks", publicName: "numberOfLinks", isSignal: true, isRequired: false, transformFunction: null }, searchText: { classPropertyName: "searchText", publicName: "searchText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchText: "searchTextChange" }, usesInheritance: true, ngImport: i0, template: "@if (search()) {\n <si-search-bar\n class=\"px-6 py-4\"\n showIcon\n colorVariant=\"base-0\"\n [debounceTime]=\"400\"\n [placeholder]=\"searchPlaceholderLabel() | translate\"\n [(ngModel)]=\"searchText\"\n />\n}\n@let filteredListWidgetItemsList = filteredListWidgetItems();\n@if (!showLoadingIndicator() && filteredListWidgetItemsList) {\n @if (filteredListWidgetItemsList.length > 0) {\n <div class=\"list-group list-group-lg\" role=\"list\">\n @for (item of filteredListWidgetItemsList; track $index) {\n <si-list-widget-item [value]=\"item\" />\n }\n </div>\n } @else {\n <ng-content select=\"[empty-state]\" />\n }\n} @else {\n <div class=\"list-group list-group-lg\" role=\"list\">\n @for (some of ghosts(); track $index) {\n <si-list-widget-item [value]=\"undefined\" />\n }\n </div>\n}\n", styles: [":host{background-color:var(--si-sys-background-1);border-radius:var(--element-radius-3);display:flex;flex-direction:column;flex:1 1 auto;overflow:hidden}:host:has(si-search-bar){padding-block-start:var(--si-sys-sizing-spacing-y-40)}:host-context(si-card,si-dashboard-card){padding-block-start:unset!important}.list-group{border-radius:inherit;overflow-y:auto;overflow-x:hidden}\n"], dependencies: [{ kind: "component", type: SiListWidgetItemComponent, selector: "si-list-widget-item" }, { kind: "component", type: SiSearchBarComponent, selector: "si-search-bar", inputs: ["debounceTime", "prohibitedCharacters", "placeholder", "showIcon", "value", "readonly", "colorVariant", "disabled", "maxlength", "clearButtonAriaLabel"], outputs: ["searchChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
740
778
  }
741
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiListWidgetBodyComponent, decorators: [{
779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiListWidgetBodyComponent, decorators: [{
742
780
  type: Component,
743
- args: [{ selector: 'si-list-widget-body', imports: [SiListWidgetItemComponent, SiSearchBarComponent, SiTranslatePipe, FormsModule], changeDetection: ChangeDetectionStrategy.Default, host: { class: '' }, template: "@if (search()) {\n <si-search-bar\n class=\"px-6 py-4\"\n showIcon\n colorVariant=\"base-0\"\n [debounceTime]=\"400\"\n [placeholder]=\"searchPlaceholderLabel() | translate\"\n [(ngModel)]=\"searchText\"\n />\n}\n@let filteredListWidgetItemsList = filteredListWidgetItems();\n@if (!showLoadingIndicator() && filteredListWidgetItemsList) {\n @if (filteredListWidgetItemsList.length > 0) {\n <div class=\"list-group list-group-lg\" role=\"list\">\n @for (item of filteredListWidgetItemsList; track $index) {\n <si-list-widget-item [value]=\"item\" />\n }\n </div>\n } @else {\n <ng-content select=\"[empty-state]\" />\n }\n} @else {\n <div class=\"list-group list-group-lg\" role=\"list\">\n @for (some of ghosts(); track $index) {\n <si-list-widget-item [value]=\"undefined\" />\n }\n </div>\n}\n", styles: [":host{background-color:var(--element-base-1);border-radius:var(--element-radius-3);display:flex;flex-direction:column;flex:1 1 auto;overflow:hidden}:host:has(si-search-bar){padding-block-start:8px}:host-context(si-card,si-dashboard-card){padding-block-start:unset!important}.list-group{border-radius:inherit;overflow-y:auto;overflow-x:hidden}\n"] }]
781
+ args: [{ selector: 'si-list-widget-body', imports: [SiListWidgetItemComponent, SiSearchBarComponent, SiTranslatePipe, FormsModule], changeDetection: ChangeDetectionStrategy.Eager, host: { class: '' }, template: "@if (search()) {\n <si-search-bar\n class=\"px-6 py-4\"\n showIcon\n colorVariant=\"base-0\"\n [debounceTime]=\"400\"\n [placeholder]=\"searchPlaceholderLabel() | translate\"\n [(ngModel)]=\"searchText\"\n />\n}\n@let filteredListWidgetItemsList = filteredListWidgetItems();\n@if (!showLoadingIndicator() && filteredListWidgetItemsList) {\n @if (filteredListWidgetItemsList.length > 0) {\n <div class=\"list-group list-group-lg\" role=\"list\">\n @for (item of filteredListWidgetItemsList; track $index) {\n <si-list-widget-item [value]=\"item\" />\n }\n </div>\n } @else {\n <ng-content select=\"[empty-state]\" />\n }\n} @else {\n <div class=\"list-group list-group-lg\" role=\"list\">\n @for (some of ghosts(); track $index) {\n <si-list-widget-item [value]=\"undefined\" />\n }\n </div>\n}\n", styles: [":host{background-color:var(--si-sys-background-1);border-radius:var(--element-radius-3);display:flex;flex-direction:column;flex:1 1 auto;overflow:hidden}:host:has(si-search-bar){padding-block-start:var(--si-sys-sizing-spacing-y-40)}:host-context(si-card,si-dashboard-card){padding-block-start:unset!important}.list-group{border-radius:inherit;overflow-y:auto;overflow-x:hidden}\n"] }]
744
782
  }], propDecorators: { link: [{ type: i0.Input, args: [{ isSignal: true, alias: "link", required: false }] }], searchPlaceholderLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchPlaceholderLabel", required: false }] }], sort: [{ type: i0.Input, args: [{ isSignal: true, alias: "sort", required: false }] }], search: [{ type: i0.Input, args: [{ isSignal: true, alias: "search", required: false }] }], compareFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "compareFn", required: false }] }], filterFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterFn", required: false }] }], numberOfLinks: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberOfLinks", required: false }] }], searchText: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchText", required: false }] }, { type: i0.Output, args: ["searchTextChange"] }] } });
745
783
 
746
784
  /**
@@ -754,42 +792,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
754
792
  class SiListWidgetComponent extends SiWidgetBaseDirective {
755
793
  icons = addIcons({ elementRight2, elementSortDown, elementSortUp });
756
794
  /** List widget heading. */
757
- heading = input(...(ngDevMode ? [undefined, { debugName: "heading" }] : []));
795
+ heading = input(/* @ts-ignore */
796
+ ...(ngDevMode ? [undefined, { debugName: "heading" }] : /* istanbul ignore next */ []));
758
797
  /** Optional footer link for the list widget */
759
- link = input(...(ngDevMode ? [undefined, { debugName: "link" }] : []));
798
+ link = input(/* @ts-ignore */
799
+ ...(ngDevMode ? [undefined, { debugName: "link" }] : /* istanbul ignore next */ []));
760
800
  /**
761
801
  * label for the "search placeholder" name
762
802
  *
763
803
  * @defaultValue
764
804
  * ```
765
- * t(() => $localize`:@@SI_LIST_WIDGET.SEARCH_PLACEHOLDER:Search...`)
805
+ * t(() => $localize`:@@SI_LIST_WIDGET.SEARCH_PLACEHOLDER:Search…`)
766
806
  * ```
767
807
  */
768
- searchPlaceholderLabel = input(t(() => $localize `:@@SI_LIST_WIDGET.SEARCH_PLACEHOLDER:Search...`), ...(ngDevMode ? [{ debugName: "searchPlaceholderLabel" }] : []));
808
+ searchPlaceholderLabel = input(t(() => $localize `:@@SI_LIST_WIDGET.SEARCH_PLACEHOLDER:Search…`), /* @ts-ignore */
809
+ ...(ngDevMode ? [{ debugName: "searchPlaceholderLabel" }] : /* istanbul ignore next */ []));
769
810
  /**
770
811
  * @defaultValue
771
812
  * ```
772
813
  * t(() => $localize`:@@SI_LIST_WIDGET.SORT_ASCENDING:Sort ascending`)
773
814
  * ```
774
815
  */
775
- sortAscendingLabel = input(t(() => $localize `:@@SI_LIST_WIDGET.SORT_ASCENDING:Sort ascending`), ...(ngDevMode ? [{ debugName: "sortAscendingLabel" }] : []));
816
+ sortAscendingLabel = input(t(() => $localize `:@@SI_LIST_WIDGET.SORT_ASCENDING:Sort ascending`), /* @ts-ignore */
817
+ ...(ngDevMode ? [{ debugName: "sortAscendingLabel" }] : /* istanbul ignore next */ []));
776
818
  /**
777
819
  * @defaultValue
778
820
  * ```
779
821
  * t(() => $localize`:@@SI_LIST_WIDGET.SORT_DESCENDING:Sort descending`)
780
822
  * ```
781
823
  */
782
- sortDescendingLabel = input(t(() => $localize `:@@SI_LIST_WIDGET.SORT_DESCENDING:Sort descending`), ...(ngDevMode ? [{ debugName: "sortDescendingLabel" }] : []));
824
+ sortDescendingLabel = input(t(() => $localize `:@@SI_LIST_WIDGET.SORT_DESCENDING:Sort descending`), /* @ts-ignore */
825
+ ...(ngDevMode ? [{ debugName: "sortDescendingLabel" }] : /* istanbul ignore next */ []));
783
826
  /**
784
827
  * Set `ASC` of ascending sorting, `DSC` for descending sorting and `undefined` for no sorting.
785
828
  */
786
- sort = model(...(ngDevMode ? [undefined, { debugName: "sort" }] : []));
829
+ sort = model(/* @ts-ignore */
830
+ ...(ngDevMode ? [undefined, { debugName: "sort" }] : /* istanbul ignore next */ []));
787
831
  /**
788
832
  * Enables the search functionality.
789
833
  *
790
834
  * @defaultValue false
791
835
  */
792
- search = input(false, { ...(ngDevMode ? { debugName: "search" } : {}), transform: booleanAttribute });
836
+ search = input(false, { ...(ngDevMode ? { debugName: "search" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
793
837
  /**
794
838
  * Compare function of for two `SiListWidgetItem`s that is used to sort
795
839
  * the array of items. The default compares the item labels by using the
@@ -817,7 +861,8 @@ class SiListWidgetComponent extends SiWidgetBaseDirective {
817
861
  const aLabel = typeof a.label === 'object' ? a.label.title : a.label;
818
862
  const bLabel = typeof b.label === 'object' ? b.label.title : b.label;
819
863
  return aLabel.localeCompare(bLabel);
820
- }, ...(ngDevMode ? [{ debugName: "compareFn" }] : []));
864
+ }, /* @ts-ignore */
865
+ ...(ngDevMode ? [{ debugName: "compareFn" }] : /* istanbul ignore next */ []));
821
866
  /**
822
867
  * Filter function that is used to filter down the list items when the user enters
823
868
  * a term in the search bar. Default function.
@@ -842,21 +887,25 @@ class SiListWidgetComponent extends SiWidgetBaseDirective {
842
887
  filterFn = input((item, searchTerm) => {
843
888
  const aLabel = typeof item.label === 'object' ? item.label.title : item.label;
844
889
  return aLabel.toLowerCase().includes(searchTerm.toLowerCase());
845
- }, ...(ngDevMode ? [{ debugName: "filterFn" }] : []));
890
+ }, /* @ts-ignore */
891
+ ...(ngDevMode ? [{ debugName: "filterFn" }] : /* istanbul ignore next */ []));
846
892
  /**
847
893
  * The number of skeleton progress indication rows.
848
894
  *
849
895
  * @defaultValue 6
850
896
  */
851
- numberOfLinks = input(6, ...(ngDevMode ? [{ debugName: "numberOfLinks" }] : []));
897
+ numberOfLinks = input(6, /* @ts-ignore */
898
+ ...(ngDevMode ? [{ debugName: "numberOfLinks" }] : /* istanbul ignore next */ []));
852
899
  /**
853
900
  * Optional accent line
854
901
  */
855
- accentLine = input(...(ngDevMode ? [undefined, { debugName: "accentLine" }] : []));
902
+ accentLine = input(/* @ts-ignore */
903
+ ...(ngDevMode ? [undefined, { debugName: "accentLine" }] : /* istanbul ignore next */ []));
856
904
  accentClass = computed(() => {
857
905
  const accentLine = this.accentLine();
858
906
  return accentLine ? 'accent-' + accentLine : '';
859
- }, ...(ngDevMode ? [{ debugName: "accentClass" }] : []));
907
+ }, /* @ts-ignore */
908
+ ...(ngDevMode ? [{ debugName: "accentClass" }] : /* istanbul ignore next */ []));
860
909
  /** The menu item array used to display the sort button. */
861
910
  sortAction = computed(() => {
862
911
  const sortAction = [
@@ -877,7 +926,8 @@ class SiListWidgetComponent extends SiWidgetBaseDirective {
877
926
  sortAction[0].icon = this.icons.elementSortDown;
878
927
  }
879
928
  return sortAction;
880
- }, ...(ngDevMode ? [{ debugName: "sortAction" }] : []));
929
+ }, /* @ts-ignore */
930
+ ...(ngDevMode ? [{ debugName: "sortAction" }] : /* istanbul ignore next */ []));
881
931
  doSort() {
882
932
  if (this.sort() === 'ASC') {
883
933
  this.sort.set('DSC');
@@ -886,10 +936,10 @@ class SiListWidgetComponent extends SiWidgetBaseDirective {
886
936
  this.sort.set('ASC');
887
937
  }
888
938
  }
889
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiListWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
890
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiListWidgetComponent, isStandalone: true, selector: "si-list-widget", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholderLabel: { classPropertyName: "searchPlaceholderLabel", publicName: "searchPlaceholderLabel", isSignal: true, isRequired: false, transformFunction: null }, sortAscendingLabel: { classPropertyName: "sortAscendingLabel", publicName: "sortAscendingLabel", isSignal: true, isRequired: false, transformFunction: null }, sortDescendingLabel: { classPropertyName: "sortDescendingLabel", publicName: "sortDescendingLabel", isSignal: true, isRequired: false, transformFunction: null }, sort: { classPropertyName: "sort", publicName: "sort", isSignal: true, isRequired: false, transformFunction: null }, search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null }, compareFn: { classPropertyName: "compareFn", publicName: "compareFn", isSignal: true, isRequired: false, transformFunction: null }, filterFn: { classPropertyName: "filterFn", publicName: "filterFn", isSignal: true, isRequired: false, transformFunction: null }, numberOfLinks: { classPropertyName: "numberOfLinks", publicName: "numberOfLinks", isSignal: true, isRequired: false, transformFunction: null }, accentLine: { classPropertyName: "accentLine", publicName: "accentLine", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sort: "sortChange" }, host: { classAttribute: "si-list-widget" }, usesInheritance: true, ngImport: i0, template: "<si-card\n actionBarViewType=\"expanded\"\n class=\"h-100\"\n [class]=\"accentClass()\"\n [heading]=\"heading()\"\n [primaryActions]=\"sort() ? sortAction() : []\"\n>\n <si-list-widget-body\n body\n [compareFn]=\"compareFn()\"\n [filterFn]=\"filterFn()\"\n [numberOfLinks]=\"numberOfLinks()\"\n [searchPlaceholderLabel]=\"searchPlaceholderLabel()\"\n [search]=\"search()\"\n [sort]=\"sort()\"\n [value]=\"value()\"\n [showLoadingIndicator]=\"showLoadingIndicator()\"\n >\n <ng-content select=\"[empty-state]\" empty-state />\n </si-list-widget-body>\n\n @let linkValue = link();\n @if (linkValue) {\n <div class=\"card-footer\" footer>\n @if (!linkValue.action) {\n <a [siLink]=\"linkValue\">\n {{ linkValue.title | translate }}\n <si-icon class=\"link-icon link-end flip-rtl\" [icon]=\"icons.elementRight2\" />\n </a>\n } @else {\n <button type=\"button\" class=\"btn btn-link\" [siLink]=\"linkValue\"\n >{{ linkValue.title | translate }}\n </button>\n }\n </div>\n }\n</si-card>\n", dependencies: [{ kind: "component", type: SiCardComponent, selector: "si-card", inputs: ["primaryActions", "secondaryActions", "actionParam", "actionBarViewType", "actionBarTitle"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "component", type: SiListWidgetBodyComponent, selector: "si-list-widget-body", inputs: ["link", "searchPlaceholderLabel", "sort", "search", "compareFn", "filterFn", "numberOfLinks", "searchText"], outputs: ["searchTextChange"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
939
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiListWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
940
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiListWidgetComponent, isStandalone: true, selector: "si-list-widget", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholderLabel: { classPropertyName: "searchPlaceholderLabel", publicName: "searchPlaceholderLabel", isSignal: true, isRequired: false, transformFunction: null }, sortAscendingLabel: { classPropertyName: "sortAscendingLabel", publicName: "sortAscendingLabel", isSignal: true, isRequired: false, transformFunction: null }, sortDescendingLabel: { classPropertyName: "sortDescendingLabel", publicName: "sortDescendingLabel", isSignal: true, isRequired: false, transformFunction: null }, sort: { classPropertyName: "sort", publicName: "sort", isSignal: true, isRequired: false, transformFunction: null }, search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null }, compareFn: { classPropertyName: "compareFn", publicName: "compareFn", isSignal: true, isRequired: false, transformFunction: null }, filterFn: { classPropertyName: "filterFn", publicName: "filterFn", isSignal: true, isRequired: false, transformFunction: null }, numberOfLinks: { classPropertyName: "numberOfLinks", publicName: "numberOfLinks", isSignal: true, isRequired: false, transformFunction: null }, accentLine: { classPropertyName: "accentLine", publicName: "accentLine", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sort: "sortChange" }, host: { classAttribute: "si-list-widget" }, usesInheritance: true, ngImport: i0, template: "<si-card\n actionBarViewType=\"expanded\"\n class=\"h-100\"\n [class]=\"accentClass()\"\n [heading]=\"heading()\"\n [primaryActions]=\"sort() ? sortAction() : []\"\n>\n <si-list-widget-body\n body\n [compareFn]=\"compareFn()\"\n [filterFn]=\"filterFn()\"\n [numberOfLinks]=\"numberOfLinks()\"\n [searchPlaceholderLabel]=\"searchPlaceholderLabel()\"\n [search]=\"search()\"\n [sort]=\"sort()\"\n [value]=\"value()\"\n [showLoadingIndicator]=\"showLoadingIndicator()\"\n >\n <ng-content select=\"[empty-state]\" empty-state />\n </si-list-widget-body>\n\n @let linkValue = link();\n @if (linkValue) {\n <div class=\"card-footer\" footer>\n @if (!linkValue.action) {\n <a [siLink]=\"linkValue\">\n {{ linkValue.title | translate }}\n <si-icon class=\"link-icon link-end flip-rtl\" [icon]=\"icons.elementRight2\" />\n </a>\n } @else {\n <button type=\"button\" class=\"btn btn-link\" [siLink]=\"linkValue\"\n >{{ linkValue.title | translate }}\n </button>\n }\n </div>\n }\n</si-card>\n", dependencies: [{ kind: "component", type: SiCardComponent, selector: "si-card", inputs: ["primaryActions", "secondaryActions", "actionParam", "actionBarViewType", "actionBarTitle"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "component", type: SiListWidgetBodyComponent, selector: "si-list-widget-body", inputs: ["link", "searchPlaceholderLabel", "sort", "search", "compareFn", "filterFn", "numberOfLinks", "searchText"], outputs: ["searchTextChange"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
891
941
  }
892
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiListWidgetComponent, decorators: [{
942
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiListWidgetComponent, decorators: [{
893
943
  type: Component,
894
944
  args: [{ selector: 'si-list-widget', imports: [
895
945
  SiCardComponent,
@@ -897,7 +947,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
897
947
  SiLinkDirective,
898
948
  SiListWidgetBodyComponent,
899
949
  SiTranslatePipe
900
- ], changeDetection: ChangeDetectionStrategy.Default, host: { class: 'si-list-widget' }, template: "<si-card\n actionBarViewType=\"expanded\"\n class=\"h-100\"\n [class]=\"accentClass()\"\n [heading]=\"heading()\"\n [primaryActions]=\"sort() ? sortAction() : []\"\n>\n <si-list-widget-body\n body\n [compareFn]=\"compareFn()\"\n [filterFn]=\"filterFn()\"\n [numberOfLinks]=\"numberOfLinks()\"\n [searchPlaceholderLabel]=\"searchPlaceholderLabel()\"\n [search]=\"search()\"\n [sort]=\"sort()\"\n [value]=\"value()\"\n [showLoadingIndicator]=\"showLoadingIndicator()\"\n >\n <ng-content select=\"[empty-state]\" empty-state />\n </si-list-widget-body>\n\n @let linkValue = link();\n @if (linkValue) {\n <div class=\"card-footer\" footer>\n @if (!linkValue.action) {\n <a [siLink]=\"linkValue\">\n {{ linkValue.title | translate }}\n <si-icon class=\"link-icon link-end flip-rtl\" [icon]=\"icons.elementRight2\" />\n </a>\n } @else {\n <button type=\"button\" class=\"btn btn-link\" [siLink]=\"linkValue\"\n >{{ linkValue.title | translate }}\n </button>\n }\n </div>\n }\n</si-card>\n" }]
950
+ ], changeDetection: ChangeDetectionStrategy.Eager, host: { class: 'si-list-widget' }, template: "<si-card\n actionBarViewType=\"expanded\"\n class=\"h-100\"\n [class]=\"accentClass()\"\n [heading]=\"heading()\"\n [primaryActions]=\"sort() ? sortAction() : []\"\n>\n <si-list-widget-body\n body\n [compareFn]=\"compareFn()\"\n [filterFn]=\"filterFn()\"\n [numberOfLinks]=\"numberOfLinks()\"\n [searchPlaceholderLabel]=\"searchPlaceholderLabel()\"\n [search]=\"search()\"\n [sort]=\"sort()\"\n [value]=\"value()\"\n [showLoadingIndicator]=\"showLoadingIndicator()\"\n >\n <ng-content select=\"[empty-state]\" empty-state />\n </si-list-widget-body>\n\n @let linkValue = link();\n @if (linkValue) {\n <div class=\"card-footer\" footer>\n @if (!linkValue.action) {\n <a [siLink]=\"linkValue\">\n {{ linkValue.title | translate }}\n <si-icon class=\"link-icon link-end flip-rtl\" [icon]=\"icons.elementRight2\" />\n </a>\n } @else {\n <button type=\"button\" class=\"btn btn-link\" [siLink]=\"linkValue\"\n >{{ linkValue.title | translate }}\n </button>\n }\n </div>\n }\n</si-card>\n" }]
901
951
  }], propDecorators: { heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], link: [{ type: i0.Input, args: [{ isSignal: true, alias: "link", required: false }] }], searchPlaceholderLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchPlaceholderLabel", required: false }] }], sortAscendingLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortAscendingLabel", required: false }] }], sortDescendingLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortDescendingLabel", required: false }] }], sort: [{ type: i0.Input, args: [{ isSignal: true, alias: "sort", required: false }] }, { type: i0.Output, args: ["sortChange"] }], search: [{ type: i0.Input, args: [{ isSignal: true, alias: "search", required: false }] }], compareFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "compareFn", required: false }] }], filterFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterFn", required: false }] }], numberOfLinks: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberOfLinks", required: false }] }], accentLine: [{ type: i0.Input, args: [{ isSignal: true, alias: "accentLine", required: false }] }] } });
902
952
 
903
953
  /**
@@ -913,20 +963,21 @@ class SiTimelineWidgetItemComponent extends SiWidgetBaseDirective {
913
963
  *
914
964
  * @defaultValue `true`
915
965
  */
916
- showDescription = input(true, ...(ngDevMode ? [{ debugName: "showDescription" }] : []));
966
+ showDescription = input(true, /* @ts-ignore */
967
+ ...(ngDevMode ? [{ debugName: "showDescription" }] : /* istanbul ignore next */ []));
917
968
  /**
918
969
  * Aria label text for actions button dropdown.
919
970
  */
920
- ariaLabelDropdown = t(() => $localize `:@@SI_DASHBOARD.EXPAND_WIDGET_ACTIONS:Expand actions`);
971
+ ariaLabelDropdown = t(() => $localize `:@@SI_DASHBOARD.EXPAND_WIDGET_ACTIONS:Show actions`);
921
972
  activatedRoute = inject(ActivatedRoute, { optional: true });
922
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiTimelineWidgetItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
923
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiTimelineWidgetItemComponent, isStandalone: true, selector: "si-timeline-widget-item", inputs: { showDescription: { classPropertyName: "showDescription", publicName: "showDescription", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "listitem" } }, usesInheritance: true, ngImport: i0, template: "@let valueObject = value();\n@if (!showLoadingIndicator() && valueObject) {\n <div class=\"d-flex flex-row gap-4\" [class.pe-4]=\"!valueObject.action\">\n <div class=\"d-flex flex-column align-items-center gap-1 pt-4\">\n <span class=\"icon icon-stack\">\n <si-icon [class]=\"valueObject.iconColor\" [icon]=\"valueObject.icon\" />\n @if (valueObject.stackedIcon) {\n <si-icon [class]=\"valueObject.stackedIconColor\" [icon]=\"valueObject.stackedIcon\" />\n }\n </span>\n @if (valueObject.iconAlt) {\n <span class=\"visually-hidden\">{{ valueObject.iconAlt | translate }}</span>\n }\n <div class=\"si-timeline-widget-item-lower-line\"></div>\n </div>\n <div class=\"d-flex flex-column gap-1 py-4 flex-grow-1\">\n <span class=\"si-caption text-secondary\">{{ valueObject.timeStamp | translate }}</span>\n <span class=\"si-h5\">{{ valueObject.title | translate }}</span>\n @if (valueObject.description) {\n <span class=\"si-body text-secondary\">{{ valueObject.description | translate }}</span>\n }\n </div>\n @if (valueObject.action) {\n @let action = valueObject.action;\n <div class=\"si-timeline-widget-item-action align-self-center\">\n @if (action.type === 'action') {\n <button\n type=\"button\"\n class=\"d-flex btn\"\n [class]=\"action.customClass ?? 'btn-tertiary'\"\n [class.btn-icon]=\"action.iconOnly\"\n (click)=\"action.action(action)\"\n >\n @if (action.icon) {\n <si-icon class=\"icon\" [icon]=\"action.icon\" />\n }\n <span [class.visually-hidden]=\"action.iconOnly\">\n {{ action.label | translate }}\n </span>\n </button>\n } @else if (action.type === 'router-link') {\n <a\n class=\"d-flex btn btn-tertiary-ghost\"\n [routerLink]=\"action.routerLink\"\n [queryParams]=\"action.extras?.queryParams\"\n [queryParamsHandling]=\"action.extras?.queryParamsHandling\"\n [fragment]=\"action.extras?.fragment\"\n [state]=\"action.extras?.state\"\n [relativeTo]=\"action.extras?.relativeTo ?? activatedRoute\"\n [preserveFragment]=\"action.extras?.preserveFragment\"\n [skipLocationChange]=\"action.extras?.skipLocationChange\"\n [replaceUrl]=\"action.extras?.replaceUrl\"\n [attr.aria-label]=\"action.label | translate\"\n [class.btn-icon]=\"action.iconOnly\"\n >\n @if (action.icon) {\n <si-icon class=\"icon\" [icon]=\"action.icon\" />\n }\n <span [class.visually-hidden]=\"action.iconOnly\">\n {{ action.label | translate }}\n </span></a\n >\n } @else if (action.type === 'link') {\n <a\n class=\"d-flex btn btn-tertiary-ghost\"\n [href]=\"action.href\"\n [target]=\"action.target\"\n [attr.aria-label]=\"action.label | translate\"\n [class.btn-icon]=\"action.iconOnly\"\n >\n @if (action.icon) {\n <si-icon class=\"icon\" [icon]=\"action.icon\" />\n }\n <span [class.visually-hidden]=\"action.iconOnly\">\n {{ action.label | translate }}\n </span></a\n >\n } @else if (action.type === 'menu') {\n <button\n type=\"button\"\n class=\"btn btn-icon btn-tertiary element-options-vertical\"\n [attr.aria-label]=\"ariaLabelDropdown | translate\"\n [cdkMenuTriggerFor]=\"actionMenu\"\n ></button>\n\n <ng-template #actionMenu>\n <si-menu-factory [items]=\"action.menuItems\" />\n </ng-template>\n }\n </div>\n }\n </div>\n} @else {\n <div class=\"d-flex flex-row\">\n <div class=\"d-flex flex-column align-items-center gap-1 pt-4 pe-4\">\n <div class=\"p-5 si-skeleton\"></div>\n </div>\n <div class=\"d-flex flex-column flex-grow-1 gap-1 py-4\">\n <span class=\"si-link-widget-skeleton\"></span>\n <span class=\"si-link-widget-skeleton\" [class.w-50]=\"!showDescription()\"></span>\n @if (showDescription()) {\n <span class=\"si-link-widget-skeleton w-50\"></span>\n }\n </div>\n </div>\n}\n", styles: [":host(:last-child) .si-timeline-widget-item-lower-line{display:none}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: SiMenuModule }, { kind: "component", type: i1$2.SiMenuFactoryComponent, selector: "si-menu-factory", inputs: ["items", "actionParam"] }, { kind: "directive", type: CdkMenuTrigger, selector: "[cdkMenuTriggerFor]", inputs: ["cdkMenuTriggerFor", "cdkMenuPosition", "cdkMenuTriggerData", "cdkMenuTriggerTransformOriginOn"], outputs: ["cdkMenuOpened", "cdkMenuClosed"], exportAs: ["cdkMenuTriggerFor"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
973
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiTimelineWidgetItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
974
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiTimelineWidgetItemComponent, isStandalone: true, selector: "si-timeline-widget-item", inputs: { showDescription: { classPropertyName: "showDescription", publicName: "showDescription", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "listitem" } }, usesInheritance: true, ngImport: i0, template: "@let valueObject = value();\n@if (!showLoadingIndicator() && valueObject) {\n <div class=\"d-flex flex-row gap-4\" [class.pe-4]=\"!valueObject.action\">\n <div class=\"d-flex flex-column align-items-center gap-1 pt-4\">\n <span class=\"icon icon-stack\">\n <si-icon [class]=\"valueObject.iconColor\" [icon]=\"valueObject.icon\" />\n @if (valueObject.stackedIcon) {\n <si-icon [class]=\"valueObject.stackedIconColor\" [icon]=\"valueObject.stackedIcon\" />\n }\n </span>\n @if (valueObject.iconAlt) {\n <span class=\"visually-hidden\">{{ valueObject.iconAlt | translate }}</span>\n }\n <div class=\"si-timeline-widget-item-lower-line\"></div>\n </div>\n <div class=\"d-flex flex-column gap-1 py-4 flex-grow-1\">\n <span class=\"si-body-sm text-secondary\">{{ valueObject.timeStamp | translate }}</span>\n <span class=\"si-h5\">{{ valueObject.title | translate }}</span>\n @if (valueObject.description) {\n <span class=\"si-body text-secondary\">{{ valueObject.description | translate }}</span>\n }\n </div>\n @if (valueObject.action) {\n @let action = valueObject.action;\n <div class=\"si-timeline-widget-item-action align-self-center\">\n @if (action.type === 'action') {\n <button\n type=\"button\"\n class=\"d-flex btn\"\n [class]=\"action.customClass ?? 'btn-tertiary'\"\n [class.btn-icon]=\"action.iconOnly\"\n (click)=\"action.action(action)\"\n >\n @if (action.icon) {\n <si-icon class=\"icon\" [icon]=\"action.icon\" />\n }\n <span [class.visually-hidden]=\"action.iconOnly\">\n {{ action.label | translate }}\n </span>\n </button>\n } @else if (action.type === 'router-link') {\n <a\n class=\"d-flex btn btn-tertiary-ghost\"\n [routerLink]=\"action.routerLink\"\n [queryParams]=\"action.extras?.queryParams\"\n [queryParamsHandling]=\"action.extras?.queryParamsHandling\"\n [fragment]=\"action.extras?.fragment\"\n [state]=\"action.extras?.state\"\n [relativeTo]=\"action.extras?.relativeTo ?? activatedRoute\"\n [preserveFragment]=\"action.extras?.preserveFragment\"\n [skipLocationChange]=\"action.extras?.skipLocationChange\"\n [replaceUrl]=\"action.extras?.replaceUrl\"\n [attr.aria-label]=\"action.label | translate\"\n [class.btn-icon]=\"action.iconOnly\"\n >\n @if (action.icon) {\n <si-icon class=\"icon\" [icon]=\"action.icon\" />\n }\n <span [class.visually-hidden]=\"action.iconOnly\">\n {{ action.label | translate }}\n </span></a\n >\n } @else if (action.type === 'link') {\n <a\n class=\"d-flex btn btn-tertiary-ghost\"\n [href]=\"action.href\"\n [target]=\"action.target\"\n [attr.aria-label]=\"action.label | translate\"\n [class.btn-icon]=\"action.iconOnly\"\n >\n @if (action.icon) {\n <si-icon class=\"icon\" [icon]=\"action.icon\" />\n }\n <span [class.visually-hidden]=\"action.iconOnly\">\n {{ action.label | translate }}\n </span></a\n >\n } @else if (action.type === 'menu') {\n <button\n type=\"button\"\n class=\"btn btn-icon btn-tertiary element-options-vertical\"\n [attr.aria-label]=\"ariaLabelDropdown | translate\"\n [cdkMenuTriggerFor]=\"actionMenu\"\n ></button>\n\n <ng-template #actionMenu>\n <si-menu-factory [items]=\"action.menuItems\" />\n </ng-template>\n }\n </div>\n }\n </div>\n} @else {\n <div class=\"d-flex flex-row\">\n <div class=\"d-flex flex-column align-items-center gap-1 pt-4 pe-4\">\n <div class=\"p-5 si-skeleton\"></div>\n </div>\n <div class=\"d-flex flex-column flex-grow-1 gap-1 py-4\">\n <span class=\"si-link-widget-skeleton\"></span>\n <span class=\"si-link-widget-skeleton\" [class.w-50]=\"!showDescription()\"></span>\n @if (showDescription()) {\n <span class=\"si-link-widget-skeleton w-50\"></span>\n }\n </div>\n </div>\n}\n", styles: [":host(:last-child) .si-timeline-widget-item-lower-line{display:none}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "browserUrl", "routerLink"] }, { kind: "ngmodule", type: SiMenuModule }, { kind: "component", type: i1$2.SiMenuFactoryComponent, selector: "si-menu-factory", inputs: ["items", "actionParam"] }, { kind: "directive", type: CdkMenuTrigger, selector: "[cdkMenuTriggerFor]", inputs: ["cdkMenuTriggerFor", "cdkMenuPosition", "cdkMenuTriggerData", "cdkMenuTriggerTransformOriginOn"], outputs: ["cdkMenuOpened", "cdkMenuClosed"], exportAs: ["cdkMenuTriggerFor"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
924
975
  }
925
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiTimelineWidgetItemComponent, decorators: [{
976
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiTimelineWidgetItemComponent, decorators: [{
926
977
  type: Component,
927
- args: [{ selector: 'si-timeline-widget-item', imports: [SiIconComponent, SiTranslatePipe, A11yModule, RouterLink, SiMenuModule, CdkMenuTrigger], changeDetection: ChangeDetectionStrategy.Default, host: {
978
+ args: [{ selector: 'si-timeline-widget-item', imports: [SiIconComponent, SiTranslatePipe, A11yModule, RouterLink, SiMenuModule, CdkMenuTrigger], changeDetection: ChangeDetectionStrategy.Eager, host: {
928
979
  role: 'listitem'
929
- }, template: "@let valueObject = value();\n@if (!showLoadingIndicator() && valueObject) {\n <div class=\"d-flex flex-row gap-4\" [class.pe-4]=\"!valueObject.action\">\n <div class=\"d-flex flex-column align-items-center gap-1 pt-4\">\n <span class=\"icon icon-stack\">\n <si-icon [class]=\"valueObject.iconColor\" [icon]=\"valueObject.icon\" />\n @if (valueObject.stackedIcon) {\n <si-icon [class]=\"valueObject.stackedIconColor\" [icon]=\"valueObject.stackedIcon\" />\n }\n </span>\n @if (valueObject.iconAlt) {\n <span class=\"visually-hidden\">{{ valueObject.iconAlt | translate }}</span>\n }\n <div class=\"si-timeline-widget-item-lower-line\"></div>\n </div>\n <div class=\"d-flex flex-column gap-1 py-4 flex-grow-1\">\n <span class=\"si-caption text-secondary\">{{ valueObject.timeStamp | translate }}</span>\n <span class=\"si-h5\">{{ valueObject.title | translate }}</span>\n @if (valueObject.description) {\n <span class=\"si-body text-secondary\">{{ valueObject.description | translate }}</span>\n }\n </div>\n @if (valueObject.action) {\n @let action = valueObject.action;\n <div class=\"si-timeline-widget-item-action align-self-center\">\n @if (action.type === 'action') {\n <button\n type=\"button\"\n class=\"d-flex btn\"\n [class]=\"action.customClass ?? 'btn-tertiary'\"\n [class.btn-icon]=\"action.iconOnly\"\n (click)=\"action.action(action)\"\n >\n @if (action.icon) {\n <si-icon class=\"icon\" [icon]=\"action.icon\" />\n }\n <span [class.visually-hidden]=\"action.iconOnly\">\n {{ action.label | translate }}\n </span>\n </button>\n } @else if (action.type === 'router-link') {\n <a\n class=\"d-flex btn btn-tertiary-ghost\"\n [routerLink]=\"action.routerLink\"\n [queryParams]=\"action.extras?.queryParams\"\n [queryParamsHandling]=\"action.extras?.queryParamsHandling\"\n [fragment]=\"action.extras?.fragment\"\n [state]=\"action.extras?.state\"\n [relativeTo]=\"action.extras?.relativeTo ?? activatedRoute\"\n [preserveFragment]=\"action.extras?.preserveFragment\"\n [skipLocationChange]=\"action.extras?.skipLocationChange\"\n [replaceUrl]=\"action.extras?.replaceUrl\"\n [attr.aria-label]=\"action.label | translate\"\n [class.btn-icon]=\"action.iconOnly\"\n >\n @if (action.icon) {\n <si-icon class=\"icon\" [icon]=\"action.icon\" />\n }\n <span [class.visually-hidden]=\"action.iconOnly\">\n {{ action.label | translate }}\n </span></a\n >\n } @else if (action.type === 'link') {\n <a\n class=\"d-flex btn btn-tertiary-ghost\"\n [href]=\"action.href\"\n [target]=\"action.target\"\n [attr.aria-label]=\"action.label | translate\"\n [class.btn-icon]=\"action.iconOnly\"\n >\n @if (action.icon) {\n <si-icon class=\"icon\" [icon]=\"action.icon\" />\n }\n <span [class.visually-hidden]=\"action.iconOnly\">\n {{ action.label | translate }}\n </span></a\n >\n } @else if (action.type === 'menu') {\n <button\n type=\"button\"\n class=\"btn btn-icon btn-tertiary element-options-vertical\"\n [attr.aria-label]=\"ariaLabelDropdown | translate\"\n [cdkMenuTriggerFor]=\"actionMenu\"\n ></button>\n\n <ng-template #actionMenu>\n <si-menu-factory [items]=\"action.menuItems\" />\n </ng-template>\n }\n </div>\n }\n </div>\n} @else {\n <div class=\"d-flex flex-row\">\n <div class=\"d-flex flex-column align-items-center gap-1 pt-4 pe-4\">\n <div class=\"p-5 si-skeleton\"></div>\n </div>\n <div class=\"d-flex flex-column flex-grow-1 gap-1 py-4\">\n <span class=\"si-link-widget-skeleton\"></span>\n <span class=\"si-link-widget-skeleton\" [class.w-50]=\"!showDescription()\"></span>\n @if (showDescription()) {\n <span class=\"si-link-widget-skeleton w-50\"></span>\n }\n </div>\n </div>\n}\n", styles: [":host(:last-child) .si-timeline-widget-item-lower-line{display:none}\n"] }]
980
+ }, template: "@let valueObject = value();\n@if (!showLoadingIndicator() && valueObject) {\n <div class=\"d-flex flex-row gap-4\" [class.pe-4]=\"!valueObject.action\">\n <div class=\"d-flex flex-column align-items-center gap-1 pt-4\">\n <span class=\"icon icon-stack\">\n <si-icon [class]=\"valueObject.iconColor\" [icon]=\"valueObject.icon\" />\n @if (valueObject.stackedIcon) {\n <si-icon [class]=\"valueObject.stackedIconColor\" [icon]=\"valueObject.stackedIcon\" />\n }\n </span>\n @if (valueObject.iconAlt) {\n <span class=\"visually-hidden\">{{ valueObject.iconAlt | translate }}</span>\n }\n <div class=\"si-timeline-widget-item-lower-line\"></div>\n </div>\n <div class=\"d-flex flex-column gap-1 py-4 flex-grow-1\">\n <span class=\"si-body-sm text-secondary\">{{ valueObject.timeStamp | translate }}</span>\n <span class=\"si-h5\">{{ valueObject.title | translate }}</span>\n @if (valueObject.description) {\n <span class=\"si-body text-secondary\">{{ valueObject.description | translate }}</span>\n }\n </div>\n @if (valueObject.action) {\n @let action = valueObject.action;\n <div class=\"si-timeline-widget-item-action align-self-center\">\n @if (action.type === 'action') {\n <button\n type=\"button\"\n class=\"d-flex btn\"\n [class]=\"action.customClass ?? 'btn-tertiary'\"\n [class.btn-icon]=\"action.iconOnly\"\n (click)=\"action.action(action)\"\n >\n @if (action.icon) {\n <si-icon class=\"icon\" [icon]=\"action.icon\" />\n }\n <span [class.visually-hidden]=\"action.iconOnly\">\n {{ action.label | translate }}\n </span>\n </button>\n } @else if (action.type === 'router-link') {\n <a\n class=\"d-flex btn btn-tertiary-ghost\"\n [routerLink]=\"action.routerLink\"\n [queryParams]=\"action.extras?.queryParams\"\n [queryParamsHandling]=\"action.extras?.queryParamsHandling\"\n [fragment]=\"action.extras?.fragment\"\n [state]=\"action.extras?.state\"\n [relativeTo]=\"action.extras?.relativeTo ?? activatedRoute\"\n [preserveFragment]=\"action.extras?.preserveFragment\"\n [skipLocationChange]=\"action.extras?.skipLocationChange\"\n [replaceUrl]=\"action.extras?.replaceUrl\"\n [attr.aria-label]=\"action.label | translate\"\n [class.btn-icon]=\"action.iconOnly\"\n >\n @if (action.icon) {\n <si-icon class=\"icon\" [icon]=\"action.icon\" />\n }\n <span [class.visually-hidden]=\"action.iconOnly\">\n {{ action.label | translate }}\n </span></a\n >\n } @else if (action.type === 'link') {\n <a\n class=\"d-flex btn btn-tertiary-ghost\"\n [href]=\"action.href\"\n [target]=\"action.target\"\n [attr.aria-label]=\"action.label | translate\"\n [class.btn-icon]=\"action.iconOnly\"\n >\n @if (action.icon) {\n <si-icon class=\"icon\" [icon]=\"action.icon\" />\n }\n <span [class.visually-hidden]=\"action.iconOnly\">\n {{ action.label | translate }}\n </span></a\n >\n } @else if (action.type === 'menu') {\n <button\n type=\"button\"\n class=\"btn btn-icon btn-tertiary element-options-vertical\"\n [attr.aria-label]=\"ariaLabelDropdown | translate\"\n [cdkMenuTriggerFor]=\"actionMenu\"\n ></button>\n\n <ng-template #actionMenu>\n <si-menu-factory [items]=\"action.menuItems\" />\n </ng-template>\n }\n </div>\n }\n </div>\n} @else {\n <div class=\"d-flex flex-row\">\n <div class=\"d-flex flex-column align-items-center gap-1 pt-4 pe-4\">\n <div class=\"p-5 si-skeleton\"></div>\n </div>\n <div class=\"d-flex flex-column flex-grow-1 gap-1 py-4\">\n <span class=\"si-link-widget-skeleton\"></span>\n <span class=\"si-link-widget-skeleton\" [class.w-50]=\"!showDescription()\"></span>\n @if (showDescription()) {\n <span class=\"si-link-widget-skeleton w-50\"></span>\n }\n </div>\n </div>\n}\n", styles: [":host(:last-child) .si-timeline-widget-item-lower-line{display:none}\n"] }]
930
981
  }], propDecorators: { showDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "showDescription", required: false }] }] } });
931
982
 
932
983
  /**
@@ -939,23 +990,26 @@ class SiTimelineWidgetBodyComponent extends SiWidgetBaseDirective {
939
990
  *
940
991
  * @defaultValue 4
941
992
  */
942
- numberOfItems = input(4, ...(ngDevMode ? [{ debugName: "numberOfItems" }] : []));
993
+ numberOfItems = input(4, /* @ts-ignore */
994
+ ...(ngDevMode ? [{ debugName: "numberOfItems" }] : /* istanbul ignore next */ []));
943
995
  /**
944
996
  * Whether to show or hide the description row during skeleton progress indication.
945
997
  *
946
998
  * @defaultValue `true`
947
999
  */
948
- showDescription = input(true, ...(ngDevMode ? [{ debugName: "showDescription" }] : []));
1000
+ showDescription = input(true, /* @ts-ignore */
1001
+ ...(ngDevMode ? [{ debugName: "showDescription" }] : /* istanbul ignore next */ []));
949
1002
  /** Used to display the defined number of ghost items */
950
1003
  ghosts = computed(() => {
951
1004
  return new Array(this.numberOfItems() ?? 4);
952
- }, ...(ngDevMode ? [{ debugName: "ghosts" }] : []));
953
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiTimelineWidgetBodyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
954
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiTimelineWidgetBodyComponent, isStandalone: true, selector: "si-timeline-widget-body", inputs: { numberOfItems: { classPropertyName: "numberOfItems", publicName: "numberOfItems", isSignal: true, isRequired: false, transformFunction: null }, showDescription: { classPropertyName: "showDescription", publicName: "showDescription", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "@let valueObject = value();\n<div\n class=\"focus-inside\"\n tabindex=\"0\"\n [attr.role]=\"\n (!showLoadingIndicator() && valueObject && valueObject.length > 0) || showLoadingIndicator()\n ? 'list'\n : null\n \"\n>\n @if (!showLoadingIndicator() && valueObject) {\n @if (valueObject && valueObject.length > 0) {\n @for (item of valueObject; track $index) {\n <si-timeline-widget-item [value]=\"item\" />\n }\n } @else {\n <ng-content select=\"[empty-state]\" />\n }\n } @else {\n @for (some of ghosts(); track $index) {\n <si-timeline-widget-item [value]=\"undefined\" [showDescription]=\"showDescription()\" />\n }\n }\n</div>\n", styles: [":host{background-color:var(--element-base-1);flex:auto;overflow:hidden}div{block-size:100%;padding-inline:16px 8px;overflow-y:auto;overflow-x:hidden}\n"], dependencies: [{ kind: "component", type: SiTimelineWidgetItemComponent, selector: "si-timeline-widget-item", inputs: ["showDescription"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
1005
+ }, /* @ts-ignore */
1006
+ ...(ngDevMode ? [{ debugName: "ghosts" }] : /* istanbul ignore next */ []));
1007
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiTimelineWidgetBodyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1008
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiTimelineWidgetBodyComponent, isStandalone: true, selector: "si-timeline-widget-body", inputs: { numberOfItems: { classPropertyName: "numberOfItems", publicName: "numberOfItems", isSignal: true, isRequired: false, transformFunction: null }, showDescription: { classPropertyName: "showDescription", publicName: "showDescription", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "@let valueObject = value();\n<div\n class=\"focus-inside\"\n tabindex=\"0\"\n [attr.role]=\"\n (!showLoadingIndicator() && valueObject && valueObject.length > 0) || showLoadingIndicator()\n ? 'list'\n : null\n \"\n>\n @if (!showLoadingIndicator() && valueObject) {\n @if (valueObject && valueObject.length > 0) {\n @for (item of valueObject; track $index) {\n <si-timeline-widget-item [value]=\"item\" />\n }\n } @else {\n <ng-content select=\"[empty-state]\" />\n }\n } @else {\n @for (some of ghosts(); track $index) {\n <si-timeline-widget-item [value]=\"undefined\" [showDescription]=\"showDescription()\" />\n }\n }\n</div>\n", styles: [":host{background-color:var(--si-sys-background-1);flex:auto;overflow:hidden}div{block-size:100%;padding-inline:var(--si-sys-sizing-spacing-x-60) var(--si-sys-sizing-spacing-x-40);overflow-y:auto;overflow-x:hidden}\n"], dependencies: [{ kind: "component", type: SiTimelineWidgetItemComponent, selector: "si-timeline-widget-item", inputs: ["showDescription"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
955
1009
  }
956
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiTimelineWidgetBodyComponent, decorators: [{
1010
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiTimelineWidgetBodyComponent, decorators: [{
957
1011
  type: Component,
958
- args: [{ selector: 'si-timeline-widget-body', imports: [SiTimelineWidgetItemComponent], changeDetection: ChangeDetectionStrategy.Default, template: "@let valueObject = value();\n<div\n class=\"focus-inside\"\n tabindex=\"0\"\n [attr.role]=\"\n (!showLoadingIndicator() && valueObject && valueObject.length > 0) || showLoadingIndicator()\n ? 'list'\n : null\n \"\n>\n @if (!showLoadingIndicator() && valueObject) {\n @if (valueObject && valueObject.length > 0) {\n @for (item of valueObject; track $index) {\n <si-timeline-widget-item [value]=\"item\" />\n }\n } @else {\n <ng-content select=\"[empty-state]\" />\n }\n } @else {\n @for (some of ghosts(); track $index) {\n <si-timeline-widget-item [value]=\"undefined\" [showDescription]=\"showDescription()\" />\n }\n }\n</div>\n", styles: [":host{background-color:var(--element-base-1);flex:auto;overflow:hidden}div{block-size:100%;padding-inline:16px 8px;overflow-y:auto;overflow-x:hidden}\n"] }]
1012
+ args: [{ selector: 'si-timeline-widget-body', imports: [SiTimelineWidgetItemComponent], changeDetection: ChangeDetectionStrategy.Eager, template: "@let valueObject = value();\n<div\n class=\"focus-inside\"\n tabindex=\"0\"\n [attr.role]=\"\n (!showLoadingIndicator() && valueObject && valueObject.length > 0) || showLoadingIndicator()\n ? 'list'\n : null\n \"\n>\n @if (!showLoadingIndicator() && valueObject) {\n @if (valueObject && valueObject.length > 0) {\n @for (item of valueObject; track $index) {\n <si-timeline-widget-item [value]=\"item\" />\n }\n } @else {\n <ng-content select=\"[empty-state]\" />\n }\n } @else {\n @for (some of ghosts(); track $index) {\n <si-timeline-widget-item [value]=\"undefined\" [showDescription]=\"showDescription()\" />\n }\n }\n</div>\n", styles: [":host{background-color:var(--si-sys-background-1);flex:auto;overflow:hidden}div{block-size:100%;padding-inline:var(--si-sys-sizing-spacing-x-60) var(--si-sys-sizing-spacing-x-40);overflow-y:auto;overflow-x:hidden}\n"] }]
959
1013
  }], propDecorators: { numberOfItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberOfItems", required: false }] }], showDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "showDescription", required: false }] }] } });
960
1014
 
961
1015
  /**
@@ -966,50 +1020,58 @@ class SiTimelineWidgetComponent extends SiWidgetBaseDirective {
966
1020
  /**
967
1021
  * Timeline widget header text.
968
1022
  */
969
- heading = input(...(ngDevMode ? [undefined, { debugName: "heading" }] : []));
1023
+ heading = input(/* @ts-ignore */
1024
+ ...(ngDevMode ? [undefined, { debugName: "heading" }] : /* istanbul ignore next */ []));
970
1025
  /**
971
1026
  * Input list of primary action items. Supports up to **4** actions and omits additional ones.
972
1027
  *
973
1028
  * @defaultValue []
974
1029
  */
975
- primaryActions = input([], ...(ngDevMode ? [{ debugName: "primaryActions" }] : []));
1030
+ primaryActions = input([], /* @ts-ignore */
1031
+ ...(ngDevMode ? [{ debugName: "primaryActions" }] : /* istanbul ignore next */ []));
976
1032
  /**
977
1033
  * Input list of secondary action items.
978
1034
  *
979
1035
  * @defaultValue []
980
1036
  */
981
- secondaryActions = input([], ...(ngDevMode ? [{ debugName: "secondaryActions" }] : []));
1037
+ secondaryActions = input([], /* @ts-ignore */
1038
+ ...(ngDevMode ? [{ debugName: "secondaryActions" }] : /* istanbul ignore next */ []));
982
1039
  /**
983
1040
  * Link that leads the user to more information
984
1041
  * or triggers and action. The `link.title` is displayed.
985
1042
  * The title will be translated.
986
1043
  */
987
- link = input(...(ngDevMode ? [undefined, { debugName: "link" }] : []));
1044
+ link = input(/* @ts-ignore */
1045
+ ...(ngDevMode ? [undefined, { debugName: "link" }] : /* istanbul ignore next */ []));
988
1046
  /**
989
1047
  * Number of skeleton progress indication items.
990
1048
  *
991
1049
  * @defaultValue 4
992
1050
  */
993
- numberOfItems = input(4, ...(ngDevMode ? [{ debugName: "numberOfItems" }] : []));
1051
+ numberOfItems = input(4, /* @ts-ignore */
1052
+ ...(ngDevMode ? [{ debugName: "numberOfItems" }] : /* istanbul ignore next */ []));
994
1053
  /**
995
1054
  * Whether to show or hide the description row during skeleton progress indication.
996
1055
  *
997
1056
  * @defaultValue `true`
998
1057
  */
999
- showDescription = input(true, ...(ngDevMode ? [{ debugName: "showDescription" }] : []));
1058
+ showDescription = input(true, /* @ts-ignore */
1059
+ ...(ngDevMode ? [{ debugName: "showDescription" }] : /* istanbul ignore next */ []));
1000
1060
  /**
1001
1061
  * Optional accent line
1002
1062
  */
1003
- accentLine = input(...(ngDevMode ? [undefined, { debugName: "accentLine" }] : []));
1063
+ accentLine = input(/* @ts-ignore */
1064
+ ...(ngDevMode ? [undefined, { debugName: "accentLine" }] : /* istanbul ignore next */ []));
1004
1065
  accentClass = computed(() => {
1005
1066
  const accentLine = this.accentLine();
1006
1067
  return accentLine ? 'accent-' + accentLine : '';
1007
- }, ...(ngDevMode ? [{ debugName: "accentClass" }] : []));
1068
+ }, /* @ts-ignore */
1069
+ ...(ngDevMode ? [{ debugName: "accentClass" }] : /* istanbul ignore next */ []));
1008
1070
  icons = addIcons({ elementRight2 });
1009
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiTimelineWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1010
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiTimelineWidgetComponent, isStandalone: true, selector: "si-timeline-widget", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, primaryActions: { classPropertyName: "primaryActions", publicName: "primaryActions", isSignal: true, isRequired: false, transformFunction: null }, secondaryActions: { classPropertyName: "secondaryActions", publicName: "secondaryActions", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null }, numberOfItems: { classPropertyName: "numberOfItems", publicName: "numberOfItems", isSignal: true, isRequired: false, transformFunction: null }, showDescription: { classPropertyName: "showDescription", publicName: "showDescription", isSignal: true, isRequired: false, transformFunction: null }, accentLine: { classPropertyName: "accentLine", publicName: "accentLine", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<si-card\n class=\"h-100\"\n [class]=\"accentClass()\"\n [heading]=\"heading()\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n>\n <si-timeline-widget-body\n body\n [value]=\"value()\"\n [showDescription]=\"showDescription()\"\n [numberOfItems]=\"numberOfItems()\"\n [class.pb-6]=\"!link()\"\n [showLoadingIndicator]=\"showLoadingIndicator()\"\n >\n <ng-content select=\"[empty-state]\" empty-state />\n </si-timeline-widget-body>\n @let linkValue = link();\n @if (linkValue) {\n <div class=\"card-footer\" footer>\n @if (!linkValue.action) {\n <a [siLink]=\"linkValue\">\n {{ linkValue.title | translate }}\n <si-icon class=\"link-icon link-end flip-rtl\" [icon]=\"icons.elementRight2\" />\n </a>\n } @else {\n <button type=\"button\" class=\"btn btn-link\" [siLink]=\"linkValue\">{{\n linkValue.title | translate\n }}</button>\n }\n </div>\n }\n</si-card>\n", dependencies: [{ kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "component", type: SiCardComponent, selector: "si-card", inputs: ["primaryActions", "secondaryActions", "actionParam", "actionBarViewType", "actionBarTitle"] }, { kind: "component", type: SiTimelineWidgetBodyComponent, selector: "si-timeline-widget-body", inputs: ["numberOfItems", "showDescription"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
1071
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiTimelineWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1072
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiTimelineWidgetComponent, isStandalone: true, selector: "si-timeline-widget", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, primaryActions: { classPropertyName: "primaryActions", publicName: "primaryActions", isSignal: true, isRequired: false, transformFunction: null }, secondaryActions: { classPropertyName: "secondaryActions", publicName: "secondaryActions", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null }, numberOfItems: { classPropertyName: "numberOfItems", publicName: "numberOfItems", isSignal: true, isRequired: false, transformFunction: null }, showDescription: { classPropertyName: "showDescription", publicName: "showDescription", isSignal: true, isRequired: false, transformFunction: null }, accentLine: { classPropertyName: "accentLine", publicName: "accentLine", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<si-card\n class=\"h-100\"\n [class]=\"accentClass()\"\n [heading]=\"heading()\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n>\n <si-timeline-widget-body\n body\n [value]=\"value()\"\n [showDescription]=\"showDescription()\"\n [numberOfItems]=\"numberOfItems()\"\n [class.pb-6]=\"!link()\"\n [showLoadingIndicator]=\"showLoadingIndicator()\"\n >\n <ng-content select=\"[empty-state]\" empty-state />\n </si-timeline-widget-body>\n @let linkValue = link();\n @if (linkValue) {\n <div class=\"card-footer\" footer>\n @if (!linkValue.action) {\n <a [siLink]=\"linkValue\">\n {{ linkValue.title | translate }}\n <si-icon class=\"link-icon link-end flip-rtl\" [icon]=\"icons.elementRight2\" />\n </a>\n } @else {\n <button type=\"button\" class=\"btn btn-link\" [siLink]=\"linkValue\">{{\n linkValue.title | translate\n }}</button>\n }\n </div>\n }\n</si-card>\n", dependencies: [{ kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "component", type: SiCardComponent, selector: "si-card", inputs: ["primaryActions", "secondaryActions", "actionParam", "actionBarViewType", "actionBarTitle"] }, { kind: "component", type: SiTimelineWidgetBodyComponent, selector: "si-timeline-widget-body", inputs: ["numberOfItems", "showDescription"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
1011
1073
  }
1012
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiTimelineWidgetComponent, decorators: [{
1074
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiTimelineWidgetComponent, decorators: [{
1013
1075
  type: Component,
1014
1076
  args: [{ selector: 'si-timeline-widget', imports: [
1015
1077
  SiLinkDirective,
@@ -1017,7 +1079,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
1017
1079
  SiTimelineWidgetBodyComponent,
1018
1080
  SiTranslatePipe,
1019
1081
  SiIconComponent
1020
- ], changeDetection: ChangeDetectionStrategy.Default, template: "<si-card\n class=\"h-100\"\n [class]=\"accentClass()\"\n [heading]=\"heading()\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n>\n <si-timeline-widget-body\n body\n [value]=\"value()\"\n [showDescription]=\"showDescription()\"\n [numberOfItems]=\"numberOfItems()\"\n [class.pb-6]=\"!link()\"\n [showLoadingIndicator]=\"showLoadingIndicator()\"\n >\n <ng-content select=\"[empty-state]\" empty-state />\n </si-timeline-widget-body>\n @let linkValue = link();\n @if (linkValue) {\n <div class=\"card-footer\" footer>\n @if (!linkValue.action) {\n <a [siLink]=\"linkValue\">\n {{ linkValue.title | translate }}\n <si-icon class=\"link-icon link-end flip-rtl\" [icon]=\"icons.elementRight2\" />\n </a>\n } @else {\n <button type=\"button\" class=\"btn btn-link\" [siLink]=\"linkValue\">{{\n linkValue.title | translate\n }}</button>\n }\n </div>\n }\n</si-card>\n" }]
1082
+ ], changeDetection: ChangeDetectionStrategy.Eager, template: "<si-card\n class=\"h-100\"\n [class]=\"accentClass()\"\n [heading]=\"heading()\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n>\n <si-timeline-widget-body\n body\n [value]=\"value()\"\n [showDescription]=\"showDescription()\"\n [numberOfItems]=\"numberOfItems()\"\n [class.pb-6]=\"!link()\"\n [showLoadingIndicator]=\"showLoadingIndicator()\"\n >\n <ng-content select=\"[empty-state]\" empty-state />\n </si-timeline-widget-body>\n @let linkValue = link();\n @if (linkValue) {\n <div class=\"card-footer\" footer>\n @if (!linkValue.action) {\n <a [siLink]=\"linkValue\">\n {{ linkValue.title | translate }}\n <si-icon class=\"link-icon link-end flip-rtl\" [icon]=\"icons.elementRight2\" />\n </a>\n } @else {\n <button type=\"button\" class=\"btn btn-link\" [siLink]=\"linkValue\">{{\n linkValue.title | translate\n }}</button>\n }\n </div>\n }\n</si-card>\n" }]
1021
1083
  }], propDecorators: { heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], primaryActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "primaryActions", required: false }] }], secondaryActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "secondaryActions", required: false }] }], link: [{ type: i0.Input, args: [{ isSignal: true, alias: "link", required: false }] }], numberOfItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberOfItems", required: false }] }], showDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "showDescription", required: false }] }], accentLine: [{ type: i0.Input, args: [{ isSignal: true, alias: "accentLine", required: false }] }] } });
1022
1084
 
1023
1085
  /**
@@ -1031,26 +1093,30 @@ class SiValueWidgetBodyComponent extends SiWidgetBaseDirective {
1031
1093
  /**
1032
1094
  * The unit of the value (e.g. kWh or users). Only visible if `value` is available.
1033
1095
  */
1034
- unit = input(...(ngDevMode ? [undefined, { debugName: "unit" }] : []));
1096
+ unit = input(/* @ts-ignore */
1097
+ ...(ngDevMode ? [undefined, { debugName: "unit" }] : /* istanbul ignore next */ []));
1035
1098
  /**
1036
1099
  * The element icon name. Only visible if `value` is available.
1037
1100
  */
1038
- icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
1101
+ icon = input(/* @ts-ignore */
1102
+ ...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
1039
1103
  /**
1040
1104
  * Show a status icon instead of the {@link icon}.
1041
1105
  */
1042
- status = input(...(ngDevMode ? [undefined, { debugName: "status" }] : []));
1106
+ status = input(/* @ts-ignore */
1107
+ ...(ngDevMode ? [undefined, { debugName: "status" }] : /* istanbul ignore next */ []));
1043
1108
  /**
1044
1109
  * Short description of the value. A description is mandatory
1045
1110
  * to show an icon. Only visible if `value` is available.
1046
1111
  */
1047
- description = input(...(ngDevMode ? [undefined, { debugName: "description" }] : []));
1048
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiValueWidgetBodyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1049
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiValueWidgetBodyComponent, isStandalone: true, selector: "si-value-widget-body", inputs: { unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "@if (!showLoadingIndicator()) {\n @if (value()) {\n <span class=\"si-value-widget-value\">{{ value() | translate }}</span>\n <span class=\"si-value-widget-unit\">{{ unit() | translate }}</span>\n @if (description()) {\n <div class=\"si-value-widget-description\">\n @let statusValue = status();\n @let iconValue = icon();\n @if (statusValue) {\n <si-status-icon class=\"icon\" [status]=\"statusValue\" />\n } @else if (iconValue) {\n <si-icon class=\"icon\" [icon]=\"iconValue\" />\n }\n <span>{{ description() | translate }}</span>\n </div>\n }\n }\n} @else {\n <span class=\"si-value-widget-value w-100\">\n <div class=\"si-value-widget-value-skeleton\"></div>\n </span>\n <div class=\"si-value-widget-description si-skeleton w-100\"></div>\n}\n", dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiStatusIconComponent, selector: "si-status-icon", inputs: ["status"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
1112
+ description = input(/* @ts-ignore */
1113
+ ...(ngDevMode ? [undefined, { debugName: "description" }] : /* istanbul ignore next */ []));
1114
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiValueWidgetBodyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1115
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiValueWidgetBodyComponent, isStandalone: true, selector: "si-value-widget-body", inputs: { unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "@if (!showLoadingIndicator()) {\n @if (value()) {\n <span class=\"si-value-widget-value\">{{ value() | translate }}</span>\n <span class=\"si-value-widget-unit\">{{ unit() | translate }}</span>\n @if (description()) {\n <div class=\"si-value-widget-description\">\n @let statusValue = status();\n @let iconValue = icon();\n @if (statusValue) {\n <si-status-icon class=\"icon\" [status]=\"statusValue\" />\n } @else if (iconValue) {\n <si-icon class=\"icon\" [icon]=\"iconValue\" />\n }\n <span>{{ description() | translate }}</span>\n </div>\n }\n }\n} @else {\n <span class=\"si-value-widget-value w-100\">\n <div class=\"si-value-widget-value-skeleton\"></div>\n </span>\n <div class=\"si-value-widget-description si-skeleton w-100\"></div>\n}\n", dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiStatusIconComponent, selector: "si-status-icon", inputs: ["status"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
1050
1116
  }
1051
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiValueWidgetBodyComponent, decorators: [{
1117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiValueWidgetBodyComponent, decorators: [{
1052
1118
  type: Component,
1053
- args: [{ selector: 'si-value-widget-body', imports: [SiIconComponent, SiStatusIconComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.Default, template: "@if (!showLoadingIndicator()) {\n @if (value()) {\n <span class=\"si-value-widget-value\">{{ value() | translate }}</span>\n <span class=\"si-value-widget-unit\">{{ unit() | translate }}</span>\n @if (description()) {\n <div class=\"si-value-widget-description\">\n @let statusValue = status();\n @let iconValue = icon();\n @if (statusValue) {\n <si-status-icon class=\"icon\" [status]=\"statusValue\" />\n } @else if (iconValue) {\n <si-icon class=\"icon\" [icon]=\"iconValue\" />\n }\n <span>{{ description() | translate }}</span>\n </div>\n }\n }\n} @else {\n <span class=\"si-value-widget-value w-100\">\n <div class=\"si-value-widget-value-skeleton\"></div>\n </span>\n <div class=\"si-value-widget-description si-skeleton w-100\"></div>\n}\n" }]
1119
+ args: [{ selector: 'si-value-widget-body', imports: [SiIconComponent, SiStatusIconComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.Eager, template: "@if (!showLoadingIndicator()) {\n @if (value()) {\n <span class=\"si-value-widget-value\">{{ value() | translate }}</span>\n <span class=\"si-value-widget-unit\">{{ unit() | translate }}</span>\n @if (description()) {\n <div class=\"si-value-widget-description\">\n @let statusValue = status();\n @let iconValue = icon();\n @if (statusValue) {\n <si-status-icon class=\"icon\" [status]=\"statusValue\" />\n } @else if (iconValue) {\n <si-icon class=\"icon\" [icon]=\"iconValue\" />\n }\n <span>{{ description() | translate }}</span>\n </div>\n }\n }\n} @else {\n <span class=\"si-value-widget-value w-100\">\n <div class=\"si-value-widget-value-skeleton\"></div>\n </span>\n <div class=\"si-value-widget-description si-skeleton w-100\"></div>\n}\n" }]
1054
1120
  }], propDecorators: { unit: [{ type: i0.Input, args: [{ isSignal: true, alias: "unit", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }] } });
1055
1121
 
1056
1122
  /**
@@ -1073,105 +1139,122 @@ class SiValueWidgetComponent {
1073
1139
  /**
1074
1140
  * Value widget header text.
1075
1141
  */
1076
- heading = input(...(ngDevMode ? [undefined, { debugName: "heading" }] : []));
1142
+ heading = input(/* @ts-ignore */
1143
+ ...(ngDevMode ? [undefined, { debugName: "heading" }] : /* istanbul ignore next */ []));
1077
1144
  /**
1078
1145
  * Input list of primary action items. Supports up to **4** actions and omits additional ones.
1079
1146
  *
1080
1147
  * @defaultValue []
1081
1148
  */
1082
- primaryActions = input([], ...(ngDevMode ? [{ debugName: "primaryActions" }] : []));
1149
+ primaryActions = input([], /* @ts-ignore */
1150
+ ...(ngDevMode ? [{ debugName: "primaryActions" }] : /* istanbul ignore next */ []));
1083
1151
  /**
1084
1152
  * Input list of secondary action items.
1085
1153
  *
1086
1154
  * @defaultValue []
1087
1155
  */
1088
- secondaryActions = input([], ...(ngDevMode ? [{ debugName: "secondaryActions" }] : []));
1156
+ secondaryActions = input([], /* @ts-ignore */
1157
+ ...(ngDevMode ? [{ debugName: "secondaryActions" }] : /* istanbul ignore next */ []));
1089
1158
  /**
1090
1159
  * The main value to be displayed. If no value is set,
1091
1160
  * the skeleton indicates the loading of the value. Disable
1092
1161
  * the automatic loading mechanism by setting `SiValueWidgetComponent.disableAutoLoadingIndicator`.
1093
1162
  */
1094
- value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
1163
+ value = input(/* @ts-ignore */
1164
+ ...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
1095
1165
  /**
1096
1166
  * The unit of the value (e.g. kWh or users). Only visible if `value` is available.
1097
1167
  */
1098
- unit = input(...(ngDevMode ? [undefined, { debugName: "unit" }] : []));
1168
+ unit = input(/* @ts-ignore */
1169
+ ...(ngDevMode ? [undefined, { debugName: "unit" }] : /* istanbul ignore next */ []));
1099
1170
  /**
1100
1171
  * The element icon name. Only visible if `value` is available.
1101
1172
  */
1102
- icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
1173
+ icon = input(/* @ts-ignore */
1174
+ ...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
1103
1175
  /**
1104
1176
  * Show a status icon instead of the {@link icon}.
1105
1177
  */
1106
- status = input(...(ngDevMode ? [undefined, { debugName: "status" }] : []));
1178
+ status = input(/* @ts-ignore */
1179
+ ...(ngDevMode ? [undefined, { debugName: "status" }] : /* istanbul ignore next */ []));
1107
1180
  /**
1108
1181
  * Short description of the value. A description is mandatory
1109
1182
  * to show an icon. Only visible if `value` is available.
1110
1183
  */
1111
- description = input(...(ngDevMode ? [undefined, { debugName: "description" }] : []));
1184
+ description = input(/* @ts-ignore */
1185
+ ...(ngDevMode ? [undefined, { debugName: "description" }] : /* istanbul ignore next */ []));
1112
1186
  /**
1113
1187
  * Link that leads the user to more information
1114
1188
  * or triggers and action. The `link.title` is displayed.
1115
1189
  * The title will be translated.
1116
1190
  */
1117
- link = input(...(ngDevMode ? [undefined, { debugName: "link" }] : []));
1191
+ link = input(/* @ts-ignore */
1192
+ ...(ngDevMode ? [undefined, { debugName: "link" }] : /* istanbul ignore next */ []));
1118
1193
  /**
1119
1194
  * Option to disable automatic start of skeleton loading indication.
1120
1195
  *
1121
1196
  * @defaultValue false
1122
1197
  */
1123
- disableAutoLoadingIndicator = input(false, { ...(ngDevMode ? { debugName: "disableAutoLoadingIndicator" } : {}), transform: booleanAttribute });
1198
+ disableAutoLoadingIndicator = input(false, { ...(ngDevMode ? { debugName: "disableAutoLoadingIndicator" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1124
1199
  /**
1125
1200
  * Input to start and stop the skeleton loading indication.
1126
1201
  *
1127
1202
  * @defaultValue false
1128
1203
  */
1129
- showLoadingIndicator = input(false, { ...(ngDevMode ? { debugName: "showLoadingIndicator" } : {}), transform: booleanAttribute });
1204
+ showLoadingIndicator = input(false, { ...(ngDevMode ? { debugName: "showLoadingIndicator" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1130
1205
  /**
1131
1206
  * Initial delay time in milliseconds before enabling loading indicator.
1132
1207
  * Only used once initially during construction.
1133
1208
  *
1134
1209
  * @defaultValue 300
1135
1210
  */
1136
- initialLoadingIndicatorDebounceTime = input(300, ...(ngDevMode ? [{ debugName: "initialLoadingIndicatorDebounceTime" }] : []));
1211
+ initialLoadingIndicatorDebounceTime = input(300, /* @ts-ignore */
1212
+ ...(ngDevMode ? [{ debugName: "initialLoadingIndicatorDebounceTime" }] : /* istanbul ignore next */ []));
1137
1213
  /**
1138
1214
  * Image source for the card.
1139
1215
  */
1140
- imgSrc = input(...(ngDevMode ? [undefined, { debugName: "imgSrc" }] : []));
1216
+ imgSrc = input(/* @ts-ignore */
1217
+ ...(ngDevMode ? [undefined, { debugName: "imgSrc" }] : /* istanbul ignore next */ []));
1141
1218
  /**
1142
1219
  * Alt text for a provided image.
1143
1220
  */
1144
- imgAlt = input(...(ngDevMode ? [undefined, { debugName: "imgAlt" }] : []));
1221
+ imgAlt = input(/* @ts-ignore */
1222
+ ...(ngDevMode ? [undefined, { debugName: "imgAlt" }] : /* istanbul ignore next */ []));
1145
1223
  /**
1146
1224
  * Defines if an image is placed on top or start (left) of the card.
1147
1225
  *
1148
1226
  * @defaultValue 'vertical'
1149
1227
  */
1150
- imgDir = input('vertical', ...(ngDevMode ? [{ debugName: "imgDir" }] : []));
1228
+ imgDir = input('vertical', /* @ts-ignore */
1229
+ ...(ngDevMode ? [{ debugName: "imgDir" }] : /* istanbul ignore next */ []));
1151
1230
  /**
1152
1231
  * Sets the image [object-fit](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit) CSS property.
1153
1232
  *
1154
1233
  * @defaultValue 'scale-down'
1155
1234
  */
1156
- imgObjectFit = input('scale-down', ...(ngDevMode ? [{ debugName: "imgObjectFit" }] : []));
1235
+ imgObjectFit = input('scale-down', /* @ts-ignore */
1236
+ ...(ngDevMode ? [{ debugName: "imgObjectFit" }] : /* istanbul ignore next */ []));
1157
1237
  /**
1158
1238
  * Sets the image [object-position](https://developer.mozilla.org/en-US/docs/Web/CSS/object-position) CSS property.
1159
1239
  */
1160
- imgObjectPosition = input(...(ngDevMode ? [undefined, { debugName: "imgObjectPosition" }] : []));
1240
+ imgObjectPosition = input(/* @ts-ignore */
1241
+ ...(ngDevMode ? [undefined, { debugName: "imgObjectPosition" }] : /* istanbul ignore next */ []));
1161
1242
  /**
1162
1243
  * Optional accent line
1163
1244
  */
1164
- accentLine = input(...(ngDevMode ? [undefined, { debugName: "accentLine" }] : []));
1245
+ accentLine = input(/* @ts-ignore */
1246
+ ...(ngDevMode ? [undefined, { debugName: "accentLine" }] : /* istanbul ignore next */ []));
1165
1247
  accentClass = computed(() => {
1166
1248
  const accentLine = this.accentLine();
1167
1249
  return accentLine ? 'accent-' + accentLine : '';
1168
- }, ...(ngDevMode ? [{ debugName: "accentClass" }] : []));
1169
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiValueWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1170
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiValueWidgetComponent, isStandalone: true, selector: "si-value-widget", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, primaryActions: { classPropertyName: "primaryActions", publicName: "primaryActions", isSignal: true, isRequired: false, transformFunction: null }, secondaryActions: { classPropertyName: "secondaryActions", publicName: "secondaryActions", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null }, disableAutoLoadingIndicator: { classPropertyName: "disableAutoLoadingIndicator", publicName: "disableAutoLoadingIndicator", isSignal: true, isRequired: false, transformFunction: null }, showLoadingIndicator: { classPropertyName: "showLoadingIndicator", publicName: "showLoadingIndicator", isSignal: true, isRequired: false, transformFunction: null }, initialLoadingIndicatorDebounceTime: { classPropertyName: "initialLoadingIndicatorDebounceTime", publicName: "initialLoadingIndicatorDebounceTime", isSignal: true, isRequired: false, transformFunction: null }, imgSrc: { classPropertyName: "imgSrc", publicName: "imgSrc", isSignal: true, isRequired: false, transformFunction: null }, imgAlt: { classPropertyName: "imgAlt", publicName: "imgAlt", isSignal: true, isRequired: false, transformFunction: null }, imgDir: { classPropertyName: "imgDir", publicName: "imgDir", isSignal: true, isRequired: false, transformFunction: null }, imgObjectFit: { classPropertyName: "imgObjectFit", publicName: "imgObjectFit", isSignal: true, isRequired: false, transformFunction: null }, imgObjectPosition: { classPropertyName: "imgObjectPosition", publicName: "imgObjectPosition", isSignal: true, isRequired: false, transformFunction: null }, accentLine: { classPropertyName: "accentLine", publicName: "accentLine", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<si-card\n class=\"h-100\"\n [class]=\"accentClass()\"\n [heading]=\"heading()\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n [imgSrc]=\"imgSrc()\"\n [imgDir]=\"imgDir()\"\n [imgAlt]=\"imgAlt()\"\n [imgObjectFit]=\"imgObjectFit()\"\n [imgObjectPosition]=\"imgObjectPosition()\"\n>\n <div class=\"card-body\" body>\n <si-value-widget-body\n [value]=\"value()\"\n [unit]=\"unit()\"\n [icon]=\"icon()\"\n [status]=\"status()\"\n [description]=\"description()\"\n [disableAutoLoadingIndicator]=\"disableAutoLoadingIndicator()\"\n [showLoadingIndicator]=\"showLoadingIndicator()\"\n [initialLoadingIndicatorDebounceTime]=\"initialLoadingIndicatorDebounceTime()\"\n />\n </div>\n @let linkObject = link();\n @if (linkObject) {\n <div class=\"card-footer\" footer>\n <a [siLink]=\"linkObject\">{{ linkObject.title | translate }}</a>\n </div>\n }\n</si-card>\n", dependencies: [{ kind: "component", type: SiCardComponent, selector: "si-card", inputs: ["primaryActions", "secondaryActions", "actionParam", "actionBarViewType", "actionBarTitle"] }, { kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "component", type: SiValueWidgetBodyComponent, selector: "si-value-widget-body", inputs: ["unit", "icon", "status", "description"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
1250
+ }, /* @ts-ignore */
1251
+ ...(ngDevMode ? [{ debugName: "accentClass" }] : /* istanbul ignore next */ []));
1252
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiValueWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1253
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiValueWidgetComponent, isStandalone: true, selector: "si-value-widget", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, primaryActions: { classPropertyName: "primaryActions", publicName: "primaryActions", isSignal: true, isRequired: false, transformFunction: null }, secondaryActions: { classPropertyName: "secondaryActions", publicName: "secondaryActions", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null }, disableAutoLoadingIndicator: { classPropertyName: "disableAutoLoadingIndicator", publicName: "disableAutoLoadingIndicator", isSignal: true, isRequired: false, transformFunction: null }, showLoadingIndicator: { classPropertyName: "showLoadingIndicator", publicName: "showLoadingIndicator", isSignal: true, isRequired: false, transformFunction: null }, initialLoadingIndicatorDebounceTime: { classPropertyName: "initialLoadingIndicatorDebounceTime", publicName: "initialLoadingIndicatorDebounceTime", isSignal: true, isRequired: false, transformFunction: null }, imgSrc: { classPropertyName: "imgSrc", publicName: "imgSrc", isSignal: true, isRequired: false, transformFunction: null }, imgAlt: { classPropertyName: "imgAlt", publicName: "imgAlt", isSignal: true, isRequired: false, transformFunction: null }, imgDir: { classPropertyName: "imgDir", publicName: "imgDir", isSignal: true, isRequired: false, transformFunction: null }, imgObjectFit: { classPropertyName: "imgObjectFit", publicName: "imgObjectFit", isSignal: true, isRequired: false, transformFunction: null }, imgObjectPosition: { classPropertyName: "imgObjectPosition", publicName: "imgObjectPosition", isSignal: true, isRequired: false, transformFunction: null }, accentLine: { classPropertyName: "accentLine", publicName: "accentLine", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<si-card\n class=\"h-100\"\n [class]=\"accentClass()\"\n [heading]=\"heading()\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n [imgSrc]=\"imgSrc()\"\n [imgDir]=\"imgDir()\"\n [imgAlt]=\"imgAlt()\"\n [imgObjectFit]=\"imgObjectFit()\"\n [imgObjectPosition]=\"imgObjectPosition()\"\n>\n <div class=\"card-body\" body>\n <si-value-widget-body\n [value]=\"value()\"\n [unit]=\"unit()\"\n [icon]=\"icon()\"\n [status]=\"status()\"\n [description]=\"description()\"\n [disableAutoLoadingIndicator]=\"disableAutoLoadingIndicator()\"\n [showLoadingIndicator]=\"showLoadingIndicator()\"\n [initialLoadingIndicatorDebounceTime]=\"initialLoadingIndicatorDebounceTime()\"\n />\n </div>\n @let linkObject = link();\n @if (linkObject) {\n <div class=\"card-footer\" footer>\n <a [siLink]=\"linkObject\">{{ linkObject.title | translate }}</a>\n </div>\n }\n</si-card>\n", dependencies: [{ kind: "component", type: SiCardComponent, selector: "si-card", inputs: ["primaryActions", "secondaryActions", "actionParam", "actionBarViewType", "actionBarTitle"] }, { kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "component", type: SiValueWidgetBodyComponent, selector: "si-value-widget-body", inputs: ["unit", "icon", "status", "description"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
1171
1254
  }
1172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiValueWidgetComponent, decorators: [{
1255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiValueWidgetComponent, decorators: [{
1173
1256
  type: Component,
1174
- args: [{ selector: 'si-value-widget', imports: [SiCardComponent, SiLinkDirective, SiTranslatePipe, SiValueWidgetBodyComponent], changeDetection: ChangeDetectionStrategy.Default, template: "<si-card\n class=\"h-100\"\n [class]=\"accentClass()\"\n [heading]=\"heading()\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n [imgSrc]=\"imgSrc()\"\n [imgDir]=\"imgDir()\"\n [imgAlt]=\"imgAlt()\"\n [imgObjectFit]=\"imgObjectFit()\"\n [imgObjectPosition]=\"imgObjectPosition()\"\n>\n <div class=\"card-body\" body>\n <si-value-widget-body\n [value]=\"value()\"\n [unit]=\"unit()\"\n [icon]=\"icon()\"\n [status]=\"status()\"\n [description]=\"description()\"\n [disableAutoLoadingIndicator]=\"disableAutoLoadingIndicator()\"\n [showLoadingIndicator]=\"showLoadingIndicator()\"\n [initialLoadingIndicatorDebounceTime]=\"initialLoadingIndicatorDebounceTime()\"\n />\n </div>\n @let linkObject = link();\n @if (linkObject) {\n <div class=\"card-footer\" footer>\n <a [siLink]=\"linkObject\">{{ linkObject.title | translate }}</a>\n </div>\n }\n</si-card>\n" }]
1257
+ args: [{ selector: 'si-value-widget', imports: [SiCardComponent, SiLinkDirective, SiTranslatePipe, SiValueWidgetBodyComponent], changeDetection: ChangeDetectionStrategy.Eager, template: "<si-card\n class=\"h-100\"\n [class]=\"accentClass()\"\n [heading]=\"heading()\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n [imgSrc]=\"imgSrc()\"\n [imgDir]=\"imgDir()\"\n [imgAlt]=\"imgAlt()\"\n [imgObjectFit]=\"imgObjectFit()\"\n [imgObjectPosition]=\"imgObjectPosition()\"\n>\n <div class=\"card-body\" body>\n <si-value-widget-body\n [value]=\"value()\"\n [unit]=\"unit()\"\n [icon]=\"icon()\"\n [status]=\"status()\"\n [description]=\"description()\"\n [disableAutoLoadingIndicator]=\"disableAutoLoadingIndicator()\"\n [showLoadingIndicator]=\"showLoadingIndicator()\"\n [initialLoadingIndicatorDebounceTime]=\"initialLoadingIndicatorDebounceTime()\"\n />\n </div>\n @let linkObject = link();\n @if (linkObject) {\n <div class=\"card-footer\" footer>\n <a [siLink]=\"linkObject\">{{ linkObject.title | translate }}</a>\n </div>\n }\n</si-card>\n" }]
1175
1258
  }], propDecorators: { heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], primaryActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "primaryActions", required: false }] }], secondaryActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "secondaryActions", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], unit: [{ type: i0.Input, args: [{ isSignal: true, alias: "unit", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], link: [{ type: i0.Input, args: [{ isSignal: true, alias: "link", required: false }] }], disableAutoLoadingIndicator: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableAutoLoadingIndicator", required: false }] }], showLoadingIndicator: [{ type: i0.Input, args: [{ isSignal: true, alias: "showLoadingIndicator", required: false }] }], initialLoadingIndicatorDebounceTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialLoadingIndicatorDebounceTime", required: false }] }], imgSrc: [{ type: i0.Input, args: [{ isSignal: true, alias: "imgSrc", required: false }] }], imgAlt: [{ type: i0.Input, args: [{ isSignal: true, alias: "imgAlt", required: false }] }], imgDir: [{ type: i0.Input, args: [{ isSignal: true, alias: "imgDir", required: false }] }], imgObjectFit: [{ type: i0.Input, args: [{ isSignal: true, alias: "imgObjectFit", required: false }] }], imgObjectPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "imgObjectPosition", required: false }] }], accentLine: [{ type: i0.Input, args: [{ isSignal: true, alias: "accentLine", required: false }] }] } });
1176
1259
 
1177
1260
  /**
@@ -1200,10 +1283,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
1200
1283
  * widget can skip the illustration.
1201
1284
  */
1202
1285
  class SiWeatherIconResolver {
1203
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiWeatherIconResolver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1204
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiWeatherIconResolver, providedIn: 'root', useFactory: () => inject(SiDefaultWeatherIconResolver) });
1286
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiWeatherIconResolver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1287
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiWeatherIconResolver, providedIn: 'root', useFactory: () => inject(SiDefaultWeatherIconResolver) });
1205
1288
  }
1206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiWeatherIconResolver, decorators: [{
1289
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiWeatherIconResolver, decorators: [{
1207
1290
  type: Injectable,
1208
1291
  args: [{
1209
1292
  providedIn: 'root',
@@ -1243,10 +1326,10 @@ class SiDefaultWeatherIconResolver extends SiWeatherIconResolver {
1243
1326
  }
1244
1327
  return { icon: mapped, alt: icon.alt };
1245
1328
  }
1246
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDefaultWeatherIconResolver, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
1247
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDefaultWeatherIconResolver, providedIn: 'root' });
1329
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDefaultWeatherIconResolver, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
1330
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDefaultWeatherIconResolver, providedIn: 'root' });
1248
1331
  }
1249
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDefaultWeatherIconResolver, decorators: [{
1332
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDefaultWeatherIconResolver, decorators: [{
1250
1333
  type: Injectable,
1251
1334
  args: [{ providedIn: 'root' }]
1252
1335
  }] });
@@ -1265,17 +1348,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
1265
1348
  */
1266
1349
  class SiWeatherWidgetIllustrationComponent {
1267
1350
  /** Weather icon data or a direct image URL to render. */
1268
- illustration = input(...(ngDevMode ? [undefined, { debugName: "illustration" }] : []));
1351
+ illustration = input(/* @ts-ignore */
1352
+ ...(ngDevMode ? [undefined, { debugName: "illustration" }] : /* istanbul ignore next */ []));
1269
1353
  /** Weather condition used as fallback alt text. */
1270
- condition = input(...(ngDevMode ? [undefined, { debugName: "condition" }] : []));
1354
+ condition = input(/* @ts-ignore */
1355
+ ...(ngDevMode ? [undefined, { debugName: "condition" }] : /* istanbul ignore next */ []));
1271
1356
  /** Alt text used when neither the illustration nor condition provides one. */
1272
- altFallback = input(...(ngDevMode ? [undefined, { debugName: "altFallback" }] : []));
1357
+ altFallback = input(/* @ts-ignore */
1358
+ ...(ngDevMode ? [undefined, { debugName: "altFallback" }] : /* istanbul ignore next */ []));
1273
1359
  /**
1274
1360
  * Display size of the illustration.
1275
1361
  *
1276
1362
  * @defaultValue 'lg'
1277
1363
  */
1278
- size = input('lg', ...(ngDevMode ? [{ debugName: "size" }] : []));
1364
+ size = input('lg', /* @ts-ignore */
1365
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
1279
1366
  resolver = inject(SiWeatherIconResolver);
1280
1367
  defaultAlt = t(() => $localize `:@@SI_WEATHER_WIDGET.ILLUSTRATION_ALT:Weather illustration`);
1281
1368
  resolved = computed(() => {
@@ -1299,9 +1386,10 @@ class SiWeatherWidgetIllustrationComponent {
1299
1386
  src: resolution.icon ? undefined : resolution.src,
1300
1387
  alt: resolution.alt ?? icon.alt ?? this.condition() ?? this.altFallback() ?? this.defaultAlt
1301
1388
  };
1302
- }, ...(ngDevMode ? [{ debugName: "resolved" }] : []));
1303
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiWeatherWidgetIllustrationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1304
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiWeatherWidgetIllustrationComponent, isStandalone: true, selector: "si-weather-widget-illustration", inputs: { illustration: { classPropertyName: "illustration", publicName: "illustration", isSignal: true, isRequired: false, transformFunction: null }, condition: { classPropertyName: "condition", publicName: "condition", isSignal: true, isRequired: false, transformFunction: null }, altFallback: { classPropertyName: "altFallback", publicName: "altFallback", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.si-weather-widget-illustration-sm": "size() === 'sm'", "class.si-weather-widget-illustration-md": "size() === 'md'", "class.si-weather-widget-illustration-lg": "size() === 'lg'" } }, ngImport: i0, template: `
1389
+ }, /* @ts-ignore */
1390
+ ...(ngDevMode ? [{ debugName: "resolved" }] : /* istanbul ignore next */ []));
1391
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiWeatherWidgetIllustrationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1392
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiWeatherWidgetIllustrationComponent, isStandalone: true, selector: "si-weather-widget-illustration", inputs: { illustration: { classPropertyName: "illustration", publicName: "illustration", isSignal: true, isRequired: false, transformFunction: null }, condition: { classPropertyName: "condition", publicName: "condition", isSignal: true, isRequired: false, transformFunction: null }, altFallback: { classPropertyName: "altFallback", publicName: "altFallback", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.si-weather-widget-illustration-sm": "size() === 'sm'", "class.si-weather-widget-illustration-md": "size() === 'md'", "class.si-weather-widget-illustration-lg": "size() === 'lg'" } }, ngImport: i0, template: `
1305
1393
  @let res = resolved();
1306
1394
  @if (res) {
1307
1395
  @if (res.icon) {
@@ -1315,9 +1403,9 @@ class SiWeatherWidgetIllustrationComponent {
1315
1403
  <img class="si-weather-widget-illustration" [src]="res.src" [alt]="res.alt | translate" />
1316
1404
  }
1317
1405
  }
1318
- `, isInline: true, styles: [":host{display:contents}:host img{flex:0 0 auto;object-fit:contain}:host(.si-weather-widget-illustration-sm) img,:host(.si-weather-widget-illustration-sm) si-icon{inline-size:1.25rem;block-size:1.25rem}:host(.si-weather-widget-illustration-sm) si-icon{font-size:1.25rem;line-height:1;inline-size:auto;block-size:auto}:host(.si-weather-widget-illustration-md) img,:host(.si-weather-widget-illustration-md) si-icon{inline-size:1.5rem;block-size:1.5rem}:host(.si-weather-widget-illustration-md) si-icon{font-size:1.5rem;line-height:1;inline-size:auto;block-size:auto}:host(.si-weather-widget-illustration-lg) img,:host(.si-weather-widget-illustration-lg) si-icon{inline-size:2.5rem;block-size:2.5rem}:host(.si-weather-widget-illustration-lg) si-icon{font-size:2.5rem;line-height:1;inline-size:auto;block-size:auto}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1406
+ `, isInline: true, styles: [":host{display:contents}:host img{flex:0 0 auto;object-fit:contain}:host(.si-weather-widget-illustration-sm) img,:host(.si-weather-widget-illustration-sm) si-icon{inline-size:1.25rem;block-size:1.25rem}:host(.si-weather-widget-illustration-sm) si-icon{font-size:1.25rem;line-height:1;inline-size:auto;block-size:auto}:host(.si-weather-widget-illustration-md) img,:host(.si-weather-widget-illustration-md) si-icon{inline-size:1.5rem;block-size:1.5rem}:host(.si-weather-widget-illustration-md) si-icon{font-size:1.5rem;line-height:1;inline-size:auto;block-size:auto}:host(.si-weather-widget-illustration-lg) img,:host(.si-weather-widget-illustration-lg) si-icon{inline-size:2.5rem;block-size:2.5rem}:host(.si-weather-widget-illustration-lg) si-icon{font-size:2.5rem;line-height:1;inline-size:auto;block-size:auto}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
1319
1407
  }
1320
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiWeatherWidgetIllustrationComponent, decorators: [{
1408
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiWeatherWidgetIllustrationComponent, decorators: [{
1321
1409
  type: Component,
1322
1410
  args: [{ selector: 'si-weather-widget-illustration', imports: [SiIconComponent, SiTranslatePipe], template: `
1323
1411
  @let res = resolved();
@@ -1333,7 +1421,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
1333
1421
  <img class="si-weather-widget-illustration" [src]="res.src" [alt]="res.alt | translate" />
1334
1422
  }
1335
1423
  }
1336
- `, changeDetection: ChangeDetectionStrategy.OnPush, host: {
1424
+ `, host: {
1337
1425
  '[class.si-weather-widget-illustration-sm]': "size() === 'sm'",
1338
1426
  '[class.si-weather-widget-illustration-md]': "size() === 'md'",
1339
1427
  '[class.si-weather-widget-illustration-lg]': "size() === 'lg'"
@@ -1353,15 +1441,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
1353
1441
  */
1354
1442
  class SiWeatherWidgetForecastComponent {
1355
1443
  /** Forecast data rendered by this block. */
1356
- forecast = input.required(...(ngDevMode ? [{ debugName: "forecast" }] : []));
1444
+ forecast = input.required(/* @ts-ignore */
1445
+ ...(ngDevMode ? [{ debugName: "forecast" }] : /* istanbul ignore next */ []));
1357
1446
  /**
1358
1447
  * Layout used to render the forecast.
1359
1448
  *
1360
1449
  * @defaultValue 'vertical'
1361
1450
  */
1362
- layout = input('vertical', ...(ngDevMode ? [{ debugName: "layout" }] : []));
1451
+ layout = input('vertical', /* @ts-ignore */
1452
+ ...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
1363
1453
  /** Accessible label for the forecast section. */
1364
- forecastLabel = input(...(ngDevMode ? [undefined, { debugName: "forecastLabel" }] : []));
1454
+ forecastLabel = input(/* @ts-ignore */
1455
+ ...(ngDevMode ? [undefined, { debugName: "forecastLabel" }] : /* istanbul ignore next */ []));
1365
1456
  columns = computed(() => {
1366
1457
  const cols = this.forecast().columns;
1367
1458
  if (!cols) {
@@ -1371,16 +1462,17 @@ class SiWeatherWidgetForecastComponent {
1371
1462
  // the stylesheet. Authors should pass at most 5 columns and pick the most
1372
1463
  // important ones — the row will become unreadable beyond that.
1373
1464
  return cols.slice(0, 5);
1374
- }, ...(ngDevMode ? [{ debugName: "columns" }] : []));
1465
+ }, /* @ts-ignore */
1466
+ ...(ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []));
1375
1467
  columnValue(column, index) {
1376
1468
  return column.values?.[index];
1377
1469
  }
1378
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiWeatherWidgetForecastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1379
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiWeatherWidgetForecastComponent, isStandalone: true, selector: "si-weather-widget-forecast", inputs: { forecast: { classPropertyName: "forecast", publicName: "forecast", isSignal: true, isRequired: true, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, forecastLabel: { classPropertyName: "forecastLabel", publicName: "forecastLabel", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let days = forecast().days;\n@let cols = columns();\n@let illustrationSize = layout() === 'vertical' ? 'sm' : 'md';\n\n<div\n class=\"si-weather-widget-forecast\"\n [class.si-weather-widget-vertical]=\"layout() === 'vertical'\"\n [class.si-weather-widget-horizontal]=\"layout() === 'horizontal'\"\n [attr.aria-label]=\"forecastLabel() | translate\"\n>\n @if (layout() === 'horizontal') {\n @for (day of days; track $index) {\n <div\n class=\"si-weather-widget-forecast-day\"\n [class.si-weather-widget-forecast-day-2]=\"$index === 1\"\n [class.si-weather-widget-forecast-day-3]=\"$index === 2\"\n [class.si-weather-widget-forecast-day-4]=\"$index === 3\"\n [class.si-weather-widget-forecast-day-5]=\"$index === 4\"\n >\n <div class=\"si-weather-widget-forecast-day-label\">{{ day.label | translate }}</div>\n <si-weather-widget-illustration\n [size]=\"illustrationSize\"\n [illustration]=\"day.illustration\"\n [altFallback]=\"day.label\"\n />\n <div class=\"si-weather-widget-forecast-day-range\">\n <span class=\"si-weather-widget-forecast-range-min\">{{ day.minTemperature }}</span>\n <span class=\"si-weather-widget-forecast-range-max\">{{ day.maxTemperature }}</span>\n </div>\n </div>\n }\n } @else {\n <ul\n class=\"si-weather-widget-forecast-list\"\n role=\"list\"\n [style.--si-weather-forecast-extras]=\"cols.length\"\n >\n @for (day of days; track $index; let i = $index) {\n <li class=\"si-weather-widget-forecast-row\">\n <span class=\"si-weather-widget-forecast-day-label\">\n {{ day.label | translate }}\n </span>\n <span class=\"si-weather-widget-forecast-illustration-cell\">\n <si-weather-widget-illustration\n [size]=\"illustrationSize\"\n [illustration]=\"day.illustration\"\n [altFallback]=\"day.label\"\n />\n </span>\n @for (col of cols; track $index; let extraIdx = $index) {\n <span\n class=\"si-weather-widget-forecast-extra\"\n role=\"img\"\n [class.si-weather-widget-forecast-extra-1]=\"extraIdx === 0\"\n [class.si-weather-widget-forecast-extra-2]=\"extraIdx === 1\"\n [class.si-weather-widget-forecast-extra-3]=\"extraIdx === 2\"\n [class.si-weather-widget-forecast-extra-4]=\"extraIdx === 3\"\n [class.si-weather-widget-forecast-extra-5]=\"extraIdx === 4\"\n [attr.aria-label]=\"(col.label | translate) + ': ' + (columnValue(col, i) ?? '')\"\n >\n @if (col.icon) {\n <si-icon\n class=\"icon si-weather-widget-forecast-extra-icon\"\n aria-hidden=\"true\"\n [icon]=\"col.icon\"\n />\n }\n <span aria-hidden=\"true\">{{ columnValue(col, i) ?? '' }}</span>\n </span>\n }\n <span class=\"si-weather-widget-forecast-range-cell\">\n <span class=\"si-weather-widget-forecast-range\">\n <span class=\"si-weather-widget-forecast-range-min\">{{ day.minTemperature }}</span>\n <span class=\"si-weather-widget-forecast-range-max\">{{ day.maxTemperature }}</span>\n </span>\n </span>\n </li>\n }\n </ul>\n }\n</div>\n", styles: [".si-weather-widget-forecast-range,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-range{font-size:1rem;font-weight:400;line-height:1.25}.si-weather-widget-forecast-day-range{display:flex;gap:4px}.si-weather-widget-forecast-range-min{color:var(--element-text-secondary)}.si-weather-widget-forecast-range-max{color:var(--element-text-primary);font-weight:600}@property --si-weather-forecast-extras{syntax: \"<integer>\"; inherits: true; initial-value: 0;}@property --si-weather-forecast-extras-cap{syntax: \"<integer>\"; inherits: true; initial-value: 5;}.si-weather-widget-forecast-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:max-content 1.25rem repeat(min(var(--si-weather-forecast-extras),var(--si-weather-forecast-extras-cap)),1fr auto) 1fr auto;row-gap:8px;align-items:center;inline-size:100%;container-type:inline-size}@container (max-width: 635px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 4}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}@container (max-width: 539px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 3}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-4,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}@container (max-width: 443px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 2}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-3,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-4,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}@container (max-width: 347px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 1}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-2,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-3,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-4,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}@container (max-width: 251px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 0}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-1,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-2,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-3,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-4,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}.si-weather-widget-forecast-row{display:contents}.si-weather-widget-forecast-day-label{color:var(--element-text-secondary);margin-block:8px;white-space:nowrap}.si-weather-widget-forecast.si-weather-widget-vertical .si-weather-widget-forecast-day-label{padding-inline-end:16px;grid-column-start:1}.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-label{text-align:center}.si-weather-widget-forecast-illustration-cell{display:inline-flex;align-items:center;justify-content:center;margin-block:6px;grid-column-start:2}.si-weather-widget-forecast-extra{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.si-weather-widget-forecast-extra-1{grid-column-start:4}.si-weather-widget-forecast-extra-2{grid-column-start:6}.si-weather-widget-forecast-extra-3{grid-column-start:8}.si-weather-widget-forecast-extra-4{grid-column-start:10}.si-weather-widget-forecast-extra-5{grid-column-start:12}.si-weather-widget-forecast-range-cell{white-space:nowrap;grid-column-end:-1}.si-weather-widget-forecast-range{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:4px;margin-block:6px}:host{display:contents}.si-weather-widget-forecast{display:flex;flex-wrap:wrap;gap:8px}.si-weather-widget-forecast.si-weather-widget-vertical{display:block}.si-weather-widget-forecast.si-weather-widget-horizontal{flex-wrap:nowrap;overflow:hidden;container-type:inline-size}@container (max-width: 351px){.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-5{display:none}}@container (max-width: 279px){.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-4,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-5{display:none}}@container (max-width: 207px){.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-3,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-4,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-5{display:none}}@container (max-width: 135px){.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-2,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-3,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-4,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-5{display:none}}.si-weather-widget-forecast-day{flex:1 1 0;min-inline-size:64px;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day{padding-block:2px}.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-label{margin-block:0}.si-weather-widget-forecast-extra-icon{display:inline-flex;vertical-align:middle;margin-inline-end:2px;color:var(--element-text-secondary);margin-block:6px}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiWeatherWidgetIllustrationComponent, selector: "si-weather-widget-illustration", inputs: ["illustration", "condition", "altFallback", "size"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1470
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiWeatherWidgetForecastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1471
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiWeatherWidgetForecastComponent, isStandalone: true, selector: "si-weather-widget-forecast", inputs: { forecast: { classPropertyName: "forecast", publicName: "forecast", isSignal: true, isRequired: true, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, forecastLabel: { classPropertyName: "forecastLabel", publicName: "forecastLabel", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let days = forecast().days;\n@let cols = columns();\n@let illustrationSize = layout() === 'vertical' ? 'sm' : 'md';\n\n<div\n class=\"si-weather-widget-forecast\"\n [class.si-weather-widget-vertical]=\"layout() === 'vertical'\"\n [class.si-weather-widget-horizontal]=\"layout() === 'horizontal'\"\n [attr.aria-label]=\"forecastLabel() | translate\"\n>\n @if (layout() === 'horizontal') {\n @for (day of days; track $index) {\n <div\n class=\"si-weather-widget-forecast-day\"\n [class.si-weather-widget-forecast-day-2]=\"$index === 1\"\n [class.si-weather-widget-forecast-day-3]=\"$index === 2\"\n [class.si-weather-widget-forecast-day-4]=\"$index === 3\"\n [class.si-weather-widget-forecast-day-5]=\"$index === 4\"\n >\n <div class=\"si-weather-widget-forecast-day-label\">{{ day.label | translate }}</div>\n <si-weather-widget-illustration\n [size]=\"illustrationSize\"\n [illustration]=\"day.illustration\"\n [altFallback]=\"day.label\"\n />\n <div class=\"si-weather-widget-forecast-day-range\">\n <span class=\"si-weather-widget-forecast-range-min\">{{ day.minTemperature }}</span>\n <span class=\"si-weather-widget-forecast-range-max\">{{ day.maxTemperature }}</span>\n </div>\n </div>\n }\n } @else {\n <ul\n class=\"si-weather-widget-forecast-list\"\n role=\"list\"\n [style.--si-weather-forecast-extras]=\"cols.length\"\n >\n @for (day of days; track $index; let i = $index) {\n <li class=\"si-weather-widget-forecast-row\">\n <span class=\"si-weather-widget-forecast-day-label\">\n {{ day.label | translate }}\n </span>\n <span class=\"si-weather-widget-forecast-illustration-cell\">\n <si-weather-widget-illustration\n [size]=\"illustrationSize\"\n [illustration]=\"day.illustration\"\n [altFallback]=\"day.label\"\n />\n </span>\n @for (col of cols; track $index; let extraIdx = $index) {\n <span\n class=\"si-weather-widget-forecast-extra\"\n role=\"img\"\n [class.si-weather-widget-forecast-extra-1]=\"extraIdx === 0\"\n [class.si-weather-widget-forecast-extra-2]=\"extraIdx === 1\"\n [class.si-weather-widget-forecast-extra-3]=\"extraIdx === 2\"\n [class.si-weather-widget-forecast-extra-4]=\"extraIdx === 3\"\n [class.si-weather-widget-forecast-extra-5]=\"extraIdx === 4\"\n [attr.aria-label]=\"(col.label | translate) + ': ' + (columnValue(col, i) ?? '')\"\n >\n @if (col.icon) {\n <si-icon\n class=\"icon si-weather-widget-forecast-extra-icon\"\n aria-hidden=\"true\"\n [icon]=\"col.icon\"\n />\n }\n <span aria-hidden=\"true\">{{ columnValue(col, i) ?? '' }}</span>\n </span>\n }\n <span class=\"si-weather-widget-forecast-range-cell\">\n <span class=\"si-weather-widget-forecast-range\">\n <span class=\"si-weather-widget-forecast-range-min\">{{ day.minTemperature }}</span>\n <span class=\"si-weather-widget-forecast-range-max\">{{ day.maxTemperature }}</span>\n </span>\n </span>\n </li>\n }\n </ul>\n }\n</div>\n", styles: [".si-weather-widget-forecast-range,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-range{font-size:var(--si-sys-typography-font-size-body-lg);font-weight:400;line-height:var(--si-sys-typography-line-height-body-lg)}.si-weather-widget-forecast-day-range{display:flex;gap:var(--si-sys-sizing-spacing-y-20) var(--si-sys-sizing-spacing-x-20)}.si-weather-widget-forecast-range-min{color:var(--si-sys-text-secondary)}.si-weather-widget-forecast-range-max{color:var(--si-sys-text-primary);font-weight:600}@property --si-weather-forecast-extras{syntax: \"<integer>\"; inherits: true; initial-value: 0;}@property --si-weather-forecast-extras-cap{syntax: \"<integer>\"; inherits: true; initial-value: 5;}.si-weather-widget-forecast-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:max-content 1.25rem repeat(min(var(--si-weather-forecast-extras),var(--si-weather-forecast-extras-cap)),1fr auto) 1fr auto;row-gap:var(--si-sys-sizing-spacing-y-40);align-items:center;inline-size:100%;container-type:inline-size}@container (max-width: 635px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 4}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}@container (max-width: 539px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 3}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-4,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}@container (max-width: 443px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 2}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-3,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-4,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}@container (max-width: 347px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 1}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-2,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-3,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-4,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}@container (max-width: 251px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 0}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-1,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-2,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-3,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-4,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}.si-weather-widget-forecast-row{display:contents}.si-weather-widget-forecast-day-label{color:var(--si-sys-text-secondary);margin-block:var(--si-sys-sizing-spacing-y-40);white-space:nowrap}.si-weather-widget-forecast.si-weather-widget-vertical .si-weather-widget-forecast-day-label{padding-inline-end:var(--si-sys-sizing-spacing-x-60);grid-column-start:1}.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-label{text-align:center}.si-weather-widget-forecast-illustration-cell{display:inline-flex;align-items:center;justify-content:center;margin-block:var(--si-sys-sizing-spacing-y-30);grid-column-start:2}.si-weather-widget-forecast-extra{display:inline-flex;align-items:center;gap:var(--si-sys-sizing-spacing-y-10) var(--si-sys-sizing-spacing-x-10);white-space:nowrap}.si-weather-widget-forecast-extra-1{grid-column-start:4}.si-weather-widget-forecast-extra-2{grid-column-start:6}.si-weather-widget-forecast-extra-3{grid-column-start:8}.si-weather-widget-forecast-extra-4{grid-column-start:10}.si-weather-widget-forecast-extra-5{grid-column-start:12}.si-weather-widget-forecast-range-cell{white-space:nowrap;grid-column-end:-1}.si-weather-widget-forecast-range{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:var(--si-sys-sizing-spacing-y-20) var(--si-sys-sizing-spacing-x-20);margin-block:var(--si-sys-sizing-spacing-y-30)}:host{display:contents}.si-weather-widget-forecast{display:flex;flex-wrap:wrap;gap:var(--si-sys-sizing-spacing-y-40) var(--si-sys-sizing-spacing-x-40)}.si-weather-widget-forecast.si-weather-widget-vertical{display:block}.si-weather-widget-forecast.si-weather-widget-horizontal{flex-wrap:nowrap;overflow:hidden;container-type:inline-size}@container (max-width: 351px){.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-5{display:none}}@container (max-width: 279px){.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-4,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-5{display:none}}@container (max-width: 207px){.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-3,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-4,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-5{display:none}}@container (max-width: 135px){.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-2,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-3,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-4,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-5{display:none}}.si-weather-widget-forecast-day{flex:1 1 0;min-inline-size:64px;display:flex;flex-direction:column;align-items:center;gap:var(--si-sys-sizing-spacing-y-10) var(--si-sys-sizing-spacing-x-10);text-align:center}.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day{padding-block:var(--si-sys-sizing-spacing-y-10)}.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-label{margin-block:0}.si-weather-widget-forecast-extra-icon{display:inline-flex;vertical-align:middle;margin-inline-end:var(--si-sys-sizing-spacing-x-10);color:var(--si-sys-text-secondary);margin-block:var(--si-sys-sizing-spacing-y-30)}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiWeatherWidgetIllustrationComponent, selector: "si-weather-widget-illustration", inputs: ["illustration", "condition", "altFallback", "size"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
1380
1472
  }
1381
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiWeatherWidgetForecastComponent, decorators: [{
1473
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiWeatherWidgetForecastComponent, decorators: [{
1382
1474
  type: Component,
1383
- args: [{ selector: 'si-weather-widget-forecast', imports: [SiIconComponent, SiTranslatePipe, SiWeatherWidgetIllustrationComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let days = forecast().days;\n@let cols = columns();\n@let illustrationSize = layout() === 'vertical' ? 'sm' : 'md';\n\n<div\n class=\"si-weather-widget-forecast\"\n [class.si-weather-widget-vertical]=\"layout() === 'vertical'\"\n [class.si-weather-widget-horizontal]=\"layout() === 'horizontal'\"\n [attr.aria-label]=\"forecastLabel() | translate\"\n>\n @if (layout() === 'horizontal') {\n @for (day of days; track $index) {\n <div\n class=\"si-weather-widget-forecast-day\"\n [class.si-weather-widget-forecast-day-2]=\"$index === 1\"\n [class.si-weather-widget-forecast-day-3]=\"$index === 2\"\n [class.si-weather-widget-forecast-day-4]=\"$index === 3\"\n [class.si-weather-widget-forecast-day-5]=\"$index === 4\"\n >\n <div class=\"si-weather-widget-forecast-day-label\">{{ day.label | translate }}</div>\n <si-weather-widget-illustration\n [size]=\"illustrationSize\"\n [illustration]=\"day.illustration\"\n [altFallback]=\"day.label\"\n />\n <div class=\"si-weather-widget-forecast-day-range\">\n <span class=\"si-weather-widget-forecast-range-min\">{{ day.minTemperature }}</span>\n <span class=\"si-weather-widget-forecast-range-max\">{{ day.maxTemperature }}</span>\n </div>\n </div>\n }\n } @else {\n <ul\n class=\"si-weather-widget-forecast-list\"\n role=\"list\"\n [style.--si-weather-forecast-extras]=\"cols.length\"\n >\n @for (day of days; track $index; let i = $index) {\n <li class=\"si-weather-widget-forecast-row\">\n <span class=\"si-weather-widget-forecast-day-label\">\n {{ day.label | translate }}\n </span>\n <span class=\"si-weather-widget-forecast-illustration-cell\">\n <si-weather-widget-illustration\n [size]=\"illustrationSize\"\n [illustration]=\"day.illustration\"\n [altFallback]=\"day.label\"\n />\n </span>\n @for (col of cols; track $index; let extraIdx = $index) {\n <span\n class=\"si-weather-widget-forecast-extra\"\n role=\"img\"\n [class.si-weather-widget-forecast-extra-1]=\"extraIdx === 0\"\n [class.si-weather-widget-forecast-extra-2]=\"extraIdx === 1\"\n [class.si-weather-widget-forecast-extra-3]=\"extraIdx === 2\"\n [class.si-weather-widget-forecast-extra-4]=\"extraIdx === 3\"\n [class.si-weather-widget-forecast-extra-5]=\"extraIdx === 4\"\n [attr.aria-label]=\"(col.label | translate) + ': ' + (columnValue(col, i) ?? '')\"\n >\n @if (col.icon) {\n <si-icon\n class=\"icon si-weather-widget-forecast-extra-icon\"\n aria-hidden=\"true\"\n [icon]=\"col.icon\"\n />\n }\n <span aria-hidden=\"true\">{{ columnValue(col, i) ?? '' }}</span>\n </span>\n }\n <span class=\"si-weather-widget-forecast-range-cell\">\n <span class=\"si-weather-widget-forecast-range\">\n <span class=\"si-weather-widget-forecast-range-min\">{{ day.minTemperature }}</span>\n <span class=\"si-weather-widget-forecast-range-max\">{{ day.maxTemperature }}</span>\n </span>\n </span>\n </li>\n }\n </ul>\n }\n</div>\n", styles: [".si-weather-widget-forecast-range,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-range{font-size:1rem;font-weight:400;line-height:1.25}.si-weather-widget-forecast-day-range{display:flex;gap:4px}.si-weather-widget-forecast-range-min{color:var(--element-text-secondary)}.si-weather-widget-forecast-range-max{color:var(--element-text-primary);font-weight:600}@property --si-weather-forecast-extras{syntax: \"<integer>\"; inherits: true; initial-value: 0;}@property --si-weather-forecast-extras-cap{syntax: \"<integer>\"; inherits: true; initial-value: 5;}.si-weather-widget-forecast-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:max-content 1.25rem repeat(min(var(--si-weather-forecast-extras),var(--si-weather-forecast-extras-cap)),1fr auto) 1fr auto;row-gap:8px;align-items:center;inline-size:100%;container-type:inline-size}@container (max-width: 635px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 4}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}@container (max-width: 539px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 3}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-4,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}@container (max-width: 443px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 2}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-3,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-4,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}@container (max-width: 347px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 1}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-2,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-3,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-4,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}@container (max-width: 251px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 0}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-1,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-2,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-3,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-4,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}.si-weather-widget-forecast-row{display:contents}.si-weather-widget-forecast-day-label{color:var(--element-text-secondary);margin-block:8px;white-space:nowrap}.si-weather-widget-forecast.si-weather-widget-vertical .si-weather-widget-forecast-day-label{padding-inline-end:16px;grid-column-start:1}.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-label{text-align:center}.si-weather-widget-forecast-illustration-cell{display:inline-flex;align-items:center;justify-content:center;margin-block:6px;grid-column-start:2}.si-weather-widget-forecast-extra{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.si-weather-widget-forecast-extra-1{grid-column-start:4}.si-weather-widget-forecast-extra-2{grid-column-start:6}.si-weather-widget-forecast-extra-3{grid-column-start:8}.si-weather-widget-forecast-extra-4{grid-column-start:10}.si-weather-widget-forecast-extra-5{grid-column-start:12}.si-weather-widget-forecast-range-cell{white-space:nowrap;grid-column-end:-1}.si-weather-widget-forecast-range{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:4px;margin-block:6px}:host{display:contents}.si-weather-widget-forecast{display:flex;flex-wrap:wrap;gap:8px}.si-weather-widget-forecast.si-weather-widget-vertical{display:block}.si-weather-widget-forecast.si-weather-widget-horizontal{flex-wrap:nowrap;overflow:hidden;container-type:inline-size}@container (max-width: 351px){.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-5{display:none}}@container (max-width: 279px){.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-4,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-5{display:none}}@container (max-width: 207px){.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-3,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-4,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-5{display:none}}@container (max-width: 135px){.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-2,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-3,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-4,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-5{display:none}}.si-weather-widget-forecast-day{flex:1 1 0;min-inline-size:64px;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day{padding-block:2px}.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-label{margin-block:0}.si-weather-widget-forecast-extra-icon{display:inline-flex;vertical-align:middle;margin-inline-end:2px;color:var(--element-text-secondary);margin-block:6px}\n"] }]
1475
+ args: [{ selector: 'si-weather-widget-forecast', imports: [SiIconComponent, SiTranslatePipe, SiWeatherWidgetIllustrationComponent], template: "@let days = forecast().days;\n@let cols = columns();\n@let illustrationSize = layout() === 'vertical' ? 'sm' : 'md';\n\n<div\n class=\"si-weather-widget-forecast\"\n [class.si-weather-widget-vertical]=\"layout() === 'vertical'\"\n [class.si-weather-widget-horizontal]=\"layout() === 'horizontal'\"\n [attr.aria-label]=\"forecastLabel() | translate\"\n>\n @if (layout() === 'horizontal') {\n @for (day of days; track $index) {\n <div\n class=\"si-weather-widget-forecast-day\"\n [class.si-weather-widget-forecast-day-2]=\"$index === 1\"\n [class.si-weather-widget-forecast-day-3]=\"$index === 2\"\n [class.si-weather-widget-forecast-day-4]=\"$index === 3\"\n [class.si-weather-widget-forecast-day-5]=\"$index === 4\"\n >\n <div class=\"si-weather-widget-forecast-day-label\">{{ day.label | translate }}</div>\n <si-weather-widget-illustration\n [size]=\"illustrationSize\"\n [illustration]=\"day.illustration\"\n [altFallback]=\"day.label\"\n />\n <div class=\"si-weather-widget-forecast-day-range\">\n <span class=\"si-weather-widget-forecast-range-min\">{{ day.minTemperature }}</span>\n <span class=\"si-weather-widget-forecast-range-max\">{{ day.maxTemperature }}</span>\n </div>\n </div>\n }\n } @else {\n <ul\n class=\"si-weather-widget-forecast-list\"\n role=\"list\"\n [style.--si-weather-forecast-extras]=\"cols.length\"\n >\n @for (day of days; track $index; let i = $index) {\n <li class=\"si-weather-widget-forecast-row\">\n <span class=\"si-weather-widget-forecast-day-label\">\n {{ day.label | translate }}\n </span>\n <span class=\"si-weather-widget-forecast-illustration-cell\">\n <si-weather-widget-illustration\n [size]=\"illustrationSize\"\n [illustration]=\"day.illustration\"\n [altFallback]=\"day.label\"\n />\n </span>\n @for (col of cols; track $index; let extraIdx = $index) {\n <span\n class=\"si-weather-widget-forecast-extra\"\n role=\"img\"\n [class.si-weather-widget-forecast-extra-1]=\"extraIdx === 0\"\n [class.si-weather-widget-forecast-extra-2]=\"extraIdx === 1\"\n [class.si-weather-widget-forecast-extra-3]=\"extraIdx === 2\"\n [class.si-weather-widget-forecast-extra-4]=\"extraIdx === 3\"\n [class.si-weather-widget-forecast-extra-5]=\"extraIdx === 4\"\n [attr.aria-label]=\"(col.label | translate) + ': ' + (columnValue(col, i) ?? '')\"\n >\n @if (col.icon) {\n <si-icon\n class=\"icon si-weather-widget-forecast-extra-icon\"\n aria-hidden=\"true\"\n [icon]=\"col.icon\"\n />\n }\n <span aria-hidden=\"true\">{{ columnValue(col, i) ?? '' }}</span>\n </span>\n }\n <span class=\"si-weather-widget-forecast-range-cell\">\n <span class=\"si-weather-widget-forecast-range\">\n <span class=\"si-weather-widget-forecast-range-min\">{{ day.minTemperature }}</span>\n <span class=\"si-weather-widget-forecast-range-max\">{{ day.maxTemperature }}</span>\n </span>\n </span>\n </li>\n }\n </ul>\n }\n</div>\n", styles: [".si-weather-widget-forecast-range,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-range{font-size:var(--si-sys-typography-font-size-body-lg);font-weight:400;line-height:var(--si-sys-typography-line-height-body-lg)}.si-weather-widget-forecast-day-range{display:flex;gap:var(--si-sys-sizing-spacing-y-20) var(--si-sys-sizing-spacing-x-20)}.si-weather-widget-forecast-range-min{color:var(--si-sys-text-secondary)}.si-weather-widget-forecast-range-max{color:var(--si-sys-text-primary);font-weight:600}@property --si-weather-forecast-extras{syntax: \"<integer>\"; inherits: true; initial-value: 0;}@property --si-weather-forecast-extras-cap{syntax: \"<integer>\"; inherits: true; initial-value: 5;}.si-weather-widget-forecast-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:max-content 1.25rem repeat(min(var(--si-weather-forecast-extras),var(--si-weather-forecast-extras-cap)),1fr auto) 1fr auto;row-gap:var(--si-sys-sizing-spacing-y-40);align-items:center;inline-size:100%;container-type:inline-size}@container (max-width: 635px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 4}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}@container (max-width: 539px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 3}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-4,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}@container (max-width: 443px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 2}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-3,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-4,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}@container (max-width: 347px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 1}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-2,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-3,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-4,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}@container (max-width: 251px){.si-weather-widget-forecast-list{--si-weather-forecast-extras-cap: 0}.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-1,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-2,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-3,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-4,.si-weather-widget-forecast-list .si-weather-widget-forecast-extra-5{display:none}}.si-weather-widget-forecast-row{display:contents}.si-weather-widget-forecast-day-label{color:var(--si-sys-text-secondary);margin-block:var(--si-sys-sizing-spacing-y-40);white-space:nowrap}.si-weather-widget-forecast.si-weather-widget-vertical .si-weather-widget-forecast-day-label{padding-inline-end:var(--si-sys-sizing-spacing-x-60);grid-column-start:1}.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-label{text-align:center}.si-weather-widget-forecast-illustration-cell{display:inline-flex;align-items:center;justify-content:center;margin-block:var(--si-sys-sizing-spacing-y-30);grid-column-start:2}.si-weather-widget-forecast-extra{display:inline-flex;align-items:center;gap:var(--si-sys-sizing-spacing-y-10) var(--si-sys-sizing-spacing-x-10);white-space:nowrap}.si-weather-widget-forecast-extra-1{grid-column-start:4}.si-weather-widget-forecast-extra-2{grid-column-start:6}.si-weather-widget-forecast-extra-3{grid-column-start:8}.si-weather-widget-forecast-extra-4{grid-column-start:10}.si-weather-widget-forecast-extra-5{grid-column-start:12}.si-weather-widget-forecast-range-cell{white-space:nowrap;grid-column-end:-1}.si-weather-widget-forecast-range{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:var(--si-sys-sizing-spacing-y-20) var(--si-sys-sizing-spacing-x-20);margin-block:var(--si-sys-sizing-spacing-y-30)}:host{display:contents}.si-weather-widget-forecast{display:flex;flex-wrap:wrap;gap:var(--si-sys-sizing-spacing-y-40) var(--si-sys-sizing-spacing-x-40)}.si-weather-widget-forecast.si-weather-widget-vertical{display:block}.si-weather-widget-forecast.si-weather-widget-horizontal{flex-wrap:nowrap;overflow:hidden;container-type:inline-size}@container (max-width: 351px){.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-5{display:none}}@container (max-width: 279px){.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-4,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-5{display:none}}@container (max-width: 207px){.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-3,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-4,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-5{display:none}}@container (max-width: 135px){.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-2,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-3,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-4,.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-5{display:none}}.si-weather-widget-forecast-day{flex:1 1 0;min-inline-size:64px;display:flex;flex-direction:column;align-items:center;gap:var(--si-sys-sizing-spacing-y-10) var(--si-sys-sizing-spacing-x-10);text-align:center}.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day{padding-block:var(--si-sys-sizing-spacing-y-10)}.si-weather-widget-forecast.si-weather-widget-horizontal .si-weather-widget-forecast-day-label{margin-block:0}.si-weather-widget-forecast-extra-icon{display:inline-flex;vertical-align:middle;margin-inline-end:var(--si-sys-sizing-spacing-x-10);color:var(--si-sys-text-secondary);margin-block:var(--si-sys-sizing-spacing-y-30)}\n"] }]
1384
1476
  }], propDecorators: { forecast: [{ type: i0.Input, args: [{ isSignal: true, alias: "forecast", required: true }] }], layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: false }] }], forecastLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "forecastLabel", required: false }] }] } });
1385
1477
 
1386
1478
  /**
@@ -1394,8 +1486,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
1394
1486
  * @internal
1395
1487
  */
1396
1488
  class SiWeatherWidgetSkeletonComponent {
1397
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiWeatherWidgetSkeletonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1398
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: SiWeatherWidgetSkeletonComponent, isStandalone: true, selector: "si-weather-widget-skeleton", ngImport: i0, template: `
1489
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiWeatherWidgetSkeletonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1490
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: SiWeatherWidgetSkeletonComponent, isStandalone: true, selector: "si-weather-widget-skeleton", ngImport: i0, template: `
1399
1491
  <div class="si-weather-widget-skeleton-row">
1400
1492
  <div class="si-weather-widget-skeleton-value si-skeleton"></div>
1401
1493
  <div class="si-weather-widget-skeleton-col">
@@ -1404,9 +1496,9 @@ class SiWeatherWidgetSkeletonComponent {
1404
1496
  <div class="si-weather-widget-skeleton-line si-skeleton"></div>
1405
1497
  </div>
1406
1498
  </div>
1407
- `, isInline: true, styles: [":host{display:flex;flex-direction:column;gap:6px}.si-weather-widget-skeleton-row{display:flex;align-items:stretch;justify-content:space-between;gap:8px}.si-weather-widget-skeleton-col{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:6px}.si-weather-widget-skeleton-illustration{flex:0 0 auto;inline-size:40px;block-size:40px;border-radius:50%}.si-weather-widget-skeleton-value{flex:0 0 auto;align-self:stretch;inline-size:5.3125rem;block-size:auto}.si-weather-widget-skeleton-line{block-size:.875rem;inline-size:7.5rem}.si-weather-widget-skeleton-line:last-child{inline-size:5rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1499
+ `, isInline: true, styles: [":host{display:flex;flex-direction:column;gap:var(--si-sys-sizing-spacing-y-30) var(--si-sys-sizing-spacing-x-30)}.si-weather-widget-skeleton-row{display:flex;align-items:stretch;justify-content:space-between;gap:var(--si-sys-sizing-spacing-y-40) var(--si-sys-sizing-spacing-x-40)}.si-weather-widget-skeleton-col{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:var(--si-sys-sizing-spacing-y-30) var(--si-sys-sizing-spacing-x-30)}.si-weather-widget-skeleton-illustration{flex:0 0 auto;inline-size:40px;block-size:40px;border-radius:50%}.si-weather-widget-skeleton-value{flex:0 0 auto;align-self:stretch;inline-size:5.3125rem;block-size:auto}.si-weather-widget-skeleton-line{block-size:var(--si-sys-typography-font-size-body);inline-size:7.5rem}.si-weather-widget-skeleton-line:last-child{inline-size:5rem}\n"] });
1408
1500
  }
1409
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiWeatherWidgetSkeletonComponent, decorators: [{
1501
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiWeatherWidgetSkeletonComponent, decorators: [{
1410
1502
  type: Component,
1411
1503
  args: [{ selector: 'si-weather-widget-skeleton', template: `
1412
1504
  <div class="si-weather-widget-skeleton-row">
@@ -1417,7 +1509,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
1417
1509
  <div class="si-weather-widget-skeleton-line si-skeleton"></div>
1418
1510
  </div>
1419
1511
  </div>
1420
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:flex;flex-direction:column;gap:6px}.si-weather-widget-skeleton-row{display:flex;align-items:stretch;justify-content:space-between;gap:8px}.si-weather-widget-skeleton-col{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:6px}.si-weather-widget-skeleton-illustration{flex:0 0 auto;inline-size:40px;block-size:40px;border-radius:50%}.si-weather-widget-skeleton-value{flex:0 0 auto;align-self:stretch;inline-size:5.3125rem;block-size:auto}.si-weather-widget-skeleton-line{block-size:.875rem;inline-size:7.5rem}.si-weather-widget-skeleton-line:last-child{inline-size:5rem}\n"] }]
1512
+ `, styles: [":host{display:flex;flex-direction:column;gap:var(--si-sys-sizing-spacing-y-30) var(--si-sys-sizing-spacing-x-30)}.si-weather-widget-skeleton-row{display:flex;align-items:stretch;justify-content:space-between;gap:var(--si-sys-sizing-spacing-y-40) var(--si-sys-sizing-spacing-x-40)}.si-weather-widget-skeleton-col{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:var(--si-sys-sizing-spacing-y-30) var(--si-sys-sizing-spacing-x-30)}.si-weather-widget-skeleton-illustration{flex:0 0 auto;inline-size:40px;block-size:40px;border-radius:50%}.si-weather-widget-skeleton-value{flex:0 0 auto;align-self:stretch;inline-size:5.3125rem;block-size:auto}.si-weather-widget-skeleton-line{block-size:var(--si-sys-typography-font-size-body);inline-size:7.5rem}.si-weather-widget-skeleton-line:last-child{inline-size:5rem}\n"] }]
1421
1513
  }] });
1422
1514
 
1423
1515
  /**
@@ -1439,10 +1531,10 @@ class SiWeatherRangeDefDirective {
1439
1531
  static ngTemplateContextGuard(_dir, ctx) {
1440
1532
  return true;
1441
1533
  }
1442
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiWeatherRangeDefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1443
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: SiWeatherRangeDefDirective, isStandalone: true, selector: "[siWeatherRangeDef]", ngImport: i0 });
1534
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiWeatherRangeDefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1535
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SiWeatherRangeDefDirective, isStandalone: true, selector: "[siWeatherRangeDef]", ngImport: i0 });
1444
1536
  }
1445
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiWeatherRangeDefDirective, decorators: [{
1537
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiWeatherRangeDefDirective, decorators: [{
1446
1538
  type: Directive,
1447
1539
  args: [{ selector: '[siWeatherRangeDef]' }]
1448
1540
  }] });
@@ -1469,13 +1561,15 @@ class SiWeatherWidgetBodyComponent extends SiWidgetBaseDirective {
1469
1561
  *
1470
1562
  * @defaultValue 'vertical'
1471
1563
  */
1472
- layout = input('vertical', ...(ngDevMode ? [{ debugName: "layout" }] : []));
1564
+ layout = input('vertical', /* @ts-ignore */
1565
+ ...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
1473
1566
  /**
1474
1567
  * Optional location label, shown inside the body in the compact layout only.
1475
1568
  * The non-compact layouts render the location via the `<si-card>` heading
1476
1569
  * managed by `SiWeatherWidgetComponent`.
1477
1570
  */
1478
- location = input(...(ngDevMode ? [undefined, { debugName: "location" }] : []));
1571
+ location = input(/* @ts-ignore */
1572
+ ...(ngDevMode ? [undefined, { debugName: "location" }] : /* istanbul ignore next */ []));
1479
1573
  /**
1480
1574
  * Accessible label for the additional data list.
1481
1575
  *
@@ -1484,7 +1578,8 @@ class SiWeatherWidgetBodyComponent extends SiWidgetBaseDirective {
1484
1578
  * t(() => $localize`:@@SI_WEATHER_WIDGET.METRICS_LABEL:Additional weather data`)
1485
1579
  * ```
1486
1580
  */
1487
- metricsLabel = input(t(() => $localize `:@@SI_WEATHER_WIDGET.METRICS_LABEL:Additional weather data`), ...(ngDevMode ? [{ debugName: "metricsLabel" }] : []));
1581
+ metricsLabel = input(t(() => $localize `:@@SI_WEATHER_WIDGET.METRICS_LABEL:Additional weather data`), /* @ts-ignore */
1582
+ ...(ngDevMode ? [{ debugName: "metricsLabel" }] : /* istanbul ignore next */ []));
1488
1583
  /**
1489
1584
  * Accessible label for the forecast section.
1490
1585
  *
@@ -1493,13 +1588,16 @@ class SiWeatherWidgetBodyComponent extends SiWidgetBaseDirective {
1493
1588
  * t(() => $localize`:@@SI_WEATHER_WIDGET.FORECAST_LABEL:Weather forecast`)
1494
1589
  * ```
1495
1590
  */
1496
- forecastLabel = input(t(() => $localize `:@@SI_WEATHER_WIDGET.FORECAST_LABEL:Weather forecast`), ...(ngDevMode ? [{ debugName: "forecastLabel" }] : []));
1497
- layoutClass = computed(() => LAYOUT_CLASS[this.layout()], ...(ngDevMode ? [{ debugName: "layoutClass" }] : []));
1498
- isCompact = computed(() => this.layout() === 'compact', ...(ngDevMode ? [{ debugName: "isCompact" }] : []));
1499
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiWeatherWidgetBodyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1500
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiWeatherWidgetBodyComponent, isStandalone: true, selector: "si-weather-widget-body", inputs: { layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, location: { classPropertyName: "location", publicName: "location", isSignal: true, isRequired: false, transformFunction: null }, metricsLabel: { classPropertyName: "metricsLabel", publicName: "metricsLabel", isSignal: true, isRequired: false, transformFunction: null }, forecastLabel: { classPropertyName: "forecastLabel", publicName: "forecastLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "layoutClass()" } }, usesInheritance: true, ngImport: i0, template: "@let data = value();\n@let current = data?.current;\n@let metrics = data?.metrics;\n@let forecast = data?.forecast;\n@let loading = showLoadingIndicator();\n\n@if (loading) {\n <si-weather-widget-skeleton />\n} @else if (current) {\n @if (isCompact()) {\n <div class=\"si-weather-widget-today\">\n <si-weather-widget-illustration\n size=\"sm\"\n [illustration]=\"current.illustration\"\n [condition]=\"current.condition\"\n [altFallback]=\"current.illustrationAlt\"\n />\n <div class=\"si-weather-widget-today-info\">\n @if (location()) {\n <div class=\"si-weather-widget-location\">{{ location() | translate }}</div>\n }\n <ng-container *ngTemplateOutlet=\"rangeTpl; context: { $implicit: current }\" />\n </div>\n </div>\n } @else {\n <div class=\"si-weather-widget-today\">\n <div class=\"si-weather-widget-temperature\">{{ current.temperature }}</div>\n <div class=\"si-weather-widget-today-info\">\n <si-weather-widget-illustration\n size=\"lg\"\n [illustration]=\"current.illustration\"\n [condition]=\"current.condition\"\n [altFallback]=\"current.illustrationAlt\"\n />\n @if (current.condition) {\n <div class=\"si-weather-widget-condition\">{{ current.condition | translate }}</div>\n }\n <ng-container *ngTemplateOutlet=\"rangeTpl; context: { $implicit: current }\" />\n </div>\n </div>\n }\n\n @if (metrics?.length) {\n <ul class=\"si-weather-widget-metrics\" [attr.aria-label]=\"metricsLabel() | translate\">\n @for (metric of metrics; track $index) {\n <li class=\"si-weather-widget-metric\">\n <span class=\"si-weather-widget-metric-label\">{{ metric.label | translate }}</span>\n <span class=\"si-weather-widget-metric-value\">{{ metric.value }}</span>\n </li>\n }\n </ul>\n }\n\n @if (!isCompact() && forecast && forecast.days.length) {\n <si-weather-widget-forecast\n [forecast]=\"forecast\"\n [layout]=\"layout() === 'horizontal' ? 'horizontal' : 'vertical'\"\n [forecastLabel]=\"forecastLabel()\"\n />\n }\n}\n\n<ng-template #rangeTpl let-c siWeatherRangeDef>\n @if (c.minTemperature !== undefined || c.maxTemperature !== undefined) {\n <div class=\"si-weather-widget-range\">\n @if (c.minTemperature !== undefined) {\n <span class=\"si-weather-widget-range-min\">{{ c.minTemperature }}</span>\n }\n @if (c.maxTemperature !== undefined) {\n <span class=\"si-weather-widget-range-max\">{{ c.maxTemperature }}</span>\n }\n </div>\n }\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;gap:32px;block-size:100%}.si-weather-widget-condition,:host.si-weather-widget-vertical .si-weather-widget-range,:host.si-weather-widget-horizontal .si-weather-widget-range{font-size:1rem;font-weight:400;line-height:1.25}.si-weather-widget-today{display:flex;align-items:start;gap:8px}:host.si-weather-widget-vertical .si-weather-widget-today,:host.si-weather-widget-horizontal .si-weather-widget-today{justify-content:space-between}:host.si-weather-widget-vertical .si-weather-widget-today-info,:host.si-weather-widget-horizontal .si-weather-widget-today-info{align-items:flex-end;text-align:end}.si-weather-widget-today-info{display:flex;flex-direction:column;gap:2px;min-inline-size:0}.si-weather-widget-temperature{font-size:3.5rem;font-weight:400;line-height:1.2857142857;color:var(--element-text-primary)}.si-weather-widget-condition{color:var(--element-text-primary)}.si-weather-widget-location{font-weight:600;color:var(--element-text-primary)}.si-weather-widget-range{display:flex;gap:4px}.si-weather-widget-range-min{color:var(--element-text-secondary)}.si-weather-widget-range-max{color:var(--element-text-primary);font-weight:600}.si-weather-widget-metrics{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px;margin-block:0;inline-size:100%}.si-weather-widget-metric{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.si-weather-widget-metric-label{color:var(--element-text-secondary)}.si-weather-widget-metric-value{color:var(--element-text-primary);font-weight:600;text-align:end}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: SiWeatherRangeDefDirective, selector: "[siWeatherRangeDef]" }, { kind: "component", type: SiWeatherWidgetForecastComponent, selector: "si-weather-widget-forecast", inputs: ["forecast", "layout", "forecastLabel"] }, { kind: "component", type: SiWeatherWidgetIllustrationComponent, selector: "si-weather-widget-illustration", inputs: ["illustration", "condition", "altFallback", "size"] }, { kind: "component", type: SiWeatherWidgetSkeletonComponent, selector: "si-weather-widget-skeleton" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1591
+ forecastLabel = input(t(() => $localize `:@@SI_WEATHER_WIDGET.FORECAST_LABEL:Weather forecast`), /* @ts-ignore */
1592
+ ...(ngDevMode ? [{ debugName: "forecastLabel" }] : /* istanbul ignore next */ []));
1593
+ layoutClass = computed(() => LAYOUT_CLASS[this.layout()], /* @ts-ignore */
1594
+ ...(ngDevMode ? [{ debugName: "layoutClass" }] : /* istanbul ignore next */ []));
1595
+ isCompact = computed(() => this.layout() === 'compact', /* @ts-ignore */
1596
+ ...(ngDevMode ? [{ debugName: "isCompact" }] : /* istanbul ignore next */ []));
1597
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiWeatherWidgetBodyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1598
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiWeatherWidgetBodyComponent, isStandalone: true, selector: "si-weather-widget-body", inputs: { layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, location: { classPropertyName: "location", publicName: "location", isSignal: true, isRequired: false, transformFunction: null }, metricsLabel: { classPropertyName: "metricsLabel", publicName: "metricsLabel", isSignal: true, isRequired: false, transformFunction: null }, forecastLabel: { classPropertyName: "forecastLabel", publicName: "forecastLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "layoutClass()" } }, usesInheritance: true, ngImport: i0, template: "@let data = value();\n@let current = data?.current;\n@let metrics = data?.metrics;\n@let forecast = data?.forecast;\n@let loading = showLoadingIndicator();\n\n@if (loading) {\n <si-weather-widget-skeleton />\n} @else if (current) {\n @if (isCompact()) {\n <div class=\"si-weather-widget-today\">\n <si-weather-widget-illustration\n size=\"sm\"\n [illustration]=\"current.illustration\"\n [condition]=\"current.condition\"\n [altFallback]=\"current.illustrationAlt\"\n />\n <div class=\"si-weather-widget-today-info\">\n @if (location()) {\n <div class=\"si-weather-widget-location\">{{ location() | translate }}</div>\n }\n <ng-container *ngTemplateOutlet=\"rangeTpl; context: { $implicit: current }\" />\n </div>\n </div>\n } @else {\n <div class=\"si-weather-widget-today\">\n <div class=\"si-weather-widget-temperature\">{{ current.temperature }}</div>\n <div class=\"si-weather-widget-today-info\">\n <si-weather-widget-illustration\n size=\"lg\"\n [illustration]=\"current.illustration\"\n [condition]=\"current.condition\"\n [altFallback]=\"current.illustrationAlt\"\n />\n @if (current.condition) {\n <div class=\"si-weather-widget-condition\">{{ current.condition | translate }}</div>\n }\n <ng-container *ngTemplateOutlet=\"rangeTpl; context: { $implicit: current }\" />\n </div>\n </div>\n }\n\n @if (metrics?.length) {\n <ul class=\"si-weather-widget-metrics\" [attr.aria-label]=\"metricsLabel() | translate\">\n @for (metric of metrics; track $index) {\n <li class=\"si-weather-widget-metric\">\n <span class=\"si-weather-widget-metric-label\">{{ metric.label | translate }}</span>\n <span class=\"si-weather-widget-metric-value\">{{ metric.value }}</span>\n </li>\n }\n </ul>\n }\n\n @if (!isCompact() && forecast && forecast.days.length) {\n <si-weather-widget-forecast\n [forecast]=\"forecast\"\n [layout]=\"layout() === 'horizontal' ? 'horizontal' : 'vertical'\"\n [forecastLabel]=\"forecastLabel()\"\n />\n }\n}\n\n<ng-template #rangeTpl let-c siWeatherRangeDef>\n @if (c.minTemperature !== undefined || c.maxTemperature !== undefined) {\n <div class=\"si-weather-widget-range\">\n @if (c.minTemperature !== undefined) {\n <span class=\"si-weather-widget-range-min\">{{ c.minTemperature }}</span>\n }\n @if (c.maxTemperature !== undefined) {\n <span class=\"si-weather-widget-range-max\">{{ c.maxTemperature }}</span>\n }\n </div>\n }\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;gap:var(--si-sys-sizing-spacing-y-90) var(--si-sys-sizing-spacing-x-90);block-size:100%}.si-weather-widget-condition,:host.si-weather-widget-vertical .si-weather-widget-range,:host.si-weather-widget-horizontal .si-weather-widget-range{font-size:var(--si-sys-typography-font-size-body-lg);font-weight:400;line-height:var(--si-sys-typography-line-height-body-lg)}.si-weather-widget-today{display:flex;align-items:start;gap:var(--si-sys-sizing-spacing-y-40) var(--si-sys-sizing-spacing-x-40)}:host.si-weather-widget-vertical .si-weather-widget-today,:host.si-weather-widget-horizontal .si-weather-widget-today{justify-content:space-between}:host.si-weather-widget-vertical .si-weather-widget-today-info,:host.si-weather-widget-horizontal .si-weather-widget-today-info{align-items:flex-end;text-align:end}.si-weather-widget-today-info{display:flex;flex-direction:column;gap:var(--si-sys-sizing-spacing-y-10) var(--si-sys-sizing-spacing-x-10);min-inline-size:0}.si-weather-widget-temperature{font-size:var(--si-sys-typography-font-size-display-xl);font-weight:400;line-height:var(--si-sys-typography-line-height-display-xl);color:var(--si-sys-text-primary)}.si-weather-widget-condition{color:var(--si-sys-text-primary)}.si-weather-widget-location{font-weight:600;color:var(--si-sys-text-primary)}.si-weather-widget-range{display:flex;gap:var(--si-sys-sizing-spacing-y-20) var(--si-sys-sizing-spacing-x-20)}.si-weather-widget-range-min{color:var(--si-sys-text-secondary)}.si-weather-widget-range-max{color:var(--si-sys-text-primary);font-weight:600}.si-weather-widget-metrics{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--si-sys-sizing-spacing-y-40) var(--si-sys-sizing-spacing-x-40);margin-block:0;inline-size:100%}.si-weather-widget-metric{display:flex;align-items:baseline;justify-content:space-between;gap:var(--si-sys-sizing-spacing-y-40) var(--si-sys-sizing-spacing-x-40)}.si-weather-widget-metric-label{color:var(--si-sys-text-secondary)}.si-weather-widget-metric-value{color:var(--si-sys-text-primary);font-weight:600;text-align:end}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: SiWeatherRangeDefDirective, selector: "[siWeatherRangeDef]" }, { kind: "component", type: SiWeatherWidgetForecastComponent, selector: "si-weather-widget-forecast", inputs: ["forecast", "layout", "forecastLabel"] }, { kind: "component", type: SiWeatherWidgetIllustrationComponent, selector: "si-weather-widget-illustration", inputs: ["illustration", "condition", "altFallback", "size"] }, { kind: "component", type: SiWeatherWidgetSkeletonComponent, selector: "si-weather-widget-skeleton" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
1501
1599
  }
1502
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiWeatherWidgetBodyComponent, decorators: [{
1600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiWeatherWidgetBodyComponent, decorators: [{
1503
1601
  type: Component,
1504
1602
  args: [{ selector: 'si-weather-widget-body', imports: [
1505
1603
  NgTemplateOutlet,
@@ -1508,7 +1606,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
1508
1606
  SiWeatherWidgetForecastComponent,
1509
1607
  SiWeatherWidgetIllustrationComponent,
1510
1608
  SiWeatherWidgetSkeletonComponent
1511
- ], changeDetection: ChangeDetectionStrategy.OnPush, host: { '[class]': 'layoutClass()' }, template: "@let data = value();\n@let current = data?.current;\n@let metrics = data?.metrics;\n@let forecast = data?.forecast;\n@let loading = showLoadingIndicator();\n\n@if (loading) {\n <si-weather-widget-skeleton />\n} @else if (current) {\n @if (isCompact()) {\n <div class=\"si-weather-widget-today\">\n <si-weather-widget-illustration\n size=\"sm\"\n [illustration]=\"current.illustration\"\n [condition]=\"current.condition\"\n [altFallback]=\"current.illustrationAlt\"\n />\n <div class=\"si-weather-widget-today-info\">\n @if (location()) {\n <div class=\"si-weather-widget-location\">{{ location() | translate }}</div>\n }\n <ng-container *ngTemplateOutlet=\"rangeTpl; context: { $implicit: current }\" />\n </div>\n </div>\n } @else {\n <div class=\"si-weather-widget-today\">\n <div class=\"si-weather-widget-temperature\">{{ current.temperature }}</div>\n <div class=\"si-weather-widget-today-info\">\n <si-weather-widget-illustration\n size=\"lg\"\n [illustration]=\"current.illustration\"\n [condition]=\"current.condition\"\n [altFallback]=\"current.illustrationAlt\"\n />\n @if (current.condition) {\n <div class=\"si-weather-widget-condition\">{{ current.condition | translate }}</div>\n }\n <ng-container *ngTemplateOutlet=\"rangeTpl; context: { $implicit: current }\" />\n </div>\n </div>\n }\n\n @if (metrics?.length) {\n <ul class=\"si-weather-widget-metrics\" [attr.aria-label]=\"metricsLabel() | translate\">\n @for (metric of metrics; track $index) {\n <li class=\"si-weather-widget-metric\">\n <span class=\"si-weather-widget-metric-label\">{{ metric.label | translate }}</span>\n <span class=\"si-weather-widget-metric-value\">{{ metric.value }}</span>\n </li>\n }\n </ul>\n }\n\n @if (!isCompact() && forecast && forecast.days.length) {\n <si-weather-widget-forecast\n [forecast]=\"forecast\"\n [layout]=\"layout() === 'horizontal' ? 'horizontal' : 'vertical'\"\n [forecastLabel]=\"forecastLabel()\"\n />\n }\n}\n\n<ng-template #rangeTpl let-c siWeatherRangeDef>\n @if (c.minTemperature !== undefined || c.maxTemperature !== undefined) {\n <div class=\"si-weather-widget-range\">\n @if (c.minTemperature !== undefined) {\n <span class=\"si-weather-widget-range-min\">{{ c.minTemperature }}</span>\n }\n @if (c.maxTemperature !== undefined) {\n <span class=\"si-weather-widget-range-max\">{{ c.maxTemperature }}</span>\n }\n </div>\n }\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;gap:32px;block-size:100%}.si-weather-widget-condition,:host.si-weather-widget-vertical .si-weather-widget-range,:host.si-weather-widget-horizontal .si-weather-widget-range{font-size:1rem;font-weight:400;line-height:1.25}.si-weather-widget-today{display:flex;align-items:start;gap:8px}:host.si-weather-widget-vertical .si-weather-widget-today,:host.si-weather-widget-horizontal .si-weather-widget-today{justify-content:space-between}:host.si-weather-widget-vertical .si-weather-widget-today-info,:host.si-weather-widget-horizontal .si-weather-widget-today-info{align-items:flex-end;text-align:end}.si-weather-widget-today-info{display:flex;flex-direction:column;gap:2px;min-inline-size:0}.si-weather-widget-temperature{font-size:3.5rem;font-weight:400;line-height:1.2857142857;color:var(--element-text-primary)}.si-weather-widget-condition{color:var(--element-text-primary)}.si-weather-widget-location{font-weight:600;color:var(--element-text-primary)}.si-weather-widget-range{display:flex;gap:4px}.si-weather-widget-range-min{color:var(--element-text-secondary)}.si-weather-widget-range-max{color:var(--element-text-primary);font-weight:600}.si-weather-widget-metrics{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px;margin-block:0;inline-size:100%}.si-weather-widget-metric{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.si-weather-widget-metric-label{color:var(--element-text-secondary)}.si-weather-widget-metric-value{color:var(--element-text-primary);font-weight:600;text-align:end}\n"] }]
1609
+ ], host: { '[class]': 'layoutClass()' }, template: "@let data = value();\n@let current = data?.current;\n@let metrics = data?.metrics;\n@let forecast = data?.forecast;\n@let loading = showLoadingIndicator();\n\n@if (loading) {\n <si-weather-widget-skeleton />\n} @else if (current) {\n @if (isCompact()) {\n <div class=\"si-weather-widget-today\">\n <si-weather-widget-illustration\n size=\"sm\"\n [illustration]=\"current.illustration\"\n [condition]=\"current.condition\"\n [altFallback]=\"current.illustrationAlt\"\n />\n <div class=\"si-weather-widget-today-info\">\n @if (location()) {\n <div class=\"si-weather-widget-location\">{{ location() | translate }}</div>\n }\n <ng-container *ngTemplateOutlet=\"rangeTpl; context: { $implicit: current }\" />\n </div>\n </div>\n } @else {\n <div class=\"si-weather-widget-today\">\n <div class=\"si-weather-widget-temperature\">{{ current.temperature }}</div>\n <div class=\"si-weather-widget-today-info\">\n <si-weather-widget-illustration\n size=\"lg\"\n [illustration]=\"current.illustration\"\n [condition]=\"current.condition\"\n [altFallback]=\"current.illustrationAlt\"\n />\n @if (current.condition) {\n <div class=\"si-weather-widget-condition\">{{ current.condition | translate }}</div>\n }\n <ng-container *ngTemplateOutlet=\"rangeTpl; context: { $implicit: current }\" />\n </div>\n </div>\n }\n\n @if (metrics?.length) {\n <ul class=\"si-weather-widget-metrics\" [attr.aria-label]=\"metricsLabel() | translate\">\n @for (metric of metrics; track $index) {\n <li class=\"si-weather-widget-metric\">\n <span class=\"si-weather-widget-metric-label\">{{ metric.label | translate }}</span>\n <span class=\"si-weather-widget-metric-value\">{{ metric.value }}</span>\n </li>\n }\n </ul>\n }\n\n @if (!isCompact() && forecast && forecast.days.length) {\n <si-weather-widget-forecast\n [forecast]=\"forecast\"\n [layout]=\"layout() === 'horizontal' ? 'horizontal' : 'vertical'\"\n [forecastLabel]=\"forecastLabel()\"\n />\n }\n}\n\n<ng-template #rangeTpl let-c siWeatherRangeDef>\n @if (c.minTemperature !== undefined || c.maxTemperature !== undefined) {\n <div class=\"si-weather-widget-range\">\n @if (c.minTemperature !== undefined) {\n <span class=\"si-weather-widget-range-min\">{{ c.minTemperature }}</span>\n }\n @if (c.maxTemperature !== undefined) {\n <span class=\"si-weather-widget-range-max\">{{ c.maxTemperature }}</span>\n }\n </div>\n }\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;gap:var(--si-sys-sizing-spacing-y-90) var(--si-sys-sizing-spacing-x-90);block-size:100%}.si-weather-widget-condition,:host.si-weather-widget-vertical .si-weather-widget-range,:host.si-weather-widget-horizontal .si-weather-widget-range{font-size:var(--si-sys-typography-font-size-body-lg);font-weight:400;line-height:var(--si-sys-typography-line-height-body-lg)}.si-weather-widget-today{display:flex;align-items:start;gap:var(--si-sys-sizing-spacing-y-40) var(--si-sys-sizing-spacing-x-40)}:host.si-weather-widget-vertical .si-weather-widget-today,:host.si-weather-widget-horizontal .si-weather-widget-today{justify-content:space-between}:host.si-weather-widget-vertical .si-weather-widget-today-info,:host.si-weather-widget-horizontal .si-weather-widget-today-info{align-items:flex-end;text-align:end}.si-weather-widget-today-info{display:flex;flex-direction:column;gap:var(--si-sys-sizing-spacing-y-10) var(--si-sys-sizing-spacing-x-10);min-inline-size:0}.si-weather-widget-temperature{font-size:var(--si-sys-typography-font-size-display-xl);font-weight:400;line-height:var(--si-sys-typography-line-height-display-xl);color:var(--si-sys-text-primary)}.si-weather-widget-condition{color:var(--si-sys-text-primary)}.si-weather-widget-location{font-weight:600;color:var(--si-sys-text-primary)}.si-weather-widget-range{display:flex;gap:var(--si-sys-sizing-spacing-y-20) var(--si-sys-sizing-spacing-x-20)}.si-weather-widget-range-min{color:var(--si-sys-text-secondary)}.si-weather-widget-range-max{color:var(--si-sys-text-primary);font-weight:600}.si-weather-widget-metrics{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--si-sys-sizing-spacing-y-40) var(--si-sys-sizing-spacing-x-40);margin-block:0;inline-size:100%}.si-weather-widget-metric{display:flex;align-items:baseline;justify-content:space-between;gap:var(--si-sys-sizing-spacing-y-40) var(--si-sys-sizing-spacing-x-40)}.si-weather-widget-metric-label{color:var(--si-sys-text-secondary)}.si-weather-widget-metric-value{color:var(--si-sys-text-primary);font-weight:600;text-align:end}\n"] }]
1512
1610
  }], propDecorators: { layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: false }] }], location: [{ type: i0.Input, args: [{ isSignal: true, alias: "location", required: false }] }], metricsLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "metricsLabel", required: false }] }], forecastLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "forecastLabel", required: false }] }] } });
1513
1611
 
1514
1612
  /**
@@ -1543,93 +1641,109 @@ class SiWeatherWidgetComponent {
1543
1641
  * layouts. In the `compact` layout, the location is rendered inside the body
1544
1642
  * instead and this input is ignored.
1545
1643
  */
1546
- heading = input(...(ngDevMode ? [undefined, { debugName: "heading" }] : []));
1644
+ heading = input(/* @ts-ignore */
1645
+ ...(ngDevMode ? [undefined, { debugName: "heading" }] : /* istanbul ignore next */ []));
1547
1646
  /**
1548
1647
  * Location displayed next to the illustration in the `compact` layout. Has
1549
1648
  * no effect in `vertical` or `horizontal` layouts; use {@link heading} there.
1550
1649
  */
1551
- location = input(...(ngDevMode ? [undefined, { debugName: "location" }] : []));
1650
+ location = input(/* @ts-ignore */
1651
+ ...(ngDevMode ? [undefined, { debugName: "location" }] : /* istanbul ignore next */ []));
1552
1652
  /**
1553
1653
  * Visual layout. {@link SiWeatherWidgetLayout}.
1554
1654
  *
1555
1655
  * @defaultValue 'vertical'
1556
1656
  */
1557
- layout = input('vertical', ...(ngDevMode ? [{ debugName: "layout" }] : []));
1657
+ layout = input('vertical', /* @ts-ignore */
1658
+ ...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
1558
1659
  /**
1559
1660
  * Composite weather payload of type {@link SiWeatherWidgetData}.
1560
1661
  */
1561
- value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
1662
+ value = input(/* @ts-ignore */
1663
+ ...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
1562
1664
  /**
1563
1665
  * Input list of primary action items. Supports up to **4** actions and omits additional ones.
1564
1666
  *
1565
1667
  * @defaultValue []
1566
1668
  */
1567
- primaryActions = input([], ...(ngDevMode ? [{ debugName: "primaryActions" }] : []));
1669
+ primaryActions = input([], /* @ts-ignore */
1670
+ ...(ngDevMode ? [{ debugName: "primaryActions" }] : /* istanbul ignore next */ []));
1568
1671
  /**
1569
1672
  * Input list of secondary action items.
1570
1673
  *
1571
1674
  * @defaultValue []
1572
1675
  */
1573
- secondaryActions = input([], ...(ngDevMode ? [{ debugName: "secondaryActions" }] : []));
1676
+ secondaryActions = input([], /* @ts-ignore */
1677
+ ...(ngDevMode ? [{ debugName: "secondaryActions" }] : /* istanbul ignore next */ []));
1574
1678
  /**
1575
1679
  * Option to disable automatic start of skeleton loading indication.
1576
1680
  *
1577
1681
  * @defaultValue false
1578
1682
  */
1579
- disableAutoLoadingIndicator = input(false, { ...(ngDevMode ? { debugName: "disableAutoLoadingIndicator" } : {}), transform: booleanAttribute });
1683
+ disableAutoLoadingIndicator = input(false, { ...(ngDevMode ? { debugName: "disableAutoLoadingIndicator" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1580
1684
  /**
1581
1685
  * Input to start and stop the skeleton loading indication.
1582
1686
  *
1583
1687
  * @defaultValue false
1584
1688
  */
1585
- showLoadingIndicator = input(false, { ...(ngDevMode ? { debugName: "showLoadingIndicator" } : {}), transform: booleanAttribute });
1689
+ showLoadingIndicator = input(false, { ...(ngDevMode ? { debugName: "showLoadingIndicator" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1586
1690
  /**
1587
1691
  * Initial delay time in milliseconds before enabling loading indicator.
1588
1692
  * Only used once initially during construction.
1589
1693
  *
1590
1694
  * @defaultValue 300
1591
1695
  */
1592
- initialLoadingIndicatorDebounceTime = input(300, ...(ngDevMode ? [{ debugName: "initialLoadingIndicatorDebounceTime" }] : []));
1696
+ initialLoadingIndicatorDebounceTime = input(300, /* @ts-ignore */
1697
+ ...(ngDevMode ? [{ debugName: "initialLoadingIndicatorDebounceTime" }] : /* istanbul ignore next */ []));
1593
1698
  /**
1594
1699
  * Image source for the card.
1595
1700
  */
1596
- imgSrc = input(...(ngDevMode ? [undefined, { debugName: "imgSrc" }] : []));
1701
+ imgSrc = input(/* @ts-ignore */
1702
+ ...(ngDevMode ? [undefined, { debugName: "imgSrc" }] : /* istanbul ignore next */ []));
1597
1703
  /**
1598
1704
  * Alt text for a provided image.
1599
1705
  */
1600
- imgAlt = input(...(ngDevMode ? [undefined, { debugName: "imgAlt" }] : []));
1706
+ imgAlt = input(/* @ts-ignore */
1707
+ ...(ngDevMode ? [undefined, { debugName: "imgAlt" }] : /* istanbul ignore next */ []));
1601
1708
  /**
1602
1709
  * Defines if an image is placed on top or start (left) of the card.
1603
1710
  *
1604
1711
  * @defaultValue 'vertical'
1605
1712
  */
1606
- imgDir = input('vertical', ...(ngDevMode ? [{ debugName: "imgDir" }] : []));
1713
+ imgDir = input('vertical', /* @ts-ignore */
1714
+ ...(ngDevMode ? [{ debugName: "imgDir" }] : /* istanbul ignore next */ []));
1607
1715
  /**
1608
1716
  * Sets the image [object-fit](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit) CSS property.
1609
1717
  *
1610
1718
  * @defaultValue 'scale-down'
1611
1719
  */
1612
- imgObjectFit = input('scale-down', ...(ngDevMode ? [{ debugName: "imgObjectFit" }] : []));
1720
+ imgObjectFit = input('scale-down', /* @ts-ignore */
1721
+ ...(ngDevMode ? [{ debugName: "imgObjectFit" }] : /* istanbul ignore next */ []));
1613
1722
  /**
1614
1723
  * Sets the image [object-position](https://developer.mozilla.org/en-US/docs/Web/CSS/object-position) CSS property.
1615
1724
  */
1616
- imgObjectPosition = input(...(ngDevMode ? [undefined, { debugName: "imgObjectPosition" }] : []));
1725
+ imgObjectPosition = input(/* @ts-ignore */
1726
+ ...(ngDevMode ? [undefined, { debugName: "imgObjectPosition" }] : /* istanbul ignore next */ []));
1617
1727
  /**
1618
1728
  * Optional accent line.
1619
1729
  */
1620
- accentLine = input(...(ngDevMode ? [undefined, { debugName: "accentLine" }] : []));
1730
+ accentLine = input(/* @ts-ignore */
1731
+ ...(ngDevMode ? [undefined, { debugName: "accentLine" }] : /* istanbul ignore next */ []));
1621
1732
  accentClass = computed(() => {
1622
1733
  const accentLine = this.accentLine();
1623
1734
  return accentLine ? 'accent-' + accentLine : '';
1624
- }, ...(ngDevMode ? [{ debugName: "accentClass" }] : []));
1625
- cardHeading = computed(() => this.layout() === 'compact' ? undefined : this.heading(), ...(ngDevMode ? [{ debugName: "cardHeading" }] : []));
1626
- bodyLocation = computed(() => this.layout() === 'compact' ? this.location() : undefined, ...(ngDevMode ? [{ debugName: "bodyLocation" }] : []));
1627
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiWeatherWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1628
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: SiWeatherWidgetComponent, isStandalone: true, selector: "si-weather-widget", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, location: { classPropertyName: "location", publicName: "location", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, primaryActions: { classPropertyName: "primaryActions", publicName: "primaryActions", isSignal: true, isRequired: false, transformFunction: null }, secondaryActions: { classPropertyName: "secondaryActions", publicName: "secondaryActions", isSignal: true, isRequired: false, transformFunction: null }, disableAutoLoadingIndicator: { classPropertyName: "disableAutoLoadingIndicator", publicName: "disableAutoLoadingIndicator", isSignal: true, isRequired: false, transformFunction: null }, showLoadingIndicator: { classPropertyName: "showLoadingIndicator", publicName: "showLoadingIndicator", isSignal: true, isRequired: false, transformFunction: null }, initialLoadingIndicatorDebounceTime: { classPropertyName: "initialLoadingIndicatorDebounceTime", publicName: "initialLoadingIndicatorDebounceTime", isSignal: true, isRequired: false, transformFunction: null }, imgSrc: { classPropertyName: "imgSrc", publicName: "imgSrc", isSignal: true, isRequired: false, transformFunction: null }, imgAlt: { classPropertyName: "imgAlt", publicName: "imgAlt", isSignal: true, isRequired: false, transformFunction: null }, imgDir: { classPropertyName: "imgDir", publicName: "imgDir", isSignal: true, isRequired: false, transformFunction: null }, imgObjectFit: { classPropertyName: "imgObjectFit", publicName: "imgObjectFit", isSignal: true, isRequired: false, transformFunction: null }, imgObjectPosition: { classPropertyName: "imgObjectPosition", publicName: "imgObjectPosition", isSignal: true, isRequired: false, transformFunction: null }, accentLine: { classPropertyName: "accentLine", publicName: "accentLine", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "si-weather-widget" }, ngImport: i0, template: "<si-card\n class=\"h-100\"\n [class]=\"accentClass()\"\n [heading]=\"cardHeading()\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n [imgSrc]=\"imgSrc()\"\n [imgDir]=\"imgDir()\"\n [imgAlt]=\"imgAlt()\"\n [imgObjectFit]=\"imgObjectFit()\"\n [imgObjectPosition]=\"imgObjectPosition()\"\n>\n <div class=\"card-body\" body>\n <si-weather-widget-body\n [layout]=\"layout()\"\n [value]=\"value()\"\n [location]=\"bodyLocation()\"\n [disableAutoLoadingIndicator]=\"disableAutoLoadingIndicator()\"\n [showLoadingIndicator]=\"showLoadingIndicator()\"\n [initialLoadingIndicatorDebounceTime]=\"initialLoadingIndicatorDebounceTime()\"\n />\n </div>\n</si-card>\n", dependencies: [{ kind: "component", type: SiCardComponent, selector: "si-card", inputs: ["primaryActions", "secondaryActions", "actionParam", "actionBarViewType", "actionBarTitle"] }, { kind: "component", type: SiWeatherWidgetBodyComponent, selector: "si-weather-widget-body", inputs: ["layout", "location", "metricsLabel", "forecastLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1735
+ }, /* @ts-ignore */
1736
+ ...(ngDevMode ? [{ debugName: "accentClass" }] : /* istanbul ignore next */ []));
1737
+ cardHeading = computed(() => this.layout() === 'compact' ? undefined : this.heading(), /* @ts-ignore */
1738
+ ...(ngDevMode ? [{ debugName: "cardHeading" }] : /* istanbul ignore next */ []));
1739
+ bodyLocation = computed(() => this.layout() === 'compact' ? this.location() : undefined, /* @ts-ignore */
1740
+ ...(ngDevMode ? [{ debugName: "bodyLocation" }] : /* istanbul ignore next */ []));
1741
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiWeatherWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1742
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.8", type: SiWeatherWidgetComponent, isStandalone: true, selector: "si-weather-widget", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, location: { classPropertyName: "location", publicName: "location", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, primaryActions: { classPropertyName: "primaryActions", publicName: "primaryActions", isSignal: true, isRequired: false, transformFunction: null }, secondaryActions: { classPropertyName: "secondaryActions", publicName: "secondaryActions", isSignal: true, isRequired: false, transformFunction: null }, disableAutoLoadingIndicator: { classPropertyName: "disableAutoLoadingIndicator", publicName: "disableAutoLoadingIndicator", isSignal: true, isRequired: false, transformFunction: null }, showLoadingIndicator: { classPropertyName: "showLoadingIndicator", publicName: "showLoadingIndicator", isSignal: true, isRequired: false, transformFunction: null }, initialLoadingIndicatorDebounceTime: { classPropertyName: "initialLoadingIndicatorDebounceTime", publicName: "initialLoadingIndicatorDebounceTime", isSignal: true, isRequired: false, transformFunction: null }, imgSrc: { classPropertyName: "imgSrc", publicName: "imgSrc", isSignal: true, isRequired: false, transformFunction: null }, imgAlt: { classPropertyName: "imgAlt", publicName: "imgAlt", isSignal: true, isRequired: false, transformFunction: null }, imgDir: { classPropertyName: "imgDir", publicName: "imgDir", isSignal: true, isRequired: false, transformFunction: null }, imgObjectFit: { classPropertyName: "imgObjectFit", publicName: "imgObjectFit", isSignal: true, isRequired: false, transformFunction: null }, imgObjectPosition: { classPropertyName: "imgObjectPosition", publicName: "imgObjectPosition", isSignal: true, isRequired: false, transformFunction: null }, accentLine: { classPropertyName: "accentLine", publicName: "accentLine", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "si-weather-widget" }, ngImport: i0, template: "<si-card\n class=\"h-100\"\n [class]=\"accentClass()\"\n [heading]=\"cardHeading()\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n [imgSrc]=\"imgSrc()\"\n [imgDir]=\"imgDir()\"\n [imgAlt]=\"imgAlt()\"\n [imgObjectFit]=\"imgObjectFit()\"\n [imgObjectPosition]=\"imgObjectPosition()\"\n>\n <div class=\"card-body\" body>\n <si-weather-widget-body\n [layout]=\"layout()\"\n [value]=\"value()\"\n [location]=\"bodyLocation()\"\n [disableAutoLoadingIndicator]=\"disableAutoLoadingIndicator()\"\n [showLoadingIndicator]=\"showLoadingIndicator()\"\n [initialLoadingIndicatorDebounceTime]=\"initialLoadingIndicatorDebounceTime()\"\n />\n </div>\n</si-card>\n", dependencies: [{ kind: "component", type: SiCardComponent, selector: "si-card", inputs: ["primaryActions", "secondaryActions", "actionParam", "actionBarViewType", "actionBarTitle"] }, { kind: "component", type: SiWeatherWidgetBodyComponent, selector: "si-weather-widget-body", inputs: ["layout", "location", "metricsLabel", "forecastLabel"] }] });
1629
1743
  }
1630
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiWeatherWidgetComponent, decorators: [{
1744
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiWeatherWidgetComponent, decorators: [{
1631
1745
  type: Component,
1632
- args: [{ selector: 'si-weather-widget', imports: [SiCardComponent, SiWeatherWidgetBodyComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'si-weather-widget' }, template: "<si-card\n class=\"h-100\"\n [class]=\"accentClass()\"\n [heading]=\"cardHeading()\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n [imgSrc]=\"imgSrc()\"\n [imgDir]=\"imgDir()\"\n [imgAlt]=\"imgAlt()\"\n [imgObjectFit]=\"imgObjectFit()\"\n [imgObjectPosition]=\"imgObjectPosition()\"\n>\n <div class=\"card-body\" body>\n <si-weather-widget-body\n [layout]=\"layout()\"\n [value]=\"value()\"\n [location]=\"bodyLocation()\"\n [disableAutoLoadingIndicator]=\"disableAutoLoadingIndicator()\"\n [showLoadingIndicator]=\"showLoadingIndicator()\"\n [initialLoadingIndicatorDebounceTime]=\"initialLoadingIndicatorDebounceTime()\"\n />\n </div>\n</si-card>\n" }]
1746
+ args: [{ selector: 'si-weather-widget', imports: [SiCardComponent, SiWeatherWidgetBodyComponent], host: { class: 'si-weather-widget' }, template: "<si-card\n class=\"h-100\"\n [class]=\"accentClass()\"\n [heading]=\"cardHeading()\"\n [primaryActions]=\"primaryActions()\"\n [secondaryActions]=\"secondaryActions()\"\n [imgSrc]=\"imgSrc()\"\n [imgDir]=\"imgDir()\"\n [imgAlt]=\"imgAlt()\"\n [imgObjectFit]=\"imgObjectFit()\"\n [imgObjectPosition]=\"imgObjectPosition()\"\n>\n <div class=\"card-body\" body>\n <si-weather-widget-body\n [layout]=\"layout()\"\n [value]=\"value()\"\n [location]=\"bodyLocation()\"\n [disableAutoLoadingIndicator]=\"disableAutoLoadingIndicator()\"\n [showLoadingIndicator]=\"showLoadingIndicator()\"\n [initialLoadingIndicatorDebounceTime]=\"initialLoadingIndicatorDebounceTime()\"\n />\n </div>\n</si-card>\n" }]
1633
1747
  }], propDecorators: { heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], location: [{ type: i0.Input, args: [{ isSignal: true, alias: "location", required: false }] }], layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], primaryActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "primaryActions", required: false }] }], secondaryActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "secondaryActions", required: false }] }], disableAutoLoadingIndicator: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableAutoLoadingIndicator", required: false }] }], showLoadingIndicator: [{ type: i0.Input, args: [{ isSignal: true, alias: "showLoadingIndicator", required: false }] }], initialLoadingIndicatorDebounceTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialLoadingIndicatorDebounceTime", required: false }] }], imgSrc: [{ type: i0.Input, args: [{ isSignal: true, alias: "imgSrc", required: false }] }], imgAlt: [{ type: i0.Input, args: [{ isSignal: true, alias: "imgAlt", required: false }] }], imgDir: [{ type: i0.Input, args: [{ isSignal: true, alias: "imgDir", required: false }] }], imgObjectFit: [{ type: i0.Input, args: [{ isSignal: true, alias: "imgObjectFit", required: false }] }], imgObjectPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "imgObjectPosition", required: false }] }], accentLine: [{ type: i0.Input, args: [{ isSignal: true, alias: "accentLine", required: false }] }] } });
1634
1748
 
1635
1749
  /**