@fundamental-ngx/ui5-webcomponents 0.63.0-rc.8 → 0.63.0

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 (67) hide show
  1. package/fesm2022/fundamental-ngx-ui5-webcomponents-combo-box-item.mjs +24 -3
  2. package/fesm2022/fundamental-ngx-ui5-webcomponents-combo-box-item.mjs.map +1 -1
  3. package/fesm2022/fundamental-ngx-ui5-webcomponents-form-group.mjs +11 -2
  4. package/fesm2022/fundamental-ngx-ui5-webcomponents-form-group.mjs.map +1 -1
  5. package/fesm2022/fundamental-ngx-ui5-webcomponents-form.mjs +4 -1
  6. package/fesm2022/fundamental-ngx-ui5-webcomponents-form.mjs.map +1 -1
  7. package/fesm2022/fundamental-ngx-ui5-webcomponents-icon.mjs +37 -0
  8. package/fesm2022/fundamental-ngx-ui5-webcomponents-icon.mjs.map +1 -1
  9. package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-custom.mjs +18 -2
  10. package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-custom.mjs.map +1 -1
  11. package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-group-header.mjs +24 -3
  12. package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-group-header.mjs.map +1 -1
  13. package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-standard.mjs +18 -2
  14. package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-standard.mjs.map +1 -1
  15. package/fesm2022/fundamental-ngx-ui5-webcomponents-menu-item.mjs +18 -2
  16. package/fesm2022/fundamental-ngx-ui5-webcomponents-menu-item.mjs.map +1 -1
  17. package/fesm2022/fundamental-ngx-ui5-webcomponents-menu-separator.mjs +24 -3
  18. package/fesm2022/fundamental-ngx-ui5-webcomponents-menu-separator.mjs.map +1 -1
  19. package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-combo-box-item.mjs +24 -3
  20. package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-combo-box-item.mjs.map +1 -1
  21. package/fesm2022/fundamental-ngx-ui5-webcomponents-option-custom.mjs +24 -3
  22. package/fesm2022/fundamental-ngx-ui5-webcomponents-option-custom.mjs.map +1 -1
  23. package/fesm2022/fundamental-ngx-ui5-webcomponents-option.mjs +24 -3
  24. package/fesm2022/fundamental-ngx-ui5-webcomponents-option.mjs.map +1 -1
  25. package/fesm2022/fundamental-ngx-ui5-webcomponents-range-slider.mjs +22 -3
  26. package/fesm2022/fundamental-ngx-ui5-webcomponents-range-slider.mjs.map +1 -1
  27. package/fesm2022/fundamental-ngx-ui5-webcomponents-slider.mjs +21 -2
  28. package/fesm2022/fundamental-ngx-ui5-webcomponents-slider.mjs.map +1 -1
  29. package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-item-custom.mjs +24 -3
  30. package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-item-custom.mjs.map +1 -1
  31. package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-item.mjs +24 -3
  32. package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-item.mjs.map +1 -1
  33. package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-list-item.mjs +18 -2
  34. package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-list-item.mjs.map +1 -1
  35. package/fesm2022/fundamental-ngx-ui5-webcomponents-tab.mjs +22 -3
  36. package/fesm2022/fundamental-ngx-ui5-webcomponents-tab.mjs.map +1 -1
  37. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-group-row.mjs +133 -0
  38. package/fesm2022/fundamental-ngx-ui5-webcomponents-table-group-row.mjs.map +1 -0
  39. package/fesm2022/fundamental-ngx-ui5-webcomponents-tree-item-custom.mjs +18 -2
  40. package/fesm2022/fundamental-ngx-ui5-webcomponents-tree-item-custom.mjs.map +1 -1
  41. package/fesm2022/fundamental-ngx-ui5-webcomponents-tree-item.mjs +18 -2
  42. package/fesm2022/fundamental-ngx-ui5-webcomponents-tree-item.mjs.map +1 -1
  43. package/fesm2022/fundamental-ngx-ui5-webcomponents.mjs +532 -39
  44. package/fesm2022/fundamental-ngx-ui5-webcomponents.mjs.map +1 -1
  45. package/package.json +10 -6
  46. package/types/fundamental-ngx-ui5-webcomponents-combo-box-item.d.ts +8 -1
  47. package/types/fundamental-ngx-ui5-webcomponents-form-group.d.ts +9 -1
  48. package/types/fundamental-ngx-ui5-webcomponents-form.d.ts +3 -0
  49. package/types/fundamental-ngx-ui5-webcomponents-icon.d.ts +35 -0
  50. package/types/fundamental-ngx-ui5-webcomponents-list-item-custom.d.ts +15 -1
  51. package/types/fundamental-ngx-ui5-webcomponents-list-item-group-header.d.ts +8 -1
  52. package/types/fundamental-ngx-ui5-webcomponents-list-item-standard.d.ts +15 -1
  53. package/types/fundamental-ngx-ui5-webcomponents-menu-item.d.ts +15 -1
  54. package/types/fundamental-ngx-ui5-webcomponents-menu-separator.d.ts +8 -1
  55. package/types/fundamental-ngx-ui5-webcomponents-multi-combo-box-item.d.ts +8 -1
  56. package/types/fundamental-ngx-ui5-webcomponents-option-custom.d.ts +8 -1
  57. package/types/fundamental-ngx-ui5-webcomponents-option.d.ts +8 -1
  58. package/types/fundamental-ngx-ui5-webcomponents-range-slider.d.ts +20 -1
  59. package/types/fundamental-ngx-ui5-webcomponents-slider.d.ts +20 -1
  60. package/types/fundamental-ngx-ui5-webcomponents-suggestion-item-custom.d.ts +11 -4
  61. package/types/fundamental-ngx-ui5-webcomponents-suggestion-item.d.ts +8 -1
  62. package/types/fundamental-ngx-ui5-webcomponents-suggestion-list-item.d.ts +15 -1
  63. package/types/fundamental-ngx-ui5-webcomponents-tab.d.ts +6 -1
  64. package/types/fundamental-ngx-ui5-webcomponents-table-group-row.d.ts +75 -0
  65. package/types/fundamental-ngx-ui5-webcomponents-tree-item-custom.d.ts +15 -1
  66. package/types/fundamental-ngx-ui5-webcomponents-tree-item.d.ts +15 -1
  67. package/types/fundamental-ngx-ui5-webcomponents.d.ts +309 -19
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, inject, ElementRef, Injector, runInInjectionContext, effect, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { input, output, inject, ElementRef, Injector, runInInjectionContext, effect, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import '@ui5/webcomponents/dist/SuggestionItem.js';
4
4
  import { ContentDensityObserver, contentDensityObserverProviders, ContentDensityMode } from '@fundamental-ngx/core/content-density';
5
5
 
@@ -13,6 +13,12 @@ class SuggestionItem {
13
13
  * Defines the text of the component.
14
14
  */
15
15
  this.text = input(...(ngDevMode ? [undefined, { debugName: "text" }] : [])); // className is now passed
16
+ /**
17
+ * Fired when the component is activated either with a mouse/tap or by using the Enter or Space key.
18
+
19
+ **Note:** The event will not be fired if the `disabled` property is set to `true`.
20
+ */
21
+ this.ui5Click = output();
16
22
  this.elementRef = inject(ElementRef);
17
23
  this.injector = inject(Injector);
18
24
  /**
@@ -49,9 +55,24 @@ class SuggestionItem {
49
55
  });
50
56
  }
51
57
  }
58
+ const outputsToSync = [
59
+ 'ui5Click',
60
+ ];
61
+ // Synchronize outputs (events)
62
+ for (const outputName of outputsToSync) {
63
+ // Map Angular output name to UI5 web component event name
64
+ const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
65
+ // Ensure the output property exists and has an emit function before adding listener
66
+ if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
67
+ // Cast the listener to the correct type to satisfy TypeScript
68
+ wcElement.addEventListener(eventName, (e) => {
69
+ this[outputName].emit(e);
70
+ });
71
+ }
72
+ }
52
73
  }
53
74
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SuggestionItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: SuggestionItem, isStandalone: true, selector: "ui5-suggestion-item, [ui5-suggestion-item]", inputs: { additionalText: { classPropertyName: "additionalText", publicName: "additionalText", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: SuggestionItem, isStandalone: true, selector: "ui5-suggestion-item, [ui5-suggestion-item]", inputs: { additionalText: { classPropertyName: "additionalText", publicName: "additionalText", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
55
76
  contentDensityObserverProviders({
56
77
  supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]
57
78
  })
@@ -71,7 +92,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
71
92
  ],
72
93
  changeDetection: ChangeDetectionStrategy.OnPush,
73
94
  }]
74
- }], propDecorators: { additionalText: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalText", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }] } });
95
+ }], propDecorators: { additionalText: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalText", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], ui5Click: [{ type: i0.Output, args: ["ui5Click"] }] } });
75
96
 
76
97
  /**
77
98
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-ui5-webcomponents-suggestion-item.mjs","sources":["../../../../libs/ui5-webcomponents/suggestion-item/index.ts","../../../../libs/ui5-webcomponents/suggestion-item/fundamental-ngx-ui5-webcomponents-suggestion-item.ts"],"sourcesContent":["\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n input,\n output,\n AfterViewInit,\n effect,\n runInInjectionContext,\n inject,\n Injector,\n booleanAttribute,\n computed,\n signal\n} from '@angular/core';\nimport '@ui5/webcomponents/dist/SuggestionItem.js';\nimport { default as _SuggestionItem } from '@ui5/webcomponents/dist/SuggestionItem.js';\nimport { UI5CustomEvent } from '@ui5/webcomponents-base';\nimport {\n ContentDensityObserver,\n contentDensityObserverProviders,\n ContentDensityMode\n} from '@fundamental-ngx/core/content-density';\n\n\n\n@Component({\n standalone: true,\n selector: 'ui5-suggestion-item, [ui5-suggestion-item]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5SuggestionItem',\n providers: [\n contentDensityObserverProviders({\n supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]\n })\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuggestionItem implements AfterViewInit {\n\n /**\n * Defines the `additionalText`, displayed in the end of the item.\n */\n additionalText = input<typeof _SuggestionItem.prototype.additionalText | undefined>();\n\n /**\n * Defines the text of the component.\n */\n text = input<typeof _SuggestionItem.prototype.text | undefined>(); // className is now passed\n\n\n\n\n\n public elementRef: ElementRef<_SuggestionItem> = inject(ElementRef);\n public injector = inject(Injector);\n\n /**\n * Content density observer is injected to activate automatic CSS class and\n * UI5 attribute application. The observer self-initializes, no explicit subscribe() needed.\n * @private\n */\n private readonly _contentDensityObserver = inject(ContentDensityObserver);\n\n get element(): _SuggestionItem {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n const wcElement = this.element;\n \n const inputsToSync = [\n 'additionalText',\n 'text',\n ];\n \n // Synchronize inputs (properties)\n for (const inputName of inputsToSync) {\n // Find the corresponding camelCase signal property on the Angular component\n const signalName = inputName.replace(/-./g, (x: string) => x[1].toUpperCase());\n\n // Use the Injector to run the effect in the correct context\n if (this[signalName] && typeof this[signalName] === 'function') {\n runInInjectionContext(this.injector, () => {\n effect(() => {\n // Read the signal value\n const value = this[signalName]();\n if (wcElement) {\n // Write the value to the Web Component's property\n wcElement[inputName] = value;\n }\n });\n });\n }\n }\n \n \n \n\n }\n}\n\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-ui5-webcomponents-suggestion-item.mjs","sources":["../../../../libs/ui5-webcomponents/suggestion-item/index.ts","../../../../libs/ui5-webcomponents/suggestion-item/fundamental-ngx-ui5-webcomponents-suggestion-item.ts"],"sourcesContent":["\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n input,\n output,\n AfterViewInit,\n effect,\n runInInjectionContext,\n inject,\n Injector,\n booleanAttribute,\n computed,\n signal\n} from '@angular/core';\nimport '@ui5/webcomponents/dist/SuggestionItem.js';\nimport { default as _SuggestionItem } from '@ui5/webcomponents/dist/SuggestionItem.js';\nimport { UI5CustomEvent } from '@ui5/webcomponents-base';\nimport {\n ContentDensityObserver,\n contentDensityObserverProviders,\n ContentDensityMode\n} from '@fundamental-ngx/core/content-density';\n\n\n\n@Component({\n standalone: true,\n selector: 'ui5-suggestion-item, [ui5-suggestion-item]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5SuggestionItem',\n providers: [\n contentDensityObserverProviders({\n supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]\n })\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuggestionItem implements AfterViewInit {\n\n /**\n * Defines the `additionalText`, displayed in the end of the item.\n */\n additionalText = input<typeof _SuggestionItem.prototype.additionalText | undefined>();\n\n /**\n * Defines the text of the component.\n */\n text = input<typeof _SuggestionItem.prototype.text | undefined>(); // className is now passed\n\n\n\n /**\n * Fired when the component is activated either with a mouse/tap or by using the Enter or Space key.\n\n**Note:** The event will not be fired if the `disabled` property is set to `true`.\n */\n ui5Click = output<UI5CustomEvent<_SuggestionItem, 'click'>>();\n\n\n public elementRef: ElementRef<_SuggestionItem> = inject(ElementRef);\n public injector = inject(Injector);\n\n /**\n * Content density observer is injected to activate automatic CSS class and\n * UI5 attribute application. The observer self-initializes, no explicit subscribe() needed.\n * @private\n */\n private readonly _contentDensityObserver = inject(ContentDensityObserver);\n\n get element(): _SuggestionItem {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n const wcElement = this.element;\n \n const inputsToSync = [\n 'additionalText',\n 'text',\n ];\n \n // Synchronize inputs (properties)\n for (const inputName of inputsToSync) {\n // Find the corresponding camelCase signal property on the Angular component\n const signalName = inputName.replace(/-./g, (x: string) => x[1].toUpperCase());\n\n // Use the Injector to run the effect in the correct context\n if (this[signalName] && typeof this[signalName] === 'function') {\n runInInjectionContext(this.injector, () => {\n effect(() => {\n // Read the signal value\n const value = this[signalName]();\n if (wcElement) {\n // Write the value to the Web Component's property\n wcElement[inputName] = value;\n }\n });\n });\n }\n }\n \n \n const outputsToSync = [\n 'ui5Click',\n ];\n \n // Synchronize outputs (events)\n for (const outputName of outputsToSync) {\n // Map Angular output name to UI5 web component event name\n const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);\n // Ensure the output property exists and has an emit function before adding listener\n if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {\n // Cast the listener to the correct type to satisfy TypeScript\n wcElement.addEventListener(eventName, (e) => {\n\n this[outputName].emit(e as CustomEvent<any>);\n });\n }\n }\n \n\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -21,6 +21,14 @@ class SuggestionListItem {
21
21
  Note: If not provided a default text alternative will be set, if present.
22
22
  */
23
23
  this.accessibleName = input(...(ngDevMode ? [undefined, { debugName: "accessibleName" }] : []));
24
+ /**
25
+ * Used to define the role of the list item.
26
+
27
+ **Note:** If not set, the role is automatically inherited from the parent `ui5-list` based on its `accessible-role` property
28
+ (e.g. `Menu` -> `MenuItem`, `Tree` -> `TreeItem`, `ListBox` -> `Option`).
29
+ An explicitly set `accessible-role` on the list item takes precedence over the inherited role.
30
+ */
31
+ this.accessibleRole = input(...(ngDevMode ? [undefined, { debugName: "accessibleRole" }] : []));
24
32
  /**
25
33
  * Defines the `additionalText`, displayed in the end of the list item.
26
34
  */
@@ -95,6 +103,12 @@ class SuggestionListItem {
95
103
  - `Normal` - The text will wrap (without truncation).
96
104
  */
97
105
  this.wrappingType = input("None", ...(ngDevMode ? [{ debugName: "wrappingType" }] : [])); // className is now passed
106
+ /**
107
+ * Fired when the component is activated either with a mouse/tap or by using the Enter or Space key.
108
+
109
+ **Note:** The event will not be fired if the `disabled` property is set to `true`.
110
+ */
111
+ this.ui5Click = output();
98
112
  /**
99
113
  * Fired when the user clicks on the detail button when type is `Detail`.
100
114
  */
@@ -167,6 +181,7 @@ class SuggestionListItem {
167
181
  const inputsToSync = [
168
182
  'accessibilityAttributes',
169
183
  'accessibleName',
184
+ 'accessibleRole',
170
185
  'additionalText',
171
186
  'additionalTextState',
172
187
  'description',
@@ -200,6 +215,7 @@ class SuggestionListItem {
200
215
  }
201
216
  }
202
217
  const outputsToSync = [
218
+ 'ui5Click',
203
219
  'ui5DetailClick',
204
220
  ];
205
221
  // Synchronize outputs (events)
@@ -216,7 +232,7 @@ class SuggestionListItem {
216
232
  }
217
233
  }
218
234
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SuggestionListItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
219
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: SuggestionListItem, isStandalone: true, selector: "ui5-li-suggestion-item, [ui5-li-suggestion-item]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, additionalText: { classPropertyName: "additionalText", publicName: "additionalText", isSignal: true, isRequired: false, transformFunction: null }, additionalTextState: { classPropertyName: "additionalTextState", publicName: "additionalTextState", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, highlight: { classPropertyName: "highlight", publicName: "highlight", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconEnd: { classPropertyName: "iconEnd", publicName: "iconEnd", isSignal: true, isRequired: false, transformFunction: null }, movable: { classPropertyName: "movable", publicName: "movable", isSignal: true, isRequired: false, transformFunction: null }, navigated: { classPropertyName: "navigated", publicName: "navigated", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, wrappingType: { classPropertyName: "wrappingType", publicName: "wrappingType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5DetailClick: "ui5DetailClick" }, providers: [
235
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: SuggestionListItem, isStandalone: true, selector: "ui5-li-suggestion-item, [ui5-li-suggestion-item]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, additionalText: { classPropertyName: "additionalText", publicName: "additionalText", isSignal: true, isRequired: false, transformFunction: null }, additionalTextState: { classPropertyName: "additionalTextState", publicName: "additionalTextState", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, highlight: { classPropertyName: "highlight", publicName: "highlight", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconEnd: { classPropertyName: "iconEnd", publicName: "iconEnd", isSignal: true, isRequired: false, transformFunction: null }, movable: { classPropertyName: "movable", publicName: "movable", isSignal: true, isRequired: false, transformFunction: null }, navigated: { classPropertyName: "navigated", publicName: "navigated", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, wrappingType: { classPropertyName: "wrappingType", publicName: "wrappingType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click", ui5DetailClick: "ui5DetailClick" }, providers: [
220
236
  contentDensityObserverProviders({
221
237
  supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]
222
238
  })
@@ -236,7 +252,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
236
252
  ],
237
253
  changeDetection: ChangeDetectionStrategy.OnPush,
238
254
  }]
239
- }], propDecorators: { accessibilityAttributes: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibilityAttributes", required: false }] }], accessibleName: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleName", required: false }] }], additionalText: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalText", required: false }] }], additionalTextState: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalTextState", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], highlight: [{ type: i0.Input, args: [{ isSignal: true, alias: "highlight", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], iconEnd: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconEnd", required: false }] }], movable: [{ type: i0.Input, args: [{ isSignal: true, alias: "movable", required: false }] }], navigated: [{ type: i0.Input, args: [{ isSignal: true, alias: "navigated", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], wrappingType: [{ type: i0.Input, args: [{ isSignal: true, alias: "wrappingType", required: false }] }], ui5DetailClick: [{ type: i0.Output, args: ["ui5DetailClick"] }] } });
255
+ }], propDecorators: { accessibilityAttributes: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibilityAttributes", required: false }] }], accessibleName: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleName", required: false }] }], accessibleRole: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleRole", required: false }] }], additionalText: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalText", required: false }] }], additionalTextState: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalTextState", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], highlight: [{ type: i0.Input, args: [{ isSignal: true, alias: "highlight", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], iconEnd: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconEnd", required: false }] }], movable: [{ type: i0.Input, args: [{ isSignal: true, alias: "movable", required: false }] }], navigated: [{ type: i0.Input, args: [{ isSignal: true, alias: "navigated", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], wrappingType: [{ type: i0.Input, args: [{ isSignal: true, alias: "wrappingType", required: false }] }], ui5Click: [{ type: i0.Output, args: ["ui5Click"] }], ui5DetailClick: [{ type: i0.Output, args: ["ui5DetailClick"] }] } });
240
256
 
241
257
  /**
242
258
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-ui5-webcomponents-suggestion-list-item.mjs","sources":["../../../../libs/ui5-webcomponents/suggestion-list-item/index.ts","../../../../libs/ui5-webcomponents/suggestion-list-item/fundamental-ngx-ui5-webcomponents-suggestion-list-item.ts"],"sourcesContent":["\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n input,\n output,\n AfterViewInit,\n effect,\n runInInjectionContext,\n inject,\n Injector,\n booleanAttribute,\n computed,\n signal\n} from '@angular/core';\nimport '@ui5/webcomponents/dist/SuggestionListItem.js';\nimport { default as _SuggestionListItem } from '@ui5/webcomponents/dist/SuggestionListItem.js';\nimport { UI5CustomEvent } from '@ui5/webcomponents-base';\nimport {\n ContentDensityObserver,\n contentDensityObserverProviders,\n ContentDensityMode\n} from '@fundamental-ngx/core/content-density';\n\nimport { ListItemAccessibilityAttributes } from '@ui5/webcomponents/dist/ListItem.js';\nimport { default as ValueState } from '@ui5/webcomponents-base/dist/types/ValueState.js';\nimport { default as Highlight } from '@ui5/webcomponents/dist/types/Highlight.js';\nimport { default as ListItemType } from '@ui5/webcomponents/dist/types/ListItemType.js';\nimport { default as WrappingType } from '@ui5/webcomponents/dist/types/WrappingType.js';\n\n@Component({\n standalone: true,\n selector: 'ui5-li-suggestion-item, [ui5-li-suggestion-item]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5SuggestionListItem',\n providers: [\n contentDensityObserverProviders({\n supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]\n })\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuggestionListItem implements AfterViewInit {\n\n /**\n * Defines the additional accessibility attributes that will be applied to the component.\nThe following fields are supported:\n\n- **ariaSetsize**: Defines the number of items in the current set when not all items in the set are present in the DOM.\n**Note:** The value is an integer reflecting the number of items in the complete set. If the size of the entire set is unknown, set `-1`.\n\n\t- **ariaPosinset**: Defines an element's number or position in the current set when not all items are present in the DOM.\n\t**Note:** The value is an integer greater than or equal to 1, and less than or equal to the size of the set when that size is known.\n */\n accessibilityAttributes = input<typeof _SuggestionListItem.prototype.accessibilityAttributes | undefined>({});\n\n /**\n * Defines the text alternative of the component.\nNote: If not provided a default text alternative will be set, if present.\n */\n accessibleName = input<typeof _SuggestionListItem.prototype.accessibleName | undefined>();\n\n /**\n * Defines the `additionalText`, displayed in the end of the list item.\n */\n additionalText = input<typeof _SuggestionListItem.prototype.additionalText | undefined>();\n\n /**\n * Defines the state of the `additionalText`.\n\nAvailable options are: `\"None\"` (by default), `\"Positive\"`, `\"Critical\"`, `\"Information\"` and `\"Negative\"`.\n */\n additionalTextState = input<typeof _SuggestionListItem.prototype.additionalTextState | undefined>(\"None\");\n\n /**\n * Defines the description displayed right under the item text, if such is present.\n */\n description = input<typeof _SuggestionListItem.prototype.description | undefined>();\n\n /**\n * Defines the highlight state of the list items.\nAvailable options are: `\"None\"` (by default), `\"Positive\"`, `\"Critical\"`, `\"Information\"` and `\"Negative\"`.\n */\n highlight = input<typeof _SuggestionListItem.prototype.highlight | undefined>(\"None\");\n\n /**\n * Defines the `icon` source URI.\n\n**Note:**\nSAP-icons font provides numerous built-in icons. To find all the available icons, see the\n[Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n */\n icon = input<typeof _SuggestionListItem.prototype.icon | undefined>();\n\n /**\n * Defines whether the `icon` should be displayed in the beginning of the list item or in the end.\n */\n iconEnd = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the item is movable.\n */\n movable = input(false, { transform: booleanAttribute });\n\n /**\n * The navigated state of the list item.\nIf set to `true`, a navigation indicator is displayed at the end of the list item.\n */\n navigated = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the selected state of the component.\n */\n selected = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the text of the component.\n */\n text = input<typeof _SuggestionListItem.prototype.text | undefined>();\n\n /**\n * Defines the text of the tooltip that would be displayed for the list item.\n */\n tooltip = input<typeof _SuggestionListItem.prototype.tooltip | undefined>();\n\n /**\n * Defines the visual indication and behavior of the list items.\nAvailable options are `Active` (by default), `Inactive`, `Detail` and `Navigation`.\n\n**Note:** When set to `Active` or `Navigation`, the item will provide visual response upon press and hover,\nwhile with type `Inactive` and `Detail` - will not.\n */\n type = input<typeof _SuggestionListItem.prototype.type | undefined>(\"Active\");\n\n /**\n * Defines if the text of the component should wrap when it's too long.\nWhen set to \"Normal\", the content (title, description) will be wrapped\nusing the `ui5-expandable-text` component.<br/>\n\nThe text can wrap up to 100 characters on small screens (size S) and\nup to 300 characters on larger screens (size M and above). When text exceeds\nthese limits, it truncates with an ellipsis followed by a text expansion trigger.\n\nAvailable options are:\n- `None` (default) - The text will truncate with an ellipsis.\n- `Normal` - The text will wrap (without truncation).\n */\n wrappingType = input<typeof _SuggestionListItem.prototype.wrappingType | undefined>(\"None\"); // className is now passed\n\n\n\n /**\n * Fired when the user clicks on the detail button when type is `Detail`.\n */\n ui5DetailClick = output<UI5CustomEvent<_SuggestionListItem, 'detail-click'>>();\n\n /**\n * Available slots for content projection in this component.\n *\n * Slots allow you to insert custom content into predefined areas of the web component.\n * Use the `slot` attribute on child elements to target specific slots.\n *\n * - **(default)**: Defines the title text of the suggestion item.\n * - **deleteButton**: Defines the delete button, displayed in \"Delete\" mode.\n**Note:** While the slot allows custom buttons, to match\ndesign guidelines, please use the `ui5-button` component.\n**Note:** When the slot is not present, a built-in delete button will be displayed.\n * - **image**: **Note:** While the slot allows option for setting custom avatar, to match the\ndesign guidelines, please use the `ui5-avatar` with it's default size - S.\n\n**Note:** If bigger `ui5-avatar` needs to be used, then the size of the\n`ui5-li` should be customized in order to fit.\n * - **richDescription**: Defines a description that can contain HTML.\n**Note:** If not specified, the `description` property will be used.\n *\n * @example\n * ```html\n * <ui5-li-suggestion-item>\n * <div slot=\"header\">Custom header content</div>\n * <p>Default slot content</p>\n * </ui5-li-suggestion-item>\n * ```\n *\n * @readonly\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}\n */\n readonly slots = [\n {\n \"name\": \"default\",\n \"description\": \"Defines the title text of the suggestion item.\"\n },\n {\n \"name\": \"deleteButton\",\n \"description\": \"Defines the delete button, displayed in \\\"Delete\\\" mode.\\n**Note:** While the slot allows custom buttons, to match\\ndesign guidelines, please use the `ui5-button` component.\\n**Note:** When the slot is not present, a built-in delete button will be displayed.\",\n \"since\": \"1.9.0\"\n },\n {\n \"name\": \"image\",\n \"description\": \"**Note:** While the slot allows option for setting custom avatar, to match the\\ndesign guidelines, please use the `ui5-avatar` with it's default size - S.\\n\\n**Note:** If bigger `ui5-avatar` needs to be used, then the size of the\\n`ui5-li` should be customized in order to fit.\",\n \"since\": \"2.0.0\"\n },\n {\n \"name\": \"richDescription\",\n \"description\": \"Defines a description that can contain HTML.\\n**Note:** If not specified, the `description` property will be used.\",\n \"since\": \"1.0.0-rc.8\"\n }\n ];\n\n\n public elementRef: ElementRef<_SuggestionListItem> = inject(ElementRef);\n public injector = inject(Injector);\n\n /**\n * Content density observer is injected to activate automatic CSS class and\n * UI5 attribute application. The observer self-initializes, no explicit subscribe() needed.\n * @private\n */\n private readonly _contentDensityObserver = inject(ContentDensityObserver);\n\n get element(): _SuggestionListItem {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n const wcElement = this.element;\n \n const inputsToSync = [\n 'accessibilityAttributes',\n 'accessibleName',\n 'additionalText',\n 'additionalTextState',\n 'description',\n 'highlight',\n 'icon',\n 'iconEnd',\n 'movable',\n 'navigated',\n 'selected',\n 'text',\n 'tooltip',\n 'type',\n 'wrappingType',\n ];\n \n // Synchronize inputs (properties)\n for (const inputName of inputsToSync) {\n // Find the corresponding camelCase signal property on the Angular component\n const signalName = inputName.replace(/-./g, (x: string) => x[1].toUpperCase());\n\n // Use the Injector to run the effect in the correct context\n if (this[signalName] && typeof this[signalName] === 'function') {\n runInInjectionContext(this.injector, () => {\n effect(() => {\n // Read the signal value\n const value = this[signalName]();\n if (wcElement) {\n // Write the value to the Web Component's property\n wcElement[inputName] = value;\n }\n });\n });\n }\n }\n \n \n const outputsToSync = [\n 'ui5DetailClick',\n ];\n \n // Synchronize outputs (events)\n for (const outputName of outputsToSync) {\n // Map Angular output name to UI5 web component event name\n const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);\n // Ensure the output property exists and has an emit function before adding listener\n if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {\n // Cast the listener to the correct type to satisfy TypeScript\n wcElement.addEventListener(eventName, (e) => {\n\n this[outputName].emit(e as CustomEvent<any>);\n });\n }\n }\n \n\n }\n}\n\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-ui5-webcomponents-suggestion-list-item.mjs","sources":["../../../../libs/ui5-webcomponents/suggestion-list-item/index.ts","../../../../libs/ui5-webcomponents/suggestion-list-item/fundamental-ngx-ui5-webcomponents-suggestion-list-item.ts"],"sourcesContent":["\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n input,\n output,\n AfterViewInit,\n effect,\n runInInjectionContext,\n inject,\n Injector,\n booleanAttribute,\n computed,\n signal\n} from '@angular/core';\nimport '@ui5/webcomponents/dist/SuggestionListItem.js';\nimport { default as _SuggestionListItem } from '@ui5/webcomponents/dist/SuggestionListItem.js';\nimport { UI5CustomEvent } from '@ui5/webcomponents-base';\nimport {\n ContentDensityObserver,\n contentDensityObserverProviders,\n ContentDensityMode\n} from '@fundamental-ngx/core/content-density';\n\nimport { ListItemAccessibilityAttributes } from '@ui5/webcomponents/dist/ListItem.js';\nimport { default as ListItemAccessibleRole } from '@ui5/webcomponents/dist/types/ListItemAccessibleRole.js';\nimport { default as ValueState } from '@ui5/webcomponents-base/dist/types/ValueState.js';\nimport { default as Highlight } from '@ui5/webcomponents/dist/types/Highlight.js';\nimport { default as ListItemType } from '@ui5/webcomponents/dist/types/ListItemType.js';\nimport { default as WrappingType } from '@ui5/webcomponents/dist/types/WrappingType.js';\n\n@Component({\n standalone: true,\n selector: 'ui5-li-suggestion-item, [ui5-li-suggestion-item]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5SuggestionListItem',\n providers: [\n contentDensityObserverProviders({\n supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]\n })\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuggestionListItem implements AfterViewInit {\n\n /**\n * Defines the additional accessibility attributes that will be applied to the component.\nThe following fields are supported:\n\n- **ariaSetsize**: Defines the number of items in the current set when not all items in the set are present in the DOM.\n**Note:** The value is an integer reflecting the number of items in the complete set. If the size of the entire set is unknown, set `-1`.\n\n\t- **ariaPosinset**: Defines an element's number or position in the current set when not all items are present in the DOM.\n\t**Note:** The value is an integer greater than or equal to 1, and less than or equal to the size of the set when that size is known.\n */\n accessibilityAttributes = input<typeof _SuggestionListItem.prototype.accessibilityAttributes | undefined>({});\n\n /**\n * Defines the text alternative of the component.\nNote: If not provided a default text alternative will be set, if present.\n */\n accessibleName = input<typeof _SuggestionListItem.prototype.accessibleName | undefined>();\n\n /**\n * Used to define the role of the list item.\n\n**Note:** If not set, the role is automatically inherited from the parent `ui5-list` based on its `accessible-role` property\n(e.g. `Menu` -> `MenuItem`, `Tree` -> `TreeItem`, `ListBox` -> `Option`).\nAn explicitly set `accessible-role` on the list item takes precedence over the inherited role.\n */\n accessibleRole = input<typeof _SuggestionListItem.prototype.accessibleRole | undefined>();\n\n /**\n * Defines the `additionalText`, displayed in the end of the list item.\n */\n additionalText = input<typeof _SuggestionListItem.prototype.additionalText | undefined>();\n\n /**\n * Defines the state of the `additionalText`.\n\nAvailable options are: `\"None\"` (by default), `\"Positive\"`, `\"Critical\"`, `\"Information\"` and `\"Negative\"`.\n */\n additionalTextState = input<typeof _SuggestionListItem.prototype.additionalTextState | undefined>(\"None\");\n\n /**\n * Defines the description displayed right under the item text, if such is present.\n */\n description = input<typeof _SuggestionListItem.prototype.description | undefined>();\n\n /**\n * Defines the highlight state of the list items.\nAvailable options are: `\"None\"` (by default), `\"Positive\"`, `\"Critical\"`, `\"Information\"` and `\"Negative\"`.\n */\n highlight = input<typeof _SuggestionListItem.prototype.highlight | undefined>(\"None\");\n\n /**\n * Defines the `icon` source URI.\n\n**Note:**\nSAP-icons font provides numerous built-in icons. To find all the available icons, see the\n[Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n */\n icon = input<typeof _SuggestionListItem.prototype.icon | undefined>();\n\n /**\n * Defines whether the `icon` should be displayed in the beginning of the list item or in the end.\n */\n iconEnd = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the item is movable.\n */\n movable = input(false, { transform: booleanAttribute });\n\n /**\n * The navigated state of the list item.\nIf set to `true`, a navigation indicator is displayed at the end of the list item.\n */\n navigated = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the selected state of the component.\n */\n selected = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the text of the component.\n */\n text = input<typeof _SuggestionListItem.prototype.text | undefined>();\n\n /**\n * Defines the text of the tooltip that would be displayed for the list item.\n */\n tooltip = input<typeof _SuggestionListItem.prototype.tooltip | undefined>();\n\n /**\n * Defines the visual indication and behavior of the list items.\nAvailable options are `Active` (by default), `Inactive`, `Detail` and `Navigation`.\n\n**Note:** When set to `Active` or `Navigation`, the item will provide visual response upon press and hover,\nwhile with type `Inactive` and `Detail` - will not.\n */\n type = input<typeof _SuggestionListItem.prototype.type | undefined>(\"Active\");\n\n /**\n * Defines if the text of the component should wrap when it's too long.\nWhen set to \"Normal\", the content (title, description) will be wrapped\nusing the `ui5-expandable-text` component.<br/>\n\nThe text can wrap up to 100 characters on small screens (size S) and\nup to 300 characters on larger screens (size M and above). When text exceeds\nthese limits, it truncates with an ellipsis followed by a text expansion trigger.\n\nAvailable options are:\n- `None` (default) - The text will truncate with an ellipsis.\n- `Normal` - The text will wrap (without truncation).\n */\n wrappingType = input<typeof _SuggestionListItem.prototype.wrappingType | undefined>(\"None\"); // className is now passed\n\n\n\n /**\n * Fired when the component is activated either with a mouse/tap or by using the Enter or Space key.\n\n**Note:** The event will not be fired if the `disabled` property is set to `true`.\n */\n ui5Click = output<UI5CustomEvent<_SuggestionListItem, 'click'>>();\n\n /**\n * Fired when the user clicks on the detail button when type is `Detail`.\n */\n ui5DetailClick = output<UI5CustomEvent<_SuggestionListItem, 'detail-click'>>();\n\n /**\n * Available slots for content projection in this component.\n *\n * Slots allow you to insert custom content into predefined areas of the web component.\n * Use the `slot` attribute on child elements to target specific slots.\n *\n * - **(default)**: Defines the title text of the suggestion item.\n * - **deleteButton**: Defines the delete button, displayed in \"Delete\" mode.\n**Note:** While the slot allows custom buttons, to match\ndesign guidelines, please use the `ui5-button` component.\n**Note:** When the slot is not present, a built-in delete button will be displayed.\n * - **image**: **Note:** While the slot allows option for setting custom avatar, to match the\ndesign guidelines, please use the `ui5-avatar` with it's default size - S.\n\n**Note:** If bigger `ui5-avatar` needs to be used, then the size of the\n`ui5-li` should be customized in order to fit.\n * - **richDescription**: Defines a description that can contain HTML.\n**Note:** If not specified, the `description` property will be used.\n *\n * @example\n * ```html\n * <ui5-li-suggestion-item>\n * <div slot=\"header\">Custom header content</div>\n * <p>Default slot content</p>\n * </ui5-li-suggestion-item>\n * ```\n *\n * @readonly\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}\n */\n readonly slots = [\n {\n \"name\": \"default\",\n \"description\": \"Defines the title text of the suggestion item.\"\n },\n {\n \"name\": \"deleteButton\",\n \"description\": \"Defines the delete button, displayed in \\\"Delete\\\" mode.\\n**Note:** While the slot allows custom buttons, to match\\ndesign guidelines, please use the `ui5-button` component.\\n**Note:** When the slot is not present, a built-in delete button will be displayed.\",\n \"since\": \"1.9.0\"\n },\n {\n \"name\": \"image\",\n \"description\": \"**Note:** While the slot allows option for setting custom avatar, to match the\\ndesign guidelines, please use the `ui5-avatar` with it's default size - S.\\n\\n**Note:** If bigger `ui5-avatar` needs to be used, then the size of the\\n`ui5-li` should be customized in order to fit.\",\n \"since\": \"2.0.0\"\n },\n {\n \"name\": \"richDescription\",\n \"description\": \"Defines a description that can contain HTML.\\n**Note:** If not specified, the `description` property will be used.\",\n \"since\": \"1.0.0-rc.8\"\n }\n ];\n\n\n public elementRef: ElementRef<_SuggestionListItem> = inject(ElementRef);\n public injector = inject(Injector);\n\n /**\n * Content density observer is injected to activate automatic CSS class and\n * UI5 attribute application. The observer self-initializes, no explicit subscribe() needed.\n * @private\n */\n private readonly _contentDensityObserver = inject(ContentDensityObserver);\n\n get element(): _SuggestionListItem {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n const wcElement = this.element;\n \n const inputsToSync = [\n 'accessibilityAttributes',\n 'accessibleName',\n 'accessibleRole',\n 'additionalText',\n 'additionalTextState',\n 'description',\n 'highlight',\n 'icon',\n 'iconEnd',\n 'movable',\n 'navigated',\n 'selected',\n 'text',\n 'tooltip',\n 'type',\n 'wrappingType',\n ];\n \n // Synchronize inputs (properties)\n for (const inputName of inputsToSync) {\n // Find the corresponding camelCase signal property on the Angular component\n const signalName = inputName.replace(/-./g, (x: string) => x[1].toUpperCase());\n\n // Use the Injector to run the effect in the correct context\n if (this[signalName] && typeof this[signalName] === 'function') {\n runInInjectionContext(this.injector, () => {\n effect(() => {\n // Read the signal value\n const value = this[signalName]();\n if (wcElement) {\n // Write the value to the Web Component's property\n wcElement[inputName] = value;\n }\n });\n });\n }\n }\n \n \n const outputsToSync = [\n 'ui5Click',\n 'ui5DetailClick',\n ];\n \n // Synchronize outputs (events)\n for (const outputName of outputsToSync) {\n // Map Angular output name to UI5 web component event name\n const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);\n // Ensure the output property exists and has an emit function before adding listener\n if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {\n // Cast the listener to the correct type to satisfy TypeScript\n wcElement.addEventListener(eventName, (e) => {\n\n this[outputName].emit(e as CustomEvent<any>);\n });\n }\n }\n \n\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, booleanAttribute, inject, ElementRef, Injector, runInInjectionContext, effect, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { input, booleanAttribute, output, inject, ElementRef, Injector, runInInjectionContext, effect, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import '@ui5/webcomponents/dist/Tab.js';
4
4
  import { ContentDensityObserver, contentDensityObserverProviders, ContentDensityMode } from '@fundamental-ngx/core/content-density';
5
5
 
@@ -45,6 +45,10 @@ class Tab {
45
45
  * The text to be displayed for the item.
46
46
  */
47
47
  this.text = input(...(ngDevMode ? [undefined, { debugName: "text" }] : [])); // className is now passed
48
+ /**
49
+ * Fired when the tab is selected either with a mouse/tap or by using the Enter or Space key.
50
+ */
51
+ this.ui5Click = output();
48
52
  /**
49
53
  * Available slots for content projection in this component.
50
54
  *
@@ -118,9 +122,24 @@ class Tab {
118
122
  });
119
123
  }
120
124
  }
125
+ const outputsToSync = [
126
+ 'ui5Click',
127
+ ];
128
+ // Synchronize outputs (events)
129
+ for (const outputName of outputsToSync) {
130
+ // Map Angular output name to UI5 web component event name
131
+ const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
132
+ // Ensure the output property exists and has an emit function before adding listener
133
+ if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
134
+ // Cast the listener to the correct type to satisfy TypeScript
135
+ wcElement.addEventListener(eventName, (e) => {
136
+ this[outputName].emit(e);
137
+ });
138
+ }
139
+ }
121
140
  }
122
141
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Tab, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
123
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: Tab, isStandalone: true, selector: "ui5-tab, [ui5-tab]", inputs: { additionalText: { classPropertyName: "additionalText", publicName: "additionalText", isSignal: true, isRequired: false, transformFunction: null }, design: { classPropertyName: "design", publicName: "design", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, movable: { classPropertyName: "movable", publicName: "movable", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
142
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: Tab, isStandalone: true, selector: "ui5-tab, [ui5-tab]", inputs: { additionalText: { classPropertyName: "additionalText", publicName: "additionalText", isSignal: true, isRequired: false, transformFunction: null }, design: { classPropertyName: "design", publicName: "design", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, movable: { classPropertyName: "movable", publicName: "movable", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
124
143
  contentDensityObserverProviders({
125
144
  supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]
126
145
  })
@@ -140,7 +159,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
140
159
  ],
141
160
  changeDetection: ChangeDetectionStrategy.OnPush,
142
161
  }]
143
- }], propDecorators: { additionalText: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalText", required: false }] }], design: [{ type: i0.Input, args: [{ isSignal: true, alias: "design", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], movable: [{ type: i0.Input, args: [{ isSignal: true, alias: "movable", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }] } });
162
+ }], propDecorators: { additionalText: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalText", required: false }] }], design: [{ type: i0.Input, args: [{ isSignal: true, alias: "design", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], movable: [{ type: i0.Input, args: [{ isSignal: true, alias: "movable", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], ui5Click: [{ type: i0.Output, args: ["ui5Click"] }] } });
144
163
 
145
164
  /**
146
165
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-ui5-webcomponents-tab.mjs","sources":["../../../../libs/ui5-webcomponents/tab/index.ts","../../../../libs/ui5-webcomponents/tab/fundamental-ngx-ui5-webcomponents-tab.ts"],"sourcesContent":["\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n input,\n output,\n AfterViewInit,\n effect,\n runInInjectionContext,\n inject,\n Injector,\n booleanAttribute,\n computed,\n signal\n} from '@angular/core';\nimport '@ui5/webcomponents/dist/Tab.js';\nimport { default as _Tab } from '@ui5/webcomponents/dist/Tab.js';\nimport { UI5CustomEvent } from '@ui5/webcomponents-base';\nimport {\n ContentDensityObserver,\n contentDensityObserverProviders,\n ContentDensityMode\n} from '@fundamental-ngx/core/content-density';\n\nimport { default as SemanticColor } from '@ui5/webcomponents/dist/types/SemanticColor.js';\n\n@Component({\n standalone: true,\n selector: 'ui5-tab, [ui5-tab]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5Tab',\n providers: [\n contentDensityObserverProviders({\n supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]\n })\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Tab implements AfterViewInit {\n\n /**\n * Represents the \"additionalText\" text, which is displayed in the tab. In the cases when in the same time there are tabs with icons and tabs without icons, if a tab has no icon the \"additionalText\" is displayed larger.\n */\n additionalText = input<typeof _Tab.prototype.additionalText | undefined>();\n\n /**\n * Defines the component's design color.\n\nThe design is applied to:\n\n- the component icon\n- the `text` when the component overflows\n- the tab selection line\n\nAvailable designs are: `\"Default\"`, `\"Neutral\"`, `\"Positive\"`, `\"Critical\"` and `\"Negative\"`.\n\n**Note:** The design depends on the current theme.\n */\n design = input<typeof _Tab.prototype.design | undefined>(\"Default\");\n\n /**\n * Disabled tabs can't be selected.\n */\n disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the icon source URI to be displayed as graphical element within the component.\nThe SAP-icons font provides numerous built-in icons.\nSee all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n */\n icon = input<typeof _Tab.prototype.icon | undefined>();\n\n /**\n * Defines if the tab is movable.\n */\n movable = input(false, { transform: booleanAttribute });\n\n /**\n * Specifies if the component is selected.\n */\n selected = input(false, { transform: booleanAttribute });\n\n /**\n * The text to be displayed for the item.\n */\n text = input<typeof _Tab.prototype.text | undefined>(); // className is now passed\n\n\n\n\n /**\n * Available slots for content projection in this component.\n *\n * Slots allow you to insert custom content into predefined areas of the web component.\n * Use the `slot` attribute on child elements to target specific slots.\n *\n * - **(default)**: Holds the content associated with this tab.\n * - **items**: Defines hierarchies with nested sub tabs.\n\n**Note:** Use `ui5-tab` and `ui5-tab-separator` for the intended design.\n *\n * @example\n * ```html\n * <ui5-tab>\n * <div slot=\"header\">Custom header content</div>\n * <p>Default slot content</p>\n * </ui5-tab>\n * ```\n *\n * @readonly\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}\n */\n readonly slots = [\n {\n \"name\": \"default\",\n \"description\": \"Holds the content associated with this tab.\"\n },\n {\n \"name\": \"items\",\n \"description\": \"Defines hierarchies with nested sub tabs.\\n\\n**Note:** Use `ui5-tab` and `ui5-tab-separator` for the intended design.\"\n }\n ];\n\n\n public elementRef: ElementRef<_Tab> = inject(ElementRef);\n public injector = inject(Injector);\n\n /**\n * Content density observer is injected to activate automatic CSS class and\n * UI5 attribute application. The observer self-initializes, no explicit subscribe() needed.\n * @private\n */\n private readonly _contentDensityObserver = inject(ContentDensityObserver);\n\n get element(): _Tab {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n const wcElement = this.element;\n \n const inputsToSync = [\n 'additionalText',\n 'design',\n 'disabled',\n 'icon',\n 'movable',\n 'selected',\n 'text',\n ];\n \n // Synchronize inputs (properties)\n for (const inputName of inputsToSync) {\n // Find the corresponding camelCase signal property on the Angular component\n const signalName = inputName.replace(/-./g, (x: string) => x[1].toUpperCase());\n\n // Use the Injector to run the effect in the correct context\n if (this[signalName] && typeof this[signalName] === 'function') {\n runInInjectionContext(this.injector, () => {\n effect(() => {\n // Read the signal value\n const value = this[signalName]();\n if (wcElement) {\n // Write the value to the Web Component's property\n wcElement[inputName] = value;\n }\n });\n });\n }\n }\n \n \n \n\n }\n}\n\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-ui5-webcomponents-tab.mjs","sources":["../../../../libs/ui5-webcomponents/tab/index.ts","../../../../libs/ui5-webcomponents/tab/fundamental-ngx-ui5-webcomponents-tab.ts"],"sourcesContent":["\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n input,\n output,\n AfterViewInit,\n effect,\n runInInjectionContext,\n inject,\n Injector,\n booleanAttribute,\n computed,\n signal\n} from '@angular/core';\nimport '@ui5/webcomponents/dist/Tab.js';\nimport { default as _Tab } from '@ui5/webcomponents/dist/Tab.js';\nimport { UI5CustomEvent } from '@ui5/webcomponents-base';\nimport {\n ContentDensityObserver,\n contentDensityObserverProviders,\n ContentDensityMode\n} from '@fundamental-ngx/core/content-density';\n\nimport { default as SemanticColor } from '@ui5/webcomponents/dist/types/SemanticColor.js';\n\n@Component({\n standalone: true,\n selector: 'ui5-tab, [ui5-tab]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5Tab',\n providers: [\n contentDensityObserverProviders({\n supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]\n })\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Tab implements AfterViewInit {\n\n /**\n * Represents the \"additionalText\" text, which is displayed in the tab. In the cases when in the same time there are tabs with icons and tabs without icons, if a tab has no icon the \"additionalText\" is displayed larger.\n */\n additionalText = input<typeof _Tab.prototype.additionalText | undefined>();\n\n /**\n * Defines the component's design color.\n\nThe design is applied to:\n\n- the component icon\n- the `text` when the component overflows\n- the tab selection line\n\nAvailable designs are: `\"Default\"`, `\"Neutral\"`, `\"Positive\"`, `\"Critical\"` and `\"Negative\"`.\n\n**Note:** The design depends on the current theme.\n */\n design = input<typeof _Tab.prototype.design | undefined>(\"Default\");\n\n /**\n * Disabled tabs can't be selected.\n */\n disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the icon source URI to be displayed as graphical element within the component.\nThe SAP-icons font provides numerous built-in icons.\nSee all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n */\n icon = input<typeof _Tab.prototype.icon | undefined>();\n\n /**\n * Defines if the tab is movable.\n */\n movable = input(false, { transform: booleanAttribute });\n\n /**\n * Specifies if the component is selected.\n */\n selected = input(false, { transform: booleanAttribute });\n\n /**\n * The text to be displayed for the item.\n */\n text = input<typeof _Tab.prototype.text | undefined>(); // className is now passed\n\n\n\n /**\n * Fired when the tab is selected either with a mouse/tap or by using the Enter or Space key.\n */\n ui5Click = output<UI5CustomEvent<_Tab, 'click'>>();\n\n /**\n * Available slots for content projection in this component.\n *\n * Slots allow you to insert custom content into predefined areas of the web component.\n * Use the `slot` attribute on child elements to target specific slots.\n *\n * - **(default)**: Holds the content associated with this tab.\n * - **items**: Defines hierarchies with nested sub tabs.\n\n**Note:** Use `ui5-tab` and `ui5-tab-separator` for the intended design.\n *\n * @example\n * ```html\n * <ui5-tab>\n * <div slot=\"header\">Custom header content</div>\n * <p>Default slot content</p>\n * </ui5-tab>\n * ```\n *\n * @readonly\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}\n */\n readonly slots = [\n {\n \"name\": \"default\",\n \"description\": \"Holds the content associated with this tab.\"\n },\n {\n \"name\": \"items\",\n \"description\": \"Defines hierarchies with nested sub tabs.\\n\\n**Note:** Use `ui5-tab` and `ui5-tab-separator` for the intended design.\"\n }\n ];\n\n\n public elementRef: ElementRef<_Tab> = inject(ElementRef);\n public injector = inject(Injector);\n\n /**\n * Content density observer is injected to activate automatic CSS class and\n * UI5 attribute application. The observer self-initializes, no explicit subscribe() needed.\n * @private\n */\n private readonly _contentDensityObserver = inject(ContentDensityObserver);\n\n get element(): _Tab {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n const wcElement = this.element;\n \n const inputsToSync = [\n 'additionalText',\n 'design',\n 'disabled',\n 'icon',\n 'movable',\n 'selected',\n 'text',\n ];\n \n // Synchronize inputs (properties)\n for (const inputName of inputsToSync) {\n // Find the corresponding camelCase signal property on the Angular component\n const signalName = inputName.replace(/-./g, (x: string) => x[1].toUpperCase());\n\n // Use the Injector to run the effect in the correct context\n if (this[signalName] && typeof this[signalName] === 'function') {\n runInInjectionContext(this.injector, () => {\n effect(() => {\n // Read the signal value\n const value = this[signalName]();\n if (wcElement) {\n // Write the value to the Web Component's property\n wcElement[inputName] = value;\n }\n });\n });\n }\n }\n \n \n const outputsToSync = [\n 'ui5Click',\n ];\n \n // Synchronize outputs (events)\n for (const outputName of outputsToSync) {\n // Map Angular output name to UI5 web component event name\n const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);\n // Ensure the output property exists and has an emit function before adding listener\n if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {\n // Cast the listener to the correct type to satisfy TypeScript\n wcElement.addEventListener(eventName, (e) => {\n\n this[outputName].emit(e as CustomEvent<any>);\n });\n }\n }\n \n\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAuCa,GAAG,CAAA;AAZhB,IAAA,WAAA,GAAA;AAcE;;AAEG;QACH,IAAA,CAAA,cAAc,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAoD;AAE1E;;;;;;;;;;;;AAYG;AACH,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAA2C,SAAS,kDAAC;AAEnE;;AAEG;QACH,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAExD;;;;AAIG;QACH,IAAA,CAAA,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAA0C;AAEtD;;AAEG;QACH,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,oDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAEvD;;AAEG;QACH,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAExD;;AAEG;AACH,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAA0C,CAAC;AAIvD;;AAEG;QACH,IAAA,CAAA,QAAQ,GAAG,MAAM,EAAiC;AAElD;;;;;;;;;;;;;;;;;;;;;AAqBG;AACM,QAAA,IAAA,CAAA,KAAK,GAAG;AACb,YAAA;AACI,gBAAA,MAAM,EAAE,SAAS;AACjB,gBAAA,aAAa,EAAE;AAClB,aAAA;AACD,YAAA;AACI,gBAAA,MAAM,EAAE,OAAO;AACf,gBAAA,aAAa,EAAE;AAClB;SACJ;AAGM,QAAA,IAAA,CAAA,UAAU,GAAqB,MAAM,CAAC,UAAU,CAAC;AACjD,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAElC;;;;AAIG;AACc,QAAA,IAAA,CAAA,uBAAuB,GAAG,MAAM,CAAC,sBAAsB,CAAC;AA4D1E,IAAA;AA1DC,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa;IACtC;IAEA,eAAe,GAAA;AACb,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO;AAE9B,QAAA,MAAM,YAAY,GAAG;YACnB,gBAAgB;YAChB,QAAQ;YACR,UAAU;YACV,MAAM;YACN,SAAS;YACT,UAAU;YACV,MAAM;SACP;;AAGD,QAAA,KAAK,MAAM,SAAS,IAAI,YAAY,EAAE;;YAEpC,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;;AAG9E,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE;AAC9D,gBAAA,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAK;oBACxC,MAAM,CAAC,MAAK;;AAEV,wBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE;wBAChC,IAAI,SAAS,EAAE;;AAEb,4BAAA,SAAS,CAAC,SAAS,CAAC,GAAG,KAAK;wBAC9B;AACF,oBAAA,CAAC,CAAC;AACJ,gBAAA,CAAC,CAAC;YACJ;QACF;AAGA,QAAA,MAAM,aAAa,GAAG;YACpB,UAAU;SACX;;AAGD,QAAA,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE;;YAEtC,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;;AAErG,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,SAAS,CAAC,gBAAgB,EAAE;;gBAEjG,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,KAAI;oBAE1C,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAqB,CAAC;AAC9C,gBAAA,CAAC,CAAC;YACJ;QACF;IAGF;8GA7JW,GAAG,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAH,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,GAAG,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAPH;AACT,YAAA,+BAA+B,CAAC;gBAC9B,uBAAuB,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,CAAC,IAAI;aAC9E;AACF,SAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EANS,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAS1B,GAAG,EAAA,UAAA,EAAA,CAAA;kBAZf,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;AACT,wBAAA,+BAA+B,CAAC;4BAC9B,uBAAuB,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,CAAC,IAAI;yBAC9E;AACF,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;ACtCD;;AAEG;;;;"}
@@ -0,0 +1,133 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, booleanAttribute, inject, ElementRef, Injector, runInInjectionContext, effect, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import '@ui5/webcomponents/dist/TableGroupRow.js';
4
+ import { ContentDensityObserver, contentDensityObserverProviders, ContentDensityMode } from '@fundamental-ngx/core/content-density';
5
+
6
+ class TableGroupRow {
7
+ constructor() {
8
+ /**
9
+ * Defines the interactive state of the row.
10
+ */
11
+ this.interactive = input(false, { ...(ngDevMode ? { debugName: "interactive" } : {}), transform: booleanAttribute });
12
+ /**
13
+ * Defines whether the row is movable.
14
+ */
15
+ this.movable = input(false, { ...(ngDevMode ? { debugName: "movable" } : {}), transform: booleanAttribute });
16
+ /**
17
+ * Defines the navigated state of the row.
18
+ */
19
+ this.navigated = input(false, { ...(ngDevMode ? { debugName: "navigated" } : {}), transform: booleanAttribute });
20
+ /**
21
+ * Defines the 0-based position of the row related to the total number of rows within the table when the `ui5-table-virtualizer` feature is used.
22
+ */
23
+ this.position = input(...(ngDevMode ? [undefined, { debugName: "position" }] : []));
24
+ /**
25
+ * Unique identifier of the row.
26
+
27
+ **Note:** For selection features to work properly, this property is mandatory, and its value must not contain spaces.
28
+ */
29
+ this.rowKey = input(...(ngDevMode ? [undefined, { debugName: "rowKey" }] : [])); // className is now passed
30
+ /**
31
+ * Available slots for content projection in this component.
32
+ *
33
+ * Slots allow you to insert custom content into predefined areas of the web component.
34
+ * Use the `slot` attribute on child elements to target specific slots.
35
+ *
36
+ * - **actions**: Defines the actions of the component.
37
+
38
+ **Note:** Use `ui5-table-row-action` or `ui5-table-row-action-navigation` for the intended design.
39
+ * - **(default)**: Defines the cells of the component.
40
+
41
+ **Note:** Use `ui5-table-cell` for the intended design.
42
+ *
43
+ * @example
44
+ * ```html
45
+ * <ui5-table-group-row>
46
+ * <div slot="header">Custom header content</div>
47
+ * <p>Default slot content</p>
48
+ * </ui5-table-group-row>
49
+ * ```
50
+ *
51
+ * @readonly
52
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}
53
+ */
54
+ this.slots = [
55
+ {
56
+ "name": "actions",
57
+ "description": "Defines the actions of the component.\n\n**Note:** Use `ui5-table-row-action` or `ui5-table-row-action-navigation` for the intended design.",
58
+ "since": "2.7.0"
59
+ },
60
+ {
61
+ "name": "default",
62
+ "description": "Defines the cells of the component.\n\n**Note:** Use `ui5-table-cell` for the intended design."
63
+ }
64
+ ];
65
+ this.elementRef = inject(ElementRef);
66
+ this.injector = inject(Injector);
67
+ /**
68
+ * Content density observer is injected to activate automatic CSS class and
69
+ * UI5 attribute application. The observer self-initializes, no explicit subscribe() needed.
70
+ * @private
71
+ */
72
+ this._contentDensityObserver = inject(ContentDensityObserver);
73
+ }
74
+ get element() {
75
+ return this.elementRef.nativeElement;
76
+ }
77
+ ngAfterViewInit() {
78
+ const wcElement = this.element;
79
+ const inputsToSync = [
80
+ 'interactive',
81
+ 'movable',
82
+ 'navigated',
83
+ 'position',
84
+ 'rowKey',
85
+ ];
86
+ // Synchronize inputs (properties)
87
+ for (const inputName of inputsToSync) {
88
+ // Find the corresponding camelCase signal property on the Angular component
89
+ const signalName = inputName.replace(/-./g, (x) => x[1].toUpperCase());
90
+ // Use the Injector to run the effect in the correct context
91
+ if (this[signalName] && typeof this[signalName] === 'function') {
92
+ runInInjectionContext(this.injector, () => {
93
+ effect(() => {
94
+ // Read the signal value
95
+ const value = this[signalName]();
96
+ if (wcElement) {
97
+ // Write the value to the Web Component's property
98
+ wcElement[inputName] = value;
99
+ }
100
+ });
101
+ });
102
+ }
103
+ }
104
+ }
105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TableGroupRow, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
106
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: TableGroupRow, isStandalone: true, selector: "ui5-table-group-row, [ui5-table-group-row]", inputs: { interactive: { classPropertyName: "interactive", publicName: "interactive", isSignal: true, isRequired: false, transformFunction: null }, movable: { classPropertyName: "movable", publicName: "movable", isSignal: true, isRequired: false, transformFunction: null }, navigated: { classPropertyName: "navigated", publicName: "navigated", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, rowKey: { classPropertyName: "rowKey", publicName: "rowKey", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
107
+ contentDensityObserverProviders({
108
+ supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]
109
+ })
110
+ ], exportAs: ["ui5TableGroupRow"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
111
+ }
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TableGroupRow, decorators: [{
113
+ type: Component,
114
+ args: [{
115
+ standalone: true,
116
+ selector: 'ui5-table-group-row, [ui5-table-group-row]',
117
+ template: '<ng-content></ng-content>',
118
+ exportAs: 'ui5TableGroupRow',
119
+ providers: [
120
+ contentDensityObserverProviders({
121
+ supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]
122
+ })
123
+ ],
124
+ changeDetection: ChangeDetectionStrategy.OnPush,
125
+ }]
126
+ }], propDecorators: { interactive: [{ type: i0.Input, args: [{ isSignal: true, alias: "interactive", required: false }] }], movable: [{ type: i0.Input, args: [{ isSignal: true, alias: "movable", required: false }] }], navigated: [{ type: i0.Input, args: [{ isSignal: true, alias: "navigated", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], rowKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowKey", required: false }] }] } });
127
+
128
+ /**
129
+ * Generated bundle index. Do not edit.
130
+ */
131
+
132
+ export { TableGroupRow };
133
+ //# sourceMappingURL=fundamental-ngx-ui5-webcomponents-table-group-row.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fundamental-ngx-ui5-webcomponents-table-group-row.mjs","sources":["../../../../libs/ui5-webcomponents/table-group-row/index.ts","../../../../libs/ui5-webcomponents/table-group-row/fundamental-ngx-ui5-webcomponents-table-group-row.ts"],"sourcesContent":["\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n input,\n output,\n AfterViewInit,\n effect,\n runInInjectionContext,\n inject,\n Injector,\n booleanAttribute,\n computed,\n signal\n} from '@angular/core';\nimport '@ui5/webcomponents/dist/TableGroupRow.js';\nimport { default as _TableGroupRow } from '@ui5/webcomponents/dist/TableGroupRow.js';\nimport { UI5CustomEvent } from '@ui5/webcomponents-base';\nimport {\n ContentDensityObserver,\n contentDensityObserverProviders,\n ContentDensityMode\n} from '@fundamental-ngx/core/content-density';\n\n\n\n@Component({\n standalone: true,\n selector: 'ui5-table-group-row, [ui5-table-group-row]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5TableGroupRow',\n providers: [\n contentDensityObserverProviders({\n supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]\n })\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TableGroupRow implements AfterViewInit {\n\n /**\n * Defines the interactive state of the row.\n */\n interactive = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the row is movable.\n */\n movable = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the navigated state of the row.\n */\n navigated = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the 0-based position of the row related to the total number of rows within the table when the `ui5-table-virtualizer` feature is used.\n */\n position = input<typeof _TableGroupRow.prototype.position | undefined>();\n\n /**\n * Unique identifier of the row.\n\n**Note:** For selection features to work properly, this property is mandatory, and its value must not contain spaces.\n */\n rowKey = input<typeof _TableGroupRow.prototype.rowKey | undefined>(); // className is now passed\n\n\n\n\n /**\n * Available slots for content projection in this component.\n *\n * Slots allow you to insert custom content into predefined areas of the web component.\n * Use the `slot` attribute on child elements to target specific slots.\n *\n * - **actions**: Defines the actions of the component.\n\n**Note:** Use `ui5-table-row-action` or `ui5-table-row-action-navigation` for the intended design.\n * - **(default)**: Defines the cells of the component.\n\n**Note:** Use `ui5-table-cell` for the intended design.\n *\n * @example\n * ```html\n * <ui5-table-group-row>\n * <div slot=\"header\">Custom header content</div>\n * <p>Default slot content</p>\n * </ui5-table-group-row>\n * ```\n *\n * @readonly\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}\n */\n readonly slots = [\n {\n \"name\": \"actions\",\n \"description\": \"Defines the actions of the component.\\n\\n**Note:** Use `ui5-table-row-action` or `ui5-table-row-action-navigation` for the intended design.\",\n \"since\": \"2.7.0\"\n },\n {\n \"name\": \"default\",\n \"description\": \"Defines the cells of the component.\\n\\n**Note:** Use `ui5-table-cell` for the intended design.\"\n }\n ];\n\n\n public elementRef: ElementRef<_TableGroupRow> = inject(ElementRef);\n public injector = inject(Injector);\n\n /**\n * Content density observer is injected to activate automatic CSS class and\n * UI5 attribute application. The observer self-initializes, no explicit subscribe() needed.\n * @private\n */\n private readonly _contentDensityObserver = inject(ContentDensityObserver);\n\n get element(): _TableGroupRow {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n const wcElement = this.element;\n \n const inputsToSync = [\n 'interactive',\n 'movable',\n 'navigated',\n 'position',\n 'rowKey',\n ];\n \n // Synchronize inputs (properties)\n for (const inputName of inputsToSync) {\n // Find the corresponding camelCase signal property on the Angular component\n const signalName = inputName.replace(/-./g, (x: string) => x[1].toUpperCase());\n\n // Use the Injector to run the effect in the correct context\n if (this[signalName] && typeof this[signalName] === 'function') {\n runInInjectionContext(this.injector, () => {\n effect(() => {\n // Read the signal value\n const value = this[signalName]();\n if (wcElement) {\n // Write the value to the Web Component's property\n wcElement[inputName] = value;\n }\n });\n });\n }\n }\n \n \n \n\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -20,6 +20,14 @@ class TreeItemCustom {
20
20
  * Defines the accessible name of the component.
21
21
  */
22
22
  this.accessibleName = input(...(ngDevMode ? [undefined, { debugName: "accessibleName" }] : []));
23
+ /**
24
+ * Used to define the role of the list item.
25
+
26
+ **Note:** If not set, the role is automatically inherited from the parent `ui5-list` based on its `accessible-role` property
27
+ (e.g. `Menu` -> `MenuItem`, `Tree` -> `TreeItem`, `ListBox` -> `Option`).
28
+ An explicitly set `accessible-role` on the list item takes precedence over the inherited role.
29
+ */
30
+ this.accessibleRole = input(...(ngDevMode ? [undefined, { debugName: "accessibleRole" }] : []));
23
31
  /**
24
32
  * Defines the state of the `additionalText`.
25
33
 
@@ -90,6 +98,12 @@ class TreeItemCustom {
90
98
  while with type `Inactive` and `Detail` - will not.
91
99
  */
92
100
  this.type = input("Active", ...(ngDevMode ? [{ debugName: "type" }] : [])); // className is now passed
101
+ /**
102
+ * Fired when the component is activated either with a mouse/tap or by using the Enter or Space key.
103
+
104
+ **Note:** The event will not be fired if the `disabled` property is set to `true`.
105
+ */
106
+ this.ui5Click = output();
93
107
  /**
94
108
  * Fired when the user clicks on the detail button when type is `Detail`.
95
109
  */
@@ -162,6 +176,7 @@ class TreeItemCustom {
162
176
  const inputsToSync = [
163
177
  'accessibilityAttributes',
164
178
  'accessibleName',
179
+ 'accessibleRole',
165
180
  'additionalTextState',
166
181
  'expanded',
167
182
  'hasChildren',
@@ -194,6 +209,7 @@ class TreeItemCustom {
194
209
  }
195
210
  }
196
211
  const outputsToSync = [
212
+ 'ui5Click',
197
213
  'ui5DetailClick',
198
214
  ];
199
215
  // Synchronize outputs (events)
@@ -210,7 +226,7 @@ class TreeItemCustom {
210
226
  }
211
227
  }
212
228
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TreeItemCustom, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
213
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: TreeItemCustom, isStandalone: true, selector: "ui5-tree-item-custom, [ui5-tree-item-custom]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, additionalTextState: { classPropertyName: "additionalTextState", publicName: "additionalTextState", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, hasChildren: { classPropertyName: "hasChildren", publicName: "hasChildren", isSignal: true, isRequired: false, transformFunction: null }, hideSelectionElement: { classPropertyName: "hideSelectionElement", publicName: "hideSelectionElement", isSignal: true, isRequired: false, transformFunction: null }, highlight: { classPropertyName: "highlight", publicName: "highlight", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, movable: { classPropertyName: "movable", publicName: "movable", isSignal: true, isRequired: false, transformFunction: null }, navigated: { classPropertyName: "navigated", publicName: "navigated", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5DetailClick: "ui5DetailClick" }, providers: [
229
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: TreeItemCustom, isStandalone: true, selector: "ui5-tree-item-custom, [ui5-tree-item-custom]", inputs: { accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, additionalTextState: { classPropertyName: "additionalTextState", publicName: "additionalTextState", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, hasChildren: { classPropertyName: "hasChildren", publicName: "hasChildren", isSignal: true, isRequired: false, transformFunction: null }, hideSelectionElement: { classPropertyName: "hideSelectionElement", publicName: "hideSelectionElement", isSignal: true, isRequired: false, transformFunction: null }, highlight: { classPropertyName: "highlight", publicName: "highlight", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, movable: { classPropertyName: "movable", publicName: "movable", isSignal: true, isRequired: false, transformFunction: null }, navigated: { classPropertyName: "navigated", publicName: "navigated", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click", ui5DetailClick: "ui5DetailClick" }, providers: [
214
230
  contentDensityObserverProviders({
215
231
  supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]
216
232
  })
@@ -230,7 +246,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
230
246
  ],
231
247
  changeDetection: ChangeDetectionStrategy.OnPush,
232
248
  }]
233
- }], propDecorators: { accessibilityAttributes: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibilityAttributes", required: false }] }], accessibleName: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleName", required: false }] }], additionalTextState: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalTextState", required: false }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }], hasChildren: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasChildren", required: false }] }], hideSelectionElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideSelectionElement", required: false }] }], highlight: [{ type: i0.Input, args: [{ isSignal: true, alias: "highlight", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], indeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "indeterminate", required: false }] }], movable: [{ type: i0.Input, args: [{ isSignal: true, alias: "movable", required: false }] }], navigated: [{ type: i0.Input, args: [{ isSignal: true, alias: "navigated", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], ui5DetailClick: [{ type: i0.Output, args: ["ui5DetailClick"] }] } });
249
+ }], propDecorators: { accessibilityAttributes: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibilityAttributes", required: false }] }], accessibleName: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleName", required: false }] }], accessibleRole: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleRole", required: false }] }], additionalTextState: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalTextState", required: false }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }], hasChildren: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasChildren", required: false }] }], hideSelectionElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideSelectionElement", required: false }] }], highlight: [{ type: i0.Input, args: [{ isSignal: true, alias: "highlight", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], indeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "indeterminate", required: false }] }], movable: [{ type: i0.Input, args: [{ isSignal: true, alias: "movable", required: false }] }], navigated: [{ type: i0.Input, args: [{ isSignal: true, alias: "navigated", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], ui5Click: [{ type: i0.Output, args: ["ui5Click"] }], ui5DetailClick: [{ type: i0.Output, args: ["ui5DetailClick"] }] } });
234
250
 
235
251
  /**
236
252
  * Generated bundle index. Do not edit.