@fundamental-ngx/core 0.61.4 → 0.61.5

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 (31) hide show
  1. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +1 -1
  2. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  3. package/fesm2022/fundamental-ngx-core-carousel.mjs +7 -8
  4. package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
  5. package/fesm2022/fundamental-ngx-core-form.mjs +10 -16
  6. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  7. package/fesm2022/fundamental-ngx-core-icon.mjs +2 -2
  8. package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
  9. package/fesm2022/fundamental-ngx-core-inline-help.mjs +34 -15
  10. package/fesm2022/fundamental-ngx-core-inline-help.mjs.map +1 -1
  11. package/fesm2022/fundamental-ngx-core-menu.mjs +40 -28
  12. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  13. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +75 -31
  14. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  15. package/fesm2022/fundamental-ngx-core-popover.mjs +152 -16
  16. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  17. package/fesm2022/fundamental-ngx-core-product-switch.mjs +23 -27
  18. package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
  19. package/fesm2022/fundamental-ngx-core-shellbar.mjs +2 -2
  20. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  21. package/fesm2022/fundamental-ngx-core-tabs.mjs +19 -25
  22. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  23. package/package.json +3 -3
  24. package/types/fundamental-ngx-core-carousel.d.ts +2 -3
  25. package/types/fundamental-ngx-core-form.d.ts +7 -10
  26. package/types/fundamental-ngx-core-inline-help.d.ts +20 -15
  27. package/types/fundamental-ngx-core-menu.d.ts +17 -9
  28. package/types/fundamental-ngx-core-multi-combobox.d.ts +18 -1
  29. package/types/fundamental-ngx-core-popover.d.ts +48 -3
  30. package/types/fundamental-ngx-core-product-switch.d.ts +20 -24
  31. package/types/fundamental-ngx-core-tabs.d.ts +5 -10
@@ -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 * <div fd-fieldset\n * <div fd-form-item>\n * ...\n * </div>\n * </div>\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, Nullable, 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: Nullable<string>;\n\n /** aria-label for form-control. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n protected get ariaLabelBinding(): string {\n return this.ariaLabelAttr || this.ariaLabel || '';\n }\n\n /** @hidden */\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledByBinding(): string {\n return this.ariaLabelledByAttr || this.ariaLabelledBy || '';\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} 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 standalone: true\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 /** @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' : ''];\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';\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 /**\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 (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 ChangeDetectionStrategy,\n Component,\n HostBinding,\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 standalone: true,\n imports: [LinkComponent, IconComponent, InlineHelpDirective, NgTemplateOutlet]\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 /** @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--allow-wrap]=\"allowWrap\"\n [class.fd-form-label--required]=\"required\"\n [class.fd-form-label--colon]=\"colon\"\n>\n <ng-content></ng-content>\n</span>\n@if (inlineHelpPlacement === 'after' && inlineHelpContent) {\n <ng-template [ngTemplateOutlet]=\"inlineHelpRef\"></ng-template>\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n Input,\n NgZone,\n ViewEncapsulation\n} from '@angular/core';\nimport { first } from 'rxjs';\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 standalone: true\n})\nexport class FormItemComponent implements AfterViewInit {\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 constructor(private ngZone: NgZone) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.formLabel && this.formItemControl && !this.formItemControl.ariaLabelledBy) {\n this.ngZone.onStable.pipe(first()).subscribe(() => {\n if (this.formLabel && this.formItemControl) {\n this.formItemControl.ariaLabelledBy = this.formLabel.formLabelId;\n }\n });\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 { Directive, HostBinding } 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 standalone: true\n})\nexport class FormLegendDirective {\n /** @hidden */\n @HostBinding('class.fd-fieldset__legend')\n fdFormLegendClass = true;\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 * <div fd-fieldset\n * <div fd-form-item>\n * ...\n * </div>\n * </div>\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} 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 standalone: true\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 /** @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' : ''];\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';\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 /**\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 (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 ChangeDetectionStrategy,\n Component,\n HostBinding,\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 standalone: true,\n imports: [LinkComponent, IconComponent, InlineHelpDirective, NgTemplateOutlet]\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 /** @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--allow-wrap]=\"allowWrap\"\n [class.fd-form-label--required]=\"required\"\n [class.fd-form-label--colon]=\"colon\"\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 { Directive, HostBinding } 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 standalone: true\n})\nexport class FormLegendDirective {\n /** @hidden */\n @HostBinding('class.fd-fieldset__legend')\n fdFormLegendClass = true;\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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"}