@fundamental-ngx/core 0.61.4 → 0.61.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-carousel.mjs +7 -8
- package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-form.mjs +12 -18
- package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-icon.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-inline-help.mjs +34 -15
- package/fesm2022/fundamental-ngx-core-inline-help.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +40 -28
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +75 -31
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-popover.mjs +157 -18
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-product-switch.mjs +23 -27
- package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs +19 -25
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/package.json +3 -3
- package/types/fundamental-ngx-core-carousel.d.ts +2 -3
- package/types/fundamental-ngx-core-form.d.ts +7 -10
- package/types/fundamental-ngx-core-inline-help.d.ts +20 -15
- package/types/fundamental-ngx-core-menu.d.ts +17 -9
- package/types/fundamental-ngx-core-multi-combobox.d.ts +18 -1
- package/types/fundamental-ngx-core-popover.d.ts +49 -4
- package/types/fundamental-ngx-core-product-switch.d.ts +20 -24
- package/types/fundamental-ngx-core-tabs.d.ts +5 -10
|
@@ -4,7 +4,7 @@ import { __decorate, __metadata } from 'tslib';
|
|
|
4
4
|
import { applyCssClass, DynamicComponentService } from '@fundamental-ngx/cdk/utils';
|
|
5
5
|
import * as i1 from '@fundamental-ngx/core/content-density';
|
|
6
6
|
import { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';
|
|
7
|
-
import { Subscription
|
|
7
|
+
import { Subscription } from 'rxjs';
|
|
8
8
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
9
9
|
import * as i1$1 from '@fundamental-ngx/core/popover';
|
|
10
10
|
import { PopoverComponent, PopoverControlComponent, PopoverBodyComponent } from '@fundamental-ngx/core/popover';
|
|
@@ -78,11 +78,11 @@ function registerFormItemControl(control) {
|
|
|
78
78
|
class FormControlComponent {
|
|
79
79
|
/** @hidden */
|
|
80
80
|
get ariaLabelBinding() {
|
|
81
|
-
return this.ariaLabelAttr || this.ariaLabel ||
|
|
81
|
+
return this.ariaLabelAttr || this.ariaLabel || null;
|
|
82
82
|
}
|
|
83
83
|
/** @hidden */
|
|
84
84
|
get ariaLabelledByBinding() {
|
|
85
|
-
return this.ariaLabelledByAttr || this.ariaLabelledBy ||
|
|
85
|
+
return this.ariaLabelledByAttr || this.ariaLabelledBy || null;
|
|
86
86
|
}
|
|
87
87
|
/** @hidden */
|
|
88
88
|
constructor(elementRef, _contentDensityObserver, ariaLabelAttr, ariaLabelledByAttr) {
|
|
@@ -331,11 +331,11 @@ class FormInputMessageGroupComponent {
|
|
|
331
331
|
this.isOpenChange.emit(isOpen);
|
|
332
332
|
}
|
|
333
333
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: FormInputMessageGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
334
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: FormInputMessageGroupComponent, isStandalone: true, selector: "fd-form-input-message-group", inputs: { triggers: "triggers", closeOnOutsideClick: "closeOnOutsideClick", fillControlMode: "fillControlMode", noArrow: "noArrow", closeOnEscapeKey: "closeOnEscapeKey", placement: "placement", placementContainer: "placementContainer", isOpen: "isOpen", preventSpaceKeyScroll: "preventSpaceKeyScroll" }, outputs: { isOpenChange: "isOpenChange" }, viewQueries: [{ propertyName: "_popoverPlacementContainer", first: true, predicate: ["popoverPlacementContainer"], descendants: true, read: ElementRef }, { propertyName: "_popover", first: true, predicate: ["popover"], descendants: true }], ngImport: i0, template: "@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", styles: [".fd-popover-container-custom--message{flex-grow:1}.fd-popover-container-custom{border:none}.fd-form-input-message-group.fd-popover-custom,.fd-form-input-message-group .fd-input{display:block}.fd-popover__body.fd-popover__body--input-message-group{margin-top:0!important;z-index:999}.fd-form-input-message__container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none}\n"], dependencies: [{ kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["config", "title", "trigger", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll", "placement", "maxWidth", "fillControlMode", "closeOnOutsideClick", "closeOnEscapeKey", "disabled", "triggers", "focusTrapped", "focusAutoCapture", "restoreFocusOnClose", "noArrow", "disableScrollbar", "appendTo", "placementContainer", "scrollStrategy", "cdkPositions", "applyOverlay", "additionalBodyClass", "additionalTriggerClass", "closeOnNavigation", "fixedPosition", "resizable", "isOpen"], outputs: ["triggerChange", "isOpenChange", "beforeOpen"] }, { kind: "component", type: PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"], outputs: ["onClose"] }, { kind: "ngmodule", type: A11yModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
334
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: FormInputMessageGroupComponent, isStandalone: true, selector: "fd-form-input-message-group", inputs: { triggers: "triggers", closeOnOutsideClick: "closeOnOutsideClick", fillControlMode: "fillControlMode", noArrow: "noArrow", closeOnEscapeKey: "closeOnEscapeKey", placement: "placement", placementContainer: "placementContainer", isOpen: "isOpen", preventSpaceKeyScroll: "preventSpaceKeyScroll" }, outputs: { isOpenChange: "isOpenChange" }, viewQueries: [{ propertyName: "_popoverPlacementContainer", first: true, predicate: ["popoverPlacementContainer"], descendants: true, read: ElementRef }, { propertyName: "_popover", first: true, predicate: ["popover"], descendants: true }], ngImport: i0, template: "@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 (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", styles: [".fd-popover-container-custom--message{flex-grow:1}.fd-popover-container-custom{border:none}.fd-form-input-message-group.fd-popover-custom,.fd-form-input-message-group .fd-input{display:block}.fd-popover__body.fd-popover__body--input-message-group{margin-top:0!important;z-index:999}.fd-form-input-message__container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none}\n"], dependencies: [{ kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["config", "title", "trigger", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll", "placement", "maxWidth", "fillControlMode", "closeOnOutsideClick", "closeOnEscapeKey", "disabled", "triggers", "focusTrapped", "focusAutoCapture", "restoreFocusOnClose", "noArrow", "disableScrollbar", "appendTo", "placementContainer", "scrollStrategy", "cdkPositions", "applyOverlay", "additionalBodyClass", "additionalTriggerClass", "closeOnNavigation", "fixedPosition", "resizable", "isOpen"], outputs: ["triggerChange", "isOpenChange", "beforeOpen"] }, { kind: "component", type: PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"], outputs: ["onClose"] }, { kind: "ngmodule", type: A11yModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
335
335
|
}
|
|
336
336
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: FormInputMessageGroupComponent, decorators: [{
|
|
337
337
|
type: Component,
|
|
338
|
-
args: [{ selector: 'fd-form-input-message-group', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PopoverComponent, PopoverControlComponent, PopoverBodyComponent, A11yModule], template: "@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", styles: [".fd-popover-container-custom--message{flex-grow:1}.fd-popover-container-custom{border:none}.fd-form-input-message-group.fd-popover-custom,.fd-form-input-message-group .fd-input{display:block}.fd-popover__body.fd-popover__body--input-message-group{margin-top:0!important;z-index:999}.fd-form-input-message__container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none}\n"] }]
|
|
338
|
+
args: [{ selector: 'fd-form-input-message-group', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PopoverComponent, PopoverControlComponent, PopoverBodyComponent, A11yModule], template: "@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 (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", styles: [".fd-popover-container-custom--message{flex-grow:1}.fd-popover-container-custom{border:none}.fd-form-input-message-group.fd-popover-custom,.fd-form-input-message-group .fd-input{display:block}.fd-popover__body.fd-popover__body--input-message-group{margin-top:0!important;z-index:999}.fd-form-input-message__container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none}\n"] }]
|
|
339
339
|
}], propDecorators: { triggers: [{
|
|
340
340
|
type: Input
|
|
341
341
|
}], closeOnOutsideClick: [{
|
|
@@ -447,7 +447,7 @@ class FormLabelComponent {
|
|
|
447
447
|
this.inlineHelpAfter = !!this.inlineHelpContent && this.inlineHelpPlacement === 'after';
|
|
448
448
|
}
|
|
449
449
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: FormLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
450
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: FormLabelComponent, isStandalone: true, selector: "[fd-form-label]", inputs: { required: "required", colon: "colon", alignLabelEnd: "alignLabelEnd", inlineHelpContent: "inlineHelpContent", inlineHelpGlyph: "inlineHelpGlyph", inlineHelpTriggers: "inlineHelpTriggers", inlineHelpBodyPlacement: "inlineHelpBodyPlacement", inlineHelpPlacement: "inlineHelpPlacement", allowWrap: "allowWrap", inlineHelpLabel: "inlineHelpLabel", formLabelId: ["id", "formLabelId"] }, host: { properties: { "class.fd-form-label__wrapper--align-end": "this.alignLabelEnd", "class.fd-form-label__wrapper": "this.defaultClass", "class.fd-form-label__wrapper--inline-help": "this.inlineHelpClass", "class.fd-form-label__wrapper--inline-help--after": "this.inlineHelpAfter", "id": "this.formLabelId" } }, usesOnChanges: true, ngImport: i0, template: "<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", styles: [".fd-form-label{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;overflow:hidden;padding-block:0;padding-inline:0;position:relative;text-overflow:ellipsis;white-space:nowrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;-webkit-margin-end:.5rem;cursor:text;margin-inline-end:.5rem;-ms-flex-item-align:start;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{color:var(--sapField_TextColor);margin-block:0;margin-inline:0;padding-block:0;padding-inline:.25rem 0}.fd-form-label--required,.fd-form-label[aria-required=true]{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{color:var(--sapField_RequiredColor);content:\"*\"/\"\";font-size:var(--sapFontLargeSize);font-weight:700;position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl]:after,.fd-form-label[aria-required=true][dir=rtl]:after,[dir=rtl] .fd-form-label--required:after,[dir=rtl] .fd-form-label[aria-required=true]:after{left:0;right:auto}.fd-form-label--colon{-webkit-padding-end:.25rem;padding-inline-end:.25rem}.fd-form-label--colon:before{color:inherit;content:\":\";font-size:var(--sapFontSize);position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{left:0;right:auto}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{-webkit-padding-end:.75rem;padding-inline-end:.75rem}.fd-form-label--colon.fd-form-label--required:before,.fd-form-label--colon[aria-required=true]:before{right:.5rem}.fd-form-label--colon.fd-form-label--required[dir=rtl]:before,.fd-form-label--colon[aria-required=true][dir=rtl]:before,[dir=rtl] .fd-form-label--colon.fd-form-label--required:before,[dir=rtl] .fd-form-label--colon[aria-required=true]:before{left:.5rem;right:auto}.fd-form-label--inline-help{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-form-label--stand-alone{-ms-flex-item-align:center;align-self:center;-webkit-margin-end:0;margin-inline-end:0}.fd-form-label{display:inline-block}.fd-form-label__inline-help{position:relative;top:.125rem}.fd-form-label--allow-wrap{text-wrap:auto}.fd-form-label__wrapper{position:relative;display:flex;padding-bottom:.125rem}.fd-form-label__wrapper--align-end{justify-content:flex-end}.fd-form-label__wrapper span.fd-form-label{margin-bottom:-.125rem}.fd-form-label__wrapper--inline-help{display:flex;padding-left:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help,.fd-form-label__wrapper--inline-help[dir=rtl],.fd-form-label__wrapper--inline-help--after{padding-left:0;padding-right:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help--after,.fd-form-label__wrapper--inline-help--after[dir=rtl]{padding-right:0;padding-left:0rem}.fd-form-label__help{position:relative;vertical-align:middle;left:0;right:auto}[dir=rtl] .fd-form-label__help,.fd-form-label__help[dir=rtl],.fd-form-label__help--after{right:0;left:auto}[dir=rtl] .fd-form-label__help--after,.fd-form-label__help--after[dir=rtl]{left:0;right:auto}.fd-container.fd-form-layout-grid-container.fd-form-group .fd-form-item .fd-form-label--colon,.fd-container.fd-form-layout-grid-container .fd-form-group .fd-form-item .fd-form-label--colon{padding-inline-end:.25rem}.fd-container.fd-form-layout-grid-container.fd-form-group .fd-form-item .fd-form-label--required,.fd-container.fd-form-layout-grid-container .fd-form-group .fd-form-item .fd-form-label--required{padding-inline-end:.5rem}.fd-container.fd-form-layout-grid-container.fd-form-group .fd-form-item .fd-form-label--required.fd-form-label--colon,.fd-container.fd-form-layout-grid-container .fd-form-group .fd-form-item .fd-form-label--required.fd-form-label--colon{padding-inline-end:.75rem}.fd-form-item .fd-form-label--colon{padding-inline-end:.25rem}.fd-form-item .fd-form-label--required{padding-inline-end:.5rem}.fd-form-item .fd-form-label--required.fd-form-label--colon{padding-inline-end:.75rem}\n/*! Bundled license information:\n\nfundamental-styles/dist/form-label.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 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: LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["emphasized", "disabled", "inverted", "subtle", "undecorated", "touchTarget"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }, { kind: "directive", type: InlineHelpDirective, selector: "[fd-inline-help]:not([fd-inline-help-template]), [fd-inline-help-template]:not([fd-inline-help])", inputs: ["fd-inline-help", "placement", "triggers", "closeOnOutsideClick", "additionalBodyClass", "disabled", "bodyId", "bodyRole"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
450
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: FormLabelComponent, isStandalone: true, selector: "[fd-form-label]", inputs: { required: "required", colon: "colon", alignLabelEnd: "alignLabelEnd", inlineHelpContent: "inlineHelpContent", inlineHelpGlyph: "inlineHelpGlyph", inlineHelpTriggers: "inlineHelpTriggers", inlineHelpBodyPlacement: "inlineHelpBodyPlacement", inlineHelpPlacement: "inlineHelpPlacement", allowWrap: "allowWrap", inlineHelpLabel: "inlineHelpLabel", formLabelId: ["id", "formLabelId"] }, host: { properties: { "class.fd-form-label__wrapper--align-end": "this.alignLabelEnd", "class.fd-form-label__wrapper": "this.defaultClass", "class.fd-form-label__wrapper--inline-help": "this.inlineHelpClass", "class.fd-form-label__wrapper--inline-help--after": "this.inlineHelpAfter", "id": "this.formLabelId" } }, usesOnChanges: true, ngImport: i0, template: "<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", styles: [".fd-form-label{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;overflow:hidden;padding-block:0;padding-inline:0;position:relative;text-overflow:ellipsis;white-space:nowrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;-webkit-margin-end:.5rem;cursor:text;margin-inline-end:.5rem;-ms-flex-item-align:start;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{color:var(--sapField_TextColor);margin-block:0;margin-inline:0;padding-block:0;padding-inline:.25rem 0}.fd-form-label--required,.fd-form-label[aria-required=true]{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{color:var(--sapField_RequiredColor);content:\"*\"/\"\";font-size:var(--sapFontLargeSize);font-weight:700;position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl]:after,.fd-form-label[aria-required=true][dir=rtl]:after,[dir=rtl] .fd-form-label--required:after,[dir=rtl] .fd-form-label[aria-required=true]:after{left:0;right:auto}.fd-form-label--colon{-webkit-padding-end:.25rem;padding-inline-end:.25rem}.fd-form-label--colon:before{color:inherit;content:\":\";font-size:var(--sapFontSize);position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{left:0;right:auto}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{-webkit-padding-end:.75rem;padding-inline-end:.75rem}.fd-form-label--colon.fd-form-label--required:before,.fd-form-label--colon[aria-required=true]:before{right:.5rem}.fd-form-label--colon.fd-form-label--required[dir=rtl]:before,.fd-form-label--colon[aria-required=true][dir=rtl]:before,[dir=rtl] .fd-form-label--colon.fd-form-label--required:before,[dir=rtl] .fd-form-label--colon[aria-required=true]:before{left:.5rem;right:auto}.fd-form-label--inline-help{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-form-label--stand-alone{-ms-flex-item-align:center;align-self:center;-webkit-margin-end:0;margin-inline-end:0}.fd-form-label{display:inline-block}.fd-form-label__inline-help{position:relative;top:.125rem}.fd-form-label--allow-wrap{text-wrap:auto}.fd-form-label__wrapper{position:relative;display:flex;padding-bottom:.125rem}.fd-form-label__wrapper--align-end{justify-content:flex-end}.fd-form-label__wrapper span.fd-form-label{margin-bottom:-.125rem}.fd-form-label__wrapper--inline-help{display:flex;padding-left:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help,.fd-form-label__wrapper--inline-help[dir=rtl],.fd-form-label__wrapper--inline-help--after{padding-left:0;padding-right:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help--after,.fd-form-label__wrapper--inline-help--after[dir=rtl]{padding-right:0;padding-left:0rem}.fd-form-label__help{position:relative;vertical-align:middle;left:0;right:auto}[dir=rtl] .fd-form-label__help,.fd-form-label__help[dir=rtl],.fd-form-label__help--after{right:0;left:auto}[dir=rtl] .fd-form-label__help--after,.fd-form-label__help--after[dir=rtl]{left:0;right:auto}.fd-container.fd-form-layout-grid-container.fd-form-group .fd-form-item .fd-form-label--colon,.fd-container.fd-form-layout-grid-container .fd-form-group .fd-form-item .fd-form-label--colon{padding-inline-end:.25rem}.fd-container.fd-form-layout-grid-container.fd-form-group .fd-form-item .fd-form-label--required,.fd-container.fd-form-layout-grid-container .fd-form-group .fd-form-item .fd-form-label--required{padding-inline-end:.5rem}.fd-container.fd-form-layout-grid-container.fd-form-group .fd-form-item .fd-form-label--required.fd-form-label--colon,.fd-container.fd-form-layout-grid-container .fd-form-group .fd-form-item .fd-form-label--required.fd-form-label--colon{padding-inline-end:.75rem}.fd-form-item .fd-form-label--colon{padding-inline-end:.25rem}.fd-form-item .fd-form-label--required{padding-inline-end:.5rem}.fd-form-item .fd-form-label--required.fd-form-label--colon{padding-inline-end:.75rem}\n/*! Bundled license information:\n\nfundamental-styles/dist/form-label.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 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: LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["emphasized", "disabled", "inverted", "subtle", "undecorated", "touchTarget"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }, { kind: "directive", type: InlineHelpDirective, selector: "[fd-inline-help]:not([fd-inline-help-template]), [fd-inline-help-template]:not([fd-inline-help])", inputs: ["fd-inline-help", "placement", "triggers", "closeOnOutsideClick", "additionalBodyClass", "disabled", "bodyId", "bodyRole", "noArrow", "closeOnEscapeKey", "closeOnNavigation", "restoreFocusOnClose", "appendTo", "fixedPosition", "maxWidth"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
451
451
|
}
|
|
452
452
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: FormLabelComponent, decorators: [{
|
|
453
453
|
type: Component,
|
|
@@ -502,9 +502,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
|
|
|
502
502
|
* ```
|
|
503
503
|
*/
|
|
504
504
|
class FormItemComponent {
|
|
505
|
-
|
|
506
|
-
constructor(ngZone) {
|
|
507
|
-
this.ngZone = ngZone;
|
|
505
|
+
constructor() {
|
|
508
506
|
/** Whether the form item is inline. */
|
|
509
507
|
this.isInline = false;
|
|
510
508
|
/** Whether the form item is horizontal. */
|
|
@@ -513,22 +511,18 @@ class FormItemComponent {
|
|
|
513
511
|
this.fdFormItemClass = true;
|
|
514
512
|
}
|
|
515
513
|
/** @hidden */
|
|
516
|
-
|
|
514
|
+
ngAfterContentInit() {
|
|
517
515
|
if (this.formLabel && this.formItemControl && !this.formItemControl.ariaLabelledBy) {
|
|
518
|
-
this.
|
|
519
|
-
if (this.formLabel && this.formItemControl) {
|
|
520
|
-
this.formItemControl.ariaLabelledBy = this.formLabel.formLabelId;
|
|
521
|
-
}
|
|
522
|
-
});
|
|
516
|
+
this.formItemControl.ariaLabelledBy = this.formLabel.formLabelId;
|
|
523
517
|
}
|
|
524
518
|
}
|
|
525
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: FormItemComponent, deps: [
|
|
519
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: FormItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
526
520
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: FormItemComponent, isStandalone: true, selector: "[fd-form-item]", inputs: { isInline: "isInline", horizontal: "horizontal" }, host: { properties: { "class.fd-form-item--inline": "this.isInline", "class.fd-form-item--horizontal": "this.horizontal", "class.fd-form-item": "this.fdFormItemClass" } }, queries: [{ propertyName: "formLabel", first: true, predicate: FormLabelComponent, descendants: true }, { propertyName: "formItemControl", first: true, predicate: FORM_ITEM_CONTROL, descendants: true }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [".fd-form-item{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;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative}.fd-form-item:after,.fd-form-item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-form-item__label-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.fd-form-item__label-container label{-ms-flex-item-align:center;align-self:center}.fd-form-item__label-container button{-webkit-margin-start:auto;margin-inline-start:auto}.fd-form-item--horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-form-item--horizontal .fd-form-label{-webkit-padding-after:0;margin-block:auto;margin-inline:0 .5rem;padding-block-end:0}.fd-form-item--horizontal .fd-input{-webkit-box-flex:1;-ms-flex:1;flex:1}.fd-form-item .fd-form-message:not(:first-child){margin-top:-.25rem}.fd-form-item.fd-list__form-item{-webkit-box-flex:initial;-ms-flex:initial;flex:initial}.fd-form-item--horizontal .fd-form-label__wrapper{margin-right:.5rem}[dir=rtl] .fd-form-item--horizontal .fd-form-label__wrapper,.fd-form-item--horizontal .fd-form-label__wrapper[dir=rtl]{margin-left:.5rem;margin-right:0}\n/*! Bundled license information:\n\nfundamental-styles/dist/form-item.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 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"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
527
521
|
}
|
|
528
522
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: FormItemComponent, decorators: [{
|
|
529
523
|
type: Component,
|
|
530
|
-
args: [{ selector: '[fd-form-item]', template: `<ng-content></ng-content>`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush,
|
|
531
|
-
}],
|
|
524
|
+
args: [{ selector: '[fd-form-item]', template: `<ng-content></ng-content>`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".fd-form-item{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;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative}.fd-form-item:after,.fd-form-item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-form-item__label-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.fd-form-item__label-container label{-ms-flex-item-align:center;align-self:center}.fd-form-item__label-container button{-webkit-margin-start:auto;margin-inline-start:auto}.fd-form-item--horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-form-item--horizontal .fd-form-label{-webkit-padding-after:0;margin-block:auto;margin-inline:0 .5rem;padding-block-end:0}.fd-form-item--horizontal .fd-input{-webkit-box-flex:1;-ms-flex:1;flex:1}.fd-form-item .fd-form-message:not(:first-child){margin-top:-.25rem}.fd-form-item.fd-list__form-item{-webkit-box-flex:initial;-ms-flex:initial;flex:initial}.fd-form-item--horizontal .fd-form-label__wrapper{margin-right:.5rem}[dir=rtl] .fd-form-item--horizontal .fd-form-label__wrapper,.fd-form-item--horizontal .fd-form-label__wrapper[dir=rtl]{margin-left:.5rem;margin-right:0}\n/*! Bundled license information:\n\nfundamental-styles/dist/form-item.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 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"] }]
|
|
525
|
+
}], propDecorators: { isInline: [{
|
|
532
526
|
type: Input
|
|
533
527
|
}, {
|
|
534
528
|
type: HostBinding,
|
|
@@ -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 [focusAutoCapture]=\"false\"\n [focusTrapped]=\"false\"\n [restoreFocusOnClose]=\"false\"\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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"}
|