@fundamental-ngx/core 0.47.0-rc.9 → 0.47.1

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 (150) hide show
  1. package/breadcrumb/breadcrumb.component.d.ts +1 -1
  2. package/carousel/carousel-item/carousel-item.component.d.ts +4 -4
  3. package/carousel/carousel-item.directive.d.ts +4 -4
  4. package/checkbox/checkbox/checkbox.component.d.ts +10 -10
  5. package/esm2022/breadcrumb/breadcrumb.component.mjs +2 -2
  6. package/esm2022/calendar/calendar-header/calendar-header.component.mjs +4 -5
  7. package/esm2022/calendar/calendar-views/calendar-aggregated-year-view/calendar-aggregated-year-view.component.mjs +4 -5
  8. package/esm2022/calendar/calendar-views/calendar-month-view/calendar-month-view.component.mjs +4 -5
  9. package/esm2022/calendar/calendar-views/calendar-year-view/calendar-year-view.component.mjs +4 -5
  10. package/esm2022/carousel/carousel-item/carousel-item.component.mjs +1 -1
  11. package/esm2022/carousel/carousel-item.directive.mjs +1 -1
  12. package/esm2022/checkbox/checkbox/checkbox.component.mjs +1 -1
  13. package/esm2022/combobox/combobox.component.mjs +2 -2
  14. package/esm2022/date-picker/date-picker.component.mjs +4 -5
  15. package/esm2022/datetime-picker/datetime-picker.component.mjs +8 -10
  16. package/esm2022/feed-input/directives/feed-input-avatar.directive.mjs +2 -2
  17. package/esm2022/feed-input/directives/feed-input-textarea.directive.mjs +16 -19
  18. package/esm2022/form/form-control/form-control.component.mjs +3 -3
  19. package/esm2022/form/form-label/form-label.component.mjs +5 -6
  20. package/esm2022/input-group/input-group.component.mjs +7 -5
  21. package/esm2022/menu/menu-mobile/menu-mobile.component.mjs +4 -5
  22. package/esm2022/message-box/directives/message-box-template.directive.mjs +3 -3
  23. package/esm2022/message-strip/message-strip.component.mjs +8 -10
  24. package/esm2022/multi-combobox/base-multi-combobox.class.mjs +4 -4
  25. package/esm2022/multi-combobox/helpers.mjs +1 -1
  26. package/esm2022/multi-combobox/multi-announcer/multi-announcer.directive.mjs +11 -5
  27. package/esm2022/multi-combobox/multi-combobox.component.mjs +6 -6
  28. package/esm2022/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +4 -5
  29. package/esm2022/multi-input/multi-input.component.mjs +3 -3
  30. package/esm2022/notification/notification-utils/notification-config.mjs +1 -1
  31. package/esm2022/notification/notification-utils/notification-ref.mjs +1 -1
  32. package/esm2022/object-attribute/fundamental-ngx-core-object-attribute.mjs +5 -0
  33. package/esm2022/object-attribute/index.mjs +3 -0
  34. package/esm2022/object-attribute/object-attribute.component.mjs +49 -0
  35. package/esm2022/object-attribute/object-attribute.module.mjs +16 -0
  36. package/esm2022/overflow-layout/overflow-layout.component.mjs +18 -5
  37. package/esm2022/overflow-layout/overflow-layout.service.mjs +3 -3
  38. package/esm2022/pagination/pagination.component.mjs +2 -2
  39. package/esm2022/popover/popover-mobile/popover-mobile.module.mjs +6 -6
  40. package/esm2022/radio/radio-button/radio-button.component.mjs +2 -2
  41. package/esm2022/select/select-mobile/select-mobile.module.mjs +5 -5
  42. package/esm2022/select/select.component.mjs +3 -3
  43. package/esm2022/select/select.interface.mjs +1 -1
  44. package/esm2022/shellbar/product-menu/product-menu.component.mjs +8 -11
  45. package/esm2022/shellbar/shellbar-action/shellbar-action.component.mjs +6 -7
  46. package/esm2022/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.mjs +6 -7
  47. package/esm2022/shellbar/user-menu/shellbar-user-menu.component.mjs +5 -6
  48. package/esm2022/splitter/splitter-pane-container/splitter-pane-container.component.mjs +1 -1
  49. package/esm2022/switch/switch.component.mjs +1 -1
  50. package/esm2022/tabs/tab-list.component.mjs +6 -3
  51. package/esm2022/tabs/tabs.module.mjs +5 -1
  52. package/esm2022/time/time-column/time-column.component.mjs +1 -1
  53. package/esm2022/time/time.component.mjs +1 -1
  54. package/esm2022/time-picker/time-picker.component.mjs +2 -2
  55. package/esm2022/token/tokenizer.component.mjs +6 -7
  56. package/esm2022/toolbar/toolbar.component.mjs +10 -12
  57. package/esm2022/tree/components/tree-item/tree-item.component.mjs +5 -6
  58. package/esm2022/upload-collection/upload-collection-button-group/upload-collection-button-group.component.mjs +4 -6
  59. package/esm2022/upload-collection/upload-collection-form-item/upload-collection-form-item.component.mjs +2 -2
  60. package/feed-input/directives/feed-input-textarea.directive.d.ts +7 -8
  61. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +1 -1
  62. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  63. package/fesm2022/fundamental-ngx-core-calendar.mjs +9 -10
  64. package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
  65. package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
  66. package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
  67. package/fesm2022/fundamental-ngx-core-combobox.mjs +1 -1
  68. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  69. package/fesm2022/fundamental-ngx-core-date-picker.mjs +3 -4
  70. package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
  71. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +8 -10
  72. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  73. package/fesm2022/fundamental-ngx-core-feed-input.mjs +16 -19
  74. package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
  75. package/fesm2022/fundamental-ngx-core-form.mjs +6 -7
  76. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  77. package/fesm2022/fundamental-ngx-core-input-group.mjs +6 -4
  78. package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
  79. package/fesm2022/fundamental-ngx-core-menu.mjs +3 -4
  80. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  81. package/fesm2022/fundamental-ngx-core-message-box.mjs +2 -2
  82. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  83. package/fesm2022/fundamental-ngx-core-message-strip.mjs +7 -9
  84. package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
  85. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +15 -10
  86. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  87. package/fesm2022/fundamental-ngx-core-multi-input.mjs +6 -7
  88. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  89. package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
  90. package/fesm2022/fundamental-ngx-core-object-attribute.mjs +69 -0
  91. package/fesm2022/fundamental-ngx-core-object-attribute.mjs.map +1 -0
  92. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +18 -5
  93. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  94. package/fesm2022/fundamental-ngx-core-pagination.mjs +1 -1
  95. package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
  96. package/fesm2022/fundamental-ngx-core-popover.mjs +4 -4
  97. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  98. package/fesm2022/fundamental-ngx-core-radio.mjs +1 -1
  99. package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
  100. package/fesm2022/fundamental-ngx-core-select.mjs +6 -6
  101. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  102. package/fesm2022/fundamental-ngx-core-shellbar.mjs +12 -14
  103. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  104. package/fesm2022/fundamental-ngx-core-splitter.mjs.map +1 -1
  105. package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
  106. package/fesm2022/fundamental-ngx-core-tabs.mjs +9 -2
  107. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  108. package/fesm2022/fundamental-ngx-core-time-picker.mjs +1 -1
  109. package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
  110. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  111. package/fesm2022/fundamental-ngx-core-token.mjs +5 -6
  112. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  113. package/fesm2022/fundamental-ngx-core-toolbar.mjs +7 -8
  114. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  115. package/fesm2022/fundamental-ngx-core-tree.mjs +4 -5
  116. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  117. package/fesm2022/fundamental-ngx-core-upload-collection.mjs +6 -7
  118. package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  119. package/form/form-control/form-control.component.d.ts +3 -3
  120. package/fundamental-ngx-core-v0.47.1.tgz +0 -0
  121. package/input-group/input-group.component.d.ts +10 -4
  122. package/message-box/directives/message-box-template.directive.d.ts +2 -2
  123. package/message-strip/message-strip.component.d.ts +2 -2
  124. package/multi-combobox/base-multi-combobox.class.d.ts +7 -7
  125. package/multi-combobox/helpers.d.ts +3 -3
  126. package/multi-combobox/multi-announcer/multi-announcer.directive.d.ts +4 -2
  127. package/notification/notification-utils/notification-config.d.ts +2 -2
  128. package/notification/notification-utils/notification-ref.d.ts +5 -5
  129. package/object-attribute/README.md +25 -0
  130. package/object-attribute/index.d.ts +2 -0
  131. package/object-attribute/object-attribute.component.d.ts +26 -0
  132. package/object-attribute/object-attribute.module.d.ts +7 -0
  133. package/overflow-layout/overflow-layout.component.d.ts +9 -1
  134. package/overflow-layout/overflow-layout.service.d.ts +1 -1
  135. package/package.json +9 -3
  136. package/pagination/pagination.component.d.ts +2 -2
  137. package/popover/popover-mobile/popover-mobile.module.d.ts +1 -1
  138. package/radio/radio-button/radio-button.component.d.ts +12 -12
  139. package/schematics/add-dependencies/index.js +4 -4
  140. package/select/select-mobile/select-mobile.module.d.ts +1 -1
  141. package/select/select.interface.d.ts +8 -8
  142. package/shellbar/product-menu/product-menu.component.d.ts +3 -3
  143. package/splitter/splitter-pane-container/splitter-pane-container.component.d.ts +1 -1
  144. package/switch/switch.component.d.ts +1 -1
  145. package/tabs/tab-list.component.d.ts +2 -0
  146. package/tabs/tabs.module.d.ts +4 -0
  147. package/time/time-column/time-column.component.d.ts +3 -3
  148. package/time/time.component.d.ts +1 -1
  149. package/toolbar/toolbar.component.d.ts +2 -2
  150. package/fundamental-ngx-core-v0.47.0-rc.9.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-upload-collection.mjs","sources":["../../../../libs/core/src/lib/upload-collection/upload-collection-simple.directives.ts","../../../../libs/core/src/lib/upload-collection/upload-collection.component.ts","../../../../libs/core/src/lib/upload-collection/upload-collection-button-group/upload-collection-button-group.component.ts","../../../../libs/core/src/lib/upload-collection/upload-collection-button-group/upload-collection-button-group.component.html","../../../../libs/core/src/lib/upload-collection/upload-collection-form-item/upload-collection-form-item.component.ts","../../../../libs/core/src/lib/upload-collection/upload-collection-form-item/upload-collection-form-item.component.html","../../../../libs/core/src/lib/upload-collection/upload-collection-item.directive.ts","../../../../libs/core/src/lib/upload-collection/upload-collection.module.ts","../../../../libs/core/src/lib/upload-collection/fundamental-ngx-core-upload-collection.ts"],"sourcesContent":["import {\n ContentChildren,\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n OnInit,\n Optional,\n QueryList\n} from '@angular/core';\nimport { ObjectMarkerComponent } from '@fundamental-ngx/core/object-marker';\nimport { FD_OBJECT_STATUS_COMPONENT, ObjectStatusComponent } from '@fundamental-ngx/core/object-status';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-thumbnail]',\n host: { class: 'fd-upload-collection__thumbnail' },\n standalone: true\n})\nexport class UploadCollectionThumbnailDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-title]',\n host: { class: 'fd-upload-collection__title' },\n standalone: true\n})\nexport class UploadCollectionTitleDirective {\n /** @hidden */\n constructor(public elRef: ElementRef) {}\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-description]',\n host: { class: 'fd-upload-collection__description' },\n standalone: true\n})\nexport class UploadCollectionDescriptionDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-text-separator], fd-upload-collection-text-separator',\n host: { class: 'fd-upload-collection__text-separator' },\n standalone: true\n})\nexport class UploadCollectionTextSeparatorDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-status-group]',\n host: { class: 'fd-upload-collection__status-group' },\n standalone: true\n})\nexport class UploadCollectionStatusGroupDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-status-item]',\n host: { class: 'fd-upload-collection__status-group-item' },\n standalone: true\n})\nexport class UploadCollectionStatusItemDirective implements OnInit {\n /** @hidden */\n constructor(@Optional() @Inject(FD_OBJECT_STATUS_COMPONENT) private _objectStatus: ObjectStatusComponent) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this._objectStatus) {\n this._objectStatus._textClass += ' fd-upload-collection__status-group-item-text';\n }\n }\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-title-container]',\n standalone: true\n})\nexport class UploadCollectionTitleContainerDirective {\n /** @hidden */\n @ContentChildren(ObjectMarkerComponent)\n _objectMarkerComponents: QueryList<ObjectMarkerComponent>;\n\n /** Whether or not this is in edit mode. */\n @HostBinding('class.fd-upload-collection__title-container')\n applyContainerClass = true;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { ListModule } from '@fundamental-ngx/core/list';\n\n@Component({\n selector: 'fd-upload-collection',\n host: { class: 'fd-upload-collection' },\n styleUrls: ['./upload-collection.component.scss'],\n template: `<ul fd-list [byline]=\"true\" [selection]=\"selection\">\n <ng-content></ng-content>\n </ul>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ListModule]\n})\nexport class UploadCollectionComponent {\n /** Whether or not this is the small upload collection. */\n @Input()\n @HostBinding('class.fd-upload-collection--sm')\n small = false;\n\n /** Whether or not this upload collection supports selection. */\n @Input()\n selection = false;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'fd-upload-collection-button-group',\n host: { class: 'fd-upload-collection__button-group' },\n templateUrl: './upload-collection-button-group.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf, ButtonModule, FdTranslatePipe]\n})\nexport class UploadCollectionButtonGroupComponent {\n /** Event emitted when the user clicks the edit button. */\n @Output()\n readonly editClicked = new EventEmitter<boolean>();\n\n /** Event emitted when the user clicks the OK button to conform a file name change. */\n @Output()\n readonly okClicked = new EventEmitter<any>();\n\n /** Event emitted when the user clicks the delete button. */\n @Output()\n readonly deleteClicked = new EventEmitter<any>();\n\n /** Whether or not to allow file name editing. Default is true. */\n @Input()\n allowFileNameEdit = true;\n\n /** Whether or not to show the delete button. Default is true. */\n @Input()\n allowFileDeletion = true;\n\n /** Whether or not to disable the file name edit button. Default is false. */\n @Input()\n disableFileNameEdit = false;\n\n /** Whether or not to disable the delete button. Default is false. */\n @Input()\n disableFileDeletion = false;\n\n /** @hidden */\n @ViewChild('okButton')\n _okButton: ButtonComponent;\n\n /** @hidden */\n _editMode = false;\n\n /** @hidden */\n _editButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.editClicked.emit(true);\n this._editMode = true;\n }\n\n /** @hidden */\n _deleteButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.deleteClicked.emit();\n }\n\n /** @hidden */\n _okButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.okClicked.emit();\n }\n\n /** @hidden */\n _cancelButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.editClicked.emit(false);\n this._editMode = false;\n }\n}\n","<button\n *ngIf=\"!_editMode && allowFileNameEdit\"\n [disabled]=\"disableFileNameEdit\"\n (click)=\"_editButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n glyph=\"edit\"\n [ariaLabel]=\"'coreUploadCollection.menuEditAriaLabel' | fdTranslate\"\n></button>\n<button\n *ngIf=\"!_editMode && allowFileDeletion\"\n [disabled]=\"disableFileDeletion\"\n (click)=\"_deleteButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n [ariaLabel]=\"'coreUploadCollection.menuDeleteAriaLabel' | fdTranslate\"\n></button>\n<button\n #okButton\n [style.display]=\"_editMode ? 'inline-flex' : 'none'\"\n (click)=\"_okButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'coreUploadCollection.menuOkAriaLabel' | fdTranslate\"\n>\n {{ 'coreUploadCollection.menuOkText' | fdTranslate }}\n</button>\n<button\n *ngIf=\"_editMode\"\n (click)=\"_cancelButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'coreUploadCollection.menuCancelAriaLabel' | fdTranslate\"\n>\n {{ 'coreUploadCollection.menuCancelText' | fdTranslate }}\n</button>\n","import { NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, FormsModule } from '@angular/forms';\nimport { FormControlComponent } from '@fundamental-ngx/core/form';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\n\n@Component({\n selector: 'fd-upload-collection-form-item',\n host: { class: 'fd-upload-collection__form-item' },\n templateUrl: './upload-collection-form-item.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgIf, FormControlComponent, FormsModule, FdTranslatePipe]\n})\nexport class UploadCollectionFormItemComponent implements ControlValueAccessor {\n /** @hidden */\n @Input()\n _editMode = false;\n\n /** Event emitted when the dragged file exits the dropzone. */\n @Output()\n readonly fileNameChanged = new EventEmitter<string>();\n\n /** @hidden */\n _fileNameValue: string;\n\n /** @hidden */\n _extension: string;\n\n /** Value of the text input. */\n set fileName(value) {\n this._fileNameValue = value;\n this.onChange(value);\n this.onTouched();\n this.fileNameChanged.emit(value);\n }\n get fileName(): string {\n return this._fileNameValue;\n }\n\n /** @hidden */\n onChange: (value: string) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n writeValue(value: string): void {\n this.fileName = value;\n }\n\n /** @hidden */\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n}\n","<input\n *ngIf=\"_editMode\"\n fd-form-control\n required\n [style.pointer-events]=\"'all'\"\n class=\"fd-input\"\n type=\"text\"\n [attr.placeholder]=\"'coreUploadCollection.formItemPlaceholder' | fdTranslate\"\n [(ngModel)]=\"fileName\"\n [state]=\"!fileName ? 'error' : null\"\n (click)=\"$event.stopPropagation()\"\n/>\n<span *ngIf=\"_editMode\" class=\"fd-upload-collection__extension\">.{{ _extension }}</span>\n","import {\n AfterContentInit,\n AfterViewInit,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output\n} from '@angular/core';\nimport { UploadCollectionFormItemComponent } from './upload-collection-form-item/upload-collection-form-item.component';\nimport { UploadCollectionButtonGroupComponent } from './upload-collection-button-group/upload-collection-button-group.component';\nimport { Subscription } from 'rxjs';\nimport {\n UploadCollectionTitleContainerDirective,\n UploadCollectionTitleDirective\n} from './upload-collection-simple.directives';\nimport { LINK_CLASS_NAME } from '@fundamental-ngx/core/link';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-item]',\n host: { class: 'fd-upload-collection__item' },\n standalone: true\n})\nexport class UploadCollectionItemDirective implements AfterContentInit, OnDestroy, AfterViewInit {\n /** The name of the file, not including the type extension. */\n @Input()\n fileName: string;\n\n /** The file type extension. */\n @Input()\n extension: string;\n\n /** @hidden */\n @ContentChild(UploadCollectionFormItemComponent)\n _formItemComponent: UploadCollectionFormItemComponent;\n\n /** @hidden */\n @ContentChild(UploadCollectionTitleDirective)\n _titleDirective: UploadCollectionTitleDirective;\n\n /** @hidden */\n @ContentChild(UploadCollectionButtonGroupComponent)\n _buttonGroupComponent: UploadCollectionButtonGroupComponent;\n\n /** @hidden */\n @ContentChild(UploadCollectionTitleContainerDirective)\n _titleContainerDirective: UploadCollectionTitleContainerDirective;\n\n /** Event emitted when the user changes a file name. */\n @Output()\n readonly fileNameChanged = new EventEmitter<any>();\n\n /** Event emitted when presses the delete button. */\n @Output()\n readonly deleteClicked = new EventEmitter<any>();\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n fileNameFull: string;\n\n /** @hidden */\n titleWidth: number;\n\n /** @hidden used to compare to the current width to know whether to collapse or expand title */\n previousContainerWidth: number;\n\n /** @hidden */\n containerWidth: number;\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.fileNameFull = this.fileName + '.' + this.extension;\n this._titleDirective.elRef.nativeElement.tabIndex = '0';\n this._titleDirective.elRef.nativeElement.innerHTML =\n '<span class=\"' + LINK_CLASS_NAME.linkContent + '\">' + this.fileNameFull + '</span>';\n this._handleDeleteClickedSubscription();\n this._handleOkClickedSubscription();\n this._handleEditClickedSubscription();\n this._handleFormItemInputChangedSubscription();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n // Process resize after all the children views is initialized\n setTimeout(() => this.onResize());\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n constructor(public elementRef: ElementRef) {}\n\n /** @hidden */\n @HostListener('window:resize', [])\n onResize(): void {\n if (!this.elementRef.nativeElement.parentElement) {\n return;\n }\n this.titleWidth = this.getTitleWidth();\n this.containerWidth = this.getContainerWidth();\n\n // if first load and no previous container width, or if container boundary is resized to smaller than before\n if (!this.previousContainerWidth || this.containerWidth < this.previousContainerWidth) {\n // and the title extends past the container, 1.05x padding to prevent jaggy resizing.\n if (this.titleWidth * 1.05 >= this.containerWidth) {\n this.resizeFileTitle(this._titleDirective.elRef.nativeElement.innerHTML);\n }\n } else if (this.previousContainerWidth && this.containerWidth > this.previousContainerWidth) {\n // Looks to expand file title if container width is resized to greater than before\n // reset file title to initial\n this._titleDirective.elRef.nativeElement.innerHTML = this.fileNameFull;\n this.resizeFileTitle(this.fileNameFull);\n }\n\n this.previousContainerWidth = this.containerWidth;\n }\n\n /** @hidden */\n private _handleOkClickedSubscription(): void {\n this._subscriptions.add(\n this._buttonGroupComponent.okClicked.subscribe(() => {\n if (this._formItemComponent.fileName && this._formItemComponent.fileName !== '') {\n this.fileName = this._formItemComponent.fileName;\n this._titleDirective.elRef.nativeElement.style.display = 'inline-block';\n this.fileNameFull = this.fileName + '.' + this.extension;\n this._titleDirective.elRef.nativeElement.innerHTML = this.fileNameFull;\n this.resizeFileTitle(this.fileNameFull);\n this._formItemComponent._editMode = false;\n this._buttonGroupComponent._editMode = false;\n this.fileNameChanged.emit(this);\n }\n })\n );\n }\n\n /** @hidden */\n private _handleEditClickedSubscription(): void {\n this._subscriptions.add(\n this._buttonGroupComponent.editClicked.subscribe((event) => {\n this._formItemComponent._editMode = event;\n if (this._titleContainerDirective) {\n this._titleContainerDirective.applyContainerClass = !event;\n }\n const styles: CSSStyleDeclaration[] = [];\n styles.push((this._titleDirective.elRef.nativeElement as HTMLElement).style);\n this._titleContainerDirective?._objectMarkerComponents?.forEach((objectMarker) => {\n styles.push(objectMarker.elementRef.nativeElement.style);\n });\n event\n ? styles.forEach((style) => (style.display = 'none'))\n : styles.forEach((style) => (style.display = 'inline-block'));\n if (event) {\n this._formItemComponent._extension = this.extension;\n this._formItemComponent.fileName = this.fileName;\n }\n })\n );\n }\n\n /** @hidden */\n private _handleDeleteClickedSubscription(): void {\n this._subscriptions.add(\n this._buttonGroupComponent.deleteClicked.subscribe(() => {\n this.deleteClicked.emit(this);\n })\n );\n }\n\n /** @hidden */\n private _handleFormItemInputChangedSubscription(): void {\n this._subscriptions.add(\n this._formItemComponent.fileNameChanged.subscribe((event) => {\n this._buttonGroupComponent._okButton.disabled = event === '';\n this._buttonGroupComponent._okButton.buildComponentCssClass();\n })\n );\n }\n\n /** @hidden */\n private getTitleWidth(): number {\n return this._titleDirective.elRef.nativeElement.getBoundingClientRect().width;\n }\n\n /** @hidden */\n private getContainerWidth(): number {\n return this._titleDirective.elRef.nativeElement.parentElement.getBoundingClientRect().width;\n }\n\n /**\n * @hidden\n *\n * truncates the string by cutting out excess length in the middle and replacing with '...'\n */\n private truncateTitle(str: string): string {\n const cutLength = Math.floor(str.length * 0.8);\n\n if (str.length > cutLength) {\n const stringLeftIndex = Math.floor(cutLength / 2);\n const stringRightIndex = str.length - stringLeftIndex + 3;\n return str.substring(0, stringLeftIndex) + '...' + str.substring(stringRightIndex, str.length);\n }\n return str;\n }\n\n /**\n * @hidden\n *\n * determines if file title needs to be truncated given container constraint.\n */\n private resizeFileTitle(titleStr: string): void {\n let curTitle = titleStr;\n this.containerWidth = this.getContainerWidth();\n this.titleWidth = this.getTitleWidth();\n\n // repeatedly truncate the title until it fits inside container\n while (this.titleWidth * 1.05 >= this.containerWidth) {\n const truncatedTitleStr = this.truncateTitle(curTitle);\n this._titleDirective.elRef.nativeElement.innerHTML = truncatedTitleStr;\n curTitle = truncatedTitleStr;\n this.titleWidth = this.getTitleWidth();\n this.containerWidth = this.getContainerWidth();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n UploadCollectionDescriptionDirective,\n UploadCollectionStatusGroupDirective,\n UploadCollectionStatusItemDirective,\n UploadCollectionTextSeparatorDirective,\n UploadCollectionThumbnailDirective,\n UploadCollectionTitleContainerDirective,\n UploadCollectionTitleDirective\n} from './upload-collection-simple.directives';\nimport { UploadCollectionComponent } from './upload-collection.component';\nimport { UploadCollectionButtonGroupComponent } from './upload-collection-button-group/upload-collection-button-group.component';\nimport { UploadCollectionFormItemComponent } from './upload-collection-form-item/upload-collection-form-item.component';\nimport { UploadCollectionItemDirective } from './upload-collection-item.directive';\n\n@NgModule({\n imports: [\n UploadCollectionComponent,\n UploadCollectionItemDirective,\n UploadCollectionThumbnailDirective,\n UploadCollectionTitleDirective,\n UploadCollectionDescriptionDirective,\n UploadCollectionTextSeparatorDirective,\n UploadCollectionStatusGroupDirective,\n UploadCollectionStatusItemDirective,\n UploadCollectionButtonGroupComponent,\n UploadCollectionFormItemComponent,\n UploadCollectionTitleContainerDirective\n ],\n exports: [\n UploadCollectionComponent,\n UploadCollectionItemDirective,\n UploadCollectionThumbnailDirective,\n UploadCollectionTitleDirective,\n UploadCollectionDescriptionDirective,\n UploadCollectionTextSeparatorDirective,\n UploadCollectionStatusGroupDirective,\n UploadCollectionStatusItemDirective,\n UploadCollectionButtonGroupComponent,\n UploadCollectionFormItemComponent,\n UploadCollectionTitleContainerDirective\n ]\n})\nexport class UploadCollectionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-upload-collection.mjs","sources":["../../../../libs/core/src/lib/upload-collection/upload-collection-simple.directives.ts","../../../../libs/core/src/lib/upload-collection/upload-collection.component.ts","../../../../libs/core/src/lib/upload-collection/upload-collection-button-group/upload-collection-button-group.component.ts","../../../../libs/core/src/lib/upload-collection/upload-collection-button-group/upload-collection-button-group.component.html","../../../../libs/core/src/lib/upload-collection/upload-collection-form-item/upload-collection-form-item.component.ts","../../../../libs/core/src/lib/upload-collection/upload-collection-form-item/upload-collection-form-item.component.html","../../../../libs/core/src/lib/upload-collection/upload-collection-item.directive.ts","../../../../libs/core/src/lib/upload-collection/upload-collection.module.ts","../../../../libs/core/src/lib/upload-collection/fundamental-ngx-core-upload-collection.ts"],"sourcesContent":["import {\n ContentChildren,\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n OnInit,\n Optional,\n QueryList\n} from '@angular/core';\nimport { ObjectMarkerComponent } from '@fundamental-ngx/core/object-marker';\nimport { FD_OBJECT_STATUS_COMPONENT, ObjectStatusComponent } from '@fundamental-ngx/core/object-status';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-thumbnail]',\n host: { class: 'fd-upload-collection__thumbnail' },\n standalone: true\n})\nexport class UploadCollectionThumbnailDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-title]',\n host: { class: 'fd-upload-collection__title' },\n standalone: true\n})\nexport class UploadCollectionTitleDirective {\n /** @hidden */\n constructor(public elRef: ElementRef) {}\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-description]',\n host: { class: 'fd-upload-collection__description' },\n standalone: true\n})\nexport class UploadCollectionDescriptionDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-text-separator], fd-upload-collection-text-separator',\n host: { class: 'fd-upload-collection__text-separator' },\n standalone: true\n})\nexport class UploadCollectionTextSeparatorDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-status-group]',\n host: { class: 'fd-upload-collection__status-group' },\n standalone: true\n})\nexport class UploadCollectionStatusGroupDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-status-item]',\n host: { class: 'fd-upload-collection__status-group-item' },\n standalone: true\n})\nexport class UploadCollectionStatusItemDirective implements OnInit {\n /** @hidden */\n constructor(@Optional() @Inject(FD_OBJECT_STATUS_COMPONENT) private _objectStatus: ObjectStatusComponent) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this._objectStatus) {\n this._objectStatus._textClass += ' fd-upload-collection__status-group-item-text';\n }\n }\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-title-container]',\n standalone: true\n})\nexport class UploadCollectionTitleContainerDirective {\n /** @hidden */\n @ContentChildren(ObjectMarkerComponent)\n _objectMarkerComponents: QueryList<ObjectMarkerComponent>;\n\n /** Whether or not this is in edit mode. */\n @HostBinding('class.fd-upload-collection__title-container')\n applyContainerClass = true;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { ListModule } from '@fundamental-ngx/core/list';\n\n@Component({\n selector: 'fd-upload-collection',\n host: { class: 'fd-upload-collection' },\n styleUrls: ['./upload-collection.component.scss'],\n template: `<ul fd-list [byline]=\"true\" [selection]=\"selection\">\n <ng-content></ng-content>\n </ul>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ListModule]\n})\nexport class UploadCollectionComponent {\n /** Whether or not this is the small upload collection. */\n @Input()\n @HostBinding('class.fd-upload-collection--sm')\n small = false;\n\n /** Whether or not this upload collection supports selection. */\n @Input()\n selection = false;\n}\n","import { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\n\n@Component({\n selector: 'fd-upload-collection-button-group',\n host: { class: 'fd-upload-collection__button-group' },\n templateUrl: './upload-collection-button-group.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf, ButtonComponent, FdTranslatePipe]\n})\nexport class UploadCollectionButtonGroupComponent {\n /** Event emitted when the user clicks the edit button. */\n @Output()\n readonly editClicked = new EventEmitter<boolean>();\n\n /** Event emitted when the user clicks the OK button to conform a file name change. */\n @Output()\n readonly okClicked = new EventEmitter<any>();\n\n /** Event emitted when the user clicks the delete button. */\n @Output()\n readonly deleteClicked = new EventEmitter<any>();\n\n /** Whether or not to allow file name editing. Default is true. */\n @Input()\n allowFileNameEdit = true;\n\n /** Whether or not to show the delete button. Default is true. */\n @Input()\n allowFileDeletion = true;\n\n /** Whether or not to disable the file name edit button. Default is false. */\n @Input()\n disableFileNameEdit = false;\n\n /** Whether or not to disable the delete button. Default is false. */\n @Input()\n disableFileDeletion = false;\n\n /** @hidden */\n @ViewChild('okButton')\n _okButton: ButtonComponent;\n\n /** @hidden */\n _editMode = false;\n\n /** @hidden */\n _editButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.editClicked.emit(true);\n this._editMode = true;\n }\n\n /** @hidden */\n _deleteButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.deleteClicked.emit();\n }\n\n /** @hidden */\n _okButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.okClicked.emit();\n }\n\n /** @hidden */\n _cancelButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.editClicked.emit(false);\n this._editMode = false;\n }\n}\n","<button\n *ngIf=\"!_editMode && allowFileNameEdit\"\n [disabled]=\"disableFileNameEdit\"\n (click)=\"_editButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n glyph=\"edit\"\n [ariaLabel]=\"'coreUploadCollection.menuEditAriaLabel' | fdTranslate\"\n></button>\n<button\n *ngIf=\"!_editMode && allowFileDeletion\"\n [disabled]=\"disableFileDeletion\"\n (click)=\"_deleteButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n [ariaLabel]=\"'coreUploadCollection.menuDeleteAriaLabel' | fdTranslate\"\n></button>\n<button\n #okButton\n [style.display]=\"_editMode ? 'inline-flex' : 'none'\"\n (click)=\"_okButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'coreUploadCollection.menuOkAriaLabel' | fdTranslate\"\n>\n {{ 'coreUploadCollection.menuOkText' | fdTranslate }}\n</button>\n<button\n *ngIf=\"_editMode\"\n (click)=\"_cancelButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'coreUploadCollection.menuCancelAriaLabel' | fdTranslate\"\n>\n {{ 'coreUploadCollection.menuCancelText' | fdTranslate }}\n</button>\n","import { NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, FormsModule } from '@angular/forms';\nimport { FormControlComponent } from '@fundamental-ngx/core/form';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\n\n@Component({\n selector: 'fd-upload-collection-form-item',\n host: { class: 'fd-upload-collection__form-item' },\n templateUrl: './upload-collection-form-item.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgIf, FormControlComponent, FormsModule, FdTranslatePipe]\n})\nexport class UploadCollectionFormItemComponent implements ControlValueAccessor {\n /** @hidden */\n @Input()\n _editMode = false;\n\n /** Event emitted when the dragged file exits the dropzone. */\n @Output()\n readonly fileNameChanged = new EventEmitter<string>();\n\n /** @hidden */\n _fileNameValue: string;\n\n /** @hidden */\n _extension: string;\n\n /** Value of the text input. */\n set fileName(value) {\n this._fileNameValue = value;\n this.onChange(value);\n this.onTouched();\n this.fileNameChanged.emit(value);\n }\n get fileName(): string {\n return this._fileNameValue;\n }\n\n /** @hidden */\n onChange: (value: string) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n writeValue(value: string): void {\n this.fileName = value;\n }\n\n /** @hidden */\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n}\n","<input\n *ngIf=\"_editMode\"\n fd-form-control\n required\n [style.pointer-events]=\"'all'\"\n class=\"fd-input\"\n type=\"text\"\n [attr.placeholder]=\"'coreUploadCollection.formItemPlaceholder' | fdTranslate\"\n [(ngModel)]=\"fileName\"\n [state]=\"!fileName ? 'error' : null\"\n (click)=\"$event.stopPropagation()\"\n/>\n<span *ngIf=\"_editMode\" class=\"fd-upload-collection__extension\">.{{ _extension }}</span>\n","import {\n AfterContentInit,\n AfterViewInit,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output\n} from '@angular/core';\nimport { UploadCollectionFormItemComponent } from './upload-collection-form-item/upload-collection-form-item.component';\nimport { UploadCollectionButtonGroupComponent } from './upload-collection-button-group/upload-collection-button-group.component';\nimport { Subscription } from 'rxjs';\nimport {\n UploadCollectionTitleContainerDirective,\n UploadCollectionTitleDirective\n} from './upload-collection-simple.directives';\nimport { LINK_CLASS_NAME } from '@fundamental-ngx/core/link';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-item]',\n host: { class: 'fd-upload-collection__item' },\n standalone: true\n})\nexport class UploadCollectionItemDirective implements AfterContentInit, OnDestroy, AfterViewInit {\n /** The name of the file, not including the type extension. */\n @Input()\n fileName: string;\n\n /** The file type extension. */\n @Input()\n extension: string;\n\n /** @hidden */\n @ContentChild(UploadCollectionFormItemComponent)\n _formItemComponent: UploadCollectionFormItemComponent;\n\n /** @hidden */\n @ContentChild(UploadCollectionTitleDirective)\n _titleDirective: UploadCollectionTitleDirective;\n\n /** @hidden */\n @ContentChild(UploadCollectionButtonGroupComponent)\n _buttonGroupComponent: UploadCollectionButtonGroupComponent;\n\n /** @hidden */\n @ContentChild(UploadCollectionTitleContainerDirective)\n _titleContainerDirective: UploadCollectionTitleContainerDirective;\n\n /** Event emitted when the user changes a file name. */\n @Output()\n readonly fileNameChanged = new EventEmitter<any>();\n\n /** Event emitted when presses the delete button. */\n @Output()\n readonly deleteClicked = new EventEmitter<any>();\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n fileNameFull: string;\n\n /** @hidden */\n titleWidth: number;\n\n /** @hidden used to compare to the current width to know whether to collapse or expand title */\n previousContainerWidth: number;\n\n /** @hidden */\n containerWidth: number;\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.fileNameFull = this.fileName + '.' + this.extension;\n this._titleDirective.elRef.nativeElement.tabIndex = '0';\n this._titleDirective.elRef.nativeElement.innerHTML =\n '<span class=\"' + LINK_CLASS_NAME.linkContent + '\">' + this.fileNameFull + '</span>';\n this._handleDeleteClickedSubscription();\n this._handleOkClickedSubscription();\n this._handleEditClickedSubscription();\n this._handleFormItemInputChangedSubscription();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n // Process resize after all the children views is initialized\n setTimeout(() => this.onResize());\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n constructor(public elementRef: ElementRef) {}\n\n /** @hidden */\n @HostListener('window:resize', [])\n onResize(): void {\n if (!this.elementRef.nativeElement.parentElement) {\n return;\n }\n this.titleWidth = this.getTitleWidth();\n this.containerWidth = this.getContainerWidth();\n\n // if first load and no previous container width, or if container boundary is resized to smaller than before\n if (!this.previousContainerWidth || this.containerWidth < this.previousContainerWidth) {\n // and the title extends past the container, 1.05x padding to prevent jaggy resizing.\n if (this.titleWidth * 1.05 >= this.containerWidth) {\n this.resizeFileTitle(this._titleDirective.elRef.nativeElement.innerHTML);\n }\n } else if (this.previousContainerWidth && this.containerWidth > this.previousContainerWidth) {\n // Looks to expand file title if container width is resized to greater than before\n // reset file title to initial\n this._titleDirective.elRef.nativeElement.innerHTML = this.fileNameFull;\n this.resizeFileTitle(this.fileNameFull);\n }\n\n this.previousContainerWidth = this.containerWidth;\n }\n\n /** @hidden */\n private _handleOkClickedSubscription(): void {\n this._subscriptions.add(\n this._buttonGroupComponent.okClicked.subscribe(() => {\n if (this._formItemComponent.fileName && this._formItemComponent.fileName !== '') {\n this.fileName = this._formItemComponent.fileName;\n this._titleDirective.elRef.nativeElement.style.display = 'inline-block';\n this.fileNameFull = this.fileName + '.' + this.extension;\n this._titleDirective.elRef.nativeElement.innerHTML = this.fileNameFull;\n this.resizeFileTitle(this.fileNameFull);\n this._formItemComponent._editMode = false;\n this._buttonGroupComponent._editMode = false;\n this.fileNameChanged.emit(this);\n }\n })\n );\n }\n\n /** @hidden */\n private _handleEditClickedSubscription(): void {\n this._subscriptions.add(\n this._buttonGroupComponent.editClicked.subscribe((event) => {\n this._formItemComponent._editMode = event;\n if (this._titleContainerDirective) {\n this._titleContainerDirective.applyContainerClass = !event;\n }\n const styles: CSSStyleDeclaration[] = [];\n styles.push((this._titleDirective.elRef.nativeElement as HTMLElement).style);\n this._titleContainerDirective?._objectMarkerComponents?.forEach((objectMarker) => {\n styles.push(objectMarker.elementRef.nativeElement.style);\n });\n event\n ? styles.forEach((style) => (style.display = 'none'))\n : styles.forEach((style) => (style.display = 'inline-block'));\n if (event) {\n this._formItemComponent._extension = this.extension;\n this._formItemComponent.fileName = this.fileName;\n }\n })\n );\n }\n\n /** @hidden */\n private _handleDeleteClickedSubscription(): void {\n this._subscriptions.add(\n this._buttonGroupComponent.deleteClicked.subscribe(() => {\n this.deleteClicked.emit(this);\n })\n );\n }\n\n /** @hidden */\n private _handleFormItemInputChangedSubscription(): void {\n this._subscriptions.add(\n this._formItemComponent.fileNameChanged.subscribe((event) => {\n this._buttonGroupComponent._okButton.disabled = event === '';\n this._buttonGroupComponent._okButton.buildComponentCssClass();\n })\n );\n }\n\n /** @hidden */\n private getTitleWidth(): number {\n return this._titleDirective.elRef.nativeElement.getBoundingClientRect().width;\n }\n\n /** @hidden */\n private getContainerWidth(): number {\n return this._titleDirective.elRef.nativeElement.parentElement.getBoundingClientRect().width;\n }\n\n /**\n * @hidden\n *\n * truncates the string by cutting out excess length in the middle and replacing with '...'\n */\n private truncateTitle(str: string): string {\n const cutLength = Math.floor(str.length * 0.8);\n\n if (str.length > cutLength) {\n const stringLeftIndex = Math.floor(cutLength / 2);\n const stringRightIndex = str.length - stringLeftIndex + 3;\n return str.substring(0, stringLeftIndex) + '...' + str.substring(stringRightIndex, str.length);\n }\n return str;\n }\n\n /**\n * @hidden\n *\n * determines if file title needs to be truncated given container constraint.\n */\n private resizeFileTitle(titleStr: string): void {\n let curTitle = titleStr;\n this.containerWidth = this.getContainerWidth();\n this.titleWidth = this.getTitleWidth();\n\n // repeatedly truncate the title until it fits inside container\n while (this.titleWidth * 1.05 >= this.containerWidth) {\n const truncatedTitleStr = this.truncateTitle(curTitle);\n this._titleDirective.elRef.nativeElement.innerHTML = truncatedTitleStr;\n curTitle = truncatedTitleStr;\n this.titleWidth = this.getTitleWidth();\n this.containerWidth = this.getContainerWidth();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n UploadCollectionDescriptionDirective,\n UploadCollectionStatusGroupDirective,\n UploadCollectionStatusItemDirective,\n UploadCollectionTextSeparatorDirective,\n UploadCollectionThumbnailDirective,\n UploadCollectionTitleContainerDirective,\n UploadCollectionTitleDirective\n} from './upload-collection-simple.directives';\nimport { UploadCollectionComponent } from './upload-collection.component';\nimport { UploadCollectionButtonGroupComponent } from './upload-collection-button-group/upload-collection-button-group.component';\nimport { UploadCollectionFormItemComponent } from './upload-collection-form-item/upload-collection-form-item.component';\nimport { UploadCollectionItemDirective } from './upload-collection-item.directive';\n\n@NgModule({\n imports: [\n UploadCollectionComponent,\n UploadCollectionItemDirective,\n UploadCollectionThumbnailDirective,\n UploadCollectionTitleDirective,\n UploadCollectionDescriptionDirective,\n UploadCollectionTextSeparatorDirective,\n UploadCollectionStatusGroupDirective,\n UploadCollectionStatusItemDirective,\n UploadCollectionButtonGroupComponent,\n UploadCollectionFormItemComponent,\n UploadCollectionTitleContainerDirective\n ],\n exports: [\n UploadCollectionComponent,\n UploadCollectionItemDirective,\n UploadCollectionThumbnailDirective,\n UploadCollectionTitleDirective,\n UploadCollectionDescriptionDirective,\n UploadCollectionTextSeparatorDirective,\n UploadCollectionStatusGroupDirective,\n UploadCollectionStatusItemDirective,\n UploadCollectionButtonGroupComponent,\n UploadCollectionFormItemComponent,\n UploadCollectionTitleContainerDirective\n ]\n})\nexport class UploadCollectionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -12,7 +12,7 @@ import * as i0 from "@angular/core";
12
12
  * ```
13
13
  */
14
14
  export declare class FormControlComponent implements CssClassBuilder, OnInit, OnChanges, OnDestroy, FormItemControl {
15
- elementRef: ElementRef<HTMLElement>;
15
+ elementRef: ElementRef<HTMLInputElement | HTMLTextAreaElement>;
16
16
  private ariaLabelAttr;
17
17
  private ariaLabelledByAttr;
18
18
  /**
@@ -35,7 +35,7 @@ export declare class FormControlComponent implements CssClassBuilder, OnInit, On
35
35
  /** @hidden */
36
36
  private _subscriptions;
37
37
  /** @hidden */
38
- constructor(elementRef: ElementRef<HTMLElement>, _contentDensityObserver: ContentDensityObserver, ariaLabelAttr: string, ariaLabelledByAttr: string);
38
+ constructor(elementRef: ElementRef<HTMLInputElement | HTMLTextAreaElement>, _contentDensityObserver: ContentDensityObserver, ariaLabelAttr: string, ariaLabelledByAttr: string);
39
39
  /**
40
40
  * @hidden
41
41
  * CssClassBuilder interface implementation
@@ -50,5 +50,5 @@ export declare class FormControlComponent implements CssClassBuilder, OnInit, On
50
50
  /** @hidden */
51
51
  ngOnDestroy(): void;
52
52
  static ɵfac: i0.ɵɵFactoryDeclaration<FormControlComponent, [null, null, { attribute: "aria-label"; }, { attribute: "aria-labelledby"; }]>;
53
- static ɵcmp: i0.ɵɵComponentDeclaration<FormControlComponent, "[fd-form-control]", never, { "state": { "alias": "state"; "required": false; }; "type": { "alias": "type"; "required": false; }; "class": { "alias": "class"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; }, {}, never, ["*"], true, never>;
53
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormControlComponent, "input[fd-form-control], textarea[fd-form-control]", never, { "state": { "alias": "state"; "required": false; }; "type": { "alias": "type"; "required": false; }; "class": { "alias": "class"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; }, {}, never, ["*"], true, never>;
54
54
  }
Binary file
@@ -63,6 +63,12 @@ export declare class InputGroupComponent implements ControlValueAccessor, AfterV
63
63
  isExpanded: boolean;
64
64
  /** Label applied to button with glyph element. */
65
65
  glyphAriaLabel: Nullable<string>;
66
+ /**
67
+ * Whether the input group addon button should be aria-hidden
68
+ * Useful in cases when the title is already applied on the
69
+ * input group parent component
70
+ **/
71
+ addonButtonAriaHidden: Nullable<boolean>;
66
72
  /** The tooltip for the input group icon. */
67
73
  iconTitle: Nullable<string>;
68
74
  /** the associated ids for the input aria-labelledby field */
@@ -109,9 +115,9 @@ export declare class InputGroupComponent implements ControlValueAccessor, AfterV
109
115
  /** @hidden */
110
116
  constructor(_elementRef: ElementRef, _changeDetectorRef: ChangeDetectorRef, _contentDensityObserver: ContentDensityObserver);
111
117
  /** @hidden */
112
- onChange: any;
118
+ onChange: (value: string) => void;
113
119
  /** @hidden */
114
- onTouched: any;
120
+ onTouched: () => void;
115
121
  /** @hidden */
116
122
  get elementRef(): ElementRef<HTMLElement>;
117
123
  /** @hidden */
@@ -119,7 +125,7 @@ export declare class InputGroupComponent implements ControlValueAccessor, AfterV
119
125
  /** @hidden */
120
126
  ngOnDestroy(): void;
121
127
  /** @hidden */
122
- writeValue(value: any): void;
128
+ writeValue(value: string): void;
123
129
  /** @hidden */
124
130
  registerOnChange(fn: any): void;
125
131
  /** @hidden */
@@ -139,5 +145,5 @@ export declare class InputGroupComponent implements ControlValueAccessor, AfterV
139
145
  /** @hidden */
140
146
  private _focusOut;
141
147
  static ɵfac: i0.ɵɵFactoryDeclaration<InputGroupComponent, never>;
142
- static ɵcmp: i0.ɵɵComponentDeclaration<InputGroupComponent, "fd-input-group", never, { "placement": { "alias": "placement"; "required": false; }; "required": { "alias": "required"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "addOnText": { "alias": "addOnText"; "required": false; }; "buttonFocusable": { "alias": "buttonFocusable"; "required": false; }; "type": { "alias": "type"; "required": false; }; "glyph": { "alias": "glyph"; "required": false; }; "button": { "alias": "button"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "state": { "alias": "state"; "required": false; }; "isControl": { "alias": "isControl"; "required": false; }; "showFocus": { "alias": "showFocus"; "required": false; }; "isExpanded": { "alias": "isExpanded"; "required": false; }; "glyphAriaLabel": { "alias": "glyphAriaLabel"; "required": false; }; "iconTitle": { "alias": "iconTitle"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; }, { "addOnButtonClicked": "addOnButtonClicked"; "search": "search"; }, ["inputElement", "addOnElement"], ["*"], true, never>;
148
+ static ɵcmp: i0.ɵɵComponentDeclaration<InputGroupComponent, "fd-input-group", never, { "placement": { "alias": "placement"; "required": false; }; "required": { "alias": "required"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "addOnText": { "alias": "addOnText"; "required": false; }; "buttonFocusable": { "alias": "buttonFocusable"; "required": false; }; "type": { "alias": "type"; "required": false; }; "glyph": { "alias": "glyph"; "required": false; }; "button": { "alias": "button"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "state": { "alias": "state"; "required": false; }; "isControl": { "alias": "isControl"; "required": false; }; "showFocus": { "alias": "showFocus"; "required": false; }; "isExpanded": { "alias": "isExpanded"; "required": false; }; "glyphAriaLabel": { "alias": "glyphAriaLabel"; "required": false; }; "addonButtonAriaHidden": { "alias": "addonButtonAriaHidden"; "required": false; }; "iconTitle": { "alias": "iconTitle"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; }, { "addOnButtonClicked": "addOnButtonClicked"; "search": "search"; }, ["inputElement", "addOnElement"], ["*"], true, never>;
143
149
  }
@@ -8,7 +8,7 @@ export interface MessageBoxTemplateDirectiveContext<T = MessageBoxConfig<any>, U
8
8
  }
9
9
  export declare class MessageBoxTemplateDirective<T = MessageBoxConfig<any>> {
10
10
  /** Custom dialog config model. */
11
- fdDialogTemplateConfig: T;
11
+ fdMessageBoxTemplateConfig: T;
12
12
  /** @hidden */
13
13
  readonly templateRef: TemplateRef<any>;
14
14
  /** @hidden */
@@ -16,5 +16,5 @@ export declare class MessageBoxTemplateDirective<T = MessageBoxConfig<any>> {
16
16
  /** @hidden */
17
17
  static ngTemplateContextGuard<T = MessageBoxConfig<any>>(dir: MessageBoxTemplateDirective<T>, ctx: MessageBoxTemplateDirectiveContext<T>): ctx is MessageBoxTemplateDirectiveContext<T>;
18
18
  static ɵfac: i0.ɵɵFactoryDeclaration<MessageBoxTemplateDirective<any>, never>;
19
- static ɵdir: i0.ɵɵDirectiveDeclaration<MessageBoxTemplateDirective<any>, "[fdMessageBoxTemplate]", never, { "fdDialogTemplateConfig": { "alias": "fdDialogTemplateConfig"; "required": false; }; }, {}, never, never, true, never>;
19
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MessageBoxTemplateDirective<any>, "[fdMessageBoxTemplate]", never, { "fdMessageBoxTemplateConfig": { "alias": "fdMessageBoxTemplateConfig"; "required": false; }; }, {}, never, never, true, never>;
20
20
  }
@@ -1,8 +1,8 @@
1
1
  import { ElementRef, EventEmitter, OnChanges, OnInit } from '@angular/core';
2
2
  import { CssClassBuilder, Nullable } from '@fundamental-ngx/cdk/utils';
3
- import { MessageStripType } from './message-strip-type';
4
- import { MessageStripIndicationColor } from './message-strip-indication-color';
5
3
  import { MessageStripIconDirective } from './message-strip-icon.directive';
4
+ import { MessageStripIndicationColor } from './message-strip-indication-color';
5
+ import { MessageStripType } from './message-strip-type';
6
6
  import * as i0 from "@angular/core";
7
7
  /**
8
8
  * The component that represents a message-strip. It can only be used inline.
@@ -4,7 +4,7 @@ import { CvaControl, CvaDirective, FormStates, SelectableOptionItem } from '@fun
4
4
  import { Nullable, RangeSelector } from '@fundamental-ngx/cdk/utils';
5
5
  import { ContentDensityObserver } from '@fundamental-ngx/core/content-density';
6
6
  import { BehaviorSubject, Subscription } from 'rxjs';
7
- import { FdMultiComboboxAcceptableDataSource, FdMultiComboBoxDataSource } from './data-source/multi-combobox-data-source';
7
+ import { FdMultiComboBoxDataSource, FdMultiComboboxAcceptableDataSource } from './data-source/multi-combobox-data-source';
8
8
  import { MultiComboboxSelectionChangeEvent } from './models/selection-change.event';
9
9
  import { MultiComboboxConfig } from './multi-combobox-config';
10
10
  import * as i0 from "@angular/core";
@@ -91,18 +91,18 @@ export declare abstract class BaseMultiCombobox<T = any> {
91
91
  /** @hidden */
92
92
  private _dataSourceChanged;
93
93
  /** @hidden */
94
- writeValue(value: any): void;
94
+ writeValue(value: T[]): void;
95
95
  /**
96
96
  * Used to change the value of a control.
97
97
  * @param value the value to be applied
98
98
  * @param emitOnChange whether to emit "onChange" event.
99
99
  * Should be "false", if the change is made programmatically (internally) by the control, "true" otherwise
100
100
  */
101
- setValue(value: any, emitOnChange?: boolean): void;
101
+ setValue(value: T[], emitOnChange?: boolean): void;
102
102
  /** @hidden */
103
- protected _displayFn: (value: any) => string;
103
+ protected _displayFn: (value: T) => string;
104
104
  /** @hidden */
105
- protected _secondaryFn: (value: any) => string;
105
+ protected _secondaryFn: (value: T) => string;
106
106
  /**
107
107
  * @hidden
108
108
  * Method to emit change event
@@ -114,7 +114,7 @@ export declare abstract class BaseMultiCombobox<T = any> {
114
114
  * Convert original data to SelectableOptionItems Interface
115
115
  * @hidden
116
116
  */
117
- protected _convertToOptionItems(items: any[]): SelectableOptionItem<T>[];
117
+ protected _convertToOptionItems(items: T[]): SelectableOptionItem<T>[];
118
118
  /**
119
119
  * Convert data to SelectableOptionItems Interface
120
120
  * @hidden
@@ -139,7 +139,7 @@ export declare abstract class BaseMultiCombobox<T = any> {
139
139
  * Convert T[] to SelectableOptionItems<T> Interface (Default)
140
140
  * @hidden
141
141
  */
142
- protected _convertObjectsToDefaultOptionItems(items: any[]): SelectableOptionItem<T>[];
142
+ protected _convertObjectsToDefaultOptionItems(items: T[]): SelectableOptionItem<T>[];
143
143
  /** @hidden */
144
144
  protected _setInvalidEntry(): void;
145
145
  /** @hidden */
@@ -1,10 +1,10 @@
1
1
  import { SelectableOptionItem } from '@fundamental-ngx/cdk/forms';
2
2
  /** @hidden */
3
- export declare function lookupValue(item: any, lookupKey: string): string;
3
+ export declare function lookupValue(item: unknown, lookupKey: string): string;
4
4
  /** @hidden */
5
- export declare function displayValue(item: any, displayKey: string): string;
5
+ export declare function displayValue(item: unknown, displayKey: string): string;
6
6
  /** @hidden */
7
- export declare function objectGet(obj: any, is: string | string[] | undefined): any;
7
+ export declare function objectGet(obj: unknown, is: string | string[] | undefined): any;
8
8
  /** @hidden */
9
9
  export declare function getSelectItemByInputValue<T>(suggestions: SelectableOptionItem<T>[], needleValue: string): SelectableOptionItem<T> | undefined;
10
10
  /** @hidden
@@ -1,7 +1,9 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class MultiAnnouncerDirective {
3
3
  /** @hidden */
4
- multiAnnouncerOptions: any[];
4
+ multiAnnouncerOptions: unknown[];
5
+ /** @hidden */
6
+ private _tokens;
5
7
  /** @hidden */
6
8
  private _noResultsAnnounced;
7
9
  /** @hidden */
@@ -19,5 +21,5 @@ export declare class MultiAnnouncerDirective {
19
21
  /** @hidden */
20
22
  private _makeAnnouncement;
21
23
  static ɵfac: i0.ɵɵFactoryDeclaration<MultiAnnouncerDirective, never>;
22
- static ɵdir: i0.ɵɵDirectiveDeclaration<MultiAnnouncerDirective, "[fdMultiAnnouncer]", ["fdMultiAnnouncer"], { "multiAnnouncerOptions": { "alias": "multiAnnouncerOptions"; "required": false; }; }, {}, never, never, true, never>;
24
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MultiAnnouncerDirective, "[fdMultiAnnouncer]", ["fdMultiAnnouncer"], { "multiAnnouncerOptions": { "alias": "multiAnnouncerOptions"; "required": false; }; }, {}, ["_tokens"], never, true, never>;
23
25
  }
@@ -2,7 +2,7 @@ import { Nullable } from '@fundamental-ngx/cdk/utils';
2
2
  /**
3
3
  * Configuration for opening a notification with the NotificationService.
4
4
  */
5
- export declare class NotificationConfig {
5
+ export declare class NotificationConfig<T = any> {
6
6
  /** Id for the notification component. If omitted, a unique one is generated. */
7
7
  id?: string;
8
8
  /** aria-label attribute for the notification component element. */
@@ -14,7 +14,7 @@ export declare class NotificationConfig {
14
14
  /** The container that the notification is appended to. By default, it is appended to the body. */
15
15
  container?: HTMLElement | 'body';
16
16
  /** Data to pass along to the content through the NotificationRef. */
17
- data?: any;
17
+ data?: T;
18
18
  /** Custom width of the notification. */
19
19
  width?: string;
20
20
  /** Whether the notification is in mobile mode. */
@@ -4,24 +4,24 @@ import { Observable, Subject } from 'rxjs';
4
4
  * It can be injected into the content component through the constructor.
5
5
  * For a template, it is declared as part of the implicit context, see examples.
6
6
  */
7
- export declare class NotificationRef {
7
+ export declare class NotificationRef<T = any, P = any> {
8
8
  /** @hidden */
9
- protected readonly _afterClosed: Subject<any>;
9
+ protected readonly _afterClosed: Subject<P | undefined>;
10
10
  /**
11
11
  * Observable that is triggered when the notification is closed.
12
12
  * On close a *result* is passed back. On dismiss, an *error* is returned instead.
13
13
  */
14
14
  afterClosed: Observable<any>;
15
15
  /** Data passed from the calling component to the content.*/
16
- data: any;
16
+ data: T;
17
17
  /**
18
18
  * Closes the notification and passes the argument to the afterClosed observable.
19
19
  * @param result Value passed back to the observable as a result.
20
20
  */
21
- close(result?: any): void;
21
+ close(result?: P): void;
22
22
  /**
23
23
  * Dismisses the notification and passes the argument to the afterClosed observable as an error.
24
24
  * @param reason Value passed back to the observable as an error.
25
25
  */
26
- dismiss(reason?: any): void;
26
+ dismiss(reason?: P): void;
27
27
  }
@@ -0,0 +1,25 @@
1
+ # ObjectAttribute
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.0.5.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project platform-object-attribute` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project platform-object-attribute`.
8
+
9
+ > Note: Don't forget to add `--project platform-object-attribute` or else it will be added to the default project in your `angular.json` file.
10
+
11
+ ## Build
12
+
13
+ Run `ng build platform-object-attribute` to build the project. The build artifacts will be stored in the `dist/` directory.
14
+
15
+ ## Publishing
16
+
17
+ After building your library with `ng build platform-object-attribute`, go to the dist folder `cd dist/platform-object-attribute` and run `npm publish`.
18
+
19
+ ## Running unit tests
20
+
21
+ Run `ng test platform-object-attribute` to execute the unit tests via [Karma](https://karma-runner.github.io).
22
+
23
+ ## Further help
24
+
25
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -0,0 +1,2 @@
1
+ export * from './object-attribute.component';
2
+ export * from './object-attribute.module';
@@ -0,0 +1,26 @@
1
+ import { ElementRef, EventEmitter, OnInit, Renderer2 } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ObjectAttributeComponent implements OnInit {
4
+ private _el;
5
+ private _renderer;
6
+ /** label for the element */
7
+ label: string;
8
+ /** Text in link */
9
+ linkText: string;
10
+ /** Is linked object attribute */
11
+ islink: boolean;
12
+ /** To disabled linked object attribute */
13
+ disabled: boolean;
14
+ /** Emitting object attribute link click event */
15
+ objectAttributeclick: EventEmitter<Event>;
16
+ /** @hidden */
17
+ constructor(_el: ElementRef<HTMLElement>, _renderer: Renderer2);
18
+ /** @hidden */
19
+ ngOnInit(): void;
20
+ /**
21
+ * Handles link click
22
+ */
23
+ onObjectAttributeClick(event: Event): void;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<ObjectAttributeComponent, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<ObjectAttributeComponent, "fd-object-attribute, fdp-object-attribute", never, { "label": { "alias": "label"; "required": false; }; "linkText": { "alias": "linkText"; "required": false; }; "islink": { "alias": "islink"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "objectAttributeclick": "objectAttributeclick"; }, never, ["*"], true, never>;
26
+ }
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./object-attribute.component";
3
+ export declare class ObjectAttributeModule {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<ObjectAttributeModule, never>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ObjectAttributeModule, never, [typeof i1.ObjectAttributeComponent], [typeof i1.ObjectAttributeComponent]>;
6
+ static ɵinj: i0.ɵɵInjectorDeclaration<ObjectAttributeModule>;
7
+ }
@@ -1,3 +1,4 @@
1
+ import { BooleanInput } from '@angular/cdk/coercion';
1
2
  import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, QueryList, TemplateRef } from '@angular/core';
2
3
  import { Nullable, RtlService } from '@fundamental-ngx/cdk/utils';
3
4
  import { OverflowLayoutItemContainerDirective } from './directives/overflow-layout-item-container.directive';
@@ -25,6 +26,8 @@ export declare class OverflowLayoutComponent implements OnInit, AfterViewInit, O
25
26
  navigationTrigger: 'keyup' | 'keydown';
26
27
  /** Direction of the fitting items calculation. */
27
28
  showMorePosition: 'left' | 'right';
29
+ /** Whether the show more button should be rendered */
30
+ renderShowMoreButton: BooleanInput;
28
31
  /** Whether to render hidden items in reverse order. */
29
32
  reverseHiddenItems: boolean;
30
33
  /** Whether to enable keyboard navigation. */
@@ -37,6 +40,10 @@ export declare class OverflowLayoutComponent implements OnInit, AfterViewInit, O
37
40
  * Event, triggered when amount of hidden items has been changed.
38
41
  */
39
42
  hiddenItemsCount: EventEmitter<number>;
43
+ /**
44
+ * Event, triggered when hidden items have been changed.
45
+ */
46
+ hiddenItemsChange: EventEmitter<OverflowItemRef<any>[]>;
40
47
  /**
41
48
  * @hidden
42
49
  * List of items to display.
@@ -131,5 +138,6 @@ export declare class OverflowLayoutComponent implements OnInit, AfterViewInit, O
131
138
  /** @hidden Rtl change subscription */
132
139
  private _subscribeToRtl;
133
140
  static ɵfac: i0.ɵɵFactoryDeclaration<OverflowLayoutComponent, [null, null, null, null, { optional: true; }]>;
134
- static ɵcmp: i0.ɵɵComponentDeclaration<OverflowLayoutComponent, "fd-overflow-layout", never, { "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; }; "navigationTrigger": { "alias": "navigationTrigger"; "required": false; }; "showMorePosition": { "alias": "showMorePosition"; "required": false; }; "reverseHiddenItems": { "alias": "reverseHiddenItems"; "required": false; }; "enableKeyboardNavigation": { "alias": "enableKeyboardNavigation"; "required": false; }; "moreItemsButtonText": { "alias": "moreItemsButtonText"; "required": false; }; }, { "visibleItemsCount": "visibleItemsCount"; "hiddenItemsCount": "hiddenItemsCount"; }, ["_moreButton", "_items", "_focusableOverflowItems"], never, true, never>;
141
+ static ɵcmp: i0.ɵɵComponentDeclaration<OverflowLayoutComponent, "fd-overflow-layout", never, { "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; }; "navigationTrigger": { "alias": "navigationTrigger"; "required": false; }; "showMorePosition": { "alias": "showMorePosition"; "required": false; }; "renderShowMoreButton": { "alias": "renderShowMoreButton"; "required": false; }; "reverseHiddenItems": { "alias": "reverseHiddenItems"; "required": false; }; "enableKeyboardNavigation": { "alias": "enableKeyboardNavigation"; "required": false; }; "moreItemsButtonText": { "alias": "moreItemsButtonText"; "required": false; }; }, { "visibleItemsCount": "visibleItemsCount"; "hiddenItemsCount": "hiddenItemsCount"; "hiddenItemsChange": "hiddenItemsChange"; }, ["_moreButton", "_items", "_focusableOverflowItems"], never, true, never>;
142
+ static ngAcceptInputType_renderShowMoreButton: any;
135
143
  }
@@ -9,7 +9,7 @@ export interface OverflowLayoutConfig {
9
9
  focusableItems: OverflowLayoutFocusableItem[];
10
10
  visibleItems: OverflowLayoutItemContainerDirective[];
11
11
  itemsWrapper: HTMLElement;
12
- showMoreContainer: HTMLElement;
12
+ showMoreContainer?: HTMLElement;
13
13
  layoutContainerElement: HTMLElement;
14
14
  maxVisibleItems: number;
15
15
  direction: 'left' | 'right';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core",
3
- "version": "0.47.0-rc.9",
3
+ "version": "0.47.1",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "ng-update": {
6
6
  "migrations": "./schematics/migrations.json"
@@ -23,8 +23,8 @@
23
23
  "@angular/forms": "^16.2.0",
24
24
  "@angular/platform-browser": "^16.2.0",
25
25
  "@angular/router": "^16.2.0",
26
- "@fundamental-ngx/cdk": "0.47.0-rc.9",
27
- "@fundamental-ngx/i18n": "0.47.0-rc.9",
26
+ "@fundamental-ngx/cdk": "0.47.1",
27
+ "@fundamental-ngx/i18n": "0.47.1",
28
28
  "@sap-theming/theming-base-content": "^11.7.0",
29
29
  "fundamental-styles": "0.32.0-rc.7",
30
30
  "rxjs": "^7.8.0"
@@ -361,6 +361,12 @@
361
361
  "esm": "./esm2022/notification/fundamental-ngx-core-notification.mjs",
362
362
  "default": "./fesm2022/fundamental-ngx-core-notification.mjs"
363
363
  },
364
+ "./object-attribute": {
365
+ "types": "./object-attribute/index.d.ts",
366
+ "esm2022": "./esm2022/object-attribute/fundamental-ngx-core-object-attribute.mjs",
367
+ "esm": "./esm2022/object-attribute/fundamental-ngx-core-object-attribute.mjs",
368
+ "default": "./fesm2022/fundamental-ngx-core-object-attribute.mjs"
369
+ },
364
370
  "./object-identifier": {
365
371
  "types": "./object-identifier/index.d.ts",
366
372
  "esm2022": "./esm2022/object-identifier/fundamental-ngx-core-object-identifier.mjs",
@@ -1,4 +1,4 @@
1
- import { LiveAnnouncer } from '@angular/cdk/a11y';
1
+ import { FocusableOption, LiveAnnouncer } from '@angular/cdk/a11y';
2
2
  import { BooleanInput } from '@angular/cdk/coercion';
3
3
  import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges, TemplateRef } from '@angular/core';
4
4
  import { NgModel } from '@angular/forms';
@@ -119,7 +119,7 @@ export declare class PaginationComponent implements OnChanges, OnInit, OnDestroy
119
119
  /** @hidden */
120
120
  ngOnDestroy(): void;
121
121
  /** @hidden */
122
- skipItemPredicate(item: any): boolean;
122
+ skipItemPredicate(item: ElementRef & FocusableOption): boolean;
123
123
  /**
124
124
  * Navigates to a specific page.
125
125
  * @param page The page to navigate to.
@@ -5,6 +5,6 @@ import * as i3 from "@fundamental-ngx/core/button";
5
5
  import * as i4 from "./popover-mobile.component";
6
6
  export declare class PopoverMobileModule {
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<PopoverMobileModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<PopoverMobileModule, never, [typeof i1.CommonModule, typeof i2.DialogModule, typeof i3.ButtonModule, typeof i4.PopoverMobileComponent], [typeof i4.PopoverMobileComponent]>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PopoverMobileModule, never, [typeof i1.CommonModule, typeof i2.DialogModule, typeof i3.ButtonComponent, typeof i4.PopoverMobileComponent], [typeof i4.PopoverMobileComponent]>;
9
9
  static ɵinj: i0.ɵɵInjectorDeclaration<PopoverMobileModule>;
10
10
  }