@fundamental-ngx/core 0.63.2-rc.5 → 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
@@ -7,10 +7,10 @@ import { DomSanitizer } from '@angular/platform-browser';
7
7
  * Typically contains buttons or links for user actions.
8
8
  */
9
9
  class IllustratedMessageActionsComponent {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: IllustratedMessageActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: IllustratedMessageActionsComponent, isStandalone: true, selector: "fd-illustrated-message-actions", host: { classAttribute: "fd-illustrated-message__actions" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: IllustratedMessageActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: IllustratedMessageActionsComponent, isStandalone: true, selector: "fd-illustrated-message-actions", host: { classAttribute: "fd-illustrated-message__actions" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: IllustratedMessageActionsComponent, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: IllustratedMessageActionsComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{
16
16
  selector: 'fd-illustrated-message-actions',
@@ -27,13 +27,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
27
27
  * Contains title and text content slots.
28
28
  */
29
29
  class IllustratedMessageFigcaptionComponent {
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: IllustratedMessageFigcaptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: IllustratedMessageFigcaptionComponent, isStandalone: true, selector: "[fd-illustrated-message-figcaption]", host: { classAttribute: "fd-illustrated-message__figcaption" }, ngImport: i0, template: `
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: IllustratedMessageFigcaptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: IllustratedMessageFigcaptionComponent, isStandalone: true, selector: "[fd-illustrated-message-figcaption]", host: { classAttribute: "fd-illustrated-message__figcaption" }, ngImport: i0, template: `
32
32
  <ng-content select="[fd-illustrated-message-title]"></ng-content>
33
33
  <ng-content select="[fd-illustrated-message-text]"></ng-content>
34
34
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: IllustratedMessageFigcaptionComponent, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: IllustratedMessageFigcaptionComponent, decorators: [{
37
37
  type: Component,
38
38
  args: [{
39
39
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -53,10 +53,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
53
53
  * Directive for the text/description element within an illustrated message figcaption.
54
54
  */
55
55
  class IllustratedMessageTextDirective {
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: IllustratedMessageTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
57
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: IllustratedMessageTextDirective, isStandalone: true, selector: "[fd-illustrated-message-text]", host: { classAttribute: "fd-illustrated-message__text" }, ngImport: i0 }); }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: IllustratedMessageTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
57
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: IllustratedMessageTextDirective, isStandalone: true, selector: "[fd-illustrated-message-text]", host: { classAttribute: "fd-illustrated-message__text" }, ngImport: i0 }); }
58
58
  }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: IllustratedMessageTextDirective, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: IllustratedMessageTextDirective, decorators: [{
60
60
  type: Directive,
61
61
  args: [{
62
62
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -71,10 +71,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
71
71
  * Directive for the title element within an illustrated message figcaption.
72
72
  */
73
73
  class IllustratedMessageTitleDirective {
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: IllustratedMessageTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
75
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: IllustratedMessageTitleDirective, isStandalone: true, selector: "[fd-illustrated-message-title]", host: { classAttribute: "fd-illustrated-message__title" }, ngImport: i0 }); }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: IllustratedMessageTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
75
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: IllustratedMessageTitleDirective, isStandalone: true, selector: "[fd-illustrated-message-title]", host: { classAttribute: "fd-illustrated-message__title" }, ngImport: i0 }); }
76
76
  }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: IllustratedMessageTitleDirective, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: IllustratedMessageTitleDirective, decorators: [{
78
78
  type: Directive,
79
79
  args: [{
80
80
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -133,23 +133,27 @@ class IllustratedMessageComponent {
133
133
  /**
134
134
  * Explicitly set the illustration type. If not provided, type is determined by container width.
135
135
  */
136
- this.type = input(...(ngDevMode ? [undefined, { debugName: "type" }] : []));
136
+ this.type = input(/* @ts-ignore */
137
+ ...(ngDevMode ? [undefined, { debugName: "type" }] : /* istanbul ignore next */ []));
137
138
  /**
138
139
  * Configuration for SVG illustrations at different sizes.
139
140
  */
140
- this.svgConfig = input(...(ngDevMode ? [undefined, { debugName: "svgConfig" }] : []));
141
+ this.svgConfig = input(/* @ts-ignore */
142
+ ...(ngDevMode ? [undefined, { debugName: "svgConfig" }] : /* istanbul ignore next */ []));
141
143
  /**
142
144
  * Accessible label for the SVG illustration.
143
145
  */
144
- this.svgAriaLabel = input(null, ...(ngDevMode ? [{ debugName: "svgAriaLabel" }] : []));
146
+ this.svgAriaLabel = input(null, /* @ts-ignore */
147
+ ...(ngDevMode ? [{ debugName: "svgAriaLabel" }] : /* istanbul ignore next */ []));
145
148
  /**
146
149
  * When true, hides the SVG illustration entirely.
147
150
  */
148
- this.noSvg = input(false, { ...(ngDevMode ? { debugName: "noSvg" } : {}), transform: booleanAttribute });
151
+ this.noSvg = input(false, { ...(ngDevMode ? { debugName: "noSvg" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
149
152
  /**
150
153
  * Unique identifier for the illustrated message component.
151
154
  */
152
- this.id = input(`fd-illustrated-message-${++illustratedMessageUniqueId}`, ...(ngDevMode ? [{ debugName: "id" }] : []));
155
+ this.id = input(`fd-illustrated-message-${++illustratedMessageUniqueId}`, /* @ts-ignore */
156
+ ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
153
157
  /**
154
158
  * Reference to the host element.
155
159
  */
@@ -158,7 +162,8 @@ class IllustratedMessageComponent {
158
162
  * Signal tracking container width for responsive behavior.
159
163
  * @hidden
160
164
  */
161
- this.containerWidth = signal(0, ...(ngDevMode ? [{ debugName: "containerWidth" }] : []));
165
+ this.containerWidth = signal(0, /* @ts-ignore */
166
+ ...(ngDevMode ? [{ debugName: "containerWidth" }] : /* istanbul ignore next */ []));
162
167
  /**
163
168
  * Normalized illustration type from explicit input or legacy names.
164
169
  * @hidden
@@ -166,12 +171,14 @@ class IllustratedMessageComponent {
166
171
  this.normalizedInputType = computed(() => {
167
172
  const explicitType = this.type();
168
173
  return explicitType ? this._normalizeType(explicitType) : undefined;
169
- }, ...(ngDevMode ? [{ debugName: "normalizedInputType" }] : []));
174
+ }, /* @ts-ignore */
175
+ ...(ngDevMode ? [{ debugName: "normalizedInputType" }] : /* istanbul ignore next */ []));
170
176
  /**
171
177
  * Current illustration type based on explicit type or container width.
172
178
  * @hidden
173
179
  */
174
- this.currentType = computed(() => this.normalizedInputType() || this._determineTypeByWidth(this.containerWidth()), ...(ngDevMode ? [{ debugName: "currentType" }] : []));
180
+ this.currentType = computed(() => this.normalizedInputType() || this._determineTypeByWidth(this.containerWidth()), /* @ts-ignore */
181
+ ...(ngDevMode ? [{ debugName: "currentType" }] : /* istanbul ignore next */ []));
175
182
  /**
176
183
  * Normalized SVG configuration with legacy keys mapped to modern keys.
177
184
  * @hidden
@@ -179,7 +186,8 @@ class IllustratedMessageComponent {
179
186
  this.normalizedConfig = computed(() => {
180
187
  const config = this.svgConfig();
181
188
  return config ? this._normalizeSvgConfig(config) : null;
182
- }, ...(ngDevMode ? [{ debugName: "normalizedConfig" }] : []));
189
+ }, /* @ts-ignore */
190
+ ...(ngDevMode ? [{ debugName: "normalizedConfig" }] : /* istanbul ignore next */ []));
183
191
  /**
184
192
  * Inline SVG content for the current type.
185
193
  * @hidden
@@ -189,7 +197,8 @@ class IllustratedMessageComponent {
189
197
  const type = this.currentType();
190
198
  const inlineSvg = config?.[type]?.file;
191
199
  return inlineSvg ? this._sanitizer.bypassSecurityTrustHtml(inlineSvg) : undefined;
192
- }, ...(ngDevMode ? [{ debugName: "inlineSvg" }] : []));
200
+ }, /* @ts-ignore */
201
+ ...(ngDevMode ? [{ debugName: "inlineSvg" }] : /* istanbul ignore next */ []));
193
202
  /**
194
203
  * SVG href attribute for the current type.
195
204
  * @hidden
@@ -200,7 +209,8 @@ class IllustratedMessageComponent {
200
209
  return '';
201
210
  }
202
211
  return this._getHrefByType(this.currentType(), config);
203
- }, ...(ngDevMode ? [{ debugName: "href" }] : []));
212
+ }, /* @ts-ignore */
213
+ ...(ngDevMode ? [{ debugName: "href" }] : /* istanbul ignore next */ []));
204
214
  /**
205
215
  * Computed CSS class string for the component.
206
216
  * @hidden
@@ -212,7 +222,8 @@ class IllustratedMessageComponent {
212
222
  classes.push(`fd-illustrated-message--${currentTypeValue}`);
213
223
  }
214
224
  return classes.join(' ');
215
- }, ...(ngDevMode ? [{ debugName: "cssClass" }] : []));
225
+ }, /* @ts-ignore */
226
+ ...(ngDevMode ? [{ debugName: "cssClass" }] : /* istanbul ignore next */ []));
216
227
  /** @hidden */
217
228
  this._sanitizer = inject(DomSanitizer);
218
229
  /** @hidden */
@@ -311,10 +322,10 @@ class IllustratedMessageComponent {
311
322
  return '';
312
323
  }
313
324
  }
314
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: IllustratedMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
315
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: IllustratedMessageComponent, isStandalone: true, selector: "[fd-illustrated-message]", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, svgConfig: { classPropertyName: "svgConfig", publicName: "svgConfig", isSignal: true, isRequired: false, transformFunction: null }, svgAriaLabel: { classPropertyName: "svgAriaLabel", publicName: "svgAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, noSvg: { classPropertyName: "noSvg", publicName: "noSvg", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id()", "class": "cssClass()" } }, ngImport: i0, template: "<div class=\"fd-illustrated-message__container\">\n @if (!noSvg()) {\n <svg\n class=\"fd-illustrated-message__illustration\"\n [attr.aria-label]=\"svgAriaLabel()\"\n preserveAspectRatio=\"xMidYMid meet\"\n >\n <use [attr.href]=\"href()\"></use>\n </svg>\n }\n @if (inlineSvg()) {\n <div [style.display]=\"'none'\" [innerHTML]=\"inlineSvg()\"></div>\n }\n <ng-content select=\"[fd-illustrated-message-figcaption]\"></ng-content>\n</div>\n<ng-content select=\"fd-illustrated-message-actions\"></ng-content>\n", styles: [".fd-illustrated-message{--illustratedMessagePadding: 1rem;--actionsMarginBlockStart: .5rem;--illustrationMaxWidth: 20rem;--illustrationMaxHeight: 15rem;--illustrationMarginBlock: 1rem;--illustrationDisplay: flex;--figcaptionMaxWidth: 40.625rem;--titleFontSize: 2rem;--titleMarginBottom: 1rem;--textFontSize: var(--sapFontLargeSize);font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-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;width:100%;text-align:center;padding-block:var(--illustratedMessagePadding);padding-inline:var(--illustratedMessagePadding)}.fd-illustrated-message:before,.fd-illustrated-message:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message-responsive-container{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;min-height:100%;height:100%;container-type:inline-size}.fd-illustrated-message-responsive-container:before,.fd-illustrated-message-responsive-container:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__container{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;flex-direction:column;-webkit-box-align:var(--containerFlexAlignment, center);-ms-flex-align:var(--containerFlexAlignment, center);align-items:var(--containerFlexAlignment, center)}.fd-illustrated-message__container:before,.fd-illustrated-message__container:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__illustration{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:var(--illustrationDisplay);width:var(--illustrationMaxWidth);height:var(--illustrationMaxHeight);max-width:var(--illustrationMaxWidth);max-height:var(--illustrationMaxHeight);-webkit-margin-after:var(--illustrationMarginBlock);margin-block-end:var(--illustrationMarginBlock)}.fd-illustrated-message__illustration:before,.fd-illustrated-message__illustration:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__figcaption{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-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;overflow:hidden;max-width:var(--figcaptionMaxWidth)}.fd-illustrated-message__figcaption:before,.fd-illustrated-message__figcaption:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__title{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;width:100%;text-align:center;font-size:var(--titleFontSize);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontBoldFamily);-webkit-margin-after:var(--titleMarginBottom);margin-block-end:var(--titleMarginBottom)}.fd-illustrated-message__title:before,.fd-illustrated-message__title:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__text{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;text-wrap:wrap;text-align:center;font-size:var(--textFontSize)}.fd-illustrated-message__text:before,.fd-illustrated-message__text:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__actions{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem;-webkit-margin-before:var(--actionsMarginBlockStart);margin-block-start:var(--actionsMarginBlockStart)}.fd-illustrated-message__actions:before,.fd-illustrated-message__actions:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message--dialog,.fd-illustrated-message--medium{--illustrationMaxWidth: 10rem;--illustrationMaxHeight: 10rem;--illustrationMarginBlock: .5rem;--titleFontSize: 1.5rem;--titleMarginBottom: .5rem;--textFontSize: var(--sapFontSize);--figcaptionMaxWidth: 19.938rem;--actionsMarginBlockStart: .5rem}.fd-illustrated-message--spot,.fd-illustrated-message--small{--illustratedMessagePadding: .5rem;--illustrationMaxWidth: 8rem;--illustrationMaxHeight: 8rem;--illustrationMarginBlock: .5rem;--titleMarginBottom: .5rem;--titleFontSize: 1.25rem;--textFontSize: var(--sapFontSize);--figcaptionMaxWidth: 10.938rem;--actionsMarginBlockStart: .5rem}.fd-illustrated-message--dot,.fd-illustrated-message--xsmall{--illustratedMessagePadding: .25rem;--illustrationMaxWidth: 2.8125rem;--illustrationMaxHeight: 2.8125rem;--illustrationMarginBlock: .25rem;--figcaptionMaxWidth: 8.438rem;--titleMarginBottom: .25rem;--titleFontSize: 1rem;--textFontSize: var(--sapFontSize);--actionsMarginBlockStart: .25rem}.fd-illustrated-message--base{--illustratedMessagePadding: .25rem;--illustrationDisplay: none;--figcaptionMaxWidth: 8.375rem;--titleMarginBottom: .25rem;--titleFontSize: 1rem;--textFontSize: var(--sapFontSize);--actionsMarginBlockStart: .25rem}@container (width < 22rem){.fd-illustrated-message{--illustrationMaxWidth: 10rem;--illustrationMaxHeight: 10rem;--illustrationMarginBlock: .5rem;--titleFontSize: 1.5rem;--titleMarginBottom: .5rem;--textFontSize: var(--sapFontSize);--figcaptionMaxWidth: 19.938rem;--actionsMarginBlockStart: .5rem}}@container (width < 21.938rem){.fd-illustrated-message{--illustratedMessagePadding: .5rem;--illustrationMaxWidth: 8rem;--illustrationMaxHeight: 8rem;--illustrationMarginBlock: .5rem;--titleMarginBottom: .5rem;--titleFontSize: 1.25rem;--textFontSize: var(--sapFontSize);--figcaptionMaxWidth: 10.938rem;--actionsMarginBlockStart: .5rem}}@container (width < 11.938rem){.fd-illustrated-message{--illustratedMessagePadding: .25rem;--illustrationMaxWidth: 2.8125rem;--illustrationMaxHeight: 2.8125rem;--illustrationMarginBlock: .25rem;--figcaptionMaxWidth: 8.438rem;--titleMarginBottom: .25rem;--titleFontSize: 1rem;--textFontSize: var(--sapFontSize);--actionsMarginBlockStart: .25rem}}@container (width < 8.938rem){.fd-illustrated-message{--illustratedMessagePadding: .25rem;--illustrationDisplay: none;--figcaptionMaxWidth: 8.375rem;--titleMarginBottom: .25rem;--titleFontSize: 1rem;--textFontSize: var(--sapFontSize);--actionsMarginBlockStart: .25rem}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
325
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: IllustratedMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
326
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: IllustratedMessageComponent, isStandalone: true, selector: "[fd-illustrated-message]", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, svgConfig: { classPropertyName: "svgConfig", publicName: "svgConfig", isSignal: true, isRequired: false, transformFunction: null }, svgAriaLabel: { classPropertyName: "svgAriaLabel", publicName: "svgAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, noSvg: { classPropertyName: "noSvg", publicName: "noSvg", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id()", "class": "cssClass()" } }, ngImport: i0, template: "<div class=\"fd-illustrated-message__container\">\n @if (!noSvg()) {\n <svg\n class=\"fd-illustrated-message__illustration\"\n [attr.aria-label]=\"svgAriaLabel()\"\n preserveAspectRatio=\"xMidYMid meet\"\n >\n <use [attr.href]=\"href()\"></use>\n </svg>\n }\n @if (inlineSvg()) {\n <div [style.display]=\"'none'\" [innerHTML]=\"inlineSvg()\"></div>\n }\n <ng-content select=\"[fd-illustrated-message-figcaption]\"></ng-content>\n</div>\n<ng-content select=\"fd-illustrated-message-actions\"></ng-content>\n", styles: [".fd-illustrated-message{--illustratedMessagePadding: 1rem;--actionsMarginBlockStart: .5rem;--illustrationMaxWidth: 20rem;--illustrationMaxHeight: 15rem;--illustrationMarginBlock: 1rem;--illustrationDisplay: flex;--figcaptionMaxWidth: 40.625rem;--titleFontSize: 2rem;--titleMarginBottom: 1rem;--textFontSize: var(--sapFontLargeSize);font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-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;width:100%;text-align:center;padding-block:var(--illustratedMessagePadding);padding-inline:var(--illustratedMessagePadding)}.fd-illustrated-message:before,.fd-illustrated-message:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message-responsive-container{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;min-height:100%;height:100%;container-type:inline-size}.fd-illustrated-message-responsive-container:before,.fd-illustrated-message-responsive-container:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__container{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;flex-direction:column;-webkit-box-align:var(--containerFlexAlignment, center);-ms-flex-align:var(--containerFlexAlignment, center);align-items:var(--containerFlexAlignment, center)}.fd-illustrated-message__container:before,.fd-illustrated-message__container:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__illustration{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:var(--illustrationDisplay);width:var(--illustrationMaxWidth);height:var(--illustrationMaxHeight);max-width:var(--illustrationMaxWidth);max-height:var(--illustrationMaxHeight);-webkit-margin-after:var(--illustrationMarginBlock);margin-block-end:var(--illustrationMarginBlock)}.fd-illustrated-message__illustration:before,.fd-illustrated-message__illustration:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__figcaption{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-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;overflow:hidden;max-width:var(--figcaptionMaxWidth)}.fd-illustrated-message__figcaption:before,.fd-illustrated-message__figcaption:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__title{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;width:100%;text-align:center;font-size:var(--titleFontSize);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontBoldFamily);-webkit-margin-after:var(--titleMarginBottom);margin-block-end:var(--titleMarginBottom)}.fd-illustrated-message__title:before,.fd-illustrated-message__title:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__text{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;text-wrap:wrap;text-align:center;font-size:var(--textFontSize)}.fd-illustrated-message__text:before,.fd-illustrated-message__text:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__actions{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem;-webkit-margin-before:var(--actionsMarginBlockStart);margin-block-start:var(--actionsMarginBlockStart)}.fd-illustrated-message__actions:before,.fd-illustrated-message__actions:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message--dialog,.fd-illustrated-message--medium{--illustrationMaxWidth: 10rem;--illustrationMaxHeight: 10rem;--illustrationMarginBlock: .5rem;--titleFontSize: 1.5rem;--titleMarginBottom: .5rem;--textFontSize: var(--sapFontSize);--figcaptionMaxWidth: 19.938rem;--actionsMarginBlockStart: .5rem}.fd-illustrated-message--spot,.fd-illustrated-message--small{--illustratedMessagePadding: .5rem;--illustrationMaxWidth: 8rem;--illustrationMaxHeight: 8rem;--illustrationMarginBlock: .5rem;--titleMarginBottom: .5rem;--titleFontSize: 1.25rem;--textFontSize: var(--sapFontSize);--figcaptionMaxWidth: 10.938rem;--actionsMarginBlockStart: .5rem}.fd-illustrated-message--dot,.fd-illustrated-message--xsmall{--illustratedMessagePadding: .25rem;--illustrationMaxWidth: 2.8125rem;--illustrationMaxHeight: 2.8125rem;--illustrationMarginBlock: .25rem;--figcaptionMaxWidth: 8.438rem;--titleMarginBottom: .25rem;--titleFontSize: 1rem;--textFontSize: var(--sapFontSize);--actionsMarginBlockStart: .25rem}.fd-illustrated-message--base{--illustratedMessagePadding: .25rem;--illustrationDisplay: none;--figcaptionMaxWidth: 8.375rem;--titleMarginBottom: .25rem;--titleFontSize: 1rem;--textFontSize: var(--sapFontSize);--actionsMarginBlockStart: .25rem}@container (width < 22rem){.fd-illustrated-message{--illustrationMaxWidth: 10rem;--illustrationMaxHeight: 10rem;--illustrationMarginBlock: .5rem;--titleFontSize: 1.5rem;--titleMarginBottom: .5rem;--textFontSize: var(--sapFontSize);--figcaptionMaxWidth: 19.938rem;--actionsMarginBlockStart: .5rem}}@container (width < 21.938rem){.fd-illustrated-message{--illustratedMessagePadding: .5rem;--illustrationMaxWidth: 8rem;--illustrationMaxHeight: 8rem;--illustrationMarginBlock: .5rem;--titleMarginBottom: .5rem;--titleFontSize: 1.25rem;--textFontSize: var(--sapFontSize);--figcaptionMaxWidth: 10.938rem;--actionsMarginBlockStart: .5rem}}@container (width < 11.938rem){.fd-illustrated-message{--illustratedMessagePadding: .25rem;--illustrationMaxWidth: 2.8125rem;--illustrationMaxHeight: 2.8125rem;--illustrationMarginBlock: .25rem;--figcaptionMaxWidth: 8.438rem;--titleMarginBottom: .25rem;--titleFontSize: 1rem;--textFontSize: var(--sapFontSize);--actionsMarginBlockStart: .25rem}}@container (width < 8.938rem){.fd-illustrated-message{--illustratedMessagePadding: .25rem;--illustrationDisplay: none;--figcaptionMaxWidth: 8.375rem;--titleMarginBottom: .25rem;--titleFontSize: 1rem;--textFontSize: var(--sapFontSize);--actionsMarginBlockStart: .25rem}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
316
327
  }
317
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: IllustratedMessageComponent, decorators: [{
328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: IllustratedMessageComponent, decorators: [{
318
329
  type: Component,
319
330
  args: [{ selector: '[fd-illustrated-message]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [], host: {
320
331
  '[attr.id]': 'id()',
@@ -334,8 +345,8 @@ const components = [
334
345
  * Use direct imports of components and directives.
335
346
  */
336
347
  class IllustratedMessageModule {
337
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: IllustratedMessageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
338
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.0", ngImport: i0, type: IllustratedMessageModule, imports: [IllustratedMessageComponent,
348
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: IllustratedMessageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
349
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: IllustratedMessageModule, imports: [IllustratedMessageComponent,
339
350
  IllustratedMessageActionsComponent,
340
351
  IllustratedMessageFigcaptionComponent,
341
352
  IllustratedMessageTextDirective,
@@ -344,9 +355,9 @@ class IllustratedMessageModule {
344
355
  IllustratedMessageFigcaptionComponent,
345
356
  IllustratedMessageTextDirective,
346
357
  IllustratedMessageTitleDirective] }); }
347
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: IllustratedMessageModule }); }
358
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: IllustratedMessageModule }); }
348
359
  }
349
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: IllustratedMessageModule, decorators: [{
360
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: IllustratedMessageModule, decorators: [{
350
361
  type: NgModule,
351
362
  args: [{
352
363
  imports: [...components],
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-illustrated-message.mjs","sources":["../../../../libs/core/illustrated-message/components/illustrated-message-actions/illustrated-message-actions.component.ts","../../../../libs/core/illustrated-message/components/illustrated-message-figcaption/illustrated-message-figcaption.component.ts","../../../../libs/core/illustrated-message/directives/illustrated-message-text/illustrated-message-text.directive.ts","../../../../libs/core/illustrated-message/directives/illustrated-message-title/illustrated-message-title.directive.ts","../../../../libs/core/illustrated-message/illustrated-message.component.ts","../../../../libs/core/illustrated-message/illustrated-message.component.html","../../../../libs/core/illustrated-message/illustrated-message.module.ts","../../../../libs/core/illustrated-message/fundamental-ngx-core-illustrated-message.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Component representing the actions section of an illustrated message.\n * Typically contains buttons or links for user actions.\n */\n@Component({\n selector: 'fd-illustrated-message-actions',\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-illustrated-message__actions'\n }\n})\nexport class IllustratedMessageActionsComponent {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Component representing the figcaption section of an illustrated message.\n * Contains title and text content slots.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-illustrated-message-figcaption]',\n template: `\n <ng-content select=\"[fd-illustrated-message-title]\"></ng-content>\n <ng-content select=\"[fd-illustrated-message-text]\"></ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-illustrated-message__figcaption'\n }\n})\nexport class IllustratedMessageFigcaptionComponent {}\n","import { Directive } from '@angular/core';\n\n/**\n * Directive for the text/description element within an illustrated message figcaption.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-illustrated-message-text]',\n host: {\n class: 'fd-illustrated-message__text'\n }\n})\nexport class IllustratedMessageTextDirective {}\n","import { Directive } from '@angular/core';\n\n/**\n * Directive for the title element within an illustrated message figcaption.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-illustrated-message-title]',\n host: {\n class: 'fd-illustrated-message__title'\n }\n})\nexport class IllustratedMessageTitleDirective {}\n","import {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n inject,\n input,\n signal,\n ViewEncapsulation\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { HasElementRef, RequireOnlyOne } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Configuration for an SVG item in the illustrated message.\n */\nexport interface SvgItemConfig {\n /** URL to the SVG sprite file */\n url: string;\n /** ID of the symbol within the SVG sprite */\n id: string;\n /** Inline SVG file content */\n file: string;\n}\n\n/**\n * Configuration for different SVG sizes in the illustrated message.\n * Supports both modern (large, medium, small, xsmall) and legacy (scene, dialog, spot, dot) naming.\n */\nexport interface SvgConfig {\n /** Configuration for large/scene size (>= 682px) */\n large?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n /** Configuration for medium/dialog size (361px - 681px) */\n medium?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n /** Configuration for small/spot size (261px - 360px) */\n small?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n /** Configuration for extra small/dot size (161px - 260px) */\n xsmall?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n\n /** @deprecated Use 'large' instead */\n scene?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n /** @deprecated Use 'medium' instead */\n dialog?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n /** @deprecated Use 'small' instead */\n spot?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n /** @deprecated Use 'xsmall' instead */\n dot?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n}\n\n/**\n * Type of illustrated message based on container width or explicit configuration.\n * Modern types: large, medium, small, xsmall, base\n * Legacy types: scene, dialog, spot, dot\n */\nexport type IllustratedMessageType =\n | 'large'\n | 'medium'\n | 'small'\n | 'xsmall'\n | 'base'\n | 'scene'\n | 'dialog'\n | 'spot'\n | 'dot';\n\n/**\n * Enumeration of illustrated message types with their string values.\n */\nexport enum IllustratedMessageTypes {\n LARGE = 'large',\n MEDIUM = 'medium',\n SMALL = 'small',\n EXTRA_SMALL = 'xsmall',\n BASE = 'base',\n /** @deprecated Use LARGE instead */\n SCENE = 'scene',\n /** @deprecated Use MEDIUM instead */\n DIALOG = 'dialog',\n /** @deprecated Use SMALL instead */\n SPOT = 'spot',\n /** @deprecated Use EXTRA_SMALL instead */\n DOT = 'dot'\n}\n\nlet illustratedMessageUniqueId = 0;\n\n/**\n * Component representing an illustrated message with responsive SVG illustration.\n *\n * The component automatically adjusts its illustration size based on container width:\n * - Large (>= 682px)\n * - Medium (361px - 681px)\n * - Small (261px - 360px)\n * - Extra Small (161px - 260px)\n * - Base (< 161px)\n *\n * Supports both URL-based SVG sprites and inline SVG content.\n *\n * @example\n * ```html\n * <div fd-illustrated-message [svgConfig]=\"svgConfig\">\n * <figcaption fd-illustrated-message-figcaption>\n * <h3>No Data Available</h3>\n * <p>Please check back later</p>\n * </figcaption>\n * </div>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-illustrated-message]',\n templateUrl: './illustrated-message.component.html',\n styleUrl: './illustrated-message.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n host: {\n '[attr.id]': 'id()',\n '[class]': 'cssClass()'\n }\n})\nexport class IllustratedMessageComponent implements HasElementRef {\n /**\n * Explicitly set the illustration type. If not provided, type is determined by container width.\n */\n readonly type = input<IllustratedMessageType>();\n\n /**\n * Configuration for SVG illustrations at different sizes.\n */\n readonly svgConfig = input<SvgConfig>();\n\n /**\n * Accessible label for the SVG illustration.\n */\n readonly svgAriaLabel = input<string | null | undefined>(null);\n\n /**\n * When true, hides the SVG illustration entirely.\n */\n readonly noSvg = input(false, { transform: booleanAttribute });\n\n /**\n * Unique identifier for the illustrated message component.\n */\n readonly id = input<string>(`fd-illustrated-message-${++illustratedMessageUniqueId}`);\n\n /**\n * Reference to the host element.\n */\n readonly elementRef = inject(ElementRef);\n\n /**\n * Signal tracking container width for responsive behavior.\n * @hidden\n */\n protected readonly containerWidth = signal<number>(0);\n\n /**\n * Normalized illustration type from explicit input or legacy names.\n * @hidden\n */\n protected readonly normalizedInputType = computed(() => {\n const explicitType = this.type();\n return explicitType ? this._normalizeType(explicitType) : undefined;\n });\n\n /**\n * Current illustration type based on explicit type or container width.\n * @hidden\n */\n protected readonly currentType = computed(\n () => this.normalizedInputType() || this._determineTypeByWidth(this.containerWidth())\n );\n\n /**\n * Normalized SVG configuration with legacy keys mapped to modern keys.\n * @hidden\n */\n protected readonly normalizedConfig = computed(() => {\n const config = this.svgConfig();\n return config ? this._normalizeSvgConfig(config) : null;\n });\n\n /**\n * Inline SVG content for the current type.\n * @hidden\n */\n protected readonly inlineSvg = computed(() => {\n const config = this.normalizedConfig();\n const type = this.currentType();\n const inlineSvg = config?.[type]?.file;\n return inlineSvg ? this._sanitizer.bypassSecurityTrustHtml(inlineSvg) : undefined;\n });\n\n /**\n * SVG href attribute for the current type.\n * @hidden\n */\n protected readonly href = computed(() => {\n const config = this.normalizedConfig();\n if (!config) {\n return '';\n }\n return this._getHrefByType(this.currentType(), config);\n });\n\n /**\n * Computed CSS class string for the component.\n * @hidden\n */\n protected readonly cssClass = computed(() => {\n const classes: string[] = ['fd-illustrated-message'];\n\n const currentTypeValue = this.currentType();\n if (currentTypeValue) {\n classes.push(`fd-illustrated-message--${currentTypeValue}`);\n }\n\n return classes.join(' ');\n });\n\n /** @hidden */\n private readonly _sanitizer = inject(DomSanitizer);\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor() {\n afterNextRender(() => {\n const observer = new ResizeObserver(() => {\n this._measureContainerWidth();\n });\n observer.observe(this.elementRef.nativeElement);\n this._destroyRef.onDestroy(() => observer.disconnect());\n });\n }\n\n /**\n * Measures and updates the container width.\n * @private\n */\n private _measureContainerWidth(): void {\n const width = this.elementRef.nativeElement.offsetWidth;\n\n if (this.containerWidth() !== width) {\n this.containerWidth.set(width);\n }\n }\n\n /**\n * Determines the illustration type based on container width.\n * @param width - Container width in pixels\n * @returns Appropriate illustration type\n * @private\n */\n private _determineTypeByWidth(width: number): IllustratedMessageType {\n if (width >= 682) {\n return IllustratedMessageTypes.LARGE;\n } else if (width >= 361) {\n return IllustratedMessageTypes.MEDIUM;\n } else if (width >= 261) {\n return IllustratedMessageTypes.SMALL;\n } else if (width >= 161) {\n return IllustratedMessageTypes.EXTRA_SMALL;\n }\n\n return IllustratedMessageTypes.BASE;\n }\n\n /**\n * Normalizes legacy type names to modern equivalents.\n * @param type - Illustration type to normalize\n * @returns Normalized illustration type\n * @private\n */\n private _normalizeType(type: IllustratedMessageType): IllustratedMessageType {\n switch (type) {\n case 'scene':\n return 'large';\n case 'dialog':\n return 'medium';\n case 'spot':\n return 'small';\n case 'dot':\n return 'xsmall';\n default:\n return type;\n }\n }\n\n /**\n * Normalizes SVG configuration, mapping legacy keys to modern keys.\n * @param config - SVG configuration to normalize\n * @returns Normalized SVG configuration\n * @private\n */\n private _normalizeSvgConfig(config: SvgConfig): SvgConfig {\n return {\n large: config.large || config.scene,\n medium: config.medium || config.dialog,\n small: config.small || config.spot,\n xsmall: config.xsmall || config.dot\n };\n }\n\n /**\n * Constructs the SVG href attribute value for the given type.\n * @param type - Illustration type\n * @param svgConfig - Normalized SVG configuration\n * @returns SVG href string\n * @private\n */\n private _getHrefByType(type: IllustratedMessageType, svgConfig: SvgConfig): string {\n switch (type) {\n case 'large':\n return `${svgConfig.large?.url || ''}#${svgConfig.large?.id}`;\n case 'medium':\n return `${svgConfig.medium?.url || ''}#${svgConfig.medium?.id}`;\n case 'small':\n return `${svgConfig.small?.url || ''}#${svgConfig.small?.id}`;\n case 'xsmall':\n return `${svgConfig.xsmall?.url || ''}#${svgConfig.xsmall?.id}`;\n default:\n return '';\n }\n }\n}\n","<div class=\"fd-illustrated-message__container\">\n @if (!noSvg()) {\n <svg\n class=\"fd-illustrated-message__illustration\"\n [attr.aria-label]=\"svgAriaLabel()\"\n preserveAspectRatio=\"xMidYMid meet\"\n >\n <use [attr.href]=\"href()\"></use>\n </svg>\n }\n @if (inlineSvg()) {\n <div [style.display]=\"'none'\" [innerHTML]=\"inlineSvg()\"></div>\n }\n <ng-content select=\"[fd-illustrated-message-figcaption]\"></ng-content>\n</div>\n<ng-content select=\"fd-illustrated-message-actions\"></ng-content>\n","import { NgModule } from '@angular/core';\n\nimport { IllustratedMessageActionsComponent } from './components/illustrated-message-actions/illustrated-message-actions.component';\nimport { IllustratedMessageComponent } from './illustrated-message.component';\n\nimport { IllustratedMessageFigcaptionComponent } from './components/illustrated-message-figcaption/illustrated-message-figcaption.component';\nimport { IllustratedMessageTextDirective } from './directives/illustrated-message-text/illustrated-message-text.directive';\nimport { IllustratedMessageTitleDirective } from './directives/illustrated-message-title/illustrated-message-title.directive';\n\nconst components = [\n IllustratedMessageComponent,\n IllustratedMessageActionsComponent,\n IllustratedMessageFigcaptionComponent,\n IllustratedMessageTextDirective,\n IllustratedMessageTitleDirective\n];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class IllustratedMessageModule {}\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-illustrated-message.mjs","sources":["../../../../libs/core/illustrated-message/components/illustrated-message-actions/illustrated-message-actions.component.ts","../../../../libs/core/illustrated-message/components/illustrated-message-figcaption/illustrated-message-figcaption.component.ts","../../../../libs/core/illustrated-message/directives/illustrated-message-text/illustrated-message-text.directive.ts","../../../../libs/core/illustrated-message/directives/illustrated-message-title/illustrated-message-title.directive.ts","../../../../libs/core/illustrated-message/illustrated-message.component.ts","../../../../libs/core/illustrated-message/illustrated-message.component.html","../../../../libs/core/illustrated-message/illustrated-message.module.ts","../../../../libs/core/illustrated-message/fundamental-ngx-core-illustrated-message.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Component representing the actions section of an illustrated message.\n * Typically contains buttons or links for user actions.\n */\n@Component({\n selector: 'fd-illustrated-message-actions',\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-illustrated-message__actions'\n }\n})\nexport class IllustratedMessageActionsComponent {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Component representing the figcaption section of an illustrated message.\n * Contains title and text content slots.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-illustrated-message-figcaption]',\n template: `\n <ng-content select=\"[fd-illustrated-message-title]\"></ng-content>\n <ng-content select=\"[fd-illustrated-message-text]\"></ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-illustrated-message__figcaption'\n }\n})\nexport class IllustratedMessageFigcaptionComponent {}\n","import { Directive } from '@angular/core';\n\n/**\n * Directive for the text/description element within an illustrated message figcaption.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-illustrated-message-text]',\n host: {\n class: 'fd-illustrated-message__text'\n }\n})\nexport class IllustratedMessageTextDirective {}\n","import { Directive } from '@angular/core';\n\n/**\n * Directive for the title element within an illustrated message figcaption.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-illustrated-message-title]',\n host: {\n class: 'fd-illustrated-message__title'\n }\n})\nexport class IllustratedMessageTitleDirective {}\n","import {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n inject,\n input,\n signal,\n ViewEncapsulation\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { HasElementRef, RequireOnlyOne } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Configuration for an SVG item in the illustrated message.\n */\nexport interface SvgItemConfig {\n /** URL to the SVG sprite file */\n url: string;\n /** ID of the symbol within the SVG sprite */\n id: string;\n /** Inline SVG file content */\n file: string;\n}\n\n/**\n * Configuration for different SVG sizes in the illustrated message.\n * Supports both modern (large, medium, small, xsmall) and legacy (scene, dialog, spot, dot) naming.\n */\nexport interface SvgConfig {\n /** Configuration for large/scene size (>= 682px) */\n large?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n /** Configuration for medium/dialog size (361px - 681px) */\n medium?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n /** Configuration for small/spot size (261px - 360px) */\n small?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n /** Configuration for extra small/dot size (161px - 260px) */\n xsmall?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n\n /** @deprecated Use 'large' instead */\n scene?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n /** @deprecated Use 'medium' instead */\n dialog?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n /** @deprecated Use 'small' instead */\n spot?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n /** @deprecated Use 'xsmall' instead */\n dot?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n}\n\n/**\n * Type of illustrated message based on container width or explicit configuration.\n * Modern types: large, medium, small, xsmall, base\n * Legacy types: scene, dialog, spot, dot\n */\nexport type IllustratedMessageType =\n | 'large'\n | 'medium'\n | 'small'\n | 'xsmall'\n | 'base'\n | 'scene'\n | 'dialog'\n | 'spot'\n | 'dot';\n\n/**\n * Enumeration of illustrated message types with their string values.\n */\nexport enum IllustratedMessageTypes {\n LARGE = 'large',\n MEDIUM = 'medium',\n SMALL = 'small',\n EXTRA_SMALL = 'xsmall',\n BASE = 'base',\n /** @deprecated Use LARGE instead */\n SCENE = 'scene',\n /** @deprecated Use MEDIUM instead */\n DIALOG = 'dialog',\n /** @deprecated Use SMALL instead */\n SPOT = 'spot',\n /** @deprecated Use EXTRA_SMALL instead */\n DOT = 'dot'\n}\n\nlet illustratedMessageUniqueId = 0;\n\n/**\n * Component representing an illustrated message with responsive SVG illustration.\n *\n * The component automatically adjusts its illustration size based on container width:\n * - Large (>= 682px)\n * - Medium (361px - 681px)\n * - Small (261px - 360px)\n * - Extra Small (161px - 260px)\n * - Base (< 161px)\n *\n * Supports both URL-based SVG sprites and inline SVG content.\n *\n * @example\n * ```html\n * <div fd-illustrated-message [svgConfig]=\"svgConfig\">\n * <figcaption fd-illustrated-message-figcaption>\n * <h3>No Data Available</h3>\n * <p>Please check back later</p>\n * </figcaption>\n * </div>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-illustrated-message]',\n templateUrl: './illustrated-message.component.html',\n styleUrl: './illustrated-message.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n host: {\n '[attr.id]': 'id()',\n '[class]': 'cssClass()'\n }\n})\nexport class IllustratedMessageComponent implements HasElementRef {\n /**\n * Explicitly set the illustration type. If not provided, type is determined by container width.\n */\n readonly type = input<IllustratedMessageType>();\n\n /**\n * Configuration for SVG illustrations at different sizes.\n */\n readonly svgConfig = input<SvgConfig>();\n\n /**\n * Accessible label for the SVG illustration.\n */\n readonly svgAriaLabel = input<string | null | undefined>(null);\n\n /**\n * When true, hides the SVG illustration entirely.\n */\n readonly noSvg = input(false, { transform: booleanAttribute });\n\n /**\n * Unique identifier for the illustrated message component.\n */\n readonly id = input<string>(`fd-illustrated-message-${++illustratedMessageUniqueId}`);\n\n /**\n * Reference to the host element.\n */\n readonly elementRef = inject(ElementRef);\n\n /**\n * Signal tracking container width for responsive behavior.\n * @hidden\n */\n protected readonly containerWidth = signal<number>(0);\n\n /**\n * Normalized illustration type from explicit input or legacy names.\n * @hidden\n */\n protected readonly normalizedInputType = computed(() => {\n const explicitType = this.type();\n return explicitType ? this._normalizeType(explicitType) : undefined;\n });\n\n /**\n * Current illustration type based on explicit type or container width.\n * @hidden\n */\n protected readonly currentType = computed(\n () => this.normalizedInputType() || this._determineTypeByWidth(this.containerWidth())\n );\n\n /**\n * Normalized SVG configuration with legacy keys mapped to modern keys.\n * @hidden\n */\n protected readonly normalizedConfig = computed(() => {\n const config = this.svgConfig();\n return config ? this._normalizeSvgConfig(config) : null;\n });\n\n /**\n * Inline SVG content for the current type.\n * @hidden\n */\n protected readonly inlineSvg = computed(() => {\n const config = this.normalizedConfig();\n const type = this.currentType();\n const inlineSvg = config?.[type]?.file;\n return inlineSvg ? this._sanitizer.bypassSecurityTrustHtml(inlineSvg) : undefined;\n });\n\n /**\n * SVG href attribute for the current type.\n * @hidden\n */\n protected readonly href = computed(() => {\n const config = this.normalizedConfig();\n if (!config) {\n return '';\n }\n return this._getHrefByType(this.currentType(), config);\n });\n\n /**\n * Computed CSS class string for the component.\n * @hidden\n */\n protected readonly cssClass = computed(() => {\n const classes: string[] = ['fd-illustrated-message'];\n\n const currentTypeValue = this.currentType();\n if (currentTypeValue) {\n classes.push(`fd-illustrated-message--${currentTypeValue}`);\n }\n\n return classes.join(' ');\n });\n\n /** @hidden */\n private readonly _sanitizer = inject(DomSanitizer);\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor() {\n afterNextRender(() => {\n const observer = new ResizeObserver(() => {\n this._measureContainerWidth();\n });\n observer.observe(this.elementRef.nativeElement);\n this._destroyRef.onDestroy(() => observer.disconnect());\n });\n }\n\n /**\n * Measures and updates the container width.\n * @private\n */\n private _measureContainerWidth(): void {\n const width = this.elementRef.nativeElement.offsetWidth;\n\n if (this.containerWidth() !== width) {\n this.containerWidth.set(width);\n }\n }\n\n /**\n * Determines the illustration type based on container width.\n * @param width - Container width in pixels\n * @returns Appropriate illustration type\n * @private\n */\n private _determineTypeByWidth(width: number): IllustratedMessageType {\n if (width >= 682) {\n return IllustratedMessageTypes.LARGE;\n } else if (width >= 361) {\n return IllustratedMessageTypes.MEDIUM;\n } else if (width >= 261) {\n return IllustratedMessageTypes.SMALL;\n } else if (width >= 161) {\n return IllustratedMessageTypes.EXTRA_SMALL;\n }\n\n return IllustratedMessageTypes.BASE;\n }\n\n /**\n * Normalizes legacy type names to modern equivalents.\n * @param type - Illustration type to normalize\n * @returns Normalized illustration type\n * @private\n */\n private _normalizeType(type: IllustratedMessageType): IllustratedMessageType {\n switch (type) {\n case 'scene':\n return 'large';\n case 'dialog':\n return 'medium';\n case 'spot':\n return 'small';\n case 'dot':\n return 'xsmall';\n default:\n return type;\n }\n }\n\n /**\n * Normalizes SVG configuration, mapping legacy keys to modern keys.\n * @param config - SVG configuration to normalize\n * @returns Normalized SVG configuration\n * @private\n */\n private _normalizeSvgConfig(config: SvgConfig): SvgConfig {\n return {\n large: config.large || config.scene,\n medium: config.medium || config.dialog,\n small: config.small || config.spot,\n xsmall: config.xsmall || config.dot\n };\n }\n\n /**\n * Constructs the SVG href attribute value for the given type.\n * @param type - Illustration type\n * @param svgConfig - Normalized SVG configuration\n * @returns SVG href string\n * @private\n */\n private _getHrefByType(type: IllustratedMessageType, svgConfig: SvgConfig): string {\n switch (type) {\n case 'large':\n return `${svgConfig.large?.url || ''}#${svgConfig.large?.id}`;\n case 'medium':\n return `${svgConfig.medium?.url || ''}#${svgConfig.medium?.id}`;\n case 'small':\n return `${svgConfig.small?.url || ''}#${svgConfig.small?.id}`;\n case 'xsmall':\n return `${svgConfig.xsmall?.url || ''}#${svgConfig.xsmall?.id}`;\n default:\n return '';\n }\n }\n}\n","<div class=\"fd-illustrated-message__container\">\n @if (!noSvg()) {\n <svg\n class=\"fd-illustrated-message__illustration\"\n [attr.aria-label]=\"svgAriaLabel()\"\n preserveAspectRatio=\"xMidYMid meet\"\n >\n <use [attr.href]=\"href()\"></use>\n </svg>\n }\n @if (inlineSvg()) {\n <div [style.display]=\"'none'\" [innerHTML]=\"inlineSvg()\"></div>\n }\n <ng-content select=\"[fd-illustrated-message-figcaption]\"></ng-content>\n</div>\n<ng-content select=\"fd-illustrated-message-actions\"></ng-content>\n","import { NgModule } from '@angular/core';\n\nimport { IllustratedMessageActionsComponent } from './components/illustrated-message-actions/illustrated-message-actions.component';\nimport { IllustratedMessageComponent } from './illustrated-message.component';\n\nimport { IllustratedMessageFigcaptionComponent } from './components/illustrated-message-figcaption/illustrated-message-figcaption.component';\nimport { IllustratedMessageTextDirective } from './directives/illustrated-message-text/illustrated-message-text.directive';\nimport { IllustratedMessageTitleDirective } from './directives/illustrated-message-title/illustrated-message-title.directive';\n\nconst components = [\n IllustratedMessageComponent,\n IllustratedMessageActionsComponent,\n IllustratedMessageFigcaptionComponent,\n IllustratedMessageTextDirective,\n IllustratedMessageTitleDirective\n];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class IllustratedMessageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -10,9 +10,11 @@ import { debounceTime, filter } from 'rxjs/operators';
10
10
  class InfiniteScrollDirective {
11
11
  constructor() {
12
12
  /** Scroll percentage at which the onScrollAction event is fired. */
13
- this.scrollPercent = input(75, ...(ngDevMode ? [{ debugName: "scrollPercent" }] : []));
13
+ this.scrollPercent = input(75, /* @ts-ignore */
14
+ ...(ngDevMode ? [{ debugName: "scrollPercent" }] : /* istanbul ignore next */ []));
14
15
  /** Scroll PX at which the onScrollAction event is fired. */
15
- this.scrollOffset = input(null, ...(ngDevMode ? [{ debugName: "scrollOffset" }] : []));
16
+ this.scrollOffset = input(null, /* @ts-ignore */
17
+ ...(ngDevMode ? [{ debugName: "scrollOffset" }] : /* istanbul ignore next */ []));
16
18
  /** Event emitted when the scrollPercent threshold is met. */
17
19
  // eslint-disable-next-line @angular-eslint/no-output-on-prefix
18
20
  this.onScrollAction = output();
@@ -40,10 +42,10 @@ class InfiniteScrollDirective {
40
42
  .pipe(debounceTime(50), filter(() => this.shouldTriggerAction()), takeUntilDestroyed(this._destroyRef))
41
43
  .subscribe(() => this.onScrollAction.emit());
42
44
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: InfiniteScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
44
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.0", type: InfiniteScrollDirective, isStandalone: true, selector: "[fdInfiniteScroll]", inputs: { scrollPercent: { classPropertyName: "scrollPercent", publicName: "scrollPercent", isSignal: true, isRequired: false, transformFunction: null }, scrollOffset: { classPropertyName: "scrollOffset", publicName: "scrollOffset", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onScrollAction: "onScrollAction" }, ngImport: i0 }); }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InfiniteScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
46
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: InfiniteScrollDirective, isStandalone: true, selector: "[fdInfiniteScroll]", inputs: { scrollPercent: { classPropertyName: "scrollPercent", publicName: "scrollPercent", isSignal: true, isRequired: false, transformFunction: null }, scrollOffset: { classPropertyName: "scrollOffset", publicName: "scrollOffset", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onScrollAction: "onScrollAction" }, ngImport: i0 }); }
45
47
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: InfiniteScrollDirective, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InfiniteScrollDirective, decorators: [{
47
49
  type: Directive,
48
50
  args: [{
49
51
  selector: '[fdInfiniteScroll]'
@@ -55,11 +57,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
55
57
  * Use direct imports of components and directives.
56
58
  */
57
59
  class InfiniteScrollModule {
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: InfiniteScrollModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
59
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.0", ngImport: i0, type: InfiniteScrollModule, imports: [InfiniteScrollDirective], exports: [InfiniteScrollDirective] }); }
60
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: InfiniteScrollModule }); }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InfiniteScrollModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
61
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: InfiniteScrollModule, imports: [InfiniteScrollDirective], exports: [InfiniteScrollDirective] }); }
62
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InfiniteScrollModule }); }
61
63
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: InfiniteScrollModule, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InfiniteScrollModule, decorators: [{
63
65
  type: NgModule,
64
66
  args: [{
65
67
  imports: [InfiniteScrollDirective],
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-infinite-scroll.mjs","sources":["../../../../libs/core/infinite-scroll/infinite-scroll.directive.ts","../../../../libs/core/infinite-scroll/infinite-scroll.module.ts","../../../../libs/core/infinite-scroll/fundamental-ngx-core-infinite-scroll.ts"],"sourcesContent":["import { DestroyRef, Directive, ElementRef, inject, input, output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, filter } from 'rxjs/operators';\n\n/**\n * Tool directive used to achieve the infinite scroll mechanism.\n */\n@Directive({\n selector: '[fdInfiniteScroll]'\n})\nexport class InfiniteScrollDirective {\n /** Scroll percentage at which the onScrollAction event is fired. */\n readonly scrollPercent = input(75);\n\n /** Scroll PX at which the onScrollAction event is fired. */\n readonly scrollOffset = input<Nullable<number>>(null);\n\n /** Event emitted when the scrollPercent threshold is met. */\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onScrollAction = output<void>();\n\n /** @hidden */\n private readonly _element = inject(ElementRef);\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n constructor() {\n this._listenOnScroll();\n }\n\n /** @hidden */\n shouldTriggerAction(): boolean {\n const element = this._element.nativeElement;\n const offset: number = element.scrollTop + element.offsetHeight;\n const scrollOffsetValue = this.scrollOffset();\n if (scrollOffsetValue) {\n return offset > element.scrollHeight - scrollOffsetValue;\n } else {\n return offset / element.scrollHeight > this.scrollPercent() / 100;\n }\n }\n\n /** @hidden */\n private _listenOnScroll(): void {\n fromEvent(this._element.nativeElement, 'scroll')\n .pipe(\n debounceTime(50),\n filter(() => this.shouldTriggerAction()),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => this.onScrollAction.emit());\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { InfiniteScrollDirective } from './infinite-scroll.directive';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [InfiniteScrollDirective],\n exports: [InfiniteScrollDirective]\n})\nexport class InfiniteScrollModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAMA;;AAEG;MAIU,uBAAuB,CAAA;AAiBhC,IAAA,WAAA,GAAA;;AAfS,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,EAAE,yDAAC;;AAGzB,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAmB,IAAI,wDAAC;;;QAI5C,IAAA,CAAA,cAAc,GAAG,MAAM,EAAQ;;AAGvB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;;AAG7B,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;QAG7C,IAAI,CAAC,eAAe,EAAE;IAC1B;;IAGA,mBAAmB,GAAA;AACf,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa;QAC3C,MAAM,MAAM,GAAW,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY;AAC/D,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,EAAE;QAC7C,IAAI,iBAAiB,EAAE;AACnB,YAAA,OAAO,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,iBAAiB;QAC5D;aAAO;AACH,YAAA,OAAO,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,GAAG;QACrE;IACJ;;IAGQ,eAAe,GAAA;QACnB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ;aAC1C,IAAI,CACD,YAAY,CAAC,EAAE,CAAC,EAChB,MAAM,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC,EACxC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;aAEvC,SAAS,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACpD;8GA1CS,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE;AACb,iBAAA;;;ACPD;;;AAGG;MAKU,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAApB,oBAAoB,EAAA,OAAA,EAAA,CAHnB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CACvB,uBAAuB,CAAA,EAAA,CAAA,CAAA;+GAExB,oBAAoB,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,uBAAuB,CAAC;oBAClC,OAAO,EAAE,CAAC,uBAAuB;AACpC,iBAAA;;;ACXD;;AAEG;;;;"}
1
+ {"version":3,"file":"fundamental-ngx-core-infinite-scroll.mjs","sources":["../../../../libs/core/infinite-scroll/infinite-scroll.directive.ts","../../../../libs/core/infinite-scroll/infinite-scroll.module.ts","../../../../libs/core/infinite-scroll/fundamental-ngx-core-infinite-scroll.ts"],"sourcesContent":["import { DestroyRef, Directive, ElementRef, inject, input, output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, filter } from 'rxjs/operators';\n\n/**\n * Tool directive used to achieve the infinite scroll mechanism.\n */\n@Directive({\n selector: '[fdInfiniteScroll]'\n})\nexport class InfiniteScrollDirective {\n /** Scroll percentage at which the onScrollAction event is fired. */\n readonly scrollPercent = input(75);\n\n /** Scroll PX at which the onScrollAction event is fired. */\n readonly scrollOffset = input<Nullable<number>>(null);\n\n /** Event emitted when the scrollPercent threshold is met. */\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onScrollAction = output<void>();\n\n /** @hidden */\n private readonly _element = inject(ElementRef);\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n constructor() {\n this._listenOnScroll();\n }\n\n /** @hidden */\n shouldTriggerAction(): boolean {\n const element = this._element.nativeElement;\n const offset: number = element.scrollTop + element.offsetHeight;\n const scrollOffsetValue = this.scrollOffset();\n if (scrollOffsetValue) {\n return offset > element.scrollHeight - scrollOffsetValue;\n } else {\n return offset / element.scrollHeight > this.scrollPercent() / 100;\n }\n }\n\n /** @hidden */\n private _listenOnScroll(): void {\n fromEvent(this._element.nativeElement, 'scroll')\n .pipe(\n debounceTime(50),\n filter(() => this.shouldTriggerAction()),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => this.onScrollAction.emit());\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { InfiniteScrollDirective } from './infinite-scroll.directive';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [InfiniteScrollDirective],\n exports: [InfiniteScrollDirective]\n})\nexport class InfiniteScrollModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAMA;;AAEG;MAIU,uBAAuB,CAAA;AAiBhC,IAAA,WAAA,GAAA;;QAfS,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,EAAE;0FAAC;;QAGzB,IAAA,CAAA,YAAY,GAAG,KAAK,CAAmB,IAAI;yFAAC;;;QAI5C,IAAA,CAAA,cAAc,GAAG,MAAM,EAAQ;;AAGvB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;;AAG7B,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;QAG7C,IAAI,CAAC,eAAe,EAAE;IAC1B;;IAGA,mBAAmB,GAAA;AACf,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa;QAC3C,MAAM,MAAM,GAAW,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY;AAC/D,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,EAAE;QAC7C,IAAI,iBAAiB,EAAE;AACnB,YAAA,OAAO,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,iBAAiB;QAC5D;aAAO;AACH,YAAA,OAAO,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,GAAG;QACrE;IACJ;;IAGQ,eAAe,GAAA;QACnB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ;aAC1C,IAAI,CACD,YAAY,CAAC,EAAE,CAAC,EAChB,MAAM,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC,EACxC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;aAEvC,SAAS,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACpD;8GA1CS,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE;AACb,iBAAA;;;ACPD;;;AAGG;MAKU,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAApB,oBAAoB,EAAA,OAAA,EAAA,CAHnB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CACvB,uBAAuB,CAAA,EAAA,CAAA,CAAA;+GAExB,oBAAoB,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,uBAAuB,CAAC;oBAClC,OAAO,EAAE,CAAC,uBAAuB;AACpC,iBAAA;;;ACXD;;AAEG;;;;"}
@@ -14,47 +14,56 @@ class InfoLabelComponent {
14
14
  * - `undefined`: Default text-only label (omit this property for default)
15
15
  * @default undefined
16
16
  */
17
- this.type = input(...(ngDevMode ? [undefined, { debugName: "type" }] : []));
17
+ this.type = input(/* @ts-ignore */
18
+ ...(ngDevMode ? [undefined, { debugName: "type" }] : /* istanbul ignore next */ []));
18
19
  /**
19
20
  * The icon name to display when `type` is set to `'icon'`.
20
21
  * @default null
21
22
  */
22
- this.glyph = input(...(ngDevMode ? [undefined, { debugName: "glyph" }] : []));
23
+ this.glyph = input(/* @ts-ignore */
24
+ ...(ngDevMode ? [undefined, { debugName: "glyph" }] : /* istanbul ignore next */ []));
23
25
  /**
24
26
  * The icon font family to use for the icon.
25
27
  * @default 'SAP-icons'
26
28
  */
27
- this.font = input('SAP-icons', ...(ngDevMode ? [{ debugName: "font" }] : []));
29
+ this.font = input('SAP-icons', /* @ts-ignore */
30
+ ...(ngDevMode ? [{ debugName: "font" }] : /* istanbul ignore next */ []));
28
31
  /**
29
32
  * Accent color of the info label, ranging from 1 to 10.
30
33
  * Invalid values default to 7 with a console warning in development mode.
31
34
  * @default 7
32
35
  */
33
- this.color = input(defaultColor, ...(ngDevMode ? [{ debugName: "color" }] : []));
36
+ this.color = input(defaultColor, /* @ts-ignore */
37
+ ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
34
38
  /**
35
39
  * The text content displayed in the info label.
36
40
  */
37
- this.label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
41
+ this.label = input(/* @ts-ignore */
42
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
38
43
  /**
39
44
  * Tooltip text displayed on hover.
40
45
  * Provides additional context about the label.
41
46
  */
42
- this.title = input(...(ngDevMode ? [undefined, { debugName: "title" }] : []));
47
+ this.title = input(/* @ts-ignore */
48
+ ...(ngDevMode ? [undefined, { debugName: "title" }] : /* istanbul ignore next */ []));
43
49
  /**
44
50
  * ARIA label for accessibility.
45
51
  * Overrides the visible label for screen readers when provided.
46
52
  */
47
- this.ariaLabel = input(...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : []));
53
+ this.ariaLabel = input(/* @ts-ignore */
54
+ ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
48
55
  /**
49
56
  * ARIA labelledby for accessibility.
50
57
  * Used when the label is provided by another element.
51
58
  */
52
- this.ariaLabelledBy = input(...(ngDevMode ? [undefined, { debugName: "ariaLabelledBy" }] : []));
59
+ this.ariaLabelledBy = input(/* @ts-ignore */
60
+ ...(ngDevMode ? [undefined, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
53
61
  /**
54
62
  * Screen reader only text for additional context.
55
63
  * Defaults to translated "Info Label" if not provided.
56
64
  */
57
- this.srText = input(...(ngDevMode ? [undefined, { debugName: "srText" }] : []));
65
+ this.srText = input(/* @ts-ignore */
66
+ ...(ngDevMode ? [undefined, { debugName: "srText" }] : /* istanbul ignore next */ []));
58
67
  /** @hidden */
59
68
  this.elementRef = inject(ElementRef);
60
69
  /** @hidden Validated color with fallback to default */
@@ -65,7 +74,8 @@ class InfoLabelComponent {
65
74
  return numericColor;
66
75
  }
67
76
  return defaultColor; // Default fallback for invalid values
68
- }, ...(ngDevMode ? [{ debugName: "validatedColor" }] : []));
77
+ }, /* @ts-ignore */
78
+ ...(ngDevMode ? [{ debugName: "validatedColor" }] : /* istanbul ignore next */ []));
69
79
  /** @hidden */
70
80
  this.cssClass = computed(() => [
71
81
  'fd-info-label',
@@ -73,12 +83,13 @@ class InfoLabelComponent {
73
83
  `fd-info-label--accent-color-${this.validatedColor()}`
74
84
  ]
75
85
  .filter(Boolean)
76
- .join(' '), ...(ngDevMode ? [{ debugName: "cssClass" }] : []));
86
+ .join(' '), /* @ts-ignore */
87
+ ...(ngDevMode ? [{ debugName: "cssClass" }] : /* istanbul ignore next */ []));
77
88
  }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: InfoLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
79
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: InfoLabelComponent, isStandalone: true, selector: "fd-info-label", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, glyph: { classPropertyName: "glyph", publicName: "glyph", isSignal: true, isRequired: false, transformFunction: null }, font: { classPropertyName: "font", publicName: "font", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, srText: { classPropertyName: "srText", publicName: "srText", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "cssClass()" } }, ngImport: i0, template: "@if (glyph()) {\n <fd-icon\n class=\"fd-info-label__icon\"\n [glyph]=\"glyph()\"\n [font]=\"font()\"\n role=\"presentation\"\n aria-hidden=\"true\"\n ></fd-icon>\n}\n@if (label()) {\n <span\n class=\"fd-info-label__text\"\n [attr.title]=\"title()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n >{{ label() }}</span\n >\n}\n<span class=\"fd-info-label__sr-only\">{{ srText() || ('coreInfoLabel.srOnlyText' | fdTranslate)() }}</span>\n", styles: [".fd-info-label{--fdInfoLabel_Margin:.25rem;--fdInfoLabel_Padding:.375rem;--fdInfoLabel_Icon_Size:.75rem;--fdInfoLabel_Height:var(--fdInfo_Label_Height);--fdInfoLabel_Label_Font_Size:var(--sapFontSize);--fdInfoLabel_Color:var(--fdInfoLabel_Color_Accent_7);--fdInfoLabel_Border_Radius:var(--fdInfo_Label_Border_Radius);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Background_Color7);--fdInfoLabel_Background:var(--fdInfoLabel_Background_Color_Accent_7);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;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-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--fdInfoLabel_Background);border:.0625rem solid var(--fdInfoLabel_Border_Color);border-radius:var(--fdInfoLabel_Border_Radius);color:var(--fdInfoLabel_Color);gap:var(--fdInfoLabel_Margin);height:var(--fdInfoLabel_Height);padding-block:0;padding-inline:var(--fdInfoLabel_Padding);width:auto}.fd-info-label:after,.fd-info-label:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-info-label__icon [class*=sap-icon],.fd-info-label__icon[class*=sap-icon]{color:inherit;font-size:var(--fdInfoLabel_Icon_Size);height:var(--fdInfoLabel_Height);line-height:var(--fdInfoLabel_Height)}.fd-info-label__text{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:inherit;font-family:var(--sapFontFamily);font-family:var(--sapFontSemiboldDuplexFamily);font-size:var(--sapFontSize);font-size:var(--fdInfoLabel_Label_Font_Size);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-info-label__text:after,.fd-info-label__text:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-info-label__sr-only{position:absolute;clip:rect(0 0 0 0);border:0;height:1px;margin-block:-1px;margin-inline:-1px;overflow:hidden;padding-block:0;padding-inline:0;white-space:nowrap;width:1px}.fd-info-label--accent-color-1{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color1);--fdInfoLabel_Color:var(--fdInfo_Label_Color1);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color1)}.fd-info-label--accent-color-2{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color2);--fdInfoLabel_Color:var(--fdInfo_Label_Color2);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color2)}.fd-info-label--accent-color-3{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color3);--fdInfoLabel_Color:var(--fdInfo_Label_Color3);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color3)}.fd-info-label--accent-color-4{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color4);--fdInfoLabel_Color:var(--fdInfo_Label_Color4);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color4)}.fd-info-label--accent-color-5{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color5);--fdInfoLabel_Color:var(--fdInfo_Label_Color5);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color5)}.fd-info-label--accent-color-6{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color6);--fdInfoLabel_Color:var(--fdInfo_Label_Color6);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color6)}.fd-info-label--accent-color-7{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color7);--fdInfoLabel_Color:var(--fdInfo_Label_Color7);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color7)}.fd-info-label--accent-color-8{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color8);--fdInfoLabel_Color:var(--fdInfo_Label_Color8);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color8)}.fd-info-label--accent-color-9{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color9);--fdInfoLabel_Color:var(--fdInfo_Label_Color9);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color9)}.fd-info-label--accent-color-10{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color10);--fdInfoLabel_Color:var(--fdInfo_Label_Color10);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color10)}.fd-info-label--display{--fdInfoLabel_Padding:.25rem;--fdInfoLabel_Margin:.125rem;--fdInfoLabel_Icon_Size:.625rem;--fdInfoLabel_Label_Font_Size:var(--sapFontSmallSize);--fdInfoLabel_Height:var(--fdInfo_Label_Height_Display);--fdInfoLabel_Border_Radius:var(--fdInfo_Label_Border_Radius_Display)}.fd-info-label__sr-only{position:absolute;clip:rect(0 0 0 0);height:1px;width:1px;border:0;margin-inline:-1px;margin-block:-1px;padding-inline:0;padding-block:0;overflow:hidden;white-space:nowrap}\n/*! Bundled license information:\n\nfundamental-styles/dist/info-label.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: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "size", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InfoLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: InfoLabelComponent, isStandalone: true, selector: "fd-info-label", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, glyph: { classPropertyName: "glyph", publicName: "glyph", isSignal: true, isRequired: false, transformFunction: null }, font: { classPropertyName: "font", publicName: "font", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, srText: { classPropertyName: "srText", publicName: "srText", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "cssClass()" } }, ngImport: i0, template: "@if (glyph()) {\n <fd-icon\n class=\"fd-info-label__icon\"\n [glyph]=\"glyph()\"\n [font]=\"font()\"\n role=\"presentation\"\n aria-hidden=\"true\"\n ></fd-icon>\n}\n@if (label()) {\n <span\n class=\"fd-info-label__text\"\n [attr.title]=\"title()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n >{{ label() }}</span\n >\n}\n<span class=\"fd-info-label__sr-only\">{{ srText() || ('coreInfoLabel.srOnlyText' | fdTranslate)() }}</span>\n", styles: [".fd-info-label{--fdInfoLabel_Margin:.25rem;--fdInfoLabel_Padding:.375rem;--fdInfoLabel_Icon_Size:.75rem;--fdInfoLabel_Height:var(--fdInfo_Label_Height);--fdInfoLabel_Label_Font_Size:var(--sapFontSize);--fdInfoLabel_Color:var(--fdInfoLabel_Color_Accent_7);--fdInfoLabel_Border_Radius:var(--fdInfo_Label_Border_Radius);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Background_Color7);--fdInfoLabel_Background:var(--fdInfoLabel_Background_Color_Accent_7);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;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-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--fdInfoLabel_Background);border:.0625rem solid var(--fdInfoLabel_Border_Color);border-radius:var(--fdInfoLabel_Border_Radius);color:var(--fdInfoLabel_Color);gap:var(--fdInfoLabel_Margin);height:var(--fdInfoLabel_Height);padding-block:0;padding-inline:var(--fdInfoLabel_Padding);width:auto}.fd-info-label:after,.fd-info-label:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-info-label__icon [class*=sap-icon],.fd-info-label__icon[class*=sap-icon]{color:inherit;font-size:var(--fdInfoLabel_Icon_Size);height:var(--fdInfoLabel_Height);line-height:var(--fdInfoLabel_Height)}.fd-info-label__text{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:inherit;font-family:var(--sapFontFamily);font-family:var(--sapFontSemiboldDuplexFamily);font-size:var(--sapFontSize);font-size:var(--fdInfoLabel_Label_Font_Size);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-info-label__text:after,.fd-info-label__text:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-info-label__sr-only{position:absolute;clip:rect(0 0 0 0);border:0;height:1px;margin-block:-1px;margin-inline:-1px;overflow:hidden;padding-block:0;padding-inline:0;white-space:nowrap;width:1px}.fd-info-label--accent-color-1{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color1);--fdInfoLabel_Color:var(--fdInfo_Label_Color1);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color1)}.fd-info-label--accent-color-2{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color2);--fdInfoLabel_Color:var(--fdInfo_Label_Color2);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color2)}.fd-info-label--accent-color-3{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color3);--fdInfoLabel_Color:var(--fdInfo_Label_Color3);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color3)}.fd-info-label--accent-color-4{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color4);--fdInfoLabel_Color:var(--fdInfo_Label_Color4);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color4)}.fd-info-label--accent-color-5{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color5);--fdInfoLabel_Color:var(--fdInfo_Label_Color5);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color5)}.fd-info-label--accent-color-6{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color6);--fdInfoLabel_Color:var(--fdInfo_Label_Color6);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color6)}.fd-info-label--accent-color-7{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color7);--fdInfoLabel_Color:var(--fdInfo_Label_Color7);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color7)}.fd-info-label--accent-color-8{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color8);--fdInfoLabel_Color:var(--fdInfo_Label_Color8);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color8)}.fd-info-label--accent-color-9{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color9);--fdInfoLabel_Color:var(--fdInfo_Label_Color9);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color9)}.fd-info-label--accent-color-10{--fdInfoLabel_Background:var(--fdInfo_Label_Background_Color10);--fdInfoLabel_Color:var(--fdInfo_Label_Color10);--fdInfoLabel_Border_Color:var(--fdInfo_Label_Border_Color10)}.fd-info-label--display{--fdInfoLabel_Padding:.25rem;--fdInfoLabel_Margin:.125rem;--fdInfoLabel_Icon_Size:.625rem;--fdInfoLabel_Label_Font_Size:var(--sapFontSmallSize);--fdInfoLabel_Height:var(--fdInfo_Label_Height_Display);--fdInfoLabel_Border_Radius:var(--fdInfo_Label_Border_Radius_Display)}.fd-info-label__sr-only{position:absolute;clip:rect(0 0 0 0);height:1px;width:1px;border:0;margin-inline:-1px;margin-block:-1px;padding-inline:0;padding-block:0;overflow:hidden;white-space:nowrap}\n/*! Bundled license information:\n\nfundamental-styles/dist/info-label.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: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "size", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
80
91
  }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: InfoLabelComponent, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InfoLabelComponent, decorators: [{
82
93
  type: Component,
83
94
  args: [{ selector: 'fd-info-label', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponent, FdTranslatePipe], host: {
84
95
  '[class]': 'cssClass()'
@@ -90,11 +101,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
90
101
  * Use direct imports of components and directives.
91
102
  */
92
103
  class InfoLabelModule {
93
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: InfoLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
94
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.0", ngImport: i0, type: InfoLabelModule, imports: [InfoLabelComponent], exports: [InfoLabelComponent] }); }
95
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: InfoLabelModule, imports: [InfoLabelComponent] }); }
104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InfoLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
105
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: InfoLabelModule, imports: [InfoLabelComponent], exports: [InfoLabelComponent] }); }
106
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InfoLabelModule, imports: [InfoLabelComponent] }); }
96
107
  }
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: InfoLabelModule, decorators: [{
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InfoLabelModule, decorators: [{
98
109
  type: NgModule,
99
110
  args: [{
100
111
  imports: [InfoLabelComponent],