@fundamental-ngx/core 0.33.3 → 0.33.4-rc.11

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 (174) hide show
  1. package/README.md +1 -3
  2. package/action-bar/package.json +1 -1
  3. package/action-sheet/package.json +1 -1
  4. package/alert/package.json +1 -1
  5. package/avatar/package.json +1 -1
  6. package/avatar-group/package.json +1 -1
  7. package/bar/package.json +1 -1
  8. package/breadcrumb/package.json +1 -1
  9. package/busy-indicator/package.json +1 -1
  10. package/button/package.json +1 -1
  11. package/calendar/package.json +1 -1
  12. package/card/package.json +1 -1
  13. package/carousel/package.json +1 -1
  14. package/checkbox/checkbox/checkbox.component.d.ts +30 -35
  15. package/checkbox/esm2020/checkbox/checkbox.component.mjs +61 -80
  16. package/checkbox/fesm2015/fundamental-ngx-core-checkbox.mjs +59 -77
  17. package/checkbox/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
  18. package/checkbox/fesm2020/fundamental-ngx-core-checkbox.mjs +59 -77
  19. package/checkbox/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
  20. package/checkbox/package.json +1 -1
  21. package/combobox/package.json +1 -1
  22. package/date-picker/package.json +1 -1
  23. package/datetime/package.json +1 -1
  24. package/datetime-picker/package.json +1 -1
  25. package/dialog/package.json +1 -1
  26. package/dynamic-page/package.json +1 -1
  27. package/dynamic-side-content/package.json +1 -1
  28. package/esm2020/checkbox/checkbox/checkbox.component.mjs +61 -80
  29. package/esm2020/list/list-item/list-item.component.mjs +6 -2
  30. package/esm2020/message-box/message-box-body/message-box-body.component.mjs +12 -10
  31. package/esm2020/message-box/message-box-footer/message-box-footer.component.mjs +12 -9
  32. package/esm2020/message-box/message-box-header/message-box-header.component.mjs +30 -16
  33. package/esm2020/message-box/message-box-semantic-icon/message-box-semantic-icon.component.mjs +12 -14
  34. package/esm2020/message-box/message-box.component.mjs +5 -15
  35. package/esm2020/message-box/utils/message-box-config.class.mjs +3 -2
  36. package/esm2020/multi-input/multi-input.component.mjs +38 -11
  37. package/esm2020/upload-collection/upload-collection-item.directive.mjs +81 -8
  38. package/esm2020/utils/helpers/range-selector.mjs +113 -0
  39. package/esm2020/utils/public_api.mjs +2 -1
  40. package/facets/package.json +1 -1
  41. package/feed-input/package.json +1 -1
  42. package/feed-list-item/package.json +1 -1
  43. package/fesm2015/fundamental-ngx-core-checkbox.mjs +59 -77
  44. package/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
  45. package/fesm2015/fundamental-ngx-core-list.mjs +5 -1
  46. package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
  47. package/fesm2015/fundamental-ngx-core-message-box.mjs +67 -56
  48. package/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
  49. package/fesm2015/fundamental-ngx-core-multi-input.mjs +40 -11
  50. package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  51. package/fesm2015/fundamental-ngx-core-upload-collection.mjs +80 -7
  52. package/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  53. package/fesm2015/fundamental-ngx-core-utils.mjs +114 -1
  54. package/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
  55. package/fesm2020/fundamental-ngx-core-checkbox.mjs +59 -77
  56. package/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
  57. package/fesm2020/fundamental-ngx-core-list.mjs +5 -1
  58. package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
  59. package/fesm2020/fundamental-ngx-core-message-box.mjs +62 -55
  60. package/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
  61. package/fesm2020/fundamental-ngx-core-multi-input.mjs +38 -11
  62. package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  63. package/fesm2020/fundamental-ngx-core-upload-collection.mjs +80 -7
  64. package/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  65. package/fesm2020/fundamental-ngx-core-utils.mjs +114 -1
  66. package/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
  67. package/file-uploader/package.json +1 -1
  68. package/fixed-card-layout/package.json +1 -1
  69. package/flexible-column-layout/package.json +1 -1
  70. package/form/package.json +1 -1
  71. package/formatted-text/package.json +1 -1
  72. package/grid-list/package.json +1 -1
  73. package/icon/package.json +1 -1
  74. package/illustrated-message/package.json +1 -1
  75. package/infinite-scroll/package.json +1 -1
  76. package/info-label/package.json +1 -1
  77. package/inline-help/package.json +1 -1
  78. package/input-group/package.json +1 -1
  79. package/layout-grid/package.json +1 -1
  80. package/layout-panel/package.json +1 -1
  81. package/link/package.json +1 -1
  82. package/list/esm2020/list-item/list-item.component.mjs +6 -2
  83. package/list/fesm2015/fundamental-ngx-core-list.mjs +5 -1
  84. package/list/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
  85. package/list/fesm2020/fundamental-ngx-core-list.mjs +5 -1
  86. package/list/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
  87. package/list/package.json +1 -1
  88. package/menu/package.json +1 -1
  89. package/message-box/esm2020/message-box-body/message-box-body.component.mjs +12 -10
  90. package/message-box/esm2020/message-box-footer/message-box-footer.component.mjs +12 -9
  91. package/message-box/esm2020/message-box-header/message-box-header.component.mjs +30 -16
  92. package/message-box/esm2020/message-box-semantic-icon/message-box-semantic-icon.component.mjs +12 -14
  93. package/message-box/esm2020/message-box.component.mjs +5 -15
  94. package/message-box/esm2020/utils/message-box-config.class.mjs +3 -2
  95. package/message-box/fesm2015/fundamental-ngx-core-message-box.mjs +67 -56
  96. package/message-box/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
  97. package/message-box/fesm2020/fundamental-ngx-core-message-box.mjs +62 -55
  98. package/message-box/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
  99. package/message-box/message-box-body/message-box-body.component.d.ts +6 -4
  100. package/message-box/message-box-footer/message-box-footer.component.d.ts +6 -4
  101. package/message-box/message-box-header/message-box-header.component.d.ts +16 -8
  102. package/message-box/message-box-semantic-icon/message-box-semantic-icon.component.d.ts +6 -4
  103. package/message-box/message-box.component.d.ts +4 -9
  104. package/message-box/package.json +1 -1
  105. package/message-box/utils/message-box-config.class.d.ts +2 -4
  106. package/message-strip/package.json +1 -1
  107. package/message-toast/package.json +1 -1
  108. package/micro-process-flow/package.json +1 -1
  109. package/mobile-mode/package.json +1 -1
  110. package/multi-input/esm2020/multi-input.component.mjs +38 -11
  111. package/multi-input/fesm2015/fundamental-ngx-core-multi-input.mjs +40 -11
  112. package/multi-input/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  113. package/multi-input/fesm2020/fundamental-ngx-core-multi-input.mjs +38 -11
  114. package/multi-input/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  115. package/multi-input/multi-input.component.d.ts +8 -1
  116. package/multi-input/package.json +1 -1
  117. package/nested-list/package.json +1 -1
  118. package/notification/package.json +1 -1
  119. package/object-identifier/package.json +1 -1
  120. package/object-marker/package.json +1 -1
  121. package/object-number/package.json +1 -1
  122. package/object-status/package.json +1 -1
  123. package/package.json +1 -1
  124. package/pagination/package.json +1 -1
  125. package/panel/package.json +1 -1
  126. package/popover/package.json +1 -1
  127. package/product-switch/package.json +1 -1
  128. package/progress-indicator/package.json +1 -1
  129. package/quick-view/package.json +1 -1
  130. package/radio/package.json +1 -1
  131. package/rating-indicator/package.json +1 -1
  132. package/resizable-card-layout/package.json +1 -1
  133. package/scroll-spy/package.json +1 -1
  134. package/scrollbar/package.json +1 -1
  135. package/segmented-button/package.json +1 -1
  136. package/select/package.json +1 -1
  137. package/shared/package.json +1 -1
  138. package/shellbar/package.json +1 -1
  139. package/side-navigation/package.json +1 -1
  140. package/slider/package.json +1 -1
  141. package/split-button/package.json +1 -1
  142. package/splitter/package.json +1 -1
  143. package/status-indicator/package.json +1 -1
  144. package/step-input/package.json +1 -1
  145. package/switch/package.json +1 -1
  146. package/table/package.json +1 -1
  147. package/tabs/package.json +1 -1
  148. package/text/package.json +1 -1
  149. package/tile/package.json +1 -1
  150. package/time/package.json +1 -1
  151. package/time-picker/package.json +1 -1
  152. package/timeline/package.json +1 -1
  153. package/title/package.json +1 -1
  154. package/token/package.json +1 -1
  155. package/toolbar/package.json +1 -1
  156. package/tree/package.json +1 -1
  157. package/upload-collection/esm2020/upload-collection-item.directive.mjs +81 -8
  158. package/upload-collection/fesm2015/fundamental-ngx-core-upload-collection.mjs +80 -7
  159. package/upload-collection/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  160. package/upload-collection/fesm2020/fundamental-ngx-core-upload-collection.mjs +80 -7
  161. package/upload-collection/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  162. package/upload-collection/package.json +1 -1
  163. package/upload-collection/upload-collection-item.directive.d.ts +32 -2
  164. package/utils/esm2020/helpers/range-selector.mjs +113 -0
  165. package/utils/esm2020/public_api.mjs +2 -1
  166. package/utils/fesm2015/fundamental-ngx-core-utils.mjs +114 -1
  167. package/utils/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
  168. package/utils/fesm2020/fundamental-ngx-core-utils.mjs +114 -1
  169. package/utils/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
  170. package/utils/helpers/range-selector.d.ts +84 -0
  171. package/utils/package.json +1 -1
  172. package/utils/public_api.d.ts +1 -0
  173. package/vertical-navigation/package.json +1 -1
  174. package/wizard/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-list.mjs","sources":["../../../../../libs/core/src/lib/list/directives/list-link.directive.ts","../../../../../libs/core/src/lib/list/list-focus-item.model.ts","../../../../../libs/core/src/lib/list/list-item/list-item.component.ts","../../../../../libs/core/src/lib/list/list-item/list-item.component.html","../../../../../libs/core/src/lib/list/directives/list-navigation-item-arrow.directive.ts","../../../../../libs/core/src/lib/list/directives/list-navigation-item-text.directive.ts","../../../../../libs/core/src/lib/list/list-navigation-item/list-navigation-item.component.ts","../../../../../libs/core/src/lib/list/list-navigation-item/list-navigation-item.component.html","../../../../../libs/core/src/lib/list/list.component.ts","../../../../../libs/core/src/lib/list/list.component.html","../../../../../libs/core/src/lib/list/list-message.directive.ts","../../../../../libs/core/src/lib/list/directives/list-footer.directive.ts","../../../../../libs/core/src/lib/list/directives/list-title.directive.ts","../../../../../libs/core/src/lib/list/directives/list-group-header.directive.ts","../../../../../libs/core/src/lib/list/directives/list-secondary.directive.ts","../../../../../libs/core/src/lib/list/directives/list-icon.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-byline.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-byline-left.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-byline-right.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-content.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-thumbnail.directive.ts","../../../../../libs/core/src/lib/list/directives/list-title-text.directive.ts","../../../../../libs/core/src/lib/list/list.module.ts","../../../../../libs/core/src/lib/list/fundamental-ngx-core-list.ts"],"sourcesContent":["import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-link], [fdListLink]'\n})\nexport class ListLinkDirective {\n /** Defines if navigation indicator arrow should be included inside list item */\n @Input()\n @HostBinding('class.fd-list__link--navigation-indicator')\n navigationIndicator = false;\n\n /** Defines if link should be treated as a navigated */\n @Input()\n @HostBinding('class.is-navigated')\n navigated = false;\n\n /** Defines if item is selected */\n @Input()\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('class.fd-list__link')\n fdListLinkClass = true;\n}\n","import { ElementRef, EventEmitter } from '@angular/core';\nimport { KeyboardSupportItemInterface } from '@fundamental-ngx/core/utils';\n\nexport class ListFocusItem implements KeyboardSupportItemInterface {\n /** @hidden Implementation of KeyboardSupportItemInterface */\n keyDown: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n constructor(readonly elementRef: ElementRef) {}\n\n /** @hidden */\n click(): void {\n this.elementRef?.nativeElement?.click();\n }\n\n /** @hidden */\n focus(): void {\n this.elementRef?.nativeElement?.focus();\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\n\nimport { CheckboxComponent } from '@fundamental-ngx/core/checkbox';\nimport { RadioButtonComponent } from '@fundamental-ngx/core/radio';\nimport { ListLinkDirective } from '../directives/list-link.directive';\nimport { Subject } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\nimport { KeyUtil } from '@fundamental-ngx/core/utils';\nimport { LIST_ITEM_COMPONENT, ListItemInterface } from '@fundamental-ngx/core/utils';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { ListFocusItem } from '../list-focus-item.model';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\n\n/**\n * The component that represents a list item.\n * The list item can contain plain text, links or actions.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fdListItem] ,[fd-list-item]',\n templateUrl: './list-item.component.html',\n host: {\n class: 'fd-list__item',\n role: 'listitem'\n },\n providers: [\n {\n provide: LIST_ITEM_COMPONENT,\n useExisting: forwardRef(() => ListItemComponent)\n },\n {\n provide: ListFocusItem,\n useExisting: forwardRef(() => ListItemComponent)\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class ListItemComponent extends ListFocusItem implements AfterContentInit, OnDestroy, ListItemInterface {\n /** Whether list item is selected */\n @Input()\n @HostBinding('attr.aria-selected')\n @HostBinding('class.is-selected')\n selected = false;\n\n /** tab index attribute */\n @Input()\n @HostBinding('attr.tabindex')\n get tabindex(): number {\n return this._tabIndex;\n }\n set tabindex(value: number) {\n this._tabIndex = coerceNumberProperty(value, -1);\n }\n\n /** Whether there is no data inside list item */\n @Input()\n @HostBinding('class.fd-list__item--no-data')\n noData = false;\n\n /** Whether there is item performs some action */\n @Input()\n @HostBinding('class.fd-list__item--action')\n action = false;\n\n /** Whether there is item performs some action */\n @Input()\n @HostBinding('class.fd-list__item--interractive')\n interactive = false;\n\n /** Whether list item contains busy indicator */\n @Input()\n @HostBinding('class.fd-list__item--growing')\n growing = false;\n\n /** Counter on list item */\n @Input()\n counter: number;\n\n /** Whether list item should contain additional unRead styles */\n @Input()\n @HostBinding('class.fd-list__item--unread')\n unread = false;\n\n /** @hidden Implementation of KeyboardSupportItemInterface | TODO Revisit KeyboardSupportItemInterface*/\n @Output()\n keyDown: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** Whether list item contains link */\n @HostBinding('class.fd-list__item--link')\n link = false;\n\n /** @hidden */\n @ContentChild(CheckboxComponent)\n checkbox: CheckboxComponent;\n\n /** @hidden */\n @ContentChild(RadioButtonComponent)\n radio: RadioButtonComponent;\n\n /** @hidden */\n @ContentChildren(ListLinkDirective)\n linkDirectives: QueryList<ListLinkDirective>;\n\n /** @hidden */\n @ContentChildren(ButtonComponent, { descendants: true })\n buttons: QueryList<ButtonComponent>;\n\n /** @hidden Implementation of KeyboardSupportItemInterface | TODO Revisit KeyboardSupportItemInterface*/\n clicked = new EventEmitter<MouseEvent>();\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n private _tabIndex = 0;\n\n constructor(public elementRef: ElementRef, private _changeDetectorRef: ChangeDetectorRef) {\n super(elementRef);\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._listenOnLinkQueryChange();\n this._listenOnButtonQueryChange();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keydownHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n if (this.checkbox) {\n this.checkbox.nextValue();\n this._muteEvent(event);\n }\n if (this.radio) {\n this.radio.labelClicked(event);\n this._muteEvent(event);\n }\n }\n this.keyDown.emit(event);\n }\n\n /** Handler for mouse events */\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n this.clicked.emit(event);\n if (this.checkbox && !this.link) {\n this.checkbox.nextValue();\n }\n if (this.radio && !this.link) {\n this.radio.labelClicked(event);\n }\n }\n\n /** @hidden */\n private _listenOnLinkQueryChange(): void {\n this.linkDirectives.changes.pipe(takeUntil(this._onDestroy$), startWith(0)).subscribe(() => {\n this.link = this.linkDirectives.length > 0;\n this._changeDetectorRef.detectChanges();\n });\n }\n\n /** @hidden */\n private _listenOnButtonQueryChange(): void {\n this.buttons.changes.pipe(takeUntil(this._onDestroy$), startWith(0)).subscribe(() => {\n this.buttons.forEach(this._addClassToButtons);\n });\n }\n\n /** @hidden */\n private _addClassToButtons(button: ButtonComponent): void {\n button.class += 'fd-list__button';\n button.buildComponentCssClass();\n button.detectChanges();\n }\n\n /** @hidden */\n private _muteEvent(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n }\n}\n","<ng-container *ngIf=\"checkbox || radio\">\n <div fd-form-item class=\"fd-list__form-item\">\n <ng-content select=\"fd-checkbox\"></ng-content>\n <ng-content select=\"fd-radio-button\"></ng-content>\n </div>\n</ng-container>\n\n<ng-content></ng-content>\n\n<span *ngIf=\"counter || counter === 0\" class=\"fd-list__item-counter\">\n {{ counter.toString() | slice: 0:5 }}\n</span>\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-navigation-item-arrow], [fdListNavigaitonItemArrow]'\n})\nexport class ListNavigationItemArrowDirective {\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item-arrow')\n navigationItemArrowClass = true;\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-right-arrow')\n rightArrowClass = true;\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-down-arrow')\n downArrowClass = false;\n\n /** @hidden */\n @HostBinding('class.is-expanded')\n expanded = false;\n\n /** @hidden */\n _setExpanded(expanded: boolean): void {\n if (this.expanded !== expanded) {\n this.rightArrowClass = !this.rightArrowClass;\n this.downArrowClass = !this.downArrowClass;\n }\n this.expanded = expanded;\n }\n}\n","import { Directive, ElementRef, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-navigation-item-text], [fdListNavigaitonItemText]'\n})\nexport class ListNavigationItemTextDirective {\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item-text')\n navigationItemTextClass = true;\n\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n get elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n}\n","import { AfterContentInit, Component, ContentChild, forwardRef, HostBinding, HostListener, Input } from '@angular/core';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { ListComponent } from '../list.component';\nimport { ListNavigationItemArrowDirective } from '../directives/list-navigation-item-arrow.directive';\nimport { ListNavigationItemTextDirective } from '../directives/list-navigation-item-text.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-list-navigation-item], [fdListNavigaitonItem]',\n templateUrl: './list-navigation-item.component.html',\n styleUrls: ['./list-navigation-item.component.scss']\n})\nexport class ListNavigationItemComponent implements AfterContentInit {\n /** Whether or not the list item is expanded. */\n @Input()\n @HostBinding('class.is-expanded')\n expanded = false;\n\n /** Whether or not this list item is indicated for navigation. */\n @Input()\n @HostBinding('class.fd-list__navigation-item--indicated')\n indicated = false;\n\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item')\n _navigationItemClass = true;\n\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item--expandable')\n _isExpandable = false;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n _tabIndex;\n\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item--condensed')\n _condensed = false;\n\n /** @hidden */\n @ContentChild(forwardRef(() => ListComponent))\n _listComponent: ListComponent;\n\n /** @hidden */\n @ContentChild(ListNavigationItemArrowDirective)\n _listNavigationItemArrow: ListNavigationItemArrowDirective;\n\n /** @hidden */\n @ContentChild(IconComponent)\n _iconComponent: IconComponent;\n\n /** @hidden */\n @ContentChild(ListNavigationItemTextDirective)\n _text: ListNavigationItemTextDirective;\n\n /** @hidden */\n _innerText: string;\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this._listComponent) {\n this._isExpandable = true;\n } else {\n this._tabIndex = 0;\n }\n if (this._iconComponent) {\n this._iconComponent._navigationItemIcon = true;\n }\n this._innerText = this._text.elementRef.nativeElement.innerText;\n }\n\n /** @hidden */\n @HostListener('click', ['$event'])\n onItemClick(event: MouseEvent): void {\n event.stopPropagation();\n this._handleExpandedChanges(!this.expanded);\n }\n\n /** @hidden */\n _childIndicatedAndCollapsed(): boolean {\n let retVal = false;\n this._listComponent?._navItems?.forEach((navItem) => {\n if (navItem.indicated && !navItem.expanded) {\n retVal = true;\n }\n });\n\n return retVal;\n }\n\n /** @hidden */\n private _handleExpandedChanges(expanded: boolean): void {\n if (this._isExpandable) {\n this.expanded = expanded;\n this._listNavigationItemArrow._setExpanded(this.expanded);\n }\n }\n}\n","<ng-container *ngIf=\"!expanded || !_isExpandable || !_condensed || !_listComponent\">\n <ng-content></ng-content\n ><span *ngIf=\"indicated || _childIndicatedAndCollapsed()\" class=\"fd-list__navigation-item-indicator\"></span>\n</ng-container>\n<ng-container *ngIf=\"expanded && _isExpandable && _condensed && _listComponent\">\n <div\n class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--first-level\"\n aria-hidden=\"false\"\n >\n <ul class=\"fd-list\">\n <li class=\"fd-list__navigation-item fd-list__navigation-item--condensed\">\n <fd-icon class=\"fd-list__navigation-item-icon\" [glyph]=\"_iconComponent.glyph\"></fd-icon>\n <span class=\"fd-list__navigation-item-text\">{{ _innerText }}</span>\n </li>\n </ul>\n </div>\n <div\n class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--second-level\"\n aria-hidden=\"false\"\n >\n <ul class=\"fd-list\">\n <li\n *ngFor=\"let navItem of _listComponent._navItems\"\n class=\"fd-list__navigation-item fd-list__navigation-item--condensed\"\n [class.fd-list__navigation-item--indicated]=\"navItem.indicated\"\n tabindex=\"0\"\n >\n <span *ngIf=\"navItem._innerText\" class=\"fd-list__navigation-item-text\">{{ navItem._innerText }}</span>\n <span *ngIf=\"navItem.indicated\" class=\"fd-list__navigation-item-indicator\"></span>\n </li>\n </ul>\n </div>\n</ng-container>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { ListItemComponent } from './list-item/list-item.component';\nimport { merge, Subject, Subscription } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\nimport { FocusEscapeDirection, KeyboardSupportService } from '@fundamental-ngx/core/utils';\nimport { ListGroupHeaderDirective } from './directives/list-group-header.directive';\nimport { ListFocusItem } from './list-focus-item.model';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\nimport { ListNavigationItemComponent } from './list-navigation-item/list-navigation-item.component';\n\ntype FocusItem = ListGroupHeaderDirective | ListItemComponent;\n/**\n * The directive that represents a list.\n * It is used to display a list of items with simple information such as scopes, names, etc.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-list], [fdList]',\n templateUrl: `./list.component.html`,\n host: {\n class: 'fd-list',\n role: 'list'\n },\n styleUrls: ['./list.component.scss', '../utils/drag-and-drop/drag-and-drop.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [KeyboardSupportService]\n})\nexport class ListComponent implements OnInit, AfterContentInit, OnDestroy {\n /** Whether dropdown mode is included to component, used for Select and Combobox */\n @Input()\n @HostBinding('class.fd-list--dropdown')\n dropdownMode = false;\n\n /** Whether multi mode is included to component, used for MultiInput */\n @Input()\n @HostBinding('class.fd-list--multi-input')\n multiInputMode = false;\n\n /** Whether list is used in mobile mode*/\n @Input()\n @HostBinding('class.fd-list--mobile')\n mobileMode = false;\n\n /** Whether compact mode is included to component */\n @Input()\n @HostBinding('class.fd-list--compact')\n compact?: boolean;\n\n /** Whether list component contains message */\n @Input()\n @HostBinding('class.fd-list--has-message')\n hasMessage = false;\n\n /** Whether list component has removed borders */\n @Input()\n @HostBinding('class.fd-list--no-border')\n noBorder = false;\n\n /** Whether list component has navigation indicators */\n @Input()\n @HostBinding('class.fd-list--navigation-indication')\n navigationIndicator = false;\n\n /** Whether list component has checkboxes or radio buttons included */\n @Input()\n @HostBinding('class.fd-list--selection')\n selection = false;\n\n /** Whether internal keyboard support should be enabled. It's enabled by default */\n @Input()\n keyboardSupport = true;\n\n /** Whether list should have a byline */\n @Input()\n @HostBinding('class.fd-list--byline')\n byline = false;\n\n /** Event thrown, when focus escapes the list */\n @Output()\n focusEscapeList = new EventEmitter<FocusEscapeDirection>();\n\n /** Whether list component includes links */\n @HostBinding('class.fd-list--navigation')\n hasNavigation = false;\n\n /** @hidden */\n @ContentChildren(ListItemComponent)\n items: QueryList<ListItemComponent>;\n\n /** @hidden */\n @ContentChildren(ListNavigationItemComponent)\n _navItems: QueryList<ListNavigationItemComponent>;\n\n /** @hidden */\n @ContentChildren(ListFocusItem)\n private _focusItems: QueryList<FocusItem>;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** An RxJS Subject that will kill the data stream upon queryList changes (for unsubscribing) */\n private readonly _onRefresh$: Subject<void> = new Subject<void>();\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _keyboardSupportService: KeyboardSupportService<FocusItem>,\n private _cdr: ChangeDetectorRef,\n @Optional() private _contentDensityService: ContentDensityService\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this._cdr.detectChanges();\n })\n );\n }\n this._listenOnListFocusEscape();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._keyboardSupportService.setKeyboardService(this._focusItems, false);\n this._listenOnQueryChange();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keyDownHandler(event: KeyboardEvent): void {\n if (this.keyboardSupport) {\n this._keyboardSupportService.onKeyDown(event);\n }\n }\n\n /** Set fake focus on element with passed index */\n setItemActive(index: number): void {\n this._keyboardSupportService.keyManager.setActiveItem(index);\n }\n\n /** @hidden */\n private _listenOnQueryChange(): void {\n this._focusItems.changes.pipe(startWith(0), takeUntil(this._onDestroy$)).subscribe(() => {\n this._recheckLinks();\n this._listenOnItemsClick();\n });\n }\n\n /** @hidden */\n private _listenOnItemsClick(): void {\n /** Finish all of the streams, from before */\n this._onRefresh$.next();\n /** Merge refresh/destroy observables */\n const refreshObs = merge(this._onRefresh$, this._onDestroy$);\n this._focusItems.forEach((item, index) =>\n item.clicked.pipe(takeUntil(refreshObs)).subscribe(() => this.setItemActive(index))\n );\n }\n\n /** @hidden */\n private _recheckLinks(): void {\n const items = this.items.filter((item) => item.link);\n this.hasNavigation = items.length > 0;\n }\n\n /** @hidden */\n private _listenOnListFocusEscape(): void {\n this._keyboardSupportService.focusEscapeList\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((direction) => this.focusEscapeList.emit(direction));\n }\n}\n","<ng-content></ng-content>\n","import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\nimport { MessageStates } from '@fundamental-ngx/core/form';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\n\n@Directive({\n selector: '[fd-list-message], [fdListMessage]'\n})\nexport class ListMessageDirective implements OnChanges, OnInit, CssClassBuilder {\n /** Type of the message. Can be 'success' | 'error' | 'warning' | 'information' */\n @Input()\n type: MessageStates;\n\n /** Apply user custom styles */\n @Input()\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 @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 ['fd-list__message', this.type ? 'fd-list__message--' + this.type : '', this.class];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdListFooter], [fd-list-footer]'\n})\nexport class ListFooterDirective {\n /** @hidden */\n @HostBinding('class.fd-list__footer')\n fdListFooterClass = true;\n}\n","import { Directive, ElementRef, HostBinding, Input, OnInit } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-title], [fdListTitle]'\n})\nexport class ListTitleDirective implements OnInit {\n /** @hidden */\n @HostBinding('class.fd-list__title')\n fdListTitleClass = true;\n\n /** Whether or not this should be wrapped, when too much text. */\n @Input()\n @HostBinding('class.fd-list__title--wrap')\n wrap = false;\n\n /** @hidden */\n constructor(public elRef: ElementRef) {}\n\n /** @hidden */\n ngOnInit(): void {\n const nativeEl = this.elRef.nativeElement;\n if (nativeEl.tagName === 'A') {\n nativeEl.setAttribute('tabIndex', '-1');\n }\n }\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output\n} from '@angular/core';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\n\nimport { ListFocusItem } from '../list-focus-item.model';\n\n@Directive({\n selector: '[fdListGroupHeader], [fd-list-group-header]',\n host: {\n '[style.outline]': '\"none\"',\n '[class.fd-list__item]': 'true',\n '[class.fd-list__group-header]': 'true'\n },\n providers: [\n {\n provide: ListFocusItem,\n useExisting: forwardRef(() => ListGroupHeaderDirective)\n }\n ]\n})\nexport class ListGroupHeaderDirective extends ListFocusItem {\n /** tab index attribute */\n @Input()\n @HostBinding('attr.tabindex')\n get tabindex(): number {\n return this._tabIndex;\n }\n set tabindex(value: number) {\n this._tabIndex = coerceNumberProperty(value, -1);\n }\n /** @hidden Implementation of KeyboardSupportItemInterface */\n @Output()\n keyDown: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** @hidden */\n clicked = new EventEmitter<MouseEvent>();\n\n /** @hidden */\n private _tabIndex = -1;\n\n constructor(readonly elementRef: ElementRef) {\n super(elementRef);\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keydownHandler(event: KeyboardEvent): void {\n this.keyDown.emit(event);\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-secondary] ,[fdListSecondary]'\n})\nexport class ListSecondaryDirective {\n /** @hidden */\n @HostBinding('class.fd-list__secondary')\n fdListSecondaryClass = true;\n}\n","import { Directive, ElementRef, HostBinding, Input, OnChanges, OnInit } from '@angular/core';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\n\n@Directive({\n selector: '[fdListIcon], [fd-list-icon]'\n})\nexport class ListIconDirective implements OnChanges, OnInit {\n /** The icon name to display. See the icon page for the list of icons\n * here: https://sap.github.io/fundamental-ngx/icon\n * */\n @Input()\n glyph: string;\n\n /** Apply user custom styles */\n @Input()\n class: string;\n\n /** Role attribute for list icon */\n @Input()\n @HostBinding('attr.role')\n role = 'presentation';\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 @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 ['fd-list__icon', this.glyph ? 'sap-icon--' + this.glyph : '', this.class];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","import { Directive, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdListByline], [fd-list-byline]',\n host: {\n class: 'fd-list__byline',\n '[class.fd-list__byline--2-col]': 'twoCol',\n '[class.fd-list__byline--wrap]': 'wrap'\n }\n})\nexport class ListBylineDirective {\n /** Whether or not this is a 2-column byline. */\n @Input()\n twoCol = false;\n\n /** Whether or not this should be wrapped, when too much text. */\n @Input()\n wrap = false;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdListBylineLeft], [fd-list-byline-left]'\n})\nexport class ListBylineLeftDirective {\n /** @hidden */\n @HostBinding('class.fd-list__byline-left')\n fdListBylineLeftClass = true;\n\n /** Whether or not this should be wrapped, when too much text. */\n @Input()\n @HostBinding('class.fd-list__byline-left--wrap')\n wrap = false;\n}\n","import { Directive, Input } from '@angular/core';\n\nexport type ListBylineStatus = 'neutral' | 'positive' | 'negative' | 'critical' | 'informative';\n\n@Directive({\n selector: '[fdListBylineRight], [fd-list-byline-right]',\n host: {\n class: 'fd-list__byline-right',\n '[class.fd-list__byline-right--neutral]': 'status === \"neutral\"',\n '[class.fd-list__byline-right--positive]': 'status === \"positive\"',\n '[class.fd-list__byline-right--negative]': 'status === \"negative\"',\n '[class.fd-list__byline-right--critical]': 'status === \"critical\"',\n '[class.fd-list__byline-right--informative]': 'status === \"informative\"',\n '[class.fd-list__byline-right--wrap]': 'wrap'\n }\n})\nexport class ListBylineRightDirective {\n /** Semantic status of byline\n * Possible options are:\n * 'neutral' | 'positive' | 'negative' | 'critical' | 'informative'\n */\n @Input()\n status: ListBylineStatus;\n\n /** Whether or not this should be wrapped, when too much text. */\n @Input()\n wrap = false;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdListContent], [fd-list-content]'\n})\nexport class ListContentDirective {\n /** @hidden */\n @HostBinding('class.fd-list__content')\n fdListContentClass = true;\n\n /** Whether or not this is a 2-column content. */\n @Input()\n @HostBinding('class.fd-list__content--2-col')\n twoCol = false;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdListThumbnail], [fd-list-thumbnail]'\n})\nexport class ListThumbnailDirective {\n /** @hidden */\n @HostBinding('class.fd-list__thumbnail')\n fdListThumbnailClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-title-text], [fdListTitleText]'\n})\nexport class ListTitleTextDirective {\n /** @hidden */\n @HostBinding('class.fd-list__title-text')\n fdListTitleText = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ListComponent } from './list.component';\nimport { ListItemComponent } from './list-item/list-item.component';\nimport { ListMessageDirective } from './list-message.directive';\nimport { ListLinkDirective } from './directives/list-link.directive';\nimport { FormModule } from '@fundamental-ngx/core/form';\nimport { ListFooterDirective } from './directives/list-footer.directive';\nimport { ListTitleDirective } from './directives/list-title.directive';\nimport { ListGroupHeaderDirective } from './directives/list-group-header.directive';\nimport { ListSecondaryDirective } from './directives/list-secondary.directive';\nimport { ListIconDirective } from './directives/list-icon.directive';\nimport { ListBylineDirective } from './directives/byline/list-byline.directive';\nimport { ListBylineLeftDirective } from './directives/byline/list-byline-left.directive';\nimport { ListBylineRightDirective } from './directives/byline/list-byline-right.directive';\nimport { ListContentDirective } from './directives/byline/list-content.directive';\nimport { ListThumbnailDirective } from './directives/byline/list-thumbnail.directive';\nimport { ListTitleTextDirective } from './directives/list-title-text.directive';\nimport { ListNavigationItemComponent } from './list-navigation-item/list-navigation-item.component';\nimport { ListNavigationItemArrowDirective } from './directives/list-navigation-item-arrow.directive';\nimport { ListNavigationItemTextDirective } from './directives/list-navigation-item-text.directive';\nimport { IconModule } from '@fundamental-ngx/core/icon';\n\n@NgModule({\n declarations: [\n ListComponent,\n ListItemComponent,\n ListTitleDirective,\n ListSecondaryDirective,\n ListIconDirective,\n ListFooterDirective,\n ListGroupHeaderDirective,\n ListMessageDirective,\n ListLinkDirective,\n ListBylineDirective,\n ListBylineLeftDirective,\n ListBylineRightDirective,\n ListContentDirective,\n ListThumbnailDirective,\n ListTitleTextDirective,\n ListNavigationItemComponent,\n ListNavigationItemArrowDirective,\n ListNavigationItemTextDirective\n ],\n imports: [CommonModule, FormModule, IconModule],\n exports: [\n ListComponent,\n ListItemComponent,\n ListTitleDirective,\n ListFooterDirective,\n ListGroupHeaderDirective,\n ListSecondaryDirective,\n ListIconDirective,\n ListMessageDirective,\n ListLinkDirective,\n ListBylineDirective,\n ListBylineLeftDirective,\n ListBylineRightDirective,\n ListContentDirective,\n ListThumbnailDirective,\n ListTitleTextDirective,\n ListNavigationItemComponent,\n ListNavigationItemArrowDirective,\n ListNavigationItemTextDirective\n ]\n})\nexport class ListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-list.mjs","sources":["../../../../../libs/core/src/lib/list/directives/list-link.directive.ts","../../../../../libs/core/src/lib/list/list-focus-item.model.ts","../../../../../libs/core/src/lib/list/list-item/list-item.component.ts","../../../../../libs/core/src/lib/list/list-item/list-item.component.html","../../../../../libs/core/src/lib/list/directives/list-navigation-item-arrow.directive.ts","../../../../../libs/core/src/lib/list/directives/list-navigation-item-text.directive.ts","../../../../../libs/core/src/lib/list/list-navigation-item/list-navigation-item.component.ts","../../../../../libs/core/src/lib/list/list-navigation-item/list-navigation-item.component.html","../../../../../libs/core/src/lib/list/list.component.ts","../../../../../libs/core/src/lib/list/list.component.html","../../../../../libs/core/src/lib/list/list-message.directive.ts","../../../../../libs/core/src/lib/list/directives/list-footer.directive.ts","../../../../../libs/core/src/lib/list/directives/list-title.directive.ts","../../../../../libs/core/src/lib/list/directives/list-group-header.directive.ts","../../../../../libs/core/src/lib/list/directives/list-secondary.directive.ts","../../../../../libs/core/src/lib/list/directives/list-icon.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-byline.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-byline-left.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-byline-right.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-content.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-thumbnail.directive.ts","../../../../../libs/core/src/lib/list/directives/list-title-text.directive.ts","../../../../../libs/core/src/lib/list/list.module.ts","../../../../../libs/core/src/lib/list/fundamental-ngx-core-list.ts"],"sourcesContent":["import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-link], [fdListLink]'\n})\nexport class ListLinkDirective {\n /** Defines if navigation indicator arrow should be included inside list item */\n @Input()\n @HostBinding('class.fd-list__link--navigation-indicator')\n navigationIndicator = false;\n\n /** Defines if link should be treated as a navigated */\n @Input()\n @HostBinding('class.is-navigated')\n navigated = false;\n\n /** Defines if item is selected */\n @Input()\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('class.fd-list__link')\n fdListLinkClass = true;\n}\n","import { ElementRef, EventEmitter } from '@angular/core';\nimport { KeyboardSupportItemInterface } from '@fundamental-ngx/core/utils';\n\nexport class ListFocusItem implements KeyboardSupportItemInterface {\n /** @hidden Implementation of KeyboardSupportItemInterface */\n keyDown: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n constructor(readonly elementRef: ElementRef) {}\n\n /** @hidden */\n click(): void {\n this.elementRef?.nativeElement?.click();\n }\n\n /** @hidden */\n focus(): void {\n this.elementRef?.nativeElement?.focus();\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\n\nimport { CheckboxComponent } from '@fundamental-ngx/core/checkbox';\nimport { RadioButtonComponent } from '@fundamental-ngx/core/radio';\nimport { ListLinkDirective } from '../directives/list-link.directive';\nimport { Subject } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\nimport { KeyUtil } from '@fundamental-ngx/core/utils';\nimport { LIST_ITEM_COMPONENT, ListItemInterface } from '@fundamental-ngx/core/utils';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { ListFocusItem } from '../list-focus-item.model';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\n\n/**\n * The component that represents a list item.\n * The list item can contain plain text, links or actions.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fdListItem] ,[fd-list-item]',\n templateUrl: './list-item.component.html',\n host: {\n class: 'fd-list__item',\n role: 'listitem'\n },\n providers: [\n {\n provide: LIST_ITEM_COMPONENT,\n useExisting: forwardRef(() => ListItemComponent)\n },\n {\n provide: ListFocusItem,\n useExisting: forwardRef(() => ListItemComponent)\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class ListItemComponent extends ListFocusItem implements AfterContentInit, OnDestroy, ListItemInterface {\n /** Whether list item is selected */\n @Input()\n @HostBinding('attr.aria-selected')\n @HostBinding('class.is-selected')\n selected = false;\n\n /** tab index attribute */\n @Input()\n @HostBinding('attr.tabindex')\n get tabindex(): number {\n return this._tabIndex;\n }\n set tabindex(value: number) {\n this._tabIndex = coerceNumberProperty(value, -1);\n }\n\n /** Whether there is no data inside list item */\n @Input()\n @HostBinding('class.fd-list__item--no-data')\n noData = false;\n\n /** Whether there is item performs some action */\n @Input()\n @HostBinding('class.fd-list__item--action')\n action = false;\n\n /** Whether there is item performs some action */\n @Input()\n @HostBinding('class.fd-list__item--interractive')\n interactive = false;\n\n /** Whether list item contains busy indicator */\n @Input()\n @HostBinding('class.fd-list__item--growing')\n growing = false;\n\n /** Counter on list item */\n @Input()\n counter: number;\n\n /** Whether list item should contain additional unRead styles */\n @Input()\n @HostBinding('class.fd-list__item--unread')\n unread = false;\n\n /** @hidden Implementation of KeyboardSupportItemInterface | TODO Revisit KeyboardSupportItemInterface*/\n @Output()\n keyDown: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** Whether list item contains link */\n @HostBinding('class.fd-list__item--link')\n link = false;\n\n /** @hidden */\n @ContentChild(CheckboxComponent)\n checkbox: CheckboxComponent;\n\n /** @hidden */\n @ContentChild(RadioButtonComponent)\n radio: RadioButtonComponent;\n\n /** @hidden */\n @ContentChildren(ListLinkDirective)\n linkDirectives: QueryList<ListLinkDirective>;\n\n /** @hidden */\n @ContentChildren(ButtonComponent, { descendants: true })\n buttons: QueryList<ButtonComponent>;\n\n /** @hidden Implementation of KeyboardSupportItemInterface | TODO Revisit KeyboardSupportItemInterface*/\n clicked = new EventEmitter<MouseEvent>();\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n private _tabIndex = 0;\n\n constructor(public elementRef: ElementRef, private _changeDetectorRef: ChangeDetectorRef) {\n super(elementRef);\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._listenOnLinkQueryChange();\n this._listenOnButtonQueryChange();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keydownHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n if (this.checkbox) {\n this.checkbox.nextValue();\n this._muteEvent(event);\n }\n if (this.radio) {\n this.radio.labelClicked(event);\n this._muteEvent(event);\n }\n }\n this.keyDown.emit(event);\n }\n\n /** Handler for mouse events */\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n this.clicked.emit(event);\n if (this.checkbox && !this.link) {\n if (!this.checkbox.elementRef.nativeElement.contains(event.target as Node)) {\n // clicking on the checkbox is not suppressed\n // so we should only process clicks if clicked on the list-item, not checkbox itself\n this.checkbox.nextValue();\n }\n }\n if (this.radio && !this.link) {\n this.radio.labelClicked(event);\n }\n }\n\n /** @hidden */\n private _listenOnLinkQueryChange(): void {\n this.linkDirectives.changes.pipe(takeUntil(this._onDestroy$), startWith(0)).subscribe(() => {\n this.link = this.linkDirectives.length > 0;\n this._changeDetectorRef.detectChanges();\n });\n }\n\n /** @hidden */\n private _listenOnButtonQueryChange(): void {\n this.buttons.changes.pipe(takeUntil(this._onDestroy$), startWith(0)).subscribe(() => {\n this.buttons.forEach(this._addClassToButtons);\n });\n }\n\n /** @hidden */\n private _addClassToButtons(button: ButtonComponent): void {\n button.class += 'fd-list__button';\n button.buildComponentCssClass();\n button.detectChanges();\n }\n\n /** @hidden */\n private _muteEvent(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n }\n}\n","<ng-container *ngIf=\"checkbox || radio\">\n <div fd-form-item class=\"fd-list__form-item\">\n <ng-content select=\"fd-checkbox\"></ng-content>\n <ng-content select=\"fd-radio-button\"></ng-content>\n </div>\n</ng-container>\n\n<ng-content></ng-content>\n\n<span *ngIf=\"counter || counter === 0\" class=\"fd-list__item-counter\">\n {{ counter.toString() | slice: 0:5 }}\n</span>\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-navigation-item-arrow], [fdListNavigaitonItemArrow]'\n})\nexport class ListNavigationItemArrowDirective {\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item-arrow')\n navigationItemArrowClass = true;\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-right-arrow')\n rightArrowClass = true;\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-down-arrow')\n downArrowClass = false;\n\n /** @hidden */\n @HostBinding('class.is-expanded')\n expanded = false;\n\n /** @hidden */\n _setExpanded(expanded: boolean): void {\n if (this.expanded !== expanded) {\n this.rightArrowClass = !this.rightArrowClass;\n this.downArrowClass = !this.downArrowClass;\n }\n this.expanded = expanded;\n }\n}\n","import { Directive, ElementRef, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-navigation-item-text], [fdListNavigaitonItemText]'\n})\nexport class ListNavigationItemTextDirective {\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item-text')\n navigationItemTextClass = true;\n\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n get elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n}\n","import { AfterContentInit, Component, ContentChild, forwardRef, HostBinding, HostListener, Input } from '@angular/core';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { ListComponent } from '../list.component';\nimport { ListNavigationItemArrowDirective } from '../directives/list-navigation-item-arrow.directive';\nimport { ListNavigationItemTextDirective } from '../directives/list-navigation-item-text.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-list-navigation-item], [fdListNavigaitonItem]',\n templateUrl: './list-navigation-item.component.html',\n styleUrls: ['./list-navigation-item.component.scss']\n})\nexport class ListNavigationItemComponent implements AfterContentInit {\n /** Whether or not the list item is expanded. */\n @Input()\n @HostBinding('class.is-expanded')\n expanded = false;\n\n /** Whether or not this list item is indicated for navigation. */\n @Input()\n @HostBinding('class.fd-list__navigation-item--indicated')\n indicated = false;\n\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item')\n _navigationItemClass = true;\n\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item--expandable')\n _isExpandable = false;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n _tabIndex;\n\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item--condensed')\n _condensed = false;\n\n /** @hidden */\n @ContentChild(forwardRef(() => ListComponent))\n _listComponent: ListComponent;\n\n /** @hidden */\n @ContentChild(ListNavigationItemArrowDirective)\n _listNavigationItemArrow: ListNavigationItemArrowDirective;\n\n /** @hidden */\n @ContentChild(IconComponent)\n _iconComponent: IconComponent;\n\n /** @hidden */\n @ContentChild(ListNavigationItemTextDirective)\n _text: ListNavigationItemTextDirective;\n\n /** @hidden */\n _innerText: string;\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this._listComponent) {\n this._isExpandable = true;\n } else {\n this._tabIndex = 0;\n }\n if (this._iconComponent) {\n this._iconComponent._navigationItemIcon = true;\n }\n this._innerText = this._text.elementRef.nativeElement.innerText;\n }\n\n /** @hidden */\n @HostListener('click', ['$event'])\n onItemClick(event: MouseEvent): void {\n event.stopPropagation();\n this._handleExpandedChanges(!this.expanded);\n }\n\n /** @hidden */\n _childIndicatedAndCollapsed(): boolean {\n let retVal = false;\n this._listComponent?._navItems?.forEach((navItem) => {\n if (navItem.indicated && !navItem.expanded) {\n retVal = true;\n }\n });\n\n return retVal;\n }\n\n /** @hidden */\n private _handleExpandedChanges(expanded: boolean): void {\n if (this._isExpandable) {\n this.expanded = expanded;\n this._listNavigationItemArrow._setExpanded(this.expanded);\n }\n }\n}\n","<ng-container *ngIf=\"!expanded || !_isExpandable || !_condensed || !_listComponent\">\n <ng-content></ng-content\n ><span *ngIf=\"indicated || _childIndicatedAndCollapsed()\" class=\"fd-list__navigation-item-indicator\"></span>\n</ng-container>\n<ng-container *ngIf=\"expanded && _isExpandable && _condensed && _listComponent\">\n <div\n class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--first-level\"\n aria-hidden=\"false\"\n >\n <ul class=\"fd-list\">\n <li class=\"fd-list__navigation-item fd-list__navigation-item--condensed\">\n <fd-icon class=\"fd-list__navigation-item-icon\" [glyph]=\"_iconComponent.glyph\"></fd-icon>\n <span class=\"fd-list__navigation-item-text\">{{ _innerText }}</span>\n </li>\n </ul>\n </div>\n <div\n class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--second-level\"\n aria-hidden=\"false\"\n >\n <ul class=\"fd-list\">\n <li\n *ngFor=\"let navItem of _listComponent._navItems\"\n class=\"fd-list__navigation-item fd-list__navigation-item--condensed\"\n [class.fd-list__navigation-item--indicated]=\"navItem.indicated\"\n tabindex=\"0\"\n >\n <span *ngIf=\"navItem._innerText\" class=\"fd-list__navigation-item-text\">{{ navItem._innerText }}</span>\n <span *ngIf=\"navItem.indicated\" class=\"fd-list__navigation-item-indicator\"></span>\n </li>\n </ul>\n </div>\n</ng-container>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { ListItemComponent } from './list-item/list-item.component';\nimport { merge, Subject, Subscription } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\nimport { FocusEscapeDirection, KeyboardSupportService } from '@fundamental-ngx/core/utils';\nimport { ListGroupHeaderDirective } from './directives/list-group-header.directive';\nimport { ListFocusItem } from './list-focus-item.model';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\nimport { ListNavigationItemComponent } from './list-navigation-item/list-navigation-item.component';\n\ntype FocusItem = ListGroupHeaderDirective | ListItemComponent;\n/**\n * The directive that represents a list.\n * It is used to display a list of items with simple information such as scopes, names, etc.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-list], [fdList]',\n templateUrl: `./list.component.html`,\n host: {\n class: 'fd-list',\n role: 'list'\n },\n styleUrls: ['./list.component.scss', '../utils/drag-and-drop/drag-and-drop.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [KeyboardSupportService]\n})\nexport class ListComponent implements OnInit, AfterContentInit, OnDestroy {\n /** Whether dropdown mode is included to component, used for Select and Combobox */\n @Input()\n @HostBinding('class.fd-list--dropdown')\n dropdownMode = false;\n\n /** Whether multi mode is included to component, used for MultiInput */\n @Input()\n @HostBinding('class.fd-list--multi-input')\n multiInputMode = false;\n\n /** Whether list is used in mobile mode*/\n @Input()\n @HostBinding('class.fd-list--mobile')\n mobileMode = false;\n\n /** Whether compact mode is included to component */\n @Input()\n @HostBinding('class.fd-list--compact')\n compact?: boolean;\n\n /** Whether list component contains message */\n @Input()\n @HostBinding('class.fd-list--has-message')\n hasMessage = false;\n\n /** Whether list component has removed borders */\n @Input()\n @HostBinding('class.fd-list--no-border')\n noBorder = false;\n\n /** Whether list component has navigation indicators */\n @Input()\n @HostBinding('class.fd-list--navigation-indication')\n navigationIndicator = false;\n\n /** Whether list component has checkboxes or radio buttons included */\n @Input()\n @HostBinding('class.fd-list--selection')\n selection = false;\n\n /** Whether internal keyboard support should be enabled. It's enabled by default */\n @Input()\n keyboardSupport = true;\n\n /** Whether list should have a byline */\n @Input()\n @HostBinding('class.fd-list--byline')\n byline = false;\n\n /** Event thrown, when focus escapes the list */\n @Output()\n focusEscapeList = new EventEmitter<FocusEscapeDirection>();\n\n /** Whether list component includes links */\n @HostBinding('class.fd-list--navigation')\n hasNavigation = false;\n\n /** @hidden */\n @ContentChildren(ListItemComponent)\n items: QueryList<ListItemComponent>;\n\n /** @hidden */\n @ContentChildren(ListNavigationItemComponent)\n _navItems: QueryList<ListNavigationItemComponent>;\n\n /** @hidden */\n @ContentChildren(ListFocusItem)\n private _focusItems: QueryList<FocusItem>;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** An RxJS Subject that will kill the data stream upon queryList changes (for unsubscribing) */\n private readonly _onRefresh$: Subject<void> = new Subject<void>();\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _keyboardSupportService: KeyboardSupportService<FocusItem>,\n private _cdr: ChangeDetectorRef,\n @Optional() private _contentDensityService: ContentDensityService\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this._cdr.detectChanges();\n })\n );\n }\n this._listenOnListFocusEscape();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._keyboardSupportService.setKeyboardService(this._focusItems, false);\n this._listenOnQueryChange();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keyDownHandler(event: KeyboardEvent): void {\n if (this.keyboardSupport) {\n this._keyboardSupportService.onKeyDown(event);\n }\n }\n\n /** Set fake focus on element with passed index */\n setItemActive(index: number): void {\n this._keyboardSupportService.keyManager.setActiveItem(index);\n }\n\n /** @hidden */\n private _listenOnQueryChange(): void {\n this._focusItems.changes.pipe(startWith(0), takeUntil(this._onDestroy$)).subscribe(() => {\n this._recheckLinks();\n this._listenOnItemsClick();\n });\n }\n\n /** @hidden */\n private _listenOnItemsClick(): void {\n /** Finish all of the streams, from before */\n this._onRefresh$.next();\n /** Merge refresh/destroy observables */\n const refreshObs = merge(this._onRefresh$, this._onDestroy$);\n this._focusItems.forEach((item, index) =>\n item.clicked.pipe(takeUntil(refreshObs)).subscribe(() => this.setItemActive(index))\n );\n }\n\n /** @hidden */\n private _recheckLinks(): void {\n const items = this.items.filter((item) => item.link);\n this.hasNavigation = items.length > 0;\n }\n\n /** @hidden */\n private _listenOnListFocusEscape(): void {\n this._keyboardSupportService.focusEscapeList\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((direction) => this.focusEscapeList.emit(direction));\n }\n}\n","<ng-content></ng-content>\n","import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\nimport { MessageStates } from '@fundamental-ngx/core/form';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\n\n@Directive({\n selector: '[fd-list-message], [fdListMessage]'\n})\nexport class ListMessageDirective implements OnChanges, OnInit, CssClassBuilder {\n /** Type of the message. Can be 'success' | 'error' | 'warning' | 'information' */\n @Input()\n type: MessageStates;\n\n /** Apply user custom styles */\n @Input()\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 @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 ['fd-list__message', this.type ? 'fd-list__message--' + this.type : '', this.class];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdListFooter], [fd-list-footer]'\n})\nexport class ListFooterDirective {\n /** @hidden */\n @HostBinding('class.fd-list__footer')\n fdListFooterClass = true;\n}\n","import { Directive, ElementRef, HostBinding, Input, OnInit } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-title], [fdListTitle]'\n})\nexport class ListTitleDirective implements OnInit {\n /** @hidden */\n @HostBinding('class.fd-list__title')\n fdListTitleClass = true;\n\n /** Whether or not this should be wrapped, when too much text. */\n @Input()\n @HostBinding('class.fd-list__title--wrap')\n wrap = false;\n\n /** @hidden */\n constructor(public elRef: ElementRef) {}\n\n /** @hidden */\n ngOnInit(): void {\n const nativeEl = this.elRef.nativeElement;\n if (nativeEl.tagName === 'A') {\n nativeEl.setAttribute('tabIndex', '-1');\n }\n }\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output\n} from '@angular/core';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\n\nimport { ListFocusItem } from '../list-focus-item.model';\n\n@Directive({\n selector: '[fdListGroupHeader], [fd-list-group-header]',\n host: {\n '[style.outline]': '\"none\"',\n '[class.fd-list__item]': 'true',\n '[class.fd-list__group-header]': 'true'\n },\n providers: [\n {\n provide: ListFocusItem,\n useExisting: forwardRef(() => ListGroupHeaderDirective)\n }\n ]\n})\nexport class ListGroupHeaderDirective extends ListFocusItem {\n /** tab index attribute */\n @Input()\n @HostBinding('attr.tabindex')\n get tabindex(): number {\n return this._tabIndex;\n }\n set tabindex(value: number) {\n this._tabIndex = coerceNumberProperty(value, -1);\n }\n /** @hidden Implementation of KeyboardSupportItemInterface */\n @Output()\n keyDown: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** @hidden */\n clicked = new EventEmitter<MouseEvent>();\n\n /** @hidden */\n private _tabIndex = -1;\n\n constructor(readonly elementRef: ElementRef) {\n super(elementRef);\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keydownHandler(event: KeyboardEvent): void {\n this.keyDown.emit(event);\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-secondary] ,[fdListSecondary]'\n})\nexport class ListSecondaryDirective {\n /** @hidden */\n @HostBinding('class.fd-list__secondary')\n fdListSecondaryClass = true;\n}\n","import { Directive, ElementRef, HostBinding, Input, OnChanges, OnInit } from '@angular/core';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\n\n@Directive({\n selector: '[fdListIcon], [fd-list-icon]'\n})\nexport class ListIconDirective implements OnChanges, OnInit {\n /** The icon name to display. See the icon page for the list of icons\n * here: https://sap.github.io/fundamental-ngx/icon\n * */\n @Input()\n glyph: string;\n\n /** Apply user custom styles */\n @Input()\n class: string;\n\n /** Role attribute for list icon */\n @Input()\n @HostBinding('attr.role')\n role = 'presentation';\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 @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 ['fd-list__icon', this.glyph ? 'sap-icon--' + this.glyph : '', this.class];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","import { Directive, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdListByline], [fd-list-byline]',\n host: {\n class: 'fd-list__byline',\n '[class.fd-list__byline--2-col]': 'twoCol',\n '[class.fd-list__byline--wrap]': 'wrap'\n }\n})\nexport class ListBylineDirective {\n /** Whether or not this is a 2-column byline. */\n @Input()\n twoCol = false;\n\n /** Whether or not this should be wrapped, when too much text. */\n @Input()\n wrap = false;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdListBylineLeft], [fd-list-byline-left]'\n})\nexport class ListBylineLeftDirective {\n /** @hidden */\n @HostBinding('class.fd-list__byline-left')\n fdListBylineLeftClass = true;\n\n /** Whether or not this should be wrapped, when too much text. */\n @Input()\n @HostBinding('class.fd-list__byline-left--wrap')\n wrap = false;\n}\n","import { Directive, Input } from '@angular/core';\n\nexport type ListBylineStatus = 'neutral' | 'positive' | 'negative' | 'critical' | 'informative';\n\n@Directive({\n selector: '[fdListBylineRight], [fd-list-byline-right]',\n host: {\n class: 'fd-list__byline-right',\n '[class.fd-list__byline-right--neutral]': 'status === \"neutral\"',\n '[class.fd-list__byline-right--positive]': 'status === \"positive\"',\n '[class.fd-list__byline-right--negative]': 'status === \"negative\"',\n '[class.fd-list__byline-right--critical]': 'status === \"critical\"',\n '[class.fd-list__byline-right--informative]': 'status === \"informative\"',\n '[class.fd-list__byline-right--wrap]': 'wrap'\n }\n})\nexport class ListBylineRightDirective {\n /** Semantic status of byline\n * Possible options are:\n * 'neutral' | 'positive' | 'negative' | 'critical' | 'informative'\n */\n @Input()\n status: ListBylineStatus;\n\n /** Whether or not this should be wrapped, when too much text. */\n @Input()\n wrap = false;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdListContent], [fd-list-content]'\n})\nexport class ListContentDirective {\n /** @hidden */\n @HostBinding('class.fd-list__content')\n fdListContentClass = true;\n\n /** Whether or not this is a 2-column content. */\n @Input()\n @HostBinding('class.fd-list__content--2-col')\n twoCol = false;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdListThumbnail], [fd-list-thumbnail]'\n})\nexport class ListThumbnailDirective {\n /** @hidden */\n @HostBinding('class.fd-list__thumbnail')\n fdListThumbnailClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-title-text], [fdListTitleText]'\n})\nexport class ListTitleTextDirective {\n /** @hidden */\n @HostBinding('class.fd-list__title-text')\n fdListTitleText = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ListComponent } from './list.component';\nimport { ListItemComponent } from './list-item/list-item.component';\nimport { ListMessageDirective } from './list-message.directive';\nimport { ListLinkDirective } from './directives/list-link.directive';\nimport { FormModule } from '@fundamental-ngx/core/form';\nimport { ListFooterDirective } from './directives/list-footer.directive';\nimport { ListTitleDirective } from './directives/list-title.directive';\nimport { ListGroupHeaderDirective } from './directives/list-group-header.directive';\nimport { ListSecondaryDirective } from './directives/list-secondary.directive';\nimport { ListIconDirective } from './directives/list-icon.directive';\nimport { ListBylineDirective } from './directives/byline/list-byline.directive';\nimport { ListBylineLeftDirective } from './directives/byline/list-byline-left.directive';\nimport { ListBylineRightDirective } from './directives/byline/list-byline-right.directive';\nimport { ListContentDirective } from './directives/byline/list-content.directive';\nimport { ListThumbnailDirective } from './directives/byline/list-thumbnail.directive';\nimport { ListTitleTextDirective } from './directives/list-title-text.directive';\nimport { ListNavigationItemComponent } from './list-navigation-item/list-navigation-item.component';\nimport { ListNavigationItemArrowDirective } from './directives/list-navigation-item-arrow.directive';\nimport { ListNavigationItemTextDirective } from './directives/list-navigation-item-text.directive';\nimport { IconModule } from '@fundamental-ngx/core/icon';\n\n@NgModule({\n declarations: [\n ListComponent,\n ListItemComponent,\n ListTitleDirective,\n ListSecondaryDirective,\n ListIconDirective,\n ListFooterDirective,\n ListGroupHeaderDirective,\n ListMessageDirective,\n ListLinkDirective,\n ListBylineDirective,\n ListBylineLeftDirective,\n ListBylineRightDirective,\n ListContentDirective,\n ListThumbnailDirective,\n ListTitleTextDirective,\n ListNavigationItemComponent,\n ListNavigationItemArrowDirective,\n ListNavigationItemTextDirective\n ],\n imports: [CommonModule, FormModule, IconModule],\n exports: [\n ListComponent,\n ListItemComponent,\n ListTitleDirective,\n ListFooterDirective,\n ListGroupHeaderDirective,\n ListSecondaryDirective,\n ListIconDirective,\n ListMessageDirective,\n ListLinkDirective,\n ListBylineDirective,\n ListBylineLeftDirective,\n ListBylineRightDirective,\n ListContentDirective,\n ListThumbnailDirective,\n ListTitleTextDirective,\n ListNavigationItemComponent,\n ListNavigationItemArrowDirective,\n ListNavigationItemTextDirective\n ]\n})\nexport class ListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
package/list/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/list",
3
- "version": "0.33.3",
3
+ "version": "0.33.4-rc.11",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13,.0.0",
6
6
  "@angular/core": "^13,.0.0"
package/menu/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/menu",
3
- "version": "0.33.3",
3
+ "version": "0.33.4-rc.11",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13,.0.0",
6
6
  "@angular/core": "^13,.0.0"
@@ -1,5 +1,5 @@
1
1
  import { Component, Optional } from '@angular/core';
2
- import { MESSAGE_BOX_CONFIGURABLE_ELEMENT, MessageBoxConfig } from '../utils/message-box-config.class';
2
+ import { MessageBoxHost } from '../utils/message-box-config.class';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../utils/message-box-config.class";
5
5
  /**
@@ -11,13 +11,16 @@ import * as i1 from "../utils/message-box-config.class";
11
11
  */
12
12
  export class MessageBoxBodyComponent {
13
13
  /** @hidden */
14
- constructor(messageBoxConfig) {
15
- this.messageBoxConfig = messageBoxConfig;
16
- this.messageBoxConfig = this.messageBoxConfig || {};
14
+ constructor(messageBox) {
15
+ this.messageBox = messageBox;
16
+ }
17
+ /** @hidden */
18
+ get messageBoxConfig() {
19
+ return this.messageBox?._messageBoxConfig || {};
17
20
  }
18
21
  }
19
- MessageBoxBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MessageBoxBodyComponent, deps: [{ token: i1.MessageBoxConfig, optional: true }], target: i0.ɵɵFactoryTarget.Component });
20
- MessageBoxBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: MessageBoxBodyComponent, selector: "fd-message-box-body", host: { properties: { "class.fd-message-box__body": "true", "class.fd-message-box__body--no-vertical-padding": "!messageBoxConfig.verticalPadding" } }, providers: [{ provide: MESSAGE_BOX_CONFIGURABLE_ELEMENT, useExisting: MessageBoxBodyComponent, multi: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
22
+ MessageBoxBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MessageBoxBodyComponent, deps: [{ token: i1.MessageBoxHost, optional: true }], target: i0.ɵɵFactoryTarget.Component });
23
+ MessageBoxBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: MessageBoxBodyComponent, selector: "fd-message-box-body", host: { properties: { "class.fd-message-box__body": "true", "class.fd-message-box__body--no-vertical-padding": "!messageBoxConfig.verticalPadding" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
21
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MessageBoxBodyComponent, decorators: [{
22
25
  type: Component,
23
26
  args: [{
@@ -26,10 +29,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
26
29
  host: {
27
30
  '[class.fd-message-box__body]': 'true',
28
31
  '[class.fd-message-box__body--no-vertical-padding]': '!messageBoxConfig.verticalPadding'
29
- },
30
- providers: [{ provide: MESSAGE_BOX_CONFIGURABLE_ELEMENT, useExisting: MessageBoxBodyComponent, multi: true }]
32
+ }
31
33
  }]
32
- }], ctorParameters: function () { return [{ type: i1.MessageBoxConfig, decorators: [{
34
+ }], ctorParameters: function () { return [{ type: i1.MessageBoxHost, decorators: [{
33
35
  type: Optional
34
36
  }] }]; } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3gtYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9tZXNzYWdlLWJveC9tZXNzYWdlLWJveC1ib2R5L21lc3NhZ2UtYm94LWJvZHkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFDSCxnQ0FBZ0MsRUFDaEMsZ0JBQWdCLEVBRW5CLE1BQU0sbUNBQW1DLENBQUM7OztBQUUzQzs7Ozs7O0dBTUc7QUFVSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLGNBQWM7SUFDZCxZQUErQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUM3RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztJQUN4RCxDQUFDOztvSEFKUSx1QkFBdUI7d0dBQXZCLHVCQUF1QixzTUFGckIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLDBCQUxuRywyQkFBMkI7MkZBTzVCLHVCQUF1QjtrQkFUbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxJQUFJLEVBQUU7d0JBQ0YsOEJBQThCLEVBQUUsTUFBTTt3QkFDdEMsbURBQW1ELEVBQUUsbUNBQW1DO3FCQUMzRjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxXQUFXLHlCQUF5QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztpQkFDaEg7OzBCQUdnQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBNRVNTQUdFX0JPWF9DT05GSUdVUkFCTEVfRUxFTUVOVCxcbiAgICBNZXNzYWdlQm94Q29uZmlnLFxuICAgIE1lc3NhZ2VCb3hDb25maWd1cmFibGVFbGVtZW50XG59IGZyb20gJy4uL3V0aWxzL21lc3NhZ2UtYm94LWNvbmZpZy5jbGFzcyc7XG5cbi8qKlxuICogQnVpbGRpbmcgYmxvY2sgb2YgdGhlIG1lc3NhZ2UgYm94IHVzZWQgdG8gY3JlYXRlIG1lc3NhZ2UgYm94IGJvZHkuXG4gKlxuICogYGBgaHRtbFxuICogPGZkLW1lc3NhZ2UtYm94LWJvZHk+PC9mZC1tZXNzYWdlLWJveC1ib2R5PlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtbWVzc2FnZS1ib3gtYm9keScsXG4gICAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MuZmQtbWVzc2FnZS1ib3hfX2JvZHldJzogJ3RydWUnLFxuICAgICAgICAnW2NsYXNzLmZkLW1lc3NhZ2UtYm94X19ib2R5LS1uby12ZXJ0aWNhbC1wYWRkaW5nXSc6ICchbWVzc2FnZUJveENvbmZpZy52ZXJ0aWNhbFBhZGRpbmcnXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1FU1NBR0VfQk9YX0NPTkZJR1VSQUJMRV9FTEVNRU5ULCB1c2VFeGlzdGluZzogTWVzc2FnZUJveEJvZHlDb21wb25lbnQsIG11bHRpOiB0cnVlIH1dXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VCb3hCb2R5Q29tcG9uZW50IGltcGxlbWVudHMgTWVzc2FnZUJveENvbmZpZ3VyYWJsZUVsZW1lbnQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHVibGljIG1lc3NhZ2VCb3hDb25maWc6IE1lc3NhZ2VCb3hDb25maWcpIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlQm94Q29uZmlnID0gdGhpcy5tZXNzYWdlQm94Q29uZmlnIHx8IHt9O1xuICAgIH1cbn1cbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3gtYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9tZXNzYWdlLWJveC9tZXNzYWdlLWJveC1ib2R5L21lc3NhZ2UtYm94LWJvZHkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQW9CLE1BQU0sbUNBQW1DLENBQUM7OztBQUVyRjs7Ozs7O0dBTUc7QUFTSCxNQUFNLE9BQU8sdUJBQXVCO0lBS2hDLGNBQWM7SUFDZCxZQUFnQyxVQUEyQjtRQUEzQixlQUFVLEdBQVYsVUFBVSxDQUFpQjtJQUFHLENBQUM7SUFML0QsY0FBYztJQUNkLElBQUksZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsSUFBSSxFQUFFLENBQUM7SUFDcEQsQ0FBQzs7b0hBSlEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsbU5BTnRCLDJCQUEyQjsyRkFNNUIsdUJBQXVCO2tCQVJuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLElBQUksRUFBRTt3QkFDRiw4QkFBOEIsRUFBRSxNQUFNO3dCQUN0QyxtREFBbUQsRUFBRSxtQ0FBbUM7cUJBQzNGO2lCQUNKOzswQkFPZ0IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VCb3hIb3N0LCBNZXNzYWdlQm94Q29uZmlnIH0gZnJvbSAnLi4vdXRpbHMvbWVzc2FnZS1ib3gtY29uZmlnLmNsYXNzJztcblxuLyoqXG4gKiBCdWlsZGluZyBibG9jayBvZiB0aGUgbWVzc2FnZSBib3ggdXNlZCB0byBjcmVhdGUgbWVzc2FnZSBib3ggYm9keS5cbiAqXG4gKiBgYGBodG1sXG4gKiA8ZmQtbWVzc2FnZS1ib3gtYm9keT48L2ZkLW1lc3NhZ2UtYm94LWJvZHk+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1tZXNzYWdlLWJveC1ib2R5JyxcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5mZC1tZXNzYWdlLWJveF9fYm9keV0nOiAndHJ1ZScsXG4gICAgICAgICdbY2xhc3MuZmQtbWVzc2FnZS1ib3hfX2JvZHktLW5vLXZlcnRpY2FsLXBhZGRpbmddJzogJyFtZXNzYWdlQm94Q29uZmlnLnZlcnRpY2FsUGFkZGluZydcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VCb3hCb2R5Q29tcG9uZW50IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBtZXNzYWdlQm94Q29uZmlnKCk6IE1lc3NhZ2VCb3hDb25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlQm94Py5fbWVzc2FnZUJveENvbmZpZyB8fCB7fTtcbiAgICB9XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIG1lc3NhZ2VCb3g/OiBNZXNzYWdlQm94SG9zdCkge31cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { Component, Optional } from '@angular/core';
2
- import { MESSAGE_BOX_CONFIGURABLE_ELEMENT, MessageBoxConfig } from '../utils/message-box-config.class';
2
+ import { MessageBoxHost } from '../utils/message-box-config.class';
3
3
  import { DialogFooterBase } from '@fundamental-ngx/core/dialog';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "../utils/message-box-config.class";
@@ -20,10 +20,13 @@ export const MessageBoxButtonClass = 'fd-message-box__decisive-button';
20
20
  * */
21
21
  export class MessageBoxFooterComponent extends DialogFooterBase {
22
22
  /** @hidden */
23
- constructor(messageBoxConfig) {
23
+ constructor(messageBox) {
24
24
  super();
25
- this.messageBoxConfig = messageBoxConfig;
26
- this.messageBoxConfig = this.messageBoxConfig || {};
25
+ this.messageBox = messageBox;
26
+ }
27
+ /** @hidden */
28
+ get messageBoxConfig() {
29
+ return this.messageBox?._messageBoxConfig || {};
27
30
  }
28
31
  /** @hidden */
29
32
  ngAfterContentInit() {
@@ -34,12 +37,12 @@ export class MessageBoxFooterComponent extends DialogFooterBase {
34
37
  this._listenForButtonChanges(MessageBoxButtonClass);
35
38
  }
36
39
  }
37
- MessageBoxFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MessageBoxFooterComponent, deps: [{ token: i1.MessageBoxConfig, optional: true }], target: i0.ɵɵFactoryTarget.Component });
38
- MessageBoxFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: MessageBoxFooterComponent, selector: "fd-message-box-footer", providers: [{ provide: MESSAGE_BOX_CONFIGURABLE_ELEMENT, useExisting: MessageBoxFooterComponent, multi: true }], usesInheritance: true, ngImport: i0, template: "<footer fd-bar class=\"fd-message-box__footer\" barDesign=\"footer\" [cozy]=\"messageBoxConfig.mobile\">\n <ng-container *ngTemplateOutlet=\"footerTemplate ? footerTemplate : defaultTemplate\"></ng-container>\n <ng-template #defaultTemplate>\n <div fd-bar-right>\n <ng-content></ng-content>\n </div>\n </ng-template>\n</footer>\n", components: [{ type: i2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size", "cozy"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.BarRightDirective, selector: "[fd-bar-right]" }] });
40
+ MessageBoxFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MessageBoxFooterComponent, deps: [{ token: i1.MessageBoxHost, optional: true }], target: i0.ɵɵFactoryTarget.Component });
41
+ MessageBoxFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: MessageBoxFooterComponent, selector: "fd-message-box-footer", usesInheritance: true, ngImport: i0, template: "<footer fd-bar class=\"fd-message-box__footer\" barDesign=\"footer\" [cozy]=\"messageBoxConfig.mobile\">\n <ng-container *ngTemplateOutlet=\"footerTemplate ? footerTemplate : defaultTemplate\"></ng-container>\n <ng-template #defaultTemplate>\n <div fd-bar-right>\n <ng-content></ng-content>\n </div>\n </ng-template>\n</footer>\n", components: [{ type: i2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size", "cozy"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.BarRightDirective, selector: "[fd-bar-right]" }] });
39
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MessageBoxFooterComponent, decorators: [{
40
43
  type: Component,
41
- args: [{ selector: 'fd-message-box-footer', providers: [{ provide: MESSAGE_BOX_CONFIGURABLE_ELEMENT, useExisting: MessageBoxFooterComponent, multi: true }], template: "<footer fd-bar class=\"fd-message-box__footer\" barDesign=\"footer\" [cozy]=\"messageBoxConfig.mobile\">\n <ng-container *ngTemplateOutlet=\"footerTemplate ? footerTemplate : defaultTemplate\"></ng-container>\n <ng-template #defaultTemplate>\n <div fd-bar-right>\n <ng-content></ng-content>\n </div>\n </ng-template>\n</footer>\n" }]
42
- }], ctorParameters: function () { return [{ type: i1.MessageBoxConfig, decorators: [{
44
+ args: [{ selector: 'fd-message-box-footer', template: "<footer fd-bar class=\"fd-message-box__footer\" barDesign=\"footer\" [cozy]=\"messageBoxConfig.mobile\">\n <ng-container *ngTemplateOutlet=\"footerTemplate ? footerTemplate : defaultTemplate\"></ng-container>\n <ng-template #defaultTemplate>\n <div fd-bar-right>\n <ng-content></ng-content>\n </div>\n </ng-template>\n</footer>\n" }]
45
+ }], ctorParameters: function () { return [{ type: i1.MessageBoxHost, decorators: [{
43
46
  type: Optional
44
47
  }] }]; } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3gtZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL21lc3NhZ2UtYm94L21lc3NhZ2UtYm94LWZvb3Rlci9tZXNzYWdlLWJveC1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbWVzc2FnZS1ib3gvbWVzc2FnZS1ib3gtZm9vdGVyL21lc3NhZ2UtYm94LWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1DLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUNILGdDQUFnQyxFQUNoQyxnQkFBZ0IsRUFFbkIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7QUFFaEUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsaUNBQWlDLENBQUM7QUFFdkU7Ozs7Ozs7Ozs7O0tBV0s7QUFNTCxNQUFNLE9BQU8seUJBQ1QsU0FBUSxnQkFBZ0I7SUFHeEIsY0FBYztJQUNkLFlBQStCLGdCQUFrQztRQUM3RCxLQUFLLEVBQUUsQ0FBQztRQURtQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBRTdELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFRCxjQUFjO0lBQ2Qsa0JBQWtCO1FBQ2QsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELGNBQWM7SUFDZCxlQUFlO1FBQ1gsSUFBSSxDQUFDLHVCQUF1QixDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDeEQsQ0FBQzs7c0hBbEJRLHlCQUF5QjswR0FBekIseUJBQXlCLGdEQUZ2QixDQUFDLEVBQUUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLFdBQVcsRUFBRSx5QkFBeUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsaURDekJuSCw2V0FRQTsyRkRtQmEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNJLHVCQUF1QixhQUV0QixDQUFDLEVBQUUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLFdBQVcsMkJBQTJCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDOzswQkFPbEcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgTUVTU0FHRV9CT1hfQ09ORklHVVJBQkxFX0VMRU1FTlQsXG4gICAgTWVzc2FnZUJveENvbmZpZyxcbiAgICBNZXNzYWdlQm94Q29uZmlndXJhYmxlRWxlbWVudFxufSBmcm9tICcuLi91dGlscy9tZXNzYWdlLWJveC1jb25maWcuY2xhc3MnO1xuaW1wb3J0IHsgRGlhbG9nRm9vdGVyQmFzZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9kaWFsb2cnO1xuXG5leHBvcnQgY29uc3QgTWVzc2FnZUJveEJ1dHRvbkNsYXNzID0gJ2ZkLW1lc3NhZ2UtYm94X19kZWNpc2l2ZS1idXR0b24nO1xuXG4vKipcbiAqIEJ1aWxkaW5nIGJsb2NrIG9mIHRoZSBtZXNzYWdlIGJveCB1c2VkIHRvIGNyZWF0ZSBtZXNzYWdlIGJveCBoZWFkZXIuXG4gKlxuICogYGBgaHRtbFxuICogPGZkLW1lc3NhZ2UtYm94LWZvb3Rlcj48IS0tQ29udGVudC0tPjwvZmQtbWVzc2FnZS1ib3gtZm9vdGVyPlxuICpcbiAqIENvbXBsZXggZm9vdGVyOlxuICogPGZkLW1lc3NhZ2UtYm94LWZvb3Rlcj5cbiAqICAgICA8bmctdGVtcGxhdGUgZmRUZW1wbGF0ZT1cImZvb3RlclwiPjwhLS1Db250ZW50LS0+PC9uZy10ZW1wbGF0ZT5cbiAqIDwvZmQtbWVzc2FnZS1ib3gtZm9vdGVyPlxuICogYGBgXG4gKiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1tZXNzYWdlLWJveC1mb290ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tZXNzYWdlLWJveC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTUVTU0FHRV9CT1hfQ09ORklHVVJBQkxFX0VMRU1FTlQsIHVzZUV4aXN0aW5nOiBNZXNzYWdlQm94Rm9vdGVyQ29tcG9uZW50LCBtdWx0aTogdHJ1ZSB9XVxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlQm94Rm9vdGVyQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBEaWFsb2dGb290ZXJCYXNlXG4gICAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBNZXNzYWdlQm94Q29uZmlndXJhYmxlRWxlbWVudFxue1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHVibGljIG1lc3NhZ2VCb3hDb25maWc6IE1lc3NhZ2VCb3hDb25maWcpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlQm94Q29uZmlnID0gdGhpcy5tZXNzYWdlQm94Q29uZmlnIHx8IHt9O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ0FmdGVyQ29udGVudEluaXQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGlzdGVuRm9yQnV0dG9uQ2hhbmdlcyhNZXNzYWdlQm94QnV0dG9uQ2xhc3MpO1xuICAgIH1cbn1cbiIsIjxmb290ZXIgZmQtYmFyIGNsYXNzPVwiZmQtbWVzc2FnZS1ib3hfX2Zvb3RlclwiIGJhckRlc2lnbj1cImZvb3RlclwiIFtjb3p5XT1cIm1lc3NhZ2VCb3hDb25maWcubW9iaWxlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRlbXBsYXRlID8gZm9vdGVyVGVtcGxhdGUgOiBkZWZhdWx0VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZT5cbiAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L2Zvb3Rlcj5cbiJdfQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3gtZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL21lc3NhZ2UtYm94L21lc3NhZ2UtYm94LWZvb3Rlci9tZXNzYWdlLWJveC1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbWVzc2FnZS1ib3gvbWVzc2FnZS1ib3gtZm9vdGVyL21lc3NhZ2UtYm94LWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1DLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFvQixjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7QUFFaEUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsaUNBQWlDLENBQUM7QUFFdkU7Ozs7Ozs7Ozs7O0tBV0s7QUFLTCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsZ0JBQWdCO0lBTTNELGNBQWM7SUFDZCxZQUFnQyxVQUEyQjtRQUN2RCxLQUFLLEVBQUUsQ0FBQztRQURvQixlQUFVLEdBQVYsVUFBVSxDQUFpQjtJQUUzRCxDQUFDO0lBUkQsY0FBYztJQUNkLElBQUksZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsSUFBSSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQU9ELGNBQWM7SUFDZCxrQkFBa0I7UUFDZCxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsY0FBYztJQUNkLGVBQWU7UUFDWCxJQUFJLENBQUMsdUJBQXVCLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN4RCxDQUFDOztzSEFuQlEseUJBQXlCOzBHQUF6Qix5QkFBeUIsb0ZDdEJ0Qyw2V0FRQTsyRkRjYSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0ksdUJBQXVCOzswQkFVcEIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VCb3hDb25maWcsIE1lc3NhZ2VCb3hIb3N0IH0gZnJvbSAnLi4vdXRpbHMvbWVzc2FnZS1ib3gtY29uZmlnLmNsYXNzJztcbmltcG9ydCB7IERpYWxvZ0Zvb3RlckJhc2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGlhbG9nJztcblxuZXhwb3J0IGNvbnN0IE1lc3NhZ2VCb3hCdXR0b25DbGFzcyA9ICdmZC1tZXNzYWdlLWJveF9fZGVjaXNpdmUtYnV0dG9uJztcblxuLyoqXG4gKiBCdWlsZGluZyBibG9jayBvZiB0aGUgbWVzc2FnZSBib3ggdXNlZCB0byBjcmVhdGUgbWVzc2FnZSBib3ggaGVhZGVyLlxuICpcbiAqIGBgYGh0bWxcbiAqIDxmZC1tZXNzYWdlLWJveC1mb290ZXI+PCEtLUNvbnRlbnQtLT48L2ZkLW1lc3NhZ2UtYm94LWZvb3Rlcj5cbiAqXG4gKiBDb21wbGV4IGZvb3RlcjpcbiAqIDxmZC1tZXNzYWdlLWJveC1mb290ZXI+XG4gKiAgICAgPG5nLXRlbXBsYXRlIGZkVGVtcGxhdGU9XCJmb290ZXJcIj48IS0tQ29udGVudC0tPjwvbmctdGVtcGxhdGU+XG4gKiA8L2ZkLW1lc3NhZ2UtYm94LWZvb3Rlcj5cbiAqIGBgYFxuICogKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtbWVzc2FnZS1ib3gtZm9vdGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWVzc2FnZS1ib3gtZm9vdGVyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlQm94Rm9vdGVyQ29tcG9uZW50IGV4dGVuZHMgRGlhbG9nRm9vdGVyQmFzZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IG1lc3NhZ2VCb3hDb25maWcoKTogTWVzc2FnZUJveENvbmZpZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VCb3g/Ll9tZXNzYWdlQm94Q29uZmlnIHx8IHt9O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHJpdmF0ZSBtZXNzYWdlQm94PzogTWVzc2FnZUJveEhvc3QpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdBZnRlckNvbnRlbnRJbml0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpc3RlbkZvckJ1dHRvbkNoYW5nZXMoTWVzc2FnZUJveEJ1dHRvbkNsYXNzKTtcbiAgICB9XG59XG4iLCI8Zm9vdGVyIGZkLWJhciBjbGFzcz1cImZkLW1lc3NhZ2UtYm94X19mb290ZXJcIiBiYXJEZXNpZ249XCJmb290ZXJcIiBbY296eV09XCJtZXNzYWdlQm94Q29uZmlnLm1vYmlsZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJUZW1wbGF0ZSA/IGZvb3RlclRlbXBsYXRlIDogZGVmYXVsdFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XG4gICAgICAgIDxkaXYgZmQtYmFyLXJpZ2h0PlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9mb290ZXI+XG4iXX0=
@@ -1,6 +1,7 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Optional } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, Optional, ViewChild } from '@angular/core';
2
2
  import { DialogHeaderBase } from '@fundamental-ngx/core/dialog';
3
- import { MESSAGE_BOX_CONFIGURABLE_ELEMENT, MessageBoxConfig } from '../utils/message-box-config.class';
3
+ import { MessageBoxSemanticIconComponent } from '../message-box-semantic-icon/message-box-semantic-icon.component';
4
+ import { MessageBoxHost } from '../utils/message-box-config.class';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../utils/message-box-config.class";
6
7
  import * as i2 from "@fundamental-ngx/core/bar";
@@ -24,27 +25,40 @@ import * as i4 from "@angular/common";
24
25
  */
25
26
  export class MessageBoxHeaderComponent extends DialogHeaderBase {
26
27
  /** @hidden */
27
- constructor(messageBoxConfig, changeDetectorRef) {
28
- super(changeDetectorRef);
29
- this.messageBoxConfig = messageBoxConfig;
30
- this.messageBoxConfig = this.messageBoxConfig || {};
28
+ constructor(_cdr, messageBox) {
29
+ super(_cdr);
30
+ this._cdr = _cdr;
31
+ this.messageBox = messageBox;
32
+ }
33
+ /** @hidden */
34
+ get messageBoxConfig() {
35
+ return this.messageBox?._messageBoxConfig || {};
31
36
  }
32
37
  /** @hidden */
33
38
  get _showSemanticIcon() {
34
- return ((this.messageBoxConfig.type && this.messageBoxConfig.showSemanticIcon) ||
35
- !!this.messageBoxConfig.customSemanticIcon);
39
+ return (!this._projectedSemanticIcon &&
40
+ ((this.messageBoxConfig.type && this.messageBoxConfig.showSemanticIcon) ||
41
+ !!this.messageBoxConfig.customSemanticIcon));
36
42
  }
37
43
  /** @hidden */
38
- ngAfterContentInit() {
39
- super.ngAfterContentInit();
44
+ ngAfterViewInit() {
45
+ // need to re-check bindings after initialisation in order to reflect the proper state of "_showSemanticIcon" getter
46
+ // running this in next microtask to avoid "ExpressionChangedAfterItHasBeenCheckedError"
47
+ Promise.resolve().then(() => this._cdr.markForCheck());
40
48
  }
41
49
  }
42
- MessageBoxHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MessageBoxHeaderComponent, deps: [{ token: i1.MessageBoxConfig, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
43
- MessageBoxHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: MessageBoxHeaderComponent, selector: "fd-message-box-header", providers: [{ provide: MESSAGE_BOX_CONFIGURABLE_ELEMENT, useExisting: MessageBoxHeaderComponent, multi: true }], usesInheritance: true, ngImport: i0, template: "<div\n fd-bar\n class=\"fd-message-box__header\"\n [cozy]=\"messageBoxConfig.mobile\"\n [barDesign]=\"subHeaderTemplate ? 'header-with-subheader' : 'header'\"\n>\n <ng-container *ngTemplateOutlet=\"headerTemplate ? headerTemplate : defaultTemplate\"></ng-container>\n\n <ng-template #defaultTemplate>\n <div fd-bar-left>\n <fd-bar-element>\n <fd-message-box-semantic-icon *ngIf=\"_showSemanticIcon\"></fd-message-box-semantic-icon>\n <ng-content select=\"[fd-title]\"></ng-content>\n </fd-bar-element>\n </div>\n </ng-template>\n</div>\n\n<div\n fd-bar\n *ngIf=\"subHeaderTemplate\"\n class=\"fd-message-box__subheader\"\n barDesign=\"subheader\"\n [cozy]=\"messageBoxConfig.mobile\"\n>\n <ng-container *ngTemplateOutlet=\"subHeaderTemplate\"></ng-container>\n</div>\n", components: [{ type: i2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size", "cozy"] }, { type: i3.MessageBoxSemanticIconComponent, selector: "fd-message-box-semantic-icon", inputs: ["glyph"] }], directives: [{ type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.BarLeftDirective, selector: "[fd-bar-left]" }, { type: i2.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
50
+ MessageBoxHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MessageBoxHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.MessageBoxHost, optional: true }], target: i0.ɵɵFactoryTarget.Component });
51
+ MessageBoxHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: MessageBoxHeaderComponent, selector: "fd-message-box-header", queries: [{ propertyName: "_projectedSemanticIcon", first: true, predicate: MessageBoxSemanticIconComponent, descendants: true }], viewQueries: [{ propertyName: "defaultTemplateHeaderBar", first: true, predicate: ["defaultTemplateHeaderBar"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n fd-bar\n class=\"fd-message-box__header\"\n [cozy]=\"messageBoxConfig.mobile\"\n [barDesign]=\"subHeaderTemplate ? 'header-with-subheader' : 'header'\"\n>\n <ng-container *ngTemplateOutlet=\"headerTemplate ? headerTemplate : defaultTemplate\"></ng-container>\n\n <ng-template #defaultTemplate>\n <div fd-bar-left>\n <fd-bar-element #defaultTemplateHeaderBar>\n <fd-message-box-semantic-icon\n class=\"fd-message-box__internal-semantic-icon\"\n *ngIf=\"_showSemanticIcon\"\n ></fd-message-box-semantic-icon>\n <ng-content select=\"fd-message-box-semantic-icon\"></ng-content>\n <ng-content select=\"[fd-title]\"></ng-content>\n </fd-bar-element>\n </div>\n </ng-template>\n</div>\n\n<div\n fd-bar\n *ngIf=\"subHeaderTemplate\"\n class=\"fd-message-box__subheader\"\n barDesign=\"subheader\"\n [cozy]=\"messageBoxConfig.mobile\"\n>\n <ng-container *ngTemplateOutlet=\"subHeaderTemplate\"></ng-container>\n</div>\n", components: [{ type: i2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size", "cozy"] }, { type: i3.MessageBoxSemanticIconComponent, selector: "fd-message-box-semantic-icon", inputs: ["glyph"] }], directives: [{ type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.BarLeftDirective, selector: "[fd-bar-left]" }, { type: i2.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
44
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MessageBoxHeaderComponent, decorators: [{
45
53
  type: Component,
46
- args: [{ selector: 'fd-message-box-header', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MESSAGE_BOX_CONFIGURABLE_ELEMENT, useExisting: MessageBoxHeaderComponent, multi: true }], template: "<div\n fd-bar\n class=\"fd-message-box__header\"\n [cozy]=\"messageBoxConfig.mobile\"\n [barDesign]=\"subHeaderTemplate ? 'header-with-subheader' : 'header'\"\n>\n <ng-container *ngTemplateOutlet=\"headerTemplate ? headerTemplate : defaultTemplate\"></ng-container>\n\n <ng-template #defaultTemplate>\n <div fd-bar-left>\n <fd-bar-element>\n <fd-message-box-semantic-icon *ngIf=\"_showSemanticIcon\"></fd-message-box-semantic-icon>\n <ng-content select=\"[fd-title]\"></ng-content>\n </fd-bar-element>\n </div>\n </ng-template>\n</div>\n\n<div\n fd-bar\n *ngIf=\"subHeaderTemplate\"\n class=\"fd-message-box__subheader\"\n barDesign=\"subheader\"\n [cozy]=\"messageBoxConfig.mobile\"\n>\n <ng-container *ngTemplateOutlet=\"subHeaderTemplate\"></ng-container>\n</div>\n" }]
47
- }], ctorParameters: function () { return [{ type: i1.MessageBoxConfig, decorators: [{
54
+ args: [{ selector: 'fd-message-box-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n fd-bar\n class=\"fd-message-box__header\"\n [cozy]=\"messageBoxConfig.mobile\"\n [barDesign]=\"subHeaderTemplate ? 'header-with-subheader' : 'header'\"\n>\n <ng-container *ngTemplateOutlet=\"headerTemplate ? headerTemplate : defaultTemplate\"></ng-container>\n\n <ng-template #defaultTemplate>\n <div fd-bar-left>\n <fd-bar-element #defaultTemplateHeaderBar>\n <fd-message-box-semantic-icon\n class=\"fd-message-box__internal-semantic-icon\"\n *ngIf=\"_showSemanticIcon\"\n ></fd-message-box-semantic-icon>\n <ng-content select=\"fd-message-box-semantic-icon\"></ng-content>\n <ng-content select=\"[fd-title]\"></ng-content>\n </fd-bar-element>\n </div>\n </ng-template>\n</div>\n\n<div\n fd-bar\n *ngIf=\"subHeaderTemplate\"\n class=\"fd-message-box__subheader\"\n barDesign=\"subheader\"\n [cozy]=\"messageBoxConfig.mobile\"\n>\n <ng-container *ngTemplateOutlet=\"subHeaderTemplate\"></ng-container>\n</div>\n" }]
55
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.MessageBoxHost, decorators: [{
48
56
  type: Optional
49
- }] }, { type: i0.ChangeDetectorRef }]; } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3gtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL21lc3NhZ2UtYm94L21lc3NhZ2UtYm94LWhlYWRlci9tZXNzYWdlLWJveC1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbWVzc2FnZS1ib3gvbWVzc2FnZS1ib3gtaGVhZGVyL21lc3NhZ2UtYm94LWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUNILGdDQUFnQyxFQUNoQyxnQkFBZ0IsRUFFbkIsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7O0FBRTNDOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQU9ILE1BQU0sT0FBTyx5QkFDVCxTQUFRLGdCQUFnQjtJQUd4QixjQUFjO0lBQ2QsWUFBK0IsZ0JBQWtDLEVBQUUsaUJBQW9DO1FBQ25HLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBREUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUU3RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQsY0FBYztJQUNkLElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sQ0FDSCxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDO1lBQ3RFLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQzdDLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYztJQUNkLGtCQUFrQjtRQUNkLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQy9CLENBQUM7O3NIQXJCUSx5QkFBeUI7MEdBQXpCLHlCQUF5QixnREFGdkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxXQUFXLEVBQUUseUJBQXlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLGlEQzVCbkgsMjJCQTJCQTsyRkRHYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0ksdUJBQXVCLG1CQUVoQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsV0FBVywyQkFBMkIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7OzBCQU9sRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWFsb2dIZWFkZXJCYXNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2RpYWxvZyc7XG5pbXBvcnQge1xuICAgIE1FU1NBR0VfQk9YX0NPTkZJR1VSQUJMRV9FTEVNRU5ULFxuICAgIE1lc3NhZ2VCb3hDb25maWcsXG4gICAgTWVzc2FnZUJveENvbmZpZ3VyYWJsZUVsZW1lbnRcbn0gZnJvbSAnLi4vdXRpbHMvbWVzc2FnZS1ib3gtY29uZmlnLmNsYXNzJztcblxuLyoqXG4gKiBCdWlsZGluZyBibG9jayBvZiB0aGUgbWVzc2FnZSBib3ggdXNlZCB0byBjcmVhdGUgbWVzc2FnZSBib3ggaGVhZGVyLlxuICpcbiAqIGBgYGh0bWxcbiAqIDxmZC1tZXNzYWdlLWJveC1oZWFkZXI+XG4gKiAgICAgPGZkLW1lc3NhZ2UtYm94LXNlbWFudGljLWljb24+PC9mZC1tZXNzYWdlLWJveC1zZW1hbnRpYy1pY29uPlxuICogICAgIDxoMSBmZC10aXRsZT48IS0tIENvbnRlbnQgLS0+PC9oMT5cbiAqIDwvZmQtbWVzc2FnZS1ib3gtaGVhZGVyPlxuICpcbiAqIENvbXBsZXggaGVhZGVyOlxuICogPGZkLW1lc3NhZ2UtYm94LWhlYWRlcj5cbiAqICAgICA8bmctdGVtcGxhdGUgZmRUZW1wbGF0ZT1cImhlYWRlclwiPjwhLS1Db250ZW50LS0+PC9uZy10ZW1wbGF0ZT5cbiAqICAgICA8bmctdGVtcGxhdGUgZmRUZW1wbGF0ZT1cInN1YmhlYWRlclwiPjwhLS1Db250ZW50LS0+PC9uZy10ZW1wbGF0ZT5cbiAqIDwvZmQtbWVzc2FnZS1ib3gtaGVhZGVyPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtbWVzc2FnZS1ib3gtaGVhZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWVzc2FnZS1ib3gtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1FU1NBR0VfQk9YX0NPTkZJR1VSQUJMRV9FTEVNRU5ULCB1c2VFeGlzdGluZzogTWVzc2FnZUJveEhlYWRlckNvbXBvbmVudCwgbXVsdGk6IHRydWUgfV1cbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZUJveEhlYWRlckNvbXBvbmVudFxuICAgIGV4dGVuZHMgRGlhbG9nSGVhZGVyQmFzZVxuICAgIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgTWVzc2FnZUJveENvbmZpZ3VyYWJsZUVsZW1lbnRcbntcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHB1YmxpYyBtZXNzYWdlQm94Q29uZmlnOiBNZXNzYWdlQm94Q29uZmlnLCBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgICAgICB0aGlzLm1lc3NhZ2VCb3hDb25maWcgPSB0aGlzLm1lc3NhZ2VCb3hDb25maWcgfHwge307XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX3Nob3dTZW1hbnRpY0ljb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAodGhpcy5tZXNzYWdlQm94Q29uZmlnLnR5cGUgJiYgdGhpcy5tZXNzYWdlQm94Q29uZmlnLnNob3dTZW1hbnRpY0ljb24pIHx8XG4gICAgICAgICAgICAhIXRoaXMubWVzc2FnZUJveENvbmZpZy5jdXN0b21TZW1hbnRpY0ljb25cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdBZnRlckNvbnRlbnRJbml0KCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGZkLWJhclxuICAgIGNsYXNzPVwiZmQtbWVzc2FnZS1ib3hfX2hlYWRlclwiXG4gICAgW2NvenldPVwibWVzc2FnZUJveENvbmZpZy5tb2JpbGVcIlxuICAgIFtiYXJEZXNpZ25dPVwic3ViSGVhZGVyVGVtcGxhdGUgPyAnaGVhZGVyLXdpdGgtc3ViaGVhZGVyJyA6ICdoZWFkZXInXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGUgPyBoZWFkZXJUZW1wbGF0ZSA6IGRlZmF1bHRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XG4gICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XG4gICAgICAgICAgICA8ZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICAgICAgPGZkLW1lc3NhZ2UtYm94LXNlbWFudGljLWljb24gKm5nSWY9XCJfc2hvd1NlbWFudGljSWNvblwiPjwvZmQtbWVzc2FnZS1ib3gtc2VtYW50aWMtaWNvbj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmQtdGl0bGVdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuXG48ZGl2XG4gICAgZmQtYmFyXG4gICAgKm5nSWY9XCJzdWJIZWFkZXJUZW1wbGF0ZVwiXG4gICAgY2xhc3M9XCJmZC1tZXNzYWdlLWJveF9fc3ViaGVhZGVyXCJcbiAgICBiYXJEZXNpZ249XCJzdWJoZWFkZXJcIlxuICAgIFtjb3p5XT1cIm1lc3NhZ2VCb3hDb25maWcubW9iaWxlXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3ViSGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
57
+ }] }]; }, propDecorators: { defaultTemplateHeaderBar: [{
58
+ type: ViewChild,
59
+ args: ['defaultTemplateHeaderBar']
60
+ }], _projectedSemanticIcon: [{
61
+ type: ContentChild,
62
+ args: [MessageBoxSemanticIconComponent]
63
+ }] } });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3gtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL21lc3NhZ2UtYm94L21lc3NhZ2UtYm94LWhlYWRlci9tZXNzYWdlLWJveC1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbWVzc2FnZS1ib3gvbWVzc2FnZS1ib3gtaGVhZGVyL21lc3NhZ2UtYm94LWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixRQUFRLEVBQ1IsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ25ILE9BQU8sRUFBb0IsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7OztBQUVyRjs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFNSCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsZ0JBQWdCO0lBYzNELGNBQWM7SUFDZCxZQUFvQixJQUF1QixFQUFzQixVQUEyQjtRQUN4RixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFESSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUFzQixlQUFVLEdBQVYsVUFBVSxDQUFpQjtJQUU1RixDQUFDO0lBUkQsY0FBYztJQUNkLElBQUksZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsSUFBSSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQU9ELGNBQWM7SUFDZCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLENBQ0gsQ0FBQyxJQUFJLENBQUMsc0JBQXNCO1lBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDbkUsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUNsRCxDQUFDO0lBQ04sQ0FBQztJQUVELGNBQWM7SUFDZCxlQUFlO1FBQ1gsb0hBQW9IO1FBQ3BILHdGQUF3RjtRQUN4RixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDOztzSEFqQ1EseUJBQXlCOzBHQUF6Qix5QkFBeUIsaUhBTXBCLCtCQUErQiw2TUN6Q2pELHFrQ0ErQkE7MkZESWEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNJLHVCQUF1QixtQkFFaEIsdUJBQXVCLENBQUMsTUFBTTs7MEJBaUJELFFBQVE7NENBWnRELHdCQUF3QjtzQkFEdkIsU0FBUzt1QkFBQywwQkFBMEI7Z0JBS3JDLHNCQUFzQjtzQkFEckIsWUFBWTt1QkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIE9wdGlvbmFsLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWxvZ0hlYWRlckJhc2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGlhbG9nJztcbmltcG9ydCB7IE1lc3NhZ2VCb3hTZW1hbnRpY0ljb25Db21wb25lbnQgfSBmcm9tICcuLi9tZXNzYWdlLWJveC1zZW1hbnRpYy1pY29uL21lc3NhZ2UtYm94LXNlbWFudGljLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VCb3hDb25maWcsIE1lc3NhZ2VCb3hIb3N0IH0gZnJvbSAnLi4vdXRpbHMvbWVzc2FnZS1ib3gtY29uZmlnLmNsYXNzJztcblxuLyoqXG4gKiBCdWlsZGluZyBibG9jayBvZiB0aGUgbWVzc2FnZSBib3ggdXNlZCB0byBjcmVhdGUgbWVzc2FnZSBib3ggaGVhZGVyLlxuICpcbiAqIGBgYGh0bWxcbiAqIDxmZC1tZXNzYWdlLWJveC1oZWFkZXI+XG4gKiAgICAgPGZkLW1lc3NhZ2UtYm94LXNlbWFudGljLWljb24+PC9mZC1tZXNzYWdlLWJveC1zZW1hbnRpYy1pY29uPlxuICogICAgIDxoMSBmZC10aXRsZT48IS0tIENvbnRlbnQgLS0+PC9oMT5cbiAqIDwvZmQtbWVzc2FnZS1ib3gtaGVhZGVyPlxuICpcbiAqIENvbXBsZXggaGVhZGVyOlxuICogPGZkLW1lc3NhZ2UtYm94LWhlYWRlcj5cbiAqICAgICA8bmctdGVtcGxhdGUgZmRUZW1wbGF0ZT1cImhlYWRlclwiPjwhLS1Db250ZW50LS0+PC9uZy10ZW1wbGF0ZT5cbiAqICAgICA8bmctdGVtcGxhdGUgZmRUZW1wbGF0ZT1cInN1YmhlYWRlclwiPjwhLS1Db250ZW50LS0+PC9uZy10ZW1wbGF0ZT5cbiAqIDwvZmQtbWVzc2FnZS1ib3gtaGVhZGVyPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtbWVzc2FnZS1ib3gtaGVhZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWVzc2FnZS1ib3gtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlQm94SGVhZGVyQ29tcG9uZW50IGV4dGVuZHMgRGlhbG9nSGVhZGVyQmFzZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnZGVmYXVsdFRlbXBsYXRlSGVhZGVyQmFyJylcbiAgICBkZWZhdWx0VGVtcGxhdGVIZWFkZXJCYXI/OiBFbGVtZW50UmVmPEVsZW1lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE1lc3NhZ2VCb3hTZW1hbnRpY0ljb25Db21wb25lbnQpXG4gICAgX3Byb2plY3RlZFNlbWFudGljSWNvbjogTWVzc2FnZUJveFNlbWFudGljSWNvbkNvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IG1lc3NhZ2VCb3hDb25maWcoKTogTWVzc2FnZUJveENvbmZpZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VCb3g/Ll9tZXNzYWdlQm94Q29uZmlnIHx8IHt9O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgQE9wdGlvbmFsKCkgcHJpdmF0ZSBtZXNzYWdlQm94PzogTWVzc2FnZUJveEhvc3QpIHtcbiAgICAgICAgc3VwZXIoX2Nkcik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX3Nob3dTZW1hbnRpY0ljb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5fcHJvamVjdGVkU2VtYW50aWNJY29uICYmXG4gICAgICAgICAgICAoKHRoaXMubWVzc2FnZUJveENvbmZpZy50eXBlICYmIHRoaXMubWVzc2FnZUJveENvbmZpZy5zaG93U2VtYW50aWNJY29uKSB8fFxuICAgICAgICAgICAgICAgICEhdGhpcy5tZXNzYWdlQm94Q29uZmlnLmN1c3RvbVNlbWFudGljSWNvbilcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gbmVlZCB0byByZS1jaGVjayBiaW5kaW5ncyBhZnRlciBpbml0aWFsaXNhdGlvbiBpbiBvcmRlciB0byByZWZsZWN0IHRoZSBwcm9wZXIgc3RhdGUgb2YgXCJfc2hvd1NlbWFudGljSWNvblwiIGdldHRlclxuICAgICAgICAvLyBydW5uaW5nIHRoaXMgaW4gbmV4dCBtaWNyb3Rhc2sgdG8gYXZvaWQgXCJFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yXCJcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCkpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBmZC1iYXJcbiAgICBjbGFzcz1cImZkLW1lc3NhZ2UtYm94X19oZWFkZXJcIlxuICAgIFtjb3p5XT1cIm1lc3NhZ2VCb3hDb25maWcubW9iaWxlXCJcbiAgICBbYmFyRGVzaWduXT1cInN1YkhlYWRlclRlbXBsYXRlID8gJ2hlYWRlci13aXRoLXN1YmhlYWRlcicgOiAnaGVhZGVyJ1wiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlclRlbXBsYXRlID8gaGVhZGVyVGVtcGxhdGUgOiBkZWZhdWx0VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGZkLWJhci1sZWZ0PlxuICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50ICNkZWZhdWx0VGVtcGxhdGVIZWFkZXJCYXI+XG4gICAgICAgICAgICAgICAgPGZkLW1lc3NhZ2UtYm94LXNlbWFudGljLWljb25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1tZXNzYWdlLWJveF9faW50ZXJuYWwtc2VtYW50aWMtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiX3Nob3dTZW1hbnRpY0ljb25cIlxuICAgICAgICAgICAgICAgID48L2ZkLW1lc3NhZ2UtYm94LXNlbWFudGljLWljb24+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtbWVzc2FnZS1ib3gtc2VtYW50aWMtaWNvblwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmQtdGl0bGVdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuXG48ZGl2XG4gICAgZmQtYmFyXG4gICAgKm5nSWY9XCJzdWJIZWFkZXJUZW1wbGF0ZVwiXG4gICAgY2xhc3M9XCJmZC1tZXNzYWdlLWJveF9fc3ViaGVhZGVyXCJcbiAgICBiYXJEZXNpZ249XCJzdWJoZWFkZXJcIlxuICAgIFtjb3p5XT1cIm1lc3NhZ2VCb3hDb25maWcubW9iaWxlXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3ViSGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, Input, Optional } from '@angular/core';
2
- import { MESSAGE_BOX_CONFIGURABLE_ELEMENT, MessageBoxConfig } from '../utils/message-box-config.class';
2
+ import { MessageBoxHost } from '../utils/message-box-config.class';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../utils/message-box-config.class";
5
5
  /**
@@ -11,9 +11,12 @@ import * as i1 from "../utils/message-box-config.class";
11
11
  */
12
12
  export class MessageBoxSemanticIconComponent {
13
13
  /** @hidden */
14
- constructor(messageBoxConfig) {
15
- this.messageBoxConfig = messageBoxConfig;
16
- this.messageBoxConfig = this.messageBoxConfig || {};
14
+ constructor(messageBox) {
15
+ this.messageBox = messageBox;
16
+ }
17
+ /** @hidden */
18
+ get messageBoxConfig() {
19
+ return this.messageBox?._messageBoxConfig || {};
17
20
  }
18
21
  /** @hidden */
19
22
  get _showSemanticIcon() {
@@ -41,23 +44,18 @@ export class MessageBoxSemanticIconComponent {
41
44
  }
42
45
  }
43
46
  }
44
- MessageBoxSemanticIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MessageBoxSemanticIconComponent, deps: [{ token: i1.MessageBoxConfig, optional: true }], target: i0.ɵɵFactoryTarget.Component });
45
- MessageBoxSemanticIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: MessageBoxSemanticIconComponent, selector: "fd-message-box-semantic-icon", inputs: { glyph: "glyph" }, providers: [
46
- { provide: MESSAGE_BOX_CONFIGURABLE_ELEMENT, useExisting: MessageBoxSemanticIconComponent, multi: true }
47
- ], ngImport: i0, template: `<i [class]="'sap-icon--' + _getIcon" role="presentation"></i>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
47
+ MessageBoxSemanticIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MessageBoxSemanticIconComponent, deps: [{ token: i1.MessageBoxHost, optional: true }], target: i0.ɵɵFactoryTarget.Component });
48
+ MessageBoxSemanticIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: MessageBoxSemanticIconComponent, selector: "fd-message-box-semantic-icon", inputs: { glyph: "glyph" }, ngImport: i0, template: `<i [class]="'sap-icon--' + _getIcon" role="presentation"></i>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
48
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MessageBoxSemanticIconComponent, decorators: [{
49
50
  type: Component,
50
51
  args: [{
51
52
  selector: 'fd-message-box-semantic-icon',
52
53
  template: `<i [class]="'sap-icon--' + _getIcon" role="presentation"></i>`,
53
- changeDetection: ChangeDetectionStrategy.OnPush,
54
- providers: [
55
- { provide: MESSAGE_BOX_CONFIGURABLE_ELEMENT, useExisting: MessageBoxSemanticIconComponent, multi: true }
56
- ]
54
+ changeDetection: ChangeDetectionStrategy.OnPush
57
55
  }]
58
- }], ctorParameters: function () { return [{ type: i1.MessageBoxConfig, decorators: [{
56
+ }], ctorParameters: function () { return [{ type: i1.MessageBoxHost, decorators: [{
59
57
  type: Optional
60
58
  }] }]; }, propDecorators: { glyph: [{
61
59
  type: Input
62
60
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3gtc2VtYW50aWMtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9tZXNzYWdlLWJveC9tZXNzYWdlLWJveC1zZW1hbnRpYy1pY29uL21lc3NhZ2UtYm94LXNlbWFudGljLWljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQ0gsZ0NBQWdDLEVBQ2hDLGdCQUFnQixFQUVuQixNQUFNLG1DQUFtQyxDQUFDOzs7QUFFM0M7Ozs7OztHQU1HO0FBU0gsTUFBTSxPQUFPLCtCQUErQjtJQUt4QyxjQUFjO0lBQ2QsWUFBK0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDN0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVELGNBQWM7SUFDZCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztJQUNsRCxDQUFDO0lBRUQsY0FBYztJQUNkLElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUN4RixDQUFDO0lBRUQsY0FBYztJQUNkLElBQUksYUFBYTtRQUNiLFFBQVEsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRTtZQUNoQyxLQUFLLE9BQU87Z0JBQ1IsT0FBTyxlQUFlLENBQUM7WUFDM0IsS0FBSyxTQUFTO2dCQUNWLE9BQU8saUJBQWlCLENBQUM7WUFDN0IsS0FBSyxTQUFTO2dCQUNWLE9BQU8saUJBQWlCLENBQUM7WUFDN0IsS0FBSyxhQUFhO2dCQUNkLE9BQU8scUJBQXFCLENBQUM7WUFDakMsS0FBSyxjQUFjO2dCQUNmLE9BQU8sZUFBZSxDQUFDO1lBQzNCO2dCQUNJLE9BQU8sRUFBRSxDQUFDO1NBQ2pCO0lBQ0wsQ0FBQzs7NEhBcENRLCtCQUErQjtnSEFBL0IsK0JBQStCLG1GQUo3QjtRQUNQLEVBQUUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLFdBQVcsRUFBRSwrQkFBK0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0tBQzNHLDBCQUpTLCtEQUErRDsyRkFNaEUsK0JBQStCO2tCQVIzQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFFBQVEsRUFBRSwrREFBK0Q7b0JBQ3pFLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsV0FBVyxpQ0FBaUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3FCQUMzRztpQkFDSjs7MEJBT2dCLFFBQVE7NENBSHJCLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBNRVNTQUdFX0JPWF9DT05GSUdVUkFCTEVfRUxFTUVOVCxcbiAgICBNZXNzYWdlQm94Q29uZmlnLFxuICAgIE1lc3NhZ2VCb3hDb25maWd1cmFibGVFbGVtZW50XG59IGZyb20gJy4uL3V0aWxzL21lc3NhZ2UtYm94LWNvbmZpZy5jbGFzcyc7XG5cbi8qKlxuICogTWVzc2FnZSBib3ggZWxlbWVudCByZXByZXNlbnRpbmcgdGhlIHNlbWFudGljIGljb24gaW4gdGhlIG1lc3NhZ2UgYm94IGhlYWRlci5cbiAqXG4gKiBgYGBodG1sXG4gKiA8ZmQtbWVzc2FnZS1ib3gtc2VtYW50aWMtaWNvbj48L2ZkLW1lc3NhZ2UtYm94LXNlbWFudGljLWljb24+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1tZXNzYWdlLWJveC1zZW1hbnRpYy1pY29uJyxcbiAgICB0ZW1wbGF0ZTogYDxpIFtjbGFzc109XCInc2FwLWljb24tLScgKyBfZ2V0SWNvblwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj48L2k+YCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBNRVNTQUdFX0JPWF9DT05GSUdVUkFCTEVfRUxFTUVOVCwgdXNlRXhpc3Rpbmc6IE1lc3NhZ2VCb3hTZW1hbnRpY0ljb25Db21wb25lbnQsIG11bHRpOiB0cnVlIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VCb3hTZW1hbnRpY0ljb25Db21wb25lbnQgaW1wbGVtZW50cyBNZXNzYWdlQm94Q29uZmlndXJhYmxlRWxlbWVudCB7XG4gICAgLyoqIEN1c3RvbSBzZW1hbnRpYyBpY29uICovXG4gICAgQElucHV0KClcbiAgICBnbHlwaDogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwdWJsaWMgbWVzc2FnZUJveENvbmZpZzogTWVzc2FnZUJveENvbmZpZykge1xuICAgICAgICB0aGlzLm1lc3NhZ2VCb3hDb25maWcgPSB0aGlzLm1lc3NhZ2VCb3hDb25maWcgfHwge307XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX3Nob3dTZW1hbnRpY0ljb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VCb3hDb25maWcuc2hvd1NlbWFudGljSWNvbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfZ2V0SWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nbHlwaCB8fCB0aGlzLm1lc3NhZ2VCb3hDb25maWcuY3VzdG9tU2VtYW50aWNJY29uIHx8IHRoaXMuX3NlbWFudGljSWNvbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfc2VtYW50aWNJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5tZXNzYWdlQm94Q29uZmlnLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ21lc3NhZ2UtZXJyb3InO1xuICAgICAgICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdtZXNzYWdlLXN1Y2Nlc3MnO1xuICAgICAgICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdtZXNzYWdlLXdhcm5pbmcnO1xuICAgICAgICAgICAgY2FzZSAnaW5mb3JtYXRpb24nOlxuICAgICAgICAgICAgICAgIHJldHVybiAnbWVzc2FnZS1pbmZvcm1hdGlvbic7XG4gICAgICAgICAgICBjYXNlICdjb25maXJtYXRpb24nOlxuICAgICAgICAgICAgICAgIHJldHVybiAncXVlc3Rpb24tbWFyayc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3gtc2VtYW50aWMtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9tZXNzYWdlLWJveC9tZXNzYWdlLWJveC1zZW1hbnRpYy1pY29uL21lc3NhZ2UtYm94LXNlbWFudGljLWljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQW9CLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFFckY7Ozs7OztHQU1HO0FBTUgsTUFBTSxPQUFPLCtCQUErQjtJQVV4QyxjQUFjO0lBQ2QsWUFBZ0MsVUFBMkI7UUFBM0IsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7SUFBRyxDQUFDO0lBTi9ELGNBQWM7SUFDZCxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLElBQUksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFLRCxjQUFjO0lBQ2QsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUM7SUFDbEQsQ0FBQztJQUVELGNBQWM7SUFDZCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDeEYsQ0FBQztJQUVELGNBQWM7SUFDZCxJQUFJLGFBQWE7UUFDYixRQUFRLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7WUFDaEMsS0FBSyxPQUFPO2dCQUNSLE9BQU8sZUFBZSxDQUFDO1lBQzNCLEtBQUssU0FBUztnQkFDVixPQUFPLGlCQUFpQixDQUFDO1lBQzdCLEtBQUssU0FBUztnQkFDVixPQUFPLGlCQUFpQixDQUFDO1lBQzdCLEtBQUssYUFBYTtnQkFDZCxPQUFPLHFCQUFxQixDQUFDO1lBQ2pDLEtBQUssY0FBYztnQkFDZixPQUFPLGVBQWUsQ0FBQztZQUMzQjtnQkFDSSxPQUFPLEVBQUUsQ0FBQztTQUNqQjtJQUNMLENBQUM7OzRIQXZDUSwrQkFBK0I7Z0hBQS9CLCtCQUErQixnR0FIOUIsK0RBQStEOzJGQUdoRSwrQkFBK0I7a0JBTDNDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsUUFBUSxFQUFFLCtEQUErRDtvQkFDekUsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzswQkFZZ0IsUUFBUTs0Q0FSckIsS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlQm94Q29uZmlnLCBNZXNzYWdlQm94SG9zdCB9IGZyb20gJy4uL3V0aWxzL21lc3NhZ2UtYm94LWNvbmZpZy5jbGFzcyc7XG5cbi8qKlxuICogTWVzc2FnZSBib3ggZWxlbWVudCByZXByZXNlbnRpbmcgdGhlIHNlbWFudGljIGljb24gaW4gdGhlIG1lc3NhZ2UgYm94IGhlYWRlci5cbiAqXG4gKiBgYGBodG1sXG4gKiA8ZmQtbWVzc2FnZS1ib3gtc2VtYW50aWMtaWNvbj48L2ZkLW1lc3NhZ2UtYm94LXNlbWFudGljLWljb24+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1tZXNzYWdlLWJveC1zZW1hbnRpYy1pY29uJyxcbiAgICB0ZW1wbGF0ZTogYDxpIFtjbGFzc109XCInc2FwLWljb24tLScgKyBfZ2V0SWNvblwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj48L2k+YCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlQm94U2VtYW50aWNJY29uQ29tcG9uZW50IHtcbiAgICAvKiogQ3VzdG9tIHNlbWFudGljIGljb24gKi9cbiAgICBASW5wdXQoKVxuICAgIGdseXBoOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBtZXNzYWdlQm94Q29uZmlnKCk6IE1lc3NhZ2VCb3hDb25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlQm94Py5fbWVzc2FnZUJveENvbmZpZyB8fCB7fTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgbWVzc2FnZUJveD86IE1lc3NhZ2VCb3hIb3N0KSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX3Nob3dTZW1hbnRpY0ljb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VCb3hDb25maWcuc2hvd1NlbWFudGljSWNvbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfZ2V0SWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nbHlwaCB8fCB0aGlzLm1lc3NhZ2VCb3hDb25maWcuY3VzdG9tU2VtYW50aWNJY29uIHx8IHRoaXMuX3NlbWFudGljSWNvbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfc2VtYW50aWNJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5tZXNzYWdlQm94Q29uZmlnLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ21lc3NhZ2UtZXJyb3InO1xuICAgICAgICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdtZXNzYWdlLXN1Y2Nlc3MnO1xuICAgICAgICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdtZXNzYWdlLXdhcm5pbmcnO1xuICAgICAgICAgICAgY2FzZSAnaW5mb3JtYXRpb24nOlxuICAgICAgICAgICAgICAgIHJldHVybiAnbWVzc2FnZS1pbmZvcm1hdGlvbic7XG4gICAgICAgICAgICBjYXNlICdjb25maXJtYXRpb24nOlxuICAgICAgICAgICAgICAgIHJldHVybiAncXVlc3Rpb24tbWFyayc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==