@fundamental-ngx/core 0.34.3-rc.3 → 0.34.3-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/action-bar/package.json +1 -1
  2. package/action-sheet/package.json +1 -1
  3. package/alert/package.json +1 -1
  4. package/avatar/package.json +1 -1
  5. package/avatar-group/package.json +1 -1
  6. package/bar/package.json +1 -1
  7. package/breadcrumb/package.json +1 -1
  8. package/busy-indicator/package.json +1 -1
  9. package/button/package.json +1 -1
  10. package/calendar/package.json +1 -1
  11. package/card/package.json +1 -1
  12. package/carousel/package.json +1 -1
  13. package/checkbox/package.json +1 -1
  14. package/combobox/package.json +1 -1
  15. package/date-picker/package.json +1 -1
  16. package/datetime/package.json +1 -1
  17. package/datetime-picker/package.json +1 -1
  18. package/dialog/package.json +1 -1
  19. package/dynamic-page/package.json +1 -1
  20. package/dynamic-side-content/package.json +1 -1
  21. package/esm2020/facets/facet/facet.component.mjs +1 -1
  22. package/esm2020/form/form-label/form-label.component.mjs +10 -3
  23. package/esm2020/pagination/pagination.component.mjs +1 -1
  24. package/esm2020/quick-view/quick-view-group-item-label/quick-view-group-item-label.component.mjs +1 -1
  25. package/facets/esm2020/facet/facet.component.mjs +1 -1
  26. package/facets/fesm2015/fundamental-ngx-core-facets.mjs +1 -1
  27. package/facets/fesm2020/fundamental-ngx-core-facets.mjs +1 -1
  28. package/facets/package.json +1 -1
  29. package/feed-input/package.json +1 -1
  30. package/feed-list-item/package.json +1 -1
  31. package/fesm2015/fundamental-ngx-core-facets.mjs +1 -1
  32. package/fesm2015/fundamental-ngx-core-form.mjs +9 -2
  33. package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  34. package/fesm2015/fundamental-ngx-core-pagination.mjs +1 -1
  35. package/fesm2015/fundamental-ngx-core-quick-view.mjs +1 -1
  36. package/fesm2020/fundamental-ngx-core-facets.mjs +1 -1
  37. package/fesm2020/fundamental-ngx-core-form.mjs +9 -2
  38. package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  39. package/fesm2020/fundamental-ngx-core-pagination.mjs +1 -1
  40. package/fesm2020/fundamental-ngx-core-quick-view.mjs +1 -1
  41. package/file-uploader/package.json +1 -1
  42. package/fixed-card-layout/package.json +1 -1
  43. package/flexible-column-layout/package.json +1 -1
  44. package/form/esm2020/form-label/form-label.component.mjs +10 -3
  45. package/form/fesm2015/fundamental-ngx-core-form.mjs +9 -2
  46. package/form/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  47. package/form/fesm2020/fundamental-ngx-core-form.mjs +9 -2
  48. package/form/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  49. package/form/form-label/form-label.component.d.ts +3 -1
  50. package/form/package.json +1 -1
  51. package/formatted-text/package.json +1 -1
  52. package/grid-list/package.json +1 -1
  53. package/icon/package.json +1 -1
  54. package/illustrated-message/package.json +1 -1
  55. package/infinite-scroll/package.json +1 -1
  56. package/info-label/package.json +1 -1
  57. package/inline-help/package.json +1 -1
  58. package/input-group/package.json +1 -1
  59. package/layout-grid/package.json +1 -1
  60. package/layout-panel/package.json +1 -1
  61. package/link/package.json +1 -1
  62. package/list/package.json +1 -1
  63. package/menu/package.json +1 -1
  64. package/message-box/package.json +1 -1
  65. package/message-strip/package.json +1 -1
  66. package/message-toast/package.json +1 -1
  67. package/micro-process-flow/package.json +1 -1
  68. package/mobile-mode/package.json +1 -1
  69. package/multi-input/package.json +1 -1
  70. package/nested-list/package.json +1 -1
  71. package/notification/package.json +1 -1
  72. package/object-identifier/package.json +1 -1
  73. package/object-marker/package.json +1 -1
  74. package/object-number/package.json +1 -1
  75. package/object-status/package.json +1 -1
  76. package/package.json +1 -1
  77. package/pagination/esm2020/pagination.component.mjs +1 -1
  78. package/pagination/fesm2015/fundamental-ngx-core-pagination.mjs +1 -1
  79. package/pagination/fesm2020/fundamental-ngx-core-pagination.mjs +1 -1
  80. package/pagination/package.json +1 -1
  81. package/panel/package.json +1 -1
  82. package/popover/package.json +1 -1
  83. package/product-switch/package.json +1 -1
  84. package/progress-indicator/package.json +1 -1
  85. package/quick-view/esm2020/quick-view-group-item-label/quick-view-group-item-label.component.mjs +1 -1
  86. package/quick-view/fesm2015/fundamental-ngx-core-quick-view.mjs +1 -1
  87. package/quick-view/fesm2020/fundamental-ngx-core-quick-view.mjs +1 -1
  88. package/quick-view/package.json +1 -1
  89. package/radio/package.json +1 -1
  90. package/rating-indicator/package.json +1 -1
  91. package/resizable-card-layout/package.json +1 -1
  92. package/scroll-spy/package.json +1 -1
  93. package/scrollbar/package.json +1 -1
  94. package/segmented-button/package.json +1 -1
  95. package/select/package.json +1 -1
  96. package/shared/package.json +1 -1
  97. package/shellbar/package.json +1 -1
  98. package/side-navigation/package.json +1 -1
  99. package/slider/package.json +1 -1
  100. package/split-button/package.json +1 -1
  101. package/splitter/package.json +1 -1
  102. package/status-indicator/package.json +1 -1
  103. package/step-input/package.json +1 -1
  104. package/switch/package.json +1 -1
  105. package/table/package.json +1 -1
  106. package/tabs/package.json +1 -1
  107. package/text/package.json +1 -1
  108. package/tile/package.json +1 -1
  109. package/time/package.json +1 -1
  110. package/time-picker/package.json +1 -1
  111. package/timeline/package.json +1 -1
  112. package/title/package.json +1 -1
  113. package/token/package.json +1 -1
  114. package/toolbar/package.json +1 -1
  115. package/tree/package.json +1 -1
  116. package/upload-collection/package.json +1 -1
  117. package/utils/package.json +1 -1
  118. package/vertical-navigation/package.json +1 -1
  119. package/wizard/package.json +1 -1
@@ -233,6 +233,8 @@ class FormLabelComponent {
233
233
  this.checkbox = false;
234
234
  /** @deprecated */
235
235
  this.radio = false;
236
+ /** Align label on end */
237
+ this.alignLabelEnd = false;
236
238
  /** Inline help body text */
237
239
  this.inlineHelpTitle = null;
238
240
  /** Glyph of icon triggering inline help */
@@ -255,10 +257,10 @@ class FormLabelComponent {
255
257
  }
256
258
  }
257
259
  FormLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FormLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
258
- FormLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: FormLabelComponent, selector: "[fd-form-label]", inputs: { required: "required", colon: "colon", checkbox: "checkbox", radio: "radio", inlineHelpTitle: "inlineHelpTitle", inlineHelpGlyph: "inlineHelpGlyph", inlineHelpTriggers: "inlineHelpTriggers", inlineHelpBodyPlacement: "inlineHelpBodyPlacement", inlineHelpPlacement: "inlineHelpPlacement" }, host: { properties: { "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" } }, usesOnChanges: true, ngImport: i0, template: "<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 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.fd-form-label\n*/.fd-form-label{line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:-moz-fit-content;width:fit-content;position:relative;max-width:100%;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);margin-right:.5rem;cursor:text;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{box-sizing:inherit;font-size:inherit}.fd-form-label[dir=rtl],[dir=rtl] .fd-form-label{margin-left:.5rem;margin-right:0}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{padding:0 0 0 .25rem;color:var(--sapField_TextColor);margin:0}.fd-form-label--unit-description[dir=rtl],[dir=rtl] .fd-form-label--unit-description{margin:0;padding:0 .25rem 0 0}.fd-form-label--required,.fd-form-label[aria-required=true]{padding-right:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{content:\"*\";font-size:var(--sapFontSize);font-weight:700;color:var(--sapField_RequiredColor);position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl],.fd-form-label[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--required,[dir=rtl] .fd-form-label[aria-required=true]{padding-right:0;padding-left:.5rem}.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{right:auto;left:0}.fd-form-label--colon{padding-right:.25rem}.fd-form-label--colon:before{content:\":\";font-size:var(--sapFontSize);color:inherit;position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl],[dir=rtl] .fd-form-label--colon{padding-left:.25rem;padding-right:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{right:auto;left:0}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{padding-right:.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],.fd-form-label--colon[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--colon.fd-form-label--required,[dir=rtl] .fd-form-label--colon[aria-required=true]{padding-left:.75rem;padding-right:0}.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{right:auto;left:.5rem}.fd-form-label--inline-help{width:100%;display:flex;justify-content:space-between;align-items:center}.fd-form-label{display:inline-block}.fd-form-label__wrapper{position:relative;display:flex}.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;top:50%;transform:translateY(3%);align-items:center;display:flex;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}\n"], components: [{ type: i1$1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.InlineHelpDirective, selector: "[fd-inline-help], [fd-inline-help-template]", inputs: ["triggers", "noArrow", "closeOnEscapeKey", "closeOnOutsideClick", "fd-inline-help", "fd-inline-help-template"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
260
+ FormLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: FormLabelComponent, selector: "[fd-form-label]", inputs: { required: "required", colon: "colon", checkbox: "checkbox", radio: "radio", alignLabelEnd: "alignLabelEnd", inlineHelpTitle: "inlineHelpTitle", inlineHelpGlyph: "inlineHelpGlyph", inlineHelpTriggers: "inlineHelpTriggers", inlineHelpBodyPlacement: "inlineHelpBodyPlacement", inlineHelpPlacement: "inlineHelpPlacement" }, 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" } }, usesOnChanges: true, ngImport: i0, template: "<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 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.fd-form-label\n*/.fd-form-label{line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:-moz-fit-content;width:fit-content;position:relative;max-width:100%;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);margin-right:.5rem;cursor:text;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{box-sizing:inherit;font-size:inherit}.fd-form-label[dir=rtl],[dir=rtl] .fd-form-label{margin-left:.5rem;margin-right:0}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{padding:0 0 0 .25rem;color:var(--sapField_TextColor);margin:0}.fd-form-label--unit-description[dir=rtl],[dir=rtl] .fd-form-label--unit-description{margin:0;padding:0 .25rem 0 0}.fd-form-label--required,.fd-form-label[aria-required=true]{padding-right:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{content:\"*\";font-size:var(--sapFontSize);font-weight:700;color:var(--sapField_RequiredColor);position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl],.fd-form-label[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--required,[dir=rtl] .fd-form-label[aria-required=true]{padding-right:0;padding-left:.5rem}.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{right:auto;left:0}.fd-form-label--colon{padding-right:.25rem}.fd-form-label--colon:before{content:\":\";font-size:var(--sapFontSize);color:inherit;position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl],[dir=rtl] .fd-form-label--colon{padding-left:.25rem;padding-right:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{right:auto;left:0}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{padding-right:.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],.fd-form-label--colon[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--colon.fd-form-label--required,[dir=rtl] .fd-form-label--colon[aria-required=true]{padding-left:.75rem;padding-right:0}.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{right:auto;left:.5rem}.fd-form-label--inline-help{width:100%;display:flex;justify-content:space-between;align-items:center}.fd-form-label{display:inline-block}.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;top:50%;transform:translateY(3%);align-items:center;display:flex;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}\n"], components: [{ type: i1$1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.InlineHelpDirective, selector: "[fd-inline-help], [fd-inline-help-template]", inputs: ["triggers", "noArrow", "closeOnEscapeKey", "closeOnOutsideClick", "fd-inline-help", "fd-inline-help-template"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
259
261
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FormLabelComponent, decorators: [{
260
262
  type: Component,
261
- args: [{ selector: '[fd-form-label]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 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.fd-form-label\n*/.fd-form-label{line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:-moz-fit-content;width:fit-content;position:relative;max-width:100%;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);margin-right:.5rem;cursor:text;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{box-sizing:inherit;font-size:inherit}.fd-form-label[dir=rtl],[dir=rtl] .fd-form-label{margin-left:.5rem;margin-right:0}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{padding:0 0 0 .25rem;color:var(--sapField_TextColor);margin:0}.fd-form-label--unit-description[dir=rtl],[dir=rtl] .fd-form-label--unit-description{margin:0;padding:0 .25rem 0 0}.fd-form-label--required,.fd-form-label[aria-required=true]{padding-right:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{content:\"*\";font-size:var(--sapFontSize);font-weight:700;color:var(--sapField_RequiredColor);position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl],.fd-form-label[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--required,[dir=rtl] .fd-form-label[aria-required=true]{padding-right:0;padding-left:.5rem}.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{right:auto;left:0}.fd-form-label--colon{padding-right:.25rem}.fd-form-label--colon:before{content:\":\";font-size:var(--sapFontSize);color:inherit;position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl],[dir=rtl] .fd-form-label--colon{padding-left:.25rem;padding-right:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{right:auto;left:0}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{padding-right:.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],.fd-form-label--colon[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--colon.fd-form-label--required,[dir=rtl] .fd-form-label--colon[aria-required=true]{padding-left:.75rem;padding-right:0}.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{right:auto;left:.5rem}.fd-form-label--inline-help{width:100%;display:flex;justify-content:space-between;align-items:center}.fd-form-label{display:inline-block}.fd-form-label__wrapper{position:relative;display:flex}.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;top:50%;transform:translateY(3%);align-items:center;display:flex;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}\n"] }]
263
+ args: [{ selector: '[fd-form-label]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 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.fd-form-label\n*/.fd-form-label{line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:-moz-fit-content;width:fit-content;position:relative;max-width:100%;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);margin-right:.5rem;cursor:text;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{box-sizing:inherit;font-size:inherit}.fd-form-label[dir=rtl],[dir=rtl] .fd-form-label{margin-left:.5rem;margin-right:0}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{padding:0 0 0 .25rem;color:var(--sapField_TextColor);margin:0}.fd-form-label--unit-description[dir=rtl],[dir=rtl] .fd-form-label--unit-description{margin:0;padding:0 .25rem 0 0}.fd-form-label--required,.fd-form-label[aria-required=true]{padding-right:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{content:\"*\";font-size:var(--sapFontSize);font-weight:700;color:var(--sapField_RequiredColor);position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl],.fd-form-label[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--required,[dir=rtl] .fd-form-label[aria-required=true]{padding-right:0;padding-left:.5rem}.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{right:auto;left:0}.fd-form-label--colon{padding-right:.25rem}.fd-form-label--colon:before{content:\":\";font-size:var(--sapFontSize);color:inherit;position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl],[dir=rtl] .fd-form-label--colon{padding-left:.25rem;padding-right:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{right:auto;left:0}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{padding-right:.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],.fd-form-label--colon[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--colon.fd-form-label--required,[dir=rtl] .fd-form-label--colon[aria-required=true]{padding-left:.75rem;padding-right:0}.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{right:auto;left:.5rem}.fd-form-label--inline-help{width:100%;display:flex;justify-content:space-between;align-items:center}.fd-form-label{display:inline-block}.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;top:50%;transform:translateY(3%);align-items:center;display:flex;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}\n"] }]
262
264
  }], propDecorators: { required: [{
263
265
  type: Input
264
266
  }], colon: [{
@@ -267,6 +269,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
267
269
  type: Input
268
270
  }], radio: [{
269
271
  type: Input
272
+ }], alignLabelEnd: [{
273
+ type: Input
274
+ }, {
275
+ type: HostBinding,
276
+ args: ['class.fd-form-label__wrapper--align-end']
270
277
  }], inlineHelpTitle: [{
271
278
  type: Input
272
279
  }], inlineHelpGlyph: [{
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-form.mjs","sources":["../../../../../libs/core/src/lib/form/fieldset/fieldset.component.ts","../../../../../libs/core/src/lib/form/fieldset/fieldset.module.ts","../../../../../libs/core/src/lib/form/form-control/form-control.component.ts","../../../../../libs/core/src/lib/form/form-control/form-control.module.ts","../../../../../libs/core/src/lib/form/form-item/form-item.component.ts","../../../../../libs/core/src/lib/form/form-item/form-item.module.ts","../../../../../libs/core/src/lib/form/form-label/form-label.component.ts","../../../../../libs/core/src/lib/form/form-label/form-label.component.html","../../../../../libs/core/src/lib/form/form-label/form-label.module.ts","../../../../../libs/core/src/lib/form/form-header/form-header.component.ts","../../../../../libs/core/src/lib/form/form-header/form-header.module.ts","../../../../../libs/core/src/lib/form/form-legend/form-legend.directive.ts","../../../../../libs/core/src/lib/form/form-legend/form-legend.module.ts","../../../../../libs/core/src/lib/form/form-message/constants.ts","../../../../../libs/core/src/lib/form/form-message/form-message.component.ts","../../../../../libs/core/src/lib/form/form-message/form-message.component.html","../../../../../libs/core/src/lib/form/form-message/form-message.module.ts","../../../../../libs/core/src/lib/form/form-input-message-group/form-input-message-group.component.ts","../../../../../libs/core/src/lib/form/form-input-message-group/form-input-message-group.component.html","../../../../../libs/core/src/lib/form/form-input-message-group/form-input-message-group.module.ts","../../../../../libs/core/src/lib/form/form-group/form-group.component.ts","../../../../../libs/core/src/lib/form/form-group/form-group.component.html","../../../../../libs/core/src/lib/form/form-group/form-group.module.ts","../../../../../libs/core/src/lib/form/form.module.ts","../../../../../libs/core/src/lib/form/form-message/popover-form-message.service.ts","../../../../../libs/core/src/lib/form/fundamental-ngx-core-form.ts"],"sourcesContent":["import { 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 styleUrls: ['./fieldset.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class FieldsetComponent {\n /** @hidden */\n @HostBinding('class.fd-fieldset')\n fdFieldClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FieldsetComponent } from './fieldset.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FieldsetComponent],\n declarations: [FieldsetComponent]\n})\nexport class FieldSetModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormStates } from '@fundamental-ngx/core/shared';\nimport { Subscription } from 'rxjs';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\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: '[fd-form-control]',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./form-control.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormControlComponent implements CssClassBuilder, OnInit, OnChanges, OnDestroy {\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;\n\n /**\n * Whether form is in compact mode\n */\n @Input()\n compact?: boolean;\n\n @Input()\n type: string;\n\n /** user's custom classes */\n @Input()\n class: string;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n this.state ? 'is-' + this.state : '',\n this._getFormClass(),\n this.compact ? this._getFormClass() + '--compact' : '',\n this.class\n ];\n }\n\n private _getFormClass(): string {\n switch (this._getElementTag()) {\n case 'input':\n return 'fd-input';\n case 'textarea':\n return 'fd-textarea';\n }\n }\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, @Optional() private _contentDensityService: ContentDensityService) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this.buildComponentCssClass();\n })\n );\n }\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n private _getElementTag(): string {\n if (this.elementRef() && this.elementRef().nativeElement) {\n return this.elementRef().nativeElement.tagName.toLocaleLowerCase();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormControlComponent } from './form-control.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormControlComponent],\n declarations: [FormControlComponent]\n})\nexport class FormControlModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\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 styleUrls: ['./form-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormItemComponent {\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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormItemComponent } from './form-item.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormItemComponent],\n declarations: [FormItemComponent]\n})\nexport class FormItemModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { InlineHelpFormPlacement } from '../inline-help-placement.type';\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 // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-form-label]',\n templateUrl: './form-label.component.html',\n styleUrls: ['./form-label.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormLabelComponent implements OnChanges {\n /** Whether form is required */\n @Input()\n required = false;\n\n /** Whether form is required */\n @Input()\n colon = false;\n\n /** @deprecated */\n @Input()\n checkbox = false;\n\n /** @deprecated */\n @Input()\n radio = false;\n\n /** Inline help body text */\n @Input()\n inlineHelpTitle: string = 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[] = ['mouseenter', 'mouseleave', 'focusin', 'focusout'];\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 /** @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 /** @hidden */\n @HostBinding('class.fd-form-label__wrapper--inline-help--after')\n inlineHelpAfter = true;\n\n /** @hidden */\n ngOnChanges(): void {\n this.inlineHelpClass = !!this.inlineHelpTitle;\n this.inlineHelpAfter = this.inlineHelpTitle && this.inlineHelpPlacement === 'after';\n }\n}\n","<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormLabelComponent } from './form-label.component';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { InlineHelpModule } from '@fundamental-ngx/core/inline-help';\n\n@NgModule({\n imports: [CommonModule, IconModule, InlineHelpModule],\n exports: [FormLabelComponent],\n declarations: [FormLabelComponent]\n})\nexport class FormLabelModule {}\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 styleUrls: ['./form-header.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormHeaderComponent {\n /** @hidden */\n @HostBinding('class.fd-form-header')\n fdFormHeaderClass = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormHeaderComponent } from './form-header.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormHeaderComponent],\n declarations: [FormHeaderComponent]\n})\nexport class FormHeaderModule {}\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})\nexport class FormLegendDirective {\n /** @hidden */\n @HostBinding('class.fd-fieldset__legend')\n fdFormLegendClass = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormLegendDirective } from './form-legend.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormLegendDirective],\n declarations: [FormLegendDirective]\n})\nexport class FormLegendModule {}\n","import { MessageStates } from './form-message.component';\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\nexport function getTypeClassName(size: MessageStates): string {\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 { CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CSS_CLASS_NAME, getTypeClassName } from './constants';\n\nexport type MessageStates = 'success' | 'error' | 'warning' | 'information';\n\n/**\n * Form message. Intended to be displayed with a form control for validation purposes.\n */\n@Component({\n selector: 'fd-form-message',\n templateUrl: './form-message.component.html',\n styleUrls: ['./form-message.component.scss'],\n host: {\n 'aria-live': 'assertive',\n 'aria-atomic': 'true'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormMessageComponent implements CssClassBuilder, OnInit, OnChanges {\n /** Type of the message. Can be 'success' | 'error' | 'warning' | 'information' */\n @Input()\n type: MessageStates;\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 /** @hidden User's custom classes */\n @Input()\n class: string;\n\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\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 ];\n }\n\n /** @hidden */\n elementRef(): ElementRef {\n return this._elementRef;\n }\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormMessageComponent } from './form-message.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormMessageComponent],\n declarations: [FormMessageComponent]\n})\nexport class FormMessageModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\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 styleUrls: ['./form-input-message-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\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[] = ['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 /** Whether the message is open. Can be used through two-way binding. */\n @Input()\n isOpen = false;\n\n /** Event emitted when the state of the isOpen property changes. */\n @Output()\n isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\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","<fd-popover\n class=\"fd-form-input-message-group\"\n additionalBodyClass=\"fd-popover__popper--input-message-group\"\n [placement]=\"placement\"\n [triggers]=\"triggers\"\n [noArrow]=\"noArrow\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n [isOpen]=\"isOpen\"\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 { CommonModule } from '@angular/common';\nimport { FormInputMessageGroupComponent } from './form-input-message-group.component';\nimport { NgModule } from '@angular/core';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\n\n@NgModule({\n imports: [CommonModule, PopoverModule],\n exports: [FormInputMessageGroupComponent],\n declarations: [FormInputMessageGroupComponent]\n})\nexport class FormInputMessageGroupModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n ViewEncapsulation,\n ElementRef,\n Input,\n OnChanges,\n OnInit\n} from '@angular/core';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/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 templateUrl: './form-group.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./form-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormGroupComponent implements CssClassBuilder, OnChanges, OnInit {\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(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\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 elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormGroupComponent } from './form-group.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormGroupComponent],\n declarations: [FormGroupComponent]\n})\nexport class FormGroupModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { FieldSetModule } from './fieldset/fieldset.module';\nimport { FormControlModule } from './form-control/form-control.module';\nimport { FormItemModule } from './form-item/form-item.module';\nimport { FormLabelModule } from './form-label/form-label.module';\nimport { FormHeaderModule } from './form-header/form-header.module';\nimport { FormLegendModule } from './form-legend/form-legend.module';\nimport { FormMessageModule } from './form-message/form-message.module';\nimport { FormInputMessageGroupModule } from './form-input-message-group/form-input-message-group.module';\nimport { FormGroupModule } from './form-group/form-group.module';\n\n@NgModule({\n imports: [CommonModule, PopoverModule],\n exports: [\n FieldSetModule,\n FormControlModule,\n FormItemModule,\n FormLabelModule,\n FormHeaderModule,\n FormLegendModule,\n FormMessageModule,\n FormInputMessageGroupModule,\n FormGroupModule\n ]\n})\nexport class FormModule {}\n","import { ElementRef, Injectable } from '@angular/core';\nimport { MessageStates } from './form-message.component';\nimport { PopoverService } from '@fundamental-ngx/core/popover';\nimport { CSS_CLASS_NAME, getTypeClassName } from './constants';\n\n@Injectable()\nexport class PopoverFormMessageService {\n /** @hidden */\n private _type: MessageStates;\n\n /** @hidden */\n private _message: string;\n\n /** @hidden */\n private _hidden = false;\n\n constructor(private _popoverService: PopoverService) {}\n\n /** @hidden */\n set messageType(type: MessageStates) {\n this._type = type;\n this._updatePopover();\n }\n\n /** @hidden */\n set message(message: string) {\n this._message = message;\n this._updatePopover();\n }\n\n /** @hidden */\n set triggers(triggers: string[]) {\n this._popoverService.triggers = 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 [\n CSS_CLASS_NAME.message,\n getTypeClassName(this._type),\n this._shouldBeHidden() ? 'fd-popover__body--hidden' : ''\n ];\n }\n\n /** @hidden */\n private _updatePopover(): void {\n this._popoverService.additionalBodyClass = 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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-form.mjs","sources":["../../../../../libs/core/src/lib/form/fieldset/fieldset.component.ts","../../../../../libs/core/src/lib/form/fieldset/fieldset.module.ts","../../../../../libs/core/src/lib/form/form-control/form-control.component.ts","../../../../../libs/core/src/lib/form/form-control/form-control.module.ts","../../../../../libs/core/src/lib/form/form-item/form-item.component.ts","../../../../../libs/core/src/lib/form/form-item/form-item.module.ts","../../../../../libs/core/src/lib/form/form-label/form-label.component.ts","../../../../../libs/core/src/lib/form/form-label/form-label.component.html","../../../../../libs/core/src/lib/form/form-label/form-label.module.ts","../../../../../libs/core/src/lib/form/form-header/form-header.component.ts","../../../../../libs/core/src/lib/form/form-header/form-header.module.ts","../../../../../libs/core/src/lib/form/form-legend/form-legend.directive.ts","../../../../../libs/core/src/lib/form/form-legend/form-legend.module.ts","../../../../../libs/core/src/lib/form/form-message/constants.ts","../../../../../libs/core/src/lib/form/form-message/form-message.component.ts","../../../../../libs/core/src/lib/form/form-message/form-message.component.html","../../../../../libs/core/src/lib/form/form-message/form-message.module.ts","../../../../../libs/core/src/lib/form/form-input-message-group/form-input-message-group.component.ts","../../../../../libs/core/src/lib/form/form-input-message-group/form-input-message-group.component.html","../../../../../libs/core/src/lib/form/form-input-message-group/form-input-message-group.module.ts","../../../../../libs/core/src/lib/form/form-group/form-group.component.ts","../../../../../libs/core/src/lib/form/form-group/form-group.component.html","../../../../../libs/core/src/lib/form/form-group/form-group.module.ts","../../../../../libs/core/src/lib/form/form.module.ts","../../../../../libs/core/src/lib/form/form-message/popover-form-message.service.ts","../../../../../libs/core/src/lib/form/fundamental-ngx-core-form.ts"],"sourcesContent":["import { 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 styleUrls: ['./fieldset.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class FieldsetComponent {\n /** @hidden */\n @HostBinding('class.fd-fieldset')\n fdFieldClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FieldsetComponent } from './fieldset.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FieldsetComponent],\n declarations: [FieldsetComponent]\n})\nexport class FieldSetModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormStates } from '@fundamental-ngx/core/shared';\nimport { Subscription } from 'rxjs';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\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: '[fd-form-control]',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./form-control.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormControlComponent implements CssClassBuilder, OnInit, OnChanges, OnDestroy {\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;\n\n /**\n * Whether form is in compact mode\n */\n @Input()\n compact?: boolean;\n\n @Input()\n type: string;\n\n /** user's custom classes */\n @Input()\n class: string;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n this.state ? 'is-' + this.state : '',\n this._getFormClass(),\n this.compact ? this._getFormClass() + '--compact' : '',\n this.class\n ];\n }\n\n private _getFormClass(): string {\n switch (this._getElementTag()) {\n case 'input':\n return 'fd-input';\n case 'textarea':\n return 'fd-textarea';\n }\n }\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, @Optional() private _contentDensityService: ContentDensityService) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this.buildComponentCssClass();\n })\n );\n }\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n private _getElementTag(): string {\n if (this.elementRef() && this.elementRef().nativeElement) {\n return this.elementRef().nativeElement.tagName.toLocaleLowerCase();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormControlComponent } from './form-control.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormControlComponent],\n declarations: [FormControlComponent]\n})\nexport class FormControlModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\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 styleUrls: ['./form-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormItemComponent {\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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormItemComponent } from './form-item.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormItemComponent],\n declarations: [FormItemComponent]\n})\nexport class FormItemModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { InlineHelpFormPlacement } from '../inline-help-placement.type';\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 // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-form-label]',\n templateUrl: './form-label.component.html',\n styleUrls: ['./form-label.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormLabelComponent implements OnChanges {\n /** Whether form is required */\n @Input()\n required = false;\n\n /** Whether form is required */\n @Input()\n colon = false;\n\n /** @deprecated */\n @Input()\n checkbox = false;\n\n /** @deprecated */\n @Input()\n radio = 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 body text */\n @Input()\n inlineHelpTitle: string = 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[] = ['mouseenter', 'mouseleave', 'focusin', 'focusout'];\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 /** @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 /** @hidden */\n @HostBinding('class.fd-form-label__wrapper--inline-help--after')\n inlineHelpAfter = true;\n\n /** @hidden */\n ngOnChanges(): void {\n this.inlineHelpClass = !!this.inlineHelpTitle;\n this.inlineHelpAfter = this.inlineHelpTitle && this.inlineHelpPlacement === 'after';\n }\n}\n","<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormLabelComponent } from './form-label.component';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { InlineHelpModule } from '@fundamental-ngx/core/inline-help';\n\n@NgModule({\n imports: [CommonModule, IconModule, InlineHelpModule],\n exports: [FormLabelComponent],\n declarations: [FormLabelComponent]\n})\nexport class FormLabelModule {}\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 styleUrls: ['./form-header.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormHeaderComponent {\n /** @hidden */\n @HostBinding('class.fd-form-header')\n fdFormHeaderClass = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormHeaderComponent } from './form-header.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormHeaderComponent],\n declarations: [FormHeaderComponent]\n})\nexport class FormHeaderModule {}\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})\nexport class FormLegendDirective {\n /** @hidden */\n @HostBinding('class.fd-fieldset__legend')\n fdFormLegendClass = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormLegendDirective } from './form-legend.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormLegendDirective],\n declarations: [FormLegendDirective]\n})\nexport class FormLegendModule {}\n","import { MessageStates } from './form-message.component';\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\nexport function getTypeClassName(size: MessageStates): string {\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 { CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CSS_CLASS_NAME, getTypeClassName } from './constants';\n\nexport type MessageStates = 'success' | 'error' | 'warning' | 'information';\n\n/**\n * Form message. Intended to be displayed with a form control for validation purposes.\n */\n@Component({\n selector: 'fd-form-message',\n templateUrl: './form-message.component.html',\n styleUrls: ['./form-message.component.scss'],\n host: {\n 'aria-live': 'assertive',\n 'aria-atomic': 'true'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormMessageComponent implements CssClassBuilder, OnInit, OnChanges {\n /** Type of the message. Can be 'success' | 'error' | 'warning' | 'information' */\n @Input()\n type: MessageStates;\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 /** @hidden User's custom classes */\n @Input()\n class: string;\n\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\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 ];\n }\n\n /** @hidden */\n elementRef(): ElementRef {\n return this._elementRef;\n }\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormMessageComponent } from './form-message.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormMessageComponent],\n declarations: [FormMessageComponent]\n})\nexport class FormMessageModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\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 styleUrls: ['./form-input-message-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\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[] = ['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 /** Whether the message is open. Can be used through two-way binding. */\n @Input()\n isOpen = false;\n\n /** Event emitted when the state of the isOpen property changes. */\n @Output()\n isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\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","<fd-popover\n class=\"fd-form-input-message-group\"\n additionalBodyClass=\"fd-popover__popper--input-message-group\"\n [placement]=\"placement\"\n [triggers]=\"triggers\"\n [noArrow]=\"noArrow\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n [isOpen]=\"isOpen\"\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 { CommonModule } from '@angular/common';\nimport { FormInputMessageGroupComponent } from './form-input-message-group.component';\nimport { NgModule } from '@angular/core';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\n\n@NgModule({\n imports: [CommonModule, PopoverModule],\n exports: [FormInputMessageGroupComponent],\n declarations: [FormInputMessageGroupComponent]\n})\nexport class FormInputMessageGroupModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n ViewEncapsulation,\n ElementRef,\n Input,\n OnChanges,\n OnInit\n} from '@angular/core';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/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 templateUrl: './form-group.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./form-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormGroupComponent implements CssClassBuilder, OnChanges, OnInit {\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(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\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 elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormGroupComponent } from './form-group.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormGroupComponent],\n declarations: [FormGroupComponent]\n})\nexport class FormGroupModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { FieldSetModule } from './fieldset/fieldset.module';\nimport { FormControlModule } from './form-control/form-control.module';\nimport { FormItemModule } from './form-item/form-item.module';\nimport { FormLabelModule } from './form-label/form-label.module';\nimport { FormHeaderModule } from './form-header/form-header.module';\nimport { FormLegendModule } from './form-legend/form-legend.module';\nimport { FormMessageModule } from './form-message/form-message.module';\nimport { FormInputMessageGroupModule } from './form-input-message-group/form-input-message-group.module';\nimport { FormGroupModule } from './form-group/form-group.module';\n\n@NgModule({\n imports: [CommonModule, PopoverModule],\n exports: [\n FieldSetModule,\n FormControlModule,\n FormItemModule,\n FormLabelModule,\n FormHeaderModule,\n FormLegendModule,\n FormMessageModule,\n FormInputMessageGroupModule,\n FormGroupModule\n ]\n})\nexport class FormModule {}\n","import { ElementRef, Injectable } from '@angular/core';\nimport { MessageStates } from './form-message.component';\nimport { PopoverService } from '@fundamental-ngx/core/popover';\nimport { CSS_CLASS_NAME, getTypeClassName } from './constants';\n\n@Injectable()\nexport class PopoverFormMessageService {\n /** @hidden */\n private _type: MessageStates;\n\n /** @hidden */\n private _message: string;\n\n /** @hidden */\n private _hidden = false;\n\n constructor(private _popoverService: PopoverService) {}\n\n /** @hidden */\n set messageType(type: MessageStates) {\n this._type = type;\n this._updatePopover();\n }\n\n /** @hidden */\n set message(message: string) {\n this._message = message;\n this._updatePopover();\n }\n\n /** @hidden */\n set triggers(triggers: string[]) {\n this._popoverService.triggers = 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 [\n CSS_CLASS_NAME.message,\n getTypeClassName(this._type),\n this._shouldBeHidden() ? 'fd-popover__body--hidden' : ''\n ];\n }\n\n /** @hidden */\n private _updatePopover(): void {\n this._popoverService.additionalBodyClass = 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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -231,6 +231,8 @@ class FormLabelComponent {
231
231
  this.checkbox = false;
232
232
  /** @deprecated */
233
233
  this.radio = false;
234
+ /** Align label on end */
235
+ this.alignLabelEnd = false;
234
236
  /** Inline help body text */
235
237
  this.inlineHelpTitle = null;
236
238
  /** Glyph of icon triggering inline help */
@@ -253,10 +255,10 @@ class FormLabelComponent {
253
255
  }
254
256
  }
255
257
  FormLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FormLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
256
- FormLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: FormLabelComponent, selector: "[fd-form-label]", inputs: { required: "required", colon: "colon", checkbox: "checkbox", radio: "radio", inlineHelpTitle: "inlineHelpTitle", inlineHelpGlyph: "inlineHelpGlyph", inlineHelpTriggers: "inlineHelpTriggers", inlineHelpBodyPlacement: "inlineHelpBodyPlacement", inlineHelpPlacement: "inlineHelpPlacement" }, host: { properties: { "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" } }, usesOnChanges: true, ngImport: i0, template: "<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 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.fd-form-label\n*/.fd-form-label{line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:-moz-fit-content;width:fit-content;position:relative;max-width:100%;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);margin-right:.5rem;cursor:text;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{box-sizing:inherit;font-size:inherit}.fd-form-label[dir=rtl],[dir=rtl] .fd-form-label{margin-left:.5rem;margin-right:0}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{padding:0 0 0 .25rem;color:var(--sapField_TextColor);margin:0}.fd-form-label--unit-description[dir=rtl],[dir=rtl] .fd-form-label--unit-description{margin:0;padding:0 .25rem 0 0}.fd-form-label--required,.fd-form-label[aria-required=true]{padding-right:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{content:\"*\";font-size:var(--sapFontSize);font-weight:700;color:var(--sapField_RequiredColor);position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl],.fd-form-label[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--required,[dir=rtl] .fd-form-label[aria-required=true]{padding-right:0;padding-left:.5rem}.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{right:auto;left:0}.fd-form-label--colon{padding-right:.25rem}.fd-form-label--colon:before{content:\":\";font-size:var(--sapFontSize);color:inherit;position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl],[dir=rtl] .fd-form-label--colon{padding-left:.25rem;padding-right:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{right:auto;left:0}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{padding-right:.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],.fd-form-label--colon[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--colon.fd-form-label--required,[dir=rtl] .fd-form-label--colon[aria-required=true]{padding-left:.75rem;padding-right:0}.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{right:auto;left:.5rem}.fd-form-label--inline-help{width:100%;display:flex;justify-content:space-between;align-items:center}.fd-form-label{display:inline-block}.fd-form-label__wrapper{position:relative;display:flex}.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;top:50%;transform:translateY(3%);align-items:center;display:flex;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}\n"], components: [{ type: i1$1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.InlineHelpDirective, selector: "[fd-inline-help], [fd-inline-help-template]", inputs: ["triggers", "noArrow", "closeOnEscapeKey", "closeOnOutsideClick", "fd-inline-help", "fd-inline-help-template"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
258
+ FormLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: FormLabelComponent, selector: "[fd-form-label]", inputs: { required: "required", colon: "colon", checkbox: "checkbox", radio: "radio", alignLabelEnd: "alignLabelEnd", inlineHelpTitle: "inlineHelpTitle", inlineHelpGlyph: "inlineHelpGlyph", inlineHelpTriggers: "inlineHelpTriggers", inlineHelpBodyPlacement: "inlineHelpBodyPlacement", inlineHelpPlacement: "inlineHelpPlacement" }, 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" } }, usesOnChanges: true, ngImport: i0, template: "<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 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.fd-form-label\n*/.fd-form-label{line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:-moz-fit-content;width:fit-content;position:relative;max-width:100%;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);margin-right:.5rem;cursor:text;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{box-sizing:inherit;font-size:inherit}.fd-form-label[dir=rtl],[dir=rtl] .fd-form-label{margin-left:.5rem;margin-right:0}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{padding:0 0 0 .25rem;color:var(--sapField_TextColor);margin:0}.fd-form-label--unit-description[dir=rtl],[dir=rtl] .fd-form-label--unit-description{margin:0;padding:0 .25rem 0 0}.fd-form-label--required,.fd-form-label[aria-required=true]{padding-right:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{content:\"*\";font-size:var(--sapFontSize);font-weight:700;color:var(--sapField_RequiredColor);position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl],.fd-form-label[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--required,[dir=rtl] .fd-form-label[aria-required=true]{padding-right:0;padding-left:.5rem}.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{right:auto;left:0}.fd-form-label--colon{padding-right:.25rem}.fd-form-label--colon:before{content:\":\";font-size:var(--sapFontSize);color:inherit;position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl],[dir=rtl] .fd-form-label--colon{padding-left:.25rem;padding-right:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{right:auto;left:0}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{padding-right:.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],.fd-form-label--colon[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--colon.fd-form-label--required,[dir=rtl] .fd-form-label--colon[aria-required=true]{padding-left:.75rem;padding-right:0}.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{right:auto;left:.5rem}.fd-form-label--inline-help{width:100%;display:flex;justify-content:space-between;align-items:center}.fd-form-label{display:inline-block}.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;top:50%;transform:translateY(3%);align-items:center;display:flex;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}\n"], components: [{ type: i1$1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.InlineHelpDirective, selector: "[fd-inline-help], [fd-inline-help-template]", inputs: ["triggers", "noArrow", "closeOnEscapeKey", "closeOnOutsideClick", "fd-inline-help", "fd-inline-help-template"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
257
259
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FormLabelComponent, decorators: [{
258
260
  type: Component,
259
- args: [{ selector: '[fd-form-label]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 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.fd-form-label\n*/.fd-form-label{line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:-moz-fit-content;width:fit-content;position:relative;max-width:100%;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);margin-right:.5rem;cursor:text;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{box-sizing:inherit;font-size:inherit}.fd-form-label[dir=rtl],[dir=rtl] .fd-form-label{margin-left:.5rem;margin-right:0}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{padding:0 0 0 .25rem;color:var(--sapField_TextColor);margin:0}.fd-form-label--unit-description[dir=rtl],[dir=rtl] .fd-form-label--unit-description{margin:0;padding:0 .25rem 0 0}.fd-form-label--required,.fd-form-label[aria-required=true]{padding-right:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{content:\"*\";font-size:var(--sapFontSize);font-weight:700;color:var(--sapField_RequiredColor);position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl],.fd-form-label[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--required,[dir=rtl] .fd-form-label[aria-required=true]{padding-right:0;padding-left:.5rem}.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{right:auto;left:0}.fd-form-label--colon{padding-right:.25rem}.fd-form-label--colon:before{content:\":\";font-size:var(--sapFontSize);color:inherit;position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl],[dir=rtl] .fd-form-label--colon{padding-left:.25rem;padding-right:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{right:auto;left:0}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{padding-right:.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],.fd-form-label--colon[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--colon.fd-form-label--required,[dir=rtl] .fd-form-label--colon[aria-required=true]{padding-left:.75rem;padding-right:0}.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{right:auto;left:.5rem}.fd-form-label--inline-help{width:100%;display:flex;justify-content:space-between;align-items:center}.fd-form-label{display:inline-block}.fd-form-label__wrapper{position:relative;display:flex}.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;top:50%;transform:translateY(3%);align-items:center;display:flex;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}\n"] }]
261
+ args: [{ selector: '[fd-form-label]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 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.fd-form-label\n*/.fd-form-label{line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:-moz-fit-content;width:fit-content;position:relative;max-width:100%;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);margin-right:.5rem;cursor:text;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{box-sizing:inherit;font-size:inherit}.fd-form-label[dir=rtl],[dir=rtl] .fd-form-label{margin-left:.5rem;margin-right:0}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{padding:0 0 0 .25rem;color:var(--sapField_TextColor);margin:0}.fd-form-label--unit-description[dir=rtl],[dir=rtl] .fd-form-label--unit-description{margin:0;padding:0 .25rem 0 0}.fd-form-label--required,.fd-form-label[aria-required=true]{padding-right:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{content:\"*\";font-size:var(--sapFontSize);font-weight:700;color:var(--sapField_RequiredColor);position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl],.fd-form-label[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--required,[dir=rtl] .fd-form-label[aria-required=true]{padding-right:0;padding-left:.5rem}.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{right:auto;left:0}.fd-form-label--colon{padding-right:.25rem}.fd-form-label--colon:before{content:\":\";font-size:var(--sapFontSize);color:inherit;position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl],[dir=rtl] .fd-form-label--colon{padding-left:.25rem;padding-right:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{right:auto;left:0}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{padding-right:.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],.fd-form-label--colon[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--colon.fd-form-label--required,[dir=rtl] .fd-form-label--colon[aria-required=true]{padding-left:.75rem;padding-right:0}.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{right:auto;left:.5rem}.fd-form-label--inline-help{width:100%;display:flex;justify-content:space-between;align-items:center}.fd-form-label{display:inline-block}.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;top:50%;transform:translateY(3%);align-items:center;display:flex;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}\n"] }]
260
262
  }], propDecorators: { required: [{
261
263
  type: Input
262
264
  }], colon: [{
@@ -265,6 +267,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
265
267
  type: Input
266
268
  }], radio: [{
267
269
  type: Input
270
+ }], alignLabelEnd: [{
271
+ type: Input
272
+ }, {
273
+ type: HostBinding,
274
+ args: ['class.fd-form-label__wrapper--align-end']
268
275
  }], inlineHelpTitle: [{
269
276
  type: Input
270
277
  }], inlineHelpGlyph: [{
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-form.mjs","sources":["../../../../../libs/core/src/lib/form/fieldset/fieldset.component.ts","../../../../../libs/core/src/lib/form/fieldset/fieldset.module.ts","../../../../../libs/core/src/lib/form/form-control/form-control.component.ts","../../../../../libs/core/src/lib/form/form-control/form-control.module.ts","../../../../../libs/core/src/lib/form/form-item/form-item.component.ts","../../../../../libs/core/src/lib/form/form-item/form-item.module.ts","../../../../../libs/core/src/lib/form/form-label/form-label.component.ts","../../../../../libs/core/src/lib/form/form-label/form-label.component.html","../../../../../libs/core/src/lib/form/form-label/form-label.module.ts","../../../../../libs/core/src/lib/form/form-header/form-header.component.ts","../../../../../libs/core/src/lib/form/form-header/form-header.module.ts","../../../../../libs/core/src/lib/form/form-legend/form-legend.directive.ts","../../../../../libs/core/src/lib/form/form-legend/form-legend.module.ts","../../../../../libs/core/src/lib/form/form-message/constants.ts","../../../../../libs/core/src/lib/form/form-message/form-message.component.ts","../../../../../libs/core/src/lib/form/form-message/form-message.component.html","../../../../../libs/core/src/lib/form/form-message/form-message.module.ts","../../../../../libs/core/src/lib/form/form-input-message-group/form-input-message-group.component.ts","../../../../../libs/core/src/lib/form/form-input-message-group/form-input-message-group.component.html","../../../../../libs/core/src/lib/form/form-input-message-group/form-input-message-group.module.ts","../../../../../libs/core/src/lib/form/form-group/form-group.component.ts","../../../../../libs/core/src/lib/form/form-group/form-group.component.html","../../../../../libs/core/src/lib/form/form-group/form-group.module.ts","../../../../../libs/core/src/lib/form/form.module.ts","../../../../../libs/core/src/lib/form/form-message/popover-form-message.service.ts","../../../../../libs/core/src/lib/form/fundamental-ngx-core-form.ts"],"sourcesContent":["import { 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 styleUrls: ['./fieldset.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class FieldsetComponent {\n /** @hidden */\n @HostBinding('class.fd-fieldset')\n fdFieldClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FieldsetComponent } from './fieldset.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FieldsetComponent],\n declarations: [FieldsetComponent]\n})\nexport class FieldSetModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormStates } from '@fundamental-ngx/core/shared';\nimport { Subscription } from 'rxjs';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\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: '[fd-form-control]',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./form-control.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormControlComponent implements CssClassBuilder, OnInit, OnChanges, OnDestroy {\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;\n\n /**\n * Whether form is in compact mode\n */\n @Input()\n compact?: boolean;\n\n @Input()\n type: string;\n\n /** user's custom classes */\n @Input()\n class: string;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n this.state ? 'is-' + this.state : '',\n this._getFormClass(),\n this.compact ? this._getFormClass() + '--compact' : '',\n this.class\n ];\n }\n\n private _getFormClass(): string {\n switch (this._getElementTag()) {\n case 'input':\n return 'fd-input';\n case 'textarea':\n return 'fd-textarea';\n }\n }\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, @Optional() private _contentDensityService: ContentDensityService) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this.buildComponentCssClass();\n })\n );\n }\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n private _getElementTag(): string {\n if (this.elementRef() && this.elementRef().nativeElement) {\n return this.elementRef().nativeElement.tagName.toLocaleLowerCase();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormControlComponent } from './form-control.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormControlComponent],\n declarations: [FormControlComponent]\n})\nexport class FormControlModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\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 styleUrls: ['./form-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormItemComponent {\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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormItemComponent } from './form-item.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormItemComponent],\n declarations: [FormItemComponent]\n})\nexport class FormItemModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { InlineHelpFormPlacement } from '../inline-help-placement.type';\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 // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-form-label]',\n templateUrl: './form-label.component.html',\n styleUrls: ['./form-label.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormLabelComponent implements OnChanges {\n /** Whether form is required */\n @Input()\n required = false;\n\n /** Whether form is required */\n @Input()\n colon = false;\n\n /** @deprecated */\n @Input()\n checkbox = false;\n\n /** @deprecated */\n @Input()\n radio = false;\n\n /** Inline help body text */\n @Input()\n inlineHelpTitle: string = 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[] = ['mouseenter', 'mouseleave', 'focusin', 'focusout'];\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 /** @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 /** @hidden */\n @HostBinding('class.fd-form-label__wrapper--inline-help--after')\n inlineHelpAfter = true;\n\n /** @hidden */\n ngOnChanges(): void {\n this.inlineHelpClass = !!this.inlineHelpTitle;\n this.inlineHelpAfter = this.inlineHelpTitle && this.inlineHelpPlacement === 'after';\n }\n}\n","<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormLabelComponent } from './form-label.component';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { InlineHelpModule } from '@fundamental-ngx/core/inline-help';\n\n@NgModule({\n imports: [CommonModule, IconModule, InlineHelpModule],\n exports: [FormLabelComponent],\n declarations: [FormLabelComponent]\n})\nexport class FormLabelModule {}\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 styleUrls: ['./form-header.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormHeaderComponent {\n /** @hidden */\n @HostBinding('class.fd-form-header')\n fdFormHeaderClass = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormHeaderComponent } from './form-header.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormHeaderComponent],\n declarations: [FormHeaderComponent]\n})\nexport class FormHeaderModule {}\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})\nexport class FormLegendDirective {\n /** @hidden */\n @HostBinding('class.fd-fieldset__legend')\n fdFormLegendClass = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormLegendDirective } from './form-legend.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormLegendDirective],\n declarations: [FormLegendDirective]\n})\nexport class FormLegendModule {}\n","import { MessageStates } from './form-message.component';\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\nexport function getTypeClassName(size: MessageStates): string {\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 { CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CSS_CLASS_NAME, getTypeClassName } from './constants';\n\nexport type MessageStates = 'success' | 'error' | 'warning' | 'information';\n\n/**\n * Form message. Intended to be displayed with a form control for validation purposes.\n */\n@Component({\n selector: 'fd-form-message',\n templateUrl: './form-message.component.html',\n styleUrls: ['./form-message.component.scss'],\n host: {\n 'aria-live': 'assertive',\n 'aria-atomic': 'true'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormMessageComponent implements CssClassBuilder, OnInit, OnChanges {\n /** Type of the message. Can be 'success' | 'error' | 'warning' | 'information' */\n @Input()\n type: MessageStates;\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 /** @hidden User's custom classes */\n @Input()\n class: string;\n\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\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 ];\n }\n\n /** @hidden */\n elementRef(): ElementRef {\n return this._elementRef;\n }\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormMessageComponent } from './form-message.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormMessageComponent],\n declarations: [FormMessageComponent]\n})\nexport class FormMessageModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\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 styleUrls: ['./form-input-message-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\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[] = ['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 /** Whether the message is open. Can be used through two-way binding. */\n @Input()\n isOpen = false;\n\n /** Event emitted when the state of the isOpen property changes. */\n @Output()\n isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\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","<fd-popover\n class=\"fd-form-input-message-group\"\n additionalBodyClass=\"fd-popover__popper--input-message-group\"\n [placement]=\"placement\"\n [triggers]=\"triggers\"\n [noArrow]=\"noArrow\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n [isOpen]=\"isOpen\"\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 { CommonModule } from '@angular/common';\nimport { FormInputMessageGroupComponent } from './form-input-message-group.component';\nimport { NgModule } from '@angular/core';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\n\n@NgModule({\n imports: [CommonModule, PopoverModule],\n exports: [FormInputMessageGroupComponent],\n declarations: [FormInputMessageGroupComponent]\n})\nexport class FormInputMessageGroupModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n ViewEncapsulation,\n ElementRef,\n Input,\n OnChanges,\n OnInit\n} from '@angular/core';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/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 templateUrl: './form-group.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./form-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormGroupComponent implements CssClassBuilder, OnChanges, OnInit {\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(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\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 elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormGroupComponent } from './form-group.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormGroupComponent],\n declarations: [FormGroupComponent]\n})\nexport class FormGroupModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { FieldSetModule } from './fieldset/fieldset.module';\nimport { FormControlModule } from './form-control/form-control.module';\nimport { FormItemModule } from './form-item/form-item.module';\nimport { FormLabelModule } from './form-label/form-label.module';\nimport { FormHeaderModule } from './form-header/form-header.module';\nimport { FormLegendModule } from './form-legend/form-legend.module';\nimport { FormMessageModule } from './form-message/form-message.module';\nimport { FormInputMessageGroupModule } from './form-input-message-group/form-input-message-group.module';\nimport { FormGroupModule } from './form-group/form-group.module';\n\n@NgModule({\n imports: [CommonModule, PopoverModule],\n exports: [\n FieldSetModule,\n FormControlModule,\n FormItemModule,\n FormLabelModule,\n FormHeaderModule,\n FormLegendModule,\n FormMessageModule,\n FormInputMessageGroupModule,\n FormGroupModule\n ]\n})\nexport class FormModule {}\n","import { ElementRef, Injectable } from '@angular/core';\nimport { MessageStates } from './form-message.component';\nimport { PopoverService } from '@fundamental-ngx/core/popover';\nimport { CSS_CLASS_NAME, getTypeClassName } from './constants';\n\n@Injectable()\nexport class PopoverFormMessageService {\n /** @hidden */\n private _type: MessageStates;\n\n /** @hidden */\n private _message: string;\n\n /** @hidden */\n private _hidden = false;\n\n constructor(private _popoverService: PopoverService) {}\n\n /** @hidden */\n set messageType(type: MessageStates) {\n this._type = type;\n this._updatePopover();\n }\n\n /** @hidden */\n set message(message: string) {\n this._message = message;\n this._updatePopover();\n }\n\n /** @hidden */\n set triggers(triggers: string[]) {\n this._popoverService.triggers = 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 [\n CSS_CLASS_NAME.message,\n getTypeClassName(this._type),\n this._shouldBeHidden() ? 'fd-popover__body--hidden' : ''\n ];\n }\n\n /** @hidden */\n private _updatePopover(): void {\n this._popoverService.additionalBodyClass = 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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-form.mjs","sources":["../../../../../libs/core/src/lib/form/fieldset/fieldset.component.ts","../../../../../libs/core/src/lib/form/fieldset/fieldset.module.ts","../../../../../libs/core/src/lib/form/form-control/form-control.component.ts","../../../../../libs/core/src/lib/form/form-control/form-control.module.ts","../../../../../libs/core/src/lib/form/form-item/form-item.component.ts","../../../../../libs/core/src/lib/form/form-item/form-item.module.ts","../../../../../libs/core/src/lib/form/form-label/form-label.component.ts","../../../../../libs/core/src/lib/form/form-label/form-label.component.html","../../../../../libs/core/src/lib/form/form-label/form-label.module.ts","../../../../../libs/core/src/lib/form/form-header/form-header.component.ts","../../../../../libs/core/src/lib/form/form-header/form-header.module.ts","../../../../../libs/core/src/lib/form/form-legend/form-legend.directive.ts","../../../../../libs/core/src/lib/form/form-legend/form-legend.module.ts","../../../../../libs/core/src/lib/form/form-message/constants.ts","../../../../../libs/core/src/lib/form/form-message/form-message.component.ts","../../../../../libs/core/src/lib/form/form-message/form-message.component.html","../../../../../libs/core/src/lib/form/form-message/form-message.module.ts","../../../../../libs/core/src/lib/form/form-input-message-group/form-input-message-group.component.ts","../../../../../libs/core/src/lib/form/form-input-message-group/form-input-message-group.component.html","../../../../../libs/core/src/lib/form/form-input-message-group/form-input-message-group.module.ts","../../../../../libs/core/src/lib/form/form-group/form-group.component.ts","../../../../../libs/core/src/lib/form/form-group/form-group.component.html","../../../../../libs/core/src/lib/form/form-group/form-group.module.ts","../../../../../libs/core/src/lib/form/form.module.ts","../../../../../libs/core/src/lib/form/form-message/popover-form-message.service.ts","../../../../../libs/core/src/lib/form/fundamental-ngx-core-form.ts"],"sourcesContent":["import { 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 styleUrls: ['./fieldset.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class FieldsetComponent {\n /** @hidden */\n @HostBinding('class.fd-fieldset')\n fdFieldClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FieldsetComponent } from './fieldset.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FieldsetComponent],\n declarations: [FieldsetComponent]\n})\nexport class FieldSetModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormStates } from '@fundamental-ngx/core/shared';\nimport { Subscription } from 'rxjs';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\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: '[fd-form-control]',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./form-control.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormControlComponent implements CssClassBuilder, OnInit, OnChanges, OnDestroy {\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;\n\n /**\n * Whether form is in compact mode\n */\n @Input()\n compact?: boolean;\n\n @Input()\n type: string;\n\n /** user's custom classes */\n @Input()\n class: string;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n this.state ? 'is-' + this.state : '',\n this._getFormClass(),\n this.compact ? this._getFormClass() + '--compact' : '',\n this.class\n ];\n }\n\n private _getFormClass(): string {\n switch (this._getElementTag()) {\n case 'input':\n return 'fd-input';\n case 'textarea':\n return 'fd-textarea';\n }\n }\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, @Optional() private _contentDensityService: ContentDensityService) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this.buildComponentCssClass();\n })\n );\n }\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n private _getElementTag(): string {\n if (this.elementRef() && this.elementRef().nativeElement) {\n return this.elementRef().nativeElement.tagName.toLocaleLowerCase();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormControlComponent } from './form-control.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormControlComponent],\n declarations: [FormControlComponent]\n})\nexport class FormControlModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\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 styleUrls: ['./form-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormItemComponent {\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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormItemComponent } from './form-item.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormItemComponent],\n declarations: [FormItemComponent]\n})\nexport class FormItemModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { InlineHelpFormPlacement } from '../inline-help-placement.type';\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 // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-form-label]',\n templateUrl: './form-label.component.html',\n styleUrls: ['./form-label.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormLabelComponent implements OnChanges {\n /** Whether form is required */\n @Input()\n required = false;\n\n /** Whether form is required */\n @Input()\n colon = false;\n\n /** @deprecated */\n @Input()\n checkbox = false;\n\n /** @deprecated */\n @Input()\n radio = 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 body text */\n @Input()\n inlineHelpTitle: string = 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[] = ['mouseenter', 'mouseleave', 'focusin', 'focusout'];\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 /** @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 /** @hidden */\n @HostBinding('class.fd-form-label__wrapper--inline-help--after')\n inlineHelpAfter = true;\n\n /** @hidden */\n ngOnChanges(): void {\n this.inlineHelpClass = !!this.inlineHelpTitle;\n this.inlineHelpAfter = this.inlineHelpTitle && this.inlineHelpPlacement === 'after';\n }\n}\n","<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormLabelComponent } from './form-label.component';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { InlineHelpModule } from '@fundamental-ngx/core/inline-help';\n\n@NgModule({\n imports: [CommonModule, IconModule, InlineHelpModule],\n exports: [FormLabelComponent],\n declarations: [FormLabelComponent]\n})\nexport class FormLabelModule {}\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 styleUrls: ['./form-header.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormHeaderComponent {\n /** @hidden */\n @HostBinding('class.fd-form-header')\n fdFormHeaderClass = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormHeaderComponent } from './form-header.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormHeaderComponent],\n declarations: [FormHeaderComponent]\n})\nexport class FormHeaderModule {}\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})\nexport class FormLegendDirective {\n /** @hidden */\n @HostBinding('class.fd-fieldset__legend')\n fdFormLegendClass = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormLegendDirective } from './form-legend.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormLegendDirective],\n declarations: [FormLegendDirective]\n})\nexport class FormLegendModule {}\n","import { MessageStates } from './form-message.component';\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\nexport function getTypeClassName(size: MessageStates): string {\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 { CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CSS_CLASS_NAME, getTypeClassName } from './constants';\n\nexport type MessageStates = 'success' | 'error' | 'warning' | 'information';\n\n/**\n * Form message. Intended to be displayed with a form control for validation purposes.\n */\n@Component({\n selector: 'fd-form-message',\n templateUrl: './form-message.component.html',\n styleUrls: ['./form-message.component.scss'],\n host: {\n 'aria-live': 'assertive',\n 'aria-atomic': 'true'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormMessageComponent implements CssClassBuilder, OnInit, OnChanges {\n /** Type of the message. Can be 'success' | 'error' | 'warning' | 'information' */\n @Input()\n type: MessageStates;\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 /** @hidden User's custom classes */\n @Input()\n class: string;\n\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\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 ];\n }\n\n /** @hidden */\n elementRef(): ElementRef {\n return this._elementRef;\n }\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormMessageComponent } from './form-message.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormMessageComponent],\n declarations: [FormMessageComponent]\n})\nexport class FormMessageModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\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 styleUrls: ['./form-input-message-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\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[] = ['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 /** Whether the message is open. Can be used through two-way binding. */\n @Input()\n isOpen = false;\n\n /** Event emitted when the state of the isOpen property changes. */\n @Output()\n isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\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","<fd-popover\n class=\"fd-form-input-message-group\"\n additionalBodyClass=\"fd-popover__popper--input-message-group\"\n [placement]=\"placement\"\n [triggers]=\"triggers\"\n [noArrow]=\"noArrow\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n [isOpen]=\"isOpen\"\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 { CommonModule } from '@angular/common';\nimport { FormInputMessageGroupComponent } from './form-input-message-group.component';\nimport { NgModule } from '@angular/core';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\n\n@NgModule({\n imports: [CommonModule, PopoverModule],\n exports: [FormInputMessageGroupComponent],\n declarations: [FormInputMessageGroupComponent]\n})\nexport class FormInputMessageGroupModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n ViewEncapsulation,\n ElementRef,\n Input,\n OnChanges,\n OnInit\n} from '@angular/core';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/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 templateUrl: './form-group.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./form-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormGroupComponent implements CssClassBuilder, OnChanges, OnInit {\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(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\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 elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormGroupComponent } from './form-group.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormGroupComponent],\n declarations: [FormGroupComponent]\n})\nexport class FormGroupModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { FieldSetModule } from './fieldset/fieldset.module';\nimport { FormControlModule } from './form-control/form-control.module';\nimport { FormItemModule } from './form-item/form-item.module';\nimport { FormLabelModule } from './form-label/form-label.module';\nimport { FormHeaderModule } from './form-header/form-header.module';\nimport { FormLegendModule } from './form-legend/form-legend.module';\nimport { FormMessageModule } from './form-message/form-message.module';\nimport { FormInputMessageGroupModule } from './form-input-message-group/form-input-message-group.module';\nimport { FormGroupModule } from './form-group/form-group.module';\n\n@NgModule({\n imports: [CommonModule, PopoverModule],\n exports: [\n FieldSetModule,\n FormControlModule,\n FormItemModule,\n FormLabelModule,\n FormHeaderModule,\n FormLegendModule,\n FormMessageModule,\n FormInputMessageGroupModule,\n FormGroupModule\n ]\n})\nexport class FormModule {}\n","import { ElementRef, Injectable } from '@angular/core';\nimport { MessageStates } from './form-message.component';\nimport { PopoverService } from '@fundamental-ngx/core/popover';\nimport { CSS_CLASS_NAME, getTypeClassName } from './constants';\n\n@Injectable()\nexport class PopoverFormMessageService {\n /** @hidden */\n private _type: MessageStates;\n\n /** @hidden */\n private _message: string;\n\n /** @hidden */\n private _hidden = false;\n\n constructor(private _popoverService: PopoverService) {}\n\n /** @hidden */\n set messageType(type: MessageStates) {\n this._type = type;\n this._updatePopover();\n }\n\n /** @hidden */\n set message(message: string) {\n this._message = message;\n this._updatePopover();\n }\n\n /** @hidden */\n set triggers(triggers: string[]) {\n this._popoverService.triggers = 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 [\n CSS_CLASS_NAME.message,\n getTypeClassName(this._type),\n this._shouldBeHidden() ? 'fd-popover__body--hidden' : ''\n ];\n }\n\n /** @hidden */\n private _updatePopover(): void {\n this._popoverService.additionalBodyClass = 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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA;;;;;;;;;;;MAkBa,iBAAiB;IAP9B;;QAUI,iBAAY,GAAG,IAAI,CAAC;KACvB;;8GAJY,iBAAiB;kGAAjB,iBAAiB,yHAJhB,2BAA2B;2FAI5B,iBAAiB;kBAP7B,SAAS;+BAEI,eAAe,YACf,2BAA2B,iBAEtB,iBAAiB,CAAC,IAAI;8BAKrC,YAAY;sBADX,WAAW;uBAAC,mBAAmB;;;MCbvB,cAAc;;2GAAd,cAAc;4GAAd,cAAc,iBAFR,iBAAiB,aAFtB,YAAY,aACZ,iBAAiB;4GAGlB,cAAc,YAJd,CAAC,YAAY,CAAC;2FAId,cAAc;kBAL1B,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,YAAY,EAAE,CAAC,iBAAiB,CAAC;iBACpC;;;ACSD;;;;;;;MAea,oBAAoB;;IAgD7B,YAAoB,WAAuB,EAAsB,sBAA6C;QAA1F,gBAAW,GAAX,WAAW,CAAY;QAAsB,2BAAsB,GAAtB,sBAAsB,CAAuB;;QA1BtG,mBAAc,GAAG,IAAI,YAAY,EAAE,CAAC;KA0BsE;;;;;IAnBlH,sBAAsB;QAClB,OAAO;YACH,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;YACpC,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,WAAW,GAAG,EAAE;YACtD,IAAI,CAAC,KAAK;SACb,CAAC;KACL;IAEO,aAAa;QACjB,QAAQ,IAAI,CAAC,cAAc,EAAE;YACzB,KAAK,OAAO;gBACR,OAAO,UAAU,CAAC;YACtB,KAAK,UAAU;gBACX,OAAO,aAAa,CAAC;SAC5B;KACJ;;IAMD,QAAQ;QACJ,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC3D,IAAI,CAAC,cAAc,CAAC,GAAG,CACnB,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,SAAS;gBAC9D,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;gBACzB,IAAI,CAAC,sBAAsB,EAAE,CAAC;aACjC,CAAC,CACL,CAAC;SACL;KACJ;;IAGD,WAAW;QACP,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;IAGD,WAAW;QACP,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;KACrC;;IAGD,UAAU;QACN,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;;IAGO,cAAc;QAClB,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;YACtD,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;SACtE;KACJ;;iHAnFQ,oBAAoB;qGAApB,oBAAoB,4JALnB,2BAA2B;AAkCrC;IALC,aAAa;;;;kEAYb;2FApCQ,oBAAoB;kBARhC,SAAS;+BAEI,mBAAmB,YACnB,2BAA2B,iBAEtB,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;;0BAkDD,QAAQ;4CA1CtD,KAAK;sBADJ,KAAK;gBAON,OAAO;sBADN,KAAK;gBAIN,IAAI;sBADH,KAAK;gBAKN,KAAK;sBADJ,KAAK;;;;;;QAWN,sBAAsB;;MCpDb,iBAAiB;;8GAAjB,iBAAiB;+GAAjB,iBAAiB,iBAFX,oBAAoB,aAFzB,YAAY,aACZ,oBAAoB;+GAGrB,iBAAiB,YAJjB,CAAC,YAAY,CAAC;2FAId,iBAAiB;kBAL7B,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,YAAY,EAAE,CAAC,oBAAoB,CAAC;iBACvC;;;ACND;;;;;;;;;MAkBa,iBAAiB;IAT9B;;QAaI,aAAQ,GAAG,KAAK,CAAC;;QAKjB,eAAU,GAAG,KAAK,CAAC;;QAInB,oBAAe,GAAG,IAAI,CAAC;KAC1B;;8GAdY,iBAAiB;kGAAjB,iBAAiB,8RALhB,2BAA2B;2FAK5B,iBAAiB;kBAT7B,SAAS;+BAGI,gBAAgB,YAChB,2BAA2B,iBAEtB,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;8BAM/C,QAAQ;sBAFP,KAAK;;sBACL,WAAW;uBAAC,4BAA4B;gBAMzC,UAAU;sBAFT,KAAK;;sBACL,WAAW;uBAAC,gCAAgC;gBAK7C,eAAe;sBADd,WAAW;uBAAC,oBAAoB;;;MCvBxB,cAAc;;2GAAd,cAAc;4GAAd,cAAc,iBAFR,iBAAiB,aAFtB,YAAY,aACZ,iBAAiB;4GAGlB,cAAc,YAJd,CAAC,YAAY,CAAC;2FAId,cAAc;kBAL1B,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,YAAY,EAAE,CAAC,iBAAiB,CAAC;iBACpC;;;ACJD;;;;;;;;MAiBa,kBAAkB;IAT/B;;QAYI,aAAQ,GAAG,KAAK,CAAC;;QAIjB,UAAK,GAAG,KAAK,CAAC;;QAId,aAAQ,GAAG,KAAK,CAAC;;QAIjB,UAAK,GAAG,KAAK,CAAC;;QAKd,kBAAa,GAAG,KAAK,CAAC;;QAItB,oBAAe,GAAW,IAAI,CAAC;;QAI/B,oBAAe,GAAG,eAAe,CAAC;;QAIlC,uBAAkB,GAAa,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;;QAanF,wBAAmB,GAA4B,OAAO,CAAC;;QAIvD,iBAAY,GAAG,IAAI,CAAC;;QAIpB,oBAAe,GAAG,IAAI,CAAC;;QAGvB,oBAAe,GAAG,IAAI,CAAC;KAO1B;;IAJG,WAAW;QACP,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,mBAAmB,KAAK,OAAO,CAAC;KACvF;;+GA9DQ,kBAAkB;mGAAlB,kBAAkB,urBCrB/B,09BA0BA;2FDLa,kBAAkB;kBAT9B,SAAS;+BAGI,iBAAiB,iBAGZ,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;8BAK/C,QAAQ;sBADP,KAAK;gBAKN,KAAK;sBADJ,KAAK;gBAKN,QAAQ;sBADP,KAAK;gBAKN,KAAK;sBADJ,KAAK;gBAMN,aAAa;sBAFZ,KAAK;;sBACL,WAAW;uBAAC,yCAAyC;gBAKtD,eAAe;sBADd,KAAK;gBAKN,eAAe;sBADd,KAAK;gBAKN,kBAAkB;sBADjB,KAAK;gBAUN,uBAAuB;sBADtB,KAAK;gBAKN,mBAAmB;sBADlB,KAAK;gBAKN,YAAY;sBADX,WAAW;uBAAC,8BAA8B;gBAK3C,eAAe;sBADd,WAAW;uBAAC,2CAA2C;gBAIxD,eAAe;sBADd,WAAW;uBAAC,kDAAkD;;;MEjEtD,eAAe;;4GAAf,eAAe;6GAAf,eAAe,iBAFT,kBAAkB,aAFvB,YAAY,EAAE,UAAU,EAAE,gBAAgB,aAC1C,kBAAkB;6GAGnB,eAAe,YAJf,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,CAAC;2FAI5C,eAAe;kBAL3B,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,CAAC;oBACrD,OAAO,EAAE,CAAC,kBAAkB,CAAC;oBAC7B,YAAY,EAAE,CAAC,kBAAkB,CAAC;iBACrC;;;ACRD;;;;;;MAea,mBAAmB;IAThC;;QAYI,sBAAiB,GAAG,IAAI,CAAC;KAC5B;;gHAJY,mBAAmB;oGAAnB,mBAAmB,oIALlB,qEAAqE;2FAKtE,mBAAmB;kBAT/B,SAAS;+BAGI,kBAAkB,YAClB,qEAAqE,iBAEhE,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;8BAK/C,iBAAiB;sBADhB,WAAW;uBAAC,sBAAsB;;;MCV1B,gBAAgB;;6GAAhB,gBAAgB;8GAAhB,gBAAgB,iBAFV,mBAAmB,aAFxB,YAAY,aACZ,mBAAmB;8GAGpB,gBAAgB,YAJhB,CAAC,YAAY,CAAC;2FAId,gBAAgB;kBAL5B,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,mBAAmB,CAAC;oBAC9B,YAAY,EAAE,CAAC,mBAAmB,CAAC;iBACtC;;;ACND;;;;;MAUa,mBAAmB;IALhC;;QAQI,sBAAiB,GAAG,IAAI,CAAC;KAC5B;;gHAJY,mBAAmB;oGAAnB,mBAAmB;2FAAnB,mBAAmB;kBAL/B,SAAS;mBAAC;;;oBAGP,QAAQ,EAAE,kBAAkB;iBAC/B;8BAIG,iBAAiB;sBADhB,WAAW;uBAAC,2BAA2B;;;MCL/B,gBAAgB;;6GAAhB,gBAAgB;8GAAhB,gBAAgB,iBAFV,mBAAmB,aAFxB,YAAY,aACZ,mBAAmB;8GAGpB,gBAAgB,YAJhB,CAAC,YAAY,CAAC;2FAId,gBAAgB;kBAL5B,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,mBAAmB,CAAC;oBAC9B,YAAY,EAAE,CAAC,mBAAmB,CAAC;iBACtC;;;ACNM,MAAM,cAAc,GAAG;IAC1B,OAAO,EAAE,iBAAiB;IAC1B,aAAa,EAAE,yBAAyB;IACxC,eAAe,EAAE,2BAA2B;IAC5C,cAAc,EAAE,0BAA0B;IAC1C,YAAY,EAAE,wBAAwB;IACtC,cAAc,EAAE,0BAA0B;IAC1C,kBAAkB,EAAE,8BAA8B;CACrD,CAAC;SAEc,gBAAgB,CAAC,IAAmB;IAChD,QAAQ,IAAI;QACR,KAAK,OAAO;YACR,OAAO,cAAc,CAAC,YAAY,CAAC;QACvC,KAAK,SAAS;YACV,OAAO,cAAc,CAAC,cAAc,CAAC;QACzC,KAAK,SAAS;YACV,OAAO,cAAc,CAAC,cAAc,CAAC;QACzC,KAAK,aAAa;YACd,OAAO,cAAc,CAAC,kBAAkB,CAAC;QAC7C;YACI,OAAO,IAAI,CAAC;KACnB;AACL;;ACVA;;;MAca,oBAAoB;IAoB7B,YAAoB,WAAuB;QAAvB,gBAAW,GAAX,WAAW,CAAY;;QAb3C,WAAM,GAAG,KAAK,CAAC;;;;;QAOf,aAAQ,GAAG,KAAK,CAAC;KAM8B;;IAG/C,WAAW;QACP,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;IAGD,QAAQ;QACJ,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;IAID,sBAAsB;QAClB,OAAO;YACH,cAAc,CAAC,OAAO;YACtB,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,aAAa,GAAG,EAAE;YAC/C,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,eAAe,GAAG,EAAE;YACnD,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,KAAK;SACb,CAAC;KACL;;IAGD,UAAU;QACN,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;;iHA/CQ,oBAAoB;qGAApB,oBAAoB,yOC7BjC,6BACA;AD8DI;IADC,aAAa;;;;kEASb;2FA1CQ,oBAAoB;kBAXhC,SAAS;+BACI,iBAAiB,QAGrB;wBACF,WAAW,EAAE,WAAW;wBACxB,aAAa,EAAE,MAAM;qBACxB,iBACc,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;iGAK/C,IAAI;sBADH,KAAK;gBAKN,MAAM;sBADL,KAAK;gBAQN,QAAQ;sBADP,KAAK;gBAKN,KAAK;sBADJ,KAAK;gBAiBN,sBAAsB;;MEtDb,iBAAiB;;8GAAjB,iBAAiB;+GAAjB,iBAAiB,iBAFX,oBAAoB,aAFzB,YAAY,aACZ,oBAAoB;+GAGrB,iBAAiB,YAJjB,CAAC,YAAY,CAAC;2FAId,iBAAiB;kBAL7B,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,YAAY,EAAE,CAAC,oBAAoB,CAAC;iBACvC;;;MCEY,8BAA8B;IAP3C;;;;;QAaI,aAAQ,GAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;;;;;QAO7C,wBAAmB,GAAG,KAAK,CAAC;;QAa5B,YAAO,GAAG,IAAI,CAAC;;QAIf,qBAAgB,GAAG,KAAK,CAAC;;;QAKzB,cAAS,GAAc,cAAc,CAAC;;QAItC,WAAM,GAAG,KAAK,CAAC;;QAIf,iBAAY,GAA0B,IAAI,YAAY,EAAW,CAAC;KAQrE;;;;IAHU,WAAW,CAAC,MAAe;QAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAClC;;2HAlDQ,8BAA8B;+GAA9B,8BAA8B,oUCV3C,6nBAmBA;2FDTa,8BAA8B;kBAP1C,SAAS;+BACI,6BAA6B,iBAGxB,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;8BAQ/C,QAAQ;sBADP,KAAK;gBAQN,mBAAmB;sBADlB,KAAK;gBAUN,eAAe;sBADd,KAAK;gBAKN,OAAO;sBADN,KAAK;gBAKN,gBAAgB;sBADf,KAAK;gBAMN,SAAS;sBADR,KAAK;gBAKN,MAAM;sBADL,KAAK;gBAKN,YAAY;sBADX,MAAM;;;ME1CE,2BAA2B;;wHAA3B,2BAA2B;yHAA3B,2BAA2B,iBAFrB,8BAA8B,aAFnC,YAAY,EAAE,aAAa,aAC3B,8BAA8B;yHAG/B,2BAA2B,YAJ3B,CAAC,YAAY,EAAE,aAAa,CAAC;2FAI7B,2BAA2B;kBALvC,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;oBACtC,OAAO,EAAE,CAAC,8BAA8B,CAAC;oBACzC,YAAY,EAAE,CAAC,8BAA8B,CAAC;iBACjD;;;ACID;;;;;;;;;;;;MAmBa,kBAAkB;;IAc3B,YAAoB,WAAuB;QAAvB,gBAAW,GAAX,WAAW,CAAY;QAZ3C,qBAAgB,GAAG,IAAI,CAAC;KAYuB;;IAG/C,WAAW;QACP,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;IAGD,QAAQ;QACJ,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;;;;IAOD,sBAAsB;QAClB,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,uBAAuB,GAAG,EAAE,CAAC,CAAC;KACzD;;IAGD,UAAU;QACN,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;;+GAtCQ,kBAAkB;mGAAlB,kBAAkB,sLChC/B,6BACA;AD8DI;IADC,aAAa;;;;gEAGb;2FAjCQ,kBAAkB;kBAP9B,SAAS;+BACI,eAAe,iBAEV,iBAAiB,CAAC,IAAI,mBAEpB,uBAAuB,CAAC,MAAM;iGAI/C,gBAAgB;sBADf,WAAW;uBAAC,qBAAqB;gBAOlC,QAAQ;sBADP,KAAK;gBAwBN,sBAAsB;;MEtDb,eAAe;;4GAAf,eAAe;6GAAf,eAAe,iBAFT,kBAAkB,aAFvB,YAAY,aACZ,kBAAkB;6GAGnB,eAAe,YAJf,CAAC,YAAY,CAAC;2FAId,eAAe;kBAL3B,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,kBAAkB,CAAC;oBAC7B,YAAY,EAAE,CAAC,kBAAkB,CAAC;iBACrC;;;MCoBY,UAAU;;uGAAV,UAAU;wGAAV,UAAU,YAbT,YAAY,EAAE,aAAa,aAEjC,cAAc;QACd,iBAAiB;QACjB,cAAc;QACd,eAAe;QACf,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,2BAA2B;QAC3B,eAAe;wGAGV,UAAU,YAbV,CAAC,YAAY,EAAE,aAAa,CAAC,EAElC,cAAc;QACd,iBAAiB;QACjB,cAAc;QACd,eAAe;QACf,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,2BAA2B;QAC3B,eAAe;2FAGV,UAAU;kBAdtB,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;oBACtC,OAAO,EAAE;wBACL,cAAc;wBACd,iBAAiB;wBACjB,cAAc;wBACd,eAAe;wBACf,gBAAgB;wBAChB,gBAAgB;wBAChB,iBAAiB;wBACjB,2BAA2B;wBAC3B,eAAe;qBAClB;iBACJ;;;MCrBY,yBAAyB;IAUlC,YAAoB,eAA+B;QAA/B,oBAAe,GAAf,eAAe,CAAgB;;QAF3C,YAAO,GAAG,KAAK,CAAC;KAE+B;;IAGvD,IAAI,WAAW,CAAC,IAAmB;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;;IAGD,IAAI,OAAO,CAAC,OAAe;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;;IAGD,IAAI,QAAQ,CAAC,QAAkB;QAC3B,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,wBAAwB,EAAE,CAAC;KACnD;;IAGD,IAAI,CAAC,cAA0B;QAC3B,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;KACnD;;IAGD,IAAI;QACA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;;IAGD,IAAI;QACA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;;IAGO,mBAAmB;QACvB,OAAO;YACH,cAAc,CAAC,OAAO;YACtB,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;YAC5B,IAAI,CAAC,eAAe,EAAE,GAAG,0BAA0B,GAAG,EAAE;SAC3D,CAAC;KACL;;IAGO,cAAc;QAClB,IAAI,CAAC,eAAe,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChF,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;KAC3D;;IAGO,eAAe;QACnB,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;KACzC;;sHAjEQ,yBAAyB;0HAAzB,yBAAyB;2FAAzB,yBAAyB;kBADrC,UAAU;;;ACLX;;;;;;"}
@@ -19,6 +19,8 @@ export declare class FormLabelComponent implements OnChanges {
19
19
  checkbox: boolean;
20
20
  /** @deprecated */
21
21
  radio: boolean;
22
+ /** Align label on end */
23
+ alignLabelEnd: boolean;
22
24
  /** Inline help body text */
23
25
  inlineHelpTitle: string;
24
26
  /** Glyph of icon triggering inline help */
@@ -43,5 +45,5 @@ export declare class FormLabelComponent implements OnChanges {
43
45
  /** @hidden */
44
46
  ngOnChanges(): void;
45
47
  static ɵfac: i0.ɵɵFactoryDeclaration<FormLabelComponent, never>;
46
- static ɵcmp: i0.ɵɵComponentDeclaration<FormLabelComponent, "[fd-form-label]", never, { "required": "required"; "colon": "colon"; "checkbox": "checkbox"; "radio": "radio"; "inlineHelpTitle": "inlineHelpTitle"; "inlineHelpGlyph": "inlineHelpGlyph"; "inlineHelpTriggers": "inlineHelpTriggers"; "inlineHelpBodyPlacement": "inlineHelpBodyPlacement"; "inlineHelpPlacement": "inlineHelpPlacement"; }, {}, never, ["*"]>;
48
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormLabelComponent, "[fd-form-label]", never, { "required": "required"; "colon": "colon"; "checkbox": "checkbox"; "radio": "radio"; "alignLabelEnd": "alignLabelEnd"; "inlineHelpTitle": "inlineHelpTitle"; "inlineHelpGlyph": "inlineHelpGlyph"; "inlineHelpTriggers": "inlineHelpTriggers"; "inlineHelpBodyPlacement": "inlineHelpBodyPlacement"; "inlineHelpPlacement": "inlineHelpPlacement"; }, {}, never, ["*"]>;
47
49
  }
package/form/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/form",
3
- "version": "0.34.3-rc.3",
3
+ "version": "0.34.3-rc.4",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"