@fundamental-ngx/core 0.59.1-rc.21 → 0.59.1-rc.22

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.
@@ -1,28 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Component, Input, Directive, NgModule } from '@angular/core';
3
- import { __decorate, __metadata } from 'tslib';
4
- import { applyCssClass } from '@fundamental-ngx/cdk/utils';
2
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, input, booleanAttribute, inject, ElementRef, Directive, computed, NgModule } from '@angular/core';
5
3
 
6
- /**
7
- * Layout Panel level actions such as add, remove, delete, sort, etc.
8
- *
9
- * ```html
10
- * <fd-layout-panel>
11
- * <fd-layout-panel-header>
12
- * <fd-layout-panel-actions>
13
- * <button fd-button (click)="action()">Action</button>
14
- * </fd-layout-panel-actions>
15
- * </fd-layout-panel-header>
16
- * </fd-layout-panel>
17
- * ```
18
- */
19
4
  class LayoutPanelActionsComponent {
20
- constructor() {
21
- /** @hidden */
22
- this.fdLayoutPanelActionsClass = true;
23
- }
24
5
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: LayoutPanelActionsComponent, isStandalone: true, selector: "fd-layout-panel-actions", host: { properties: { "class.fd-layout-panel__actions": "this.fdLayoutPanelActionsClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: LayoutPanelActionsComponent, isStandalone: true, selector: "fd-layout-panel-actions", host: { classAttribute: "fd-layout-panel__actions" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
26
7
  }
27
8
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelActionsComponent, decorators: [{
28
9
  type: Component,
@@ -31,96 +12,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
31
12
  template: `<ng-content></ng-content>`,
32
13
  encapsulation: ViewEncapsulation.None,
33
14
  changeDetection: ChangeDetectionStrategy.OnPush,
34
- standalone: true
15
+ host: {
16
+ class: 'fd-layout-panel__actions'
17
+ }
35
18
  }]
36
- }], propDecorators: { fdLayoutPanelActionsClass: [{
37
- type: HostBinding,
38
- args: ['class.fd-layout-panel__actions']
39
- }] } });
19
+ }] });
40
20
 
41
- /**
42
- * Main content of the panel can that hold lists, table, tree, text, form or any other information.
43
- *
44
- * ```html
45
- * <fd-layout-panel>
46
- * <fd-layout-panel-body>
47
- * Some text can go here!
48
- * </fd-layout-panel-body>
49
- * </fd-layout-panel>
50
- * ```
51
- */
52
21
  class LayoutPanelBodyComponent {
53
22
  constructor() {
54
- /** @hidden */
55
- this.fdLayoutPanelBodyClass = true;
56
- /** Whether the edges of the panel should have bleeding padding. */
57
- this.bleed = false;
23
+ /**
24
+ * Whether the edges of the panel should have bleeding padding.
25
+ * @default false
26
+ */
27
+ this.bleed = input(false, { ...(ngDevMode ? { debugName: "bleed" } : {}), transform: booleanAttribute });
58
28
  }
59
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
60
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: LayoutPanelBodyComponent, isStandalone: true, selector: "fd-layout-panel-body", inputs: { bleed: "bleed" }, host: { properties: { "class.fd-has-display-block": "true", "class.fd-layout-panel__body": "this.fdLayoutPanelBodyClass", "class.fd-layout-panel__body--bleed": "this.bleed" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: LayoutPanelBodyComponent, isStandalone: true, selector: "fd-layout-panel-body", inputs: { bleed: { classPropertyName: "bleed", publicName: "bleed", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.fd-layout-panel__body--bleed": "bleed()" }, classAttribute: "fd-layout-panel__body fd-has-display-block" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
61
31
  }
62
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelBodyComponent, decorators: [{
63
33
  type: Component,
64
34
  args: [{
65
35
  selector: 'fd-layout-panel-body',
66
36
  template: `<ng-content></ng-content>`,
67
- host: {
68
- '[class.fd-has-display-block]': 'true'
69
- },
70
37
  encapsulation: ViewEncapsulation.None,
71
38
  changeDetection: ChangeDetectionStrategy.OnPush,
72
- standalone: true
39
+ host: {
40
+ class: 'fd-layout-panel__body fd-has-display-block',
41
+ '[class.fd-layout-panel__body--bleed]': 'bleed()'
42
+ }
73
43
  }]
74
- }], propDecorators: { fdLayoutPanelBodyClass: [{
75
- type: HostBinding,
76
- args: ['class.fd-layout-panel__body']
77
- }], bleed: [{
78
- type: Input
79
- }, {
80
- type: HostBinding,
81
- args: ['class.fd-layout-panel__body--bleed']
82
- }] } });
44
+ }], propDecorators: { bleed: [{ type: i0.Input, args: [{ isSignal: true, alias: "bleed", required: false }] }] } });
83
45
 
84
- /**
85
- * Description of the panel title.
86
- *
87
- * ```html
88
- * <fd-layout-panel>
89
- * <fd-layout-panel-header>
90
- * <fd-layout-panel-head>
91
- * <fd-layout-panel-description>This is a description for a panel title!</fd-layout-panel-description>
92
- * </fd-layout-panel-head>
93
- * </fd-layout-panel-header>
94
- * </fd-layout-panel>
95
- * ```
96
- */
97
46
  class LayoutPanelDescriptionComponent {
98
47
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelDescriptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
99
48
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: LayoutPanelDescriptionComponent, isStandalone: true, selector: "fd-layout-panel-description", ngImport: i0, template: "<p class=\"fd-layout-panel__description\">\n <ng-content></ng-content>\n</p>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
100
49
  }
101
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelDescriptionComponent, decorators: [{
102
51
  type: Component,
103
- args: [{ selector: 'fd-layout-panel-description', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<p class=\"fd-layout-panel__description\">\n <ng-content></ng-content>\n</p>\n" }]
52
+ args: [{ selector: 'fd-layout-panel-description', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<p class=\"fd-layout-panel__description\">\n <ng-content></ng-content>\n</p>\n" }]
104
53
  }] });
105
54
 
106
- /**
107
- * Layout Panel level filters that is specific to the data being displayed within the panel.
108
- *
109
- * ```html
110
- * <fd-layout-panel>
111
- * <fd-layout-panel-filters>
112
- * Some text can go here!
113
- * </fd-layout-panel-filters>
114
- * </fd-layout-panel>
115
- * ```
116
- */
117
55
  class LayoutPanelFiltersComponent {
118
- constructor() {
119
- /** @hidden */
120
- this.fdLayoutPanelFiltersClass = true;
121
- }
122
56
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
123
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: LayoutPanelFiltersComponent, isStandalone: true, selector: "fd-layout-panel-filters", host: { properties: { "class.fd-has-display-block": "true", "class.fd-layout-panel__filters": "this.fdLayoutPanelFiltersClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: LayoutPanelFiltersComponent, isStandalone: true, selector: "fd-layout-panel-filters", host: { classAttribute: "fd-layout-panel__filters fd-has-display-block" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
124
58
  }
125
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelFiltersComponent, decorators: [{
126
60
  type: Component,
@@ -128,47 +62,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
128
62
  selector: 'fd-layout-panel-filters',
129
63
  template: `<ng-content></ng-content>`,
130
64
  host: {
131
- '[class.fd-has-display-block]': 'true'
65
+ class: 'fd-layout-panel__filters fd-has-display-block'
132
66
  },
133
67
  encapsulation: ViewEncapsulation.None,
134
- changeDetection: ChangeDetectionStrategy.OnPush,
135
- standalone: true
68
+ changeDetection: ChangeDetectionStrategy.OnPush
136
69
  }]
137
- }], propDecorators: { fdLayoutPanelFiltersClass: [{
138
- type: HostBinding,
139
- args: ['class.fd-layout-panel__filters']
140
- }] } });
70
+ }] });
141
71
 
142
72
  class LayoutPanelFooterComponent {
143
- /** @hidden */
144
- constructor(elementRef) {
145
- this.elementRef = elementRef;
146
- }
147
- /** @hidden */
148
- buildComponentCssClass() {
149
- return [
150
- 'fd-layout-panel__footer',
151
- this.position ? `fd-layout-panel__footer--${this.position}` : '',
152
- this.class
153
- ];
154
- }
155
- /** @hidden */
156
- ngOnInit() {
157
- this.buildComponentCssClass();
158
- }
159
- /** @hidden */
160
- ngOnChanges() {
161
- this.buildComponentCssClass();
73
+ constructor() {
74
+ /**
75
+ * Footer variations, can be start (left aligned), end (right aligned) or null for default.
76
+ * The default value will render the content of the footer in the middle.
77
+ */
78
+ this.position = input(null, ...(ngDevMode ? [{ debugName: "position" }] : []));
79
+ /** @hidden */
80
+ this.elementRef = inject(ElementRef);
162
81
  }
163
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelFooterComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
164
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: LayoutPanelFooterComponent, isStandalone: true, selector: "fd-layout-panel-footer", inputs: { class: "class", position: "position" }, usesOnChanges: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
82
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
83
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: LayoutPanelFooterComponent, isStandalone: true, selector: "fd-layout-panel-footer", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.fd-layout-panel__footer--start": "position() === \"start\"", "class.fd-layout-panel__footer--end": "position() === \"end\"" }, classAttribute: "fd-layout-panel__footer" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
165
84
  }
166
- __decorate([
167
- applyCssClass,
168
- __metadata("design:type", Function),
169
- __metadata("design:paramtypes", []),
170
- __metadata("design:returntype", Array)
171
- ], LayoutPanelFooterComponent.prototype, "buildComponentCssClass", null);
172
85
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelFooterComponent, decorators: [{
173
86
  type: Component,
174
87
  args: [{
@@ -176,34 +89,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
176
89
  template: `<ng-content></ng-content>`,
177
90
  encapsulation: ViewEncapsulation.None,
178
91
  changeDetection: ChangeDetectionStrategy.OnPush,
179
- standalone: true
92
+ host: {
93
+ class: 'fd-layout-panel__footer',
94
+ '[class.fd-layout-panel__footer--start]': 'position() === "start"',
95
+ '[class.fd-layout-panel__footer--end]': 'position() === "end"'
96
+ }
180
97
  }]
181
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { class: [{
182
- type: Input
183
- }], position: [{
184
- type: Input
185
- }], buildComponentCssClass: [] } });
98
+ }], propDecorators: { position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }] } });
186
99
 
187
- /**
188
- * Container for title and description.
189
- *
190
- * ```html
191
- * <fd-layout-panel>
192
- * <fd-layout-panel-header>
193
- * <fd-layout-panel-head>
194
- * <fd-layout-panel-title>Title!</fd-layout-panel-title>
195
- * </fd-layout-panel-head>
196
- * </fd-layout-panel-header>
197
- * </fd-layout-panel>
198
- * ```
199
- */
200
100
  class LayoutPanelHeadComponent {
201
- constructor() {
202
- /** @hidden */
203
- this.fdLayoutPanelHeadClass = true;
204
- }
205
101
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelHeadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
206
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: LayoutPanelHeadComponent, isStandalone: true, selector: "fd-layout-panel-head", host: { properties: { "class.fd-layout-panel__head": "this.fdLayoutPanelHeadClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: LayoutPanelHeadComponent, isStandalone: true, selector: "fd-layout-panel-head", host: { classAttribute: "fd-layout-panel__head" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
207
103
  }
208
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelHeadComponent, decorators: [{
209
105
  type: Component,
@@ -212,57 +108,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
212
108
  template: `<ng-content></ng-content>`,
213
109
  encapsulation: ViewEncapsulation.None,
214
110
  changeDetection: ChangeDetectionStrategy.OnPush,
215
- standalone: true
111
+ host: {
112
+ class: 'fd-layout-panel__head'
113
+ }
216
114
  }]
217
- }], propDecorators: { fdLayoutPanelHeadClass: [{
218
- type: HostBinding,
219
- args: ['class.fd-layout-panel__head']
220
- }] } });
115
+ }] });
221
116
 
222
- /**
223
- * Header of the panel. Contains a head and actions.
224
- *
225
- * ```html
226
- * <fd-layout-panel>
227
- * <fd-layout-panel-header>
228
- * <fd-layout-panel-head>
229
- * <fd-layout-panel-title>Title!</fd-layout-panel-title>
230
- * </fd-layout-panel-head>
231
- * </fd-layout-panel-header>
232
- * </fd-layout-panel>
233
- * ```
234
- */
235
117
  class LayoutPanelHeaderComponent {
236
- constructor() {
237
- /** @hidden */
238
- this.fdLayoutPanelHeaderClass = true;
239
- }
240
118
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
241
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: LayoutPanelHeaderComponent, isStandalone: true, selector: "fd-layout-panel-header", host: { properties: { "class.fd-layout-panel__header": "this.fdLayoutPanelHeaderClass" } }, ngImport: i0, template: "<ng-content select=\"fd-layout-panel-head\"></ng-content>\n<ng-content select=\"fd-layout-panel-actions\"></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
119
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: LayoutPanelHeaderComponent, isStandalone: true, selector: "fd-layout-panel-header", host: { classAttribute: "fd-layout-panel__header" }, ngImport: i0, template: "<ng-content select=\"fd-layout-panel-head\"></ng-content>\n<ng-content select=\"fd-layout-panel-actions\"></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
242
120
  }
243
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelHeaderComponent, decorators: [{
244
122
  type: Component,
245
- args: [{ selector: 'fd-layout-panel-header', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<ng-content select=\"fd-layout-panel-head\"></ng-content>\n<ng-content select=\"fd-layout-panel-actions\"></ng-content>\n" }]
246
- }], propDecorators: { fdLayoutPanelHeaderClass: [{
247
- type: HostBinding,
248
- args: ['class.fd-layout-panel__header']
249
- }] } });
123
+ args: [{ selector: 'fd-layout-panel-header', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
124
+ class: 'fd-layout-panel__header'
125
+ }, template: "<ng-content select=\"fd-layout-panel-head\"></ng-content>\n<ng-content select=\"fd-layout-panel-actions\"></ng-content>\n" }]
126
+ }] });
250
127
 
251
- /**
252
- * Applies the panel title style to a header element. It can be used with any header level.
253
- *
254
- * ```html
255
- * <h1 fd-layout-panel-title>Layout Panel Title</h1>
256
- * <h3 fd-layout-panel-title>Layout Panel Title</h3>
257
- * ```
258
- */
259
128
  class LayoutPanelTitleDirective {
260
- constructor() {
261
- /** @hidden */
262
- this.fdLayoutPanelTitleClass = 'fd-title fd-title--h5';
263
- }
264
129
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
265
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: LayoutPanelTitleDirective, isStandalone: true, selector: "[fd-layout-panel-title]", host: { properties: { "class": "this.fdLayoutPanelTitleClass" } }, ngImport: i0 }); }
130
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: LayoutPanelTitleDirective, isStandalone: true, selector: "[fd-layout-panel-title]", host: { classAttribute: "fd-title fd-title--h5" }, ngImport: i0 }); }
266
131
  }
267
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelTitleDirective, decorators: [{
268
133
  type: Directive,
@@ -270,63 +135,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
270
135
  // TODO to be discussed
271
136
  // eslint-disable-next-line @angular-eslint/directive-selector
272
137
  selector: '[fd-layout-panel-title]',
273
- standalone: true
138
+ host: {
139
+ class: 'fd-title fd-title--h5'
140
+ }
274
141
  }]
275
- }], propDecorators: { fdLayoutPanelTitleClass: [{
276
- type: HostBinding,
277
- args: ['class']
278
- }] } });
142
+ }] });
279
143
 
280
144
  let layoutPanelUniqueId = 0;
281
- /**
282
- * Layout Panels are used to encapsulate part of the content, form elements, lists, collections, etc., on a page.
283
- */
284
145
  class LayoutPanelComponent {
285
- /** @hidden */
286
- constructor(elRef) {
287
- this.elRef = elRef;
146
+ constructor() {
147
+ /** Background image of the panel. */
148
+ this.backgroundImage = input(...(ngDevMode ? [undefined, { debugName: "backgroundImage" }] : []));
288
149
  /** Id for the layout panel element. */
289
- this.id = 'fd-layout-panel-' + layoutPanelUniqueId++;
290
- /** @hidden */
291
- this.fdLayoutPanelClass = true;
150
+ this.id = input('fd-layout-panel-' + ++layoutPanelUniqueId, ...(ngDevMode ? [{ debugName: "id" }] : []));
292
151
  /** Whether the background of the panel should be transparent. */
293
- this.transparent = false;
294
- }
295
- /** @hidden */
296
- ngOnChanges() {
297
- this._applyBackgroundImage();
298
- }
299
- /** @hidden */
300
- ngOnInit() {
301
- this._applyBackgroundImage();
302
- }
303
- /** @hidden */
304
- _applyBackgroundImage() {
305
- if (this.backgroundImage) {
306
- this.elRef.nativeElement.style['background-image'] = 'url("' + this.backgroundImage + '")';
307
- }
152
+ this.transparent = input(false, { ...(ngDevMode ? { debugName: "transparent" } : {}), transform: booleanAttribute });
153
+ /** @hidden */
154
+ this.backgroundImageUrl = computed(() => {
155
+ const image = this.backgroundImage();
156
+ return image ? `url("${image}")` : null;
157
+ }, ...(ngDevMode ? [{ debugName: "backgroundImageUrl" }] : []));
308
158
  }
309
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
310
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: LayoutPanelComponent, isStandalone: true, selector: "fd-layout-panel", inputs: { backgroundImage: "backgroundImage", id: "id", transparent: "transparent" }, host: { properties: { "class.fd-has-display-block": "true", "class.fd-layout-panel": "this.fdLayoutPanelClass", "class.fd-layout-panel--transparent": "this.transparent" } }, usesOnChanges: true, ngImport: i0, template: "<ng-content select=\"fd-layout-panel-header\"></ng-content>\n<ng-content select=\"fd-layout-panel-filters\"></ng-content>\n<ng-content select=\"fd-layout-panel-body\"></ng-content>\n<ng-content select=\"fd-layout-panel-footer\"></ng-content>\n<ng-content></ng-content>\n", styles: [".fd-layout-panel{background-color:var(--sapGroup_ContentBackground);border:0;border-radius:1rem;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0}.fd-layout-panel:after{clear:both;content:\"\";display:table}.fd-layout-panel:after,.fd-layout-panel:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel--transparent{background-color:transparent}.fd-layout-panel__header{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor);justify-content:space-between;min-height:2.5rem;padding-block:1rem;padding-inline:1rem}.fd-layout-panel__header:after,.fd-layout-panel__header:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__head{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-layout-panel__head:after,.fd-layout-panel__head:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel .fd-layout-panel__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-margin-after:0;color:var(--sapGroup_TitleTextColor);font-size:var(--sapGroup_TitleFontSize);margin-block-end:0}.fd-layout-panel .fd-layout-panel__title:after,.fd-layout-panel .fd-layout-panel__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel .fd-layout-panel__title h1,.fd-layout-panel .fd-layout-panel__title h2,.fd-layout-panel .fd-layout-panel__title h3,.fd-layout-panel .fd-layout-panel__title h4,.fd-layout-panel .fd-layout-panel__title h5,.fd-layout-panel .fd-layout-panel__title h6{color:var(--sapGroup_TitleTextColor);font-size:var(--sapGroup_Title_FontSize)}.fd-layout-panel__description{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;margin-top:.25rem;padding-block:0;padding-inline:0}.fd-layout-panel__description:after,.fd-layout-panel__description:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__actions{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapNeutralTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-layout-panel__actions:after,.fd-layout-panel__actions:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__filters{border:0;border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-block:.5rem;padding-inline:0;padding-inline:1rem;-webkit-transition:all .15s ease-in;transition:all .15s ease-in}.fd-layout-panel__filters:after,.fd-layout-panel__filters:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__filters.is-hidden{max-height:0;overflow:hidden;padding-block:0}.fd-layout-panel__body{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:100%;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-block:1rem;padding-inline:0;padding-inline:1rem}.fd-layout-panel__body:after,.fd-layout-panel__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__body--bleed,.fd-layout-panel__body--full-bleed{padding-block:0;padding-inline:0}.fd-layout-panel__body>:first-child{margin-top:0}.fd-layout-panel__body>:last-child{-webkit-margin-after:0;margin-block-end:0}.fd-layout-panel__footer{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;border-top:.0625rem solid var(--sapGroup_TitleBorderColor);justify-content:center;padding-block:.5rem;padding-inline:1rem}.fd-layout-panel__footer:after,.fd-layout-panel__footer:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__footer--end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.fd-layout-panel__footer--start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.fd-title{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;--fdTitle_Font_Size:1rem;--fdTitle_Color:var(--sapTextColor);--fdTitle_Font_Family:var(--sapFontHeaderFamily);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdTitle_Color);font-family:var(--sapFontFamily);font-family:var(--fdTitle_Font_Family);font-size:var(--sapFontSize);font-size:var(--fdTitle_Font_Size);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-title:after,.fd-title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-title--h1{--fdTitle_Font_Size:var(--sapFontHeader1Size)}.fd-title--h2{--fdTitle_Font_Size:var(--sapFontHeader2Size)}.fd-title--h3{--fdTitle_Font_Size:var(--sapFontHeader3Size)}.fd-title--h4{--fdTitle_Font_Size:var(--sapFontHeader4Size)}.fd-title--h5{--fdTitle_Font_Size:var(--sapFontHeader5Size)}.fd-title--h6{--fdTitle_Font_Size:var(--sapFontHeader6Size)}.fd-title--wrap{overflow:auto;text-overflow:clip;white-space:normal}.fd-has-display-block{display:block}\n/*! Bundled license information:\n\nfundamental-styles/dist/title.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 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*/\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
159
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
160
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: LayoutPanelComponent, isStandalone: true, selector: "fd-layout-panel", inputs: { backgroundImage: { classPropertyName: "backgroundImage", publicName: "backgroundImage", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, transparent: { classPropertyName: "transparent", publicName: "transparent", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id()", "class.fd-layout-panel--transparent": "transparent()", "style.background-image": "backgroundImageUrl()" }, classAttribute: "fd-layout-panel fd-has-display-block" }, ngImport: i0, template: "<ng-content select=\"fd-layout-panel-header\"></ng-content>\n<ng-content select=\"fd-layout-panel-filters\"></ng-content>\n<ng-content select=\"fd-layout-panel-body\"></ng-content>\n<ng-content select=\"fd-layout-panel-footer\"></ng-content>\n<ng-content></ng-content>\n", styles: [".fd-layout-panel{background-color:var(--sapGroup_ContentBackground);border:0;border-radius:1rem;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0}.fd-layout-panel:after{clear:both;content:\"\";display:table}.fd-layout-panel:after,.fd-layout-panel:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel--transparent{background-color:transparent}.fd-layout-panel__header{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor);justify-content:space-between;min-height:2.5rem;padding-block:1rem;padding-inline:1rem}.fd-layout-panel__header:after,.fd-layout-panel__header:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__head{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-layout-panel__head:after,.fd-layout-panel__head:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel .fd-layout-panel__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-margin-after:0;color:var(--sapGroup_TitleTextColor);font-size:var(--sapGroup_TitleFontSize);margin-block-end:0}.fd-layout-panel .fd-layout-panel__title:after,.fd-layout-panel .fd-layout-panel__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel .fd-layout-panel__title h1,.fd-layout-panel .fd-layout-panel__title h2,.fd-layout-panel .fd-layout-panel__title h3,.fd-layout-panel .fd-layout-panel__title h4,.fd-layout-panel .fd-layout-panel__title h5,.fd-layout-panel .fd-layout-panel__title h6{color:var(--sapGroup_TitleTextColor);font-size:var(--sapGroup_Title_FontSize)}.fd-layout-panel__description{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;margin-top:.25rem;padding-block:0;padding-inline:0}.fd-layout-panel__description:after,.fd-layout-panel__description:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__actions{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapNeutralTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-layout-panel__actions:after,.fd-layout-panel__actions:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__filters{border:0;border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-block:.5rem;padding-inline:0;padding-inline:1rem;-webkit-transition:all .15s ease-in;transition:all .15s ease-in}.fd-layout-panel__filters:after,.fd-layout-panel__filters:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__filters.is-hidden{max-height:0;overflow:hidden;padding-block:0}.fd-layout-panel__body{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:100%;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-block:1rem;padding-inline:0;padding-inline:1rem}.fd-layout-panel__body:after,.fd-layout-panel__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__body--bleed,.fd-layout-panel__body--full-bleed{padding-block:0;padding-inline:0}.fd-layout-panel__body>:first-child{margin-top:0}.fd-layout-panel__body>:last-child{-webkit-margin-after:0;margin-block-end:0}.fd-layout-panel__footer{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;border-top:.0625rem solid var(--sapGroup_TitleBorderColor);justify-content:center;padding-block:.5rem;padding-inline:1rem}.fd-layout-panel__footer:after,.fd-layout-panel__footer:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__footer--end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.fd-layout-panel__footer--start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.fd-title{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;--fdTitle_Font_Size:1rem;--fdTitle_Color:var(--sapTextColor);--fdTitle_Font_Family:var(--sapFontHeaderFamily);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdTitle_Color);font-family:var(--sapFontFamily);font-family:var(--fdTitle_Font_Family);font-size:var(--sapFontSize);font-size:var(--fdTitle_Font_Size);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-title:after,.fd-title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-title--h1{--fdTitle_Font_Size:var(--sapFontHeader1Size)}.fd-title--h2{--fdTitle_Font_Size:var(--sapFontHeader2Size)}.fd-title--h3{--fdTitle_Font_Size:var(--sapFontHeader3Size)}.fd-title--h4{--fdTitle_Font_Size:var(--sapFontHeader4Size)}.fd-title--h5{--fdTitle_Font_Size:var(--sapFontHeader5Size)}.fd-title--h6{--fdTitle_Font_Size:var(--sapFontHeader6Size)}.fd-title--wrap{overflow:auto;text-overflow:clip;white-space:normal}.fd-has-display-block{display:block}\n/*! Bundled license information:\n\nfundamental-styles/dist/title.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 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*/\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
311
161
  }
312
162
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: LayoutPanelComponent, decorators: [{
313
163
  type: Component,
314
- args: [{ selector: 'fd-layout-panel', host: {
315
- '[class.fd-has-display-block]': 'true'
316
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<ng-content select=\"fd-layout-panel-header\"></ng-content>\n<ng-content select=\"fd-layout-panel-filters\"></ng-content>\n<ng-content select=\"fd-layout-panel-body\"></ng-content>\n<ng-content select=\"fd-layout-panel-footer\"></ng-content>\n<ng-content></ng-content>\n", styles: [".fd-layout-panel{background-color:var(--sapGroup_ContentBackground);border:0;border-radius:1rem;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0}.fd-layout-panel:after{clear:both;content:\"\";display:table}.fd-layout-panel:after,.fd-layout-panel:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel--transparent{background-color:transparent}.fd-layout-panel__header{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor);justify-content:space-between;min-height:2.5rem;padding-block:1rem;padding-inline:1rem}.fd-layout-panel__header:after,.fd-layout-panel__header:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__head{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-layout-panel__head:after,.fd-layout-panel__head:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel .fd-layout-panel__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-margin-after:0;color:var(--sapGroup_TitleTextColor);font-size:var(--sapGroup_TitleFontSize);margin-block-end:0}.fd-layout-panel .fd-layout-panel__title:after,.fd-layout-panel .fd-layout-panel__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel .fd-layout-panel__title h1,.fd-layout-panel .fd-layout-panel__title h2,.fd-layout-panel .fd-layout-panel__title h3,.fd-layout-panel .fd-layout-panel__title h4,.fd-layout-panel .fd-layout-panel__title h5,.fd-layout-panel .fd-layout-panel__title h6{color:var(--sapGroup_TitleTextColor);font-size:var(--sapGroup_Title_FontSize)}.fd-layout-panel__description{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;margin-top:.25rem;padding-block:0;padding-inline:0}.fd-layout-panel__description:after,.fd-layout-panel__description:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__actions{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapNeutralTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-layout-panel__actions:after,.fd-layout-panel__actions:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__filters{border:0;border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-block:.5rem;padding-inline:0;padding-inline:1rem;-webkit-transition:all .15s ease-in;transition:all .15s ease-in}.fd-layout-panel__filters:after,.fd-layout-panel__filters:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__filters.is-hidden{max-height:0;overflow:hidden;padding-block:0}.fd-layout-panel__body{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:100%;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-block:1rem;padding-inline:0;padding-inline:1rem}.fd-layout-panel__body:after,.fd-layout-panel__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__body--bleed,.fd-layout-panel__body--full-bleed{padding-block:0;padding-inline:0}.fd-layout-panel__body>:first-child{margin-top:0}.fd-layout-panel__body>:last-child{-webkit-margin-after:0;margin-block-end:0}.fd-layout-panel__footer{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;border-top:.0625rem solid var(--sapGroup_TitleBorderColor);justify-content:center;padding-block:.5rem;padding-inline:1rem}.fd-layout-panel__footer:after,.fd-layout-panel__footer:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__footer--end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.fd-layout-panel__footer--start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.fd-title{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;--fdTitle_Font_Size:1rem;--fdTitle_Color:var(--sapTextColor);--fdTitle_Font_Family:var(--sapFontHeaderFamily);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdTitle_Color);font-family:var(--sapFontFamily);font-family:var(--fdTitle_Font_Family);font-size:var(--sapFontSize);font-size:var(--fdTitle_Font_Size);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-title:after,.fd-title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-title--h1{--fdTitle_Font_Size:var(--sapFontHeader1Size)}.fd-title--h2{--fdTitle_Font_Size:var(--sapFontHeader2Size)}.fd-title--h3{--fdTitle_Font_Size:var(--sapFontHeader3Size)}.fd-title--h4{--fdTitle_Font_Size:var(--sapFontHeader4Size)}.fd-title--h5{--fdTitle_Font_Size:var(--sapFontHeader5Size)}.fd-title--h6{--fdTitle_Font_Size:var(--sapFontHeader6Size)}.fd-title--wrap{overflow:auto;text-overflow:clip;white-space:normal}.fd-has-display-block{display:block}\n/*! Bundled license information:\n\nfundamental-styles/dist/title.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 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*/\n"] }]
317
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { backgroundImage: [{
318
- type: Input
319
- }], id: [{
320
- type: Input
321
- }], fdLayoutPanelClass: [{
322
- type: HostBinding,
323
- args: ['class.fd-layout-panel']
324
- }], transparent: [{
325
- type: Input
326
- }, {
327
- type: HostBinding,
328
- args: ['class.fd-layout-panel--transparent']
329
- }] } });
164
+ args: [{ selector: 'fd-layout-panel', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
165
+ class: 'fd-layout-panel fd-has-display-block',
166
+ '[attr.id]': 'id()',
167
+ '[class.fd-layout-panel--transparent]': 'transparent()',
168
+ '[style.background-image]': 'backgroundImageUrl()'
169
+ }, template: "<ng-content select=\"fd-layout-panel-header\"></ng-content>\n<ng-content select=\"fd-layout-panel-filters\"></ng-content>\n<ng-content select=\"fd-layout-panel-body\"></ng-content>\n<ng-content select=\"fd-layout-panel-footer\"></ng-content>\n<ng-content></ng-content>\n", styles: [".fd-layout-panel{background-color:var(--sapGroup_ContentBackground);border:0;border-radius:1rem;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0}.fd-layout-panel:after{clear:both;content:\"\";display:table}.fd-layout-panel:after,.fd-layout-panel:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel--transparent{background-color:transparent}.fd-layout-panel__header{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor);justify-content:space-between;min-height:2.5rem;padding-block:1rem;padding-inline:1rem}.fd-layout-panel__header:after,.fd-layout-panel__header:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__head{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-layout-panel__head:after,.fd-layout-panel__head:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel .fd-layout-panel__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-margin-after:0;color:var(--sapGroup_TitleTextColor);font-size:var(--sapGroup_TitleFontSize);margin-block-end:0}.fd-layout-panel .fd-layout-panel__title:after,.fd-layout-panel .fd-layout-panel__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel .fd-layout-panel__title h1,.fd-layout-panel .fd-layout-panel__title h2,.fd-layout-panel .fd-layout-panel__title h3,.fd-layout-panel .fd-layout-panel__title h4,.fd-layout-panel .fd-layout-panel__title h5,.fd-layout-panel .fd-layout-panel__title h6{color:var(--sapGroup_TitleTextColor);font-size:var(--sapGroup_Title_FontSize)}.fd-layout-panel__description{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;margin-top:.25rem;padding-block:0;padding-inline:0}.fd-layout-panel__description:after,.fd-layout-panel__description:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__actions{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapNeutralTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-layout-panel__actions:after,.fd-layout-panel__actions:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__filters{border:0;border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-block:.5rem;padding-inline:0;padding-inline:1rem;-webkit-transition:all .15s ease-in;transition:all .15s ease-in}.fd-layout-panel__filters:after,.fd-layout-panel__filters:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__filters.is-hidden{max-height:0;overflow:hidden;padding-block:0}.fd-layout-panel__body{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:100%;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-block:1rem;padding-inline:0;padding-inline:1rem}.fd-layout-panel__body:after,.fd-layout-panel__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__body--bleed,.fd-layout-panel__body--full-bleed{padding-block:0;padding-inline:0}.fd-layout-panel__body>:first-child{margin-top:0}.fd-layout-panel__body>:last-child{-webkit-margin-after:0;margin-block-end:0}.fd-layout-panel__footer{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;border-top:.0625rem solid var(--sapGroup_TitleBorderColor);justify-content:center;padding-block:.5rem;padding-inline:1rem}.fd-layout-panel__footer:after,.fd-layout-panel__footer:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__footer--end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.fd-layout-panel__footer--start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.fd-title{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;--fdTitle_Font_Size:1rem;--fdTitle_Color:var(--sapTextColor);--fdTitle_Font_Family:var(--sapFontHeaderFamily);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdTitle_Color);font-family:var(--sapFontFamily);font-family:var(--fdTitle_Font_Family);font-size:var(--sapFontSize);font-size:var(--fdTitle_Font_Size);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-title:after,.fd-title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-title--h1{--fdTitle_Font_Size:var(--sapFontHeader1Size)}.fd-title--h2{--fdTitle_Font_Size:var(--sapFontHeader2Size)}.fd-title--h3{--fdTitle_Font_Size:var(--sapFontHeader3Size)}.fd-title--h4{--fdTitle_Font_Size:var(--sapFontHeader4Size)}.fd-title--h5{--fdTitle_Font_Size:var(--sapFontHeader5Size)}.fd-title--h6{--fdTitle_Font_Size:var(--sapFontHeader6Size)}.fd-title--wrap{overflow:auto;text-overflow:clip;white-space:normal}.fd-has-display-block{display:block}\n/*! Bundled license information:\n\nfundamental-styles/dist/title.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 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*/\n"] }]
170
+ }], propDecorators: { backgroundImage: [{ type: i0.Input, args: [{ isSignal: true, alias: "backgroundImage", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], transparent: [{ type: i0.Input, args: [{ isSignal: true, alias: "transparent", required: false }] }] } });
330
171
 
331
172
  const components = [
332
173
  LayoutPanelComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-layout-panel.mjs","sources":["../../../../libs/core/layout-panel/layout-panel-actions/layout-panel-actions.component.ts","../../../../libs/core/layout-panel/layout-panel-body/layout-panel-body.component.ts","../../../../libs/core/layout-panel/layout-panel-description/layout-panel-description.component.ts","../../../../libs/core/layout-panel/layout-panel-description/layout-panel-description.component.html","../../../../libs/core/layout-panel/layout-panel-filters/layout-panel-filters.component.ts","../../../../libs/core/layout-panel/layout-panel-footer/layout-panel-footer.component.ts","../../../../libs/core/layout-panel/layout-panel-head/layout-panel-head.component.ts","../../../../libs/core/layout-panel/layout-panel-header/layout-panel-header.component.ts","../../../../libs/core/layout-panel/layout-panel-header/layout-panel-header.component.html","../../../../libs/core/layout-panel/layout-panel-title/layout-panel-title.directive.ts","../../../../libs/core/layout-panel/layout-panel.component.ts","../../../../libs/core/layout-panel/layout-panel.component.html","../../../../libs/core/layout-panel/layout-panel.module.ts","../../../../libs/core/layout-panel/fundamental-ngx-core-layout-panel.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * Layout Panel level actions such as add, remove, delete, sort, etc.\n *\n * ```html\n * <fd-layout-panel>\n * <fd-layout-panel-header>\n * <fd-layout-panel-actions>\n * <button fd-button (click)=\"action()\">Action</button>\n * </fd-layout-panel-actions>\n * </fd-layout-panel-header>\n * </fd-layout-panel>\n * ```\n */\n@Component({\n selector: 'fd-layout-panel-actions',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class LayoutPanelActionsComponent {\n /** @hidden */\n @HostBinding('class.fd-layout-panel__actions')\n fdLayoutPanelActionsClass = true;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\n/**\n * Main content of the panel can that hold lists, table, tree, text, form or any other information.\n *\n * ```html\n * <fd-layout-panel>\n * <fd-layout-panel-body>\n * Some text can go here!\n * </fd-layout-panel-body>\n * </fd-layout-panel>\n * ```\n */\n@Component({\n selector: 'fd-layout-panel-body',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.fd-has-display-block]': 'true'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class LayoutPanelBodyComponent {\n /** @hidden */\n @HostBinding('class.fd-layout-panel__body')\n fdLayoutPanelBodyClass = true;\n\n /** Whether the edges of the panel should have bleeding padding. */\n @Input()\n @HostBinding('class.fd-layout-panel__body--bleed')\n bleed = false;\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * Description of the panel title.\n *\n * ```html\n * <fd-layout-panel>\n * <fd-layout-panel-header>\n * <fd-layout-panel-head>\n * <fd-layout-panel-description>This is a description for a panel title!</fd-layout-panel-description>\n * </fd-layout-panel-head>\n * </fd-layout-panel-header>\n * </fd-layout-panel>\n * ```\n */\n@Component({\n selector: 'fd-layout-panel-description',\n templateUrl: './layout-panel-description.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class LayoutPanelDescriptionComponent {}\n","<p class=\"fd-layout-panel__description\">\n <ng-content></ng-content>\n</p>\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * Layout Panel level filters that is specific to the data being displayed within the panel.\n *\n * ```html\n * <fd-layout-panel>\n * <fd-layout-panel-filters>\n * Some text can go here!\n * </fd-layout-panel-filters>\n * </fd-layout-panel>\n * ```\n */\n@Component({\n selector: 'fd-layout-panel-filters',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.fd-has-display-block]': 'true'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class LayoutPanelFiltersComponent {\n /** @hidden */\n @HostBinding('class.fd-layout-panel__filters')\n fdLayoutPanelFiltersClass = true;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport { CssClassBuilder, Nullable, applyCssClass } from '@fundamental-ngx/cdk/utils';\n\nexport type FooterPosition = 'start' | 'end';\n\n@Component({\n selector: 'fd-layout-panel-footer',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class LayoutPanelFooterComponent implements OnInit, OnChanges, CssClassBuilder {\n /** Apply user custom styles */\n @Input()\n class: string;\n\n /**\n * Footer variations, can be start (left aligned), end (right aligned) or null for default.\n * The default value will render the content of the footer in the middle.\n */\n @Input() position: Nullable<FooterPosition>;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef<HTMLElement>) {}\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-layout-panel__footer',\n this.position ? `fd-layout-panel__footer--${this.position}` : '',\n this.class\n ];\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * Container for title and description.\n *\n * ```html\n * <fd-layout-panel>\n * <fd-layout-panel-header>\n * <fd-layout-panel-head>\n * <fd-layout-panel-title>Title!</fd-layout-panel-title>\n * </fd-layout-panel-head>\n * </fd-layout-panel-header>\n * </fd-layout-panel>\n * ```\n */\n@Component({\n selector: 'fd-layout-panel-head',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class LayoutPanelHeadComponent {\n /** @hidden */\n @HostBinding('class.fd-layout-panel__head')\n fdLayoutPanelHeadClass = true;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n/**\n * Header of the panel. Contains a head and actions.\n *\n * ```html\n * <fd-layout-panel>\n * <fd-layout-panel-header>\n * <fd-layout-panel-head>\n * <fd-layout-panel-title>Title!</fd-layout-panel-title>\n * </fd-layout-panel-head>\n * </fd-layout-panel-header>\n * </fd-layout-panel>\n * ```\n */\n@Component({\n selector: 'fd-layout-panel-header',\n templateUrl: './layout-panel-header.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class LayoutPanelHeaderComponent {\n /** @hidden */\n @HostBinding('class.fd-layout-panel__header')\n fdLayoutPanelHeaderClass = true;\n}\n","<ng-content select=\"fd-layout-panel-head\"></ng-content>\n<ng-content select=\"fd-layout-panel-actions\"></ng-content>\n","import { Directive, HostBinding } from '@angular/core';\n\n/**\n * Applies the panel title style to a header element. It can be used with any header level.\n *\n * ```html\n * <h1 fd-layout-panel-title>Layout Panel Title</h1>\n * <h3 fd-layout-panel-title>Layout Panel Title</h3>\n * ```\n */\n@Directive({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-layout-panel-title]',\n standalone: true\n})\nexport class LayoutPanelTitleDirective {\n /** @hidden */\n @HostBinding('class')\n fdLayoutPanelTitleClass = 'fd-title fd-title--h5';\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\n\nlet layoutPanelUniqueId = 0;\n\n/**\n * Layout Panels are used to encapsulate part of the content, form elements, lists, collections, etc., on a page.\n */\n@Component({\n selector: 'fd-layout-panel',\n templateUrl: './layout-panel.component.html',\n host: {\n '[class.fd-has-display-block]': 'true'\n },\n encapsulation: ViewEncapsulation.None,\n styleUrl: './layout-panel.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class LayoutPanelComponent implements OnChanges, OnInit {\n /** @Input Background image of the panel. */\n @Input()\n backgroundImage: string;\n\n /** Id for the layout panel element. */\n @Input()\n id: string = 'fd-layout-panel-' + layoutPanelUniqueId++;\n\n /** @hidden */\n @HostBinding('class.fd-layout-panel')\n fdLayoutPanelClass = true;\n\n /** Whether the background of the panel should be transparent. */\n @Input()\n @HostBinding('class.fd-layout-panel--transparent')\n transparent = false;\n\n /** @hidden */\n constructor(private elRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this._applyBackgroundImage();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._applyBackgroundImage();\n }\n\n /** @hidden */\n private _applyBackgroundImage(): void {\n if (this.backgroundImage) {\n (this.elRef.nativeElement as HTMLElement).style['background-image'] = 'url(\"' + this.backgroundImage + '\")';\n }\n }\n}\n","<ng-content select=\"fd-layout-panel-header\"></ng-content>\n<ng-content select=\"fd-layout-panel-filters\"></ng-content>\n<ng-content select=\"fd-layout-panel-body\"></ng-content>\n<ng-content select=\"fd-layout-panel-footer\"></ng-content>\n<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\n\nimport { LayoutPanelActionsComponent } from './layout-panel-actions/layout-panel-actions.component';\nimport { LayoutPanelBodyComponent } from './layout-panel-body/layout-panel-body.component';\nimport { LayoutPanelDescriptionComponent } from './layout-panel-description/layout-panel-description.component';\nimport { LayoutPanelFiltersComponent } from './layout-panel-filters/layout-panel-filters.component';\nimport { LayoutPanelFooterComponent } from './layout-panel-footer/layout-panel-footer.component';\nimport { LayoutPanelHeadComponent } from './layout-panel-head/layout-panel-head.component';\nimport { LayoutPanelHeaderComponent } from './layout-panel-header/layout-panel-header.component';\nimport { LayoutPanelTitleDirective } from './layout-panel-title/layout-panel-title.directive';\nimport { LayoutPanelComponent } from './layout-panel.component';\n\nconst components = [\n LayoutPanelComponent,\n LayoutPanelHeaderComponent,\n LayoutPanelHeadComponent,\n LayoutPanelTitleDirective,\n LayoutPanelDescriptionComponent,\n LayoutPanelActionsComponent,\n LayoutPanelFiltersComponent,\n LayoutPanelBodyComponent,\n LayoutPanelFooterComponent\n];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class LayoutPanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-layout-panel.mjs","sources":["../../../../libs/core/layout-panel/layout-panel-actions/layout-panel-actions.component.ts","../../../../libs/core/layout-panel/layout-panel-body/layout-panel-body.component.ts","../../../../libs/core/layout-panel/layout-panel-description/layout-panel-description.component.ts","../../../../libs/core/layout-panel/layout-panel-description/layout-panel-description.component.html","../../../../libs/core/layout-panel/layout-panel-filters/layout-panel-filters.component.ts","../../../../libs/core/layout-panel/layout-panel-footer/layout-panel-footer.component.ts","../../../../libs/core/layout-panel/layout-panel-head/layout-panel-head.component.ts","../../../../libs/core/layout-panel/layout-panel-header/layout-panel-header.component.ts","../../../../libs/core/layout-panel/layout-panel-header/layout-panel-header.component.html","../../../../libs/core/layout-panel/layout-panel-title/layout-panel-title.directive.ts","../../../../libs/core/layout-panel/layout-panel.component.ts","../../../../libs/core/layout-panel/layout-panel.component.html","../../../../libs/core/layout-panel/layout-panel.module.ts","../../../../libs/core/layout-panel/fundamental-ngx-core-layout-panel.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n@Component({\n selector: 'fd-layout-panel-actions',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-layout-panel__actions'\n }\n})\nexport class LayoutPanelActionsComponent {}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\n@Component({\n selector: 'fd-layout-panel-body',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-layout-panel__body fd-has-display-block',\n '[class.fd-layout-panel__body--bleed]': 'bleed()'\n }\n})\nexport class LayoutPanelBodyComponent {\n /**\n * Whether the edges of the panel should have bleeding padding.\n * @default false\n */\n readonly bleed = input(false, { transform: booleanAttribute });\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n@Component({\n selector: 'fd-layout-panel-description',\n templateUrl: './layout-panel-description.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutPanelDescriptionComponent {}\n","<p class=\"fd-layout-panel__description\">\n <ng-content></ng-content>\n</p>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n@Component({\n selector: 'fd-layout-panel-filters',\n template: `<ng-content></ng-content>`,\n host: {\n class: 'fd-layout-panel__filters fd-has-display-block'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutPanelFiltersComponent {}\n","import { ChangeDetectionStrategy, Component, ElementRef, inject, input, ViewEncapsulation } from '@angular/core';\nimport { HasElementRef } from '@fundamental-ngx/cdk/utils';\n\nexport type FooterPosition = 'start' | 'end';\n\n@Component({\n selector: 'fd-layout-panel-footer',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-layout-panel__footer',\n '[class.fd-layout-panel__footer--start]': 'position() === \"start\"',\n '[class.fd-layout-panel__footer--end]': 'position() === \"end\"'\n }\n})\nexport class LayoutPanelFooterComponent implements HasElementRef {\n /**\n * Footer variations, can be start (left aligned), end (right aligned) or null for default.\n * The default value will render the content of the footer in the middle.\n */\n position = input<FooterPosition | null>(null);\n\n /** @hidden */\n readonly elementRef = inject(ElementRef);\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-layout-panel-head',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-layout-panel__head'\n }\n})\nexport class LayoutPanelHeadComponent {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-layout-panel-header',\n templateUrl: './layout-panel-header.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-layout-panel__header'\n }\n})\nexport class LayoutPanelHeaderComponent {}\n","<ng-content select=\"fd-layout-panel-head\"></ng-content>\n<ng-content select=\"fd-layout-panel-actions\"></ng-content>\n","import { Directive } from '@angular/core';\n\n@Directive({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-layout-panel-title]',\n host: {\n class: 'fd-title fd-title--h5'\n }\n})\nexport class LayoutPanelTitleDirective {}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n ViewEncapsulation\n} from '@angular/core';\n\nlet layoutPanelUniqueId = 0;\n\n@Component({\n selector: 'fd-layout-panel',\n templateUrl: './layout-panel.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrl: './layout-panel.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-layout-panel fd-has-display-block',\n '[attr.id]': 'id()',\n '[class.fd-layout-panel--transparent]': 'transparent()',\n '[style.background-image]': 'backgroundImageUrl()'\n }\n})\nexport class LayoutPanelComponent {\n /** Background image of the panel. */\n readonly backgroundImage = input<string | null>();\n\n /** Id for the layout panel element. */\n readonly id = input('fd-layout-panel-' + ++layoutPanelUniqueId);\n\n /** Whether the background of the panel should be transparent. */\n readonly transparent = input(false, { transform: booleanAttribute });\n\n /** @hidden */\n protected readonly backgroundImageUrl = computed(() => {\n const image = this.backgroundImage();\n return image ? `url(\"${image}\")` : null;\n });\n}\n","<ng-content select=\"fd-layout-panel-header\"></ng-content>\n<ng-content select=\"fd-layout-panel-filters\"></ng-content>\n<ng-content select=\"fd-layout-panel-body\"></ng-content>\n<ng-content select=\"fd-layout-panel-footer\"></ng-content>\n<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\n\nimport { LayoutPanelActionsComponent } from './layout-panel-actions/layout-panel-actions.component';\nimport { LayoutPanelBodyComponent } from './layout-panel-body/layout-panel-body.component';\nimport { LayoutPanelDescriptionComponent } from './layout-panel-description/layout-panel-description.component';\nimport { LayoutPanelFiltersComponent } from './layout-panel-filters/layout-panel-filters.component';\nimport { LayoutPanelFooterComponent } from './layout-panel-footer/layout-panel-footer.component';\nimport { LayoutPanelHeadComponent } from './layout-panel-head/layout-panel-head.component';\nimport { LayoutPanelHeaderComponent } from './layout-panel-header/layout-panel-header.component';\nimport { LayoutPanelTitleDirective } from './layout-panel-title/layout-panel-title.directive';\nimport { LayoutPanelComponent } from './layout-panel.component';\n\nconst components = [\n LayoutPanelComponent,\n LayoutPanelHeaderComponent,\n LayoutPanelHeadComponent,\n LayoutPanelTitleDirective,\n LayoutPanelDescriptionComponent,\n LayoutPanelActionsComponent,\n LayoutPanelFiltersComponent,\n LayoutPanelBodyComponent,\n LayoutPanelFooterComponent\n];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class LayoutPanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core",
3
- "version": "0.59.1-rc.21",
3
+ "version": "0.59.1-rc.22",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "ng-update": {
6
6
  "migrations": "./schematics/migrations.json"
@@ -23,8 +23,8 @@
23
23
  "@angular/forms": "^21.0.0",
24
24
  "@angular/platform-browser": "^21.0.0",
25
25
  "@angular/router": "^21.0.0",
26
- "@fundamental-ngx/cdk": "0.59.1-rc.21",
27
- "@fundamental-ngx/i18n": "0.59.1-rc.21",
26
+ "@fundamental-ngx/cdk": "0.59.1-rc.22",
27
+ "@fundamental-ngx/i18n": "0.59.1-rc.22",
28
28
  "@sap-theming/theming-base-content": "^11.32.0",
29
29
  "fundamental-styles": "0.40.1",
30
30
  "rxjs": "^7.8.0"
@@ -1,183 +1,71 @@
1
1
  import * as i0 from '@angular/core';
2
- import { OnInit, OnChanges, ElementRef } from '@angular/core';
3
- import { CssClassBuilder, Nullable } from '@fundamental-ngx/cdk/utils';
2
+ import { ElementRef } from '@angular/core';
3
+ import { HasElementRef } from '@fundamental-ngx/cdk/utils';
4
4
 
5
- /**
6
- * Layout Panel level actions such as add, remove, delete, sort, etc.
7
- *
8
- * ```html
9
- * <fd-layout-panel>
10
- * <fd-layout-panel-header>
11
- * <fd-layout-panel-actions>
12
- * <button fd-button (click)="action()">Action</button>
13
- * </fd-layout-panel-actions>
14
- * </fd-layout-panel-header>
15
- * </fd-layout-panel>
16
- * ```
17
- */
18
5
  declare class LayoutPanelActionsComponent {
19
- /** @hidden */
20
- fdLayoutPanelActionsClass: boolean;
21
6
  static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelActionsComponent, never>;
22
7
  static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelActionsComponent, "fd-layout-panel-actions", never, {}, {}, never, ["*"], true, never>;
23
8
  }
24
9
 
25
- /**
26
- * Main content of the panel can that hold lists, table, tree, text, form or any other information.
27
- *
28
- * ```html
29
- * <fd-layout-panel>
30
- * <fd-layout-panel-body>
31
- * Some text can go here!
32
- * </fd-layout-panel-body>
33
- * </fd-layout-panel>
34
- * ```
35
- */
36
10
  declare class LayoutPanelBodyComponent {
37
- /** @hidden */
38
- fdLayoutPanelBodyClass: boolean;
39
- /** Whether the edges of the panel should have bleeding padding. */
40
- bleed: boolean;
11
+ /**
12
+ * Whether the edges of the panel should have bleeding padding.
13
+ * @default false
14
+ */
15
+ readonly bleed: i0.InputSignalWithTransform<boolean, unknown>;
41
16
  static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelBodyComponent, never>;
42
- static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelBodyComponent, "fd-layout-panel-body", never, { "bleed": { "alias": "bleed"; "required": false; }; }, {}, never, ["*"], true, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelBodyComponent, "fd-layout-panel-body", never, { "bleed": { "alias": "bleed"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
43
18
  }
44
19
 
45
- /**
46
- * Description of the panel title.
47
- *
48
- * ```html
49
- * <fd-layout-panel>
50
- * <fd-layout-panel-header>
51
- * <fd-layout-panel-head>
52
- * <fd-layout-panel-description>This is a description for a panel title!</fd-layout-panel-description>
53
- * </fd-layout-panel-head>
54
- * </fd-layout-panel-header>
55
- * </fd-layout-panel>
56
- * ```
57
- */
58
20
  declare class LayoutPanelDescriptionComponent {
59
21
  static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelDescriptionComponent, never>;
60
22
  static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelDescriptionComponent, "fd-layout-panel-description", never, {}, {}, never, ["*"], true, never>;
61
23
  }
62
24
 
63
- /**
64
- * Layout Panel level filters that is specific to the data being displayed within the panel.
65
- *
66
- * ```html
67
- * <fd-layout-panel>
68
- * <fd-layout-panel-filters>
69
- * Some text can go here!
70
- * </fd-layout-panel-filters>
71
- * </fd-layout-panel>
72
- * ```
73
- */
74
25
  declare class LayoutPanelFiltersComponent {
75
- /** @hidden */
76
- fdLayoutPanelFiltersClass: boolean;
77
26
  static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelFiltersComponent, never>;
78
27
  static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelFiltersComponent, "fd-layout-panel-filters", never, {}, {}, never, ["*"], true, never>;
79
28
  }
80
29
 
81
30
  type FooterPosition = 'start' | 'end';
82
- declare class LayoutPanelFooterComponent implements OnInit, OnChanges, CssClassBuilder {
83
- readonly elementRef: ElementRef<HTMLElement>;
84
- /** Apply user custom styles */
85
- class: string;
31
+ declare class LayoutPanelFooterComponent implements HasElementRef {
86
32
  /**
87
33
  * Footer variations, can be start (left aligned), end (right aligned) or null for default.
88
34
  * The default value will render the content of the footer in the middle.
89
35
  */
90
- position: Nullable<FooterPosition>;
91
- /** @hidden */
92
- constructor(elementRef: ElementRef<HTMLElement>);
93
- /** @hidden */
94
- buildComponentCssClass(): string[];
95
- /** @hidden */
96
- ngOnInit(): void;
36
+ position: i0.InputSignal<FooterPosition | null>;
97
37
  /** @hidden */
98
- ngOnChanges(): void;
38
+ readonly elementRef: ElementRef<any>;
99
39
  static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelFooterComponent, never>;
100
- static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelFooterComponent, "fd-layout-panel-footer", never, { "class": { "alias": "class"; "required": false; }; "position": { "alias": "position"; "required": false; }; }, {}, never, ["*"], true, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelFooterComponent, "fd-layout-panel-footer", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
101
41
  }
102
42
 
103
- /**
104
- * Container for title and description.
105
- *
106
- * ```html
107
- * <fd-layout-panel>
108
- * <fd-layout-panel-header>
109
- * <fd-layout-panel-head>
110
- * <fd-layout-panel-title>Title!</fd-layout-panel-title>
111
- * </fd-layout-panel-head>
112
- * </fd-layout-panel-header>
113
- * </fd-layout-panel>
114
- * ```
115
- */
116
43
  declare class LayoutPanelHeadComponent {
117
- /** @hidden */
118
- fdLayoutPanelHeadClass: boolean;
119
44
  static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelHeadComponent, never>;
120
45
  static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelHeadComponent, "fd-layout-panel-head", never, {}, {}, never, ["*"], true, never>;
121
46
  }
122
47
 
123
- /**
124
- * Header of the panel. Contains a head and actions.
125
- *
126
- * ```html
127
- * <fd-layout-panel>
128
- * <fd-layout-panel-header>
129
- * <fd-layout-panel-head>
130
- * <fd-layout-panel-title>Title!</fd-layout-panel-title>
131
- * </fd-layout-panel-head>
132
- * </fd-layout-panel-header>
133
- * </fd-layout-panel>
134
- * ```
135
- */
136
48
  declare class LayoutPanelHeaderComponent {
137
- /** @hidden */
138
- fdLayoutPanelHeaderClass: boolean;
139
49
  static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelHeaderComponent, never>;
140
50
  static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelHeaderComponent, "fd-layout-panel-header", never, {}, {}, never, ["fd-layout-panel-head", "fd-layout-panel-actions"], true, never>;
141
51
  }
142
52
 
143
- /**
144
- * Applies the panel title style to a header element. It can be used with any header level.
145
- *
146
- * ```html
147
- * <h1 fd-layout-panel-title>Layout Panel Title</h1>
148
- * <h3 fd-layout-panel-title>Layout Panel Title</h3>
149
- * ```
150
- */
151
53
  declare class LayoutPanelTitleDirective {
152
- /** @hidden */
153
- fdLayoutPanelTitleClass: string;
154
54
  static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelTitleDirective, never>;
155
55
  static ɵdir: i0.ɵɵDirectiveDeclaration<LayoutPanelTitleDirective, "[fd-layout-panel-title]", never, {}, {}, never, never, true, never>;
156
56
  }
157
57
 
158
- /**
159
- * Layout Panels are used to encapsulate part of the content, form elements, lists, collections, etc., on a page.
160
- */
161
- declare class LayoutPanelComponent implements OnChanges, OnInit {
162
- private elRef;
163
- /** @Input Background image of the panel. */
164
- backgroundImage: string;
58
+ declare class LayoutPanelComponent {
59
+ /** Background image of the panel. */
60
+ readonly backgroundImage: i0.InputSignal<string | null | undefined>;
165
61
  /** Id for the layout panel element. */
166
- id: string;
167
- /** @hidden */
168
- fdLayoutPanelClass: boolean;
62
+ readonly id: i0.InputSignal<string>;
169
63
  /** Whether the background of the panel should be transparent. */
170
- transparent: boolean;
171
- /** @hidden */
172
- constructor(elRef: ElementRef);
173
- /** @hidden */
174
- ngOnChanges(): void;
175
- /** @hidden */
176
- ngOnInit(): void;
64
+ readonly transparent: i0.InputSignalWithTransform<boolean, unknown>;
177
65
  /** @hidden */
178
- private _applyBackgroundImage;
66
+ protected readonly backgroundImageUrl: i0.Signal<string | null>;
179
67
  static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelComponent, never>;
180
- static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelComponent, "fd-layout-panel", never, { "backgroundImage": { "alias": "backgroundImage"; "required": false; }; "id": { "alias": "id"; "required": false; }; "transparent": { "alias": "transparent"; "required": false; }; }, {}, never, ["fd-layout-panel-header", "fd-layout-panel-filters", "fd-layout-panel-body", "fd-layout-panel-footer", "*"], true, never>;
68
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelComponent, "fd-layout-panel", never, { "backgroundImage": { "alias": "backgroundImage"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "transparent": { "alias": "transparent"; "required": false; "isSignal": true; }; }, {}, never, ["fd-layout-panel-header", "fd-layout-panel-filters", "fd-layout-panel-body", "fd-layout-panel-footer", "*"], true, never>;
181
69
  }
182
70
 
183
71
  /**