@fundamental-ngx/core 0.63.2-rc.5 → 0.63.2-rc.7

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 (202) hide show
  1. package/README.md +1 -1
  2. package/fesm2022/fundamental-ngx-core-action-bar.mjs +27 -26
  3. package/fesm2022/fundamental-ngx-core-action-bar.mjs.map +1 -1
  4. package/fesm2022/fundamental-ngx-core-action-sheet.mjs +25 -22
  5. package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  6. package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs +35 -31
  7. package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs.map +1 -1
  8. package/fesm2022/fundamental-ngx-core-avatar-group.mjs +52 -43
  9. package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  10. package/fesm2022/fundamental-ngx-core-avatar.mjs +67 -43
  11. package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
  12. package/fesm2022/fundamental-ngx-core-bar.mjs +50 -41
  13. package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
  14. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +18 -14
  15. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  16. package/fesm2022/fundamental-ngx-core-busy-indicator.mjs +34 -23
  17. package/fesm2022/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  18. package/fesm2022/fundamental-ngx-core-button.mjs +56 -37
  19. package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
  20. package/fesm2022/fundamental-ngx-core-calendar.mjs +87 -62
  21. package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
  22. package/fesm2022/fundamental-ngx-core-card.mjs +264 -188
  23. package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
  24. package/fesm2022/fundamental-ngx-core-carousel.mjs +35 -26
  25. package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
  26. package/fesm2022/fundamental-ngx-core-checkbox.mjs +7 -7
  27. package/fesm2022/fundamental-ngx-core-combobox.mjs +19 -18
  28. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  29. package/fesm2022/fundamental-ngx-core-content-density.mjs +46 -36
  30. package/fesm2022/fundamental-ngx-core-content-density.mjs.map +1 -1
  31. package/fesm2022/fundamental-ngx-core-date-picker.mjs +13 -13
  32. package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
  33. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +15 -14
  34. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  35. package/fesm2022/fundamental-ngx-core-datetime.mjs +32 -31
  36. package/fesm2022/fundamental-ngx-core-datetime.mjs.map +1 -1
  37. package/fesm2022/fundamental-ngx-core-dialog.mjs +116 -89
  38. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  39. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +100 -77
  40. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  41. package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs +13 -13
  42. package/fesm2022/fundamental-ngx-core-facets.mjs +24 -20
  43. package/fesm2022/fundamental-ngx-core-facets.mjs.map +1 -1
  44. package/fesm2022/fundamental-ngx-core-feed-input.mjs +18 -17
  45. package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
  46. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +22 -22
  47. package/fesm2022/fundamental-ngx-core-file-uploader.mjs +16 -16
  48. package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +17 -15
  49. package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
  50. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs +7 -7
  51. package/fesm2022/fundamental-ngx-core-form.mjs +74 -74
  52. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  53. package/fesm2022/fundamental-ngx-core-formatted-text.mjs +17 -12
  54. package/fesm2022/fundamental-ngx-core-formatted-text.mjs.map +1 -1
  55. package/fesm2022/fundamental-ngx-core-generic-tag.mjs +19 -13
  56. package/fesm2022/fundamental-ngx-core-generic-tag.mjs.map +1 -1
  57. package/fesm2022/fundamental-ngx-core-grid-list.mjs +56 -51
  58. package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
  59. package/fesm2022/fundamental-ngx-core-icon.mjs +33 -20
  60. package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
  61. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +42 -31
  62. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  63. package/fesm2022/fundamental-ngx-core-infinite-scroll.mjs +11 -9
  64. package/fesm2022/fundamental-ngx-core-infinite-scroll.mjs.map +1 -1
  65. package/fesm2022/fundamental-ngx-core-info-label.mjs +29 -18
  66. package/fesm2022/fundamental-ngx-core-info-label.mjs.map +1 -1
  67. package/fesm2022/fundamental-ngx-core-inline-help.mjs +35 -25
  68. package/fesm2022/fundamental-ngx-core-inline-help.mjs.map +1 -1
  69. package/fesm2022/fundamental-ngx-core-input-group.mjs +21 -21
  70. package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
  71. package/fesm2022/fundamental-ngx-core-layout-grid.mjs +40 -27
  72. package/fesm2022/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  73. package/fesm2022/fundamental-ngx-core-layout-panel.mjs +41 -37
  74. package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  75. package/fesm2022/fundamental-ngx-core-link.mjs +24 -19
  76. package/fesm2022/fundamental-ngx-core-link.mjs.map +1 -1
  77. package/fesm2022/fundamental-ngx-core-list.mjs +100 -91
  78. package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
  79. package/fesm2022/fundamental-ngx-core-menu.mjs +125 -101
  80. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  81. package/fesm2022/fundamental-ngx-core-message-box.mjs +39 -38
  82. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  83. package/fesm2022/fundamental-ngx-core-message-page.mjs +19 -19
  84. package/fesm2022/fundamental-ngx-core-message-strip.mjs +79 -55
  85. package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
  86. package/fesm2022/fundamental-ngx-core-message-toast.mjs +17 -17
  87. package/fesm2022/fundamental-ngx-core-message-toast.mjs.map +1 -1
  88. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +21 -20
  89. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
  90. package/fesm2022/fundamental-ngx-core-mobile-mode.mjs +3 -3
  91. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +98 -66
  92. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  93. package/fesm2022/fundamental-ngx-core-multi-input.mjs +27 -21
  94. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  95. package/fesm2022/fundamental-ngx-core-nested-list.mjs +46 -43
  96. package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
  97. package/fesm2022/fundamental-ngx-core-notification.mjs +178 -132
  98. package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
  99. package/fesm2022/fundamental-ngx-core-object-attribute.mjs +7 -7
  100. package/fesm2022/fundamental-ngx-core-object-identifier.mjs +24 -17
  101. package/fesm2022/fundamental-ngx-core-object-identifier.mjs.map +1 -1
  102. package/fesm2022/fundamental-ngx-core-object-marker.mjs +41 -24
  103. package/fesm2022/fundamental-ngx-core-object-marker.mjs.map +1 -1
  104. package/fesm2022/fundamental-ngx-core-object-number.mjs +33 -21
  105. package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
  106. package/fesm2022/fundamental-ngx-core-object-status.mjs +41 -26
  107. package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
  108. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +33 -32
  109. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  110. package/fesm2022/fundamental-ngx-core-pagination.mjs +10 -10
  111. package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
  112. package/fesm2022/fundamental-ngx-core-panel.mjs +51 -35
  113. package/fesm2022/fundamental-ngx-core-panel.mjs.map +1 -1
  114. package/fesm2022/fundamental-ngx-core-popover.mjs +267 -164
  115. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  116. package/fesm2022/fundamental-ngx-core-product-switch.mjs +46 -32
  117. package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
  118. package/fesm2022/fundamental-ngx-core-progress-indicator.mjs +7 -7
  119. package/fesm2022/fundamental-ngx-core-quick-view.mjs +47 -44
  120. package/fesm2022/fundamental-ngx-core-quick-view.mjs.map +1 -1
  121. package/fesm2022/fundamental-ngx-core-radio.mjs +8 -8
  122. package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
  123. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +61 -39
  124. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  125. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +12 -11
  126. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  127. package/fesm2022/fundamental-ngx-core-scroll-spy.mjs +17 -12
  128. package/fesm2022/fundamental-ngx-core-scroll-spy.mjs.map +1 -1
  129. package/fesm2022/fundamental-ngx-core-scrollbar.mjs +14 -12
  130. package/fesm2022/fundamental-ngx-core-scrollbar.mjs.map +1 -1
  131. package/fesm2022/fundamental-ngx-core-segmented-button.mjs +9 -8
  132. package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  133. package/fesm2022/fundamental-ngx-core-select.mjs +22 -21
  134. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  135. package/fesm2022/fundamental-ngx-core-settings.mjs +70 -60
  136. package/fesm2022/fundamental-ngx-core-settings.mjs.map +1 -1
  137. package/fesm2022/fundamental-ngx-core-shared.mjs +3 -3
  138. package/fesm2022/fundamental-ngx-core-shellbar.mjs +77 -63
  139. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  140. package/fesm2022/fundamental-ngx-core-side-navigation.mjs +13 -13
  141. package/fesm2022/fundamental-ngx-core-skeleton.mjs +24 -16
  142. package/fesm2022/fundamental-ngx-core-skeleton.mjs.map +1 -1
  143. package/fesm2022/fundamental-ngx-core-slider.mjs +15 -13
  144. package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
  145. package/fesm2022/fundamental-ngx-core-split-button.mjs +10 -10
  146. package/fesm2022/fundamental-ngx-core-status-indicator.mjs +62 -35
  147. package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  148. package/fesm2022/fundamental-ngx-core-step-input.mjs +11 -9
  149. package/fesm2022/fundamental-ngx-core-step-input.mjs.map +1 -1
  150. package/fesm2022/fundamental-ngx-core-switch.mjs +8 -8
  151. package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
  152. package/fesm2022/fundamental-ngx-core-table.mjs +51 -50
  153. package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
  154. package/fesm2022/fundamental-ngx-core-tabs.mjs +56 -55
  155. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  156. package/fesm2022/fundamental-ngx-core-text.mjs +29 -19
  157. package/fesm2022/fundamental-ngx-core-text.mjs.map +1 -1
  158. package/fesm2022/fundamental-ngx-core-theming.mjs +7 -7
  159. package/fesm2022/fundamental-ngx-core-tile.mjs +171 -136
  160. package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
  161. package/fesm2022/fundamental-ngx-core-time-picker.mjs +9 -8
  162. package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
  163. package/fesm2022/fundamental-ngx-core-time.mjs +16 -13
  164. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  165. package/fesm2022/fundamental-ngx-core-timeline.mjs +43 -43
  166. package/fesm2022/fundamental-ngx-core-title.mjs +12 -10
  167. package/fesm2022/fundamental-ngx-core-title.mjs.map +1 -1
  168. package/fesm2022/fundamental-ngx-core-token.mjs +33 -24
  169. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  170. package/fesm2022/fundamental-ngx-core-toolbar.mjs +35 -32
  171. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  172. package/fesm2022/fundamental-ngx-core-tree.mjs +41 -36
  173. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  174. package/fesm2022/fundamental-ngx-core-upload-collection.mjs +37 -37
  175. package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  176. package/fesm2022/fundamental-ngx-core-user-menu.mjs +108 -84
  177. package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
  178. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +20 -17
  179. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
  180. package/fesm2022/fundamental-ngx-core-wizard.mjs +41 -32
  181. package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
  182. package/fesm2022/fundamental-ngx-core.mjs +4 -4
  183. package/package.json +11 -10
  184. package/schematics/add-styles/index.js +3 -3
  185. package/schematics/add-styles/index.js.map +1 -1
  186. package/schematics/add-theming/index.js +1 -1
  187. package/schematics/add-theming/index.js.map +1 -1
  188. package/schematics/package.json +7 -0
  189. package/schematics/tsconfig.json +12 -6
  190. package/schematics/tsconfig.spec.json +2 -0
  191. package/schematics/utils/calls-providers-function.js +34 -1
  192. package/schematics/utils/calls-providers-function.js.map +1 -1
  193. package/schematics/utils/ng-module-utils.js +34 -1
  194. package/schematics/utils/ng-module-utils.js.map +1 -1
  195. package/types/fundamental-ngx-core-avatar-group-legacy.d.ts +1 -0
  196. package/types/fundamental-ngx-core-carousel.d.ts +2 -0
  197. package/types/fundamental-ngx-core-list.d.ts +2 -2
  198. package/types/fundamental-ngx-core-menu.d.ts +4 -4
  199. package/types/fundamental-ngx-core-notification.d.ts +0 -2
  200. package/types/fundamental-ngx-core-popover.d.ts +8 -6
  201. package/types/fundamental-ngx-core-product-switch.d.ts +6 -3
  202. package/types/fundamental-ngx-core-wizard.d.ts +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-form.mjs","sources":["../../../../libs/core/form/fieldset/fieldset.component.ts","../../../../libs/core/form/fieldset/fieldset.module.ts","../../../../libs/core/form/form-item-control/form-item-control.ts","../../../../libs/core/form/form-control/form-control.component.ts","../../../../libs/core/form/form-control/form-control.module.ts","../../../../libs/core/form/form-group/form-group.component.ts","../../../../libs/core/form/form-group/form-group.module.ts","../../../../libs/core/form/form-header/form-header.component.ts","../../../../libs/core/form/form-header/form-header.module.ts","../../../../libs/core/form/form-input-message-group/form-input-message-group.component.ts","../../../../libs/core/form/form-input-message-group/form-input-message-group.component.html","../../../../libs/core/form/form-input-message-group/form-input-message-group.module.ts","../../../../libs/core/form/form-label/form-label.component.ts","../../../../libs/core/form/form-label/form-label.component.html","../../../../libs/core/form/form-item/form-item.component.ts","../../../../libs/core/form/form-item/form-item.module.ts","../../../../libs/core/form/form-label/form-label.module.ts","../../../../libs/core/form/form-legend/form-legend.directive.ts","../../../../libs/core/form/form-legend/form-legend.module.ts","../../../../libs/core/form/form-message/constants.ts","../../../../libs/core/form/form-message/form-message.component.ts","../../../../libs/core/form/form-message/form-message.module.ts","../../../../libs/core/form/form-message/popover-form-message.service.ts","../../../../libs/core/form/form.module.ts","../../../../libs/core/form/fundamental-ngx-core-form.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * Used for easily displaying forms with a margin. Not necessary for fundamental forms to be functional.\n *\n * ```html\n * <fieldset fd-fieldset>\n * <div fd-form-item>\n * ...\n * </div>\n * </fieldset>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-fieldset]',\n template: `<ng-content></ng-content>`,\n styleUrl: './fieldset.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class FieldsetComponent {\n /** @hidden */\n @HostBinding('class.fd-fieldset')\n fdFieldClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { FieldsetComponent } from './fieldset.component';\n\n/**\n * @deprecated\n * Import `FieldsetComponent` directly as a standalone component.\n */\n@NgModule({\n imports: [FieldsetComponent],\n exports: [FieldsetComponent]\n})\nexport class FieldSetModule {}\n","import { ElementRef, InjectionToken, InputSignal, Provider, Type } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/** An injection token, that should be used with all controls, that can be put inside `fd-form-item` */\nexport const FORM_ITEM_CONTROL = new InjectionToken<FormItemControl>('Form Item Control');\n\n/** Utility function to provide `FORM_ITEM_CONTROL` injection token */\nexport function registerFormItemControl(control: Type<FormItemControl>): Provider {\n return {\n provide: FORM_ITEM_CONTROL,\n useExisting: control,\n multi: true\n };\n}\n\n/** Set of fields of FormItemControl component */\nexport interface FormItemControl {\n ariaLabelledBy: Nullable<string> | InputSignal<Nullable<string>>;\n elmRef?: ElementRef;\n}\n","import {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { Subscription } from 'rxjs';\nimport { FormItemControl, registerFormItemControl } from '../form-item-control/form-item-control';\n\n/**\n * Directive intended for use on form controls.\n *\n * ```html\n * <input type=\"text\" fd-form-control />\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input[fd-form-control], textarea[fd-form-control]',\n template: ` <ng-content></ng-content>`,\n styleUrl: './form-control.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [registerFormItemControl(FormControlComponent), contentDensityObserverProviders()]\n})\nexport class FormControlComponent implements CssClassBuilder, OnInit, OnChanges, OnDestroy, FormItemControl {\n /**\n * The state of the form control - applies css classes.\n * Can be `success`, `error`, `warning`, `information` or blank for default.\n */\n @Input()\n state: FormStates | null = null;\n\n /** Type of the form control. */\n @HostBinding('attr.type')\n @Input()\n type: string;\n\n /** user's custom classes */\n @Input()\n class: string;\n\n /** aria-label for form-control. */\n @Input()\n ariaLabel: string | undefined | null;\n\n /** aria-label for form-control. */\n @Input()\n ariaLabelledBy: string | undefined | null;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n protected get ariaLabelBinding(): string | null {\n return this.ariaLabelAttr || this.ariaLabel || null;\n }\n\n /** @hidden */\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledByBinding(): string | null {\n return this.ariaLabelledByAttr || this.ariaLabelledBy || null;\n }\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n public elementRef: ElementRef<HTMLInputElement | HTMLTextAreaElement>,\n _contentDensityObserver: ContentDensityObserver,\n @Attribute('aria-label') private ariaLabelAttr: string,\n @Attribute('aria-labelledby') private ariaLabelledByAttr: string\n ) {\n _contentDensityObserver.subscribe();\n }\n\n /**\n * @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n const tagName = this.elementRef.nativeElement.tagName.toLowerCase();\n return [\n this.state ? 'is-' + this.state : '',\n this.class,\n tagName === 'textarea' ? 'fd-textarea' : tagName === 'input' ? 'fd-input' : ''\n ];\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormControlComponent } from './form-control.component';\n\n/**\n * @deprecated\n * Import `FormControlComponent` directly as a standalone component.\n */\n@NgModule({\n imports: [FormControlComponent],\n exports: [FormControlComponent]\n})\nexport class FormControlModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n ViewEncapsulation,\n booleanAttribute\n} from '@angular/core';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Represents a form group element.\n *\n * ```html\n * <fd-form-group>\n * <div fd-form-item>\n * <input fd-form-control type=\"radio\" checked>\n * <fd-form-label>Option One</fd-form-label>\n * </div>\n * </fd-form-group>\n * ```\n */\n@Component({\n selector: 'fd-form-group',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n styleUrl: './form-group.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormGroupComponent implements CssClassBuilder, OnChanges, OnInit {\n /** @hidden */\n @HostBinding('class.fd-form-group')\n fdFormGroupClass = true;\n\n /** Determines if form items should be displayed inline or not\n * Default value is set to false;\n */\n @Input()\n isInline: boolean;\n\n /** Adds gap spacing between form items. */\n @Input({ transform: booleanAttribute })\n withSpacing = false;\n\n /** @hidden */\n class: string;\n\n /** @hidden */\n constructor(public elementRef: ElementRef) {}\n\n /** This method is responsible for building a css class based on current state\n * It is implementation of CssClassBuilder interface and\n * should be used with @applyCssClass decorator\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [this.isInline ? 'fd-form-group--inline' : '', this.withSpacing ? 'fd-form-group--with-spacing' : ''];\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormGroupComponent } from './form-group.component';\n\n/**\n * @deprecated\n * Import `FormGroupComponent` directly as a standalone component.\n */\n@NgModule({\n imports: [FormGroupComponent],\n exports: [FormGroupComponent]\n})\nexport class FormGroupModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n *\n * ```html\n * <h4 fd-form-header>Form Header</h4>\n * ```\n */\n@Component({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-form-header]',\n template: `<span class=\"fd-form-header__text\"><ng-content></ng-content></span>`,\n styleUrl: './form-header.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class FormHeaderComponent {\n /** @hidden */\n @HostBinding('class.fd-form-header')\n fdFormHeaderClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { FormHeaderComponent } from './form-header.component';\n\n/**\n * @deprecated\n * Import `FormHeaderComponent` directly as a standalone component.\n */\n@NgModule({\n imports: [FormHeaderComponent],\n exports: [FormHeaderComponent]\n})\nexport class FormHeaderModule {}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport {\n PopoverBodyComponent,\n PopoverComponent,\n PopoverControlComponent,\n TriggerConfig\n} from '@fundamental-ngx/core/popover';\n\nimport { Placement, PopoverFillMode } from '@fundamental-ngx/core/shared';\nimport { resolveTranslationSignalFn } from '@fundamental-ngx/i18n';\n\n@Component({\n selector: 'fd-form-input-message-group',\n templateUrl: './form-input-message-group.component.html',\n styleUrl: './form-input-message-group.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [PopoverComponent, PopoverControlComponent, PopoverBodyComponent, A11yModule]\n})\nexport class FormInputMessageGroupComponent {\n /**\n * To allow user to determine what event he wants to trigger the messages to show\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp).\n */\n @Input()\n triggers: (string | TriggerConfig)[] = ['focusin', 'focusout'];\n\n /**\n * Allows the user to decide if he wants to keep the error message after they click outside\n * Whether the popover should close when a click is made outside its boundaries.\n */\n @Input()\n closeOnOutsideClick = false;\n\n /**\n * Preset options for the message body width.\n * * `at-least` will apply a minimum width to the body equivalent to the width of the control.\n * * `equal` will apply a width to the body equivalent to the width of the control.\n * * Leave blank for no effect.\n */\n @Input()\n fillControlMode: PopoverFillMode;\n\n /** Whether the popover should have an arrow. */\n @Input()\n noArrow = true;\n\n /** Whether the popover should close when the escape key is pressed. */\n @Input()\n closeOnEscapeKey = false;\n\n /** The placement of the popover. It can be one of: top, top-start, top-end, bottom,\n * bottom-start, bottom-end, right, right-start, right-end, left, left-start, left-end. */\n @Input()\n placement: Placement = 'bottom-start';\n\n /**\n * @experimental\n * Container element, in which form message popover will be rendered.\n */\n @Input()\n placementContainer: 'body' | 'self' = 'body';\n\n /** Whether the message is open. Can be used through two-way binding. */\n @Input()\n isOpen = false;\n\n /**\n * Whether the popover should prevent page scrolling when space key is pressed.\n **/\n @Input()\n preventSpaceKeyScroll = true;\n\n /** Event emitted when the state of the isOpen property changes. */\n @Output()\n isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden */\n @ViewChild('popoverPlacementContainer', { static: false, read: ElementRef })\n _popoverPlacementContainer: ElementRef | null;\n\n /** @hidden */\n @ViewChild('popover')\n _popover: PopoverComponent;\n\n /** @hidden */\n readonly _elementRef = inject(ElementRef);\n\n /** @hidden Translated aria-label for the popover body (#14260). */\n protected readonly _popoverAriaLabel = resolveTranslationSignalFn()('coreFormInputMessageGroup.popoverAriaLabel');\n\n /**\n * Function is called every time message changes isOpen attribute\n */\n public openChanged(isOpen: boolean): void {\n this.isOpenChange.emit(isOpen);\n }\n}\n","@if (placementContainer === 'self') {\n <div #popoverPlacementContainer class=\"fd-form-input-message__container\"></div>\n}\n<fd-popover\n class=\"fd-form-input-message-group\"\n additionalBodyClass=\"fd-popover__body--input-message-group\"\n #popover\n [placement]=\"placement\"\n [triggers]=\"triggers\"\n [noArrow]=\"noArrow\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n [disableScrollbar]=\"true\"\n [isOpen]=\"isOpen\"\n [placementContainer]=\"_popoverPlacementContainer\"\n [preventSpaceKeyScroll]=\"preventSpaceKeyScroll\"\n [focusAutoCapture]=\"false\"\n [focusTrapped]=\"false\"\n [restoreFocusOnClose]=\"false\"\n [bodyAriaLabel]=\"_popoverAriaLabel()\"\n (isOpenChange)=\"openChanged($event)\"\n>\n <fd-popover-control>\n <ng-content></ng-content>\n </fd-popover-control>\n <fd-popover-body>\n <ng-content select=\"fd-form-message\"></ng-content>\n </fd-popover-body>\n</fd-popover>\n","import { NgModule } from '@angular/core';\nimport { FormInputMessageGroupComponent } from './form-input-message-group.component';\n\n/**\n * @deprecated\n * Import `FormInputMessageGroupComponent` directly as a standalone component.\n */\n@NgModule({\n imports: [FormInputMessageGroupComponent],\n exports: [FormInputMessageGroupComponent]\n})\nexport class FormInputMessageGroupModule {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n input,\n OnChanges,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { InlineHelpDirective } from '@fundamental-ngx/core/inline-help';\nimport { LinkComponent } from '@fundamental-ngx/core/link';\nimport { TriggerConfig } from '@fundamental-ngx/core/popover';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { InlineHelpFormPlacement } from '../inline-help-placement.type';\n\nlet formLabelIdCount = 0;\n\n/**\n * Label to be linked to a form control.\n *\n * ```html\n * <label fd-form-label for=\"input-id\">Label Text</label>\n * <input fd-form-control type=\"text\" id=\"input-id\" />\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-form-label]',\n templateUrl: './form-label.component.html',\n styleUrl: './form-label.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [LinkComponent, IconComponent, InlineHelpDirective, NgTemplateOutlet],\n host: {\n '[class.fd-form-label--disabled]': 'disabled()'\n }\n})\nexport class FormLabelComponent implements OnChanges {\n /** Whether form is required. */\n @Input()\n required = false;\n\n /** Whether label text should be appended with colon. */\n @Input()\n colon = false;\n\n /** Align label on end. */\n @Input()\n @HostBinding('class.fd-form-label__wrapper--align-end')\n alignLabelEnd = false;\n\n /** Inline help content. Could be just a string or complex template */\n @Input()\n inlineHelpContent: Nullable<string | TemplateRef<any>> = null;\n\n /** Glyph of icon triggering inline help. */\n @Input()\n inlineHelpGlyph = 'question-mark';\n\n /** Trigger event names for the inline help. */\n @Input()\n inlineHelpTriggers: (string | TriggerConfig)[] = [\n 'mouseenter',\n 'mouseleave',\n 'focusin',\n 'focusout',\n { trigger: 'click', openAction: true, closeAction: true }\n ];\n\n /**\n * The placement of the inline help.\n * It can be one of:\n * top, top-start, top-end, bottom, bottom-start, bottom-end,\n * right, right-start, right-end, left, left-start, left-end.\n */\n @Input()\n inlineHelpBodyPlacement: Placement;\n\n /** If inline help trigger icon should be placed after, or before text. */\n @Input()\n inlineHelpPlacement: InlineHelpFormPlacement = 'after';\n\n /** Whether to allow the text of the form label to wrap. */\n @Input()\n allowWrap = false;\n\n /** Inline help label. */\n @Input()\n set inlineHelpLabel(label: string) {\n this._inlineHelpLabel = label;\n }\n get inlineHelpLabel(): string {\n if (this._inlineHelpLabel) {\n return this._inlineHelpLabel;\n }\n return typeof this.inlineHelpContent === 'string' ? this.inlineHelpContent : '';\n }\n\n /** @hidden */\n @HostBinding('class.fd-form-label__wrapper')\n defaultClass = true;\n\n /** @hidden */\n @HostBinding('class.fd-form-label__wrapper--inline-help')\n inlineHelpClass = true;\n\n /** @hidden */\n @HostBinding('class.fd-form-label__wrapper--inline-help--after')\n inlineHelpAfter = true;\n\n /** @hidden */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('id')\n @HostBinding('id')\n set formLabelId(value: Nullable<string>) {\n this._formLabelId = value || this._formLabelId;\n }\n get formLabelId(): string {\n return this._formLabelId;\n }\n\n /** Whether the label is disabled. */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /** Whether this label is a unit description (e.g., \"kg\", \"USD\"). */\n readonly unitDescription = input(false, { transform: booleanAttribute });\n\n /** Whether this label stands alone (self-centering, no end margin). */\n readonly independent = input(false, { transform: booleanAttribute });\n\n /** @hidden */\n private _formLabelId = `fd-form-label-${++formLabelIdCount}`;\n\n /** @hidden */\n private _inlineHelpLabel?: string;\n\n /** @hidden */\n ngOnChanges(): void {\n this.inlineHelpClass = !!this.inlineHelpContent;\n this.inlineHelpAfter = !!this.inlineHelpContent && this.inlineHelpPlacement === 'after';\n }\n}\n","<ng-template #inlineHelpRef>\n <span fd-link [undecorated]=\"true\" class=\"fd-form-label__inline-help\">\n @if (inlineHelpContent) {\n <fd-icon\n class=\"fd-form-label__help\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpContent\"\n [ariaLabel]=\"inlineHelpLabel\"\n [placement]=\"inlineHelpBodyPlacement\"\n [tabindex]=\"0\"\n ></fd-icon>\n }\n </span>\n</ng-template>\n@if (inlineHelpPlacement === 'before' && inlineHelpContent) {\n <ng-template [ngTemplateOutlet]=\"inlineHelpRef\"></ng-template>\n}\n<span\n class=\"fd-form-label\"\n [class.fd-form-label--wrap]=\"allowWrap\"\n [class.fd-form-label--required]=\"required\"\n [class.fd-form-label--colon]=\"colon\"\n [class.fd-form-label--unit-description]=\"unitDescription()\"\n [class.fd-form-label--stand-alone]=\"independent()\"\n [attr.aria-disabled]=\"disabled() || null\"\n>\n <ng-content></ng-content>\n</span>\n@if (inlineHelpPlacement === 'after' && inlineHelpContent) {\n <ng-template [ngTemplateOutlet]=\"inlineHelpRef\"></ng-template>\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n Input,\n ViewEncapsulation\n} from '@angular/core';\nimport { FORM_ITEM_CONTROL, FormItemControl } from '../form-item-control/form-item-control';\nimport { FormLabelComponent } from '../form-label/form-label.component';\n\n/**\n * Directive to be applied to the parent of a form control.\n *\n * ```html\n * <div fd-form-item>\n * <input fd-form-control type=\"text\" />\n * </div>\n * ```\n */\n@Component({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-form-item]',\n template: `<ng-content></ng-content>`,\n styleUrl: './form-item.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormItemComponent implements AfterContentInit {\n /** Whether the form item is inline. */\n @Input()\n @HostBinding('class.fd-form-item--inline')\n isInline = false;\n\n /** Whether the form item is horizontal. */\n @Input()\n @HostBinding('class.fd-form-item--horizontal')\n horizontal = false;\n\n /** @hidden */\n @HostBinding('class.fd-form-item')\n fdFormItemClass = true;\n\n /** @hidden */\n @ContentChild(FormLabelComponent)\n formLabel?: FormLabelComponent;\n\n /** @hidden */\n @ContentChild(FORM_ITEM_CONTROL)\n formItemControl?: FormItemControl;\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this.formLabel && this.formItemControl && !this.formItemControl.ariaLabelledBy) {\n this.formItemControl.ariaLabelledBy = this.formLabel.formLabelId;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormItemComponent } from './form-item.component';\n\n/**\n * @deprecated\n * Import `FormItemComponent` directly as a standalone component.\n */\n@NgModule({\n imports: [FormItemComponent],\n exports: [FormItemComponent]\n})\nexport class FormItemModule {}\n","import { NgModule } from '@angular/core';\nimport { FormLabelComponent } from './form-label.component';\n\n/**\n * @deprecated\n * Import `FormLabelComponent` directly as a standalone component.\n */\n@NgModule({\n imports: [FormLabelComponent],\n exports: [FormLabelComponent]\n})\nexport class FormLabelModule {}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n/**\n * Applies css to a legend html element.\n *\n * <legend fd-form-legend>Legend</legend>\n */\n@Directive({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-form-legend]',\n host: {\n class: 'fd-fieldset__legend',\n '[class.is-disabled]': 'disabled()'\n }\n})\nexport class FormLegendDirective {\n /** Whether the legend is disabled. */\n readonly disabled = input(false, { transform: booleanAttribute });\n}\n","import { NgModule } from '@angular/core';\nimport { FormLegendDirective } from './form-legend.directive';\n\n/**\n * @deprecated\n * Import `FormLegendDirective` directly as a standalone directive.\n */\n@NgModule({\n imports: [FormLegendDirective],\n exports: [FormLegendDirective]\n})\nexport class FormLegendModule {}\n","import { FormStates } from '@fundamental-ngx/cdk/forms';\n\nexport const CSS_CLASS_NAME = {\n message: 'fd-form-message',\n messageStatic: 'fd-form-message--static',\n messageEmbedded: 'fd-form-message--embedded',\n messageSuccess: 'fd-form-message--success',\n messageError: 'fd-form-message--error',\n messageWarning: 'fd-form-message--warning',\n messageInformation: 'fd-form-message--information'\n};\n\n/** Get form message CSS class accordingly to its type */\nexport function getTypeClassName(size: FormStates): string | null {\n switch (size) {\n case 'error':\n return CSS_CLASS_NAME.messageError;\n case 'success':\n return CSS_CLASS_NAME.messageSuccess;\n case 'warning':\n return CSS_CLASS_NAME.messageWarning;\n case 'information':\n return CSS_CLASS_NAME.messageInformation;\n default:\n return null;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\nimport { CssClassBuilder, DynamicComponentService, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { CSS_CLASS_NAME, getTypeClassName } from './constants';\n/**\n * Form message. Intended to be displayed with a form control for validation purposes.\n */\n@Component({\n selector: 'fd-form-message',\n template: `<ng-content></ng-content>`,\n styleUrl: './form-message.component.scss',\n host: {\n 'aria-live': 'assertive',\n 'aria-atomic': 'true'\n },\n providers: [DynamicComponentService],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class FormMessageComponent implements CssClassBuilder, OnInit, OnChanges {\n /** Type of the message. */\n @Input()\n type: FormStates;\n\n /** Whether message should be in static mode, without popover. It's mostly used for forms component, that contain dropdown */\n @Input()\n static = false;\n\n /**\n * Whether message is used inside popovers or dialogs.\n * When it is enabled box shadow is removed and message is expanded to whole container width\n */\n @Input()\n embedded = false;\n\n /** User's custom classes */\n @Input()\n class: string;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef) {}\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n CSS_CLASS_NAME.message,\n this.static ? CSS_CLASS_NAME.messageStatic : '',\n this.embedded ? CSS_CLASS_NAME.messageEmbedded : '',\n getTypeClassName(this.type),\n this.class\n ].filter((v): v is string => !!v);\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormMessageComponent } from './form-message.component';\n\n/**\n * @deprecated\n * Import `FormMessageComponent` directly as a standalone component.\n */\n@NgModule({\n imports: [FormMessageComponent],\n exports: [FormMessageComponent]\n})\nexport class FormMessageModule {}\n","import { ElementRef, Injectable, TemplateRef } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { PopoverService } from '@fundamental-ngx/core/popover';\n\n@Injectable()\nexport class PopoverFormMessageService {\n /** @hidden */\n private _message: Nullable<string | TemplateRef<any>>;\n\n /** @hidden */\n private _hidden = false;\n\n /** @hidden */\n constructor(private _popoverService: PopoverService) {}\n\n /** @hidden */\n set message(message: Nullable<string | TemplateRef<any>>) {\n this._message = message;\n this._updatePopover();\n }\n\n /** @hidden */\n set triggers(triggers: string[]) {\n this._popoverService.triggers.set(triggers);\n this._popoverService._refreshTriggerListeners();\n }\n\n /** Initialise popover service with trigger element */\n init(triggerElement: ElementRef): void {\n this._popoverService.initialise(triggerElement);\n }\n\n /** Forces hidden state onto popover, without any collision with triggering events */\n hide(): void {\n this._hidden = true;\n this._updatePopover();\n }\n\n /** Removes hidden state onto popover, without any collision with triggering events */\n show(): void {\n this._hidden = false;\n this._updatePopover();\n }\n\n /** @hidden */\n private _getAdditionalClass(): string[] {\n return [this._shouldBeHidden() ? 'fd-popover__body--hidden' : ''].filter((v): v is string => !!v);\n }\n\n /** @hidden */\n private _updatePopover(): void {\n this._popoverService.additionalBodyClass.set(this._getAdditionalClass().join(' '));\n this._popoverService.updateContent(this._message, null);\n }\n\n /** @hidden */\n private _shouldBeHidden(): boolean {\n return this._hidden || !this._message;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FieldsetComponent } from './fieldset/fieldset.component';\nimport { FormControlComponent } from './form-control/form-control.component';\nimport { FormGroupComponent } from './form-group/form-group.component';\nimport { FormHeaderComponent } from './form-header/form-header.component';\nimport { FormInputMessageGroupComponent } from './form-input-message-group/form-input-message-group.component';\nimport { FormItemComponent } from './form-item/form-item.component';\nimport { FormLabelComponent } from './form-label/form-label.component';\nimport { FormLegendDirective } from './form-legend/form-legend.directive';\nimport { FormMessageComponent } from './form-message/form-message.component';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [\n FieldsetComponent,\n FormControlComponent,\n FormItemComponent,\n FormItemComponent,\n FormLabelComponent,\n FormHeaderComponent,\n FormLegendDirective,\n FormMessageComponent,\n FormInputMessageGroupComponent,\n FormGroupComponent\n ],\n exports: [\n FieldsetComponent,\n FormControlComponent,\n FormItemComponent,\n FormItemComponent,\n FormLabelComponent,\n FormHeaderComponent,\n FormLegendDirective,\n FormMessageComponent,\n FormInputMessageGroupComponent,\n FormGroupComponent\n ]\n})\nexport class FormModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-form.mjs","sources":["../../../../libs/core/form/fieldset/fieldset.component.ts","../../../../libs/core/form/fieldset/fieldset.module.ts","../../../../libs/core/form/form-item-control/form-item-control.ts","../../../../libs/core/form/form-control/form-control.component.ts","../../../../libs/core/form/form-control/form-control.module.ts","../../../../libs/core/form/form-group/form-group.component.ts","../../../../libs/core/form/form-group/form-group.module.ts","../../../../libs/core/form/form-header/form-header.component.ts","../../../../libs/core/form/form-header/form-header.module.ts","../../../../libs/core/form/form-input-message-group/form-input-message-group.component.ts","../../../../libs/core/form/form-input-message-group/form-input-message-group.component.html","../../../../libs/core/form/form-input-message-group/form-input-message-group.module.ts","../../../../libs/core/form/form-label/form-label.component.ts","../../../../libs/core/form/form-label/form-label.component.html","../../../../libs/core/form/form-item/form-item.component.ts","../../../../libs/core/form/form-item/form-item.module.ts","../../../../libs/core/form/form-label/form-label.module.ts","../../../../libs/core/form/form-legend/form-legend.directive.ts","../../../../libs/core/form/form-legend/form-legend.module.ts","../../../../libs/core/form/form-message/constants.ts","../../../../libs/core/form/form-message/form-message.component.ts","../../../../libs/core/form/form-message/form-message.module.ts","../../../../libs/core/form/form-message/popover-form-message.service.ts","../../../../libs/core/form/form.module.ts","../../../../libs/core/form/fundamental-ngx-core-form.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * Used for easily displaying forms with a margin. Not necessary for fundamental forms to be functional.\n *\n * ```html\n * <fieldset fd-fieldset>\n * <div fd-form-item>\n * ...\n * </div>\n * </fieldset>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-fieldset]',\n template: `<ng-content></ng-content>`,\n styleUrl: './fieldset.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class FieldsetComponent {\n /** @hidden */\n @HostBinding('class.fd-fieldset')\n fdFieldClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { FieldsetComponent } from './fieldset.component';\n\n/**\n * @deprecated\n * Import `FieldsetComponent` directly as a standalone component.\n */\n@NgModule({\n imports: [FieldsetComponent],\n exports: [FieldsetComponent]\n})\nexport class FieldSetModule {}\n","import { ElementRef, InjectionToken, InputSignal, Provider, Type } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/** An injection token, that should be used with all controls, that can be put inside `fd-form-item` */\nexport const FORM_ITEM_CONTROL = new InjectionToken<FormItemControl>('Form Item Control');\n\n/** Utility function to provide `FORM_ITEM_CONTROL` injection token */\nexport function registerFormItemControl(control: Type<FormItemControl>): Provider {\n return {\n provide: FORM_ITEM_CONTROL,\n useExisting: control,\n multi: true\n };\n}\n\n/** Set of fields of FormItemControl component */\nexport interface FormItemControl {\n ariaLabelledBy: Nullable<string> | InputSignal<Nullable<string>>;\n elmRef?: ElementRef;\n}\n","import {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { Subscription } from 'rxjs';\nimport { FormItemControl, registerFormItemControl } from '../form-item-control/form-item-control';\n\n/**\n * Directive intended for use on form controls.\n *\n * ```html\n * <input type=\"text\" fd-form-control />\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input[fd-form-control], textarea[fd-form-control]',\n template: ` <ng-content></ng-content>`,\n styleUrl: './form-control.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [registerFormItemControl(FormControlComponent), contentDensityObserverProviders()]\n})\nexport class FormControlComponent implements CssClassBuilder, OnInit, OnChanges, OnDestroy, FormItemControl {\n /**\n * The state of the form control - applies css classes.\n * Can be `success`, `error`, `warning`, `information` or blank for default.\n */\n @Input()\n state: FormStates | null = null;\n\n /** Type of the form control. */\n @HostBinding('attr.type')\n @Input()\n type: string;\n\n /** user's custom classes */\n @Input()\n class: string;\n\n /** aria-label for form-control. */\n @Input()\n ariaLabel: string | undefined | null;\n\n /** aria-label for form-control. */\n @Input()\n ariaLabelledBy: string | undefined | null;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n protected get ariaLabelBinding(): string | null {\n return this.ariaLabelAttr || this.ariaLabel || null;\n }\n\n /** @hidden */\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledByBinding(): string | null {\n return this.ariaLabelledByAttr || this.ariaLabelledBy || null;\n }\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n public elementRef: ElementRef<HTMLInputElement | HTMLTextAreaElement>,\n _contentDensityObserver: ContentDensityObserver,\n @Attribute('aria-label') private ariaLabelAttr: string,\n @Attribute('aria-labelledby') private ariaLabelledByAttr: string\n ) {\n _contentDensityObserver.subscribe();\n }\n\n /**\n * @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n const tagName = this.elementRef.nativeElement.tagName.toLowerCase();\n return [\n this.state ? 'is-' + this.state : '',\n this.class,\n tagName === 'textarea' ? 'fd-textarea' : tagName === 'input' ? 'fd-input' : ''\n ];\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormControlComponent } from './form-control.component';\n\n/**\n * @deprecated\n * Import `FormControlComponent` directly as a standalone component.\n */\n@NgModule({\n imports: [FormControlComponent],\n exports: [FormControlComponent]\n})\nexport class FormControlModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n ViewEncapsulation,\n booleanAttribute\n} from '@angular/core';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Represents a form group element.\n *\n * ```html\n * <fd-form-group>\n * <div fd-form-item>\n * <input fd-form-control type=\"radio\" checked>\n * <fd-form-label>Option One</fd-form-label>\n * </div>\n * </fd-form-group>\n * ```\n */\n@Component({\n selector: 'fd-form-group',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n styleUrl: './form-group.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormGroupComponent implements CssClassBuilder, OnChanges, OnInit {\n /** @hidden */\n @HostBinding('class.fd-form-group')\n fdFormGroupClass = true;\n\n /** Determines if form items should be displayed inline or not\n * Default value is set to false;\n */\n @Input()\n isInline: boolean;\n\n /** Adds gap spacing between form items. */\n @Input({ transform: booleanAttribute })\n withSpacing = false;\n\n /** @hidden */\n class: string;\n\n /** @hidden */\n constructor(public elementRef: ElementRef) {}\n\n /** This method is responsible for building a css class based on current state\n * It is implementation of CssClassBuilder interface and\n * should be used with @applyCssClass decorator\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [this.isInline ? 'fd-form-group--inline' : '', this.withSpacing ? 'fd-form-group--with-spacing' : ''];\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormGroupComponent } from './form-group.component';\n\n/**\n * @deprecated\n * Import `FormGroupComponent` directly as a standalone component.\n */\n@NgModule({\n imports: [FormGroupComponent],\n exports: [FormGroupComponent]\n})\nexport class FormGroupModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n *\n * ```html\n * <h4 fd-form-header>Form Header</h4>\n * ```\n */\n@Component({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-form-header]',\n template: `<span class=\"fd-form-header__text\"><ng-content></ng-content></span>`,\n styleUrl: './form-header.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class FormHeaderComponent {\n /** @hidden */\n @HostBinding('class.fd-form-header')\n fdFormHeaderClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { FormHeaderComponent } from './form-header.component';\n\n/**\n * @deprecated\n * Import `FormHeaderComponent` directly as a standalone component.\n */\n@NgModule({\n imports: [FormHeaderComponent],\n exports: [FormHeaderComponent]\n})\nexport class FormHeaderModule {}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport {\n PopoverBodyComponent,\n PopoverComponent,\n PopoverControlComponent,\n TriggerConfig\n} from '@fundamental-ngx/core/popover';\n\nimport { Placement, PopoverFillMode } from '@fundamental-ngx/core/shared';\nimport { resolveTranslationSignalFn } from '@fundamental-ngx/i18n';\n\n@Component({\n selector: 'fd-form-input-message-group',\n templateUrl: './form-input-message-group.component.html',\n styleUrl: './form-input-message-group.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [PopoverComponent, PopoverControlComponent, PopoverBodyComponent, A11yModule]\n})\nexport class FormInputMessageGroupComponent {\n /**\n * To allow user to determine what event he wants to trigger the messages to show\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp).\n */\n @Input()\n triggers: (string | TriggerConfig)[] = ['focusin', 'focusout'];\n\n /**\n * Allows the user to decide if he wants to keep the error message after they click outside\n * Whether the popover should close when a click is made outside its boundaries.\n */\n @Input()\n closeOnOutsideClick = false;\n\n /**\n * Preset options for the message body width.\n * * `at-least` will apply a minimum width to the body equivalent to the width of the control.\n * * `equal` will apply a width to the body equivalent to the width of the control.\n * * Leave blank for no effect.\n */\n @Input()\n fillControlMode: PopoverFillMode;\n\n /** Whether the popover should have an arrow. */\n @Input()\n noArrow = true;\n\n /** Whether the popover should close when the escape key is pressed. */\n @Input()\n closeOnEscapeKey = false;\n\n /** The placement of the popover. It can be one of: top, top-start, top-end, bottom,\n * bottom-start, bottom-end, right, right-start, right-end, left, left-start, left-end. */\n @Input()\n placement: Placement = 'bottom-start';\n\n /**\n * @experimental\n * Container element, in which form message popover will be rendered.\n */\n @Input()\n placementContainer: 'body' | 'self' = 'body';\n\n /** Whether the message is open. Can be used through two-way binding. */\n @Input()\n isOpen = false;\n\n /**\n * Whether the popover should prevent page scrolling when space key is pressed.\n **/\n @Input()\n preventSpaceKeyScroll = true;\n\n /** Event emitted when the state of the isOpen property changes. */\n @Output()\n isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden */\n @ViewChild('popoverPlacementContainer', { static: false, read: ElementRef })\n _popoverPlacementContainer: ElementRef | null;\n\n /** @hidden */\n @ViewChild('popover')\n _popover: PopoverComponent;\n\n /** @hidden */\n readonly _elementRef = inject(ElementRef);\n\n /** @hidden Translated aria-label for the popover body (#14260). */\n protected readonly _popoverAriaLabel = resolveTranslationSignalFn()('coreFormInputMessageGroup.popoverAriaLabel');\n\n /**\n * Function is called every time message changes isOpen attribute\n */\n public openChanged(isOpen: boolean): void {\n this.isOpenChange.emit(isOpen);\n }\n}\n","@if (placementContainer === 'self') {\n <div #popoverPlacementContainer class=\"fd-form-input-message__container\"></div>\n}\n<fd-popover\n class=\"fd-form-input-message-group\"\n additionalBodyClass=\"fd-popover__body--input-message-group\"\n #popover\n [placement]=\"placement\"\n [triggers]=\"triggers\"\n [noArrow]=\"noArrow\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n [disableScrollbar]=\"true\"\n [isOpen]=\"isOpen\"\n [placementContainer]=\"_popoverPlacementContainer\"\n [preventSpaceKeyScroll]=\"preventSpaceKeyScroll\"\n [focusAutoCapture]=\"false\"\n [focusTrapped]=\"false\"\n [restoreFocusOnClose]=\"false\"\n [bodyAriaLabel]=\"_popoverAriaLabel()\"\n (isOpenChange)=\"openChanged($event)\"\n>\n <fd-popover-control>\n <ng-content></ng-content>\n </fd-popover-control>\n <fd-popover-body>\n <ng-content select=\"fd-form-message\"></ng-content>\n </fd-popover-body>\n</fd-popover>\n","import { NgModule } from '@angular/core';\nimport { FormInputMessageGroupComponent } from './form-input-message-group.component';\n\n/**\n * @deprecated\n * Import `FormInputMessageGroupComponent` directly as a standalone component.\n */\n@NgModule({\n imports: [FormInputMessageGroupComponent],\n exports: [FormInputMessageGroupComponent]\n})\nexport class FormInputMessageGroupModule {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n input,\n OnChanges,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { InlineHelpDirective } from '@fundamental-ngx/core/inline-help';\nimport { LinkComponent } from '@fundamental-ngx/core/link';\nimport { TriggerConfig } from '@fundamental-ngx/core/popover';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { InlineHelpFormPlacement } from '../inline-help-placement.type';\n\nlet formLabelIdCount = 0;\n\n/**\n * Label to be linked to a form control.\n *\n * ```html\n * <label fd-form-label for=\"input-id\">Label Text</label>\n * <input fd-form-control type=\"text\" id=\"input-id\" />\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-form-label]',\n templateUrl: './form-label.component.html',\n styleUrl: './form-label.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [LinkComponent, IconComponent, InlineHelpDirective, NgTemplateOutlet],\n host: {\n '[class.fd-form-label--disabled]': 'disabled()'\n }\n})\nexport class FormLabelComponent implements OnChanges {\n /** Whether form is required. */\n @Input()\n required = false;\n\n /** Whether label text should be appended with colon. */\n @Input()\n colon = false;\n\n /** Align label on end. */\n @Input()\n @HostBinding('class.fd-form-label__wrapper--align-end')\n alignLabelEnd = false;\n\n /** Inline help content. Could be just a string or complex template */\n @Input()\n inlineHelpContent: Nullable<string | TemplateRef<any>> = null;\n\n /** Glyph of icon triggering inline help. */\n @Input()\n inlineHelpGlyph = 'question-mark';\n\n /** Trigger event names for the inline help. */\n @Input()\n inlineHelpTriggers: (string | TriggerConfig)[] = [\n 'mouseenter',\n 'mouseleave',\n 'focusin',\n 'focusout',\n { trigger: 'click', openAction: true, closeAction: true }\n ];\n\n /**\n * The placement of the inline help.\n * It can be one of:\n * top, top-start, top-end, bottom, bottom-start, bottom-end,\n * right, right-start, right-end, left, left-start, left-end.\n */\n @Input()\n inlineHelpBodyPlacement: Placement;\n\n /** If inline help trigger icon should be placed after, or before text. */\n @Input()\n inlineHelpPlacement: InlineHelpFormPlacement = 'after';\n\n /** Whether to allow the text of the form label to wrap. */\n @Input()\n allowWrap = false;\n\n /** Inline help label. */\n @Input()\n set inlineHelpLabel(label: string) {\n this._inlineHelpLabel = label;\n }\n get inlineHelpLabel(): string {\n if (this._inlineHelpLabel) {\n return this._inlineHelpLabel;\n }\n return typeof this.inlineHelpContent === 'string' ? this.inlineHelpContent : '';\n }\n\n /** @hidden */\n @HostBinding('class.fd-form-label__wrapper')\n defaultClass = true;\n\n /** @hidden */\n @HostBinding('class.fd-form-label__wrapper--inline-help')\n inlineHelpClass = true;\n\n /** @hidden */\n @HostBinding('class.fd-form-label__wrapper--inline-help--after')\n inlineHelpAfter = true;\n\n /** @hidden */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('id')\n @HostBinding('id')\n set formLabelId(value: Nullable<string>) {\n this._formLabelId = value || this._formLabelId;\n }\n get formLabelId(): string {\n return this._formLabelId;\n }\n\n /** Whether the label is disabled. */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /** Whether this label is a unit description (e.g., \"kg\", \"USD\"). */\n readonly unitDescription = input(false, { transform: booleanAttribute });\n\n /** Whether this label stands alone (self-centering, no end margin). */\n readonly independent = input(false, { transform: booleanAttribute });\n\n /** @hidden */\n private _formLabelId = `fd-form-label-${++formLabelIdCount}`;\n\n /** @hidden */\n private _inlineHelpLabel?: string;\n\n /** @hidden */\n ngOnChanges(): void {\n this.inlineHelpClass = !!this.inlineHelpContent;\n this.inlineHelpAfter = !!this.inlineHelpContent && this.inlineHelpPlacement === 'after';\n }\n}\n","<ng-template #inlineHelpRef>\n <span fd-link [undecorated]=\"true\" class=\"fd-form-label__inline-help\">\n @if (inlineHelpContent) {\n <fd-icon\n class=\"fd-form-label__help\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpContent\"\n [ariaLabel]=\"inlineHelpLabel\"\n [placement]=\"inlineHelpBodyPlacement\"\n [tabindex]=\"0\"\n ></fd-icon>\n }\n </span>\n</ng-template>\n@if (inlineHelpPlacement === 'before' && inlineHelpContent) {\n <ng-template [ngTemplateOutlet]=\"inlineHelpRef\"></ng-template>\n}\n<span\n class=\"fd-form-label\"\n [class.fd-form-label--wrap]=\"allowWrap\"\n [class.fd-form-label--required]=\"required\"\n [class.fd-form-label--colon]=\"colon\"\n [class.fd-form-label--unit-description]=\"unitDescription()\"\n [class.fd-form-label--stand-alone]=\"independent()\"\n [attr.aria-disabled]=\"disabled() || null\"\n>\n <ng-content></ng-content>\n</span>\n@if (inlineHelpPlacement === 'after' && inlineHelpContent) {\n <ng-template [ngTemplateOutlet]=\"inlineHelpRef\"></ng-template>\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n Input,\n ViewEncapsulation\n} from '@angular/core';\nimport { FORM_ITEM_CONTROL, FormItemControl } from '../form-item-control/form-item-control';\nimport { FormLabelComponent } from '../form-label/form-label.component';\n\n/**\n * Directive to be applied to the parent of a form control.\n *\n * ```html\n * <div fd-form-item>\n * <input fd-form-control type=\"text\" />\n * </div>\n * ```\n */\n@Component({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-form-item]',\n template: `<ng-content></ng-content>`,\n styleUrl: './form-item.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormItemComponent implements AfterContentInit {\n /** Whether the form item is inline. */\n @Input()\n @HostBinding('class.fd-form-item--inline')\n isInline = false;\n\n /** Whether the form item is horizontal. */\n @Input()\n @HostBinding('class.fd-form-item--horizontal')\n horizontal = false;\n\n /** @hidden */\n @HostBinding('class.fd-form-item')\n fdFormItemClass = true;\n\n /** @hidden */\n @ContentChild(FormLabelComponent)\n formLabel?: FormLabelComponent;\n\n /** @hidden */\n @ContentChild(FORM_ITEM_CONTROL)\n formItemControl?: FormItemControl;\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this.formLabel && this.formItemControl && !this.formItemControl.ariaLabelledBy) {\n this.formItemControl.ariaLabelledBy = this.formLabel.formLabelId;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormItemComponent } from './form-item.component';\n\n/**\n * @deprecated\n * Import `FormItemComponent` directly as a standalone component.\n */\n@NgModule({\n imports: [FormItemComponent],\n exports: [FormItemComponent]\n})\nexport class FormItemModule {}\n","import { NgModule } from '@angular/core';\nimport { FormLabelComponent } from './form-label.component';\n\n/**\n * @deprecated\n * Import `FormLabelComponent` directly as a standalone component.\n */\n@NgModule({\n imports: [FormLabelComponent],\n exports: [FormLabelComponent]\n})\nexport class FormLabelModule {}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n/**\n * Applies css to a legend html element.\n *\n * <legend fd-form-legend>Legend</legend>\n */\n@Directive({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-form-legend]',\n host: {\n class: 'fd-fieldset__legend',\n '[class.is-disabled]': 'disabled()'\n }\n})\nexport class FormLegendDirective {\n /** Whether the legend is disabled. */\n readonly disabled = input(false, { transform: booleanAttribute });\n}\n","import { NgModule } from '@angular/core';\nimport { FormLegendDirective } from './form-legend.directive';\n\n/**\n * @deprecated\n * Import `FormLegendDirective` directly as a standalone directive.\n */\n@NgModule({\n imports: [FormLegendDirective],\n exports: [FormLegendDirective]\n})\nexport class FormLegendModule {}\n","import { FormStates } from '@fundamental-ngx/cdk/forms';\n\nexport const CSS_CLASS_NAME = {\n message: 'fd-form-message',\n messageStatic: 'fd-form-message--static',\n messageEmbedded: 'fd-form-message--embedded',\n messageSuccess: 'fd-form-message--success',\n messageError: 'fd-form-message--error',\n messageWarning: 'fd-form-message--warning',\n messageInformation: 'fd-form-message--information'\n};\n\n/** Get form message CSS class accordingly to its type */\nexport function getTypeClassName(size: FormStates): string | null {\n switch (size) {\n case 'error':\n return CSS_CLASS_NAME.messageError;\n case 'success':\n return CSS_CLASS_NAME.messageSuccess;\n case 'warning':\n return CSS_CLASS_NAME.messageWarning;\n case 'information':\n return CSS_CLASS_NAME.messageInformation;\n default:\n return null;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\nimport { CssClassBuilder, DynamicComponentService, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { CSS_CLASS_NAME, getTypeClassName } from './constants';\n/**\n * Form message. Intended to be displayed with a form control for validation purposes.\n */\n@Component({\n selector: 'fd-form-message',\n template: `<ng-content></ng-content>`,\n styleUrl: './form-message.component.scss',\n host: {\n 'aria-live': 'assertive',\n 'aria-atomic': 'true'\n },\n providers: [DynamicComponentService],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class FormMessageComponent implements CssClassBuilder, OnInit, OnChanges {\n /** Type of the message. */\n @Input()\n type: FormStates;\n\n /** Whether message should be in static mode, without popover. It's mostly used for forms component, that contain dropdown */\n @Input()\n static = false;\n\n /**\n * Whether message is used inside popovers or dialogs.\n * When it is enabled box shadow is removed and message is expanded to whole container width\n */\n @Input()\n embedded = false;\n\n /** User's custom classes */\n @Input()\n class: string;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef) {}\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n CSS_CLASS_NAME.message,\n this.static ? CSS_CLASS_NAME.messageStatic : '',\n this.embedded ? CSS_CLASS_NAME.messageEmbedded : '',\n getTypeClassName(this.type),\n this.class\n ].filter((v): v is string => !!v);\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormMessageComponent } from './form-message.component';\n\n/**\n * @deprecated\n * Import `FormMessageComponent` directly as a standalone component.\n */\n@NgModule({\n imports: [FormMessageComponent],\n exports: [FormMessageComponent]\n})\nexport class FormMessageModule {}\n","import { ElementRef, Injectable, TemplateRef } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { PopoverService } from '@fundamental-ngx/core/popover';\n\n@Injectable()\nexport class PopoverFormMessageService {\n /** @hidden */\n private _message: Nullable<string | TemplateRef<any>>;\n\n /** @hidden */\n private _hidden = false;\n\n /** @hidden */\n constructor(private _popoverService: PopoverService) {}\n\n /** @hidden */\n set message(message: Nullable<string | TemplateRef<any>>) {\n this._message = message;\n this._updatePopover();\n }\n\n /** @hidden */\n set triggers(triggers: string[]) {\n this._popoverService.triggers.set(triggers);\n this._popoverService._refreshTriggerListeners();\n }\n\n /** Initialise popover service with trigger element */\n init(triggerElement: ElementRef): void {\n this._popoverService.initialise(triggerElement);\n }\n\n /** Forces hidden state onto popover, without any collision with triggering events */\n hide(): void {\n this._hidden = true;\n this._updatePopover();\n }\n\n /** Removes hidden state onto popover, without any collision with triggering events */\n show(): void {\n this._hidden = false;\n this._updatePopover();\n }\n\n /** @hidden */\n private _getAdditionalClass(): string[] {\n return [this._shouldBeHidden() ? 'fd-popover__body--hidden' : ''].filter((v): v is string => !!v);\n }\n\n /** @hidden */\n private _updatePopover(): void {\n this._popoverService.additionalBodyClass.set(this._getAdditionalClass().join(' '));\n this._popoverService.updateContent(this._message, null);\n }\n\n /** @hidden */\n private _shouldBeHidden(): boolean {\n return this._hidden || !this._message;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FieldsetComponent } from './fieldset/fieldset.component';\nimport { FormControlComponent } from './form-control/form-control.component';\nimport { FormGroupComponent } from './form-group/form-group.component';\nimport { FormHeaderComponent } from './form-header/form-header.component';\nimport { FormInputMessageGroupComponent } from './form-input-message-group/form-input-message-group.component';\nimport { FormItemComponent } from './form-item/form-item.component';\nimport { FormLabelComponent } from './form-label/form-label.component';\nimport { FormLegendDirective } from './form-legend/form-legend.directive';\nimport { FormMessageComponent } from './form-message/form-message.component';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [\n FieldsetComponent,\n FormControlComponent,\n FormItemComponent,\n FormItemComponent,\n FormLabelComponent,\n FormHeaderComponent,\n FormLegendDirective,\n FormMessageComponent,\n FormInputMessageGroupComponent,\n FormGroupComponent\n ],\n exports: [\n FieldsetComponent,\n FormControlComponent,\n FormItemComponent,\n FormItemComponent,\n FormLabelComponent,\n FormHeaderComponent,\n FormLegendDirective,\n FormMessageComponent,\n FormInputMessageGroupComponent,\n FormGroupComponent\n ]\n})\nexport class FormModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -211,20 +211,24 @@ class FormattedTextComponent {
211
211
  /**
212
212
  * HTML text content to be formatted and rendered.
213
213
  */
214
- this.htmlText = input(...(ngDevMode ? [undefined, { debugName: "htmlText" }] : []));
214
+ this.htmlText = input(/* @ts-ignore */
215
+ ...(ngDevMode ? [undefined, { debugName: "htmlText" }] : /* istanbul ignore next */ []));
215
216
  /**
216
217
  * Target attribute for anchor tags in the formatted content.
217
218
  * @default '_blank'
218
219
  */
219
- this.convertedLinksDefaultTarget = input('_blank', ...(ngDevMode ? [{ debugName: "convertedLinksDefaultTarget" }] : []));
220
+ this.convertedLinksDefaultTarget = input('_blank', /* @ts-ignore */
221
+ ...(ngDevMode ? [{ debugName: "convertedLinksDefaultTarget" }] : /* istanbul ignore next */ []));
220
222
  /**
221
223
  * Height style for component.
222
224
  */
223
- this.height = input(...(ngDevMode ? [undefined, { debugName: "height" }] : []));
225
+ this.height = input(/* @ts-ignore */
226
+ ...(ngDevMode ? [undefined, { debugName: "height" }] : /* istanbul ignore next */ []));
224
227
  /**
225
228
  * Width style for component.
226
229
  */
227
- this.width = input(...(ngDevMode ? [undefined, { debugName: "width" }] : []));
230
+ this.width = input(/* @ts-ignore */
231
+ ...(ngDevMode ? [undefined, { debugName: "width" }] : /* istanbul ignore next */ []));
228
232
  /**
229
233
  * Computed formatted and sanitized HTML content.
230
234
  * Automatically updates when htmlText or convertedLinksDefaultTarget changes.
@@ -241,16 +245,17 @@ class FormattedTextComponent {
241
245
  });
242
246
  const text = this._htmlSanitizer.sanitizeHtml(rawText);
243
247
  return this._domSanitizer.bypassSecurityTrustHtml(text.trim());
244
- }, ...(ngDevMode ? [{ debugName: "formattedText" }] : []));
248
+ }, /* @ts-ignore */
249
+ ...(ngDevMode ? [{ debugName: "formattedText" }] : /* istanbul ignore next */ []));
245
250
  /** @hidden */
246
251
  this._htmlSanitizer = new HtmlSanitizer();
247
252
  /** @hidden */
248
253
  this._domSanitizer = inject(DomSanitizer);
249
254
  }
250
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: FormattedTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
251
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: FormattedTextComponent, isStandalone: true, selector: "fd-formatted-text", inputs: { htmlText: { classPropertyName: "htmlText", publicName: "htmlText", isSignal: true, isRequired: false, transformFunction: null }, convertedLinksDefaultTarget: { classPropertyName: "convertedLinksDefaultTarget", publicName: "convertedLinksDefaultTarget", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.fd-formatted-text-with-height": "height()", "class.fd-formatted-text-with-width": "width()", "style.height": "height()", "style.width": "width()", "innerHTML": "formattedText()" } }, exportAs: ["fd-formatted-text"], ngImport: i0, template: ``, isInline: true, styles: ["fd-formatted-text{display:block}fd-formatted-text.fd-formatted-text-with-height{overflow-y:auto}fd-formatted-text.fd-formatted-text-with-width{overflow-x:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
255
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FormattedTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
256
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: FormattedTextComponent, isStandalone: true, selector: "fd-formatted-text", inputs: { htmlText: { classPropertyName: "htmlText", publicName: "htmlText", isSignal: true, isRequired: false, transformFunction: null }, convertedLinksDefaultTarget: { classPropertyName: "convertedLinksDefaultTarget", publicName: "convertedLinksDefaultTarget", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.fd-formatted-text-with-height": "height()", "class.fd-formatted-text-with-width": "width()", "style.height": "height()", "style.width": "width()", "innerHTML": "formattedText()" } }, exportAs: ["fd-formatted-text"], ngImport: i0, template: ``, isInline: true, styles: ["fd-formatted-text{display:block}fd-formatted-text.fd-formatted-text-with-height{overflow-y:auto}fd-formatted-text.fd-formatted-text-with-width{overflow-x:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
252
257
  }
253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: FormattedTextComponent, decorators: [{
258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FormattedTextComponent, decorators: [{
254
259
  type: Component,
255
260
  args: [{ selector: 'fd-formatted-text', exportAs: 'fd-formatted-text', template: ``, host: {
256
261
  '[class.fd-formatted-text-with-height]': 'height()',
@@ -267,11 +272,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
267
272
  * This module will be removed in a future version.
268
273
  */
269
274
  class FormattedTextModule {
270
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: FormattedTextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
271
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.0", ngImport: i0, type: FormattedTextModule, imports: [FormattedTextComponent], exports: [FormattedTextComponent] }); }
272
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: FormattedTextModule }); }
275
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FormattedTextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
276
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: FormattedTextModule, imports: [FormattedTextComponent], exports: [FormattedTextComponent] }); }
277
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FormattedTextModule }); }
273
278
  }
274
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: FormattedTextModule, decorators: [{
279
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FormattedTextModule, decorators: [{
275
280
  type: NgModule,
276
281
  args: [{
277
282
  exports: [FormattedTextComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-formatted-text.mjs","sources":["../../../../libs/core/formatted-text/utils/html-sanitizer.ts","../../../../libs/core/formatted-text/formatted-text.component.ts","../../../../libs/core/formatted-text/formatted-text.module.ts","../../../../libs/core/formatted-text/fundamental-ngx-core-formatted-text.ts"],"sourcesContent":["interface StringKey<T> {\n [key: string]: T;\n}\n\ninterface SanitizeWrapper {\n iframe: HTMLIFrameElement | null;\n iframeDoc: Document | null;\n}\n\nexport class HtmlSanitizer {\n /** @hidden */\n tagWhitelist: StringKey<boolean> = {};\n /** @hidden */\n attributeWhitelist: StringKey<string | boolean> = {};\n\n /** @hidden */\n private _schemaWhiteList: string[] = ['http', 'https', 'ftp', 'mailto'];\n\n /** @hidden */\n private _uriAttributes: StringKey<boolean> = {\n href: true\n };\n\n /** @hidden */\n private _safeWrapper: SanitizeWrapper | null = {\n iframe: null,\n iframeDoc: null\n };\n\n /** @hidden */\n constructor() {\n this.extendTags();\n }\n\n /** @hidden */\n get defTagWhitelist(): StringKey<boolean> {\n return {\n A: true,\n ABBR: true,\n BLOCKQUOTE: true,\n BR: true,\n CITE: true,\n CODE: true,\n DL: true,\n DT: true,\n DD: true,\n EM: true,\n H1: true,\n H2: true,\n H3: true,\n H4: true,\n H5: true,\n H6: true,\n P: true,\n PRE: true,\n STRONG: true,\n SPAN: true,\n U: true,\n UL: true,\n OL: true,\n LI: true\n };\n }\n\n /** @hidden */\n get defAttributeWhitelist(): StringKey<string | boolean> {\n return {\n class: true,\n style: true,\n href: true,\n target: '_blank',\n download: true,\n hreflang: true,\n rel: true,\n type: true,\n title: true\n };\n }\n\n /** @hidden */\n extendTags(customTags?: StringKey<boolean | string>): void {\n this.tagWhitelist = { ...this.defTagWhitelist, ...customTags, BODY: true };\n }\n\n /** @hidden */\n extendAttrs(customAttrs?: StringKey<boolean | string>): void {\n this.attributeWhitelist = { ...this.defAttributeWhitelist, ...customAttrs };\n }\n\n /** @hidden */\n sanitizeHtml(input: string): string {\n input = input.trim();\n if (input.length === 0) {\n return '';\n }\n\n this._safeWrapper = this._getSafeWrapper();\n if (!this._safeWrapper?.iframeDoc) {\n return '';\n }\n\n this._safeWrapper.iframeDoc.body.innerHTML = input;\n\n const resultElement = this._makeSanitizedCopy(this._safeWrapper.iframeDoc.body);\n this._removeSafeWrapper();\n\n return resultElement.innerHTML;\n }\n\n /** @hidden */\n private _makeSanitizedCopy(node: Node): HTMLElement {\n let newNode = node;\n if (node.nodeType === Node.TEXT_NODE) {\n newNode = node.cloneNode(true) as HTMLElement;\n } else if (node.nodeType === Node.ELEMENT_NODE && this.tagWhitelist[(node as HTMLElement).tagName]) {\n newNode = this._extendLinkTarget(this._implementTag(node as HTMLElement));\n } else {\n newNode = document.createDocumentFragment();\n }\n\n return newNode as HTMLElement;\n }\n\n /** @hidden */\n private _implementTag(node: HTMLElement): HTMLElement {\n const newNode = this._safeWrapper?.iframeDoc?.createElement(node.tagName);\n\n if (!newNode) {\n throw new Error('Failed to create node');\n }\n\n for (const key in this.attributeWhitelist) {\n if (this.attributeWhitelist[key]) {\n const allowed = this.attributeWhitelist[key];\n const origin = node.getAttribute(key);\n\n if (key in node || key === 'class') {\n if (this._uriAttributes[key] && this._validateBySchema(origin)) {\n continue;\n }\n switch (typeof allowed) {\n case 'string':\n newNode.setAttribute(key, allowed);\n break;\n default:\n if (allowed && origin) {\n newNode.setAttribute(key, origin);\n }\n }\n }\n }\n }\n\n for (const child of Array.from(node.childNodes)) {\n const subCopy = this._makeSanitizedCopy(child);\n if (subCopy) {\n newNode.appendChild(subCopy);\n }\n }\n\n return newNode;\n }\n\n /** @hidden */\n private _extendLinkTarget(node: HTMLElement): HTMLElement {\n if (node.tagName === 'A') {\n const hrefAttr = node.getAttribute('href');\n if (!hrefAttr || /^#/.test(hrefAttr)) {\n node.removeAttribute('target');\n } else {\n const defTarget = this.attributeWhitelist['target'] || '_blank';\n node.setAttribute('target', defTarget.toString());\n }\n }\n\n return node;\n }\n\n /** @hidden */\n private _getSafeWrapper(): SanitizeWrapper | null {\n const iframe = document.createElement('iframe');\n if (iframe.sandbox === undefined) {\n console.warn('Your browser does not support sandboxed iframes. Please upgrade to a modern browser.');\n return null;\n }\n iframe.setAttribute('sandbox', 'allow-same-origin');\n iframe.style.setProperty('display', 'none');\n document.body.appendChild(iframe);\n const iframeDoc = iframe.contentDocument || iframe.contentWindow?.document;\n\n if (!iframeDoc) {\n console.warn('Could not resolve document from the provided iframe');\n return null;\n }\n if (!iframeDoc?.body) {\n // Instead of using the deprecated .write method, we directly create and append a body element.\n const body = iframeDoc.createElement('body');\n iframeDoc.appendChild(body);\n }\n\n return { iframe, iframeDoc };\n }\n\n /** @hidden */\n private _removeSafeWrapper(): void {\n if (this._safeWrapper?.iframe) {\n document.body.removeChild(this._safeWrapper.iframe);\n }\n }\n\n /** @hidden */\n private _validateBySchema(value: string | null): boolean {\n return !!value && value.indexOf(':') > -1 && !this._startsWithAny(value, this._schemaWhiteList);\n }\n\n /** @hidden */\n private _startsWithAny(str: string, substrings: string[]): boolean {\n return !!str && substrings.some((value) => str.indexOf(value) === 0);\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, computed, inject, input } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport { HtmlSanitizer } from './utils/html-sanitizer';\n\nexport type LinkTargetType = '' | '_blank' | '_self' | '_top' | '_parent' | '_search';\n\n/**\n * Formatted-text component renders sanitized HTML content with configurable link behavior.\n *\n * This component accepts HTML text input and renders it after sanitization.\n * Only safe HTML tags are preserved; potentially dangerous content is stripped.\n *\n * @example\n * ```html\n * <fd-formatted-text\n * [htmlText]=\"'<p>Hello <a href=\\'#\\'>World</a></p>'\"\n * [convertedLinksDefaultTarget]=\"'_blank'\"\n * [height]=\"'200px'\">\n * </fd-formatted-text>\n * ```\n *\n * @selector fd-formatted-text\n * @exportAs fd-formatted-text\n */\n@Component({\n selector: 'fd-formatted-text',\n exportAs: 'fd-formatted-text',\n template: ``,\n host: {\n '[class.fd-formatted-text-with-height]': 'height()',\n '[class.fd-formatted-text-with-width]': 'width()',\n '[style.height]': 'height()',\n '[style.width]': 'width()',\n '[innerHTML]': 'formattedText()'\n },\n styles: [\n `\n fd-formatted-text {\n display: block;\n }\n fd-formatted-text.fd-formatted-text-with-height {\n overflow-y: auto;\n }\n fd-formatted-text.fd-formatted-text-with-width {\n overflow-x: auto;\n }\n `\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormattedTextComponent {\n /**\n * HTML text content to be formatted and rendered.\n */\n readonly htmlText = input<string>();\n\n /**\n * Target attribute for anchor tags in the formatted content.\n * @default '_blank'\n */\n readonly convertedLinksDefaultTarget = input<LinkTargetType>('_blank');\n\n /**\n * Height style for component.\n */\n readonly height = input<string>();\n\n /**\n * Width style for component.\n */\n readonly width = input<string>();\n\n /**\n * Computed formatted and sanitized HTML content.\n * Automatically updates when htmlText or convertedLinksDefaultTarget changes.\n * @hidden\n */\n protected readonly formattedText = computed<SafeHtml>(() => {\n const rawText = this.htmlText();\n\n // Early return for empty content\n if (!rawText || !rawText.trim()) {\n return '';\n }\n\n this._htmlSanitizer.extendAttrs({\n target: this.convertedLinksDefaultTarget()\n });\n const text = this._htmlSanitizer.sanitizeHtml(rawText);\n return this._domSanitizer.bypassSecurityTrustHtml(text.trim());\n });\n\n /** @hidden */\n private readonly _htmlSanitizer = new HtmlSanitizer();\n\n /** @hidden */\n private readonly _domSanitizer = inject(DomSanitizer);\n}\n","import { NgModule } from '@angular/core';\n\nimport { FormattedTextComponent } from './formatted-text.component';\n\n/**\n * @deprecated\n * Import `FormattedTextComponent` directly as a standalone component.\n * This module will be removed in a future version.\n */\n@NgModule({\n exports: [FormattedTextComponent],\n imports: [FormattedTextComponent]\n})\nexport class FormattedTextModule {}\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-formatted-text.mjs","sources":["../../../../libs/core/formatted-text/utils/html-sanitizer.ts","../../../../libs/core/formatted-text/formatted-text.component.ts","../../../../libs/core/formatted-text/formatted-text.module.ts","../../../../libs/core/formatted-text/fundamental-ngx-core-formatted-text.ts"],"sourcesContent":["interface StringKey<T> {\n [key: string]: T;\n}\n\ninterface SanitizeWrapper {\n iframe: HTMLIFrameElement | null;\n iframeDoc: Document | null;\n}\n\nexport class HtmlSanitizer {\n /** @hidden */\n tagWhitelist: StringKey<boolean> = {};\n /** @hidden */\n attributeWhitelist: StringKey<string | boolean> = {};\n\n /** @hidden */\n private _schemaWhiteList: string[] = ['http', 'https', 'ftp', 'mailto'];\n\n /** @hidden */\n private _uriAttributes: StringKey<boolean> = {\n href: true\n };\n\n /** @hidden */\n private _safeWrapper: SanitizeWrapper | null = {\n iframe: null,\n iframeDoc: null\n };\n\n /** @hidden */\n constructor() {\n this.extendTags();\n }\n\n /** @hidden */\n get defTagWhitelist(): StringKey<boolean> {\n return {\n A: true,\n ABBR: true,\n BLOCKQUOTE: true,\n BR: true,\n CITE: true,\n CODE: true,\n DL: true,\n DT: true,\n DD: true,\n EM: true,\n H1: true,\n H2: true,\n H3: true,\n H4: true,\n H5: true,\n H6: true,\n P: true,\n PRE: true,\n STRONG: true,\n SPAN: true,\n U: true,\n UL: true,\n OL: true,\n LI: true\n };\n }\n\n /** @hidden */\n get defAttributeWhitelist(): StringKey<string | boolean> {\n return {\n class: true,\n style: true,\n href: true,\n target: '_blank',\n download: true,\n hreflang: true,\n rel: true,\n type: true,\n title: true\n };\n }\n\n /** @hidden */\n extendTags(customTags?: StringKey<boolean | string>): void {\n this.tagWhitelist = { ...this.defTagWhitelist, ...customTags, BODY: true };\n }\n\n /** @hidden */\n extendAttrs(customAttrs?: StringKey<boolean | string>): void {\n this.attributeWhitelist = { ...this.defAttributeWhitelist, ...customAttrs };\n }\n\n /** @hidden */\n sanitizeHtml(input: string): string {\n input = input.trim();\n if (input.length === 0) {\n return '';\n }\n\n this._safeWrapper = this._getSafeWrapper();\n if (!this._safeWrapper?.iframeDoc) {\n return '';\n }\n\n this._safeWrapper.iframeDoc.body.innerHTML = input;\n\n const resultElement = this._makeSanitizedCopy(this._safeWrapper.iframeDoc.body);\n this._removeSafeWrapper();\n\n return resultElement.innerHTML;\n }\n\n /** @hidden */\n private _makeSanitizedCopy(node: Node): HTMLElement {\n let newNode = node;\n if (node.nodeType === Node.TEXT_NODE) {\n newNode = node.cloneNode(true) as HTMLElement;\n } else if (node.nodeType === Node.ELEMENT_NODE && this.tagWhitelist[(node as HTMLElement).tagName]) {\n newNode = this._extendLinkTarget(this._implementTag(node as HTMLElement));\n } else {\n newNode = document.createDocumentFragment();\n }\n\n return newNode as HTMLElement;\n }\n\n /** @hidden */\n private _implementTag(node: HTMLElement): HTMLElement {\n const newNode = this._safeWrapper?.iframeDoc?.createElement(node.tagName);\n\n if (!newNode) {\n throw new Error('Failed to create node');\n }\n\n for (const key in this.attributeWhitelist) {\n if (this.attributeWhitelist[key]) {\n const allowed = this.attributeWhitelist[key];\n const origin = node.getAttribute(key);\n\n if (key in node || key === 'class') {\n if (this._uriAttributes[key] && this._validateBySchema(origin)) {\n continue;\n }\n switch (typeof allowed) {\n case 'string':\n newNode.setAttribute(key, allowed);\n break;\n default:\n if (allowed && origin) {\n newNode.setAttribute(key, origin);\n }\n }\n }\n }\n }\n\n for (const child of Array.from(node.childNodes)) {\n const subCopy = this._makeSanitizedCopy(child);\n if (subCopy) {\n newNode.appendChild(subCopy);\n }\n }\n\n return newNode;\n }\n\n /** @hidden */\n private _extendLinkTarget(node: HTMLElement): HTMLElement {\n if (node.tagName === 'A') {\n const hrefAttr = node.getAttribute('href');\n if (!hrefAttr || /^#/.test(hrefAttr)) {\n node.removeAttribute('target');\n } else {\n const defTarget = this.attributeWhitelist['target'] || '_blank';\n node.setAttribute('target', defTarget.toString());\n }\n }\n\n return node;\n }\n\n /** @hidden */\n private _getSafeWrapper(): SanitizeWrapper | null {\n const iframe = document.createElement('iframe');\n if (iframe.sandbox === undefined) {\n console.warn('Your browser does not support sandboxed iframes. Please upgrade to a modern browser.');\n return null;\n }\n iframe.setAttribute('sandbox', 'allow-same-origin');\n iframe.style.setProperty('display', 'none');\n document.body.appendChild(iframe);\n const iframeDoc = iframe.contentDocument || iframe.contentWindow?.document;\n\n if (!iframeDoc) {\n console.warn('Could not resolve document from the provided iframe');\n return null;\n }\n if (!iframeDoc?.body) {\n // Instead of using the deprecated .write method, we directly create and append a body element.\n const body = iframeDoc.createElement('body');\n iframeDoc.appendChild(body);\n }\n\n return { iframe, iframeDoc };\n }\n\n /** @hidden */\n private _removeSafeWrapper(): void {\n if (this._safeWrapper?.iframe) {\n document.body.removeChild(this._safeWrapper.iframe);\n }\n }\n\n /** @hidden */\n private _validateBySchema(value: string | null): boolean {\n return !!value && value.indexOf(':') > -1 && !this._startsWithAny(value, this._schemaWhiteList);\n }\n\n /** @hidden */\n private _startsWithAny(str: string, substrings: string[]): boolean {\n return !!str && substrings.some((value) => str.indexOf(value) === 0);\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, computed, inject, input } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport { HtmlSanitizer } from './utils/html-sanitizer';\n\nexport type LinkTargetType = '' | '_blank' | '_self' | '_top' | '_parent' | '_search';\n\n/**\n * Formatted-text component renders sanitized HTML content with configurable link behavior.\n *\n * This component accepts HTML text input and renders it after sanitization.\n * Only safe HTML tags are preserved; potentially dangerous content is stripped.\n *\n * @example\n * ```html\n * <fd-formatted-text\n * [htmlText]=\"'<p>Hello <a href=\\'#\\'>World</a></p>'\"\n * [convertedLinksDefaultTarget]=\"'_blank'\"\n * [height]=\"'200px'\">\n * </fd-formatted-text>\n * ```\n *\n * @selector fd-formatted-text\n * @exportAs fd-formatted-text\n */\n@Component({\n selector: 'fd-formatted-text',\n exportAs: 'fd-formatted-text',\n template: ``,\n host: {\n '[class.fd-formatted-text-with-height]': 'height()',\n '[class.fd-formatted-text-with-width]': 'width()',\n '[style.height]': 'height()',\n '[style.width]': 'width()',\n '[innerHTML]': 'formattedText()'\n },\n styles: [\n `\n fd-formatted-text {\n display: block;\n }\n fd-formatted-text.fd-formatted-text-with-height {\n overflow-y: auto;\n }\n fd-formatted-text.fd-formatted-text-with-width {\n overflow-x: auto;\n }\n `\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormattedTextComponent {\n /**\n * HTML text content to be formatted and rendered.\n */\n readonly htmlText = input<string>();\n\n /**\n * Target attribute for anchor tags in the formatted content.\n * @default '_blank'\n */\n readonly convertedLinksDefaultTarget = input<LinkTargetType>('_blank');\n\n /**\n * Height style for component.\n */\n readonly height = input<string>();\n\n /**\n * Width style for component.\n */\n readonly width = input<string>();\n\n /**\n * Computed formatted and sanitized HTML content.\n * Automatically updates when htmlText or convertedLinksDefaultTarget changes.\n * @hidden\n */\n protected readonly formattedText = computed<SafeHtml>(() => {\n const rawText = this.htmlText();\n\n // Early return for empty content\n if (!rawText || !rawText.trim()) {\n return '';\n }\n\n this._htmlSanitizer.extendAttrs({\n target: this.convertedLinksDefaultTarget()\n });\n const text = this._htmlSanitizer.sanitizeHtml(rawText);\n return this._domSanitizer.bypassSecurityTrustHtml(text.trim());\n });\n\n /** @hidden */\n private readonly _htmlSanitizer = new HtmlSanitizer();\n\n /** @hidden */\n private readonly _domSanitizer = inject(DomSanitizer);\n}\n","import { NgModule } from '@angular/core';\n\nimport { FormattedTextComponent } from './formatted-text.component';\n\n/**\n * @deprecated\n * Import `FormattedTextComponent` directly as a standalone component.\n * This module will be removed in a future version.\n */\n@NgModule({\n exports: [FormattedTextComponent],\n imports: [FormattedTextComponent]\n})\nexport class FormattedTextModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -11,22 +11,26 @@ class GenericTagComponent {
11
11
  * Can be one of the following: 'error' | 'success' | 'warning' | 'information'.
12
12
  * For default Generic Tag omit this property.
13
13
  */
14
- this.type = input(...(ngDevMode ? [undefined, { debugName: "type" }] : []));
14
+ this.type = input(/* @ts-ignore */
15
+ ...(ngDevMode ? [undefined, { debugName: "type" }] : /* istanbul ignore next */ []));
15
16
  /**
16
17
  * Required input
17
18
  * The KPI Name of the Generic tag. Standard text.
18
19
  * Always use a meaningful title. Keep it simple and try to use no more than 3 words.
19
20
  */
20
- this.name = input.required(...(ngDevMode ? [{ debugName: "name" }] : []));
21
+ this.name = input.required(/* @ts-ignore */
22
+ ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
21
23
  /**
22
24
  * The KPI Value of the Generic tag.
23
25
  * The value represents the numeric (key) attribute and its unit.
24
26
  */
25
- this.value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
27
+ this.value = input(/* @ts-ignore */
28
+ ...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
26
29
  /**
27
30
  * Aria defines role description for the Generic Tag
28
31
  */
29
- this.ariaRoleDescription = input('Generic Tag', ...(ngDevMode ? [{ debugName: "ariaRoleDescription" }] : []));
32
+ this.ariaRoleDescription = input('Generic Tag', /* @ts-ignore */
33
+ ...(ngDevMode ? [{ debugName: "ariaRoleDescription" }] : /* istanbul ignore next */ []));
30
34
  /** @hidden */
31
35
  this.elementRef = inject(ElementRef);
32
36
  /**
@@ -36,7 +40,8 @@ class GenericTagComponent {
36
40
  this.iconGlyph = computed(() => {
37
41
  const tagType = this.type();
38
42
  return tagType ? `message-${tagType}` : '';
39
- }, ...(ngDevMode ? [{ debugName: "iconGlyph" }] : []));
43
+ }, /* @ts-ignore */
44
+ ...(ngDevMode ? [{ debugName: "iconGlyph" }] : /* istanbul ignore next */ []));
40
45
  /**
41
46
  * Computed CSS class string for the component.
42
47
  * @hidden
@@ -48,17 +53,18 @@ class GenericTagComponent {
48
53
  classes.push(`fd-generic-tag--${tagType}`);
49
54
  }
50
55
  return classes.join(' ');
51
- }, ...(ngDevMode ? [{ debugName: "cssClass" }] : []));
56
+ }, /* @ts-ignore */
57
+ ...(ngDevMode ? [{ debugName: "cssClass" }] : /* istanbul ignore next */ []));
52
58
  }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: GenericTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: GenericTagComponent, isStandalone: true, selector: "[fd-generic-tag]", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, ariaRoleDescription: { classPropertyName: "ariaRoleDescription", publicName: "ariaRoleDescription", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "button" }, properties: { "attr.tabindex": "0", "attr.aria-roledescription": "ariaRoleDescription()", "class": "cssClass()" } }, providers: [
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: GenericTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: GenericTagComponent, isStandalone: true, selector: "[fd-generic-tag]", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, ariaRoleDescription: { classPropertyName: "ariaRoleDescription", publicName: "ariaRoleDescription", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "button" }, properties: { "attr.tabindex": "0", "attr.aria-roledescription": "ariaRoleDescription()", "class": "cssClass()" } }, providers: [
55
61
  {
56
62
  provide: FD_GENERIC_TAG_COMPONENT,
57
63
  useExisting: GenericTagComponent
58
64
  }
59
65
  ], ngImport: i0, template: "@if (type()) {\n <fd-icon class=\"fd-generic-tag__icon\" [glyph]=\"iconGlyph()\" role=\"presentation\" aria-hidden=\"true\"></fd-icon>\n}\n<span class=\"fd-generic-tag__name\">{{ name() }}</span>\n@if (value()) {\n <span class=\"fd-generic-tag__value\">{{ value() }}</span>\n}\n", styles: [".fd-generic-tag{--fdGenericTag_Spacing:.375rem;--fdGenericTag_Margin:.5625rem;--fdGenericTag_Decorator_Position:0;--fdGenericTag_Decorator_Color:var(--sapNeutralElementColor);--fdGenericTag_Background_Color:var(--sapNeutralBackground);--fdGenericTag_Icon_Color:var(--sapNeutralElementColor);--fdGenericTag_Name_Color:var(--sapList_TextColor);--fdGenericTag_Name_Text_Shadow:var(--sapContent_TextShadow);--fdGenericTag_Value_Color:var(--sapNeutralTextColor);--fdGenericTag_Value_Text_Shadow:var(--sapContent_TextShadow);--fdGenericTag_Text_Min_Width:1.5625rem;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--fdGenericTag_Decorator_Position) 0/var(--fdGenericTag_Spacing) 100% no-repeat -webkit-gradient(linear,left bottom,left top,from(var(--fdGenericTag_Decorator_Color)),to(var(--fdGenericTag_Decorator_Color)));background:var(--fdGenericTag_Decorator_Position) 0/var(--fdGenericTag_Spacing) 100% no-repeat linear-gradient(0deg,var(--fdGenericTag_Decorator_Color),var(--fdGenericTag_Decorator_Color));background-color:var(--fdGenericTag_Background_Color);border-radius:var(--sapButton_BorderCornerRadius);-webkit-box-shadow:var(--sapContent_Shadow0);box-shadow:var(--sapContent_Shadow0);cursor:pointer;gap:var(--fdGenericTag_Spacing);height:1.625rem;margin-block:var(--fdGenericTag_Margin);margin-inline:0;padding-inline:.75rem .375rem;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-generic-tag:after,.fd-generic-tag:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-generic-tag__icon[class*=sap-icon]{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;color:var(--fdGenericTag_Icon_Color);font-size:1rem}.fd-generic-tag__name,.fd-generic-tag__value{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;min-width:var(--fdGenericTag_Text_Min_Width);overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap}.fd-generic-tag__name:after,.fd-generic-tag__name:before,.fd-generic-tag__value:after,.fd-generic-tag__value:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-generic-tag__name{color:var(--fdGenericTag_Name_Color);text-shadow:var(--fdGenericTag_Name_Text_Shadow)}.fd-generic-tag__value{-webkit-margin-start:.75rem;color:var(--fdGenericTag_Value_Color);margin-inline-start:.75rem;text-shadow:var(--fdGenericTag_Value_Text_Shadow)}.fd-generic-tag__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-generic-tag.is-hover,.fd-generic-tag:hover{--fdGenericTag_Background_Color:var(--sapList_Hover_Background);--fdGenericTag_Name_Color:var(--fdGenericTag_Name_Color_Hover);--fdGenericTag_Value_Color:var(--fdGenericTag_Value_Color_Hover_Neutral);--fdGenericTag_Icon_Color:var(--fdGenericTag_Icon_Color_Hover_Neutral);--fdGenericTag_Name_Text_Shadow:none;--fdGenericTag_Value_Text_Shadow:none}.fd-generic-tag.is-active,.fd-generic-tag:active{--fdGenericTag_Background_Color:var(--sapList_Active_Background);--fdGenericTag_Name_Color:var(--sapList_Active_TextColor);--fdGenericTag_Name_Text_Shadow:none;--fdGenericTag_Icon_Color:var(--sapList_Active_TextColor);--fdGenericTag_Value_Color:var(--sapList_Active_TextColor);--fdGenericTag_Value_Text_Shadow:none}.fd-generic-tag.is-active,.fd-generic-tag.is-focus,.fd-generic-tag:active,.fd-generic-tag:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:var(--fdGenericTag_Spacing_Outline_Offset)}.fd-generic-tag.is-focus,.fd-generic-tag:focus{z-index:5}.fd-generic-tag[dir=rtl],[dir=rtl] .fd-generic-tag{--fdGenericTag_Decorator_Position:100%}.fd-generic-tag[class*=-compact],[class*=-compact] .fd-generic-tag:not([class*=-cozy]){--fdGenericTag_Margin:.1875rem}.fd-generic-tag.fd-generic-tag--error{--fdGenericTag_Value_Color:var(--sapNegativeTextColor);--fdGenericTag_Icon_Color:var(--sapNegativeElementColor);--fdGenericTag_Decorator_Color:var(--sapNegativeElementColor);--fdGenericTag_Background_Color:var(--sapErrorBackground)}.fd-generic-tag.fd-generic-tag--error.is-hover,.fd-generic-tag.fd-generic-tag--error:hover{--fdGenericTag_Value_Color:var(--fdGenericTag_Value_Color_Hover_Error);--fdGenericTag_Icon_Color:var(--fdGenericTag_Icon_Color_Hover_Error);--fdGenericTag_Background_Color:var(--sapList_Hover_Background);--fdGenericTag_Name_Color:var(--fdGenericTag_Name_Color_Hover)}.fd-generic-tag.fd-generic-tag--error.is-active,.fd-generic-tag.fd-generic-tag--error:active{--fdGenericTag_Name_Text_Shadow:none;--fdGenericTag_Value_Text_Shadow:none;--fdGenericTag_Background_Color:var(--sapList_Active_Background);--fdGenericTag_Name_Color:var(--sapList_Active_TextColor);--fdGenericTag_Icon_Color:var(--sapList_Active_TextColor);--fdGenericTag_Value_Color:var(--sapList_Active_TextColor)}.fd-generic-tag.fd-generic-tag--warning{--fdGenericTag_Value_Color:var(--sapCriticalTextColor);--fdGenericTag_Icon_Color:var(--sapCriticalElementColor);--fdGenericTag_Decorator_Color:var(--sapCriticalElementColor);--fdGenericTag_Background_Color:var(--sapWarningBackground)}.fd-generic-tag.fd-generic-tag--warning.is-hover,.fd-generic-tag.fd-generic-tag--warning:hover{--fdGenericTag_Value_Color:var(--fdGenericTag_Value_Color_Hover_Warning);--fdGenericTag_Icon_Color:var(--fdGenericTag_Icon_Color_Hover_Warning);--fdGenericTag_Background_Color:var(--sapList_Hover_Background);--fdGenericTag_Name_Color:var(--fdGenericTag_Name_Color_Hover)}.fd-generic-tag.fd-generic-tag--warning.is-active,.fd-generic-tag.fd-generic-tag--warning:active{--fdGenericTag_Name_Text_Shadow:none;--fdGenericTag_Value_Text_Shadow:none;--fdGenericTag_Background_Color:var(--sapList_Active_Background);--fdGenericTag_Name_Color:var(--sapList_Active_TextColor);--fdGenericTag_Icon_Color:var(--sapList_Active_TextColor);--fdGenericTag_Value_Color:var(--sapList_Active_TextColor)}.fd-generic-tag.fd-generic-tag--success{--fdGenericTag_Value_Color:var(--sapPositiveTextColor);--fdGenericTag_Icon_Color:var(--sapPositiveElementColor);--fdGenericTag_Decorator_Color:var(--sapPositiveElementColor);--fdGenericTag_Background_Color:var(--sapSuccessBackground)}.fd-generic-tag.fd-generic-tag--success.is-hover,.fd-generic-tag.fd-generic-tag--success:hover{--fdGenericTag_Value_Color:var(--fdGenericTag_Value_Color_Hover_Success);--fdGenericTag_Icon_Color:var(--fdGenericTag_Icon_Color_Hover_Success);--fdGenericTag_Background_Color:var(--sapList_Hover_Background);--fdGenericTag_Name_Color:var(--fdGenericTag_Name_Color_Hover)}.fd-generic-tag.fd-generic-tag--success.is-active,.fd-generic-tag.fd-generic-tag--success:active{--fdGenericTag_Name_Text_Shadow:none;--fdGenericTag_Value_Text_Shadow:none;--fdGenericTag_Background_Color:var(--sapList_Active_Background);--fdGenericTag_Name_Color:var(--sapList_Active_TextColor);--fdGenericTag_Icon_Color:var(--sapList_Active_TextColor);--fdGenericTag_Value_Color:var(--sapList_Active_TextColor)}.fd-generic-tag.fd-generic-tag--information{--fdGenericTag_Value_Color:var(--sapInformativeTextColor);--fdGenericTag_Icon_Color:var(--sapInformativeElementColor);--fdGenericTag_Decorator_Color:var(--sapInformativeElementColor);--fdGenericTag_Background_Color:var(--sapInformationBackground)}.fd-generic-tag.fd-generic-tag--information.is-hover,.fd-generic-tag.fd-generic-tag--information:hover{--fdGenericTag_Value_Color:var(--fdGenericTag_Value_Color_Hover_Information);--fdGenericTag_Icon_Color:var(--fdGenericTag_Icon_Color_Hover_Information);--fdGenericTag_Background_Color:var(--sapList_Hover_Background);--fdGenericTag_Name_Color:var(--fdGenericTag_Name_Color_Hover)}.fd-generic-tag.fd-generic-tag--information.is-active,.fd-generic-tag.fd-generic-tag--information:active{--fdGenericTag_Name_Text_Shadow:none;--fdGenericTag_Value_Text_Shadow:none;--fdGenericTag_Background_Color:var(--sapList_Active_Background);--fdGenericTag_Name_Color:var(--sapList_Active_TextColor);--fdGenericTag_Icon_Color:var(--sapList_Active_TextColor);--fdGenericTag_Value_Color:var(--sapList_Active_TextColor)}\n/*! Bundled license information:\n\nfundamental-styles/dist/generic-tag.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
60
66
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: GenericTagComponent, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: GenericTagComponent, decorators: [{
62
68
  type: Component,
63
69
  args: [{ selector: '[fd-generic-tag]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
64
70
  {
@@ -78,11 +84,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
78
84
  * Use direct imports of components and directives.
79
85
  */
80
86
  class GenericTagModule {
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: GenericTagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
82
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.0", ngImport: i0, type: GenericTagModule, imports: [GenericTagComponent], exports: [GenericTagComponent] }); }
83
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: GenericTagModule, imports: [GenericTagComponent] }); }
87
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: GenericTagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
88
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: GenericTagModule, imports: [GenericTagComponent], exports: [GenericTagComponent] }); }
89
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: GenericTagModule, imports: [GenericTagComponent] }); }
84
90
  }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: GenericTagModule, decorators: [{
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: GenericTagModule, decorators: [{
86
92
  type: NgModule,
87
93
  args: [{
88
94
  imports: [GenericTagComponent],