@fundamental-ngx/core 0.63.2-rc.4 → 0.63.2-rc.6

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 (201) hide show
  1. package/fesm2022/fundamental-ngx-core-action-bar.mjs +27 -26
  2. package/fesm2022/fundamental-ngx-core-action-bar.mjs.map +1 -1
  3. package/fesm2022/fundamental-ngx-core-action-sheet.mjs +25 -22
  4. package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  5. package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs +35 -31
  6. package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs.map +1 -1
  7. package/fesm2022/fundamental-ngx-core-avatar-group.mjs +52 -43
  8. package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  9. package/fesm2022/fundamental-ngx-core-avatar.mjs +67 -43
  10. package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
  11. package/fesm2022/fundamental-ngx-core-bar.mjs +50 -41
  12. package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
  13. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +18 -14
  14. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  15. package/fesm2022/fundamental-ngx-core-busy-indicator.mjs +34 -23
  16. package/fesm2022/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  17. package/fesm2022/fundamental-ngx-core-button.mjs +56 -37
  18. package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
  19. package/fesm2022/fundamental-ngx-core-calendar.mjs +87 -62
  20. package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
  21. package/fesm2022/fundamental-ngx-core-card.mjs +264 -188
  22. package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
  23. package/fesm2022/fundamental-ngx-core-carousel.mjs +35 -26
  24. package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
  25. package/fesm2022/fundamental-ngx-core-checkbox.mjs +7 -7
  26. package/fesm2022/fundamental-ngx-core-combobox.mjs +19 -18
  27. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  28. package/fesm2022/fundamental-ngx-core-content-density.mjs +46 -36
  29. package/fesm2022/fundamental-ngx-core-content-density.mjs.map +1 -1
  30. package/fesm2022/fundamental-ngx-core-date-picker.mjs +13 -13
  31. package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
  32. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +15 -14
  33. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  34. package/fesm2022/fundamental-ngx-core-datetime.mjs +32 -31
  35. package/fesm2022/fundamental-ngx-core-datetime.mjs.map +1 -1
  36. package/fesm2022/fundamental-ngx-core-dialog.mjs +116 -89
  37. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  38. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +100 -77
  39. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  40. package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs +13 -13
  41. package/fesm2022/fundamental-ngx-core-facets.mjs +24 -20
  42. package/fesm2022/fundamental-ngx-core-facets.mjs.map +1 -1
  43. package/fesm2022/fundamental-ngx-core-feed-input.mjs +18 -17
  44. package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
  45. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +22 -22
  46. package/fesm2022/fundamental-ngx-core-file-uploader.mjs +16 -16
  47. package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +17 -15
  48. package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
  49. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs +7 -7
  50. package/fesm2022/fundamental-ngx-core-form.mjs +74 -74
  51. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  52. package/fesm2022/fundamental-ngx-core-formatted-text.mjs +17 -12
  53. package/fesm2022/fundamental-ngx-core-formatted-text.mjs.map +1 -1
  54. package/fesm2022/fundamental-ngx-core-generic-tag.mjs +19 -13
  55. package/fesm2022/fundamental-ngx-core-generic-tag.mjs.map +1 -1
  56. package/fesm2022/fundamental-ngx-core-grid-list.mjs +56 -51
  57. package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
  58. package/fesm2022/fundamental-ngx-core-icon.mjs +33 -20
  59. package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
  60. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +42 -31
  61. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  62. package/fesm2022/fundamental-ngx-core-infinite-scroll.mjs +11 -9
  63. package/fesm2022/fundamental-ngx-core-infinite-scroll.mjs.map +1 -1
  64. package/fesm2022/fundamental-ngx-core-info-label.mjs +29 -18
  65. package/fesm2022/fundamental-ngx-core-info-label.mjs.map +1 -1
  66. package/fesm2022/fundamental-ngx-core-inline-help.mjs +35 -25
  67. package/fesm2022/fundamental-ngx-core-inline-help.mjs.map +1 -1
  68. package/fesm2022/fundamental-ngx-core-input-group.mjs +21 -21
  69. package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
  70. package/fesm2022/fundamental-ngx-core-layout-grid.mjs +40 -27
  71. package/fesm2022/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  72. package/fesm2022/fundamental-ngx-core-layout-panel.mjs +41 -37
  73. package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  74. package/fesm2022/fundamental-ngx-core-link.mjs +24 -19
  75. package/fesm2022/fundamental-ngx-core-link.mjs.map +1 -1
  76. package/fesm2022/fundamental-ngx-core-list.mjs +100 -91
  77. package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
  78. package/fesm2022/fundamental-ngx-core-menu.mjs +125 -101
  79. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  80. package/fesm2022/fundamental-ngx-core-message-box.mjs +39 -38
  81. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  82. package/fesm2022/fundamental-ngx-core-message-page.mjs +19 -19
  83. package/fesm2022/fundamental-ngx-core-message-strip.mjs +79 -55
  84. package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
  85. package/fesm2022/fundamental-ngx-core-message-toast.mjs +17 -17
  86. package/fesm2022/fundamental-ngx-core-message-toast.mjs.map +1 -1
  87. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +21 -20
  88. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
  89. package/fesm2022/fundamental-ngx-core-mobile-mode.mjs +3 -3
  90. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +98 -66
  91. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  92. package/fesm2022/fundamental-ngx-core-multi-input.mjs +27 -21
  93. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  94. package/fesm2022/fundamental-ngx-core-nested-list.mjs +46 -43
  95. package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
  96. package/fesm2022/fundamental-ngx-core-notification.mjs +178 -132
  97. package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
  98. package/fesm2022/fundamental-ngx-core-object-attribute.mjs +7 -7
  99. package/fesm2022/fundamental-ngx-core-object-identifier.mjs +24 -17
  100. package/fesm2022/fundamental-ngx-core-object-identifier.mjs.map +1 -1
  101. package/fesm2022/fundamental-ngx-core-object-marker.mjs +41 -24
  102. package/fesm2022/fundamental-ngx-core-object-marker.mjs.map +1 -1
  103. package/fesm2022/fundamental-ngx-core-object-number.mjs +33 -21
  104. package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
  105. package/fesm2022/fundamental-ngx-core-object-status.mjs +41 -26
  106. package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
  107. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +33 -32
  108. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  109. package/fesm2022/fundamental-ngx-core-pagination.mjs +10 -10
  110. package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
  111. package/fesm2022/fundamental-ngx-core-panel.mjs +51 -35
  112. package/fesm2022/fundamental-ngx-core-panel.mjs.map +1 -1
  113. package/fesm2022/fundamental-ngx-core-popover.mjs +267 -164
  114. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  115. package/fesm2022/fundamental-ngx-core-product-switch.mjs +46 -32
  116. package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
  117. package/fesm2022/fundamental-ngx-core-progress-indicator.mjs +7 -7
  118. package/fesm2022/fundamental-ngx-core-quick-view.mjs +47 -44
  119. package/fesm2022/fundamental-ngx-core-quick-view.mjs.map +1 -1
  120. package/fesm2022/fundamental-ngx-core-radio.mjs +8 -8
  121. package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
  122. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +61 -39
  123. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  124. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +12 -11
  125. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  126. package/fesm2022/fundamental-ngx-core-scroll-spy.mjs +17 -12
  127. package/fesm2022/fundamental-ngx-core-scroll-spy.mjs.map +1 -1
  128. package/fesm2022/fundamental-ngx-core-scrollbar.mjs +14 -12
  129. package/fesm2022/fundamental-ngx-core-scrollbar.mjs.map +1 -1
  130. package/fesm2022/fundamental-ngx-core-segmented-button.mjs +9 -8
  131. package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  132. package/fesm2022/fundamental-ngx-core-select.mjs +22 -21
  133. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  134. package/fesm2022/fundamental-ngx-core-settings.mjs +70 -60
  135. package/fesm2022/fundamental-ngx-core-settings.mjs.map +1 -1
  136. package/fesm2022/fundamental-ngx-core-shared.mjs +3 -3
  137. package/fesm2022/fundamental-ngx-core-shellbar.mjs +77 -63
  138. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  139. package/fesm2022/fundamental-ngx-core-side-navigation.mjs +13 -13
  140. package/fesm2022/fundamental-ngx-core-skeleton.mjs +24 -16
  141. package/fesm2022/fundamental-ngx-core-skeleton.mjs.map +1 -1
  142. package/fesm2022/fundamental-ngx-core-slider.mjs +15 -13
  143. package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
  144. package/fesm2022/fundamental-ngx-core-split-button.mjs +10 -10
  145. package/fesm2022/fundamental-ngx-core-status-indicator.mjs +62 -35
  146. package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  147. package/fesm2022/fundamental-ngx-core-step-input.mjs +11 -9
  148. package/fesm2022/fundamental-ngx-core-step-input.mjs.map +1 -1
  149. package/fesm2022/fundamental-ngx-core-switch.mjs +8 -8
  150. package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
  151. package/fesm2022/fundamental-ngx-core-table.mjs +51 -50
  152. package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
  153. package/fesm2022/fundamental-ngx-core-tabs.mjs +56 -55
  154. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  155. package/fesm2022/fundamental-ngx-core-text.mjs +29 -19
  156. package/fesm2022/fundamental-ngx-core-text.mjs.map +1 -1
  157. package/fesm2022/fundamental-ngx-core-theming.mjs +7 -7
  158. package/fesm2022/fundamental-ngx-core-tile.mjs +171 -136
  159. package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
  160. package/fesm2022/fundamental-ngx-core-time-picker.mjs +9 -8
  161. package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
  162. package/fesm2022/fundamental-ngx-core-time.mjs +16 -13
  163. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  164. package/fesm2022/fundamental-ngx-core-timeline.mjs +43 -43
  165. package/fesm2022/fundamental-ngx-core-title.mjs +12 -10
  166. package/fesm2022/fundamental-ngx-core-title.mjs.map +1 -1
  167. package/fesm2022/fundamental-ngx-core-token.mjs +33 -24
  168. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  169. package/fesm2022/fundamental-ngx-core-toolbar.mjs +35 -32
  170. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  171. package/fesm2022/fundamental-ngx-core-tree.mjs +41 -36
  172. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  173. package/fesm2022/fundamental-ngx-core-upload-collection.mjs +37 -37
  174. package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  175. package/fesm2022/fundamental-ngx-core-user-menu.mjs +108 -84
  176. package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
  177. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +20 -17
  178. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
  179. package/fesm2022/fundamental-ngx-core-wizard.mjs +41 -32
  180. package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
  181. package/fesm2022/fundamental-ngx-core.mjs +4 -4
  182. package/package.json +11 -10
  183. package/schematics/add-styles/index.js +3 -3
  184. package/schematics/add-styles/index.js.map +1 -1
  185. package/schematics/add-theming/index.js +1 -1
  186. package/schematics/add-theming/index.js.map +1 -1
  187. package/schematics/package.json +7 -0
  188. package/schematics/tsconfig.json +12 -6
  189. package/schematics/tsconfig.spec.json +2 -0
  190. package/schematics/utils/calls-providers-function.js +34 -1
  191. package/schematics/utils/calls-providers-function.js.map +1 -1
  192. package/schematics/utils/ng-module-utils.js +34 -1
  193. package/schematics/utils/ng-module-utils.js.map +1 -1
  194. package/types/fundamental-ngx-core-avatar-group-legacy.d.ts +1 -0
  195. package/types/fundamental-ngx-core-carousel.d.ts +2 -0
  196. package/types/fundamental-ngx-core-list.d.ts +2 -2
  197. package/types/fundamental-ngx-core-menu.d.ts +4 -4
  198. package/types/fundamental-ngx-core-notification.d.ts +0 -2
  199. package/types/fundamental-ngx-core-popover.d.ts +8 -6
  200. package/types/fundamental-ngx-core-product-switch.d.ts +6 -3
  201. package/types/fundamental-ngx-core-wizard.d.ts +4 -1
@@ -15,78 +15,102 @@ class StatusIndicatorComponent {
15
15
  /**
16
16
  * value id defines the id of the object.
17
17
  */
18
- this.id = input('fd-status-indicator-' + ++statusIndicatorId, ...(ngDevMode ? [{ debugName: "id" }] : []));
18
+ this.id = input('fd-status-indicator-' + ++statusIndicatorId, /* @ts-ignore */
19
+ ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
19
20
  /**
20
21
  * defines the size of the status indicator.
21
22
  * Can be one of the following: 'sm' | 'md' | 'lg' | 'xl'
22
23
  * Default size is Medium(md).
23
24
  */
24
- this.size = input('md', ...(ngDevMode ? [{ debugName: "size" }] : []));
25
+ this.size = input('md', /* @ts-ignore */
26
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
25
27
  /**
26
28
  * The status represented by the Status Indicator.
27
29
  * Can be one of the following: 'negative' | 'critical' | 'informative'
28
30
  * For default Object Status omit this property
29
31
  */
30
- this.status = input(...(ngDevMode ? [undefined, { debugName: "status" }] : []));
32
+ this.status = input(/* @ts-ignore */
33
+ ...(ngDevMode ? [undefined, { debugName: "status" }] : /* istanbul ignore next */ []));
31
34
  /** Define the text content of the Status indicator*/
32
- this.statusLabel = input(...(ngDevMode ? [undefined, { debugName: "statusLabel" }] : []));
35
+ this.statusLabel = input(/* @ts-ignore */
36
+ ...(ngDevMode ? [undefined, { debugName: "statusLabel" }] : /* istanbul ignore next */ []));
33
37
  /**
34
38
  * positioning of the status indicator image within the defined height and width .
35
39
  */
36
- this.viewBox = input(...(ngDevMode ? [undefined, { debugName: "viewBox" }] : []));
40
+ this.viewBox = input(/* @ts-ignore */
41
+ ...(ngDevMode ? [undefined, { debugName: "viewBox" }] : /* istanbul ignore next */ []));
37
42
  /**
38
43
  * boolean value to be marked as clickable
39
44
  */
40
- this.clickable = input(false, ...(ngDevMode ? [{ debugName: "clickable" }] : []));
45
+ this.clickable = input(false, /* @ts-ignore */
46
+ ...(ngDevMode ? [{ debugName: "clickable" }] : /* istanbul ignore next */ []));
41
47
  /**
42
48
  * defines the size of the status indicator.
43
49
  * Can be one of the following: 'sm' | 'md' | 'lg' | 'xl'
44
50
  */
45
- this.labelSize = input('sm', ...(ngDevMode ? [{ debugName: "labelSize" }] : []));
51
+ this.labelSize = input('sm', /* @ts-ignore */
52
+ ...(ngDevMode ? [{ debugName: "labelSize" }] : /* istanbul ignore next */ []));
46
53
  /** Aria label for the Status Indicator. */
47
- this.ariaLabel = input(...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : []));
54
+ this.ariaLabel = input(/* @ts-ignore */
55
+ ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
48
56
  /** Aria defines role description for the Status Indicator. */
49
- this.ariaRoleDescription = input(...(ngDevMode ? [undefined, { debugName: "ariaRoleDescription" }] : []));
57
+ this.ariaRoleDescription = input(/* @ts-ignore */
58
+ ...(ngDevMode ? [undefined, { debugName: "ariaRoleDescription" }] : /* istanbul ignore next */ []));
50
59
  /** Aria Focusable for the Status Indicator. */
51
- this.focusable = input(false, { ...(ngDevMode ? { debugName: "focusable" } : {}), transform: booleanAttribute });
60
+ this.focusable = input(false, { ...(ngDevMode ? { debugName: "focusable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
52
61
  /** Aria Role for the Status Indicator. */
53
- this.role = input(...(ngDevMode ? [undefined, { debugName: "role" }] : []));
62
+ this.role = input(/* @ts-ignore */
63
+ ...(ngDevMode ? [undefined, { debugName: "role" }] : /* istanbul ignore next */ []));
54
64
  /** Aria Value Text for the Status Indicator. */
55
- this.ariaValueText = input(...(ngDevMode ? [undefined, { debugName: "ariaValueText" }] : []));
65
+ this.ariaValueText = input(/* @ts-ignore */
66
+ ...(ngDevMode ? [undefined, { debugName: "ariaValueText" }] : /* istanbul ignore next */ []));
56
67
  /** Aria title for the status indicator. */
57
- this.title = input(...(ngDevMode ? [undefined, { debugName: "title" }] : []));
68
+ this.title = input(/* @ts-ignore */
69
+ ...(ngDevMode ? [undefined, { debugName: "title" }] : /* istanbul ignore next */ []));
58
70
  /** defines the label position the value can be 'left' | 'right' | 'top' | 'bottom' */
59
- this.labelPosition = input(...(ngDevMode ? [undefined, { debugName: "labelPosition" }] : []));
71
+ this.labelPosition = input(/* @ts-ignore */
72
+ ...(ngDevMode ? [undefined, { debugName: "labelPosition" }] : /* istanbul ignore next */ []));
60
73
  /** Path for the status indicator */
61
- this.path = input(...(ngDevMode ? [undefined, { debugName: "path" }] : []));
74
+ this.path = input(/* @ts-ignore */
75
+ ...(ngDevMode ? [undefined, { debugName: "path" }] : /* istanbul ignore next */ []));
62
76
  /**
63
77
  * Offset value to be filled under the give percentatge value.
64
78
  */
65
- this.fillPercentage = input(...(ngDevMode ? [undefined, { debugName: "fillPercentage" }] : []));
79
+ this.fillPercentage = input(/* @ts-ignore */
80
+ ...(ngDevMode ? [undefined, { debugName: "fillPercentage" }] : /* istanbul ignore next */ []));
66
81
  /**
67
82
  * value to define fill direction
68
83
  */
69
- this.fillDirection = input('clockwise', ...(ngDevMode ? [{ debugName: "fillDirection" }] : []));
84
+ this.fillDirection = input('clockwise', /* @ts-ignore */
85
+ ...(ngDevMode ? [{ debugName: "fillDirection" }] : /* istanbul ignore next */ []));
70
86
  /**
71
87
  * FillingType to represent the fill pattern of the component
72
88
  */
73
- this.fillingType = input('lineardown', ...(ngDevMode ? [{ debugName: "fillingType" }] : []));
89
+ this.fillingType = input('lineardown', /* @ts-ignore */
90
+ ...(ngDevMode ? [{ debugName: "fillingType" }] : /* istanbul ignore next */ []));
74
91
  /** represent the degree of angle to project the filling of the component */
75
- this.angle = input(...(ngDevMode ? [undefined, { debugName: "angle" }] : []));
92
+ this.angle = input(/* @ts-ignore */
93
+ ...(ngDevMode ? [undefined, { debugName: "angle" }] : /* istanbul ignore next */ []));
76
94
  /** @hidden */
77
95
  this.elementRef = inject((ElementRef));
78
96
  /** @hidden */
79
- this.binaryString = signal('', ...(ngDevMode ? [{ debugName: "binaryString" }] : []));
97
+ this.binaryString = signal('', /* @ts-ignore */
98
+ ...(ngDevMode ? [{ debugName: "binaryString" }] : /* istanbul ignore next */ []));
80
99
  /** @hidden */
81
- this.x1 = signal('', ...(ngDevMode ? [{ debugName: "x1" }] : []));
100
+ this.x1 = signal('', /* @ts-ignore */
101
+ ...(ngDevMode ? [{ debugName: "x1" }] : /* istanbul ignore next */ []));
82
102
  /** @hidden */
83
- this.y1 = signal('', ...(ngDevMode ? [{ debugName: "y1" }] : []));
103
+ this.y1 = signal('', /* @ts-ignore */
104
+ ...(ngDevMode ? [{ debugName: "y1" }] : /* istanbul ignore next */ []));
84
105
  /** @hidden */
85
- this.x2 = signal('', ...(ngDevMode ? [{ debugName: "x2" }] : []));
106
+ this.x2 = signal('', /* @ts-ignore */
107
+ ...(ngDevMode ? [{ debugName: "x2" }] : /* istanbul ignore next */ []));
86
108
  /** @hidden */
87
- this.y2 = signal('', ...(ngDevMode ? [{ debugName: "y2" }] : []));
109
+ this.y2 = signal('', /* @ts-ignore */
110
+ ...(ngDevMode ? [{ debugName: "y2" }] : /* istanbul ignore next */ []));
88
111
  /** @hidden */
89
- this.pointsArray = signal([], ...(ngDevMode ? [{ debugName: "pointsArray" }] : []));
112
+ this.pointsArray = signal([], /* @ts-ignore */
113
+ ...(ngDevMode ? [{ debugName: "pointsArray" }] : /* istanbul ignore next */ []));
90
114
  /** @hidden Computed fill calculator based on percentage and path length */
91
115
  this.fillCalculator = computed(() => {
92
116
  const percentage = this.fillPercentage();
@@ -95,7 +119,8 @@ class StatusIndicatorComponent {
95
119
  return 0;
96
120
  }
97
121
  return (percentage * pathLength) / 100;
98
- }, ...(ngDevMode ? [{ debugName: "fillCalculator" }] : []));
122
+ }, /* @ts-ignore */
123
+ ...(ngDevMode ? [{ debugName: "fillCalculator" }] : /* istanbul ignore next */ []));
99
124
  /** @hidden Computed CSS class */
100
125
  this._cssClass = computed(() => [
101
126
  'fd-status-indicator',
@@ -107,14 +132,16 @@ class StatusIndicatorComponent {
107
132
  : ''
108
133
  ]
109
134
  .filter(Boolean)
110
- .join(' '), ...(ngDevMode ? [{ debugName: "_cssClass" }] : []));
135
+ .join(' '), /* @ts-ignore */
136
+ ...(ngDevMode ? [{ debugName: "_cssClass" }] : /* istanbul ignore next */ []));
111
137
  this.labelCssClass = computed(() => [
112
138
  'fd-status-indicator__label',
113
139
  this.labelSize() ? `fd-status-indicator__label--${this.labelSize()}` : '',
114
140
  this.labelPosition() ? `fd-status-indicator__label--${this.labelPosition()}` : ''
115
141
  ]
116
142
  .filter(Boolean)
117
- .join(' '), ...(ngDevMode ? [{ debugName: "labelCssClass" }] : []));
143
+ .join(' '), /* @ts-ignore */
144
+ ...(ngDevMode ? [{ debugName: "labelCssClass" }] : /* istanbul ignore next */ []));
118
145
  }
119
146
  /** @hidden */
120
147
  ngAfterViewInit() {
@@ -279,10 +306,10 @@ class StatusIndicatorComponent {
279
306
  points.push(oCentrePoint);
280
307
  return points;
281
308
  }
282
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: StatusIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
283
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: StatusIndicatorComponent, isStandalone: true, selector: "fd-status-indicator", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, statusLabel: { classPropertyName: "statusLabel", publicName: "statusLabel", isSignal: true, isRequired: false, transformFunction: null }, viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, clickable: { classPropertyName: "clickable", publicName: "clickable", isSignal: true, isRequired: false, transformFunction: null }, labelSize: { classPropertyName: "labelSize", publicName: "labelSize", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaRoleDescription: { classPropertyName: "ariaRoleDescription", publicName: "ariaRoleDescription", isSignal: true, isRequired: false, transformFunction: null }, focusable: { classPropertyName: "focusable", publicName: "focusable", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, ariaValueText: { classPropertyName: "ariaValueText", publicName: "ariaValueText", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, path: { classPropertyName: "path", publicName: "path", isSignal: true, isRequired: false, transformFunction: null }, fillPercentage: { classPropertyName: "fillPercentage", publicName: "fillPercentage", isSignal: true, isRequired: false, transformFunction: null }, fillDirection: { classPropertyName: "fillDirection", publicName: "fillDirection", isSignal: true, isRequired: false, transformFunction: null }, fillingType: { classPropertyName: "fillingType", publicName: "fillingType", isSignal: true, isRequired: false, transformFunction: null }, angle: { classPropertyName: "angle", publicName: "angle", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_cssClass()", "attr.aria-label": "ariaLabel()", "attr.aria-roledescription": "ariaRoleDescription()", "attr.focusable": "focusable()", "attr.title": "title()", "attr.role": "role()", "attr.aria-valuetext": "ariaValueText()", "attr.aria-valuenow": "fillPercentage() || 0", "attr.aria-valuemin": "0", "attr.aria-valuemax": "100", "attr.tabindex": "focusable() ? 0 : -1" } }, ngImport: i0, template: "@if (labelPosition() === 'left' || labelPosition() === 'top') {\n <span [class]=\"labelCssClass()\">{{ statusLabel() }} </span>\n}\n<svg\n [attr.id]=\"id()\"\n data-sap-ui=\"__shape0-__box21-24\"\n version=\"1.1\"\n [attr.viewBox]=\"viewBox()\"\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n class=\"fd-status-indicator__svg\"\n>\n <ng-container [ngTemplateOutlet]=\"svgTemplate\"></ng-container>\n</svg>\n@if (labelPosition() === 'right' || labelPosition() === 'bottom') {\n <span [class]=\"labelCssClass()\">{{ statusLabel() }} </span>\n}\n<ng-template #svgTemplate>\n @for (path of path(); track path; let i = $index) {\n <svg\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n overflow=\"visible\"\n [attr.id]=\"id() + i\"\n data-sap-ui=\"id\"\n >\n <defs>\n @if (!(fillCalculator() - i > 0 && fillCalculator() - i < 1) || fillingType() !== 'radial') {\n <linearGradient\n id=\"{{ id() + i }}-gradient\"\n [attr.x1]=\"x1()\"\n [attr.y1]=\"y1()\"\n [attr.x2]=\"x2()\"\n [attr.y2]=\"y2()\"\n >\n <stop [attr.offset]=\"fillCalculator() - i\" stop-color=\"white\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator() - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n <stop [attr.offset]=\"fillCalculator() - i\" stop-color=\"transparent\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator() - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n </linearGradient>\n }\n <mask #maskTemplate id=\"{{ id() + i }}-mask\">\n @if (!(fillCalculator() - i > 0 && fillCalculator() - i < 1) || fillingType() !== 'radial') {\n <path\n id=\"{{ id() + i }}-mask-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"white\"\n attr.fill=\"url(#{{ id() + i }}-gradient)\"\n ></path>\n }\n @if (fillingType() === 'radial' && fillCalculator() - i > 0 && fillCalculator() - i < 1) {\n <polygon id=\"{{ id() + i }}-mask-shape\" fill=\"white\" [attr.points]=\"pointsArray()[i]\"></polygon>\n }\n </mask>\n </defs>\n <path\n id=\"{{ id() + i }}-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"#89919A\"\n attr.mask=\"url(#{{ id() + i }}-mask)\"\n ></path>\n <path\n id=\"{{ id() + i }}-shape-border\"\n [attr.d]=\"path\"\n stroke-width=\"0.25\"\n stroke=\"#89919A\"\n fill=\"transparent\"\n ></path>\n </svg>\n }\n</ng-template>\n", styles: [".fd-status-indicator{color:var(--sapContent_LabelColor);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;fill:transparent;stroke:var(--sapNeutralElementColor);stroke-width:.25;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-status-indicator.is-focus,.fd-status-indicator:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--sapContent_FocusWidth);z-index:5}.fd-status-indicator:after,.fd-status-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-status-indicator--horizontal-label{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.fd-status-indicator--horizontal-label:after,.fd-status-indicator--horizontal-label:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-status-indicator--link{cursor:pointer}.fd-status-indicator__label,.fd-status-indicator__label--sm{font-size:var(--sapFontSmallSize,.75rem)}.fd-status-indicator__label--sm.fd-status-indicator__label--top{-webkit-margin-after:.375rem;margin-block-end:.375rem}.fd-status-indicator__label--sm.fd-status-indicator__label--right{-webkit-margin-start:.375rem;margin-inline-start:.375rem}.fd-status-indicator__label--sm.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--sm.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--sm.fd-status-indicator__label--left{-webkit-margin-end:.375rem;margin-inline-end:.375rem}.fd-status-indicator__label--sm.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--sm.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--sm.fd-status-indicator__label--bottom{margin-top:.375rem}.fd-status-indicator__label--md{font-size:var(--sapFontSize,.875rem)}.fd-status-indicator__label--md.fd-status-indicator__label--top{-webkit-margin-after:.5rem;margin-block-end:.5rem}.fd-status-indicator__label--md.fd-status-indicator__label--right{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.fd-status-indicator__label--md.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--md.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--md.fd-status-indicator__label--left{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.fd-status-indicator__label--md.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--md.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--md.fd-status-indicator__label--bottom{margin-top:.5rem}.fd-status-indicator__label--lg{font-size:1.125rem}.fd-status-indicator__label--lg.fd-status-indicator__label--top{-webkit-margin-after:.75rem;margin-block-end:.75rem}.fd-status-indicator__label--lg.fd-status-indicator__label--right{-webkit-margin-start:.75rem;margin-inline-start:.75rem}.fd-status-indicator__label--lg.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--lg.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--lg.fd-status-indicator__label--left{-webkit-margin-end:.75rem;margin-inline-end:.75rem}.fd-status-indicator__label--lg.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--lg.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--lg.fd-status-indicator__label--bottom{margin-top:.75rem}.fd-status-indicator__label--xl{font-size:1.875rem}.fd-status-indicator__label--xl.fd-status-indicator__label--top{-webkit-margin-after:1rem;margin-block-end:1rem}.fd-status-indicator__label--xl.fd-status-indicator__label--right{-webkit-margin-start:1rem;margin-inline-start:1rem}.fd-status-indicator__label--xl.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--xl.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--xl.fd-status-indicator__label--left{-webkit-margin-end:1rem;margin-inline-end:1rem}.fd-status-indicator__label--xl.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--xl.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--xl.fd-status-indicator__label--bottom{margin-top:1rem}.fd-status-indicator--positive{color:var(--sapPositiveElementColor);fill:var(--sapPositiveElementColor)}.fd-status-indicator--critical{color:var(--sapCriticalElementColor);fill:var(--sapCriticalElementColor)}.fd-status-indicator--negative{color:var(--sapNegativeElementColor);fill:var(--sapNegativeElementColor)}.fd-status-indicator--sm .fd-status-indicator__svg{height:1.375rem;width:1.875rem}.fd-status-indicator--md .fd-status-indicator__svg{height:1.875rem;width:2.8125rem}.fd-status-indicator--lg .fd-status-indicator__svg{height:3.4375rem;width:5rem}.fd-status-indicator--xl .fd-status-indicator__svg{height:6.25rem;width:9.0625rem}\n/*! Bundled license information:\n\nfundamental-styles/dist/status-indicator.css:\n (*!\n * Fundamental Library Styles v0.41.8\n * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
309
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: StatusIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
310
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: StatusIndicatorComponent, isStandalone: true, selector: "fd-status-indicator", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, statusLabel: { classPropertyName: "statusLabel", publicName: "statusLabel", isSignal: true, isRequired: false, transformFunction: null }, viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, clickable: { classPropertyName: "clickable", publicName: "clickable", isSignal: true, isRequired: false, transformFunction: null }, labelSize: { classPropertyName: "labelSize", publicName: "labelSize", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaRoleDescription: { classPropertyName: "ariaRoleDescription", publicName: "ariaRoleDescription", isSignal: true, isRequired: false, transformFunction: null }, focusable: { classPropertyName: "focusable", publicName: "focusable", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, ariaValueText: { classPropertyName: "ariaValueText", publicName: "ariaValueText", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, path: { classPropertyName: "path", publicName: "path", isSignal: true, isRequired: false, transformFunction: null }, fillPercentage: { classPropertyName: "fillPercentage", publicName: "fillPercentage", isSignal: true, isRequired: false, transformFunction: null }, fillDirection: { classPropertyName: "fillDirection", publicName: "fillDirection", isSignal: true, isRequired: false, transformFunction: null }, fillingType: { classPropertyName: "fillingType", publicName: "fillingType", isSignal: true, isRequired: false, transformFunction: null }, angle: { classPropertyName: "angle", publicName: "angle", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_cssClass()", "attr.aria-label": "ariaLabel()", "attr.aria-roledescription": "ariaRoleDescription()", "attr.focusable": "focusable()", "attr.title": "title()", "attr.role": "role()", "attr.aria-valuetext": "ariaValueText()", "attr.aria-valuenow": "fillPercentage() || 0", "attr.aria-valuemin": "0", "attr.aria-valuemax": "100", "attr.tabindex": "focusable() ? 0 : -1" } }, ngImport: i0, template: "@if (labelPosition() === 'left' || labelPosition() === 'top') {\n <span [class]=\"labelCssClass()\">{{ statusLabel() }} </span>\n}\n<svg\n [attr.id]=\"id()\"\n data-sap-ui=\"__shape0-__box21-24\"\n version=\"1.1\"\n [attr.viewBox]=\"viewBox()\"\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n class=\"fd-status-indicator__svg\"\n>\n <ng-container [ngTemplateOutlet]=\"svgTemplate\"></ng-container>\n</svg>\n@if (labelPosition() === 'right' || labelPosition() === 'bottom') {\n <span [class]=\"labelCssClass()\">{{ statusLabel() }} </span>\n}\n<ng-template #svgTemplate>\n @for (path of path(); track path; let i = $index) {\n <svg\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n overflow=\"visible\"\n [attr.id]=\"id() + i\"\n data-sap-ui=\"id\"\n >\n <defs>\n @if (!(fillCalculator() - i > 0 && fillCalculator() - i < 1) || fillingType() !== 'radial') {\n <linearGradient\n id=\"{{ id() + i }}-gradient\"\n [attr.x1]=\"x1()\"\n [attr.y1]=\"y1()\"\n [attr.x2]=\"x2()\"\n [attr.y2]=\"y2()\"\n >\n <stop [attr.offset]=\"fillCalculator() - i\" stop-color=\"white\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator() - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n <stop [attr.offset]=\"fillCalculator() - i\" stop-color=\"transparent\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator() - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n </linearGradient>\n }\n <mask #maskTemplate id=\"{{ id() + i }}-mask\">\n @if (!(fillCalculator() - i > 0 && fillCalculator() - i < 1) || fillingType() !== 'radial') {\n <path\n id=\"{{ id() + i }}-mask-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"white\"\n attr.fill=\"url(#{{ id() + i }}-gradient)\"\n ></path>\n }\n @if (fillingType() === 'radial' && fillCalculator() - i > 0 && fillCalculator() - i < 1) {\n <polygon id=\"{{ id() + i }}-mask-shape\" fill=\"white\" [attr.points]=\"pointsArray()[i]\"></polygon>\n }\n </mask>\n </defs>\n <path\n id=\"{{ id() + i }}-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"#89919A\"\n attr.mask=\"url(#{{ id() + i }}-mask)\"\n ></path>\n <path\n id=\"{{ id() + i }}-shape-border\"\n [attr.d]=\"path\"\n stroke-width=\"0.25\"\n stroke=\"#89919A\"\n fill=\"transparent\"\n ></path>\n </svg>\n }\n</ng-template>\n", styles: [".fd-status-indicator{color:var(--sapContent_LabelColor);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;fill:transparent;stroke:var(--sapNeutralElementColor);stroke-width:.25;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-status-indicator.is-focus,.fd-status-indicator:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--sapContent_FocusWidth);z-index:5}.fd-status-indicator:after,.fd-status-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-status-indicator--horizontal-label{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.fd-status-indicator--horizontal-label:after,.fd-status-indicator--horizontal-label:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-status-indicator--link{cursor:pointer}.fd-status-indicator__label,.fd-status-indicator__label--sm{font-size:var(--sapFontSmallSize,.75rem)}.fd-status-indicator__label--sm.fd-status-indicator__label--top{-webkit-margin-after:.375rem;margin-block-end:.375rem}.fd-status-indicator__label--sm.fd-status-indicator__label--right{-webkit-margin-start:.375rem;margin-inline-start:.375rem}.fd-status-indicator__label--sm.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--sm.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--sm.fd-status-indicator__label--left{-webkit-margin-end:.375rem;margin-inline-end:.375rem}.fd-status-indicator__label--sm.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--sm.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--sm.fd-status-indicator__label--bottom{margin-top:.375rem}.fd-status-indicator__label--md{font-size:var(--sapFontSize,.875rem)}.fd-status-indicator__label--md.fd-status-indicator__label--top{-webkit-margin-after:.5rem;margin-block-end:.5rem}.fd-status-indicator__label--md.fd-status-indicator__label--right{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.fd-status-indicator__label--md.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--md.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--md.fd-status-indicator__label--left{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.fd-status-indicator__label--md.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--md.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--md.fd-status-indicator__label--bottom{margin-top:.5rem}.fd-status-indicator__label--lg{font-size:1.125rem}.fd-status-indicator__label--lg.fd-status-indicator__label--top{-webkit-margin-after:.75rem;margin-block-end:.75rem}.fd-status-indicator__label--lg.fd-status-indicator__label--right{-webkit-margin-start:.75rem;margin-inline-start:.75rem}.fd-status-indicator__label--lg.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--lg.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--lg.fd-status-indicator__label--left{-webkit-margin-end:.75rem;margin-inline-end:.75rem}.fd-status-indicator__label--lg.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--lg.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--lg.fd-status-indicator__label--bottom{margin-top:.75rem}.fd-status-indicator__label--xl{font-size:1.875rem}.fd-status-indicator__label--xl.fd-status-indicator__label--top{-webkit-margin-after:1rem;margin-block-end:1rem}.fd-status-indicator__label--xl.fd-status-indicator__label--right{-webkit-margin-start:1rem;margin-inline-start:1rem}.fd-status-indicator__label--xl.fd-status-indicator__label--right[dir=rtl],[dir=rtl] .fd-status-indicator__label--xl.fd-status-indicator__label--right{-webkit-transform:matrix(1,0,0,1,22,1);transform:matrix(1,0,0,1,22,1)}.fd-status-indicator__label--xl.fd-status-indicator__label--left{-webkit-margin-end:1rem;margin-inline-end:1rem}.fd-status-indicator__label--xl.fd-status-indicator__label--left[dir=rtl],[dir=rtl] .fd-status-indicator__label--xl.fd-status-indicator__label--left{-webkit-transform:matrix(1,0,0,1,-22,1);transform:matrix(1,0,0,1,-22,1)}.fd-status-indicator__label--xl.fd-status-indicator__label--bottom{margin-top:1rem}.fd-status-indicator--positive{color:var(--sapPositiveElementColor);fill:var(--sapPositiveElementColor)}.fd-status-indicator--critical{color:var(--sapCriticalElementColor);fill:var(--sapCriticalElementColor)}.fd-status-indicator--negative{color:var(--sapNegativeElementColor);fill:var(--sapNegativeElementColor)}.fd-status-indicator--sm .fd-status-indicator__svg{height:1.375rem;width:1.875rem}.fd-status-indicator--md .fd-status-indicator__svg{height:1.875rem;width:2.8125rem}.fd-status-indicator--lg .fd-status-indicator__svg{height:3.4375rem;width:5rem}.fd-status-indicator--xl .fd-status-indicator__svg{height:6.25rem;width:9.0625rem}\n/*! Bundled license information:\n\nfundamental-styles/dist/status-indicator.css:\n (*!\n * Fundamental Library Styles v0.41.8\n * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
284
311
  }
285
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: StatusIndicatorComponent, decorators: [{
312
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: StatusIndicatorComponent, decorators: [{
286
313
  type: Component,
287
314
  args: [{ selector: 'fd-status-indicator', host: {
288
315
  '[class]': '_cssClass()',
@@ -304,11 +331,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
304
331
  * Use direct imports of components and directives.
305
332
  */
306
333
  class StatusIndicatorModule {
307
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: StatusIndicatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
308
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.0", ngImport: i0, type: StatusIndicatorModule, imports: [StatusIndicatorComponent], exports: [StatusIndicatorComponent] }); }
309
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: StatusIndicatorModule }); }
334
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: StatusIndicatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
335
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: StatusIndicatorModule, imports: [StatusIndicatorComponent], exports: [StatusIndicatorComponent] }); }
336
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: StatusIndicatorModule }); }
310
337
  }
311
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: StatusIndicatorModule, decorators: [{
338
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: StatusIndicatorModule, decorators: [{
312
339
  type: NgModule,
313
340
  args: [{
314
341
  imports: [StatusIndicatorComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-status-indicator.mjs","sources":["../../../../libs/core/status-indicator/status-indicator.component.ts","../../../../libs/core/status-indicator/status-indicator.component.html","../../../../libs/core/status-indicator/status-indicator.module.ts","../../../../libs/core/status-indicator/fundamental-ngx-core-status-indicator.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n signal,\n ViewEncapsulation\n} from '@angular/core';\nimport { HasElementRef } from '@fundamental-ngx/cdk/utils';\n\nexport type StatusIndicatorSize = 'sm' | 'md' | 'lg' | 'xl';\nexport type StatusIndicatorColor = 'negative' | 'critical' | 'positive';\nexport type LablePosition = 'left' | 'right' | 'top' | 'bottom';\nexport type FillingType = 'radial' | 'angled' | 'linearup' | 'lineardown' | 'linearleft';\nexport type FillingDirection = 'clockwise' | 'counterclockwise';\n\nlet statusIndicatorId = 0;\n\nexport class Point {\n /** @hidden */\n constructor(\n public x: number,\n public y: number\n ) {}\n}\n\n@Component({\n selector: 'fd-status-indicator',\n templateUrl: './status-indicator.component.html',\n styleUrl: './status-indicator.component.scss',\n host: {\n '[class]': '_cssClass()',\n '[attr.aria-label]': 'ariaLabel()',\n '[attr.aria-roledescription]': 'ariaRoleDescription()',\n '[attr.focusable]': 'focusable()',\n '[attr.title]': 'title()',\n '[attr.role]': 'role()',\n '[attr.aria-valuetext]': 'ariaValueText()',\n '[attr.aria-valuenow]': 'fillPercentage() || 0',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': '100',\n '[attr.tabindex]': 'focusable() ? 0 : -1'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgTemplateOutlet]\n})\nexport class StatusIndicatorComponent implements AfterViewInit, HasElementRef {\n /**\n * value id defines the id of the object.\n */\n readonly id = input('fd-status-indicator-' + ++statusIndicatorId);\n\n /**\n * defines the size of the status indicator.\n * Can be one of the following: 'sm' | 'md' | 'lg' | 'xl'\n * Default size is Medium(md).\n */\n readonly size = input<StatusIndicatorSize>('md');\n\n /**\n * The status represented by the Status Indicator.\n * Can be one of the following: 'negative' | 'critical' | 'informative'\n * For default Object Status omit this property\n */\n readonly status = input<StatusIndicatorColor>();\n\n /** Define the text content of the Status indicator*/\n readonly statusLabel = input<string>();\n\n /**\n * positioning of the status indicator image within the defined height and width .\n */\n readonly viewBox = input<string>();\n\n /**\n * boolean value to be marked as clickable\n */\n readonly clickable = input(false);\n\n /**\n * defines the size of the status indicator.\n * Can be one of the following: 'sm' | 'md' | 'lg' | 'xl'\n */\n readonly labelSize = input<StatusIndicatorSize>('sm');\n\n /** Aria label for the Status Indicator. */\n readonly ariaLabel = input<string | null | undefined>();\n\n /** Aria defines role description for the Status Indicator. */\n readonly ariaRoleDescription = input<string | null | undefined>();\n\n /** Aria Focusable for the Status Indicator. */\n readonly focusable = input(false, { transform: booleanAttribute });\n\n /** Aria Role for the Status Indicator. */\n readonly role = input<string | null | undefined>();\n\n /** Aria Value Text for the Status Indicator. */\n readonly ariaValueText = input<string | null | undefined>();\n\n /** Aria title for the status indicator. */\n readonly title = input<string | null | undefined>();\n\n /** defines the label position the value can be 'left' | 'right' | 'top' | 'bottom' */\n readonly labelPosition = input<LablePosition>();\n\n /** Path for the status indicator */\n readonly path = input<string[]>();\n\n /**\n * Offset value to be filled under the give percentatge value.\n */\n readonly fillPercentage = input<number>();\n\n /**\n * value to define fill direction\n */\n readonly fillDirection = input<FillingDirection>('clockwise');\n\n /**\n * FillingType to represent the fill pattern of the component\n */\n readonly fillingType = input<FillingType>('lineardown');\n\n /** represent the degree of angle to project the filling of the component */\n readonly angle = input<number>();\n\n /** @hidden */\n readonly elementRef = inject(ElementRef<HTMLElement>);\n\n /** @hidden */\n protected readonly binaryString = signal<string>('');\n /** @hidden */\n protected readonly x1 = signal<string>('');\n /** @hidden */\n protected readonly y1 = signal<string>('');\n /** @hidden */\n protected readonly x2 = signal<string>('');\n /** @hidden */\n protected readonly y2 = signal<string>('');\n /** @hidden */\n protected readonly pointsArray = signal<string[]>([]);\n\n /** @hidden Computed fill calculator based on percentage and path length */\n protected readonly fillCalculator = computed(() => {\n const percentage = this.fillPercentage();\n const pathLength = this.path()?.length || 0;\n\n if (percentage === undefined || percentage < 0) {\n return 0;\n }\n return (percentage * pathLength) / 100;\n });\n\n /** @hidden Computed CSS class */\n protected readonly _cssClass = computed(() =>\n [\n 'fd-status-indicator',\n this.size() ? `fd-status-indicator--${this.size()}` : '',\n this.status() ? `fd-status-indicator--${this.status()}` : '',\n this.clickable() ? 'fd-status-indicator--link' : '',\n this.labelPosition() === 'right' || this.labelPosition() === 'left'\n ? 'fd-status-indicator--horizontal-label'\n : ''\n ]\n .filter(Boolean)\n .join(' ')\n );\n\n protected readonly labelCssClass = computed(() =>\n [\n 'fd-status-indicator__label',\n this.labelSize() ? `fd-status-indicator__label--${this.labelSize()}` : '',\n this.labelPosition() ? `fd-status-indicator__label--${this.labelPosition()}` : ''\n ]\n .filter(Boolean)\n .join(' ')\n );\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._angleCalculation();\n }\n\n /** @hidden */\n private _angleCalculation(): void {\n let sPointsAttributeValue: Array<Point>;\n let polygonPoints: string;\n const fillType = this.fillingType();\n\n switch (fillType) {\n case 'angled': {\n const angleValue = this.angle();\n if (angleValue !== undefined) {\n const binaryStr = this._convertAngleToBinary(angleValue);\n this.binaryString.set(binaryStr);\n this._assignBinaryValue(binaryStr);\n }\n break;\n }\n case 'radial': {\n const tempPercent = this.fillCalculator() % 1;\n const fillNumber = Number(tempPercent.toFixed(2));\n const element = this.elementRef.nativeElement.querySelectorAll('svg');\n const points: string[] = [];\n\n for (let i = 1; i < element.length; i++) {\n sPointsAttributeValue = this._getPolygonPointsForCircularFilling(\n fillNumber * 100,\n element[i].getBBox()\n );\n polygonPoints = sPointsAttributeValue.reduce((acc, item) => acc + item.x + ',' + item.y + ' ', '');\n points.push(polygonPoints);\n }\n this.pointsArray.set(points);\n break;\n }\n case 'linearup': {\n const binaryStr = this._convertAngleToBinary(90);\n this.binaryString.set(binaryStr);\n this._assignBinaryValue(binaryStr);\n break;\n }\n case 'lineardown': {\n const binaryStr = this._convertAngleToBinary(270);\n this.binaryString.set(binaryStr);\n this._assignBinaryValue(binaryStr);\n break;\n }\n case 'linearleft': {\n const binaryStr = this._convertAngleToBinary(180);\n this.binaryString.set(binaryStr);\n this._assignBinaryValue(binaryStr);\n break;\n }\n default:\n throw new Error(`fdStatusIndicator: No fillType found for ${fillType}.`);\n }\n }\n\n /** @hidden */\n private _convertAngleToBinary(angle: number): string {\n if (angle > 0 && angle <= 45) {\n return '1,0,0,1';\n } else if (angle >= 45 && angle < 90) {\n return '0,0,0,1';\n } else if (angle >= 90 && angle < 135) {\n return '0,0,0,1';\n } else if (angle >= 135 && angle < 180) {\n return '0,0,1,1';\n } else if (angle >= 180 && angle < 225) {\n return '0,0,1,0';\n } else if (angle >= 225 && angle < 270) {\n return '0,1,1,0';\n } else if (angle >= 270 && angle < 315) {\n return '0,1,0,0';\n } else if (angle >= 315 && angle < 360) {\n return '1,1,0,0';\n } else if (angle === 0 || angle === 360) {\n return '1,0,0,0';\n } else {\n return 'invalid';\n }\n }\n\n /** @hidden */\n private _assignBinaryValue(binaryString: string): void {\n const binaryValue = binaryString.split(',');\n this.x1.set(binaryValue[0]);\n this.y1.set(binaryValue[1]);\n this.x2.set(binaryValue[2]);\n this.y2.set(binaryValue[3]);\n }\n\n /** @hidden */\n private _getPolygonPointsForCircularFilling(value: number, boundingBoxSvg: DOMRect): Array<Point> {\n const angle = 3.6 * value;\n const points: Point[] = [];\n let xDifferenceFromBoundaryCentre: number;\n let yDifferenceFromBoundaryCentre: number;\n let polygonPoint: Point;\n\n // starts at 12, the algorithm computes the coordination for clockwise direction only\n // counter clockwise direction is managed by symmetry\n const oStartPoint = new Point(boundingBoxSvg.x + boundingBoxSvg.width / 2, boundingBoxSvg.y);\n const oCentrePoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width / 2,\n boundingBoxSvg.y + boundingBoxSvg.height / 2\n );\n\n // Reflects x coordinate by centre point for Counter Clockwise type\n const _adjustIfCounterClockwise = (oPoint: Point): Point => {\n const res = Object.assign({}, oPoint);\n\n if (this.fillDirection() === 'counterclockwise') {\n const iXDistanceFromCentre = oPoint.x - oCentrePoint.x;\n res.x = oCentrePoint.x - iXDistanceFromCentre;\n }\n\n return res;\n };\n\n // Boundary centre is given by angle distance from the beginning (0°). The returned difference is related\n // to x or y coordinate depending on boundary centre angle (e.g. 0° -> x, 90° -> y, 180° -> x 270° -> y).\n // Boundary length is length of the corresponding side of bounding box (width for x, height for y).\n const computeDifferenceFromBoundaryCentre = (\n inAngle: number,\n iBoundaryCentreAngle: number,\n iBoundaryLength: number\n ): number => {\n const tan = Math.tan(((iBoundaryCentreAngle - inAngle) * Math.PI) / 180);\n\n return (tan * iBoundaryLength) / 2;\n };\n\n points.push(oStartPoint);\n\n if (0 < angle && angle < 45) {\n xDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 0, boundingBoxSvg.height);\n polygonPoint = new Point(oStartPoint.x - xDifferenceFromBoundaryCentre, oStartPoint.y);\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (45 <= angle) {\n points.push(\n _adjustIfCounterClockwise(new Point(boundingBoxSvg.x + boundingBoxSvg.width, boundingBoxSvg.y))\n );\n }\n\n if (45 < angle && angle < 135) {\n yDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 90, boundingBoxSvg.width);\n polygonPoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width,\n boundingBoxSvg.y + boundingBoxSvg.height / 2 - yDifferenceFromBoundaryCentre\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (135 <= angle) {\n points.push(\n _adjustIfCounterClockwise(\n new Point(boundingBoxSvg.x + boundingBoxSvg.width, boundingBoxSvg.y + boundingBoxSvg.height)\n )\n );\n }\n\n if (135 < angle && angle < 225) {\n xDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 180, boundingBoxSvg.height);\n polygonPoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width / 2 + xDifferenceFromBoundaryCentre,\n boundingBoxSvg.y + boundingBoxSvg.height\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (225 <= angle) {\n points.push(\n _adjustIfCounterClockwise(new Point(boundingBoxSvg.x, boundingBoxSvg.y + boundingBoxSvg.height))\n );\n }\n\n if (225 < angle && angle < 315) {\n yDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 270, boundingBoxSvg.width);\n polygonPoint = new Point(\n boundingBoxSvg.x,\n boundingBoxSvg.y + boundingBoxSvg.height / 2 + yDifferenceFromBoundaryCentre\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (315 <= angle) {\n points.push(_adjustIfCounterClockwise(new Point(boundingBoxSvg.x, boundingBoxSvg.y)));\n }\n\n if (315 < angle && angle <= 360) {\n xDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 360, boundingBoxSvg.height);\n polygonPoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width / 2 - xDifferenceFromBoundaryCentre,\n boundingBoxSvg.y\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n points.push(oCentrePoint);\n\n return points;\n }\n}\n","@if (labelPosition() === 'left' || labelPosition() === 'top') {\n <span [class]=\"labelCssClass()\">{{ statusLabel() }} </span>\n}\n<svg\n [attr.id]=\"id()\"\n data-sap-ui=\"__shape0-__box21-24\"\n version=\"1.1\"\n [attr.viewBox]=\"viewBox()\"\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n class=\"fd-status-indicator__svg\"\n>\n <ng-container [ngTemplateOutlet]=\"svgTemplate\"></ng-container>\n</svg>\n@if (labelPosition() === 'right' || labelPosition() === 'bottom') {\n <span [class]=\"labelCssClass()\">{{ statusLabel() }} </span>\n}\n<ng-template #svgTemplate>\n @for (path of path(); track path; let i = $index) {\n <svg\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n overflow=\"visible\"\n [attr.id]=\"id() + i\"\n data-sap-ui=\"id\"\n >\n <defs>\n @if (!(fillCalculator() - i > 0 && fillCalculator() - i < 1) || fillingType() !== 'radial') {\n <linearGradient\n id=\"{{ id() + i }}-gradient\"\n [attr.x1]=\"x1()\"\n [attr.y1]=\"y1()\"\n [attr.x2]=\"x2()\"\n [attr.y2]=\"y2()\"\n >\n <stop [attr.offset]=\"fillCalculator() - i\" stop-color=\"white\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator() - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n <stop [attr.offset]=\"fillCalculator() - i\" stop-color=\"transparent\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator() - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n </linearGradient>\n }\n <mask #maskTemplate id=\"{{ id() + i }}-mask\">\n @if (!(fillCalculator() - i > 0 && fillCalculator() - i < 1) || fillingType() !== 'radial') {\n <path\n id=\"{{ id() + i }}-mask-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"white\"\n attr.fill=\"url(#{{ id() + i }}-gradient)\"\n ></path>\n }\n @if (fillingType() === 'radial' && fillCalculator() - i > 0 && fillCalculator() - i < 1) {\n <polygon id=\"{{ id() + i }}-mask-shape\" fill=\"white\" [attr.points]=\"pointsArray()[i]\"></polygon>\n }\n </mask>\n </defs>\n <path\n id=\"{{ id() + i }}-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"#89919A\"\n attr.mask=\"url(#{{ id() + i }}-mask)\"\n ></path>\n <path\n id=\"{{ id() + i }}-shape-border\"\n [attr.d]=\"path\"\n stroke-width=\"0.25\"\n stroke=\"#89919A\"\n fill=\"transparent\"\n ></path>\n </svg>\n }\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { StatusIndicatorComponent } from './status-indicator.component';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [StatusIndicatorComponent],\n exports: [StatusIndicatorComponent]\n})\nexport class StatusIndicatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-status-indicator.mjs","sources":["../../../../libs/core/status-indicator/status-indicator.component.ts","../../../../libs/core/status-indicator/status-indicator.component.html","../../../../libs/core/status-indicator/status-indicator.module.ts","../../../../libs/core/status-indicator/fundamental-ngx-core-status-indicator.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n signal,\n ViewEncapsulation\n} from '@angular/core';\nimport { HasElementRef } from '@fundamental-ngx/cdk/utils';\n\nexport type StatusIndicatorSize = 'sm' | 'md' | 'lg' | 'xl';\nexport type StatusIndicatorColor = 'negative' | 'critical' | 'positive';\nexport type LablePosition = 'left' | 'right' | 'top' | 'bottom';\nexport type FillingType = 'radial' | 'angled' | 'linearup' | 'lineardown' | 'linearleft';\nexport type FillingDirection = 'clockwise' | 'counterclockwise';\n\nlet statusIndicatorId = 0;\n\nexport class Point {\n /** @hidden */\n constructor(\n public x: number,\n public y: number\n ) {}\n}\n\n@Component({\n selector: 'fd-status-indicator',\n templateUrl: './status-indicator.component.html',\n styleUrl: './status-indicator.component.scss',\n host: {\n '[class]': '_cssClass()',\n '[attr.aria-label]': 'ariaLabel()',\n '[attr.aria-roledescription]': 'ariaRoleDescription()',\n '[attr.focusable]': 'focusable()',\n '[attr.title]': 'title()',\n '[attr.role]': 'role()',\n '[attr.aria-valuetext]': 'ariaValueText()',\n '[attr.aria-valuenow]': 'fillPercentage() || 0',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': '100',\n '[attr.tabindex]': 'focusable() ? 0 : -1'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgTemplateOutlet]\n})\nexport class StatusIndicatorComponent implements AfterViewInit, HasElementRef {\n /**\n * value id defines the id of the object.\n */\n readonly id = input('fd-status-indicator-' + ++statusIndicatorId);\n\n /**\n * defines the size of the status indicator.\n * Can be one of the following: 'sm' | 'md' | 'lg' | 'xl'\n * Default size is Medium(md).\n */\n readonly size = input<StatusIndicatorSize>('md');\n\n /**\n * The status represented by the Status Indicator.\n * Can be one of the following: 'negative' | 'critical' | 'informative'\n * For default Object Status omit this property\n */\n readonly status = input<StatusIndicatorColor>();\n\n /** Define the text content of the Status indicator*/\n readonly statusLabel = input<string>();\n\n /**\n * positioning of the status indicator image within the defined height and width .\n */\n readonly viewBox = input<string>();\n\n /**\n * boolean value to be marked as clickable\n */\n readonly clickable = input(false);\n\n /**\n * defines the size of the status indicator.\n * Can be one of the following: 'sm' | 'md' | 'lg' | 'xl'\n */\n readonly labelSize = input<StatusIndicatorSize>('sm');\n\n /** Aria label for the Status Indicator. */\n readonly ariaLabel = input<string | null | undefined>();\n\n /** Aria defines role description for the Status Indicator. */\n readonly ariaRoleDescription = input<string | null | undefined>();\n\n /** Aria Focusable for the Status Indicator. */\n readonly focusable = input(false, { transform: booleanAttribute });\n\n /** Aria Role for the Status Indicator. */\n readonly role = input<string | null | undefined>();\n\n /** Aria Value Text for the Status Indicator. */\n readonly ariaValueText = input<string | null | undefined>();\n\n /** Aria title for the status indicator. */\n readonly title = input<string | null | undefined>();\n\n /** defines the label position the value can be 'left' | 'right' | 'top' | 'bottom' */\n readonly labelPosition = input<LablePosition>();\n\n /** Path for the status indicator */\n readonly path = input<string[]>();\n\n /**\n * Offset value to be filled under the give percentatge value.\n */\n readonly fillPercentage = input<number>();\n\n /**\n * value to define fill direction\n */\n readonly fillDirection = input<FillingDirection>('clockwise');\n\n /**\n * FillingType to represent the fill pattern of the component\n */\n readonly fillingType = input<FillingType>('lineardown');\n\n /** represent the degree of angle to project the filling of the component */\n readonly angle = input<number>();\n\n /** @hidden */\n readonly elementRef = inject(ElementRef<HTMLElement>);\n\n /** @hidden */\n protected readonly binaryString = signal<string>('');\n /** @hidden */\n protected readonly x1 = signal<string>('');\n /** @hidden */\n protected readonly y1 = signal<string>('');\n /** @hidden */\n protected readonly x2 = signal<string>('');\n /** @hidden */\n protected readonly y2 = signal<string>('');\n /** @hidden */\n protected readonly pointsArray = signal<string[]>([]);\n\n /** @hidden Computed fill calculator based on percentage and path length */\n protected readonly fillCalculator = computed(() => {\n const percentage = this.fillPercentage();\n const pathLength = this.path()?.length || 0;\n\n if (percentage === undefined || percentage < 0) {\n return 0;\n }\n return (percentage * pathLength) / 100;\n });\n\n /** @hidden Computed CSS class */\n protected readonly _cssClass = computed(() =>\n [\n 'fd-status-indicator',\n this.size() ? `fd-status-indicator--${this.size()}` : '',\n this.status() ? `fd-status-indicator--${this.status()}` : '',\n this.clickable() ? 'fd-status-indicator--link' : '',\n this.labelPosition() === 'right' || this.labelPosition() === 'left'\n ? 'fd-status-indicator--horizontal-label'\n : ''\n ]\n .filter(Boolean)\n .join(' ')\n );\n\n protected readonly labelCssClass = computed(() =>\n [\n 'fd-status-indicator__label',\n this.labelSize() ? `fd-status-indicator__label--${this.labelSize()}` : '',\n this.labelPosition() ? `fd-status-indicator__label--${this.labelPosition()}` : ''\n ]\n .filter(Boolean)\n .join(' ')\n );\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._angleCalculation();\n }\n\n /** @hidden */\n private _angleCalculation(): void {\n let sPointsAttributeValue: Array<Point>;\n let polygonPoints: string;\n const fillType = this.fillingType();\n\n switch (fillType) {\n case 'angled': {\n const angleValue = this.angle();\n if (angleValue !== undefined) {\n const binaryStr = this._convertAngleToBinary(angleValue);\n this.binaryString.set(binaryStr);\n this._assignBinaryValue(binaryStr);\n }\n break;\n }\n case 'radial': {\n const tempPercent = this.fillCalculator() % 1;\n const fillNumber = Number(tempPercent.toFixed(2));\n const element = this.elementRef.nativeElement.querySelectorAll('svg');\n const points: string[] = [];\n\n for (let i = 1; i < element.length; i++) {\n sPointsAttributeValue = this._getPolygonPointsForCircularFilling(\n fillNumber * 100,\n element[i].getBBox()\n );\n polygonPoints = sPointsAttributeValue.reduce((acc, item) => acc + item.x + ',' + item.y + ' ', '');\n points.push(polygonPoints);\n }\n this.pointsArray.set(points);\n break;\n }\n case 'linearup': {\n const binaryStr = this._convertAngleToBinary(90);\n this.binaryString.set(binaryStr);\n this._assignBinaryValue(binaryStr);\n break;\n }\n case 'lineardown': {\n const binaryStr = this._convertAngleToBinary(270);\n this.binaryString.set(binaryStr);\n this._assignBinaryValue(binaryStr);\n break;\n }\n case 'linearleft': {\n const binaryStr = this._convertAngleToBinary(180);\n this.binaryString.set(binaryStr);\n this._assignBinaryValue(binaryStr);\n break;\n }\n default:\n throw new Error(`fdStatusIndicator: No fillType found for ${fillType}.`);\n }\n }\n\n /** @hidden */\n private _convertAngleToBinary(angle: number): string {\n if (angle > 0 && angle <= 45) {\n return '1,0,0,1';\n } else if (angle >= 45 && angle < 90) {\n return '0,0,0,1';\n } else if (angle >= 90 && angle < 135) {\n return '0,0,0,1';\n } else if (angle >= 135 && angle < 180) {\n return '0,0,1,1';\n } else if (angle >= 180 && angle < 225) {\n return '0,0,1,0';\n } else if (angle >= 225 && angle < 270) {\n return '0,1,1,0';\n } else if (angle >= 270 && angle < 315) {\n return '0,1,0,0';\n } else if (angle >= 315 && angle < 360) {\n return '1,1,0,0';\n } else if (angle === 0 || angle === 360) {\n return '1,0,0,0';\n } else {\n return 'invalid';\n }\n }\n\n /** @hidden */\n private _assignBinaryValue(binaryString: string): void {\n const binaryValue = binaryString.split(',');\n this.x1.set(binaryValue[0]);\n this.y1.set(binaryValue[1]);\n this.x2.set(binaryValue[2]);\n this.y2.set(binaryValue[3]);\n }\n\n /** @hidden */\n private _getPolygonPointsForCircularFilling(value: number, boundingBoxSvg: DOMRect): Array<Point> {\n const angle = 3.6 * value;\n const points: Point[] = [];\n let xDifferenceFromBoundaryCentre: number;\n let yDifferenceFromBoundaryCentre: number;\n let polygonPoint: Point;\n\n // starts at 12, the algorithm computes the coordination for clockwise direction only\n // counter clockwise direction is managed by symmetry\n const oStartPoint = new Point(boundingBoxSvg.x + boundingBoxSvg.width / 2, boundingBoxSvg.y);\n const oCentrePoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width / 2,\n boundingBoxSvg.y + boundingBoxSvg.height / 2\n );\n\n // Reflects x coordinate by centre point for Counter Clockwise type\n const _adjustIfCounterClockwise = (oPoint: Point): Point => {\n const res = Object.assign({}, oPoint);\n\n if (this.fillDirection() === 'counterclockwise') {\n const iXDistanceFromCentre = oPoint.x - oCentrePoint.x;\n res.x = oCentrePoint.x - iXDistanceFromCentre;\n }\n\n return res;\n };\n\n // Boundary centre is given by angle distance from the beginning (0°). The returned difference is related\n // to x or y coordinate depending on boundary centre angle (e.g. 0° -> x, 90° -> y, 180° -> x 270° -> y).\n // Boundary length is length of the corresponding side of bounding box (width for x, height for y).\n const computeDifferenceFromBoundaryCentre = (\n inAngle: number,\n iBoundaryCentreAngle: number,\n iBoundaryLength: number\n ): number => {\n const tan = Math.tan(((iBoundaryCentreAngle - inAngle) * Math.PI) / 180);\n\n return (tan * iBoundaryLength) / 2;\n };\n\n points.push(oStartPoint);\n\n if (0 < angle && angle < 45) {\n xDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 0, boundingBoxSvg.height);\n polygonPoint = new Point(oStartPoint.x - xDifferenceFromBoundaryCentre, oStartPoint.y);\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (45 <= angle) {\n points.push(\n _adjustIfCounterClockwise(new Point(boundingBoxSvg.x + boundingBoxSvg.width, boundingBoxSvg.y))\n );\n }\n\n if (45 < angle && angle < 135) {\n yDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 90, boundingBoxSvg.width);\n polygonPoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width,\n boundingBoxSvg.y + boundingBoxSvg.height / 2 - yDifferenceFromBoundaryCentre\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (135 <= angle) {\n points.push(\n _adjustIfCounterClockwise(\n new Point(boundingBoxSvg.x + boundingBoxSvg.width, boundingBoxSvg.y + boundingBoxSvg.height)\n )\n );\n }\n\n if (135 < angle && angle < 225) {\n xDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 180, boundingBoxSvg.height);\n polygonPoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width / 2 + xDifferenceFromBoundaryCentre,\n boundingBoxSvg.y + boundingBoxSvg.height\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (225 <= angle) {\n points.push(\n _adjustIfCounterClockwise(new Point(boundingBoxSvg.x, boundingBoxSvg.y + boundingBoxSvg.height))\n );\n }\n\n if (225 < angle && angle < 315) {\n yDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 270, boundingBoxSvg.width);\n polygonPoint = new Point(\n boundingBoxSvg.x,\n boundingBoxSvg.y + boundingBoxSvg.height / 2 + yDifferenceFromBoundaryCentre\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (315 <= angle) {\n points.push(_adjustIfCounterClockwise(new Point(boundingBoxSvg.x, boundingBoxSvg.y)));\n }\n\n if (315 < angle && angle <= 360) {\n xDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 360, boundingBoxSvg.height);\n polygonPoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width / 2 - xDifferenceFromBoundaryCentre,\n boundingBoxSvg.y\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n points.push(oCentrePoint);\n\n return points;\n }\n}\n","@if (labelPosition() === 'left' || labelPosition() === 'top') {\n <span [class]=\"labelCssClass()\">{{ statusLabel() }} </span>\n}\n<svg\n [attr.id]=\"id()\"\n data-sap-ui=\"__shape0-__box21-24\"\n version=\"1.1\"\n [attr.viewBox]=\"viewBox()\"\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n class=\"fd-status-indicator__svg\"\n>\n <ng-container [ngTemplateOutlet]=\"svgTemplate\"></ng-container>\n</svg>\n@if (labelPosition() === 'right' || labelPosition() === 'bottom') {\n <span [class]=\"labelCssClass()\">{{ statusLabel() }} </span>\n}\n<ng-template #svgTemplate>\n @for (path of path(); track path; let i = $index) {\n <svg\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n overflow=\"visible\"\n [attr.id]=\"id() + i\"\n data-sap-ui=\"id\"\n >\n <defs>\n @if (!(fillCalculator() - i > 0 && fillCalculator() - i < 1) || fillingType() !== 'radial') {\n <linearGradient\n id=\"{{ id() + i }}-gradient\"\n [attr.x1]=\"x1()\"\n [attr.y1]=\"y1()\"\n [attr.x2]=\"x2()\"\n [attr.y2]=\"y2()\"\n >\n <stop [attr.offset]=\"fillCalculator() - i\" stop-color=\"white\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator() - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n <stop [attr.offset]=\"fillCalculator() - i\" stop-color=\"transparent\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator() - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n </linearGradient>\n }\n <mask #maskTemplate id=\"{{ id() + i }}-mask\">\n @if (!(fillCalculator() - i > 0 && fillCalculator() - i < 1) || fillingType() !== 'radial') {\n <path\n id=\"{{ id() + i }}-mask-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"white\"\n attr.fill=\"url(#{{ id() + i }}-gradient)\"\n ></path>\n }\n @if (fillingType() === 'radial' && fillCalculator() - i > 0 && fillCalculator() - i < 1) {\n <polygon id=\"{{ id() + i }}-mask-shape\" fill=\"white\" [attr.points]=\"pointsArray()[i]\"></polygon>\n }\n </mask>\n </defs>\n <path\n id=\"{{ id() + i }}-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"#89919A\"\n attr.mask=\"url(#{{ id() + i }}-mask)\"\n ></path>\n <path\n id=\"{{ id() + i }}-shape-border\"\n [attr.d]=\"path\"\n stroke-width=\"0.25\"\n stroke=\"#89919A\"\n fill=\"transparent\"\n ></path>\n </svg>\n }\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { StatusIndicatorComponent } from './status-indicator.component';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [StatusIndicatorComponent],\n exports: [StatusIndicatorComponent]\n})\nexport class StatusIndicatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}