@fundamental-ngx/core 0.35.2-rc.28 → 0.35.2-rc.30

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 (121) hide show
  1. package/action-bar/package.json +1 -1
  2. package/action-sheet/package.json +1 -1
  3. package/alert/package.json +1 -1
  4. package/avatar/package.json +1 -1
  5. package/avatar-group/package.json +1 -1
  6. package/bar/package.json +1 -1
  7. package/breadcrumb/breadcrumb.component.d.ts +18 -14
  8. package/breadcrumb/esm2020/breadcrumb.component.mjs +32 -21
  9. package/breadcrumb/fesm2015/fundamental-ngx-core-breadcrumb.mjs +30 -19
  10. package/breadcrumb/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  11. package/breadcrumb/fesm2020/fundamental-ngx-core-breadcrumb.mjs +30 -19
  12. package/breadcrumb/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  13. package/breadcrumb/package.json +1 -1
  14. package/busy-indicator/package.json +1 -1
  15. package/button/package.json +1 -1
  16. package/calendar/package.json +1 -1
  17. package/card/package.json +1 -1
  18. package/carousel/package.json +1 -1
  19. package/checkbox/package.json +1 -1
  20. package/combobox/package.json +1 -1
  21. package/content-density/package.json +3 -3
  22. package/date-picker/package.json +1 -1
  23. package/datetime/package.json +1 -1
  24. package/datetime-picker/package.json +1 -1
  25. package/dialog/package.json +1 -1
  26. package/dynamic-page/package.json +1 -1
  27. package/dynamic-side-content/package.json +1 -1
  28. package/esm2020/breadcrumb/breadcrumb.component.mjs +32 -21
  29. package/esm2020/illustrated-message/illustrated-message.component.mjs +28 -21
  30. package/esm2020/utils/interfaces/require.interface.mjs +2 -0
  31. package/esm2020/utils/public_api.mjs +2 -1
  32. package/facets/package.json +1 -1
  33. package/feed-input/package.json +1 -1
  34. package/feed-list-item/package.json +1 -1
  35. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs +30 -19
  36. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  37. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs +27 -21
  38. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  39. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs +30 -19
  40. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  41. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs +26 -20
  42. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  43. package/file-uploader/package.json +1 -1
  44. package/fixed-card-layout/package.json +1 -1
  45. package/flexible-column-layout/package.json +1 -1
  46. package/form/package.json +1 -1
  47. package/formatted-text/package.json +1 -1
  48. package/grid-list/package.json +1 -1
  49. package/icon/package.json +1 -1
  50. package/illustrated-message/esm2020/illustrated-message.component.mjs +28 -21
  51. package/illustrated-message/fesm2015/fundamental-ngx-core-illustrated-message.mjs +27 -21
  52. package/illustrated-message/fesm2015/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  53. package/illustrated-message/fesm2020/fundamental-ngx-core-illustrated-message.mjs +26 -20
  54. package/illustrated-message/fesm2020/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  55. package/illustrated-message/illustrated-message.component.d.ts +17 -15
  56. package/illustrated-message/package.json +1 -1
  57. package/infinite-scroll/package.json +1 -1
  58. package/info-label/package.json +1 -1
  59. package/inline-help/package.json +1 -1
  60. package/input-group/package.json +1 -1
  61. package/layout-grid/package.json +1 -1
  62. package/layout-panel/package.json +1 -1
  63. package/link/package.json +1 -1
  64. package/list/package.json +1 -1
  65. package/menu/package.json +1 -1
  66. package/message-box/package.json +1 -1
  67. package/message-strip/package.json +1 -1
  68. package/message-toast/package.json +1 -1
  69. package/micro-process-flow/package.json +1 -1
  70. package/mobile-mode/package.json +1 -1
  71. package/multi-input/package.json +1 -1
  72. package/nested-list/package.json +1 -1
  73. package/notification/package.json +1 -1
  74. package/object-identifier/package.json +1 -1
  75. package/object-marker/package.json +1 -1
  76. package/object-number/package.json +1 -1
  77. package/object-status/package.json +1 -1
  78. package/overflow-layout/package.json +13 -13
  79. package/package.json +1 -1
  80. package/pagination/package.json +1 -1
  81. package/panel/package.json +1 -1
  82. package/popover/package.json +1 -1
  83. package/product-switch/package.json +1 -1
  84. package/progress-indicator/package.json +1 -1
  85. package/quick-view/package.json +1 -1
  86. package/radio/package.json +1 -1
  87. package/rating-indicator/package.json +1 -1
  88. package/resizable-card-layout/package.json +1 -1
  89. package/scroll-spy/package.json +1 -1
  90. package/scrollbar/package.json +1 -1
  91. package/segmented-button/package.json +1 -1
  92. package/select/package.json +1 -1
  93. package/shared/package.json +1 -1
  94. package/shellbar/package.json +1 -1
  95. package/side-navigation/package.json +1 -1
  96. package/slider/package.json +1 -1
  97. package/split-button/package.json +1 -1
  98. package/splitter/package.json +1 -1
  99. package/status-indicator/package.json +1 -1
  100. package/step-input/package.json +1 -1
  101. package/switch/package.json +1 -1
  102. package/table/package.json +1 -1
  103. package/tabs/package.json +1 -1
  104. package/text/package.json +1 -1
  105. package/theming/package.json +1 -1
  106. package/tile/package.json +1 -1
  107. package/time/package.json +1 -1
  108. package/time-picker/package.json +1 -1
  109. package/timeline/package.json +1 -1
  110. package/title/package.json +1 -1
  111. package/token/package.json +1 -1
  112. package/toolbar/package.json +1 -1
  113. package/tree/package.json +1 -1
  114. package/upload-collection/package.json +1 -1
  115. package/utils/esm2020/interfaces/require.interface.mjs +2 -0
  116. package/utils/esm2020/public_api.mjs +2 -1
  117. package/utils/interfaces/require.interface.d.ts +6 -0
  118. package/utils/package.json +1 -1
  119. package/utils/public_api.d.ts +1 -0
  120. package/vertical-navigation/package.json +1 -1
  121. package/wizard/package.json +1 -1
@@ -8,7 +8,7 @@ import * as i6 from '@angular/cdk/portal';
8
8
  import { DomPortal, PortalModule } from '@angular/cdk/portal';
9
9
  import * as i1 from '@fundamental-ngx/core/utils';
10
10
  import { PipeModule } from '@fundamental-ngx/core/utils';
11
- import { BehaviorSubject, Subscription, startWith, map, tap, firstValueFrom } from 'rxjs';
11
+ import { BehaviorSubject, Subscription, startWith, map, tap, firstValueFrom, debounceTime } from 'rxjs';
12
12
  import * as i2 from '@fundamental-ngx/core/menu';
13
13
  import { MenuComponent, MenuModule } from '@fundamental-ngx/core/menu';
14
14
  import * as i4 from '@fundamental-ngx/core/icon';
@@ -89,9 +89,9 @@ class BreadcrumbComponent {
89
89
  this._resizeObserver = _resizeObserver;
90
90
  this._ngZone = _ngZone;
91
91
  /** @hidden */
92
- this.collapsedBreadcrumbItems = [];
92
+ this._collapsedBreadcrumbItems = [];
93
93
  /** @hidden */
94
- this.placement$ = new BehaviorSubject('bottom-start');
94
+ this._placement$ = new BehaviorSubject('bottom-start');
95
95
  /** Whether to append items to the overflow dropdown in reverse order. Default is true. */
96
96
  this.reverse = false;
97
97
  /** @hidden */
@@ -102,16 +102,19 @@ class BreadcrumbComponent {
102
102
  /** @hidden */
103
103
  ngOnInit() {
104
104
  if (this._rtlService) {
105
- this._subscriptions.add(this._rtlService.rtl.subscribe((value) => this.placement$.next(value ? 'bottom-end' : 'bottom-start')));
105
+ this._subscriptions.add(this._rtlService.rtl.subscribe((value) => this._placement$.next(value ? 'bottom-end' : 'bottom-start')));
106
106
  }
107
107
  }
108
+ /** @hidden */
108
109
  ngAfterViewInit() {
109
- this._subscriptions.add(this.breadcrumbItems.changes
110
- .pipe(startWith(this.breadcrumbItems), map((items) => items.toArray()), map((items) => items.map((item) => [item, item.width])), tap((itemToSize) => (this._itemToSize = new Map(itemToSize))))
110
+ this._subscriptions.add(this._breadcrumbItems.changes
111
+ .pipe(startWith(this._breadcrumbItems), map((items) => items.toArray()), map((items) => items.map((item) => [item, item.width])), tap((itemToSize) => (this._itemToSize = new Map(itemToSize))))
111
112
  .subscribe());
112
113
  firstValueFrom(this._ngZone.onStable).then(() => {
113
114
  this._subscriptions.add(this._resizeObserver
114
115
  .observe(this.containerElement || this.elementRef.nativeElement.parentElement)
116
+ // Add small delay for performance reasons.
117
+ .pipe(debounceTime(30))
115
118
  .subscribe(() => this.onResize()));
116
119
  });
117
120
  }
@@ -119,24 +122,29 @@ class BreadcrumbComponent {
119
122
  ngOnDestroy() {
120
123
  this._subscriptions.unsubscribe();
121
124
  }
122
- /** @hidden */
125
+ /**
126
+ * Callback function when breadcrumbs container has been resized.
127
+ */
123
128
  onResize() {
124
129
  if (!this.elementRef.nativeElement.parentElement) {
125
130
  return;
126
131
  }
127
- this.containerBoundary = this.elementRef.nativeElement.parentElement.getBoundingClientRect().width;
132
+ this._containerBoundary = this.elementRef.nativeElement.parentElement.getBoundingClientRect().width;
128
133
  if (this.containerElement) {
129
- this.containerBoundary = this.containerElement.getBoundingClientRect().width;
134
+ this._containerBoundary = this.containerElement.getBoundingClientRect().width;
135
+ }
136
+ if (this._overflowContainer) {
137
+ this._containerBoundary -= this._overflowContainer.nativeElement.getBoundingClientRect().width;
130
138
  }
131
139
  let visibleSum = 0;
132
- const breadcrumbItemComponents = this.breadcrumbItems.toArray();
140
+ const breadcrumbItemComponents = this._breadcrumbItems.toArray();
133
141
  let i;
134
142
  for (i = breadcrumbItemComponents.length - 1; i >= 0; i--) {
135
143
  const breadcrumbItem = breadcrumbItemComponents[i];
136
144
  const itemSize = this._itemToSize.has(breadcrumbItem)
137
145
  ? this._itemToSize.get(breadcrumbItem)
138
146
  : breadcrumbItem.width;
139
- if (visibleSum + itemSize <= this.containerBoundary) {
147
+ if (visibleSum + itemSize <= this._containerBoundary) {
140
148
  visibleSum += itemSize;
141
149
  breadcrumbItem.show();
142
150
  }
@@ -145,13 +153,13 @@ class BreadcrumbComponent {
145
153
  }
146
154
  }
147
155
  const collapsedBreadcrumbItems = breadcrumbItemComponents.slice(0, ++i);
148
- this.collapsedBreadcrumbItems = this.reverse ? collapsedBreadcrumbItems : collapsedBreadcrumbItems.reverse();
149
- this.collapsedBreadcrumbItems.forEach((item) => item.hide());
156
+ this._collapsedBreadcrumbItems = this.reverse ? collapsedBreadcrumbItems : collapsedBreadcrumbItems.reverse();
157
+ this._collapsedBreadcrumbItems.forEach((item) => item.hide());
150
158
  this._cdRef.detectChanges();
151
159
  }
152
160
  /** @hidden */
153
- keyDownHandle(event) {
154
- this.menuComponent.toggle();
161
+ _keyDownHandle(event) {
162
+ this._menuComponent.toggle();
155
163
  event.preventDefault();
156
164
  }
157
165
  /**
@@ -166,20 +174,23 @@ class BreadcrumbComponent {
166
174
  }
167
175
  }
168
176
  BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i0.ElementRef }, { token: i1.RtlService, optional: true }, { token: i0.ChangeDetectorRef }, { token: i1.ResizeObserverService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
169
- BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: BreadcrumbComponent, selector: "fd-breadcrumb", inputs: { containerElement: "containerElement", reverse: "reverse" }, host: { classAttribute: "fd-breadcrumb" }, queries: [{ propertyName: "breadcrumbItems", predicate: i0.forwardRef(function () { return BreadcrumbItemComponent; }) }], viewQueries: [{ propertyName: "menuComponent", first: true, predicate: MenuComponent, descendants: true }], ngImport: i0, template: "<fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"placement$ | async\">\n <ng-container *ngFor=\"let breadcrumbItem of collapsedBreadcrumbItems\">\n <li fd-menu-item [disabled]=\"breadcrumbItem.breadcrumbLink ? breadcrumbItem.breadcrumbLink.disabled : false\">\n <a\n fd-menu-interactive\n (click)=\"itemClicked(breadcrumbItem, $event)\"\n (keydown.enter)=\"itemClicked(breadcrumbItem, $event)\"\n (keydown.space)=\"itemClicked(breadcrumbItem, $event)\"\n >\n <ng-container *ngIf=\"breadcrumbItem?.breadcrumbLink; else portalContent\">\n <ng-container *ngIf=\"breadcrumbItem.breadcrumbLink._prefixIconName\">\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n </ng-container>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.linkContentPortal\"></ng-container>\n </span>\n <ng-container *ngIf=\"breadcrumbItem.breadcrumbLink._postfixIconName\">\n <fd-menu-addon [glyph]=\"breadcrumbItem.breadcrumbLink._postfixIconName\"></fd-menu-addon>\n </ng-container>\n </ng-container>\n <ng-template #portalContent>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.breadcrumbItemPortal\"></ng-container>\n </span>\n </ng-template>\n </a>\n </li>\n </ng-container>\n</fd-menu>\n\n<span class=\"fd-breadcrumb__item\" *ngIf=\"collapsedBreadcrumbItems.length\" [fdMenuTrigger]=\"menu\">\n <a\n fd-link\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"keyDownHandle($event)\"\n (keydown.space)=\"keyDownHandle($event)\"\n >\n ...\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n</span>\n\n<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.2\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-breadcrumb\n .fd-breadcrumb__item\n .fd-breadcrump__link\n*/.fd-breadcrumb{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-breadcrumb:after,.fd-breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-breadcrumb__item:after,.fd-breadcrumb__item:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:after{color:var(--sapContent_LabelColor);content:\"/\";margin-left:.25rem;margin-right:.25rem}.fd-breadcrumb__item:last-child:after{content:none}.fd-breadcrumb__item .fd-breadcrumb__popover-body{border:none;border-top-left-radius:.125rem;border-top-right-radius:.125rem}.fd-breadcrumb{display:inline-block;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}\n"], components: [{ type: i2.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { type: i2.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { type: i2.MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "glyph", "submenuIndicator", "ariaHidden"] }, { type: i3.LinkComponent, selector: "[fdLink], [fd-link], [fd-breadcrumb-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { type: i4.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MenuTitleDirective, selector: "[fd-menu-title]" }, { type: i6.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { type: i2.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
177
+ BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: BreadcrumbComponent, selector: "fd-breadcrumb", inputs: { containerElement: "containerElement", reverse: "reverse" }, host: { classAttribute: "fd-breadcrumb" }, queries: [{ propertyName: "_breadcrumbItems", predicate: i0.forwardRef(function () { return BreadcrumbItemComponent; }) }], viewQueries: [{ propertyName: "_menuComponent", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "_overflowContainer", first: true, predicate: ["overflowBreadcrumbsContainer"], descendants: true }], ngImport: i0, template: "<fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"_placement$ | async\">\n <ng-container *ngFor=\"let breadcrumbItem of _collapsedBreadcrumbItems\">\n <li fd-menu-item [disabled]=\"breadcrumbItem.breadcrumbLink ? breadcrumbItem.breadcrumbLink.disabled : false\">\n <a\n fd-menu-interactive\n (click)=\"itemClicked(breadcrumbItem, $event)\"\n (keydown.enter)=\"itemClicked(breadcrumbItem, $event)\"\n (keydown.space)=\"itemClicked(breadcrumbItem, $event)\"\n >\n <ng-container *ngIf=\"breadcrumbItem?.breadcrumbLink; else portalContent\">\n <ng-container *ngIf=\"breadcrumbItem.breadcrumbLink._prefixIconName\">\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n </ng-container>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.linkContentPortal\"></ng-container>\n </span>\n <ng-container *ngIf=\"breadcrumbItem.breadcrumbLink._postfixIconName\">\n <fd-menu-addon [glyph]=\"breadcrumbItem.breadcrumbLink._postfixIconName\"></fd-menu-addon>\n </ng-container>\n </ng-container>\n <ng-template #portalContent>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.breadcrumbItemPortal\"></ng-container>\n </span>\n </ng-template>\n </a>\n </li>\n </ng-container>\n</fd-menu>\n\n<span\n class=\"fd-breadcrumb__item\"\n *ngIf=\"_collapsedBreadcrumbItems.length\"\n [fdMenuTrigger]=\"menu\"\n #overflowBreadcrumbsContainer\n>\n <a\n fd-link\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"_keyDownHandle($event)\"\n (keydown.space)=\"_keyDownHandle($event)\"\n >\n ...\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n</span>\n\n<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.2\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-breadcrumb\n .fd-breadcrumb__item\n .fd-breadcrump__link\n*/.fd-breadcrumb{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-breadcrumb:after,.fd-breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-breadcrumb__item:after,.fd-breadcrumb__item:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:after{color:var(--sapContent_LabelColor);content:\"/\";margin-left:.25rem;margin-right:.25rem}.fd-breadcrumb__item:last-child:after{content:none}.fd-breadcrumb__item .fd-breadcrumb__popover-body{border:none;border-top-left-radius:.125rem;border-top-right-radius:.125rem}.fd-breadcrumb{display:inline-block;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}\n"], components: [{ type: i2.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { type: i2.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { type: i2.MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "glyph", "submenuIndicator", "ariaHidden"] }, { type: i3.LinkComponent, selector: "[fdLink], [fd-link], [fd-breadcrumb-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { type: i4.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MenuTitleDirective, selector: "[fd-menu-title]" }, { type: i6.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { type: i2.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
170
178
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: BreadcrumbComponent, decorators: [{
171
179
  type: Component,
172
180
  args: [{ selector: 'fd-breadcrumb', host: {
173
181
  class: 'fd-breadcrumb'
174
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"placement$ | async\">\n <ng-container *ngFor=\"let breadcrumbItem of collapsedBreadcrumbItems\">\n <li fd-menu-item [disabled]=\"breadcrumbItem.breadcrumbLink ? breadcrumbItem.breadcrumbLink.disabled : false\">\n <a\n fd-menu-interactive\n (click)=\"itemClicked(breadcrumbItem, $event)\"\n (keydown.enter)=\"itemClicked(breadcrumbItem, $event)\"\n (keydown.space)=\"itemClicked(breadcrumbItem, $event)\"\n >\n <ng-container *ngIf=\"breadcrumbItem?.breadcrumbLink; else portalContent\">\n <ng-container *ngIf=\"breadcrumbItem.breadcrumbLink._prefixIconName\">\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n </ng-container>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.linkContentPortal\"></ng-container>\n </span>\n <ng-container *ngIf=\"breadcrumbItem.breadcrumbLink._postfixIconName\">\n <fd-menu-addon [glyph]=\"breadcrumbItem.breadcrumbLink._postfixIconName\"></fd-menu-addon>\n </ng-container>\n </ng-container>\n <ng-template #portalContent>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.breadcrumbItemPortal\"></ng-container>\n </span>\n </ng-template>\n </a>\n </li>\n </ng-container>\n</fd-menu>\n\n<span class=\"fd-breadcrumb__item\" *ngIf=\"collapsedBreadcrumbItems.length\" [fdMenuTrigger]=\"menu\">\n <a\n fd-link\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"keyDownHandle($event)\"\n (keydown.space)=\"keyDownHandle($event)\"\n >\n ...\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n</span>\n\n<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.2\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-breadcrumb\n .fd-breadcrumb__item\n .fd-breadcrump__link\n*/.fd-breadcrumb{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-breadcrumb:after,.fd-breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-breadcrumb__item:after,.fd-breadcrumb__item:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:after{color:var(--sapContent_LabelColor);content:\"/\";margin-left:.25rem;margin-right:.25rem}.fd-breadcrumb__item:last-child:after{content:none}.fd-breadcrumb__item .fd-breadcrumb__popover-body{border:none;border-top-left-radius:.125rem;border-top-right-radius:.125rem}.fd-breadcrumb{display:inline-block;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}\n"] }]
182
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"_placement$ | async\">\n <ng-container *ngFor=\"let breadcrumbItem of _collapsedBreadcrumbItems\">\n <li fd-menu-item [disabled]=\"breadcrumbItem.breadcrumbLink ? breadcrumbItem.breadcrumbLink.disabled : false\">\n <a\n fd-menu-interactive\n (click)=\"itemClicked(breadcrumbItem, $event)\"\n (keydown.enter)=\"itemClicked(breadcrumbItem, $event)\"\n (keydown.space)=\"itemClicked(breadcrumbItem, $event)\"\n >\n <ng-container *ngIf=\"breadcrumbItem?.breadcrumbLink; else portalContent\">\n <ng-container *ngIf=\"breadcrumbItem.breadcrumbLink._prefixIconName\">\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n </ng-container>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.linkContentPortal\"></ng-container>\n </span>\n <ng-container *ngIf=\"breadcrumbItem.breadcrumbLink._postfixIconName\">\n <fd-menu-addon [glyph]=\"breadcrumbItem.breadcrumbLink._postfixIconName\"></fd-menu-addon>\n </ng-container>\n </ng-container>\n <ng-template #portalContent>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.breadcrumbItemPortal\"></ng-container>\n </span>\n </ng-template>\n </a>\n </li>\n </ng-container>\n</fd-menu>\n\n<span\n class=\"fd-breadcrumb__item\"\n *ngIf=\"_collapsedBreadcrumbItems.length\"\n [fdMenuTrigger]=\"menu\"\n #overflowBreadcrumbsContainer\n>\n <a\n fd-link\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"_keyDownHandle($event)\"\n (keydown.space)=\"_keyDownHandle($event)\"\n >\n ...\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n</span>\n\n<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.2\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-breadcrumb\n .fd-breadcrumb__item\n .fd-breadcrump__link\n*/.fd-breadcrumb{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-breadcrumb:after,.fd-breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-breadcrumb__item:after,.fd-breadcrumb__item:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:after{color:var(--sapContent_LabelColor);content:\"/\";margin-left:.25rem;margin-right:.25rem}.fd-breadcrumb__item:last-child:after{content:none}.fd-breadcrumb__item .fd-breadcrumb__popover-body{border:none;border-top-left-radius:.125rem;border-top-right-radius:.125rem}.fd-breadcrumb{display:inline-block;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}\n"] }]
175
183
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.RtlService, decorators: [{
176
184
  type: Optional
177
- }] }, { type: i0.ChangeDetectorRef }, { type: i1.ResizeObserverService }, { type: i0.NgZone }]; }, propDecorators: { breadcrumbItems: [{
185
+ }] }, { type: i0.ChangeDetectorRef }, { type: i1.ResizeObserverService }, { type: i0.NgZone }]; }, propDecorators: { _breadcrumbItems: [{
178
186
  type: ContentChildren,
179
187
  args: [forwardRef(() => BreadcrumbItemComponent)]
180
- }], menuComponent: [{
188
+ }], _menuComponent: [{
181
189
  type: ViewChild,
182
190
  args: [MenuComponent]
191
+ }], _overflowContainer: [{
192
+ type: ViewChild,
193
+ args: ['overflowBreadcrumbsContainer']
183
194
  }], containerElement: [{
184
195
  type: Input
185
196
  }], reverse: [{
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-breadcrumb.mjs","sources":["../../../../libs/core/src/lib/breadcrumb/breadcrumb-item.component.ts","../../../../libs/core/src/lib/breadcrumb/breadcrumb.component.ts","../../../../libs/core/src/lib/breadcrumb/breadcrumb.component.html","../../../../libs/core/src/lib/breadcrumb/deprecated-breadcrumbs-compact.directive.ts","../../../../libs/core/src/lib/breadcrumb/breadcrumb.module.ts","../../../../libs/core/src/lib/breadcrumb/fundamental-ngx-core-breadcrumb.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n forwardRef,\n Renderer2\n} from '@angular/core';\nimport { LinkComponent } from '@fundamental-ngx/core/link';\nimport { DomPortal } from '@angular/cdk/portal';\n\n/**\n * Breadcrumb item directive. Must have child breadcrumb link directives.\n *\n * ```html\n * <fd-breadcrumb-item>\n * <a fd-link [routerLink]=\"'#'\">Breadcrumb Link</a>\n * </fd-breadcrumb-item>\n * ```\n */\n@Component({\n selector: 'fd-breadcrumb-item',\n template: '<div style=\"display: inline\"><ng-content></ng-content></div>',\n host: {\n class: 'fd-breadcrumb__item'\n }\n})\nexport class BreadcrumbItemComponent implements AfterViewInit {\n /** @hidden */\n get elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** @hidden */\n @ContentChild(forwardRef(() => LinkComponent))\n breadcrumbLink: LinkComponent;\n\n /** @hidden */\n get width(): number {\n return this._elementRef.nativeElement.getBoundingClientRect().width;\n }\n\n /** In case there is no link in Item and breadcrumb item is non-interactive, we move whole item content to menu item title */\n breadcrumbItemPortal: DomPortal<Element>;\n\n /** When breadcrumb item has link in it, we are moving link content to menu item title */\n linkContentPortal: DomPortal;\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private renderer2: Renderer2,\n private _cdR: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n get needsClickProxy(): boolean {\n return (\n !!this.breadcrumbLink?.elementRef().nativeElement.getAttribute('href') || !!this.breadcrumbLink.routerLink\n );\n }\n\n show = (): void => this.renderer2.setStyle(this._elementRef.nativeElement, 'display', 'inline-block');\n hide = (): void => this.renderer2.setStyle(this._elementRef.nativeElement, 'display', 'none');\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.breadcrumbLink) {\n this.linkContentPortal = new DomPortal<HTMLElement>(this.breadcrumbLink.contentSpan.nativeElement);\n }\n this.breadcrumbItemPortal = new DomPortal(this.elementRef.nativeElement.firstElementChild as Element);\n this._cdR.detectChanges();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { BreadcrumbItemComponent } from './breadcrumb-item.component';\nimport { ResizeObserverService, RtlService } from '@fundamental-ngx/core/utils';\nimport { BehaviorSubject, firstValueFrom, map, startWith, Subscription, tap } from 'rxjs';\nimport { MenuComponent } from '@fundamental-ngx/core/menu';\nimport { Placement } from '@fundamental-ngx/core/shared';\n\n/**\n * Breadcrumb parent wrapper directive. Must have breadcrumb item child directives.\n *\n * ```html\n * <fd-breadcrumb>\n * <fd-breadcrumb-item>\n * <a fd-link [routerLink]=\"'#'\">Breadcrumb Link</a>\n * </fd-breadcrumb-item>\n * </fd-breadcrumb>\n * ```\n */\n@Component({\n // TODO to be discussed\n // eslint-disable-next-line\n selector: 'fd-breadcrumb',\n host: {\n class: 'fd-breadcrumb'\n },\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BreadcrumbComponent implements AfterViewInit, OnInit, OnDestroy {\n /** @hidden */\n @ContentChildren(forwardRef(() => BreadcrumbItemComponent))\n breadcrumbItems: QueryList<BreadcrumbItemComponent>;\n\n /** @hidden */\n @ViewChild(MenuComponent)\n menuComponent: MenuComponent;\n\n /** @hidden */\n collapsedBreadcrumbItems: Array<BreadcrumbItemComponent> = [];\n\n /** @hidden */\n placement$ = new BehaviorSubject<Placement>('bottom-start');\n\n /**\n * The element to act as the breadcrumb container. When provided, the breadcrumb's responsive collapsing behavior\n * performs better. When not provided, the immediate parent element's width will be used.\n */\n @Input()\n containerElement: HTMLElement;\n\n /** Whether to append items to the overflow dropdown in reverse order. Default is true. */\n @Input()\n reverse = false;\n\n /** @hidden */\n containerBoundary: number;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n private _itemToSize = new Map<BreadcrumbItemComponent, number>();\n\n constructor(\n public elementRef: ElementRef<Element>,\n @Optional() private _rtlService: RtlService,\n private _cdRef: ChangeDetectorRef,\n private _resizeObserver: ResizeObserverService,\n private _ngZone: NgZone\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this._rtlService) {\n this._subscriptions.add(\n this._rtlService.rtl.subscribe((value) => this.placement$.next(value ? 'bottom-end' : 'bottom-start'))\n );\n }\n }\n\n ngAfterViewInit(): void {\n this._subscriptions.add(\n this.breadcrumbItems.changes\n .pipe(\n startWith(this.breadcrumbItems),\n map((items) => items.toArray() as BreadcrumbItemComponent[]),\n map((items) => items.map((item) => [item, item.width]) as [BreadcrumbItemComponent, number][]),\n tap((itemToSize: [BreadcrumbItemComponent, number][]) => (this._itemToSize = new Map(itemToSize)))\n )\n .subscribe()\n );\n firstValueFrom(this._ngZone.onStable).then(() => {\n this._subscriptions.add(\n this._resizeObserver\n .observe(this.containerElement || (this.elementRef.nativeElement.parentElement as Element))\n .subscribe(() => this.onResize())\n );\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n onResize(): void {\n if (!this.elementRef.nativeElement.parentElement) {\n return;\n }\n this.containerBoundary = this.elementRef.nativeElement.parentElement.getBoundingClientRect().width;\n\n if (this.containerElement) {\n this.containerBoundary = this.containerElement.getBoundingClientRect().width;\n }\n\n let visibleSum = 0;\n const breadcrumbItemComponents = this.breadcrumbItems.toArray();\n let i;\n for (i = breadcrumbItemComponents.length - 1; i >= 0; i--) {\n const breadcrumbItem = breadcrumbItemComponents[i];\n const itemSize = this._itemToSize.has(breadcrumbItem)\n ? (this._itemToSize.get(breadcrumbItem) as number)\n : breadcrumbItem.width;\n if (visibleSum + itemSize <= this.containerBoundary) {\n visibleSum += itemSize;\n breadcrumbItem.show();\n } else {\n break;\n }\n }\n const collapsedBreadcrumbItems = breadcrumbItemComponents.slice(0, ++i);\n this.collapsedBreadcrumbItems = this.reverse ? collapsedBreadcrumbItems : collapsedBreadcrumbItems.reverse();\n this.collapsedBreadcrumbItems.forEach((item) => item.hide());\n this._cdRef.detectChanges();\n }\n\n /** @hidden */\n keyDownHandle(event: Event): void {\n this.menuComponent.toggle();\n event.preventDefault();\n }\n\n /**\n * We catch interactions with item, Enter, Space, Mouse click and Touch click,\n * if original element had router link we are proxying click to that element\n * */\n itemClicked(breadcrumbItem: BreadcrumbItemComponent, $event: any): void {\n if (breadcrumbItem.needsClickProxy) {\n $event.preventDefault();\n breadcrumbItem.breadcrumbLink.elementRef().nativeElement.click();\n }\n }\n}\n","<fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"placement$ | async\">\n <ng-container *ngFor=\"let breadcrumbItem of collapsedBreadcrumbItems\">\n <li fd-menu-item [disabled]=\"breadcrumbItem.breadcrumbLink ? breadcrumbItem.breadcrumbLink.disabled : false\">\n <a\n fd-menu-interactive\n (click)=\"itemClicked(breadcrumbItem, $event)\"\n (keydown.enter)=\"itemClicked(breadcrumbItem, $event)\"\n (keydown.space)=\"itemClicked(breadcrumbItem, $event)\"\n >\n <ng-container *ngIf=\"breadcrumbItem?.breadcrumbLink; else portalContent\">\n <ng-container *ngIf=\"breadcrumbItem.breadcrumbLink._prefixIconName\">\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n </ng-container>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.linkContentPortal\"></ng-container>\n </span>\n <ng-container *ngIf=\"breadcrumbItem.breadcrumbLink._postfixIconName\">\n <fd-menu-addon [glyph]=\"breadcrumbItem.breadcrumbLink._postfixIconName\"></fd-menu-addon>\n </ng-container>\n </ng-container>\n <ng-template #portalContent>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.breadcrumbItemPortal\"></ng-container>\n </span>\n </ng-template>\n </a>\n </li>\n </ng-container>\n</fd-menu>\n\n<span class=\"fd-breadcrumb__item\" *ngIf=\"collapsedBreadcrumbItems.length\" [fdMenuTrigger]=\"menu\">\n <a\n fd-link\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"keyDownHandle($event)\"\n (keydown.space)=\"keyDownHandle($event)\"\n >\n ...\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n</span>\n\n<ng-content></ng-content>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-breadcrumb[compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedBreadcrumbsCompactDirective)\n }\n ]\n})\nexport class DeprecatedBreadcrumbsCompactDirective extends DeprecatedCompactDirective {\n constructor() {\n super('fd-breadcrumb');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BreadcrumbComponent } from './breadcrumb.component';\nimport { BreadcrumbItemComponent } from './breadcrumb-item.component';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { MenuModule } from '@fundamental-ngx/core/menu';\nimport { LinkModule } from '@fundamental-ngx/core/link';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { PipeModule } from '@fundamental-ngx/core/utils';\nimport { DeprecatedBreadcrumbsCompactDirective } from './deprecated-breadcrumbs-compact.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n imports: [\n CommonModule,\n IconModule,\n PopoverModule,\n MenuModule,\n LinkModule,\n PortalModule,\n PipeModule,\n ContentDensityModule\n ],\n exports: [\n BreadcrumbComponent,\n BreadcrumbItemComponent,\n LinkModule,\n DeprecatedBreadcrumbsCompactDirective,\n ContentDensityModule\n ],\n declarations: [BreadcrumbComponent, BreadcrumbItemComponent, DeprecatedBreadcrumbsCompactDirective]\n})\nexport class BreadcrumbModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-breadcrumb.mjs","sources":["../../../../libs/core/src/lib/breadcrumb/breadcrumb-item.component.ts","../../../../libs/core/src/lib/breadcrumb/breadcrumb.component.ts","../../../../libs/core/src/lib/breadcrumb/breadcrumb.component.html","../../../../libs/core/src/lib/breadcrumb/deprecated-breadcrumbs-compact.directive.ts","../../../../libs/core/src/lib/breadcrumb/breadcrumb.module.ts","../../../../libs/core/src/lib/breadcrumb/fundamental-ngx-core-breadcrumb.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n forwardRef,\n Renderer2\n} from '@angular/core';\nimport { LinkComponent } from '@fundamental-ngx/core/link';\nimport { DomPortal } from '@angular/cdk/portal';\n\n/**\n * Breadcrumb item directive. Must have child breadcrumb link directives.\n *\n * ```html\n * <fd-breadcrumb-item>\n * <a fd-link [routerLink]=\"'#'\">Breadcrumb Link</a>\n * </fd-breadcrumb-item>\n * ```\n */\n@Component({\n selector: 'fd-breadcrumb-item',\n template: '<div style=\"display: inline\"><ng-content></ng-content></div>',\n host: {\n class: 'fd-breadcrumb__item'\n }\n})\nexport class BreadcrumbItemComponent implements AfterViewInit {\n /** @hidden */\n get elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** @hidden */\n @ContentChild(forwardRef(() => LinkComponent))\n breadcrumbLink: LinkComponent;\n\n /** @hidden */\n get width(): number {\n return this._elementRef.nativeElement.getBoundingClientRect().width;\n }\n\n /** In case there is no link in Item and breadcrumb item is non-interactive, we move whole item content to menu item title */\n breadcrumbItemPortal: DomPortal<Element>;\n\n /** When breadcrumb item has link in it, we are moving link content to menu item title */\n linkContentPortal: DomPortal;\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private renderer2: Renderer2,\n private _cdR: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n get needsClickProxy(): boolean {\n return (\n !!this.breadcrumbLink?.elementRef().nativeElement.getAttribute('href') || !!this.breadcrumbLink.routerLink\n );\n }\n\n show = (): void => this.renderer2.setStyle(this._elementRef.nativeElement, 'display', 'inline-block');\n hide = (): void => this.renderer2.setStyle(this._elementRef.nativeElement, 'display', 'none');\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.breadcrumbLink) {\n this.linkContentPortal = new DomPortal<HTMLElement>(this.breadcrumbLink.contentSpan.nativeElement);\n }\n this.breadcrumbItemPortal = new DomPortal(this.elementRef.nativeElement.firstElementChild as Element);\n this._cdR.detectChanges();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { BreadcrumbItemComponent } from './breadcrumb-item.component';\nimport { ResizeObserverService, RtlService } from '@fundamental-ngx/core/utils';\nimport { BehaviorSubject, debounceTime, firstValueFrom, map, startWith, Subscription, tap } from 'rxjs';\nimport { MenuComponent } from '@fundamental-ngx/core/menu';\nimport { Placement } from '@fundamental-ngx/core/shared';\n\n/**\n * Breadcrumb parent wrapper directive. Must have breadcrumb item child directives.\n *\n * ```html\n * <fd-breadcrumb>\n * <fd-breadcrumb-item>\n * <a fd-link [routerLink]=\"'#'\">Breadcrumb Link</a>\n * </fd-breadcrumb-item>\n * </fd-breadcrumb>\n * ```\n */\n@Component({\n // TODO to be discussed\n // eslint-disable-next-line\n selector: 'fd-breadcrumb',\n host: {\n class: 'fd-breadcrumb'\n },\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BreadcrumbComponent implements AfterViewInit, OnInit, OnDestroy {\n /** @hidden */\n @ContentChildren(forwardRef(() => BreadcrumbItemComponent))\n _breadcrumbItems: QueryList<BreadcrumbItemComponent>;\n\n /** @hidden */\n @ViewChild(MenuComponent)\n _menuComponent: MenuComponent;\n\n @ViewChild('overflowBreadcrumbsContainer')\n private readonly _overflowContainer: ElementRef<HTMLElement>;\n\n /** @hidden */\n _collapsedBreadcrumbItems: Array<BreadcrumbItemComponent> = [];\n\n /** @hidden */\n _placement$ = new BehaviorSubject<Placement>('bottom-start');\n\n /**\n * The element to act as the breadcrumb container. When provided, the breadcrumb's responsive collapsing behavior\n * performs better. When not provided, the immediate parent element's width will be used.\n */\n @Input()\n containerElement: HTMLElement;\n\n /** Whether to append items to the overflow dropdown in reverse order. Default is true. */\n @Input()\n reverse = false;\n\n /** @hidden */\n _containerBoundary: number;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n private _itemToSize = new Map<BreadcrumbItemComponent, number>();\n\n constructor(\n public readonly elementRef: ElementRef<Element>,\n @Optional() private readonly _rtlService: RtlService | null,\n private readonly _cdRef: ChangeDetectorRef,\n private readonly _resizeObserver: ResizeObserverService,\n private readonly _ngZone: NgZone\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this._rtlService) {\n this._subscriptions.add(\n this._rtlService.rtl.subscribe((value) => this._placement$.next(value ? 'bottom-end' : 'bottom-start'))\n );\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._subscriptions.add(\n this._breadcrumbItems.changes\n .pipe(\n startWith(this._breadcrumbItems),\n map((items) => items.toArray() as BreadcrumbItemComponent[]),\n map((items) => items.map((item) => [item, item.width]) as [BreadcrumbItemComponent, number][]),\n tap((itemToSize: [BreadcrumbItemComponent, number][]) => (this._itemToSize = new Map(itemToSize)))\n )\n .subscribe()\n );\n firstValueFrom(this._ngZone.onStable).then(() => {\n this._subscriptions.add(\n this._resizeObserver\n .observe(this.containerElement || (this.elementRef.nativeElement.parentElement as Element))\n // Add small delay for performance reasons.\n .pipe(debounceTime(30))\n .subscribe(() => this.onResize())\n );\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /**\n * Callback function when breadcrumbs container has been resized.\n */\n onResize(): void {\n if (!this.elementRef.nativeElement.parentElement) {\n return;\n }\n this._containerBoundary = this.elementRef.nativeElement.parentElement.getBoundingClientRect().width;\n\n if (this.containerElement) {\n this._containerBoundary = this.containerElement.getBoundingClientRect().width;\n }\n\n if (this._overflowContainer) {\n this._containerBoundary -= this._overflowContainer.nativeElement.getBoundingClientRect().width;\n }\n\n let visibleSum = 0;\n const breadcrumbItemComponents = this._breadcrumbItems.toArray();\n let i;\n for (i = breadcrumbItemComponents.length - 1; i >= 0; i--) {\n const breadcrumbItem = breadcrumbItemComponents[i];\n const itemSize = this._itemToSize.has(breadcrumbItem)\n ? (this._itemToSize.get(breadcrumbItem) as number)\n : breadcrumbItem.width;\n if (visibleSum + itemSize <= this._containerBoundary) {\n visibleSum += itemSize;\n breadcrumbItem.show();\n } else {\n break;\n }\n }\n const collapsedBreadcrumbItems = breadcrumbItemComponents.slice(0, ++i);\n this._collapsedBreadcrumbItems = this.reverse ? collapsedBreadcrumbItems : collapsedBreadcrumbItems.reverse();\n this._collapsedBreadcrumbItems.forEach((item) => item.hide());\n this._cdRef.detectChanges();\n }\n\n /** @hidden */\n _keyDownHandle(event: Event): void {\n this._menuComponent.toggle();\n event.preventDefault();\n }\n\n /**\n * We catch interactions with item, Enter, Space, Mouse click and Touch click,\n * if original element had router link we are proxying click to that element\n * */\n itemClicked(breadcrumbItem: BreadcrumbItemComponent, $event: any): void {\n if (breadcrumbItem.needsClickProxy) {\n $event.preventDefault();\n breadcrumbItem.breadcrumbLink.elementRef().nativeElement.click();\n }\n }\n}\n","<fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"_placement$ | async\">\n <ng-container *ngFor=\"let breadcrumbItem of _collapsedBreadcrumbItems\">\n <li fd-menu-item [disabled]=\"breadcrumbItem.breadcrumbLink ? breadcrumbItem.breadcrumbLink.disabled : false\">\n <a\n fd-menu-interactive\n (click)=\"itemClicked(breadcrumbItem, $event)\"\n (keydown.enter)=\"itemClicked(breadcrumbItem, $event)\"\n (keydown.space)=\"itemClicked(breadcrumbItem, $event)\"\n >\n <ng-container *ngIf=\"breadcrumbItem?.breadcrumbLink; else portalContent\">\n <ng-container *ngIf=\"breadcrumbItem.breadcrumbLink._prefixIconName\">\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n </ng-container>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.linkContentPortal\"></ng-container>\n </span>\n <ng-container *ngIf=\"breadcrumbItem.breadcrumbLink._postfixIconName\">\n <fd-menu-addon [glyph]=\"breadcrumbItem.breadcrumbLink._postfixIconName\"></fd-menu-addon>\n </ng-container>\n </ng-container>\n <ng-template #portalContent>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.breadcrumbItemPortal\"></ng-container>\n </span>\n </ng-template>\n </a>\n </li>\n </ng-container>\n</fd-menu>\n\n<span\n class=\"fd-breadcrumb__item\"\n *ngIf=\"_collapsedBreadcrumbItems.length\"\n [fdMenuTrigger]=\"menu\"\n #overflowBreadcrumbsContainer\n>\n <a\n fd-link\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"_keyDownHandle($event)\"\n (keydown.space)=\"_keyDownHandle($event)\"\n >\n ...\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n</span>\n\n<ng-content></ng-content>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-breadcrumb[compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedBreadcrumbsCompactDirective)\n }\n ]\n})\nexport class DeprecatedBreadcrumbsCompactDirective extends DeprecatedCompactDirective {\n constructor() {\n super('fd-breadcrumb');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BreadcrumbComponent } from './breadcrumb.component';\nimport { BreadcrumbItemComponent } from './breadcrumb-item.component';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { MenuModule } from '@fundamental-ngx/core/menu';\nimport { LinkModule } from '@fundamental-ngx/core/link';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { PipeModule } from '@fundamental-ngx/core/utils';\nimport { DeprecatedBreadcrumbsCompactDirective } from './deprecated-breadcrumbs-compact.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n imports: [\n CommonModule,\n IconModule,\n PopoverModule,\n MenuModule,\n LinkModule,\n PortalModule,\n PipeModule,\n ContentDensityModule\n ],\n exports: [\n BreadcrumbComponent,\n BreadcrumbItemComponent,\n LinkModule,\n DeprecatedBreadcrumbsCompactDirective,\n ContentDensityModule\n ],\n declarations: [BreadcrumbComponent, BreadcrumbItemComponent, DeprecatedBreadcrumbsCompactDirective]\n})\nexport class BreadcrumbModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,17 +1,19 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, ViewEncapsulation, ChangeDetectionStrategy, Input, HostBinding, Directive, NgModule } from '@angular/core';
3
- import * as i1 from '@angular/common';
3
+ import * as i2 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { __decorate, __metadata } from 'tslib';
6
+ import * as i1 from '@angular/platform-browser';
6
7
  import { applyCssClass } from '@fundamental-ngx/core/utils';
7
8
  import { Subscription, fromEvent } from 'rxjs';
8
9
 
9
10
  let illustratedMessageUniqueId = 0;
10
11
  class IllustratedMessageComponent {
11
12
  /** @hidden */
12
- constructor(_elementRef, _cdRef) {
13
+ constructor(_elementRef, _cdRef, _sanitizer) {
13
14
  this._elementRef = _elementRef;
14
15
  this._cdRef = _cdRef;
16
+ this._sanitizer = _sanitizer;
15
17
  /**
16
18
  * The type of the Illustrated Message
17
19
  * Options include: 'scene' | 'spot' | 'dialog'
@@ -63,39 +65,42 @@ class IllustratedMessageComponent {
63
65
  }
64
66
  /** @hidden */
65
67
  _constructHref() {
68
+ let inlineSvg;
69
+ this._inlineSvg = undefined;
66
70
  if (this.svgConfig) {
67
71
  switch (this.type) {
68
72
  case 'scene':
69
- {
70
- this._isSmallScreen = window.innerWidth < 600;
71
- this._href = this._isSmallScreen
72
- ? `${this.svgConfig.dialog?.url}#${this.svgConfig.dialog?.id}`
73
- : `${this.svgConfig.scene?.url}#${this.svgConfig.scene?.id}`;
74
- this._cdRef.detectChanges();
75
- }
73
+ this._isSmallScreen = window.innerWidth < 600;
74
+ inlineSvg = this._isSmallScreen ? this.svgConfig.dialog?.file : this.svgConfig.scene?.file;
75
+ this._href = this._isSmallScreen
76
+ ? `${this.svgConfig.dialog?.url || ''}#${this.svgConfig.dialog?.id}`
77
+ : `${this.svgConfig.scene?.url || ''}#${this.svgConfig.scene?.id}`;
76
78
  break;
77
79
  case 'dialog':
78
- {
79
- this._href = `${this.svgConfig.dialog?.url}#${this.svgConfig.dialog?.id}`;
80
- }
80
+ inlineSvg = this.svgConfig.dialog?.file;
81
+ this._href = `${this.svgConfig.dialog?.url || ''}#${this.svgConfig.dialog?.id}`;
81
82
  break;
82
83
  case 'spot':
83
- {
84
- this._href = `${this.svgConfig.spot?.url}#${this.svgConfig.spot?.id}`;
85
- }
84
+ inlineSvg = this.svgConfig.spot?.file;
85
+ this._href = `${this.svgConfig.spot?.url || ''}#${this.svgConfig.spot?.id}`;
86
86
  break;
87
87
  }
88
88
  }
89
+ if (inlineSvg) {
90
+ this._inlineSvg = this._sanitizer.bypassSecurityTrustHtml(inlineSvg);
91
+ }
92
+ this._cdRef.detectChanges();
89
93
  }
90
94
  }
91
- IllustratedMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: IllustratedMessageComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
95
+ IllustratedMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: IllustratedMessageComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
92
96
  IllustratedMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: IllustratedMessageComponent, selector: "[fd-illustrated-message]", inputs: { type: "type", svgConfig: "svgConfig", noSvg: "noSvg", id: "id", class: "class" }, host: { properties: { "attr.id": "this.id" } }, usesOnChanges: true, ngImport: i0, template: `
93
- <svg class="fd-illustrated-message__illustration" *ngIf="!noSvg">
97
+ <svg class="fd-illustrated-message__illustration" *ngIf="!noSvg || _inlineSvg">
94
98
  <use [attr.href]="_href"></use>
95
99
  </svg>
100
+ <div *ngIf="_inlineSvg" style="display: none;" [innerHTML]="_inlineSvg"></div>
96
101
  <ng-content select="[fd-illustrated-message-figcaption]"></ng-content>
97
102
  <ng-content select="fd-illustrated-message-actions"></ng-content>
98
- `, isInline: true, styles: ["/*!\n * Fundamental Library Styles v0.24.2\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-illustrated-message{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:auto;line-height:var(--sapContent_LineHeight);margin:5rem 0 0;max-width:30rem;padding:1rem;text-align:center;width:100%}.fd-illustrated-message:after,.fd-illustrated-message:before{box-sizing:inherit;font-size:inherit}.fd-illustrated-message__illustration{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:15rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:20rem}.fd-illustrated-message__illustration:after,.fd-illustrated-message__illustration:before{box-sizing:inherit;font-size:inherit}.fd-illustrated-message__figcaption{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:100%}.fd-illustrated-message__figcaption:after,.fd-illustrated-message__figcaption:before{box-sizing:inherit;font-size:inherit}.fd-illustrated-message__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader2Size);font-weight:400;font-weight:var(--sapFontHeaderWeight);line-height:var(--sapContent_LineHeight);line-height:1.3;margin:2rem 0 .5rem;padding:0;text-align:center;width:100%}.fd-illustrated-message__title:after,.fd-illustrated-message__title:before{box-sizing:inherit;font-size:inherit}.fd-illustrated-message__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontLargeSize);font-weight:400;line-height:var(--sapContent_LineHeight);line-height:1.4;margin:0 0 2rem;padding:0;text-align:center;width:100%}.fd-illustrated-message__text:after,.fd-illustrated-message__text:before{box-sizing:inherit;font-size:inherit}.fd-illustrated-message__actions{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0 0 2rem;padding:0;width:100%}.fd-illustrated-message__actions:after,.fd-illustrated-message__actions:before{box-sizing:inherit;font-size:inherit}.fd-illustrated-message__actions *{margin:0 .25rem}@media screen and (max-width: 599px){.fd-illustrated-message{max-width:20rem}.fd-illustrated-message .fd-illustrated-message__illustration{height:10rem;width:10rem}}.fd-illustrated-message--dialog{margin-top:0;max-width:100%}.fd-illustrated-message--dialog .fd-illustrated-message__illustration{height:10rem;margin-bottom:2rem;margin-top:1rem;width:10rem}.fd-illustrated-message--dialog .fd-illustrated-message__title{font-size:var(--sapFontHeader4Size);margin:0 0 .25rem;max-width:25rem;padding:0}.fd-illustrated-message--dialog .fd-illustrated-message__text{color:var(--sapTile_TextColor);font-size:var(--sapFontSize);max-width:25rem}@media screen and (max-width: 599px){.fd-illustrated-message--dialog .fd-illustrated-message__text,.fd-illustrated-message--dialog .fd-illustrated-message__title{max-width:18rem}}.fd-illustrated-message--spot{margin-top:0;max-width:100%}.fd-illustrated-message--spot .fd-illustrated-message__illustration{height:8rem;margin:.5rem 0;padding:0;width:8rem}.fd-illustrated-message--spot .fd-illustrated-message__title{font-size:var(--sapFontHeader5Size);line-height:1.25;margin:0 0 .25rem;max-width:25rem;padding:0}.fd-illustrated-message--spot .fd-illustrated-message__text{color:var(--sapTile_TextColor);font-size:var(--sapFontSize);margin:0 0 1rem;max-width:25rem;padding:0}.fd-illustrated-message--spot .fd-illustrated-message__actions{margin:.5rem 0 1rem;padding:0}@media screen and (max-width: 599px){.fd-illustrated-message--spot .fd-illustrated-message__text,.fd-illustrated-message--spot .fd-illustrated-message__title{max-width:18rem}}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
103
+ `, isInline: true, styles: ["/*!\n * Fundamental Library Styles v0.24.2\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-illustrated-message{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:auto;line-height:var(--sapContent_LineHeight);margin:5rem 0 0;max-width:30rem;padding:1rem;text-align:center;width:100%}.fd-illustrated-message:after,.fd-illustrated-message:before{box-sizing:inherit;font-size:inherit}.fd-illustrated-message__illustration{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:15rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:20rem}.fd-illustrated-message__illustration:after,.fd-illustrated-message__illustration:before{box-sizing:inherit;font-size:inherit}.fd-illustrated-message__figcaption{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:100%}.fd-illustrated-message__figcaption:after,.fd-illustrated-message__figcaption:before{box-sizing:inherit;font-size:inherit}.fd-illustrated-message__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader2Size);font-weight:400;font-weight:var(--sapFontHeaderWeight);line-height:var(--sapContent_LineHeight);line-height:1.3;margin:2rem 0 .5rem;padding:0;text-align:center;width:100%}.fd-illustrated-message__title:after,.fd-illustrated-message__title:before{box-sizing:inherit;font-size:inherit}.fd-illustrated-message__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontLargeSize);font-weight:400;line-height:var(--sapContent_LineHeight);line-height:1.4;margin:0 0 2rem;padding:0;text-align:center;width:100%}.fd-illustrated-message__text:after,.fd-illustrated-message__text:before{box-sizing:inherit;font-size:inherit}.fd-illustrated-message__actions{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0 0 2rem;padding:0;width:100%}.fd-illustrated-message__actions:after,.fd-illustrated-message__actions:before{box-sizing:inherit;font-size:inherit}.fd-illustrated-message__actions *{margin:0 .25rem}@media screen and (max-width: 599px){.fd-illustrated-message{max-width:20rem}.fd-illustrated-message .fd-illustrated-message__illustration{height:10rem;width:10rem}}.fd-illustrated-message--dialog{margin-top:0;max-width:100%}.fd-illustrated-message--dialog .fd-illustrated-message__illustration{height:10rem;margin-bottom:2rem;margin-top:1rem;width:10rem}.fd-illustrated-message--dialog .fd-illustrated-message__title{font-size:var(--sapFontHeader4Size);margin:0 0 .25rem;max-width:25rem;padding:0}.fd-illustrated-message--dialog .fd-illustrated-message__text{color:var(--sapTile_TextColor);font-size:var(--sapFontSize);max-width:25rem}@media screen and (max-width: 599px){.fd-illustrated-message--dialog .fd-illustrated-message__text,.fd-illustrated-message--dialog .fd-illustrated-message__title{max-width:18rem}}.fd-illustrated-message--spot{margin-top:0;max-width:100%}.fd-illustrated-message--spot .fd-illustrated-message__illustration{height:8rem;margin:.5rem 0;padding:0;width:8rem}.fd-illustrated-message--spot .fd-illustrated-message__title{font-size:var(--sapFontHeader5Size);line-height:1.25;margin:0 0 .25rem;max-width:25rem;padding:0}.fd-illustrated-message--spot .fd-illustrated-message__text{color:var(--sapTile_TextColor);font-size:var(--sapFontSize);margin:0 0 1rem;max-width:25rem;padding:0}.fd-illustrated-message--spot .fd-illustrated-message__actions{margin:.5rem 0 1rem;padding:0}@media screen and (max-width: 599px){.fd-illustrated-message--spot .fd-illustrated-message__text,.fd-illustrated-message--spot .fd-illustrated-message__title{max-width:18rem}}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
99
104
  __decorate([
100
105
  applyCssClass,
101
106
  __metadata("design:type", Function),
@@ -105,13 +110,14 @@ __decorate([
105
110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: IllustratedMessageComponent, decorators: [{
106
111
  type: Component,
107
112
  args: [{ selector: '[fd-illustrated-message]', template: `
108
- <svg class="fd-illustrated-message__illustration" *ngIf="!noSvg">
113
+ <svg class="fd-illustrated-message__illustration" *ngIf="!noSvg || _inlineSvg">
109
114
  <use [attr.href]="_href"></use>
110
115
  </svg>
116
+ <div *ngIf="_inlineSvg" style="display: none;" [innerHTML]="_inlineSvg"></div>
111
117
  <ng-content select="[fd-illustrated-message-figcaption]"></ng-content>
112
118
  <ng-content select="fd-illustrated-message-actions"></ng-content>
113
119
  `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["/*!\n * Fundamental Library Styles v0.24.2\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-illustrated-message{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:auto;line-height:var(--sapContent_LineHeight);margin:5rem 0 0;max-width:30rem;padding:1rem;text-align:center;width:100%}.fd-illustrated-message:after,.fd-illustrated-message:before{box-sizing:inherit;font-size:inherit}.fd-illustrated-message__illustration{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:15rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:20rem}.fd-illustrated-message__illustration:after,.fd-illustrated-message__illustration:before{box-sizing:inherit;font-size:inherit}.fd-illustrated-message__figcaption{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:100%}.fd-illustrated-message__figcaption:after,.fd-illustrated-message__figcaption:before{box-sizing:inherit;font-size:inherit}.fd-illustrated-message__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader2Size);font-weight:400;font-weight:var(--sapFontHeaderWeight);line-height:var(--sapContent_LineHeight);line-height:1.3;margin:2rem 0 .5rem;padding:0;text-align:center;width:100%}.fd-illustrated-message__title:after,.fd-illustrated-message__title:before{box-sizing:inherit;font-size:inherit}.fd-illustrated-message__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontLargeSize);font-weight:400;line-height:var(--sapContent_LineHeight);line-height:1.4;margin:0 0 2rem;padding:0;text-align:center;width:100%}.fd-illustrated-message__text:after,.fd-illustrated-message__text:before{box-sizing:inherit;font-size:inherit}.fd-illustrated-message__actions{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0 0 2rem;padding:0;width:100%}.fd-illustrated-message__actions:after,.fd-illustrated-message__actions:before{box-sizing:inherit;font-size:inherit}.fd-illustrated-message__actions *{margin:0 .25rem}@media screen and (max-width: 599px){.fd-illustrated-message{max-width:20rem}.fd-illustrated-message .fd-illustrated-message__illustration{height:10rem;width:10rem}}.fd-illustrated-message--dialog{margin-top:0;max-width:100%}.fd-illustrated-message--dialog .fd-illustrated-message__illustration{height:10rem;margin-bottom:2rem;margin-top:1rem;width:10rem}.fd-illustrated-message--dialog .fd-illustrated-message__title{font-size:var(--sapFontHeader4Size);margin:0 0 .25rem;max-width:25rem;padding:0}.fd-illustrated-message--dialog .fd-illustrated-message__text{color:var(--sapTile_TextColor);font-size:var(--sapFontSize);max-width:25rem}@media screen and (max-width: 599px){.fd-illustrated-message--dialog .fd-illustrated-message__text,.fd-illustrated-message--dialog .fd-illustrated-message__title{max-width:18rem}}.fd-illustrated-message--spot{margin-top:0;max-width:100%}.fd-illustrated-message--spot .fd-illustrated-message__illustration{height:8rem;margin:.5rem 0;padding:0;width:8rem}.fd-illustrated-message--spot .fd-illustrated-message__title{font-size:var(--sapFontHeader5Size);line-height:1.25;margin:0 0 .25rem;max-width:25rem;padding:0}.fd-illustrated-message--spot .fd-illustrated-message__text{color:var(--sapTile_TextColor);font-size:var(--sapFontSize);margin:0 0 1rem;max-width:25rem;padding:0}.fd-illustrated-message--spot .fd-illustrated-message__actions{margin:.5rem 0 1rem;padding:0}@media screen and (max-width: 599px){.fd-illustrated-message--spot .fd-illustrated-message__text,.fd-illustrated-message--spot .fd-illustrated-message__title{max-width:18rem}}\n"] }]
114
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { type: [{
120
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.DomSanitizer }]; }, propDecorators: { type: [{
115
121
  type: Input
116
122
  }], svgConfig: [{
117
123
  type: Input
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-illustrated-message.mjs","sources":["../../../../libs/core/src/lib/illustrated-message/illustrated-message.component.ts","../../../../libs/core/src/lib/illustrated-message/components/illustrated-message-actions/illustrated-message-actions.component.ts","../../../../libs/core/src/lib/illustrated-message/components/illustrated-message-figcaption/illustrated-message-figcaption.component.ts","../../../../libs/core/src/lib/illustrated-message/directives/illustrated-message-text/illustrated-message-text.directive.ts","../../../../libs/core/src/lib/illustrated-message/directives/illustrated-message-title/illustrated-message-title.directive.ts","../../../../libs/core/src/lib/illustrated-message/illustrated-message.module.ts","../../../../libs/core/src/lib/illustrated-message/fundamental-ngx-core-illustrated-message.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { fromEvent, Subscription } from 'rxjs';\n\nexport interface SvgConfig {\n scene?: { url: string; id: string };\n dialog?: { url: string; id: string };\n spot?: { url: string; id: string };\n}\n\nlet illustratedMessageUniqueId = 0;\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-illustrated-message]',\n template: `\n <svg class=\"fd-illustrated-message__illustration\" *ngIf=\"!noSvg\">\n <use [attr.href]=\"_href\"></use>\n </svg>\n <ng-content select=\"[fd-illustrated-message-figcaption]\"></ng-content>\n <ng-content select=\"fd-illustrated-message-actions\"></ng-content>\n `,\n styleUrls: ['./illustrated-message.component.scss'],\n\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class IllustratedMessageComponent implements AfterViewInit, OnChanges, OnDestroy, OnInit, CssClassBuilder {\n /**\n * The type of the Illustrated Message\n * Options include: 'scene' | 'spot' | 'dialog'\n * The default type is set to 'scene'\n */\n @Input() type: 'scene' | 'dialog' | 'spot' = 'scene';\n\n /**\n * An object containing url and id for each type used to construct the svg href\n * For 'scene' type 'scene' and 'dialog' values are required\n * In small screens (less than 600px) 'dialog' svg will be applied for 'scene' type\n */\n @Input() svgConfig: SvgConfig;\n\n /**\n * When set to true will remove the illustration from the Illustrated Message\n * The default is set to false\n */\n @Input() noSvg = false;\n\n /**\n * Id of the Illustrated Message\n * If not provided, a default one is generated\n */\n @Input()\n @HostBinding('attr.id')\n id: string = 'fd-illustrated-message-' + illustratedMessageUniqueId++;\n\n /** User's custom classes */\n @Input()\n class: string;\n\n /** @hidden */\n _href: string;\n\n /** @hidden */\n _isSmallScreen: boolean;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, private _cdRef: ChangeDetectorRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n this._constructHref();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.type === 'scene') {\n this._subscriptions.add(fromEvent(window, 'resize').subscribe(() => this._constructHref()));\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return ['fd-illustrated-message', this.type ? `fd-illustrated-message--${this.type}` : '', this.class];\n }\n\n /** @hidden */\n private _constructHref(): void {\n if (this.svgConfig) {\n switch (this.type) {\n case 'scene':\n {\n this._isSmallScreen = window.innerWidth < 600;\n\n this._href = this._isSmallScreen\n ? `${this.svgConfig.dialog?.url}#${this.svgConfig.dialog?.id}`\n : `${this.svgConfig.scene?.url}#${this.svgConfig.scene?.id}`;\n this._cdRef.detectChanges();\n }\n break;\n\n case 'dialog':\n {\n this._href = `${this.svgConfig.dialog?.url}#${this.svgConfig.dialog?.id}`;\n }\n break;\n\n case 'spot':\n {\n this._href = `${this.svgConfig.spot?.url}#${this.svgConfig.spot?.id}`;\n }\n break;\n }\n }\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'fd-illustrated-message-actions',\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-illustrated-message__actions'\n }\n})\nexport class IllustratedMessageActionsComponent {}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-illustrated-message-figcaption]',\n template: `\n <ng-content select=\"[fd-illustrated-message-title]\"></ng-content>\n <ng-content select=\"[fd-illustrated-message-text]\"></ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-illustrated-message__figcaption'\n }\n})\nexport class IllustratedMessageFigcaptionComponent {}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-illustrated-message-text]'\n})\nexport class IllustratedMessageTextDirective {\n /** @hidden */\n @HostBinding('class.fd-illustrated-message__text')\n fdIllustratedMessageTextClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-illustrated-message-title]'\n})\nexport class IllustratedMessageTitleDirective {\n /** @hidden */\n @HostBinding('class.fd-illustrated-message__title')\n fdIllustratedMessageTitleClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { IllustratedMessageComponent } from './illustrated-message.component';\nimport { IllustratedMessageActionsComponent } from './components/illustrated-message-actions/illustrated-message-actions.component';\n// eslint-disable-next-line max-len\nimport { IllustratedMessageFigcaptionComponent } from './components/illustrated-message-figcaption/illustrated-message-figcaption.component';\nimport { IllustratedMessageTextDirective } from './directives/illustrated-message-text/illustrated-message-text.directive';\nimport { IllustratedMessageTitleDirective } from './directives/illustrated-message-title/illustrated-message-title.directive';\n\n@NgModule({\n declarations: [\n IllustratedMessageComponent,\n IllustratedMessageActionsComponent,\n IllustratedMessageFigcaptionComponent,\n IllustratedMessageTextDirective,\n IllustratedMessageTitleDirective\n ],\n imports: [CommonModule],\n exports: [\n IllustratedMessageComponent,\n IllustratedMessageActionsComponent,\n IllustratedMessageFigcaptionComponent,\n IllustratedMessageTextDirective,\n IllustratedMessageTitleDirective\n ]\n})\nexport class IllustratedMessageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;AAuBA,IAAI,0BAA0B,GAAG,CAAC,CAAC;MAiBtB,2BAA2B;;IA2CpC,YAAoB,WAAuB,EAAU,MAAyB;QAA1D,gBAAW,GAAX,WAAW,CAAY;QAAU,WAAM,GAAN,MAAM,CAAmB;;;;;;QArCrE,SAAI,GAAgC,OAAO,CAAC;;;;;QAa5C,UAAK,GAAG,KAAK,CAAC;;;;;QAQvB,OAAE,GAAW,yBAAyB,GAAG,0BAA0B,EAAE,CAAC;;QAa9D,mBAAc,GAAG,IAAI,YAAY,EAAE,CAAC;KAGsC;;IAGlF,WAAW;QACP,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;IAGD,QAAQ;QACJ,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;;IAGD,eAAe;QACX,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;SAC/F;KACJ;;IAGD,WAAW;QACP,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;KACrC;;IAGD,UAAU;QACN,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;;;;;IAOD,sBAAsB;QAClB,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,IAAI,GAAG,2BAA2B,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1G;;IAGO,cAAc;QAClB,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,QAAQ,IAAI,CAAC,IAAI;gBACb,KAAK,OAAO;oBACR;wBACI,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;wBAE9C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc;8BAC1B,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE;8BAC5D,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC;wBACjE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;qBAC/B;oBACD,MAAM;gBAEV,KAAK,QAAQ;oBACT;wBACI,IAAI,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;qBAC7E;oBACD,MAAM;gBAEV,KAAK,MAAM;oBACP;wBACI,IAAI,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;qBACzE;oBACD,MAAM;aACb;SACJ;KACJ;;wHA9GQ,2BAA2B;4GAA3B,2BAA2B,iOAZ1B;;;;;;KAMT;AAoFD;IALC,aAAa;;;;yEAOb;2FAhFQ,2BAA2B;kBAfvC,SAAS;+BAEI,0BAA0B,YAC1B;;;;;;KAMT,iBAGc,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;iIAQtC,IAAI;sBAAZ,KAAK;gBAOG,SAAS;sBAAjB,KAAK;gBAMG,KAAK;sBAAb,KAAK;gBAQN,EAAE;sBAFD,KAAK;;sBACL,WAAW;uBAAC,SAAS;gBAKtB,KAAK;sBADJ,KAAK;;;;;;QAgDN,sBAAsB;;MC5Gb,kCAAkC;;+HAAlC,kCAAkC;mHAAlC,kCAAkC,mIANjC,2BAA2B;2FAM5B,kCAAkC;kBAR9C,SAAS;mBAAC;oBACP,QAAQ,EAAE,gCAAgC;oBAC1C,QAAQ,EAAE,2BAA2B;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,IAAI,EAAE;wBACF,KAAK,EAAE,iCAAiC;qBAC3C;iBACJ;;;MCKY,qCAAqC;;kIAArC,qCAAqC;sHAArC,qCAAqC,2IATpC;;;KAGT;2FAMQ,qCAAqC;kBAZjD,SAAS;mBAAC;;oBAEP,QAAQ,EAAE,qCAAqC;oBAC/C,QAAQ,EAAE;;;KAGT;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,IAAI,EAAE;wBACF,KAAK,EAAE,oCAAoC;qBAC9C;iBACJ;;;MCNY,+BAA+B;IAL5C;;QAQI,kCAA6B,GAAG,IAAI,CAAC;KACxC;;4HAJY,+BAA+B;gHAA/B,+BAA+B;2FAA/B,+BAA+B;kBAL3C,SAAS;mBAAC;;;oBAGP,QAAQ,EAAE,+BAA+B;iBAC5C;8BAIG,6BAA6B;sBAD5B,WAAW;uBAAC,oCAAoC;;;MCFxC,gCAAgC;IAL7C;;QAQI,mCAA8B,GAAG,IAAI,CAAC;KACzC;;6HAJY,gCAAgC;iHAAhC,gCAAgC;2FAAhC,gCAAgC;kBAL5C,SAAS;mBAAC;;;oBAGP,QAAQ,EAAE,gCAAgC;iBAC7C;8BAIG,8BAA8B;sBAD7B,WAAW;uBAAC,qCAAqC;;;MCkBzC,wBAAwB;;qHAAxB,wBAAwB;sHAAxB,wBAAwB,iBAf7B,2BAA2B;QAC3B,kCAAkC;QAClC,qCAAqC;QACrC,+BAA+B;QAC/B,gCAAgC,aAE1B,YAAY,aAElB,2BAA2B;QAC3B,kCAAkC;QAClC,qCAAqC;QACrC,+BAA+B;QAC/B,gCAAgC;sHAG3B,wBAAwB,YATxB,CAAC,YAAY,CAAC;2FASd,wBAAwB;kBAjBpC,QAAQ;mBAAC;oBACN,YAAY,EAAE;wBACV,2BAA2B;wBAC3B,kCAAkC;wBAClC,qCAAqC;wBACrC,+BAA+B;wBAC/B,gCAAgC;qBACnC;oBACD,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE;wBACL,2BAA2B;wBAC3B,kCAAkC;wBAClC,qCAAqC;wBACrC,+BAA+B;wBAC/B,gCAAgC;qBACnC;iBACJ;;;AC1BD;;;;;;"}
1
+ {"version":3,"file":"fundamental-ngx-core-illustrated-message.mjs","sources":["../../../../libs/core/src/lib/illustrated-message/illustrated-message.component.ts","../../../../libs/core/src/lib/illustrated-message/components/illustrated-message-actions/illustrated-message-actions.component.ts","../../../../libs/core/src/lib/illustrated-message/components/illustrated-message-figcaption/illustrated-message-figcaption.component.ts","../../../../libs/core/src/lib/illustrated-message/directives/illustrated-message-text/illustrated-message-text.directive.ts","../../../../libs/core/src/lib/illustrated-message/directives/illustrated-message-title/illustrated-message-title.directive.ts","../../../../libs/core/src/lib/illustrated-message/illustrated-message.module.ts","../../../../libs/core/src/lib/illustrated-message/fundamental-ngx-core-illustrated-message.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { applyCssClass, RequireOnlyOne } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { fromEvent, Subscription } from 'rxjs';\n\nexport interface SvgConfig {\n scene?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n dialog?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n spot?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n}\n\nexport interface SvgItemConfig {\n url: string;\n id: string;\n file: string;\n}\n\nexport type IllustratedMessageType = 'scene' | 'dialog' | 'spot';\n\nlet illustratedMessageUniqueId = 0;\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-illustrated-message]',\n template: `\n <svg class=\"fd-illustrated-message__illustration\" *ngIf=\"!noSvg || _inlineSvg\">\n <use [attr.href]=\"_href\"></use>\n </svg>\n <div *ngIf=\"_inlineSvg\" style=\"display: none;\" [innerHTML]=\"_inlineSvg\"></div>\n <ng-content select=\"[fd-illustrated-message-figcaption]\"></ng-content>\n <ng-content select=\"fd-illustrated-message-actions\"></ng-content>\n `,\n styleUrls: ['./illustrated-message.component.scss'],\n\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class IllustratedMessageComponent implements AfterViewInit, OnChanges, OnDestroy, OnInit, CssClassBuilder {\n /**\n * The type of the Illustrated Message\n * Options include: 'scene' | 'spot' | 'dialog'\n * The default type is set to 'scene'\n */\n @Input()\n type: IllustratedMessageType = 'scene';\n\n /**\n * An object containing url and id for each type used to construct the svg href\n * For 'scene' type 'scene' and 'dialog' values are required\n * In small screens (less than 600px) 'dialog' svg will be applied for 'scene' type\n */\n @Input()\n svgConfig: SvgConfig;\n\n /**\n * When set to true will remove the illustration from the Illustrated Message\n * The default is set to false\n */\n @Input()\n noSvg = false;\n\n /**\n * Id of the Illustrated Message\n * If not provided, a default one is generated\n */\n @Input()\n @HostBinding('attr.id')\n id: string = 'fd-illustrated-message-' + illustratedMessageUniqueId++;\n\n /** User's custom classes */\n @Input()\n class: string;\n\n /** @hidden */\n _href: string;\n\n /** @hidden */\n _isSmallScreen: boolean;\n\n /** @hidden */\n _inlineSvg: SafeHtml | undefined;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(private _elementRef: ElementRef, private _cdRef: ChangeDetectorRef, private _sanitizer: DomSanitizer) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n this._constructHref();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.type === 'scene') {\n this._subscriptions.add(fromEvent(window, 'resize').subscribe(() => this._constructHref()));\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n elementRef(): ElementRef {\n return this._elementRef;\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return ['fd-illustrated-message', this.type ? `fd-illustrated-message--${this.type}` : '', this.class];\n }\n\n /** @hidden */\n private _constructHref(): void {\n let inlineSvg;\n this._inlineSvg = undefined;\n if (this.svgConfig) {\n switch (this.type) {\n case 'scene':\n this._isSmallScreen = window.innerWidth < 600;\n\n inlineSvg = this._isSmallScreen ? this.svgConfig.dialog?.file : this.svgConfig.scene?.file;\n\n this._href = this._isSmallScreen\n ? `${this.svgConfig.dialog?.url || ''}#${this.svgConfig.dialog?.id}`\n : `${this.svgConfig.scene?.url || ''}#${this.svgConfig.scene?.id}`;\n break;\n\n case 'dialog':\n inlineSvg = this.svgConfig.dialog?.file;\n this._href = `${this.svgConfig.dialog?.url || ''}#${this.svgConfig.dialog?.id}`;\n break;\n\n case 'spot':\n inlineSvg = this.svgConfig.spot?.file;\n this._href = `${this.svgConfig.spot?.url || ''}#${this.svgConfig.spot?.id}`;\n break;\n }\n }\n if (inlineSvg) {\n this._inlineSvg = this._sanitizer.bypassSecurityTrustHtml(inlineSvg);\n }\n\n this._cdRef.detectChanges();\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'fd-illustrated-message-actions',\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-illustrated-message__actions'\n }\n})\nexport class IllustratedMessageActionsComponent {}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-illustrated-message-figcaption]',\n template: `\n <ng-content select=\"[fd-illustrated-message-title]\"></ng-content>\n <ng-content select=\"[fd-illustrated-message-text]\"></ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-illustrated-message__figcaption'\n }\n})\nexport class IllustratedMessageFigcaptionComponent {}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-illustrated-message-text]'\n})\nexport class IllustratedMessageTextDirective {\n /** @hidden */\n @HostBinding('class.fd-illustrated-message__text')\n fdIllustratedMessageTextClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-illustrated-message-title]'\n})\nexport class IllustratedMessageTitleDirective {\n /** @hidden */\n @HostBinding('class.fd-illustrated-message__title')\n fdIllustratedMessageTitleClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { IllustratedMessageComponent } from './illustrated-message.component';\nimport { IllustratedMessageActionsComponent } from './components/illustrated-message-actions/illustrated-message-actions.component';\n// eslint-disable-next-line max-len\nimport { IllustratedMessageFigcaptionComponent } from './components/illustrated-message-figcaption/illustrated-message-figcaption.component';\nimport { IllustratedMessageTextDirective } from './directives/illustrated-message-text/illustrated-message-text.directive';\nimport { IllustratedMessageTitleDirective } from './directives/illustrated-message-title/illustrated-message-title.directive';\n\n@NgModule({\n declarations: [\n IllustratedMessageComponent,\n IllustratedMessageActionsComponent,\n IllustratedMessageFigcaptionComponent,\n IllustratedMessageTextDirective,\n IllustratedMessageTitleDirective\n ],\n imports: [CommonModule],\n exports: [\n IllustratedMessageComponent,\n IllustratedMessageActionsComponent,\n IllustratedMessageFigcaptionComponent,\n IllustratedMessageTextDirective,\n IllustratedMessageTitleDirective\n ]\n})\nexport class IllustratedMessageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/file-uploader",
3
- "version": "0.35.2-rc.28",
3
+ "version": "0.35.2-rc.30",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/fixed-card-layout",
3
- "version": "0.35.2-rc.28",
3
+ "version": "0.35.2-rc.30",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/flexible-column-layout",
3
- "version": "0.35.2-rc.28",
3
+ "version": "0.35.2-rc.30",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
package/form/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/form",
3
- "version": "0.35.2-rc.28",
3
+ "version": "0.35.2-rc.30",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/formatted-text",
3
- "version": "0.35.2-rc.28",
3
+ "version": "0.35.2-rc.30",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/grid-list",
3
- "version": "0.35.2-rc.28",
3
+ "version": "0.35.2-rc.30",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
package/icon/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/icon",
3
- "version": "0.35.2-rc.28",
3
+ "version": "0.35.2-rc.30",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"