ngx-bimplus-components 0.0.146 → 0.0.147-28792-3

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 (108) hide show
  1. package/assets/images/default/Attachment_18_gray.svg +1 -0
  2. package/assets/images/default/Attachment_18_maincolor.svg +3 -0
  3. package/assets/images/default/Attachmentlink_18_gray.svg +7 -0
  4. package/assets/images/default/Attachmentlink_18_maincolor.svg +7 -0
  5. package/assets/images/default/Comments_18_gray.svg +1 -0
  6. package/assets/images/default/Comments_18_maincolor.svg +4 -0
  7. package/assets/images/default/Links_18_gray.svg +1 -0
  8. package/assets/images/default/Links_18_maincolor.svg +4 -0
  9. package/assets/images/default/ic_models.svg +3 -0
  10. package/assets/images/default/ic_models_maincolor.svg +3 -0
  11. package/assets/images/default/icn_grid_attachments.png +0 -0
  12. package/assets/images/default/icn_grid_hyperlinks.png +0 -0
  13. package/esm2022/lib/components/bimplus-attachments/bimplus-attachments.component.mjs +69 -0
  14. package/esm2022/lib/components/bimplus-attachments/bimplus-attachments.interface.mjs +34 -0
  15. package/esm2022/lib/components/bimplus-attachments/components/bimplus-attachment-item/bimplus-attachment-item.component.mjs +82 -0
  16. package/esm2022/lib/components/bimplus-attachments/services/bimplus-attachments.service.mjs +49 -0
  17. package/esm2022/lib/components/bimplus-buttons-row/bimplus-buttons-row.component.mjs +18 -5
  18. package/esm2022/lib/components/bimplus-buttons-row/bimplus-buttons-row.interface.mjs +5 -2
  19. package/esm2022/lib/components/bimplus-comment/bimplus-comment.component.mjs +68 -0
  20. package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.component.mjs +5 -5
  21. package/esm2022/lib/components/bimplus-connection-designer-results/bimplus-connection-designer-results.component.mjs +3 -3
  22. package/esm2022/lib/components/bimplus-flat-tree/bimplus-flat-tree.component.mjs +3 -3
  23. package/esm2022/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.mjs +1 -1
  24. package/esm2022/lib/components/bimplus-floating-bar-hide-objects/bimplus-floating-bar-hide-objects.component.mjs +3 -3
  25. package/esm2022/lib/components/bimplus-floating-bar-isolation-objects/bimplus-floating-bar-isolation-objects.component.mjs +3 -3
  26. package/esm2022/lib/components/bimplus-floating-bar-project-navigator/bimplus-floating-bar-project-navigator.component.mjs +3 -3
  27. package/esm2022/lib/components/bimplus-general-overlay-dialog/bimplus-general-overlay-dialog.component.mjs +1 -1
  28. package/esm2022/lib/components/bimplus-input-text-field/bimplus-input-text-field.component.mjs +58 -0
  29. package/esm2022/lib/components/bimplus-localized-widget/bimplus-localized-widget.component.mjs +21 -21
  30. package/esm2022/lib/components/bimplus-main-menu/bimplus-main-menu.component.mjs +2 -2
  31. package/esm2022/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.component.mjs +242 -0
  32. package/esm2022/lib/components/bimplus-object-comments-list/bimplusObjectCommentsI.mjs +2 -0
  33. package/esm2022/lib/components/bimplus-object-complex-properties/bimplus-object-complex-properties.component.mjs +3 -3
  34. package/esm2022/lib/components/bimplus-object-navigator/bimplus-object-navigator.component.mjs +3 -3
  35. package/esm2022/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.component.mjs +3 -3
  36. package/esm2022/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.interface.mjs +1 -1
  37. package/esm2022/lib/components/bimplus-object-navigator/object-filter-result/object-filter-result.component.mjs +3 -3
  38. package/esm2022/lib/components/bimplus-object-structure/bimplus-object-structure.component.mjs +3 -3
  39. package/esm2022/lib/components/bimplus-overlay-dialog-confirm/bimplus-overlay-dialog-confirm.component.mjs +76 -0
  40. package/esm2022/lib/components/bimplus-overlay-dialog-delete/bimplus-overlay-dialog-delete.component.mjs +78 -0
  41. package/esm2022/lib/components/bimplus-overlay-dialog-warning/bimplus-overlay-dialog-warning.component.mjs +8 -5
  42. package/esm2022/lib/components/bimplus-scrollable-container/bimplus-scrollable-container.component.mjs +1 -1
  43. package/esm2022/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.component.mjs +38 -0
  44. package/esm2022/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.interface.mjs +10 -0
  45. package/esm2022/lib/components/bimplus-tabs-switcher/components/bimplus-tab/bimplus-tab.component.mjs +89 -0
  46. package/esm2022/lib/components/bimplus-tabs-switcher/services/bimplus-tabs-switcher.service.mjs +33 -0
  47. package/esm2022/lib/components/bimplus-textarea/autoResizeTextarea.directive.mjs +83 -0
  48. package/esm2022/lib/components/bimplus-textarea/bimplus-textarea.component.mjs +122 -0
  49. package/esm2022/lib/components/bimplus-touch-menu/bimplus-touch-menu.component.mjs +2 -2
  50. package/esm2022/lib/components/bimplus-user-menu/bimplus-user-menu.component.mjs +5 -5
  51. package/esm2022/lib/components/links-to-documents/links-to-documents.component.interface.mjs +2 -0
  52. package/esm2022/lib/components/links-to-documents/links-to-documents.component.mjs +337 -0
  53. package/esm2022/lib/components/object-hyperlinks/object-hyperlinks.component.mjs +141 -0
  54. package/esm2022/lib/components/object-hyperlinks-item/object-hyperlinks-item.component.mjs +36 -0
  55. package/esm2022/lib/components/object-properties/object-properties.component.mjs +261 -0
  56. package/esm2022/lib/components/object-properties/object-properties.interface.mjs +2 -0
  57. package/esm2022/lib/components/object-properties-group/object-properties-group.component.mjs +40 -0
  58. package/esm2022/lib/components/object-properties-group/object-property-value/object-property-value.component.mjs +55 -0
  59. package/esm2022/lib/components/object-properties-header/object-properties-header.component.mjs +19 -4
  60. package/esm2022/lib/components/object-properties-header/object-properties-header.interface.mjs +1 -1
  61. package/esm2022/lib/components/resizable-panel/resizable-panel.component.mjs +2 -2
  62. package/esm2022/lib/pipes/bit-converter.pipe.mjs +46 -0
  63. package/esm2022/lib/pipes/get-attribute-value.pipe.mjs +110 -0
  64. package/esm2022/lib/pipes/round.pipe.mjs +20 -0
  65. package/esm2022/lib/utils/objectProperties.mjs +9 -0
  66. package/esm2022/public-api.mjs +17 -1
  67. package/fesm2022/ngx-bimplus-components.mjs +2167 -93
  68. package/fesm2022/ngx-bimplus-components.mjs.map +1 -1
  69. package/lib/components/bimplus-attachments/bimplus-attachments.component.d.ts +25 -0
  70. package/lib/components/bimplus-attachments/bimplus-attachments.interface.d.ts +19 -0
  71. package/lib/components/bimplus-attachments/components/bimplus-attachment-item/bimplus-attachment-item.component.d.ts +26 -0
  72. package/lib/components/bimplus-attachments/services/bimplus-attachments.service.d.ts +12 -0
  73. package/lib/components/bimplus-buttons-row/bimplus-buttons-row.component.d.ts +9 -3
  74. package/lib/components/bimplus-buttons-row/bimplus-buttons-row.interface.d.ts +5 -0
  75. package/lib/components/bimplus-comment/bimplus-comment.component.d.ts +34 -0
  76. package/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.d.ts +1 -1
  77. package/lib/components/bimplus-input-text-field/bimplus-input-text-field.component.d.ts +17 -0
  78. package/lib/components/bimplus-localized-widget/bimplus-localized-widget.component.d.ts +8 -7
  79. package/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.component.d.ts +51 -0
  80. package/lib/components/bimplus-object-comments-list/bimplusObjectCommentsI.d.ts +11 -0
  81. package/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.component.d.ts +7 -7
  82. package/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.interface.d.ts +3 -3
  83. package/lib/components/bimplus-overlay-dialog-confirm/bimplus-overlay-dialog-confirm.component.d.ts +31 -0
  84. package/lib/components/bimplus-overlay-dialog-delete/bimplus-overlay-dialog-delete.component.d.ts +26 -0
  85. package/lib/components/bimplus-overlay-dialog-warning/bimplus-overlay-dialog-warning.component.d.ts +3 -0
  86. package/lib/components/bimplus-scrollable-container/bimplus-scrollable-container.component.d.ts +1 -1
  87. package/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.component.d.ts +16 -0
  88. package/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.interface.d.ts +18 -0
  89. package/lib/components/bimplus-tabs-switcher/components/bimplus-tab/bimplus-tab.component.d.ts +36 -0
  90. package/lib/components/bimplus-tabs-switcher/services/bimplus-tabs-switcher.service.d.ts +15 -0
  91. package/lib/components/bimplus-textarea/autoResizeTextarea.directive.d.ts +24 -0
  92. package/lib/components/bimplus-textarea/bimplus-textarea.component.d.ts +42 -0
  93. package/lib/components/links-to-documents/links-to-documents.component.d.ts +55 -0
  94. package/lib/components/links-to-documents/links-to-documents.component.interface.d.ts +11 -0
  95. package/lib/components/object-hyperlinks/object-hyperlinks.component.d.ts +32 -0
  96. package/lib/components/object-hyperlinks-item/object-hyperlinks-item.component.d.ts +15 -0
  97. package/lib/components/object-properties/object-properties.component.d.ts +45 -0
  98. package/lib/components/object-properties/object-properties.interface.d.ts +21 -0
  99. package/lib/components/object-properties-group/object-properties-group.component.d.ts +11 -0
  100. package/lib/components/object-properties-group/object-property-value/object-property-value.component.d.ts +14 -0
  101. package/lib/components/object-properties-header/object-properties-header.component.d.ts +5 -3
  102. package/lib/components/object-properties-header/object-properties-header.interface.d.ts +1 -0
  103. package/lib/pipes/bit-converter.pipe.d.ts +17 -0
  104. package/lib/pipes/get-attribute-value.pipe.d.ts +23 -0
  105. package/lib/pipes/round.pipe.d.ts +7 -0
  106. package/lib/utils/objectProperties.d.ts +2 -0
  107. package/package.json +11 -4
  108. package/public-api.d.ts +16 -0
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><path d="M12 3v12H6V3h2v10h2V2.4C10 1.6 9.4 1 8.6 1H5.4C4.6 1 4 1.6 4 2.4v13.3c0 .7.6 1.3 1.4 1.3h7.3c.8 0 1.4-.6 1.4-1.4V3H12z" fill="#444"/></svg>
@@ -0,0 +1,3 @@
1
+ <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12 3V15H6V3H8V13H10V2.4C10 1.6 9.4 1 8.6 1H5.4C4.6 1 4 1.6 4 2.4V15.7C4 16.4 4.6 17 5.4 17H12.7C13.5 17 14.1 16.4 14.1 15.6V3H12Z" fill="#0066CC"/>
3
+ </svg>
@@ -0,0 +1,7 @@
1
+ <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M4 8H8V6H4V8Z" fill="#444444"/>
3
+ <path d="M4 3V5H12V3H4Z" fill="#444444"/>
4
+ <path d="M4 11H8V9H4V11Z" fill="#444444"/>
5
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M1 0H15V10H13V2H3V16H10V18H1V0Z" fill="#444444"/>
6
+ <path d="M15.0198 11.9876V16.5C15.0198 16.7761 14.7959 17 14.5198 17H12.5C12.2239 17 12 16.7761 12 16.5V12.4938C12 12.2153 12.2277 11.9904 12.5062 11.9939C12.7799 11.9973 13 12.2201 13 12.4938V16H14V12.3913C14 11.5963 13.4456 11 12.6535 11H12.3861C11.5941 11 11 11.5963 11 12.3913V16.6087C11 17.4037 11.5941 18 12.3861 18H14.6139C15.4059 18 16 17.4037 16 16.6087V11.9876H15.0198Z" fill="#444444"/>
7
+ </svg>
@@ -0,0 +1,7 @@
1
+ <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M4 8H8V6H4V8Z" fill="#0066CC"/>
3
+ <path d="M4 3V5H12V3H4Z" fill="#0066CC"/>
4
+ <path d="M4 11H8V9H4V11Z" fill="#0066CC"/>
5
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M1 0H15V10H13V2H3V16H10V18H1V0Z" fill="#0066CC"/>
6
+ <path d="M15.0198 11.9876V16.5C15.0198 16.7761 14.7959 17 14.5198 17H12.5C12.2239 17 12 16.7761 12 16.5V12.4938C12 12.2153 12.2277 11.9904 12.5062 11.9939C12.7799 11.9973 13 12.2201 13 12.4938V16H14V12.3913C14 11.5963 13.4456 11 12.6535 11H12.3861C11.5941 11 11 11.5963 11 12.3913V16.6087C11 17.4037 11.5941 18 12.3861 18H14.6139C15.4059 18 16 17.4037 16 16.6087V11.9876H15.0198Z" fill="#0066CC"/>
7
+ </svg>
@@ -0,0 +1 @@
1
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 18 18" xml:space="preserve"><style>.st0{fill:#444}</style><path class="st0" d="M1 1v12h2v5l4-5h10V1H1zm14 10H3V3h12v8z"/><path class="st0" d="M5 7h2v2H5zm3 0h2v2H8zm3 0h2v2h-2z"/></svg>
@@ -0,0 +1,4 @@
1
+ <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M1 1V13H3V18L7 13H17V1H1ZM15 11H3V3H15V11Z" fill="#0066CC"/>
3
+ <path d="M5 7H7V9H5V7ZM8 7H10V9H8V7ZM11 7H13V9H11V7Z" fill="#0066CC"/>
4
+ </svg>
@@ -0,0 +1 @@
1
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 18 18" xml:space="preserve"><style>.st0{fill:#444}</style><path class="st0" d="M16.7 4.2l-1.3-1.3c-1.2-1.2-3.2-1.2-4.4 0l-.6.6 1.1 1.1.7-.6c.6-.6 1.5-.6 2.1 0l1.3 1.3c.6.6.6 1.5 0 2.1l-4.1 4.1c-.6.6-1.5.6-2.1 0l-1.3-1.3c-.6-.5-.6-1.4-.1-2L6.9 7.1c-1.1 1.2-1.1 3.1.1 4.3l1.3 1.3c1.2 1.2 3.2 1.2 4.4 0l4.1-4.1c1.1-1.2 1.1-3.2-.1-4.4z"/><path class="st0" d="M5.8 13c-.6.6-1.5.6-2.1 0l-1.3-1.3c-.6-.6-.6-1.5 0-2.1l4.1-4.1c.6-.6 1.5-.6 2.1 0l1.3 1.3c.6.6.6 1.5 0 2.1l-.6.6 1.1 1.1.6-.6c1.2-1.2 1.2-3.2 0-4.4L9.8 4.3c-1.2-1.2-3.2-1.2-4.4 0L1.3 8.4c-1.2 1.2-1.2 3.2 0 4.4l1.3 1.3c1.2 1.2 3.2 1.2 4.4 0l.6-.6-1.1-1.1-.7.6z"/></svg>
@@ -0,0 +1,4 @@
1
+ <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M16.7 4.2L15.4 2.9C14.2 1.7 12.2 1.7 11 2.9L10.4 3.5L11.5 4.6L12.2 4C12.8 3.4 13.7 3.4 14.3 4L15.6 5.3C16.2 5.9 16.2 6.8 15.6 7.4L11.5 11.5C10.9 12.1 10 12.1 9.4 11.5L8.1 10.2C7.5 9.7 7.5 8.8 8 8.2L6.9 7.1C5.8 8.3 5.8 10.2 7 11.4L8.3 12.7C9.5 13.9 11.5 13.9 12.7 12.7L16.8 8.6C17.9 7.4 17.9 5.4 16.7 4.2Z" fill="#0066CC"/>
3
+ <path d="M5.8 13C5.2 13.6 4.3 13.6 3.7 13L2.4 11.7C1.8 11.1 1.8 10.2 2.4 9.60002L6.5 5.50002C7.1 4.90002 8 4.90002 8.6 5.50002L9.9 6.80002C10.5 7.40002 10.5 8.30002 9.9 8.90002L9.3 9.50002L10.4 10.6L11 10C12.2 8.80002 12.2 6.80002 11 5.60002L9.8 4.30002C8.6 3.10002 6.6 3.10002 5.4 4.30002L1.3 8.40002C0.1 9.60002 0.1 11.6 1.3 12.8L2.6 14.1C3.8 15.3 5.8 15.3 7 14.1L7.6 13.5L6.5 12.4L5.8 13Z" fill="#0066CC"/>
4
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M8.5 18L16 13.2V4.89999L8.5 0L1 4.89999V13.2L8.5 18ZM14 7.2L9.4375 10V14.9L14 12V7.2ZM3 12L7.5625 14.9V10L3 7.2V12ZM3.77007 5.28469L8.5 2.39999L13.2299 5.28469L8.5 8.29999L3.77007 5.28469Z" fill="#444444"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M8.5 18L16 13.2V4.89999L8.5 0L1 4.89999V13.2L8.5 18ZM14 7.2L9.4375 10V14.9L14 12V7.2ZM3 12L7.5625 14.9V10L3 7.2V12ZM3.77007 5.28469L8.5 2.39999L13.2299 5.28469L8.5 8.29999L3.77007 5.28469Z" fill="#0066CC"/>
3
+ </svg>
@@ -0,0 +1,69 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, inject, Output, signal, ViewChild, ViewEncapsulation, } from '@angular/core';
2
+ import { BimplusLocalizedWidgetComponent } from '../bimplus-localized-widget/bimplus-localized-widget.component';
3
+ import { TranslateModule } from '@ngx-translate/core';
4
+ import { BimplusButtonsRowComponent } from '../bimplus-buttons-row/bimplus-buttons-row.component';
5
+ import { BimplusAttachmentsService } from './services/bimplus-attachments.service';
6
+ import { toSignal } from '@angular/core/rxjs-interop';
7
+ import { BimplusAttachmentItemComponent } from './components/bimplus-attachment-item/bimplus-attachment-item.component';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@ngx-translate/core";
10
+ export class BimplusAttachmentsComponent extends BimplusLocalizedWidgetComponent {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.deleteAttachment = new EventEmitter();
14
+ this.addAttachment = new EventEmitter();
15
+ this.getAttachment = new EventEmitter();
16
+ this.bimplusAttachmentsService = inject(BimplusAttachmentsService);
17
+ /** Attribute for attachments which were saved to server. */
18
+ this.attachments = toSignal(this.bimplusAttachmentsService.attachments$);
19
+ /** Attachments buttons. */
20
+ this.items = [
21
+ {
22
+ id: 'add-attachment',
23
+ title: this.translateService.instant('_Add attachment'),
24
+ tooltip: this.translateService.instant('_Add attachment'),
25
+ disabled: false,
26
+ buttonStyle: 'primary',
27
+ type: 'file',
28
+ },
29
+ ];
30
+ /** Width size of file name line. */
31
+ this.attachmentListWidth = signal(undefined);
32
+ }
33
+ ngAfterViewInit() {
34
+ this.createResizeObserver();
35
+ this.resizeObserver.observe(this.attachmentListRef.nativeElement);
36
+ }
37
+ ngOnDestroy() {
38
+ this.resizeObserver.unobserve(this.attachmentListRef.nativeElement);
39
+ }
40
+ onFileChanged(file) {
41
+ this.addAttachment.emit(file);
42
+ }
43
+ createResizeObserver() {
44
+ this.resizeObserver = new ResizeObserver((entries) => {
45
+ const { width } = entries[0].contentRect;
46
+ this.attachmentListWidth.set(width);
47
+ });
48
+ }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusAttachmentsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: BimplusAttachmentsComponent, isStandalone: true, selector: "lib-bimplus-attachments", outputs: { deleteAttachment: "deleteAttachment", addAttachment: "addAttachment", getAttachment: "getAttachment" }, viewQueries: [{ propertyName: "attachmentListRef", first: true, predicate: ["attachmentListRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<lib-bimplus-buttons-row [items]=\"items\" (fileChanged)=\"onFileChanged($event)\"/>\r\n\r\n<section #attachmentListRef class=\"bim-attachments-list\">\r\n @if (!attachments()?.length) {\r\n <p data-test=\"no-attachments\" class=\"bim-attachments-list-empty\">{{ '_No attachments found' | translate }}</p>\r\n } @else {\r\n @for (attachment of attachments(); track attachment) {\r\n <lib-bimplus-attachment-item\r\n [attr.data-test]=\"attachment.id\"\r\n (deleteAttachment)=\"deleteAttachment.emit($event)\"\r\n (getAttachment)=\"getAttachment.emit($event)\"\r\n [parentWidth]=\"attachmentListWidth()\"\r\n [attachment]=\"attachment\"\r\n />\r\n }\r\n }\r\n</section>\r\n", styles: ["lib-bimplus-buttons-row{--button-row-margin-right: .8rem}.bim-attachments-list{color:#84888c;cursor:pointer}.bim-attachments-list-empty{text-align:center}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: BimplusButtonsRowComponent, selector: "lib-bimplus-buttons-row", inputs: ["items"], outputs: ["fileChanged", "buttonClicked"] }, { kind: "component", type: BimplusAttachmentItemComponent, selector: "lib-bimplus-attachment-item", inputs: ["attachment", "parentWidth"], outputs: ["deleteAttachment", "getAttachment"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ShadowDom }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusAttachmentsComponent, decorators: [{
53
+ type: Component,
54
+ args: [{ selector: 'lib-bimplus-attachments', standalone: true, imports: [
55
+ TranslateModule,
56
+ BimplusButtonsRowComponent,
57
+ BimplusAttachmentItemComponent,
58
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.ShadowDom, template: "<lib-bimplus-buttons-row [items]=\"items\" (fileChanged)=\"onFileChanged($event)\"/>\r\n\r\n<section #attachmentListRef class=\"bim-attachments-list\">\r\n @if (!attachments()?.length) {\r\n <p data-test=\"no-attachments\" class=\"bim-attachments-list-empty\">{{ '_No attachments found' | translate }}</p>\r\n } @else {\r\n @for (attachment of attachments(); track attachment) {\r\n <lib-bimplus-attachment-item\r\n [attr.data-test]=\"attachment.id\"\r\n (deleteAttachment)=\"deleteAttachment.emit($event)\"\r\n (getAttachment)=\"getAttachment.emit($event)\"\r\n [parentWidth]=\"attachmentListWidth()\"\r\n [attachment]=\"attachment\"\r\n />\r\n }\r\n }\r\n</section>\r\n", styles: ["lib-bimplus-buttons-row{--button-row-margin-right: .8rem}.bim-attachments-list{color:#84888c;cursor:pointer}.bim-attachments-list-empty{text-align:center}\n"] }]
59
+ }], propDecorators: { attachmentListRef: [{
60
+ type: ViewChild,
61
+ args: ['attachmentListRef']
62
+ }], deleteAttachment: [{
63
+ type: Output
64
+ }], addAttachment: [{
65
+ type: Output
66
+ }], getAttachment: [{
67
+ type: Output
68
+ }] } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1hdHRhY2htZW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYmltcGx1cy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9iaW1wbHVzLWF0dGFjaG1lbnRzL2JpbXBsdXMtYXR0YWNobWVudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1hdHRhY2htZW50cy9iaW1wbHVzLWF0dGFjaG1lbnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBRU4sTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUVsRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7OztBQWdCeEgsTUFBTSxPQUFPLDJCQUNYLFNBQVEsK0JBQStCO0lBZHpDOztRQWtCWSxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBQ2xELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN6QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFHeEMsOEJBQXlCLEdBQUcsTUFBTSxDQUNqRCx5QkFBeUIsQ0FDMUIsQ0FBQztRQUNGLDREQUE0RDtRQUN6QyxnQkFBVyxHQUFHLFFBQVEsQ0FDdkMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FDNUMsQ0FBQztRQUNGLDJCQUEyQjtRQUNSLFVBQUssR0FBMkI7WUFDakQ7Z0JBQ0UsRUFBRSxFQUFFLGdCQUFnQjtnQkFDcEIsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUM7Z0JBQ3ZELE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO2dCQUN6RCxRQUFRLEVBQUUsS0FBSztnQkFDZixXQUFXLEVBQUUsU0FBUztnQkFDdEIsSUFBSSxFQUFFLE1BQU07YUFDYjtTQUNGLENBQUM7UUFDRixvQ0FBb0M7UUFDakIsd0JBQW1CLEdBQUcsTUFBTSxDQUM3QyxTQUFTLENBQ1YsQ0FBQztLQXFCSDtJQW5CUSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVTLGFBQWEsQ0FBQyxJQUFVO1FBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ25ELE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBb0IsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztZQUMxRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FuRFUsMkJBQTJCO21HQUEzQiwyQkFBMkIscVZDbkN4QyxneUJBaUJBLHFORFNJLGVBQWUsNEZBQ2YsMEJBQTBCLGtJQUMxQiw4QkFBOEI7OzRGQU9yQiwyQkFBMkI7a0JBYnZDLFNBQVM7K0JBQ0UseUJBQXlCLGNBQ3ZCLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLDBCQUEwQjt3QkFDMUIsOEJBQThCO3FCQUMvQixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsU0FBUzs4QkFNVixpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsbUJBQW1CO2dCQUNwQixnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBpbmplY3QsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBzaWduYWwsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0L2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQmltcGx1c0J1dHRvbnNSb3dDb21wb25lbnQgfSBmcm9tICcuLi9iaW1wbHVzLWJ1dHRvbnMtcm93L2JpbXBsdXMtYnV0dG9ucy1yb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmltcGx1c0J1dHRvblJvd0l0ZW0gfSBmcm9tICcuLi9iaW1wbHVzLWJ1dHRvbnMtcm93L2JpbXBsdXMtYnV0dG9ucy1yb3cuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQmltcGx1c0F0dGFjaG1lbnRzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYmltcGx1cy1hdHRhY2htZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7IEJpbXBsdXNBdHRhY2htZW50SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9iaW1wbHVzLWF0dGFjaG1lbnQtaXRlbS9iaW1wbHVzLWF0dGFjaG1lbnQtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50IH0gZnJvbSAnLi9iaW1wbHVzLWF0dGFjaG1lbnRzLmludGVyZmFjZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1iaW1wbHVzLWF0dGFjaG1lbnRzJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIEJpbXBsdXNCdXR0b25zUm93Q29tcG9uZW50LFxyXG4gICAgQmltcGx1c0F0dGFjaG1lbnRJdGVtQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtYXR0YWNobWVudHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9iaW1wbHVzLWF0dGFjaG1lbnRzLmNvbXBvbmVudC5sZXNzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb20sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCaW1wbHVzQXR0YWNobWVudHNDb21wb25lbnRcclxuICBleHRlbmRzIEJpbXBsdXNMb2NhbGl6ZWRXaWRnZXRDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxyXG57XHJcbiAgQFZpZXdDaGlsZCgnYXR0YWNobWVudExpc3RSZWYnKSBhdHRhY2htZW50TGlzdFJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBPdXRwdXQoKSBkZWxldGVBdHRhY2htZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxBdHRhY2htZW50PigpO1xyXG4gIEBPdXRwdXQoKSBhZGRBdHRhY2htZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlPigpO1xyXG4gIEBPdXRwdXQoKSBnZXRBdHRhY2htZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxBdHRhY2htZW50PigpO1xyXG5cclxuICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyITogUmVzaXplT2JzZXJ2ZXI7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBiaW1wbHVzQXR0YWNobWVudHNTZXJ2aWNlID0gaW5qZWN0KFxyXG4gICAgQmltcGx1c0F0dGFjaG1lbnRzU2VydmljZVxyXG4gICk7XHJcbiAgLyoqIEF0dHJpYnV0ZSBmb3IgYXR0YWNobWVudHMgd2hpY2ggd2VyZSBzYXZlZCB0byBzZXJ2ZXIuICovXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGF0dGFjaG1lbnRzID0gdG9TaWduYWwoXHJcbiAgICB0aGlzLmJpbXBsdXNBdHRhY2htZW50c1NlcnZpY2UuYXR0YWNobWVudHMkXHJcbiAgKTtcclxuICAvKiogQXR0YWNobWVudHMgYnV0dG9ucy4gKi9cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbXM6IEJpbXBsdXNCdXR0b25Sb3dJdGVtW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnYWRkLWF0dGFjaG1lbnQnLFxyXG4gICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ19BZGQgYXR0YWNobWVudCcpLFxyXG4gICAgICB0b29sdGlwOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnX0FkZCBhdHRhY2htZW50JyksXHJcbiAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgYnV0dG9uU3R5bGU6ICdwcmltYXJ5JyxcclxuICAgICAgdHlwZTogJ2ZpbGUnLFxyXG4gICAgfSxcclxuICBdO1xyXG4gIC8qKiBXaWR0aCBzaXplIG9mIGZpbGUgbmFtZSBsaW5lLiAqL1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBhdHRhY2htZW50TGlzdFdpZHRoID0gc2lnbmFsPG51bWJlciB8IHVuZGVmaW5lZD4oXHJcbiAgICB1bmRlZmluZWRcclxuICApO1xyXG5cclxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jcmVhdGVSZXNpemVPYnNlcnZlcigpO1xyXG4gICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuYXR0YWNobWVudExpc3RSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLmF0dGFjaG1lbnRMaXN0UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG9uRmlsZUNoYW5nZWQoZmlsZTogRmlsZSk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRBdHRhY2htZW50LmVtaXQoZmlsZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVJlc2l6ZU9ic2VydmVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xyXG4gICAgICBjb25zdCB7IHdpZHRoIH06IERPTVJlY3RSZWFkT25seSA9IGVudHJpZXNbMF0uY29udGVudFJlY3Q7XHJcbiAgICAgIHRoaXMuYXR0YWNobWVudExpc3RXaWR0aC5zZXQod2lkdGgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxsaWItYmltcGx1cy1idXR0b25zLXJvdyBbaXRlbXNdPVwiaXRlbXNcIiAoZmlsZUNoYW5nZWQpPVwib25GaWxlQ2hhbmdlZCgkZXZlbnQpXCIvPlxyXG5cclxuPHNlY3Rpb24gI2F0dGFjaG1lbnRMaXN0UmVmIGNsYXNzPVwiYmltLWF0dGFjaG1lbnRzLWxpc3RcIj5cclxuICAgIEBpZiAoIWF0dGFjaG1lbnRzKCk/Lmxlbmd0aCkge1xyXG4gICAgICAgIDxwIGRhdGEtdGVzdD1cIm5vLWF0dGFjaG1lbnRzXCIgY2xhc3M9XCJiaW0tYXR0YWNobWVudHMtbGlzdC1lbXB0eVwiPnt7ICdfTm8gYXR0YWNobWVudHMgZm91bmQnIHwgdHJhbnNsYXRlIH19PC9wPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQGZvciAoYXR0YWNobWVudCBvZiBhdHRhY2htZW50cygpOyB0cmFjayBhdHRhY2htZW50KSB7XHJcbiAgICAgICAgICAgIDxsaWItYmltcGx1cy1hdHRhY2htZW50LWl0ZW1cclxuICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdF09XCJhdHRhY2htZW50LmlkXCJcclxuICAgICAgICAgICAgICAgIChkZWxldGVBdHRhY2htZW50KT1cImRlbGV0ZUF0dGFjaG1lbnQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChnZXRBdHRhY2htZW50KT1cImdldEF0dGFjaG1lbnQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtwYXJlbnRXaWR0aF09XCJhdHRhY2htZW50TGlzdFdpZHRoKClcIlxyXG4gICAgICAgICAgICAgICAgW2F0dGFjaG1lbnRdPVwiYXR0YWNobWVudFwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
@@ -0,0 +1,34 @@
1
+ export class Attachment {
2
+ constructor(data) {
3
+ this.id = data.id ?? '';
4
+ this.fileName = data.fileName ?? '';
5
+ this.size = data.size ?? 0;
6
+ }
7
+ }
8
+ export class AttachmentBuilder {
9
+ static { this.attachment = new Attachment({}); }
10
+ static create(value) {
11
+ this.attachment = new Attachment(value);
12
+ return this;
13
+ }
14
+ static setId(id) {
15
+ this.attachment.id = id;
16
+ return this;
17
+ }
18
+ static setFileName(name) {
19
+ this.attachment.fileName = name;
20
+ return this;
21
+ }
22
+ static setSize(size) {
23
+ this.attachment.size = size;
24
+ return this;
25
+ }
26
+ static setFile(file) {
27
+ this.attachment.file = file;
28
+ return this;
29
+ }
30
+ static build() {
31
+ return this.attachment;
32
+ }
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1hdHRhY2htZW50cy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYmltcGx1cy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9iaW1wbHVzLWF0dGFjaG1lbnRzL2JpbXBsdXMtYXR0YWNobWVudHMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxVQUFVO0lBTXJCLFlBQVksSUFBMEI7UUFDcEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGO0FBSUQsTUFBTSxPQUFnQixpQkFBaUI7YUFDdEIsZUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXhDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBaUI7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQVU7UUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBWTtRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFZO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQVU7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXR0YWNobWVudCBhcyBJQXR0YWNobWVudCB9IGZyb20gJ2JpbXBsdXMtd2Vic2RrJztcclxuXHJcbmV4cG9ydCBjbGFzcyBBdHRhY2htZW50IGltcGxlbWVudHMgUGFydGlhbDxJQXR0YWNobWVudD4ge1xyXG4gIHB1YmxpYyBpZDogc3RyaW5nO1xyXG4gIHB1YmxpYyBmaWxlTmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzaXplOiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGZpbGU/OiBGaWxlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihkYXRhOiBQYXJ0aWFsPElBdHRhY2htZW50Pikge1xyXG4gICAgdGhpcy5pZCA9IGRhdGEuaWQgPz8gJyc7XHJcbiAgICB0aGlzLmZpbGVOYW1lID0gZGF0YS5maWxlTmFtZSA/PyAnJztcclxuICAgIHRoaXMuc2l6ZSA9IGRhdGEuc2l6ZSA/PyAwO1xyXG4gIH1cclxufVxyXG5cclxudHlwZSBCdWlsZGVyID0gdHlwZW9mIEF0dGFjaG1lbnRCdWlsZGVyO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEF0dGFjaG1lbnRCdWlsZGVyIHtcclxuICBwcml2YXRlIHN0YXRpYyBhdHRhY2htZW50ID0gbmV3IEF0dGFjaG1lbnQoe30pO1xyXG5cclxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZSh2YWx1ZTogQXR0YWNobWVudCk6IEJ1aWxkZXIge1xyXG4gICAgdGhpcy5hdHRhY2htZW50ID0gbmV3IEF0dGFjaG1lbnQodmFsdWUpO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHNldElkKGlkOiBzdHJpbmcpOiBCdWlsZGVyIHtcclxuICAgIHRoaXMuYXR0YWNobWVudC5pZCA9IGlkO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHNldEZpbGVOYW1lKG5hbWU6IHN0cmluZyk6IEJ1aWxkZXIge1xyXG4gICAgdGhpcy5hdHRhY2htZW50LmZpbGVOYW1lID0gbmFtZTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBzZXRTaXplKHNpemU6IG51bWJlcik6IEJ1aWxkZXIge1xyXG4gICAgdGhpcy5hdHRhY2htZW50LnNpemUgPSBzaXplO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHNldEZpbGUoZmlsZTogRmlsZSk6IEJ1aWxkZXIge1xyXG4gICAgdGhpcy5hdHRhY2htZW50LmZpbGUgPSBmaWxlO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGJ1aWxkKCk6IEF0dGFjaG1lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuYXR0YWNobWVudDtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,82 @@
1
+ import { Component, computed, EventEmitter, Input, Output, signal, ViewChild, } from '@angular/core';
2
+ import { BitConverterPipe } from '../../../../pipes/bit-converter.pipe';
3
+ import { TranslateModule } from '@ngx-translate/core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@ngx-translate/core";
6
+ const BIM_ATTACHMENT_DELETE_BUTTON_WIDTH = 30;
7
+ const BIM_ATTACHMENT_ITEM_PADDING_LEFT = 28;
8
+ export class BimplusAttachmentItemComponent {
9
+ constructor() {
10
+ this.deleteAttachment = new EventEmitter();
11
+ this.getAttachment = new EventEmitter();
12
+ /** Parent element width. */
13
+ this.parentWidthSignal = signal(undefined);
14
+ /** Attachment size text width. */
15
+ this.attachmentSizeWidth = signal(0);
16
+ /** Wheter name is fully visible or not based on parent width. */
17
+ this.nameIsfullyVisible = signal(false);
18
+ /** Width size of file name line. */
19
+ this.nameInfoLineWidth = computed(() => {
20
+ const parentWidth = this.parentWidthSignal();
21
+ const attachmentSizeWidth = this.attachmentSizeWidth();
22
+ const nameIsfullyVisible = this.nameIsfullyVisible();
23
+ if (!parentWidth) {
24
+ return 0;
25
+ }
26
+ if (nameIsfullyVisible) {
27
+ return parentWidth - BIM_ATTACHMENT_DELETE_BUTTON_WIDTH;
28
+ }
29
+ return (parentWidth -
30
+ attachmentSizeWidth -
31
+ (BIM_ATTACHMENT_DELETE_BUTTON_WIDTH + BIM_ATTACHMENT_ITEM_PADDING_LEFT));
32
+ });
33
+ }
34
+ set parentWidth(value) {
35
+ if (!value) {
36
+ return;
37
+ }
38
+ this.parentWidthSignal.set(value);
39
+ }
40
+ get type() {
41
+ return `.${this.attachment.fileName.split('.').at(-1)}`;
42
+ }
43
+ ngAfterViewInit() {
44
+ this.attachmentSizeWidth.set(+this.attachmentSizeRef.nativeElement.clientWidth);
45
+ this.createIntersectionObserver();
46
+ this.intersectionObserver.observe(this.attachmentNameRef.nativeElement);
47
+ }
48
+ ngOnDestroy() {
49
+ this.intersectionObserver.unobserve(this.attachmentNameRef.nativeElement);
50
+ }
51
+ createIntersectionObserver() {
52
+ const options = {
53
+ root: null,
54
+ rootMargin: '0px',
55
+ threshold: 1.0,
56
+ };
57
+ const callback = (entries) => entries.forEach(({ intersectionRatio }) => this.nameIsfullyVisible.set(intersectionRatio === 1));
58
+ this.intersectionObserver = new IntersectionObserver(callback, options);
59
+ }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusAttachmentItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: BimplusAttachmentItemComponent, isStandalone: true, selector: "lib-bimplus-attachment-item", inputs: { attachment: "attachment", parentWidth: "parentWidth" }, outputs: { deleteAttachment: "deleteAttachment", getAttachment: "getAttachment" }, viewQueries: [{ propertyName: "attachmentSizeRef", first: true, predicate: ["attachmentSizeRef"], descendants: true }, { propertyName: "attachmentNameRef", first: true, predicate: ["attachmentNameRef"], descendants: true }], ngImport: i0, template: "<div class=\"bim-attachment-item\">\r\n <div\r\n data-test=\"bim-attachment\"\r\n (click)=\"getAttachment.emit(attachment)\"\r\n (keypress)=\"$event.preventDefault()\"\r\n title=\"{{ attachment.fileName }}\"\r\n class=\"bim-attachment-name\"\r\n [style.width.px]=\"nameInfoLineWidth()\"\r\n >\r\n <span #attachmentNameRef>{{ attachment.fileName }}</span>\r\n @if (nameIsfullyVisible()) {\r\n <span class=\"bim-attachment-size\">{{\r\n attachment.size | bitConverter\r\n }}</span>\r\n }\r\n </div>\r\n @if(!nameIsfullyVisible()) {\r\n <span>{{ type }} </span>\r\n <div #attachmentSizeRef class=\"bim-attachment-size\">\r\n {{ attachment.size | bitConverter }}\r\n </div>\r\n }\r\n <span\r\n data-test=\"delete-attachment-btn\"\r\n class=\"bim-attachment-delete-button\"\r\n title=\"{{ '_Delete attachment' | translate }}\"\r\n (click)=\"deleteAttachment.emit(attachment)\"\r\n (keypress)=\"$event.preventDefault()\"\r\n >\r\n \u2715\uFE0E\r\n </span>\r\n</div>\r\n", styles: [".bim-attachment-item{border-bottom:.1rem solid #B8BBBF;line-height:2.5rem;display:flex;align-items:center;justify-content:space-between;color:#46494d;padding-left:2.6rem;background-repeat:no-repeat;background-position:.8rem center;background-image:url(data:image/png;base64,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)}.bim-attachment-item .bim-attachment-name{padding-left:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bim-attachment-item .bim-attachment-size{padding-left:.5rem;white-space:nowrap;margin-right:.4rem}.bim-attachment-item span.bim-attachment-delete-button{width:30px;color:#b8bbbf;cursor:pointer;margin-left:auto}.bim-attachment-item span.bim-attachment-delete-button:hover{color:#46494d}\n"], dependencies: [{ kind: "pipe", type: BitConverterPipe, name: "bitConverter" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusAttachmentItemComponent, decorators: [{
64
+ type: Component,
65
+ args: [{ selector: 'lib-bimplus-attachment-item', standalone: true, imports: [BitConverterPipe, TranslateModule], template: "<div class=\"bim-attachment-item\">\r\n <div\r\n data-test=\"bim-attachment\"\r\n (click)=\"getAttachment.emit(attachment)\"\r\n (keypress)=\"$event.preventDefault()\"\r\n title=\"{{ attachment.fileName }}\"\r\n class=\"bim-attachment-name\"\r\n [style.width.px]=\"nameInfoLineWidth()\"\r\n >\r\n <span #attachmentNameRef>{{ attachment.fileName }}</span>\r\n @if (nameIsfullyVisible()) {\r\n <span class=\"bim-attachment-size\">{{\r\n attachment.size | bitConverter\r\n }}</span>\r\n }\r\n </div>\r\n @if(!nameIsfullyVisible()) {\r\n <span>{{ type }} </span>\r\n <div #attachmentSizeRef class=\"bim-attachment-size\">\r\n {{ attachment.size | bitConverter }}\r\n </div>\r\n }\r\n <span\r\n data-test=\"delete-attachment-btn\"\r\n class=\"bim-attachment-delete-button\"\r\n title=\"{{ '_Delete attachment' | translate }}\"\r\n (click)=\"deleteAttachment.emit(attachment)\"\r\n (keypress)=\"$event.preventDefault()\"\r\n >\r\n \u2715\uFE0E\r\n </span>\r\n</div>\r\n", styles: [".bim-attachment-item{border-bottom:.1rem solid #B8BBBF;line-height:2.5rem;display:flex;align-items:center;justify-content:space-between;color:#46494d;padding-left:2.6rem;background-repeat:no-repeat;background-position:.8rem center;background-image:url(data:image/png;base64,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)}.bim-attachment-item .bim-attachment-name{padding-left:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bim-attachment-item .bim-attachment-size{padding-left:.5rem;white-space:nowrap;margin-right:.4rem}.bim-attachment-item span.bim-attachment-delete-button{width:30px;color:#b8bbbf;cursor:pointer;margin-left:auto}.bim-attachment-item span.bim-attachment-delete-button:hover{color:#46494d}\n"] }]
66
+ }], propDecorators: { attachmentSizeRef: [{
67
+ type: ViewChild,
68
+ args: ['attachmentSizeRef']
69
+ }], attachmentNameRef: [{
70
+ type: ViewChild,
71
+ args: ['attachmentNameRef']
72
+ }], attachment: [{
73
+ type: Input,
74
+ args: [{ required: true }]
75
+ }], parentWidth: [{
76
+ type: Input
77
+ }], deleteAttachment: [{
78
+ type: Output
79
+ }], getAttachment: [{
80
+ type: Output
81
+ }] } });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1hdHRhY2htZW50LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1hdHRhY2htZW50cy9jb21wb25lbnRzL2JpbXBsdXMtYXR0YWNobWVudC1pdGVtL2JpbXBsdXMtYXR0YWNobWVudC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtYXR0YWNobWVudHMvY29tcG9uZW50cy9iaW1wbHVzLWF0dGFjaG1lbnQtaXRlbS9iaW1wbHVzLWF0dGFjaG1lbnQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFFBQVEsRUFFUixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBR3RELE1BQU0sa0NBQWtDLEdBQUcsRUFBRSxDQUFDO0FBQzlDLE1BQU0sZ0NBQWdDLEdBQUcsRUFBRSxDQUFDO0FBUzVDLE1BQU0sT0FBTyw4QkFBOEI7SUFQM0M7UUFvQlkscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUNsRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFPekQsNEJBQTRCO1FBQ1gsc0JBQWlCLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUMzRSxrQ0FBa0M7UUFDakIsd0JBQW1CLEdBQUcsTUFB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QUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBjb21wdXRlZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIHNpZ25hbCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJpdENvbnZlcnRlclBpcGUgfSBmcm9tICcuLi8uLi8uLi8uLi9waXBlcy9iaXQtY29udmVydGVyLnBpcGUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQXR0YWNobWVudCB9IGZyb20gJy4uLy4uL2JpbXBsdXMtYXR0YWNobWVudHMuaW50ZXJmYWNlJztcclxuXHJcbmNvbnN0IEJJTV9BVFRBQ0hNRU5UX0RFTEVURV9CVVRUT05fV0lEVEggPSAzMDtcclxuY29uc3QgQklNX0FUVEFDSE1FTlRfSVRFTV9QQURESU5HX0xFRlQgPSAyODtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWJpbXBsdXMtYXR0YWNobWVudC1pdGVtJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtCaXRDb252ZXJ0ZXJQaXBlLCBUcmFuc2xhdGVNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iaW1wbHVzLWF0dGFjaG1lbnQtaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2JpbXBsdXMtYXR0YWNobWVudC1pdGVtLmNvbXBvbmVudC5sZXNzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJpbXBsdXNBdHRhY2htZW50SXRlbUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XHJcbntcclxuICBAVmlld0NoaWxkKCdhdHRhY2htZW50U2l6ZVJlZicpIGF0dGFjaG1lbnRTaXplUmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnYXR0YWNobWVudE5hbWVSZWYnKSBhdHRhY2htZW50TmFtZVJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGF0dGFjaG1lbnQhOiBBdHRhY2htZW50O1xyXG4gIEBJbnB1dCgpIHNldCBwYXJlbnRXaWR0aCh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnBhcmVudFdpZHRoU2lnbmFsLnNldCh2YWx1ZSk7XHJcbiAgfVxyXG4gIEBPdXRwdXQoKSBkZWxldGVBdHRhY2htZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxBdHRhY2htZW50PigpO1xyXG4gIEBPdXRwdXQoKSBnZXRBdHRhY2htZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxBdHRhY2htZW50PigpO1xyXG5cclxuICBnZXQgdHlwZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAuJHt0aGlzLmF0dGFjaG1lbnQuZmlsZU5hbWUuc3BsaXQoJy4nKS5hdCgtMSl9YDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW50ZXJzZWN0aW9uT2JzZXJ2ZXIhOiBJbnRlcnNlY3Rpb25PYnNlcnZlcjtcclxuICAvKiogUGFyZW50IGVsZW1lbnQgd2lkdGguICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBwYXJlbnRXaWR0aFNpZ25hbCA9IHNpZ25hbDxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgLyoqIEF0dGFjaG1lbnQgc2l6ZSB0ZXh0IHdpZHRoLiAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYXR0YWNobWVudFNpemVXaWR0aCA9IHNpZ25hbDxudW1iZXI+KDApO1xyXG4gIC8qKiBXaGV0ZXIgbmFtZSBpcyBmdWxseSB2aXNpYmxlIG9yIG5vdCBiYXNlZCBvbiBwYXJlbnQgd2lkdGguICovXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG5hbWVJc2Z1bGx5VmlzaWJsZSA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIC8qKiBXaWR0aCBzaXplIG9mIGZpbGUgbmFtZSBsaW5lLiAqL1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBuYW1lSW5mb0xpbmVXaWR0aCA9IGNvbXB1dGVkPG51bWJlcj4oKCkgPT4ge1xyXG4gICAgY29uc3QgcGFyZW50V2lkdGggPSB0aGlzLnBhcmVudFdpZHRoU2lnbmFsKCk7XHJcbiAgICBjb25zdCBhdHRhY2htZW50U2l6ZVdpZHRoID0gdGhpcy5hdHRhY2htZW50U2l6ZVdpZHRoKCk7XHJcbiAgICBjb25zdCBuYW1lSXNmdWxseVZpc2libGUgPSB0aGlzLm5hbWVJc2Z1bGx5VmlzaWJsZSgpO1xyXG5cclxuICAgIGlmICghcGFyZW50V2lkdGgpIHtcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG5hbWVJc2Z1bGx5VmlzaWJsZSkge1xyXG4gICAgICByZXR1cm4gcGFyZW50V2lkdGggLSBCSU1fQVRUQUNITUVOVF9ERUxFVEVfQlVUVE9OX1dJRFRIO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgIHBhcmVudFdpZHRoIC1cclxuICAgICAgYXR0YWNobWVudFNpemVXaWR0aCAtXHJcbiAgICAgIChCSU1fQVRUQUNITUVOVF9ERUxFVEVfQlVUVE9OX1dJRFRIICsgQklNX0FUVEFDSE1FTlRfSVRFTV9QQURESU5HX0xFRlQpXHJcbiAgICApO1xyXG4gIH0pO1xyXG5cclxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdHRhY2htZW50U2l6ZVdpZHRoLnNldChcclxuICAgICAgK3RoaXMuYXR0YWNobWVudFNpemVSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aFxyXG4gICAgKTtcclxuICAgIHRoaXMuY3JlYXRlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKTtcclxuICAgIHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmF0dGFjaG1lbnROYW1lUmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlci51bm9ic2VydmUodGhpcy5hdHRhY2htZW50TmFtZVJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKTogdm9pZCB7XHJcbiAgICBjb25zdCBvcHRpb25zOiBJbnRlcnNlY3Rpb25PYnNlcnZlckluaXQgPSB7XHJcbiAgICAgIHJvb3Q6IG51bGwsXHJcbiAgICAgIHJvb3RNYXJnaW46ICcwcHgnLFxyXG4gICAgICB0aHJlc2hvbGQ6IDEuMCxcclxuICAgIH07XHJcbiAgICBjb25zdCBjYWxsYmFjazogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayA9IChlbnRyaWVzKSA9PlxyXG4gICAgICBlbnRyaWVzLmZvckVhY2goKHsgaW50ZXJzZWN0aW9uUmF0aW8gfSkgPT5cclxuICAgICAgICB0aGlzLm5hbWVJc2Z1bGx5VmlzaWJsZS5zZXQoaW50ZXJzZWN0aW9uUmF0aW8gPT09IDEpXHJcbiAgICAgICk7XHJcblxyXG4gICAgdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihjYWxsYmFjaywgb3B0aW9ucyk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJiaW0tYXR0YWNobWVudC1pdGVtXCI+XHJcbiAgPGRpdlxyXG4gICAgZGF0YS10ZXN0PVwiYmltLWF0dGFjaG1lbnRcIlxyXG4gICAgKGNsaWNrKT1cImdldEF0dGFjaG1lbnQuZW1pdChhdHRhY2htZW50KVwiXHJcbiAgICAoa2V5cHJlc3MpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxyXG4gICAgdGl0bGU9XCJ7eyBhdHRhY2htZW50LmZpbGVOYW1lIH19XCJcclxuICAgIGNsYXNzPVwiYmltLWF0dGFjaG1lbnQtbmFtZVwiXHJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwibmFtZUluZm9MaW5lV2lkdGgoKVwiXHJcbiAgPlxyXG4gICAgPHNwYW4gI2F0dGFjaG1lbnROYW1lUmVmPnt7IGF0dGFjaG1lbnQuZmlsZU5hbWUgfX08L3NwYW4+XHJcbiAgICBAaWYgKG5hbWVJc2Z1bGx5VmlzaWJsZSgpKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cImJpbS1hdHRhY2htZW50LXNpemVcIj57e1xyXG4gICAgICBhdHRhY2htZW50LnNpemUgfCBiaXRDb252ZXJ0ZXJcclxuICAgIH19PC9zcGFuPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIEBpZighbmFtZUlzZnVsbHlWaXNpYmxlKCkpIHtcclxuICA8c3Bhbj57eyB0eXBlIH19IDwvc3Bhbj5cclxuICA8ZGl2ICNhdHRhY2htZW50U2l6ZVJlZiBjbGFzcz1cImJpbS1hdHRhY2htZW50LXNpemVcIj5cclxuICAgIHt7IGF0dGFjaG1lbnQuc2l6ZSB8IGJpdENvbnZlcnRlciB9fVxyXG4gIDwvZGl2PlxyXG4gIH1cclxuICA8c3BhblxyXG4gICAgZGF0YS10ZXN0PVwiZGVsZXRlLWF0dGFjaG1lbnQtYnRuXCJcclxuICAgIGNsYXNzPVwiYmltLWF0dGFjaG1lbnQtZGVsZXRlLWJ1dHRvblwiXHJcbiAgICB0aXRsZT1cInt7ICdfRGVsZXRlIGF0dGFjaG1lbnQnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgIChjbGljayk9XCJkZWxldGVBdHRhY2htZW50LmVtaXQoYXR0YWNobWVudClcIlxyXG4gICAgKGtleXByZXNzKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcclxuICA+XHJcbiAgICDinJXvuI5cclxuICA8L3NwYW4+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { AttachmentBuilder, } from '../bimplus-attachments.interface';
4
+ import * as i0 from "@angular/core";
5
+ export class BimplusAttachmentsService {
6
+ constructor() {
7
+ this.attachments = new BehaviorSubject(null);
8
+ this.attachments$ = this.attachments.asObservable();
9
+ }
10
+ setAttachment(value) {
11
+ let payload;
12
+ if (value instanceof File) {
13
+ payload = AttachmentBuilder.setFile(value)
14
+ .setFileName(value.name)
15
+ .build();
16
+ }
17
+ else {
18
+ payload = AttachmentBuilder.create(value).build();
19
+ }
20
+ const toUpdate = this.attachments.value
21
+ ? [...this.attachments.value, payload]
22
+ : [payload];
23
+ this.attachments.next(toUpdate);
24
+ }
25
+ deleteAttachment(fileToDelete) {
26
+ const toUpdate = this.attachments.value?.filter((file) => file !== fileToDelete) ?? null;
27
+ this.attachments.next(toUpdate);
28
+ }
29
+ addAttachments(attachments) {
30
+ this.attachments.next(attachments);
31
+ }
32
+ download(href, fileName) {
33
+ const anchor = document.createElement('a');
34
+ anchor.rel = 'noopener noreferrer';
35
+ anchor.target = '_blank';
36
+ anchor.href = href;
37
+ anchor.download = fileName;
38
+ anchor.click();
39
+ }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusAttachmentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
41
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusAttachmentsService, providedIn: 'root' }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusAttachmentsService, decorators: [{
44
+ type: Injectable,
45
+ args: [{
46
+ providedIn: 'root',
47
+ }]
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1hdHRhY2htZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1hdHRhY2htZW50cy9zZXJ2aWNlcy9iaW1wbHVzLWF0dGFjaG1lbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFFTCxpQkFBaUIsR0FDbEIsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFLMUMsTUFBTSxPQUFPLHlCQUF5QjtJQUh0QztRQUltQixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFzQixJQUFJLENBQUMsQ0FBQztRQUM5RCxpQkFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7S0FvQ2hFO0lBbENRLGFBQWEsQ0FBQyxLQUF3QjtRQUMzQyxJQUFJLE9BQW1CLENBQUM7UUFDeEIsSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDMUIsT0FBTyxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7aUJBQ3ZDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2lCQUN2QixLQUFLLEVBQUUsQ0FBQztRQUNiLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwRCxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLO1lBQ3JDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFlBQXdCO1FBQzlDLE1BQU0sUUFBUSxHQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU0sY0FBYyxDQUFDLFdBQXlCO1FBQzdDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxRQUFRLENBQUMsSUFBWSxFQUFFLFFBQWdCO1FBQzVDLE1BQU0sTUFBTSxHQUFzQixRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlELE1BQU0sQ0FBQyxHQUFHLEdBQUcscUJBQXFCLENBQUM7UUFDbkMsTUFBTSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDekIsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbkIsTUFBTSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDM0IsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pCLENBQUM7K0dBckNVLHlCQUF5QjttSEFBekIseUJBQXlCLGNBRnhCLE1BQU07OzRGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIEF0dGFjaG1lbnQsXHJcbiAgQXR0YWNobWVudEJ1aWxkZXIsXHJcbn0gZnJvbSAnLi4vYmltcGx1cy1hdHRhY2htZW50cy5pbnRlcmZhY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJpbXBsdXNBdHRhY2htZW50c1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYXR0YWNobWVudHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF0dGFjaG1lbnRbXSB8IG51bGw+KG51bGwpO1xyXG4gIHB1YmxpYyByZWFkb25seSBhdHRhY2htZW50cyQgPSB0aGlzLmF0dGFjaG1lbnRzLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwdWJsaWMgc2V0QXR0YWNobWVudCh2YWx1ZTogQXR0YWNobWVudCB8IEZpbGUpOiB2b2lkIHtcclxuICAgIGxldCBwYXlsb2FkOiBBdHRhY2htZW50O1xyXG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRmlsZSkge1xyXG4gICAgICBwYXlsb2FkID0gQXR0YWNobWVudEJ1aWxkZXIuc2V0RmlsZSh2YWx1ZSlcclxuICAgICAgICAuc2V0RmlsZU5hbWUodmFsdWUubmFtZSlcclxuICAgICAgICAuYnVpbGQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHBheWxvYWQgPSBBdHRhY2htZW50QnVpbGRlci5jcmVhdGUodmFsdWUpLmJ1aWxkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdG9VcGRhdGUgPSB0aGlzLmF0dGFjaG1lbnRzLnZhbHVlXHJcbiAgICAgID8gWy4uLnRoaXMuYXR0YWNobWVudHMudmFsdWUsIHBheWxvYWRdXHJcbiAgICAgIDogW3BheWxvYWRdO1xyXG4gICAgdGhpcy5hdHRhY2htZW50cy5uZXh0KHRvVXBkYXRlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkZWxldGVBdHRhY2htZW50KGZpbGVUb0RlbGV0ZTogQXR0YWNobWVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgdG9VcGRhdGUgPVxyXG4gICAgICB0aGlzLmF0dGFjaG1lbnRzLnZhbHVlPy5maWx0ZXIoKGZpbGUpID0+IGZpbGUgIT09IGZpbGVUb0RlbGV0ZSkgPz8gbnVsbDtcclxuICAgIHRoaXMuYXR0YWNobWVudHMubmV4dCh0b1VwZGF0ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRkQXR0YWNobWVudHMoYXR0YWNobWVudHM6IEF0dGFjaG1lbnRbXSk6IHZvaWQge1xyXG4gICAgdGhpcy5hdHRhY2htZW50cy5uZXh0KGF0dGFjaG1lbnRzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkb3dubG9hZChocmVmOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGFuY2hvcjogSFRNTEFuY2hvckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICBhbmNob3IucmVsID0gJ25vb3BlbmVyIG5vcmVmZXJyZXInO1xyXG4gICAgYW5jaG9yLnRhcmdldCA9ICdfYmxhbmsnO1xyXG4gICAgYW5jaG9yLmhyZWYgPSBocmVmO1xyXG4gICAgYW5jaG9yLmRvd25sb2FkID0gZmlsZU5hbWU7XHJcbiAgICBhbmNob3IuY2xpY2soKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,11 +1,14 @@
1
+ import { BimplusLocalizedWidgetComponent } from '../bimplus-localized-widget/bimplus-localized-widget.component';
2
+ import { BimplusButtonType, } from './bimplus-buttons-row.interface';
3
+ import { NgTemplateOutlet } from '@angular/common';
1
4
  import { Component, ViewEncapsulation, EventEmitter, Output, Input, signal } from '@angular/core';
2
- import { BimplusLocalizedWidgetComponent } from "./../bimplus-localized-widget/bimplus-localized-widget.component";
3
- import { NgFor } from '@angular/common';
4
5
  import * as i0 from "@angular/core";
5
6
  export class BimplusButtonsRowComponent extends BimplusLocalizedWidgetComponent {
6
7
  constructor() {
7
8
  super(...arguments);
9
+ this.BimplusButtonType = BimplusButtonType;
8
10
  this.items = signal([]);
11
+ this.fileChanged = new EventEmitter();
9
12
  this.buttonClicked = new EventEmitter();
10
13
  }
11
14
  /** TODO remove @Input once signal inputs release from developer preview. */
@@ -13,6 +16,14 @@ export class BimplusButtonsRowComponent extends BimplusLocalizedWidgetComponent
13
16
  set itemsValue(value) {
14
17
  this.items.set(value);
15
18
  }
19
+ onChange(event, inputElement) {
20
+ const file = event.target.files[0];
21
+ if (file) {
22
+ this.fileChanged.emit(file);
23
+ // reset value to be able select same value again
24
+ inputElement.value = '';
25
+ }
26
+ }
16
27
  _buttonClicked(item) {
17
28
  if (item.disabled) {
18
29
  return;
@@ -20,15 +31,17 @@ export class BimplusButtonsRowComponent extends BimplusLocalizedWidgetComponent
20
31
  this.buttonClicked.emit({ id: item.id });
21
32
  }
22
33
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusButtonsRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: BimplusButtonsRowComponent, isStandalone: true, selector: "lib-bimplus-buttons-row", inputs: { itemsValue: ["items", "itemsValue"] }, outputs: { buttonClicked: "buttonClicked" }, usesInheritance: true, ngImport: i0, template: "<div class=\"button-row\">\r\n <ng-container *ngFor=\"let item of items(); let last=last; let first=first;\">\r\n <button\r\n [class.last]=\"last\"\r\n [class.first]=\"first\"\r\n [class.primary-button]=\"item.buttonStyle===undefined || item.buttonStyle==='primary'\"\r\n [class.secondary-button]=\"item.buttonStyle==='secondary'\"\r\n [class.text-button]=\"item.buttonType===undefined || item.buttonType==='text'\"\r\n [class.icon-button]=\"item.buttonType==='icon'\"\r\n [class.combined-button]=\"item.buttonType==='combined'\"\r\n [class.disabled]=\"item.disabled===true\"\r\n (click)=\"_buttonClicked(item)\"\r\n title={{item.tooltip}}\r\n data-test=\"button\"\r\n >\r\n {{ item.title }}\r\n </button>\r\n </ng-container>\r\n</div>\r\n", styles: [".ng-select.ng-select-opened>.ng-select-container{background:var(--select-container-open-background-color-enabled);border-color:var(--select-container-open-border-color-enabled)}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent var(--select-container-open-arrow-border-color-enabled);border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent var(--select-container-open-arrow-border-color-hovered)}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-opened.ng-select-right>.ng-select-container{border-top-right-radius:0;border-bottom-right-radius:0}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-left>.ng-select-container{border-top-left-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-disabled>.ng-select-container{background-color:var(--select-container-background-color-disabled)}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{color:var(--select-container-text-color-enabled);background-color:var(--select-container-background-color-enabled);border-radius:0;border:1px solid var(--select-container-border-color-enabled);min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px 0 var(--select-container-box-shadow-color-hovered);background-color:var(--select-container-background-color-hovered)}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:var(--select-container-placeholder-text-color-enabled)}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:var(--select-multiple-disabled-container-value-background-color-enabled);border:1px solid var(--select-multiple-disabled-container-value-border-color-enabled)}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;color:var(--select-multiple-container-value-text-color-enabled);background-color:var(--select-multiple-container-value-background-color-enabled);border-radius:2px;margin-right:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:var(--select-multiple-container-value-background-color-disabled)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:var(--select-multiple-container-value-icon-background-color-hovered)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid var(--select-multiple-container-value-icon-left-border-color-enbabled)}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid var(--select-multiple-container-value-icon-left-border-color-enbabled);border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid var(--select-multiple-container-value-icon-right-border-color-enbabled)}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid var(--select-multiple-container-value-icon-right-border-color-enbabled)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:var(--select-multiple-container-value-input-text-color-enabled)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:var(--select-clear-wrapper-text-color-enabled)}.ng-select .ng-clear-wrapper:hover .ng-clear{color:var(--select-clear-wrapper-text-color-hovered)}.ng-select .ng-clear-wrapper:focus .ng-clear{color:var(--select-clear-wrapper-text-color-focused)}.ng-select .ng-clear-wrapper:focus{outline:none}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:var(--select-arrow-wrapper-border-color-hovored)}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:var(--select-arrow-wrapper-border-color-enabled) transparent transparent;border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:var(--dropdown-panel-background-color-enabled);border:1px solid var(--dropdown-panel-border-color-enabled);box-shadow:0 1px 0 var(--dropdown-panel-box-shadow-color-enabled);left:0}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:var(--dropdown-panel-select-top-border-color-enabled);margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel.ng-select-right{left:100%;top:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:var(--dropdown-panel-select-right-border-color-enabled);margin-bottom:-1px}.ng-dropdown-panel.ng-select-right .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-color:var(--dropdown-panel-select-bottom-border-color-enabled);margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-dropdown-panel.ng-select-left{left:-100%;top:0;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:var(--dropdown-panel-select-left-border-color-enabled);margin-bottom:-1px}.ng-dropdown-panel.ng-select-left .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid var(--dropdown-panel-header-border-color-enabled);padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid var(--dropdown-panel-footer-border-color-enabled);padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:var(--dropdown-panel-items-text-color-enabled);cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:var(--dropdown-panel-items-marked-background-color-enabled)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{color:var(--dropdown-panel-items-option-selected-text-color-enabled);background-color:var(--dropdown-panel-items-option-selected-background-color-enabled);font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:var(--dropdown-panel-items-option-background-color-enabled);color:var(--dropdown-panel-items-option-text-color-enabled);padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:var(--dropdown-panel-items-option-selected2-text-color-enabled);background-color:var(--dropdown-panel-items-option-selected2-background-color-enabled)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:var(--dropdown-panel-items-marked-background-color-enabled);color:var(--dropdown-panel-items-marked-text-color-enabled)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:var(--dropdown-panel-items-text-color-disabled)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}.button-row{display:flex;margin-left:var(--button-row-margin-left, 0);margin-right:var(--button-row-margin-right, 0);margin-top:var(--button-row-margin-top, .8rem);margin-bottom:var(--button-row-margin-bottom, .8rem);justify-content:flex-end}.button-row>.primary-button{text-transform:uppercase;font-family:var(--font-family, \"Source Sans Pro\", Helvetica, Arial, tahoma, sans-serif);font-size:var(--font-size, 1.2rem);font-weight:var(--font-weight, 700);display:inline-block;height:var(--button-height, 2.4rem);white-space:nowrap;border-radius:var(--button-border-style, .2rem);vertical-align:middle;border-color:var(--primary-button-border-color-enabled);border-style:var(--button-border-style, solid);border-width:var(--button-border-style, .2rem);color:var(--primary-button-text-color-enabled);background-color:var(--primary-button-background-color-enabled);cursor:pointer;margin-right:var(--buttons-spacing, .8rem)}.button-row>.primary-button.last{margin-right:0}.button-row>.primary-button:hover{border-color:var(--primary-button-border-color-hovered);color:var(--primary-button-text-color-hovered);background-color:var(--primary-button-background-color-hovered);outline:0}.button-row>.primary-button:focus{border-color:var(--primary-button-border-color-focused);color:var(--primary-button-text-color-focused);background-color:var(--primary-button-background-color-focused);outline:0}.button-row>.primary-button.disabled,.button-row>.primary-button:disabled,.button-row>.primary-button:disabled:active{border-color:var(--primary-button-border-color-disabled);color:var(--primary-button-text-color-disabled);background-color:var(--primary-button-background-color-disabled);cursor:default}.button-row>.primary-button:active{border-color:var(--primary-button-border-color-pressed);color:var(--primary-button-text-color-pressed);background-color:var(--primary-button-background-color-pressed);cursor:default}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], encapsulation: i0.ViewEncapsulation.ShadowDom }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: BimplusButtonsRowComponent, isStandalone: true, selector: "lib-bimplus-buttons-row", inputs: { itemsValue: ["items", "itemsValue"] }, outputs: { fileChanged: "fileChanged", buttonClicked: "buttonClicked" }, usesInheritance: true, ngImport: i0, template: "<div class=\"button-row\">\r\n @for(item of items(); track item.id; let last=$last; let first=$first;) {\r\n @switch(item.type) { @case (BimplusButtonType.FILE) {\r\n <ng-container\r\n *ngTemplateOutlet=\"fileButton; context: { $implicit: item, last, first }\"\r\n ></ng-container>\r\n } @default {\r\n <ng-container\r\n *ngTemplateOutlet=\"button; context: { $implicit: item, last, first }\"\r\n ></ng-container>\r\n } } }\r\n</div>\r\n\r\n<ng-template #fileButton let-item let-last=\"last\" let-first=\"first\">\r\n <input\r\n #fileInput\r\n hidden\r\n type=\"file\"\r\n (change)=\"onChange($event, fileInput)\"\r\n [id]=\"item.id\"\r\n />\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n button;\r\n context: { $implicit: item, last, first, fileInput }\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n\r\n<ng-template\r\n #button\r\n let-item\r\n let-last=\"last\"\r\n let-first=\"first\"\r\n let-fileInput=\"fileInput\"\r\n>\r\n <button\r\n [class.last]=\"last\"\r\n [class.first]=\"first\"\r\n [class.primary-button]=\"\r\n item.buttonStyle === undefined || item.buttonStyle === 'primary'\r\n \"\r\n [class.secondary-button]=\"item.buttonStyle === 'secondary'\"\r\n [class.text-button]=\"\r\n item.buttonType === undefined || item.buttonType === 'text'\r\n \"\r\n [class.icon-button]=\"item.buttonType === 'icon'\"\r\n [class.combined-button]=\"item.buttonType === 'combined'\"\r\n [class.disabled]=\"item.disabled === true\"\r\n (click)=\"fileInput ? fileInput.click() : _buttonClicked(item)\"\r\n title=\"{{ item.tooltip }}\"\r\n [attr.disabled]=\"item.disabled === true ? true : null\"\r\n >\r\n {{ item.title }}\r\n </button>\r\n</ng-template>\r\n", styles: [".ng-select.ng-select-opened>.ng-select-container{background:var(--select-container-open-background-color-enabled);border-color:var(--select-container-open-border-color-enabled)}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent var(--select-container-open-arrow-border-color-enabled);border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent var(--select-container-open-arrow-border-color-hovered)}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-opened.ng-select-right>.ng-select-container{border-top-right-radius:0;border-bottom-right-radius:0}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-left>.ng-select-container{border-top-left-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-disabled>.ng-select-container{background-color:var(--select-container-background-color-disabled)}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{color:var(--select-container-text-color-enabled);background-color:var(--select-container-background-color-enabled);border-radius:0;border:1px solid var(--select-container-border-color-enabled);min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px 0 var(--select-container-box-shadow-color-hovered);background-color:var(--select-container-background-color-hovered)}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:var(--select-container-placeholder-text-color-enabled)}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:var(--select-multiple-disabled-container-value-background-color-enabled);border:1px solid var(--select-multiple-disabled-container-value-border-color-enabled)}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;color:var(--select-multiple-container-value-text-color-enabled);background-color:var(--select-multiple-container-value-background-color-enabled);border-radius:2px;margin-right:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:var(--select-multiple-container-value-background-color-disabled)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:var(--select-multiple-container-value-icon-background-color-hovered)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid var(--select-multiple-container-value-icon-left-border-color-enbabled)}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid var(--select-multiple-container-value-icon-left-border-color-enbabled);border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid var(--select-multiple-container-value-icon-right-border-color-enbabled)}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid var(--select-multiple-container-value-icon-right-border-color-enbabled)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:var(--select-multiple-container-value-input-text-color-enabled)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:var(--select-clear-wrapper-text-color-enabled)}.ng-select .ng-clear-wrapper:hover .ng-clear{color:var(--select-clear-wrapper-text-color-hovered)}.ng-select .ng-clear-wrapper:focus .ng-clear{color:var(--select-clear-wrapper-text-color-focused)}.ng-select .ng-clear-wrapper:focus{outline:none}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:var(--select-arrow-wrapper-border-color-hovored)}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:var(--select-arrow-wrapper-border-color-enabled) transparent transparent;border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:var(--dropdown-panel-background-color-enabled);border:1px solid var(--dropdown-panel-border-color-enabled);box-shadow:0 1px 0 var(--dropdown-panel-box-shadow-color-enabled);left:0}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:var(--dropdown-panel-select-top-border-color-enabled);margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel.ng-select-right{left:100%;top:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:var(--dropdown-panel-select-right-border-color-enabled);margin-bottom:-1px}.ng-dropdown-panel.ng-select-right .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-color:var(--dropdown-panel-select-bottom-border-color-enabled);margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-dropdown-panel.ng-select-left{left:-100%;top:0;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:var(--dropdown-panel-select-left-border-color-enabled);margin-bottom:-1px}.ng-dropdown-panel.ng-select-left .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid var(--dropdown-panel-header-border-color-enabled);padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid var(--dropdown-panel-footer-border-color-enabled);padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:var(--dropdown-panel-items-text-color-enabled);cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:var(--dropdown-panel-items-marked-background-color-enabled)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{color:var(--dropdown-panel-items-option-selected-text-color-enabled);background-color:var(--dropdown-panel-items-option-selected-background-color-enabled);font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:var(--dropdown-panel-items-option-background-color-enabled);color:var(--dropdown-panel-items-option-text-color-enabled);padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:var(--dropdown-panel-items-option-selected2-text-color-enabled);background-color:var(--dropdown-panel-items-option-selected2-background-color-enabled)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:var(--dropdown-panel-items-marked-background-color-enabled);color:var(--dropdown-panel-items-marked-text-color-enabled)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:var(--dropdown-panel-items-text-color-disabled)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}.button-row{display:flex;margin-left:var(--button-row-margin-left, 0);margin-right:var(--button-row-margin-right, 0);margin-top:var(--button-row-margin-top, .8rem);margin-bottom:var(--button-row-margin-bottom, .8rem);justify-content:flex-end}.button-row>.primary-button{text-transform:uppercase;font-family:var(--font-family, \"Source Sans Pro\", Helvetica, Arial, tahoma, sans-serif);font-size:var(--font-size, 1.2rem);font-weight:var(--font-weight, 700);display:inline-block;height:var(--button-height, 2.4rem);white-space:nowrap;border-radius:var(--button-border-style, .2rem);vertical-align:middle;border-color:var(--primary-button-border-color-enabled);border-style:var(--button-border-style, solid);border-width:var(--button-border-style, .2rem);color:var(--primary-button-text-color-enabled);background-color:var(--primary-button-background-color-enabled);cursor:pointer;margin-right:var(--buttons-spacing, .8rem)}.button-row>.primary-button.last{margin-right:0}.button-row>.primary-button:hover{border-color:var(--primary-button-border-color-hovered);color:var(--primary-button-text-color-hovered);background-color:var(--primary-button-background-color-hovered);outline:0}.button-row>.primary-button:focus{border-color:var(--primary-button-border-color-focused);color:var(--primary-button-text-color-focused);background-color:var(--primary-button-background-color-focused);outline:0}.button-row>.primary-button.disabled,.button-row>.primary-button:disabled,.button-row>.primary-button:disabled:active,.button-row>.primary-button.disabled:active{border-color:var(--primary-button-border-color-disabled);color:var(--primary-button-text-color-disabled);background-color:var(--primary-button-background-color-disabled);cursor:default}.button-row>.primary-button:active{border-color:var(--primary-button-border-color-pressed);color:var(--primary-button-text-color-pressed);background-color:var(--primary-button-background-color-pressed);cursor:default}.button-row>.secondary-button{text-transform:uppercase;font-family:var(--font-family, \"Source Sans Pro\", Helvetica, Arial, tahoma, sans-serif);font-size:var(--font-size, 1.2rem);font-weight:var(--font-weight, 700);display:inline-block;height:var(--button-height, 2.4rem);white-space:nowrap;border-radius:var(--button-border-style, .2rem);vertical-align:middle;border-style:var(--button-border-style, solid);border-width:var(--button-border-style, .2rem);border-color:var(--secondary-button-border-color-enabled);color:var(--secondary-button-text-color-enabled);background-color:var(--secondary-button-background-color-enabled);cursor:pointer;margin-right:var(--buttons-spacing, .8rem)}.button-row>.secondary-button.last{margin-right:0}.button-row>.secondary-button:hover{border:.2rem solid;border-color:var(--secondary-button-border-color-hovered);color:var(--secondary-button-text-color-hovered);background-color:var(--secondary-button-background-color-hovered);outline:0}.button-row>.secondary-button:focus{border:.2rem solid;border-color:var(--secondary-button-border-color-focused);color:var(--secondary-button-text-color-focused);background-color:var(--secondary-button-background-color-focused);outline:0}.button-row>.secondary-button.disabled,.button-row>.secondary-button:disabled,.button-row>.secondary-button:disabled:active,.button-row>.secondary-button.disabled:active{border:solid .2rem;border-color:var(--secondary-button-border-color-disabled);color:var(--secondary-button-text-color-disabled);background-color:var(--secondary-button-background-color-disabled);cursor:default}.button-row>.secondary-button:active{border:solid .2rem;border-color:var(--secondary-button-border-color-pressed);color:var(--secondary-button-text-color-pressed);background-color:var(--secondary-button-background-color-pressed);cursor:default}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.ShadowDom }); }
24
35
  }
25
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusButtonsRowComponent, decorators: [{
26
37
  type: Component,
27
- args: [{ selector: 'lib-bimplus-buttons-row', standalone: true, imports: [NgFor], encapsulation: ViewEncapsulation.ShadowDom, template: "<div class=\"button-row\">\r\n <ng-container *ngFor=\"let item of items(); let last=last; let first=first;\">\r\n <button\r\n [class.last]=\"last\"\r\n [class.first]=\"first\"\r\n [class.primary-button]=\"item.buttonStyle===undefined || item.buttonStyle==='primary'\"\r\n [class.secondary-button]=\"item.buttonStyle==='secondary'\"\r\n [class.text-button]=\"item.buttonType===undefined || item.buttonType==='text'\"\r\n [class.icon-button]=\"item.buttonType==='icon'\"\r\n [class.combined-button]=\"item.buttonType==='combined'\"\r\n [class.disabled]=\"item.disabled===true\"\r\n (click)=\"_buttonClicked(item)\"\r\n title={{item.tooltip}}\r\n data-test=\"button\"\r\n >\r\n {{ item.title }}\r\n </button>\r\n </ng-container>\r\n</div>\r\n", styles: [".ng-select.ng-select-opened>.ng-select-container{background:var(--select-container-open-background-color-enabled);border-color:var(--select-container-open-border-color-enabled)}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent var(--select-container-open-arrow-border-color-enabled);border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent var(--select-container-open-arrow-border-color-hovered)}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-opened.ng-select-right>.ng-select-container{border-top-right-radius:0;border-bottom-right-radius:0}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-left>.ng-select-container{border-top-left-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-disabled>.ng-select-container{background-color:var(--select-container-background-color-disabled)}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{color:var(--select-container-text-color-enabled);background-color:var(--select-container-background-color-enabled);border-radius:0;border:1px solid var(--select-container-border-color-enabled);min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px 0 var(--select-container-box-shadow-color-hovered);background-color:var(--select-container-background-color-hovered)}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:var(--select-container-placeholder-text-color-enabled)}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:var(--select-multiple-disabled-container-value-background-color-enabled);border:1px solid var(--select-multiple-disabled-container-value-border-color-enabled)}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;color:var(--select-multiple-container-value-text-color-enabled);background-color:var(--select-multiple-container-value-background-color-enabled);border-radius:2px;margin-right:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:var(--select-multiple-container-value-background-color-disabled)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:var(--select-multiple-container-value-icon-background-color-hovered)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid var(--select-multiple-container-value-icon-left-border-color-enbabled)}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid var(--select-multiple-container-value-icon-left-border-color-enbabled);border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid var(--select-multiple-container-value-icon-right-border-color-enbabled)}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid var(--select-multiple-container-value-icon-right-border-color-enbabled)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:var(--select-multiple-container-value-input-text-color-enabled)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:var(--select-clear-wrapper-text-color-enabled)}.ng-select .ng-clear-wrapper:hover .ng-clear{color:var(--select-clear-wrapper-text-color-hovered)}.ng-select .ng-clear-wrapper:focus .ng-clear{color:var(--select-clear-wrapper-text-color-focused)}.ng-select .ng-clear-wrapper:focus{outline:none}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:var(--select-arrow-wrapper-border-color-hovored)}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:var(--select-arrow-wrapper-border-color-enabled) transparent transparent;border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:var(--dropdown-panel-background-color-enabled);border:1px solid var(--dropdown-panel-border-color-enabled);box-shadow:0 1px 0 var(--dropdown-panel-box-shadow-color-enabled);left:0}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:var(--dropdown-panel-select-top-border-color-enabled);margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel.ng-select-right{left:100%;top:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:var(--dropdown-panel-select-right-border-color-enabled);margin-bottom:-1px}.ng-dropdown-panel.ng-select-right .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-color:var(--dropdown-panel-select-bottom-border-color-enabled);margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-dropdown-panel.ng-select-left{left:-100%;top:0;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:var(--dropdown-panel-select-left-border-color-enabled);margin-bottom:-1px}.ng-dropdown-panel.ng-select-left .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid var(--dropdown-panel-header-border-color-enabled);padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid var(--dropdown-panel-footer-border-color-enabled);padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:var(--dropdown-panel-items-text-color-enabled);cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:var(--dropdown-panel-items-marked-background-color-enabled)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{color:var(--dropdown-panel-items-option-selected-text-color-enabled);background-color:var(--dropdown-panel-items-option-selected-background-color-enabled);font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:var(--dropdown-panel-items-option-background-color-enabled);color:var(--dropdown-panel-items-option-text-color-enabled);padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:var(--dropdown-panel-items-option-selected2-text-color-enabled);background-color:var(--dropdown-panel-items-option-selected2-background-color-enabled)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:var(--dropdown-panel-items-marked-background-color-enabled);color:var(--dropdown-panel-items-marked-text-color-enabled)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:var(--dropdown-panel-items-text-color-disabled)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}.button-row{display:flex;margin-left:var(--button-row-margin-left, 0);margin-right:var(--button-row-margin-right, 0);margin-top:var(--button-row-margin-top, .8rem);margin-bottom:var(--button-row-margin-bottom, .8rem);justify-content:flex-end}.button-row>.primary-button{text-transform:uppercase;font-family:var(--font-family, \"Source Sans Pro\", Helvetica, Arial, tahoma, sans-serif);font-size:var(--font-size, 1.2rem);font-weight:var(--font-weight, 700);display:inline-block;height:var(--button-height, 2.4rem);white-space:nowrap;border-radius:var(--button-border-style, .2rem);vertical-align:middle;border-color:var(--primary-button-border-color-enabled);border-style:var(--button-border-style, solid);border-width:var(--button-border-style, .2rem);color:var(--primary-button-text-color-enabled);background-color:var(--primary-button-background-color-enabled);cursor:pointer;margin-right:var(--buttons-spacing, .8rem)}.button-row>.primary-button.last{margin-right:0}.button-row>.primary-button:hover{border-color:var(--primary-button-border-color-hovered);color:var(--primary-button-text-color-hovered);background-color:var(--primary-button-background-color-hovered);outline:0}.button-row>.primary-button:focus{border-color:var(--primary-button-border-color-focused);color:var(--primary-button-text-color-focused);background-color:var(--primary-button-background-color-focused);outline:0}.button-row>.primary-button.disabled,.button-row>.primary-button:disabled,.button-row>.primary-button:disabled:active{border-color:var(--primary-button-border-color-disabled);color:var(--primary-button-text-color-disabled);background-color:var(--primary-button-background-color-disabled);cursor:default}.button-row>.primary-button:active{border-color:var(--primary-button-border-color-pressed);color:var(--primary-button-text-color-pressed);background-color:var(--primary-button-background-color-pressed);cursor:default}\n"] }]
38
+ args: [{ selector: 'lib-bimplus-buttons-row', standalone: true, imports: [NgTemplateOutlet], encapsulation: ViewEncapsulation.ShadowDom, template: "<div class=\"button-row\">\r\n @for(item of items(); track item.id; let last=$last; let first=$first;) {\r\n @switch(item.type) { @case (BimplusButtonType.FILE) {\r\n <ng-container\r\n *ngTemplateOutlet=\"fileButton; context: { $implicit: item, last, first }\"\r\n ></ng-container>\r\n } @default {\r\n <ng-container\r\n *ngTemplateOutlet=\"button; context: { $implicit: item, last, first }\"\r\n ></ng-container>\r\n } } }\r\n</div>\r\n\r\n<ng-template #fileButton let-item let-last=\"last\" let-first=\"first\">\r\n <input\r\n #fileInput\r\n hidden\r\n type=\"file\"\r\n (change)=\"onChange($event, fileInput)\"\r\n [id]=\"item.id\"\r\n />\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n button;\r\n context: { $implicit: item, last, first, fileInput }\r\n \"\r\n ></ng-container>\r\n</ng-template>\r\n\r\n<ng-template\r\n #button\r\n let-item\r\n let-last=\"last\"\r\n let-first=\"first\"\r\n let-fileInput=\"fileInput\"\r\n>\r\n <button\r\n [class.last]=\"last\"\r\n [class.first]=\"first\"\r\n [class.primary-button]=\"\r\n item.buttonStyle === undefined || item.buttonStyle === 'primary'\r\n \"\r\n [class.secondary-button]=\"item.buttonStyle === 'secondary'\"\r\n [class.text-button]=\"\r\n item.buttonType === undefined || item.buttonType === 'text'\r\n \"\r\n [class.icon-button]=\"item.buttonType === 'icon'\"\r\n [class.combined-button]=\"item.buttonType === 'combined'\"\r\n [class.disabled]=\"item.disabled === true\"\r\n (click)=\"fileInput ? fileInput.click() : _buttonClicked(item)\"\r\n title=\"{{ item.tooltip }}\"\r\n [attr.disabled]=\"item.disabled === true ? true : null\"\r\n >\r\n {{ item.title }}\r\n </button>\r\n</ng-template>\r\n", styles: [".ng-select.ng-select-opened>.ng-select-container{background:var(--select-container-open-background-color-enabled);border-color:var(--select-container-open-border-color-enabled)}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent var(--select-container-open-arrow-border-color-enabled);border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent var(--select-container-open-arrow-border-color-hovered)}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-opened.ng-select-right>.ng-select-container{border-top-right-radius:0;border-bottom-right-radius:0}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-left>.ng-select-container{border-top-left-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-disabled>.ng-select-container{background-color:var(--select-container-background-color-disabled)}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{color:var(--select-container-text-color-enabled);background-color:var(--select-container-background-color-enabled);border-radius:0;border:1px solid var(--select-container-border-color-enabled);min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px 0 var(--select-container-box-shadow-color-hovered);background-color:var(--select-container-background-color-hovered)}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:var(--select-container-placeholder-text-color-enabled)}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:var(--select-multiple-disabled-container-value-background-color-enabled);border:1px solid var(--select-multiple-disabled-container-value-border-color-enabled)}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;color:var(--select-multiple-container-value-text-color-enabled);background-color:var(--select-multiple-container-value-background-color-enabled);border-radius:2px;margin-right:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:var(--select-multiple-container-value-background-color-disabled)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:var(--select-multiple-container-value-icon-background-color-hovered)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid var(--select-multiple-container-value-icon-left-border-color-enbabled)}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid var(--select-multiple-container-value-icon-left-border-color-enbabled);border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid var(--select-multiple-container-value-icon-right-border-color-enbabled)}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid var(--select-multiple-container-value-icon-right-border-color-enbabled)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:var(--select-multiple-container-value-input-text-color-enabled)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:var(--select-clear-wrapper-text-color-enabled)}.ng-select .ng-clear-wrapper:hover .ng-clear{color:var(--select-clear-wrapper-text-color-hovered)}.ng-select .ng-clear-wrapper:focus .ng-clear{color:var(--select-clear-wrapper-text-color-focused)}.ng-select .ng-clear-wrapper:focus{outline:none}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:var(--select-arrow-wrapper-border-color-hovored)}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:var(--select-arrow-wrapper-border-color-enabled) transparent transparent;border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:var(--dropdown-panel-background-color-enabled);border:1px solid var(--dropdown-panel-border-color-enabled);box-shadow:0 1px 0 var(--dropdown-panel-box-shadow-color-enabled);left:0}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:var(--dropdown-panel-select-top-border-color-enabled);margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel.ng-select-right{left:100%;top:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:var(--dropdown-panel-select-right-border-color-enabled);margin-bottom:-1px}.ng-dropdown-panel.ng-select-right .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-color:var(--dropdown-panel-select-bottom-border-color-enabled);margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-dropdown-panel.ng-select-left{left:-100%;top:0;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:var(--dropdown-panel-select-left-border-color-enabled);margin-bottom:-1px}.ng-dropdown-panel.ng-select-left .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid var(--dropdown-panel-header-border-color-enabled);padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid var(--dropdown-panel-footer-border-color-enabled);padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:var(--dropdown-panel-items-text-color-enabled);cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:var(--dropdown-panel-items-marked-background-color-enabled)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{color:var(--dropdown-panel-items-option-selected-text-color-enabled);background-color:var(--dropdown-panel-items-option-selected-background-color-enabled);font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:var(--dropdown-panel-items-option-background-color-enabled);color:var(--dropdown-panel-items-option-text-color-enabled);padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:var(--dropdown-panel-items-option-selected2-text-color-enabled);background-color:var(--dropdown-panel-items-option-selected2-background-color-enabled)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:var(--dropdown-panel-items-marked-background-color-enabled);color:var(--dropdown-panel-items-marked-text-color-enabled)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:var(--dropdown-panel-items-text-color-disabled)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}.button-row{display:flex;margin-left:var(--button-row-margin-left, 0);margin-right:var(--button-row-margin-right, 0);margin-top:var(--button-row-margin-top, .8rem);margin-bottom:var(--button-row-margin-bottom, .8rem);justify-content:flex-end}.button-row>.primary-button{text-transform:uppercase;font-family:var(--font-family, \"Source Sans Pro\", Helvetica, Arial, tahoma, sans-serif);font-size:var(--font-size, 1.2rem);font-weight:var(--font-weight, 700);display:inline-block;height:var(--button-height, 2.4rem);white-space:nowrap;border-radius:var(--button-border-style, .2rem);vertical-align:middle;border-color:var(--primary-button-border-color-enabled);border-style:var(--button-border-style, solid);border-width:var(--button-border-style, .2rem);color:var(--primary-button-text-color-enabled);background-color:var(--primary-button-background-color-enabled);cursor:pointer;margin-right:var(--buttons-spacing, .8rem)}.button-row>.primary-button.last{margin-right:0}.button-row>.primary-button:hover{border-color:var(--primary-button-border-color-hovered);color:var(--primary-button-text-color-hovered);background-color:var(--primary-button-background-color-hovered);outline:0}.button-row>.primary-button:focus{border-color:var(--primary-button-border-color-focused);color:var(--primary-button-text-color-focused);background-color:var(--primary-button-background-color-focused);outline:0}.button-row>.primary-button.disabled,.button-row>.primary-button:disabled,.button-row>.primary-button:disabled:active,.button-row>.primary-button.disabled:active{border-color:var(--primary-button-border-color-disabled);color:var(--primary-button-text-color-disabled);background-color:var(--primary-button-background-color-disabled);cursor:default}.button-row>.primary-button:active{border-color:var(--primary-button-border-color-pressed);color:var(--primary-button-text-color-pressed);background-color:var(--primary-button-background-color-pressed);cursor:default}.button-row>.secondary-button{text-transform:uppercase;font-family:var(--font-family, \"Source Sans Pro\", Helvetica, Arial, tahoma, sans-serif);font-size:var(--font-size, 1.2rem);font-weight:var(--font-weight, 700);display:inline-block;height:var(--button-height, 2.4rem);white-space:nowrap;border-radius:var(--button-border-style, .2rem);vertical-align:middle;border-style:var(--button-border-style, solid);border-width:var(--button-border-style, .2rem);border-color:var(--secondary-button-border-color-enabled);color:var(--secondary-button-text-color-enabled);background-color:var(--secondary-button-background-color-enabled);cursor:pointer;margin-right:var(--buttons-spacing, .8rem)}.button-row>.secondary-button.last{margin-right:0}.button-row>.secondary-button:hover{border:.2rem solid;border-color:var(--secondary-button-border-color-hovered);color:var(--secondary-button-text-color-hovered);background-color:var(--secondary-button-background-color-hovered);outline:0}.button-row>.secondary-button:focus{border:.2rem solid;border-color:var(--secondary-button-border-color-focused);color:var(--secondary-button-text-color-focused);background-color:var(--secondary-button-background-color-focused);outline:0}.button-row>.secondary-button.disabled,.button-row>.secondary-button:disabled,.button-row>.secondary-button:disabled:active,.button-row>.secondary-button.disabled:active{border:solid .2rem;border-color:var(--secondary-button-border-color-disabled);color:var(--secondary-button-text-color-disabled);background-color:var(--secondary-button-background-color-disabled);cursor:default}.button-row>.secondary-button:active{border:solid .2rem;border-color:var(--secondary-button-border-color-pressed);color:var(--secondary-button-text-color-pressed);background-color:var(--secondary-button-background-color-pressed);cursor:default}\n"] }]
28
39
  }], propDecorators: { itemsValue: [{
29
40
  type: Input,
30
41
  args: [{ alias: 'items' }]
42
+ }], fileChanged: [{
43
+ type: Output
31
44
  }], buttonClicked: [{
32
45
  type: Output
33
46
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1idXR0b25zLXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYmltcGx1cy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9iaW1wbHVzLWJ1dHRvbnMtcm93L2JpbXBsdXMtYnV0dG9ucy1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1idXR0b25zLXJvdy9iaW1wbHVzLWJ1dHRvbnMtcm93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBRW5ILE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFVeEMsTUFBTSxPQUFPLDBCQUEyQixTQUFRLCtCQUErQjtJQVIvRTs7UUFjcUIsVUFBSyxHQUFHLE1BQU0sQ0FBeUIsRUFBRSxDQUFDLENBQUM7UUFFcEQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBMkIsQ0FBQztLQVF2RTtJQWZDLDRFQUE0RTtJQUM1RSxvREFBb0Q7SUFDcEQsSUFBK0IsVUFBVSxDQUFDLEtBQWtDO1FBQzFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFLUyxjQUFjLENBQUMsSUFBMEI7UUFDakQsSUFBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDOytHQWZVLDBCQUEwQjttR0FBMUIsMEJBQTBCLHdNQ2J2Qyw0eUJBbUJBLDg0WURYWSxLQUFLOzs0RkFLSiwwQkFBMEI7a0JBUnRDLFNBQVM7K0JBQ0UseUJBQXlCLGNBQ3ZCLElBQUksV0FDUCxDQUFDLEtBQUssQ0FBQyxpQkFHRCxpQkFBaUIsQ0FBQyxTQUFTOzhCQUtYLFVBQVU7c0JBQXhDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUtmLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgSW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSBcIi4vLi4vYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0L2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQmltcGx1c0J1dHRvblJvd0l0ZW0sIEJpbXBsdXNCdXR0b25DbGlja0V2ZW50IH0gZnJvbSBcIi4vYmltcGx1cy1idXR0b25zLXJvdy5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHsgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYmltcGx1cy1idXR0b25zLXJvdycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTmdGb3JdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iaW1wbHVzLWJ1dHRvbnMtcm93LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYmltcGx1cy1idXR0b25zLXJvdy5jb21wb25lbnQubGVzcycsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uU2hhZG93RG9tXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCaW1wbHVzQnV0dG9uc1Jvd0NvbXBvbmVudCBleHRlbmRzIEJpbXBsdXNMb2NhbGl6ZWRXaWRnZXRDb21wb25lbnQge1xyXG4gIC8qKiBUT0RPIHJlbW92ZSBASW5wdXQgb25jZSBzaWduYWwgaW5wdXRzIHJlbGVhc2UgZnJvbSBkZXZlbG9wZXIgcHJldmlldy4gKi9cclxuICAvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lICovXHJcbiAgQElucHV0KHsgYWxpYXM6ICdpdGVtcycgfSkgc2V0IGl0ZW1zVmFsdWUodmFsdWU6IEFycmF5PEJpbXBsdXNCdXR0b25Sb3dJdGVtPikge1xyXG4gICAgdGhpcy5pdGVtcy5zZXQodmFsdWUpO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbXMgPSBzaWduYWw8QmltcGx1c0J1dHRvblJvd0l0ZW1bXT4oW10pO1xyXG5cclxuICBAT3V0cHV0KCkgYnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8QmltcGx1c0J1dHRvbkNsaWNrRXZlbnQ+KCk7XHJcbiAgXHJcbiAgcHJvdGVjdGVkIF9idXR0b25DbGlja2VkKGl0ZW06IEJpbXBsdXNCdXR0b25Sb3dJdGVtKSB7XHJcbiAgICBpZihpdGVtLmRpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KHsgaWQ6IGl0ZW0uaWQgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJidXR0b24tcm93XCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcygpOyBsZXQgbGFzdD1sYXN0OyBsZXQgZmlyc3Q9Zmlyc3Q7XCI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIFtjbGFzcy5sYXN0XT1cImxhc3RcIlxyXG4gICAgICBbY2xhc3MuZmlyc3RdPVwiZmlyc3RcIlxyXG4gICAgICBbY2xhc3MucHJpbWFyeS1idXR0b25dPVwiaXRlbS5idXR0b25TdHlsZT09PXVuZGVmaW5lZCB8fCBpdGVtLmJ1dHRvblN0eWxlPT09J3ByaW1hcnknXCJcclxuICAgICAgW2NsYXNzLnNlY29uZGFyeS1idXR0b25dPVwiaXRlbS5idXR0b25TdHlsZT09PSdzZWNvbmRhcnknXCJcclxuICAgICAgW2NsYXNzLnRleHQtYnV0dG9uXT1cIml0ZW0uYnV0dG9uVHlwZT09PXVuZGVmaW5lZCB8fCBpdGVtLmJ1dHRvblR5cGU9PT0ndGV4dCdcIlxyXG4gICAgICBbY2xhc3MuaWNvbi1idXR0b25dPVwiaXRlbS5idXR0b25UeXBlPT09J2ljb24nXCJcclxuICAgICAgW2NsYXNzLmNvbWJpbmVkLWJ1dHRvbl09XCJpdGVtLmJ1dHRvblR5cGU9PT0nY29tYmluZWQnXCJcclxuICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWQ9PT10cnVlXCJcclxuICAgICAgKGNsaWNrKT1cIl9idXR0b25DbGlja2VkKGl0ZW0pXCJcclxuICAgICAgdGl0bGU9e3tpdGVtLnRvb2x0aXB9fVxyXG4gICAgICBkYXRhLXRlc3Q9XCJidXR0b25cIlxyXG4gICAgPlxyXG4gICAgICB7eyBpdGVtLnRpdGxlIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1idXR0b25zLXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYmltcGx1cy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9iaW1wbHVzLWJ1dHRvbnMtcm93L2JpbXBsdXMtYnV0dG9ucy1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1idXR0b25zLXJvdy9iaW1wbHVzLWJ1dHRvbnMtcm93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ2pILE9BQU8sRUFHTCxpQkFBaUIsR0FDbEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVbEcsTUFBTSxPQUFPLDBCQUEyQixTQUFRLCtCQUErQjtJQVIvRTs7UUFTcUIsc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFPdEMsVUFBSyxHQUFHLE1BQU0sQ0FBeUIsRUFBRSxDQUFDLENBQUM7UUFFcEQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3ZDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUM7S0FrQnZFO0lBMUJDLDRFQUE0RTtJQUM1RSxvREFBb0Q7SUFDcEQsSUFBK0IsVUFBVSxDQUFDLEtBQWtDO1FBQzFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFNUyxRQUFRLENBQUMsS0FBWSxFQUFFLFlBQThCO1FBQzdELE1BQU0sSUFBSSxHQUFJLEtBQUssQ0FBQyxNQUF1QyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVyRSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsaURBQWlEO1lBQ2pELFlBQVksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRVMsY0FBYyxDQUFDLElBQTBCO1FBQ2pELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQzsrR0E1QlUsMEJBQTBCO21HQUExQiwwQkFBMEIsb09DakJ2QyxzdURBd0RBLHV1Y0Q1Q1ksZ0JBQWdCOzs0RkFLZiwwQkFBMEI7a0JBUnRDLFNBQVM7K0JBQ0UseUJBQXlCLGNBQ3ZCLElBQUksV0FDUCxDQUFDLGdCQUFnQixDQUFDLGlCQUdaLGlCQUFpQixDQUFDLFNBQVM7OEJBT1gsVUFBVTtzQkFBeEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBS2YsV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmltcGx1c0xvY2FsaXplZFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC9iaW1wbHVzLWxvY2FsaXplZC13aWRnZXQuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBCaW1wbHVzQnV0dG9uUm93SXRlbSxcclxuICBCaW1wbHVzQnV0dG9uQ2xpY2tFdmVudCxcclxuICBCaW1wbHVzQnV0dG9uVHlwZSxcclxufSBmcm9tICcuL2JpbXBsdXMtYnV0dG9ucy1yb3cuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBJbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1iaW1wbHVzLWJ1dHRvbnMtcm93JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmltcGx1cy1idXR0b25zLXJvdy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2JpbXBsdXMtYnV0dG9ucy1yb3cuY29tcG9uZW50Lmxlc3MnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJpbXBsdXNCdXR0b25zUm93Q29tcG9uZW50IGV4dGVuZHMgQmltcGx1c0xvY2FsaXplZFdpZGdldENvbXBvbmVudCB7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEJpbXBsdXNCdXR0b25UeXBlID0gQmltcGx1c0J1dHRvblR5cGU7XHJcblxyXG4gIC8qKiBUT0RPIHJlbW92ZSBASW5wdXQgb25jZSBzaWduYWwgaW5wdXRzIHJlbGVhc2UgZnJvbSBkZXZlbG9wZXIgcHJldmlldy4gKi9cclxuICAvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lICovXHJcbiAgQElucHV0KHsgYWxpYXM6ICdpdGVtcycgfSkgc2V0IGl0ZW1zVmFsdWUodmFsdWU6IEFycmF5PEJpbXBsdXNCdXR0b25Sb3dJdGVtPikge1xyXG4gICAgdGhpcy5pdGVtcy5zZXQodmFsdWUpO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbXMgPSBzaWduYWw8QmltcGx1c0J1dHRvblJvd0l0ZW1bXT4oW10pO1xyXG5cclxuICBAT3V0cHV0KCkgZmlsZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGU+KCk7XHJcbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEJpbXBsdXNCdXR0b25DbGlja0V2ZW50PigpO1xyXG5cclxuICBwcm90ZWN0ZWQgb25DaGFuZ2UoZXZlbnQ6IEV2ZW50LCBpbnB1dEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQpIHtcclxuICAgIGNvbnN0IGZpbGUgPSAoZXZlbnQudGFyZ2V0IGFzIHVua25vd24gYXMgeyBmaWxlczogRmlsZVtdIH0pLmZpbGVzWzBdO1xyXG5cclxuICAgIGlmIChmaWxlKSB7XHJcbiAgICAgIHRoaXMuZmlsZUNoYW5nZWQuZW1pdChmaWxlKTtcclxuICAgICAgLy8gcmVzZXQgdmFsdWUgdG8gYmUgYWJsZSBzZWxlY3Qgc2FtZSB2YWx1ZSBhZ2FpblxyXG4gICAgICBpbnB1dEVsZW1lbnQudmFsdWUgPSAnJztcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgcHJvdGVjdGVkIF9idXR0b25DbGlja2VkKGl0ZW06IEJpbXBsdXNCdXR0b25Sb3dJdGVtKSB7XHJcbiAgICBpZiAoaXRlbS5kaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmJ1dHRvbkNsaWNrZWQuZW1pdCh7IGlkOiBpdGVtLmlkIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYnV0dG9uLXJvd1wiPlxyXG4gIEBmb3IoaXRlbSBvZiBpdGVtcygpOyB0cmFjayBpdGVtLmlkOyBsZXQgbGFzdD0kbGFzdDsgbGV0IGZpcnN0PSRmaXJzdDspIHtcclxuICBAc3dpdGNoKGl0ZW0udHlwZSkgeyBAY2FzZSAoQmltcGx1c0J1dHRvblR5cGUuRklMRSkge1xyXG4gIDxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmlsZUJ1dHRvbjsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0sIGxhc3QsIGZpcnN0IH1cIlxyXG4gID48L25nLWNvbnRhaW5lcj5cclxuICB9IEBkZWZhdWx0IHtcclxuICA8bmctY29udGFpbmVyXHJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbjsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0sIGxhc3QsIGZpcnN0IH1cIlxyXG4gID48L25nLWNvbnRhaW5lcj5cclxuICB9IH0gfVxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZmlsZUJ1dHRvbiBsZXQtaXRlbSBsZXQtbGFzdD1cImxhc3RcIiBsZXQtZmlyc3Q9XCJmaXJzdFwiPlxyXG4gIDxpbnB1dFxyXG4gICAgI2ZpbGVJbnB1dFxyXG4gICAgaGlkZGVuXHJcbiAgICB0eXBlPVwiZmlsZVwiXHJcbiAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudCwgZmlsZUlucHV0KVwiXHJcbiAgICBbaWRdPVwiaXRlbS5pZFwiXHJcbiAgLz5cclxuICA8bmctY29udGFpbmVyXHJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICBidXR0b247XHJcbiAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtLCBsYXN0LCBmaXJzdCwgZmlsZUlucHV0IH1cclxuICAgIFwiXHJcbiAgPjwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlXHJcbiAgI2J1dHRvblxyXG4gIGxldC1pdGVtXHJcbiAgbGV0LWxhc3Q9XCJsYXN0XCJcclxuICBsZXQtZmlyc3Q9XCJmaXJzdFwiXHJcbiAgbGV0LWZpbGVJbnB1dD1cImZpbGVJbnB1dFwiXHJcbj5cclxuICA8YnV0dG9uXHJcbiAgICBbY2xhc3MubGFzdF09XCJsYXN0XCJcclxuICAgIFtjbGFzcy5maXJzdF09XCJmaXJzdFwiXHJcbiAgICBbY2xhc3MucHJpbWFyeS1idXR0b25dPVwiXHJcbiAgICAgIGl0ZW0uYnV0dG9uU3R5bGUgPT09IHVuZGVmaW5lZCB8fCBpdGVtLmJ1dHRvblN0eWxlID09PSAncHJpbWFyeSdcclxuICAgIFwiXHJcbiAgICBbY2xhc3Muc2Vjb25kYXJ5LWJ1dHRvbl09XCJpdGVtLmJ1dHRvblN0eWxlID09PSAnc2Vjb25kYXJ5J1wiXHJcbiAgICBbY2xhc3MudGV4dC1idXR0b25dPVwiXHJcbiAgICAgIGl0ZW0uYnV0dG9uVHlwZSA9PT0gdW5kZWZpbmVkIHx8IGl0ZW0uYnV0dG9uVHlwZSA9PT0gJ3RleHQnXHJcbiAgICBcIlxyXG4gICAgW2NsYXNzLmljb24tYnV0dG9uXT1cIml0ZW0uYnV0dG9uVHlwZSA9PT0gJ2ljb24nXCJcclxuICAgIFtjbGFzcy5jb21iaW5lZC1idXR0b25dPVwiaXRlbS5idXR0b25UeXBlID09PSAnY29tYmluZWQnXCJcclxuICAgIFtjbGFzcy5kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkID09PSB0cnVlXCJcclxuICAgIChjbGljayk9XCJmaWxlSW5wdXQgPyBmaWxlSW5wdXQuY2xpY2soKSA6IF9idXR0b25DbGlja2VkKGl0ZW0pXCJcclxuICAgIHRpdGxlPVwie3sgaXRlbS50b29sdGlwIH19XCJcclxuICAgIFthdHRyLmRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWQgPT09IHRydWUgPyB0cnVlIDogbnVsbFwiXHJcbiAgPlxyXG4gICAge3sgaXRlbS50aXRsZSB9fVxyXG4gIDwvYnV0dG9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=