@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
@@ -5,7 +5,7 @@ import * as i2 from '@angular/cdk/overlay';
5
5
  import { OverlayModule } from '@angular/cdk/overlay';
6
6
  import { NgTemplateOutlet, DatePipe } from '@angular/common';
7
7
  import * as i0 from '@angular/core';
8
- import { Injectable, model, input, booleanAttribute, signal, computed, ChangeDetectionStrategy, Component, Pipe, inject, output, NgModule } from '@angular/core';
8
+ import { Injectable, model, input, booleanAttribute, signal, computed, Component, Pipe, inject, output, NgModule } from '@angular/core';
9
9
  import * as i1 from '@angular/forms';
10
10
  import { FormsModule } from '@angular/forms';
11
11
  import { elementDown2 } from '@siemens/element-icons';
@@ -74,10 +74,10 @@ class SiDateRangeCalculationService {
74
74
  date.setMilliseconds(0);
75
75
  return date;
76
76
  }
77
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
78
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeCalculationService, providedIn: 'root' });
77
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDateRangeCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
78
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDateRangeCalculationService, providedIn: 'root' });
79
79
  }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeCalculationService, decorators: [{
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDateRangeCalculationService, decorators: [{
81
81
  type: Injectable,
82
82
  args: [{ providedIn: 'root' }]
83
83
  }] });
@@ -91,21 +91,27 @@ class SiRelativeDateComponent {
91
91
  *
92
92
  * @defaultValue 0
93
93
  */
94
- value = model(0, ...(ngDevMode ? [{ debugName: "value" }] : []));
94
+ value = model(0, /* @ts-ignore */
95
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
95
96
  /**
96
97
  * Whether minute- and hour-based offsets are available.
97
98
  *
98
99
  * @defaultValue false
99
100
  */
100
- enableTimeSelection = input(false, { ...(ngDevMode ? { debugName: "enableTimeSelection" } : {}), transform: booleanAttribute });
101
+ enableTimeSelection = input(false, { ...(ngDevMode ? { debugName: "enableTimeSelection" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
101
102
  /** Label for the numeric offset input. */
102
- valueLabel = input.required(...(ngDevMode ? [{ debugName: "valueLabel" }] : []));
103
+ valueLabel = input.required(/* @ts-ignore */
104
+ ...(ngDevMode ? [{ debugName: "valueLabel" }] : /* istanbul ignore next */ []));
103
105
  /** Label for the offset unit selector. */
104
- unitLabel = input.required(...(ngDevMode ? [{ debugName: "unitLabel" }] : []));
106
+ unitLabel = input.required(/* @ts-ignore */
107
+ ...(ngDevMode ? [{ debugName: "unitLabel" }] : /* istanbul ignore next */ []));
105
108
  /** CDK scroll strategy used for the offset unit select overlay. */
106
- scrollStrategy = input.required(...(ngDevMode ? [{ debugName: "scrollStrategy" }] : []));
107
- offset = signal(0, ...(ngDevMode ? [{ debugName: "offset" }] : []));
108
- unit = signal('days', ...(ngDevMode ? [{ debugName: "unit" }] : []));
109
+ scrollStrategy = input.required(/* @ts-ignore */
110
+ ...(ngDevMode ? [{ debugName: "scrollStrategy" }] : /* istanbul ignore next */ []));
111
+ offset = signal(0, /* @ts-ignore */
112
+ ...(ngDevMode ? [{ debugName: "offset" }] : /* istanbul ignore next */ []));
113
+ unit = signal('days', /* @ts-ignore */
114
+ ...(ngDevMode ? [{ debugName: "unit" }] : /* istanbul ignore next */ []));
109
115
  fullOffsetList = [
110
116
  {
111
117
  type: 'option',
@@ -146,7 +152,8 @@ class SiRelativeDateComponent {
146
152
  ];
147
153
  offsetList = computed(() => this.enableTimeSelection()
148
154
  ? this.fullOffsetList
149
- : this.fullOffsetList.filter(item => item.offset >= ONE_DAY), ...(ngDevMode ? [{ debugName: "offsetList" }] : []));
155
+ : this.fullOffsetList.filter(item => item.offset >= ONE_DAY), /* @ts-ignore */
156
+ ...(ngDevMode ? [{ debugName: "offsetList" }] : /* istanbul ignore next */ []));
150
157
  ngOnChanges(changes) {
151
158
  if (changes.value) {
152
159
  this.calculateOffset();
@@ -184,17 +191,17 @@ class SiRelativeDateComponent {
184
191
  this.offset.set(roundedOffset);
185
192
  this.value.set(roundedOffset * item.offset);
186
193
  }
187
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiRelativeDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
188
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: SiRelativeDateComponent, isStandalone: true, selector: "si-relative-date", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, enableTimeSelection: { classPropertyName: "enableTimeSelection", publicName: "enableTimeSelection", isSignal: true, isRequired: false, transformFunction: null }, valueLabel: { classPropertyName: "valueLabel", publicName: "valueLabel", isSignal: true, isRequired: true, transformFunction: null }, unitLabel: { classPropertyName: "unitLabel", publicName: "unitLabel", isSignal: true, isRequired: true, transformFunction: null }, scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "scrollStrategy", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { value: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<si-number-input\n class=\"form-control mb-4\"\n [aria-label]=\"valueLabel()\"\n [value]=\"offset()\"\n (valueChange)=\"updateValue($event ?? 0)\"\n/>\n<si-select\n class=\"form-control\"\n min=\"0\"\n [ariaLabel]=\"unitLabel()\"\n [options]=\"offsetList()\"\n [scrollStrategy]=\"scrollStrategy()\"\n [value]=\"unit()\"\n (valueChange)=\"changeUnit($event)\"\n/>\n", styles: [".form-control{min-inline-size:0}\n"], dependencies: [{ kind: "component", type: SiNumberInputComponent, selector: "si-number-input", inputs: ["min", "max", "step", "value", "unit", "showButtons", "aria-label", "inputId", "disabled", "readonly", "placeholder", "errormessageId"], outputs: ["valueChange"] }, { kind: "component", type: SiSelectComponent, selector: "si-select", inputs: ["id", "ariaLabel", "labelledby", "filterPlaceholder", "noResultsFoundLabel", "placeholder", "readonly", "scrollStrategy", "errormessageId", "hasFilter"], outputs: ["openChange"] }, { kind: "directive", type: SiSelectSingleValueDirective, selector: "si-select:not([multi])" }, { kind: "directive", type: SiSelectSimpleOptionsDirective, selector: "si-select[options]", inputs: ["options", "optionEqualCheckFn"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
194
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiRelativeDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
195
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.8", type: SiRelativeDateComponent, isStandalone: true, selector: "si-relative-date", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, enableTimeSelection: { classPropertyName: "enableTimeSelection", publicName: "enableTimeSelection", isSignal: true, isRequired: false, transformFunction: null }, valueLabel: { classPropertyName: "valueLabel", publicName: "valueLabel", isSignal: true, isRequired: true, transformFunction: null }, unitLabel: { classPropertyName: "unitLabel", publicName: "unitLabel", isSignal: true, isRequired: true, transformFunction: null }, scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "scrollStrategy", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { value: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<si-number-input\n class=\"form-control mb-4\"\n [aria-label]=\"valueLabel()\"\n [value]=\"offset()\"\n (valueChange)=\"updateValue($event ?? 0)\"\n/>\n<si-select\n class=\"form-control\"\n min=\"0\"\n [ariaLabel]=\"unitLabel()\"\n [options]=\"offsetList()\"\n [scrollStrategy]=\"scrollStrategy()\"\n [value]=\"unit()\"\n (valueChange)=\"changeUnit($event)\"\n/>\n", styles: [".form-control{min-inline-size:0}\n"], dependencies: [{ kind: "component", type: SiNumberInputComponent, selector: "si-number-input", inputs: ["min", "max", "step", "value", "unit", "showButtons", "aria-label", "inputId", "disabled", "readonly", "placeholder", "errormessageId"], outputs: ["valueChange"] }, { kind: "component", type: SiSelectComponent, selector: "si-select", inputs: ["id", "ariaLabel", "labelledby", "filterPlaceholder", "noResultsFoundLabel", "placeholder", "readonly", "scrollStrategy", "errormessageId", "hasFilter"], outputs: ["openChange"] }, { kind: "directive", type: SiSelectSingleValueDirective, selector: "si-select:not([multi])" }, { kind: "directive", type: SiSelectSimpleOptionsDirective, selector: "si-select[options]", inputs: ["options", "optionEqualCheckFn"] }] });
189
196
  }
190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiRelativeDateComponent, decorators: [{
197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiRelativeDateComponent, decorators: [{
191
198
  type: Component,
192
199
  args: [{ selector: 'si-relative-date', imports: [
193
200
  SiNumberInputComponent,
194
201
  SiSelectComponent,
195
202
  SiSelectSingleValueDirective,
196
203
  SiSelectSimpleOptionsDirective
197
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<si-number-input\n class=\"form-control mb-4\"\n [aria-label]=\"valueLabel()\"\n [value]=\"offset()\"\n (valueChange)=\"updateValue($event ?? 0)\"\n/>\n<si-select\n class=\"form-control\"\n min=\"0\"\n [ariaLabel]=\"unitLabel()\"\n [options]=\"offsetList()\"\n [scrollStrategy]=\"scrollStrategy()\"\n [value]=\"unit()\"\n (valueChange)=\"changeUnit($event)\"\n/>\n", styles: [".form-control{min-inline-size:0}\n"] }]
204
+ ], template: "<si-number-input\n class=\"form-control mb-4\"\n [aria-label]=\"valueLabel()\"\n [value]=\"offset()\"\n (valueChange)=\"updateValue($event ?? 0)\"\n/>\n<si-select\n class=\"form-control\"\n min=\"0\"\n [ariaLabel]=\"unitLabel()\"\n [options]=\"offsetList()\"\n [scrollStrategy]=\"scrollStrategy()\"\n [value]=\"unit()\"\n (valueChange)=\"changeUnit($event)\"\n/>\n", styles: [".form-control{min-inline-size:0}\n"] }]
198
205
  }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], enableTimeSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableTimeSelection", required: false }] }], valueLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueLabel", required: true }] }], unitLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "unitLabel", required: true }] }], scrollStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollStrategy", required: true }] }] } });
199
206
 
200
207
  /**
@@ -205,10 +212,10 @@ class PresetMatchFilterPipe {
205
212
  transform(value, term) {
206
213
  return !term ? true : value.toLowerCase().includes(term.toLowerCase());
207
214
  }
208
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: PresetMatchFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
209
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: PresetMatchFilterPipe, isStandalone: true, name: "presetMatchFilter" });
215
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: PresetMatchFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
216
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: PresetMatchFilterPipe, isStandalone: true, name: "presetMatchFilter" });
210
217
  }
211
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: PresetMatchFilterPipe, decorators: [{
218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: PresetMatchFilterPipe, decorators: [{
212
219
  type: Pipe,
213
220
  args: [{ name: 'presetMatchFilter', pure: true }]
214
221
  }] });
@@ -217,52 +224,56 @@ class SiDateRangeFilterComponent {
217
224
  mediaMatcher = inject(MediaMatcher);
218
225
  smallScreen = this.mediaMatcher.matchMedia(`(max-width: ${BOOTSTRAP_BREAKPOINTS.mdMinimum}px)`).matches;
219
226
  /** The filter range object */
220
- range = model.required(...(ngDevMode ? [{ debugName: "range" }] : []));
227
+ range = model.required(/* @ts-ignore */
228
+ ...(ngDevMode ? [{ debugName: "range" }] : /* istanbul ignore next */ []));
221
229
  /** List of preset time ranges. When not present or empty, the preset section won't show */
222
- presetList = input(...(ngDevMode ? [undefined, { debugName: "presetList" }] : []));
230
+ presetList = input(/* @ts-ignore */
231
+ ...(ngDevMode ? [undefined, { debugName: "presetList" }] : /* istanbul ignore next */ []));
223
232
  /**
224
233
  * Determines if there's a search field for the preset list
225
234
  *
226
235
  * @defaultValue true
227
236
  */
228
- presetSearch = input(true, { ...(ngDevMode ? { debugName: "presetSearch" } : {}), transform: booleanAttribute });
237
+ presetSearch = input(true, { ...(ngDevMode ? { debugName: "presetSearch" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
229
238
  /**
230
239
  * Determines if time is selectable or only dates
231
240
  *
232
241
  * @defaultValue false
233
242
  */
234
- enableTimeSelection = input(false, { ...(ngDevMode ? { debugName: "enableTimeSelection" } : {}), transform: booleanAttribute });
243
+ enableTimeSelection = input(false, { ...(ngDevMode ? { debugName: "enableTimeSelection" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
235
244
  /**
236
245
  * Determines whether to show input fields or a date-range calendar in basic mode.
237
246
  * When time selection is enabled, this has no effect and input fields are always shown.
238
247
  *
239
248
  * @defaultValue 'calendar'
240
249
  */
241
- basicMode = input('calendar', ...(ngDevMode ? [{ debugName: "basicMode" }] : []));
250
+ basicMode = input('calendar', /* @ts-ignore */
251
+ ...(ngDevMode ? [{ debugName: "basicMode" }] : /* istanbul ignore next */ []));
242
252
  /**
243
253
  * Reverses the order of the from/to fields
244
254
  *
245
255
  * @defaultValue false
246
256
  */
247
- reverseInputFields = input(false, { ...(ngDevMode ? { debugName: "reverseInputFields" } : {}), transform: booleanAttribute });
257
+ reverseInputFields = input(false, { ...(ngDevMode ? { debugName: "reverseInputFields" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
248
258
  /**
249
259
  * Optional CDK scroll strategy used for the preset overlay.
250
260
  *
251
261
  * @defaultValue defaultConnectedOverlayScrollStrategy()
252
262
  */
253
- scrollStrategy = input(defaultConnectedOverlayScrollStrategy(), ...(ngDevMode ? [{ debugName: "scrollStrategy" }] : []));
263
+ scrollStrategy = input(defaultConnectedOverlayScrollStrategy(), /* @ts-ignore */
264
+ ...(ngDevMode ? [{ debugName: "scrollStrategy" }] : /* istanbul ignore next */ []));
254
265
  /**
255
266
  * Determines whether to show the 'Apply' button
256
267
  *
257
268
  * @defaultValue false
258
269
  */
259
- showApplyButton = input(false, { ...(ngDevMode ? { debugName: "showApplyButton" } : {}), transform: booleanAttribute });
270
+ showApplyButton = input(false, { ...(ngDevMode ? { debugName: "showApplyButton" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
260
271
  /**
261
272
  * Hides the advanced mode if input allows
262
273
  *
263
274
  * @defaultValue false
264
275
  */
265
- hideAdvancedMode = input(false, { ...(ngDevMode ? { debugName: "hideAdvancedMode" } : {}), transform: booleanAttribute });
276
+ hideAdvancedMode = input(false, { ...(ngDevMode ? { debugName: "hideAdvancedMode" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
266
277
  /**
267
278
  * label for the "Reference point" title
268
279
  *
@@ -271,7 +282,8 @@ class SiDateRangeFilterComponent {
271
282
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.REF_POINT:Reference point`)
272
283
  * ```
273
284
  */
274
- refLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.REF_POINT:Reference point`), ...(ngDevMode ? [{ debugName: "refLabel" }] : []));
285
+ refLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.REF_POINT:Reference point`), /* @ts-ignore */
286
+ ...(ngDevMode ? [{ debugName: "refLabel" }] : /* istanbul ignore next */ []));
275
287
  /**
276
288
  * label for the "Reference point" title
277
289
  *
@@ -280,7 +292,8 @@ class SiDateRangeFilterComponent {
280
292
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.FROM:From`)
281
293
  * ```
282
294
  */
283
- fromLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.FROM:From`), ...(ngDevMode ? [{ debugName: "fromLabel" }] : []));
295
+ fromLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.FROM:From`), /* @ts-ignore */
296
+ ...(ngDevMode ? [{ debugName: "fromLabel" }] : /* istanbul ignore next */ []));
284
297
  /**
285
298
  * label for the "Reference point" title
286
299
  *
@@ -289,7 +302,8 @@ class SiDateRangeFilterComponent {
289
302
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.TO:To`)
290
303
  * ```
291
304
  */
292
- toLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.TO:To`), ...(ngDevMode ? [{ debugName: "toLabel" }] : []));
305
+ toLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.TO:To`), /* @ts-ignore */
306
+ ...(ngDevMode ? [{ debugName: "toLabel" }] : /* istanbul ignore next */ []));
293
307
  /**
294
308
  * label for the "Range" title
295
309
  *
@@ -298,7 +312,8 @@ class SiDateRangeFilterComponent {
298
312
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.RANGE:Range`)
299
313
  * ```
300
314
  */
301
- rangeLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.RANGE:Range`), ...(ngDevMode ? [{ debugName: "rangeLabel" }] : []));
315
+ rangeLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.RANGE:Range`), /* @ts-ignore */
316
+ ...(ngDevMode ? [{ debugName: "rangeLabel" }] : /* istanbul ignore next */ []));
302
317
  /**
303
318
  * label for the "Today" checkbox
304
319
  *
@@ -307,7 +322,8 @@ class SiDateRangeFilterComponent {
307
322
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.TODAY:Today`)
308
323
  * ```
309
324
  */
310
- todayLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.TODAY:Today`), ...(ngDevMode ? [{ debugName: "todayLabel" }] : []));
325
+ todayLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.TODAY:Today`), /* @ts-ignore */
326
+ ...(ngDevMode ? [{ debugName: "todayLabel" }] : /* istanbul ignore next */ []));
311
327
  /**
312
328
  * label for the "Now" checkbox
313
329
  *
@@ -316,7 +332,8 @@ class SiDateRangeFilterComponent {
316
332
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.NOW:Now`)
317
333
  * ```
318
334
  */
319
- nowLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.NOW:Now`), ...(ngDevMode ? [{ debugName: "nowLabel" }] : []));
335
+ nowLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.NOW:Now`), /* @ts-ignore */
336
+ ...(ngDevMode ? [{ debugName: "nowLabel" }] : /* istanbul ignore next */ []));
320
337
  /**
321
338
  * label for "Date" field / radio button
322
339
  *
@@ -325,7 +342,8 @@ class SiDateRangeFilterComponent {
325
342
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.DATE:Date`)
326
343
  * ```
327
344
  */
328
- dateLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.DATE:Date`), ...(ngDevMode ? [{ debugName: "dateLabel" }] : []));
345
+ dateLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.DATE:Date`), /* @ts-ignore */
346
+ ...(ngDevMode ? [{ debugName: "dateLabel" }] : /* istanbul ignore next */ []));
329
347
  /**
330
348
  * label for the "Preview" title
331
349
  *
@@ -334,7 +352,8 @@ class SiDateRangeFilterComponent {
334
352
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.PREVIEW:Preview`)
335
353
  * ```
336
354
  */
337
- previewLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.PREVIEW:Preview`), ...(ngDevMode ? [{ debugName: "previewLabel" }] : []));
355
+ previewLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.PREVIEW:Preview`), /* @ts-ignore */
356
+ ...(ngDevMode ? [{ debugName: "previewLabel" }] : /* istanbul ignore next */ []));
338
357
  /**
339
358
  * Placeholder for date fields
340
359
  *
@@ -343,7 +362,8 @@ class SiDateRangeFilterComponent {
343
362
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.DATE_PLACEHOLDER:Select date`)
344
363
  * ```
345
364
  */
346
- datePlaceholder = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.DATE_PLACEHOLDER:Select date`), ...(ngDevMode ? [{ debugName: "datePlaceholder" }] : []));
365
+ datePlaceholder = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.DATE_PLACEHOLDER:Select date`), /* @ts-ignore */
366
+ ...(ngDevMode ? [{ debugName: "datePlaceholder" }] : /* istanbul ignore next */ []));
347
367
  /**
348
368
  * label for the "Before" toggle
349
369
  *
@@ -352,7 +372,8 @@ class SiDateRangeFilterComponent {
352
372
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.BEFORE:Before`)
353
373
  * ```
354
374
  */
355
- beforeLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.BEFORE:Before`), ...(ngDevMode ? [{ debugName: "beforeLabel" }] : []));
375
+ beforeLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.BEFORE:Before`), /* @ts-ignore */
376
+ ...(ngDevMode ? [{ debugName: "beforeLabel" }] : /* istanbul ignore next */ []));
356
377
  /**
357
378
  * label for the "After" toggle
358
379
  *
@@ -361,7 +382,8 @@ class SiDateRangeFilterComponent {
361
382
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.AFTER:After`)
362
383
  * ```
363
384
  */
364
- afterLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.AFTER:After`), ...(ngDevMode ? [{ debugName: "afterLabel" }] : []));
385
+ afterLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.AFTER:After`), /* @ts-ignore */
386
+ ...(ngDevMode ? [{ debugName: "afterLabel" }] : /* istanbul ignore next */ []));
365
387
  /**
366
388
  * label for the "Within" toggle
367
389
  *
@@ -370,7 +392,8 @@ class SiDateRangeFilterComponent {
370
392
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.WITHIN:Within`)
371
393
  * ```
372
394
  */
373
- withinLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.WITHIN:Within`), ...(ngDevMode ? [{ debugName: "withinLabel" }] : []));
395
+ withinLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.WITHIN:Within`), /* @ts-ignore */
396
+ ...(ngDevMode ? [{ debugName: "withinLabel" }] : /* istanbul ignore next */ []));
374
397
  /**
375
398
  * label for the "value" number input
376
399
  *
@@ -379,7 +402,8 @@ class SiDateRangeFilterComponent {
379
402
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.VALUE:Value`)
380
403
  * ```
381
404
  */
382
- valueLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.VALUE:Value`), ...(ngDevMode ? [{ debugName: "valueLabel" }] : []));
405
+ valueLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.VALUE:Value`), /* @ts-ignore */
406
+ ...(ngDevMode ? [{ debugName: "valueLabel" }] : /* istanbul ignore next */ []));
383
407
  /**
384
408
  * label for the "Unit" select
385
409
  *
@@ -388,7 +412,8 @@ class SiDateRangeFilterComponent {
388
412
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.UNIT:Unit`)
389
413
  * ```
390
414
  */
391
- unitLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.UNIT:Unit`), ...(ngDevMode ? [{ debugName: "unitLabel" }] : []));
415
+ unitLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.UNIT:Unit`), /* @ts-ignore */
416
+ ...(ngDevMode ? [{ debugName: "unitLabel" }] : /* istanbul ignore next */ []));
392
417
  /**
393
418
  * label for the "search" input
394
419
  *
@@ -397,7 +422,8 @@ class SiDateRangeFilterComponent {
397
422
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.SEARCH:Search`)
398
423
  * ```
399
424
  */
400
- searchLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.SEARCH:Search`), ...(ngDevMode ? [{ debugName: "searchLabel" }] : []));
425
+ searchLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.SEARCH:Search`), /* @ts-ignore */
426
+ ...(ngDevMode ? [{ debugName: "searchLabel" }] : /* istanbul ignore next */ []));
401
427
  /**
402
428
  * label for the "search" input
403
429
  *
@@ -406,7 +432,8 @@ class SiDateRangeFilterComponent {
406
432
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.PRESETS:Presets`)
407
433
  * ```
408
434
  */
409
- presetLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.PRESETS:Presets`), ...(ngDevMode ? [{ debugName: "presetLabel" }] : []));
435
+ presetLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.PRESETS:Presets`), /* @ts-ignore */
436
+ ...(ngDevMode ? [{ debugName: "presetLabel" }] : /* istanbul ignore next */ []));
410
437
  /**
411
438
  * label for the "advanced" switch
412
439
  *
@@ -415,7 +442,8 @@ class SiDateRangeFilterComponent {
415
442
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.ADVANCED:Advanced`)
416
443
  * ```
417
444
  */
418
- advancedLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.ADVANCED:Advanced`), ...(ngDevMode ? [{ debugName: "advancedLabel" }] : []));
445
+ advancedLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.ADVANCED:Advanced`), /* @ts-ignore */
446
+ ...(ngDevMode ? [{ debugName: "advancedLabel" }] : /* istanbul ignore next */ []));
419
447
  /**
420
448
  * label for the "apply" switch
421
449
  *
@@ -424,7 +452,8 @@ class SiDateRangeFilterComponent {
424
452
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.APPLY:Apply`)
425
453
  * ```
426
454
  */
427
- applyLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.APPLY:Apply`), ...(ngDevMode ? [{ debugName: "applyLabel" }] : []));
455
+ applyLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.APPLY:Apply`), /* @ts-ignore */
456
+ ...(ngDevMode ? [{ debugName: "applyLabel" }] : /* istanbul ignore next */ []));
428
457
  /**
429
458
  * label for the "select end date" in preview
430
459
  *
@@ -433,7 +462,8 @@ class SiDateRangeFilterComponent {
433
462
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.SELECT_RANGE_END:Select end date`)
434
463
  * ```
435
464
  */
436
- rangeEndDateMissingLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.SELECT_RANGE_END:Select end date`), ...(ngDevMode ? [{ debugName: "rangeEndDateMissingLabel" }] : []));
465
+ rangeEndDateMissingLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.SELECT_RANGE_END:Select end date`), /* @ts-ignore */
466
+ ...(ngDevMode ? [{ debugName: "rangeEndDateMissingLabel" }] : /* istanbul ignore next */ []));
437
467
  /**
438
468
  * label when range is not defined in the preview
439
469
  *
@@ -442,55 +472,75 @@ class SiDateRangeFilterComponent {
442
472
  * t(() => $localize`:@@SI_DATE_RANGE_FILTER.SELECT_RANGE_LABEL:Select date range`)
443
473
  * ```
444
474
  */
445
- selectRangeLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.SELECT_RANGE_LABEL:Select date range`), ...(ngDevMode ? [{ debugName: "selectRangeLabel" }] : []));
475
+ selectRangeLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.SELECT_RANGE_LABEL:Select date range`), /* @ts-ignore */
476
+ ...(ngDevMode ? [{ debugName: "selectRangeLabel" }] : /* istanbul ignore next */ []));
446
477
  /** Event fired when the apply button has been clicked */
447
478
  applyClicked = output();
448
479
  /** Base configuration on how the dates should be displayed, parts of it may be overwritten internally. */
449
- datepickerConfig = input(...(ngDevMode ? [undefined, { debugName: "datepickerConfig" }] : []));
480
+ datepickerConfig = input(/* @ts-ignore */
481
+ ...(ngDevMode ? [undefined, { debugName: "datepickerConfig" }] : /* istanbul ignore next */ []));
450
482
  icons = addIcons({ elementDown2 });
451
- advancedMode = signal(false, ...(ngDevMode ? [{ debugName: "advancedMode" }] : []));
452
- dateRange = signal({ start: undefined, end: undefined }, ...(ngDevMode ? [{ debugName: "dateRange" }] : []));
483
+ advancedMode = signal(false, /* @ts-ignore */
484
+ ...(ngDevMode ? [{ debugName: "advancedMode" }] : /* istanbul ignore next */ []));
485
+ dateRange = signal({ start: undefined, end: undefined }, /* @ts-ignore */
486
+ ...(ngDevMode ? [{ debugName: "dateRange" }] : /* istanbul ignore next */ []));
453
487
  safeDateRange = computed(() => {
454
488
  const range = this.dateRange();
455
489
  const start = this.isValidDate(range.start) ? range.start : undefined;
456
490
  const end = this.isValidDate(range.end) ? range.end : undefined;
457
491
  return { start, end };
458
- }, ...(ngDevMode ? [{ debugName: "safeDateRange" }] : []));
459
- point1Now = signal(true, ...(ngDevMode ? [{ debugName: "point1Now" }] : []));
460
- point2Mode = signal('duration', ...(ngDevMode ? [{ debugName: "point2Mode" }] : []));
461
- point1date = signal(this.getDateNow(), ...(ngDevMode ? [{ debugName: "point1date" }] : []));
462
- point2date = signal(this.getDateNow(), ...(ngDevMode ? [{ debugName: "point2date" }] : []));
463
- point2offset = signal(0, ...(ngDevMode ? [{ debugName: "point2offset" }] : []));
464
- point2range = signal('before', ...(ngDevMode ? [{ debugName: "point2range" }] : []));
465
- calculatedRange = computed(() => this.resolve(this.range()), ...(ngDevMode ? [{ debugName: "calculatedRange" }] : []));
492
+ }, /* @ts-ignore */
493
+ ...(ngDevMode ? [{ debugName: "safeDateRange" }] : /* istanbul ignore next */ []));
494
+ point1Now = signal(true, /* @ts-ignore */
495
+ ...(ngDevMode ? [{ debugName: "point1Now" }] : /* istanbul ignore next */ []));
496
+ point2Mode = signal('duration', /* @ts-ignore */
497
+ ...(ngDevMode ? [{ debugName: "point2Mode" }] : /* istanbul ignore next */ []));
498
+ point1date = signal(this.getDateNow(), /* @ts-ignore */
499
+ ...(ngDevMode ? [{ debugName: "point1date" }] : /* istanbul ignore next */ []));
500
+ point2date = signal(this.getDateNow(), /* @ts-ignore */
501
+ ...(ngDevMode ? [{ debugName: "point2date" }] : /* istanbul ignore next */ []));
502
+ point2offset = signal(0, /* @ts-ignore */
503
+ ...(ngDevMode ? [{ debugName: "point2offset" }] : /* istanbul ignore next */ []));
504
+ point2range = signal('before', /* @ts-ignore */
505
+ ...(ngDevMode ? [{ debugName: "point2range" }] : /* istanbul ignore next */ []));
506
+ calculatedRange = computed(() => this.resolve(this.range()), /* @ts-ignore */
507
+ ...(ngDevMode ? [{ debugName: "calculatedRange" }] : /* istanbul ignore next */ []));
466
508
  pipeFormat = computed(() => this.enableTimeSelection()
467
509
  ? (this.datepickerConfig()?.dateTimeFormat ?? 'short')
468
- : (this.datepickerConfig()?.dateFormat ?? 'shortDate'), ...(ngDevMode ? [{ debugName: "pipeFormat" }] : []));
510
+ : (this.datepickerConfig()?.dateFormat ?? 'shortDate'), /* @ts-ignore */
511
+ ...(ngDevMode ? [{ debugName: "pipeFormat" }] : /* istanbul ignore next */ []));
469
512
  datepickerConfigInternal = computed(() => ({
470
513
  ...(this.datepickerConfig() ?? {}),
471
514
  enableDateRange: false,
472
515
  showTime: this.enableTimeSelection(),
473
516
  mandatoryTime: this.enableTimeSelection()
474
- }), ...(ngDevMode ? [{ debugName: "datepickerConfigInternal" }] : []));
517
+ }), /* @ts-ignore */
518
+ ...(ngDevMode ? [{ debugName: "datepickerConfigInternal" }] : /* istanbul ignore next */ []));
475
519
  dateRangeConfig = computed(() => ({
476
520
  ...(this.datepickerConfig() ?? {}),
477
521
  enableDateRange: true
478
- }), ...(ngDevMode ? [{ debugName: "dateRangeConfig" }] : []));
522
+ }), /* @ts-ignore */
523
+ ...(ngDevMode ? [{ debugName: "dateRangeConfig" }] : /* istanbul ignore next */ []));
479
524
  filteredPresetList = computed(() => {
480
525
  const timeFilter = (item) => {
481
526
  const timeOnly = item.type === 'custom' ? item.timeOnly : item.offset < ONE_DAY;
482
527
  return this.enableTimeSelection() || !timeOnly;
483
528
  };
484
529
  return (this.presetList() ?? []).filter(timeFilter);
485
- }, ...(ngDevMode ? [{ debugName: "filteredPresetList" }] : []));
530
+ }, /* @ts-ignore */
531
+ ...(ngDevMode ? [{ debugName: "filteredPresetList" }] : /* istanbul ignore next */ []));
486
532
  focusedDate = computed(() => {
487
533
  const range = this.dateRange();
488
534
  const date = range.end ?? range.start;
489
535
  return isValid(date) ? date : undefined;
490
- }, ...(ngDevMode ? [{ debugName: "focusedDate" }] : []));
491
- presetFilter = signal('', ...(ngDevMode ? [{ debugName: "presetFilter" }] : []));
492
- presetOpen = signal(false, ...(ngDevMode ? [{ debugName: "presetOpen" }] : []));
493
- inputMode = computed(() => this.basicMode() === 'input' || this.enableTimeSelection(), ...(ngDevMode ? [{ debugName: "inputMode" }] : []));
536
+ }, /* @ts-ignore */
537
+ ...(ngDevMode ? [{ debugName: "focusedDate" }] : /* istanbul ignore next */ []));
538
+ presetFilter = signal('', /* @ts-ignore */
539
+ ...(ngDevMode ? [{ debugName: "presetFilter" }] : /* istanbul ignore next */ []));
540
+ presetOpen = signal(false, /* @ts-ignore */
541
+ ...(ngDevMode ? [{ debugName: "presetOpen" }] : /* istanbul ignore next */ []));
542
+ inputMode = computed(() => this.basicMode() === 'input' || this.enableTimeSelection(), /* @ts-ignore */
543
+ ...(ngDevMode ? [{ debugName: "inputMode" }] : /* istanbul ignore next */ []));
494
544
  ngOnChanges(changes) {
495
545
  if (changes.enableTimeSelection ||
496
546
  changes.datepickerConfig ||
@@ -651,10 +701,10 @@ class SiDateRangeFilterComponent {
651
701
  isValidDate(date) {
652
702
  return date instanceof Date && !isNaN(date.getTime());
653
703
  }
654
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
655
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiDateRangeFilterComponent, isStandalone: true, selector: "si-date-range-filter", inputs: { range: { classPropertyName: "range", publicName: "range", isSignal: true, isRequired: true, transformFunction: null }, presetList: { classPropertyName: "presetList", publicName: "presetList", isSignal: true, isRequired: false, transformFunction: null }, presetSearch: { classPropertyName: "presetSearch", publicName: "presetSearch", isSignal: true, isRequired: false, transformFunction: null }, enableTimeSelection: { classPropertyName: "enableTimeSelection", publicName: "enableTimeSelection", isSignal: true, isRequired: false, transformFunction: null }, basicMode: { classPropertyName: "basicMode", publicName: "basicMode", isSignal: true, isRequired: false, transformFunction: null }, reverseInputFields: { classPropertyName: "reverseInputFields", publicName: "reverseInputFields", isSignal: true, isRequired: false, transformFunction: null }, scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "scrollStrategy", isSignal: true, isRequired: false, transformFunction: null }, showApplyButton: { classPropertyName: "showApplyButton", publicName: "showApplyButton", isSignal: true, isRequired: false, transformFunction: null }, hideAdvancedMode: { classPropertyName: "hideAdvancedMode", publicName: "hideAdvancedMode", isSignal: true, isRequired: false, transformFunction: null }, refLabel: { classPropertyName: "refLabel", publicName: "refLabel", isSignal: true, isRequired: false, transformFunction: null }, fromLabel: { classPropertyName: "fromLabel", publicName: "fromLabel", isSignal: true, isRequired: false, transformFunction: null }, toLabel: { classPropertyName: "toLabel", publicName: "toLabel", isSignal: true, isRequired: false, transformFunction: null }, rangeLabel: { classPropertyName: "rangeLabel", publicName: "rangeLabel", isSignal: true, isRequired: false, transformFunction: null }, todayLabel: { classPropertyName: "todayLabel", publicName: "todayLabel", isSignal: true, isRequired: false, transformFunction: null }, nowLabel: { classPropertyName: "nowLabel", publicName: "nowLabel", isSignal: true, isRequired: false, transformFunction: null }, dateLabel: { classPropertyName: "dateLabel", publicName: "dateLabel", isSignal: true, isRequired: false, transformFunction: null }, previewLabel: { classPropertyName: "previewLabel", publicName: "previewLabel", isSignal: true, isRequired: false, transformFunction: null }, datePlaceholder: { classPropertyName: "datePlaceholder", publicName: "datePlaceholder", isSignal: true, isRequired: false, transformFunction: null }, beforeLabel: { classPropertyName: "beforeLabel", publicName: "beforeLabel", isSignal: true, isRequired: false, transformFunction: null }, afterLabel: { classPropertyName: "afterLabel", publicName: "afterLabel", isSignal: true, isRequired: false, transformFunction: null }, withinLabel: { classPropertyName: "withinLabel", publicName: "withinLabel", isSignal: true, isRequired: false, transformFunction: null }, valueLabel: { classPropertyName: "valueLabel", publicName: "valueLabel", isSignal: true, isRequired: false, transformFunction: null }, unitLabel: { classPropertyName: "unitLabel", publicName: "unitLabel", isSignal: true, isRequired: false, transformFunction: null }, searchLabel: { classPropertyName: "searchLabel", publicName: "searchLabel", isSignal: true, isRequired: false, transformFunction: null }, presetLabel: { classPropertyName: "presetLabel", publicName: "presetLabel", isSignal: true, isRequired: false, transformFunction: null }, advancedLabel: { classPropertyName: "advancedLabel", publicName: "advancedLabel", isSignal: true, isRequired: false, transformFunction: null }, applyLabel: { classPropertyName: "applyLabel", publicName: "applyLabel", isSignal: true, isRequired: false, transformFunction: null }, rangeEndDateMissingLabel: { classPropertyName: "rangeEndDateMissingLabel", publicName: "rangeEndDateMissingLabel", isSignal: true, isRequired: false, transformFunction: null }, selectRangeLabel: { classPropertyName: "selectRangeLabel", publicName: "selectRangeLabel", isSignal: true, isRequired: false, transformFunction: null }, datepickerConfig: { classPropertyName: "datepickerConfig", publicName: "datepickerConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { range: "rangeChange", applyClicked: "applyClicked" }, host: { properties: { "class.mobile": "smallScreen" } }, usesOnChanges: true, ngImport: i0, template: "@if (presetList()?.length) {\n @if (this.smallScreen) {\n <div class=\"presets d-flex\">\n <button\n #presetTrigger=\"cdkOverlayOrigin\"\n type=\"button\"\n class=\"btn btn-tertiary dropdown-toggle m-5 flex-grow-1\"\n cdkOverlayOrigin\n [class.show]=\"presetOpen()\"\n [attr.aria-expanded]=\"presetOpen()\"\n (click)=\"presetOpen.set(true)\"\n >\n {{ presetLabel() | translate }}\n <si-icon class=\"dropdown-caret icon\" [icon]=\"icons.elementDown2\" />\n </button>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n cdkConnectedOverlayHasBackdrop\n [cdkConnectedOverlayOpen]=\"presetOpen()\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy()\"\n [cdkConnectedOverlayOrigin]=\"presetTrigger\"\n [cdkConnectedOverlayMinWidth]=\"\n presetTrigger.elementRef.nativeElement?.getBoundingClientRect().width\n \"\n (backdropClick)=\"presetOpen.set(false)\"\n (detach)=\"presetOpen.set(false)\"\n >\n <div\n cdkTrapFocus\n class=\"preset-select mobile elevation-2 rounded-2 w-100\"\n cdkTrapFocusAutoCapture\n >\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n </ng-template>\n </div>\n } @else {\n <div class=\"preset-select border-end\">\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n }\n}\n<form class=\"main-form d-flex flex-column flex-fill\">\n @if (advancedMode() || inputMode()) {\n <div class=\"advanced-form px-6 py-4\">\n @if (!reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n\n <div class=\"mb-8\">\n @if (point2Mode() === 'date') {\n <ng-container *ngTemplateOutlet=\"formPoint2Date\" />\n } @else if (point2Mode() === 'duration') {\n <ng-container *ngTemplateOutlet=\"formPoint2Duration\" />\n }\n </div>\n\n @if (reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n </div>\n } @else {\n <si-datepicker\n [config]=\"dateRangeConfig()\"\n [focusedDate]=\"focusedDate()\"\n [dateRange]=\"dateRange()\"\n (dateRangeChange)=\"updateFromDateRange($event)\"\n />\n }\n\n @if (advancedMode() || !hideAdvancedMode()) {\n <label class=\"form-switch form-check ms-6\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"advancedMode\"\n role=\"switch\"\n [(ngModel)]=\"advancedMode\"\n (ngModelChange)=\"updateOnModeChange()\"\n />\n <span class=\"form-check-label\">{{ advancedLabel() | translate }}</span>\n </label>\n }\n\n <div class=\"mt-4 mb-6 ms-6\">\n {{ previewLabel() | translate }}:\n <span class=\"preview\">\n @if (advancedMode()) {\n @let calculated = calculatedRange();\n @if (calculated.valid) {\n {{ calculated.start | date: pipeFormat() }} -\n {{ calculated.end | date: pipeFormat() }}\n } @else {\n <span class=\"text-secondary\">\n {{ selectRangeLabel() | translate }}\n </span>\n }\n } @else {\n @let range = safeDateRange();\n {{ range.start | date: pipeFormat() }} -\n @if (range.end) {\n {{ range.end | date: pipeFormat() }}\n } @else {\n <span class=\"text-secondary\">\n {{ rangeEndDateMissingLabel() | translate }}\n </span>\n }\n }\n </span>\n </div>\n</form>\n\n@if (showApplyButton()) {\n <div class=\"footer border-top px-6 py-5 d-flex\">\n <button type=\"button\" class=\"btn btn-primary ms-auto\" (click)=\"applyClicked.emit()\">\n {{ applyLabel() | translate }}\n </button>\n </div>\n}\n<ng-template #presets>\n @if (presetSearch()) {\n <si-search-bar\n colorVariant=\"base-0\"\n class=\"mx-6 mt-5 mb-6\"\n [placeholder]=\"searchLabel() | translate\"\n [showIcon]=\"true\"\n [(ngModel)]=\"presetFilter\"\n />\n }\n <ul\n class=\"overflow-auto\"\n cdkListbox\n [cdkListboxValue]=\"[]\"\n [attr.aria-label]=\"presetLabel() | translate\"\n (cdkListboxValueChange)=\"selectPresetItem($event.value[0])\"\n >\n @for (item of filteredPresetList(); track $index) {\n @if (item.label | translate | presetMatchFilter: presetFilter()) {\n <li class=\"preset-item focus-inside px-8 py-5\" [cdkOption]=\"item.label\">\n {{ item.label | translate }}\n </li>\n }\n }\n </ul>\n</ng-template>\n<ng-template #formReferencePoint>\n <div class=\"mb-9\">\n <label class=\"d-block\">\n <span class=\"form-label\">{{\n (advancedMode() ? refLabel() : reverseInputFields() ? toLabel() : fromLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point1\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [siDatepickerScrollStrategy]=\"scrollStrategy()\"\n [disabled]=\"point1Now()\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point1date\"\n (ngModelChange)=\"point1Changed()\"\n />\n </si-calendar-button>\n </label>\n <label class=\"ms-4 mt-5 text-nowrap form-check\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"point1now\"\n [(ngModel)]=\"point1Now\"\n (ngModelChange)=\"point1Changed()\"\n />\n <span class=\"form-check-label\">{{\n (enableTimeSelection() ? nowLabel() : todayLabel()) | translate\n }}</span>\n </label>\n </div>\n</ng-template>\n\n<ng-template #formPoint2Date>\n <label class=\"d-block mb-4 bp-9\">\n <span class=\"form-label\">{{\n (reverseInputFields() ? fromLabel() : toLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point2\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [siDatepickerScrollStrategy]=\"scrollStrategy()\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point2date\"\n (ngModelChange)=\"point2Changed()\"\n />\n </si-calendar-button>\n </label>\n</ng-template>\n\n<ng-template #formPoint2Duration>\n <div>\n <span class=\"form-label\">{{ rangeLabel() | translate }}</span>\n <si-relative-date\n class=\"d-block mb-4\"\n [unitLabel]=\"unitLabel() | translate\"\n [valueLabel]=\"valueLabel() | translate\"\n [enableTimeSelection]=\"enableTimeSelection()\"\n [scrollStrategy]=\"scrollStrategy()\"\n [(value)]=\"point2offset\"\n (valueChange)=\"point2Changed()\"\n />\n <div class=\"range-type ms-4\">\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"before\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ beforeLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"after\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ afterLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"within\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ withinLabel() | translate }}\n </span>\n </label>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:inline-grid;background:var(--element-base-1);grid-template-areas:\"preset main\" \"footer footer\"}:host.mobile{grid-template-areas:\"preset\" \"main\" \"footer\";justify-items:stretch}:host.mobile .presets{border-block-end:1px solid var(--element-ui-4)}.main-form{inline-size:calc(16rem + 64px);grid-area:main}.advanced-form{block-size:calc(16rem + 133px)}.preset-select{display:flex;inline-size:calc(9.5rem + 48px);flex-direction:column;grid-area:preset;background:var(--element-base-1)}.preset-select.mobile{max-block-size:346px;inline-size:unset}ul{flex:1 1 auto;padding-inline-start:0;list-style:none}.preset-item{cursor:pointer;line-height:1.1428571429}.preset-item:hover{background:var(--element-base-1-hover)}.form-check-input{inset-block-start:0}.element-zoom{rotate:45deg}.footer{grid-area:footer}\n"], dependencies: [{ kind: "directive", type: CdkOption, selector: "[cdkOption]", inputs: ["id", "cdkOption", "cdkOptionTypeaheadLabel", "cdkOptionDisabled", "tabindex"], exportAs: ["cdkOption"] }, { kind: "directive", type: CdkListbox, selector: "[cdkListbox]", inputs: ["id", "tabindex", "cdkListboxValue", "cdkListboxMultiple", "cdkListboxDisabled", "cdkListboxUseActiveDescendant", "cdkListboxOrientation", "cdkListboxCompareWith", "cdkListboxNavigationWrapDisabled", "cdkListboxNavigatesDisabledOptions"], outputs: ["cdkListboxValueChange"], exportAs: ["cdkListbox"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: SiCalendarButtonComponent, selector: "si-calendar-button", inputs: ["ariaLabel"] }, { 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: "directive", type: SiDatepickerDirective, selector: "[siDatepicker]", inputs: ["autoClose"], exportAs: ["siDatepicker"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiRelativeDateComponent, selector: "si-relative-date", inputs: ["value", "enableTimeSelection", "valueLabel", "unitLabel", "scrollStrategy"], outputs: ["valueChange"] }, { kind: "component", type: SiSearchBarComponent, selector: "si-search-bar", inputs: ["debounceTime", "prohibitedCharacters", "placeholder", "showIcon", "tabbable", "value", "readonly", "colorVariant", "disabled", "maxlength", "clearButtonAriaLabel"], outputs: ["searchChange"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: PresetMatchFilterPipe, name: "presetMatchFilter" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
704
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDateRangeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
705
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiDateRangeFilterComponent, isStandalone: true, selector: "si-date-range-filter", inputs: { range: { classPropertyName: "range", publicName: "range", isSignal: true, isRequired: true, transformFunction: null }, presetList: { classPropertyName: "presetList", publicName: "presetList", isSignal: true, isRequired: false, transformFunction: null }, presetSearch: { classPropertyName: "presetSearch", publicName: "presetSearch", isSignal: true, isRequired: false, transformFunction: null }, enableTimeSelection: { classPropertyName: "enableTimeSelection", publicName: "enableTimeSelection", isSignal: true, isRequired: false, transformFunction: null }, basicMode: { classPropertyName: "basicMode", publicName: "basicMode", isSignal: true, isRequired: false, transformFunction: null }, reverseInputFields: { classPropertyName: "reverseInputFields", publicName: "reverseInputFields", isSignal: true, isRequired: false, transformFunction: null }, scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "scrollStrategy", isSignal: true, isRequired: false, transformFunction: null }, showApplyButton: { classPropertyName: "showApplyButton", publicName: "showApplyButton", isSignal: true, isRequired: false, transformFunction: null }, hideAdvancedMode: { classPropertyName: "hideAdvancedMode", publicName: "hideAdvancedMode", isSignal: true, isRequired: false, transformFunction: null }, refLabel: { classPropertyName: "refLabel", publicName: "refLabel", isSignal: true, isRequired: false, transformFunction: null }, fromLabel: { classPropertyName: "fromLabel", publicName: "fromLabel", isSignal: true, isRequired: false, transformFunction: null }, toLabel: { classPropertyName: "toLabel", publicName: "toLabel", isSignal: true, isRequired: false, transformFunction: null }, rangeLabel: { classPropertyName: "rangeLabel", publicName: "rangeLabel", isSignal: true, isRequired: false, transformFunction: null }, todayLabel: { classPropertyName: "todayLabel", publicName: "todayLabel", isSignal: true, isRequired: false, transformFunction: null }, nowLabel: { classPropertyName: "nowLabel", publicName: "nowLabel", isSignal: true, isRequired: false, transformFunction: null }, dateLabel: { classPropertyName: "dateLabel", publicName: "dateLabel", isSignal: true, isRequired: false, transformFunction: null }, previewLabel: { classPropertyName: "previewLabel", publicName: "previewLabel", isSignal: true, isRequired: false, transformFunction: null }, datePlaceholder: { classPropertyName: "datePlaceholder", publicName: "datePlaceholder", isSignal: true, isRequired: false, transformFunction: null }, beforeLabel: { classPropertyName: "beforeLabel", publicName: "beforeLabel", isSignal: true, isRequired: false, transformFunction: null }, afterLabel: { classPropertyName: "afterLabel", publicName: "afterLabel", isSignal: true, isRequired: false, transformFunction: null }, withinLabel: { classPropertyName: "withinLabel", publicName: "withinLabel", isSignal: true, isRequired: false, transformFunction: null }, valueLabel: { classPropertyName: "valueLabel", publicName: "valueLabel", isSignal: true, isRequired: false, transformFunction: null }, unitLabel: { classPropertyName: "unitLabel", publicName: "unitLabel", isSignal: true, isRequired: false, transformFunction: null }, searchLabel: { classPropertyName: "searchLabel", publicName: "searchLabel", isSignal: true, isRequired: false, transformFunction: null }, presetLabel: { classPropertyName: "presetLabel", publicName: "presetLabel", isSignal: true, isRequired: false, transformFunction: null }, advancedLabel: { classPropertyName: "advancedLabel", publicName: "advancedLabel", isSignal: true, isRequired: false, transformFunction: null }, applyLabel: { classPropertyName: "applyLabel", publicName: "applyLabel", isSignal: true, isRequired: false, transformFunction: null }, rangeEndDateMissingLabel: { classPropertyName: "rangeEndDateMissingLabel", publicName: "rangeEndDateMissingLabel", isSignal: true, isRequired: false, transformFunction: null }, selectRangeLabel: { classPropertyName: "selectRangeLabel", publicName: "selectRangeLabel", isSignal: true, isRequired: false, transformFunction: null }, datepickerConfig: { classPropertyName: "datepickerConfig", publicName: "datepickerConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { range: "rangeChange", applyClicked: "applyClicked" }, host: { properties: { "class.mobile": "smallScreen" } }, usesOnChanges: true, ngImport: i0, template: "@if (presetList()?.length) {\n @if (this.smallScreen) {\n <div class=\"presets d-flex\">\n <button\n #presetTrigger=\"cdkOverlayOrigin\"\n type=\"button\"\n class=\"btn btn-tertiary dropdown-toggle m-5 flex-grow-1\"\n cdkOverlayOrigin\n [class.show]=\"presetOpen()\"\n [attr.aria-expanded]=\"presetOpen()\"\n (click)=\"presetOpen.set(true)\"\n >\n {{ presetLabel() | translate }}\n <si-icon class=\"dropdown-caret icon\" [icon]=\"icons.elementDown2\" />\n </button>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n cdkConnectedOverlayHasBackdrop\n [cdkConnectedOverlayOpen]=\"presetOpen()\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy()\"\n [cdkConnectedOverlayOrigin]=\"presetTrigger\"\n [cdkConnectedOverlayMinWidth]=\"\n presetTrigger.elementRef.nativeElement?.getBoundingClientRect().width\n \"\n (backdropClick)=\"presetOpen.set(false)\"\n (detach)=\"presetOpen.set(false)\"\n >\n <div\n cdkTrapFocus\n class=\"preset-select mobile shadow-3 rounded-2 w-100\"\n cdkTrapFocusAutoCapture\n >\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n </ng-template>\n </div>\n } @else {\n <div class=\"preset-select border-end\">\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n }\n}\n<form class=\"main-form d-flex flex-column flex-fill\">\n @if (advancedMode() || inputMode()) {\n <div class=\"advanced-form px-6 py-4\">\n @if (!reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n\n <div class=\"mb-8\">\n @if (point2Mode() === 'date') {\n <ng-container *ngTemplateOutlet=\"formPoint2Date\" />\n } @else if (point2Mode() === 'duration') {\n <ng-container *ngTemplateOutlet=\"formPoint2Duration\" />\n }\n </div>\n\n @if (reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n </div>\n } @else {\n <si-datepicker\n [config]=\"dateRangeConfig()\"\n [focusedDate]=\"focusedDate()\"\n [dateRange]=\"dateRange()\"\n (dateRangeChange)=\"updateFromDateRange($event)\"\n />\n }\n\n @if (advancedMode() || !hideAdvancedMode()) {\n <label class=\"form-switch form-check mb-2 ms-6\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"advancedMode\"\n role=\"switch\"\n [(ngModel)]=\"advancedMode\"\n (ngModelChange)=\"updateOnModeChange()\"\n />\n <span class=\"form-check-label\">{{ advancedLabel() | translate }}</span>\n </label>\n }\n\n <div class=\"mt-4 mb-6 ms-6\">\n {{ previewLabel() | translate }}:\n <span class=\"preview\">\n @if (advancedMode()) {\n @let calculated = calculatedRange();\n @if (calculated.valid) {\n {{ calculated.start | date: pipeFormat() }} -\n {{ calculated.end | date: pipeFormat() }}\n } @else {\n <span class=\"text-secondary\">\n {{ selectRangeLabel() | translate }}\n </span>\n }\n } @else {\n @let range = safeDateRange();\n {{ range.start | date: pipeFormat() }} -\n @if (range.end) {\n {{ range.end | date: pipeFormat() }}\n } @else {\n <span class=\"text-secondary\">\n {{ rangeEndDateMissingLabel() | translate }}\n </span>\n }\n }\n </span>\n </div>\n</form>\n\n@if (showApplyButton()) {\n <div class=\"footer border-top px-6 py-5 d-flex\">\n <button type=\"button\" class=\"btn btn-primary ms-auto\" (click)=\"applyClicked.emit()\">\n {{ applyLabel() | translate }}\n </button>\n </div>\n}\n<ng-template #presets>\n @if (presetSearch()) {\n <si-search-bar\n colorVariant=\"base-0\"\n class=\"mx-6 mt-5 mb-6\"\n [placeholder]=\"searchLabel() | translate\"\n [showIcon]=\"true\"\n [(ngModel)]=\"presetFilter\"\n />\n }\n <ul\n class=\"overflow-auto\"\n cdkListbox\n [cdkListboxValue]=\"[]\"\n [attr.aria-label]=\"presetLabel() | translate\"\n (cdkListboxValueChange)=\"selectPresetItem($event.value[0])\"\n >\n @for (item of filteredPresetList(); track $index) {\n @if (item.label | translate | presetMatchFilter: presetFilter()) {\n <li class=\"preset-item focus-inside px-8 py-5\" [cdkOption]=\"item.label\">\n {{ item.label | translate }}\n </li>\n }\n }\n </ul>\n</ng-template>\n<ng-template #formReferencePoint>\n <div class=\"mb-9\">\n <label class=\"d-block\">\n <span class=\"form-label\">{{\n (advancedMode() ? refLabel() : reverseInputFields() ? toLabel() : fromLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point1\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [siDatepickerScrollStrategy]=\"scrollStrategy()\"\n [disabled]=\"point1Now()\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point1date\"\n (ngModelChange)=\"point1Changed()\"\n />\n </si-calendar-button>\n </label>\n <label class=\"ms-4 mt-5 text-nowrap form-check mb-2\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"point1now\"\n [(ngModel)]=\"point1Now\"\n (ngModelChange)=\"point1Changed()\"\n />\n <span class=\"form-check-label\">{{\n (enableTimeSelection() ? nowLabel() : todayLabel()) | translate\n }}</span>\n </label>\n </div>\n</ng-template>\n\n<ng-template #formPoint2Date>\n <label class=\"d-block mb-4 bp-9\">\n <span class=\"form-label\">{{\n (reverseInputFields() ? fromLabel() : toLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point2\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [siDatepickerScrollStrategy]=\"scrollStrategy()\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point2date\"\n (ngModelChange)=\"point2Changed()\"\n />\n </si-calendar-button>\n </label>\n</ng-template>\n\n<ng-template #formPoint2Duration>\n <div>\n <span class=\"form-label\">{{ rangeLabel() | translate }}</span>\n <si-relative-date\n class=\"d-block mb-4\"\n [unitLabel]=\"unitLabel() | translate\"\n [valueLabel]=\"valueLabel() | translate\"\n [enableTimeSelection]=\"enableTimeSelection()\"\n [scrollStrategy]=\"scrollStrategy()\"\n [(value)]=\"point2offset\"\n (valueChange)=\"point2Changed()\"\n />\n <div class=\"range-type ms-4\">\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"before\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ beforeLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"after\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ afterLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"within\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ withinLabel() | translate }}\n </span>\n </label>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:inline-grid;background:var(--si-sys-background-1);grid-template-areas:\"preset main\" \"footer footer\"}:host.mobile{grid-template-areas:\"preset\" \"main\" \"footer\";justify-items:stretch}:host.mobile .presets{border-block-end:1px solid var(--si-sys-border-4)}.main-form{inline-size:calc(16rem + 2 * var(--si-sys-sizing-spacing-x-90));grid-area:main}.advanced-form{block-size:calc(16rem + 24px + 6 * var(--si-sys-sizing-spacing-y-50) + 2 * var(--si-sys-sizing-spacing-y-60) + 1px + var(--si-sys-sizing-spacing-y-20))}.preset-select{display:flex;inline-size:calc(9.5rem + 2 * var(--si-sys-sizing-spacing-x-80));flex-direction:column;grid-area:preset;background:var(--si-sys-background-1)}.preset-select.mobile{max-block-size:346px;inline-size:unset}ul{flex:1 1 auto;padding-inline-start:0;list-style:none}.preset-item{cursor:pointer;line-height:var(--si-sys-typography-line-height-body)}.preset-item:hover{background:var(--si-sys-background-hover)}.form-check-input{inset-block-start:0}.element-zoom{rotate:45deg}.footer{grid-area:footer}\n"], dependencies: [{ kind: "directive", type: CdkOption, selector: "[cdkOption]", inputs: ["id", "cdkOption", "cdkOptionTypeaheadLabel", "cdkOptionDisabled", "tabindex"], exportAs: ["cdkOption"] }, { kind: "directive", type: CdkListbox, selector: "[cdkListbox]", inputs: ["id", "tabindex", "cdkListboxValue", "cdkListboxMultiple", "cdkListboxDisabled", "cdkListboxUseActiveDescendant", "cdkListboxOrientation", "cdkListboxCompareWith", "cdkListboxNavigationWrapDisabled", "cdkListboxNavigatesDisabledOptions"], outputs: ["cdkListboxValueChange"], exportAs: ["cdkListbox"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox]:not([ngNoCva])[formControlName],input[type=checkbox]:not([ngNoCva])[formControl],input[type=checkbox]:not([ngNoCva])[ngModel]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio]:not([ngNoCva])[formControlName],input[type=radio]:not([ngNoCva])[formControl],input[type=radio]:not([ngNoCva])[ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: SiCalendarButtonComponent, selector: "si-calendar-button", inputs: ["ariaLabel"] }, { 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: "directive", type: SiDatepickerDirective, selector: "[siDatepicker]", inputs: ["autoClose"], exportAs: ["siDatepicker"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiRelativeDateComponent, selector: "si-relative-date", inputs: ["value", "enableTimeSelection", "valueLabel", "unitLabel", "scrollStrategy"], outputs: ["valueChange"] }, { kind: "component", type: SiSearchBarComponent, selector: "si-search-bar", inputs: ["debounceTime", "prohibitedCharacters", "placeholder", "showIcon", "value", "readonly", "colorVariant", "disabled", "maxlength", "clearButtonAriaLabel"], outputs: ["searchChange"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: PresetMatchFilterPipe, name: "presetMatchFilter" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
656
706
  }
657
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeFilterComponent, decorators: [{
707
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDateRangeFilterComponent, decorators: [{
658
708
  type: Component,
659
709
  args: [{ selector: 'si-date-range-filter', imports: [
660
710
  CdkOption,
@@ -672,9 +722,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
672
722
  SiRelativeDateComponent,
673
723
  SiSearchBarComponent,
674
724
  SiTranslatePipe
675
- ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
725
+ ], host: {
676
726
  '[class.mobile]': 'smallScreen'
677
- }, template: "@if (presetList()?.length) {\n @if (this.smallScreen) {\n <div class=\"presets d-flex\">\n <button\n #presetTrigger=\"cdkOverlayOrigin\"\n type=\"button\"\n class=\"btn btn-tertiary dropdown-toggle m-5 flex-grow-1\"\n cdkOverlayOrigin\n [class.show]=\"presetOpen()\"\n [attr.aria-expanded]=\"presetOpen()\"\n (click)=\"presetOpen.set(true)\"\n >\n {{ presetLabel() | translate }}\n <si-icon class=\"dropdown-caret icon\" [icon]=\"icons.elementDown2\" />\n </button>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n cdkConnectedOverlayHasBackdrop\n [cdkConnectedOverlayOpen]=\"presetOpen()\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy()\"\n [cdkConnectedOverlayOrigin]=\"presetTrigger\"\n [cdkConnectedOverlayMinWidth]=\"\n presetTrigger.elementRef.nativeElement?.getBoundingClientRect().width\n \"\n (backdropClick)=\"presetOpen.set(false)\"\n (detach)=\"presetOpen.set(false)\"\n >\n <div\n cdkTrapFocus\n class=\"preset-select mobile elevation-2 rounded-2 w-100\"\n cdkTrapFocusAutoCapture\n >\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n </ng-template>\n </div>\n } @else {\n <div class=\"preset-select border-end\">\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n }\n}\n<form class=\"main-form d-flex flex-column flex-fill\">\n @if (advancedMode() || inputMode()) {\n <div class=\"advanced-form px-6 py-4\">\n @if (!reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n\n <div class=\"mb-8\">\n @if (point2Mode() === 'date') {\n <ng-container *ngTemplateOutlet=\"formPoint2Date\" />\n } @else if (point2Mode() === 'duration') {\n <ng-container *ngTemplateOutlet=\"formPoint2Duration\" />\n }\n </div>\n\n @if (reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n </div>\n } @else {\n <si-datepicker\n [config]=\"dateRangeConfig()\"\n [focusedDate]=\"focusedDate()\"\n [dateRange]=\"dateRange()\"\n (dateRangeChange)=\"updateFromDateRange($event)\"\n />\n }\n\n @if (advancedMode() || !hideAdvancedMode()) {\n <label class=\"form-switch form-check ms-6\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"advancedMode\"\n role=\"switch\"\n [(ngModel)]=\"advancedMode\"\n (ngModelChange)=\"updateOnModeChange()\"\n />\n <span class=\"form-check-label\">{{ advancedLabel() | translate }}</span>\n </label>\n }\n\n <div class=\"mt-4 mb-6 ms-6\">\n {{ previewLabel() | translate }}:\n <span class=\"preview\">\n @if (advancedMode()) {\n @let calculated = calculatedRange();\n @if (calculated.valid) {\n {{ calculated.start | date: pipeFormat() }} -\n {{ calculated.end | date: pipeFormat() }}\n } @else {\n <span class=\"text-secondary\">\n {{ selectRangeLabel() | translate }}\n </span>\n }\n } @else {\n @let range = safeDateRange();\n {{ range.start | date: pipeFormat() }} -\n @if (range.end) {\n {{ range.end | date: pipeFormat() }}\n } @else {\n <span class=\"text-secondary\">\n {{ rangeEndDateMissingLabel() | translate }}\n </span>\n }\n }\n </span>\n </div>\n</form>\n\n@if (showApplyButton()) {\n <div class=\"footer border-top px-6 py-5 d-flex\">\n <button type=\"button\" class=\"btn btn-primary ms-auto\" (click)=\"applyClicked.emit()\">\n {{ applyLabel() | translate }}\n </button>\n </div>\n}\n<ng-template #presets>\n @if (presetSearch()) {\n <si-search-bar\n colorVariant=\"base-0\"\n class=\"mx-6 mt-5 mb-6\"\n [placeholder]=\"searchLabel() | translate\"\n [showIcon]=\"true\"\n [(ngModel)]=\"presetFilter\"\n />\n }\n <ul\n class=\"overflow-auto\"\n cdkListbox\n [cdkListboxValue]=\"[]\"\n [attr.aria-label]=\"presetLabel() | translate\"\n (cdkListboxValueChange)=\"selectPresetItem($event.value[0])\"\n >\n @for (item of filteredPresetList(); track $index) {\n @if (item.label | translate | presetMatchFilter: presetFilter()) {\n <li class=\"preset-item focus-inside px-8 py-5\" [cdkOption]=\"item.label\">\n {{ item.label | translate }}\n </li>\n }\n }\n </ul>\n</ng-template>\n<ng-template #formReferencePoint>\n <div class=\"mb-9\">\n <label class=\"d-block\">\n <span class=\"form-label\">{{\n (advancedMode() ? refLabel() : reverseInputFields() ? toLabel() : fromLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point1\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [siDatepickerScrollStrategy]=\"scrollStrategy()\"\n [disabled]=\"point1Now()\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point1date\"\n (ngModelChange)=\"point1Changed()\"\n />\n </si-calendar-button>\n </label>\n <label class=\"ms-4 mt-5 text-nowrap form-check\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"point1now\"\n [(ngModel)]=\"point1Now\"\n (ngModelChange)=\"point1Changed()\"\n />\n <span class=\"form-check-label\">{{\n (enableTimeSelection() ? nowLabel() : todayLabel()) | translate\n }}</span>\n </label>\n </div>\n</ng-template>\n\n<ng-template #formPoint2Date>\n <label class=\"d-block mb-4 bp-9\">\n <span class=\"form-label\">{{\n (reverseInputFields() ? fromLabel() : toLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point2\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [siDatepickerScrollStrategy]=\"scrollStrategy()\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point2date\"\n (ngModelChange)=\"point2Changed()\"\n />\n </si-calendar-button>\n </label>\n</ng-template>\n\n<ng-template #formPoint2Duration>\n <div>\n <span class=\"form-label\">{{ rangeLabel() | translate }}</span>\n <si-relative-date\n class=\"d-block mb-4\"\n [unitLabel]=\"unitLabel() | translate\"\n [valueLabel]=\"valueLabel() | translate\"\n [enableTimeSelection]=\"enableTimeSelection()\"\n [scrollStrategy]=\"scrollStrategy()\"\n [(value)]=\"point2offset\"\n (valueChange)=\"point2Changed()\"\n />\n <div class=\"range-type ms-4\">\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"before\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ beforeLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"after\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ afterLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"within\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ withinLabel() | translate }}\n </span>\n </label>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:inline-grid;background:var(--element-base-1);grid-template-areas:\"preset main\" \"footer footer\"}:host.mobile{grid-template-areas:\"preset\" \"main\" \"footer\";justify-items:stretch}:host.mobile .presets{border-block-end:1px solid var(--element-ui-4)}.main-form{inline-size:calc(16rem + 64px);grid-area:main}.advanced-form{block-size:calc(16rem + 133px)}.preset-select{display:flex;inline-size:calc(9.5rem + 48px);flex-direction:column;grid-area:preset;background:var(--element-base-1)}.preset-select.mobile{max-block-size:346px;inline-size:unset}ul{flex:1 1 auto;padding-inline-start:0;list-style:none}.preset-item{cursor:pointer;line-height:1.1428571429}.preset-item:hover{background:var(--element-base-1-hover)}.form-check-input{inset-block-start:0}.element-zoom{rotate:45deg}.footer{grid-area:footer}\n"] }]
727
+ }, template: "@if (presetList()?.length) {\n @if (this.smallScreen) {\n <div class=\"presets d-flex\">\n <button\n #presetTrigger=\"cdkOverlayOrigin\"\n type=\"button\"\n class=\"btn btn-tertiary dropdown-toggle m-5 flex-grow-1\"\n cdkOverlayOrigin\n [class.show]=\"presetOpen()\"\n [attr.aria-expanded]=\"presetOpen()\"\n (click)=\"presetOpen.set(true)\"\n >\n {{ presetLabel() | translate }}\n <si-icon class=\"dropdown-caret icon\" [icon]=\"icons.elementDown2\" />\n </button>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n cdkConnectedOverlayHasBackdrop\n [cdkConnectedOverlayOpen]=\"presetOpen()\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy()\"\n [cdkConnectedOverlayOrigin]=\"presetTrigger\"\n [cdkConnectedOverlayMinWidth]=\"\n presetTrigger.elementRef.nativeElement?.getBoundingClientRect().width\n \"\n (backdropClick)=\"presetOpen.set(false)\"\n (detach)=\"presetOpen.set(false)\"\n >\n <div\n cdkTrapFocus\n class=\"preset-select mobile shadow-3 rounded-2 w-100\"\n cdkTrapFocusAutoCapture\n >\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n </ng-template>\n </div>\n } @else {\n <div class=\"preset-select border-end\">\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n }\n}\n<form class=\"main-form d-flex flex-column flex-fill\">\n @if (advancedMode() || inputMode()) {\n <div class=\"advanced-form px-6 py-4\">\n @if (!reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n\n <div class=\"mb-8\">\n @if (point2Mode() === 'date') {\n <ng-container *ngTemplateOutlet=\"formPoint2Date\" />\n } @else if (point2Mode() === 'duration') {\n <ng-container *ngTemplateOutlet=\"formPoint2Duration\" />\n }\n </div>\n\n @if (reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n </div>\n } @else {\n <si-datepicker\n [config]=\"dateRangeConfig()\"\n [focusedDate]=\"focusedDate()\"\n [dateRange]=\"dateRange()\"\n (dateRangeChange)=\"updateFromDateRange($event)\"\n />\n }\n\n @if (advancedMode() || !hideAdvancedMode()) {\n <label class=\"form-switch form-check mb-2 ms-6\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"advancedMode\"\n role=\"switch\"\n [(ngModel)]=\"advancedMode\"\n (ngModelChange)=\"updateOnModeChange()\"\n />\n <span class=\"form-check-label\">{{ advancedLabel() | translate }}</span>\n </label>\n }\n\n <div class=\"mt-4 mb-6 ms-6\">\n {{ previewLabel() | translate }}:\n <span class=\"preview\">\n @if (advancedMode()) {\n @let calculated = calculatedRange();\n @if (calculated.valid) {\n {{ calculated.start | date: pipeFormat() }} -\n {{ calculated.end | date: pipeFormat() }}\n } @else {\n <span class=\"text-secondary\">\n {{ selectRangeLabel() | translate }}\n </span>\n }\n } @else {\n @let range = safeDateRange();\n {{ range.start | date: pipeFormat() }} -\n @if (range.end) {\n {{ range.end | date: pipeFormat() }}\n } @else {\n <span class=\"text-secondary\">\n {{ rangeEndDateMissingLabel() | translate }}\n </span>\n }\n }\n </span>\n </div>\n</form>\n\n@if (showApplyButton()) {\n <div class=\"footer border-top px-6 py-5 d-flex\">\n <button type=\"button\" class=\"btn btn-primary ms-auto\" (click)=\"applyClicked.emit()\">\n {{ applyLabel() | translate }}\n </button>\n </div>\n}\n<ng-template #presets>\n @if (presetSearch()) {\n <si-search-bar\n colorVariant=\"base-0\"\n class=\"mx-6 mt-5 mb-6\"\n [placeholder]=\"searchLabel() | translate\"\n [showIcon]=\"true\"\n [(ngModel)]=\"presetFilter\"\n />\n }\n <ul\n class=\"overflow-auto\"\n cdkListbox\n [cdkListboxValue]=\"[]\"\n [attr.aria-label]=\"presetLabel() | translate\"\n (cdkListboxValueChange)=\"selectPresetItem($event.value[0])\"\n >\n @for (item of filteredPresetList(); track $index) {\n @if (item.label | translate | presetMatchFilter: presetFilter()) {\n <li class=\"preset-item focus-inside px-8 py-5\" [cdkOption]=\"item.label\">\n {{ item.label | translate }}\n </li>\n }\n }\n </ul>\n</ng-template>\n<ng-template #formReferencePoint>\n <div class=\"mb-9\">\n <label class=\"d-block\">\n <span class=\"form-label\">{{\n (advancedMode() ? refLabel() : reverseInputFields() ? toLabel() : fromLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point1\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [siDatepickerScrollStrategy]=\"scrollStrategy()\"\n [disabled]=\"point1Now()\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point1date\"\n (ngModelChange)=\"point1Changed()\"\n />\n </si-calendar-button>\n </label>\n <label class=\"ms-4 mt-5 text-nowrap form-check mb-2\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"point1now\"\n [(ngModel)]=\"point1Now\"\n (ngModelChange)=\"point1Changed()\"\n />\n <span class=\"form-check-label\">{{\n (enableTimeSelection() ? nowLabel() : todayLabel()) | translate\n }}</span>\n </label>\n </div>\n</ng-template>\n\n<ng-template #formPoint2Date>\n <label class=\"d-block mb-4 bp-9\">\n <span class=\"form-label\">{{\n (reverseInputFields() ? fromLabel() : toLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point2\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [siDatepickerScrollStrategy]=\"scrollStrategy()\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point2date\"\n (ngModelChange)=\"point2Changed()\"\n />\n </si-calendar-button>\n </label>\n</ng-template>\n\n<ng-template #formPoint2Duration>\n <div>\n <span class=\"form-label\">{{ rangeLabel() | translate }}</span>\n <si-relative-date\n class=\"d-block mb-4\"\n [unitLabel]=\"unitLabel() | translate\"\n [valueLabel]=\"valueLabel() | translate\"\n [enableTimeSelection]=\"enableTimeSelection()\"\n [scrollStrategy]=\"scrollStrategy()\"\n [(value)]=\"point2offset\"\n (valueChange)=\"point2Changed()\"\n />\n <div class=\"range-type ms-4\">\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"before\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ beforeLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"after\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ afterLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"within\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ withinLabel() | translate }}\n </span>\n </label>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:inline-grid;background:var(--si-sys-background-1);grid-template-areas:\"preset main\" \"footer footer\"}:host.mobile{grid-template-areas:\"preset\" \"main\" \"footer\";justify-items:stretch}:host.mobile .presets{border-block-end:1px solid var(--si-sys-border-4)}.main-form{inline-size:calc(16rem + 2 * var(--si-sys-sizing-spacing-x-90));grid-area:main}.advanced-form{block-size:calc(16rem + 24px + 6 * var(--si-sys-sizing-spacing-y-50) + 2 * var(--si-sys-sizing-spacing-y-60) + 1px + var(--si-sys-sizing-spacing-y-20))}.preset-select{display:flex;inline-size:calc(9.5rem + 2 * var(--si-sys-sizing-spacing-x-80));flex-direction:column;grid-area:preset;background:var(--si-sys-background-1)}.preset-select.mobile{max-block-size:346px;inline-size:unset}ul{flex:1 1 auto;padding-inline-start:0;list-style:none}.preset-item{cursor:pointer;line-height:var(--si-sys-typography-line-height-body)}.preset-item:hover{background:var(--si-sys-background-hover)}.form-check-input{inset-block-start:0}.element-zoom{rotate:45deg}.footer{grid-area:footer}\n"] }]
678
728
  }], propDecorators: { range: [{ type: i0.Input, args: [{ isSignal: true, alias: "range", required: true }] }, { type: i0.Output, args: ["rangeChange"] }], presetList: [{ type: i0.Input, args: [{ isSignal: true, alias: "presetList", required: false }] }], presetSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "presetSearch", required: false }] }], enableTimeSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableTimeSelection", required: false }] }], basicMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "basicMode", required: false }] }], reverseInputFields: [{ type: i0.Input, args: [{ isSignal: true, alias: "reverseInputFields", required: false }] }], scrollStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollStrategy", required: false }] }], showApplyButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showApplyButton", required: false }] }], hideAdvancedMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideAdvancedMode", required: false }] }], refLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "refLabel", required: false }] }], fromLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "fromLabel", required: false }] }], toLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "toLabel", required: false }] }], rangeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "rangeLabel", required: false }] }], todayLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "todayLabel", required: false }] }], nowLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "nowLabel", required: false }] }], dateLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateLabel", required: false }] }], previewLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "previewLabel", required: false }] }], datePlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "datePlaceholder", required: false }] }], beforeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "beforeLabel", required: false }] }], afterLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "afterLabel", required: false }] }], withinLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "withinLabel", required: false }] }], valueLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueLabel", required: false }] }], unitLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "unitLabel", required: false }] }], searchLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchLabel", required: false }] }], presetLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "presetLabel", required: false }] }], advancedLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "advancedLabel", required: false }] }], applyLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "applyLabel", required: false }] }], rangeEndDateMissingLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "rangeEndDateMissingLabel", required: false }] }], selectRangeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectRangeLabel", required: false }] }], applyClicked: [{ type: i0.Output, args: ["applyClicked"] }], datepickerConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "datepickerConfig", required: false }] }] } });
679
729
 
680
730
  /**
@@ -682,11 +732,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
682
732
  * SPDX-License-Identifier: MIT
683
733
  */
684
734
  class SiDateRangeFilterModule {
685
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
686
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeFilterModule, imports: [SiDateRangeFilterComponent], exports: [SiDateRangeFilterComponent] });
687
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeFilterModule, imports: [SiDateRangeFilterComponent] });
735
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDateRangeFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
736
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: SiDateRangeFilterModule, imports: [SiDateRangeFilterComponent], exports: [SiDateRangeFilterComponent] });
737
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDateRangeFilterModule, imports: [SiDateRangeFilterComponent] });
688
738
  }
689
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeFilterModule, decorators: [{
739
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDateRangeFilterModule, decorators: [{
690
740
  type: NgModule,
691
741
  args: [{
692
742
  imports: [SiDateRangeFilterComponent],