@siemens/element-ng 49.13.0 → 51.0.0-rc.3

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 (229) 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 +56 -39
  5. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  6. package/fesm2022/siemens-element-ng-action-modal.mjs +81 -51
  7. package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
  8. package/fesm2022/siemens-element-ng-ag-grid.mjs +15 -12
  9. package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
  10. package/fesm2022/siemens-element-ng-application-header.mjs +142 -137
  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 +31 -21
  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 +18 -15
  23. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  24. package/fesm2022/siemens-element-ng-card.mjs +71 -46
  25. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  26. package/fesm2022/siemens-element-ng-carousel.mjs +55 -32
  27. package/fesm2022/siemens-element-ng-carousel.mjs.map +1 -1
  28. package/fesm2022/siemens-element-ng-chat-messages.mjs +175 -111
  29. package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
  30. package/fesm2022/siemens-element-ng-circle-status.mjs +37 -24
  31. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  32. package/fesm2022/siemens-element-ng-color-picker.mjs +24 -16
  33. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
  34. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +52 -33
  35. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
  36. package/fesm2022/siemens-element-ng-common.mjs +12 -12
  37. package/fesm2022/siemens-element-ng-connection-strength.mjs +14 -12
  38. package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
  39. package/fesm2022/siemens-element-ng-content-action-bar.mjs +35 -26
  40. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  41. package/fesm2022/siemens-element-ng-copyright-notice.mjs +19 -14
  42. package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
  43. package/fesm2022/siemens-element-ng-dashboard.mjs +327 -213
  44. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  45. package/fesm2022/siemens-element-ng-datatable.mjs +8 -8
  46. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
  47. package/fesm2022/siemens-element-ng-date-range-filter.mjs +119 -72
  48. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  49. package/fesm2022/siemens-element-ng-datepicker.mjs +358 -234
  50. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  51. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +21 -16
  52. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
  53. package/fesm2022/siemens-element-ng-empty-state.mjs +15 -12
  54. package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
  55. package/fesm2022/siemens-element-ng-file-uploader.mjs +93 -81
  56. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  57. package/fesm2022/siemens-element-ng-filter-bar.mjs +29 -22
  58. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  59. package/fesm2022/siemens-element-ng-filtered-search.mjs +243 -147
  60. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  61. package/fesm2022/siemens-element-ng-footer.mjs +12 -10
  62. package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
  63. package/fesm2022/siemens-element-ng-form.mjs +267 -84
  64. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  65. package/fesm2022/siemens-element-ng-formly-legacy.mjs +99 -0
  66. package/fesm2022/siemens-element-ng-formly-legacy.mjs.map +1 -0
  67. package/fesm2022/siemens-element-ng-formly.mjs +220 -315
  68. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  69. package/fesm2022/siemens-element-ng-header-dropdown.mjs +38 -29
  70. package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
  71. package/fesm2022/siemens-element-ng-help-button.mjs +5 -5
  72. package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
  73. package/fesm2022/siemens-element-ng-icon.mjs +46 -47
  74. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  75. package/fesm2022/siemens-element-ng-info-page.mjs +17 -11
  76. package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
  77. package/fesm2022/siemens-element-ng-inline-notification.mjs +19 -14
  78. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  79. package/fesm2022/siemens-element-ng-ip-input.mjs +19 -15
  80. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
  81. package/fesm2022/siemens-element-ng-landing-page.mjs +118 -72
  82. package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
  83. package/fesm2022/siemens-element-ng-language-switcher.mjs +16 -12
  84. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
  85. package/fesm2022/siemens-element-ng-link.mjs +31 -21
  86. package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
  87. package/fesm2022/siemens-element-ng-list-details.mjs +73 -54
  88. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  89. package/fesm2022/siemens-element-ng-loading-spinner.mjs +42 -33
  90. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  91. package/fesm2022/siemens-element-ng-localization.mjs +14 -12
  92. package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
  93. package/fesm2022/siemens-element-ng-main-detail-container.mjs +46 -29
  94. package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
  95. package/fesm2022/siemens-element-ng-markdown-renderer.mjs +6 -5
  96. package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +1 -1
  97. package/fesm2022/siemens-element-ng-menu.mjs +56 -48
  98. package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
  99. package/fesm2022/siemens-element-ng-modal.mjs +12 -10
  100. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  101. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +133 -94
  102. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
  103. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +117 -81
  104. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  105. package/fesm2022/siemens-element-ng-navbar.mjs +67 -41
  106. package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
  107. package/fesm2022/siemens-element-ng-notification-item.mjs +19 -11
  108. package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
  109. package/fesm2022/siemens-element-ng-number-input.mjs +38 -27
  110. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
  111. package/fesm2022/siemens-element-ng-pagination.mjs +31 -20
  112. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
  113. package/fesm2022/siemens-element-ng-password-strength.mjs +31 -22
  114. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
  115. package/fesm2022/siemens-element-ng-password-toggle.mjs +18 -13
  116. package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
  117. package/fesm2022/siemens-element-ng-phone-number.mjs +121 -138
  118. package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
  119. package/fesm2022/siemens-element-ng-photo-upload.mjs +76 -45
  120. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  121. package/fesm2022/siemens-element-ng-pills-input.mjs +63 -58
  122. package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
  123. package/fesm2022/siemens-element-ng-popover-legacy.mjs +43 -28
  124. package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
  125. package/fesm2022/siemens-element-ng-popover.mjs +33 -26
  126. package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
  127. package/fesm2022/siemens-element-ng-progressbar.mjs +23 -16
  128. package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
  129. package/fesm2022/siemens-element-ng-resize-observer.mjs +32 -43
  130. package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
  131. package/fesm2022/siemens-element-ng-result-details-list.mjs +12 -10
  132. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  133. package/fesm2022/siemens-element-ng-search-bar.mjs +32 -24
  134. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  135. package/fesm2022/siemens-element-ng-select.mjs +212 -154
  136. package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
  137. package/fesm2022/siemens-element-ng-shadow-root.mjs +3 -3
  138. package/fesm2022/siemens-element-ng-side-panel.mjs +119 -75
  139. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  140. package/fesm2022/siemens-element-ng-skip-links.mjs +14 -13
  141. package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
  142. package/fesm2022/siemens-element-ng-slider.mjs +42 -28
  143. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
  144. package/fesm2022/siemens-element-ng-split.mjs +268 -254
  145. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  146. package/fesm2022/siemens-element-ng-status-bar.mjs +57 -47
  147. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  148. package/fesm2022/siemens-element-ng-status-counter.mjs +15 -11
  149. package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
  150. package/fesm2022/siemens-element-ng-status-toggle.mjs +22 -14
  151. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
  152. package/fesm2022/siemens-element-ng-summary-chip.mjs +25 -16
  153. package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
  154. package/fesm2022/siemens-element-ng-summary-widget.mjs +27 -17
  155. package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
  156. package/fesm2022/siemens-element-ng-system-banner.mjs +11 -8
  157. package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
  158. package/fesm2022/siemens-element-ng-tabs-legacy.mjs +16 -15
  159. package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
  160. package/fesm2022/siemens-element-ng-tabs.mjs +59 -45
  161. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  162. package/fesm2022/siemens-element-ng-theme.mjs +5 -4
  163. package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
  164. package/fesm2022/siemens-element-ng-threshold.mjs +59 -40
  165. package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
  166. package/fesm2022/siemens-element-ng-toast-notification.mjs +45 -40
  167. package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
  168. package/fesm2022/siemens-element-ng-tooltip.mjs +52 -54
  169. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  170. package/fesm2022/siemens-element-ng-tour.mjs +28 -19
  171. package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
  172. package/fesm2022/siemens-element-ng-translate.mjs +0 -1
  173. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  174. package/fesm2022/siemens-element-ng-tree-view.mjs +92 -73
  175. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  176. package/fesm2022/siemens-element-ng-typeahead.mjs +75 -67
  177. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
  178. package/fesm2022/siemens-element-ng-wizard.mjs +72 -48
  179. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  180. package/formly-legacy/package.json +4 -0
  181. package/package.json +20 -22
  182. package/schematics/migration.json +4 -4
  183. package/schematics/migrations/data/class-member-replacement.js +1 -19
  184. package/schematics/migrations/data/component-property-names.js +1 -25
  185. package/schematics/migrations/data/element-class-changes.js +1 -28
  186. package/schematics/migrations/data/element-migration-data.js +2 -0
  187. package/schematics/migrations/data/element-selectors.js +1 -11
  188. package/schematics/migrations/data/index.js +0 -4
  189. package/schematics/migrations/data/migration-test-data.js +9 -6
  190. package/schematics/migrations/data/provider-function-removals.js +7 -0
  191. package/schematics/migrations/data/symbol-removals.js +7 -7
  192. package/schematics/migrations/data/symbol-renaming.js +1 -48
  193. package/schematics/migrations/element-migration/element-migration.js +3 -6
  194. package/schematics/migrations/utilities/import-removal.js +39 -0
  195. package/schematics/migrations/utilities/index.js +2 -0
  196. package/schematics/migrations/utilities/provider-function-removal.migration.js +116 -0
  197. package/schematics/ng-update/index.js +1 -1
  198. package/schematics/ng-update/{migrate-to-v49.js → migrate-to-v51.js} +2 -2
  199. package/template-i18n.json +3 -6
  200. package/types/siemens-element-ng-application-header.d.ts +1 -21
  201. package/types/siemens-element-ng-chat-messages.d.ts +6 -4
  202. package/types/siemens-element-ng-circle-status.d.ts +1 -1
  203. package/types/siemens-element-ng-date-range-filter.d.ts +1 -1
  204. package/types/siemens-element-ng-datepicker.d.ts +1 -12
  205. package/types/siemens-element-ng-file-uploader.d.ts +5 -23
  206. package/types/siemens-element-ng-filtered-search.d.ts +1 -1
  207. package/types/siemens-element-ng-form.d.ts +134 -37
  208. package/types/siemens-element-ng-formly-legacy.d.ts +40 -0
  209. package/types/siemens-element-ng-formly.d.ts +34 -167
  210. package/types/siemens-element-ng-icon.d.ts +2 -19
  211. package/types/siemens-element-ng-navbar-vertical-next.d.ts +6 -1
  212. package/types/siemens-element-ng-notification-item.d.ts +12 -0
  213. package/types/siemens-element-ng-phone-number.d.ts +5 -8
  214. package/types/siemens-element-ng-resize-observer.d.ts +0 -17
  215. package/types/siemens-element-ng-split.d.ts +95 -63
  216. package/types/siemens-element-ng-status-bar.d.ts +5 -13
  217. package/types/siemens-element-ng-status-counter.d.ts +1 -1
  218. package/types/siemens-element-ng-toast-notification.d.ts +0 -1
  219. package/types/siemens-element-ng-translate.d.ts +1 -5
  220. package/fesm2022/siemens-element-ng-icon-status.mjs +0 -46
  221. package/fesm2022/siemens-element-ng-icon-status.mjs.map +0 -1
  222. package/fesm2022/siemens-element-ng-sort-bar.mjs +0 -99
  223. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +0 -1
  224. package/icon-status/package.json +0 -4
  225. package/schematics/vitest-setup.js +0 -5
  226. package/sort-bar/package.json +0 -4
  227. package/types/siemens-element-ng-icon-status.d.ts +0 -25
  228. package/types/siemens-element-ng-sort-bar.d.ts +0 -59
  229. /package/{LICENSE.md → LICENSE} +0 -0
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { viewChild, signal, input, model, numberAttribute, booleanAttribute, computed, inject, NgZone, ChangeDetectorRef, HostListener, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
2
+ import { viewChild, signal, input, model, numberAttribute, booleanAttribute, computed, inject, NgZone, ChangeDetectorRef, HostListener, Component, NgModule } from '@angular/core';
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { elementPlus, elementMinus } from '@siemens/element-icons';
5
5
  import { correctKeyRTL, listenGlobal, isRTL } from '@siemens/element-ng/common';
@@ -15,52 +15,58 @@ import { timer } from 'rxjs';
15
15
  class SiSliderComponent {
16
16
  static idCounter = 0;
17
17
  handleRef = viewChild.required('handle');
18
- disabledNgControl = signal(false, ...(ngDevMode ? [{ debugName: "disabledNgControl" }] : []));
18
+ disabledNgControl = signal(false, /* @ts-ignore */
19
+ ...(ngDevMode ? [{ debugName: "disabledNgControl" }] : /* istanbul ignore next */ []));
19
20
  /**
20
21
  * @defaultValue
21
22
  * ```
22
23
  * `__si-slider-${SiSliderComponent.idCounter++}`
23
24
  * ```
24
25
  */
25
- id = input(`__si-slider-${SiSliderComponent.idCounter++}`, ...(ngDevMode ? [{ debugName: "id" }] : []));
26
+ id = input(`__si-slider-${SiSliderComponent.idCounter++}`, /* @ts-ignore */
27
+ ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
26
28
  /**
27
29
  * Current value of slider.
28
30
  */
29
- value = model(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
31
+ value = model(/* @ts-ignore */
32
+ ...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
30
33
  /**
31
34
  * Minimum of slider range.
32
35
  *
33
36
  * @defaultValue 0
34
37
  */
35
- min = input(0, { ...(ngDevMode ? { debugName: "min" } : {}), transform: numberAttribute });
38
+ min = input(0, { ...(ngDevMode ? { debugName: "min" } : /* istanbul ignore next */ {}), transform: numberAttribute });
36
39
  /**
37
40
  * Maximum of slider range.
38
41
  *
39
42
  * @defaultValue 100
40
43
  */
41
- max = input(100, { ...(ngDevMode ? { debugName: "max" } : {}), transform: numberAttribute });
44
+ max = input(100, { ...(ngDevMode ? { debugName: "max" } : /* istanbul ignore next */ {}), transform: numberAttribute });
42
45
  /**
43
46
  * Label to describe minimum of slider range.
44
47
  *
45
48
  * @defaultValue ''
46
49
  */
47
- minLabel = input('', ...(ngDevMode ? [{ debugName: "minLabel" }] : []));
50
+ minLabel = input('', /* @ts-ignore */
51
+ ...(ngDevMode ? [{ debugName: "minLabel" }] : /* istanbul ignore next */ []));
48
52
  /**
49
53
  * Label to describe maximum of slider range.
50
54
  *
51
55
  * @defaultValue ''
52
56
  */
53
- maxLabel = input('', ...(ngDevMode ? [{ debugName: "maxLabel" }] : []));
57
+ maxLabel = input('', /* @ts-ignore */
58
+ ...(ngDevMode ? [{ debugName: "maxLabel" }] : /* istanbul ignore next */ []));
54
59
  /**
55
60
  * Interval to step through the slider.
56
61
  *
57
62
  * @defaultValue 1
58
63
  */
59
- step = input(1, { ...(ngDevMode ? { debugName: "step" } : {}), transform: numberAttribute });
64
+ step = input(1, { ...(ngDevMode ? { debugName: "step" } : /* istanbul ignore next */ {}), transform: numberAttribute });
60
65
  /**
61
66
  * Icon to use as the slider thumb.
62
67
  */
63
- thumbIcon = input(...(ngDevMode ? [undefined, { debugName: "thumbIcon" }] : []));
68
+ thumbIcon = input(/* @ts-ignore */
69
+ ...(ngDevMode ? [undefined, { debugName: "thumbIcon" }] : /* istanbul ignore next */ []));
64
70
  /**
65
71
  * Text for aria-label of increment. Needed for a11y.
66
72
  *
@@ -69,7 +75,8 @@ class SiSliderComponent {
69
75
  * t(() => $localize`:@@SI_SLIDER.INCREMENT:Increment`)
70
76
  * ```
71
77
  */
72
- incrementLabel = input(t(() => $localize `:@@SI_SLIDER.INCREMENT:Increment`), ...(ngDevMode ? [{ debugName: "incrementLabel" }] : []));
78
+ incrementLabel = input(t(() => $localize `:@@SI_SLIDER.INCREMENT:Increment`), /* @ts-ignore */
79
+ ...(ngDevMode ? [{ debugName: "incrementLabel" }] : /* istanbul ignore next */ []));
73
80
  /**
74
81
  * Text for aria-label of decrement. Needed for a11y.
75
82
  *
@@ -78,7 +85,8 @@ class SiSliderComponent {
78
85
  * t(() => $localize`:@@SI_SLIDER.DECREMENT:Decrement`)
79
86
  * ```
80
87
  */
81
- decrementLabel = input(t(() => $localize `:@@SI_SLIDER.DECREMENT:Decrement`), ...(ngDevMode ? [{ debugName: "decrementLabel" }] : []));
88
+ decrementLabel = input(t(() => $localize `:@@SI_SLIDER.DECREMENT:Decrement`), /* @ts-ignore */
89
+ ...(ngDevMode ? [{ debugName: "decrementLabel" }] : /* istanbul ignore next */ []));
82
90
  /**
83
91
  * Text for aria-label of slider. Needed for a11y
84
92
  *
@@ -87,25 +95,29 @@ class SiSliderComponent {
87
95
  * t(() => $localize`:@@SI_SLIDER.LABEL:Value`)
88
96
  * ```
89
97
  */
90
- sliderLabel = input(t(() => $localize `:@@SI_SLIDER.LABEL:Value`), ...(ngDevMode ? [{ debugName: "sliderLabel" }] : []));
98
+ sliderLabel = input(t(() => $localize `:@@SI_SLIDER.LABEL:Value`), /* @ts-ignore */
99
+ ...(ngDevMode ? [{ debugName: "sliderLabel" }] : /* istanbul ignore next */ []));
91
100
  /**
92
101
  * @defaultValue
93
102
  * ```
94
103
  * `${this.id()}-label`
95
104
  * ```
96
105
  */
97
- labelledby = input(`${this.id()}-label`, ...(ngDevMode ? [{ debugName: "labelledby" }] : []));
106
+ labelledby = input(`${this.id()}-label`, /* @ts-ignore */
107
+ ...(ngDevMode ? [{ debugName: "labelledby" }] : /* istanbul ignore next */ []));
98
108
  /** @defaultValue false */
99
109
  // eslint-disable-next-line @angular-eslint/no-input-rename
100
- disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : {}), alias: 'disabled', transform: booleanAttribute });
101
- disabled = computed(() => this.disabledInput() || this.disabledNgControl() || this.min() === this.max(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
110
+ disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : /* istanbul ignore next */ {}), alias: 'disabled', transform: booleanAttribute });
111
+ disabled = computed(() => this.disabledInput() || this.disabledNgControl() || this.min() === this.max(), /* @ts-ignore */
112
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
102
113
  sliderValue = computed(() => {
103
114
  const value = this.value();
104
115
  if (typeof value !== 'number') {
105
116
  return this.roundToStepPrecision((this.min() + this.max()) / 2);
106
117
  }
107
118
  return value;
108
- }, ...(ngDevMode ? [{ debugName: "sliderValue" }] : []));
119
+ }, /* @ts-ignore */
120
+ ...(ngDevMode ? [{ debugName: "sliderValue" }] : /* istanbul ignore next */ []));
109
121
  /**
110
122
  * This ID will be bound to the `aria-describedby` attribute of the slider.
111
123
  * Use this to reference the element containing the error message(s) for the slider.
@@ -116,7 +128,8 @@ class SiSliderComponent {
116
128
  * `${this.id()}-errormessage`
117
129
  * ```
118
130
  */
119
- errormessageId = input(`${this.id()}-errormessage`, ...(ngDevMode ? [{ debugName: "errormessageId" }] : []));
131
+ errormessageId = input(`${this.id()}-errormessage`, /* @ts-ignore */
132
+ ...(ngDevMode ? [{ debugName: "errormessageId" }] : /* istanbul ignore next */ []));
120
133
  indicatorPos = computed(() => {
121
134
  const range = this.max() - this.min();
122
135
  if (range === 0) {
@@ -124,7 +137,8 @@ class SiSliderComponent {
124
137
  }
125
138
  const indicatorPos = ((this.sliderValue() - this.min()) * 100) / range;
126
139
  return Math.max(Math.min(indicatorPos, 100), 0);
127
- }, ...(ngDevMode ? [{ debugName: "indicatorPos" }] : []));
140
+ }, /* @ts-ignore */
141
+ ...(ngDevMode ? [{ debugName: "indicatorPos" }] : /* istanbul ignore next */ []));
128
142
  icons = addIcons({ elementMinus, elementPlus });
129
143
  isDragging = false;
130
144
  autoUpdate$ = timer(400, 80); // 250
@@ -251,8 +265,8 @@ class SiSliderComponent {
251
265
  setDisabledState(isDisabled) {
252
266
  this.disabledNgControl.set(isDisabled);
253
267
  }
254
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
255
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiSliderComponent, isStandalone: true, selector: "si-slider", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, minLabel: { classPropertyName: "minLabel", publicName: "minLabel", isSignal: true, isRequired: false, transformFunction: null }, maxLabel: { classPropertyName: "maxLabel", publicName: "maxLabel", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, thumbIcon: { classPropertyName: "thumbIcon", publicName: "thumbIcon", isSignal: true, isRequired: false, transformFunction: null }, incrementLabel: { classPropertyName: "incrementLabel", publicName: "incrementLabel", isSignal: true, isRequired: false, transformFunction: null }, decrementLabel: { classPropertyName: "decrementLabel", publicName: "decrementLabel", isSignal: true, isRequired: false, transformFunction: null }, sliderLabel: { classPropertyName: "sliderLabel", publicName: "sliderLabel", isSignal: true, isRequired: false, transformFunction: null }, labelledby: { classPropertyName: "labelledby", publicName: "labelledby", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, errormessageId: { classPropertyName: "errormessageId", publicName: "errormessageId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { attributes: { "role": "group" }, listeners: { "pointerdown": "handlePointerDown($event)", "mousedown": "handlePointerDown($event)", "touchstart": "handlePointerDown($event)" }, properties: { "class.disabled": "disabled()", "attr.aria-labelledby": "labelledby()" } }, providers: [
268
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
269
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: SiSliderComponent, isStandalone: true, selector: "si-slider", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, minLabel: { classPropertyName: "minLabel", publicName: "minLabel", isSignal: true, isRequired: false, transformFunction: null }, maxLabel: { classPropertyName: "maxLabel", publicName: "maxLabel", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, thumbIcon: { classPropertyName: "thumbIcon", publicName: "thumbIcon", isSignal: true, isRequired: false, transformFunction: null }, incrementLabel: { classPropertyName: "incrementLabel", publicName: "incrementLabel", isSignal: true, isRequired: false, transformFunction: null }, decrementLabel: { classPropertyName: "decrementLabel", publicName: "decrementLabel", isSignal: true, isRequired: false, transformFunction: null }, sliderLabel: { classPropertyName: "sliderLabel", publicName: "sliderLabel", isSignal: true, isRequired: false, transformFunction: null }, labelledby: { classPropertyName: "labelledby", publicName: "labelledby", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, errormessageId: { classPropertyName: "errormessageId", publicName: "errormessageId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { attributes: { "role": "group" }, listeners: { "pointerdown": "handlePointerDown($event)", "mousedown": "handlePointerDown($event)", "touchstart": "handlePointerDown($event)" }, properties: { "class.disabled": "disabled()", "attr.aria-labelledby": "labelledby()" } }, providers: [
256
270
  {
257
271
  provide: NG_VALUE_ACCESSOR,
258
272
  useExisting: SiSliderComponent,
@@ -262,9 +276,9 @@ class SiSliderComponent {
262
276
  provide: SI_FORM_ITEM_CONTROL,
263
277
  useExisting: SiSliderComponent
264
278
  }
265
- ], viewQueries: [{ propertyName: "handleRef", first: true, predicate: ["handle"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"slider-container\">\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary decrement-button\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"decrementLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n (mousedown)=\"autoUpdateStart($event, false)\"\n (touchstart)=\"autoUpdateStart($event, false)\"\n (keydown.enter)=\"autoUpdateStart($event, false)\"\n (touchend)=\"autoUpdateStop()\"\n (mouseup)=\"autoUpdateStop()\"\n (keyup.enter)=\"autoUpdateStop()\"\n (mouseleave)=\"autoUpdateStop()\"\n >\n <si-icon [icon]=\"icons.elementMinus\" />\n </button>\n\n <div class=\"slider-wrapper\">\n <div class=\"value-indicator-wrapper\">\n <span class=\"value-indicator\" [style.inset-inline-start.%]=\"indicatorPos()\">\n <span>\n <ng-content />\n </span>\n </span>\n </div>\n\n <div class=\"slider\" [class.dragging]=\"isDragging\">\n <div class=\"track\"></div>\n <div\n class=\"thumb-handle-wrapper\"\n [class.dragging]=\"isDragging\"\n (mousedown)=\"handleMouseDown($event)\"\n (touchstart)=\"handleTouchStart($event)\"\n >\n <div #handle class=\"thumb-handle\" [style.inset-inline-start.%]=\"indicatorPos()\">\n <div\n class=\"thumb\"\n tabindex=\"0\"\n role=\"slider\"\n [attr.aria-label]=\"sliderLabel() | translate\"\n [attr.aria-valuenow]=\"sliderValue()\"\n [attr.aria-describedby]=\"errormessageId()\"\n [class.dragging]=\"isDragging\"\n (keydown)=\"autoUpdateKeydown($event)\"\n (keyup)=\"autoUpdateStop()\"\n >\n @let iconValue = thumbIcon();\n @if (iconValue) {\n <si-icon [icon]=\"iconValue\" />\n } @else {\n <div class=\"hover-circle\"></div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary increment-button\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"incrementLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n (mousedown)=\"autoUpdateStart($event, true)\"\n (touchstart)=\"autoUpdateStart($event, true)\"\n (keydown.enter)=\"autoUpdateStart($event, true)\"\n (touchend)=\"autoUpdateStop()\"\n (mouseup)=\"autoUpdateStop()\"\n (keyup.enter)=\"autoUpdateStop()\"\n (mouseleave)=\"autoUpdateStop()\"\n >\n <si-icon [icon]=\"icons.elementPlus\" />\n </button>\n</div>\n\n@if (minLabel() && maxLabel()) {\n <div class=\"range-indicator-wrapper\">\n <div class=\"range-indicator\">\n <span>{{ minLabel() }}</span>\n <span class=\"ms-auto\">{{ maxLabel() }}</span>\n </div>\n </div>\n}\n", styles: [":host{display:flex;flex-direction:column}.slider-container{display:grid;grid-template:auto calc(1lh + 16px) /auto 1fr auto;column-gap:4px}.decrement-button{grid-column:1;grid-row:2;align-self:center}.increment-button{grid-column:3;grid-row:2;align-self:center}.slider-wrapper{grid-column:2;grid-row:1/-1;display:flex;flex-direction:column}.value-indicator-wrapper{position:relative;margin-inline:.75rem;text-align:start}.value-indicator{position:relative;display:inline-block;white-space:nowrap;color:var(--element-text-secondary)}.value-indicator>span{display:inline-block;margin-inline-start:-50%}.range-indicator-wrapper{margin-block:0;margin-inline:calc(1lh + 20px)}.range-indicator-wrapper .range-indicator{display:inline-flex;white-space:nowrap;inline-size:100%;color:var(--element-text-secondary)}.range-indicator-wrapper .range-indicator>span{display:inline-block}.slider{position:relative;inline-size:100%;block-size:calc(1lh + 16px);cursor:pointer}.slider.dragging{cursor:grabbing}:host.disabled .slider{cursor:default}.slider .track{position:absolute;inset-block-start:50%;border-radius:var(--element-radius-1);margin-block-start:-2px;block-size:4px;inline-size:100%;background:var(--element-ui-4);pointer-events:none}.slider .thumb-handle-wrapper{position:absolute;inset-block:0;inset-inline:.75rem}:host.disabled .slider .thumb-handle-wrapper{pointer-events:none}.slider .thumb-handle{display:flex;align-items:center;justify-content:center;position:absolute;inset-block-start:50%;margin-block-start:calc((1.5rem + 16px)/-2);margin-inline:calc((1.5rem + 16px)/-2);inline-size:calc(1.5rem + 16px);block-size:calc(1.5rem + 16px)}:host.disabled .slider .thumb-handle{pointer-events:none}.slider .thumb{--thumb-state-color: var(--element-ui-0);display:flex;align-items:center;justify-content:center;block-size:1.5rem;min-block-size:1.5rem;inline-size:1.5rem;min-inline-size:1.5rem;border-radius:50%;border:1px solid var(--thumb-state-color);box-shadow:0 0 8px var(--element-box-shadow-color-1),0 8px 8px var(--element-box-shadow-color-2);background:var(--element-base-1)}.slider .thumb:hover:not(.dragging){--thumb-state-color: var(--element-ui-0-hover);background:var(--element-action-secondary-hover)}:host.disabled .slider .thumb{--thumb-state-color: var(--element-ui-3)}.slider .thumb si-icon{font-size:1.25rem;color:var(--thumb-state-color)}.slider .thumb:hover .hover-circle,.slider .thumb:focus .hover-circle,.slider .thumb.dragging .hover-circle{display:block}.slider .hover-circle{display:none;block-size:.75rem;inline-size:.75rem;border-radius:50%;background:var(--thumb-state-color)}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
279
+ ], viewQueries: [{ propertyName: "handleRef", first: true, predicate: ["handle"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"slider-container\">\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary decrement-button\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"decrementLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n (mousedown)=\"autoUpdateStart($event, false)\"\n (touchstart)=\"autoUpdateStart($event, false)\"\n (keydown.enter)=\"autoUpdateStart($event, false)\"\n (touchend)=\"autoUpdateStop()\"\n (mouseup)=\"autoUpdateStop()\"\n (keyup.enter)=\"autoUpdateStop()\"\n (mouseleave)=\"autoUpdateStop()\"\n >\n <si-icon [icon]=\"icons.elementMinus\" />\n </button>\n\n <div class=\"slider-wrapper\">\n <div class=\"value-indicator-wrapper\">\n <span class=\"value-indicator\" [style.inset-inline-start.%]=\"indicatorPos()\">\n <span>\n <ng-content />\n </span>\n </span>\n </div>\n\n <div class=\"slider\" [class.dragging]=\"isDragging\">\n <div class=\"track\"></div>\n <div\n class=\"thumb-handle-wrapper\"\n [class.dragging]=\"isDragging\"\n (mousedown)=\"handleMouseDown($event)\"\n (touchstart)=\"handleTouchStart($event)\"\n >\n <div #handle class=\"thumb-handle\" [style.inset-inline-start.%]=\"indicatorPos()\">\n <div\n class=\"thumb\"\n tabindex=\"0\"\n role=\"slider\"\n [attr.aria-label]=\"sliderLabel() | translate\"\n [attr.aria-valuenow]=\"sliderValue()\"\n [attr.aria-describedby]=\"errormessageId()\"\n [class.dragging]=\"isDragging\"\n (keydown)=\"autoUpdateKeydown($event)\"\n (keyup)=\"autoUpdateStop()\"\n >\n @let iconValue = thumbIcon();\n @if (iconValue) {\n <si-icon [icon]=\"iconValue\" />\n } @else {\n <div class=\"hover-circle\"></div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary increment-button\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"incrementLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n (mousedown)=\"autoUpdateStart($event, true)\"\n (touchstart)=\"autoUpdateStart($event, true)\"\n (keydown.enter)=\"autoUpdateStart($event, true)\"\n (touchend)=\"autoUpdateStop()\"\n (mouseup)=\"autoUpdateStop()\"\n (keyup.enter)=\"autoUpdateStop()\"\n (mouseleave)=\"autoUpdateStop()\"\n >\n <si-icon [icon]=\"icons.elementPlus\" />\n </button>\n</div>\n\n@if (minLabel() && maxLabel()) {\n <div class=\"range-indicator-wrapper\">\n <div class=\"range-indicator\">\n <span>{{ minLabel() }}</span>\n <span class=\"ms-auto\">{{ maxLabel() }}</span>\n </div>\n </div>\n}\n", styles: [":host{display:flex;flex-direction:column}.slider-container{display:grid;grid-template:auto calc(1lh + 16px) /auto 1fr auto;column-gap:4px}.decrement-button{grid-column:1;grid-row:2;align-self:center}.increment-button{grid-column:3;grid-row:2;align-self:center}.slider-wrapper{grid-column:2;grid-row:1/-1;display:flex;flex-direction:column}.value-indicator-wrapper{position:relative;margin-inline:.75rem;text-align:start}.value-indicator{position:relative;display:inline-block;white-space:nowrap;color:var(--element-text-secondary)}.value-indicator>span{display:inline-block;margin-inline-start:-50%}.range-indicator-wrapper{margin-block:0;margin-inline:calc(1lh + 20px)}.range-indicator-wrapper .range-indicator{display:inline-flex;white-space:nowrap;inline-size:100%;color:var(--element-text-secondary)}.range-indicator-wrapper .range-indicator>span{display:inline-block}.slider{position:relative;inline-size:100%;block-size:calc(1lh + 16px);cursor:pointer}.slider.dragging{cursor:grabbing}:host.disabled .slider{cursor:default}.slider .track{position:absolute;inset-block-start:50%;border-radius:var(--element-radius-1);margin-block-start:-2px;block-size:4px;inline-size:100%;background:var(--element-ui-4);pointer-events:none}.slider .thumb-handle-wrapper{position:absolute;inset-block:0;inset-inline:.75rem}:host.disabled .slider .thumb-handle-wrapper{pointer-events:none}.slider .thumb-handle{display:flex;align-items:center;justify-content:center;position:absolute;inset-block-start:50%;margin-block-start:calc((1.5rem + 16px)/-2);margin-inline:calc((1.5rem + 16px)/-2);inline-size:calc(1.5rem + 16px);block-size:calc(1.5rem + 16px)}:host.disabled .slider .thumb-handle{pointer-events:none}.slider .thumb{--thumb-state-color: var(--element-ui-0);display:flex;align-items:center;justify-content:center;block-size:1.5rem;min-block-size:1.5rem;inline-size:1.5rem;min-inline-size:1.5rem;border-radius:50%;border:1px solid var(--thumb-state-color);box-shadow:0 0 8px var(--element-box-shadow-color-1),0 8px 8px var(--element-box-shadow-color-2);background:var(--element-base-1)}.slider .thumb:hover:not(.dragging){--thumb-state-color: var(--element-ui-0-hover);background:var(--element-action-secondary-hover)}:host.disabled .slider .thumb{--thumb-state-color: var(--element-ui-3)}.slider .thumb si-icon{font-size:1.25rem;color:var(--thumb-state-color)}.slider .thumb:hover .hover-circle,.slider .thumb:focus .hover-circle,.slider .thumb.dragging .hover-circle{display:block}.slider .hover-circle{display:none;block-size:.75rem;inline-size:.75rem;border-radius:50%;background:var(--thumb-state-color)}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
266
280
  }
267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSliderComponent, decorators: [{
281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiSliderComponent, decorators: [{
268
282
  type: Component,
269
283
  args: [{ selector: 'si-slider', imports: [SiIconComponent, SiTranslatePipe], providers: [
270
284
  {
@@ -276,7 +290,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
276
290
  provide: SI_FORM_ITEM_CONTROL,
277
291
  useExisting: SiSliderComponent
278
292
  }
279
- ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
293
+ ], host: {
280
294
  role: 'group',
281
295
  '[class.disabled]': 'disabled()',
282
296
  '[attr.aria-labelledby]': 'labelledby()'
@@ -297,11 +311,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
297
311
  * SPDX-License-Identifier: MIT
298
312
  */
299
313
  class SiSliderModule {
300
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
301
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: SiSliderModule, imports: [SiSliderComponent], exports: [SiSliderComponent] });
302
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSliderModule, imports: [SiSliderComponent] });
314
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
315
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: SiSliderModule, imports: [SiSliderComponent], exports: [SiSliderComponent] });
316
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiSliderModule, imports: [SiSliderComponent] });
303
317
  }
304
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSliderModule, decorators: [{
318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiSliderModule, decorators: [{
305
319
  type: NgModule,
306
320
  args: [{
307
321
  imports: [SiSliderComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-slider.mjs","sources":["../../../../projects/element-ng/slider/si-slider.component.ts","../../../../projects/element-ng/slider/si-slider.component.html","../../../../projects/element-ng/slider/si-slider.module.ts","../../../../projects/element-ng/slider/index.ts","../../../../projects/element-ng/slider/siemens-element-ng-slider.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n ElementRef,\n HostListener,\n inject,\n input,\n model,\n NgZone,\n numberAttribute,\n signal,\n viewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { elementMinus, elementPlus } from '@siemens/element-icons';\nimport { correctKeyRTL, isRTL, listenGlobal } from '@siemens/element-ng/common';\nimport { SI_FORM_ITEM_CONTROL, SiFormItemControl } from '@siemens/element-ng/form';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\nimport { Subscription, timer } from 'rxjs';\n\n@Component({\n selector: 'si-slider',\n imports: [SiIconComponent, SiTranslatePipe],\n templateUrl: './si-slider.component.html',\n styleUrl: './si-slider.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SiSliderComponent,\n multi: true\n },\n {\n provide: SI_FORM_ITEM_CONTROL,\n useExisting: SiSliderComponent\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'group',\n '[class.disabled]': 'disabled()',\n '[attr.aria-labelledby]': 'labelledby()'\n }\n})\nexport class SiSliderComponent implements ControlValueAccessor, SiFormItemControl {\n private static idCounter = 0;\n\n private readonly handleRef = viewChild.required<ElementRef>('handle');\n\n private readonly disabledNgControl = signal(false);\n\n /**\n * @defaultValue\n * ```\n * `__si-slider-${SiSliderComponent.idCounter++}`\n * ```\n */\n readonly id = input(`__si-slider-${SiSliderComponent.idCounter++}`);\n\n /**\n * Current value of slider.\n */\n readonly value = model<number>();\n /**\n * Minimum of slider range.\n *\n * @defaultValue 0\n */\n readonly min = input(0, { transform: numberAttribute });\n /**\n * Maximum of slider range.\n *\n * @defaultValue 100\n */\n readonly max = input(100, { transform: numberAttribute });\n /**\n * Label to describe minimum of slider range.\n *\n * @defaultValue ''\n */\n readonly minLabel = input('');\n /**\n * Label to describe maximum of slider range.\n *\n * @defaultValue ''\n */\n readonly maxLabel = input('');\n /**\n * Interval to step through the slider.\n *\n * @defaultValue 1\n */\n readonly step = input(1, { transform: numberAttribute });\n /**\n * Icon to use as the slider thumb.\n */\n readonly thumbIcon = input<string>();\n /**\n * Text for aria-label of increment. Needed for a11y.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_SLIDER.INCREMENT:Increment`)\n * ```\n */\n readonly incrementLabel = input(t(() => $localize`:@@SI_SLIDER.INCREMENT:Increment`));\n /**\n * Text for aria-label of decrement. Needed for a11y.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_SLIDER.DECREMENT:Decrement`)\n * ```\n */\n readonly decrementLabel = input(t(() => $localize`:@@SI_SLIDER.DECREMENT:Decrement`));\n /**\n * Text for aria-label of slider. Needed for a11y\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_SLIDER.LABEL:Value`)\n * ```\n */\n readonly sliderLabel = input(t(() => $localize`:@@SI_SLIDER.LABEL:Value`));\n\n /**\n * @defaultValue\n * ```\n * `${this.id()}-label`\n * ```\n */\n readonly labelledby = input(`${this.id()}-label`);\n\n /** @defaultValue false */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n readonly disabledInput = input(false, { alias: 'disabled', transform: booleanAttribute });\n\n protected readonly disabled = computed(\n () => this.disabledInput() || this.disabledNgControl() || this.min() === this.max()\n );\n\n protected readonly sliderValue = computed<number>(() => {\n const value = this.value();\n if (typeof value !== 'number') {\n return this.roundToStepPrecision((this.min() + this.max()) / 2);\n }\n return value;\n });\n\n /**\n * This ID will be bound to the `aria-describedby` attribute of the slider.\n * Use this to reference the element containing the error message(s) for the slider.\n * It will be picked by the {@link SiFormItemComponent} if the slider is used inside a form item.\n *\n * @defaultValue\n * ```\n * `${this.id()}-errormessage`\n * ```\n */\n readonly errormessageId = input(`${this.id()}-errormessage`);\n\n protected readonly indicatorPos = computed(() => {\n const range = this.max() - this.min();\n if (range === 0) {\n return 50;\n }\n const indicatorPos = ((this.sliderValue()! - this.min()) * 100) / range;\n return Math.max(Math.min(indicatorPos, 100), 0);\n });\n\n protected readonly icons = addIcons({ elementMinus, elementPlus });\n protected isDragging = false;\n\n private autoUpdate$ = timer(400, 80); // 250\n private autoUpdateSubs?: Subscription;\n private rtl = false;\n\n private unlistenDragEvents: (() => void)[] = [];\n\n private onTouchedCallback: () => void = () => {};\n private onChangeCallback: (val: any) => void = () => {};\n\n private zone = inject(NgZone);\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n private incrementValue(): void {\n this.value.set(this.normalizeValue(this.sliderValue()! + this.step()));\n this.valueChanged();\n }\n\n private decrementValue(): void {\n this.value.set(this.normalizeValue(this.sliderValue()! - this.step()));\n this.valueChanged();\n }\n\n private roundToStepPrecision(value: number): number {\n const factor = 1 / this.step();\n if (factor > 1) {\n return Math.round(value * factor) / factor;\n }\n return Math.round(value / this.step()) * this.step();\n }\n\n private normalizeValue(value: number): number {\n return Math.min(Math.max(this.roundToStepPrecision(value), this.min()), this.max());\n }\n\n private handleTouchMove(event: TouchEvent): void {\n if (event.cancelable) {\n event.preventDefault();\n event.stopPropagation();\n }\n this.handleDragMove(event.touches[0]);\n }\n\n private handleMouseMove(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.handleDragMove(event);\n }\n\n private handleDragMove(event: MouseEvent | Touch): void {\n const pointerPosX = event.clientX;\n const handleRect = this.handleRef().nativeElement.getBoundingClientRect();\n const handleWrapperWidth = this.handleRef().nativeElement.parentElement.clientWidth;\n\n const direction = this.rtl ? -1 : 1;\n const pointerPosDelta =\n Math.round(pointerPosX - (handleRect.x + handleRect.width / 2)) * direction;\n const valueDelta = (pointerPosDelta / handleWrapperWidth) * (this.max() - this.min());\n\n const newValue = this.normalizeValue(this.sliderValue()! + valueDelta);\n\n if (\n (pointerPosDelta > 0 && newValue > this.sliderValue()!) ||\n (pointerPosDelta < 0 && newValue < this.sliderValue()!)\n ) {\n // the zone is required to work around a problem on native device where CD doesn't trigger\n this.zone.run(() => {\n this.changeDetectorRef.markForCheck();\n this.value.set(newValue);\n this.valueChanged();\n });\n }\n window.getSelection()?.removeAllRanges();\n }\n\n private handleDragEnd(): void {\n this.isDragging = false;\n\n this.unlistenDragEvents.forEach(handler => handler());\n this.unlistenDragEvents.length = 0;\n }\n\n private valueChanged(): void {\n this.onTouchedCallback();\n this.onChangeCallback(this.sliderValue());\n }\n\n @HostListener('pointerdown', ['$event'])\n @HostListener('mousedown', ['$event'])\n @HostListener('touchstart', ['$event'])\n protected handlePointerDown(event: Event): void {\n event.stopPropagation();\n }\n\n protected autoUpdateKeydown(event: KeyboardEvent): void {\n const rtlCorrectedKey = correctKeyRTL(event.key);\n\n if (rtlCorrectedKey === 'ArrowLeft') {\n this.autoUpdateStart(event, false);\n } else if (rtlCorrectedKey === 'ArrowRight') {\n this.autoUpdateStart(event, true);\n }\n }\n\n protected autoUpdateStart(event: Event, isIncrement: boolean): void {\n event.preventDefault();\n\n const trigger = isIncrement ? () => this.incrementValue() : () => this.decrementValue();\n\n this.autoUpdateSubs?.unsubscribe();\n this.autoUpdateSubs = this.autoUpdate$.subscribe(trigger);\n trigger();\n }\n\n protected autoUpdateStop(): void {\n if (this.autoUpdateSubs) {\n this.autoUpdateSubs.unsubscribe();\n this.autoUpdateSubs = undefined;\n }\n }\n\n protected handleMouseDown(event: MouseEvent): void {\n this.unlistenDragEvents.push(\n listenGlobal('mousemove', moveEvent => this.handleMouseMove(moveEvent))\n );\n this.unlistenDragEvents.push(listenGlobal('mouseup', () => this.handleDragEnd()));\n\n this.isDragging = true;\n\n this.rtl = isRTL();\n this.handleMouseMove(event);\n }\n\n protected handleTouchStart(event: TouchEvent): void {\n if (event.touches.length !== 1) {\n return;\n }\n\n this.unlistenDragEvents.push(listenGlobal('touchmove', e => this.handleTouchMove(e), true));\n this.unlistenDragEvents.push(listenGlobal('touchend', () => this.handleDragEnd()));\n\n this.isDragging = true;\n\n this.rtl = isRTL();\n this.handleTouchMove(event);\n }\n\n /** @internal */\n writeValue(val: any): void {\n this.value.set(val);\n }\n\n /** @internal */\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n /** @internal */\n registerOnTouched(fn: () => void): void {\n this.onTouchedCallback = fn;\n }\n\n /** @internal */\n setDisabledState(isDisabled: boolean): void {\n this.disabledNgControl.set(isDisabled);\n }\n}\n","<div class=\"slider-container\">\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary decrement-button\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"decrementLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n (mousedown)=\"autoUpdateStart($event, false)\"\n (touchstart)=\"autoUpdateStart($event, false)\"\n (keydown.enter)=\"autoUpdateStart($event, false)\"\n (touchend)=\"autoUpdateStop()\"\n (mouseup)=\"autoUpdateStop()\"\n (keyup.enter)=\"autoUpdateStop()\"\n (mouseleave)=\"autoUpdateStop()\"\n >\n <si-icon [icon]=\"icons.elementMinus\" />\n </button>\n\n <div class=\"slider-wrapper\">\n <div class=\"value-indicator-wrapper\">\n <span class=\"value-indicator\" [style.inset-inline-start.%]=\"indicatorPos()\">\n <span>\n <ng-content />\n </span>\n </span>\n </div>\n\n <div class=\"slider\" [class.dragging]=\"isDragging\">\n <div class=\"track\"></div>\n <div\n class=\"thumb-handle-wrapper\"\n [class.dragging]=\"isDragging\"\n (mousedown)=\"handleMouseDown($event)\"\n (touchstart)=\"handleTouchStart($event)\"\n >\n <div #handle class=\"thumb-handle\" [style.inset-inline-start.%]=\"indicatorPos()\">\n <div\n class=\"thumb\"\n tabindex=\"0\"\n role=\"slider\"\n [attr.aria-label]=\"sliderLabel() | translate\"\n [attr.aria-valuenow]=\"sliderValue()\"\n [attr.aria-describedby]=\"errormessageId()\"\n [class.dragging]=\"isDragging\"\n (keydown)=\"autoUpdateKeydown($event)\"\n (keyup)=\"autoUpdateStop()\"\n >\n @let iconValue = thumbIcon();\n @if (iconValue) {\n <si-icon [icon]=\"iconValue\" />\n } @else {\n <div class=\"hover-circle\"></div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary increment-button\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"incrementLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n (mousedown)=\"autoUpdateStart($event, true)\"\n (touchstart)=\"autoUpdateStart($event, true)\"\n (keydown.enter)=\"autoUpdateStart($event, true)\"\n (touchend)=\"autoUpdateStop()\"\n (mouseup)=\"autoUpdateStop()\"\n (keyup.enter)=\"autoUpdateStop()\"\n (mouseleave)=\"autoUpdateStop()\"\n >\n <si-icon [icon]=\"icons.elementPlus\" />\n </button>\n</div>\n\n@if (minLabel() && maxLabel()) {\n <div class=\"range-indicator-wrapper\">\n <div class=\"range-indicator\">\n <span>{{ minLabel() }}</span>\n <span class=\"ms-auto\">{{ maxLabel() }}</span>\n </div>\n </div>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiSliderComponent } from './si-slider.component';\n\n@NgModule({\n imports: [SiSliderComponent],\n exports: [SiSliderComponent]\n})\nexport class SiSliderModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-slider.component';\nexport * from './si-slider.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"siemens-element-ng-slider.mjs","sources":["../../../../projects/element-ng/slider/si-slider.component.ts","../../../../projects/element-ng/slider/si-slider.component.html","../../../../projects/element-ng/slider/si-slider.module.ts","../../../../projects/element-ng/slider/index.ts","../../../../projects/element-ng/slider/siemens-element-ng-slider.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n computed,\n ElementRef,\n HostListener,\n inject,\n input,\n model,\n NgZone,\n numberAttribute,\n signal,\n viewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { elementMinus, elementPlus } from '@siemens/element-icons';\nimport { correctKeyRTL, isRTL, listenGlobal } from '@siemens/element-ng/common';\nimport { SI_FORM_ITEM_CONTROL, SiFormItemControl } from '@siemens/element-ng/form';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\nimport { Subscription, timer } from 'rxjs';\n\n@Component({\n selector: 'si-slider',\n imports: [SiIconComponent, SiTranslatePipe],\n templateUrl: './si-slider.component.html',\n styleUrl: './si-slider.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SiSliderComponent,\n multi: true\n },\n {\n provide: SI_FORM_ITEM_CONTROL,\n useExisting: SiSliderComponent\n }\n ],\n host: {\n role: 'group',\n '[class.disabled]': 'disabled()',\n '[attr.aria-labelledby]': 'labelledby()'\n }\n})\nexport class SiSliderComponent implements ControlValueAccessor, SiFormItemControl {\n private static idCounter = 0;\n\n private readonly handleRef = viewChild.required<ElementRef>('handle');\n\n private readonly disabledNgControl = signal(false);\n\n /**\n * @defaultValue\n * ```\n * `__si-slider-${SiSliderComponent.idCounter++}`\n * ```\n */\n readonly id = input(`__si-slider-${SiSliderComponent.idCounter++}`);\n\n /**\n * Current value of slider.\n */\n readonly value = model<number>();\n /**\n * Minimum of slider range.\n *\n * @defaultValue 0\n */\n readonly min = input(0, { transform: numberAttribute });\n /**\n * Maximum of slider range.\n *\n * @defaultValue 100\n */\n readonly max = input(100, { transform: numberAttribute });\n /**\n * Label to describe minimum of slider range.\n *\n * @defaultValue ''\n */\n readonly minLabel = input('');\n /**\n * Label to describe maximum of slider range.\n *\n * @defaultValue ''\n */\n readonly maxLabel = input('');\n /**\n * Interval to step through the slider.\n *\n * @defaultValue 1\n */\n readonly step = input(1, { transform: numberAttribute });\n /**\n * Icon to use as the slider thumb.\n */\n readonly thumbIcon = input<string>();\n /**\n * Text for aria-label of increment. Needed for a11y.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_SLIDER.INCREMENT:Increment`)\n * ```\n */\n readonly incrementLabel = input(t(() => $localize`:@@SI_SLIDER.INCREMENT:Increment`));\n /**\n * Text for aria-label of decrement. Needed for a11y.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_SLIDER.DECREMENT:Decrement`)\n * ```\n */\n readonly decrementLabel = input(t(() => $localize`:@@SI_SLIDER.DECREMENT:Decrement`));\n /**\n * Text for aria-label of slider. Needed for a11y\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_SLIDER.LABEL:Value`)\n * ```\n */\n readonly sliderLabel = input(t(() => $localize`:@@SI_SLIDER.LABEL:Value`));\n\n /**\n * @defaultValue\n * ```\n * `${this.id()}-label`\n * ```\n */\n readonly labelledby = input(`${this.id()}-label`);\n\n /** @defaultValue false */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n readonly disabledInput = input(false, { alias: 'disabled', transform: booleanAttribute });\n\n protected readonly disabled = computed(\n () => this.disabledInput() || this.disabledNgControl() || this.min() === this.max()\n );\n\n protected readonly sliderValue = computed<number>(() => {\n const value = this.value();\n if (typeof value !== 'number') {\n return this.roundToStepPrecision((this.min() + this.max()) / 2);\n }\n return value;\n });\n\n /**\n * This ID will be bound to the `aria-describedby` attribute of the slider.\n * Use this to reference the element containing the error message(s) for the slider.\n * It will be picked by the {@link SiFormItemComponent} if the slider is used inside a form item.\n *\n * @defaultValue\n * ```\n * `${this.id()}-errormessage`\n * ```\n */\n readonly errormessageId = input(`${this.id()}-errormessage`);\n\n protected readonly indicatorPos = computed(() => {\n const range = this.max() - this.min();\n if (range === 0) {\n return 50;\n }\n const indicatorPos = ((this.sliderValue()! - this.min()) * 100) / range;\n return Math.max(Math.min(indicatorPos, 100), 0);\n });\n\n protected readonly icons = addIcons({ elementMinus, elementPlus });\n protected isDragging = false;\n\n private autoUpdate$ = timer(400, 80); // 250\n private autoUpdateSubs?: Subscription;\n private rtl = false;\n\n private unlistenDragEvents: (() => void)[] = [];\n\n private onTouchedCallback: () => void = () => {};\n private onChangeCallback: (val: any) => void = () => {};\n\n private zone = inject(NgZone);\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n private incrementValue(): void {\n this.value.set(this.normalizeValue(this.sliderValue()! + this.step()));\n this.valueChanged();\n }\n\n private decrementValue(): void {\n this.value.set(this.normalizeValue(this.sliderValue()! - this.step()));\n this.valueChanged();\n }\n\n private roundToStepPrecision(value: number): number {\n const factor = 1 / this.step();\n if (factor > 1) {\n return Math.round(value * factor) / factor;\n }\n return Math.round(value / this.step()) * this.step();\n }\n\n private normalizeValue(value: number): number {\n return Math.min(Math.max(this.roundToStepPrecision(value), this.min()), this.max());\n }\n\n private handleTouchMove(event: TouchEvent): void {\n if (event.cancelable) {\n event.preventDefault();\n event.stopPropagation();\n }\n this.handleDragMove(event.touches[0]);\n }\n\n private handleMouseMove(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.handleDragMove(event);\n }\n\n private handleDragMove(event: MouseEvent | Touch): void {\n const pointerPosX = event.clientX;\n const handleRect = this.handleRef().nativeElement.getBoundingClientRect();\n const handleWrapperWidth = this.handleRef().nativeElement.parentElement.clientWidth;\n\n const direction = this.rtl ? -1 : 1;\n const pointerPosDelta =\n Math.round(pointerPosX - (handleRect.x + handleRect.width / 2)) * direction;\n const valueDelta = (pointerPosDelta / handleWrapperWidth) * (this.max() - this.min());\n\n const newValue = this.normalizeValue(this.sliderValue()! + valueDelta);\n\n if (\n (pointerPosDelta > 0 && newValue > this.sliderValue()!) ||\n (pointerPosDelta < 0 && newValue < this.sliderValue()!)\n ) {\n // the zone is required to work around a problem on native device where CD doesn't trigger\n this.zone.run(() => {\n this.changeDetectorRef.markForCheck();\n this.value.set(newValue);\n this.valueChanged();\n });\n }\n window.getSelection()?.removeAllRanges();\n }\n\n private handleDragEnd(): void {\n this.isDragging = false;\n\n this.unlistenDragEvents.forEach(handler => handler());\n this.unlistenDragEvents.length = 0;\n }\n\n private valueChanged(): void {\n this.onTouchedCallback();\n this.onChangeCallback(this.sliderValue());\n }\n\n @HostListener('pointerdown', ['$event'])\n @HostListener('mousedown', ['$event'])\n @HostListener('touchstart', ['$event'])\n protected handlePointerDown(event: Event): void {\n event.stopPropagation();\n }\n\n protected autoUpdateKeydown(event: KeyboardEvent): void {\n const rtlCorrectedKey = correctKeyRTL(event.key);\n\n if (rtlCorrectedKey === 'ArrowLeft') {\n this.autoUpdateStart(event, false);\n } else if (rtlCorrectedKey === 'ArrowRight') {\n this.autoUpdateStart(event, true);\n }\n }\n\n protected autoUpdateStart(event: Event, isIncrement: boolean): void {\n event.preventDefault();\n\n const trigger = isIncrement ? () => this.incrementValue() : () => this.decrementValue();\n\n this.autoUpdateSubs?.unsubscribe();\n this.autoUpdateSubs = this.autoUpdate$.subscribe(trigger);\n trigger();\n }\n\n protected autoUpdateStop(): void {\n if (this.autoUpdateSubs) {\n this.autoUpdateSubs.unsubscribe();\n this.autoUpdateSubs = undefined;\n }\n }\n\n protected handleMouseDown(event: MouseEvent): void {\n this.unlistenDragEvents.push(\n listenGlobal('mousemove', moveEvent => this.handleMouseMove(moveEvent))\n );\n this.unlistenDragEvents.push(listenGlobal('mouseup', () => this.handleDragEnd()));\n\n this.isDragging = true;\n\n this.rtl = isRTL();\n this.handleMouseMove(event);\n }\n\n protected handleTouchStart(event: TouchEvent): void {\n if (event.touches.length !== 1) {\n return;\n }\n\n this.unlistenDragEvents.push(listenGlobal('touchmove', e => this.handleTouchMove(e), true));\n this.unlistenDragEvents.push(listenGlobal('touchend', () => this.handleDragEnd()));\n\n this.isDragging = true;\n\n this.rtl = isRTL();\n this.handleTouchMove(event);\n }\n\n /** @internal */\n writeValue(val: any): void {\n this.value.set(val);\n }\n\n /** @internal */\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n /** @internal */\n registerOnTouched(fn: () => void): void {\n this.onTouchedCallback = fn;\n }\n\n /** @internal */\n setDisabledState(isDisabled: boolean): void {\n this.disabledNgControl.set(isDisabled);\n }\n}\n","<div class=\"slider-container\">\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary decrement-button\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"decrementLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n (mousedown)=\"autoUpdateStart($event, false)\"\n (touchstart)=\"autoUpdateStart($event, false)\"\n (keydown.enter)=\"autoUpdateStart($event, false)\"\n (touchend)=\"autoUpdateStop()\"\n (mouseup)=\"autoUpdateStop()\"\n (keyup.enter)=\"autoUpdateStop()\"\n (mouseleave)=\"autoUpdateStop()\"\n >\n <si-icon [icon]=\"icons.elementMinus\" />\n </button>\n\n <div class=\"slider-wrapper\">\n <div class=\"value-indicator-wrapper\">\n <span class=\"value-indicator\" [style.inset-inline-start.%]=\"indicatorPos()\">\n <span>\n <ng-content />\n </span>\n </span>\n </div>\n\n <div class=\"slider\" [class.dragging]=\"isDragging\">\n <div class=\"track\"></div>\n <div\n class=\"thumb-handle-wrapper\"\n [class.dragging]=\"isDragging\"\n (mousedown)=\"handleMouseDown($event)\"\n (touchstart)=\"handleTouchStart($event)\"\n >\n <div #handle class=\"thumb-handle\" [style.inset-inline-start.%]=\"indicatorPos()\">\n <div\n class=\"thumb\"\n tabindex=\"0\"\n role=\"slider\"\n [attr.aria-label]=\"sliderLabel() | translate\"\n [attr.aria-valuenow]=\"sliderValue()\"\n [attr.aria-describedby]=\"errormessageId()\"\n [class.dragging]=\"isDragging\"\n (keydown)=\"autoUpdateKeydown($event)\"\n (keyup)=\"autoUpdateStop()\"\n >\n @let iconValue = thumbIcon();\n @if (iconValue) {\n <si-icon [icon]=\"iconValue\" />\n } @else {\n <div class=\"hover-circle\"></div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary increment-button\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"incrementLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n (mousedown)=\"autoUpdateStart($event, true)\"\n (touchstart)=\"autoUpdateStart($event, true)\"\n (keydown.enter)=\"autoUpdateStart($event, true)\"\n (touchend)=\"autoUpdateStop()\"\n (mouseup)=\"autoUpdateStop()\"\n (keyup.enter)=\"autoUpdateStop()\"\n (mouseleave)=\"autoUpdateStop()\"\n >\n <si-icon [icon]=\"icons.elementPlus\" />\n </button>\n</div>\n\n@if (minLabel() && maxLabel()) {\n <div class=\"range-indicator-wrapper\">\n <div class=\"range-indicator\">\n <span>{{ minLabel() }}</span>\n <span class=\"ms-auto\">{{ maxLabel() }}</span>\n </div>\n </div>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiSliderComponent } from './si-slider.component';\n\n@NgModule({\n imports: [SiSliderComponent],\n exports: [SiSliderComponent]\n})\nexport class SiSliderModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-slider.component';\nexport * from './si-slider.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}