@fundamental-ngx/core 0.34.3-rc.13 → 0.34.3-rc.16

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 (156) 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/datetime-picker.component.d.ts +7 -1
  18. package/datetime-picker/datetime-picker.module.d.ts +3 -2
  19. package/datetime-picker/esm2020/datetime-picker.component.mjs +21 -10
  20. package/datetime-picker/esm2020/datetime-picker.module.mjs +5 -1
  21. package/datetime-picker/fesm2015/fundamental-ngx-core-datetime-picker.mjs +25 -10
  22. package/datetime-picker/fesm2015/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  23. package/datetime-picker/fesm2020/fundamental-ngx-core-datetime-picker.mjs +25 -10
  24. package/datetime-picker/fesm2020/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  25. package/datetime-picker/package.json +1 -1
  26. package/dialog/package.json +1 -1
  27. package/dynamic-page/package.json +1 -1
  28. package/dynamic-side-content/package.json +1 -1
  29. package/esm2020/datetime-picker/datetime-picker.component.mjs +21 -10
  30. package/esm2020/datetime-picker/datetime-picker.module.mjs +5 -1
  31. package/esm2020/feed-list-item/components/item/feed-list-item.component.mjs +1 -1
  32. package/esm2020/form/form-label/form-label.component.mjs +7 -6
  33. package/esm2020/form/form-label/form-label.module.mjs +5 -4
  34. package/esm2020/link/link.component.mjs +6 -3
  35. package/esm2020/multi-input/multi-input.component.mjs +1 -1
  36. package/esm2020/text/text.component.mjs +1 -1
  37. package/esm2020/time-picker/time-picker.component.mjs +4 -1
  38. package/facets/package.json +1 -1
  39. package/feed-input/package.json +1 -1
  40. package/feed-list-item/esm2020/components/item/feed-list-item.component.mjs +1 -1
  41. package/feed-list-item/fesm2015/fundamental-ngx-core-feed-list-item.mjs +1 -1
  42. package/feed-list-item/fesm2020/fundamental-ngx-core-feed-list-item.mjs +1 -1
  43. package/feed-list-item/package.json +1 -1
  44. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs +25 -10
  45. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  46. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs +1 -1
  47. package/fesm2015/fundamental-ngx-core-form.mjs +10 -8
  48. package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  49. package/fesm2015/fundamental-ngx-core-link.mjs +5 -2
  50. package/fesm2015/fundamental-ngx-core-link.mjs.map +1 -1
  51. package/fesm2015/fundamental-ngx-core-multi-input.mjs +1 -1
  52. package/fesm2015/fundamental-ngx-core-text.mjs +1 -1
  53. package/fesm2015/fundamental-ngx-core-time-picker.mjs +3 -0
  54. package/fesm2015/fundamental-ngx-core-time-picker.mjs.map +1 -1
  55. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs +25 -10
  56. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  57. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs +1 -1
  58. package/fesm2020/fundamental-ngx-core-form.mjs +10 -8
  59. package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  60. package/fesm2020/fundamental-ngx-core-link.mjs +5 -2
  61. package/fesm2020/fundamental-ngx-core-link.mjs.map +1 -1
  62. package/fesm2020/fundamental-ngx-core-multi-input.mjs +1 -1
  63. package/fesm2020/fundamental-ngx-core-text.mjs +1 -1
  64. package/fesm2020/fundamental-ngx-core-time-picker.mjs +3 -0
  65. package/fesm2020/fundamental-ngx-core-time-picker.mjs.map +1 -1
  66. package/file-uploader/package.json +1 -1
  67. package/fixed-card-layout/package.json +1 -1
  68. package/flexible-column-layout/package.json +1 -1
  69. package/form/esm2020/form-label/form-label.component.mjs +7 -6
  70. package/form/esm2020/form-label/form-label.module.mjs +5 -4
  71. package/form/fesm2015/fundamental-ngx-core-form.mjs +10 -8
  72. package/form/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  73. package/form/fesm2020/fundamental-ngx-core-form.mjs +10 -8
  74. package/form/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  75. package/form/form-label/form-label.module.d.ts +2 -1
  76. package/form/package.json +1 -1
  77. package/formatted-text/package.json +1 -1
  78. package/grid-list/package.json +1 -1
  79. package/icon/package.json +1 -1
  80. package/illustrated-message/package.json +1 -1
  81. package/infinite-scroll/package.json +1 -1
  82. package/info-label/package.json +1 -1
  83. package/inline-help/package.json +1 -1
  84. package/input-group/package.json +1 -1
  85. package/layout-grid/package.json +1 -1
  86. package/layout-panel/package.json +1 -1
  87. package/link/esm2020/link.component.mjs +6 -3
  88. package/link/fesm2015/fundamental-ngx-core-link.mjs +5 -2
  89. package/link/fesm2015/fundamental-ngx-core-link.mjs.map +1 -1
  90. package/link/fesm2020/fundamental-ngx-core-link.mjs +5 -2
  91. package/link/fesm2020/fundamental-ngx-core-link.mjs.map +1 -1
  92. package/link/link.component.d.ts +3 -1
  93. package/link/package.json +1 -1
  94. package/list/package.json +1 -1
  95. package/menu/package.json +1 -1
  96. package/message-box/package.json +1 -1
  97. package/message-strip/package.json +1 -1
  98. package/message-toast/package.json +1 -1
  99. package/micro-process-flow/package.json +1 -1
  100. package/mobile-mode/package.json +1 -1
  101. package/multi-input/esm2020/multi-input.component.mjs +1 -1
  102. package/multi-input/fesm2015/fundamental-ngx-core-multi-input.mjs +1 -1
  103. package/multi-input/fesm2020/fundamental-ngx-core-multi-input.mjs +1 -1
  104. package/multi-input/package.json +1 -1
  105. package/nested-list/package.json +1 -1
  106. package/notification/package.json +1 -1
  107. package/object-identifier/package.json +1 -1
  108. package/object-marker/package.json +1 -1
  109. package/object-number/package.json +1 -1
  110. package/object-status/package.json +1 -1
  111. package/package.json +1 -1
  112. package/pagination/package.json +1 -1
  113. package/panel/package.json +1 -1
  114. package/popover/package.json +1 -1
  115. package/product-switch/package.json +1 -1
  116. package/progress-indicator/package.json +1 -1
  117. package/quick-view/package.json +1 -1
  118. package/radio/package.json +1 -1
  119. package/rating-indicator/package.json +1 -1
  120. package/resizable-card-layout/package.json +1 -1
  121. package/scroll-spy/package.json +1 -1
  122. package/scrollbar/package.json +1 -1
  123. package/segmented-button/package.json +1 -1
  124. package/select/package.json +1 -1
  125. package/shared/package.json +1 -1
  126. package/shellbar/package.json +1 -1
  127. package/side-navigation/package.json +1 -1
  128. package/slider/package.json +1 -1
  129. package/split-button/package.json +1 -1
  130. package/splitter/package.json +1 -1
  131. package/status-indicator/package.json +1 -1
  132. package/step-input/package.json +1 -1
  133. package/switch/package.json +1 -1
  134. package/table/package.json +1 -1
  135. package/tabs/package.json +1 -1
  136. package/text/esm2020/text.component.mjs +1 -1
  137. package/text/fesm2015/fundamental-ngx-core-text.mjs +1 -1
  138. package/text/fesm2020/fundamental-ngx-core-text.mjs +1 -1
  139. package/text/package.json +1 -1
  140. package/tile/package.json +1 -1
  141. package/time/package.json +1 -1
  142. package/time-picker/esm2020/time-picker.component.mjs +4 -1
  143. package/time-picker/fesm2015/fundamental-ngx-core-time-picker.mjs +3 -0
  144. package/time-picker/fesm2015/fundamental-ngx-core-time-picker.mjs.map +1 -1
  145. package/time-picker/fesm2020/fundamental-ngx-core-time-picker.mjs +3 -0
  146. package/time-picker/fesm2020/fundamental-ngx-core-time-picker.mjs.map +1 -1
  147. package/time-picker/package.json +1 -1
  148. package/timeline/package.json +1 -1
  149. package/title/package.json +1 -1
  150. package/token/package.json +1 -1
  151. package/toolbar/package.json +1 -1
  152. package/tree/package.json +1 -1
  153. package/upload-collection/package.json +1 -1
  154. package/utils/package.json +1 -1
  155. package/vertical-navigation/package.json +1 -1
  156. package/wizard/package.json +1 -1
@@ -86,7 +86,7 @@ class FeedListItemComponent {
86
86
  }
87
87
  }
88
88
  FeedListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FeedListItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
89
- FeedListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: FeedListItemComponent, selector: "fd-feed-list-item", inputs: { class: "class", authorTitle: "authorTitle", authorLink: "authorLink", text: "text", maxChars: "maxChars", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby", moreLabel: "moreLabel", lessLabel: "lessLabel", isRichText: "isRichText", mobile: "mobile" }, host: { properties: { "class.fd-feed-list__body": "this.isFeedListItemBody" } }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"mobile; then headerTmpl; else avatarContent\"></ng-container>\n<div class=\"fd-feed-list__content\">\n <ng-container *ngIf=\"!mobile\">\n <ng-container *ngTemplateOutlet=\"actionContent\"></ng-container>\n </ng-container>\n <p class=\"fd-feed-list__text\">\n <ng-container *ngIf=\"!isRichText\">\n <ng-container *ngTemplateOutlet=\"feedContent; context: { $implicit: author }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"isRichText\">\n <ng-container *ngTemplateOutlet=\"author\"></ng-container>\n <fd-formatted-text [htmlText]=\"text\"></fd-formatted-text>\n </ng-container>\n </p>\n <ng-container *ngIf=\"!mobile\">\n <ng-container *ngTemplateOutlet=\"footerContent\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #avatarContent>\n <ng-content select=\"fd-feed-list-avatar\"></ng-content>\n</ng-template>\n<ng-template #actionContent>\n <ng-content select=\"fd-feed-list-action\"></ng-content>\n</ng-template>\n<ng-template #footerContent>\n <ng-content select=\"fd-feed-list-footer\"></ng-content>\n</ng-template>\n\n<ng-template #author>\n <span class=\"fd-feed-list__name\">\n <ng-container *ngIf=\"authorLink; else authorTitleTemplate\">\n <a\n target=\"_blank\"\n fd-link\n [attr.title]=\"authorTitle\"\n [attr.href]=\"authorLink | safe: 'url'\"\n [emphasized]=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"authorTitleTemplate\"></ng-container>\n </a> </ng-container\n >:\n </span>\n</ng-template>\n<ng-template #authorTitleTemplate>\n {{ authorTitle }}\n</ng-template>\n\n<ng-template #feedContent let-param>\n <ng-container *ngTemplateOutlet=\"param\"></ng-container>\n <span\n fd-truncate\n [fdTruncateState]=\"isCollapsed\"\n [fdTruncateChars]=\"maxChars\"\n [fdTruncateTargetText]=\"text\"\n (charCountUpdate)=\"checkCharCount($event)\"\n >\n </span>\n <a\n fd-link\n class=\"fd-feed-list__link--more\"\n *ngIf=\"!isRichText && hasMore\"\n (click)=\"toggleTextView()\"\n [innerText]=\"isCollapsed ? moreLabel : lessLabel\"\n ></a>\n</ng-template>\n\n<ng-template #headerTmpl>\n <div class=\"fd-feed-list__wrapper\">\n <div class=\"fd-feed-list__wrapper fd-feed-list__wrapper--header\">\n <ng-container *ngTemplateOutlet=\"avatarContent\"></ng-container>\n <div>\n <ng-container *ngTemplateOutlet=\"author\"></ng-container>\n <ng-container *ngTemplateOutlet=\"footerContent\"></ng-container>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"actionContent\"></ng-container>\n </div>\n</ng-template>\n", styles: [".fd-feed-list__name a{max-width:75%;display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap}.fd-feed-list__thumb{display:flex;align-items:center;justify-content:center;max-width:3rem;flex:0 0 3rem;height:3rem;overflow:hidden}.fd-feed-list__thumb img{width:100%;height:100%;object-fit:contain}.fd-feed-list__link--more{cursor:pointer;text-transform:initial}.fd-feed-list__link--more:hover{text-decoration:underline}\n"], components: [{ type: i1.FormattedTextComponent, selector: "fd-formatted-text", inputs: ["htmlText", "convertedLinksDefaultTarget", "height", "width"], exportAs: ["fd-formatted-text"] }, { type: i2.LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.TruncateDirective, selector: "[fd-truncate]", inputs: ["fdTruncateTargetText", "fdTruncateChars", "fdTruncateState"], outputs: ["charCountUpdate"] }], pipes: { "safe": i4.SafePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
89
+ FeedListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: FeedListItemComponent, selector: "fd-feed-list-item", inputs: { class: "class", authorTitle: "authorTitle", authorLink: "authorLink", text: "text", maxChars: "maxChars", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby", moreLabel: "moreLabel", lessLabel: "lessLabel", isRichText: "isRichText", mobile: "mobile" }, host: { properties: { "class.fd-feed-list__body": "this.isFeedListItemBody" } }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"mobile; then headerTmpl; else avatarContent\"></ng-container>\n<div class=\"fd-feed-list__content\">\n <ng-container *ngIf=\"!mobile\">\n <ng-container *ngTemplateOutlet=\"actionContent\"></ng-container>\n </ng-container>\n <p class=\"fd-feed-list__text\">\n <ng-container *ngIf=\"!isRichText\">\n <ng-container *ngTemplateOutlet=\"feedContent; context: { $implicit: author }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"isRichText\">\n <ng-container *ngTemplateOutlet=\"author\"></ng-container>\n <fd-formatted-text [htmlText]=\"text\"></fd-formatted-text>\n </ng-container>\n </p>\n <ng-container *ngIf=\"!mobile\">\n <ng-container *ngTemplateOutlet=\"footerContent\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #avatarContent>\n <ng-content select=\"fd-feed-list-avatar\"></ng-content>\n</ng-template>\n<ng-template #actionContent>\n <ng-content select=\"fd-feed-list-action\"></ng-content>\n</ng-template>\n<ng-template #footerContent>\n <ng-content select=\"fd-feed-list-footer\"></ng-content>\n</ng-template>\n\n<ng-template #author>\n <span class=\"fd-feed-list__name\">\n <ng-container *ngIf=\"authorLink; else authorTitleTemplate\">\n <a\n target=\"_blank\"\n fd-link\n [attr.title]=\"authorTitle\"\n [attr.href]=\"authorLink | safe: 'url'\"\n [emphasized]=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"authorTitleTemplate\"></ng-container>\n </a> </ng-container\n >:\n </span>\n</ng-template>\n<ng-template #authorTitleTemplate>\n {{ authorTitle }}\n</ng-template>\n\n<ng-template #feedContent let-param>\n <ng-container *ngTemplateOutlet=\"param\"></ng-container>\n <span\n fd-truncate\n [fdTruncateState]=\"isCollapsed\"\n [fdTruncateChars]=\"maxChars\"\n [fdTruncateTargetText]=\"text\"\n (charCountUpdate)=\"checkCharCount($event)\"\n >\n </span>\n <a\n fd-link\n class=\"fd-feed-list__link--more\"\n *ngIf=\"!isRichText && hasMore\"\n (click)=\"toggleTextView()\"\n [innerText]=\"isCollapsed ? moreLabel : lessLabel\"\n ></a>\n</ng-template>\n\n<ng-template #headerTmpl>\n <div class=\"fd-feed-list__wrapper\">\n <div class=\"fd-feed-list__wrapper fd-feed-list__wrapper--header\">\n <ng-container *ngTemplateOutlet=\"avatarContent\"></ng-container>\n <div>\n <ng-container *ngTemplateOutlet=\"author\"></ng-container>\n <ng-container *ngTemplateOutlet=\"footerContent\"></ng-container>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"actionContent\"></ng-container>\n </div>\n</ng-template>\n", styles: [".fd-feed-list__name a{max-width:75%;display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap}.fd-feed-list__thumb{display:flex;align-items:center;justify-content:center;max-width:3rem;flex:0 0 3rem;height:3rem;overflow:hidden}.fd-feed-list__thumb img{width:100%;height:100%;object-fit:contain}.fd-feed-list__link--more{cursor:pointer;text-transform:initial}.fd-feed-list__link--more:hover{text-decoration:underline}\n"], components: [{ type: i1.FormattedTextComponent, selector: "fd-formatted-text", inputs: ["htmlText", "convertedLinksDefaultTarget", "height", "width"], exportAs: ["fd-formatted-text"] }, { type: i2.LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.TruncateDirective, selector: "[fd-truncate]", inputs: ["fdTruncateTargetText", "fdTruncateChars", "fdTruncateState"], outputs: ["charCountUpdate"] }], pipes: { "safe": i4.SafePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
90
90
  __decorate([
91
91
  applyCssClass,
92
92
  __metadata("design:type", Function),
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, ViewEncapsulation, HostBinding, NgModule, ChangeDetectionStrategy, Optional, Input, Directive, EventEmitter, Output, Injectable } from '@angular/core';
3
- import * as i2 from '@angular/common';
3
+ import * as i3 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1$2 from '@fundamental-ngx/core/popover';
6
6
  import { PopoverModule } from '@fundamental-ngx/core/popover';
@@ -8,9 +8,11 @@ import { __decorate, __metadata } from 'tslib';
8
8
  import { Subscription } from 'rxjs';
9
9
  import * as i1 from '@fundamental-ngx/core/utils';
10
10
  import { applyCssClass } from '@fundamental-ngx/core/utils';
11
- import * as i1$1 from '@fundamental-ngx/core/icon';
11
+ import * as i1$1 from '@fundamental-ngx/core/link';
12
+ import { LinkModule } from '@fundamental-ngx/core/link';
13
+ import * as i2 from '@fundamental-ngx/core/icon';
12
14
  import { IconModule } from '@fundamental-ngx/core/icon';
13
- import * as i3 from '@fundamental-ngx/core/inline-help';
15
+ import * as i4 from '@fundamental-ngx/core/inline-help';
14
16
  import { InlineHelpModule } from '@fundamental-ngx/core/inline-help';
15
17
 
16
18
  /**
@@ -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", 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 });
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 <span fd-link [undecorated]=\"true\">\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n class=\"fd-form-label__help\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n </span>\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;vertical-align:middle;left:0;right:auto}[dir=rtl] .fd-form-label__help,.fd-form-label__help[dir=rtl],.fd-form-label__help--after{right:0;left:auto}[dir=rtl] .fd-form-label__help--after,.fd-form-label__help--after[dir=rtl]{left:0;right:auto}\n"], components: [{ type: i1$1.LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { type: i2.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.InlineHelpDirective, selector: "[fd-inline-help], [fd-inline-help-template]", inputs: ["triggers", "noArrow", "closeOnEscapeKey", "closeOnOutsideClick", "fd-inline-help", "fd-inline-help-template"] }, { type: i3.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;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"] }]
263
+ args: [{ selector: '[fd-form-label]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #inlineHelpRef>\n <span fd-link [undecorated]=\"true\">\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n class=\"fd-form-label__help\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n </span>\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;vertical-align:middle;left:0;right:auto}[dir=rtl] .fd-form-label__help,.fd-form-label__help[dir=rtl],.fd-form-label__help--after{right:0;left:auto}[dir=rtl] .fd-form-label__help--after,.fd-form-label__help--after[dir=rtl]{left:0;right:auto}\n"] }]
262
264
  }], propDecorators: { required: [{
263
265
  type: Input
264
266
  }], colon: [{
@@ -296,12 +298,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
296
298
  class FormLabelModule {
297
299
  }
298
300
  FormLabelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FormLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
299
- FormLabelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FormLabelModule, declarations: [FormLabelComponent], imports: [CommonModule, IconModule, InlineHelpModule], exports: [FormLabelComponent] });
300
- FormLabelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FormLabelModule, imports: [[CommonModule, IconModule, InlineHelpModule]] });
301
+ FormLabelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FormLabelModule, declarations: [FormLabelComponent], imports: [CommonModule, IconModule, InlineHelpModule, LinkModule], exports: [FormLabelComponent] });
302
+ FormLabelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FormLabelModule, imports: [[CommonModule, IconModule, InlineHelpModule, LinkModule]] });
301
303
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FormLabelModule, decorators: [{
302
304
  type: NgModule,
303
305
  args: [{
304
- imports: [CommonModule, IconModule, InlineHelpModule],
306
+ imports: [CommonModule, IconModule, InlineHelpModule, LinkModule],
305
307
  exports: [FormLabelComponent],
306
308
  declarations: [FormLabelComponent]
307
309
  }]
@@ -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 /** 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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"}
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 <span fd-link [undecorated]=\"true\">\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n class=\"fd-form-label__help\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n </span>\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';\nimport { LinkModule } from '@fundamental-ngx/core/link';\n\n@NgModule({\n imports: [CommonModule, IconModule, InlineHelpModule, LinkModule],\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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"}
@@ -23,6 +23,7 @@ class LinkComponent {
23
23
  this.disabled ? 'is-disabled' : '',
24
24
  this.inverted ? `fd-link--inverted` : '',
25
25
  this.subtle ? 'fd-link--subtle' : '',
26
+ this.undecorated ? 'fd-link--undecorated' : '',
26
27
  this.class
27
28
  ];
28
29
  }
@@ -36,7 +37,7 @@ class LinkComponent {
36
37
  }
37
38
  }
38
39
  LinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: LinkComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
39
- LinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: LinkComponent, selector: "[fdLink], [fd-link]", inputs: { class: "class", emphasized: "emphasized", disabled: "disabled", inverted: "inverted", subtle: "subtle" }, usesOnChanges: true, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, 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-link\n*/.fd-link{font-size:var(--sapFontSize);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;color:var(--sapLinkColor);-webkit-text-decoration:var(--fdLink_Text_Decoration);text-decoration:var(--fdLink_Text_Decoration);text-shadow:var(--sapContent_TextShadow);display:inline-block;transition:all 125ms ease-in;line-height:inherit}.fd-link:after,.fd-link:before{box-sizing:inherit;font-size:inherit}.fd-link--emphasized{font-weight:700}.fd-link:visited{color:var(--sapLink_Visited_Color)}.fd-link.is-hover,.fd-link:hover{color:var(--sapLink_Hover_Color);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-link.is-focus,.fd-link:focus{z-index:5;box-shadow:none;outline-offset:-.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-link.is-active,.fd-link:active{color:var(--sapLink_Active_Color);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-link--inverted{color:var(--sapLink_InvertedColor);text-shadow:none}.fd-link--inverted.is-hover,.fd-link--inverted:hover{color:var(--sapLink_InvertedColor)}.fd-link--inverted.is-focus,.fd-link--inverted:focus{z-index:5;outline-color:var(--sapContent_ContrastFocusColor)}.fd-link--subtle{color:var(--sapLink_SubtleColor)}.fd-link.is-disabled,.fd-link:disabled,.fd-link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);color:var(--sapLinkColor);pointer-events:none}.fd-link>img{vertical-align:bottom}.fd-link [class*=sap-icon],.fd-link[class*=sap-icon]{color:inherit;background:inherit;font-size:inherit;border-radius:inherit;line-height:1;-webkit-text-decoration:var(--fdLink_Text_Decoration);text-decoration:var(--fdLink_Text_Decoration)}.fd-link.is-hover [class*=sap-icon],.fd-link.is-hover[class*=sap-icon],.fd-link:hover [class*=sap-icon],.fd-link:hover[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite);color:var(--sapLink_Hover_Color)}.fd-link.is-focus,.fd-link:focus{z-index:5}.fd-link.is-focus [class*=sap-icon],.fd-link.is-focus[class*=sap-icon],.fd-link:focus [class*=sap-icon],.fd-link:focus[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite);color:var(--sapLinkColor)}.fd-link.is-active [class*=sap-icon],.fd-link.is-active[class*=sap-icon],.fd-link:active [class*=sap-icon],.fd-link:active[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite);color:var(--sapLink_Active_Color)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
40
+ LinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: LinkComponent, selector: "[fdLink], [fd-link]", inputs: { class: "class", emphasized: "emphasized", disabled: "disabled", inverted: "inverted", subtle: "subtle", undecorated: "undecorated" }, usesOnChanges: true, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, 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-link\n*/.fd-link{font-size:var(--sapFontSize);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;color:var(--sapLinkColor);-webkit-text-decoration:var(--fdLink_Text_Decoration);text-decoration:var(--fdLink_Text_Decoration);text-shadow:var(--sapContent_TextShadow);display:inline-block;transition:all 125ms ease-in;line-height:inherit}.fd-link:after,.fd-link:before{box-sizing:inherit;font-size:inherit}.fd-link--emphasized{font-weight:700}.fd-link:visited{color:var(--sapLink_Visited_Color)}.fd-link.is-hover,.fd-link:hover{color:var(--sapLink_Hover_Color);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-link.is-focus,.fd-link:focus{z-index:5;box-shadow:none;outline-offset:-.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-link.is-active,.fd-link:active{color:var(--sapLink_Active_Color);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-link--inverted{color:var(--sapLink_InvertedColor);text-shadow:none}.fd-link--inverted.is-hover,.fd-link--inverted:hover{color:var(--sapLink_InvertedColor)}.fd-link--inverted.is-focus,.fd-link--inverted:focus{z-index:5;outline-color:var(--sapContent_ContrastFocusColor)}.fd-link--subtle{color:var(--sapLink_SubtleColor)}.fd-link.is-disabled,.fd-link:disabled,.fd-link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);color:var(--sapLinkColor);pointer-events:none}.fd-link>img{vertical-align:bottom}.fd-link [class*=sap-icon],.fd-link[class*=sap-icon]{color:inherit;background:inherit;font-size:inherit;border-radius:inherit;line-height:1;-webkit-text-decoration:var(--fdLink_Text_Decoration);text-decoration:var(--fdLink_Text_Decoration)}.fd-link.is-hover [class*=sap-icon],.fd-link.is-hover[class*=sap-icon],.fd-link:hover [class*=sap-icon],.fd-link:hover[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite);color:var(--sapLink_Hover_Color)}.fd-link.is-focus,.fd-link:focus{z-index:5}.fd-link.is-focus [class*=sap-icon],.fd-link.is-focus[class*=sap-icon],.fd-link:focus [class*=sap-icon],.fd-link:focus[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite);color:var(--sapLinkColor)}.fd-link.is-active [class*=sap-icon],.fd-link.is-active[class*=sap-icon],.fd-link:active [class*=sap-icon],.fd-link:active[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite);color:var(--sapLink_Active_Color)}.fd-link--undecorated:hover,.fd-link--undecorated:hover [class*=sap-icon],.fd-link--undecorated:hover[class*=sap-icon]{text-decoration:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
40
41
  __decorate([
41
42
  applyCssClass,
42
43
  __metadata("design:type", Function),
@@ -45,7 +46,7 @@ __decorate([
45
46
  ], LinkComponent.prototype, "buildComponentCssClass", null);
46
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: LinkComponent, decorators: [{
47
48
  type: Component,
48
- args: [{ selector: '[fdLink], [fd-link]', template: ` <ng-content></ng-content> `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, 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-link\n*/.fd-link{font-size:var(--sapFontSize);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;color:var(--sapLinkColor);-webkit-text-decoration:var(--fdLink_Text_Decoration);text-decoration:var(--fdLink_Text_Decoration);text-shadow:var(--sapContent_TextShadow);display:inline-block;transition:all 125ms ease-in;line-height:inherit}.fd-link:after,.fd-link:before{box-sizing:inherit;font-size:inherit}.fd-link--emphasized{font-weight:700}.fd-link:visited{color:var(--sapLink_Visited_Color)}.fd-link.is-hover,.fd-link:hover{color:var(--sapLink_Hover_Color);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-link.is-focus,.fd-link:focus{z-index:5;box-shadow:none;outline-offset:-.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-link.is-active,.fd-link:active{color:var(--sapLink_Active_Color);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-link--inverted{color:var(--sapLink_InvertedColor);text-shadow:none}.fd-link--inverted.is-hover,.fd-link--inverted:hover{color:var(--sapLink_InvertedColor)}.fd-link--inverted.is-focus,.fd-link--inverted:focus{z-index:5;outline-color:var(--sapContent_ContrastFocusColor)}.fd-link--subtle{color:var(--sapLink_SubtleColor)}.fd-link.is-disabled,.fd-link:disabled,.fd-link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);color:var(--sapLinkColor);pointer-events:none}.fd-link>img{vertical-align:bottom}.fd-link [class*=sap-icon],.fd-link[class*=sap-icon]{color:inherit;background:inherit;font-size:inherit;border-radius:inherit;line-height:1;-webkit-text-decoration:var(--fdLink_Text_Decoration);text-decoration:var(--fdLink_Text_Decoration)}.fd-link.is-hover [class*=sap-icon],.fd-link.is-hover[class*=sap-icon],.fd-link:hover [class*=sap-icon],.fd-link:hover[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite);color:var(--sapLink_Hover_Color)}.fd-link.is-focus,.fd-link:focus{z-index:5}.fd-link.is-focus [class*=sap-icon],.fd-link.is-focus[class*=sap-icon],.fd-link:focus [class*=sap-icon],.fd-link:focus[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite);color:var(--sapLinkColor)}.fd-link.is-active [class*=sap-icon],.fd-link.is-active[class*=sap-icon],.fd-link:active [class*=sap-icon],.fd-link:active[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite);color:var(--sapLink_Active_Color)}\n"] }]
49
+ args: [{ selector: '[fdLink], [fd-link]', template: ` <ng-content></ng-content> `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, 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-link\n*/.fd-link{font-size:var(--sapFontSize);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;color:var(--sapLinkColor);-webkit-text-decoration:var(--fdLink_Text_Decoration);text-decoration:var(--fdLink_Text_Decoration);text-shadow:var(--sapContent_TextShadow);display:inline-block;transition:all 125ms ease-in;line-height:inherit}.fd-link:after,.fd-link:before{box-sizing:inherit;font-size:inherit}.fd-link--emphasized{font-weight:700}.fd-link:visited{color:var(--sapLink_Visited_Color)}.fd-link.is-hover,.fd-link:hover{color:var(--sapLink_Hover_Color);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-link.is-focus,.fd-link:focus{z-index:5;box-shadow:none;outline-offset:-.0625rem;outline-width:var(--sapContent_FocusWidth);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-link.is-active,.fd-link:active{color:var(--sapLink_Active_Color);-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite)}.fd-link--inverted{color:var(--sapLink_InvertedColor);text-shadow:none}.fd-link--inverted.is-hover,.fd-link--inverted:hover{color:var(--sapLink_InvertedColor)}.fd-link--inverted.is-focus,.fd-link--inverted:focus{z-index:5;outline-color:var(--sapContent_ContrastFocusColor)}.fd-link--subtle{color:var(--sapLink_SubtleColor)}.fd-link.is-disabled,.fd-link:disabled,.fd-link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);color:var(--sapLinkColor);pointer-events:none}.fd-link>img{vertical-align:bottom}.fd-link [class*=sap-icon],.fd-link[class*=sap-icon]{color:inherit;background:inherit;font-size:inherit;border-radius:inherit;line-height:1;-webkit-text-decoration:var(--fdLink_Text_Decoration);text-decoration:var(--fdLink_Text_Decoration)}.fd-link.is-hover [class*=sap-icon],.fd-link.is-hover[class*=sap-icon],.fd-link:hover [class*=sap-icon],.fd-link:hover[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite);color:var(--sapLink_Hover_Color)}.fd-link.is-focus,.fd-link:focus{z-index:5}.fd-link.is-focus [class*=sap-icon],.fd-link.is-focus[class*=sap-icon],.fd-link:focus [class*=sap-icon],.fd-link:focus[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite);color:var(--sapLinkColor)}.fd-link.is-active [class*=sap-icon],.fd-link.is-active[class*=sap-icon],.fd-link:active [class*=sap-icon],.fd-link:active[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Opposite);text-decoration:var(--fdLink_Text_Decoration_Opposite);color:var(--sapLink_Active_Color)}.fd-link--undecorated:hover,.fd-link--undecorated:hover [class*=sap-icon],.fd-link--undecorated:hover[class*=sap-icon]{text-decoration:none}\n"] }]
49
50
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { class: [{
50
51
  type: Input
51
52
  }], emphasized: [{
@@ -56,6 +57,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
56
57
  type: Input
57
58
  }], subtle: [{
58
59
  type: Input
60
+ }], undecorated: [{
61
+ type: Input
59
62
  }],
60
63
  /** CssClassBuilder interface implementation
61
64
  * function is responsible for order which css classes are applied
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-link.mjs","sources":["../../../../libs/core/src/lib/link/link.component.ts","../../../../libs/core/src/lib/link/link.module.ts","../../../../libs/core/src/lib/link/fundamental-ngx-core-link.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n ViewEncapsulation,\n OnInit\n} from '@angular/core';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fdLink], [fd-link]',\n template: ` <ng-content></ng-content> `,\n styleUrls: ['./link.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LinkComponent implements OnChanges, OnInit, CssClassBuilder {\n /** user's custom classes */\n @Input()\n class: string;\n\n /** Whether user wants to use emphasized mode */\n @Input()\n emphasized: boolean;\n\n /** Whether user wants to put disabled mode */\n @Input()\n disabled: boolean;\n\n /** Whether user wants to use inverted mode */\n @Input()\n inverted: boolean;\n\n /** Whether user wants to use subtle mode */\n @Input()\n subtle: boolean;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n 'fd-link',\n this.emphasized ? 'fd-link--emphasized' : '',\n this.disabled ? 'is-disabled' : '',\n this.inverted ? `fd-link--inverted` : '',\n this.subtle ? 'fd-link--subtle' : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { LinkComponent } from './link.component';\n\n@NgModule({\n declarations: [LinkComponent],\n imports: [CommonModule],\n exports: [LinkComponent]\n})\nexport class LinkModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;MAoBa,aAAa;;IAsBtB,YAAoB,WAAuB;QAAvB,gBAAW,GAAX,WAAW,CAAY;KAAI;;IAG/C,WAAW;QACP,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;;;IAMD,sBAAsB;QAClB,OAAO;YACH,SAAS;YACT,IAAI,CAAC,UAAU,GAAG,qBAAqB,GAAG,EAAE;YAC5C,IAAI,CAAC,QAAQ,GAAG,aAAa,GAAG,EAAE;YAClC,IAAI,CAAC,QAAQ,GAAG,mBAAmB,GAAG,EAAE;YACxC,IAAI,CAAC,MAAM,GAAG,iBAAiB,GAAG,EAAE;YACpC,IAAI,CAAC,KAAK;SACb,CAAC;KACL;;IAGD,UAAU;QACN,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;;IAGD,QAAQ;QACJ,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;0GApDQ,aAAa;8FAAb,aAAa,oMALZ,6BAA6B;AAsCvC;IAJC,aAAa;;;;2DAab;2FA1CQ,aAAa;kBARzB,SAAS;+BAEI,qBAAqB,YACrB,6BAA6B,iBAExB,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;iGAK/C,KAAK;sBADJ,KAAK;gBAKN,UAAU;sBADT,KAAK;gBAKN,QAAQ;sBADP,KAAK;gBAKN,QAAQ;sBADP,KAAK;gBAKN,MAAM;sBADL,KAAK;;;;;QAeN,sBAAsB;;MC3Cb,UAAU;;uGAAV,UAAU;wGAAV,UAAU,iBAJJ,aAAa,aAClB,YAAY,aACZ,aAAa;wGAEd,UAAU,YAHV,CAAC,YAAY,CAAC;2FAGd,UAAU;kBALtB,QAAQ;mBAAC;oBACN,YAAY,EAAE,CAAC,aAAa,CAAC;oBAC7B,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,aAAa,CAAC;iBAC3B;;;ACTD;;;;;;"}
1
+ {"version":3,"file":"fundamental-ngx-core-link.mjs","sources":["../../../../libs/core/src/lib/link/link.component.ts","../../../../libs/core/src/lib/link/link.module.ts","../../../../libs/core/src/lib/link/fundamental-ngx-core-link.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n ViewEncapsulation,\n OnInit\n} from '@angular/core';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fdLink], [fd-link]',\n template: ` <ng-content></ng-content> `,\n styleUrls: ['./link.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LinkComponent implements OnChanges, OnInit, CssClassBuilder {\n /** user's custom classes */\n @Input()\n class: string;\n\n /** Whether user wants to use emphasized mode */\n @Input()\n emphasized: boolean;\n\n /** Whether user wants to put disabled mode */\n @Input()\n disabled: boolean;\n\n /** Whether user wants to use inverted mode */\n @Input()\n inverted: boolean;\n\n /** Whether user wants to use subtle mode */\n @Input()\n subtle: boolean;\n\n /** Whether user wants to have a link without underline decoration */\n @Input()\n undecorated: boolean;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n 'fd-link',\n this.emphasized ? 'fd-link--emphasized' : '',\n this.disabled ? 'is-disabled' : '',\n this.inverted ? `fd-link--inverted` : '',\n this.subtle ? 'fd-link--subtle' : '',\n this.undecorated ? 'fd-link--undecorated' : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { LinkComponent } from './link.component';\n\n@NgModule({\n declarations: [LinkComponent],\n imports: [CommonModule],\n exports: [LinkComponent]\n})\nexport class LinkModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;MAoBa,aAAa;;IA0BtB,YAAoB,WAAuB;QAAvB,gBAAW,GAAX,WAAW,CAAY;KAAI;;IAG/C,WAAW;QACP,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;;;IAMD,sBAAsB;QAClB,OAAO;YACH,SAAS;YACT,IAAI,CAAC,UAAU,GAAG,qBAAqB,GAAG,EAAE;YAC5C,IAAI,CAAC,QAAQ,GAAG,aAAa,GAAG,EAAE;YAClC,IAAI,CAAC,QAAQ,GAAG,mBAAmB,GAAG,EAAE;YACxC,IAAI,CAAC,MAAM,GAAG,iBAAiB,GAAG,EAAE;YACpC,IAAI,CAAC,WAAW,GAAG,sBAAsB,GAAG,EAAE;YAC9C,IAAI,CAAC,KAAK;SACb,CAAC;KACL;;IAGD,UAAU;QACN,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;;IAGD,QAAQ;QACJ,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;0GAzDQ,aAAa;8FAAb,aAAa,gOALZ,6BAA6B;AA0CvC;IAJC,aAAa;;;;2DAcb;2FA/CQ,aAAa;kBARzB,SAAS;+BAEI,qBAAqB,YACrB,6BAA6B,iBAExB,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;iGAK/C,KAAK;sBADJ,KAAK;gBAKN,UAAU;sBADT,KAAK;gBAKN,QAAQ;sBADP,KAAK;gBAKN,QAAQ;sBADP,KAAK;gBAKN,MAAM;sBADL,KAAK;gBAKN,WAAW;sBADV,KAAK;;;;;QAeN,sBAAsB;;MC/Cb,UAAU;;uGAAV,UAAU;wGAAV,UAAU,iBAJJ,aAAa,aAClB,YAAY,aACZ,aAAa;wGAEd,UAAU,YAHV,CAAC,YAAY,CAAC;2FAGd,UAAU;kBALtB,QAAQ;mBAAC;oBACN,YAAY,EAAE,CAAC,aAAa,CAAC;oBAC7B,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,aAAa,CAAC;iBAC3B;;;ACTD;;;;;;"}
@@ -672,7 +672,7 @@ MultiInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
672
672
  multi: true
673
673
  },
674
674
  MenuKeyboardService
675
- ], viewQueries: [{ propertyName: "popoverRef", first: true, predicate: PopoverComponent, descendants: true }, { propertyName: "controlTemplate", first: true, predicate: ["control"], descendants: true, read: TemplateRef }, { propertyName: "listTemplate", first: true, predicate: ["list"], descendants: true, read: TemplateRef }, { propertyName: "listComponent", first: true, predicate: ListComponent, descendants: true }, { propertyName: "searchInputElement", first: true, predicate: ["searchInputElement"], descendants: true, read: ElementRef }, { propertyName: "tokenizer", first: true, predicate: TokenizerComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"viewModel$ | async as vm\">\n <div class=\"fd-multi-input fd-multi-input-custom\">\n <div class=\"fd-multi-input-field\">\n <ng-container [ngTemplateOutlet]=\"control\" *ngIf=\"mobile && !open\"></ng-container>\n <fd-popover\n additionalBodyClass=\"fd-popover-custom-list\"\n *ngIf=\"!mobile\"\n [isOpen]=\"open\"\n (isOpenChange)=\"openChangeHandle($event)\"\n (input)=\"!open && openChangeHandle(true)\"\n [triggers]=\"[]\"\n [maxWidth]=\"bodyMaxWidth\"\n [focusTrapped]=\"true\"\n [disabled]=\"disabled\"\n [fillControlMode]=\"fillControlMode\"\n class=\"fd-multi-input-popover-custom\"\n >\n <fd-popover-control>\n <form (submit)=\"_onSubmit()\">\n <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n </form>\n </fd-popover-control>\n <fd-popover-body\n [attr.aria-hidden]=\"!open\"\n [class.fd-popover__body--hidden]=\"!vm.displayedOptions.length\"\n >\n <ng-container *ngTemplateOutlet=\"list\"></ng-container>\n <ng-content></ng-content>\n </fd-popover-body>\n </fd-popover>\n </div>\n </div>\n\n <ng-template #control>\n <fd-input-group\n class=\"fd-multi-input-input-group-custom\"\n [state]=\"state\"\n [buttonFocusable]=\"buttonFocusable\"\n [button]=\"displayAddonButton\"\n [compact]=\"compact\"\n [disabled]=\"disabled\"\n [isExpanded]=\"open && !mobile && vm.displayedOptions.length > 0\"\n [isControl]=\"true\"\n [glyph]=\"displayAddonButton ? glyph : ''\"\n [iconTitle]=\"title\"\n (addOnButtonClicked)=\"_addOnButtonClicked()\"\n >\n <fd-tokenizer\n [compactCollapse]=\"compactCollapse\"\n [compact]=\"compact\"\n [open]=\"open\"\n [tokenizerFocusable]=\"false\"\n (moreClickedEvent)=\"_moreClicked()\"\n class=\"fd-multi-input-tokenizer-custom\"\n [class.fd-multi-input-tokenizer-custom--compact]=\"compact\"\n tabindex=\"-1\"\n >\n <fd-token\n *ngFor=\"let option of vm.selectedOptions; trackBy: valueFn\"\n [compact]=\"compact\"\n [disabled]=\"disabled\"\n (onCloseClick)=\"_onTokenClick(option.value, false, $event)\"\n (onRemove)=\"_onTokenClick(option.value, false)\"\n >\n <span [innerHtml]=\"option.label\"></span>\n </fd-token>\n <input\n type=\"text\"\n class=\"fd-input fd-tokenizer__input fd-multi-input-tokenizer-input\"\n autocomplete=\"off\"\n fd-form-control\n fd-input-group-input\n fd-auto-complete\n (onComplete)=\"_handleComplete($event)\"\n #searchInputElement\n [displayFn]=\"displayFn\"\n [inputText]=\"_searchTermCtrl.value\"\n [options]=\"dropdownValues\"\n [enable]=\"autoComplete && !mobile\"\n [placeholder]=\"placeholder\"\n [formControl]=\"_searchTermCtrl\"\n [compact]=\"compact\"\n [attr.aria-required]=\"required\"\n [class.fd-input--compact]=\"compact\"\n (keydown)=\"_handleInputKeydown($event)\"\n [attr.id]=\"inputId\"\n />\n </fd-tokenizer>\n </fd-input-group>\n </ng-template>\n\n <ng-template #list>\n <ul\n *ngIf=\"vm.displayedOptions.length\"\n fd-list\n class=\"fd-multi-input-menu-overflow\"\n [selection]=\"true\"\n [mobileMode]=\"mobile\"\n [compact]=\"compact\"\n [style.maxHeight]=\"!mobile ? maxHeight : 'auto'\"\n (focusEscapeList)=\"handleListFocusEscape($event)\"\n [style.minWidth]=\"'100%'\"\n >\n <li\n *ngFor=\"let option of vm.displayedOptions; index as idx; trackBy: valueFn\"\n fd-list-item\n (click)=\"_onCheckboxClick(option.value, $event, idx, true)\"\n (keyup)=\"_onCheckboxKeyup(option.value, $event, idx)\"\n [selected]=\"option.isSelected\"\n >\n <fd-checkbox\n [compact]=\"compact\"\n (click)=\"_onCheckboxClick(option.value, $event, idx)\"\n [value]=\"option.isSelected\"\n >\n <!-- TODO -->\n </fd-checkbox>\n <ng-container\n [ngTemplateOutlet]=\"itemSource\"\n [ngTemplateOutletContext]=\"{ option: option }\"\n ></ng-container>\n </li>\n <li\n *ngIf=\"showAllButton && vm.displayedOptions.length < dropdownValues.length\"\n fd-list-item\n class=\"fd-multi-input-show-all\"\n (keyDown)=\"_showAllKeyDown($event)\"\n (click)=\"_showAllClicked($event)\"\n >\n <a fd-link tabindex=\"0\">Show All ({{ dropdownValues.length }})</a>\n </li>\n </ul>\n </ng-template>\n\n <ng-template let-option=\"option\" #itemSource>\n <span\n *ngIf=\"!itemTemplate\"\n fd-list-title\n [innerHtml]=\"option.label | highlight: _searchTermCtrl.value:highlight\"\n >\n </span>\n\n <ng-container *ngIf=\"itemTemplate\">\n <ng-container\n [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option.item }\"\n ></ng-container>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [".fd-multi-input-tokenizer-custom{width:calc(100% - 2.25rem)}.fd-multi-input-tokenizer-custom--compact{width:calc(100% - 2rem)}.fd-multi-input-input-group-custom{max-width:100%}.fd-multi-input-custom{display:block}.fd-multi-input-item{cursor:pointer;padding:0}.fd-multi-input-popover-size{overflow:auto;display:block}.fd-multi-input-popover-custom.fd-popover-custom{max-width:100%;display:block}.fd-multi-input-popover-custom.fd-popover-custom .fd-tokenizer{height:100%}.fd-multi-input-menu-overflow{max-width:37.5rem;overflow:auto}.fd-input.fd-multi-input-tokenizer-input{margin-top:0;margin-bottom:0;padding-left:0;background-color:transparent}.fd-multi-input-show-all{width:100%;display:flex;justify-content:flex-end;background-color:transparent}.fd-multi-input-show-all .fd-link:active{color:inherit}.fd-multi-input-checkbox{width:100%;cursor:pointer}.fd-multi-input-checkbox .fd-checkbox__label{color:inherit}.fd-list--multi-input{max-width:100%}.fd-popover__body--hidden{display:none}\n"], components: [{ type: i2$1.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { type: i2$1.PopoverControlComponent, selector: "fd-popover-control" }, { type: i2$1.PopoverBodyComponent, selector: "fd-popover-body" }, { type: i3$1.InputGroupComponent, selector: "fd-input-group", inputs: ["inputTemplate", "placement", "compact", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledby"], outputs: ["addOnButtonClicked", "search"] }, { type: i4$1.TokenizerComponent, selector: "fd-tokenizer", inputs: ["class", "disableKeyboardDeletion", "ariaRoleDescription", "compact", "compactCollapse", "tokenizerFocusable", "inputValue", "glyph", "moreTerm", "open"], outputs: ["moreClickedEvent"] }, { type: i4$1.TokenComponent, selector: "fd-token", inputs: ["disabled", "compact", "selected", "readOnly", "deleteButtonLabel", "ariaRoleDescription"], outputs: ["onCloseClick", "onRemove", "onTokenClick"] }, { type: i5.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "compact", "type", "class"] }, { type: i6.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "compact", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { type: i6.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "tabindex", "noData", "action", "interactive", "growing", "counter", "unread"], outputs: ["keyDown"] }, { type: i7.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "compact", "tristate", "tristateSelectable", "labelClass", "required", "values"], outputs: ["focusChange"] }, { type: i8.LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i10.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i10.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i10.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3$1.InputGroupInputDirective, selector: "[fd-input-group-input]", inputs: ["class", "compact"] }, { type: i1$1.AutoCompleteDirective, selector: "[fd-auto-complete]", inputs: ["options", "inputText", "enable", "displayFn"], outputs: ["onComplete"] }, { type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }], pipes: { "async": i9.AsyncPipe, "highlight": i1$1.SearchHighlightPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
675
+ ], viewQueries: [{ propertyName: "popoverRef", first: true, predicate: PopoverComponent, descendants: true }, { propertyName: "controlTemplate", first: true, predicate: ["control"], descendants: true, read: TemplateRef }, { propertyName: "listTemplate", first: true, predicate: ["list"], descendants: true, read: TemplateRef }, { propertyName: "listComponent", first: true, predicate: ListComponent, descendants: true }, { propertyName: "searchInputElement", first: true, predicate: ["searchInputElement"], descendants: true, read: ElementRef }, { propertyName: "tokenizer", first: true, predicate: TokenizerComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"viewModel$ | async as vm\">\n <div class=\"fd-multi-input fd-multi-input-custom\">\n <div class=\"fd-multi-input-field\">\n <ng-container [ngTemplateOutlet]=\"control\" *ngIf=\"mobile && !open\"></ng-container>\n <fd-popover\n additionalBodyClass=\"fd-popover-custom-list\"\n *ngIf=\"!mobile\"\n [isOpen]=\"open\"\n (isOpenChange)=\"openChangeHandle($event)\"\n (input)=\"!open && openChangeHandle(true)\"\n [triggers]=\"[]\"\n [maxWidth]=\"bodyMaxWidth\"\n [focusTrapped]=\"true\"\n [disabled]=\"disabled\"\n [fillControlMode]=\"fillControlMode\"\n class=\"fd-multi-input-popover-custom\"\n >\n <fd-popover-control>\n <form (submit)=\"_onSubmit()\">\n <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n </form>\n </fd-popover-control>\n <fd-popover-body\n [attr.aria-hidden]=\"!open\"\n [class.fd-popover__body--hidden]=\"!vm.displayedOptions.length\"\n >\n <ng-container *ngTemplateOutlet=\"list\"></ng-container>\n <ng-content></ng-content>\n </fd-popover-body>\n </fd-popover>\n </div>\n </div>\n\n <ng-template #control>\n <fd-input-group\n class=\"fd-multi-input-input-group-custom\"\n [state]=\"state\"\n [buttonFocusable]=\"buttonFocusable\"\n [button]=\"displayAddonButton\"\n [compact]=\"compact\"\n [disabled]=\"disabled\"\n [isExpanded]=\"open && !mobile && vm.displayedOptions.length > 0\"\n [isControl]=\"true\"\n [glyph]=\"displayAddonButton ? glyph : ''\"\n [iconTitle]=\"title\"\n (addOnButtonClicked)=\"_addOnButtonClicked()\"\n >\n <fd-tokenizer\n [compactCollapse]=\"compactCollapse\"\n [compact]=\"compact\"\n [open]=\"open\"\n [tokenizerFocusable]=\"false\"\n (moreClickedEvent)=\"_moreClicked()\"\n class=\"fd-multi-input-tokenizer-custom\"\n [class.fd-multi-input-tokenizer-custom--compact]=\"compact\"\n tabindex=\"-1\"\n >\n <fd-token\n *ngFor=\"let option of vm.selectedOptions; trackBy: valueFn\"\n [compact]=\"compact\"\n [disabled]=\"disabled\"\n (onCloseClick)=\"_onTokenClick(option.value, false, $event)\"\n (onRemove)=\"_onTokenClick(option.value, false)\"\n >\n <span [innerHtml]=\"option.label\"></span>\n </fd-token>\n <input\n type=\"text\"\n class=\"fd-input fd-tokenizer__input fd-multi-input-tokenizer-input\"\n autocomplete=\"off\"\n fd-form-control\n fd-input-group-input\n fd-auto-complete\n (onComplete)=\"_handleComplete($event)\"\n #searchInputElement\n [displayFn]=\"displayFn\"\n [inputText]=\"_searchTermCtrl.value\"\n [options]=\"dropdownValues\"\n [enable]=\"autoComplete && !mobile\"\n [placeholder]=\"placeholder\"\n [formControl]=\"_searchTermCtrl\"\n [compact]=\"compact\"\n [attr.aria-required]=\"required\"\n [class.fd-input--compact]=\"compact\"\n (keydown)=\"_handleInputKeydown($event)\"\n [attr.id]=\"inputId\"\n />\n </fd-tokenizer>\n </fd-input-group>\n </ng-template>\n\n <ng-template #list>\n <ul\n *ngIf=\"vm.displayedOptions.length\"\n fd-list\n class=\"fd-multi-input-menu-overflow\"\n [selection]=\"true\"\n [mobileMode]=\"mobile\"\n [compact]=\"compact\"\n [style.maxHeight]=\"!mobile ? maxHeight : 'auto'\"\n (focusEscapeList)=\"handleListFocusEscape($event)\"\n [style.minWidth]=\"'100%'\"\n >\n <li\n *ngFor=\"let option of vm.displayedOptions; index as idx; trackBy: valueFn\"\n fd-list-item\n (click)=\"_onCheckboxClick(option.value, $event, idx, true)\"\n (keyup)=\"_onCheckboxKeyup(option.value, $event, idx)\"\n [selected]=\"option.isSelected\"\n >\n <fd-checkbox\n [compact]=\"compact\"\n (click)=\"_onCheckboxClick(option.value, $event, idx)\"\n [value]=\"option.isSelected\"\n >\n <!-- TODO -->\n </fd-checkbox>\n <ng-container\n [ngTemplateOutlet]=\"itemSource\"\n [ngTemplateOutletContext]=\"{ option: option }\"\n ></ng-container>\n </li>\n <li\n *ngIf=\"showAllButton && vm.displayedOptions.length < dropdownValues.length\"\n fd-list-item\n class=\"fd-multi-input-show-all\"\n (keyDown)=\"_showAllKeyDown($event)\"\n (click)=\"_showAllClicked($event)\"\n >\n <a fd-link tabindex=\"0\">Show All ({{ dropdownValues.length }})</a>\n </li>\n </ul>\n </ng-template>\n\n <ng-template let-option=\"option\" #itemSource>\n <span\n *ngIf=\"!itemTemplate\"\n fd-list-title\n [innerHtml]=\"option.label | highlight: _searchTermCtrl.value:highlight\"\n >\n </span>\n\n <ng-container *ngIf=\"itemTemplate\">\n <ng-container\n [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option.item }\"\n ></ng-container>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [".fd-multi-input-tokenizer-custom{width:calc(100% - 2.25rem)}.fd-multi-input-tokenizer-custom--compact{width:calc(100% - 2rem)}.fd-multi-input-input-group-custom{max-width:100%}.fd-multi-input-custom{display:block}.fd-multi-input-item{cursor:pointer;padding:0}.fd-multi-input-popover-size{overflow:auto;display:block}.fd-multi-input-popover-custom.fd-popover-custom{max-width:100%;display:block}.fd-multi-input-popover-custom.fd-popover-custom .fd-tokenizer{height:100%}.fd-multi-input-menu-overflow{max-width:37.5rem;overflow:auto}.fd-input.fd-multi-input-tokenizer-input{margin-top:0;margin-bottom:0;padding-left:0;background-color:transparent}.fd-multi-input-show-all{width:100%;display:flex;justify-content:flex-end;background-color:transparent}.fd-multi-input-show-all .fd-link:active{color:inherit}.fd-multi-input-checkbox{width:100%;cursor:pointer}.fd-multi-input-checkbox .fd-checkbox__label{color:inherit}.fd-list--multi-input{max-width:100%}.fd-popover__body--hidden{display:none}\n"], components: [{ type: i2$1.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { type: i2$1.PopoverControlComponent, selector: "fd-popover-control" }, { type: i2$1.PopoverBodyComponent, selector: "fd-popover-body" }, { type: i3$1.InputGroupComponent, selector: "fd-input-group", inputs: ["inputTemplate", "placement", "compact", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledby"], outputs: ["addOnButtonClicked", "search"] }, { type: i4$1.TokenizerComponent, selector: "fd-tokenizer", inputs: ["class", "disableKeyboardDeletion", "ariaRoleDescription", "compact", "compactCollapse", "tokenizerFocusable", "inputValue", "glyph", "moreTerm", "open"], outputs: ["moreClickedEvent"] }, { type: i4$1.TokenComponent, selector: "fd-token", inputs: ["disabled", "compact", "selected", "readOnly", "deleteButtonLabel", "ariaRoleDescription"], outputs: ["onCloseClick", "onRemove", "onTokenClick"] }, { type: i5.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "compact", "type", "class"] }, { type: i6.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "compact", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { type: i6.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "tabindex", "noData", "action", "interactive", "growing", "counter", "unread"], outputs: ["keyDown"] }, { type: i7.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "compact", "tristate", "tristateSelectable", "labelClass", "required", "values"], outputs: ["focusChange"] }, { type: i8.LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i10.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i10.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i10.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3$1.InputGroupInputDirective, selector: "[fd-input-group-input]", inputs: ["class", "compact"] }, { type: i1$1.AutoCompleteDirective, selector: "[fd-auto-complete]", inputs: ["options", "inputText", "enable", "displayFn"], outputs: ["onComplete"] }, { type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }], pipes: { "async": i9.AsyncPipe, "highlight": i1$1.SearchHighlightPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
676
676
  __decorate([
677
677
  applyCssClass,
678
678
  __metadata("design:type", Function),
@@ -66,7 +66,7 @@ class TextComponent {
66
66
  }
67
67
  }
68
68
  TextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: TextComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
69
- TextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: TextComponent, selector: "fd-text", inputs: { text: "text", maxLines: "maxLines", whitespaces: "whitespaces", hyphenation: "hyphenation", expandable: "expandable", moreLabel: "moreLabel", lessLabel: "lessLabel", isCollapsed: "isCollapsed" }, outputs: { isCollapsedChange: "isCollapsedChange" }, ngImport: i0, template: "<p class=\"fd-text\" [class.fd-text--pre-wrap]=\"whitespaces\" [style.hyphens]=\"hyphenation\">\n <span\n fd-lineclamp\n class=\"fd-text__lineclamp\"\n #lineClamp=\"fdLineClamp\"\n [fdLineclampState]=\"_isCollapsed\"\n [fdLineClampLines]=\"maxLines\"\n (lineCountUpdate)=\"checkLineCount($event)\"\n >\n <span fd-lineclamp-target [fdLineClampTargetText]=\"text\" (update)=\"lineClamp.refreshTarget($event)\"></span>\n </span>\n\n <a\n fd-link\n tabindex=\"0\"\n class=\"fd-text__link--more\"\n *ngIf=\"_expandable && _hasMore\"\n (keydown.enter)=\"toggleTextView()\"\n (click)=\"toggleTextView()\"\n [innerText]=\"isCollapsed ? moreLabel : lessLabel\"\n ></a>\n</p>\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 */.fd-text{font-size:var(--sapFontSize);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}.fd-text:after,.fd-text:before{box-sizing:inherit;font-size:inherit}.fd-text::selection{color:var(--sapContent_ContrastTextColor);background-color:var(--sapSelectedColor)}.fd-text--max-lines{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.fd-text--pre-wrap{white-space:pre-wrap}.fd-text--hyphenation{-webkit-hyphens:auto;hyphens:auto}.fd-text__lineclamp{display:block}.fd-text__link--more{text-transform:uppercase;cursor:pointer}\n"], components: [{ type: i1.LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle"] }], directives: [{ type: i2.LineClampDirective, selector: "[fd-lineclamp]", inputs: ["fdLineClampLines", "fdLineclampState"], outputs: ["lineCountUpdate"], exportAs: ["fdLineClamp"] }, { type: i2.LineClampTargetDirective, selector: "[fd-lineclamp-target]", inputs: ["fdLineClampTargetText"], outputs: ["update"], exportAs: ["fdLineClampTarget"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
69
+ TextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: TextComponent, selector: "fd-text", inputs: { text: "text", maxLines: "maxLines", whitespaces: "whitespaces", hyphenation: "hyphenation", expandable: "expandable", moreLabel: "moreLabel", lessLabel: "lessLabel", isCollapsed: "isCollapsed" }, outputs: { isCollapsedChange: "isCollapsedChange" }, ngImport: i0, template: "<p class=\"fd-text\" [class.fd-text--pre-wrap]=\"whitespaces\" [style.hyphens]=\"hyphenation\">\n <span\n fd-lineclamp\n class=\"fd-text__lineclamp\"\n #lineClamp=\"fdLineClamp\"\n [fdLineclampState]=\"_isCollapsed\"\n [fdLineClampLines]=\"maxLines\"\n (lineCountUpdate)=\"checkLineCount($event)\"\n >\n <span fd-lineclamp-target [fdLineClampTargetText]=\"text\" (update)=\"lineClamp.refreshTarget($event)\"></span>\n </span>\n\n <a\n fd-link\n tabindex=\"0\"\n class=\"fd-text__link--more\"\n *ngIf=\"_expandable && _hasMore\"\n (keydown.enter)=\"toggleTextView()\"\n (click)=\"toggleTextView()\"\n [innerText]=\"isCollapsed ? moreLabel : lessLabel\"\n ></a>\n</p>\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 */.fd-text{font-size:var(--sapFontSize);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}.fd-text:after,.fd-text:before{box-sizing:inherit;font-size:inherit}.fd-text::selection{color:var(--sapContent_ContrastTextColor);background-color:var(--sapSelectedColor)}.fd-text--max-lines{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.fd-text--pre-wrap{white-space:pre-wrap}.fd-text--hyphenation{-webkit-hyphens:auto;hyphens:auto}.fd-text__lineclamp{display:block}.fd-text__link--more{text-transform:uppercase;cursor:pointer}\n"], components: [{ type: i1.LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }], directives: [{ type: i2.LineClampDirective, selector: "[fd-lineclamp]", inputs: ["fdLineClampLines", "fdLineclampState"], outputs: ["lineCountUpdate"], exportAs: ["fdLineClamp"] }, { type: i2.LineClampTargetDirective, selector: "[fd-lineclamp-target]", inputs: ["fdLineClampTargetText"], outputs: ["update"], exportAs: ["fdLineClampTarget"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
70
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: TextComponent, decorators: [{
71
71
  type: Component,
72
72
  args: [{ selector: 'fd-text', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<p class=\"fd-text\" [class.fd-text--pre-wrap]=\"whitespaces\" [style.hyphens]=\"hyphenation\">\n <span\n fd-lineclamp\n class=\"fd-text__lineclamp\"\n #lineClamp=\"fdLineClamp\"\n [fdLineclampState]=\"_isCollapsed\"\n [fdLineClampLines]=\"maxLines\"\n (lineCountUpdate)=\"checkLineCount($event)\"\n >\n <span fd-lineclamp-target [fdLineClampTargetText]=\"text\" (update)=\"lineClamp.refreshTarget($event)\"></span>\n </span>\n\n <a\n fd-link\n tabindex=\"0\"\n class=\"fd-text__link--more\"\n *ngIf=\"_expandable && _hasMore\"\n (keydown.enter)=\"toggleTextView()\"\n (click)=\"toggleTextView()\"\n [innerText]=\"isCollapsed ? moreLabel : lessLabel\"\n ></a>\n</p>\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 */.fd-text{font-size:var(--sapFontSize);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}.fd-text:after,.fd-text:before{box-sizing:inherit;font-size:inherit}.fd-text::selection{color:var(--sapContent_ContrastTextColor);background-color:var(--sapSelectedColor)}.fd-text--max-lines{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.fd-text--pre-wrap{white-space:pre-wrap}.fd-text--hyphenation{-webkit-hyphens:auto;hyphens:auto}.fd-text__lineclamp{display:block}.fd-text__link--more{text-transform:uppercase;cursor:pointer}\n"] }]
@@ -224,6 +224,9 @@ class TimePickerComponent {
224
224
  _getFormattedTime(time = this.time) {
225
225
  let formattedTime = '';
226
226
  try {
227
+ if (this.allowNull && time === null) {
228
+ return '';
229
+ }
227
230
  formattedTime = this._dateTimeAdapter.format(time, this.getDisplayFormat());
228
231
  }
229
232
  catch (e) { }