@fundamental-ngx/core 0.35.0-rc.10 → 0.35.0-rc.13

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 (190) 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-hidden-item/breadcrumb-hidden-item.component.d.ts +23 -0
  8. package/breadcrumb/breadcrumb-item.component.d.ts +29 -0
  9. package/breadcrumb/breadcrumb.component.d.ts +16 -39
  10. package/breadcrumb/breadcrumb.module.d.ts +6 -4
  11. package/breadcrumb/esm2020/breadcrumb-hidden-item/breadcrumb-hidden-item.component.mjs +39 -0
  12. package/breadcrumb/esm2020/breadcrumb-item.component.mjs +48 -0
  13. package/breadcrumb/esm2020/breadcrumb.component.mjs +50 -137
  14. package/breadcrumb/esm2020/breadcrumb.module.mjs +11 -9
  15. package/breadcrumb/esm2020/public_api.mjs +2 -3
  16. package/breadcrumb/fesm2015/fundamental-ngx-core-breadcrumb.mjs +112 -197
  17. package/breadcrumb/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  18. package/breadcrumb/fesm2020/fundamental-ngx-core-breadcrumb.mjs +111 -197
  19. package/breadcrumb/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  20. package/breadcrumb/package.json +1 -1
  21. package/breadcrumb/public_api.d.ts +1 -2
  22. package/busy-indicator/package.json +1 -1
  23. package/button/package.json +1 -1
  24. package/calendar/package.json +1 -1
  25. package/card/package.json +1 -1
  26. package/carousel/package.json +1 -1
  27. package/checkbox/package.json +1 -1
  28. package/combobox/package.json +1 -1
  29. package/date-picker/package.json +1 -1
  30. package/datetime/package.json +1 -1
  31. package/datetime-picker/package.json +1 -1
  32. package/dialog/package.json +1 -1
  33. package/dynamic-page/package.json +1 -1
  34. package/dynamic-side-content/package.json +1 -1
  35. package/esm2020/breadcrumb/breadcrumb-hidden-item/breadcrumb-hidden-item.component.mjs +39 -0
  36. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +48 -0
  37. package/esm2020/breadcrumb/breadcrumb.component.mjs +50 -137
  38. package/esm2020/breadcrumb/breadcrumb.module.mjs +11 -9
  39. package/esm2020/breadcrumb/public_api.mjs +2 -3
  40. package/esm2020/feed-list-item/components/item/feed-list-item.component.mjs +1 -1
  41. package/esm2020/form/form-label/form-label.component.mjs +1 -1
  42. package/esm2020/link/link.component.mjs +45 -7
  43. package/esm2020/multi-input/multi-input.component.mjs +1 -1
  44. package/esm2020/popover/popover-service/popover.service.mjs +2 -1
  45. package/esm2020/table/directives/table-text.directive.mjs +7 -5
  46. package/esm2020/text/text.component.mjs +1 -1
  47. package/esm2020/utils/public_api.mjs +2 -1
  48. package/esm2020/utils/services/resize-observer.service.mjs +83 -0
  49. package/facets/package.json +1 -1
  50. package/feed-input/package.json +1 -1
  51. package/feed-list-item/esm2020/components/item/feed-list-item.component.mjs +1 -1
  52. package/feed-list-item/fesm2015/fundamental-ngx-core-feed-list-item.mjs +1 -1
  53. package/feed-list-item/fesm2020/fundamental-ngx-core-feed-list-item.mjs +1 -1
  54. package/feed-list-item/package.json +1 -1
  55. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs +112 -197
  56. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  57. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs +1 -1
  58. package/fesm2015/fundamental-ngx-core-form.mjs +1 -1
  59. package/fesm2015/fundamental-ngx-core-link.mjs +46 -6
  60. package/fesm2015/fundamental-ngx-core-link.mjs.map +1 -1
  61. package/fesm2015/fundamental-ngx-core-multi-input.mjs +1 -1
  62. package/fesm2015/fundamental-ngx-core-popover.mjs +1 -0
  63. package/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
  64. package/fesm2015/fundamental-ngx-core-table.mjs +6 -4
  65. package/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
  66. package/fesm2015/fundamental-ngx-core-text.mjs +1 -1
  67. package/fesm2015/fundamental-ngx-core-utils.mjs +81 -2
  68. package/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
  69. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs +111 -197
  70. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  71. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs +1 -1
  72. package/fesm2020/fundamental-ngx-core-form.mjs +1 -1
  73. package/fesm2020/fundamental-ngx-core-link.mjs +44 -6
  74. package/fesm2020/fundamental-ngx-core-link.mjs.map +1 -1
  75. package/fesm2020/fundamental-ngx-core-multi-input.mjs +1 -1
  76. package/fesm2020/fundamental-ngx-core-popover.mjs +1 -0
  77. package/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
  78. package/fesm2020/fundamental-ngx-core-table.mjs +6 -4
  79. package/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
  80. package/fesm2020/fundamental-ngx-core-text.mjs +1 -1
  81. package/fesm2020/fundamental-ngx-core-utils.mjs +81 -2
  82. package/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
  83. package/file-uploader/package.json +1 -1
  84. package/fixed-card-layout/package.json +1 -1
  85. package/flexible-column-layout/package.json +1 -1
  86. package/form/esm2020/form-label/form-label.component.mjs +1 -1
  87. package/form/fesm2015/fundamental-ngx-core-form.mjs +1 -1
  88. package/form/fesm2020/fundamental-ngx-core-form.mjs +1 -1
  89. package/form/package.json +1 -1
  90. package/formatted-text/package.json +1 -1
  91. package/grid-list/package.json +1 -1
  92. package/icon/package.json +1 -1
  93. package/illustrated-message/package.json +1 -1
  94. package/infinite-scroll/package.json +1 -1
  95. package/info-label/package.json +1 -1
  96. package/inline-help/package.json +1 -1
  97. package/input-group/package.json +1 -1
  98. package/layout-grid/package.json +1 -1
  99. package/layout-panel/package.json +1 -1
  100. package/link/esm2020/link.component.mjs +45 -7
  101. package/link/fesm2015/fundamental-ngx-core-link.mjs +46 -6
  102. package/link/fesm2015/fundamental-ngx-core-link.mjs.map +1 -1
  103. package/link/fesm2020/fundamental-ngx-core-link.mjs +44 -6
  104. package/link/fesm2020/fundamental-ngx-core-link.mjs.map +1 -1
  105. package/link/link.component.d.ts +8 -2
  106. package/link/package.json +1 -1
  107. package/list/package.json +1 -1
  108. package/menu/package.json +1 -1
  109. package/message-box/package.json +1 -1
  110. package/message-strip/package.json +1 -1
  111. package/message-toast/package.json +1 -1
  112. package/micro-process-flow/package.json +1 -1
  113. package/mobile-mode/package.json +1 -1
  114. package/multi-input/esm2020/multi-input.component.mjs +1 -1
  115. package/multi-input/fesm2015/fundamental-ngx-core-multi-input.mjs +1 -1
  116. package/multi-input/fesm2020/fundamental-ngx-core-multi-input.mjs +1 -1
  117. package/multi-input/package.json +1 -1
  118. package/nested-list/package.json +1 -1
  119. package/notification/package.json +1 -1
  120. package/object-identifier/package.json +1 -1
  121. package/object-marker/package.json +1 -1
  122. package/object-number/package.json +1 -1
  123. package/object-status/package.json +1 -1
  124. package/package.json +1 -1
  125. package/pagination/package.json +1 -1
  126. package/panel/package.json +1 -1
  127. package/popover/esm2020/popover-service/popover.service.mjs +2 -1
  128. package/popover/fesm2015/fundamental-ngx-core-popover.mjs +1 -0
  129. package/popover/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
  130. package/popover/fesm2020/fundamental-ngx-core-popover.mjs +1 -0
  131. package/popover/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
  132. package/popover/package.json +1 -1
  133. package/product-switch/package.json +1 -1
  134. package/progress-indicator/package.json +1 -1
  135. package/quick-view/package.json +1 -1
  136. package/radio/package.json +1 -1
  137. package/rating-indicator/package.json +1 -1
  138. package/resizable-card-layout/package.json +1 -1
  139. package/scroll-spy/package.json +1 -1
  140. package/scrollbar/package.json +1 -1
  141. package/segmented-button/package.json +1 -1
  142. package/select/package.json +1 -1
  143. package/shared/package.json +1 -1
  144. package/shellbar/package.json +1 -1
  145. package/side-navigation/package.json +1 -1
  146. package/slider/package.json +1 -1
  147. package/split-button/package.json +1 -1
  148. package/splitter/package.json +1 -1
  149. package/status-indicator/package.json +1 -1
  150. package/step-input/package.json +1 -1
  151. package/switch/package.json +1 -1
  152. package/table/directives/table-text.directive.d.ts +5 -5
  153. package/table/esm2020/directives/table-text.directive.mjs +7 -5
  154. package/table/fesm2015/fundamental-ngx-core-table.mjs +6 -4
  155. package/table/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
  156. package/table/fesm2020/fundamental-ngx-core-table.mjs +6 -4
  157. package/table/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
  158. package/table/package.json +1 -1
  159. package/tabs/package.json +1 -1
  160. package/text/esm2020/text.component.mjs +1 -1
  161. package/text/fesm2015/fundamental-ngx-core-text.mjs +1 -1
  162. package/text/fesm2020/fundamental-ngx-core-text.mjs +1 -1
  163. package/text/package.json +1 -1
  164. package/theming/package.json +1 -1
  165. package/tile/package.json +1 -1
  166. package/time/package.json +1 -1
  167. package/time-picker/package.json +1 -1
  168. package/timeline/package.json +1 -1
  169. package/title/package.json +1 -1
  170. package/token/package.json +1 -1
  171. package/toolbar/package.json +1 -1
  172. package/tree/package.json +1 -1
  173. package/upload-collection/package.json +1 -1
  174. package/utils/esm2020/public_api.mjs +2 -1
  175. package/utils/esm2020/services/resize-observer.service.mjs +83 -0
  176. package/utils/fesm2015/fundamental-ngx-core-utils.mjs +81 -2
  177. package/utils/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
  178. package/utils/fesm2020/fundamental-ngx-core-utils.mjs +81 -2
  179. package/utils/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
  180. package/utils/package.json +1 -1
  181. package/utils/public_api.d.ts +1 -0
  182. package/utils/services/resize-observer.service.d.ts +29 -0
  183. package/vertical-navigation/package.json +1 -1
  184. package/wizard/package.json +1 -1
  185. package/breadcrumb/breadcrumb-item.directive.d.ts +0 -28
  186. package/breadcrumb/breadcrumb-link.directive.d.ts +0 -18
  187. package/breadcrumb/esm2020/breadcrumb-item.directive.mjs +0 -51
  188. package/breadcrumb/esm2020/breadcrumb-link.directive.mjs +0 -35
  189. package/esm2020/breadcrumb/breadcrumb-item.directive.mjs +0 -51
  190. package/esm2020/breadcrumb/breadcrumb-link.directive.mjs +0 -35
@@ -1,8 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, ViewChild, Input, NgModule } from '@angular/core';
2
+ import { isDevMode, Optional, Self, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, ContentChildren, ViewChild, Input, NgModule } from '@angular/core';
3
3
  import * as i2 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { __decorate, __metadata } from 'tslib';
6
+ import { RouterLinkWithHref, RouterLink } from '@angular/router';
6
7
  import { applyCssClass } from '@fundamental-ngx/core/utils';
7
8
  import { Subject, startWith, map, tap, takeUntil } from 'rxjs';
8
9
  import * as i3 from '@angular/cdk/portal';
@@ -12,12 +13,16 @@ import * as i1 from '@angular/cdk/observers';
12
13
 
13
14
  class LinkComponent {
14
15
  /** @hidden */
15
- constructor(_elementRef, contentObserver, changeDetectorRef) {
16
+ constructor(_elementRef, contentObserver, changeDetectorRef, routerLink) {
16
17
  this._elementRef = _elementRef;
17
18
  this.contentObserver = contentObserver;
18
19
  this.changeDetectorRef = changeDetectorRef;
20
+ this.routerLink = routerLink;
19
21
  /** @hidden */
20
22
  this._destroyed$ = new Subject();
23
+ if (isDevMode() && this.elementRef().nativeElement.hasAttribute('fd-breadcrumb-link')) {
24
+ console.warn('The fd-breadcrumb-link attribute is deprecated. Please use fd-link instead.');
25
+ }
21
26
  }
22
27
  /** @hidden */
23
28
  ngOnChanges() {
@@ -61,6 +66,18 @@ class LinkComponent {
61
66
  this.contentSpan.nativeElement.childNodes[this.contentSpan.nativeElement.childNodes.length - 1]
62
67
  ? icons[icons.length - 1].elementRef().nativeElement
63
68
  : null;
69
+ if (prefix) {
70
+ this._prefixIconName = this.iconComponents.first.glyph;
71
+ }
72
+ else {
73
+ this._prefixIconName = '';
74
+ }
75
+ if (postfix) {
76
+ this._postfixIconName = this.iconComponents.last.glyph;
77
+ }
78
+ else {
79
+ this._postfixIconName = '';
80
+ }
64
81
  return { prefix, postfix };
65
82
  }), tap(() => {
66
83
  var _a, _b;
@@ -84,8 +101,17 @@ class LinkComponent {
84
101
  this._destroyed$.complete();
85
102
  }
86
103
  }
87
- LinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: LinkComponent, deps: [{ token: i0.ElementRef }, { token: i1.ContentObserver }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
88
- LinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: LinkComponent, selector: "[fdLink], [fd-link]", inputs: { class: "class", emphasized: "emphasized", disabled: "disabled", inverted: "inverted", subtle: "subtle", undecorated: "undecorated" }, queries: [{ propertyName: "iconComponents", predicate: IconComponent }], viewQueries: [{ propertyName: "contentSpan", first: true, predicate: ["content"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<span *ngIf=\"_prefixPortal\">\n <ng-container *cdkPortalOutlet=\"_prefixPortal\"></ng-container>\n</span>\n<span class=\"fd-link__content\" #content>\n <ng-content></ng-content>\n</span>\n<span *ngIf=\"_postfixPortal\">\n <ng-container *cdkPortalOutlet=\"_postfixPortal\"></ng-container>\n</span>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.128\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-link\n*/.fd-link{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;color:var(--sapLinkColor);text-shadow:var(--sapContent_TextShadow);display:inline-block;display:var(--fdLink_Display, inline-block);align-items:center;transition:all .125s ease-in;line-height:inherit;-webkit-text-decoration:none;-webkit-text-decoration:var(--fdLink_Text_Decoration, none);text-decoration:none;text-decoration:var(--fdLink_Text_Decoration, none)}.fd-link:before,.fd-link:after{box-sizing:inherit;font-size:inherit}.fd-link__content{-webkit-text-decoration:none;-webkit-text-decoration:var(--fdLink_Text_Content_Decoration, none);text-decoration:none;text-decoration:var(--fdLink_Text_Content_Decoration, none)}.fd-link:hover,.fd-link.is-hover{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Hover, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Hover, none)}.fd-link:focus,.fd-link.is-focus{z-index:5;--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Focus, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Focus, none)}.fd-link:active,.fd-link.is-active{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Active, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Active, none)}.fd-link[aria-disabled=true],.fd-link.is-disabled,.fd-link:disabled{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Disabled, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Disabled, none)}.fd-link--subtle{--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Subtle, none);--fdLink_Text_Content_Decoration_Hover: var(--fdLink_Text_Content_Decoration_Subtle_Hover, none);--fdLink_Text_Content_Decoration_Active: var(--fdLink_Text_Content_Decoration_Subtle_Active, none);--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Subtle, none);--fdLink_Text_Decoration_Hover: var(--fdLink_Text_Decoration_Subtle_Hover, none);--fdLink_Text_Decoration_Active: var(--fdLink_Text_Decoration_Subtle_Active, none)}.fd-link--undecorated{--fdLink_Text_Decoration: none;--fdLink_Text_Decoration_Subtle: none;--fdLink_Text_Decoration_Subtle_Hover: none;--fdLink_Text_Decoration_Subtle_Active: none;--fdLink_Text_Decoration_Hover: none;--fdLink_Text_Decoration_Focus: none;--fdLink_Text_Decoration_Active: none;--fdLink_Text_Decoration_Visited: none;--fdLink_Text_Decoration_Disabled: none;--fdLink_Text_Content_Decoration: none;--fdLink_Text_Content_Decoration_Subtle: none;--fdLink_Text_Content_Decoration_Subtle_Hover: none;--fdLink_Text_Content_Decoration_Subtle_Active: none;--fdLink_Text_Content_Decoration_Hover: none;--fdLink_Text_Content_Decoration_Focus: none;--fdLink_Text_Content_Decoration_Active: none;--fdLink_Text_Content_Decoration_Visited: none;--fdLink_Text_Content_Decoration_Disabled: none}.fd-link--emphasized{font-weight:700}.fd-link:visited{color:var(--sapLink_Visited_Color)}.fd-link:hover,.fd-link.is-hover{color:var(--sapLink_Hover_Color)}.fd-link:focus,.fd-link.is-focus{z-index:5;box-shadow:none;color:var(--fdLink_Text_Focus_Color);background-color:var(--fdLink_Focus_Background);border-radius:var(--fdLink_Focus_Border_Radius);text-shadow:var(--fdLink_Focus_Text_Shadow);outline-offset:var(--fdLink_Hover_Outline_Offset);outline-width:var(--fdLink_Hover_Outline_Width);outline-color:var(--fdLink_Hover_Outline_Color);outline-style:var(--fdLink_Hover_Outline_Style)}.fd-link:active,.fd-link.is-active{color:var(--sapLink_Active_Color)}.fd-link:active:focus,.fd-link:active.is-focus,.fd-link.is-active:focus,.fd-link.is-active.is-focus{z-index:5;background-color:transparent}.fd-link--inverted{color:var(--sapLink_InvertedColor);text-shadow:none}.fd-link--inverted:hover,.fd-link--inverted.is-hover{color:var(--sapLink_InvertedColor)}.fd-link--inverted:focus,.fd-link--inverted.is-focus{z-index:5;outline-color:var(--sapContent_ContrastFocusColor)}.fd-link--subtle{color:var(--sapLink_SubtleColor)}.fd-link[aria-disabled=true],.fd-link.is-disabled,.fd-link:disabled{opacity:var(--sapContent_DisabledOpacity);color:var(--sapLinkColor);pointer-events:none}.fd-link>img{vertical-align:bottom}.fd-link [class*=sap-icon],.fd-link[class*=sap-icon]{color:var(--sapLinkColor)}.fd-link [class*=sap-icon]:first-child,.fd-link[class*=sap-icon]:first-child{margin-right:0;margin-right:var(--fdLink_Icon_Spacing, 0)}[dir=rtl] .fd-link [class*=sap-icon]:first-child,.fd-link [class*=sap-icon]:first-child[dir=rtl],[dir=rtl] .fd-link[class*=sap-icon]:first-child,.fd-link[class*=sap-icon]:first-child[dir=rtl]{margin-right:0;margin-left:0;margin-left:var(--fdLink_Icon_Spacing, 0)}.fd-link [class*=sap-icon]:last-child,.fd-link[class*=sap-icon]:last-child{margin-left:0;margin-left:var(--fdLink_Icon_Spacing, 0)}[dir=rtl] .fd-link [class*=sap-icon]:last-child,.fd-link [class*=sap-icon]:last-child[dir=rtl],[dir=rtl] .fd-link[class*=sap-icon]:last-child,.fd-link[class*=sap-icon]:last-child[dir=rtl]{margin-right:0;margin-right:var(--fdLink_Icon_Spacing, 0);margin-left:0}.fd-link:hover [class*=sap-icon],.fd-link:hover[class*=sap-icon],.fd-link.is-hover [class*=sap-icon],.fd-link.is-hover[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Hover);text-decoration:var(--fdLink_Text_Decoration_Hover);color:var(--sapLink_Hover_Color)}.fd-link:focus,.fd-link.is-focus{z-index:5}.fd-link:focus [class*=sap-icon],.fd-link:focus[class*=sap-icon],.fd-link.is-focus [class*=sap-icon],.fd-link.is-focus[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Focus);text-decoration:var(--fdLink_Text_Decoration_Focus);color:var(--fdLink_Text_Focus_Color)}.fd-link:active [class*=sap-icon],.fd-link:active[class*=sap-icon],.fd-link.is-active [class*=sap-icon],.fd-link.is-active[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Active);text-decoration:var(--fdLink_Text_Decoration_Active);color:var(--sapLink_Active_Color)}.fd-link:visited [class*=sap-icon],.fd-link:visited[class*=sap-icon]{color:var(--sapLink_Visited_Color)}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
104
+ LinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: LinkComponent, deps: [{ token: i0.ElementRef }, { token: i1.ContentObserver }, { token: i0.ChangeDetectorRef }, { token: 'linkRouterTarget' }], target: i0.ɵɵFactoryTarget.Component });
105
+ LinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: LinkComponent, selector: "[fdLink], [fd-link], [fd-breadcrumb-link]", inputs: { class: "class", emphasized: "emphasized", disabled: "disabled", inverted: "inverted", subtle: "subtle", undecorated: "undecorated" }, providers: [
106
+ {
107
+ provide: 'linkRouterTarget',
108
+ useFactory: (withHref, routerLink) => withHref || routerLink,
109
+ deps: [
110
+ [new Optional(), new Self(), RouterLinkWithHref],
111
+ [new Optional(), new Self(), RouterLink]
112
+ ]
113
+ }
114
+ ], queries: [{ propertyName: "iconComponents", predicate: IconComponent }], viewQueries: [{ propertyName: "contentSpan", first: true, predicate: ["content"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<span *ngIf=\"_prefixPortal\">\n <ng-container *cdkPortalOutlet=\"_prefixPortal\"></ng-container>\n</span>\n<span class=\"fd-link__content\" #content>\n <ng-content></ng-content>\n</span>\n<span *ngIf=\"_postfixPortal\">\n <ng-container *cdkPortalOutlet=\"_postfixPortal\"></ng-container>\n</span>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.128\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-link\n*/.fd-link{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;color:var(--sapLinkColor);text-shadow:var(--sapContent_TextShadow);display:inline-block;display:var(--fdLink_Display, inline-block);align-items:center;transition:all .125s ease-in;line-height:inherit;-webkit-text-decoration:none;-webkit-text-decoration:var(--fdLink_Text_Decoration, none);text-decoration:none;text-decoration:var(--fdLink_Text_Decoration, none)}.fd-link:before,.fd-link:after{box-sizing:inherit;font-size:inherit}.fd-link__content{-webkit-text-decoration:none;-webkit-text-decoration:var(--fdLink_Text_Content_Decoration, none);text-decoration:none;text-decoration:var(--fdLink_Text_Content_Decoration, none)}.fd-link:hover,.fd-link.is-hover{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Hover, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Hover, none)}.fd-link:focus,.fd-link.is-focus{z-index:5;--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Focus, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Focus, none)}.fd-link:active,.fd-link.is-active{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Active, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Active, none)}.fd-link[aria-disabled=true],.fd-link.is-disabled,.fd-link:disabled{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Disabled, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Disabled, none)}.fd-link--subtle{--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Subtle, none);--fdLink_Text_Content_Decoration_Hover: var(--fdLink_Text_Content_Decoration_Subtle_Hover, none);--fdLink_Text_Content_Decoration_Active: var(--fdLink_Text_Content_Decoration_Subtle_Active, none);--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Subtle, none);--fdLink_Text_Decoration_Hover: var(--fdLink_Text_Decoration_Subtle_Hover, none);--fdLink_Text_Decoration_Active: var(--fdLink_Text_Decoration_Subtle_Active, none)}.fd-link--undecorated{--fdLink_Text_Decoration: none;--fdLink_Text_Decoration_Subtle: none;--fdLink_Text_Decoration_Subtle_Hover: none;--fdLink_Text_Decoration_Subtle_Active: none;--fdLink_Text_Decoration_Hover: none;--fdLink_Text_Decoration_Focus: none;--fdLink_Text_Decoration_Active: none;--fdLink_Text_Decoration_Visited: none;--fdLink_Text_Decoration_Disabled: none;--fdLink_Text_Content_Decoration: none;--fdLink_Text_Content_Decoration_Subtle: none;--fdLink_Text_Content_Decoration_Subtle_Hover: none;--fdLink_Text_Content_Decoration_Subtle_Active: none;--fdLink_Text_Content_Decoration_Hover: none;--fdLink_Text_Content_Decoration_Focus: none;--fdLink_Text_Content_Decoration_Active: none;--fdLink_Text_Content_Decoration_Visited: none;--fdLink_Text_Content_Decoration_Disabled: none}.fd-link--emphasized{font-weight:700}.fd-link:visited{color:var(--sapLink_Visited_Color)}.fd-link:hover,.fd-link.is-hover{color:var(--sapLink_Hover_Color)}.fd-link:focus,.fd-link.is-focus{z-index:5;box-shadow:none;color:var(--fdLink_Text_Focus_Color);background-color:var(--fdLink_Focus_Background);border-radius:var(--fdLink_Focus_Border_Radius);text-shadow:var(--fdLink_Focus_Text_Shadow);outline-offset:var(--fdLink_Hover_Outline_Offset);outline-width:var(--fdLink_Hover_Outline_Width);outline-color:var(--fdLink_Hover_Outline_Color);outline-style:var(--fdLink_Hover_Outline_Style)}.fd-link:active,.fd-link.is-active{color:var(--sapLink_Active_Color)}.fd-link:active:focus,.fd-link:active.is-focus,.fd-link.is-active:focus,.fd-link.is-active.is-focus{z-index:5;background-color:transparent}.fd-link--inverted{color:var(--sapLink_InvertedColor);text-shadow:none}.fd-link--inverted:hover,.fd-link--inverted.is-hover{color:var(--sapLink_InvertedColor)}.fd-link--inverted:focus,.fd-link--inverted.is-focus{z-index:5;outline-color:var(--sapContent_ContrastFocusColor)}.fd-link--subtle{color:var(--sapLink_SubtleColor)}.fd-link[aria-disabled=true],.fd-link.is-disabled,.fd-link:disabled{opacity:var(--sapContent_DisabledOpacity);color:var(--sapLinkColor);pointer-events:none}.fd-link>img{vertical-align:bottom}.fd-link [class*=sap-icon],.fd-link[class*=sap-icon]{color:var(--sapLinkColor)}.fd-link [class*=sap-icon]:first-child,.fd-link[class*=sap-icon]:first-child{margin-right:0;margin-right:var(--fdLink_Icon_Spacing, 0)}[dir=rtl] .fd-link [class*=sap-icon]:first-child,.fd-link [class*=sap-icon]:first-child[dir=rtl],[dir=rtl] .fd-link[class*=sap-icon]:first-child,.fd-link[class*=sap-icon]:first-child[dir=rtl]{margin-right:0;margin-left:0;margin-left:var(--fdLink_Icon_Spacing, 0)}.fd-link [class*=sap-icon]:last-child,.fd-link[class*=sap-icon]:last-child{margin-left:0;margin-left:var(--fdLink_Icon_Spacing, 0)}[dir=rtl] .fd-link [class*=sap-icon]:last-child,.fd-link [class*=sap-icon]:last-child[dir=rtl],[dir=rtl] .fd-link[class*=sap-icon]:last-child,.fd-link[class*=sap-icon]:last-child[dir=rtl]{margin-right:0;margin-right:var(--fdLink_Icon_Spacing, 0);margin-left:0}.fd-link:hover [class*=sap-icon],.fd-link:hover[class*=sap-icon],.fd-link.is-hover [class*=sap-icon],.fd-link.is-hover[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Hover);text-decoration:var(--fdLink_Text_Decoration_Hover);color:var(--sapLink_Hover_Color)}.fd-link:focus,.fd-link.is-focus{z-index:5}.fd-link:focus [class*=sap-icon],.fd-link:focus[class*=sap-icon],.fd-link.is-focus [class*=sap-icon],.fd-link.is-focus[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Focus);text-decoration:var(--fdLink_Text_Decoration_Focus);color:var(--fdLink_Text_Focus_Color)}.fd-link:active [class*=sap-icon],.fd-link:active[class*=sap-icon],.fd-link.is-active [class*=sap-icon],.fd-link.is-active[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Active);text-decoration:var(--fdLink_Text_Decoration_Active);color:var(--sapLink_Active_Color)}.fd-link:visited [class*=sap-icon],.fd-link:visited[class*=sap-icon]{color:var(--sapLink_Visited_Color)}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
89
115
  __decorate([
90
116
  applyCssClass,
91
117
  __metadata("design:type", Function),
@@ -94,8 +120,22 @@ __decorate([
94
120
  ], LinkComponent.prototype, "buildComponentCssClass", null);
95
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: LinkComponent, decorators: [{
96
122
  type: Component,
97
- args: [{ selector: '[fdLink], [fd-link]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span *ngIf=\"_prefixPortal\">\n <ng-container *cdkPortalOutlet=\"_prefixPortal\"></ng-container>\n</span>\n<span class=\"fd-link__content\" #content>\n <ng-content></ng-content>\n</span>\n<span *ngIf=\"_postfixPortal\">\n <ng-container *cdkPortalOutlet=\"_postfixPortal\"></ng-container>\n</span>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.128\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-link\n*/.fd-link{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;color:var(--sapLinkColor);text-shadow:var(--sapContent_TextShadow);display:inline-block;display:var(--fdLink_Display, inline-block);align-items:center;transition:all .125s ease-in;line-height:inherit;-webkit-text-decoration:none;-webkit-text-decoration:var(--fdLink_Text_Decoration, none);text-decoration:none;text-decoration:var(--fdLink_Text_Decoration, none)}.fd-link:before,.fd-link:after{box-sizing:inherit;font-size:inherit}.fd-link__content{-webkit-text-decoration:none;-webkit-text-decoration:var(--fdLink_Text_Content_Decoration, none);text-decoration:none;text-decoration:var(--fdLink_Text_Content_Decoration, none)}.fd-link:hover,.fd-link.is-hover{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Hover, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Hover, none)}.fd-link:focus,.fd-link.is-focus{z-index:5;--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Focus, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Focus, none)}.fd-link:active,.fd-link.is-active{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Active, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Active, none)}.fd-link[aria-disabled=true],.fd-link.is-disabled,.fd-link:disabled{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Disabled, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Disabled, none)}.fd-link--subtle{--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Subtle, none);--fdLink_Text_Content_Decoration_Hover: var(--fdLink_Text_Content_Decoration_Subtle_Hover, none);--fdLink_Text_Content_Decoration_Active: var(--fdLink_Text_Content_Decoration_Subtle_Active, none);--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Subtle, none);--fdLink_Text_Decoration_Hover: var(--fdLink_Text_Decoration_Subtle_Hover, none);--fdLink_Text_Decoration_Active: var(--fdLink_Text_Decoration_Subtle_Active, none)}.fd-link--undecorated{--fdLink_Text_Decoration: none;--fdLink_Text_Decoration_Subtle: none;--fdLink_Text_Decoration_Subtle_Hover: none;--fdLink_Text_Decoration_Subtle_Active: none;--fdLink_Text_Decoration_Hover: none;--fdLink_Text_Decoration_Focus: none;--fdLink_Text_Decoration_Active: none;--fdLink_Text_Decoration_Visited: none;--fdLink_Text_Decoration_Disabled: none;--fdLink_Text_Content_Decoration: none;--fdLink_Text_Content_Decoration_Subtle: none;--fdLink_Text_Content_Decoration_Subtle_Hover: none;--fdLink_Text_Content_Decoration_Subtle_Active: none;--fdLink_Text_Content_Decoration_Hover: none;--fdLink_Text_Content_Decoration_Focus: none;--fdLink_Text_Content_Decoration_Active: none;--fdLink_Text_Content_Decoration_Visited: none;--fdLink_Text_Content_Decoration_Disabled: none}.fd-link--emphasized{font-weight:700}.fd-link:visited{color:var(--sapLink_Visited_Color)}.fd-link:hover,.fd-link.is-hover{color:var(--sapLink_Hover_Color)}.fd-link:focus,.fd-link.is-focus{z-index:5;box-shadow:none;color:var(--fdLink_Text_Focus_Color);background-color:var(--fdLink_Focus_Background);border-radius:var(--fdLink_Focus_Border_Radius);text-shadow:var(--fdLink_Focus_Text_Shadow);outline-offset:var(--fdLink_Hover_Outline_Offset);outline-width:var(--fdLink_Hover_Outline_Width);outline-color:var(--fdLink_Hover_Outline_Color);outline-style:var(--fdLink_Hover_Outline_Style)}.fd-link:active,.fd-link.is-active{color:var(--sapLink_Active_Color)}.fd-link:active:focus,.fd-link:active.is-focus,.fd-link.is-active:focus,.fd-link.is-active.is-focus{z-index:5;background-color:transparent}.fd-link--inverted{color:var(--sapLink_InvertedColor);text-shadow:none}.fd-link--inverted:hover,.fd-link--inverted.is-hover{color:var(--sapLink_InvertedColor)}.fd-link--inverted:focus,.fd-link--inverted.is-focus{z-index:5;outline-color:var(--sapContent_ContrastFocusColor)}.fd-link--subtle{color:var(--sapLink_SubtleColor)}.fd-link[aria-disabled=true],.fd-link.is-disabled,.fd-link:disabled{opacity:var(--sapContent_DisabledOpacity);color:var(--sapLinkColor);pointer-events:none}.fd-link>img{vertical-align:bottom}.fd-link [class*=sap-icon],.fd-link[class*=sap-icon]{color:var(--sapLinkColor)}.fd-link [class*=sap-icon]:first-child,.fd-link[class*=sap-icon]:first-child{margin-right:0;margin-right:var(--fdLink_Icon_Spacing, 0)}[dir=rtl] .fd-link [class*=sap-icon]:first-child,.fd-link [class*=sap-icon]:first-child[dir=rtl],[dir=rtl] .fd-link[class*=sap-icon]:first-child,.fd-link[class*=sap-icon]:first-child[dir=rtl]{margin-right:0;margin-left:0;margin-left:var(--fdLink_Icon_Spacing, 0)}.fd-link [class*=sap-icon]:last-child,.fd-link[class*=sap-icon]:last-child{margin-left:0;margin-left:var(--fdLink_Icon_Spacing, 0)}[dir=rtl] .fd-link [class*=sap-icon]:last-child,.fd-link [class*=sap-icon]:last-child[dir=rtl],[dir=rtl] .fd-link[class*=sap-icon]:last-child,.fd-link[class*=sap-icon]:last-child[dir=rtl]{margin-right:0;margin-right:var(--fdLink_Icon_Spacing, 0);margin-left:0}.fd-link:hover [class*=sap-icon],.fd-link:hover[class*=sap-icon],.fd-link.is-hover [class*=sap-icon],.fd-link.is-hover[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Hover);text-decoration:var(--fdLink_Text_Decoration_Hover);color:var(--sapLink_Hover_Color)}.fd-link:focus,.fd-link.is-focus{z-index:5}.fd-link:focus [class*=sap-icon],.fd-link:focus[class*=sap-icon],.fd-link.is-focus [class*=sap-icon],.fd-link.is-focus[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Focus);text-decoration:var(--fdLink_Text_Decoration_Focus);color:var(--fdLink_Text_Focus_Color)}.fd-link:active [class*=sap-icon],.fd-link:active[class*=sap-icon],.fd-link.is-active [class*=sap-icon],.fd-link.is-active[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Active);text-decoration:var(--fdLink_Text_Decoration_Active);color:var(--sapLink_Active_Color)}.fd-link:visited [class*=sap-icon],.fd-link:visited[class*=sap-icon]{color:var(--sapLink_Visited_Color)}\n"] }]
98
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ContentObserver }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { iconComponents: [{
123
+ args: [{ selector: '[fdLink], [fd-link], [fd-breadcrumb-link]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
124
+ {
125
+ provide: 'linkRouterTarget',
126
+ useFactory: (withHref, routerLink) => withHref || routerLink,
127
+ deps: [
128
+ [new Optional(), new Self(), RouterLinkWithHref],
129
+ [new Optional(), new Self(), RouterLink]
130
+ ]
131
+ }
132
+ ], template: "<span *ngIf=\"_prefixPortal\">\n <ng-container *cdkPortalOutlet=\"_prefixPortal\"></ng-container>\n</span>\n<span class=\"fd-link__content\" #content>\n <ng-content></ng-content>\n</span>\n<span *ngIf=\"_postfixPortal\">\n <ng-container *cdkPortalOutlet=\"_postfixPortal\"></ng-container>\n</span>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.128\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-link\n*/.fd-link{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;color:var(--sapLinkColor);text-shadow:var(--sapContent_TextShadow);display:inline-block;display:var(--fdLink_Display, inline-block);align-items:center;transition:all .125s ease-in;line-height:inherit;-webkit-text-decoration:none;-webkit-text-decoration:var(--fdLink_Text_Decoration, none);text-decoration:none;text-decoration:var(--fdLink_Text_Decoration, none)}.fd-link:before,.fd-link:after{box-sizing:inherit;font-size:inherit}.fd-link__content{-webkit-text-decoration:none;-webkit-text-decoration:var(--fdLink_Text_Content_Decoration, none);text-decoration:none;text-decoration:var(--fdLink_Text_Content_Decoration, none)}.fd-link:hover,.fd-link.is-hover{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Hover, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Hover, none)}.fd-link:focus,.fd-link.is-focus{z-index:5;--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Focus, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Focus, none)}.fd-link:active,.fd-link.is-active{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Active, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Active, none)}.fd-link[aria-disabled=true],.fd-link.is-disabled,.fd-link:disabled{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Disabled, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Disabled, none)}.fd-link--subtle{--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Subtle, none);--fdLink_Text_Content_Decoration_Hover: var(--fdLink_Text_Content_Decoration_Subtle_Hover, none);--fdLink_Text_Content_Decoration_Active: var(--fdLink_Text_Content_Decoration_Subtle_Active, none);--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Subtle, none);--fdLink_Text_Decoration_Hover: var(--fdLink_Text_Decoration_Subtle_Hover, none);--fdLink_Text_Decoration_Active: var(--fdLink_Text_Decoration_Subtle_Active, none)}.fd-link--undecorated{--fdLink_Text_Decoration: none;--fdLink_Text_Decoration_Subtle: none;--fdLink_Text_Decoration_Subtle_Hover: none;--fdLink_Text_Decoration_Subtle_Active: none;--fdLink_Text_Decoration_Hover: none;--fdLink_Text_Decoration_Focus: none;--fdLink_Text_Decoration_Active: none;--fdLink_Text_Decoration_Visited: none;--fdLink_Text_Decoration_Disabled: none;--fdLink_Text_Content_Decoration: none;--fdLink_Text_Content_Decoration_Subtle: none;--fdLink_Text_Content_Decoration_Subtle_Hover: none;--fdLink_Text_Content_Decoration_Subtle_Active: none;--fdLink_Text_Content_Decoration_Hover: none;--fdLink_Text_Content_Decoration_Focus: none;--fdLink_Text_Content_Decoration_Active: none;--fdLink_Text_Content_Decoration_Visited: none;--fdLink_Text_Content_Decoration_Disabled: none}.fd-link--emphasized{font-weight:700}.fd-link:visited{color:var(--sapLink_Visited_Color)}.fd-link:hover,.fd-link.is-hover{color:var(--sapLink_Hover_Color)}.fd-link:focus,.fd-link.is-focus{z-index:5;box-shadow:none;color:var(--fdLink_Text_Focus_Color);background-color:var(--fdLink_Focus_Background);border-radius:var(--fdLink_Focus_Border_Radius);text-shadow:var(--fdLink_Focus_Text_Shadow);outline-offset:var(--fdLink_Hover_Outline_Offset);outline-width:var(--fdLink_Hover_Outline_Width);outline-color:var(--fdLink_Hover_Outline_Color);outline-style:var(--fdLink_Hover_Outline_Style)}.fd-link:active,.fd-link.is-active{color:var(--sapLink_Active_Color)}.fd-link:active:focus,.fd-link:active.is-focus,.fd-link.is-active:focus,.fd-link.is-active.is-focus{z-index:5;background-color:transparent}.fd-link--inverted{color:var(--sapLink_InvertedColor);text-shadow:none}.fd-link--inverted:hover,.fd-link--inverted.is-hover{color:var(--sapLink_InvertedColor)}.fd-link--inverted:focus,.fd-link--inverted.is-focus{z-index:5;outline-color:var(--sapContent_ContrastFocusColor)}.fd-link--subtle{color:var(--sapLink_SubtleColor)}.fd-link[aria-disabled=true],.fd-link.is-disabled,.fd-link:disabled{opacity:var(--sapContent_DisabledOpacity);color:var(--sapLinkColor);pointer-events:none}.fd-link>img{vertical-align:bottom}.fd-link [class*=sap-icon],.fd-link[class*=sap-icon]{color:var(--sapLinkColor)}.fd-link [class*=sap-icon]:first-child,.fd-link[class*=sap-icon]:first-child{margin-right:0;margin-right:var(--fdLink_Icon_Spacing, 0)}[dir=rtl] .fd-link [class*=sap-icon]:first-child,.fd-link [class*=sap-icon]:first-child[dir=rtl],[dir=rtl] .fd-link[class*=sap-icon]:first-child,.fd-link[class*=sap-icon]:first-child[dir=rtl]{margin-right:0;margin-left:0;margin-left:var(--fdLink_Icon_Spacing, 0)}.fd-link [class*=sap-icon]:last-child,.fd-link[class*=sap-icon]:last-child{margin-left:0;margin-left:var(--fdLink_Icon_Spacing, 0)}[dir=rtl] .fd-link [class*=sap-icon]:last-child,.fd-link [class*=sap-icon]:last-child[dir=rtl],[dir=rtl] .fd-link[class*=sap-icon]:last-child,.fd-link[class*=sap-icon]:last-child[dir=rtl]{margin-right:0;margin-right:var(--fdLink_Icon_Spacing, 0);margin-left:0}.fd-link:hover [class*=sap-icon],.fd-link:hover[class*=sap-icon],.fd-link.is-hover [class*=sap-icon],.fd-link.is-hover[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Hover);text-decoration:var(--fdLink_Text_Decoration_Hover);color:var(--sapLink_Hover_Color)}.fd-link:focus,.fd-link.is-focus{z-index:5}.fd-link:focus [class*=sap-icon],.fd-link:focus[class*=sap-icon],.fd-link.is-focus [class*=sap-icon],.fd-link.is-focus[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Focus);text-decoration:var(--fdLink_Text_Decoration_Focus);color:var(--fdLink_Text_Focus_Color)}.fd-link:active [class*=sap-icon],.fd-link:active[class*=sap-icon],.fd-link.is-active [class*=sap-icon],.fd-link.is-active[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Active);text-decoration:var(--fdLink_Text_Decoration_Active);color:var(--sapLink_Active_Color)}.fd-link:visited [class*=sap-icon],.fd-link:visited[class*=sap-icon]{color:var(--sapLink_Visited_Color)}\n"] }]
133
+ }], ctorParameters: function () {
134
+ return [{ type: i0.ElementRef }, { type: i1.ContentObserver }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
135
+ type: Inject,
136
+ args: ['linkRouterTarget']
137
+ }] }];
138
+ }, propDecorators: { iconComponents: [{
99
139
  type: ContentChildren,
100
140
  args: [IconComponent]
101
141
  }], contentSpan: [{
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-link.mjs","sources":["../../../../../libs/core/src/lib/link/link.component.ts","../../../../../libs/core/src/lib/link/link.component.html","../../../../../libs/core/src/lib/link/link.module.ts","../../../../../libs/core/src/lib/link/constants.ts","../../../../../libs/core/src/lib/link/fundamental-ngx-core-link.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { ContentObserver } from '@angular/cdk/observers';\nimport { map, startWith, Subject, takeUntil, tap } from 'rxjs';\nimport { DomPortal, Portal } from '@angular/cdk/portal';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fdLink], [fd-link]',\n templateUrl: './link.component.html',\n styleUrls: ['./link.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LinkComponent implements OnChanges, OnInit, CssClassBuilder, AfterViewInit, OnDestroy {\n @ContentChildren(IconComponent)\n iconComponents: QueryList<IconComponent>;\n\n @ViewChild('content')\n contentSpan: ElementRef<HTMLSpanElement>;\n\n /** user's custom classes */\n @Input()\n class: string;\n\n /** Whether user wants to use emphasized mode */\n @Input()\n emphasized: boolean;\n\n /** Whether user wants to put disabled mode */\n @Input()\n disabled: boolean;\n\n /** Whether user wants to use inverted mode */\n @Input()\n inverted: boolean;\n\n /** Whether user wants to use subtle mode */\n @Input()\n subtle: boolean;\n\n /** Whether user wants to have a link without underline decoration */\n @Input()\n undecorated: boolean;\n\n /** @hidden */\n _prefixPortal: Portal<any> | null;\n\n /** @hidden */\n _postfixPortal: Portal<any> | null;\n\n /** @hidden */\n private _destroyed$ = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef<Element>,\n private contentObserver: ContentObserver,\n private changeDetectorRef: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n 'fd-link',\n this.emphasized ? 'fd-link--emphasized' : '',\n this.disabled ? 'is-disabled' : '',\n this.inverted ? `fd-link--inverted` : '',\n this.subtle ? 'fd-link--subtle' : '',\n this.undecorated ? 'fd-link--undecorated' : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this.iconComponents.changes\n .pipe(\n startWith(this.iconComponents),\n map((c) => c.toArray()),\n map((icons) =>\n // We are only interested in the first descendant of the content element\n icons.filter(\n (icon) => icon.elementRef().nativeElement.parentElement === this.contentSpan.nativeElement\n )\n ),\n map((icons) => {\n if (icons.length === 0) {\n return {};\n }\n const prefix =\n icons[0].elementRef().nativeElement === this.contentSpan.nativeElement.childNodes[0]\n ? icons[0].elementRef().nativeElement\n : null;\n const postfix =\n icons[icons.length - 1].elementRef().nativeElement ===\n this.contentSpan.nativeElement.childNodes[this.contentSpan.nativeElement.childNodes.length - 1]\n ? icons[icons.length - 1].elementRef().nativeElement\n : null;\n return { prefix, postfix };\n }),\n tap(() => {\n if (this._prefixPortal?.isAttached) {\n this._prefixPortal.detach();\n }\n if (this._postfixPortal?.isAttached) {\n this._postfixPortal.detach();\n }\n }),\n tap(({ prefix, postfix }) => {\n this._prefixPortal = prefix ? new DomPortal(prefix) : null;\n this._postfixPortal = postfix ? new DomPortal(postfix) : null;\n }),\n tap(() => {\n this.changeDetectorRef.detectChanges();\n }),\n takeUntil(this._destroyed$)\n )\n .subscribe();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._destroyed$.next();\n this._destroyed$.complete();\n }\n}\n","<span *ngIf=\"_prefixPortal\">\n <ng-container *cdkPortalOutlet=\"_prefixPortal\"></ng-container>\n</span>\n<span class=\"fd-link__content\" #content>\n <ng-content></ng-content>\n</span>\n<span *ngIf=\"_postfixPortal\">\n <ng-container *cdkPortalOutlet=\"_postfixPortal\"></ng-container>\n</span>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { LinkComponent } from './link.component';\nimport { PortalModule } from '@angular/cdk/portal';\n\n@NgModule({\n declarations: [LinkComponent],\n imports: [CommonModule, PortalModule],\n exports: [LinkComponent]\n})\nexport class LinkModule {}\n","export const LINK_CLASS_NAME = {\n linkContent: 'fd-link__content'\n} as const;\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-link.mjs","sources":["../../../../../libs/core/src/lib/link/link.component.ts","../../../../../libs/core/src/lib/link/link.component.html","../../../../../libs/core/src/lib/link/link.module.ts","../../../../../libs/core/src/lib/link/constants.ts","../../../../../libs/core/src/lib/link/fundamental-ngx-core-link.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n Inject,\n Input,\n isDevMode,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n Self,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { RouterLink, RouterLinkWithHref } from '@angular/router';\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { ContentObserver } from '@angular/cdk/observers';\nimport { map, startWith, Subject, takeUntil, tap } from 'rxjs';\nimport { DomPortal, Portal } from '@angular/cdk/portal';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fdLink], [fd-link], [fd-breadcrumb-link]',\n templateUrl: './link.component.html',\n styleUrls: ['./link.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: 'linkRouterTarget',\n useFactory: (\n withHref?: RouterLinkWithHref,\n routerLink?: RouterLink\n ): RouterLinkWithHref | RouterLink | undefined => withHref || routerLink,\n deps: [\n [new Optional(), new Self(), RouterLinkWithHref],\n [new Optional(), new Self(), RouterLink]\n ]\n }\n ]\n})\nexport class LinkComponent implements OnChanges, OnInit, CssClassBuilder, AfterViewInit, OnDestroy {\n @ContentChildren(IconComponent)\n iconComponents: QueryList<IconComponent>;\n\n @ViewChild('content')\n contentSpan: ElementRef<HTMLSpanElement>;\n\n /** user's custom classes */\n @Input()\n class: string;\n\n /** Whether user wants to use emphasized mode */\n @Input()\n emphasized: boolean;\n\n /** Whether user wants to put disabled mode */\n @Input()\n disabled: boolean;\n\n /** Whether user wants to use inverted mode */\n @Input()\n inverted: boolean;\n\n /** Whether user wants to use subtle mode */\n @Input()\n subtle: boolean;\n\n /** Whether user wants to have a link without underline decoration */\n @Input()\n undecorated: boolean;\n\n /** @hidden */\n _prefixPortal: Portal<any> | null;\n\n /** @hidden */\n _postfixPortal: Portal<any> | null;\n\n /** @hidden */\n _prefixIconName: string;\n /** @hidden */\n _postfixIconName: string;\n\n /** @hidden */\n private _destroyed$ = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef<Element>,\n private contentObserver: ContentObserver,\n private changeDetectorRef: ChangeDetectorRef,\n @Inject('linkRouterTarget') readonly routerLink: RouterLinkWithHref | RouterLink\n ) {\n if (isDevMode() && this.elementRef().nativeElement.hasAttribute('fd-breadcrumb-link')) {\n console.warn('The fd-breadcrumb-link attribute is deprecated. Please use fd-link instead.');\n }\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n 'fd-link',\n this.emphasized ? 'fd-link--emphasized' : '',\n this.disabled ? 'is-disabled' : '',\n this.inverted ? `fd-link--inverted` : '',\n this.subtle ? 'fd-link--subtle' : '',\n this.undecorated ? 'fd-link--undecorated' : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this.iconComponents.changes\n .pipe(\n startWith(this.iconComponents),\n map((c) => c.toArray()),\n map((icons) =>\n // We are only interested in the first descendant of the content element\n icons.filter(\n (icon) => icon.elementRef().nativeElement.parentElement === this.contentSpan.nativeElement\n )\n ),\n map((icons) => {\n if (icons.length === 0) {\n return {};\n }\n const prefix =\n icons[0].elementRef().nativeElement === this.contentSpan.nativeElement.childNodes[0]\n ? icons[0].elementRef().nativeElement\n : null;\n const postfix =\n icons[icons.length - 1].elementRef().nativeElement ===\n this.contentSpan.nativeElement.childNodes[this.contentSpan.nativeElement.childNodes.length - 1]\n ? icons[icons.length - 1].elementRef().nativeElement\n : null;\n if (prefix) {\n this._prefixIconName = this.iconComponents.first.glyph;\n } else {\n this._prefixIconName = '';\n }\n if (postfix) {\n this._postfixIconName = this.iconComponents.last.glyph;\n } else {\n this._postfixIconName = '';\n }\n return { prefix, postfix };\n }),\n tap(() => {\n if (this._prefixPortal?.isAttached) {\n this._prefixPortal.detach();\n }\n if (this._postfixPortal?.isAttached) {\n this._postfixPortal.detach();\n }\n }),\n tap(({ prefix, postfix }) => {\n this._prefixPortal = prefix ? new DomPortal(prefix) : null;\n this._postfixPortal = postfix ? new DomPortal(postfix) : null;\n }),\n tap(() => {\n this.changeDetectorRef.detectChanges();\n }),\n takeUntil(this._destroyed$)\n )\n .subscribe();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._destroyed$.next();\n this._destroyed$.complete();\n }\n}\n","<span *ngIf=\"_prefixPortal\">\n <ng-container *cdkPortalOutlet=\"_prefixPortal\"></ng-container>\n</span>\n<span class=\"fd-link__content\" #content>\n <ng-content></ng-content>\n</span>\n<span *ngIf=\"_postfixPortal\">\n <ng-container *cdkPortalOutlet=\"_postfixPortal\"></ng-container>\n</span>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { LinkComponent } from './link.component';\nimport { PortalModule } from '@angular/cdk/portal';\n\n@NgModule({\n declarations: [LinkComponent],\n imports: [CommonModule, PortalModule],\n exports: [LinkComponent]\n})\nexport class LinkModule {}\n","export const LINK_CLASS_NAME = {\n linkContent: 'fd-link__content'\n} as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, ViewChild, Input, NgModule } from '@angular/core';
2
+ import { isDevMode, Optional, Self, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, ContentChildren, ViewChild, Input, NgModule } from '@angular/core';
3
3
  import * as i2 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { __decorate, __metadata } from 'tslib';
6
+ import { RouterLinkWithHref, RouterLink } from '@angular/router';
6
7
  import { applyCssClass } from '@fundamental-ngx/core/utils';
7
8
  import * as i1 from '@angular/cdk/observers';
8
9
  import { Subject, startWith, map, tap, takeUntil } from 'rxjs';
@@ -12,12 +13,16 @@ import { IconComponent } from '@fundamental-ngx/core/icon';
12
13
 
13
14
  class LinkComponent {
14
15
  /** @hidden */
15
- constructor(_elementRef, contentObserver, changeDetectorRef) {
16
+ constructor(_elementRef, contentObserver, changeDetectorRef, routerLink) {
16
17
  this._elementRef = _elementRef;
17
18
  this.contentObserver = contentObserver;
18
19
  this.changeDetectorRef = changeDetectorRef;
20
+ this.routerLink = routerLink;
19
21
  /** @hidden */
20
22
  this._destroyed$ = new Subject();
23
+ if (isDevMode() && this.elementRef().nativeElement.hasAttribute('fd-breadcrumb-link')) {
24
+ console.warn('The fd-breadcrumb-link attribute is deprecated. Please use fd-link instead.');
25
+ }
21
26
  }
22
27
  /** @hidden */
23
28
  ngOnChanges() {
@@ -61,6 +66,18 @@ class LinkComponent {
61
66
  this.contentSpan.nativeElement.childNodes[this.contentSpan.nativeElement.childNodes.length - 1]
62
67
  ? icons[icons.length - 1].elementRef().nativeElement
63
68
  : null;
69
+ if (prefix) {
70
+ this._prefixIconName = this.iconComponents.first.glyph;
71
+ }
72
+ else {
73
+ this._prefixIconName = '';
74
+ }
75
+ if (postfix) {
76
+ this._postfixIconName = this.iconComponents.last.glyph;
77
+ }
78
+ else {
79
+ this._postfixIconName = '';
80
+ }
64
81
  return { prefix, postfix };
65
82
  }), tap(() => {
66
83
  if (this._prefixPortal?.isAttached) {
@@ -83,8 +100,17 @@ class LinkComponent {
83
100
  this._destroyed$.complete();
84
101
  }
85
102
  }
86
- LinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: LinkComponent, deps: [{ token: i0.ElementRef }, { token: i1.ContentObserver }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
87
- LinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: LinkComponent, selector: "[fdLink], [fd-link]", inputs: { class: "class", emphasized: "emphasized", disabled: "disabled", inverted: "inverted", subtle: "subtle", undecorated: "undecorated" }, queries: [{ propertyName: "iconComponents", predicate: IconComponent }], viewQueries: [{ propertyName: "contentSpan", first: true, predicate: ["content"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<span *ngIf=\"_prefixPortal\">\n <ng-container *cdkPortalOutlet=\"_prefixPortal\"></ng-container>\n</span>\n<span class=\"fd-link__content\" #content>\n <ng-content></ng-content>\n</span>\n<span *ngIf=\"_postfixPortal\">\n <ng-container *cdkPortalOutlet=\"_postfixPortal\"></ng-container>\n</span>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.128\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-link\n*/.fd-link{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;color:var(--sapLinkColor);text-shadow:var(--sapContent_TextShadow);display:inline-block;display:var(--fdLink_Display, inline-block);align-items:center;transition:all .125s ease-in;line-height:inherit;-webkit-text-decoration:none;-webkit-text-decoration:var(--fdLink_Text_Decoration, none);text-decoration:none;text-decoration:var(--fdLink_Text_Decoration, none)}.fd-link:before,.fd-link:after{box-sizing:inherit;font-size:inherit}.fd-link__content{-webkit-text-decoration:none;-webkit-text-decoration:var(--fdLink_Text_Content_Decoration, none);text-decoration:none;text-decoration:var(--fdLink_Text_Content_Decoration, none)}.fd-link:hover,.fd-link.is-hover{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Hover, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Hover, none)}.fd-link:focus,.fd-link.is-focus{z-index:5;--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Focus, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Focus, none)}.fd-link:active,.fd-link.is-active{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Active, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Active, none)}.fd-link[aria-disabled=true],.fd-link.is-disabled,.fd-link:disabled{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Disabled, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Disabled, none)}.fd-link--subtle{--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Subtle, none);--fdLink_Text_Content_Decoration_Hover: var(--fdLink_Text_Content_Decoration_Subtle_Hover, none);--fdLink_Text_Content_Decoration_Active: var(--fdLink_Text_Content_Decoration_Subtle_Active, none);--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Subtle, none);--fdLink_Text_Decoration_Hover: var(--fdLink_Text_Decoration_Subtle_Hover, none);--fdLink_Text_Decoration_Active: var(--fdLink_Text_Decoration_Subtle_Active, none)}.fd-link--undecorated{--fdLink_Text_Decoration: none;--fdLink_Text_Decoration_Subtle: none;--fdLink_Text_Decoration_Subtle_Hover: none;--fdLink_Text_Decoration_Subtle_Active: none;--fdLink_Text_Decoration_Hover: none;--fdLink_Text_Decoration_Focus: none;--fdLink_Text_Decoration_Active: none;--fdLink_Text_Decoration_Visited: none;--fdLink_Text_Decoration_Disabled: none;--fdLink_Text_Content_Decoration: none;--fdLink_Text_Content_Decoration_Subtle: none;--fdLink_Text_Content_Decoration_Subtle_Hover: none;--fdLink_Text_Content_Decoration_Subtle_Active: none;--fdLink_Text_Content_Decoration_Hover: none;--fdLink_Text_Content_Decoration_Focus: none;--fdLink_Text_Content_Decoration_Active: none;--fdLink_Text_Content_Decoration_Visited: none;--fdLink_Text_Content_Decoration_Disabled: none}.fd-link--emphasized{font-weight:700}.fd-link:visited{color:var(--sapLink_Visited_Color)}.fd-link:hover,.fd-link.is-hover{color:var(--sapLink_Hover_Color)}.fd-link:focus,.fd-link.is-focus{z-index:5;box-shadow:none;color:var(--fdLink_Text_Focus_Color);background-color:var(--fdLink_Focus_Background);border-radius:var(--fdLink_Focus_Border_Radius);text-shadow:var(--fdLink_Focus_Text_Shadow);outline-offset:var(--fdLink_Hover_Outline_Offset);outline-width:var(--fdLink_Hover_Outline_Width);outline-color:var(--fdLink_Hover_Outline_Color);outline-style:var(--fdLink_Hover_Outline_Style)}.fd-link:active,.fd-link.is-active{color:var(--sapLink_Active_Color)}.fd-link:active:focus,.fd-link:active.is-focus,.fd-link.is-active:focus,.fd-link.is-active.is-focus{z-index:5;background-color:transparent}.fd-link--inverted{color:var(--sapLink_InvertedColor);text-shadow:none}.fd-link--inverted:hover,.fd-link--inverted.is-hover{color:var(--sapLink_InvertedColor)}.fd-link--inverted:focus,.fd-link--inverted.is-focus{z-index:5;outline-color:var(--sapContent_ContrastFocusColor)}.fd-link--subtle{color:var(--sapLink_SubtleColor)}.fd-link[aria-disabled=true],.fd-link.is-disabled,.fd-link:disabled{opacity:var(--sapContent_DisabledOpacity);color:var(--sapLinkColor);pointer-events:none}.fd-link>img{vertical-align:bottom}.fd-link [class*=sap-icon],.fd-link[class*=sap-icon]{color:var(--sapLinkColor)}.fd-link [class*=sap-icon]:first-child,.fd-link[class*=sap-icon]:first-child{margin-right:0;margin-right:var(--fdLink_Icon_Spacing, 0)}[dir=rtl] .fd-link [class*=sap-icon]:first-child,.fd-link [class*=sap-icon]:first-child[dir=rtl],[dir=rtl] .fd-link[class*=sap-icon]:first-child,.fd-link[class*=sap-icon]:first-child[dir=rtl]{margin-right:0;margin-left:0;margin-left:var(--fdLink_Icon_Spacing, 0)}.fd-link [class*=sap-icon]:last-child,.fd-link[class*=sap-icon]:last-child{margin-left:0;margin-left:var(--fdLink_Icon_Spacing, 0)}[dir=rtl] .fd-link [class*=sap-icon]:last-child,.fd-link [class*=sap-icon]:last-child[dir=rtl],[dir=rtl] .fd-link[class*=sap-icon]:last-child,.fd-link[class*=sap-icon]:last-child[dir=rtl]{margin-right:0;margin-right:var(--fdLink_Icon_Spacing, 0);margin-left:0}.fd-link:hover [class*=sap-icon],.fd-link:hover[class*=sap-icon],.fd-link.is-hover [class*=sap-icon],.fd-link.is-hover[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Hover);text-decoration:var(--fdLink_Text_Decoration_Hover);color:var(--sapLink_Hover_Color)}.fd-link:focus,.fd-link.is-focus{z-index:5}.fd-link:focus [class*=sap-icon],.fd-link:focus[class*=sap-icon],.fd-link.is-focus [class*=sap-icon],.fd-link.is-focus[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Focus);text-decoration:var(--fdLink_Text_Decoration_Focus);color:var(--fdLink_Text_Focus_Color)}.fd-link:active [class*=sap-icon],.fd-link:active[class*=sap-icon],.fd-link.is-active [class*=sap-icon],.fd-link.is-active[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Active);text-decoration:var(--fdLink_Text_Decoration_Active);color:var(--sapLink_Active_Color)}.fd-link:visited [class*=sap-icon],.fd-link:visited[class*=sap-icon]{color:var(--sapLink_Visited_Color)}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
103
+ LinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: LinkComponent, deps: [{ token: i0.ElementRef }, { token: i1.ContentObserver }, { token: i0.ChangeDetectorRef }, { token: 'linkRouterTarget' }], target: i0.ɵɵFactoryTarget.Component });
104
+ LinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: LinkComponent, selector: "[fdLink], [fd-link], [fd-breadcrumb-link]", inputs: { class: "class", emphasized: "emphasized", disabled: "disabled", inverted: "inverted", subtle: "subtle", undecorated: "undecorated" }, providers: [
105
+ {
106
+ provide: 'linkRouterTarget',
107
+ useFactory: (withHref, routerLink) => withHref || routerLink,
108
+ deps: [
109
+ [new Optional(), new Self(), RouterLinkWithHref],
110
+ [new Optional(), new Self(), RouterLink]
111
+ ]
112
+ }
113
+ ], queries: [{ propertyName: "iconComponents", predicate: IconComponent }], viewQueries: [{ propertyName: "contentSpan", first: true, predicate: ["content"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<span *ngIf=\"_prefixPortal\">\n <ng-container *cdkPortalOutlet=\"_prefixPortal\"></ng-container>\n</span>\n<span class=\"fd-link__content\" #content>\n <ng-content></ng-content>\n</span>\n<span *ngIf=\"_postfixPortal\">\n <ng-container *cdkPortalOutlet=\"_postfixPortal\"></ng-container>\n</span>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.128\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-link\n*/.fd-link{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;color:var(--sapLinkColor);text-shadow:var(--sapContent_TextShadow);display:inline-block;display:var(--fdLink_Display, inline-block);align-items:center;transition:all .125s ease-in;line-height:inherit;-webkit-text-decoration:none;-webkit-text-decoration:var(--fdLink_Text_Decoration, none);text-decoration:none;text-decoration:var(--fdLink_Text_Decoration, none)}.fd-link:before,.fd-link:after{box-sizing:inherit;font-size:inherit}.fd-link__content{-webkit-text-decoration:none;-webkit-text-decoration:var(--fdLink_Text_Content_Decoration, none);text-decoration:none;text-decoration:var(--fdLink_Text_Content_Decoration, none)}.fd-link:hover,.fd-link.is-hover{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Hover, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Hover, none)}.fd-link:focus,.fd-link.is-focus{z-index:5;--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Focus, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Focus, none)}.fd-link:active,.fd-link.is-active{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Active, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Active, none)}.fd-link[aria-disabled=true],.fd-link.is-disabled,.fd-link:disabled{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Disabled, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Disabled, none)}.fd-link--subtle{--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Subtle, none);--fdLink_Text_Content_Decoration_Hover: var(--fdLink_Text_Content_Decoration_Subtle_Hover, none);--fdLink_Text_Content_Decoration_Active: var(--fdLink_Text_Content_Decoration_Subtle_Active, none);--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Subtle, none);--fdLink_Text_Decoration_Hover: var(--fdLink_Text_Decoration_Subtle_Hover, none);--fdLink_Text_Decoration_Active: var(--fdLink_Text_Decoration_Subtle_Active, none)}.fd-link--undecorated{--fdLink_Text_Decoration: none;--fdLink_Text_Decoration_Subtle: none;--fdLink_Text_Decoration_Subtle_Hover: none;--fdLink_Text_Decoration_Subtle_Active: none;--fdLink_Text_Decoration_Hover: none;--fdLink_Text_Decoration_Focus: none;--fdLink_Text_Decoration_Active: none;--fdLink_Text_Decoration_Visited: none;--fdLink_Text_Decoration_Disabled: none;--fdLink_Text_Content_Decoration: none;--fdLink_Text_Content_Decoration_Subtle: none;--fdLink_Text_Content_Decoration_Subtle_Hover: none;--fdLink_Text_Content_Decoration_Subtle_Active: none;--fdLink_Text_Content_Decoration_Hover: none;--fdLink_Text_Content_Decoration_Focus: none;--fdLink_Text_Content_Decoration_Active: none;--fdLink_Text_Content_Decoration_Visited: none;--fdLink_Text_Content_Decoration_Disabled: none}.fd-link--emphasized{font-weight:700}.fd-link:visited{color:var(--sapLink_Visited_Color)}.fd-link:hover,.fd-link.is-hover{color:var(--sapLink_Hover_Color)}.fd-link:focus,.fd-link.is-focus{z-index:5;box-shadow:none;color:var(--fdLink_Text_Focus_Color);background-color:var(--fdLink_Focus_Background);border-radius:var(--fdLink_Focus_Border_Radius);text-shadow:var(--fdLink_Focus_Text_Shadow);outline-offset:var(--fdLink_Hover_Outline_Offset);outline-width:var(--fdLink_Hover_Outline_Width);outline-color:var(--fdLink_Hover_Outline_Color);outline-style:var(--fdLink_Hover_Outline_Style)}.fd-link:active,.fd-link.is-active{color:var(--sapLink_Active_Color)}.fd-link:active:focus,.fd-link:active.is-focus,.fd-link.is-active:focus,.fd-link.is-active.is-focus{z-index:5;background-color:transparent}.fd-link--inverted{color:var(--sapLink_InvertedColor);text-shadow:none}.fd-link--inverted:hover,.fd-link--inverted.is-hover{color:var(--sapLink_InvertedColor)}.fd-link--inverted:focus,.fd-link--inverted.is-focus{z-index:5;outline-color:var(--sapContent_ContrastFocusColor)}.fd-link--subtle{color:var(--sapLink_SubtleColor)}.fd-link[aria-disabled=true],.fd-link.is-disabled,.fd-link:disabled{opacity:var(--sapContent_DisabledOpacity);color:var(--sapLinkColor);pointer-events:none}.fd-link>img{vertical-align:bottom}.fd-link [class*=sap-icon],.fd-link[class*=sap-icon]{color:var(--sapLinkColor)}.fd-link [class*=sap-icon]:first-child,.fd-link[class*=sap-icon]:first-child{margin-right:0;margin-right:var(--fdLink_Icon_Spacing, 0)}[dir=rtl] .fd-link [class*=sap-icon]:first-child,.fd-link [class*=sap-icon]:first-child[dir=rtl],[dir=rtl] .fd-link[class*=sap-icon]:first-child,.fd-link[class*=sap-icon]:first-child[dir=rtl]{margin-right:0;margin-left:0;margin-left:var(--fdLink_Icon_Spacing, 0)}.fd-link [class*=sap-icon]:last-child,.fd-link[class*=sap-icon]:last-child{margin-left:0;margin-left:var(--fdLink_Icon_Spacing, 0)}[dir=rtl] .fd-link [class*=sap-icon]:last-child,.fd-link [class*=sap-icon]:last-child[dir=rtl],[dir=rtl] .fd-link[class*=sap-icon]:last-child,.fd-link[class*=sap-icon]:last-child[dir=rtl]{margin-right:0;margin-right:var(--fdLink_Icon_Spacing, 0);margin-left:0}.fd-link:hover [class*=sap-icon],.fd-link:hover[class*=sap-icon],.fd-link.is-hover [class*=sap-icon],.fd-link.is-hover[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Hover);text-decoration:var(--fdLink_Text_Decoration_Hover);color:var(--sapLink_Hover_Color)}.fd-link:focus,.fd-link.is-focus{z-index:5}.fd-link:focus [class*=sap-icon],.fd-link:focus[class*=sap-icon],.fd-link.is-focus [class*=sap-icon],.fd-link.is-focus[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Focus);text-decoration:var(--fdLink_Text_Decoration_Focus);color:var(--fdLink_Text_Focus_Color)}.fd-link:active [class*=sap-icon],.fd-link:active[class*=sap-icon],.fd-link.is-active [class*=sap-icon],.fd-link.is-active[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Active);text-decoration:var(--fdLink_Text_Decoration_Active);color:var(--sapLink_Active_Color)}.fd-link:visited [class*=sap-icon],.fd-link:visited[class*=sap-icon]{color:var(--sapLink_Visited_Color)}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
88
114
  __decorate([
89
115
  applyCssClass,
90
116
  __metadata("design:type", Function),
@@ -93,8 +119,20 @@ __decorate([
93
119
  ], LinkComponent.prototype, "buildComponentCssClass", null);
94
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: LinkComponent, decorators: [{
95
121
  type: Component,
96
- args: [{ selector: '[fdLink], [fd-link]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span *ngIf=\"_prefixPortal\">\n <ng-container *cdkPortalOutlet=\"_prefixPortal\"></ng-container>\n</span>\n<span class=\"fd-link__content\" #content>\n <ng-content></ng-content>\n</span>\n<span *ngIf=\"_postfixPortal\">\n <ng-container *cdkPortalOutlet=\"_postfixPortal\"></ng-container>\n</span>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.128\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-link\n*/.fd-link{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;color:var(--sapLinkColor);text-shadow:var(--sapContent_TextShadow);display:inline-block;display:var(--fdLink_Display, inline-block);align-items:center;transition:all .125s ease-in;line-height:inherit;-webkit-text-decoration:none;-webkit-text-decoration:var(--fdLink_Text_Decoration, none);text-decoration:none;text-decoration:var(--fdLink_Text_Decoration, none)}.fd-link:before,.fd-link:after{box-sizing:inherit;font-size:inherit}.fd-link__content{-webkit-text-decoration:none;-webkit-text-decoration:var(--fdLink_Text_Content_Decoration, none);text-decoration:none;text-decoration:var(--fdLink_Text_Content_Decoration, none)}.fd-link:hover,.fd-link.is-hover{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Hover, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Hover, none)}.fd-link:focus,.fd-link.is-focus{z-index:5;--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Focus, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Focus, none)}.fd-link:active,.fd-link.is-active{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Active, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Active, none)}.fd-link[aria-disabled=true],.fd-link.is-disabled,.fd-link:disabled{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Disabled, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Disabled, none)}.fd-link--subtle{--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Subtle, none);--fdLink_Text_Content_Decoration_Hover: var(--fdLink_Text_Content_Decoration_Subtle_Hover, none);--fdLink_Text_Content_Decoration_Active: var(--fdLink_Text_Content_Decoration_Subtle_Active, none);--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Subtle, none);--fdLink_Text_Decoration_Hover: var(--fdLink_Text_Decoration_Subtle_Hover, none);--fdLink_Text_Decoration_Active: var(--fdLink_Text_Decoration_Subtle_Active, none)}.fd-link--undecorated{--fdLink_Text_Decoration: none;--fdLink_Text_Decoration_Subtle: none;--fdLink_Text_Decoration_Subtle_Hover: none;--fdLink_Text_Decoration_Subtle_Active: none;--fdLink_Text_Decoration_Hover: none;--fdLink_Text_Decoration_Focus: none;--fdLink_Text_Decoration_Active: none;--fdLink_Text_Decoration_Visited: none;--fdLink_Text_Decoration_Disabled: none;--fdLink_Text_Content_Decoration: none;--fdLink_Text_Content_Decoration_Subtle: none;--fdLink_Text_Content_Decoration_Subtle_Hover: none;--fdLink_Text_Content_Decoration_Subtle_Active: none;--fdLink_Text_Content_Decoration_Hover: none;--fdLink_Text_Content_Decoration_Focus: none;--fdLink_Text_Content_Decoration_Active: none;--fdLink_Text_Content_Decoration_Visited: none;--fdLink_Text_Content_Decoration_Disabled: none}.fd-link--emphasized{font-weight:700}.fd-link:visited{color:var(--sapLink_Visited_Color)}.fd-link:hover,.fd-link.is-hover{color:var(--sapLink_Hover_Color)}.fd-link:focus,.fd-link.is-focus{z-index:5;box-shadow:none;color:var(--fdLink_Text_Focus_Color);background-color:var(--fdLink_Focus_Background);border-radius:var(--fdLink_Focus_Border_Radius);text-shadow:var(--fdLink_Focus_Text_Shadow);outline-offset:var(--fdLink_Hover_Outline_Offset);outline-width:var(--fdLink_Hover_Outline_Width);outline-color:var(--fdLink_Hover_Outline_Color);outline-style:var(--fdLink_Hover_Outline_Style)}.fd-link:active,.fd-link.is-active{color:var(--sapLink_Active_Color)}.fd-link:active:focus,.fd-link:active.is-focus,.fd-link.is-active:focus,.fd-link.is-active.is-focus{z-index:5;background-color:transparent}.fd-link--inverted{color:var(--sapLink_InvertedColor);text-shadow:none}.fd-link--inverted:hover,.fd-link--inverted.is-hover{color:var(--sapLink_InvertedColor)}.fd-link--inverted:focus,.fd-link--inverted.is-focus{z-index:5;outline-color:var(--sapContent_ContrastFocusColor)}.fd-link--subtle{color:var(--sapLink_SubtleColor)}.fd-link[aria-disabled=true],.fd-link.is-disabled,.fd-link:disabled{opacity:var(--sapContent_DisabledOpacity);color:var(--sapLinkColor);pointer-events:none}.fd-link>img{vertical-align:bottom}.fd-link [class*=sap-icon],.fd-link[class*=sap-icon]{color:var(--sapLinkColor)}.fd-link [class*=sap-icon]:first-child,.fd-link[class*=sap-icon]:first-child{margin-right:0;margin-right:var(--fdLink_Icon_Spacing, 0)}[dir=rtl] .fd-link [class*=sap-icon]:first-child,.fd-link [class*=sap-icon]:first-child[dir=rtl],[dir=rtl] .fd-link[class*=sap-icon]:first-child,.fd-link[class*=sap-icon]:first-child[dir=rtl]{margin-right:0;margin-left:0;margin-left:var(--fdLink_Icon_Spacing, 0)}.fd-link [class*=sap-icon]:last-child,.fd-link[class*=sap-icon]:last-child{margin-left:0;margin-left:var(--fdLink_Icon_Spacing, 0)}[dir=rtl] .fd-link [class*=sap-icon]:last-child,.fd-link [class*=sap-icon]:last-child[dir=rtl],[dir=rtl] .fd-link[class*=sap-icon]:last-child,.fd-link[class*=sap-icon]:last-child[dir=rtl]{margin-right:0;margin-right:var(--fdLink_Icon_Spacing, 0);margin-left:0}.fd-link:hover [class*=sap-icon],.fd-link:hover[class*=sap-icon],.fd-link.is-hover [class*=sap-icon],.fd-link.is-hover[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Hover);text-decoration:var(--fdLink_Text_Decoration_Hover);color:var(--sapLink_Hover_Color)}.fd-link:focus,.fd-link.is-focus{z-index:5}.fd-link:focus [class*=sap-icon],.fd-link:focus[class*=sap-icon],.fd-link.is-focus [class*=sap-icon],.fd-link.is-focus[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Focus);text-decoration:var(--fdLink_Text_Decoration_Focus);color:var(--fdLink_Text_Focus_Color)}.fd-link:active [class*=sap-icon],.fd-link:active[class*=sap-icon],.fd-link.is-active [class*=sap-icon],.fd-link.is-active[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Active);text-decoration:var(--fdLink_Text_Decoration_Active);color:var(--sapLink_Active_Color)}.fd-link:visited [class*=sap-icon],.fd-link:visited[class*=sap-icon]{color:var(--sapLink_Visited_Color)}\n"] }]
97
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ContentObserver }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { iconComponents: [{
122
+ args: [{ selector: '[fdLink], [fd-link], [fd-breadcrumb-link]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
123
+ {
124
+ provide: 'linkRouterTarget',
125
+ useFactory: (withHref, routerLink) => withHref || routerLink,
126
+ deps: [
127
+ [new Optional(), new Self(), RouterLinkWithHref],
128
+ [new Optional(), new Self(), RouterLink]
129
+ ]
130
+ }
131
+ ], template: "<span *ngIf=\"_prefixPortal\">\n <ng-container *cdkPortalOutlet=\"_prefixPortal\"></ng-container>\n</span>\n<span class=\"fd-link__content\" #content>\n <ng-content></ng-content>\n</span>\n<span *ngIf=\"_postfixPortal\">\n <ng-container *cdkPortalOutlet=\"_postfixPortal\"></ng-container>\n</span>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.0-rc.128\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-link\n*/.fd-link{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;color:var(--sapLinkColor);text-shadow:var(--sapContent_TextShadow);display:inline-block;display:var(--fdLink_Display, inline-block);align-items:center;transition:all .125s ease-in;line-height:inherit;-webkit-text-decoration:none;-webkit-text-decoration:var(--fdLink_Text_Decoration, none);text-decoration:none;text-decoration:var(--fdLink_Text_Decoration, none)}.fd-link:before,.fd-link:after{box-sizing:inherit;font-size:inherit}.fd-link__content{-webkit-text-decoration:none;-webkit-text-decoration:var(--fdLink_Text_Content_Decoration, none);text-decoration:none;text-decoration:var(--fdLink_Text_Content_Decoration, none)}.fd-link:hover,.fd-link.is-hover{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Hover, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Hover, none)}.fd-link:focus,.fd-link.is-focus{z-index:5;--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Focus, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Focus, none)}.fd-link:active,.fd-link.is-active{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Active, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Active, none)}.fd-link[aria-disabled=true],.fd-link.is-disabled,.fd-link:disabled{--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Disabled, none);--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Disabled, none)}.fd-link--subtle{--fdLink_Text_Content_Decoration: var(--fdLink_Text_Content_Decoration_Subtle, none);--fdLink_Text_Content_Decoration_Hover: var(--fdLink_Text_Content_Decoration_Subtle_Hover, none);--fdLink_Text_Content_Decoration_Active: var(--fdLink_Text_Content_Decoration_Subtle_Active, none);--fdLink_Text_Decoration: var(--fdLink_Text_Decoration_Subtle, none);--fdLink_Text_Decoration_Hover: var(--fdLink_Text_Decoration_Subtle_Hover, none);--fdLink_Text_Decoration_Active: var(--fdLink_Text_Decoration_Subtle_Active, none)}.fd-link--undecorated{--fdLink_Text_Decoration: none;--fdLink_Text_Decoration_Subtle: none;--fdLink_Text_Decoration_Subtle_Hover: none;--fdLink_Text_Decoration_Subtle_Active: none;--fdLink_Text_Decoration_Hover: none;--fdLink_Text_Decoration_Focus: none;--fdLink_Text_Decoration_Active: none;--fdLink_Text_Decoration_Visited: none;--fdLink_Text_Decoration_Disabled: none;--fdLink_Text_Content_Decoration: none;--fdLink_Text_Content_Decoration_Subtle: none;--fdLink_Text_Content_Decoration_Subtle_Hover: none;--fdLink_Text_Content_Decoration_Subtle_Active: none;--fdLink_Text_Content_Decoration_Hover: none;--fdLink_Text_Content_Decoration_Focus: none;--fdLink_Text_Content_Decoration_Active: none;--fdLink_Text_Content_Decoration_Visited: none;--fdLink_Text_Content_Decoration_Disabled: none}.fd-link--emphasized{font-weight:700}.fd-link:visited{color:var(--sapLink_Visited_Color)}.fd-link:hover,.fd-link.is-hover{color:var(--sapLink_Hover_Color)}.fd-link:focus,.fd-link.is-focus{z-index:5;box-shadow:none;color:var(--fdLink_Text_Focus_Color);background-color:var(--fdLink_Focus_Background);border-radius:var(--fdLink_Focus_Border_Radius);text-shadow:var(--fdLink_Focus_Text_Shadow);outline-offset:var(--fdLink_Hover_Outline_Offset);outline-width:var(--fdLink_Hover_Outline_Width);outline-color:var(--fdLink_Hover_Outline_Color);outline-style:var(--fdLink_Hover_Outline_Style)}.fd-link:active,.fd-link.is-active{color:var(--sapLink_Active_Color)}.fd-link:active:focus,.fd-link:active.is-focus,.fd-link.is-active:focus,.fd-link.is-active.is-focus{z-index:5;background-color:transparent}.fd-link--inverted{color:var(--sapLink_InvertedColor);text-shadow:none}.fd-link--inverted:hover,.fd-link--inverted.is-hover{color:var(--sapLink_InvertedColor)}.fd-link--inverted:focus,.fd-link--inverted.is-focus{z-index:5;outline-color:var(--sapContent_ContrastFocusColor)}.fd-link--subtle{color:var(--sapLink_SubtleColor)}.fd-link[aria-disabled=true],.fd-link.is-disabled,.fd-link:disabled{opacity:var(--sapContent_DisabledOpacity);color:var(--sapLinkColor);pointer-events:none}.fd-link>img{vertical-align:bottom}.fd-link [class*=sap-icon],.fd-link[class*=sap-icon]{color:var(--sapLinkColor)}.fd-link [class*=sap-icon]:first-child,.fd-link[class*=sap-icon]:first-child{margin-right:0;margin-right:var(--fdLink_Icon_Spacing, 0)}[dir=rtl] .fd-link [class*=sap-icon]:first-child,.fd-link [class*=sap-icon]:first-child[dir=rtl],[dir=rtl] .fd-link[class*=sap-icon]:first-child,.fd-link[class*=sap-icon]:first-child[dir=rtl]{margin-right:0;margin-left:0;margin-left:var(--fdLink_Icon_Spacing, 0)}.fd-link [class*=sap-icon]:last-child,.fd-link[class*=sap-icon]:last-child{margin-left:0;margin-left:var(--fdLink_Icon_Spacing, 0)}[dir=rtl] .fd-link [class*=sap-icon]:last-child,.fd-link [class*=sap-icon]:last-child[dir=rtl],[dir=rtl] .fd-link[class*=sap-icon]:last-child,.fd-link[class*=sap-icon]:last-child[dir=rtl]{margin-right:0;margin-right:var(--fdLink_Icon_Spacing, 0);margin-left:0}.fd-link:hover [class*=sap-icon],.fd-link:hover[class*=sap-icon],.fd-link.is-hover [class*=sap-icon],.fd-link.is-hover[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Hover);text-decoration:var(--fdLink_Text_Decoration_Hover);color:var(--sapLink_Hover_Color)}.fd-link:focus,.fd-link.is-focus{z-index:5}.fd-link:focus [class*=sap-icon],.fd-link:focus[class*=sap-icon],.fd-link.is-focus [class*=sap-icon],.fd-link.is-focus[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Focus);text-decoration:var(--fdLink_Text_Decoration_Focus);color:var(--fdLink_Text_Focus_Color)}.fd-link:active [class*=sap-icon],.fd-link:active[class*=sap-icon],.fd-link.is-active [class*=sap-icon],.fd-link.is-active[class*=sap-icon]{-webkit-text-decoration:var(--fdLink_Text_Decoration_Active);text-decoration:var(--fdLink_Text_Decoration_Active);color:var(--sapLink_Active_Color)}.fd-link:visited [class*=sap-icon],.fd-link:visited[class*=sap-icon]{color:var(--sapLink_Visited_Color)}\n"] }]
132
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ContentObserver }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
133
+ type: Inject,
134
+ args: ['linkRouterTarget']
135
+ }] }]; }, propDecorators: { iconComponents: [{
98
136
  type: ContentChildren,
99
137
  args: [IconComponent]
100
138
  }], contentSpan: [{
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-link.mjs","sources":["../../../../../libs/core/src/lib/link/link.component.ts","../../../../../libs/core/src/lib/link/link.component.html","../../../../../libs/core/src/lib/link/link.module.ts","../../../../../libs/core/src/lib/link/constants.ts","../../../../../libs/core/src/lib/link/fundamental-ngx-core-link.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { ContentObserver } from '@angular/cdk/observers';\nimport { map, startWith, Subject, takeUntil, tap } from 'rxjs';\nimport { DomPortal, Portal } from '@angular/cdk/portal';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fdLink], [fd-link]',\n templateUrl: './link.component.html',\n styleUrls: ['./link.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LinkComponent implements OnChanges, OnInit, CssClassBuilder, AfterViewInit, OnDestroy {\n @ContentChildren(IconComponent)\n iconComponents: QueryList<IconComponent>;\n\n @ViewChild('content')\n contentSpan: ElementRef<HTMLSpanElement>;\n\n /** user's custom classes */\n @Input()\n class: string;\n\n /** Whether user wants to use emphasized mode */\n @Input()\n emphasized: boolean;\n\n /** Whether user wants to put disabled mode */\n @Input()\n disabled: boolean;\n\n /** Whether user wants to use inverted mode */\n @Input()\n inverted: boolean;\n\n /** Whether user wants to use subtle mode */\n @Input()\n subtle: boolean;\n\n /** Whether user wants to have a link without underline decoration */\n @Input()\n undecorated: boolean;\n\n /** @hidden */\n _prefixPortal: Portal<any> | null;\n\n /** @hidden */\n _postfixPortal: Portal<any> | null;\n\n /** @hidden */\n private _destroyed$ = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef<Element>,\n private contentObserver: ContentObserver,\n private changeDetectorRef: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n 'fd-link',\n this.emphasized ? 'fd-link--emphasized' : '',\n this.disabled ? 'is-disabled' : '',\n this.inverted ? `fd-link--inverted` : '',\n this.subtle ? 'fd-link--subtle' : '',\n this.undecorated ? 'fd-link--undecorated' : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this.iconComponents.changes\n .pipe(\n startWith(this.iconComponents),\n map((c) => c.toArray()),\n map((icons) =>\n // We are only interested in the first descendant of the content element\n icons.filter(\n (icon) => icon.elementRef().nativeElement.parentElement === this.contentSpan.nativeElement\n )\n ),\n map((icons) => {\n if (icons.length === 0) {\n return {};\n }\n const prefix =\n icons[0].elementRef().nativeElement === this.contentSpan.nativeElement.childNodes[0]\n ? icons[0].elementRef().nativeElement\n : null;\n const postfix =\n icons[icons.length - 1].elementRef().nativeElement ===\n this.contentSpan.nativeElement.childNodes[this.contentSpan.nativeElement.childNodes.length - 1]\n ? icons[icons.length - 1].elementRef().nativeElement\n : null;\n return { prefix, postfix };\n }),\n tap(() => {\n if (this._prefixPortal?.isAttached) {\n this._prefixPortal.detach();\n }\n if (this._postfixPortal?.isAttached) {\n this._postfixPortal.detach();\n }\n }),\n tap(({ prefix, postfix }) => {\n this._prefixPortal = prefix ? new DomPortal(prefix) : null;\n this._postfixPortal = postfix ? new DomPortal(postfix) : null;\n }),\n tap(() => {\n this.changeDetectorRef.detectChanges();\n }),\n takeUntil(this._destroyed$)\n )\n .subscribe();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._destroyed$.next();\n this._destroyed$.complete();\n }\n}\n","<span *ngIf=\"_prefixPortal\">\n <ng-container *cdkPortalOutlet=\"_prefixPortal\"></ng-container>\n</span>\n<span class=\"fd-link__content\" #content>\n <ng-content></ng-content>\n</span>\n<span *ngIf=\"_postfixPortal\">\n <ng-container *cdkPortalOutlet=\"_postfixPortal\"></ng-container>\n</span>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { LinkComponent } from './link.component';\nimport { PortalModule } from '@angular/cdk/portal';\n\n@NgModule({\n declarations: [LinkComponent],\n imports: [CommonModule, PortalModule],\n exports: [LinkComponent]\n})\nexport class LinkModule {}\n","export const LINK_CLASS_NAME = {\n linkContent: 'fd-link__content'\n} as const;\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-link.mjs","sources":["../../../../../libs/core/src/lib/link/link.component.ts","../../../../../libs/core/src/lib/link/link.component.html","../../../../../libs/core/src/lib/link/link.module.ts","../../../../../libs/core/src/lib/link/constants.ts","../../../../../libs/core/src/lib/link/fundamental-ngx-core-link.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n Inject,\n Input,\n isDevMode,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n Self,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { RouterLink, RouterLinkWithHref } from '@angular/router';\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/core/utils';\nimport { ContentObserver } from '@angular/cdk/observers';\nimport { map, startWith, Subject, takeUntil, tap } from 'rxjs';\nimport { DomPortal, Portal } from '@angular/cdk/portal';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fdLink], [fd-link], [fd-breadcrumb-link]',\n templateUrl: './link.component.html',\n styleUrls: ['./link.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: 'linkRouterTarget',\n useFactory: (\n withHref?: RouterLinkWithHref,\n routerLink?: RouterLink\n ): RouterLinkWithHref | RouterLink | undefined => withHref || routerLink,\n deps: [\n [new Optional(), new Self(), RouterLinkWithHref],\n [new Optional(), new Self(), RouterLink]\n ]\n }\n ]\n})\nexport class LinkComponent implements OnChanges, OnInit, CssClassBuilder, AfterViewInit, OnDestroy {\n @ContentChildren(IconComponent)\n iconComponents: QueryList<IconComponent>;\n\n @ViewChild('content')\n contentSpan: ElementRef<HTMLSpanElement>;\n\n /** user's custom classes */\n @Input()\n class: string;\n\n /** Whether user wants to use emphasized mode */\n @Input()\n emphasized: boolean;\n\n /** Whether user wants to put disabled mode */\n @Input()\n disabled: boolean;\n\n /** Whether user wants to use inverted mode */\n @Input()\n inverted: boolean;\n\n /** Whether user wants to use subtle mode */\n @Input()\n subtle: boolean;\n\n /** Whether user wants to have a link without underline decoration */\n @Input()\n undecorated: boolean;\n\n /** @hidden */\n _prefixPortal: Portal<any> | null;\n\n /** @hidden */\n _postfixPortal: Portal<any> | null;\n\n /** @hidden */\n _prefixIconName: string;\n /** @hidden */\n _postfixIconName: string;\n\n /** @hidden */\n private _destroyed$ = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef<Element>,\n private contentObserver: ContentObserver,\n private changeDetectorRef: ChangeDetectorRef,\n @Inject('linkRouterTarget') readonly routerLink: RouterLinkWithHref | RouterLink\n ) {\n if (isDevMode() && this.elementRef().nativeElement.hasAttribute('fd-breadcrumb-link')) {\n console.warn('The fd-breadcrumb-link attribute is deprecated. Please use fd-link instead.');\n }\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return [\n 'fd-link',\n this.emphasized ? 'fd-link--emphasized' : '',\n this.disabled ? 'is-disabled' : '',\n this.inverted ? `fd-link--inverted` : '',\n this.subtle ? 'fd-link--subtle' : '',\n this.undecorated ? 'fd-link--undecorated' : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this.iconComponents.changes\n .pipe(\n startWith(this.iconComponents),\n map((c) => c.toArray()),\n map((icons) =>\n // We are only interested in the first descendant of the content element\n icons.filter(\n (icon) => icon.elementRef().nativeElement.parentElement === this.contentSpan.nativeElement\n )\n ),\n map((icons) => {\n if (icons.length === 0) {\n return {};\n }\n const prefix =\n icons[0].elementRef().nativeElement === this.contentSpan.nativeElement.childNodes[0]\n ? icons[0].elementRef().nativeElement\n : null;\n const postfix =\n icons[icons.length - 1].elementRef().nativeElement ===\n this.contentSpan.nativeElement.childNodes[this.contentSpan.nativeElement.childNodes.length - 1]\n ? icons[icons.length - 1].elementRef().nativeElement\n : null;\n if (prefix) {\n this._prefixIconName = this.iconComponents.first.glyph;\n } else {\n this._prefixIconName = '';\n }\n if (postfix) {\n this._postfixIconName = this.iconComponents.last.glyph;\n } else {\n this._postfixIconName = '';\n }\n return { prefix, postfix };\n }),\n tap(() => {\n if (this._prefixPortal?.isAttached) {\n this._prefixPortal.detach();\n }\n if (this._postfixPortal?.isAttached) {\n this._postfixPortal.detach();\n }\n }),\n tap(({ prefix, postfix }) => {\n this._prefixPortal = prefix ? new DomPortal(prefix) : null;\n this._postfixPortal = postfix ? new DomPortal(postfix) : null;\n }),\n tap(() => {\n this.changeDetectorRef.detectChanges();\n }),\n takeUntil(this._destroyed$)\n )\n .subscribe();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._destroyed$.next();\n this._destroyed$.complete();\n }\n}\n","<span *ngIf=\"_prefixPortal\">\n <ng-container *cdkPortalOutlet=\"_prefixPortal\"></ng-container>\n</span>\n<span class=\"fd-link__content\" #content>\n <ng-content></ng-content>\n</span>\n<span *ngIf=\"_postfixPortal\">\n <ng-container *cdkPortalOutlet=\"_postfixPortal\"></ng-container>\n</span>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { LinkComponent } from './link.component';\nimport { PortalModule } from '@angular/cdk/portal';\n\n@NgModule({\n declarations: [LinkComponent],\n imports: [CommonModule, PortalModule],\n exports: [LinkComponent]\n})\nexport class LinkModule {}\n","export const LINK_CLASS_NAME = {\n linkContent: 'fd-link__content'\n} as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { AfterViewInit, ChangeDetectorRef, ElementRef, OnChanges, OnDestroy, OnInit, QueryList } from '@angular/core';
2
+ import { RouterLink, RouterLinkWithHref } from '@angular/router';
2
3
  import { CssClassBuilder } from '@fundamental-ngx/core/utils';
3
4
  import { ContentObserver } from '@angular/cdk/observers';
4
5
  import { Portal } from '@angular/cdk/portal';
@@ -8,6 +9,7 @@ export declare class LinkComponent implements OnChanges, OnInit, CssClassBuilder
8
9
  private _elementRef;
9
10
  private contentObserver;
10
11
  private changeDetectorRef;
12
+ readonly routerLink: RouterLinkWithHref | RouterLink;
11
13
  iconComponents: QueryList<IconComponent>;
12
14
  contentSpan: ElementRef<HTMLSpanElement>;
13
15
  /** user's custom classes */
@@ -27,9 +29,13 @@ export declare class LinkComponent implements OnChanges, OnInit, CssClassBuilder
27
29
  /** @hidden */
28
30
  _postfixPortal: Portal<any> | null;
29
31
  /** @hidden */
32
+ _prefixIconName: string;
33
+ /** @hidden */
34
+ _postfixIconName: string;
35
+ /** @hidden */
30
36
  private _destroyed$;
31
37
  /** @hidden */
32
- constructor(_elementRef: ElementRef<Element>, contentObserver: ContentObserver, changeDetectorRef: ChangeDetectorRef);
38
+ constructor(_elementRef: ElementRef<Element>, contentObserver: ContentObserver, changeDetectorRef: ChangeDetectorRef, routerLink: RouterLinkWithHref | RouterLink);
33
39
  /** @hidden */
34
40
  ngOnChanges(): void;
35
41
  /** CssClassBuilder interface implementation
@@ -45,5 +51,5 @@ export declare class LinkComponent implements OnChanges, OnInit, CssClassBuilder
45
51
  /** @hidden */
46
52
  ngOnDestroy(): void;
47
53
  static ɵfac: i0.ɵɵFactoryDeclaration<LinkComponent, never>;
48
- static ɵcmp: i0.ɵɵComponentDeclaration<LinkComponent, "[fdLink], [fd-link]", never, { "class": "class"; "emphasized": "emphasized"; "disabled": "disabled"; "inverted": "inverted"; "subtle": "subtle"; "undecorated": "undecorated"; }, {}, ["iconComponents"], ["*"]>;
54
+ static ɵcmp: i0.ɵɵComponentDeclaration<LinkComponent, "[fdLink], [fd-link], [fd-breadcrumb-link]", never, { "class": "class"; "emphasized": "emphasized"; "disabled": "disabled"; "inverted": "inverted"; "subtle": "subtle"; "undecorated": "undecorated"; }, {}, ["iconComponents"], ["*"]>;
49
55
  }
package/link/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/link",
3
- "version": "0.35.0-rc.10",
3
+ "version": "0.35.0-rc.13",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
package/list/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/list",
3
- "version": "0.35.0-rc.10",
3
+ "version": "0.35.0-rc.13",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
package/menu/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/menu",
3
- "version": "0.35.0-rc.10",
3
+ "version": "0.35.0-rc.13",
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/message-box",
3
- "version": "0.35.0-rc.10",
3
+ "version": "0.35.0-rc.13",
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/message-strip",
3
- "version": "0.35.0-rc.10",
3
+ "version": "0.35.0-rc.13",
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/message-toast",
3
- "version": "0.35.0-rc.10",
3
+ "version": "0.35.0-rc.13",
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/micro-process-flow",
3
- "version": "0.35.0-rc.10",
3
+ "version": "0.35.0-rc.13",
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/mobile-mode",
3
- "version": "0.35.0-rc.10",
3
+ "version": "0.35.0-rc.13",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"