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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/action-bar/package.json +1 -1
  2. package/action-sheet/package.json +1 -1
  3. package/alert/package.json +1 -1
  4. package/avatar/package.json +1 -1
  5. package/avatar-group/package.json +1 -1
  6. package/bar/package.json +1 -1
  7. package/breadcrumb/package.json +1 -1
  8. package/busy-indicator/package.json +1 -1
  9. package/button/package.json +1 -1
  10. package/calendar/package.json +1 -1
  11. package/card/package.json +1 -1
  12. package/carousel/package.json +1 -1
  13. package/checkbox/package.json +1 -1
  14. package/combobox/package.json +1 -1
  15. package/date-picker/package.json +1 -1
  16. package/datetime/package.json +1 -1
  17. package/datetime-picker/package.json +1 -1
  18. package/dialog/package.json +1 -1
  19. package/dynamic-page/package.json +1 -1
  20. package/dynamic-side-content/package.json +1 -1
  21. package/esm2020/facets/facet/facet.component.mjs +1 -1
  22. package/esm2020/form/form-label/form-label.component.mjs +10 -3
  23. package/esm2020/pagination/pagination.component.mjs +1 -1
  24. package/esm2020/quick-view/quick-view-group-item-label/quick-view-group-item-label.component.mjs +1 -1
  25. package/facets/esm2020/facet/facet.component.mjs +1 -1
  26. package/facets/fesm2015/fundamental-ngx-core-facets.mjs +1 -1
  27. package/facets/fesm2020/fundamental-ngx-core-facets.mjs +1 -1
  28. package/facets/package.json +1 -1
  29. package/feed-input/package.json +1 -1
  30. package/feed-list-item/package.json +1 -1
  31. package/fesm2015/fundamental-ngx-core-facets.mjs +1 -1
  32. package/fesm2015/fundamental-ngx-core-form.mjs +9 -2
  33. package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  34. package/fesm2015/fundamental-ngx-core-pagination.mjs +1 -1
  35. package/fesm2015/fundamental-ngx-core-quick-view.mjs +1 -1
  36. package/fesm2020/fundamental-ngx-core-facets.mjs +1 -1
  37. package/fesm2020/fundamental-ngx-core-form.mjs +9 -2
  38. package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  39. package/fesm2020/fundamental-ngx-core-pagination.mjs +1 -1
  40. package/fesm2020/fundamental-ngx-core-quick-view.mjs +1 -1
  41. package/file-uploader/package.json +1 -1
  42. package/fixed-card-layout/package.json +1 -1
  43. package/flexible-column-layout/package.json +1 -1
  44. package/form/esm2020/form-label/form-label.component.mjs +10 -3
  45. package/form/fesm2015/fundamental-ngx-core-form.mjs +9 -2
  46. package/form/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  47. package/form/fesm2020/fundamental-ngx-core-form.mjs +9 -2
  48. package/form/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  49. package/form/form-label/form-label.component.d.ts +3 -1
  50. package/form/package.json +1 -1
  51. package/formatted-text/package.json +1 -1
  52. package/grid-list/package.json +1 -1
  53. package/icon/package.json +1 -1
  54. package/illustrated-message/package.json +1 -1
  55. package/infinite-scroll/package.json +1 -1
  56. package/info-label/package.json +1 -1
  57. package/inline-help/package.json +1 -1
  58. package/input-group/package.json +1 -1
  59. package/layout-grid/package.json +1 -1
  60. package/layout-panel/package.json +1 -1
  61. package/link/package.json +1 -1
  62. package/list/package.json +1 -1
  63. package/menu/package.json +1 -1
  64. package/message-box/package.json +1 -1
  65. package/message-strip/package.json +1 -1
  66. package/message-toast/package.json +1 -1
  67. package/micro-process-flow/package.json +1 -1
  68. package/mobile-mode/package.json +1 -1
  69. package/multi-input/package.json +1 -1
  70. package/nested-list/package.json +1 -1
  71. package/notification/package.json +1 -1
  72. package/object-identifier/package.json +1 -1
  73. package/object-marker/package.json +1 -1
  74. package/object-number/package.json +1 -1
  75. package/object-status/package.json +1 -1
  76. package/package.json +1 -1
  77. package/pagination/esm2020/pagination.component.mjs +1 -1
  78. package/pagination/fesm2015/fundamental-ngx-core-pagination.mjs +1 -1
  79. package/pagination/fesm2020/fundamental-ngx-core-pagination.mjs +1 -1
  80. package/pagination/package.json +1 -1
  81. package/panel/package.json +1 -1
  82. package/popover/package.json +1 -1
  83. package/product-switch/package.json +1 -1
  84. package/progress-indicator/package.json +1 -1
  85. package/quick-view/esm2020/quick-view-group-item-label/quick-view-group-item-label.component.mjs +1 -1
  86. package/quick-view/fesm2015/fundamental-ngx-core-quick-view.mjs +1 -1
  87. package/quick-view/fesm2020/fundamental-ngx-core-quick-view.mjs +1 -1
  88. package/quick-view/package.json +1 -1
  89. package/radio/package.json +1 -1
  90. package/rating-indicator/package.json +1 -1
  91. package/resizable-card-layout/package.json +1 -1
  92. package/scroll-spy/package.json +1 -1
  93. package/scrollbar/package.json +1 -1
  94. package/segmented-button/package.json +1 -1
  95. package/select/package.json +1 -1
  96. package/shared/package.json +1 -1
  97. package/shellbar/package.json +1 -1
  98. package/side-navigation/package.json +1 -1
  99. package/slider/package.json +1 -1
  100. package/split-button/package.json +1 -1
  101. package/splitter/package.json +1 -1
  102. package/status-indicator/package.json +1 -1
  103. package/step-input/package.json +1 -1
  104. package/switch/package.json +1 -1
  105. package/table/package.json +1 -1
  106. package/tabs/package.json +1 -1
  107. package/text/package.json +1 -1
  108. package/tile/package.json +1 -1
  109. package/time/package.json +1 -1
  110. package/time-picker/package.json +1 -1
  111. package/timeline/package.json +1 -1
  112. package/title/package.json +1 -1
  113. package/token/package.json +1 -1
  114. package/toolbar/package.json +1 -1
  115. package/tree/package.json +1 -1
  116. package/upload-collection/package.json +1 -1
  117. package/utils/package.json +1 -1
  118. package/vertical-navigation/package.json +1 -1
  119. package/wizard/package.json +1 -1
@@ -231,6 +231,8 @@ class FormLabelComponent {
231
231
  this.checkbox = false;
232
232
  /** @deprecated */
233
233
  this.radio = false;
234
+ /** Align label on end */
235
+ this.alignLabelEnd = false;
234
236
  /** Inline help body text */
235
237
  this.inlineHelpTitle = null;
236
238
  /** Glyph of icon triggering inline help */
@@ -253,10 +255,10 @@ class FormLabelComponent {
253
255
  }
254
256
  }
255
257
  FormLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FormLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
256
- FormLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: FormLabelComponent, selector: "[fd-form-label]", inputs: { required: "required", colon: "colon", checkbox: "checkbox", radio: "radio", inlineHelpTitle: "inlineHelpTitle", inlineHelpGlyph: "inlineHelpGlyph", inlineHelpTriggers: "inlineHelpTriggers", inlineHelpBodyPlacement: "inlineHelpBodyPlacement", inlineHelpPlacement: "inlineHelpPlacement" }, host: { properties: { "class.fd-form-label__wrapper": "this.defaultClass", "class.fd-form-label__wrapper--inline-help": "this.inlineHelpClass", "class.fd-form-label__wrapper--inline-help--after": "this.inlineHelpAfter" } }, usesOnChanges: true, ngImport: i0, template: "<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-form-label\n*/.fd-form-label{line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:-moz-fit-content;width:fit-content;position:relative;max-width:100%;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);margin-right:.5rem;cursor:text;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{box-sizing:inherit;font-size:inherit}.fd-form-label[dir=rtl],[dir=rtl] .fd-form-label{margin-left:.5rem;margin-right:0}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{padding:0 0 0 .25rem;color:var(--sapField_TextColor);margin:0}.fd-form-label--unit-description[dir=rtl],[dir=rtl] .fd-form-label--unit-description{margin:0;padding:0 .25rem 0 0}.fd-form-label--required,.fd-form-label[aria-required=true]{padding-right:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{content:\"*\";font-size:var(--sapFontSize);font-weight:700;color:var(--sapField_RequiredColor);position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl],.fd-form-label[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--required,[dir=rtl] .fd-form-label[aria-required=true]{padding-right:0;padding-left:.5rem}.fd-form-label--required[dir=rtl]:after,.fd-form-label[aria-required=true][dir=rtl]:after,[dir=rtl] .fd-form-label--required:after,[dir=rtl] .fd-form-label[aria-required=true]:after{right:auto;left:0}.fd-form-label--colon{padding-right:.25rem}.fd-form-label--colon:before{content:\":\";font-size:var(--sapFontSize);color:inherit;position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl],[dir=rtl] .fd-form-label--colon{padding-left:.25rem;padding-right:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{right:auto;left:0}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{padding-right:.75rem}.fd-form-label--colon.fd-form-label--required:before,.fd-form-label--colon[aria-required=true]:before{right:.5rem}.fd-form-label--colon.fd-form-label--required[dir=rtl],.fd-form-label--colon[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--colon.fd-form-label--required,[dir=rtl] .fd-form-label--colon[aria-required=true]{padding-left:.75rem;padding-right:0}.fd-form-label--colon.fd-form-label--required[dir=rtl]:before,.fd-form-label--colon[aria-required=true][dir=rtl]:before,[dir=rtl] .fd-form-label--colon.fd-form-label--required:before,[dir=rtl] .fd-form-label--colon[aria-required=true]:before{right:auto;left:.5rem}.fd-form-label--inline-help{width:100%;display:flex;justify-content:space-between;align-items:center}.fd-form-label{display:inline-block}.fd-form-label__wrapper{position:relative;display:flex}.fd-form-label__wrapper--inline-help{display:flex;padding-left:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help,.fd-form-label__wrapper--inline-help[dir=rtl],.fd-form-label__wrapper--inline-help--after{padding-left:0;padding-right:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help--after,.fd-form-label__wrapper--inline-help--after[dir=rtl]{padding-right:0;padding-left:0rem}.fd-form-label__help{position:relative;top:50%;transform:translateY(3%);align-items:center;display:flex;left:0;right:auto}[dir=rtl] .fd-form-label__help,.fd-form-label__help[dir=rtl],.fd-form-label__help--after{right:0;left:auto}[dir=rtl] .fd-form-label__help--after,.fd-form-label__help--after[dir=rtl]{left:0;right:auto}\n"], components: [{ type: i1$1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.InlineHelpDirective, selector: "[fd-inline-help], [fd-inline-help-template]", inputs: ["triggers", "noArrow", "closeOnEscapeKey", "closeOnOutsideClick", "fd-inline-help", "fd-inline-help-template"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
258
+ FormLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: FormLabelComponent, selector: "[fd-form-label]", inputs: { required: "required", colon: "colon", checkbox: "checkbox", radio: "radio", alignLabelEnd: "alignLabelEnd", inlineHelpTitle: "inlineHelpTitle", inlineHelpGlyph: "inlineHelpGlyph", inlineHelpTriggers: "inlineHelpTriggers", inlineHelpBodyPlacement: "inlineHelpBodyPlacement", inlineHelpPlacement: "inlineHelpPlacement" }, host: { properties: { "class.fd-form-label__wrapper--align-end": "this.alignLabelEnd", "class.fd-form-label__wrapper": "this.defaultClass", "class.fd-form-label__wrapper--inline-help": "this.inlineHelpClass", "class.fd-form-label__wrapper--inline-help--after": "this.inlineHelpAfter" } }, usesOnChanges: true, ngImport: i0, template: "<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-form-label\n*/.fd-form-label{line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:-moz-fit-content;width:fit-content;position:relative;max-width:100%;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);margin-right:.5rem;cursor:text;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{box-sizing:inherit;font-size:inherit}.fd-form-label[dir=rtl],[dir=rtl] .fd-form-label{margin-left:.5rem;margin-right:0}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{padding:0 0 0 .25rem;color:var(--sapField_TextColor);margin:0}.fd-form-label--unit-description[dir=rtl],[dir=rtl] .fd-form-label--unit-description{margin:0;padding:0 .25rem 0 0}.fd-form-label--required,.fd-form-label[aria-required=true]{padding-right:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{content:\"*\";font-size:var(--sapFontSize);font-weight:700;color:var(--sapField_RequiredColor);position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl],.fd-form-label[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--required,[dir=rtl] .fd-form-label[aria-required=true]{padding-right:0;padding-left:.5rem}.fd-form-label--required[dir=rtl]:after,.fd-form-label[aria-required=true][dir=rtl]:after,[dir=rtl] .fd-form-label--required:after,[dir=rtl] .fd-form-label[aria-required=true]:after{right:auto;left:0}.fd-form-label--colon{padding-right:.25rem}.fd-form-label--colon:before{content:\":\";font-size:var(--sapFontSize);color:inherit;position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl],[dir=rtl] .fd-form-label--colon{padding-left:.25rem;padding-right:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{right:auto;left:0}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{padding-right:.75rem}.fd-form-label--colon.fd-form-label--required:before,.fd-form-label--colon[aria-required=true]:before{right:.5rem}.fd-form-label--colon.fd-form-label--required[dir=rtl],.fd-form-label--colon[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--colon.fd-form-label--required,[dir=rtl] .fd-form-label--colon[aria-required=true]{padding-left:.75rem;padding-right:0}.fd-form-label--colon.fd-form-label--required[dir=rtl]:before,.fd-form-label--colon[aria-required=true][dir=rtl]:before,[dir=rtl] .fd-form-label--colon.fd-form-label--required:before,[dir=rtl] .fd-form-label--colon[aria-required=true]:before{right:auto;left:.5rem}.fd-form-label--inline-help{width:100%;display:flex;justify-content:space-between;align-items:center}.fd-form-label{display:inline-block}.fd-form-label__wrapper{position:relative;display:flex;padding-bottom:.125rem}.fd-form-label__wrapper--align-end{justify-content:flex-end}.fd-form-label__wrapper span.fd-form-label{margin-bottom:-.125rem}.fd-form-label__wrapper--inline-help{display:flex;padding-left:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help,.fd-form-label__wrapper--inline-help[dir=rtl],.fd-form-label__wrapper--inline-help--after{padding-left:0;padding-right:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help--after,.fd-form-label__wrapper--inline-help--after[dir=rtl]{padding-right:0;padding-left:0rem}.fd-form-label__help{position:relative;top:50%;transform:translateY(3%);align-items:center;display:flex;left:0;right:auto}[dir=rtl] .fd-form-label__help,.fd-form-label__help[dir=rtl],.fd-form-label__help--after{right:0;left:auto}[dir=rtl] .fd-form-label__help--after,.fd-form-label__help--after[dir=rtl]{left:0;right:auto}\n"], components: [{ type: i1$1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.InlineHelpDirective, selector: "[fd-inline-help], [fd-inline-help-template]", inputs: ["triggers", "noArrow", "closeOnEscapeKey", "closeOnOutsideClick", "fd-inline-help", "fd-inline-help-template"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
257
259
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FormLabelComponent, decorators: [{
258
260
  type: Component,
259
- args: [{ selector: '[fd-form-label]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-form-label\n*/.fd-form-label{line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:-moz-fit-content;width:fit-content;position:relative;max-width:100%;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);margin-right:.5rem;cursor:text;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{box-sizing:inherit;font-size:inherit}.fd-form-label[dir=rtl],[dir=rtl] .fd-form-label{margin-left:.5rem;margin-right:0}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{padding:0 0 0 .25rem;color:var(--sapField_TextColor);margin:0}.fd-form-label--unit-description[dir=rtl],[dir=rtl] .fd-form-label--unit-description{margin:0;padding:0 .25rem 0 0}.fd-form-label--required,.fd-form-label[aria-required=true]{padding-right:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{content:\"*\";font-size:var(--sapFontSize);font-weight:700;color:var(--sapField_RequiredColor);position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl],.fd-form-label[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--required,[dir=rtl] .fd-form-label[aria-required=true]{padding-right:0;padding-left:.5rem}.fd-form-label--required[dir=rtl]:after,.fd-form-label[aria-required=true][dir=rtl]:after,[dir=rtl] .fd-form-label--required:after,[dir=rtl] .fd-form-label[aria-required=true]:after{right:auto;left:0}.fd-form-label--colon{padding-right:.25rem}.fd-form-label--colon:before{content:\":\";font-size:var(--sapFontSize);color:inherit;position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl],[dir=rtl] .fd-form-label--colon{padding-left:.25rem;padding-right:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{right:auto;left:0}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{padding-right:.75rem}.fd-form-label--colon.fd-form-label--required:before,.fd-form-label--colon[aria-required=true]:before{right:.5rem}.fd-form-label--colon.fd-form-label--required[dir=rtl],.fd-form-label--colon[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--colon.fd-form-label--required,[dir=rtl] .fd-form-label--colon[aria-required=true]{padding-left:.75rem;padding-right:0}.fd-form-label--colon.fd-form-label--required[dir=rtl]:before,.fd-form-label--colon[aria-required=true][dir=rtl]:before,[dir=rtl] .fd-form-label--colon.fd-form-label--required:before,[dir=rtl] .fd-form-label--colon[aria-required=true]:before{right:auto;left:.5rem}.fd-form-label--inline-help{width:100%;display:flex;justify-content:space-between;align-items:center}.fd-form-label{display:inline-block}.fd-form-label__wrapper{position:relative;display:flex}.fd-form-label__wrapper--inline-help{display:flex;padding-left:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help,.fd-form-label__wrapper--inline-help[dir=rtl],.fd-form-label__wrapper--inline-help--after{padding-left:0;padding-right:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help--after,.fd-form-label__wrapper--inline-help--after[dir=rtl]{padding-right:0;padding-left:0rem}.fd-form-label__help{position:relative;top:50%;transform:translateY(3%);align-items:center;display:flex;left:0;right:auto}[dir=rtl] .fd-form-label__help,.fd-form-label__help[dir=rtl],.fd-form-label__help--after{right:0;left:auto}[dir=rtl] .fd-form-label__help--after,.fd-form-label__help--after[dir=rtl]{left:0;right:auto}\n"] }]
261
+ args: [{ selector: '[fd-form-label]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-form-label\n*/.fd-form-label{line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:-moz-fit-content;width:fit-content;position:relative;max-width:100%;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);margin-right:.5rem;cursor:text;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{box-sizing:inherit;font-size:inherit}.fd-form-label[dir=rtl],[dir=rtl] .fd-form-label{margin-left:.5rem;margin-right:0}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{padding:0 0 0 .25rem;color:var(--sapField_TextColor);margin:0}.fd-form-label--unit-description[dir=rtl],[dir=rtl] .fd-form-label--unit-description{margin:0;padding:0 .25rem 0 0}.fd-form-label--required,.fd-form-label[aria-required=true]{padding-right:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{content:\"*\";font-size:var(--sapFontSize);font-weight:700;color:var(--sapField_RequiredColor);position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl],.fd-form-label[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--required,[dir=rtl] .fd-form-label[aria-required=true]{padding-right:0;padding-left:.5rem}.fd-form-label--required[dir=rtl]:after,.fd-form-label[aria-required=true][dir=rtl]:after,[dir=rtl] .fd-form-label--required:after,[dir=rtl] .fd-form-label[aria-required=true]:after{right:auto;left:0}.fd-form-label--colon{padding-right:.25rem}.fd-form-label--colon:before{content:\":\";font-size:var(--sapFontSize);color:inherit;position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl],[dir=rtl] .fd-form-label--colon{padding-left:.25rem;padding-right:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{right:auto;left:0}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{padding-right:.75rem}.fd-form-label--colon.fd-form-label--required:before,.fd-form-label--colon[aria-required=true]:before{right:.5rem}.fd-form-label--colon.fd-form-label--required[dir=rtl],.fd-form-label--colon[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--colon.fd-form-label--required,[dir=rtl] .fd-form-label--colon[aria-required=true]{padding-left:.75rem;padding-right:0}.fd-form-label--colon.fd-form-label--required[dir=rtl]:before,.fd-form-label--colon[aria-required=true][dir=rtl]:before,[dir=rtl] .fd-form-label--colon.fd-form-label--required:before,[dir=rtl] .fd-form-label--colon[aria-required=true]:before{right:auto;left:.5rem}.fd-form-label--inline-help{width:100%;display:flex;justify-content:space-between;align-items:center}.fd-form-label{display:inline-block}.fd-form-label__wrapper{position:relative;display:flex;padding-bottom:.125rem}.fd-form-label__wrapper--align-end{justify-content:flex-end}.fd-form-label__wrapper span.fd-form-label{margin-bottom:-.125rem}.fd-form-label__wrapper--inline-help{display:flex;padding-left:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help,.fd-form-label__wrapper--inline-help[dir=rtl],.fd-form-label__wrapper--inline-help--after{padding-left:0;padding-right:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help--after,.fd-form-label__wrapper--inline-help--after[dir=rtl]{padding-right:0;padding-left:0rem}.fd-form-label__help{position:relative;top:50%;transform:translateY(3%);align-items:center;display:flex;left:0;right:auto}[dir=rtl] .fd-form-label__help,.fd-form-label__help[dir=rtl],.fd-form-label__help--after{right:0;left:auto}[dir=rtl] .fd-form-label__help--after,.fd-form-label__help--after[dir=rtl]{left:0;right:auto}\n"] }]
260
262
  }], propDecorators: { required: [{
261
263
  type: Input
262
264
  }], colon: [{
@@ -265,6 +267,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
265
267
  type: Input
266
268
  }], radio: [{
267
269
  type: Input
270
+ }], alignLabelEnd: [{
271
+ type: Input
272
+ }, {
273
+ type: HostBinding,
274
+ args: ['class.fd-form-label__wrapper--align-end']
268
275
  }], inlineHelpTitle: [{
269
276
  type: Input
270
277
  }], inlineHelpGlyph: [{
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-form.mjs","sources":["../../../../libs/core/src/lib/form/fieldset/fieldset.component.ts","../../../../libs/core/src/lib/form/fieldset/fieldset.module.ts","../../../../libs/core/src/lib/form/form-control/form-control.component.ts","../../../../libs/core/src/lib/form/form-control/form-control.module.ts","../../../../libs/core/src/lib/form/form-item/form-item.component.ts","../../../../libs/core/src/lib/form/form-item/form-item.module.ts","../../../../libs/core/src/lib/form/form-label/form-label.component.ts","../../../../libs/core/src/lib/form/form-label/form-label.component.html","../../../../libs/core/src/lib/form/form-label/form-label.module.ts","../../../../libs/core/src/lib/form/form-header/form-header.component.ts","../../../../libs/core/src/lib/form/form-header/form-header.module.ts","../../../../libs/core/src/lib/form/form-legend/form-legend.directive.ts","../../../../libs/core/src/lib/form/form-legend/form-legend.module.ts","../../../../libs/core/src/lib/form/form-message/constants.ts","../../../../libs/core/src/lib/form/form-message/form-message.component.ts","../../../../libs/core/src/lib/form/form-message/form-message.component.html","../../../../libs/core/src/lib/form/form-message/form-message.module.ts","../../../../libs/core/src/lib/form/form-input-message-group/form-input-message-group.component.ts","../../../../libs/core/src/lib/form/form-input-message-group/form-input-message-group.component.html","../../../../libs/core/src/lib/form/form-input-message-group/form-input-message-group.module.ts","../../../../libs/core/src/lib/form/form-group/form-group.component.ts","../../../../libs/core/src/lib/form/form-group/form-group.component.html","../../../../libs/core/src/lib/form/form-group/form-group.module.ts","../../../../libs/core/src/lib/form/form.module.ts","../../../../libs/core/src/lib/form/form-message/popover-form-message.service.ts","../../../../libs/core/src/lib/form/fundamental-ngx-core-form.ts"],"sourcesContent":["import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * Used for easily displaying forms with a margin. Not necessary for fundamental forms to be functional.\n *\n * ```html\n * <div fd-fieldset\n * <div fd-form-item>\n * ...\n * </div>\n * </div>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-fieldset]',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./fieldset.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class FieldsetComponent {\n /** @hidden */\n @HostBinding('class.fd-fieldset')\n fdFieldClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FieldsetComponent } from './fieldset.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FieldsetComponent],\n declarations: [FieldsetComponent]\n})\nexport class FieldSetModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormStates } from '@fundamental-ngx/core/shared';\nimport { Subscription } from 'rxjs';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\n\n/**\n * Directive intended for use on form controls.\n *\n * ```html\n * <input type=\"text\" fd-form-control />\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-form-control]',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./form-control.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormControlComponent implements CssClassBuilder, OnInit, OnChanges, OnDestroy {\n /**\n * The state of the form control - applies css classes.\n * Can be `success`, `error`, `warning`, `information` or blank for default.\n */\n @Input()\n state?: FormStates;\n\n /**\n * Whether form is in compact mode\n */\n @Input()\n compact?: boolean;\n\n @Input()\n type: string;\n\n /** user's custom classes */\n @Input()\n class: string;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n this.state ? 'is-' + this.state : '',\n this._getFormClass(),\n this.compact ? this._getFormClass() + '--compact' : '',\n this.class\n ];\n }\n\n private _getFormClass(): string {\n switch (this._getElementTag()) {\n case 'input':\n return 'fd-input';\n case 'textarea':\n return 'fd-textarea';\n }\n }\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, @Optional() private _contentDensityService: ContentDensityService) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this.buildComponentCssClass();\n })\n );\n }\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n private _getElementTag(): string {\n if (this.elementRef() && this.elementRef().nativeElement) {\n return this.elementRef().nativeElement.tagName.toLocaleLowerCase();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormControlComponent } from './form-control.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormControlComponent],\n declarations: [FormControlComponent]\n})\nexport class FormControlModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\n/**\n * Directive to be applied to the parent of a form control.\n *\n * ```html\n * <div fd-form-item>\n * <input fd-form-control type=\"text\" />\n * </div>\n * ```\n */\n@Component({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-form-item]',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./form-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormItemComponent {\n /** Whether the form item is inline. */\n @Input()\n @HostBinding('class.fd-form-item--inline')\n isInline = false;\n\n /** Whether the form item is horizontal. */\n @Input()\n @HostBinding('class.fd-form-item--horizontal')\n horizontal = false;\n\n /** @hidden */\n @HostBinding('class.fd-form-item')\n fdFormItemClass = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormItemComponent } from './form-item.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormItemComponent],\n declarations: [FormItemComponent]\n})\nexport class FormItemModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { InlineHelpFormPlacement } from '../inline-help-placement.type';\n\n/**\n * Label to be linked to a form control.\n *\n * ```html\n * <label fd-form-label for=\"input-id\">Label Text</label>\n * <input fd-form-control type=\"text\" id=\"input-id\" />\n * ```\n */\n@Component({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-form-label]',\n templateUrl: './form-label.component.html',\n styleUrls: ['./form-label.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormLabelComponent implements OnChanges {\n /** Whether form is required */\n @Input()\n required = false;\n\n /** Whether form is required */\n @Input()\n colon = false;\n\n /** @deprecated */\n @Input()\n checkbox = false;\n\n /** @deprecated */\n @Input()\n radio = false;\n\n /** Inline help body text */\n @Input()\n inlineHelpTitle: string = null;\n\n /** Glyph of icon triggering inline help */\n @Input()\n inlineHelpGlyph = 'question-mark';\n\n /** Trigger event names for the inline help */\n @Input()\n inlineHelpTriggers: string[] = ['mouseenter', 'mouseleave', 'focusin', 'focusout'];\n\n /**\n * The placement of the inline help.\n * It can be one of:\n * top, top-start, top-end, bottom, bottom-start, bottom-end,\n * right, right-start, right-end, left, left-start, left-end.\n */\n @Input()\n inlineHelpBodyPlacement: Placement;\n\n /** If inline help trigger icon should be placed after, or before text */\n @Input()\n inlineHelpPlacement: InlineHelpFormPlacement = 'after';\n\n /** @hidden */\n @HostBinding('class.fd-form-label__wrapper')\n defaultClass = true;\n\n /** @hidden */\n @HostBinding('class.fd-form-label__wrapper--inline-help')\n inlineHelpClass = true;\n /** @hidden */\n @HostBinding('class.fd-form-label__wrapper--inline-help--after')\n inlineHelpAfter = true;\n\n /** @hidden */\n ngOnChanges(): void {\n this.inlineHelpClass = !!this.inlineHelpTitle;\n this.inlineHelpAfter = this.inlineHelpTitle && this.inlineHelpPlacement === 'after';\n }\n}\n","<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormLabelComponent } from './form-label.component';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { InlineHelpModule } from '@fundamental-ngx/core/inline-help';\n\n@NgModule({\n imports: [CommonModule, IconModule, InlineHelpModule],\n exports: [FormLabelComponent],\n declarations: [FormLabelComponent]\n})\nexport class FormLabelModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n *\n * ```html\n * <h4 fd-form-header>Form Header</h4>\n * ```\n */\n@Component({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-form-header]',\n template: `<span class=\"fd-form-header__text\"><ng-content></ng-content></span>`,\n styleUrls: ['./form-header.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormHeaderComponent {\n /** @hidden */\n @HostBinding('class.fd-form-header')\n fdFormHeaderClass = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormHeaderComponent } from './form-header.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormHeaderComponent],\n declarations: [FormHeaderComponent]\n})\nexport class FormHeaderModule {}\n","import { Directive, HostBinding } from '@angular/core';\n\n/**\n * Applies css to a legend html element.\n *\n * <legend fd-form-legend>Legend</legend>\n */\n@Directive({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-form-legend]'\n})\nexport class FormLegendDirective {\n /** @hidden */\n @HostBinding('class.fd-fieldset__legend')\n fdFormLegendClass = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormLegendDirective } from './form-legend.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormLegendDirective],\n declarations: [FormLegendDirective]\n})\nexport class FormLegendModule {}\n","import { MessageStates } from './form-message.component';\n\nexport const CSS_CLASS_NAME = {\n message: 'fd-form-message',\n messageStatic: 'fd-form-message--static',\n messageEmbedded: 'fd-form-message--embedded',\n messageSuccess: 'fd-form-message--success',\n messageError: 'fd-form-message--error',\n messageWarning: 'fd-form-message--warning',\n messageInformation: 'fd-form-message--information'\n};\n\nexport function getTypeClassName(size: MessageStates): string {\n switch (size) {\n case 'error':\n return CSS_CLASS_NAME.messageError;\n case 'success':\n return CSS_CLASS_NAME.messageSuccess;\n case 'warning':\n return CSS_CLASS_NAME.messageWarning;\n case 'information':\n return CSS_CLASS_NAME.messageInformation;\n default:\n return null;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CSS_CLASS_NAME, getTypeClassName } from './constants';\n\nexport type MessageStates = 'success' | 'error' | 'warning' | 'information';\n\n/**\n * Form message. Intended to be displayed with a form control for validation purposes.\n */\n@Component({\n selector: 'fd-form-message',\n templateUrl: './form-message.component.html',\n styleUrls: ['./form-message.component.scss'],\n host: {\n 'aria-live': 'assertive',\n 'aria-atomic': 'true'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormMessageComponent implements CssClassBuilder, OnInit, OnChanges {\n /** Type of the message. Can be 'success' | 'error' | 'warning' | 'information' */\n @Input()\n type: MessageStates;\n\n /** Whether message should be in static mode, without popover. It's mostly used for forms component, that contain dropdown */\n @Input()\n static = false;\n\n /**\n * Whether message is used inside popovers or dialogs.\n * When it is enabled box shadow is removed and message is expanded to whole container width\n */\n @Input()\n embedded = false;\n\n /** @hidden User's custom classes */\n @Input()\n class: string;\n\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n CSS_CLASS_NAME.message,\n this.static ? CSS_CLASS_NAME.messageStatic : '',\n this.embedded ? CSS_CLASS_NAME.messageEmbedded : '',\n getTypeClassName(this.type),\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef {\n return this._elementRef;\n }\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormMessageComponent } from './form-message.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormMessageComponent],\n declarations: [FormMessageComponent]\n})\nexport class FormMessageModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { Placement, PopoverFillMode } from '@fundamental-ngx/core/shared';\n\n@Component({\n selector: 'fd-form-input-message-group',\n templateUrl: './form-input-message-group.component.html',\n styleUrls: ['./form-input-message-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormInputMessageGroupComponent {\n /*\n * To allow user to determine what event he wants to trigger the messages to show\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp).\n */\n @Input()\n triggers: string[] = ['focusin', 'focusout'];\n\n /*\n * Allows the user to decide if he wants to keep the error message after they click outside\n * Whether the popover should close when a click is made outside its boundaries.\n */\n @Input()\n closeOnOutsideClick = false;\n\n /**\n * Preset options for the message body width.\n * * `at-least` will apply a minimum width to the body equivalent to the width of the control.\n * * `equal` will apply a width to the body equivalent to the width of the control.\n * * Leave blank for no effect.\n */\n @Input()\n fillControlMode: PopoverFillMode;\n\n /** Whether the popover should have an arrow. */\n @Input()\n noArrow = true;\n\n /** Whether the popover should close when the escape key is pressed. */\n @Input()\n closeOnEscapeKey = false;\n\n /** The placement of the popover. It can be one of: top, top-start, top-end, bottom,\n * bottom-start, bottom-end, right, right-start, right-end, left, left-start, left-end. */\n @Input()\n placement: Placement = 'bottom-start';\n\n /** Whether the message is open. Can be used through two-way binding. */\n @Input()\n isOpen = false;\n\n /** Event emitted when the state of the isOpen property changes. */\n @Output()\n isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /**\n * Function is called every time message changes isOpen attribute\n */\n public openChanged(isOpen: boolean): void {\n this.isOpenChange.emit(isOpen);\n }\n}\n","<fd-popover\n class=\"fd-form-input-message-group\"\n additionalBodyClass=\"fd-popover__popper--input-message-group\"\n [placement]=\"placement\"\n [triggers]=\"triggers\"\n [noArrow]=\"noArrow\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n [isOpen]=\"isOpen\"\n (isOpenChange)=\"openChanged($event)\"\n>\n <fd-popover-control>\n <ng-content></ng-content>\n </fd-popover-control>\n <fd-popover-body>\n <ng-content select=\"fd-form-message\"></ng-content>\n </fd-popover-body>\n</fd-popover>\n","import { CommonModule } from '@angular/common';\nimport { FormInputMessageGroupComponent } from './form-input-message-group.component';\nimport { NgModule } from '@angular/core';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\n\n@NgModule({\n imports: [CommonModule, PopoverModule],\n exports: [FormInputMessageGroupComponent],\n declarations: [FormInputMessageGroupComponent]\n})\nexport class FormInputMessageGroupModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n ViewEncapsulation,\n ElementRef,\n Input,\n OnChanges,\n OnInit\n} from '@angular/core';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\n\n/**\n * Represents a form group element.\n *\n * ```html\n * <fd-form-group>\n * <div fd-form-item>\n * <input fd-form-control type=\"radio\" checked>\n * <fd-form-label>Option One</fd-form-label>\n * </div>\n * </fd-form-group>\n * ```\n */\n@Component({\n selector: 'fd-form-group',\n templateUrl: './form-group.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./form-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormGroupComponent implements CssClassBuilder, OnChanges, OnInit {\n @HostBinding('class.fd-form-group')\n fdFormGroupClass = true;\n\n /** Determines if form items should be displayed inline or not\n * Default value is set to false;\n */\n @Input()\n isInline: boolean;\n\n /** @hidden */\n class: string;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** This method is responsible for building a css class based on current state\n * It is implementation of CssClassBuilder interface and\n * should be used with @applyCssClass decorator\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [this.isInline ? 'fd-form-group--inline' : ''];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormGroupComponent } from './form-group.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [FormGroupComponent],\n declarations: [FormGroupComponent]\n})\nexport class FormGroupModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { FieldSetModule } from './fieldset/fieldset.module';\nimport { FormControlModule } from './form-control/form-control.module';\nimport { FormItemModule } from './form-item/form-item.module';\nimport { FormLabelModule } from './form-label/form-label.module';\nimport { FormHeaderModule } from './form-header/form-header.module';\nimport { FormLegendModule } from './form-legend/form-legend.module';\nimport { FormMessageModule } from './form-message/form-message.module';\nimport { FormInputMessageGroupModule } from './form-input-message-group/form-input-message-group.module';\nimport { FormGroupModule } from './form-group/form-group.module';\n\n@NgModule({\n imports: [CommonModule, PopoverModule],\n exports: [\n FieldSetModule,\n FormControlModule,\n FormItemModule,\n FormLabelModule,\n FormHeaderModule,\n FormLegendModule,\n FormMessageModule,\n FormInputMessageGroupModule,\n FormGroupModule\n ]\n})\nexport class FormModule {}\n","import { ElementRef, Injectable } from '@angular/core';\nimport { MessageStates } from './form-message.component';\nimport { PopoverService } from '@fundamental-ngx/core/popover';\nimport { CSS_CLASS_NAME, getTypeClassName } from './constants';\n\n@Injectable()\nexport class PopoverFormMessageService {\n /** @hidden */\n private _type: MessageStates;\n\n /** @hidden */\n private _message: string;\n\n /** @hidden */\n private _hidden = false;\n\n constructor(private _popoverService: PopoverService) {}\n\n /** @hidden */\n set messageType(type: MessageStates) {\n this._type = type;\n this._updatePopover();\n }\n\n /** @hidden */\n set message(message: string) {\n this._message = message;\n this._updatePopover();\n }\n\n /** @hidden */\n set triggers(triggers: string[]) {\n this._popoverService.triggers = triggers;\n this._popoverService._refreshTriggerListeners();\n }\n\n /** Initialise popover service with trigger element */\n init(triggerElement: ElementRef): void {\n this._popoverService.initialise(triggerElement);\n }\n\n /** Forces hidden state onto popover, without any collision with triggering events */\n hide(): void {\n this._hidden = true;\n this._updatePopover();\n }\n\n /** Removes hidden state onto popover, without any collision with triggering events */\n show(): void {\n this._hidden = false;\n this._updatePopover();\n }\n\n /** @hidden */\n private _getAdditionalClass(): string[] {\n return [\n CSS_CLASS_NAME.message,\n getTypeClassName(this._type),\n this._shouldBeHidden() ? 'fd-popover__body--hidden' : ''\n ];\n }\n\n /** @hidden */\n private _updatePopover(): void {\n this._popoverService.additionalBodyClass = this._getAdditionalClass().join(' ');\n this._popoverService.updateContent(this._message, null);\n }\n\n /** @hidden */\n private _shouldBeHidden(): boolean {\n return this._hidden || !this._message;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA;;;;;;;;;;;MAkBa,iBAAiB;IAP9B;;QAUI,iBAAY,GAAG,IAAI,CAAC;KACvB;;8GAJY,iBAAiB;kGAAjB,iBAAiB,yHAJhB,2BAA2B;2FAI5B,iBAAiB;kBAP7B,SAAS;+BAEI,eAAe,YACf,2BAA2B,iBAEtB,iBAAiB,CAAC,IAAI;8BAKrC,YAAY;sBADX,WAAW;uBAAC,mBAAmB;;;MCbvB,cAAc;;2GAAd,cAAc;4GAAd,cAAc,iBAFR,iBAAiB,aAFtB,YAAY,aACZ,iBAAiB;4GAGlB,cAAc,YAJd,CAAC,YAAY,CAAC;2FAId,cAAc;kBAL1B,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,YAAY,EAAE,CAAC,iBAAiB,CAAC;iBACpC;;;ACSD;;;;;;;MAea,oBAAoB;;IAgD7B,YAAoB,WAAuB,EAAsB,sBAA6C;QAA1F,gBAAW,GAAX,WAAW,CAAY;QAAsB,2BAAsB,GAAtB,sBAAsB,CAAuB;;QA1BtG,mBAAc,GAAG,IAAI,YAAY,EAAE,CAAC;KA0BsE;;;;;IAnBlH,sBAAsB;QAClB,OAAO;YACH,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;YACpC,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,WAAW,GAAG,EAAE;YACtD,IAAI,CAAC,KAAK;SACb,CAAC;KACL;IAEO,aAAa;QACjB,QAAQ,IAAI,CAAC,cAAc,EAAE;YACzB,KAAK,OAAO;gBACR,OAAO,UAAU,CAAC;YACtB,KAAK,UAAU;gBACX,OAAO,aAAa,CAAC;SAC5B;KACJ;;IAMD,QAAQ;QACJ,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC3D,IAAI,CAAC,cAAc,CAAC,GAAG,CACnB,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,SAAS;gBAC9D,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;gBACzB,IAAI,CAAC,sBAAsB,EAAE,CAAC;aACjC,CAAC,CACL,CAAC;SACL;KACJ;;IAGD,WAAW;QACP,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;IAGD,WAAW;QACP,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;KACrC;;IAGD,UAAU;QACN,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;;IAGO,cAAc;QAClB,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;YACtD,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;SACtE;KACJ;;iHAnFQ,oBAAoB;qGAApB,oBAAoB,4JALnB,2BAA2B;AAkCrC;IALC,aAAa;;;;kEAYb;2FApCQ,oBAAoB;kBARhC,SAAS;+BAEI,mBAAmB,YACnB,2BAA2B,iBAEtB,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;;0BAkDD,QAAQ;4CA1CtD,KAAK;sBADJ,KAAK;gBAON,OAAO;sBADN,KAAK;gBAIN,IAAI;sBADH,KAAK;gBAKN,KAAK;sBADJ,KAAK;;;;;;QAWN,sBAAsB;;MCpDb,iBAAiB;;8GAAjB,iBAAiB;+GAAjB,iBAAiB,iBAFX,oBAAoB,aAFzB,YAAY,aACZ,oBAAoB;+GAGrB,iBAAiB,YAJjB,CAAC,YAAY,CAAC;2FAId,iBAAiB;kBAL7B,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,YAAY,EAAE,CAAC,oBAAoB,CAAC;iBACvC;;;ACND;;;;;;;;;MAkBa,iBAAiB;IAT9B;;QAaI,aAAQ,GAAG,KAAK,CAAC;;QAKjB,eAAU,GAAG,KAAK,CAAC;;QAInB,oBAAe,GAAG,IAAI,CAAC;KAC1B;;8GAdY,iBAAiB;kGAAjB,iBAAiB,8RALhB,2BAA2B;2FAK5B,iBAAiB;kBAT7B,SAAS;+BAGI,gBAAgB,YAChB,2BAA2B,iBAEtB,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;8BAM/C,QAAQ;sBAFP,KAAK;;sBACL,WAAW;uBAAC,4BAA4B;gBAMzC,UAAU;sBAFT,KAAK;;sBACL,WAAW;uBAAC,gCAAgC;gBAK7C,eAAe;sBADd,WAAW;uBAAC,oBAAoB;;;MCvBxB,cAAc;;2GAAd,cAAc;4GAAd,cAAc,iBAFR,iBAAiB,aAFtB,YAAY,aACZ,iBAAiB;4GAGlB,cAAc,YAJd,CAAC,YAAY,CAAC;2FAId,cAAc;kBAL1B,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,YAAY,EAAE,CAAC,iBAAiB,CAAC;iBACpC;;;ACJD;;;;;;;;MAiBa,kBAAkB;IAT/B;;QAYI,aAAQ,GAAG,KAAK,CAAC;;QAIjB,UAAK,GAAG,KAAK,CAAC;;QAId,aAAQ,GAAG,KAAK,CAAC;;QAIjB,UAAK,GAAG,KAAK,CAAC;;QAId,oBAAe,GAAW,IAAI,CAAC;;QAI/B,oBAAe,GAAG,eAAe,CAAC;;QAIlC,uBAAkB,GAAa,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;;QAanF,wBAAmB,GAA4B,OAAO,CAAC;;QAIvD,iBAAY,GAAG,IAAI,CAAC;;QAIpB,oBAAe,GAAG,IAAI,CAAC;;QAGvB,oBAAe,GAAG,IAAI,CAAC;KAO1B;;IAJG,WAAW;QACP,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,mBAAmB,KAAK,OAAO,CAAC;KACvF;;+GAzDQ,kBAAkB;mGAAlB,kBAAkB,slBCrB/B,09BA0BA;2FDLa,kBAAkB;kBAT9B,SAAS;+BAGI,iBAAiB,iBAGZ,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;8BAK/C,QAAQ;sBADP,KAAK;gBAKN,KAAK;sBADJ,KAAK;gBAKN,QAAQ;sBADP,KAAK;gBAKN,KAAK;sBADJ,KAAK;gBAKN,eAAe;sBADd,KAAK;gBAKN,eAAe;sBADd,KAAK;gBAKN,kBAAkB;sBADjB,KAAK;gBAUN,uBAAuB;sBADtB,KAAK;gBAKN,mBAAmB;sBADlB,KAAK;gBAKN,YAAY;sBADX,WAAW;uBAAC,8BAA8B;gBAK3C,eAAe;sBADd,WAAW;uBAAC,2CAA2C;gBAIxD,eAAe;sBADd,WAAW;uBAAC,kDAAkD;;;ME5DtD,eAAe;;4GAAf,eAAe;6GAAf,eAAe,iBAFT,kBAAkB,aAFvB,YAAY,EAAE,UAAU,EAAE,gBAAgB,aAC1C,kBAAkB;6GAGnB,eAAe,YAJf,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,CAAC;2FAI5C,eAAe;kBAL3B,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,CAAC;oBACrD,OAAO,EAAE,CAAC,kBAAkB,CAAC;oBAC7B,YAAY,EAAE,CAAC,kBAAkB,CAAC;iBACrC;;;ACRD;;;;;;MAea,mBAAmB;IAThC;;QAYI,sBAAiB,GAAG,IAAI,CAAC;KAC5B;;gHAJY,mBAAmB;oGAAnB,mBAAmB,oIALlB,qEAAqE;2FAKtE,mBAAmB;kBAT/B,SAAS;+BAGI,kBAAkB,YAClB,qEAAqE,iBAEhE,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;8BAK/C,iBAAiB;sBADhB,WAAW;uBAAC,sBAAsB;;;MCV1B,gBAAgB;;6GAAhB,gBAAgB;8GAAhB,gBAAgB,iBAFV,mBAAmB,aAFxB,YAAY,aACZ,mBAAmB;8GAGpB,gBAAgB,YAJhB,CAAC,YAAY,CAAC;2FAId,gBAAgB;kBAL5B,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,mBAAmB,CAAC;oBAC9B,YAAY,EAAE,CAAC,mBAAmB,CAAC;iBACtC;;;ACND;;;;;MAUa,mBAAmB;IALhC;;QAQI,sBAAiB,GAAG,IAAI,CAAC;KAC5B;;gHAJY,mBAAmB;oGAAnB,mBAAmB;2FAAnB,mBAAmB;kBAL/B,SAAS;mBAAC;;;oBAGP,QAAQ,EAAE,kBAAkB;iBAC/B;8BAIG,iBAAiB;sBADhB,WAAW;uBAAC,2BAA2B;;;MCL/B,gBAAgB;;6GAAhB,gBAAgB;8GAAhB,gBAAgB,iBAFV,mBAAmB,aAFxB,YAAY,aACZ,mBAAmB;8GAGpB,gBAAgB,YAJhB,CAAC,YAAY,CAAC;2FAId,gBAAgB;kBAL5B,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,mBAAmB,CAAC;oBAC9B,YAAY,EAAE,CAAC,mBAAmB,CAAC;iBACtC;;;ACNM,MAAM,cAAc,GAAG;IAC1B,OAAO,EAAE,iBAAiB;IAC1B,aAAa,EAAE,yBAAyB;IACxC,eAAe,EAAE,2BAA2B;IAC5C,cAAc,EAAE,0BAA0B;IAC1C,YAAY,EAAE,wBAAwB;IACtC,cAAc,EAAE,0BAA0B;IAC1C,kBAAkB,EAAE,8BAA8B;CACrD,CAAC;SAEc,gBAAgB,CAAC,IAAmB;IAChD,QAAQ,IAAI;QACR,KAAK,OAAO;YACR,OAAO,cAAc,CAAC,YAAY,CAAC;QACvC,KAAK,SAAS;YACV,OAAO,cAAc,CAAC,cAAc,CAAC;QACzC,KAAK,SAAS;YACV,OAAO,cAAc,CAAC,cAAc,CAAC;QACzC,KAAK,aAAa;YACd,OAAO,cAAc,CAAC,kBAAkB,CAAC;QAC7C;YACI,OAAO,IAAI,CAAC;KACnB;AACL;;ACVA;;;MAca,oBAAoB;IAoB7B,YAAoB,WAAuB;QAAvB,gBAAW,GAAX,WAAW,CAAY;;QAb3C,WAAM,GAAG,KAAK,CAAC;;;;;QAOf,aAAQ,GAAG,KAAK,CAAC;KAM8B;;IAG/C,WAAW;QACP,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;IAGD,QAAQ;QACJ,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;IAID,sBAAsB;QAClB,OAAO;YACH,cAAc,CAAC,OAAO;YACtB,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,aAAa,GAAG,EAAE;YAC/C,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,eAAe,GAAG,EAAE;YACnD,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,KAAK;SACb,CAAC;KACL;;IAGD,UAAU;QACN,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;;iHA/CQ,oBAAoB;qGAApB,oBAAoB,yOC7BjC,6BACA;AD8DI;IADC,aAAa;;;;kEASb;2FA1CQ,oBAAoB;kBAXhC,SAAS;+BACI,iBAAiB,QAGrB;wBACF,WAAW,EAAE,WAAW;wBACxB,aAAa,EAAE,MAAM;qBACxB,iBACc,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;iGAK/C,IAAI;sBADH,KAAK;gBAKN,MAAM;sBADL,KAAK;gBAQN,QAAQ;sBADP,KAAK;gBAKN,KAAK;sBADJ,KAAK;gBAiBN,sBAAsB;;MEtDb,iBAAiB;;8GAAjB,iBAAiB;+GAAjB,iBAAiB,iBAFX,oBAAoB,aAFzB,YAAY,aACZ,oBAAoB;+GAGrB,iBAAiB,YAJjB,CAAC,YAAY,CAAC;2FAId,iBAAiB;kBAL7B,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,YAAY,EAAE,CAAC,oBAAoB,CAAC;iBACvC;;;MCEY,8BAA8B;IAP3C;;;;;QAaI,aAAQ,GAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;;;;;QAO7C,wBAAmB,GAAG,KAAK,CAAC;;QAa5B,YAAO,GAAG,IAAI,CAAC;;QAIf,qBAAgB,GAAG,KAAK,CAAC;;;QAKzB,cAAS,GAAc,cAAc,CAAC;;QAItC,WAAM,GAAG,KAAK,CAAC;;QAIf,iBAAY,GAA0B,IAAI,YAAY,EAAW,CAAC;KAQrE;;;;IAHU,WAAW,CAAC,MAAe;QAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAClC;;2HAlDQ,8BAA8B;+GAA9B,8BAA8B,oUCV3C,6nBAmBA;2FDTa,8BAA8B;kBAP1C,SAAS;+BACI,6BAA6B,iBAGxB,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;8BAQ/C,QAAQ;sBADP,KAAK;gBAQN,mBAAmB;sBADlB,KAAK;gBAUN,eAAe;sBADd,KAAK;gBAKN,OAAO;sBADN,KAAK;gBAKN,gBAAgB;sBADf,KAAK;gBAMN,SAAS;sBADR,KAAK;gBAKN,MAAM;sBADL,KAAK;gBAKN,YAAY;sBADX,MAAM;;;ME1CE,2BAA2B;;wHAA3B,2BAA2B;yHAA3B,2BAA2B,iBAFrB,8BAA8B,aAFnC,YAAY,EAAE,aAAa,aAC3B,8BAA8B;yHAG/B,2BAA2B,YAJ3B,CAAC,YAAY,EAAE,aAAa,CAAC;2FAI7B,2BAA2B;kBALvC,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;oBACtC,OAAO,EAAE,CAAC,8BAA8B,CAAC;oBACzC,YAAY,EAAE,CAAC,8BAA8B,CAAC;iBACjD;;;ACID;;;;;;;;;;;;MAmBa,kBAAkB;;IAc3B,YAAoB,WAAuB;QAAvB,gBAAW,GAAX,WAAW,CAAY;QAZ3C,qBAAgB,GAAG,IAAI,CAAC;KAYuB;;IAG/C,WAAW;QACP,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;IAGD,QAAQ;QACJ,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;;;;IAOD,sBAAsB;QAClB,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,uBAAuB,GAAG,EAAE,CAAC,CAAC;KACzD;;IAGD,UAAU;QACN,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;;+GAtCQ,kBAAkB;mGAAlB,kBAAkB,sLChC/B,6BACA;AD8DI;IADC,aAAa;;;;gEAGb;2FAjCQ,kBAAkB;kBAP9B,SAAS;+BACI,eAAe,iBAEV,iBAAiB,CAAC,IAAI,mBAEpB,uBAAuB,CAAC,MAAM;iGAI/C,gBAAgB;sBADf,WAAW;uBAAC,qBAAqB;gBAOlC,QAAQ;sBADP,KAAK;gBAwBN,sBAAsB;;MEtDb,eAAe;;4GAAf,eAAe;6GAAf,eAAe,iBAFT,kBAAkB,aAFvB,YAAY,aACZ,kBAAkB;6GAGnB,eAAe,YAJf,CAAC,YAAY,CAAC;2FAId,eAAe;kBAL3B,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,kBAAkB,CAAC;oBAC7B,YAAY,EAAE,CAAC,kBAAkB,CAAC;iBACrC;;;MCoBY,UAAU;;uGAAV,UAAU;wGAAV,UAAU,YAbT,YAAY,EAAE,aAAa,aAEjC,cAAc;QACd,iBAAiB;QACjB,cAAc;QACd,eAAe;QACf,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,2BAA2B;QAC3B,eAAe;wGAGV,UAAU,YAbV,CAAC,YAAY,EAAE,aAAa,CAAC,EAElC,cAAc;QACd,iBAAiB;QACjB,cAAc;QACd,eAAe;QACf,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,2BAA2B;QAC3B,eAAe;2FAGV,UAAU;kBAdtB,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;oBACtC,OAAO,EAAE;wBACL,cAAc;wBACd,iBAAiB;wBACjB,cAAc;wBACd,eAAe;wBACf,gBAAgB;wBAChB,gBAAgB;wBAChB,iBAAiB;wBACjB,2BAA2B;wBAC3B,eAAe;qBAClB;iBACJ;;;MCrBY,yBAAyB;IAUlC,YAAoB,eAA+B;QAA/B,oBAAe,GAAf,eAAe,CAAgB;;QAF3C,YAAO,GAAG,KAAK,CAAC;KAE+B;;IAGvD,IAAI,WAAW,CAAC,IAAmB;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;;IAGD,IAAI,OAAO,CAAC,OAAe;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;;IAGD,IAAI,QAAQ,CAAC,QAAkB;QAC3B,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,wBAAwB,EAAE,CAAC;KACnD;;IAGD,IAAI,CAAC,cAA0B;QAC3B,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;KACnD;;IAGD,IAAI;QACA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;;IAGD,IAAI;QACA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;;IAGO,mBAAmB;QACvB,OAAO;YACH,cAAc,CAAC,OAAO;YACtB,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;YAC5B,IAAI,CAAC,eAAe,EAAE,GAAG,0BAA0B,GAAG,EAAE;SAC3D,CAAC;KACL;;IAGO,cAAc;QAClB,IAAI,CAAC,eAAe,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChF,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;KAC3D;;IAGO,eAAe;QACnB,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;KACzC;;sHAjEQ,yBAAyB;0HAAzB,yBAAyB;2FAAzB,yBAAyB;kBADrC,UAAU;;;ACLX;;;;;;"}
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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"}
@@ -414,7 +414,7 @@ class PaginationComponent {
414
414
  }
415
415
  }
416
416
  PaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: PaginationComponent, deps: [{ token: PaginationService }, { token: i0.ChangeDetectorRef }, { token: i2.LiveAnnouncer }, { token: i3.RtlService, optional: true }, { token: i3.ContentDensityService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
417
- PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: PaginationComponent, selector: "fd-pagination", inputs: { id: "id", compact: "compact", mobile: "mobile", totalItems: "totalItems", currentPage: "currentPage", itemsPerPage: "itemsPerPage", itemsPerPageTemplate: "itemsPerPageTemplate", itemsPerPageLabel: "itemsPerPageLabel", itemsPerPageOptions: "itemsPerPageOptions", displayTotalItems: "displayTotalItems", displayTextTemplate: "displayTextTemplate", firstLabel: "firstLabel", previousLabel: "previousLabel", nextLabel: "nextLabel", lastLabel: "lastLabel", ariaLabel: "ariaLabel", pageLabel: "pageLabel", currentPageAriaLabel: "currentPageAriaLabel", labelBeforeInputMobile: "labelBeforeInputMobile", labelAfterInputMobile: "labelAfterInputMobile", inputAriaLabel: "inputAriaLabel" }, outputs: { pageChangeStart: "pageChangeStart", itemsPerPageChange: "itemsPerPageChange" }, host: { properties: { "class.fd-pagination--mobile": "mobile", "class.fd-pagination--short": "_lastPage <= 9" }, classAttribute: "fd-pagination" }, providers: [PaginationService], viewQueries: [{ propertyName: "_focusKeyManagerList", first: true, predicate: FocusKeyManagerListDirective, descendants: true }, { propertyName: "_pageInputElement", first: true, predicate: ["pageInputElement"], descendants: true, read: ElementRef }, { propertyName: "_currentPageElement", first: true, predicate: ["currentPageElement"], descendants: true, read: ElementRef }, { propertyName: "_focusKeyManagerItems", predicate: FocusKeyManagerItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"totalItems\">\n <div class=\"fd-pagination__per-page\" *ngIf=\"itemsPerPageTemplate || itemsPerPageOptions?.length\">\n <!-- note, that we're checking for the length of \"itemsPerPageOptions\", but using \"_displayedPageSizeOptions\" as \"pageOptions\" -->\n <!-- these 2 can be different, as \"_displayedPageSizeOptions\" may also include \"itemsPerPage\" if it's not included in options -->\n <ng-container\n [ngTemplateOutlet]=\"itemsPerPageTemplate || perPage\"\n [ngTemplateOutletContext]=\"{ onSelect: _onChangePerPage, pageOptions: _displayedPageSizeOptions }\"\n ></ng-container>\n </div>\n\n <nav\n fd-focus-key-manager-list\n orientation=\"horizontal\"\n [skipPredicate]=\"skipItemPredicate\"\n class=\"fd-pagination__nav\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"displayTotalItems ? _totalPagesElementId : null\"\n *ngIf=\"totalItems >= itemsPerPage\"\n >\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"media-rewind\"\n [disabled]=\"isFirstPage\"\n [compact]=\"compact\"\n [ariaLabel]=\"firstLabel\"\n [title]=\"firstLabel\"\n class=\"fd-pagination__button fd-pagination__button--mobile\"\n [attr.aria-disabled]=\"isFirstPage\"\n (click)=\"goToFirstPage()\"\n (keyup.enter)=\"goToFirstPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToFirstPage($event)\"\n ></button>\n\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n [disabled]=\"isFirstPage\"\n [compact]=\"compact\"\n [ariaLabel]=\"previousLabel\"\n [title]=\"previousLabel\"\n class=\"fd-pagination__button\"\n [attr.aria-disabled]=\"isFirstPage\"\n (click)=\"previousPage()\"\n (keyup.enter)=\"previousPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"previousPage($event)\"\n ></button>\n\n <!-- Duplicated to preserve the items order for keyboard navigation -->\n <ng-container *ngFor=\"let page of _pagesBeforeCurrent\">\n <button\n *ngIf=\"page !== _moreElementValue; else more\"\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n [compact]=\"compact\"\n [ariaLabel]=\"pageLabel(page)\"\n [title]=\"nextLabel\"\n class=\"fd-pagination__link\"\n (click)=\"goToPage(page)\"\n (keyup.enter)=\"goToPage(page, $event)\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToPage(page, $event)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <button\n #currentPageElement\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n [compact]=\"compact\"\n [ariaLabel]=\"pageLabel(currentPage)\"\n class=\"fd-pagination__link is-active\"\n [attr.aria-current]=\"true\"\n >\n {{ currentPage }}\n </button>\n\n <label fd-form-label class=\"fd-pagination__label\"> {{ labelBeforeInputMobile }}: </label>\n\n <input\n #pageInputElement\n fd-focus-key-manager-item\n fd-form-control\n fd-only-digits\n required\n size=\"1\"\n min=\"1\"\n type=\"number\"\n [max]=\"_lastPage\"\n [state]=\"currentPageModel.invalid ? 'error' : null\"\n [compact]=\"compact\"\n class=\"fd-pagination__input\"\n #currentPageModel=\"ngModel\"\n [ngModel]=\"currentPage\"\n [attr.aria-label]=\"inputAriaLabel(currentPage, _lastPage)\"\n (keydown.enter)=\"goToPage(currentPageModel.value)\"\n (keydown.space)=\"goToPage(currentPageModel.value)\"\n (blur)=\"_restoreInputValue(currentPageModel)\"\n />\n\n <label fd-form-label class=\"fd-pagination__label\">\n {{ labelAfterInputMobile(_lastPage) }}\n </label>\n\n <!-- Duplicated to preserve the items order for keyboard navigation -->\n <ng-container *ngFor=\"let page of _pagesAfterCurrent\">\n <button\n *ngIf=\"page !== _moreElementValue; else more\"\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n [compact]=\"compact\"\n [ariaLabel]=\"pageLabel(page)\"\n [title]=\"nextLabel\"\n class=\"fd-pagination__link\"\n (click)=\"goToPage(page)\"\n (keyup.enter)=\"goToPage(page, $event)\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToPage(page, $event)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-right-arrow\"\n [disabled]=\"isLastPage\"\n [compact]=\"compact\"\n [ariaLabel]=\"nextLabel\"\n [title]=\"nextLabel\"\n class=\"fd-pagination__button\"\n [attr.aria-disabled]=\"isLastPage\"\n (click)=\"nextPage()\"\n (keyup.enter)=\"nextPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"nextPage()\"\n ></button>\n\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"media-forward\"\n [disabled]=\"isLastPage\"\n [compact]=\"compact\"\n [ariaLabel]=\"lastLabel\"\n [title]=\"lastLabel\"\n class=\"fd-pagination__button fd-pagination__button--mobile\"\n [attr.aria-disabled]=\"isLastPage\"\n (click)=\"goToLastPage()\"\n (keyup.enter)=\"goToLastPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToLastPage()\"\n ></button>\n </nav>\n\n <span *ngIf=\"displayTotalItems\" class=\"fd-pagination__total\" [attr.id]=\"_totalPagesElementId\">\n <ng-container\n [ngTemplateOutlet]=\"displayTextTemplate || total\"\n [ngTemplateOutletContext]=\"{ showing: _currentShowing }\"\n ></ng-container>\n </span>\n</ng-container>\n\n<ng-template #more>\n <span\n class=\"fd-pagination__more\"\n [class.fd-pagination__more--compact]=\"compact\"\n aria-hidden=\"true\"\n aria-label=\"...\"\n role=\"presentation\"\n ></span>\n</ng-template>\n\n<ng-template #total let-showing=\"showing\">\n <span fd-form-label class=\"fd-pagination__total-label\"> {{ showing.of }} Results </span>\n</ng-template>\n\n<ng-template #perPage let-pageOptions=\"pageOptions\">\n <label fd-form-label class=\"fd-pagination__per-page-label\">{{ itemsPerPageLabel }}:</label>\n\n <fd-select\n [compact]=\"compact\"\n class=\"fd-pagination__per-page-select\"\n [value]=\"itemsPerPage\"\n (valueChange)=\"_onChangePerPage($event)\"\n >\n <fd-option *ngFor=\"let option of pageOptions\" [value]=\"option\">{{ option }}</fd-option>\n </fd-select>\n</ng-template>\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-pagination\n*/.fd-pagination{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;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;height:2.75rem;width:100%}.fd-pagination:after,.fd-pagination:before{box-sizing:inherit;font-size:inherit}.fd-pagination__per-page{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;display:flex;justify-content:center;align-items:center}.fd-pagination__per-page:after,.fd-pagination__per-page:before{box-sizing:inherit;font-size:inherit}.fd-pagination__nav{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;border:0;display:flex;justify-content:center;align-items:center;margin:0 auto}.fd-pagination__nav:after,.fd-pagination__nav:before{box-sizing:inherit;font-size:inherit}.fd-pagination__more{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-pagination__more:after,.fd-pagination__more:before{box-sizing:inherit;font-size:inherit}.fd-pagination__more:before{content:\"...\";display:block;width:2.25rem;text-align:center}.fd-pagination__more--compact:before{width:2rem}.fd-pagination .fd-pagination__button,.fd-pagination .fd-pagination__input,.fd-pagination .fd-pagination__label,.fd-pagination .fd-pagination__link,.fd-pagination__more{margin-left:.125rem;margin-right:.125rem}.fd-pagination .fd-pagination__input{width:auto;min-width:2.5rem;text-align:center;-moz-appearance:textfield}.fd-pagination .fd-pagination__input::-webkit-inner-spin-button,.fd-pagination .fd-pagination__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fd-pagination .fd-pagination__label,.fd-pagination .fd-pagination__per-page-label{flex-shrink:0;align-self:center}.fd-pagination .fd-pagination__label{display:none}.fd-pagination .fd-pagination__total-label{margin:0}.fd-pagination .fd-pagination__link.is-active{display:none}.fd-pagination .fd-pagination__button [class*=sap-icon][dir=rtl],[dir=rtl] .fd-pagination .fd-pagination__button [class*=sap-icon]{transform:rotate(180deg)}.fd-pagination .fd-pagination__button--mobile{display:none}.fd-pagination--short .fd-pagination__link.is-active,.fd-pagination--short .fd-pagination__link:active{display:flex}.fd-pagination--short .fd-pagination__input{display:none}.fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav{margin-left:auto;margin-right:0}.fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav[dir=rtl],[dir=rtl] .fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav{margin-right:auto;margin-left:0}.fd-pagination--mobile .fd-pagination__link,.fd-pagination--mobile .fd-pagination__more,.fd-pagination--mobile .fd-pagination__per-page-label,.fd-pagination--mobile .fd-pagination__total{display:none}.fd-pagination--mobile .fd-pagination__button--mobile,.fd-pagination--mobile .fd-pagination__input,.fd-pagination--mobile .fd-pagination__label{display:flex}.fd-pagination--mobile .fd-pagination__link.is-active,.fd-pagination--mobile .fd-pagination__link:active{display:none}@media (max-width: 599px){.fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:auto;margin-right:0}.fd-pagination .fd-pagination__per-page+.fd-pagination__nav[dir=rtl],[dir=rtl] .fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-right:auto;margin-left:0}.fd-pagination .fd-pagination__link,.fd-pagination .fd-pagination__more,.fd-pagination .fd-pagination__per-page-label,.fd-pagination .fd-pagination__total{display:none}.fd-pagination .fd-pagination__button--mobile,.fd-pagination .fd-pagination__input,.fd-pagination .fd-pagination__label{display:flex}.fd-pagination .fd-pagination__link.is-active,.fd-pagination .fd-pagination__link:active{display:none}}@media (min-width: 600px) and (max-width: 1023px){.fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:auto;margin-right:0}.fd-pagination .fd-pagination__per-page+.fd-pagination__nav[dir=rtl],[dir=rtl] .fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-right:auto;margin-left:0}.fd-pagination .fd-pagination__link,.fd-pagination .fd-pagination__more,.fd-pagination .fd-pagination__per-page-label,.fd-pagination .fd-pagination__total{display:none}.fd-pagination .fd-pagination__button--mobile,.fd-pagination .fd-pagination__input,.fd-pagination .fd-pagination__label{display:flex}.fd-pagination .fd-pagination__link.is-active,.fd-pagination .fd-pagination__link:active{display:none}}.fd-pagination__label .fd-form-label,.fd-pagination__total-label .fd-form-label{margin:0}\n"], components: [{ type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { type: i5.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement"] }, { type: i5.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "compact", "type", "class"] }, { type: i6.SelectComponent, selector: "fd-select", inputs: ["controlId", "state", "mobile", "stateMessage", "disabled", "required", "readonly", "placeholder", "value", "compact", "extendedBodyTemplate", "maxHeight", "glyph", "closeOnOutsideClick", "fillControlMode", "controlTemplate", "appendTo", "unselectMissingOption", "typeaheadDebounceInterval", "ariaLabelledBy", "ariaLabel", "mobileConfig", "inline"], outputs: ["isOpenChange", "valueChange"] }, { type: i6.OptionComponent, selector: "fd-option", inputs: ["id", "value", "disabled"], outputs: ["selectionChange"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.FocusKeyManagerListDirective, selector: "[fd-focus-key-manager-list], [fdFocusKeyManagerList]", inputs: ["orientation", "skipPredicate"] }, { type: i3.FocusKeyManagerItemDirective, selector: "[fd-focus-key-manager-item], [fdFocusKeyManagerItem]", inputs: ["initialFocus", "_tabindex"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i8.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { type: i8.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i8.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.OnlyDigitsDirective, selector: "[fdOnlyDigits], [fd-only-digits]", inputs: ["decimal", "decimalSeparator"] }, { type: i8.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None, preserveWhitespaces: true });
417
+ PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: PaginationComponent, selector: "fd-pagination", inputs: { id: "id", compact: "compact", mobile: "mobile", totalItems: "totalItems", currentPage: "currentPage", itemsPerPage: "itemsPerPage", itemsPerPageTemplate: "itemsPerPageTemplate", itemsPerPageLabel: "itemsPerPageLabel", itemsPerPageOptions: "itemsPerPageOptions", displayTotalItems: "displayTotalItems", displayTextTemplate: "displayTextTemplate", firstLabel: "firstLabel", previousLabel: "previousLabel", nextLabel: "nextLabel", lastLabel: "lastLabel", ariaLabel: "ariaLabel", pageLabel: "pageLabel", currentPageAriaLabel: "currentPageAriaLabel", labelBeforeInputMobile: "labelBeforeInputMobile", labelAfterInputMobile: "labelAfterInputMobile", inputAriaLabel: "inputAriaLabel" }, outputs: { pageChangeStart: "pageChangeStart", itemsPerPageChange: "itemsPerPageChange" }, host: { properties: { "class.fd-pagination--mobile": "mobile", "class.fd-pagination--short": "_lastPage <= 9" }, classAttribute: "fd-pagination" }, providers: [PaginationService], viewQueries: [{ propertyName: "_focusKeyManagerList", first: true, predicate: FocusKeyManagerListDirective, descendants: true }, { propertyName: "_pageInputElement", first: true, predicate: ["pageInputElement"], descendants: true, read: ElementRef }, { propertyName: "_currentPageElement", first: true, predicate: ["currentPageElement"], descendants: true, read: ElementRef }, { propertyName: "_focusKeyManagerItems", predicate: FocusKeyManagerItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"totalItems\">\n <div class=\"fd-pagination__per-page\" *ngIf=\"itemsPerPageTemplate || itemsPerPageOptions?.length\">\n <!-- note, that we're checking for the length of \"itemsPerPageOptions\", but using \"_displayedPageSizeOptions\" as \"pageOptions\" -->\n <!-- these 2 can be different, as \"_displayedPageSizeOptions\" may also include \"itemsPerPage\" if it's not included in options -->\n <ng-container\n [ngTemplateOutlet]=\"itemsPerPageTemplate || perPage\"\n [ngTemplateOutletContext]=\"{ onSelect: _onChangePerPage, pageOptions: _displayedPageSizeOptions }\"\n ></ng-container>\n </div>\n\n <nav\n fd-focus-key-manager-list\n orientation=\"horizontal\"\n [skipPredicate]=\"skipItemPredicate\"\n class=\"fd-pagination__nav\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"displayTotalItems ? _totalPagesElementId : null\"\n *ngIf=\"totalItems >= itemsPerPage\"\n >\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"media-rewind\"\n [disabled]=\"isFirstPage\"\n [compact]=\"compact\"\n [ariaLabel]=\"firstLabel\"\n [title]=\"firstLabel\"\n class=\"fd-pagination__button fd-pagination__button--mobile\"\n [attr.aria-disabled]=\"isFirstPage\"\n (click)=\"goToFirstPage()\"\n (keyup.enter)=\"goToFirstPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToFirstPage($event)\"\n ></button>\n\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n [disabled]=\"isFirstPage\"\n [compact]=\"compact\"\n [ariaLabel]=\"previousLabel\"\n [title]=\"previousLabel\"\n class=\"fd-pagination__button\"\n [attr.aria-disabled]=\"isFirstPage\"\n (click)=\"previousPage()\"\n (keyup.enter)=\"previousPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"previousPage($event)\"\n ></button>\n\n <!-- Duplicated to preserve the items order for keyboard navigation -->\n <ng-container *ngFor=\"let page of _pagesBeforeCurrent\">\n <button\n *ngIf=\"page !== _moreElementValue; else more\"\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n [compact]=\"compact\"\n [ariaLabel]=\"pageLabel(page)\"\n [title]=\"nextLabel\"\n class=\"fd-pagination__link\"\n (click)=\"goToPage(page)\"\n (keyup.enter)=\"goToPage(page, $event)\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToPage(page, $event)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <button\n #currentPageElement\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n [compact]=\"compact\"\n [ariaLabel]=\"pageLabel(currentPage)\"\n class=\"fd-pagination__link is-active\"\n [attr.aria-current]=\"true\"\n >\n {{ currentPage }}\n </button>\n\n <label fd-form-label class=\"fd-pagination__label\"> {{ labelBeforeInputMobile }}: </label>\n\n <input\n #pageInputElement\n fd-focus-key-manager-item\n fd-form-control\n fd-only-digits\n required\n size=\"1\"\n min=\"1\"\n type=\"number\"\n [max]=\"_lastPage\"\n [state]=\"currentPageModel.invalid ? 'error' : null\"\n [compact]=\"compact\"\n class=\"fd-pagination__input\"\n #currentPageModel=\"ngModel\"\n [ngModel]=\"currentPage\"\n [attr.aria-label]=\"inputAriaLabel(currentPage, _lastPage)\"\n (keydown.enter)=\"goToPage(currentPageModel.value)\"\n (keydown.space)=\"goToPage(currentPageModel.value)\"\n (blur)=\"_restoreInputValue(currentPageModel)\"\n />\n\n <label fd-form-label class=\"fd-pagination__label\">\n {{ labelAfterInputMobile(_lastPage) }}\n </label>\n\n <!-- Duplicated to preserve the items order for keyboard navigation -->\n <ng-container *ngFor=\"let page of _pagesAfterCurrent\">\n <button\n *ngIf=\"page !== _moreElementValue; else more\"\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n [compact]=\"compact\"\n [ariaLabel]=\"pageLabel(page)\"\n [title]=\"nextLabel\"\n class=\"fd-pagination__link\"\n (click)=\"goToPage(page)\"\n (keyup.enter)=\"goToPage(page, $event)\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToPage(page, $event)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-right-arrow\"\n [disabled]=\"isLastPage\"\n [compact]=\"compact\"\n [ariaLabel]=\"nextLabel\"\n [title]=\"nextLabel\"\n class=\"fd-pagination__button\"\n [attr.aria-disabled]=\"isLastPage\"\n (click)=\"nextPage()\"\n (keyup.enter)=\"nextPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"nextPage()\"\n ></button>\n\n <button\n fd-focus-key-manager-item\n fd-button\n fdType=\"transparent\"\n glyph=\"media-forward\"\n [disabled]=\"isLastPage\"\n [compact]=\"compact\"\n [ariaLabel]=\"lastLabel\"\n [title]=\"lastLabel\"\n class=\"fd-pagination__button fd-pagination__button--mobile\"\n [attr.aria-disabled]=\"isLastPage\"\n (click)=\"goToLastPage()\"\n (keyup.enter)=\"goToLastPage()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"goToLastPage()\"\n ></button>\n </nav>\n\n <span *ngIf=\"displayTotalItems\" class=\"fd-pagination__total\" [attr.id]=\"_totalPagesElementId\">\n <ng-container\n [ngTemplateOutlet]=\"displayTextTemplate || total\"\n [ngTemplateOutletContext]=\"{ showing: _currentShowing }\"\n ></ng-container>\n </span>\n</ng-container>\n\n<ng-template #more>\n <span\n class=\"fd-pagination__more\"\n [class.fd-pagination__more--compact]=\"compact\"\n aria-hidden=\"true\"\n aria-label=\"...\"\n role=\"presentation\"\n ></span>\n</ng-template>\n\n<ng-template #total let-showing=\"showing\">\n <span fd-form-label class=\"fd-pagination__total-label\"> {{ showing.of }} Results </span>\n</ng-template>\n\n<ng-template #perPage let-pageOptions=\"pageOptions\">\n <label fd-form-label class=\"fd-pagination__per-page-label\">{{ itemsPerPageLabel }}:</label>\n\n <fd-select\n [compact]=\"compact\"\n class=\"fd-pagination__per-page-select\"\n [value]=\"itemsPerPage\"\n (valueChange)=\"_onChangePerPage($event)\"\n >\n <fd-option *ngFor=\"let option of pageOptions\" [value]=\"option\">{{ option }}</fd-option>\n </fd-select>\n</ng-template>\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-pagination\n*/.fd-pagination{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;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;height:2.75rem;width:100%}.fd-pagination:after,.fd-pagination:before{box-sizing:inherit;font-size:inherit}.fd-pagination__per-page{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;display:flex;justify-content:center;align-items:center}.fd-pagination__per-page:after,.fd-pagination__per-page:before{box-sizing:inherit;font-size:inherit}.fd-pagination__nav{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;border:0;display:flex;justify-content:center;align-items:center;margin:0 auto}.fd-pagination__nav:after,.fd-pagination__nav:before{box-sizing:inherit;font-size:inherit}.fd-pagination__more{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-pagination__more:after,.fd-pagination__more:before{box-sizing:inherit;font-size:inherit}.fd-pagination__more:before{content:\"...\";display:block;width:2.25rem;text-align:center}.fd-pagination__more--compact:before{width:2rem}.fd-pagination .fd-pagination__button,.fd-pagination .fd-pagination__input,.fd-pagination .fd-pagination__label,.fd-pagination .fd-pagination__link,.fd-pagination__more{margin-left:.125rem;margin-right:.125rem}.fd-pagination .fd-pagination__input{width:auto;min-width:2.5rem;text-align:center;-moz-appearance:textfield}.fd-pagination .fd-pagination__input::-webkit-inner-spin-button,.fd-pagination .fd-pagination__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fd-pagination .fd-pagination__label,.fd-pagination .fd-pagination__per-page-label{flex-shrink:0;align-self:center}.fd-pagination .fd-pagination__label{display:none}.fd-pagination .fd-pagination__total-label{margin:0}.fd-pagination .fd-pagination__link.is-active{display:none}.fd-pagination .fd-pagination__button [class*=sap-icon][dir=rtl],[dir=rtl] .fd-pagination .fd-pagination__button [class*=sap-icon]{transform:rotate(180deg)}.fd-pagination .fd-pagination__button--mobile{display:none}.fd-pagination--short .fd-pagination__link.is-active,.fd-pagination--short .fd-pagination__link:active{display:flex}.fd-pagination--short .fd-pagination__input{display:none}.fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav{margin-left:auto;margin-right:0}.fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav[dir=rtl],[dir=rtl] .fd-pagination--mobile .fd-pagination__per-page+.fd-pagination__nav{margin-right:auto;margin-left:0}.fd-pagination--mobile .fd-pagination__link,.fd-pagination--mobile .fd-pagination__more,.fd-pagination--mobile .fd-pagination__per-page-label,.fd-pagination--mobile .fd-pagination__total{display:none}.fd-pagination--mobile .fd-pagination__button--mobile,.fd-pagination--mobile .fd-pagination__input,.fd-pagination--mobile .fd-pagination__label{display:flex}.fd-pagination--mobile .fd-pagination__link.is-active,.fd-pagination--mobile .fd-pagination__link:active{display:none}@media (max-width: 599px){.fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:auto;margin-right:0}.fd-pagination .fd-pagination__per-page+.fd-pagination__nav[dir=rtl],[dir=rtl] .fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-right:auto;margin-left:0}.fd-pagination .fd-pagination__link,.fd-pagination .fd-pagination__more,.fd-pagination .fd-pagination__per-page-label,.fd-pagination .fd-pagination__total{display:none}.fd-pagination .fd-pagination__button--mobile,.fd-pagination .fd-pagination__input,.fd-pagination .fd-pagination__label{display:flex}.fd-pagination .fd-pagination__link.is-active,.fd-pagination .fd-pagination__link:active{display:none}}@media (min-width: 600px) and (max-width: 1023px){.fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-left:auto;margin-right:0}.fd-pagination .fd-pagination__per-page+.fd-pagination__nav[dir=rtl],[dir=rtl] .fd-pagination .fd-pagination__per-page+.fd-pagination__nav{margin-right:auto;margin-left:0}.fd-pagination .fd-pagination__link,.fd-pagination .fd-pagination__more,.fd-pagination .fd-pagination__per-page-label,.fd-pagination .fd-pagination__total{display:none}.fd-pagination .fd-pagination__button--mobile,.fd-pagination .fd-pagination__input,.fd-pagination .fd-pagination__label{display:flex}.fd-pagination .fd-pagination__link.is-active,.fd-pagination .fd-pagination__link:active{display:none}}.fd-pagination__label .fd-form-label,.fd-pagination__total-label .fd-form-label{margin:0}\n"], components: [{ type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { type: i5.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement"] }, { type: i5.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "compact", "type", "class"] }, { type: i6.SelectComponent, selector: "fd-select", inputs: ["controlId", "state", "mobile", "stateMessage", "disabled", "required", "readonly", "placeholder", "value", "compact", "extendedBodyTemplate", "maxHeight", "glyph", "closeOnOutsideClick", "fillControlMode", "controlTemplate", "appendTo", "unselectMissingOption", "typeaheadDebounceInterval", "ariaLabelledBy", "ariaLabel", "mobileConfig", "inline"], outputs: ["isOpenChange", "valueChange"] }, { type: i6.OptionComponent, selector: "fd-option", inputs: ["id", "value", "disabled"], outputs: ["selectionChange"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.FocusKeyManagerListDirective, selector: "[fd-focus-key-manager-list], [fdFocusKeyManagerList]", inputs: ["orientation", "skipPredicate"] }, { type: i3.FocusKeyManagerItemDirective, selector: "[fd-focus-key-manager-item], [fdFocusKeyManagerItem]", inputs: ["initialFocus", "_tabindex"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i8.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { type: i8.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i8.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.OnlyDigitsDirective, selector: "[fdOnlyDigits], [fd-only-digits]", inputs: ["decimal", "decimalSeparator"] }, { type: i8.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None, preserveWhitespaces: true });
418
418
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: PaginationComponent, decorators: [{
419
419
  type: Component,
420
420
  args: [{ selector: 'fd-pagination', providers: [PaginationService], host: {
@@ -133,7 +133,7 @@ class QuickViewGroupItemLabelComponent {
133
133
  }
134
134
  }
135
135
  QuickViewGroupItemLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: QuickViewGroupItemLabelComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
136
- QuickViewGroupItemLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: QuickViewGroupItemLabelComponent, selector: "fd-quick-view-group-item-label", ngImport: i0, template: "<label fd-form-label>\n <ng-content></ng-content>\n</label>\n", components: [{ type: i1$2.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
136
+ QuickViewGroupItemLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: QuickViewGroupItemLabelComponent, selector: "fd-quick-view-group-item-label", ngImport: i0, template: "<label fd-form-label>\n <ng-content></ng-content>\n</label>\n", components: [{ type: i1$2.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
137
137
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: QuickViewGroupItemLabelComponent, decorators: [{
138
138
  type: Component,
139
139
  args: [{ selector: 'fd-quick-view-group-item-label', changeDetection: ChangeDetectionStrategy.OnPush, template: "<label fd-form-label>\n <ng-content></ng-content>\n</label>\n" }]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/file-uploader",
3
- "version": "0.34.3-rc.3",
3
+ "version": "0.34.3-rc.4",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/fixed-card-layout",
3
- "version": "0.34.3-rc.3",
3
+ "version": "0.34.3-rc.4",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/flexible-column-layout",
3
- "version": "0.34.3-rc.3",
3
+ "version": "0.34.3-rc.4",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -21,6 +21,8 @@ export class FormLabelComponent {
21
21
  this.checkbox = false;
22
22
  /** @deprecated */
23
23
  this.radio = false;
24
+ /** Align label on end */
25
+ this.alignLabelEnd = false;
24
26
  /** Inline help body text */
25
27
  this.inlineHelpTitle = null;
26
28
  /** Glyph of icon triggering inline help */
@@ -43,10 +45,10 @@ export class FormLabelComponent {
43
45
  }
44
46
  }
45
47
  FormLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FormLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
46
- FormLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: FormLabelComponent, selector: "[fd-form-label]", inputs: { required: "required", colon: "colon", checkbox: "checkbox", radio: "radio", inlineHelpTitle: "inlineHelpTitle", inlineHelpGlyph: "inlineHelpGlyph", inlineHelpTriggers: "inlineHelpTriggers", inlineHelpBodyPlacement: "inlineHelpBodyPlacement", inlineHelpPlacement: "inlineHelpPlacement" }, host: { properties: { "class.fd-form-label__wrapper": "this.defaultClass", "class.fd-form-label__wrapper--inline-help": "this.inlineHelpClass", "class.fd-form-label__wrapper--inline-help--after": "this.inlineHelpAfter" } }, usesOnChanges: true, ngImport: i0, template: "<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-form-label\n*/.fd-form-label{line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:-moz-fit-content;width:fit-content;position:relative;max-width:100%;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);margin-right:.5rem;cursor:text;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{box-sizing:inherit;font-size:inherit}.fd-form-label[dir=rtl],[dir=rtl] .fd-form-label{margin-left:.5rem;margin-right:0}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{padding:0 0 0 .25rem;color:var(--sapField_TextColor);margin:0}.fd-form-label--unit-description[dir=rtl],[dir=rtl] .fd-form-label--unit-description{margin:0;padding:0 .25rem 0 0}.fd-form-label--required,.fd-form-label[aria-required=true]{padding-right:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{content:\"*\";font-size:var(--sapFontSize);font-weight:700;color:var(--sapField_RequiredColor);position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl],.fd-form-label[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--required,[dir=rtl] .fd-form-label[aria-required=true]{padding-right:0;padding-left:.5rem}.fd-form-label--required[dir=rtl]:after,.fd-form-label[aria-required=true][dir=rtl]:after,[dir=rtl] .fd-form-label--required:after,[dir=rtl] .fd-form-label[aria-required=true]:after{right:auto;left:0}.fd-form-label--colon{padding-right:.25rem}.fd-form-label--colon:before{content:\":\";font-size:var(--sapFontSize);color:inherit;position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl],[dir=rtl] .fd-form-label--colon{padding-left:.25rem;padding-right:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{right:auto;left:0}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{padding-right:.75rem}.fd-form-label--colon.fd-form-label--required:before,.fd-form-label--colon[aria-required=true]:before{right:.5rem}.fd-form-label--colon.fd-form-label--required[dir=rtl],.fd-form-label--colon[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--colon.fd-form-label--required,[dir=rtl] .fd-form-label--colon[aria-required=true]{padding-left:.75rem;padding-right:0}.fd-form-label--colon.fd-form-label--required[dir=rtl]:before,.fd-form-label--colon[aria-required=true][dir=rtl]:before,[dir=rtl] .fd-form-label--colon.fd-form-label--required:before,[dir=rtl] .fd-form-label--colon[aria-required=true]:before{right:auto;left:.5rem}.fd-form-label--inline-help{width:100%;display:flex;justify-content:space-between;align-items:center}.fd-form-label{display:inline-block}.fd-form-label__wrapper{position:relative;display:flex}.fd-form-label__wrapper--inline-help{display:flex;padding-left:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help,.fd-form-label__wrapper--inline-help[dir=rtl],.fd-form-label__wrapper--inline-help--after{padding-left:0;padding-right:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help--after,.fd-form-label__wrapper--inline-help--after[dir=rtl]{padding-right:0;padding-left:0rem}.fd-form-label__help{position:relative;top:50%;transform:translateY(3%);align-items:center;display:flex;left:0;right:auto}[dir=rtl] .fd-form-label__help,.fd-form-label__help[dir=rtl],.fd-form-label__help--after{right:0;left:auto}[dir=rtl] .fd-form-label__help--after,.fd-form-label__help--after[dir=rtl]{left:0;right:auto}\n"], components: [{ type: i1.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 });
48
+ 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.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 });
47
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FormLabelComponent, decorators: [{
48
50
  type: Component,
49
- args: [{ selector: '[fd-form-label]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #inlineHelpRef>\n <fd-icon\n *ngIf=\"inlineHelpTitle\"\n [class.fd-form-label__help]=\"true\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpTitle\"\n [ariaLabel]=\"inlineHelpTitle\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n</ng-template>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'before' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"colon\">:</ng-container>\n</span>\n\n<ng-container *ngIf=\"inlineHelpPlacement === 'after' && inlineHelpTitle\">\n <ng-container *ngTemplateOutlet=\"inlineHelpRef\"></ng-container>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.8\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-form-label\n*/.fd-form-label{line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:-moz-fit-content;width:fit-content;position:relative;max-width:100%;font-size:var(--sapFontSize);color:var(--sapContent_LabelColor);margin-right:.5rem;cursor:text;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{box-sizing:inherit;font-size:inherit}.fd-form-label[dir=rtl],[dir=rtl] .fd-form-label{margin-left:.5rem;margin-right:0}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{padding:0 0 0 .25rem;color:var(--sapField_TextColor);margin:0}.fd-form-label--unit-description[dir=rtl],[dir=rtl] .fd-form-label--unit-description{margin:0;padding:0 .25rem 0 0}.fd-form-label--required,.fd-form-label[aria-required=true]{padding-right:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{content:\"*\";font-size:var(--sapFontSize);font-weight:700;color:var(--sapField_RequiredColor);position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl],.fd-form-label[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--required,[dir=rtl] .fd-form-label[aria-required=true]{padding-right:0;padding-left:.5rem}.fd-form-label--required[dir=rtl]:after,.fd-form-label[aria-required=true][dir=rtl]:after,[dir=rtl] .fd-form-label--required:after,[dir=rtl] .fd-form-label[aria-required=true]:after{right:auto;left:0}.fd-form-label--colon{padding-right:.25rem}.fd-form-label--colon:before{content:\":\";font-size:var(--sapFontSize);color:inherit;position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl],[dir=rtl] .fd-form-label--colon{padding-left:.25rem;padding-right:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{right:auto;left:0}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{padding-right:.75rem}.fd-form-label--colon.fd-form-label--required:before,.fd-form-label--colon[aria-required=true]:before{right:.5rem}.fd-form-label--colon.fd-form-label--required[dir=rtl],.fd-form-label--colon[aria-required=true][dir=rtl],[dir=rtl] .fd-form-label--colon.fd-form-label--required,[dir=rtl] .fd-form-label--colon[aria-required=true]{padding-left:.75rem;padding-right:0}.fd-form-label--colon.fd-form-label--required[dir=rtl]:before,.fd-form-label--colon[aria-required=true][dir=rtl]:before,[dir=rtl] .fd-form-label--colon.fd-form-label--required:before,[dir=rtl] .fd-form-label--colon[aria-required=true]:before{right:auto;left:.5rem}.fd-form-label--inline-help{width:100%;display:flex;justify-content:space-between;align-items:center}.fd-form-label{display:inline-block}.fd-form-label__wrapper{position:relative;display:flex}.fd-form-label__wrapper--inline-help{display:flex;padding-left:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help,.fd-form-label__wrapper--inline-help[dir=rtl],.fd-form-label__wrapper--inline-help--after{padding-left:0;padding-right:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help--after,.fd-form-label__wrapper--inline-help--after[dir=rtl]{padding-right:0;padding-left:0rem}.fd-form-label__help{position:relative;top:50%;transform:translateY(3%);align-items:center;display:flex;left:0;right:auto}[dir=rtl] .fd-form-label__help,.fd-form-label__help[dir=rtl],.fd-form-label__help--after{right:0;left:auto}[dir=rtl] .fd-form-label__help--after,.fd-form-label__help--after[dir=rtl]{left:0;right:auto}\n"] }]
51
+ 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"] }]
50
52
  }], propDecorators: { required: [{
51
53
  type: Input
52
54
  }], colon: [{
@@ -55,6 +57,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
55
57
  type: Input
56
58
  }], radio: [{
57
59
  type: Input
60
+ }], alignLabelEnd: [{
61
+ type: Input
62
+ }, {
63
+ type: HostBinding,
64
+ args: ['class.fd-form-label__wrapper--align-end']
58
65
  }], inlineHelpTitle: [{
59
66
  type: Input
60
67
  }], inlineHelpGlyph: [{
@@ -75,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
75
82
  type: HostBinding,
76
83
  args: ['class.fd-form-label__wrapper--inline-help--after']
77
84
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9mb3JtL2Zvcm0tbGFiZWwvZm9ybS1sYWJlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9mb3JtL2Zvcm0tbGFiZWwvZm9ybS1sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWEsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBSXJIOzs7Ozs7O0dBT0c7QUFVSCxNQUFNLE9BQU8sa0JBQWtCO0lBVC9CO1FBVUksK0JBQStCO1FBRS9CLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsK0JBQStCO1FBRS9CLFVBQUssR0FBRyxLQUFLLENBQUM7UUFFZCxrQkFBa0I7UUFFbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixrQkFBa0I7UUFFbEIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVkLDRCQUE0QjtRQUU1QixvQkFBZSxHQUFXLElBQUksQ0FBQztRQUUvQiwyQ0FBMkM7UUFFM0Msb0JBQWUsR0FBRyxlQUFlLENBQUM7UUFFbEMsOENBQThDO1FBRTlDLHVCQUFrQixHQUFhLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFXbkYseUVBQXlFO1FBRXpFLHdCQUFtQixHQUE0QixPQUFPLENBQUM7UUFFdkQsY0FBYztRQUVkLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBRXBCLGNBQWM7UUFFZCxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixjQUFjO1FBRWQsb0JBQWUsR0FBRyxJQUFJLENBQUM7S0FPMUI7SUFMRyxjQUFjO0lBQ2QsV0FBVztRQUNQLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDOUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxPQUFPLENBQUM7SUFDeEYsQ0FBQzs7K0dBekRRLGtCQUFrQjttR0FBbEIsa0JBQWtCLHNsQkNyQi9CLDA5QkEwQkE7MkZETGEsa0JBQWtCO2tCQVQ5QixTQUFTOytCQUdJLGlCQUFpQixpQkFHWixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUsvQyxRQUFRO3NCQURQLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixLQUFLO3NCQURKLEtBQUs7Z0JBS04sZUFBZTtzQkFEZCxLQUFLO2dCQUtOLGVBQWU7c0JBRGQsS0FBSztnQkFLTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBVU4sdUJBQXVCO3NCQUR0QixLQUFLO2dCQUtOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFLTixZQUFZO3NCQURYLFdBQVc7dUJBQUMsOEJBQThCO2dCQUszQyxlQUFlO3NCQURkLFdBQVc7dUJBQUMsMkNBQTJDO2dCQUl4RCxlQUFlO3NCQURkLFdBQVc7dUJBQUMsa0RBQWtEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQbGFjZW1lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2hhcmVkJztcbmltcG9ydCB7IElubGluZUhlbHBGb3JtUGxhY2VtZW50IH0gZnJvbSAnLi4vaW5saW5lLWhlbHAtcGxhY2VtZW50LnR5cGUnO1xuXG4vKipcbiAqIExhYmVsIHRvIGJlIGxpbmtlZCB0byBhIGZvcm0gY29udHJvbC5cbiAqXG4gKiBgYGBodG1sXG4gKiA8bGFiZWwgZmQtZm9ybS1sYWJlbCBmb3I9XCJpbnB1dC1pZFwiPkxhYmVsIFRleHQ8L2xhYmVsPlxuICogPGlucHV0IGZkLWZvcm0tY29udHJvbCB0eXBlPVwidGV4dFwiIGlkPVwiaW5wdXQtaWRcIiAvPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIC8vIFRPRE8gdG8gYmUgZGlzY3Vzc2VkXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tmZC1mb3JtLWxhYmVsXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tbGFiZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Zvcm0tbGFiZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1MYWJlbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgLyoqIFdoZXRoZXIgZm9ybSBpcyByZXF1aXJlZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVxdWlyZWQgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIGZvcm0gaXMgcmVxdWlyZWQgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbG9uID0gZmFsc2U7XG5cbiAgICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgICBASW5wdXQoKVxuICAgIGNoZWNrYm94ID0gZmFsc2U7XG5cbiAgICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgICBASW5wdXQoKVxuICAgIHJhZGlvID0gZmFsc2U7XG5cbiAgICAvKiogSW5saW5lIGhlbHAgYm9keSB0ZXh0ICovXG4gICAgQElucHV0KClcbiAgICBpbmxpbmVIZWxwVGl0bGU6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKiogR2x5cGggb2YgaWNvbiB0cmlnZ2VyaW5nIGlubGluZSBoZWxwICovXG4gICAgQElucHV0KClcbiAgICBpbmxpbmVIZWxwR2x5cGggPSAncXVlc3Rpb24tbWFyayc7XG5cbiAgICAvKiogVHJpZ2dlciBldmVudCBuYW1lcyBmb3IgdGhlIGlubGluZSBoZWxwICovXG4gICAgQElucHV0KClcbiAgICBpbmxpbmVIZWxwVHJpZ2dlcnM6IHN0cmluZ1tdID0gWydtb3VzZWVudGVyJywgJ21vdXNlbGVhdmUnLCAnZm9jdXNpbicsICdmb2N1c291dCddO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHBsYWNlbWVudCBvZiB0aGUgaW5saW5lIGhlbHAuXG4gICAgICogSXQgY2FuIGJlIG9uZSBvZjpcbiAgICAgKiB0b3AsIHRvcC1zdGFydCwgdG9wLWVuZCwgYm90dG9tLCBib3R0b20tc3RhcnQsIGJvdHRvbS1lbmQsXG4gICAgICogcmlnaHQsIHJpZ2h0LXN0YXJ0LCByaWdodC1lbmQsIGxlZnQsIGxlZnQtc3RhcnQsIGxlZnQtZW5kLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5saW5lSGVscEJvZHlQbGFjZW1lbnQ6IFBsYWNlbWVudDtcblxuICAgIC8qKiBJZiBpbmxpbmUgaGVscCB0cmlnZ2VyIGljb24gc2hvdWxkIGJlIHBsYWNlZCBhZnRlciwgb3IgYmVmb3JlIHRleHQgKi9cbiAgICBASW5wdXQoKVxuICAgIGlubGluZUhlbHBQbGFjZW1lbnQ6IElubGluZUhlbHBGb3JtUGxhY2VtZW50ID0gJ2FmdGVyJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1mb3JtLWxhYmVsX193cmFwcGVyJylcbiAgICBkZWZhdWx0Q2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWZvcm0tbGFiZWxfX3dyYXBwZXItLWlubGluZS1oZWxwJylcbiAgICBpbmxpbmVIZWxwQ2xhc3MgPSB0cnVlO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1mb3JtLWxhYmVsX193cmFwcGVyLS1pbmxpbmUtaGVscC0tYWZ0ZXInKVxuICAgIGlubGluZUhlbHBBZnRlciA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlubGluZUhlbHBDbGFzcyA9ICEhdGhpcy5pbmxpbmVIZWxwVGl0bGU7XG4gICAgICAgIHRoaXMuaW5saW5lSGVscEFmdGVyID0gdGhpcy5pbmxpbmVIZWxwVGl0bGUgJiYgdGhpcy5pbmxpbmVIZWxwUGxhY2VtZW50ID09PSAnYWZ0ZXInO1xuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjaW5saW5lSGVscFJlZj5cbiAgICA8ZmQtaWNvblxuICAgICAgICAqbmdJZj1cImlubGluZUhlbHBUaXRsZVwiXG4gICAgICAgIFtjbGFzcy5mZC1mb3JtLWxhYmVsX19oZWxwXT1cInRydWVcIlxuICAgICAgICBbY2xhc3MuZmQtZm9ybS1sYWJlbF9faGVscC0tYWZ0ZXJdPVwiaW5saW5lSGVscFBsYWNlbWVudCA9PT0gJ2FmdGVyJ1wiXG4gICAgICAgIFtnbHlwaF09XCJpbmxpbmVIZWxwR2x5cGhcIlxuICAgICAgICBbdHJpZ2dlcnNdPVwiaW5saW5lSGVscFRyaWdnZXJzXCJcbiAgICAgICAgW2ZkLWlubGluZS1oZWxwXT1cImlubGluZUhlbHBUaXRsZVwiXG4gICAgICAgIFthcmlhTGFiZWxdPVwiaW5saW5lSGVscFRpdGxlXCJcbiAgICAgICAgW3BsYWNlbWVudF09XCJpbmxpbmVIZWxwQm9keVBsYWNlbWVudFwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgPjwvZmQtaWNvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpbmxpbmVIZWxwUGxhY2VtZW50ID09PSAnYmVmb3JlJyAmJiBpbmxpbmVIZWxwVGl0bGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5saW5lSGVscFJlZlwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxzcGFuIGNsYXNzPVwiZmQtZm9ybS1sYWJlbFwiIFtjbGFzcy5mZC1mb3JtLWxhYmVsLS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sb25cIj46PC9uZy1jb250YWluZXI+XG48L3NwYW4+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpbmxpbmVIZWxwUGxhY2VtZW50ID09PSAnYWZ0ZXInICYmIGlubGluZUhlbHBUaXRsZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbmxpbmVIZWxwUmVmXCI+PC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9mb3JtL2Zvcm0tbGFiZWwvZm9ybS1sYWJlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9mb3JtL2Zvcm0tbGFiZWwvZm9ybS1sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWEsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBSXJIOzs7Ozs7O0dBT0c7QUFVSCxNQUFNLE9BQU8sa0JBQWtCO0lBVC9CO1FBVUksK0JBQStCO1FBRS9CLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsK0JBQStCO1FBRS9CLFVBQUssR0FBRyxLQUFLLENBQUM7UUFFZCxrQkFBa0I7UUFFbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixrQkFBa0I7UUFFbEIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVkLHlCQUF5QjtRQUd6QixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUV0Qiw0QkFBNEI7UUFFNUIsb0JBQWUsR0FBVyxJQUFJLENBQUM7UUFFL0IsMkNBQTJDO1FBRTNDLG9CQUFlLEdBQUcsZUFBZSxDQUFDO1FBRWxDLDhDQUE4QztRQUU5Qyx1QkFBa0IsR0FBYSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBV25GLHlFQUF5RTtRQUV6RSx3QkFBbUIsR0FBNEIsT0FBTyxDQUFDO1FBRXZELGNBQWM7UUFFZCxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUVwQixjQUFjO1FBRWQsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDdkIsY0FBYztRQUVkLG9CQUFlLEdBQUcsSUFBSSxDQUFDO0tBTzFCO0lBTEcsY0FBYztJQUNkLFdBQVc7UUFDUCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzlDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEtBQUssT0FBTyxDQUFDO0lBQ3hGLENBQUM7OytHQTlEUSxrQkFBa0I7bUdBQWxCLGtCQUFrQix1ckJDckIvQiwwOUJBMEJBOzJGRExhLGtCQUFrQjtrQkFUOUIsU0FBUzsrQkFHSSxpQkFBaUIsaUJBR1osaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4QkFLL0MsUUFBUTtzQkFEUCxLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQU1OLGFBQWE7c0JBRlosS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyx5Q0FBeUM7Z0JBS3RELGVBQWU7c0JBRGQsS0FBSztnQkFLTixlQUFlO3NCQURkLEtBQUs7Z0JBS04sa0JBQWtCO3NCQURqQixLQUFLO2dCQVVOLHVCQUF1QjtzQkFEdEIsS0FBSztnQkFLTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxXQUFXO3VCQUFDLDhCQUE4QjtnQkFLM0MsZUFBZTtzQkFEZCxXQUFXO3VCQUFDLDJDQUEyQztnQkFJeEQsZUFBZTtzQkFEZCxXQUFXO3VCQUFDLGtEQUFrRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxhY2VtZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NoYXJlZCc7XG5pbXBvcnQgeyBJbmxpbmVIZWxwRm9ybVBsYWNlbWVudCB9IGZyb20gJy4uL2lubGluZS1oZWxwLXBsYWNlbWVudC50eXBlJztcblxuLyoqXG4gKiBMYWJlbCB0byBiZSBsaW5rZWQgdG8gYSBmb3JtIGNvbnRyb2wuXG4gKlxuICogYGBgaHRtbFxuICogPGxhYmVsIGZkLWZvcm0tbGFiZWwgZm9yPVwiaW5wdXQtaWRcIj5MYWJlbCBUZXh0PC9sYWJlbD5cbiAqIDxpbnB1dCBmZC1mb3JtLWNvbnRyb2wgdHlwZT1cInRleHRcIiBpZD1cImlucHV0LWlkXCIgLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICAvLyBUT0RPIHRvIGJlIGRpc2N1c3NlZFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmQtZm9ybS1sYWJlbF0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWxhYmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb3JtLWxhYmVsLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtTGFiZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIC8qKiBXaGV0aGVyIGZvcm0gaXMgcmVxdWlyZWQgKi9cbiAgICBASW5wdXQoKVxuICAgIHJlcXVpcmVkID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBmb3JtIGlzIHJlcXVpcmVkICovXG4gICAgQElucHV0KClcbiAgICBjb2xvbiA9IGZhbHNlO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkICovXG4gICAgQElucHV0KClcbiAgICBjaGVja2JveCA9IGZhbHNlO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkICovXG4gICAgQElucHV0KClcbiAgICByYWRpbyA9IGZhbHNlO1xuXG4gICAgLyoqIEFsaWduIGxhYmVsIG9uIGVuZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1mb3JtLWxhYmVsX193cmFwcGVyLS1hbGlnbi1lbmQnKVxuICAgIGFsaWduTGFiZWxFbmQgPSBmYWxzZTtcblxuICAgIC8qKiBJbmxpbmUgaGVscCBib2R5IHRleHQgKi9cbiAgICBASW5wdXQoKVxuICAgIGlubGluZUhlbHBUaXRsZTogc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKiBHbHlwaCBvZiBpY29uIHRyaWdnZXJpbmcgaW5saW5lIGhlbHAgKi9cbiAgICBASW5wdXQoKVxuICAgIGlubGluZUhlbHBHbHlwaCA9ICdxdWVzdGlvbi1tYXJrJztcblxuICAgIC8qKiBUcmlnZ2VyIGV2ZW50IG5hbWVzIGZvciB0aGUgaW5saW5lIGhlbHAgKi9cbiAgICBASW5wdXQoKVxuICAgIGlubGluZUhlbHBUcmlnZ2Vyczogc3RyaW5nW10gPSBbJ21vdXNlZW50ZXInLCAnbW91c2VsZWF2ZScsICdmb2N1c2luJywgJ2ZvY3Vzb3V0J107XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcGxhY2VtZW50IG9mIHRoZSBpbmxpbmUgaGVscC5cbiAgICAgKiBJdCBjYW4gYmUgb25lIG9mOlxuICAgICAqIHRvcCwgdG9wLXN0YXJ0LCB0b3AtZW5kLCBib3R0b20sIGJvdHRvbS1zdGFydCwgYm90dG9tLWVuZCxcbiAgICAgKiByaWdodCwgcmlnaHQtc3RhcnQsIHJpZ2h0LWVuZCwgbGVmdCwgbGVmdC1zdGFydCwgbGVmdC1lbmQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpbmxpbmVIZWxwQm9keVBsYWNlbWVudDogUGxhY2VtZW50O1xuXG4gICAgLyoqIElmIGlubGluZSBoZWxwIHRyaWdnZXIgaWNvbiBzaG91bGQgYmUgcGxhY2VkIGFmdGVyLCBvciBiZWZvcmUgdGV4dCAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5saW5lSGVscFBsYWNlbWVudDogSW5saW5lSGVscEZvcm1QbGFjZW1lbnQgPSAnYWZ0ZXInO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWZvcm0tbGFiZWxfX3dyYXBwZXInKVxuICAgIGRlZmF1bHRDbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtZm9ybS1sYWJlbF9fd3JhcHBlci0taW5saW5lLWhlbHAnKVxuICAgIGlubGluZUhlbHBDbGFzcyA9IHRydWU7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWZvcm0tbGFiZWxfX3dyYXBwZXItLWlubGluZS1oZWxwLS1hZnRlcicpXG4gICAgaW5saW5lSGVscEFmdGVyID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5saW5lSGVscENsYXNzID0gISF0aGlzLmlubGluZUhlbHBUaXRsZTtcbiAgICAgICAgdGhpcy5pbmxpbmVIZWxwQWZ0ZXIgPSB0aGlzLmlubGluZUhlbHBUaXRsZSAmJiB0aGlzLmlubGluZUhlbHBQbGFjZW1lbnQgPT09ICdhZnRlcic7XG4gICAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNpbmxpbmVIZWxwUmVmPlxuICAgIDxmZC1pY29uXG4gICAgICAgICpuZ0lmPVwiaW5saW5lSGVscFRpdGxlXCJcbiAgICAgICAgW2NsYXNzLmZkLWZvcm0tbGFiZWxfX2hlbHBdPVwidHJ1ZVwiXG4gICAgICAgIFtjbGFzcy5mZC1mb3JtLWxhYmVsX19oZWxwLS1hZnRlcl09XCJpbmxpbmVIZWxwUGxhY2VtZW50ID09PSAnYWZ0ZXInXCJcbiAgICAgICAgW2dseXBoXT1cImlubGluZUhlbHBHbHlwaFwiXG4gICAgICAgIFt0cmlnZ2Vyc109XCJpbmxpbmVIZWxwVHJpZ2dlcnNcIlxuICAgICAgICBbZmQtaW5saW5lLWhlbHBdPVwiaW5saW5lSGVscFRpdGxlXCJcbiAgICAgICAgW2FyaWFMYWJlbF09XCJpbmxpbmVIZWxwVGl0bGVcIlxuICAgICAgICBbcGxhY2VtZW50XT1cImlubGluZUhlbHBCb2R5UGxhY2VtZW50XCJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICA+PC9mZC1pY29uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlubGluZUhlbHBQbGFjZW1lbnQgPT09ICdiZWZvcmUnICYmIGlubGluZUhlbHBUaXRsZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbmxpbmVIZWxwUmVmXCI+PC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPHNwYW4gY2xhc3M9XCJmZC1mb3JtLWxhYmVsXCIgW2NsYXNzLmZkLWZvcm0tbGFiZWwtLXJlcXVpcmVkXT1cInJlcXVpcmVkXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2xvblwiPjo8L25nLWNvbnRhaW5lcj5cbjwvc3Bhbj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlubGluZUhlbHBQbGFjZW1lbnQgPT09ICdhZnRlcicgJiYgaW5saW5lSGVscFRpdGxlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlubGluZUhlbHBSZWZcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19