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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/README.md +1 -1
  2. package/fesm2022/siemens-element-ng-about.mjs +41 -25
  3. package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
  4. package/fesm2022/siemens-element-ng-accordion.mjs +59 -41
  5. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  6. package/fesm2022/siemens-element-ng-action-modal.mjs +83 -53
  7. package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
  8. package/fesm2022/siemens-element-ng-ag-grid.mjs +143 -148
  9. package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
  10. package/fesm2022/siemens-element-ng-application-header.mjs +180 -188
  11. package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
  12. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +34 -28
  13. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
  14. package/fesm2022/siemens-element-ng-autocomplete.mjs +27 -22
  15. package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
  16. package/fesm2022/siemens-element-ng-avatar.mjs +34 -24
  17. package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
  18. package/fesm2022/siemens-element-ng-badge.mjs +9 -8
  19. package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
  20. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +17 -14
  21. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
  22. package/fesm2022/siemens-element-ng-breadcrumb.mjs +21 -17
  23. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  24. package/fesm2022/siemens-element-ng-card.mjs +72 -47
  25. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  26. package/fesm2022/siemens-element-ng-carousel.mjs +58 -34
  27. package/fesm2022/siemens-element-ng-carousel.mjs.map +1 -1
  28. package/fesm2022/siemens-element-ng-chat-messages.mjs +323 -215
  29. package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
  30. package/fesm2022/siemens-element-ng-circle-status.mjs +39 -25
  31. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  32. package/fesm2022/siemens-element-ng-color-picker.mjs +44 -34
  33. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
  34. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +58 -37
  35. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
  36. package/fesm2022/siemens-element-ng-common.mjs +22 -22
  37. package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
  38. package/fesm2022/siemens-element-ng-connection-strength.mjs +14 -12
  39. package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
  40. package/fesm2022/siemens-element-ng-content-action-bar.mjs +37 -28
  41. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  42. package/fesm2022/siemens-element-ng-copyright-notice.mjs +19 -14
  43. package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
  44. package/fesm2022/siemens-element-ng-dashboard.mjs +337 -223
  45. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  46. package/fesm2022/siemens-element-ng-datatable.mjs +12 -15
  47. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
  48. package/fesm2022/siemens-element-ng-date-range-filter.mjs +126 -76
  49. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  50. package/fesm2022/siemens-element-ng-datepicker.mjs +393 -251
  51. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  52. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +22 -17
  53. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
  54. package/fesm2022/siemens-element-ng-empty-state.mjs +15 -12
  55. package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
  56. package/fesm2022/siemens-element-ng-file-uploader.mjs +105 -91
  57. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  58. package/fesm2022/siemens-element-ng-filter-bar.mjs +33 -25
  59. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  60. package/fesm2022/siemens-element-ng-filtered-search.mjs +274 -165
  61. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  62. package/fesm2022/siemens-element-ng-footer.mjs +12 -10
  63. package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
  64. package/fesm2022/siemens-element-ng-form.mjs +361 -116
  65. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  66. package/fesm2022/siemens-element-ng-formly-legacy.mjs +99 -0
  67. package/fesm2022/siemens-element-ng-formly-legacy.mjs.map +1 -0
  68. package/fesm2022/siemens-element-ng-formly.mjs +224 -318
  69. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  70. package/fesm2022/siemens-element-ng-header-dropdown.mjs +40 -30
  71. package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
  72. package/fesm2022/siemens-element-ng-help-button.mjs +6 -6
  73. package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
  74. package/fesm2022/siemens-element-ng-icon.mjs +56 -57
  75. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  76. package/fesm2022/siemens-element-ng-info-page.mjs +17 -11
  77. package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
  78. package/fesm2022/siemens-element-ng-inline-notification.mjs +19 -14
  79. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  80. package/fesm2022/siemens-element-ng-ip-input.mjs +19 -15
  81. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
  82. package/fesm2022/siemens-element-ng-landing-page.mjs +121 -75
  83. package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
  84. package/fesm2022/siemens-element-ng-language-switcher.mjs +16 -12
  85. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
  86. package/fesm2022/siemens-element-ng-link.mjs +31 -21
  87. package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
  88. package/fesm2022/siemens-element-ng-list-details.mjs +132 -66
  89. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  90. package/fesm2022/siemens-element-ng-loading-spinner.mjs +51 -64
  91. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  92. package/fesm2022/siemens-element-ng-localization.mjs +14 -12
  93. package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
  94. package/fesm2022/siemens-element-ng-main-detail-container.mjs +116 -51
  95. package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
  96. package/fesm2022/siemens-element-ng-maplibre.mjs +401 -0
  97. package/fesm2022/siemens-element-ng-maplibre.mjs.map +1 -0
  98. package/fesm2022/siemens-element-ng-markdown-directives-tabs.mjs +70 -0
  99. package/fesm2022/siemens-element-ng-markdown-directives-tabs.mjs.map +1 -0
  100. package/fesm2022/siemens-element-ng-markdown-extensions-citations.mjs +215 -0
  101. package/fesm2022/siemens-element-ng-markdown-extensions-citations.mjs.map +1 -0
  102. package/fesm2022/siemens-element-ng-markdown-extensions-katex.mjs +76 -0
  103. package/fesm2022/siemens-element-ng-markdown-extensions-katex.mjs.map +1 -0
  104. package/fesm2022/siemens-element-ng-markdown-extensions-mermaid.mjs +86 -0
  105. package/fesm2022/siemens-element-ng-markdown-extensions-mermaid.mjs.map +1 -0
  106. package/fesm2022/siemens-element-ng-markdown-hightlighter-highlightjs.mjs +130 -0
  107. package/fesm2022/siemens-element-ng-markdown-hightlighter-highlightjs.mjs.map +1 -0
  108. package/fesm2022/siemens-element-ng-markdown.mjs +800 -0
  109. package/fesm2022/siemens-element-ng-markdown.mjs.map +1 -0
  110. package/fesm2022/siemens-element-ng-menu.mjs +71 -57
  111. package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
  112. package/fesm2022/siemens-element-ng-modal.mjs +14 -11
  113. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  114. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +251 -206
  115. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
  116. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +123 -86
  117. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  118. package/fesm2022/siemens-element-ng-navbar.mjs +72 -45
  119. package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
  120. package/fesm2022/siemens-element-ng-notification-item.mjs +19 -11
  121. package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
  122. package/fesm2022/siemens-element-ng-number-input.mjs +41 -29
  123. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
  124. package/fesm2022/siemens-element-ng-pagination.mjs +31 -20
  125. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
  126. package/fesm2022/siemens-element-ng-password-strength.mjs +33 -24
  127. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
  128. package/fesm2022/siemens-element-ng-password-toggle.mjs +19 -14
  129. package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
  130. package/fesm2022/siemens-element-ng-phone-number.mjs +144 -139
  131. package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
  132. package/fesm2022/siemens-element-ng-photo-upload.mjs +85 -52
  133. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  134. package/fesm2022/siemens-element-ng-pills-input.mjs +56 -41
  135. package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
  136. package/fesm2022/siemens-element-ng-popover-legacy.mjs +43 -28
  137. package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
  138. package/fesm2022/siemens-element-ng-popover.mjs +35 -27
  139. package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
  140. package/fesm2022/siemens-element-ng-progressbar.mjs +23 -16
  141. package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
  142. package/fesm2022/siemens-element-ng-resize-observer.mjs +32 -43
  143. package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
  144. package/fesm2022/siemens-element-ng-result-details-list.mjs +12 -10
  145. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  146. package/fesm2022/siemens-element-ng-search-bar.mjs +38 -37
  147. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  148. package/fesm2022/siemens-element-ng-select.mjs +265 -170
  149. package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
  150. package/fesm2022/siemens-element-ng-shadow-root.mjs +4 -4
  151. package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -1
  152. package/fesm2022/siemens-element-ng-side-panel.mjs +181 -104
  153. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  154. package/fesm2022/siemens-element-ng-skip-links.mjs +21 -24
  155. package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
  156. package/fesm2022/siemens-element-ng-slider.mjs +45 -30
  157. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
  158. package/fesm2022/siemens-element-ng-source-chip.mjs +79 -0
  159. package/fesm2022/siemens-element-ng-source-chip.mjs.map +1 -0
  160. package/fesm2022/siemens-element-ng-split.mjs +290 -306
  161. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  162. package/fesm2022/siemens-element-ng-status-bar.mjs +66 -52
  163. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  164. package/fesm2022/siemens-element-ng-status-counter.mjs +15 -11
  165. package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
  166. package/fesm2022/siemens-element-ng-status-toggle.mjs +26 -16
  167. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
  168. package/fesm2022/siemens-element-ng-summary-chip.mjs +25 -16
  169. package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
  170. package/fesm2022/siemens-element-ng-summary-widget.mjs +27 -17
  171. package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
  172. package/fesm2022/siemens-element-ng-system-banner.mjs +13 -10
  173. package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
  174. package/fesm2022/siemens-element-ng-tabs-legacy.mjs +20 -17
  175. package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
  176. package/fesm2022/siemens-element-ng-tabs.mjs +156 -131
  177. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  178. package/fesm2022/siemens-element-ng-theme.mjs +29 -6
  179. package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
  180. package/fesm2022/siemens-element-ng-threshold.mjs +62 -42
  181. package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
  182. package/fesm2022/siemens-element-ng-toast-notification.mjs +59 -40
  183. package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
  184. package/fesm2022/siemens-element-ng-tooltip.mjs +108 -82
  185. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  186. package/fesm2022/siemens-element-ng-tour.mjs +36 -19
  187. package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
  188. package/fesm2022/siemens-element-ng-translate.mjs +0 -1
  189. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  190. package/fesm2022/siemens-element-ng-tree-view.mjs +113 -84
  191. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  192. package/fesm2022/siemens-element-ng-typeahead.mjs +69 -49
  193. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
  194. package/fesm2022/siemens-element-ng-wizard.mjs +95 -54
  195. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  196. package/formly-legacy/package.json +4 -0
  197. package/maplibre/package.json +4 -0
  198. package/maplibre/styles/_index.scss +1 -0
  199. package/maplibre/styles/maplibre-gl.scss +724 -0
  200. package/markdown/directives/tabs/package.json +4 -0
  201. package/markdown/extensions/citations/package.json +4 -0
  202. package/markdown/extensions/katex/package.json +4 -0
  203. package/markdown/extensions/mermaid/package.json +4 -0
  204. package/markdown/hightlighter/highlightjs/package.json +4 -0
  205. package/markdown/package.json +4 -0
  206. package/package.json +96 -25
  207. package/schematics/collection.json +5 -0
  208. package/schematics/{migrations/icon-path-migration → migrate-tabs-legacy}/index.js +1 -1
  209. package/schematics/migrate-tabs-legacy/migrate-tabs-legacy-rule.js +675 -0
  210. package/schematics/migrate-tabs-legacy/schema.json +14 -0
  211. package/schematics/migration.json +4 -4
  212. package/schematics/migrations/data/class-member-replacement.js +1 -19
  213. package/schematics/migrations/data/component-property-names.js +1 -25
  214. package/schematics/migrations/data/component-property-to-child.js +11 -0
  215. package/schematics/migrations/data/css-custom-properties.js +224 -0
  216. package/schematics/migrations/data/element-class-changes.js +116 -18
  217. package/schematics/migrations/data/element-migration-data.js +6 -0
  218. package/schematics/migrations/data/element-selectors.js +1 -9
  219. package/schematics/migrations/data/index.js +0 -4
  220. package/schematics/migrations/data/migration-test-data.js +49 -6
  221. package/schematics/migrations/data/provider-function-removals.js +7 -0
  222. package/schematics/migrations/data/symbol-removals.js +17 -7
  223. package/schematics/migrations/data/symbol-renaming.js +3 -44
  224. package/schematics/migrations/element-migration/element-migration.js +6 -6
  225. package/schematics/migrations/utilities/component-property-to-child.migration.js +73 -0
  226. package/schematics/migrations/utilities/css-custom-property.migration.js +51 -0
  227. package/schematics/migrations/utilities/element-class-change.migration.js +10 -5
  228. package/schematics/migrations/utilities/import-removal.js +39 -0
  229. package/schematics/migrations/utilities/index.js +4 -0
  230. package/schematics/migrations/utilities/provider-function-removal.migration.js +116 -0
  231. package/schematics/ng-update/index.js +1 -1
  232. package/schematics/ng-update/migrate-content-formatter.js +288 -0
  233. package/schematics/ng-update/migrate-list-details-units.js +86 -0
  234. package/schematics/ng-update/migrate-main-detail-units.js +89 -0
  235. package/schematics/ng-update/migrate-markdown-renderer.js +106 -0
  236. package/schematics/ng-update/migrate-spacers.js +32 -0
  237. package/schematics/ng-update/migrate-split-collapse.js +276 -0
  238. package/schematics/ng-update/migrate-split-scale.js +524 -0
  239. package/schematics/ng-update/migrate-split-sizes.js +107 -0
  240. package/schematics/ng-update/migrate-to-v51.js +35 -0
  241. package/schematics/utils/index.js +1 -0
  242. package/schematics/utils/template-edit-utils.js +35 -0
  243. package/schematics/utils/template-utils.js +31 -45
  244. package/source-chip/package.json +4 -0
  245. package/template-i18n.json +78 -47
  246. package/types/siemens-element-ng-application-header.d.ts +7 -33
  247. package/types/siemens-element-ng-avatar.d.ts +1 -1
  248. package/types/siemens-element-ng-breadcrumb.d.ts +1 -1
  249. package/types/siemens-element-ng-chat-messages.d.ts +118 -70
  250. package/types/siemens-element-ng-circle-status.d.ts +1 -1
  251. package/types/siemens-element-ng-content-action-bar.d.ts +1 -1
  252. package/types/siemens-element-ng-dashboard.d.ts +2 -2
  253. package/types/siemens-element-ng-datatable.d.ts +5 -56
  254. package/types/siemens-element-ng-date-range-filter.d.ts +1 -1
  255. package/types/siemens-element-ng-datepicker.d.ts +8 -15
  256. package/types/siemens-element-ng-electron-titlebar.d.ts +1 -1
  257. package/types/siemens-element-ng-file-uploader.d.ts +13 -31
  258. package/types/siemens-element-ng-filter-bar.d.ts +1 -1
  259. package/types/siemens-element-ng-filtered-search.d.ts +4 -4
  260. package/types/siemens-element-ng-form.d.ts +183 -44
  261. package/types/siemens-element-ng-formly-legacy.d.ts +40 -0
  262. package/types/siemens-element-ng-formly.d.ts +34 -167
  263. package/types/siemens-element-ng-icon.d.ts +2 -19
  264. package/types/siemens-element-ng-landing-page.d.ts +2 -2
  265. package/types/siemens-element-ng-list-details.d.ts +25 -3
  266. package/types/siemens-element-ng-loading-spinner.d.ts +11 -17
  267. package/types/siemens-element-ng-main-detail-container.d.ts +23 -3
  268. package/types/siemens-element-ng-maplibre.d.ts +190 -0
  269. package/types/siemens-element-ng-markdown-directives-tabs.d.ts +10 -0
  270. package/types/siemens-element-ng-markdown-extensions-citations.d.ts +11 -0
  271. package/types/siemens-element-ng-markdown-extensions-katex.d.ts +19 -0
  272. package/types/siemens-element-ng-markdown-extensions-mermaid.d.ts +11 -0
  273. package/types/siemens-element-ng-markdown-hightlighter-highlightjs.d.ts +48 -0
  274. package/types/siemens-element-ng-markdown.d.ts +367 -0
  275. package/types/siemens-element-ng-menu.d.ts +2 -0
  276. package/types/siemens-element-ng-navbar-vertical-next.d.ts +87 -39
  277. package/types/siemens-element-ng-navbar-vertical.d.ts +1 -1
  278. package/types/siemens-element-ng-navbar.d.ts +3 -3
  279. package/types/siemens-element-ng-notification-item.d.ts +12 -0
  280. package/types/siemens-element-ng-phone-number.d.ts +28 -10
  281. package/types/siemens-element-ng-photo-upload.d.ts +4 -4
  282. package/types/siemens-element-ng-resize-observer.d.ts +0 -17
  283. package/types/siemens-element-ng-search-bar.d.ts +2 -9
  284. package/types/siemens-element-ng-select.d.ts +32 -5
  285. package/types/siemens-element-ng-side-panel.d.ts +25 -11
  286. package/types/siemens-element-ng-source-chip.d.ts +53 -0
  287. package/types/siemens-element-ng-split.d.ts +101 -78
  288. package/types/siemens-element-ng-status-bar.d.ts +5 -13
  289. package/types/siemens-element-ng-status-counter.d.ts +1 -1
  290. package/types/siemens-element-ng-system-banner.d.ts +2 -2
  291. package/types/siemens-element-ng-tabs.d.ts +1 -2
  292. package/types/siemens-element-ng-theme.d.ts +12 -2
  293. package/types/siemens-element-ng-threshold.d.ts +1 -1
  294. package/types/siemens-element-ng-toast-notification.d.ts +0 -1
  295. package/types/siemens-element-ng-tooltip.d.ts +7 -7
  296. package/types/siemens-element-ng-translate.d.ts +35 -5
  297. package/types/siemens-element-ng-tree-view.d.ts +3 -0
  298. package/types/siemens-element-ng-wizard.d.ts +18 -3
  299. package/fesm2022/siemens-element-ng-icon-status.mjs +0 -46
  300. package/fesm2022/siemens-element-ng-icon-status.mjs.map +0 -1
  301. package/fesm2022/siemens-element-ng-markdown-renderer.mjs +0 -263
  302. package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +0 -1
  303. package/fesm2022/siemens-element-ng-sort-bar.mjs +0 -99
  304. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +0 -1
  305. package/icon-status/package.json +0 -4
  306. package/markdown-renderer/package.json +0 -4
  307. package/schematics/migrations/icon-path-migration/icon-path-migration.js +0 -95
  308. package/schematics/ng-update/migrate-to-v49.js +0 -21
  309. package/schematics/vitest-setup.js +0 -5
  310. package/sort-bar/package.json +0 -4
  311. package/types/siemens-element-ng-icon-status.d.ts +0 -25
  312. package/types/siemens-element-ng-markdown-renderer.d.ts +0 -36
  313. package/types/siemens-element-ng-sort-bar.d.ts +0 -59
  314. /package/{LICENSE.md → LICENSE} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { getLocaleDayPeriods, FormStyle, TranslationWidth, getLocaleId, getLocaleDateTimeFormat, FormatWidth, getLocaleTimeFormat, getLocaleDateFormat, formatDate, DatePipe, NgTemplateOutlet, getLocaleFirstDayOfWeek, WeekDay } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { input, model, output, booleanAttribute, computed, signal, inject, LOCALE_ID, Directive, ElementRef, viewChildren, ChangeDetectionStrategy, Component, viewChild, HostListener, HostAttributeToken, effect, ChangeDetectorRef, SimpleChange, DOCUMENT, DestroyRef, contentChild, NgModule } from '@angular/core';
3
+ import { input, model, output, booleanAttribute, computed, signal, inject, LOCALE_ID, Directive, ElementRef, viewChildren, Component, viewChild, HostListener, HostAttributeToken, effect, ChangeDetectorRef, SimpleChange, ChangeDetectionStrategy, DOCUMENT, DestroyRef, contentChild, NgModule } from '@angular/core';
4
4
  import * as i2 from '@angular/forms';
5
5
  import { Validators, NG_VALUE_ACCESSOR, NG_VALIDATORS, FormBuilder, ReactiveFormsModule, FormControl, FormsModule, NgControl } from '@angular/forms';
6
6
  import { SI_FORM_ITEM_CONTROL } from '@siemens/element-ng/form';
@@ -749,7 +749,8 @@ class SiDateInputDirective {
749
749
  * `si-date-input-${SiDateInputDirective.idCounter++}`
750
750
  * ```
751
751
  */
752
- id = input(`si-date-input-${SiDateInputDirective.idCounter++}`, ...(ngDevMode ? [{ debugName: "id" }] : []));
752
+ id = input(`si-date-input-${SiDateInputDirective.idCounter++}`, /* @ts-ignore */
753
+ ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
753
754
  /**
754
755
  * Configuration object for the datepicker.
755
756
  *
@@ -758,7 +759,8 @@ class SiDateInputDirective {
758
759
  * {}
759
760
  * ```
760
761
  */
761
- siDatepickerConfig = model({}, ...(ngDevMode ? [{ debugName: "siDatepickerConfig" }] : []));
762
+ siDatepickerConfig = model({}, /* @ts-ignore */
763
+ ...(ngDevMode ? [{ debugName: "siDatepickerConfig" }] : /* istanbul ignore next */ []));
762
764
  /**
763
765
  * Emits an event to notify about disabling the time from the datepicker.
764
766
  * When time is disable, we construct a pure date object in UTC 00:00:00 time.
@@ -773,12 +775,12 @@ class SiDateInputDirective {
773
775
  * @defaultValue false
774
776
  */
775
777
  // eslint-disable-next-line @angular-eslint/no-input-rename
776
- disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : {}), alias: 'disabled' });
778
+ disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : /* istanbul ignore next */ {}), alias: 'disabled' });
777
779
  /**
778
780
  * Whether the date range input is readonly.
779
781
  * @defaultValue false
780
782
  */
781
- readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : {}), transform: booleanAttribute });
783
+ readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
782
784
  /**
783
785
  * This ID will be bound to the `aria-describedby` attribute of the date-input.
784
786
  * Use this to reference the element containing the error message(s) for the date-input.
@@ -789,9 +791,12 @@ class SiDateInputDirective {
789
791
  * `${this.id()}-errormessage`
790
792
  * ```
791
793
  */
792
- errormessageId = input(`${this.id()}-errormessage`, ...(ngDevMode ? [{ debugName: "errormessageId" }] : []));
794
+ errormessageId = input(`${this.id()}-errormessage`, /* @ts-ignore */
795
+ ...(ngDevMode ? [{ debugName: "errormessageId" }] : /* istanbul ignore next */ []));
793
796
  /** @internal */
794
797
  validatorOnChange = () => { };
798
+ /** @internal */
799
+ validationChange = output();
795
800
  /**
796
801
  * Date form input validator function, validating text format, min and max value.
797
802
  */
@@ -806,11 +811,14 @@ class SiDateInputDirective {
806
811
  */
807
812
  dateChange = output();
808
813
  /** @internal */
809
- disabled = computed(() => this.disabledInput() || this.disabledNgControl(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
814
+ disabled = computed(() => this.disabledInput() || this.disabledNgControl(), /* @ts-ignore */
815
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
810
816
  onTouched = () => { };
811
817
  onModelChange = () => { };
812
- dateString = signal('', ...(ngDevMode ? [{ debugName: "dateString" }] : []));
813
- disabledNgControl = signal(false, ...(ngDevMode ? [{ debugName: "disabledNgControl" }] : []));
818
+ dateString = signal('', /* @ts-ignore */
819
+ ...(ngDevMode ? [{ debugName: "dateString" }] : /* istanbul ignore next */ []));
820
+ disabledNgControl = signal(false, /* @ts-ignore */
821
+ ...(ngDevMode ? [{ debugName: "disabledNgControl" }] : /* istanbul ignore next */ []));
814
822
  locale = inject(LOCALE_ID).toString();
815
823
  format = '';
816
824
  ngOnChanges(changes) {
@@ -829,6 +837,8 @@ class SiDateInputDirective {
829
837
  if (this.date && formatChanged) {
830
838
  this.updateNativeValue();
831
839
  }
840
+ this.validatorOnChange();
841
+ this.validationChange.emit();
832
842
  }
833
843
  }
834
844
  validate(c) {
@@ -969,8 +979,8 @@ class SiDateInputDirective {
969
979
  }
970
980
  };
971
981
  }
972
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
973
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiDateInputDirective, isStandalone: true, selector: "input[siDateInput]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, siDatepickerConfig: { classPropertyName: "siDatepickerConfig", publicName: "siDatepickerConfig", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, errormessageId: { classPropertyName: "errormessageId", publicName: "errormessageId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { siDatepickerConfig: "siDatepickerConfigChange", siDatepickerDisabledTime: "siDatepickerDisabledTime", stateChange: "stateChange", dateChange: "dateChange" }, host: { listeners: { "input": "onInput($event)", "blur": "onBlur($event)" }, properties: { "attr.id": "id()", "attr.disabled": "disabled() || null", "attr.readonly": "readonly() || null", "class.readonly": "readonly()", "attr.aria-describedby": "errormessageId()", "value": "dateString()" } }, providers: [
982
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDateInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
983
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.8", type: SiDateInputDirective, isStandalone: true, selector: "input[siDateInput]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, siDatepickerConfig: { classPropertyName: "siDatepickerConfig", publicName: "siDatepickerConfig", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, errormessageId: { classPropertyName: "errormessageId", publicName: "errormessageId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { siDatepickerConfig: "siDatepickerConfigChange", siDatepickerDisabledTime: "siDatepickerDisabledTime", stateChange: "stateChange", validationChange: "validationChange", dateChange: "dateChange" }, host: { listeners: { "input": "onInput($event)", "blur": "onBlur($event)" }, properties: { "attr.id": "id()", "attr.disabled": "disabled() || null", "attr.readonly": "readonly() || null", "class.readonly": "readonly()", "attr.aria-describedby": "errormessageId()", "value": "dateString()" } }, providers: [
974
984
  {
975
985
  provide: NG_VALUE_ACCESSOR,
976
986
  useExisting: SiDateInputDirective,
@@ -987,7 +997,7 @@ class SiDateInputDirective {
987
997
  }
988
998
  ], exportAs: ["siDateInput"], usesOnChanges: true, ngImport: i0 });
989
999
  }
990
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateInputDirective, decorators: [{
1000
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDateInputDirective, decorators: [{
991
1001
  type: Directive,
992
1002
  args: [{
993
1003
  selector: 'input[siDateInput]',
@@ -1019,7 +1029,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
1019
1029
  },
1020
1030
  exportAs: 'siDateInput'
1021
1031
  }]
1022
- }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], siDatepickerConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "siDatepickerConfig", required: false }] }, { type: i0.Output, args: ["siDatepickerConfigChange"] }], siDatepickerDisabledTime: [{ type: i0.Output, args: ["siDatepickerDisabledTime"] }], stateChange: [{ type: i0.Output, args: ["stateChange"] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], errormessageId: [{ type: i0.Input, args: [{ isSignal: true, alias: "errormessageId", required: false }] }], dateChange: [{ type: i0.Output, args: ["dateChange"] }] } });
1032
+ }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], siDatepickerConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "siDatepickerConfig", required: false }] }, { type: i0.Output, args: ["siDatepickerConfigChange"] }], siDatepickerDisabledTime: [{ type: i0.Output, args: ["siDatepickerDisabledTime"] }], stateChange: [{ type: i0.Output, args: ["stateChange"] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], errormessageId: [{ type: i0.Input, args: [{ isSignal: true, alias: "errormessageId", required: false }] }], validationChange: [{ type: i0.Output, args: ["validationChange"] }], dateChange: [{ type: i0.Output, args: ["dateChange"] }] } });
1023
1033
 
1024
1034
  /**
1025
1035
  * Copyright (c) Siemens 2016 - 2026
@@ -1027,15 +1037,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
1027
1037
  */
1028
1038
  class SiCalendarDateCellDirective {
1029
1039
  /** Calendar cell data used to render its state and accessible label. */
1030
- cell = input.required(...(ngDevMode ? [{ debugName: "cell" }] : []));
1040
+ cell = input.required(/* @ts-ignore */
1041
+ ...(ngDevMode ? [{ debugName: "cell" }] : /* istanbul ignore next */ []));
1031
1042
  /** Date comparison strategy used by the containing calendar view. */
1032
- compareAdapter = input.required(...(ngDevMode ? [{ debugName: "compareAdapter" }] : []));
1043
+ compareAdapter = input.required(/* @ts-ignore */
1044
+ ...(ngDevMode ? [{ debugName: "compareAdapter" }] : /* istanbul ignore next */ []));
1033
1045
  /** @defaultValue inject(ElementRef) */
1034
1046
  ref = inject(ElementRef);
1035
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiCalendarDateCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1036
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiCalendarDateCellDirective, isStandalone: true, selector: "[siCalendarDateCell]", inputs: { cell: { classPropertyName: "cell", publicName: "cell", isSignal: true, isRequired: true, transformFunction: null }, compareAdapter: { classPropertyName: "compareAdapter", publicName: "compareAdapter", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "attr.aria-disabled": "cell().disabled", "class.disabled": "cell().disabled", "attr.aria-label": "cell().ariaLabel", "class.today": "this.cell().isToday", "attr.aria-current": "this.cell().isToday ? \"date\" : null" }, classAttribute: "si-calendar-date-cell focus-inside" }, ngImport: i0 });
1047
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiCalendarDateCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1048
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.8", type: SiCalendarDateCellDirective, isStandalone: true, selector: "[siCalendarDateCell]", inputs: { cell: { classPropertyName: "cell", publicName: "cell", isSignal: true, isRequired: true, transformFunction: null }, compareAdapter: { classPropertyName: "compareAdapter", publicName: "compareAdapter", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "attr.aria-disabled": "cell().disabled", "class.disabled": "cell().disabled", "attr.aria-label": "cell().ariaLabel", "class.today": "this.cell().isToday", "attr.aria-current": "this.cell().isToday ? \"date\" : null" }, classAttribute: "si-calendar-date-cell focus-inside" }, ngImport: i0 });
1037
1049
  }
1038
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiCalendarDateCellDirective, decorators: [{
1050
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiCalendarDateCellDirective, decorators: [{
1039
1051
  type: Directive,
1040
1052
  args: [{
1041
1053
  selector: '[siCalendarDateCell]',
@@ -1181,54 +1193,65 @@ class RangeSelectionStrategy extends SelectionStrategy {
1181
1193
  }
1182
1194
  class SiCalendarBodyComponent {
1183
1195
  /** The active date, the cell which will receive the focus. */
1184
- focusedDate = model.required(...(ngDevMode ? [{ debugName: "focusedDate" }] : []));
1196
+ focusedDate = model.required(/* @ts-ignore */
1197
+ ...(ngDevMode ? [{ debugName: "focusedDate" }] : /* istanbul ignore next */ []));
1185
1198
  /** The date which shall be indicated as currently selected. */
1186
- startDate = input(...(ngDevMode ? [undefined, { debugName: "startDate" }] : []));
1199
+ startDate = input(/* @ts-ignore */
1200
+ ...(ngDevMode ? [undefined, { debugName: "startDate" }] : /* istanbul ignore next */ []));
1187
1201
  /** Selected end value which is only considered with enableRangeSelection. */
1188
- endDate = input(...(ngDevMode ? [undefined, { debugName: "endDate" }] : []));
1202
+ endDate = input(/* @ts-ignore */
1203
+ ...(ngDevMode ? [undefined, { debugName: "endDate" }] : /* istanbul ignore next */ []));
1189
1204
  /**
1190
1205
  * The cells to display in the table.
1191
1206
  *
1192
1207
  * @defaultValue []
1193
1208
  */
1194
- rows = input([], ...(ngDevMode ? [{ debugName: "rows" }] : []));
1209
+ rows = input([], /* @ts-ignore */
1210
+ ...(ngDevMode ? [{ debugName: "rows" }] : /* istanbul ignore next */ []));
1195
1211
  /**
1196
1212
  * Labels for each row, which can be used to display the week number.
1197
1213
  * @defaultValue undefined
1198
1214
  */
1199
- rowLabels = input(undefined, ...(ngDevMode ? [{ debugName: "rowLabels" }] : []));
1215
+ rowLabels = input(undefined, /* @ts-ignore */
1216
+ ...(ngDevMode ? [{ debugName: "rowLabels" }] : /* istanbul ignore next */ []));
1200
1217
  /**
1201
1218
  * Additional row label CSS class(es).
1202
1219
  *
1203
1220
  * @defaultValue []
1204
1221
  */
1205
- rowLabelCssClasses = input([], ...(ngDevMode ? [{ debugName: "rowLabelCssClasses" }] : []));
1222
+ rowLabelCssClasses = input([], /* @ts-ignore */
1223
+ ...(ngDevMode ? [{ debugName: "rowLabelCssClasses" }] : /* istanbul ignore next */ []));
1206
1224
  /**
1207
1225
  * Choose the selection strategy between single or range selection.
1208
1226
  * @defaultValue false
1209
1227
  */
1210
- enableRangeSelection = input(false, ...(ngDevMode ? [{ debugName: "enableRangeSelection" }] : []));
1228
+ enableRangeSelection = input(false, /* @ts-ignore */
1229
+ ...(ngDevMode ? [{ debugName: "enableRangeSelection" }] : /* istanbul ignore next */ []));
1211
1230
  /**
1212
1231
  * Indicate whether a range preview shall be displayed.
1213
1232
  * It's necessary since to display a preview also datepicker has a valid endDate.
1214
1233
  *
1215
1234
  * @defaultValue true
1216
1235
  */
1217
- previewRange = input(true, { ...(ngDevMode ? { debugName: "previewRange" } : {}), transform: booleanAttribute });
1236
+ previewRange = input(true, { ...(ngDevMode ? { debugName: "previewRange" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1218
1237
  /** The cell which which has the mouse hover. */
1219
- activeHover = model(...(ngDevMode ? [undefined, { debugName: "activeHover" }] : []));
1238
+ activeHover = model(/* @ts-ignore */
1239
+ ...(ngDevMode ? [undefined, { debugName: "activeHover" }] : /* istanbul ignore next */ []));
1220
1240
  /**
1221
1241
  * Compare date functions which are necessary to compare a the dates according the current view.
1222
1242
  *
1223
1243
  * @defaultValue new DayCompareAdapter()
1224
1244
  */
1225
- compareAdapter = input(new DayCompareAdapter(), ...(ngDevMode ? [{ debugName: "compareAdapter" }] : []));
1245
+ compareAdapter = input(new DayCompareAdapter(), /* @ts-ignore */
1246
+ ...(ngDevMode ? [{ debugName: "compareAdapter" }] : /* istanbul ignore next */ []));
1226
1247
  /** Emits when a user select a cell via click, space or enter. */
1227
1248
  selectedValueChange = output();
1228
- calendarDateCells = viewChildren(SiCalendarDateCellDirective, ...(ngDevMode ? [{ debugName: "calendarDateCells" }] : []));
1249
+ calendarDateCells = viewChildren(SiCalendarDateCellDirective, /* @ts-ignore */
1250
+ ...(ngDevMode ? [{ debugName: "calendarDateCells" }] : /* istanbul ignore next */ []));
1229
1251
  selection = computed(() => this.enableRangeSelection()
1230
1252
  ? new RangeSelectionStrategy(this.compareAdapter())
1231
- : new SingleSelectionStrategy(this.compareAdapter()), ...(ngDevMode ? [{ debugName: "selection" }] : []));
1253
+ : new SingleSelectionStrategy(this.compareAdapter()), /* @ts-ignore */
1254
+ ...(ngDevMode ? [{ debugName: "selection" }] : /* istanbul ignore next */ []));
1232
1255
  cellRangeClasses = computed(() => {
1233
1256
  const sel = this.selection();
1234
1257
  const rows = this.rows();
@@ -1258,7 +1281,8 @@ class SiCalendarBodyComponent {
1258
1281
  }
1259
1282
  return classes;
1260
1283
  }));
1261
- }, ...(ngDevMode ? [{ debugName: "cellRangeClasses" }] : []));
1284
+ }, /* @ts-ignore */
1285
+ ...(ngDevMode ? [{ debugName: "cellRangeClasses" }] : /* istanbul ignore next */ []));
1262
1286
  /**
1263
1287
  * Focus calendar cell which is marked as active cell.
1264
1288
  */
@@ -1292,12 +1316,12 @@ class SiCalendarBodyComponent {
1292
1316
  this.focusedDate.set(cell.valueRaw);
1293
1317
  }
1294
1318
  }
1295
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiCalendarBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1296
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiCalendarBodyComponent, isStandalone: true, selector: "[si-calendar-body]", inputs: { focusedDate: { classPropertyName: "focusedDate", publicName: "focusedDate", isSignal: true, isRequired: true, transformFunction: null }, startDate: { classPropertyName: "startDate", publicName: "startDate", isSignal: true, isRequired: false, transformFunction: null }, endDate: { classPropertyName: "endDate", publicName: "endDate", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, rowLabels: { classPropertyName: "rowLabels", publicName: "rowLabels", isSignal: true, isRequired: false, transformFunction: null }, rowLabelCssClasses: { classPropertyName: "rowLabelCssClasses", publicName: "rowLabelCssClasses", isSignal: true, isRequired: false, transformFunction: null }, enableRangeSelection: { classPropertyName: "enableRangeSelection", publicName: "enableRangeSelection", isSignal: true, isRequired: false, transformFunction: null }, previewRange: { classPropertyName: "previewRange", publicName: "previewRange", isSignal: true, isRequired: false, transformFunction: null }, activeHover: { classPropertyName: "activeHover", publicName: "activeHover", isSignal: true, isRequired: false, transformFunction: null }, compareAdapter: { classPropertyName: "compareAdapter", publicName: "compareAdapter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { focusedDate: "focusedDateChange", activeHover: "activeHoverChange", selectedValueChange: "selectedValueChange" }, host: { classAttribute: "si-calendar-body" }, viewQueries: [{ propertyName: "calendarDateCells", predicate: SiCalendarDateCellDirective, descendants: true, isSignal: true }], exportAs: ["siCalendarBody"], ngImport: i0, template: "@for (row of rows(); track rowIndex; let rowIndex = $index) {\n <tr role=\"row\">\n <!-- Typically used for week numbers -->\n @if (rowLabels()) {\n <td class=\"si-calendar-row-label\" [attr.data-row]=\"rowIndex\">\n <div [class]=\"rowLabelCssClasses()\">{{ rowLabels()?.at(rowIndex) ?? '' }}</div>\n </td>\n }\n @for (col of row; track colIndex; let colIndex = $index) {\n <td\n role=\"gridcell\"\n class=\"si-calendar-cell\"\n [attr.data-row]=\"rowIndex\"\n [attr.data-col]=\"colIndex\"\n [class]=\"cellRangeClasses()[rowIndex][colIndex]\"\n >\n <button\n siCalendarDateCell\n type=\"button\"\n [cell]=\"col\"\n [compareAdapter]=\"compareAdapter()\"\n [attr.cdkFocusInitial]=\"isActive(col) ? '' : null\"\n [class]=\"cellCss(col)\"\n [class.selected]=\"selection().isSelected(col, startDate(), endDate())\"\n [class.text-secondary]=\"\n col.isPreview &&\n !col.disabled &&\n !selection().isRangeSelected(col, startDate()) &&\n !selection().isRangeSelected(col, endDate()) &&\n !selection().inRange(col, startDate(), endDate())\n \"\n [tabindex]=\"isActive(col) ? '0' : '-1'\"\n (mouseover)=\"emitActiveHover(col)\"\n (click)=\"emitSelectCell(col)\"\n (focus)=\"emitActiveDateChange(col)\"\n >\n {{ col.displayValue }}\n </button>\n </td>\n }\n </tr>\n}\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: SiCalendarDateCellDirective, selector: "[siCalendarDateCell]", inputs: ["cell", "compareAdapter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1319
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiCalendarBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1320
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiCalendarBodyComponent, isStandalone: true, selector: "[si-calendar-body]", inputs: { focusedDate: { classPropertyName: "focusedDate", publicName: "focusedDate", isSignal: true, isRequired: true, transformFunction: null }, startDate: { classPropertyName: "startDate", publicName: "startDate", isSignal: true, isRequired: false, transformFunction: null }, endDate: { classPropertyName: "endDate", publicName: "endDate", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, rowLabels: { classPropertyName: "rowLabels", publicName: "rowLabels", isSignal: true, isRequired: false, transformFunction: null }, rowLabelCssClasses: { classPropertyName: "rowLabelCssClasses", publicName: "rowLabelCssClasses", isSignal: true, isRequired: false, transformFunction: null }, enableRangeSelection: { classPropertyName: "enableRangeSelection", publicName: "enableRangeSelection", isSignal: true, isRequired: false, transformFunction: null }, previewRange: { classPropertyName: "previewRange", publicName: "previewRange", isSignal: true, isRequired: false, transformFunction: null }, activeHover: { classPropertyName: "activeHover", publicName: "activeHover", isSignal: true, isRequired: false, transformFunction: null }, compareAdapter: { classPropertyName: "compareAdapter", publicName: "compareAdapter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { focusedDate: "focusedDateChange", activeHover: "activeHoverChange", selectedValueChange: "selectedValueChange" }, host: { classAttribute: "si-calendar-body" }, viewQueries: [{ propertyName: "calendarDateCells", predicate: SiCalendarDateCellDirective, descendants: true, isSignal: true }], exportAs: ["siCalendarBody"], ngImport: i0, template: "@for (row of rows(); track rowIndex; let rowIndex = $index) {\n <tr role=\"row\">\n <!-- Typically used for week numbers -->\n @if (rowLabels()) {\n <td class=\"si-calendar-row-label\" [attr.data-row]=\"rowIndex\">\n <div [class]=\"rowLabelCssClasses()\">{{ rowLabels()?.at(rowIndex) ?? '' }}</div>\n </td>\n }\n @for (col of row; track colIndex; let colIndex = $index) {\n <td\n role=\"gridcell\"\n class=\"si-calendar-cell\"\n [attr.data-row]=\"rowIndex\"\n [attr.data-col]=\"colIndex\"\n [class]=\"cellRangeClasses()[rowIndex][colIndex]\"\n >\n <button\n siCalendarDateCell\n type=\"button\"\n [cell]=\"col\"\n [compareAdapter]=\"compareAdapter()\"\n [attr.cdkFocusInitial]=\"isActive(col) ? '' : null\"\n [class]=\"cellCss(col)\"\n [class.selected]=\"selection().isSelected(col, startDate(), endDate())\"\n [class.text-secondary]=\"\n col.isPreview &&\n !col.disabled &&\n !selection().isRangeSelected(col, startDate()) &&\n !selection().isRangeSelected(col, endDate()) &&\n !selection().inRange(col, startDate(), endDate())\n \"\n [tabindex]=\"isActive(col) ? '0' : '-1'\"\n (mouseover)=\"emitActiveHover(col)\"\n (click)=\"emitSelectCell(col)\"\n (focus)=\"emitActiveDateChange(col)\"\n >\n {{ col.displayValue }}\n </button>\n </td>\n }\n </tr>\n}\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: SiCalendarDateCellDirective, selector: "[siCalendarDateCell]", inputs: ["cell", "compareAdapter"] }] });
1297
1321
  }
1298
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiCalendarBodyComponent, decorators: [{
1322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiCalendarBodyComponent, decorators: [{
1299
1323
  type: Component,
1300
- args: [{ selector: '[si-calendar-body]', imports: [A11yModule, SiCalendarDateCellDirective], changeDetection: ChangeDetectionStrategy.OnPush, host: {
1324
+ args: [{ selector: '[si-calendar-body]', imports: [A11yModule, SiCalendarDateCellDirective], host: {
1301
1325
  class: 'si-calendar-body'
1302
1326
  }, exportAs: 'siCalendarBody', template: "@for (row of rows(); track rowIndex; let rowIndex = $index) {\n <tr role=\"row\">\n <!-- Typically used for week numbers -->\n @if (rowLabels()) {\n <td class=\"si-calendar-row-label\" [attr.data-row]=\"rowIndex\">\n <div [class]=\"rowLabelCssClasses()\">{{ rowLabels()?.at(rowIndex) ?? '' }}</div>\n </td>\n }\n @for (col of row; track colIndex; let colIndex = $index) {\n <td\n role=\"gridcell\"\n class=\"si-calendar-cell\"\n [attr.data-row]=\"rowIndex\"\n [attr.data-col]=\"colIndex\"\n [class]=\"cellRangeClasses()[rowIndex][colIndex]\"\n >\n <button\n siCalendarDateCell\n type=\"button\"\n [cell]=\"col\"\n [compareAdapter]=\"compareAdapter()\"\n [attr.cdkFocusInitial]=\"isActive(col) ? '' : null\"\n [class]=\"cellCss(col)\"\n [class.selected]=\"selection().isSelected(col, startDate(), endDate())\"\n [class.text-secondary]=\"\n col.isPreview &&\n !col.disabled &&\n !selection().isRangeSelected(col, startDate()) &&\n !selection().isRangeSelected(col, endDate()) &&\n !selection().inRange(col, startDate(), endDate())\n \"\n [tabindex]=\"isActive(col) ? '0' : '-1'\"\n (mouseover)=\"emitActiveHover(col)\"\n (click)=\"emitSelectCell(col)\"\n (focus)=\"emitActiveDateChange(col)\"\n >\n {{ col.displayValue }}\n </button>\n </td>\n }\n </tr>\n}\n" }]
1303
1327
  }], propDecorators: { focusedDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusedDate", required: true }] }, { type: i0.Output, args: ["focusedDateChange"] }], startDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "startDate", required: false }] }], endDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "endDate", required: false }] }], rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }], rowLabels: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowLabels", required: false }] }], rowLabelCssClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowLabelCssClasses", required: false }] }], enableRangeSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableRangeSelection", required: false }] }], previewRange: [{ type: i0.Input, args: [{ isSignal: true, alias: "previewRange", required: false }] }], activeHover: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeHover", required: false }] }, { type: i0.Output, args: ["activeHoverChange"] }], compareAdapter: [{ type: i0.Input, args: [{ isSignal: true, alias: "compareAdapter", required: false }] }], selectedValueChange: [{ type: i0.Output, args: ["selectedValueChange"] }], calendarDateCells: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => SiCalendarDateCellDirective), { isSignal: true }] }] } });
@@ -1308,29 +1332,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
1308
1332
  */
1309
1333
  class SiCalendarDirectionButtonComponent {
1310
1334
  /** Accessible label for the button. */
1311
- ariaLabel = input.required(...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
1335
+ ariaLabel = input.required(/* @ts-ignore */
1336
+ ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
1312
1337
  /**
1313
1338
  * Whether the button is disabled.
1314
1339
  *
1315
1340
  * @defaultValue false
1316
1341
  */
1317
- disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
1342
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1318
1343
  /** Direction in which the button navigates. */
1319
- direction = input(...(ngDevMode ? [undefined, { debugName: "direction" }] : []));
1344
+ direction = input(/* @ts-ignore */
1345
+ ...(ngDevMode ? [undefined, { debugName: "direction" }] : /* istanbul ignore next */ []));
1320
1346
  /** Emits when the button is clicked. */
1321
1347
  clicked = output();
1322
- icon = computed(() => this.direction() === 'left' ? this.icons.elementLeft2 : this.icons.elementRight2, ...(ngDevMode ? [{ debugName: "icon" }] : []));
1323
- buttonClass = computed(() => this.direction() === 'left' ? 'previous-button' : 'next-button', ...(ngDevMode ? [{ debugName: "buttonClass" }] : []));
1348
+ icon = computed(() => this.direction() === 'left' ? this.icons.elementLeft2 : this.icons.elementRight2, /* @ts-ignore */
1349
+ ...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
1350
+ buttonClass = computed(() => this.direction() === 'left' ? 'previous-button' : 'next-button', /* @ts-ignore */
1351
+ ...(ngDevMode ? [{ debugName: "buttonClass" }] : /* istanbul ignore next */ []));
1324
1352
  icons = addIcons({ elementLeft2, elementRight2 });
1325
1353
  onClick() {
1326
1354
  this.clicked.emit();
1327
1355
  }
1328
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiCalendarDirectionButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1329
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: SiCalendarDirectionButtonComponent, isStandalone: true, selector: "si-calendar-direction-button", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<button\n type=\"button\"\n [class]=\"`btn btn-circle btn-tertiary ${buttonClass()}`\"\n [disabled]=\"disabled() || null\"\n [attr.aria-label]=\"ariaLabel()\"\n (click)=\"onClick()\"\n>\n <si-icon class=\"icon flip-rtl\" [icon]=\"icon()\" />\n</button>\n", dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1356
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiCalendarDirectionButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1357
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.8", type: SiCalendarDirectionButtonComponent, isStandalone: true, selector: "si-calendar-direction-button", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<button\n type=\"button\"\n [class]=\"`btn btn-circle btn-tertiary ${buttonClass()}`\"\n [disabled]=\"disabled() || null\"\n [attr.aria-label]=\"ariaLabel()\"\n (click)=\"onClick()\"\n>\n <si-icon class=\"icon flip-rtl\" [icon]=\"icon()\" />\n</button>\n", dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }] });
1330
1358
  }
1331
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiCalendarDirectionButtonComponent, decorators: [{
1359
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiCalendarDirectionButtonComponent, decorators: [{
1332
1360
  type: Component,
1333
- args: [{ selector: 'si-calendar-direction-button', imports: [SiIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n type=\"button\"\n [class]=\"`btn btn-circle btn-tertiary ${buttonClass()}`\"\n [disabled]=\"disabled() || null\"\n [attr.aria-label]=\"ariaLabel()\"\n (click)=\"onClick()\"\n>\n <si-icon class=\"icon flip-rtl\" [icon]=\"icon()\" />\n</button>\n" }]
1361
+ args: [{ selector: 'si-calendar-direction-button', imports: [SiIconComponent], template: "<button\n type=\"button\"\n [class]=\"`btn btn-circle btn-tertiary ${buttonClass()}`\"\n [disabled]=\"disabled() || null\"\n [attr.aria-label]=\"ariaLabel()\"\n (click)=\"onClick()\"\n>\n <si-icon class=\"icon flip-rtl\" [icon]=\"icon()\" />\n</button>\n" }]
1334
1362
  }], propDecorators: { ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }], clicked: [{ type: i0.Output, args: ["clicked"] }] } });
1335
1363
 
1336
1364
  /**
@@ -1342,59 +1370,70 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
1342
1370
  */
1343
1371
  class SiInitialFocusComponent {
1344
1372
  /** The cell which has the mouse hover. */
1345
- activeHover = model(...(ngDevMode ? [undefined, { debugName: "activeHover" }] : []));
1373
+ activeHover = model(/* @ts-ignore */
1374
+ ...(ngDevMode ? [undefined, { debugName: "activeHover" }] : /* istanbul ignore next */ []));
1346
1375
  /** The date which is displayed as selected. */
1347
- startDate = input(...(ngDevMode ? [undefined, { debugName: "startDate" }] : []));
1376
+ startDate = input(/* @ts-ignore */
1377
+ ...(ngDevMode ? [undefined, { debugName: "startDate" }] : /* istanbul ignore next */ []));
1348
1378
  /** The date which is displayed as selected end. The value is only considered with enableRangeSelection. */
1349
- endDate = input(...(ngDevMode ? [undefined, { debugName: "endDate" }] : []));
1379
+ endDate = input(/* @ts-ignore */
1380
+ ...(ngDevMode ? [undefined, { debugName: "endDate" }] : /* istanbul ignore next */ []));
1350
1381
  /**
1351
1382
  * Guard to set the focus during ngAfterViewInit, we just set the focus after we first initialized the view
1352
1383
  *
1353
1384
  * @defaultValue true
1354
1385
  */
1355
- initialFocus = input(true, ...(ngDevMode ? [{ debugName: "initialFocus" }] : []));
1386
+ initialFocus = input(true, /* @ts-ignore */
1387
+ ...(ngDevMode ? [{ debugName: "initialFocus" }] : /* istanbul ignore next */ []));
1356
1388
  /** The minimum selectable date. */
1357
- minDate = input(...(ngDevMode ? [undefined, { debugName: "minDate" }] : []));
1389
+ minDate = input(/* @ts-ignore */
1390
+ ...(ngDevMode ? [undefined, { debugName: "minDate" }] : /* istanbul ignore next */ []));
1358
1391
  /** The maximum selectable date. */
1359
- maxDate = input(...(ngDevMode ? [undefined, { debugName: "maxDate" }] : []));
1392
+ maxDate = input(/* @ts-ignore */
1393
+ ...(ngDevMode ? [undefined, { debugName: "maxDate" }] : /* istanbul ignore next */ []));
1360
1394
  /**
1361
1395
  * Optional input to control the minimum month the datepicker can show and the user can navigate.
1362
1396
  * The `minMonth` can be larger than the `minDate` This option enables the usage of multiple
1363
1397
  * datepickers next to each other while the more left calendar always
1364
1398
  * shows an earlier month the more right one.
1365
1399
  */
1366
- minMonth = input(...(ngDevMode ? [undefined, { debugName: "minMonth" }] : []));
1400
+ minMonth = input(/* @ts-ignore */
1401
+ ...(ngDevMode ? [undefined, { debugName: "minMonth" }] : /* istanbul ignore next */ []));
1367
1402
  /**
1368
1403
  * Optional input to control the maximum month the datepicker can show and the user can navigate.
1369
1404
  * The `maxMonth` can be smaller than the `maxDate` This option enables the usage of multiple
1370
1405
  * datepickers next to each other while the more left calendar always
1371
1406
  * shows an earlier month the more right one.
1372
1407
  */
1373
- maxMonth = input(...(ngDevMode ? [undefined, { debugName: "maxMonth" }] : []));
1408
+ maxMonth = input(/* @ts-ignore */
1409
+ ...(ngDevMode ? [undefined, { debugName: "maxMonth" }] : /* istanbul ignore next */ []));
1374
1410
  /** Aria label for the next button. Needed for a11y. */
1375
- previousLabel = input.required(...(ngDevMode ? [{ debugName: "previousLabel" }] : []));
1411
+ previousLabel = input.required(/* @ts-ignore */
1412
+ ...(ngDevMode ? [{ debugName: "previousLabel" }] : /* istanbul ignore next */ []));
1376
1413
  /** Aria label for the next button. Needed for a11y. */
1377
- nextLabel = input.required(...(ngDevMode ? [{ debugName: "nextLabel" }] : []));
1414
+ nextLabel = input.required(/* @ts-ignore */
1415
+ ...(ngDevMode ? [{ debugName: "nextLabel" }] : /* istanbul ignore next */ []));
1378
1416
  /**
1379
1417
  * Is range selection enabled, when enabled it shows a preview between the startDate and the focused date.
1380
1418
  *
1381
1419
  * @defaultValue false
1382
1420
  */
1383
- isRangeSelection = input(false, { ...(ngDevMode ? { debugName: "isRangeSelection" } : {}), transform: booleanAttribute });
1421
+ isRangeSelection = input(false, { ...(ngDevMode ? { debugName: "isRangeSelection" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1384
1422
  /**
1385
1423
  * Indicate whether a range preview shall be displayed.
1386
1424
  * When enabled a preview is visible between startDate and focusedDate.
1387
1425
  *
1388
1426
  * @defaultValue true
1389
1427
  */
1390
- previewRange = input(true, { ...(ngDevMode ? { debugName: "previewRange" } : {}), transform: booleanAttribute });
1428
+ previewRange = input(true, { ...(ngDevMode ? { debugName: "previewRange" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1391
1429
  /**
1392
1430
  * Emits when a new value is selected. In case where the value is null to
1393
1431
  * user aborted the selection by Escape.
1394
1432
  */
1395
1433
  selectedValueChange = output();
1396
1434
  /** The body of calendar table */
1397
- calendarBody = viewChild.required(SiCalendarBodyComponent);
1435
+ calendarBody = viewChild.required(SiCalendarBodyComponent, /* @ts-ignore */
1436
+ ...(ngDevMode ? [{ debugName: "calendarBody" }] : /* istanbul ignore next */ []));
1398
1437
  ngAfterViewInit() {
1399
1438
  if (this.initialFocus()) {
1400
1439
  this.focusActiveCell();
@@ -1409,14 +1448,13 @@ class SiInitialFocusComponent {
1409
1448
  onActiveHoverChange(event) {
1410
1449
  this.activeHover.set(event);
1411
1450
  }
1412
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiInitialFocusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1413
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.8", type: SiInitialFocusComponent, isStandalone: true, selector: "ng-component", inputs: { activeHover: { classPropertyName: "activeHover", publicName: "activeHover", isSignal: true, isRequired: false, transformFunction: null }, startDate: { classPropertyName: "startDate", publicName: "startDate", isSignal: true, isRequired: false, transformFunction: null }, endDate: { classPropertyName: "endDate", publicName: "endDate", isSignal: true, isRequired: false, transformFunction: null }, initialFocus: { classPropertyName: "initialFocus", publicName: "initialFocus", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, minMonth: { classPropertyName: "minMonth", publicName: "minMonth", isSignal: true, isRequired: false, transformFunction: null }, maxMonth: { classPropertyName: "maxMonth", publicName: "maxMonth", isSignal: true, isRequired: false, transformFunction: null }, previousLabel: { classPropertyName: "previousLabel", publicName: "previousLabel", isSignal: true, isRequired: true, transformFunction: null }, nextLabel: { classPropertyName: "nextLabel", publicName: "nextLabel", isSignal: true, isRequired: true, transformFunction: null }, isRangeSelection: { classPropertyName: "isRangeSelection", publicName: "isRangeSelection", isSignal: true, isRequired: false, transformFunction: null }, previewRange: { classPropertyName: "previewRange", publicName: "previewRange", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeHover: "activeHoverChange", selectedValueChange: "selectedValueChange" }, viewQueries: [{ propertyName: "calendarBody", first: true, predicate: SiCalendarBodyComponent, descendants: true, isSignal: true }], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1451
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiInitialFocusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1452
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.8", type: SiInitialFocusComponent, isStandalone: true, selector: "ng-component", inputs: { activeHover: { classPropertyName: "activeHover", publicName: "activeHover", isSignal: true, isRequired: false, transformFunction: null }, startDate: { classPropertyName: "startDate", publicName: "startDate", isSignal: true, isRequired: false, transformFunction: null }, endDate: { classPropertyName: "endDate", publicName: "endDate", isSignal: true, isRequired: false, transformFunction: null }, initialFocus: { classPropertyName: "initialFocus", publicName: "initialFocus", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, minMonth: { classPropertyName: "minMonth", publicName: "minMonth", isSignal: true, isRequired: false, transformFunction: null }, maxMonth: { classPropertyName: "maxMonth", publicName: "maxMonth", isSignal: true, isRequired: false, transformFunction: null }, previousLabel: { classPropertyName: "previousLabel", publicName: "previousLabel", isSignal: true, isRequired: true, transformFunction: null }, nextLabel: { classPropertyName: "nextLabel", publicName: "nextLabel", isSignal: true, isRequired: true, transformFunction: null }, isRangeSelection: { classPropertyName: "isRangeSelection", publicName: "isRangeSelection", isSignal: true, isRequired: false, transformFunction: null }, previewRange: { classPropertyName: "previewRange", publicName: "previewRange", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeHover: "activeHoverChange", selectedValueChange: "selectedValueChange" }, viewQueries: [{ propertyName: "calendarBody", first: true, predicate: SiCalendarBodyComponent, descendants: true, isSignal: true }], ngImport: i0, template: '', isInline: true });
1414
1453
  }
1415
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiInitialFocusComponent, decorators: [{
1454
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiInitialFocusComponent, decorators: [{
1416
1455
  type: Component,
1417
1456
  args: [{
1418
- template: '',
1419
- changeDetection: ChangeDetectionStrategy.OnPush
1457
+ template: ''
1420
1458
  }]
1421
1459
  }], propDecorators: { activeHover: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeHover", required: false }] }, { type: i0.Output, args: ["activeHoverChange"] }], startDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "startDate", required: false }] }], endDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "endDate", required: false }] }], initialFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialFocus", required: false }] }], minDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "minDate", required: false }] }], maxDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxDate", required: false }] }], minMonth: [{ type: i0.Input, args: [{ isSignal: true, alias: "minMonth", required: false }] }], maxMonth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxMonth", required: false }] }], previousLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "previousLabel", required: true }] }], nextLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "nextLabel", required: true }] }], isRangeSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "isRangeSelection", required: false }] }], previewRange: [{ type: i0.Input, args: [{ isSignal: true, alias: "previewRange", required: false }] }], selectedValueChange: [{ type: i0.Output, args: ["selectedValueChange"] }], calendarBody: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SiCalendarBodyComponent), { isSignal: true }] }] } });
1422
1460
 
@@ -1435,31 +1473,38 @@ class SiDaySelectionComponent extends SiInitialFocusComponent {
1435
1473
  *
1436
1474
  * @defaultValue false
1437
1475
  */
1438
- hideWeekNumbers = input(false, { ...(ngDevMode ? { debugName: "hideWeekNumbers" } : {}), transform: booleanAttribute });
1476
+ hideWeekNumbers = input(false, { ...(ngDevMode ? { debugName: "hideWeekNumbers" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1439
1477
  /**
1440
1478
  * Defines the starting day of the week. Default is `monday`.
1441
1479
  *
1442
1480
  * @defaultValue 'monday'
1443
1481
  */
1444
- weekStartDay = input('monday', ...(ngDevMode ? [{ debugName: "weekStartDay" }] : []));
1482
+ weekStartDay = input('monday', /* @ts-ignore */
1483
+ ...(ngDevMode ? [{ debugName: "weekStartDay" }] : /* istanbul ignore next */ []));
1445
1484
  /**
1446
1485
  * The active date, the cell which will receive the focus.
1447
1486
  * @defaultValue calendarUtils.today()
1448
1487
  */
1449
- focusedDate = model.required(...(ngDevMode ? [{ debugName: "focusedDate" }] : []));
1488
+ focusedDate = model.required(/* @ts-ignore */
1489
+ ...(ngDevMode ? [{ debugName: "focusedDate" }] : /* istanbul ignore next */ []));
1450
1490
  /** Today button text */
1451
- todayLabel = input(...(ngDevMode ? [undefined, { debugName: "todayLabel" }] : []));
1491
+ todayLabel = input(/* @ts-ignore */
1492
+ ...(ngDevMode ? [undefined, { debugName: "todayLabel" }] : /* istanbul ignore next */ []));
1452
1493
  /** Aria label for calendar week column */
1453
- calendarWeekLabel = input(...(ngDevMode ? [undefined, { debugName: "calendarWeekLabel" }] : []));
1494
+ calendarWeekLabel = input(/* @ts-ignore */
1495
+ ...(ngDevMode ? [undefined, { debugName: "calendarWeekLabel" }] : /* istanbul ignore next */ []));
1454
1496
  /** Emits when the active focused date changed to another month / year, typically during keyboard navigation */
1455
1497
  activeMonthChange = output();
1456
1498
  /** Emits when the user requests a different to show a different view */
1457
1499
  viewChange = output();
1458
- today = computed(() => this.todayLabel() ?? this.todayDefaultText, ...(ngDevMode ? [{ debugName: "today" }] : []));
1500
+ today = computed(() => this.todayLabel() ?? this.todayDefaultText, /* @ts-ignore */
1501
+ ...(ngDevMode ? [{ debugName: "today" }] : /* istanbul ignore next */ []));
1459
1502
  /** The translated list of week days. */
1460
- days = computed(() => getDayStrings(this.locale, this.weekStartDay()), ...(ngDevMode ? [{ debugName: "days" }] : []));
1503
+ days = computed(() => getDayStrings(this.locale, this.weekStartDay()), /* @ts-ignore */
1504
+ ...(ngDevMode ? [{ debugName: "days" }] : /* istanbul ignore next */ []));
1461
1505
  /** The week numbers which are shown as row label */
1462
- weekNumbers = computed(() => this.weeks().map(w => getWeekOfYear(w[0].valueRaw, this.weekStartDay()).toString()), ...(ngDevMode ? [{ debugName: "weekNumbers" }] : []));
1506
+ weekNumbers = computed(() => this.weeks().map(w => getWeekOfYear(w[0].valueRaw, this.weekStartDay()).toString()), /* @ts-ignore */
1507
+ ...(ngDevMode ? [{ debugName: "weekNumbers" }] : /* istanbul ignore next */ []));
1463
1508
  /**
1464
1509
  * The current visible list of calendar days.
1465
1510
  * Every time the focusedDate changes to either another month or year the list will be rebuild.
@@ -1496,11 +1541,13 @@ class SiDaySelectionComponent extends SiInitialFocusComponent {
1496
1541
  });
1497
1542
  }
1498
1543
  return weeks;
1499
- }, ...(ngDevMode ? [{ debugName: "weeks" }] : []));
1544
+ }, /* @ts-ignore */
1545
+ ...(ngDevMode ? [{ debugName: "weeks" }] : /* istanbul ignore next */ []));
1500
1546
  /** Compare date based on the current view */
1501
1547
  compareAdapter = new DayCompareAdapter();
1502
1548
  /** Disable today button if it is the same month */
1503
- isTodayButtonDisabled = computed(() => isSameMonth(today(), this.focusedDate()), ...(ngDevMode ? [{ debugName: "isTodayButtonDisabled" }] : []));
1549
+ isTodayButtonDisabled = computed(() => isSameMonth(today(), this.focusedDate()), /* @ts-ignore */
1550
+ ...(ngDevMode ? [{ debugName: "isTodayButtonDisabled" }] : /* istanbul ignore next */ []));
1504
1551
  /**
1505
1552
  * Indicate the previous button shall be disabled.
1506
1553
  * This happens when the focusedDate is equal or before the minDate.
@@ -1509,7 +1556,8 @@ class SiDaySelectionComponent extends SiInitialFocusComponent {
1509
1556
  const minDate = this.minDate();
1510
1557
  const focusedDate = this.focusedDate();
1511
1558
  return minDate && (isSameMonth(focusedDate, minDate) || isAfterMonth(minDate, focusedDate));
1512
- }, ...(ngDevMode ? [{ debugName: "isPreviousButtonDisabled" }] : []));
1559
+ }, /* @ts-ignore */
1560
+ ...(ngDevMode ? [{ debugName: "isPreviousButtonDisabled" }] : /* istanbul ignore next */ []));
1513
1561
  /**
1514
1562
  * Indicate the next button shall be disabled.
1515
1563
  * This happens when the focusedDate is equal or after the maxDate.
@@ -1518,7 +1566,8 @@ class SiDaySelectionComponent extends SiInitialFocusComponent {
1518
1566
  const maxDate = this.maxDate();
1519
1567
  const focusedDate = this.focusedDate();
1520
1568
  return maxDate && (isSameMonth(focusedDate, maxDate) || isAfterMonth(focusedDate, maxDate));
1521
- }, ...(ngDevMode ? [{ debugName: "isNextButtonDisabled" }] : []));
1569
+ }, /* @ts-ignore */
1570
+ ...(ngDevMode ? [{ debugName: "isNextButtonDisabled" }] : /* istanbul ignore next */ []));
1522
1571
  locale = inject(LOCALE_ID).toString();
1523
1572
  calendarBodyKeyDown(event) {
1524
1573
  const isRtl = isRTL();
@@ -1598,12 +1647,12 @@ class SiDaySelectionComponent extends SiInitialFocusComponent {
1598
1647
  emitViewChange(view) {
1599
1648
  this.viewChange.emit(view);
1600
1649
  }
1601
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDaySelectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1602
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiDaySelectionComponent, isStandalone: true, selector: "si-day-selection", inputs: { hideWeekNumbers: { classPropertyName: "hideWeekNumbers", publicName: "hideWeekNumbers", isSignal: true, isRequired: false, transformFunction: null }, weekStartDay: { classPropertyName: "weekStartDay", publicName: "weekStartDay", isSignal: true, isRequired: false, transformFunction: null }, focusedDate: { classPropertyName: "focusedDate", publicName: "focusedDate", isSignal: true, isRequired: true, transformFunction: null }, todayLabel: { classPropertyName: "todayLabel", publicName: "todayLabel", isSignal: true, isRequired: false, transformFunction: null }, calendarWeekLabel: { classPropertyName: "calendarWeekLabel", publicName: "calendarWeekLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { focusedDate: "focusedDateChange", activeMonthChange: "activeMonthChange", viewChange: "viewChange" }, host: { classAttribute: "d-flex flex-column gap-6" }, usesInheritance: true, ngImport: i0, template: "<div class=\"header\">\n <si-calendar-direction-button\n direction=\"left\"\n [ariaLabel]=\"previousLabel() | translate\"\n [disabled]=\"isPreviousButtonDisabled()\"\n (clicked)=\"setMonthOffset(-1)\"\n />\n <div class=\"flex-fill\">\n <button\n type=\"button\"\n class=\"open-month-view flex-fill text-end px-4 btn btn-tertiary calendar-button\"\n (click)=\"emitViewChange('month')\"\n >\n {{ focusedDate() | date: 'MMMM' }}\n </button>\n <button\n type=\"button\"\n class=\"open-year-view flex-fill text-start px-4 btn btn-tertiary calendar-button\"\n (click)=\"emitViewChange('year')\"\n >\n {{ focusedDate() | date: 'yyyy' }}\n </button>\n </div>\n <si-calendar-direction-button\n direction=\"right\"\n [ariaLabel]=\"nextLabel() | translate\"\n [disabled]=\"isNextButtonDisabled()\"\n (clicked)=\"setMonthOffset(1)\"\n />\n</div>\n<div class=\"calendar-table\">\n <table class=\"px-9\" role=\"grid\">\n <thead class=\"si-calendar-table-header\">\n <tr>\n @if (!hideWeekNumbers()) {\n <th scope=\"col\" class=\"week-num\">\n <span class=\"visually-hidden\">{{ calendarWeekLabel() | translate }}</span>\n </th>\n }\n @for (day of days(); track $index) {\n <th scope=\"col\">\n <span class=\"si-hidden-xs si-hidden-sm\">{{ day }}</span>\n </th>\n }\n </tr>\n </thead>\n <tbody\n si-calendar-body\n rowLabelCssClasses=\"week-num\"\n [focusedDate]=\"focusedDate()\"\n [compareAdapter]=\"compareAdapter\"\n [startDate]=\"startDate()\"\n [endDate]=\"endDate()\"\n [enableRangeSelection]=\"isRangeSelection()\"\n [previewRange]=\"previewRange()\"\n [rows]=\"weeks()\"\n [rowLabels]=\"hideWeekNumbers() ? undefined : weekNumbers()\"\n [activeHover]=\"activeHover()\"\n (activeHoverChange)=\"onActiveHoverChange($event)\"\n (selectedValueChange)=\"emitSelectedValue($event)\"\n (focusedDateChange)=\"emitActiveDate($event!)\"\n (keydown)=\"calendarBodyKeyDown($event)\"\n >\n </tbody>\n </table>\n</div>\n<div class=\"footer ps-8 pe-8\">\n <button\n type=\"button\"\n class=\"today-button btn btn-tertiary flex-fill\"\n [disabled]=\"isTodayButtonDisabled()\"\n (click)=\"goToToday()\"\n >\n {{ today() | translate }}\n </button>\n</div>\n", dependencies: [{ kind: "component", type: SiCalendarBodyComponent, selector: "[si-calendar-body]", inputs: ["focusedDate", "startDate", "endDate", "rows", "rowLabels", "rowLabelCssClasses", "enableRangeSelection", "previewRange", "activeHover", "compareAdapter"], outputs: ["focusedDateChange", "activeHoverChange", "selectedValueChange"], exportAs: ["siCalendarBody"] }, { kind: "component", type: SiCalendarDirectionButtonComponent, selector: "si-calendar-direction-button", inputs: ["ariaLabel", "disabled", "direction"], outputs: ["clicked"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1650
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDaySelectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1651
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiDaySelectionComponent, isStandalone: true, selector: "si-day-selection", inputs: { hideWeekNumbers: { classPropertyName: "hideWeekNumbers", publicName: "hideWeekNumbers", isSignal: true, isRequired: false, transformFunction: null }, weekStartDay: { classPropertyName: "weekStartDay", publicName: "weekStartDay", isSignal: true, isRequired: false, transformFunction: null }, focusedDate: { classPropertyName: "focusedDate", publicName: "focusedDate", isSignal: true, isRequired: true, transformFunction: null }, todayLabel: { classPropertyName: "todayLabel", publicName: "todayLabel", isSignal: true, isRequired: false, transformFunction: null }, calendarWeekLabel: { classPropertyName: "calendarWeekLabel", publicName: "calendarWeekLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { focusedDate: "focusedDateChange", activeMonthChange: "activeMonthChange", viewChange: "viewChange" }, host: { classAttribute: "d-flex flex-column gap-6" }, usesInheritance: true, ngImport: i0, template: "<div class=\"header\">\n <si-calendar-direction-button\n direction=\"left\"\n [ariaLabel]=\"previousLabel() | translate\"\n [disabled]=\"isPreviousButtonDisabled()\"\n (clicked)=\"setMonthOffset(-1)\"\n />\n <div class=\"flex-fill\">\n <button\n type=\"button\"\n class=\"open-month-view flex-fill text-end px-4 btn btn-tertiary calendar-button\"\n (click)=\"emitViewChange('month')\"\n >\n {{ focusedDate() | date: 'MMMM' }}\n </button>\n <button\n type=\"button\"\n class=\"open-year-view flex-fill text-start px-4 btn btn-tertiary calendar-button\"\n (click)=\"emitViewChange('year')\"\n >\n {{ focusedDate() | date: 'yyyy' }}\n </button>\n </div>\n <si-calendar-direction-button\n direction=\"right\"\n [ariaLabel]=\"nextLabel() | translate\"\n [disabled]=\"isNextButtonDisabled()\"\n (clicked)=\"setMonthOffset(1)\"\n />\n</div>\n<div class=\"calendar-table\">\n <table class=\"px-9\" role=\"grid\">\n <thead class=\"si-calendar-table-header\">\n <tr>\n @if (!hideWeekNumbers()) {\n <th scope=\"col\" class=\"week-num\">\n <span class=\"visually-hidden\">{{ calendarWeekLabel() | translate }}</span>\n </th>\n }\n @for (day of days(); track $index) {\n <th scope=\"col\">\n <span class=\"si-hidden-xs si-hidden-sm\">{{ day }}</span>\n </th>\n }\n </tr>\n </thead>\n <tbody\n si-calendar-body\n rowLabelCssClasses=\"week-num\"\n [focusedDate]=\"focusedDate()\"\n [compareAdapter]=\"compareAdapter\"\n [startDate]=\"startDate()\"\n [endDate]=\"endDate()\"\n [enableRangeSelection]=\"isRangeSelection()\"\n [previewRange]=\"previewRange()\"\n [rows]=\"weeks()\"\n [rowLabels]=\"hideWeekNumbers() ? undefined : weekNumbers()\"\n [activeHover]=\"activeHover()\"\n (activeHoverChange)=\"onActiveHoverChange($event)\"\n (selectedValueChange)=\"emitSelectedValue($event)\"\n (focusedDateChange)=\"emitActiveDate($event!)\"\n (keydown)=\"calendarBodyKeyDown($event)\"\n >\n </tbody>\n </table>\n</div>\n<div class=\"footer ps-8 pe-8\">\n <button\n type=\"button\"\n class=\"today-button btn btn-tertiary flex-fill\"\n [disabled]=\"isTodayButtonDisabled()\"\n (click)=\"goToToday()\"\n >\n {{ today() | translate }}\n </button>\n</div>\n", dependencies: [{ kind: "component", type: SiCalendarBodyComponent, selector: "[si-calendar-body]", inputs: ["focusedDate", "startDate", "endDate", "rows", "rowLabels", "rowLabelCssClasses", "enableRangeSelection", "previewRange", "activeHover", "compareAdapter"], outputs: ["focusedDateChange", "activeHoverChange", "selectedValueChange"], exportAs: ["siCalendarBody"] }, { kind: "component", type: SiCalendarDirectionButtonComponent, selector: "si-calendar-direction-button", inputs: ["ariaLabel", "disabled", "direction"], outputs: ["clicked"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
1603
1652
  }
1604
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDaySelectionComponent, decorators: [{
1653
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDaySelectionComponent, decorators: [{
1605
1654
  type: Component,
1606
- args: [{ selector: 'si-day-selection', imports: [DatePipe, SiCalendarBodyComponent, SiCalendarDirectionButtonComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {
1655
+ args: [{ selector: 'si-day-selection', imports: [DatePipe, SiCalendarBodyComponent, SiCalendarDirectionButtonComponent, SiTranslatePipe], host: {
1607
1656
  class: 'd-flex flex-column gap-6'
1608
1657
  }, template: "<div class=\"header\">\n <si-calendar-direction-button\n direction=\"left\"\n [ariaLabel]=\"previousLabel() | translate\"\n [disabled]=\"isPreviousButtonDisabled()\"\n (clicked)=\"setMonthOffset(-1)\"\n />\n <div class=\"flex-fill\">\n <button\n type=\"button\"\n class=\"open-month-view flex-fill text-end px-4 btn btn-tertiary calendar-button\"\n (click)=\"emitViewChange('month')\"\n >\n {{ focusedDate() | date: 'MMMM' }}\n </button>\n <button\n type=\"button\"\n class=\"open-year-view flex-fill text-start px-4 btn btn-tertiary calendar-button\"\n (click)=\"emitViewChange('year')\"\n >\n {{ focusedDate() | date: 'yyyy' }}\n </button>\n </div>\n <si-calendar-direction-button\n direction=\"right\"\n [ariaLabel]=\"nextLabel() | translate\"\n [disabled]=\"isNextButtonDisabled()\"\n (clicked)=\"setMonthOffset(1)\"\n />\n</div>\n<div class=\"calendar-table\">\n <table class=\"px-9\" role=\"grid\">\n <thead class=\"si-calendar-table-header\">\n <tr>\n @if (!hideWeekNumbers()) {\n <th scope=\"col\" class=\"week-num\">\n <span class=\"visually-hidden\">{{ calendarWeekLabel() | translate }}</span>\n </th>\n }\n @for (day of days(); track $index) {\n <th scope=\"col\">\n <span class=\"si-hidden-xs si-hidden-sm\">{{ day }}</span>\n </th>\n }\n </tr>\n </thead>\n <tbody\n si-calendar-body\n rowLabelCssClasses=\"week-num\"\n [focusedDate]=\"focusedDate()\"\n [compareAdapter]=\"compareAdapter\"\n [startDate]=\"startDate()\"\n [endDate]=\"endDate()\"\n [enableRangeSelection]=\"isRangeSelection()\"\n [previewRange]=\"previewRange()\"\n [rows]=\"weeks()\"\n [rowLabels]=\"hideWeekNumbers() ? undefined : weekNumbers()\"\n [activeHover]=\"activeHover()\"\n (activeHoverChange)=\"onActiveHoverChange($event)\"\n (selectedValueChange)=\"emitSelectedValue($event)\"\n (focusedDateChange)=\"emitActiveDate($event!)\"\n (keydown)=\"calendarBodyKeyDown($event)\"\n >\n </tbody>\n </table>\n</div>\n<div class=\"footer ps-8 pe-8\">\n <button\n type=\"button\"\n class=\"today-button btn btn-tertiary flex-fill\"\n [disabled]=\"isTodayButtonDisabled()\"\n (click)=\"goToToday()\"\n >\n {{ today() | translate }}\n </button>\n</div>\n" }]
1609
1658
  }], propDecorators: { hideWeekNumbers: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideWeekNumbers", required: false }] }], weekStartDay: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekStartDay", required: false }] }], focusedDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusedDate", required: true }] }, { type: i0.Output, args: ["focusedDateChange"] }], todayLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "todayLabel", required: false }] }], calendarWeekLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendarWeekLabel", required: false }] }], activeMonthChange: [{ type: i0.Output, args: ["activeMonthChange"] }], viewChange: [{ type: i0.Output, args: ["viewChange"] }] } });
@@ -1622,11 +1671,13 @@ class SiMonthSelectionComponent extends SiInitialFocusComponent {
1622
1671
  *
1623
1672
  * @defaultValue []
1624
1673
  */
1625
- months = input([], ...(ngDevMode ? [{ debugName: "months" }] : []));
1674
+ months = input([], /* @ts-ignore */
1675
+ ...(ngDevMode ? [{ debugName: "months" }] : /* istanbul ignore next */ []));
1626
1676
  /**
1627
1677
  * The active date, the cell which will receive the focus.
1628
1678
  */
1629
- focusedDate = model.required(...(ngDevMode ? [{ debugName: "focusedDate" }] : []));
1679
+ focusedDate = model.required(/* @ts-ignore */
1680
+ ...(ngDevMode ? [{ debugName: "focusedDate" }] : /* istanbul ignore next */ []));
1630
1681
  /** Emits when the active focused date is changed to another month / year, typically during keyboard navigation. */
1631
1682
  activeMonthChange = output();
1632
1683
  /** Emits when the user requests a different to show a different view. */
@@ -1653,7 +1704,8 @@ class SiMonthSelectionComponent extends SiInitialFocusComponent {
1653
1704
  const minDate = this.minDate();
1654
1705
  const focusedDate = this.focusedDate();
1655
1706
  return minDate && (isSameYear(focusedDate, minDate) || isAfterYear(minDate, focusedDate));
1656
- }, ...(ngDevMode ? [{ debugName: "isPreviousButtonDisabled" }] : []));
1707
+ }, /* @ts-ignore */
1708
+ ...(ngDevMode ? [{ debugName: "isPreviousButtonDisabled" }] : /* istanbul ignore next */ []));
1657
1709
  /**
1658
1710
  * Indicate the next button shall be disabled.
1659
1711
  * This happens when the focusedDate is equal or after the maxDate.
@@ -1662,7 +1714,8 @@ class SiMonthSelectionComponent extends SiInitialFocusComponent {
1662
1714
  const maxDate = this.maxDate();
1663
1715
  const focusedDate = this.focusedDate();
1664
1716
  return maxDate && (isSameYear(focusedDate, maxDate) || isAfterYear(focusedDate, maxDate));
1665
- }, ...(ngDevMode ? [{ debugName: "isNextButtonDisabled" }] : []));
1717
+ }, /* @ts-ignore */
1718
+ ...(ngDevMode ? [{ debugName: "isNextButtonDisabled" }] : /* istanbul ignore next */ []));
1666
1719
  ngOnChanges(changes) {
1667
1720
  if (changes.maxDate ||
1668
1721
  changes.minDate ||
@@ -1771,12 +1824,12 @@ class SiMonthSelectionComponent extends SiInitialFocusComponent {
1771
1824
  }
1772
1825
  this.monthCells.push(row);
1773
1826
  }
1774
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiMonthSelectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1775
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: SiMonthSelectionComponent, isStandalone: true, selector: "si-month-selection", inputs: { months: { classPropertyName: "months", publicName: "months", isSignal: true, isRequired: false, transformFunction: null }, focusedDate: { classPropertyName: "focusedDate", publicName: "focusedDate", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { focusedDate: "focusedDateChange", activeMonthChange: "activeMonthChange", viewChange: "viewChange" }, host: { listeners: { "keydown.Escape": "triggerEsc($event)" }, classAttribute: "d-flex flex-column gap-6" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"header\">\n <si-calendar-direction-button\n direction=\"left\"\n [ariaLabel]=\"previousLabel()\"\n [disabled]=\"isPreviousButtonDisabled()\"\n (clicked)=\"setYearOffset(-1)\"\n />\n <button\n type=\"button\"\n class=\"open-year-view flex-fill mx-4 btn btn-tertiary calendar-button\"\n (click)=\"emitViewChange()\"\n >\n {{ focusedDate() | date: 'yyyy' }}\n </button>\n <si-calendar-direction-button\n direction=\"right\"\n [ariaLabel]=\"nextLabel()\"\n [disabled]=\"isNextButtonDisabled()\"\n (clicked)=\"setYearOffset(1)\"\n />\n</div>\n<div class=\"calendar-table\">\n <table class=\"px-9\" role=\"grid\">\n <tbody\n si-calendar-body\n [focusedDate]=\"focusedDate()\"\n [compareAdapter]=\"compareAdapter\"\n [startDate]=\"startDate()\"\n [endDate]=\"endDate()\"\n [enableRangeSelection]=\"isRangeSelection()\"\n [previewRange]=\"previewRange()\"\n [rows]=\"monthCells\"\n [activeHover]=\"activeHover()\"\n (activeHoverChange)=\"onActiveHoverChange($event)\"\n (selectedValueChange)=\"emitSelectedValue($event)\"\n (focusedDateChange)=\"emitFocusedDate($event)\"\n (keydown)=\"calendarBodyKeyDown($event)\"\n >\n </tbody>\n </table>\n</div>\n<div class=\"footer\"></div>\n", dependencies: [{ kind: "component", type: SiCalendarDirectionButtonComponent, selector: "si-calendar-direction-button", inputs: ["ariaLabel", "disabled", "direction"], outputs: ["clicked"] }, { kind: "component", type: SiCalendarBodyComponent, selector: "[si-calendar-body]", inputs: ["focusedDate", "startDate", "endDate", "rows", "rowLabels", "rowLabelCssClasses", "enableRangeSelection", "previewRange", "activeHover", "compareAdapter"], outputs: ["focusedDateChange", "activeHoverChange", "selectedValueChange"], exportAs: ["siCalendarBody"] }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1827
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiMonthSelectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1828
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.8", type: SiMonthSelectionComponent, isStandalone: true, selector: "si-month-selection", inputs: { months: { classPropertyName: "months", publicName: "months", isSignal: true, isRequired: false, transformFunction: null }, focusedDate: { classPropertyName: "focusedDate", publicName: "focusedDate", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { focusedDate: "focusedDateChange", activeMonthChange: "activeMonthChange", viewChange: "viewChange" }, host: { listeners: { "keydown.Escape": "triggerEsc($event)" }, classAttribute: "d-flex flex-column gap-6" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"header\">\n <si-calendar-direction-button\n direction=\"left\"\n [ariaLabel]=\"previousLabel()\"\n [disabled]=\"isPreviousButtonDisabled()\"\n (clicked)=\"setYearOffset(-1)\"\n />\n <button\n type=\"button\"\n class=\"open-year-view flex-fill mx-4 btn btn-tertiary calendar-button\"\n (click)=\"emitViewChange()\"\n >\n {{ focusedDate() | date: 'yyyy' }}\n </button>\n <si-calendar-direction-button\n direction=\"right\"\n [ariaLabel]=\"nextLabel()\"\n [disabled]=\"isNextButtonDisabled()\"\n (clicked)=\"setYearOffset(1)\"\n />\n</div>\n<div class=\"calendar-table\">\n <table class=\"px-9\" role=\"grid\">\n <tbody\n si-calendar-body\n [focusedDate]=\"focusedDate()\"\n [compareAdapter]=\"compareAdapter\"\n [startDate]=\"startDate()\"\n [endDate]=\"endDate()\"\n [enableRangeSelection]=\"isRangeSelection()\"\n [previewRange]=\"previewRange()\"\n [rows]=\"monthCells\"\n [activeHover]=\"activeHover()\"\n (activeHoverChange)=\"onActiveHoverChange($event)\"\n (selectedValueChange)=\"emitSelectedValue($event)\"\n (focusedDateChange)=\"emitFocusedDate($event)\"\n (keydown)=\"calendarBodyKeyDown($event)\"\n >\n </tbody>\n </table>\n</div>\n<div class=\"footer\"></div>\n", dependencies: [{ kind: "component", type: SiCalendarDirectionButtonComponent, selector: "si-calendar-direction-button", inputs: ["ariaLabel", "disabled", "direction"], outputs: ["clicked"] }, { kind: "component", type: SiCalendarBodyComponent, selector: "[si-calendar-body]", inputs: ["focusedDate", "startDate", "endDate", "rows", "rowLabels", "rowLabelCssClasses", "enableRangeSelection", "previewRange", "activeHover", "compareAdapter"], outputs: ["focusedDateChange", "activeHoverChange", "selectedValueChange"], exportAs: ["siCalendarBody"] }, { kind: "pipe", type: DatePipe, name: "date" }] });
1776
1829
  }
1777
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiMonthSelectionComponent, decorators: [{
1830
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiMonthSelectionComponent, decorators: [{
1778
1831
  type: Component,
1779
- args: [{ selector: 'si-month-selection', imports: [SiCalendarDirectionButtonComponent, SiCalendarBodyComponent, DatePipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {
1832
+ args: [{ selector: 'si-month-selection', imports: [SiCalendarDirectionButtonComponent, SiCalendarBodyComponent, DatePipe], host: {
1780
1833
  class: 'd-flex flex-column gap-6'
1781
1834
  }, template: "<div class=\"header\">\n <si-calendar-direction-button\n direction=\"left\"\n [ariaLabel]=\"previousLabel()\"\n [disabled]=\"isPreviousButtonDisabled()\"\n (clicked)=\"setYearOffset(-1)\"\n />\n <button\n type=\"button\"\n class=\"open-year-view flex-fill mx-4 btn btn-tertiary calendar-button\"\n (click)=\"emitViewChange()\"\n >\n {{ focusedDate() | date: 'yyyy' }}\n </button>\n <si-calendar-direction-button\n direction=\"right\"\n [ariaLabel]=\"nextLabel()\"\n [disabled]=\"isNextButtonDisabled()\"\n (clicked)=\"setYearOffset(1)\"\n />\n</div>\n<div class=\"calendar-table\">\n <table class=\"px-9\" role=\"grid\">\n <tbody\n si-calendar-body\n [focusedDate]=\"focusedDate()\"\n [compareAdapter]=\"compareAdapter\"\n [startDate]=\"startDate()\"\n [endDate]=\"endDate()\"\n [enableRangeSelection]=\"isRangeSelection()\"\n [previewRange]=\"previewRange()\"\n [rows]=\"monthCells\"\n [activeHover]=\"activeHover()\"\n (activeHoverChange)=\"onActiveHoverChange($event)\"\n (selectedValueChange)=\"emitSelectedValue($event)\"\n (focusedDateChange)=\"emitFocusedDate($event)\"\n (keydown)=\"calendarBodyKeyDown($event)\"\n >\n </tbody>\n </table>\n</div>\n<div class=\"footer\"></div>\n" }]
1782
1835
  }], propDecorators: { months: [{ type: i0.Input, args: [{ isSignal: true, alias: "months", required: false }] }], focusedDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusedDate", required: true }] }, { type: i0.Output, args: ["focusedDateChange"] }], activeMonthChange: [{ type: i0.Output, args: ["activeMonthChange"] }], viewChange: [{ type: i0.Output, args: ["viewChange"] }], triggerEsc: [{
@@ -1796,7 +1849,8 @@ class SiYearSelectionComponent extends SiInitialFocusComponent {
1796
1849
  /**
1797
1850
  * The active date, the cell which will receive the focus.
1798
1851
  */
1799
- focusedDate = model.required(...(ngDevMode ? [{ debugName: "focusedDate" }] : []));
1852
+ focusedDate = model.required(/* @ts-ignore */
1853
+ ...(ngDevMode ? [{ debugName: "focusedDate" }] : /* istanbul ignore next */ []));
1800
1854
  /** Emits when the active focused date changed to another month / year, typically during keyboard navigation. */
1801
1855
  yearRangeChange = output();
1802
1856
  /** Listen Escape event to switch view back */
@@ -1810,9 +1864,11 @@ class SiYearSelectionComponent extends SiInitialFocusComponent {
1810
1864
  /** The number of years which shall be displayed, this number should be even and dividable by columnCount */
1811
1865
  yearsToDisplay = 18;
1812
1866
  /** Lower windows bound for displayed year range */
1813
- fromYear = signal(undefined, ...(ngDevMode ? [{ debugName: "fromYear" }] : []));
1867
+ fromYear = signal(undefined, /* @ts-ignore */
1868
+ ...(ngDevMode ? [{ debugName: "fromYear" }] : /* istanbul ignore next */ []));
1814
1869
  /** Upper windows bound for displayed year range */
1815
- toYear = signal(undefined, ...(ngDevMode ? [{ debugName: "toYear" }] : []));
1870
+ toYear = signal(undefined, /* @ts-ignore */
1871
+ ...(ngDevMode ? [{ debugName: "toYear" }] : /* istanbul ignore next */ []));
1816
1872
  /**
1817
1873
  * The current visible list of calendar years.
1818
1874
  * Every time the focusedDate changes to another year the list will be rebuilt.
@@ -1829,7 +1885,8 @@ class SiYearSelectionComponent extends SiInitialFocusComponent {
1829
1885
  const min = minDate(minDate$1, minMonth);
1830
1886
  return (this.compareAdapter.isEqual(this.fromYear(), min) ||
1831
1887
  this.compareAdapter.isAfter(min, this.fromYear()));
1832
- }, ...(ngDevMode ? [{ debugName: "isPreviousButtonDisabled" }] : []));
1888
+ }, /* @ts-ignore */
1889
+ ...(ngDevMode ? [{ debugName: "isPreviousButtonDisabled" }] : /* istanbul ignore next */ []));
1833
1890
  /** Is next button disabled based on the maxDate */
1834
1891
  isNextButtonDisabled = computed(() => {
1835
1892
  const maxDate = this.maxDate();
@@ -1838,7 +1895,8 @@ class SiYearSelectionComponent extends SiInitialFocusComponent {
1838
1895
  }
1839
1896
  return (this.compareAdapter.isEqual(this.toYear(), maxDate) ||
1840
1897
  this.compareAdapter.isAfter(this.toYear(), maxDate));
1841
- }, ...(ngDevMode ? [{ debugName: "isNextButtonDisabled" }] : []));
1898
+ }, /* @ts-ignore */
1899
+ ...(ngDevMode ? [{ debugName: "isNextButtonDisabled" }] : /* istanbul ignore next */ []));
1842
1900
  ngOnChanges(changes) {
1843
1901
  if (changes.startDate || changes.focusedDate || changes.maxDate || changes.minDate) {
1844
1902
  this.initView();
@@ -1982,12 +2040,12 @@ class SiYearSelectionComponent extends SiInitialFocusComponent {
1982
2040
  this.initView();
1983
2041
  }
1984
2042
  }
1985
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiYearSelectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1986
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: SiYearSelectionComponent, isStandalone: true, selector: "si-year-selection", inputs: { focusedDate: { classPropertyName: "focusedDate", publicName: "focusedDate", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { focusedDate: "focusedDateChange", yearRangeChange: "yearRangeChange" }, host: { listeners: { "keydown.Escape": "triggerEsc($event)" }, classAttribute: "d-flex flex-column gap-6" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"header\">\n <si-calendar-direction-button\n direction=\"left\"\n [ariaLabel]=\"previousLabel()\"\n [disabled]=\"isPreviousButtonDisabled()\"\n (clicked)=\"changeVisibleYearRange(-1)\"\n />\n <span class=\"year-range-label flex-fill mx-4 si-h4 text-secondary calendar-button\">\n {{ fromYear() | date: 'yyyy' }} - {{ toYear() | date: 'yyyy' }}\n </span>\n <si-calendar-direction-button\n direction=\"right\"\n [ariaLabel]=\"nextLabel()\"\n [disabled]=\"isNextButtonDisabled()\"\n (clicked)=\"changeVisibleYearRange(1)\"\n />\n</div>\n<div class=\"calendar-table\">\n <table class=\"px-9\" role=\"grid\">\n <tbody\n si-calendar-body\n [focusedDate]=\"focusedDate()\"\n [compareAdapter]=\"compareAdapter\"\n [startDate]=\"startDate()\"\n [endDate]=\"endDate()\"\n [enableRangeSelection]=\"isRangeSelection()\"\n [previewRange]=\"previewRange()\"\n [rows]=\"yearCells\"\n (selectedValueChange)=\"emitSelectedValue($event)\"\n (keydown)=\"calendarBodyKeyDown($event)\"\n >\n </tbody>\n </table>\n</div>\n<div class=\"footer\"></div>\n", dependencies: [{ kind: "component", type: SiCalendarDirectionButtonComponent, selector: "si-calendar-direction-button", inputs: ["ariaLabel", "disabled", "direction"], outputs: ["clicked"] }, { kind: "component", type: SiCalendarBodyComponent, selector: "[si-calendar-body]", inputs: ["focusedDate", "startDate", "endDate", "rows", "rowLabels", "rowLabelCssClasses", "enableRangeSelection", "previewRange", "activeHover", "compareAdapter"], outputs: ["focusedDateChange", "activeHoverChange", "selectedValueChange"], exportAs: ["siCalendarBody"] }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2043
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiYearSelectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2044
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.8", type: SiYearSelectionComponent, isStandalone: true, selector: "si-year-selection", inputs: { focusedDate: { classPropertyName: "focusedDate", publicName: "focusedDate", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { focusedDate: "focusedDateChange", yearRangeChange: "yearRangeChange" }, host: { listeners: { "keydown.Escape": "triggerEsc($event)" }, classAttribute: "d-flex flex-column gap-6" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"header\">\n <si-calendar-direction-button\n direction=\"left\"\n [ariaLabel]=\"previousLabel()\"\n [disabled]=\"isPreviousButtonDisabled()\"\n (clicked)=\"changeVisibleYearRange(-1)\"\n />\n <span class=\"year-range-label flex-fill mx-4 si-h4 text-secondary calendar-button\">\n {{ fromYear() | date: 'yyyy' }} - {{ toYear() | date: 'yyyy' }}\n </span>\n <si-calendar-direction-button\n direction=\"right\"\n [ariaLabel]=\"nextLabel()\"\n [disabled]=\"isNextButtonDisabled()\"\n (clicked)=\"changeVisibleYearRange(1)\"\n />\n</div>\n<div class=\"calendar-table\">\n <table class=\"px-9\" role=\"grid\">\n <tbody\n si-calendar-body\n [focusedDate]=\"focusedDate()\"\n [compareAdapter]=\"compareAdapter\"\n [startDate]=\"startDate()\"\n [endDate]=\"endDate()\"\n [enableRangeSelection]=\"isRangeSelection()\"\n [previewRange]=\"previewRange()\"\n [rows]=\"yearCells\"\n (selectedValueChange)=\"emitSelectedValue($event)\"\n (keydown)=\"calendarBodyKeyDown($event)\"\n >\n </tbody>\n </table>\n</div>\n<div class=\"footer\"></div>\n", dependencies: [{ kind: "component", type: SiCalendarDirectionButtonComponent, selector: "si-calendar-direction-button", inputs: ["ariaLabel", "disabled", "direction"], outputs: ["clicked"] }, { kind: "component", type: SiCalendarBodyComponent, selector: "[si-calendar-body]", inputs: ["focusedDate", "startDate", "endDate", "rows", "rowLabels", "rowLabelCssClasses", "enableRangeSelection", "previewRange", "activeHover", "compareAdapter"], outputs: ["focusedDateChange", "activeHoverChange", "selectedValueChange"], exportAs: ["siCalendarBody"] }, { kind: "pipe", type: DatePipe, name: "date" }] });
1987
2045
  }
1988
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiYearSelectionComponent, decorators: [{
2046
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiYearSelectionComponent, decorators: [{
1989
2047
  type: Component,
1990
- args: [{ selector: 'si-year-selection', imports: [SiCalendarDirectionButtonComponent, SiCalendarBodyComponent, DatePipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {
2048
+ args: [{ selector: 'si-year-selection', imports: [SiCalendarDirectionButtonComponent, SiCalendarBodyComponent, DatePipe], host: {
1991
2049
  class: 'd-flex flex-column gap-6'
1992
2050
  }, template: "<div class=\"header\">\n <si-calendar-direction-button\n direction=\"left\"\n [ariaLabel]=\"previousLabel()\"\n [disabled]=\"isPreviousButtonDisabled()\"\n (clicked)=\"changeVisibleYearRange(-1)\"\n />\n <span class=\"year-range-label flex-fill mx-4 si-h4 text-secondary calendar-button\">\n {{ fromYear() | date: 'yyyy' }} - {{ toYear() | date: 'yyyy' }}\n </span>\n <si-calendar-direction-button\n direction=\"right\"\n [ariaLabel]=\"nextLabel()\"\n [disabled]=\"isNextButtonDisabled()\"\n (clicked)=\"changeVisibleYearRange(1)\"\n />\n</div>\n<div class=\"calendar-table\">\n <table class=\"px-9\" role=\"grid\">\n <tbody\n si-calendar-body\n [focusedDate]=\"focusedDate()\"\n [compareAdapter]=\"compareAdapter\"\n [startDate]=\"startDate()\"\n [endDate]=\"endDate()\"\n [enableRangeSelection]=\"isRangeSelection()\"\n [previewRange]=\"previewRange()\"\n [rows]=\"yearCells\"\n (selectedValueChange)=\"emitSelectedValue($event)\"\n (keydown)=\"calendarBodyKeyDown($event)\"\n >\n </tbody>\n </table>\n</div>\n<div class=\"footer\"></div>\n" }]
1993
2051
  }], propDecorators: { focusedDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusedDate", required: true }] }, { type: i0.Output, args: ["focusedDateChange"] }], yearRangeChange: [{ type: i0.Output, args: ["yearRangeChange"] }], triggerEsc: [{
@@ -2010,7 +2068,8 @@ class SiTimepickerComponent {
2010
2068
  * `__si-timepicker-${SiTimepickerComponent.idCounter++}`
2011
2069
  * ```
2012
2070
  */
2013
- id = input(`__si-timepicker-${SiTimepickerComponent.idCounter++}`, ...(ngDevMode ? [{ debugName: "id" }] : []));
2071
+ id = input(`__si-timepicker-${SiTimepickerComponent.idCounter++}`, /* @ts-ignore */
2072
+ ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
2014
2073
  labelledby = inject(new HostAttributeToken('aria-labelledby'), {
2015
2074
  optional: true
2016
2075
  }) ?? `${this.id()}-label`;
@@ -2020,146 +2079,165 @@ class SiTimepickerComponent {
2020
2079
  * @defaultValue false
2021
2080
  */
2022
2081
  // eslint-disable-next-line @angular-eslint/no-input-rename
2023
- disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : {}), alias: 'disabled' });
2082
+ disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : /* istanbul ignore next */ {}), alias: 'disabled' });
2024
2083
  /**
2025
2084
  * Visible label for the hours input.
2026
2085
  *
2027
2086
  * @defaultValue 'hh'
2028
2087
  */
2029
- hoursLabel = input('hh', ...(ngDevMode ? [{ debugName: "hoursLabel" }] : []));
2088
+ hoursLabel = input('hh', /* @ts-ignore */
2089
+ ...(ngDevMode ? [{ debugName: "hoursLabel" }] : /* istanbul ignore next */ []));
2030
2090
  /**
2031
2091
  * Visible label for the minutes input.
2032
2092
  *
2033
2093
  * @defaultValue 'mm'
2034
2094
  */
2035
- minutesLabel = input('mm', ...(ngDevMode ? [{ debugName: "minutesLabel" }] : []));
2095
+ minutesLabel = input('mm', /* @ts-ignore */
2096
+ ...(ngDevMode ? [{ debugName: "minutesLabel" }] : /* istanbul ignore next */ []));
2036
2097
  /**
2037
2098
  * Visible label for the seconds input.
2038
2099
  *
2039
2100
  * @defaultValue 'ss'
2040
2101
  */
2041
- secondsLabel = input('ss', ...(ngDevMode ? [{ debugName: "secondsLabel" }] : []));
2102
+ secondsLabel = input('ss', /* @ts-ignore */
2103
+ ...(ngDevMode ? [{ debugName: "secondsLabel" }] : /* istanbul ignore next */ []));
2042
2104
  /**
2043
2105
  * Visible label for the milliseconds input.
2044
2106
  *
2045
2107
  * @defaultValue 'ms'
2046
2108
  */
2047
- millisecondsLabel = input('ms', ...(ngDevMode ? [{ debugName: "millisecondsLabel" }] : []));
2109
+ millisecondsLabel = input('ms', /* @ts-ignore */
2110
+ ...(ngDevMode ? [{ debugName: "millisecondsLabel" }] : /* istanbul ignore next */ []));
2048
2111
  /**
2049
2112
  * Hide the labels of the input fields.
2050
2113
  * @defaultValue false
2051
2114
  */
2052
- hideLabels = input(false, { ...(ngDevMode ? { debugName: "hideLabels" } : {}), transform: booleanAttribute });
2115
+ hideLabels = input(false, { ...(ngDevMode ? { debugName: "hideLabels" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
2053
2116
  /**
2054
2117
  * @defaultValue
2055
2118
  * ```
2056
2119
  * t(() => $localize`:@@SI_DATEPICKER.HOURS:Hours`)
2057
2120
  * ```
2058
2121
  */
2059
- hoursAriaLabel = input(t(() => $localize `:@@SI_DATEPICKER.HOURS:Hours`), ...(ngDevMode ? [{ debugName: "hoursAriaLabel" }] : []));
2122
+ hoursAriaLabel = input(t(() => $localize `:@@SI_DATEPICKER.HOURS:Hours`), /* @ts-ignore */
2123
+ ...(ngDevMode ? [{ debugName: "hoursAriaLabel" }] : /* istanbul ignore next */ []));
2060
2124
  /**
2061
2125
  * @defaultValue
2062
2126
  * ```
2063
2127
  * t(() => $localize`:@@SI_DATEPICKER.MINUTES:Minutes`)
2064
2128
  * ```
2065
2129
  */
2066
- minutesAriaLabel = input(t(() => $localize `:@@SI_DATEPICKER.MINUTES:Minutes`), ...(ngDevMode ? [{ debugName: "minutesAriaLabel" }] : []));
2130
+ minutesAriaLabel = input(t(() => $localize `:@@SI_DATEPICKER.MINUTES:Minutes`), /* @ts-ignore */
2131
+ ...(ngDevMode ? [{ debugName: "minutesAriaLabel" }] : /* istanbul ignore next */ []));
2067
2132
  /**
2068
2133
  * @defaultValue
2069
2134
  * ```
2070
2135
  * t(() => $localize`:@@SI_DATEPICKER.SECONDS:Seconds`)
2071
2136
  * ```
2072
2137
  */
2073
- secondsAriaLabel = input(t(() => $localize `:@@SI_DATEPICKER.SECONDS:Seconds`), ...(ngDevMode ? [{ debugName: "secondsAriaLabel" }] : []));
2138
+ secondsAriaLabel = input(t(() => $localize `:@@SI_DATEPICKER.SECONDS:Seconds`), /* @ts-ignore */
2139
+ ...(ngDevMode ? [{ debugName: "secondsAriaLabel" }] : /* istanbul ignore next */ []));
2074
2140
  /**
2075
2141
  * @defaultValue
2076
2142
  * ```
2077
2143
  * t(() => $localize`:@@SI_DATEPICKER.MILLISECONDS:Milliseconds`)
2078
2144
  * ```
2079
2145
  */
2080
- millisecondsAriaLabel = input(t(() => $localize `:@@SI_DATEPICKER.MILLISECONDS:Milliseconds`), ...(ngDevMode ? [{ debugName: "millisecondsAriaLabel" }] : []));
2146
+ millisecondsAriaLabel = input(t(() => $localize `:@@SI_DATEPICKER.MILLISECONDS:Milliseconds`), /* @ts-ignore */
2147
+ ...(ngDevMode ? [{ debugName: "millisecondsAriaLabel" }] : /* istanbul ignore next */ []));
2081
2148
  /**
2082
2149
  * Placeholder for the hours input.
2083
2150
  *
2084
2151
  * @defaultValue 'hh'
2085
2152
  */
2086
- hoursPlaceholder = input('hh', ...(ngDevMode ? [{ debugName: "hoursPlaceholder" }] : []));
2153
+ hoursPlaceholder = input('hh', /* @ts-ignore */
2154
+ ...(ngDevMode ? [{ debugName: "hoursPlaceholder" }] : /* istanbul ignore next */ []));
2087
2155
  /**
2088
2156
  * Placeholder for the minutes input.
2089
2157
  *
2090
2158
  * @defaultValue 'mm'
2091
2159
  */
2092
- minutesPlaceholder = input('mm', ...(ngDevMode ? [{ debugName: "minutesPlaceholder" }] : []));
2160
+ minutesPlaceholder = input('mm', /* @ts-ignore */
2161
+ ...(ngDevMode ? [{ debugName: "minutesPlaceholder" }] : /* istanbul ignore next */ []));
2093
2162
  /**
2094
2163
  * Placeholder for the seconds input.
2095
2164
  *
2096
2165
  * @defaultValue 'ss'
2097
2166
  */
2098
- secondsPlaceholder = input('ss', ...(ngDevMode ? [{ debugName: "secondsPlaceholder" }] : []));
2167
+ secondsPlaceholder = input('ss', /* @ts-ignore */
2168
+ ...(ngDevMode ? [{ debugName: "secondsPlaceholder" }] : /* istanbul ignore next */ []));
2099
2169
  /**
2100
2170
  * Placeholder for the milliseconds input.
2101
2171
  *
2102
2172
  * @defaultValue 'ms'
2103
2173
  */
2104
- millisecondsPlaceholder = input('ms', ...(ngDevMode ? [{ debugName: "millisecondsPlaceholder" }] : []));
2174
+ millisecondsPlaceholder = input('ms', /* @ts-ignore */
2175
+ ...(ngDevMode ? [{ debugName: "millisecondsPlaceholder" }] : /* istanbul ignore next */ []));
2105
2176
  /** Custom labels for the AM and PM options. */
2106
- meridians = input(...(ngDevMode ? [undefined, { debugName: "meridians" }] : []));
2177
+ meridians = input(/* @ts-ignore */
2178
+ ...(ngDevMode ? [undefined, { debugName: "meridians" }] : /* istanbul ignore next */ []));
2107
2179
  /**
2108
2180
  * Visible label for the AM/PM selector.
2109
2181
  *
2110
2182
  * @defaultValue 'am/pm'
2111
2183
  */
2112
- meridiansLabel = input('am/pm', ...(ngDevMode ? [{ debugName: "meridiansLabel" }] : []));
2184
+ meridiansLabel = input('am/pm', /* @ts-ignore */
2185
+ ...(ngDevMode ? [{ debugName: "meridiansLabel" }] : /* istanbul ignore next */ []));
2113
2186
  /**
2114
2187
  * @defaultValue
2115
2188
  * ```
2116
2189
  * t(() => $localize`:@@SI_DATEPICKER.PERIOD:Period`)
2117
2190
  * ```
2118
2191
  */
2119
- meridiansAriaLabel = input(t(() => $localize `:@@SI_DATEPICKER.PERIOD:Period`), ...(ngDevMode ? [{ debugName: "meridiansAriaLabel" }] : []));
2192
+ meridiansAriaLabel = input(t(() => $localize `:@@SI_DATEPICKER.PERIOD:Period`), /* @ts-ignore */
2193
+ ...(ngDevMode ? [{ debugName: "meridiansAriaLabel" }] : /* istanbul ignore next */ []));
2120
2194
  /**
2121
2195
  * Whether the minutes input is displayed.
2122
2196
  *
2123
2197
  * @defaultValue true
2124
2198
  */
2125
- showMinutes = input(true, { ...(ngDevMode ? { debugName: "showMinutes" } : {}), transform: booleanAttribute });
2199
+ showMinutes = input(true, { ...(ngDevMode ? { debugName: "showMinutes" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
2126
2200
  /**
2127
2201
  * Whether the seconds input is displayed.
2128
2202
  *
2129
2203
  * @defaultValue false
2130
2204
  */
2131
- showSeconds = input(false, { ...(ngDevMode ? { debugName: "showSeconds" } : {}), transform: booleanAttribute });
2205
+ showSeconds = input(false, { ...(ngDevMode ? { debugName: "showSeconds" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
2132
2206
  /**
2133
2207
  * Whether the milliseconds input is displayed.
2134
2208
  *
2135
2209
  * @defaultValue false
2136
2210
  */
2137
- showMilliseconds = input(false, { ...(ngDevMode ? { debugName: "showMilliseconds" } : {}), transform: booleanAttribute });
2211
+ showMilliseconds = input(false, { ...(ngDevMode ? { debugName: "showMilliseconds" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
2138
2212
  /**
2139
2213
  * Show time in 12-hour period including the select to toggle between AM/PM.
2140
2214
  */
2141
- showMeridian = input(...(ngDevMode ? [undefined, { debugName: "showMeridian" }] : []));
2215
+ showMeridian = input(/* @ts-ignore */
2216
+ ...(ngDevMode ? [undefined, { debugName: "showMeridian" }] : /* istanbul ignore next */ []));
2142
2217
  /**
2143
2218
  * A minimum time limit. The date part of the date object will be ignored.
2144
2219
  */
2145
- min = input(...(ngDevMode ? [undefined, { debugName: "min" }] : []));
2220
+ min = input(/* @ts-ignore */
2221
+ ...(ngDevMode ? [undefined, { debugName: "min" }] : /* istanbul ignore next */ []));
2146
2222
  /**
2147
2223
  * A maximum time limit. The date part of the date object will be ignored.
2148
2224
  */
2149
- max = input(...(ngDevMode ? [undefined, { debugName: "max" }] : []));
2225
+ max = input(/* @ts-ignore */
2226
+ ...(ngDevMode ? [undefined, { debugName: "max" }] : /* istanbul ignore next */ []));
2150
2227
  /**
2151
2228
  * Whether the time inputs are read-only.
2152
2229
  *
2153
2230
  * @defaultValue false
2154
2231
  */
2155
- readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : {}), transform: booleanAttribute });
2232
+ readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
2156
2233
  /** Emits whether the entered time components form a valid time. */
2157
2234
  isValid = output();
2158
2235
  /** Emits the selected meridian when it changes. */
2159
2236
  meridianChange = output();
2160
2237
  /** Emits when the user presses Enter in the final time input. */
2161
2238
  inputCompleted = output();
2162
- inputParts = viewChildren('inputPart', ...(ngDevMode ? [{ debugName: "inputParts" }] : []));
2239
+ inputParts = viewChildren('inputPart', /* @ts-ignore */
2240
+ ...(ngDevMode ? [{ debugName: "inputParts" }] : /* istanbul ignore next */ []));
2163
2241
  /**
2164
2242
  * This ID will be bound to the `aria-describedby` attribute of the timepicker.
2165
2243
  * Use this to reference the element containing the error message(s) for the timepicker.
@@ -2170,17 +2248,22 @@ class SiTimepickerComponent {
2170
2248
  * `${this.id()}-errormessage`
2171
2249
  * ```
2172
2250
  */
2173
- errormessageId = input(`${this.id()}-errormessage`, ...(ngDevMode ? [{ debugName: "errormessageId" }] : []));
2251
+ errormessageId = input(`${this.id()}-errormessage`, /* @ts-ignore */
2252
+ ...(ngDevMode ? [{ debugName: "errormessageId" }] : /* istanbul ignore next */ []));
2174
2253
  onChange = () => { };
2175
2254
  onTouched = () => { };
2176
2255
  // The following are the time values for the ui.
2177
2256
  periods = computed(() => {
2178
2257
  const meridians = this.meridians();
2179
2258
  return meridians?.length ? meridians : this.periodDefaults;
2180
- }, ...(ngDevMode ? [{ debugName: "periods" }] : []));
2181
- use12HourClock = computed(() => this.showMeridian() ?? getLocaleTimeFormat(this.locale, FormatWidth.Full).includes('a'), ...(ngDevMode ? [{ debugName: "use12HourClock" }] : []));
2182
- disabled = computed(() => this.disabledInput() || this.disabledNgControl(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
2183
- meridian = signal('', ...(ngDevMode ? [{ debugName: "meridian" }] : []));
2259
+ }, /* @ts-ignore */
2260
+ ...(ngDevMode ? [{ debugName: "periods" }] : /* istanbul ignore next */ []));
2261
+ use12HourClock = computed(() => this.showMeridian() ?? getLocaleTimeFormat(this.locale, FormatWidth.Full).includes('a'), /* @ts-ignore */
2262
+ ...(ngDevMode ? [{ debugName: "use12HourClock" }] : /* istanbul ignore next */ []));
2263
+ disabled = computed(() => this.disabledInput() || this.disabledNgControl(), /* @ts-ignore */
2264
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
2265
+ meridian = signal('', /* @ts-ignore */
2266
+ ...(ngDevMode ? [{ debugName: "meridian" }] : /* istanbul ignore next */ []));
2184
2267
  units = computed(() => {
2185
2268
  const config = [
2186
2269
  {
@@ -2224,7 +2307,8 @@ class SiTimepickerComponent {
2224
2307
  });
2225
2308
  }
2226
2309
  return config;
2227
- }, ...(ngDevMode ? [{ debugName: "units" }] : []));
2310
+ }, /* @ts-ignore */
2311
+ ...(ngDevMode ? [{ debugName: "units" }] : /* istanbul ignore next */ []));
2228
2312
  /* Input fields state */
2229
2313
  timeControls = this.formBuilder.group({
2230
2314
  hours: this.formBuilder.nonNullable.control('', [this.validateTime('hours')]),
@@ -2243,7 +2327,8 @@ class SiTimepickerComponent {
2243
2327
  }
2244
2328
  return false;
2245
2329
  }
2246
- disabledNgControl = signal(false, ...(ngDevMode ? [{ debugName: "disabledNgControl" }] : []));
2330
+ disabledNgControl = signal(false, /* @ts-ignore */
2331
+ ...(ngDevMode ? [{ debugName: "disabledNgControl" }] : /* istanbul ignore next */ []));
2247
2332
  /**
2248
2333
  * Holds the time as date object that is presented by this control.
2249
2334
  */
@@ -2596,8 +2681,8 @@ class SiTimepickerComponent {
2596
2681
  return null;
2597
2682
  };
2598
2683
  }
2599
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiTimepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2600
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiTimepickerComponent, isStandalone: true, selector: "si-timepicker", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hoursLabel: { classPropertyName: "hoursLabel", publicName: "hoursLabel", isSignal: true, isRequired: false, transformFunction: null }, minutesLabel: { classPropertyName: "minutesLabel", publicName: "minutesLabel", isSignal: true, isRequired: false, transformFunction: null }, secondsLabel: { classPropertyName: "secondsLabel", publicName: "secondsLabel", isSignal: true, isRequired: false, transformFunction: null }, millisecondsLabel: { classPropertyName: "millisecondsLabel", publicName: "millisecondsLabel", isSignal: true, isRequired: false, transformFunction: null }, hideLabels: { classPropertyName: "hideLabels", publicName: "hideLabels", isSignal: true, isRequired: false, transformFunction: null }, hoursAriaLabel: { classPropertyName: "hoursAriaLabel", publicName: "hoursAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, minutesAriaLabel: { classPropertyName: "minutesAriaLabel", publicName: "minutesAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, secondsAriaLabel: { classPropertyName: "secondsAriaLabel", publicName: "secondsAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, millisecondsAriaLabel: { classPropertyName: "millisecondsAriaLabel", publicName: "millisecondsAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, hoursPlaceholder: { classPropertyName: "hoursPlaceholder", publicName: "hoursPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, minutesPlaceholder: { classPropertyName: "minutesPlaceholder", publicName: "minutesPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, secondsPlaceholder: { classPropertyName: "secondsPlaceholder", publicName: "secondsPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, millisecondsPlaceholder: { classPropertyName: "millisecondsPlaceholder", publicName: "millisecondsPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, meridians: { classPropertyName: "meridians", publicName: "meridians", isSignal: true, isRequired: false, transformFunction: null }, meridiansLabel: { classPropertyName: "meridiansLabel", publicName: "meridiansLabel", isSignal: true, isRequired: false, transformFunction: null }, meridiansAriaLabel: { classPropertyName: "meridiansAriaLabel", publicName: "meridiansAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, showMinutes: { classPropertyName: "showMinutes", publicName: "showMinutes", isSignal: true, isRequired: false, transformFunction: null }, showSeconds: { classPropertyName: "showSeconds", publicName: "showSeconds", isSignal: true, isRequired: false, transformFunction: null }, showMilliseconds: { classPropertyName: "showMilliseconds", publicName: "showMilliseconds", isSignal: true, isRequired: false, transformFunction: null }, showMeridian: { classPropertyName: "showMeridian", publicName: "showMeridian", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, errormessageId: { classPropertyName: "errormessageId", publicName: "errormessageId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isValid: "isValid", meridianChange: "meridianChange", inputCompleted: "inputCompleted" }, host: { attributes: { "role": "group" }, properties: { "class.readonly": "readonly()", "attr.aria-labelledby": "labelledby" }, classAttribute: "form-custom-control" }, providers: [
2684
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiTimepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2685
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiTimepickerComponent, isStandalone: true, selector: "si-timepicker", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hoursLabel: { classPropertyName: "hoursLabel", publicName: "hoursLabel", isSignal: true, isRequired: false, transformFunction: null }, minutesLabel: { classPropertyName: "minutesLabel", publicName: "minutesLabel", isSignal: true, isRequired: false, transformFunction: null }, secondsLabel: { classPropertyName: "secondsLabel", publicName: "secondsLabel", isSignal: true, isRequired: false, transformFunction: null }, millisecondsLabel: { classPropertyName: "millisecondsLabel", publicName: "millisecondsLabel", isSignal: true, isRequired: false, transformFunction: null }, hideLabels: { classPropertyName: "hideLabels", publicName: "hideLabels", isSignal: true, isRequired: false, transformFunction: null }, hoursAriaLabel: { classPropertyName: "hoursAriaLabel", publicName: "hoursAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, minutesAriaLabel: { classPropertyName: "minutesAriaLabel", publicName: "minutesAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, secondsAriaLabel: { classPropertyName: "secondsAriaLabel", publicName: "secondsAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, millisecondsAriaLabel: { classPropertyName: "millisecondsAriaLabel", publicName: "millisecondsAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, hoursPlaceholder: { classPropertyName: "hoursPlaceholder", publicName: "hoursPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, minutesPlaceholder: { classPropertyName: "minutesPlaceholder", publicName: "minutesPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, secondsPlaceholder: { classPropertyName: "secondsPlaceholder", publicName: "secondsPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, millisecondsPlaceholder: { classPropertyName: "millisecondsPlaceholder", publicName: "millisecondsPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, meridians: { classPropertyName: "meridians", publicName: "meridians", isSignal: true, isRequired: false, transformFunction: null }, meridiansLabel: { classPropertyName: "meridiansLabel", publicName: "meridiansLabel", isSignal: true, isRequired: false, transformFunction: null }, meridiansAriaLabel: { classPropertyName: "meridiansAriaLabel", publicName: "meridiansAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, showMinutes: { classPropertyName: "showMinutes", publicName: "showMinutes", isSignal: true, isRequired: false, transformFunction: null }, showSeconds: { classPropertyName: "showSeconds", publicName: "showSeconds", isSignal: true, isRequired: false, transformFunction: null }, showMilliseconds: { classPropertyName: "showMilliseconds", publicName: "showMilliseconds", isSignal: true, isRequired: false, transformFunction: null }, showMeridian: { classPropertyName: "showMeridian", publicName: "showMeridian", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, errormessageId: { classPropertyName: "errormessageId", publicName: "errormessageId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isValid: "isValid", meridianChange: "meridianChange", inputCompleted: "inputCompleted" }, host: { attributes: { "role": "group" }, properties: { "class.readonly": "readonly()", "attr.aria-labelledby": "labelledby" }, classAttribute: "form-custom-control" }, providers: [
2601
2686
  {
2602
2687
  provide: NG_VALUE_ACCESSOR,
2603
2688
  useExisting: SiTimepickerComponent,
@@ -2612,9 +2697,9 @@ class SiTimepickerComponent {
2612
2697
  provide: SI_FORM_ITEM_CONTROL,
2613
2698
  useExisting: SiTimepickerComponent
2614
2699
  }
2615
- ], viewQueries: [{ propertyName: "inputParts", predicate: ["inputPart"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\n class=\"d-flex flex-row flex-wrap\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"focusChange($event)\"\n>\n @for (config of units(); track $index) {\n @if (!$first) {\n <ng-container *ngTemplateOutlet=\"separator; context: { separator: config.separator }\" />\n }\n <label>\n @if (!hideLabels()) {\n <span class=\"form-label\">{{ (config.label | translate) || '&nbsp;' }}</span>\n }\n <input\n #inputPart\n autocomplete=\"off\"\n class=\"form-control hide-feedback-icon\"\n type=\"text\"\n inputmode=\"numeric\"\n [attr.aria-label]=\"config.ariaLabel | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [attr.maxlength]=\"config.maxLength\"\n [formControl]=\"timeControls.controls[config.name]\"\n [name]=\"config.name\"\n [placeholder]=\"config.placeholder\"\n [readonly]=\"readonly()\"\n (blur)=\"updateField(config.name, toHtmlInputElement($event.target).value)\"\n (keydown)=\"handleKeyPressEvent($event)\"\n />\n </label>\n }\n @if (use12HourClock()) {\n <label class=\"ms-2\">\n @if (!hideLabels()) {\n <span class=\"form-label\">{{ (meridiansLabel() | translate) || '&nbsp;' }}</span>\n }\n <select\n #inputPart\n class=\"form-control\"\n [attr.aria-label]=\"meridiansAriaLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [class.readonly]=\"readonly()\"\n [disabled]=\"disabled()\"\n (change)=\"toggleMeridian()\"\n (keydown)=\"handleKeyPressEvent($event)\"\n >\n <option value=\"am\" [selected]=\"meridian() === 'am'\">{{ periods()[0] }}</option>\n <option value=\"pm\" [selected]=\"meridian() === 'pm'\">{{ periods()[1] }}</option>\n </select>\n </label>\n }\n</div>\n\n<ng-template #separator let-separator=\"separator\">\n <div class=\"align-self-end pb-3 px-1\" aria-hidden=\"true\">{{ separator ? separator : ':' }}</div>\n</ng-template>\n", styles: [":host{display:block}:host.ng-touched.ng-invalid:not(:has(.ng-touched.ng-invalid)) .form-control{--border-color: var(--element-status-danger)}:host input{inline-size:calc(3ch + 16px)}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2700
+ ], viewQueries: [{ propertyName: "inputParts", predicate: ["inputPart"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\n class=\"d-flex flex-row flex-wrap\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"focusChange($event)\"\n>\n @for (config of units(); track $index) {\n @if (!$first) {\n <ng-container *ngTemplateOutlet=\"separator; context: { separator: config.separator }\" />\n }\n <label>\n @if (!hideLabels()) {\n <span class=\"form-label\">{{ (config.label | translate) || '&nbsp;' }}</span>\n }\n <input\n #inputPart\n autocomplete=\"off\"\n class=\"form-control hide-feedback-icon\"\n type=\"text\"\n inputmode=\"numeric\"\n [attr.aria-label]=\"config.ariaLabel | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [attr.maxlength]=\"config.maxLength\"\n [formControl]=\"timeControls.controls[config.name]\"\n [name]=\"config.name\"\n [placeholder]=\"config.placeholder\"\n [readonly]=\"readonly()\"\n (blur)=\"updateField(config.name, toHtmlInputElement($event.target).value)\"\n (keydown)=\"handleKeyPressEvent($event)\"\n />\n </label>\n }\n @if (use12HourClock()) {\n <label class=\"ms-2\">\n @if (!hideLabels()) {\n <span class=\"form-label\">{{ (meridiansLabel() | translate) || '&nbsp;' }}</span>\n }\n <select\n #inputPart\n class=\"form-control\"\n [attr.aria-label]=\"meridiansAriaLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [class.readonly]=\"readonly()\"\n [disabled]=\"disabled()\"\n (change)=\"toggleMeridian()\"\n (keydown)=\"handleKeyPressEvent($event)\"\n >\n <option value=\"am\" [selected]=\"meridian() === 'am'\">{{ periods()[0] }}</option>\n <option value=\"pm\" [selected]=\"meridian() === 'pm'\">{{ periods()[1] }}</option>\n </select>\n </label>\n }\n</div>\n\n<ng-template #separator let-separator=\"separator\">\n <div class=\"align-self-end pb-3 px-1\" aria-hidden=\"true\">{{ separator ? separator : ':' }}</div>\n</ng-template>\n", styles: [":host{display:block}:host.ng-touched.ng-invalid:not(:has(.ng-touched.ng-invalid)) .form-control{--border-color: var(--si-sys-border-danger)}:host input{inline-size:calc(3ch + 2 * var(--si-sys-sizing-spacing-x-40))}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
2616
2701
  }
2617
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiTimepickerComponent, decorators: [{
2702
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiTimepickerComponent, decorators: [{
2618
2703
  type: Component,
2619
2704
  args: [{ selector: 'si-timepicker', imports: [A11yModule, NgTemplateOutlet, ReactiveFormsModule, SiTranslatePipe], providers: [
2620
2705
  {
@@ -2631,12 +2716,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
2631
2716
  provide: SI_FORM_ITEM_CONTROL,
2632
2717
  useExisting: SiTimepickerComponent
2633
2718
  }
2634
- ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
2719
+ ], host: {
2635
2720
  role: 'group',
2636
2721
  class: 'form-custom-control',
2637
2722
  '[class.readonly]': 'readonly()',
2638
2723
  '[attr.aria-labelledby]': 'labelledby'
2639
- }, template: "<div\n class=\"d-flex flex-row flex-wrap\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"focusChange($event)\"\n>\n @for (config of units(); track $index) {\n @if (!$first) {\n <ng-container *ngTemplateOutlet=\"separator; context: { separator: config.separator }\" />\n }\n <label>\n @if (!hideLabels()) {\n <span class=\"form-label\">{{ (config.label | translate) || '&nbsp;' }}</span>\n }\n <input\n #inputPart\n autocomplete=\"off\"\n class=\"form-control hide-feedback-icon\"\n type=\"text\"\n inputmode=\"numeric\"\n [attr.aria-label]=\"config.ariaLabel | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [attr.maxlength]=\"config.maxLength\"\n [formControl]=\"timeControls.controls[config.name]\"\n [name]=\"config.name\"\n [placeholder]=\"config.placeholder\"\n [readonly]=\"readonly()\"\n (blur)=\"updateField(config.name, toHtmlInputElement($event.target).value)\"\n (keydown)=\"handleKeyPressEvent($event)\"\n />\n </label>\n }\n @if (use12HourClock()) {\n <label class=\"ms-2\">\n @if (!hideLabels()) {\n <span class=\"form-label\">{{ (meridiansLabel() | translate) || '&nbsp;' }}</span>\n }\n <select\n #inputPart\n class=\"form-control\"\n [attr.aria-label]=\"meridiansAriaLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [class.readonly]=\"readonly()\"\n [disabled]=\"disabled()\"\n (change)=\"toggleMeridian()\"\n (keydown)=\"handleKeyPressEvent($event)\"\n >\n <option value=\"am\" [selected]=\"meridian() === 'am'\">{{ periods()[0] }}</option>\n <option value=\"pm\" [selected]=\"meridian() === 'pm'\">{{ periods()[1] }}</option>\n </select>\n </label>\n }\n</div>\n\n<ng-template #separator let-separator=\"separator\">\n <div class=\"align-self-end pb-3 px-1\" aria-hidden=\"true\">{{ separator ? separator : ':' }}</div>\n</ng-template>\n", styles: [":host{display:block}:host.ng-touched.ng-invalid:not(:has(.ng-touched.ng-invalid)) .form-control{--border-color: var(--element-status-danger)}:host input{inline-size:calc(3ch + 16px)}\n"] }]
2724
+ }, template: "<div\n class=\"d-flex flex-row flex-wrap\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"focusChange($event)\"\n>\n @for (config of units(); track $index) {\n @if (!$first) {\n <ng-container *ngTemplateOutlet=\"separator; context: { separator: config.separator }\" />\n }\n <label>\n @if (!hideLabels()) {\n <span class=\"form-label\">{{ (config.label | translate) || '&nbsp;' }}</span>\n }\n <input\n #inputPart\n autocomplete=\"off\"\n class=\"form-control hide-feedback-icon\"\n type=\"text\"\n inputmode=\"numeric\"\n [attr.aria-label]=\"config.ariaLabel | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [attr.maxlength]=\"config.maxLength\"\n [formControl]=\"timeControls.controls[config.name]\"\n [name]=\"config.name\"\n [placeholder]=\"config.placeholder\"\n [readonly]=\"readonly()\"\n (blur)=\"updateField(config.name, toHtmlInputElement($event.target).value)\"\n (keydown)=\"handleKeyPressEvent($event)\"\n />\n </label>\n }\n @if (use12HourClock()) {\n <label class=\"ms-2\">\n @if (!hideLabels()) {\n <span class=\"form-label\">{{ (meridiansLabel() | translate) || '&nbsp;' }}</span>\n }\n <select\n #inputPart\n class=\"form-control\"\n [attr.aria-label]=\"meridiansAriaLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [class.readonly]=\"readonly()\"\n [disabled]=\"disabled()\"\n (change)=\"toggleMeridian()\"\n (keydown)=\"handleKeyPressEvent($event)\"\n >\n <option value=\"am\" [selected]=\"meridian() === 'am'\">{{ periods()[0] }}</option>\n <option value=\"pm\" [selected]=\"meridian() === 'pm'\">{{ periods()[1] }}</option>\n </select>\n </label>\n }\n</div>\n\n<ng-template #separator let-separator=\"separator\">\n <div class=\"align-self-end pb-3 px-1\" aria-hidden=\"true\">{{ separator ? separator : ':' }}</div>\n</ng-template>\n", styles: [":host{display:block}:host.ng-touched.ng-invalid:not(:has(.ng-touched.ng-invalid)) .form-control{--border-color: var(--si-sys-border-danger)}:host input{inline-size:calc(3ch + 2 * var(--si-sys-sizing-spacing-x-40))}\n"] }]
2640
2725
  }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], hoursLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "hoursLabel", required: false }] }], minutesLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "minutesLabel", required: false }] }], secondsLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "secondsLabel", required: false }] }], millisecondsLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "millisecondsLabel", required: false }] }], hideLabels: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideLabels", required: false }] }], hoursAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "hoursAriaLabel", required: false }] }], minutesAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "minutesAriaLabel", required: false }] }], secondsAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "secondsAriaLabel", required: false }] }], millisecondsAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "millisecondsAriaLabel", required: false }] }], hoursPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "hoursPlaceholder", required: false }] }], minutesPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "minutesPlaceholder", required: false }] }], secondsPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "secondsPlaceholder", required: false }] }], millisecondsPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "millisecondsPlaceholder", required: false }] }], meridians: [{ type: i0.Input, args: [{ isSignal: true, alias: "meridians", required: false }] }], meridiansLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "meridiansLabel", required: false }] }], meridiansAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "meridiansAriaLabel", required: false }] }], showMinutes: [{ type: i0.Input, args: [{ isSignal: true, alias: "showMinutes", required: false }] }], showSeconds: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSeconds", required: false }] }], showMilliseconds: [{ type: i0.Input, args: [{ isSignal: true, alias: "showMilliseconds", required: false }] }], showMeridian: [{ type: i0.Input, args: [{ isSignal: true, alias: "showMeridian", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], isValid: [{ type: i0.Output, args: ["isValid"] }], meridianChange: [{ type: i0.Output, args: ["meridianChange"] }], inputCompleted: [{ type: i0.Output, args: ["inputCompleted"] }], inputParts: [{ type: i0.ViewChildren, args: ['inputPart', { isSignal: true }] }], errormessageId: [{ type: i0.Input, args: [{ isSignal: true, alias: "errormessageId", required: false }] }] } });
2641
2726
 
2642
2727
  /**
@@ -2650,35 +2735,41 @@ class SiDatepickerComponent {
2650
2735
  * The date which is currently focused
2651
2736
  * Compare to the selected date or range the calendar requires to have one element to focus.
2652
2737
  */
2653
- focusedDate = model(...(ngDevMode ? [undefined, { debugName: "focusedDate" }] : []));
2738
+ focusedDate = model(/* @ts-ignore */
2739
+ ...(ngDevMode ? [undefined, { debugName: "focusedDate" }] : /* istanbul ignore next */ []));
2654
2740
  /**
2655
2741
  * The selected date of the datepicker. Use for
2656
2742
  * initialization and for bidirectional binding.
2657
2743
  */
2658
- date = model(...(ngDevMode ? [undefined, { debugName: "date" }] : []));
2744
+ date = model(/* @ts-ignore */
2745
+ ...(ngDevMode ? [undefined, { debugName: "date" }] : /* istanbul ignore next */ []));
2659
2746
  /**
2660
2747
  * The selected date range of the datepicker. Use for
2661
2748
  * initialization and for bidirectional binding.
2662
2749
  */
2663
- dateRange = model(...(ngDevMode ? [undefined, { debugName: "dateRange" }] : []));
2750
+ dateRange = model(/* @ts-ignore */
2751
+ ...(ngDevMode ? [undefined, { debugName: "dateRange" }] : /* istanbul ignore next */ []));
2664
2752
  /**
2665
2753
  * Role of this calendar when a date range is displayed across two calendars.
2666
2754
  *
2667
2755
  * @internal
2668
2756
  */
2669
- dateRangeRole = input(...(ngDevMode ? [undefined, { debugName: "dateRangeRole" }] : []));
2757
+ dateRangeRole = input(/* @ts-ignore */
2758
+ ...(ngDevMode ? [undefined, { debugName: "dateRangeRole" }] : /* istanbul ignore next */ []));
2670
2759
  /**
2671
2760
  * Set initial focus to calendar body.
2672
2761
  *
2673
2762
  * @defaultValue false
2674
2763
  */
2675
- initialFocus = input(false, ...(ngDevMode ? [{ debugName: "initialFocus" }] : []));
2764
+ initialFocus = input(false, /* @ts-ignore */
2765
+ ...(ngDevMode ? [{ debugName: "initialFocus" }] : /* istanbul ignore next */ []));
2676
2766
  /**
2677
2767
  * Disabled the optional visible time picker.
2678
2768
  *
2679
2769
  * @defaultValue false
2680
2770
  */
2681
- disabledTime = model(false, ...(ngDevMode ? [{ debugName: "disabledTime" }] : []));
2771
+ disabledTime = model(false, /* @ts-ignore */
2772
+ ...(ngDevMode ? [{ debugName: "disabledTime" }] : /* istanbul ignore next */ []));
2682
2773
  /**
2683
2774
  * Object to configure the datepicker.
2684
2775
  *
@@ -2687,7 +2778,8 @@ class SiDatepickerComponent {
2687
2778
  * {}
2688
2779
  * ```
2689
2780
  */
2690
- config = model({}, ...(ngDevMode ? [{ debugName: "config" }] : []));
2781
+ config = model({}, /* @ts-ignore */
2782
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
2691
2783
  /**
2692
2784
  * Aria label for the previous button. Needed for a11y.
2693
2785
  *
@@ -2696,7 +2788,8 @@ class SiDatepickerComponent {
2696
2788
  * t(() => $localize`:@@SI_DATEPICKER.PREVIOUS:Previous`)
2697
2789
  * ```
2698
2790
  */
2699
- previousLabel = input(t(() => $localize `:@@SI_DATEPICKER.PREVIOUS:Previous`), ...(ngDevMode ? [{ debugName: "previousLabel" }] : []));
2791
+ previousLabel = input(t(() => $localize `:@@SI_DATEPICKER.PREVIOUS:Previous`), /* @ts-ignore */
2792
+ ...(ngDevMode ? [{ debugName: "previousLabel" }] : /* istanbul ignore next */ []));
2700
2793
  /**
2701
2794
  * Aria label for the next button. Needed for a11y.
2702
2795
  *
@@ -2705,39 +2798,31 @@ class SiDatepickerComponent {
2705
2798
  * t(() => $localize`:@@SI_DATEPICKER.NEXT:Next`)
2706
2799
  * ```
2707
2800
  */
2708
- nextLabel = input(t(() => $localize `:@@SI_DATEPICKER.NEXT:Next`), ...(ngDevMode ? [{ debugName: "nextLabel" }] : []));
2801
+ nextLabel = input(t(() => $localize `:@@SI_DATEPICKER.NEXT:Next`), /* @ts-ignore */
2802
+ ...(ngDevMode ? [{ debugName: "nextLabel" }] : /* istanbul ignore next */ []));
2709
2803
  /**
2710
2804
  * Aria label for week number column
2711
2805
  *
2712
- * @deprecated Use `calendarWeekLabel` instead.
2713
2806
  * @defaultValue
2714
2807
  * ```
2715
2808
  * t(() => $localize`:@@SI_DATEPICKER.CALENDAR_WEEK_LABEL:Calendar week`)
2716
2809
  * ```
2717
2810
  */
2718
- calenderWeekLabel = input(...(ngDevMode ? [undefined, { debugName: "calenderWeekLabel" }] : []));
2719
- /**
2720
- * Aria label for week number column
2721
- *
2722
- * @defaultValue
2723
- * ```
2724
- * t(() => $localize`:@@SI_DATEPICKER.CALENDAR_WEEK_LABEL:Calendar week`)
2725
- * ```
2726
- */
2727
- calendarWeekLabel = input(t(() => $localize `:@@SI_DATEPICKER.CALENDAR_WEEK_LABEL:Calendar week`), ...(ngDevMode ? [{ debugName: "calendarWeekLabel" }] : []));
2728
- derivedWeekLabel = computed(() => this.calenderWeekLabel() ?? this.calendarWeekLabel(), ...(ngDevMode ? [{ debugName: "derivedWeekLabel" }] : []));
2811
+ calendarWeekLabel = input(t(() => $localize `:@@SI_DATEPICKER.CALENDAR_WEEK_LABEL:Calendar week`), /* @ts-ignore */
2812
+ ...(ngDevMode ? [{ debugName: "calendarWeekLabel" }] : /* istanbul ignore next */ []));
2729
2813
  /**
2730
2814
  * Enable/disable 12H mode in timepicker. Defaults to locale
2731
2815
  *
2732
2816
  * @defaultValue undefined
2733
2817
  */
2734
- time12h = input(undefined, { ...(ngDevMode ? { debugName: "time12h" } : {}), transform: booleanAttribute });
2818
+ time12h = input(undefined, { ...(ngDevMode ? { debugName: "time12h" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
2735
2819
  /**
2736
2820
  * Use this to force date range operation to select either start date or end date.
2737
2821
  *
2738
2822
  * @defaultValue 'START'
2739
2823
  */
2740
- rangeType = model('START', ...(ngDevMode ? [{ debugName: "rangeType" }] : []));
2824
+ rangeType = model('START', /* @ts-ignore */
2825
+ ...(ngDevMode ? [{ debugName: "rangeType" }] : /* istanbul ignore next */ []));
2741
2826
  /**
2742
2827
  * Optional input to control the minimum month the datepicker can show and the user can navigate.
2743
2828
  * The `minMonth` can be larger than the `minDate` This option enables the usage of multiple
@@ -2745,7 +2830,8 @@ class SiDatepickerComponent {
2745
2830
  * shows a earlier month the the more right one.
2746
2831
  * @internal
2747
2832
  */
2748
- minMonth = input(...(ngDevMode ? [undefined, { debugName: "minMonth" }] : []));
2833
+ minMonth = input(/* @ts-ignore */
2834
+ ...(ngDevMode ? [undefined, { debugName: "minMonth" }] : /* istanbul ignore next */ []));
2749
2835
  /**
2750
2836
  * Optional input to control the maximum month the datepicker can show and the user can navigate.
2751
2837
  * The `maxMonth` can be smaller than the `maxDate` This option enables the usage of multiple
@@ -2753,23 +2839,27 @@ class SiDatepickerComponent {
2753
2839
  * shows a earlier month the the more right one.
2754
2840
  * @internal
2755
2841
  */
2756
- maxMonth = input(...(ngDevMode ? [undefined, { debugName: "maxMonth" }] : []));
2842
+ maxMonth = input(/* @ts-ignore */
2843
+ ...(ngDevMode ? [undefined, { debugName: "maxMonth" }] : /* istanbul ignore next */ []));
2757
2844
  /**
2758
2845
  * Option to hide the time switch.
2759
2846
  *
2760
2847
  * @defaultValue false
2761
2848
  */
2762
- hideTimeToggle = input(false, ...(ngDevMode ? [{ debugName: "hideTimeToggle" }] : []));
2849
+ hideTimeToggle = input(false, /* @ts-ignore */
2850
+ ...(ngDevMode ? [{ debugName: "hideTimeToggle" }] : /* istanbul ignore next */ []));
2763
2851
  /**
2764
2852
  * Whether the calendar is hidden while retaining the optional timepicker.
2765
2853
  *
2766
2854
  * @internal
2767
2855
  */
2768
- hideCalendar = input(false, ...(ngDevMode ? [{ debugName: "hideCalendar" }] : []));
2856
+ hideCalendar = input(false, /* @ts-ignore */
2857
+ ...(ngDevMode ? [{ debugName: "hideCalendar" }] : /* istanbul ignore next */ []));
2769
2858
  /**
2770
2859
  * Optional timepicker label.
2771
2860
  */
2772
- timepickerLabel = input(...(ngDevMode ? [undefined, { debugName: "timepickerLabel" }] : []));
2861
+ timepickerLabel = input(/* @ts-ignore */
2862
+ ...(ngDevMode ? [undefined, { debugName: "timepickerLabel" }] : /* istanbul ignore next */ []));
2773
2863
  get startDate() {
2774
2864
  return this.config().enableDateRange ? this.dateRange()?.start : this.date();
2775
2865
  }
@@ -2792,7 +2882,8 @@ class SiDatepickerComponent {
2792
2882
  defaultEnableTimeText = t(() => $localize `:@@SI_DATEPICKER.ENABLED_TIME_TEXT:Consider time`);
2793
2883
  includeTimeLabel = computed(() => this.disabledTime()
2794
2884
  ? (this.config().disabledTimeText ?? this.defaultDisabledTimeText)
2795
- : (this.config().enabledTimeText ?? this.defaultEnableTimeText), ...(ngDevMode ? [{ debugName: "includeTimeLabel" }] : []));
2885
+ : (this.config().enabledTimeText ?? this.defaultEnableTimeText), /* @ts-ignore */
2886
+ ...(ngDevMode ? [{ debugName: "includeTimeLabel" }] : /* istanbul ignore next */ []));
2796
2887
  get weekStartDay() {
2797
2888
  return this.config().weekStartDay ?? this.localeWeekStart;
2798
2889
  }
@@ -2802,7 +2893,8 @@ class SiDatepickerComponent {
2802
2893
  /**
2803
2894
  * The active view
2804
2895
  */
2805
- view = signal('week', ...(ngDevMode ? [{ debugName: "view" }] : []));
2896
+ view = signal('week', /* @ts-ignore */
2897
+ ...(ngDevMode ? [{ debugName: "view" }] : /* istanbul ignore next */ []));
2806
2898
  /**
2807
2899
  * Get the current shown view.
2808
2900
  */
@@ -2815,11 +2907,15 @@ class SiDatepickerComponent {
2815
2907
  default:
2816
2908
  return this.daySelection();
2817
2909
  }
2818
- }, ...(ngDevMode ? [{ debugName: "activeView" }] : []));
2819
- actualFocusedDate = computed(() => this.focusedDate() ?? today(), ...(ngDevMode ? [{ debugName: "actualFocusedDate" }] : []));
2820
- requireFocus = signal(this.initialFocus(), ...(ngDevMode ? [{ debugName: "requireFocus" }] : []));
2910
+ }, /* @ts-ignore */
2911
+ ...(ngDevMode ? [{ debugName: "activeView" }] : /* istanbul ignore next */ []));
2912
+ actualFocusedDate = computed(() => this.focusedDate() ?? today(), /* @ts-ignore */
2913
+ ...(ngDevMode ? [{ debugName: "actualFocusedDate" }] : /* istanbul ignore next */ []));
2914
+ requireFocus = signal(this.initialFocus(), /* @ts-ignore */
2915
+ ...(ngDevMode ? [{ debugName: "requireFocus" }] : /* istanbul ignore next */ []));
2821
2916
  /** When the user switch from the year or month view via keyboard selection we force the focus. */
2822
- forceFocus = computed(() => this.requireFocus() || this.initialFocus(), ...(ngDevMode ? [{ debugName: "forceFocus" }] : []));
2917
+ forceFocus = computed(() => this.requireFocus() || this.initialFocus(), /* @ts-ignore */
2918
+ ...(ngDevMode ? [{ debugName: "forceFocus" }] : /* istanbul ignore next */ []));
2823
2919
  months = [];
2824
2920
  switchId = `__si-datepicker-switch-id-${idCounter++}`;
2825
2921
  timepickerId = `__si-datepicker-timepicker-id-${idCounter++}`;
@@ -2846,16 +2942,20 @@ class SiDatepickerComponent {
2846
2942
  */
2847
2943
  previousTime;
2848
2944
  /** Reference to the current day selection component. Shown when view === 'week' */
2849
- daySelection = viewChild(SiDaySelectionComponent, ...(ngDevMode ? [{ debugName: "daySelection" }] : []));
2945
+ daySelection = viewChild(SiDaySelectionComponent, /* @ts-ignore */
2946
+ ...(ngDevMode ? [{ debugName: "daySelection" }] : /* istanbul ignore next */ []));
2850
2947
  /** Reference to the current month selection component. Shown when view === 'month' */
2851
- monthSelection = viewChild(SiMonthSelectionComponent, ...(ngDevMode ? [{ debugName: "monthSelection" }] : []));
2948
+ monthSelection = viewChild(SiMonthSelectionComponent, /* @ts-ignore */
2949
+ ...(ngDevMode ? [{ debugName: "monthSelection" }] : /* istanbul ignore next */ []));
2852
2950
  /** Reference to the current year selection component. Shown when view === 'year' */
2853
- yearSelection = viewChild(SiYearSelectionComponent, ...(ngDevMode ? [{ debugName: "yearSelection" }] : []));
2951
+ yearSelection = viewChild(SiYearSelectionComponent, /* @ts-ignore */
2952
+ ...(ngDevMode ? [{ debugName: "yearSelection" }] : /* istanbul ignore next */ []));
2854
2953
  /**
2855
2954
  * The cell which which has the mouse hover.
2856
2955
  * @internal
2857
2956
  */
2858
- activeHover = model(...(ngDevMode ? [undefined, { debugName: "activeHover" }] : []));
2957
+ activeHover = model(/* @ts-ignore */
2958
+ ...(ngDevMode ? [undefined, { debugName: "activeHover" }] : /* istanbul ignore next */ []));
2859
2959
  constructor() {
2860
2960
  this.initCalendarLabels();
2861
2961
  const weekStart = getLocaleFirstDayOfWeek(this.locale);
@@ -3166,10 +3266,10 @@ class SiDatepickerComponent {
3166
3266
  onActiveHoverChange(event) {
3167
3267
  this.activeHover.set(event);
3168
3268
  }
3169
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3170
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiDatepickerComponent, isStandalone: true, selector: "si-datepicker", inputs: { focusedDate: { classPropertyName: "focusedDate", publicName: "focusedDate", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null }, dateRange: { classPropertyName: "dateRange", publicName: "dateRange", isSignal: true, isRequired: false, transformFunction: null }, dateRangeRole: { classPropertyName: "dateRangeRole", publicName: "dateRangeRole", isSignal: true, isRequired: false, transformFunction: null }, initialFocus: { classPropertyName: "initialFocus", publicName: "initialFocus", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, previousLabel: { classPropertyName: "previousLabel", publicName: "previousLabel", isSignal: true, isRequired: false, transformFunction: null }, nextLabel: { classPropertyName: "nextLabel", publicName: "nextLabel", isSignal: true, isRequired: false, transformFunction: null }, calenderWeekLabel: { classPropertyName: "calenderWeekLabel", publicName: "calenderWeekLabel", isSignal: true, isRequired: false, transformFunction: null }, calendarWeekLabel: { classPropertyName: "calendarWeekLabel", publicName: "calendarWeekLabel", isSignal: true, isRequired: false, transformFunction: null }, time12h: { classPropertyName: "time12h", publicName: "time12h", isSignal: true, isRequired: false, transformFunction: null }, rangeType: { classPropertyName: "rangeType", publicName: "rangeType", isSignal: true, isRequired: false, transformFunction: null }, minMonth: { classPropertyName: "minMonth", publicName: "minMonth", isSignal: true, isRequired: false, transformFunction: null }, maxMonth: { classPropertyName: "maxMonth", publicName: "maxMonth", isSignal: true, isRequired: false, transformFunction: null }, hideTimeToggle: { classPropertyName: "hideTimeToggle", publicName: "hideTimeToggle", isSignal: true, isRequired: false, transformFunction: null }, hideCalendar: { classPropertyName: "hideCalendar", publicName: "hideCalendar", isSignal: true, isRequired: false, transformFunction: null }, timepickerLabel: { classPropertyName: "timepickerLabel", publicName: "timepickerLabel", isSignal: true, isRequired: false, transformFunction: null }, activeHover: { classPropertyName: "activeHover", publicName: "activeHover", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { focusedDate: "focusedDateChange", date: "dateChange", dateRange: "dateRangeChange", disabledTime: "disabledTimeChange", config: "configChange", rangeType: "rangeTypeChange", activeHover: "activeHoverChange" }, viewQueries: [{ propertyName: "daySelection", first: true, predicate: SiDaySelectionComponent, descendants: true, isSignal: true }, { propertyName: "monthSelection", first: true, predicate: SiMonthSelectionComponent, descendants: true, isSignal: true }, { propertyName: "yearSelection", first: true, predicate: SiYearSelectionComponent, descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "@if (!hideCalendar()) {\n <div class=\"text-center pb-6 calendar\">\n @switch (view()) {\n @case ('year') {\n <si-year-selection\n [focusedDate]=\"actualFocusedDate()\"\n [startDate]=\"startDate\"\n [endDate]=\"endDate\"\n [minDate]=\"config().minDate\"\n [maxDate]=\"config().maxDate\"\n [minMonth]=\"minMonth()\"\n [maxMonth]=\"maxMonth()\"\n [isRangeSelection]=\"config().enableDateRange!\"\n [previousLabel]=\"previousLabel() | translate\"\n [nextLabel]=\"nextLabel() | translate\"\n (selectedValueChange)=\"activeYearChange($event)\"\n />\n }\n @case ('month') {\n <si-month-selection\n [startDate]=\"startDate\"\n [endDate]=\"endDate\"\n [months]=\"months\"\n [minDate]=\"config().minDate\"\n [maxDate]=\"config().maxDate\"\n [minMonth]=\"minMonth()\"\n [maxMonth]=\"maxMonth()\"\n [isRangeSelection]=\"config().enableDateRange!\"\n [previewRange]=\"rangeType() === 'END'\"\n [previousLabel]=\"previousLabel() | translate\"\n [nextLabel]=\"nextLabel() | translate\"\n [activeHover]=\"activeHover()\"\n [focusedDate]=\"actualFocusedDate()\"\n (activeHoverChange)=\"onActiveHoverChange($event)\"\n (focusedDateChange)=\"focusedDate.set($event)\"\n (selectedValueChange)=\"activeMonthChange($event)\"\n (viewChange)=\"view.set($event)\"\n />\n }\n @case ('week') {\n <si-day-selection\n [initialFocus]=\"forceFocus()\"\n [startDate]=\"startDate\"\n [endDate]=\"dateRange()?.end\"\n [isRangeSelection]=\"config().enableDateRange!\"\n [previewRange]=\"rangeType() === 'END'\"\n [hideWeekNumbers]=\"hideWeekNumbers\"\n [minDate]=\"config().minDate\"\n [maxDate]=\"config().maxDate\"\n [minMonth]=\"minMonth()\"\n [weekStartDay]=\"weekStartDay\"\n [calendarWeekLabel]=\"derivedWeekLabel()\"\n [previousLabel]=\"previousLabel() | translate\"\n [nextLabel]=\"nextLabel() | translate\"\n [todayLabel]=\"config().todayText\"\n [activeHover]=\"activeHover()\"\n [focusedDate]=\"actualFocusedDate()\"\n (activeHoverChange)=\"onActiveHoverChange($event)\"\n (focusedDateChange)=\"focusedDate.set($event)\"\n (selectedValueChange)=\"selectionChange($event!)\"\n (viewChange)=\"view.set($event)\"\n />\n }\n }\n </div>\n}\n@if (this.config().showTime) {\n <div\n class=\"timepicker-container px-9 pb-6\"\n [class.pt-6]=\"!hideCalendar()\"\n [class.border-top]=\"!hideCalendar()\"\n >\n @if (!config().mandatoryTime && !hideTimeToggle()) {\n <div class=\"mb-5 form-check form-switch\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n role=\"switch\"\n [id]=\"switchId\"\n [checked]=\"!disabledTime()\"\n (change)=\"toggleDisabledTime()\"\n />\n <label class=\"form-check-label\" [for]=\"switchId\">{{\n includeTimeLabel() | translate\n }}</label>\n </div>\n }\n <div class=\"mt-auto\">\n @if (timepickerLabel()) {\n <label class=\"form-label\" [for]=\"timepickerId\">{{ timepickerLabel() | translate }}</label>\n }\n <si-timepicker\n #timePicker\n [id]=\"timepickerId\"\n [formControl]=\"time\"\n [hoursLabel]=\"config().hoursLabel ?? timePicker.hoursLabel()\"\n [minutesLabel]=\"config().minutesLabel ?? timePicker.minutesLabel()\"\n [secondsLabel]=\"config().secondsLabel ?? timePicker.secondsLabel()\"\n [millisecondsLabel]=\"config().millisecondsLabel ?? timePicker.millisecondsLabel()\"\n [hideLabels]=\"config().hideLabels ?? timePicker.hideLabels()\"\n [hoursAriaLabel]=\"config().hoursAriaLabel ?? timePicker.hoursAriaLabel()\"\n [minutesAriaLabel]=\"config().minutesAriaLabel ?? timePicker.minutesAriaLabel()\"\n [secondsAriaLabel]=\"config().secondsAriaLabel ?? timePicker.secondsAriaLabel()\"\n [millisecondsAriaLabel]=\"\n config().millisecondsAriaLabel ?? timePicker.millisecondsAriaLabel()\n \"\n [hoursPlaceholder]=\"config().hoursPlaceholder ?? timePicker.hoursPlaceholder()\"\n [minutesPlaceholder]=\"config().minutesPlaceholder ?? timePicker.minutesPlaceholder()\"\n [secondsPlaceholder]=\"config().secondsPlaceholder ?? timePicker.secondsPlaceholder()\"\n [millisecondsPlaceholder]=\"\n config().millisecondsPlaceholder ?? timePicker.millisecondsPlaceholder()\n \"\n [meridians]=\"config().meridians ?? timePicker.meridians()\"\n [meridiansLabel]=\"config().meridiansLabel ?? timePicker.meridiansLabel()\"\n [meridiansAriaLabel]=\"config().meridiansAriaLabel ?? timePicker.meridiansAriaLabel()\"\n [showMinutes]=\"config().showMinutes ?? true\"\n [showSeconds]=\"config().showSeconds ?? false\"\n [showMilliseconds]=\"config().showMilliseconds ?? false\"\n [showMeridian]=\"time12h()\"\n />\n </div>\n </div>\n}\n", styles: [":host ::ng-deep .year:not(.disabled):not(.selected):hover,:host ::ng-deep .month:not(.disabled):not(.selected):hover,:host ::ng-deep .day:not(.disabled):not(.selected):hover{background:var(--element-base-1-hover);color:var(--element-ui-0)}:host ::ng-deep .year,:host ::ng-deep .month,:host ::ng-deep td,:host ::ng-deep th,:host ::ng-deep .day{block-size:2rem;line-height:2rem}:host ::ng-deep td,:host ::ng-deep th,:host ::ng-deep .day{inline-size:2rem}:host ::ng-deep .year,:host ::ng-deep .month,:host ::ng-deep .day{display:block;margin-inline:auto;position:relative;border:unset;background-color:unset;padding:0;cursor:pointer;border-radius:var(--element-button-radius)}:host{background:var(--element-base-1);border-radius:var(--element-radius-2);display:flex;flex-direction:column}:host ::ng-deep .header,:host ::ng-deep .footer{display:flex;align-items:center;min-block-size:calc(1rem + 16px)}:host ::ng-deep .header{padding-block:12px;padding-inline:32px;border-block-end:1px solid var(--element-ui-4)}:host ::ng-deep .header a{text-decoration:none;cursor:pointer}:host ::ng-deep .footer{margin-block-start:4px}:host ::ng-deep .calendar-table{min-block-size:calc(14rem + 24px)}:host ::ng-deep table{border-collapse:separate;border-spacing:0 3px;table-layout:fixed;margin-block-end:-3px}:host ::ng-deep .day.selected{background:var(--element-ui-0);color:var(--element-base-1)}:host ::ng-deep .month{inline-size:8rem}:host ::ng-deep .month.selected{background:var(--element-ui-0);color:var(--element-base-1)}:host ::ng-deep .year{inline-size:5.3333333333rem}:host ::ng-deep .year.selected{background:var(--element-ui-0);color:var(--element-base-1)}:host ::ng-deep td,:host ::ng-deep th{padding:0;font-weight:400}:host ::ng-deep .week-num,:host ::ng-deep th{font-size:.75rem;color:var(--element-text-secondary);inline-size:2rem;cursor:default}:host ::ng-deep .today.selected:before{border-color:var(--element-ui-5)}:host ::ng-deep .today:before{position:absolute;content:\"\";inset:1px;border:1px solid var(--element-ui-1);border-radius:var(--element-radius-2);display:inline-block}:host ::ng-deep .disabled{color:var(--element-text-disabled);font-weight:400!important;cursor:default!important}:host ::ng-deep .range{background-color:var(--element-ui-4)}:host ::ng-deep .range:hover{background:var(--element-base-1-hover)}:host ::ng-deep .range:hover div.si-h4:hover{background:transparent}:host ::ng-deep .range-hover{background-color:var(--element-base-1-hover)}:host ::ng-deep .range-hover-end{border-start-end-radius:var(--element-button-radius);border-end-end-radius:var(--element-button-radius)}:host ::ng-deep td:is(.range-start,.range-end){background:var(--element-ui-0);color:var(--element-base-1)}:host ::ng-deep td:is(.range-start,.range-end) div.si-h4:hover,:host ::ng-deep td:is(.range-start,.range-end) div.si-body-lg:hover{background:transparent;color:var(--element-base-1)}:host ::ng-deep td:is(.range-start,.range-end) .today:before{border-color:var(--element-ui-5)}:host ::ng-deep td.range-start{border-start-start-radius:var(--element-button-radius);border-end-start-radius:var(--element-button-radius)}:host ::ng-deep td.range-end{border-start-end-radius:var(--element-button-radius);border-end-end-radius:var(--element-button-radius)}:host ::ng-deep .calendar-button{font-weight:600;font-size:.875rem;line-height:1.1428571429;color:var(--element-text-active);min-inline-size:0!important}:host ::ng-deep .timepicker-container{display:flex;flex:1 1 auto;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SiYearSelectionComponent, selector: "si-year-selection", inputs: ["focusedDate"], outputs: ["focusedDateChange", "yearRangeChange"] }, { kind: "component", type: SiMonthSelectionComponent, selector: "si-month-selection", inputs: ["months", "focusedDate"], outputs: ["focusedDateChange", "activeMonthChange", "viewChange"] }, { kind: "component", type: SiDaySelectionComponent, selector: "si-day-selection", inputs: ["hideWeekNumbers", "weekStartDay", "focusedDate", "todayLabel", "calendarWeekLabel"], outputs: ["focusedDateChange", "activeMonthChange", "viewChange"] }, { kind: "component", type: SiTimepickerComponent, selector: "si-timepicker", inputs: ["id", "disabled", "hoursLabel", "minutesLabel", "secondsLabel", "millisecondsLabel", "hideLabels", "hoursAriaLabel", "minutesAriaLabel", "secondsAriaLabel", "millisecondsAriaLabel", "hoursPlaceholder", "minutesPlaceholder", "secondsPlaceholder", "millisecondsPlaceholder", "meridians", "meridiansLabel", "meridiansAriaLabel", "showMinutes", "showSeconds", "showMilliseconds", "showMeridian", "min", "max", "readonly", "errormessageId"], outputs: ["isValid", "meridianChange", "inputCompleted"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
3269
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3270
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiDatepickerComponent, isStandalone: true, selector: "si-datepicker", inputs: { focusedDate: { classPropertyName: "focusedDate", publicName: "focusedDate", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null }, dateRange: { classPropertyName: "dateRange", publicName: "dateRange", isSignal: true, isRequired: false, transformFunction: null }, dateRangeRole: { classPropertyName: "dateRangeRole", publicName: "dateRangeRole", isSignal: true, isRequired: false, transformFunction: null }, initialFocus: { classPropertyName: "initialFocus", publicName: "initialFocus", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, previousLabel: { classPropertyName: "previousLabel", publicName: "previousLabel", isSignal: true, isRequired: false, transformFunction: null }, nextLabel: { classPropertyName: "nextLabel", publicName: "nextLabel", isSignal: true, isRequired: false, transformFunction: null }, calendarWeekLabel: { classPropertyName: "calendarWeekLabel", publicName: "calendarWeekLabel", isSignal: true, isRequired: false, transformFunction: null }, time12h: { classPropertyName: "time12h", publicName: "time12h", isSignal: true, isRequired: false, transformFunction: null }, rangeType: { classPropertyName: "rangeType", publicName: "rangeType", isSignal: true, isRequired: false, transformFunction: null }, minMonth: { classPropertyName: "minMonth", publicName: "minMonth", isSignal: true, isRequired: false, transformFunction: null }, maxMonth: { classPropertyName: "maxMonth", publicName: "maxMonth", isSignal: true, isRequired: false, transformFunction: null }, hideTimeToggle: { classPropertyName: "hideTimeToggle", publicName: "hideTimeToggle", isSignal: true, isRequired: false, transformFunction: null }, hideCalendar: { classPropertyName: "hideCalendar", publicName: "hideCalendar", isSignal: true, isRequired: false, transformFunction: null }, timepickerLabel: { classPropertyName: "timepickerLabel", publicName: "timepickerLabel", isSignal: true, isRequired: false, transformFunction: null }, activeHover: { classPropertyName: "activeHover", publicName: "activeHover", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { focusedDate: "focusedDateChange", date: "dateChange", dateRange: "dateRangeChange", disabledTime: "disabledTimeChange", config: "configChange", rangeType: "rangeTypeChange", activeHover: "activeHoverChange" }, viewQueries: [{ propertyName: "daySelection", first: true, predicate: SiDaySelectionComponent, descendants: true, isSignal: true }, { propertyName: "monthSelection", first: true, predicate: SiMonthSelectionComponent, descendants: true, isSignal: true }, { propertyName: "yearSelection", first: true, predicate: SiYearSelectionComponent, descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "@if (!hideCalendar()) {\n <div class=\"text-center pb-6 calendar\">\n @switch (view()) {\n @case ('year') {\n <si-year-selection\n [focusedDate]=\"actualFocusedDate()\"\n [startDate]=\"startDate\"\n [endDate]=\"endDate\"\n [minDate]=\"config().minDate\"\n [maxDate]=\"config().maxDate\"\n [minMonth]=\"minMonth()\"\n [maxMonth]=\"maxMonth()\"\n [isRangeSelection]=\"config().enableDateRange!\"\n [previousLabel]=\"previousLabel() | translate\"\n [nextLabel]=\"nextLabel() | translate\"\n (selectedValueChange)=\"activeYearChange($event)\"\n />\n }\n @case ('month') {\n <si-month-selection\n [startDate]=\"startDate\"\n [endDate]=\"endDate\"\n [months]=\"months\"\n [minDate]=\"config().minDate\"\n [maxDate]=\"config().maxDate\"\n [minMonth]=\"minMonth()\"\n [maxMonth]=\"maxMonth()\"\n [isRangeSelection]=\"config().enableDateRange!\"\n [previewRange]=\"rangeType() === 'END'\"\n [previousLabel]=\"previousLabel() | translate\"\n [nextLabel]=\"nextLabel() | translate\"\n [activeHover]=\"activeHover()\"\n [focusedDate]=\"actualFocusedDate()\"\n (activeHoverChange)=\"onActiveHoverChange($event)\"\n (focusedDateChange)=\"focusedDate.set($event)\"\n (selectedValueChange)=\"activeMonthChange($event)\"\n (viewChange)=\"view.set($event)\"\n />\n }\n @case ('week') {\n <si-day-selection\n [initialFocus]=\"forceFocus()\"\n [startDate]=\"startDate\"\n [endDate]=\"dateRange()?.end\"\n [isRangeSelection]=\"config().enableDateRange!\"\n [previewRange]=\"rangeType() === 'END'\"\n [hideWeekNumbers]=\"hideWeekNumbers\"\n [minDate]=\"config().minDate\"\n [maxDate]=\"config().maxDate\"\n [minMonth]=\"minMonth()\"\n [weekStartDay]=\"weekStartDay\"\n [calendarWeekLabel]=\"calendarWeekLabel()\"\n [previousLabel]=\"previousLabel() | translate\"\n [nextLabel]=\"nextLabel() | translate\"\n [todayLabel]=\"config().todayText\"\n [activeHover]=\"activeHover()\"\n [focusedDate]=\"actualFocusedDate()\"\n (activeHoverChange)=\"onActiveHoverChange($event)\"\n (focusedDateChange)=\"focusedDate.set($event)\"\n (selectedValueChange)=\"selectionChange($event!)\"\n (viewChange)=\"view.set($event)\"\n />\n }\n }\n </div>\n}\n@if (this.config().showTime) {\n <div\n class=\"timepicker-container px-9 pb-6\"\n [class.pt-6]=\"!hideCalendar()\"\n [class.border-top]=\"!hideCalendar()\"\n >\n @if (!config().mandatoryTime && !hideTimeToggle()) {\n <div class=\"mb-5 form-check form-switch\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n role=\"switch\"\n [id]=\"switchId\"\n [checked]=\"!disabledTime()\"\n (change)=\"toggleDisabledTime()\"\n />\n <label class=\"form-check-label\" [for]=\"switchId\">{{\n includeTimeLabel() | translate\n }}</label>\n </div>\n }\n <div class=\"mt-auto\">\n @if (timepickerLabel()) {\n <label class=\"form-label\" [for]=\"timepickerId\">{{ timepickerLabel() | translate }}</label>\n }\n <si-timepicker\n #timePicker\n [id]=\"timepickerId\"\n [formControl]=\"time\"\n [hoursLabel]=\"config().hoursLabel ?? timePicker.hoursLabel()\"\n [minutesLabel]=\"config().minutesLabel ?? timePicker.minutesLabel()\"\n [secondsLabel]=\"config().secondsLabel ?? timePicker.secondsLabel()\"\n [millisecondsLabel]=\"config().millisecondsLabel ?? timePicker.millisecondsLabel()\"\n [hideLabels]=\"config().hideLabels ?? timePicker.hideLabels()\"\n [hoursAriaLabel]=\"config().hoursAriaLabel ?? timePicker.hoursAriaLabel()\"\n [minutesAriaLabel]=\"config().minutesAriaLabel ?? timePicker.minutesAriaLabel()\"\n [secondsAriaLabel]=\"config().secondsAriaLabel ?? timePicker.secondsAriaLabel()\"\n [millisecondsAriaLabel]=\"\n config().millisecondsAriaLabel ?? timePicker.millisecondsAriaLabel()\n \"\n [hoursPlaceholder]=\"config().hoursPlaceholder ?? timePicker.hoursPlaceholder()\"\n [minutesPlaceholder]=\"config().minutesPlaceholder ?? timePicker.minutesPlaceholder()\"\n [secondsPlaceholder]=\"config().secondsPlaceholder ?? timePicker.secondsPlaceholder()\"\n [millisecondsPlaceholder]=\"\n config().millisecondsPlaceholder ?? timePicker.millisecondsPlaceholder()\n \"\n [meridians]=\"config().meridians ?? timePicker.meridians()\"\n [meridiansLabel]=\"config().meridiansLabel ?? timePicker.meridiansLabel()\"\n [meridiansAriaLabel]=\"config().meridiansAriaLabel ?? timePicker.meridiansAriaLabel()\"\n [showMinutes]=\"config().showMinutes ?? true\"\n [showSeconds]=\"config().showSeconds ?? false\"\n [showMilliseconds]=\"config().showMilliseconds ?? false\"\n [showMeridian]=\"time12h()\"\n />\n </div>\n </div>\n}\n", styles: [":host ::ng-deep .year:not(.disabled):not(.selected):hover,:host ::ng-deep .month:not(.disabled):not(.selected):hover,:host ::ng-deep .day:not(.disabled):not(.selected):hover{background:var(--si-sys-background-hover);color:var(--si-sys-text-accent)}:host ::ng-deep .year,:host ::ng-deep .month,:host ::ng-deep td,:host ::ng-deep th,:host ::ng-deep .day{block-size:2rem;line-height:2rem}:host ::ng-deep td,:host ::ng-deep th,:host ::ng-deep .day{inline-size:2rem}:host ::ng-deep .year,:host ::ng-deep .month,:host ::ng-deep .day{display:block;margin-inline:auto;position:relative;border:unset;background-color:unset;padding:0;cursor:pointer;border-radius:var(--element-button-radius)}:host{background:var(--si-sys-background-1);border-radius:var(--element-radius-2);display:flex;flex-direction:column}:host ::ng-deep .header,:host ::ng-deep .footer{display:flex;align-items:center;min-block-size:calc(1rem + 2 * var(--si-sys-sizing-spacing-y-40))}:host ::ng-deep .header{padding-block:var(--si-sys-sizing-spacing-y-50);padding-inline:var(--si-sys-sizing-spacing-x-90);border-block-end:1px solid var(--si-sys-border-4)}:host ::ng-deep .header a{text-decoration:none;cursor:pointer}:host ::ng-deep .footer{margin-block-start:var(--si-sys-sizing-spacing-y-20)}:host ::ng-deep .calendar-table{min-block-size:calc(14rem + 24px)}:host ::ng-deep table{border-collapse:separate;border-spacing:0 3px;table-layout:fixed;margin-block-end:-3px}:host ::ng-deep .day.selected{background:var(--si-sys-background-accent);color:var(--si-sys-text-on-accent)}:host ::ng-deep .month{inline-size:8rem}:host ::ng-deep .month.selected{background:var(--si-sys-background-accent);color:var(--si-sys-text-on-accent)}:host ::ng-deep .year{inline-size:5.3333333333rem}:host ::ng-deep .year.selected{background:var(--si-sys-background-accent);color:var(--si-sys-text-on-accent)}:host ::ng-deep td,:host ::ng-deep th{padding:0;font-weight:400}:host ::ng-deep .week-num,:host ::ng-deep th{font-size:var(--si-sys-typography-font-size-body-sm);color:var(--si-sys-text-secondary);inline-size:2rem;cursor:default}:host ::ng-deep .today.selected:before{border-color:var(--si-sys-border-inverse)}:host ::ng-deep .today:before{position:absolute;content:\"\";inset:1px;border:1px solid var(--si-sys-border-1);border-radius:var(--element-radius-2);display:inline-block}:host ::ng-deep .disabled{color:var(--si-sys-text-disabled);font-weight:400!important;cursor:default!important}:host ::ng-deep .range{background-color:var(--si-sys-background-active)}:host ::ng-deep .range:hover{background:var(--si-sys-background-hover)}:host ::ng-deep .range:hover div.si-h4:hover{background:transparent}:host ::ng-deep .range-hover{background-color:var(--si-sys-background-hover)}:host ::ng-deep .range-hover-end{border-start-end-radius:var(--element-button-radius);border-end-end-radius:var(--element-button-radius)}:host ::ng-deep td:is(.range-start,.range-end){background:var(--si-sys-background-accent);color:var(--si-sys-text-on-accent)}:host ::ng-deep td:is(.range-start,.range-end) div.si-h4:hover,:host ::ng-deep td:is(.range-start,.range-end) div.si-body-lg:hover{background:transparent;color:var(--si-sys-text-on-accent)}:host ::ng-deep td:is(.range-start,.range-end) .today:before{border-color:var(--si-sys-border-inverse)}:host ::ng-deep td.range-start{border-start-start-radius:var(--element-button-radius);border-end-start-radius:var(--element-button-radius)}:host ::ng-deep td.range-end{border-start-end-radius:var(--element-button-radius);border-end-end-radius:var(--element-button-radius)}:host ::ng-deep .calendar-button{min-inline-size:0!important}:host ::ng-deep .timepicker-container{display:flex;flex:1 1 auto;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SiYearSelectionComponent, selector: "si-year-selection", inputs: ["focusedDate"], outputs: ["focusedDateChange", "yearRangeChange"] }, { kind: "component", type: SiMonthSelectionComponent, selector: "si-month-selection", inputs: ["months", "focusedDate"], outputs: ["focusedDateChange", "activeMonthChange", "viewChange"] }, { kind: "component", type: SiDaySelectionComponent, selector: "si-day-selection", inputs: ["hideWeekNumbers", "weekStartDay", "focusedDate", "todayLabel", "calendarWeekLabel"], outputs: ["focusedDateChange", "activeMonthChange", "viewChange"] }, { kind: "component", type: SiTimepickerComponent, selector: "si-timepicker", inputs: ["id", "disabled", "hoursLabel", "minutesLabel", "secondsLabel", "millisecondsLabel", "hideLabels", "hoursAriaLabel", "minutesAriaLabel", "secondsAriaLabel", "millisecondsAriaLabel", "hoursPlaceholder", "minutesPlaceholder", "secondsPlaceholder", "millisecondsPlaceholder", "meridians", "meridiansLabel", "meridiansAriaLabel", "showMinutes", "showSeconds", "showMilliseconds", "showMeridian", "min", "max", "readonly", "errormessageId"], outputs: ["isValid", "meridianChange", "inputCompleted"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
3171
3271
  }
3172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDatepickerComponent, decorators: [{
3272
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDatepickerComponent, decorators: [{
3173
3273
  type: Component,
3174
3274
  args: [{ selector: 'si-datepicker', imports: [
3175
3275
  ReactiveFormsModule,
@@ -3178,22 +3278,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
3178
3278
  SiDaySelectionComponent,
3179
3279
  SiTimepickerComponent,
3180
3280
  SiTranslatePipe
3181
- ], changeDetection: ChangeDetectionStrategy.Default, template: "@if (!hideCalendar()) {\n <div class=\"text-center pb-6 calendar\">\n @switch (view()) {\n @case ('year') {\n <si-year-selection\n [focusedDate]=\"actualFocusedDate()\"\n [startDate]=\"startDate\"\n [endDate]=\"endDate\"\n [minDate]=\"config().minDate\"\n [maxDate]=\"config().maxDate\"\n [minMonth]=\"minMonth()\"\n [maxMonth]=\"maxMonth()\"\n [isRangeSelection]=\"config().enableDateRange!\"\n [previousLabel]=\"previousLabel() | translate\"\n [nextLabel]=\"nextLabel() | translate\"\n (selectedValueChange)=\"activeYearChange($event)\"\n />\n }\n @case ('month') {\n <si-month-selection\n [startDate]=\"startDate\"\n [endDate]=\"endDate\"\n [months]=\"months\"\n [minDate]=\"config().minDate\"\n [maxDate]=\"config().maxDate\"\n [minMonth]=\"minMonth()\"\n [maxMonth]=\"maxMonth()\"\n [isRangeSelection]=\"config().enableDateRange!\"\n [previewRange]=\"rangeType() === 'END'\"\n [previousLabel]=\"previousLabel() | translate\"\n [nextLabel]=\"nextLabel() | translate\"\n [activeHover]=\"activeHover()\"\n [focusedDate]=\"actualFocusedDate()\"\n (activeHoverChange)=\"onActiveHoverChange($event)\"\n (focusedDateChange)=\"focusedDate.set($event)\"\n (selectedValueChange)=\"activeMonthChange($event)\"\n (viewChange)=\"view.set($event)\"\n />\n }\n @case ('week') {\n <si-day-selection\n [initialFocus]=\"forceFocus()\"\n [startDate]=\"startDate\"\n [endDate]=\"dateRange()?.end\"\n [isRangeSelection]=\"config().enableDateRange!\"\n [previewRange]=\"rangeType() === 'END'\"\n [hideWeekNumbers]=\"hideWeekNumbers\"\n [minDate]=\"config().minDate\"\n [maxDate]=\"config().maxDate\"\n [minMonth]=\"minMonth()\"\n [weekStartDay]=\"weekStartDay\"\n [calendarWeekLabel]=\"derivedWeekLabel()\"\n [previousLabel]=\"previousLabel() | translate\"\n [nextLabel]=\"nextLabel() | translate\"\n [todayLabel]=\"config().todayText\"\n [activeHover]=\"activeHover()\"\n [focusedDate]=\"actualFocusedDate()\"\n (activeHoverChange)=\"onActiveHoverChange($event)\"\n (focusedDateChange)=\"focusedDate.set($event)\"\n (selectedValueChange)=\"selectionChange($event!)\"\n (viewChange)=\"view.set($event)\"\n />\n }\n }\n </div>\n}\n@if (this.config().showTime) {\n <div\n class=\"timepicker-container px-9 pb-6\"\n [class.pt-6]=\"!hideCalendar()\"\n [class.border-top]=\"!hideCalendar()\"\n >\n @if (!config().mandatoryTime && !hideTimeToggle()) {\n <div class=\"mb-5 form-check form-switch\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n role=\"switch\"\n [id]=\"switchId\"\n [checked]=\"!disabledTime()\"\n (change)=\"toggleDisabledTime()\"\n />\n <label class=\"form-check-label\" [for]=\"switchId\">{{\n includeTimeLabel() | translate\n }}</label>\n </div>\n }\n <div class=\"mt-auto\">\n @if (timepickerLabel()) {\n <label class=\"form-label\" [for]=\"timepickerId\">{{ timepickerLabel() | translate }}</label>\n }\n <si-timepicker\n #timePicker\n [id]=\"timepickerId\"\n [formControl]=\"time\"\n [hoursLabel]=\"config().hoursLabel ?? timePicker.hoursLabel()\"\n [minutesLabel]=\"config().minutesLabel ?? timePicker.minutesLabel()\"\n [secondsLabel]=\"config().secondsLabel ?? timePicker.secondsLabel()\"\n [millisecondsLabel]=\"config().millisecondsLabel ?? timePicker.millisecondsLabel()\"\n [hideLabels]=\"config().hideLabels ?? timePicker.hideLabels()\"\n [hoursAriaLabel]=\"config().hoursAriaLabel ?? timePicker.hoursAriaLabel()\"\n [minutesAriaLabel]=\"config().minutesAriaLabel ?? timePicker.minutesAriaLabel()\"\n [secondsAriaLabel]=\"config().secondsAriaLabel ?? timePicker.secondsAriaLabel()\"\n [millisecondsAriaLabel]=\"\n config().millisecondsAriaLabel ?? timePicker.millisecondsAriaLabel()\n \"\n [hoursPlaceholder]=\"config().hoursPlaceholder ?? timePicker.hoursPlaceholder()\"\n [minutesPlaceholder]=\"config().minutesPlaceholder ?? timePicker.minutesPlaceholder()\"\n [secondsPlaceholder]=\"config().secondsPlaceholder ?? timePicker.secondsPlaceholder()\"\n [millisecondsPlaceholder]=\"\n config().millisecondsPlaceholder ?? timePicker.millisecondsPlaceholder()\n \"\n [meridians]=\"config().meridians ?? timePicker.meridians()\"\n [meridiansLabel]=\"config().meridiansLabel ?? timePicker.meridiansLabel()\"\n [meridiansAriaLabel]=\"config().meridiansAriaLabel ?? timePicker.meridiansAriaLabel()\"\n [showMinutes]=\"config().showMinutes ?? true\"\n [showSeconds]=\"config().showSeconds ?? false\"\n [showMilliseconds]=\"config().showMilliseconds ?? false\"\n [showMeridian]=\"time12h()\"\n />\n </div>\n </div>\n}\n", styles: [":host ::ng-deep .year:not(.disabled):not(.selected):hover,:host ::ng-deep .month:not(.disabled):not(.selected):hover,:host ::ng-deep .day:not(.disabled):not(.selected):hover{background:var(--element-base-1-hover);color:var(--element-ui-0)}:host ::ng-deep .year,:host ::ng-deep .month,:host ::ng-deep td,:host ::ng-deep th,:host ::ng-deep .day{block-size:2rem;line-height:2rem}:host ::ng-deep td,:host ::ng-deep th,:host ::ng-deep .day{inline-size:2rem}:host ::ng-deep .year,:host ::ng-deep .month,:host ::ng-deep .day{display:block;margin-inline:auto;position:relative;border:unset;background-color:unset;padding:0;cursor:pointer;border-radius:var(--element-button-radius)}:host{background:var(--element-base-1);border-radius:var(--element-radius-2);display:flex;flex-direction:column}:host ::ng-deep .header,:host ::ng-deep .footer{display:flex;align-items:center;min-block-size:calc(1rem + 16px)}:host ::ng-deep .header{padding-block:12px;padding-inline:32px;border-block-end:1px solid var(--element-ui-4)}:host ::ng-deep .header a{text-decoration:none;cursor:pointer}:host ::ng-deep .footer{margin-block-start:4px}:host ::ng-deep .calendar-table{min-block-size:calc(14rem + 24px)}:host ::ng-deep table{border-collapse:separate;border-spacing:0 3px;table-layout:fixed;margin-block-end:-3px}:host ::ng-deep .day.selected{background:var(--element-ui-0);color:var(--element-base-1)}:host ::ng-deep .month{inline-size:8rem}:host ::ng-deep .month.selected{background:var(--element-ui-0);color:var(--element-base-1)}:host ::ng-deep .year{inline-size:5.3333333333rem}:host ::ng-deep .year.selected{background:var(--element-ui-0);color:var(--element-base-1)}:host ::ng-deep td,:host ::ng-deep th{padding:0;font-weight:400}:host ::ng-deep .week-num,:host ::ng-deep th{font-size:.75rem;color:var(--element-text-secondary);inline-size:2rem;cursor:default}:host ::ng-deep .today.selected:before{border-color:var(--element-ui-5)}:host ::ng-deep .today:before{position:absolute;content:\"\";inset:1px;border:1px solid var(--element-ui-1);border-radius:var(--element-radius-2);display:inline-block}:host ::ng-deep .disabled{color:var(--element-text-disabled);font-weight:400!important;cursor:default!important}:host ::ng-deep .range{background-color:var(--element-ui-4)}:host ::ng-deep .range:hover{background:var(--element-base-1-hover)}:host ::ng-deep .range:hover div.si-h4:hover{background:transparent}:host ::ng-deep .range-hover{background-color:var(--element-base-1-hover)}:host ::ng-deep .range-hover-end{border-start-end-radius:var(--element-button-radius);border-end-end-radius:var(--element-button-radius)}:host ::ng-deep td:is(.range-start,.range-end){background:var(--element-ui-0);color:var(--element-base-1)}:host ::ng-deep td:is(.range-start,.range-end) div.si-h4:hover,:host ::ng-deep td:is(.range-start,.range-end) div.si-body-lg:hover{background:transparent;color:var(--element-base-1)}:host ::ng-deep td:is(.range-start,.range-end) .today:before{border-color:var(--element-ui-5)}:host ::ng-deep td.range-start{border-start-start-radius:var(--element-button-radius);border-end-start-radius:var(--element-button-radius)}:host ::ng-deep td.range-end{border-start-end-radius:var(--element-button-radius);border-end-end-radius:var(--element-button-radius)}:host ::ng-deep .calendar-button{font-weight:600;font-size:.875rem;line-height:1.1428571429;color:var(--element-text-active);min-inline-size:0!important}:host ::ng-deep .timepicker-container{display:flex;flex:1 1 auto;flex-direction:column}\n"] }]
3182
- }], ctorParameters: () => [], propDecorators: { focusedDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusedDate", required: false }] }, { type: i0.Output, args: ["focusedDateChange"] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: false }] }, { type: i0.Output, args: ["dateChange"] }], dateRange: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateRange", required: false }] }, { type: i0.Output, args: ["dateRangeChange"] }], dateRangeRole: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateRangeRole", required: false }] }], initialFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialFocus", required: false }] }], disabledTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabledTime", required: false }] }, { type: i0.Output, args: ["disabledTimeChange"] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }, { type: i0.Output, args: ["configChange"] }], previousLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "previousLabel", required: false }] }], nextLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "nextLabel", required: false }] }], calenderWeekLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "calenderWeekLabel", required: false }] }], calendarWeekLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendarWeekLabel", required: false }] }], time12h: [{ type: i0.Input, args: [{ isSignal: true, alias: "time12h", required: false }] }], rangeType: [{ type: i0.Input, args: [{ isSignal: true, alias: "rangeType", required: false }] }, { type: i0.Output, args: ["rangeTypeChange"] }], minMonth: [{ type: i0.Input, args: [{ isSignal: true, alias: "minMonth", required: false }] }], maxMonth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxMonth", required: false }] }], hideTimeToggle: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideTimeToggle", required: false }] }], hideCalendar: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideCalendar", required: false }] }], timepickerLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "timepickerLabel", required: false }] }], daySelection: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SiDaySelectionComponent), { isSignal: true }] }], monthSelection: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SiMonthSelectionComponent), { isSignal: true }] }], yearSelection: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SiYearSelectionComponent), { isSignal: true }] }], activeHover: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeHover", required: false }] }, { type: i0.Output, args: ["activeHoverChange"] }] } });
3281
+ ], changeDetection: ChangeDetectionStrategy.Eager, template: "@if (!hideCalendar()) {\n <div class=\"text-center pb-6 calendar\">\n @switch (view()) {\n @case ('year') {\n <si-year-selection\n [focusedDate]=\"actualFocusedDate()\"\n [startDate]=\"startDate\"\n [endDate]=\"endDate\"\n [minDate]=\"config().minDate\"\n [maxDate]=\"config().maxDate\"\n [minMonth]=\"minMonth()\"\n [maxMonth]=\"maxMonth()\"\n [isRangeSelection]=\"config().enableDateRange!\"\n [previousLabel]=\"previousLabel() | translate\"\n [nextLabel]=\"nextLabel() | translate\"\n (selectedValueChange)=\"activeYearChange($event)\"\n />\n }\n @case ('month') {\n <si-month-selection\n [startDate]=\"startDate\"\n [endDate]=\"endDate\"\n [months]=\"months\"\n [minDate]=\"config().minDate\"\n [maxDate]=\"config().maxDate\"\n [minMonth]=\"minMonth()\"\n [maxMonth]=\"maxMonth()\"\n [isRangeSelection]=\"config().enableDateRange!\"\n [previewRange]=\"rangeType() === 'END'\"\n [previousLabel]=\"previousLabel() | translate\"\n [nextLabel]=\"nextLabel() | translate\"\n [activeHover]=\"activeHover()\"\n [focusedDate]=\"actualFocusedDate()\"\n (activeHoverChange)=\"onActiveHoverChange($event)\"\n (focusedDateChange)=\"focusedDate.set($event)\"\n (selectedValueChange)=\"activeMonthChange($event)\"\n (viewChange)=\"view.set($event)\"\n />\n }\n @case ('week') {\n <si-day-selection\n [initialFocus]=\"forceFocus()\"\n [startDate]=\"startDate\"\n [endDate]=\"dateRange()?.end\"\n [isRangeSelection]=\"config().enableDateRange!\"\n [previewRange]=\"rangeType() === 'END'\"\n [hideWeekNumbers]=\"hideWeekNumbers\"\n [minDate]=\"config().minDate\"\n [maxDate]=\"config().maxDate\"\n [minMonth]=\"minMonth()\"\n [weekStartDay]=\"weekStartDay\"\n [calendarWeekLabel]=\"calendarWeekLabel()\"\n [previousLabel]=\"previousLabel() | translate\"\n [nextLabel]=\"nextLabel() | translate\"\n [todayLabel]=\"config().todayText\"\n [activeHover]=\"activeHover()\"\n [focusedDate]=\"actualFocusedDate()\"\n (activeHoverChange)=\"onActiveHoverChange($event)\"\n (focusedDateChange)=\"focusedDate.set($event)\"\n (selectedValueChange)=\"selectionChange($event!)\"\n (viewChange)=\"view.set($event)\"\n />\n }\n }\n </div>\n}\n@if (this.config().showTime) {\n <div\n class=\"timepicker-container px-9 pb-6\"\n [class.pt-6]=\"!hideCalendar()\"\n [class.border-top]=\"!hideCalendar()\"\n >\n @if (!config().mandatoryTime && !hideTimeToggle()) {\n <div class=\"mb-5 form-check form-switch\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n role=\"switch\"\n [id]=\"switchId\"\n [checked]=\"!disabledTime()\"\n (change)=\"toggleDisabledTime()\"\n />\n <label class=\"form-check-label\" [for]=\"switchId\">{{\n includeTimeLabel() | translate\n }}</label>\n </div>\n }\n <div class=\"mt-auto\">\n @if (timepickerLabel()) {\n <label class=\"form-label\" [for]=\"timepickerId\">{{ timepickerLabel() | translate }}</label>\n }\n <si-timepicker\n #timePicker\n [id]=\"timepickerId\"\n [formControl]=\"time\"\n [hoursLabel]=\"config().hoursLabel ?? timePicker.hoursLabel()\"\n [minutesLabel]=\"config().minutesLabel ?? timePicker.minutesLabel()\"\n [secondsLabel]=\"config().secondsLabel ?? timePicker.secondsLabel()\"\n [millisecondsLabel]=\"config().millisecondsLabel ?? timePicker.millisecondsLabel()\"\n [hideLabels]=\"config().hideLabels ?? timePicker.hideLabels()\"\n [hoursAriaLabel]=\"config().hoursAriaLabel ?? timePicker.hoursAriaLabel()\"\n [minutesAriaLabel]=\"config().minutesAriaLabel ?? timePicker.minutesAriaLabel()\"\n [secondsAriaLabel]=\"config().secondsAriaLabel ?? timePicker.secondsAriaLabel()\"\n [millisecondsAriaLabel]=\"\n config().millisecondsAriaLabel ?? timePicker.millisecondsAriaLabel()\n \"\n [hoursPlaceholder]=\"config().hoursPlaceholder ?? timePicker.hoursPlaceholder()\"\n [minutesPlaceholder]=\"config().minutesPlaceholder ?? timePicker.minutesPlaceholder()\"\n [secondsPlaceholder]=\"config().secondsPlaceholder ?? timePicker.secondsPlaceholder()\"\n [millisecondsPlaceholder]=\"\n config().millisecondsPlaceholder ?? timePicker.millisecondsPlaceholder()\n \"\n [meridians]=\"config().meridians ?? timePicker.meridians()\"\n [meridiansLabel]=\"config().meridiansLabel ?? timePicker.meridiansLabel()\"\n [meridiansAriaLabel]=\"config().meridiansAriaLabel ?? timePicker.meridiansAriaLabel()\"\n [showMinutes]=\"config().showMinutes ?? true\"\n [showSeconds]=\"config().showSeconds ?? false\"\n [showMilliseconds]=\"config().showMilliseconds ?? false\"\n [showMeridian]=\"time12h()\"\n />\n </div>\n </div>\n}\n", styles: [":host ::ng-deep .year:not(.disabled):not(.selected):hover,:host ::ng-deep .month:not(.disabled):not(.selected):hover,:host ::ng-deep .day:not(.disabled):not(.selected):hover{background:var(--si-sys-background-hover);color:var(--si-sys-text-accent)}:host ::ng-deep .year,:host ::ng-deep .month,:host ::ng-deep td,:host ::ng-deep th,:host ::ng-deep .day{block-size:2rem;line-height:2rem}:host ::ng-deep td,:host ::ng-deep th,:host ::ng-deep .day{inline-size:2rem}:host ::ng-deep .year,:host ::ng-deep .month,:host ::ng-deep .day{display:block;margin-inline:auto;position:relative;border:unset;background-color:unset;padding:0;cursor:pointer;border-radius:var(--element-button-radius)}:host{background:var(--si-sys-background-1);border-radius:var(--element-radius-2);display:flex;flex-direction:column}:host ::ng-deep .header,:host ::ng-deep .footer{display:flex;align-items:center;min-block-size:calc(1rem + 2 * var(--si-sys-sizing-spacing-y-40))}:host ::ng-deep .header{padding-block:var(--si-sys-sizing-spacing-y-50);padding-inline:var(--si-sys-sizing-spacing-x-90);border-block-end:1px solid var(--si-sys-border-4)}:host ::ng-deep .header a{text-decoration:none;cursor:pointer}:host ::ng-deep .footer{margin-block-start:var(--si-sys-sizing-spacing-y-20)}:host ::ng-deep .calendar-table{min-block-size:calc(14rem + 24px)}:host ::ng-deep table{border-collapse:separate;border-spacing:0 3px;table-layout:fixed;margin-block-end:-3px}:host ::ng-deep .day.selected{background:var(--si-sys-background-accent);color:var(--si-sys-text-on-accent)}:host ::ng-deep .month{inline-size:8rem}:host ::ng-deep .month.selected{background:var(--si-sys-background-accent);color:var(--si-sys-text-on-accent)}:host ::ng-deep .year{inline-size:5.3333333333rem}:host ::ng-deep .year.selected{background:var(--si-sys-background-accent);color:var(--si-sys-text-on-accent)}:host ::ng-deep td,:host ::ng-deep th{padding:0;font-weight:400}:host ::ng-deep .week-num,:host ::ng-deep th{font-size:var(--si-sys-typography-font-size-body-sm);color:var(--si-sys-text-secondary);inline-size:2rem;cursor:default}:host ::ng-deep .today.selected:before{border-color:var(--si-sys-border-inverse)}:host ::ng-deep .today:before{position:absolute;content:\"\";inset:1px;border:1px solid var(--si-sys-border-1);border-radius:var(--element-radius-2);display:inline-block}:host ::ng-deep .disabled{color:var(--si-sys-text-disabled);font-weight:400!important;cursor:default!important}:host ::ng-deep .range{background-color:var(--si-sys-background-active)}:host ::ng-deep .range:hover{background:var(--si-sys-background-hover)}:host ::ng-deep .range:hover div.si-h4:hover{background:transparent}:host ::ng-deep .range-hover{background-color:var(--si-sys-background-hover)}:host ::ng-deep .range-hover-end{border-start-end-radius:var(--element-button-radius);border-end-end-radius:var(--element-button-radius)}:host ::ng-deep td:is(.range-start,.range-end){background:var(--si-sys-background-accent);color:var(--si-sys-text-on-accent)}:host ::ng-deep td:is(.range-start,.range-end) div.si-h4:hover,:host ::ng-deep td:is(.range-start,.range-end) div.si-body-lg:hover{background:transparent;color:var(--si-sys-text-on-accent)}:host ::ng-deep td:is(.range-start,.range-end) .today:before{border-color:var(--si-sys-border-inverse)}:host ::ng-deep td.range-start{border-start-start-radius:var(--element-button-radius);border-end-start-radius:var(--element-button-radius)}:host ::ng-deep td.range-end{border-start-end-radius:var(--element-button-radius);border-end-end-radius:var(--element-button-radius)}:host ::ng-deep .calendar-button{min-inline-size:0!important}:host ::ng-deep .timepicker-container{display:flex;flex:1 1 auto;flex-direction:column}\n"] }]
3282
+ }], ctorParameters: () => [], propDecorators: { focusedDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusedDate", required: false }] }, { type: i0.Output, args: ["focusedDateChange"] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: false }] }, { type: i0.Output, args: ["dateChange"] }], dateRange: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateRange", required: false }] }, { type: i0.Output, args: ["dateRangeChange"] }], dateRangeRole: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateRangeRole", required: false }] }], initialFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialFocus", required: false }] }], disabledTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabledTime", required: false }] }, { type: i0.Output, args: ["disabledTimeChange"] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }, { type: i0.Output, args: ["configChange"] }], previousLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "previousLabel", required: false }] }], nextLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "nextLabel", required: false }] }], calendarWeekLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendarWeekLabel", required: false }] }], time12h: [{ type: i0.Input, args: [{ isSignal: true, alias: "time12h", required: false }] }], rangeType: [{ type: i0.Input, args: [{ isSignal: true, alias: "rangeType", required: false }] }, { type: i0.Output, args: ["rangeTypeChange"] }], minMonth: [{ type: i0.Input, args: [{ isSignal: true, alias: "minMonth", required: false }] }], maxMonth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxMonth", required: false }] }], hideTimeToggle: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideTimeToggle", required: false }] }], hideCalendar: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideCalendar", required: false }] }], timepickerLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "timepickerLabel", required: false }] }], daySelection: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SiDaySelectionComponent), { isSignal: true }] }], monthSelection: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SiMonthSelectionComponent), { isSignal: true }] }], yearSelection: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SiYearSelectionComponent), { isSignal: true }] }], activeHover: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeHover", required: false }] }, { type: i0.Output, args: ["activeHoverChange"] }] } });
3183
3283
 
3184
3284
  /**
3185
3285
  * Copyright (c) Siemens 2016 - 2026
3186
3286
  * SPDX-License-Identifier: MIT
3187
3287
  */
3188
3288
  class SiDatepickerOverlayComponent {
3189
- minMonth = signal(undefined, ...(ngDevMode ? [{ debugName: "minMonth" }] : []));
3190
- maxMonth = signal(undefined, ...(ngDevMode ? [{ debugName: "maxMonth" }] : []));
3191
- datepicker = viewChild.required(SiDatepickerComponent);
3289
+ minMonth = signal(undefined, /* @ts-ignore */
3290
+ ...(ngDevMode ? [{ debugName: "minMonth" }] : /* istanbul ignore next */ []));
3291
+ maxMonth = signal(undefined, /* @ts-ignore */
3292
+ ...(ngDevMode ? [{ debugName: "maxMonth" }] : /* istanbul ignore next */ []));
3293
+ datepicker = viewChild.required(SiDatepickerComponent, /* @ts-ignore */
3294
+ ...(ngDevMode ? [{ debugName: "datepicker" }] : /* istanbul ignore next */ []));
3192
3295
  /**
3193
3296
  * {@inheritDoc SiDatepickerComponent#initialFocus}
3194
3297
  * @defaultValue false
3195
3298
  */
3196
- initialFocus = input(false, { ...(ngDevMode ? { debugName: "initialFocus" } : {}), transform: booleanAttribute });
3299
+ initialFocus = input(false, { ...(ngDevMode ? { debugName: "initialFocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
3197
3300
  /**
3198
3301
  * {@inheritDoc SiDatepickerComponent#config}
3199
3302
  * @defaultValue
@@ -3201,24 +3304,28 @@ class SiDatepickerOverlayComponent {
3201
3304
  * {}
3202
3305
  * ```
3203
3306
  */
3204
- config = input({}, ...(ngDevMode ? [{ debugName: "config" }] : []));
3307
+ config = input({}, /* @ts-ignore */
3308
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
3205
3309
  /**
3206
3310
  * {@inheritDoc SiDatepickerComponent#date}
3207
3311
  */
3208
- date = model(...(ngDevMode ? [undefined, { debugName: "date" }] : []));
3312
+ date = model(/* @ts-ignore */
3313
+ ...(ngDevMode ? [undefined, { debugName: "date" }] : /* istanbul ignore next */ []));
3209
3314
  /**
3210
3315
  * {@inheritDoc SiDatepickerComponent#dateRange}
3211
3316
  */
3212
- dateRange = model(...(ngDevMode ? [undefined, { debugName: "dateRange" }] : []));
3317
+ dateRange = model(/* @ts-ignore */
3318
+ ...(ngDevMode ? [undefined, { debugName: "dateRange" }] : /* istanbul ignore next */ []));
3213
3319
  /**
3214
3320
  * {@inheritDoc SiDatepickerComponent#rangeType}
3215
3321
  */
3216
- rangeType = model(...(ngDevMode ? [undefined, { debugName: "rangeType" }] : []));
3322
+ rangeType = model(/* @ts-ignore */
3323
+ ...(ngDevMode ? [undefined, { debugName: "rangeType" }] : /* istanbul ignore next */ []));
3217
3324
  /**
3218
3325
  * {@inheritDoc SiDatepickerComponent#time12h}
3219
3326
  * @defaultValue false
3220
3327
  */
3221
- time12h = input(false, { ...(ngDevMode ? { debugName: "time12h" } : {}), transform: booleanAttribute });
3328
+ time12h = input(false, { ...(ngDevMode ? { debugName: "time12h" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
3222
3329
  /**
3223
3330
  * Emits an event to notify about disabling the time from the datepicker.
3224
3331
  * When time is disable, we construct a pure date object in UTC 00:00:00 time.
@@ -3230,20 +3337,27 @@ class SiDatepickerOverlayComponent {
3230
3337
  focusTrapFactory = inject(ConfigurableFocusTrapFactory);
3231
3338
  focusTrap;
3232
3339
  previousActiveElement;
3233
- disableTime = signal(false, ...(ngDevMode ? [{ debugName: "disableTime" }] : []));
3234
- activeHover = signal(undefined, ...(ngDevMode ? [{ debugName: "activeHover" }] : []));
3340
+ disableTime = signal(false, /* @ts-ignore */
3341
+ ...(ngDevMode ? [{ debugName: "disableTime" }] : /* istanbul ignore next */ []));
3342
+ activeHover = signal(undefined, /* @ts-ignore */
3343
+ ...(ngDevMode ? [{ debugName: "activeHover" }] : /* istanbul ignore next */ []));
3235
3344
  isTwoMonthDateRange = computed(() => !!this.config().enableDateRange &&
3236
- (!!this.config().enableTwoMonthDateRange || !!this.config().showTime), ...(ngDevMode ? [{ debugName: "isTwoMonthDateRange" }] : []));
3237
- firstDatepickerConfig = signal({}, ...(ngDevMode ? [{ debugName: "firstDatepickerConfig" }] : []));
3238
- secondDatepickerConfig = signal({}, ...(ngDevMode ? [{ debugName: "secondDatepickerConfig" }] : []));
3345
+ (!!this.config().enableTwoMonthDateRange || !!this.config().showTime), /* @ts-ignore */
3346
+ ...(ngDevMode ? [{ debugName: "isTwoMonthDateRange" }] : /* istanbul ignore next */ []));
3347
+ firstDatepickerConfig = signal({}, /* @ts-ignore */
3348
+ ...(ngDevMode ? [{ debugName: "firstDatepickerConfig" }] : /* istanbul ignore next */ []));
3349
+ secondDatepickerConfig = signal({}, /* @ts-ignore */
3350
+ ...(ngDevMode ? [{ debugName: "secondDatepickerConfig" }] : /* istanbul ignore next */ []));
3239
3351
  /**
3240
3352
  * Indicate that the overlay is opened in small screen.
3241
3353
  * A modal dialog animation display when true and a wrapped two month calendar layout is displayed.
3242
3354
  *
3243
3355
  * @defaultValue false
3244
3356
  */
3245
- isMobile = input(false, ...(ngDevMode ? [{ debugName: "isMobile" }] : []));
3246
- completeAnimation = signal(false, ...(ngDevMode ? [{ debugName: "completeAnimation" }] : []));
3357
+ isMobile = input(false, /* @ts-ignore */
3358
+ ...(ngDevMode ? [{ debugName: "isMobile" }] : /* istanbul ignore next */ []));
3359
+ completeAnimation = signal(false, /* @ts-ignore */
3360
+ ...(ngDevMode ? [{ debugName: "completeAnimation" }] : /* istanbul ignore next */ []));
3247
3361
  ngOnChanges(changes) {
3248
3362
  if (changes.config) {
3249
3363
  const config = this.config();
@@ -3302,8 +3416,8 @@ class SiDatepickerOverlayComponent {
3302
3416
  }
3303
3417
  }
3304
3418
  }
3305
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDatepickerOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3306
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiDatepickerOverlayComponent, isStandalone: true, selector: "si-datepicker-overlay", inputs: { initialFocus: { classPropertyName: "initialFocus", publicName: "initialFocus", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null }, dateRange: { classPropertyName: "dateRange", publicName: "dateRange", isSignal: true, isRequired: false, transformFunction: null }, rangeType: { classPropertyName: "rangeType", publicName: "rangeType", isSignal: true, isRequired: false, transformFunction: null }, time12h: { classPropertyName: "time12h", publicName: "time12h", isSignal: true, isRequired: false, transformFunction: null }, isMobile: { classPropertyName: "isMobile", publicName: "isMobile", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { date: "dateChange", dateRange: "dateRangeChange", rangeType: "rangeTypeChange", disabledTimeChange: "disabledTimeChange" }, host: { properties: { "class.flex-wrap": "isMobile()", "class.mobile-datepicker-overlay": "isMobile()", "class.fade": "isMobile()", "class.show": "completeAnimation()" }, classAttribute: "mt-md-1 d-flex elevation-2 rounded-2 overflow-auto align-items-stretch" }, viewQueries: [{ propertyName: "datepicker", first: true, predicate: SiDatepickerComponent, descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: `
3419
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDatepickerOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3420
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiDatepickerOverlayComponent, isStandalone: true, selector: "si-datepicker-overlay", inputs: { initialFocus: { classPropertyName: "initialFocus", publicName: "initialFocus", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null }, dateRange: { classPropertyName: "dateRange", publicName: "dateRange", isSignal: true, isRequired: false, transformFunction: null }, rangeType: { classPropertyName: "rangeType", publicName: "rangeType", isSignal: true, isRequired: false, transformFunction: null }, time12h: { classPropertyName: "time12h", publicName: "time12h", isSignal: true, isRequired: false, transformFunction: null }, isMobile: { classPropertyName: "isMobile", publicName: "isMobile", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { date: "dateChange", dateRange: "dateRangeChange", rangeType: "rangeTypeChange", disabledTimeChange: "disabledTimeChange" }, host: { properties: { "class.flex-wrap": "isMobile()", "class.mobile-datepicker-overlay": "isMobile()", "class.fade": "isMobile()", "class.show": "completeAnimation()" }, classAttribute: "mt-md-1 d-flex shadow-3 rounded-2 overflow-auto align-items-stretch" }, viewQueries: [{ propertyName: "datepicker", first: true, predicate: SiDatepickerComponent, descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: `
3307
3421
  <si-datepicker
3308
3422
  #datepicker
3309
3423
  tabindex="-1"
@@ -3350,9 +3464,9 @@ class SiDatepickerOverlayComponent {
3350
3464
  (rangeTypeChange)="rangeType.set($event)"
3351
3465
  />
3352
3466
  }
3353
- `, isInline: true, styles: [":host{background:var(--element-base-1);max-block-size:max-content;max-inline-size:min-content}:host.fade{transition:transform calc(.3s * var(--element-animations-enabled, 1)) ease-out;transform:translateY(-50px)}:host.show{transform:none}.mobile-datepicker-overlay{max-inline-size:43.5ch}.first-datepicker{border-inline-end:0;border-start-end-radius:0;border-end-end-radius:0}.second-datepicker{border-inline-start:0;border-start-start-radius:0;border-end-start-radius:0}.first-datepicker-mobile{border-block-end:0;border-end-start-radius:0;border-end-end-radius:0}.second-datepicker-mobile{border-block-start:0;border-start-start-radius:0;border-start-end-radius:0}\n"], dependencies: [{ kind: "component", type: SiDatepickerComponent, selector: "si-datepicker", inputs: ["focusedDate", "date", "dateRange", "dateRangeRole", "initialFocus", "disabledTime", "config", "previousLabel", "nextLabel", "calenderWeekLabel", "calendarWeekLabel", "time12h", "rangeType", "minMonth", "maxMonth", "hideTimeToggle", "hideCalendar", "timepickerLabel", "activeHover"], outputs: ["focusedDateChange", "dateChange", "dateRangeChange", "disabledTimeChange", "configChange", "rangeTypeChange", "activeHoverChange"] }, { kind: "ngmodule", type: A11yModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3467
+ `, isInline: true, styles: [":host{background:var(--si-sys-background-1);max-block-size:max-content;max-inline-size:min-content}:host.fade{transition:transform calc(.3s * var(--element-animations-enabled, 1)) ease-out;transform:translateY(-50px)}:host.show{transform:none}.mobile-datepicker-overlay{max-inline-size:43.5ch}.first-datepicker{border-inline-end:0;border-start-end-radius:0;border-end-end-radius:0}.second-datepicker{border-inline-start:0;border-start-start-radius:0;border-end-start-radius:0}.first-datepicker-mobile{border-block-end:0;border-end-start-radius:0;border-end-end-radius:0}.second-datepicker-mobile{border-block-start:0;border-start-start-radius:0;border-start-end-radius:0}\n"], dependencies: [{ kind: "component", type: SiDatepickerComponent, selector: "si-datepicker", inputs: ["focusedDate", "date", "dateRange", "dateRangeRole", "initialFocus", "disabledTime", "config", "previousLabel", "nextLabel", "calendarWeekLabel", "time12h", "rangeType", "minMonth", "maxMonth", "hideTimeToggle", "hideCalendar", "timepickerLabel", "activeHover"], outputs: ["focusedDateChange", "dateChange", "dateRangeChange", "disabledTimeChange", "configChange", "rangeTypeChange", "activeHoverChange"] }, { kind: "ngmodule", type: A11yModule }] });
3354
3468
  }
3355
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDatepickerOverlayComponent, decorators: [{
3469
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDatepickerOverlayComponent, decorators: [{
3356
3470
  type: Component,
3357
3471
  args: [{ selector: 'si-datepicker-overlay', imports: [SiDatepickerComponent, A11yModule], template: `
3358
3472
  <si-datepicker
@@ -3401,13 +3515,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
3401
3515
  (rangeTypeChange)="rangeType.set($event)"
3402
3516
  />
3403
3517
  }
3404
- `, changeDetection: ChangeDetectionStrategy.OnPush, host: {
3405
- class: 'mt-md-1 d-flex elevation-2 rounded-2 overflow-auto align-items-stretch',
3518
+ `, host: {
3519
+ class: 'mt-md-1 d-flex shadow-3 rounded-2 overflow-auto align-items-stretch',
3406
3520
  '[class.flex-wrap]': 'isMobile()',
3407
3521
  '[class.mobile-datepicker-overlay]': 'isMobile()',
3408
3522
  '[class.fade]': 'isMobile()',
3409
3523
  '[class.show]': 'completeAnimation()'
3410
- }, styles: [":host{background:var(--element-base-1);max-block-size:max-content;max-inline-size:min-content}:host.fade{transition:transform calc(.3s * var(--element-animations-enabled, 1)) ease-out;transform:translateY(-50px)}:host.show{transform:none}.mobile-datepicker-overlay{max-inline-size:43.5ch}.first-datepicker{border-inline-end:0;border-start-end-radius:0;border-end-end-radius:0}.second-datepicker{border-inline-start:0;border-start-start-radius:0;border-end-start-radius:0}.first-datepicker-mobile{border-block-end:0;border-end-start-radius:0;border-end-end-radius:0}.second-datepicker-mobile{border-block-start:0;border-start-start-radius:0;border-start-end-radius:0}\n"] }]
3524
+ }, styles: [":host{background:var(--si-sys-background-1);max-block-size:max-content;max-inline-size:min-content}:host.fade{transition:transform calc(.3s * var(--element-animations-enabled, 1)) ease-out;transform:translateY(-50px)}:host.show{transform:none}.mobile-datepicker-overlay{max-inline-size:43.5ch}.first-datepicker{border-inline-end:0;border-start-end-radius:0;border-end-end-radius:0}.second-datepicker{border-inline-start:0;border-start-start-radius:0;border-end-start-radius:0}.first-datepicker-mobile{border-block-end:0;border-end-start-radius:0;border-end-end-radius:0}.second-datepicker-mobile{border-block-start:0;border-start-start-radius:0;border-start-end-radius:0}\n"] }]
3411
3525
  }], propDecorators: { datepicker: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SiDatepickerComponent), { isSignal: true }] }], initialFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialFocus", required: false }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: false }] }, { type: i0.Output, args: ["dateChange"] }], dateRange: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateRange", required: false }] }, { type: i0.Output, args: ["dateRangeChange"] }], rangeType: [{ type: i0.Input, args: [{ isSignal: true, alias: "rangeType", required: false }] }, { type: i0.Output, args: ["rangeTypeChange"] }], time12h: [{ type: i0.Input, args: [{ isSignal: true, alias: "time12h", required: false }] }], disabledTimeChange: [{ type: i0.Output, args: ["disabledTimeChange"] }], isMobile: [{ type: i0.Input, args: [{ isSignal: true, alias: "isMobile", required: false }] }] } });
3412
3526
 
3413
3527
  /**
@@ -3446,13 +3560,14 @@ class SiDatepickerOverlayDirective {
3446
3560
  originX: 'start',
3447
3561
  originY: 'top'
3448
3562
  }
3449
- ], ...(ngDevMode ? [{ debugName: "placement" }] : []));
3563
+ ], /* @ts-ignore */
3564
+ ...(ngDevMode ? [{ debugName: "placement" }] : /* istanbul ignore next */ []));
3450
3565
  /**
3451
3566
  * Optional CDK scroll strategy used for the datepicker overlay.
3452
3567
  *
3453
3568
  * @defaultValue defaultConnectedOverlayScrollStrategy()
3454
3569
  */
3455
- scrollStrategy = input(defaultConnectedOverlayScrollStrategy(), { ...(ngDevMode ? { debugName: "scrollStrategy" } : {}),
3570
+ scrollStrategy = input(defaultConnectedOverlayScrollStrategy(), { ...(ngDevMode ? { debugName: "scrollStrategy" } : /* istanbul ignore next */ {}),
3456
3571
  // eslint-disable-next-line @angular-eslint/no-input-rename
3457
3572
  alias: 'siDatepickerScrollStrategy' // to be aligned with the `siDatepickerClose` output
3458
3573
  });
@@ -3615,10 +3730,10 @@ class SiDatepickerOverlayDirective {
3615
3730
  observeOn(asapScheduler), map(() => CloseCause.Select)), overlayRef.backdropClick().pipe(map(() => CloseCause.Backdrop)), overlayRef.detachments().pipe(map(() => CloseCause.Detach)), overlayRef.keydownEvents().pipe(filter(event => event.key === 'Escape'), tap(event => event.stopPropagation()), // ESC handled, prevent closing modal, etc.
3616
3731
  map(() => CloseCause.Escape)));
3617
3732
  }
3618
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDatepickerOverlayDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3619
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiDatepickerOverlayDirective, isStandalone: true, selector: "[siDatepickerOverlay]", inputs: { scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "siDatepickerScrollStrategy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { siDatepickerClose: "siDatepickerClose" }, exportAs: ["siDatepickerOverlay"], ngImport: i0 });
3733
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDatepickerOverlayDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3734
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.8", type: SiDatepickerOverlayDirective, isStandalone: true, selector: "[siDatepickerOverlay]", inputs: { scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "siDatepickerScrollStrategy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { siDatepickerClose: "siDatepickerClose" }, exportAs: ["siDatepickerOverlay"], ngImport: i0 });
3620
3735
  }
3621
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDatepickerOverlayDirective, decorators: [{
3736
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDatepickerOverlayDirective, decorators: [{
3622
3737
  type: Directive,
3623
3738
  args: [{
3624
3739
  selector: '[siDatepickerOverlay]',
@@ -3638,7 +3753,7 @@ class SiDatepickerDirective extends SiDateInputDirective {
3638
3753
  *
3639
3754
  * @defaultValue false
3640
3755
  */
3641
- autoClose = input(false, { ...(ngDevMode ? { debugName: "autoClose" } : {}), transform: booleanAttribute });
3756
+ autoClose = input(false, { ...(ngDevMode ? { debugName: "autoClose" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
3642
3757
  /**
3643
3758
  * During focus on close the datepicker will not show since we recover the focus on element.
3644
3759
  * The focus on close is only relevant when the directive is configured without a calendar button.
@@ -3722,8 +3837,8 @@ class SiDatepickerDirective extends SiDateInputDirective {
3722
3837
  this.overlayToggle.closeAfterSelection();
3723
3838
  }
3724
3839
  }
3725
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDatepickerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3726
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiDatepickerDirective, isStandalone: true, selector: "[siDatepicker]", inputs: { autoClose: { classPropertyName: "autoClose", publicName: "autoClose", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()", "keydown.tab": "onTab()", "focus": "focusChange()" } }, providers: [
3840
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDatepickerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3841
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.8", type: SiDatepickerDirective, isStandalone: true, selector: "[siDatepicker]", inputs: { autoClose: { classPropertyName: "autoClose", publicName: "autoClose", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()", "keydown.tab": "onTab()", "focus": "focusChange()" } }, providers: [
3727
3842
  {
3728
3843
  provide: NG_VALUE_ACCESSOR,
3729
3844
  useExisting: SiDatepickerDirective,
@@ -3740,7 +3855,7 @@ class SiDatepickerDirective extends SiDateInputDirective {
3740
3855
  }
3741
3856
  ], exportAs: ["siDatepicker"], usesInheritance: true, hostDirectives: [{ directive: SiDatepickerOverlayDirective, inputs: ["siDatepickerScrollStrategy", "siDatepickerScrollStrategy"], outputs: ["siDatepickerClose", "siDatepickerClose"] }], ngImport: i0 });
3742
3857
  }
3743
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDatepickerDirective, decorators: [{
3858
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDatepickerDirective, decorators: [{
3744
3859
  type: Directive,
3745
3860
  args: [{
3746
3861
  selector: '[siDatepicker]',
@@ -3786,17 +3901,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
3786
3901
  */
3787
3902
  class SiDateRangeComponent {
3788
3903
  static idCounter = 0;
3789
- inputDirectives = viewChildren(SiDateInputDirective, ...(ngDevMode ? [{ debugName: "inputDirectives" }] : []));
3790
- startInput = viewChild.required('startInput');
3791
- endInput = viewChild.required('endInput');
3792
- button = viewChild.required('button');
3904
+ inputDirectives = viewChildren(SiDateInputDirective, /* @ts-ignore */
3905
+ ...(ngDevMode ? [{ debugName: "inputDirectives" }] : /* istanbul ignore next */ []));
3906
+ startInput = viewChild.required('startInput', /* @ts-ignore */
3907
+ ...(ngDevMode ? [{ debugName: "startInput" }] : /* istanbul ignore next */ []));
3908
+ endInput = viewChild.required('endInput', /* @ts-ignore */
3909
+ ...(ngDevMode ? [{ debugName: "endInput" }] : /* istanbul ignore next */ []));
3910
+ button = viewChild.required('button', /* @ts-ignore */
3911
+ ...(ngDevMode ? [{ debugName: "button" }] : /* istanbul ignore next */ []));
3793
3912
  /**
3794
3913
  * @defaultValue
3795
3914
  * ```
3796
3915
  * `__si-date-range-${SiDateRangeComponent.idCounter++}`
3797
3916
  * ```
3798
3917
  */
3799
- id = input(`__si-date-range-${SiDateRangeComponent.idCounter++}`, ...(ngDevMode ? [{ debugName: "id" }] : []));
3918
+ id = input(`__si-date-range-${SiDateRangeComponent.idCounter++}`, /* @ts-ignore */
3919
+ ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
3800
3920
  labelledby = inject(new HostAttributeToken('aria-labelledby'), {
3801
3921
  optional: true
3802
3922
  }) ?? `${this.id()}-label`;
@@ -3808,7 +3928,8 @@ class SiDateRangeComponent {
3808
3928
  * { enableDateRange: true }
3809
3929
  * ```
3810
3930
  */
3811
- siDatepickerConfig = model({ enableDateRange: true }, ...(ngDevMode ? [{ debugName: "siDatepickerConfig" }] : []));
3931
+ siDatepickerConfig = model({ enableDateRange: true }, /* @ts-ignore */
3932
+ ...(ngDevMode ? [{ debugName: "siDatepickerConfig" }] : /* istanbul ignore next */ []));
3812
3933
  /**
3813
3934
  * Placeholder of the start date input.
3814
3935
  *
@@ -3817,7 +3938,8 @@ class SiDateRangeComponent {
3817
3938
  * t(() => $localize`:@@SI_DATEPICKER.START_DATE_PLACEHOLDER:Start date`)
3818
3939
  * ```
3819
3940
  */
3820
- startDatePlaceholder = input(t(() => $localize `:@@SI_DATEPICKER.START_DATE_PLACEHOLDER:Start date`), ...(ngDevMode ? [{ debugName: "startDatePlaceholder" }] : []));
3941
+ startDatePlaceholder = input(t(() => $localize `:@@SI_DATEPICKER.START_DATE_PLACEHOLDER:Start date`), /* @ts-ignore */
3942
+ ...(ngDevMode ? [{ debugName: "startDatePlaceholder" }] : /* istanbul ignore next */ []));
3821
3943
  /**
3822
3944
  * Placeholder of the end date input.
3823
3945
  *
@@ -3826,7 +3948,8 @@ class SiDateRangeComponent {
3826
3948
  * t(() => $localize`:@@SI_DATEPICKER.END_DATE_PLACEHOLDER:End date`)
3827
3949
  * ```
3828
3950
  */
3829
- endDatePlaceholder = input(t(() => $localize `:@@SI_DATEPICKER.END_DATE_PLACEHOLDER:End date`), ...(ngDevMode ? [{ debugName: "endDatePlaceholder" }] : []));
3951
+ endDatePlaceholder = input(t(() => $localize `:@@SI_DATEPICKER.END_DATE_PLACEHOLDER:End date`), /* @ts-ignore */
3952
+ ...(ngDevMode ? [{ debugName: "endDatePlaceholder" }] : /* istanbul ignore next */ []));
3830
3953
  /**
3831
3954
  * Aria label of the date-range calendar toggle button.
3832
3955
  *
@@ -3835,31 +3958,34 @@ class SiDateRangeComponent {
3835
3958
  * t(() => $localize`:@@SI_DATEPICKER.CALENDAR_TOGGLE_BUTTON:Open calendar`)
3836
3959
  * ```
3837
3960
  */
3838
- ariaLabelCalendarButton = input(t(() => $localize `:@@SI_DATEPICKER.CALENDAR_TOGGLE_BUTTON:Open calendar`), ...(ngDevMode ? [{ debugName: "ariaLabelCalendarButton" }] : []));
3961
+ ariaLabelCalendarButton = input(t(() => $localize `:@@SI_DATEPICKER.CALENDAR_TOGGLE_BUTTON:Open calendar`), /* @ts-ignore */
3962
+ ...(ngDevMode ? [{ debugName: "ariaLabelCalendarButton" }] : /* istanbul ignore next */ []));
3839
3963
  /**
3840
3964
  * Form label of the start timepicker.
3841
3965
  *
3842
3966
  * @defaultValue
3843
3967
  * ```
3844
- * t(() => $localize`:@@SI_DATEPICKER.START_TIME_LABEL:from`)
3968
+ * t(() => $localize`:@@SI_DATEPICKER.START_TIME_LABEL:From`)
3845
3969
  * ```
3846
3970
  */
3847
- startTimeLabel = input(t(() => $localize `:@@SI_DATEPICKER.START_TIME_LABEL:from`), ...(ngDevMode ? [{ debugName: "startTimeLabel" }] : []));
3971
+ startTimeLabel = input(t(() => $localize `:@@SI_DATEPICKER.START_TIME_LABEL:From`), /* @ts-ignore */
3972
+ ...(ngDevMode ? [{ debugName: "startTimeLabel" }] : /* istanbul ignore next */ []));
3848
3973
  /**
3849
3974
  * Form label of the start timepicker.
3850
3975
  *
3851
3976
  * @defaultValue
3852
3977
  * ```
3853
- * t(() => $localize`:@@SI_DATEPICKER.END_TIME_LABEL:to`)
3978
+ * t(() => $localize`:@@SI_DATEPICKER.END_TIME_LABEL:To`)
3854
3979
  * ```
3855
3980
  */
3856
- endTimeLabel = input(t(() => $localize `:@@SI_DATEPICKER.END_TIME_LABEL:to`), ...(ngDevMode ? [{ debugName: "endTimeLabel" }] : []));
3981
+ endTimeLabel = input(t(() => $localize `:@@SI_DATEPICKER.END_TIME_LABEL:To`), /* @ts-ignore */
3982
+ ...(ngDevMode ? [{ debugName: "endTimeLabel" }] : /* istanbul ignore next */ []));
3857
3983
  /**
3858
3984
  * Automatically close overlay on date selection.
3859
3985
  *
3860
3986
  * @defaultValue false
3861
3987
  */
3862
- autoClose = input(false, { ...(ngDevMode ? { debugName: "autoClose" } : {}), transform: booleanAttribute });
3988
+ autoClose = input(false, { ...(ngDevMode ? { debugName: "autoClose" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
3863
3989
  /** Emits on the date range value changes. */
3864
3990
  siDatepickerRangeChange = output();
3865
3991
  /**
@@ -3873,18 +3999,19 @@ class SiDateRangeComponent {
3873
3999
  * @defaultValue false
3874
4000
  */
3875
4001
  // eslint-disable-next-line @angular-eslint/no-input-rename
3876
- disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : {}), alias: 'disabled' });
4002
+ disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : /* istanbul ignore next */ {}), alias: 'disabled' });
3877
4003
  /**
3878
4004
  * Whether the date range input is readonly.
3879
4005
  *
3880
4006
  * @defaultValue false
3881
4007
  */
3882
- readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : {}), transform: booleanAttribute });
4008
+ readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
3883
4009
  /**
3884
4010
  * Set the date-range object displayed in the control.
3885
4011
  * The input can be used if the control is used outside Angular forms.
3886
4012
  */
3887
- value = model(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
4013
+ value = model(/* @ts-ignore */
4014
+ ...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
3888
4015
  /**
3889
4016
  * This ID will be bound to the `aria-describedby` attribute of the date-range.
3890
4017
  * Use this to reference the element containing the error message(s) for the date-range.
@@ -3895,13 +4022,17 @@ class SiDateRangeComponent {
3895
4022
  * `${this.id()}-errormessage`
3896
4023
  * ```
3897
4024
  */
3898
- errormessageId = input(`${this.id()}-errormessage`, ...(ngDevMode ? [{ debugName: "errormessageId" }] : []));
4025
+ errormessageId = input(`${this.id()}-errormessage`, /* @ts-ignore */
4026
+ ...(ngDevMode ? [{ debugName: "errormessageId" }] : /* istanbul ignore next */ []));
3899
4027
  validator;
3900
4028
  onChange = (val) => { };
3901
4029
  onTouch = () => { };
4030
+ onValidatorChange = () => { };
3902
4031
  icons = addIcons({ elementCalendar });
3903
- disabled = computed(() => this.disabledInput() || this.disabledNgControl(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
3904
- disabledNgControl = signal(false, ...(ngDevMode ? [{ debugName: "disabledNgControl" }] : []));
4032
+ disabled = computed(() => this.disabledInput() || this.disabledNgControl(), /* @ts-ignore */
4033
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
4034
+ disabledNgControl = signal(false, /* @ts-ignore */
4035
+ ...(ngDevMode ? [{ debugName: "disabledNgControl" }] : /* istanbul ignore next */ []));
3905
4036
  cdRef = inject(ChangeDetectorRef);
3906
4037
  locale = inject(LOCALE_ID).toString();
3907
4038
  overlayToggle = inject(SiDatepickerOverlayDirective);
@@ -3926,6 +4057,7 @@ class SiDateRangeComponent {
3926
4057
  this.updateValue(this.value());
3927
4058
  }
3928
4059
  }
4060
+ this.onValidatorChange();
3929
4061
  this.overlayToggle.setInputs({ config: this.siDatepickerConfig(), dateRange: this.value() });
3930
4062
  }
3931
4063
  ngAfterViewInit() {
@@ -3955,6 +4087,9 @@ class SiDateRangeComponent {
3955
4087
  registerOnTouched(fn) {
3956
4088
  this.onTouch = fn;
3957
4089
  }
4090
+ registerOnValidatorChange(fn) {
4091
+ this.onValidatorChange = fn;
4092
+ }
3958
4093
  setDisabledState(isDisabled) {
3959
4094
  this.disabledNgControl.set(isDisabled);
3960
4095
  }
@@ -3979,6 +4114,7 @@ class SiDateRangeComponent {
3979
4114
  onInputChanged(dateRange) {
3980
4115
  this.updateValue(dateRange);
3981
4116
  this.onChange(this.value());
4117
+ this.onValidatorChange();
3982
4118
  this.siDatepickerRangeChange.emit(this.value());
3983
4119
  }
3984
4120
  show() {
@@ -4068,8 +4204,8 @@ class SiDateRangeComponent {
4068
4204
  this.value.set(value);
4069
4205
  }
4070
4206
  }
4071
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4072
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.8", type: SiDateRangeComponent, isStandalone: true, selector: "si-date-range", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, siDatepickerConfig: { classPropertyName: "siDatepickerConfig", publicName: "siDatepickerConfig", isSignal: true, isRequired: false, transformFunction: null }, startDatePlaceholder: { classPropertyName: "startDatePlaceholder", publicName: "startDatePlaceholder", isSignal: true, isRequired: false, transformFunction: null }, endDatePlaceholder: { classPropertyName: "endDatePlaceholder", publicName: "endDatePlaceholder", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelCalendarButton: { classPropertyName: "ariaLabelCalendarButton", publicName: "ariaLabelCalendarButton", isSignal: true, isRequired: false, transformFunction: null }, startTimeLabel: { classPropertyName: "startTimeLabel", publicName: "startTimeLabel", isSignal: true, isRequired: false, transformFunction: null }, endTimeLabel: { classPropertyName: "endTimeLabel", publicName: "endTimeLabel", isSignal: true, isRequired: false, transformFunction: null }, autoClose: { classPropertyName: "autoClose", publicName: "autoClose", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, errormessageId: { classPropertyName: "errormessageId", publicName: "errormessageId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { siDatepickerConfig: "siDatepickerConfigChange", siDatepickerRangeChange: "siDatepickerRangeChange", disabledTimeChange: "disabledTimeChange", value: "valueChange" }, host: { attributes: { "role": "group" }, listeners: { "focusout": "onFocusOut($event)" }, properties: { "class.disabled": "disabled()", "class.readonly": "readonly()", "attr.aria-labelledby": "labelledby" }, classAttribute: "form-control d-flex align-items-center" }, providers: [
4207
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDateRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4208
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.8", type: SiDateRangeComponent, isStandalone: true, selector: "si-date-range", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, siDatepickerConfig: { classPropertyName: "siDatepickerConfig", publicName: "siDatepickerConfig", isSignal: true, isRequired: false, transformFunction: null }, startDatePlaceholder: { classPropertyName: "startDatePlaceholder", publicName: "startDatePlaceholder", isSignal: true, isRequired: false, transformFunction: null }, endDatePlaceholder: { classPropertyName: "endDatePlaceholder", publicName: "endDatePlaceholder", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelCalendarButton: { classPropertyName: "ariaLabelCalendarButton", publicName: "ariaLabelCalendarButton", isSignal: true, isRequired: false, transformFunction: null }, startTimeLabel: { classPropertyName: "startTimeLabel", publicName: "startTimeLabel", isSignal: true, isRequired: false, transformFunction: null }, endTimeLabel: { classPropertyName: "endTimeLabel", publicName: "endTimeLabel", isSignal: true, isRequired: false, transformFunction: null }, autoClose: { classPropertyName: "autoClose", publicName: "autoClose", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, errormessageId: { classPropertyName: "errormessageId", publicName: "errormessageId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { siDatepickerConfig: "siDatepickerConfigChange", siDatepickerRangeChange: "siDatepickerRangeChange", disabledTimeChange: "disabledTimeChange", value: "valueChange" }, host: { attributes: { "role": "group" }, listeners: { "focusout": "onFocusOut($event)" }, properties: { "class.disabled": "disabled()", "class.readonly": "readonly()", "attr.aria-labelledby": "labelledby" }, classAttribute: "form-control d-flex align-items-center" }, providers: [
4073
4209
  {
4074
4210
  provide: NG_VALUE_ACCESSOR,
4075
4211
  useExisting: SiDateRangeComponent,
@@ -4084,9 +4220,9 @@ class SiDateRangeComponent {
4084
4220
  provide: SI_FORM_ITEM_CONTROL,
4085
4221
  useExisting: SiDateRangeComponent
4086
4222
  }
4087
- ], viewQueries: [{ propertyName: "inputDirectives", predicate: SiDateInputDirective, descendants: true, isSignal: true }, { propertyName: "startInput", first: true, predicate: ["startInput"], descendants: true, isSignal: true }, { propertyName: "endInput", first: true, predicate: ["endInput"], descendants: true, isSignal: true }, { propertyName: "button", first: true, predicate: ["button"], descendants: true, isSignal: true }], usesOnChanges: true, hostDirectives: [{ directive: SiDatepickerOverlayDirective, inputs: ["siDatepickerScrollStrategy", "scrollStrategy"], outputs: ["siDatepickerClose", "siDatepickerClose"] }], ngImport: i0, template: "<input\n #startInput=\"ngModel\"\n type=\"text\"\n class=\"border-0 p-0 focus-none\"\n siDateInput\n [ngModel]=\"value()?.start ?? null\"\n [siDatepickerConfig]=\"siDatepickerConfig()\"\n [placeholder]=\"startDatePlaceholder() | translate\"\n [attr.aria-label]=\"startDatePlaceholder() | translate\"\n [errormessageId]=\"errormessageId()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n (ngModelChange)=\"onInputChanged({ start: $event, end: value()?.end })\"\n/>\n<span class=\"mx-3\">-</span>\n<input\n #endInput=\"ngModel\"\n type=\"text\"\n class=\"border-0 p-0 focus-none text-end\"\n siDateInput\n [ngModel]=\"value()?.end ?? null\"\n [siDatepickerConfig]=\"siDatepickerConfig()\"\n [placeholder]=\"endDatePlaceholder() | translate\"\n [attr.aria-label]=\"endDatePlaceholder() | translate\"\n [errormessageId]=\"errormessageId()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n (ngModelChange)=\"onInputChanged({ start: value()?.start, end: $event })\"\n/>\n<div class=\"form-control-actions\">\n <button\n #button\n type=\"button\"\n class=\"btn btn-icon btn-tertiary btn-sm\"\n [attr.aria-label]=\"ariaLabelCalendarButton() | translate\"\n [disabled]=\"disabled() || readonly()\"\n (click)=\"show()\"\n >\n <si-icon [icon]=\"icons.elementCalendar\" />\n </button>\n</div>\n", styles: [":host{display:block;min-inline-size:237px}:host(:focus-within:has(input:focus)){outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:var(--element-button-focus-overlay-width)}input{flex-grow:1;background-color:transparent;min-inline-size:80px}input::placeholder{opacity:1;color:var(--element-text-secondary)}input:disabled,input[readonly]{background-color:var(--element-base-1);opacity:1}input:not([readonly]):focus::placeholder,input:focus:not([readonly]):focus::placeholder{color:transparent}.disabled,.disabled:hover,.disabled:focus{--border-color: var(--element-ui-3);color:var(--element-text-disabled)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: SiDateInputDirective, selector: "input[siDateInput]", inputs: ["id", "siDatepickerConfig", "disabled", "readonly", "errormessageId"], outputs: ["siDatepickerConfigChange", "siDatepickerDisabledTime", "stateChange", "dateChange"], exportAs: ["siDateInput"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "ngmodule", type: A11yModule }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
4223
+ ], viewQueries: [{ propertyName: "inputDirectives", predicate: SiDateInputDirective, descendants: true, isSignal: true }, { propertyName: "startInput", first: true, predicate: ["startInput"], descendants: true, isSignal: true }, { propertyName: "endInput", first: true, predicate: ["endInput"], descendants: true, isSignal: true }, { propertyName: "button", first: true, predicate: ["button"], descendants: true, isSignal: true }], usesOnChanges: true, hostDirectives: [{ directive: SiDatepickerOverlayDirective, inputs: ["siDatepickerScrollStrategy", "scrollStrategy"], outputs: ["siDatepickerClose", "siDatepickerClose"] }], ngImport: i0, template: "<input\n #startInput=\"ngModel\"\n type=\"text\"\n class=\"border-0 p-0 focus-none\"\n siDateInput\n [ngModel]=\"value()?.start ?? null\"\n [siDatepickerConfig]=\"siDatepickerConfig()\"\n [placeholder]=\"startDatePlaceholder() | translate\"\n [attr.aria-label]=\"startDatePlaceholder() | translate\"\n [errormessageId]=\"errormessageId()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n (ngModelChange)=\"onInputChanged({ start: $event, end: value()?.end })\"\n (validationChange)=\"onValidatorChange()\"\n/>\n<span class=\"mx-3\">-</span>\n<input\n #endInput=\"ngModel\"\n type=\"text\"\n class=\"border-0 p-0 focus-none text-end\"\n siDateInput\n [ngModel]=\"value()?.end ?? null\"\n [siDatepickerConfig]=\"siDatepickerConfig()\"\n [placeholder]=\"endDatePlaceholder() | translate\"\n [attr.aria-label]=\"endDatePlaceholder() | translate\"\n [errormessageId]=\"errormessageId()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n (ngModelChange)=\"onInputChanged({ start: value()?.start, end: $event })\"\n (validationChange)=\"onValidatorChange()\"\n/>\n<div class=\"form-control-actions\">\n <button\n #button\n type=\"button\"\n class=\"btn btn-icon btn-tertiary btn-sm\"\n [attr.aria-label]=\"ariaLabelCalendarButton() | translate\"\n [disabled]=\"disabled() || readonly()\"\n (click)=\"show()\"\n >\n <si-icon [icon]=\"icons.elementCalendar\" />\n </button>\n</div>\n", styles: [":host{display:block;min-inline-size:237px}:host(:focus-within:has(input:focus)){outline:var(--element-button-focus-width) solid var(--si-sys-effects-focus);outline-offset:var(--element-button-focus-overlay-width)}input{flex-grow:1;background-color:transparent;min-inline-size:80px}input::placeholder{opacity:1;color:var(--si-sys-text-secondary)}input:disabled,input[readonly]{background-color:var(--si-sys-background-1);opacity:1}input:not([readonly]):focus::placeholder,input:focus:not([readonly]):focus::placeholder{color:transparent}.disabled,.disabled:hover,.disabled:focus{--border-color: var(--si-sys-border-3);color:var(--si-sys-text-disabled)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: SiDateInputDirective, selector: "input[siDateInput]", inputs: ["id", "siDatepickerConfig", "disabled", "readonly", "errormessageId"], outputs: ["siDatepickerConfigChange", "siDatepickerDisabledTime", "stateChange", "validationChange", "dateChange"], exportAs: ["siDateInput"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "ngmodule", type: A11yModule }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
4088
4224
  }
4089
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeComponent, decorators: [{
4225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDateRangeComponent, decorators: [{
4090
4226
  type: Component,
4091
4227
  args: [{ selector: 'si-date-range', imports: [FormsModule, SiDateInputDirective, SiIconComponent, SiTranslatePipe, A11yModule], providers: [
4092
4228
  {
@@ -4103,7 +4239,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
4103
4239
  provide: SI_FORM_ITEM_CONTROL,
4104
4240
  useExisting: SiDateRangeComponent
4105
4241
  }
4106
- ], changeDetection: ChangeDetectionStrategy.Default, host: {
4242
+ ], changeDetection: ChangeDetectionStrategy.Eager, host: {
4107
4243
  class: 'form-control d-flex align-items-center',
4108
4244
  role: 'group',
4109
4245
  '[class.disabled]': 'disabled()',
@@ -4115,7 +4251,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
4115
4251
  inputs: ['siDatepickerScrollStrategy: scrollStrategy'],
4116
4252
  outputs: ['siDatepickerClose']
4117
4253
  }
4118
- ], template: "<input\n #startInput=\"ngModel\"\n type=\"text\"\n class=\"border-0 p-0 focus-none\"\n siDateInput\n [ngModel]=\"value()?.start ?? null\"\n [siDatepickerConfig]=\"siDatepickerConfig()\"\n [placeholder]=\"startDatePlaceholder() | translate\"\n [attr.aria-label]=\"startDatePlaceholder() | translate\"\n [errormessageId]=\"errormessageId()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n (ngModelChange)=\"onInputChanged({ start: $event, end: value()?.end })\"\n/>\n<span class=\"mx-3\">-</span>\n<input\n #endInput=\"ngModel\"\n type=\"text\"\n class=\"border-0 p-0 focus-none text-end\"\n siDateInput\n [ngModel]=\"value()?.end ?? null\"\n [siDatepickerConfig]=\"siDatepickerConfig()\"\n [placeholder]=\"endDatePlaceholder() | translate\"\n [attr.aria-label]=\"endDatePlaceholder() | translate\"\n [errormessageId]=\"errormessageId()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n (ngModelChange)=\"onInputChanged({ start: value()?.start, end: $event })\"\n/>\n<div class=\"form-control-actions\">\n <button\n #button\n type=\"button\"\n class=\"btn btn-icon btn-tertiary btn-sm\"\n [attr.aria-label]=\"ariaLabelCalendarButton() | translate\"\n [disabled]=\"disabled() || readonly()\"\n (click)=\"show()\"\n >\n <si-icon [icon]=\"icons.elementCalendar\" />\n </button>\n</div>\n", styles: [":host{display:block;min-inline-size:237px}:host(:focus-within:has(input:focus)){outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:var(--element-button-focus-overlay-width)}input{flex-grow:1;background-color:transparent;min-inline-size:80px}input::placeholder{opacity:1;color:var(--element-text-secondary)}input:disabled,input[readonly]{background-color:var(--element-base-1);opacity:1}input:not([readonly]):focus::placeholder,input:focus:not([readonly]):focus::placeholder{color:transparent}.disabled,.disabled:hover,.disabled:focus{--border-color: var(--element-ui-3);color:var(--element-text-disabled)}\n"] }]
4254
+ ], template: "<input\n #startInput=\"ngModel\"\n type=\"text\"\n class=\"border-0 p-0 focus-none\"\n siDateInput\n [ngModel]=\"value()?.start ?? null\"\n [siDatepickerConfig]=\"siDatepickerConfig()\"\n [placeholder]=\"startDatePlaceholder() | translate\"\n [attr.aria-label]=\"startDatePlaceholder() | translate\"\n [errormessageId]=\"errormessageId()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n (ngModelChange)=\"onInputChanged({ start: $event, end: value()?.end })\"\n (validationChange)=\"onValidatorChange()\"\n/>\n<span class=\"mx-3\">-</span>\n<input\n #endInput=\"ngModel\"\n type=\"text\"\n class=\"border-0 p-0 focus-none text-end\"\n siDateInput\n [ngModel]=\"value()?.end ?? null\"\n [siDatepickerConfig]=\"siDatepickerConfig()\"\n [placeholder]=\"endDatePlaceholder() | translate\"\n [attr.aria-label]=\"endDatePlaceholder() | translate\"\n [errormessageId]=\"errormessageId()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n (ngModelChange)=\"onInputChanged({ start: value()?.start, end: $event })\"\n (validationChange)=\"onValidatorChange()\"\n/>\n<div class=\"form-control-actions\">\n <button\n #button\n type=\"button\"\n class=\"btn btn-icon btn-tertiary btn-sm\"\n [attr.aria-label]=\"ariaLabelCalendarButton() | translate\"\n [disabled]=\"disabled() || readonly()\"\n (click)=\"show()\"\n >\n <si-icon [icon]=\"icons.elementCalendar\" />\n </button>\n</div>\n", styles: [":host{display:block;min-inline-size:237px}:host(:focus-within:has(input:focus)){outline:var(--element-button-focus-width) solid var(--si-sys-effects-focus);outline-offset:var(--element-button-focus-overlay-width)}input{flex-grow:1;background-color:transparent;min-inline-size:80px}input::placeholder{opacity:1;color:var(--si-sys-text-secondary)}input:disabled,input[readonly]{background-color:var(--si-sys-background-1);opacity:1}input:not([readonly]):focus::placeholder,input:focus:not([readonly]):focus::placeholder{color:transparent}.disabled,.disabled:hover,.disabled:focus{--border-color: var(--si-sys-border-3);color:var(--si-sys-text-disabled)}\n"] }]
4119
4255
  }], propDecorators: { inputDirectives: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => SiDateInputDirective), { isSignal: true }] }], startInput: [{ type: i0.ViewChild, args: ['startInput', { isSignal: true }] }], endInput: [{ type: i0.ViewChild, args: ['endInput', { isSignal: true }] }], button: [{ type: i0.ViewChild, args: ['button', { isSignal: true }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], siDatepickerConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "siDatepickerConfig", required: false }] }, { type: i0.Output, args: ["siDatepickerConfigChange"] }], startDatePlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "startDatePlaceholder", required: false }] }], endDatePlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "endDatePlaceholder", required: false }] }], ariaLabelCalendarButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelCalendarButton", required: false }] }], startTimeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "startTimeLabel", required: false }] }], endTimeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "endTimeLabel", required: false }] }], autoClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoClose", required: false }] }], siDatepickerRangeChange: [{ type: i0.Output, args: ["siDatepickerRangeChange"] }], disabledTimeChange: [{ type: i0.Output, args: ["disabledTimeChange"] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], errormessageId: [{ type: i0.Input, args: [{ isSignal: true, alias: "errormessageId", required: false }] }], onFocusOut: [{
4120
4256
  type: HostListener,
4121
4257
  args: ['focusout', ['$event']]
@@ -4149,13 +4285,19 @@ class SiCalendarButtonComponent {
4149
4285
  * t(() => $localize`:@@SI_DATEPICKER.CALENDAR_TOGGLE_BUTTON:Open calendar`)
4150
4286
  * ```
4151
4287
  */
4152
- ariaLabel = input(t(() => $localize `:@@SI_DATEPICKER.CALENDAR_TOGGLE_BUTTON:Open calendar`), ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
4153
- button = viewChild.required('calendarButton');
4288
+ ariaLabel = input(t(() => $localize `:@@SI_DATEPICKER.CALENDAR_TOGGLE_BUTTON:Open calendar`), /* @ts-ignore */
4289
+ ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
4290
+ button = viewChild.required('calendarButton', /* @ts-ignore */
4291
+ ...(ngDevMode ? [{ debugName: "button" }] : /* istanbul ignore next */ []));
4154
4292
  /** Datepicker input directive instance used to watch for state changes and required to open the calendar. */
4155
- datepicker = contentChild.required(SiDatepickerDirective);
4156
- datepickerOverlay = contentChild.required(SiDatepickerOverlayDirective);
4157
- ngControl = contentChild(NgControl, ...(ngDevMode ? [{ debugName: "ngControl" }] : []));
4158
- disabled = signal(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
4293
+ datepicker = contentChild.required(SiDatepickerDirective, /* @ts-ignore */
4294
+ ...(ngDevMode ? [{ debugName: "datepicker" }] : /* istanbul ignore next */ []));
4295
+ datepickerOverlay = contentChild.required(SiDatepickerOverlayDirective, /* @ts-ignore */
4296
+ ...(ngDevMode ? [{ debugName: "datepickerOverlay" }] : /* istanbul ignore next */ []));
4297
+ ngControl = contentChild(NgControl, /* @ts-ignore */
4298
+ ...(ngDevMode ? [{ debugName: "ngControl" }] : /* istanbul ignore next */ []));
4299
+ disabled = signal(false, /* @ts-ignore */
4300
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
4159
4301
  icons = addIcons({ elementCalendar });
4160
4302
  destroyerRef = inject(DestroyRef);
4161
4303
  focusMonitor = inject(FocusMonitor);
@@ -4183,8 +4325,8 @@ class SiCalendarButtonComponent {
4183
4325
  const datepicker = this.datepicker();
4184
4326
  this.disabled.set(datepicker.disabled() || datepicker.readonly());
4185
4327
  }
4186
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiCalendarButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4187
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.8", type: SiCalendarButtonComponent, isStandalone: true, selector: "si-calendar-button", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "d-inline-block position-relative form-control-wrapper" }, queries: [{ propertyName: "datepicker", first: true, predicate: SiDatepickerDirective, descendants: true, isSignal: true }, { propertyName: "datepickerOverlay", first: true, predicate: SiDatepickerOverlayDirective, descendants: true, isSignal: true }, { propertyName: "ngControl", first: true, predicate: NgControl, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "button", first: true, predicate: ["calendarButton"], descendants: true, isSignal: true }], ngImport: i0, template: `<ng-content />
4328
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiCalendarButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4329
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.8", type: SiCalendarButtonComponent, isStandalone: true, selector: "si-calendar-button", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "d-inline-block position-relative form-control-wrapper" }, queries: [{ propertyName: "datepicker", first: true, predicate: SiDatepickerDirective, descendants: true, isSignal: true }, { propertyName: "datepickerOverlay", first: true, predicate: SiDatepickerOverlayDirective, descendants: true, isSignal: true }, { propertyName: "ngControl", first: true, predicate: NgControl, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "button", first: true, predicate: ["calendarButton"], descendants: true, isSignal: true }], ngImport: i0, template: `<ng-content />
4188
4330
  <div class="form-control-actions">
4189
4331
  <button
4190
4332
  #calendarButton
@@ -4197,9 +4339,9 @@ class SiCalendarButtonComponent {
4197
4339
  >
4198
4340
  <si-icon [icon]="icons.elementCalendar" />
4199
4341
  </button>
4200
- </div>`, isInline: true, styles: [":host{--si-action-icon-offset: calc(1.25rem + 6px) }\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4342
+ </div>`, isInline: true, styles: [":host{--si-action-icon-offset: calc( var(--si-sys-sizing-icon-md) + var(--si-sys-sizing-spacing-y-10) * 3 )}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
4201
4343
  }
4202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiCalendarButtonComponent, decorators: [{
4344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiCalendarButtonComponent, decorators: [{
4203
4345
  type: Component,
4204
4346
  args: [{ selector: 'si-calendar-button', imports: [SiIconComponent, SiTranslatePipe], template: `<ng-content />
4205
4347
  <div class="form-control-actions">
@@ -4214,9 +4356,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
4214
4356
  >
4215
4357
  <si-icon [icon]="icons.elementCalendar" />
4216
4358
  </button>
4217
- </div>`, changeDetection: ChangeDetectionStrategy.OnPush, host: {
4359
+ </div>`, host: {
4218
4360
  class: 'd-inline-block position-relative form-control-wrapper'
4219
- }, styles: [":host{--si-action-icon-offset: calc(1.25rem + 6px) }\n"] }]
4361
+ }, styles: [":host{--si-action-icon-offset: calc( var(--si-sys-sizing-icon-md) + var(--si-sys-sizing-spacing-y-10) * 3 )}\n"] }]
4220
4362
  }], propDecorators: { ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], button: [{ type: i0.ViewChild, args: ['calendarButton', { isSignal: true }] }], datepicker: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SiDatepickerDirective), { isSignal: true }] }], datepickerOverlay: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SiDatepickerOverlayDirective), { isSignal: true }] }], ngControl: [{ type: i0.ContentChild, args: [i0.forwardRef(() => NgControl), { isSignal: true }] }] } });
4221
4363
 
4222
4364
  /**
@@ -4224,8 +4366,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
4224
4366
  * SPDX-License-Identifier: MIT
4225
4367
  */
4226
4368
  class SiDatepickerModule {
4227
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4228
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: SiDatepickerModule, imports: [SiCalendarButtonComponent,
4369
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4370
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: SiDatepickerModule, imports: [SiCalendarButtonComponent,
4229
4371
  SiDateInputDirective,
4230
4372
  SiDatepickerComponent,
4231
4373
  SiDatepickerDirective,
@@ -4236,12 +4378,12 @@ class SiDatepickerModule {
4236
4378
  SiDatepickerDirective,
4237
4379
  SiDateRangeComponent,
4238
4380
  SiTimepickerComponent] });
4239
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDatepickerModule, imports: [SiCalendarButtonComponent,
4381
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDatepickerModule, imports: [SiCalendarButtonComponent,
4240
4382
  SiDatepickerComponent,
4241
4383
  SiDateRangeComponent,
4242
4384
  SiTimepickerComponent] });
4243
4385
  }
4244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDatepickerModule, decorators: [{
4386
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDatepickerModule, decorators: [{
4245
4387
  type: NgModule,
4246
4388
  args: [{
4247
4389
  imports: [