@fundamental-ngx/ui5-webcomponents-fiori 0.58.0-rc.31 → 0.58.0-rc.33
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.
- package/barcode-scanner-dialog/index.d.ts +31 -0
- package/dynamic-page/index.d.ts +39 -0
- package/dynamic-page-header/index.d.ts +14 -0
- package/dynamic-page-title/index.d.ts +14 -0
- package/dynamic-side-content/index.d.ts +56 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-barcode-scanner-dialog.mjs +89 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-barcode-scanner-dialog.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-dynamic-page-header.mjs +36 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-dynamic-page-header.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-dynamic-page-title.mjs +36 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-dynamic-page-title.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-dynamic-page.mjs +99 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-dynamic-page.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-dynamic-side-content.mjs +118 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-dynamic-side-content.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-filter-item-option.mjs +65 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-filter-item-option.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-filter-item.mjs +66 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-filter-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-flexible-column-layout.mjs +262 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-flexible-column-layout.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-group-item.mjs +65 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-group-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-illustrated-message.mjs +116 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-illustrated-message.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-media-gallery-item.mjs +70 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-media-gallery-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-media-gallery.mjs +119 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-media-gallery.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-navigation-layout.mjs +60 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-navigation-layout.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-notification-list-group-item.mjs +113 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-notification-list-group-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-notification-list-item.mjs +121 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-notification-list-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-notification-list.mjs +89 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-notification-list.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-page.mjs +80 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-page.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-product-switch-item.mjs +116 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-product-switch-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-product-switch.mjs +36 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-product-switch.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-item-group.mjs +36 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-item-group.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-item-show-more.mjs +87 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-item-show-more.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-item.mjs +105 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-message-area.mjs +65 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-message-area.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-scope.mjs +65 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-scope.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search.mjs +137 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar-branding.mjs +102 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar-branding.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar-item.mjs +109 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar-search.mjs +142 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar-search.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar-spacer.mjs +36 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar-spacer.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar.mjs +242 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-side-navigation-group.mjs +80 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-side-navigation-group.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-side-navigation-item.mjs +170 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-side-navigation-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-side-navigation-sub-item.mjs +165 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-side-navigation-sub-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-side-navigation.mjs +90 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-side-navigation.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-sort-item.mjs +65 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-sort-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-theming.mjs +23 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-theming.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-timeline-group-item.mjs +84 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-timeline-group-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-timeline-item.mjs +111 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-timeline-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-timeline.mjs +110 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-timeline.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-upload-collection-item.mjs +152 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-upload-collection-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-upload-collection.mjs +116 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-upload-collection.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-menu-account.mjs +95 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-menu-account.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-menu-item-group.mjs +36 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-menu-item-group.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-menu-item.mjs +36 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-menu-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-menu.mjs +141 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-menu.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-settings-dialog.mjs +106 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-settings-dialog.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-settings-item.mjs +123 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-settings-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-settings-view.mjs +71 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-settings-view.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-view-settings-dialog.mjs +109 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-view-settings-dialog.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-wizard-step.mjs +105 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-wizard-step.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-wizard.mjs +80 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-wizard.mjs.map +1 -0
- package/filter-item/index.d.ts +23 -0
- package/filter-item-option/index.d.ts +22 -0
- package/flexible-column-layout/index.d.ts +109 -0
- package/group-item/index.d.ts +22 -0
- package/illustrated-message/index.d.ts +69 -0
- package/media-gallery/index.d.ts +57 -0
- package/media-gallery-item/index.d.ts +26 -0
- package/navigation-layout/index.d.ts +18 -0
- package/notification-list/index.d.ts +31 -0
- package/notification-list-group-item/index.d.ts +51 -0
- package/notification-list-item/index.d.ts +58 -0
- package/package.json +206 -2
- package/page/index.d.ts +35 -0
- package/product-switch/index.d.ts +14 -0
- package/product-switch-item/index.d.ts +56 -0
- package/search/index.d.ts +70 -0
- package/search-item/index.d.ts +44 -0
- package/search-item-group/index.d.ts +14 -0
- package/search-item-show-more/index.d.ts +30 -0
- package/search-message-area/index.d.ts +22 -0
- package/search-scope/index.d.ts +22 -0
- package/shell-bar/index.d.ts +160 -0
- package/shell-bar-branding/index.d.ts +44 -0
- package/shell-bar-item/index.d.ts +50 -0
- package/shell-bar-search/index.d.ts +74 -0
- package/shell-bar-spacer/index.d.ts +14 -0
- package/side-navigation/index.d.ts +33 -0
- package/side-navigation-group/index.d.ts +35 -0
- package/side-navigation-item/index.d.ts +105 -0
- package/side-navigation-sub-item/index.d.ts +101 -0
- package/sort-item/index.d.ts +22 -0
- package/theming/index.d.ts +11 -0
- package/timeline/index.d.ts +50 -0
- package/timeline-group-item/index.d.ts +27 -0
- package/timeline-item/index.d.ts +50 -0
- package/upload-collection/index.d.ts +54 -0
- package/upload-collection-item/index.d.ts +85 -0
- package/user-menu/index.d.ts +73 -0
- package/user-menu-account/index.d.ts +46 -0
- package/user-menu-item/index.d.ts +14 -0
- package/user-menu-item-group/index.d.ts +14 -0
- package/user-settings-dialog/index.d.ts +45 -0
- package/user-settings-item/index.d.ts +59 -0
- package/user-settings-view/index.d.ts +27 -0
- package/view-settings-dialog/index.d.ts +47 -0
- package/wizard/index.d.ts +24 -0
- package/wizard-step/index.d.ts +58 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, booleanAttribute, output, inject, ElementRef, Injector, runInInjectionContext, effect, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
import '@ui5/webcomponents-fiori/dist/DynamicSideContent.js';
|
|
4
|
+
|
|
5
|
+
class DynamicSideContent {
|
|
6
|
+
constructor() {
|
|
7
|
+
/**
|
|
8
|
+
* Defines the visibility of the main content.
|
|
9
|
+
*/
|
|
10
|
+
this.hideMainContent = input(false, ...(ngDevMode ? [{ debugName: "hideMainContent", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
11
|
+
/**
|
|
12
|
+
* Defines the visibility of the side content.
|
|
13
|
+
*/
|
|
14
|
+
this.hideSideContent = input(false, ...(ngDevMode ? [{ debugName: "hideSideContent", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
15
|
+
/**
|
|
16
|
+
* Defines whether the side content is positioned before the main content (left side
|
|
17
|
+
in LTR mode), or after the the main content (right side in LTR mode).
|
|
18
|
+
*/
|
|
19
|
+
this.sideContentPosition = input("End", ...(ngDevMode ? [{ debugName: "sideContentPosition" }] : []));
|
|
20
|
+
/**
|
|
21
|
+
* Defines on which breakpoints the side content is visible.
|
|
22
|
+
*/
|
|
23
|
+
this.sideContentVisibility = input("ShowAboveS", ...(ngDevMode ? [{ debugName: "sideContentVisibility" }] : []));
|
|
24
|
+
/**
|
|
25
|
+
* Defines on which breakpoints the side content falls down below the main content.
|
|
26
|
+
*/
|
|
27
|
+
this.sideContentFallDown = input("OnMinimumWidth", ...(ngDevMode ? [{ debugName: "sideContentFallDown" }] : []));
|
|
28
|
+
/**
|
|
29
|
+
* Defines whether the component is in equal split mode. In this mode, the side and
|
|
30
|
+
the main content take 50:50 percent of the container on all screen sizes
|
|
31
|
+
except for phone, where the main and side contents are switching visibility
|
|
32
|
+
using the toggle method.
|
|
33
|
+
*/
|
|
34
|
+
this.equalSplit = input(false, ...(ngDevMode ? [{ debugName: "equalSplit", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
35
|
+
/**
|
|
36
|
+
* Defines additional accessibility attributes on different areas of the component.
|
|
37
|
+
|
|
38
|
+
The accessibilityAttributes object has the following fields:
|
|
39
|
+
|
|
40
|
+
- **mainContent**: `mainContent.ariaLabel` defines the aria-label of the main content area. Accepts any string.
|
|
41
|
+
- **sideContent**: `sideContent.ariaLabel` defines the aria-label of the side content area. Accepts any string.
|
|
42
|
+
*/
|
|
43
|
+
this.accessibilityAttributes = input({}, ...(ngDevMode ? [{ debugName: "accessibilityAttributes" }] : [])); // className is now passed
|
|
44
|
+
/**
|
|
45
|
+
* Fires when the current breakpoint has been changed.
|
|
46
|
+
*/
|
|
47
|
+
this.ui5LayoutChange = output();
|
|
48
|
+
this.elementRef = inject(ElementRef);
|
|
49
|
+
this.injector = inject(Injector);
|
|
50
|
+
}
|
|
51
|
+
get element() {
|
|
52
|
+
return this.elementRef.nativeElement;
|
|
53
|
+
}
|
|
54
|
+
ngAfterViewInit() {
|
|
55
|
+
const wcElement = this.element;
|
|
56
|
+
const inputsToSync = [
|
|
57
|
+
'hideMainContent',
|
|
58
|
+
'hideSideContent',
|
|
59
|
+
'sideContentPosition',
|
|
60
|
+
'sideContentVisibility',
|
|
61
|
+
'sideContentFallDown',
|
|
62
|
+
'equalSplit',
|
|
63
|
+
'accessibilityAttributes',
|
|
64
|
+
];
|
|
65
|
+
// Synchronize inputs (properties)
|
|
66
|
+
for (const inputName of inputsToSync) {
|
|
67
|
+
// Find the corresponding camelCase signal property on the Angular component
|
|
68
|
+
const signalName = inputName.replace(/-./g, (x) => x[1].toUpperCase());
|
|
69
|
+
// Use the Injector to run the effect in the correct context
|
|
70
|
+
if (this[signalName] && typeof this[signalName] === 'function') {
|
|
71
|
+
runInInjectionContext(this.injector, () => {
|
|
72
|
+
effect(() => {
|
|
73
|
+
// Read the signal value
|
|
74
|
+
const value = this[signalName]();
|
|
75
|
+
if (wcElement) {
|
|
76
|
+
// Write the value to the Web Component's property
|
|
77
|
+
wcElement[inputName] = value;
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
const outputsToSync = [
|
|
84
|
+
'ui5LayoutChange',
|
|
85
|
+
];
|
|
86
|
+
// Synchronize outputs (events)
|
|
87
|
+
for (const outputName of outputsToSync) {
|
|
88
|
+
// Map Angular output name to UI5 web component event name
|
|
89
|
+
const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
|
|
90
|
+
// Ensure the output property exists and has an emit function before adding listener
|
|
91
|
+
if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
|
|
92
|
+
// Cast the listener to the correct type to satisfy TypeScript
|
|
93
|
+
wcElement.addEventListener(eventName, (e) => {
|
|
94
|
+
this[outputName].emit(e);
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: DynamicSideContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
100
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.4", type: DynamicSideContent, isStandalone: true, selector: "ui5-dynamic-side-content, [ui5-dynamic-side-content]", inputs: { hideMainContent: { classPropertyName: "hideMainContent", publicName: "hideMainContent", isSignal: true, isRequired: false, transformFunction: null }, hideSideContent: { classPropertyName: "hideSideContent", publicName: "hideSideContent", isSignal: true, isRequired: false, transformFunction: null }, sideContentPosition: { classPropertyName: "sideContentPosition", publicName: "sideContentPosition", isSignal: true, isRequired: false, transformFunction: null }, sideContentVisibility: { classPropertyName: "sideContentVisibility", publicName: "sideContentVisibility", isSignal: true, isRequired: false, transformFunction: null }, sideContentFallDown: { classPropertyName: "sideContentFallDown", publicName: "sideContentFallDown", isSignal: true, isRequired: false, transformFunction: null }, equalSplit: { classPropertyName: "equalSplit", publicName: "equalSplit", isSignal: true, isRequired: false, transformFunction: null }, accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5LayoutChange: "ui5LayoutChange" }, exportAs: ["ui5DynamicSideContent"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
101
|
+
}
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: DynamicSideContent, decorators: [{
|
|
103
|
+
type: Component,
|
|
104
|
+
args: [{
|
|
105
|
+
standalone: true,
|
|
106
|
+
selector: 'ui5-dynamic-side-content, [ui5-dynamic-side-content]',
|
|
107
|
+
template: '<ng-content></ng-content>',
|
|
108
|
+
exportAs: 'ui5DynamicSideContent',
|
|
109
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
110
|
+
}]
|
|
111
|
+
}] });
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Generated bundle index. Do not edit.
|
|
115
|
+
*/
|
|
116
|
+
|
|
117
|
+
export { DynamicSideContent };
|
|
118
|
+
//# sourceMappingURL=fundamental-ngx-ui5-webcomponents-fiori-dynamic-side-content.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-ui5-webcomponents-fiori-dynamic-side-content.mjs","sources":["../tmp-esm2022/dynamic-side-content/index.js","../tmp-esm2022/dynamic-side-content/fundamental-ngx-ui5-webcomponents-fiori-dynamic-side-content.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, input, output, effect, runInInjectionContext, inject, Injector, booleanAttribute } from '@angular/core';\nimport '@ui5/webcomponents-fiori/dist/DynamicSideContent.js';\nimport * as i0 from \"@angular/core\";\nexport class DynamicSideContent {\n constructor() {\n /**\n * Defines the visibility of the main content.\n */\n this.hideMainContent = input(false, ...(ngDevMode ? [{ debugName: \"hideMainContent\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * Defines the visibility of the side content.\n */\n this.hideSideContent = input(false, ...(ngDevMode ? [{ debugName: \"hideSideContent\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * Defines whether the side content is positioned before the main content (left side\n in LTR mode), or after the the main content (right side in LTR mode).\n */\n this.sideContentPosition = input(\"End\", ...(ngDevMode ? [{ debugName: \"sideContentPosition\" }] : []));\n /**\n * Defines on which breakpoints the side content is visible.\n */\n this.sideContentVisibility = input(\"ShowAboveS\", ...(ngDevMode ? [{ debugName: \"sideContentVisibility\" }] : []));\n /**\n * Defines on which breakpoints the side content falls down below the main content.\n */\n this.sideContentFallDown = input(\"OnMinimumWidth\", ...(ngDevMode ? [{ debugName: \"sideContentFallDown\" }] : []));\n /**\n * Defines whether the component is in equal split mode. In this mode, the side and\n the main content take 50:50 percent of the container on all screen sizes\n except for phone, where the main and side contents are switching visibility\n using the toggle method.\n */\n this.equalSplit = input(false, ...(ngDevMode ? [{ debugName: \"equalSplit\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * Defines additional accessibility attributes on different areas of the component.\n \n The accessibilityAttributes object has the following fields:\n \n - **mainContent**: `mainContent.ariaLabel` defines the aria-label of the main content area. Accepts any string.\n - **sideContent**: `sideContent.ariaLabel` defines the aria-label of the side content area. Accepts any string.\n */\n this.accessibilityAttributes = input({}, ...(ngDevMode ? [{ debugName: \"accessibilityAttributes\" }] : [])); // className is now passed\n /**\n * Fires when the current breakpoint has been changed.\n */\n this.ui5LayoutChange = output();\n this.elementRef = inject(ElementRef);\n this.injector = inject(Injector);\n }\n get element() {\n return this.elementRef.nativeElement;\n }\n ngAfterViewInit() {\n const wcElement = this.element;\n const inputsToSync = [\n 'hideMainContent',\n 'hideSideContent',\n 'sideContentPosition',\n 'sideContentVisibility',\n 'sideContentFallDown',\n 'equalSplit',\n 'accessibilityAttributes',\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) => x[1].toUpperCase());\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 const outputsToSync = [\n 'ui5LayoutChange',\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 this[outputName].emit(e);\n });\n }\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: DynamicSideContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.1.4\", type: DynamicSideContent, isStandalone: true, selector: \"ui5-dynamic-side-content, [ui5-dynamic-side-content]\", inputs: { hideMainContent: { classPropertyName: \"hideMainContent\", publicName: \"hideMainContent\", isSignal: true, isRequired: false, transformFunction: null }, hideSideContent: { classPropertyName: \"hideSideContent\", publicName: \"hideSideContent\", isSignal: true, isRequired: false, transformFunction: null }, sideContentPosition: { classPropertyName: \"sideContentPosition\", publicName: \"sideContentPosition\", isSignal: true, isRequired: false, transformFunction: null }, sideContentVisibility: { classPropertyName: \"sideContentVisibility\", publicName: \"sideContentVisibility\", isSignal: true, isRequired: false, transformFunction: null }, sideContentFallDown: { classPropertyName: \"sideContentFallDown\", publicName: \"sideContentFallDown\", isSignal: true, isRequired: false, transformFunction: null }, equalSplit: { classPropertyName: \"equalSplit\", publicName: \"equalSplit\", isSignal: true, isRequired: false, transformFunction: null }, accessibilityAttributes: { classPropertyName: \"accessibilityAttributes\", publicName: \"accessibilityAttributes\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5LayoutChange: \"ui5LayoutChange\" }, exportAs: [\"ui5DynamicSideContent\"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: DynamicSideContent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'ui5-dynamic-side-content, [ui5-dynamic-side-content]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5DynamicSideContent',\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpNS13ZWJjb21wb25lbnRzLWZpb3JpL2R5bmFtaWMtc2lkZS1jb250ZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUVOLE1BQU0sRUFDTixxQkFBcUIsRUFDckIsTUFBTSxFQUNOLFFBQVEsRUFDUixnQkFBZ0IsRUFHakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxxREFBcUQsQ0FBQzs7QUFpQjdELE1BQU0sT0FBTyxrQkFBa0I7SUFSL0I7UUFVRTs7V0FFRztRQUNILG9CQUFlLEdBQUcsS0FBSyxDQUFDLEtBQUssbURBQUksU0FBUyxFQUFFLGdCQUFnQixPQUE3QixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxHQUFDLENBQUM7UUFFaEU7O1dBRUc7UUFDSCxvQkFBZSxHQUFHLEtBQUssQ0FBQyxLQUFLLG1EQUFJLFNBQVMsRUFBRSxnQkFBZ0IsT0FBN0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsR0FBQyxDQUFDO1FBRWhFOzs7V0FHRztRQUNILHdCQUFtQixHQUFHLEtBQUssQ0FBdUUsS0FBSywrREFBQyxDQUFDO1FBRXpHOztXQUVHO1FBQ0gsMEJBQXFCLEdBQUcsS0FBSyxDQUF5RSxZQUFZLGlFQUFDLENBQUM7UUFFcEg7O1dBRUc7UUFDSCx3QkFBbUIsR0FBRyxLQUFLLENBQXVFLGdCQUFnQiwrREFBQyxDQUFDO1FBRXBIOzs7OztXQUtHO1FBQ0gsZUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLDhDQUFJLFNBQVMsRUFBRSxnQkFBZ0IsT0FBN0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsR0FBQyxDQUFDO1FBRTNEOzs7Ozs7O1dBT0c7UUFDSCw0QkFBdUIsR0FBRyxLQUFLLENBQTJFLEVBQUUs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XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgZWZmZWN0LFxuICBydW5JbkluamVjdGlvbkNvbnRleHQsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGNvbXB1dGVkLFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgJ0B1aTUvd2ViY29tcG9uZW50cy1maW9yaS9kaXN0L0R5bmFtaWNTaWRlQ29udGVudC5qcyc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIF9EeW5hbWljU2lkZUNvbnRlbnQgfSBmcm9tICdAdWk1L3dlYmNvbXBvbmVudHMtZmlvcmkvZGlzdC9EeW5hbWljU2lkZUNvbnRlbnQuanMnO1xuaW1wb3J0IHsgVUk1Q3VzdG9tRXZlbnQgfSBmcm9tICdAdWk1L3dlYmNvbXBvbmVudHMtYmFzZSc7XG5cbmltcG9ydCB7IGRlZmF1bHQgYXMgU2lkZUNvbnRlbnRQb3NpdGlvbiB9IGZyb20gJ0B1aTUvd2ViY29tcG9uZW50cy1maW9yaS9kaXN0L3R5cGVzL1NpZGVDb250ZW50UG9zaXRpb24uanMnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBTaWRlQ29udGVudFZpc2liaWxpdHkgfSBmcm9tICdAdWk1L3dlYmNvbXBvbmVudHMtZmlvcmkvZGlzdC90eXBlcy9TaWRlQ29udGVudFZpc2liaWxpdHkuanMnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBTaWRlQ29udGVudEZhbGxEb3duIH0gZnJvbSAnQHVpNS93ZWJjb21wb25lbnRzLWZpb3JpL2Rpc3QvdHlwZXMvU2lkZUNvbnRlbnRGYWxsRG93bi5qcyc7XG5pbXBvcnQgeyBEeW5hbWljU2lkZUNvbnRlbnRBY2Nlc3NpYmlsaXR5QXR0cmlidXRlcyB9IGZyb20gJ0B1aTUvd2ViY29tcG9uZW50cy1maW9yaS9kaXN0L0R5bmFtaWNTaWRlQ29udGVudC5qcyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3VpNS1keW5hbWljLXNpZGUtY29udGVudCwgW3VpNS1keW5hbWljLXNpZGUtY29udGVudF0nLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBleHBvcnRBczogJ3VpNUR5bmFtaWNTaWRlQ29udGVudCcsXG5cbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNTaWRlQ29udGVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBtYWluIGNvbnRlbnQuXG4gICAqL1xuICBoaWRlTWFpbkNvbnRlbnQgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIHNpZGUgY29udGVudC5cbiAgICovXG4gIGhpZGVTaWRlQ29udGVudCA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAvKipcbiAgICogRGVmaW5lcyB3aGV0aGVyIHRoZSBzaWRlIGNvbnRlbnQgaXMgcG9zaXRpb25lZCBiZWZvcmUgdGhlIG1haW4gY29udGVudCAobGVmdCBzaWRlXG5pbiBMVFIgbW9kZSksIG9yIGFmdGVyIHRoZSB0aGUgbWFpbiBjb250ZW50IChyaWdodCBzaWRlIGluIExUUiBtb2RlKS5cbiAgICovXG4gIHNpZGVDb250ZW50UG9zaXRpb24gPSBpbnB1dDx0eXBlb2YgX0R5bmFtaWNTaWRlQ29udGVudC5wcm90b3R5cGUuc2lkZUNvbnRlbnRQb3NpdGlvbiB8IHVuZGVmaW5lZD4oXCJFbmRcIik7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgb24gd2hpY2ggYnJlYWtwb2ludHMgdGhlIHNpZGUgY29udGVudCBpcyB2aXNpYmxlLlxuICAgKi9cbiAgc2lkZUNvbnRlbnRWaXNpYmlsaXR5ID0gaW5wdXQ8dHlwZW9mIF9EeW5hbWljU2lkZUNvbnRlbnQucHJvdG90eXBlLnNpZGVDb250ZW50VmlzaWJpbGl0eSB8IHVuZGVmaW5lZD4oXCJTaG93QWJvdmVTXCIpO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIG9uIHdoaWNoIGJyZWFrcG9pbnRzIHRoZSBzaWRlIGNvbnRlbnQgZmFsbHMgZG93biBiZWxvdyB0aGUgbWFpbiBjb250ZW50LlxuICAgKi9cbiAgc2lkZUNvbnRlbnRGYWxsRG93biA9IGlucHV0PHR5cGVvZiBfRHluYW1pY1NpZGVDb250ZW50LnByb3RvdHlwZS5zaWRlQ29udGVudEZhbGxEb3duIHwgdW5kZWZpbmVkPihcIk9uTWluaW11bVdpZHRoXCIpO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBpbiBlcXVhbCBzcGxpdCBtb2RlLiBJbiB0aGlzIG1vZGUsIHRoZSBzaWRlIGFuZFxudGhlIG1haW4gY29udGVudCB0YWtlIDUwOjUwIHBlcmNlbnQgb2YgdGhlIGNvbnRhaW5lciBvbiBhbGwgc2NyZWVuIHNpemVzXG5leGNlcHQgZm9yIHBob25lLCB3aGVyZSB0aGUgbWFpbiBhbmQgc2lkZSBjb250ZW50cyBhcmUgc3dpdGNoaW5nIHZpc2liaWxpdHlcbnVzaW5nIHRoZSB0b2dnbGUgbWV0aG9kLlxuICAgKi9cbiAgZXF1YWxTcGxpdCA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAvKipcbiAgICogRGVmaW5lcyBhZGRpdGlvbmFsIGFjY2Vzc2liaWxpdHkgYXR0cmlidXRlcyBvbiBkaWZmZXJlbnQgYXJlYXMgb2YgdGhlIGNvbXBvbmVudC5cblxuVGhlIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVzIG9iamVjdCBoYXMgdGhlIGZvbGxvd2luZyBmaWVsZHM6XG5cbiAtICoqbWFpbkNvbnRlbnQqKjogYG1haW5Db250ZW50LmFyaWFMYWJlbGAgZGVmaW5lcyB0aGUgYXJpYS1sYWJlbCBvZiB0aGUgbWFpbiBjb250ZW50IGFyZWEuIEFjY2VwdHMgYW55IHN0cmluZy5cbiAtICoqc2lkZUNvbnRlbnQqKjogYHNpZGVDb250ZW50LmFyaWFMYWJlbGAgZGVmaW5lcyB0aGUgYXJpYS1sYWJlbCBvZiB0aGUgc2lkZSBjb250ZW50IGFyZWEuIEFjY2VwdHMgYW55IHN0cmluZy5cbiAgICovXG4gIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVzID0gaW5wdXQ8dHlwZW9mIF9EeW5hbWljU2lkZUNvbnRlbnQucHJvdG90eXBlLmFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVzIHwgdW5kZWZpbmVkPih7fSk7IC8vIGNsYXNzTmFtZSBpcyBub3cgcGFzc2VkXG5cblxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgaGFzIGJlZW4gY2hhbmdlZC5cbiAgICovXG4gIHVpNUxheW91dENoYW5nZSA9IG91dHB1dDxVSTVDdXN0b21FdmVudDxfRHluYW1pY1NpZGVDb250ZW50LCAnbGF5b3V0LWNoYW5nZSc+PigpO1xuXG4gIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPF9EeW5hbWljU2lkZUNvbnRlbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwdWJsaWMgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIGdldCBlbGVtZW50KCk6IF9EeW5hbWljU2lkZUNvbnRlbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB3Y0VsZW1lbnQgPSB0aGlzLmVsZW1lbnQ7XG4gICAgXG4gICAgY29uc3QgaW5wdXRzVG9TeW5jID0gW1xuICAgICAgJ2hpZGVNYWluQ29udGVudCcsXG4gICAgICAnaGlkZVNpZGVDb250ZW50JyxcbiAgICAgICdzaWRlQ29udGVudFBvc2l0aW9uJyxcbiAgICAgICdzaWRlQ29udGVudFZpc2liaWxpdHknLFxuICAgICAgJ3NpZGVDb250ZW50RmFsbERvd24nLFxuICAgICAgJ2VxdWFsU3BsaXQnLFxuICAgICAgJ2FjY2Vzc2liaWxpdHlBdHRyaWJ1dGVzJyxcbiAgICBdO1xuICAgIFxuICAgIC8vIFN5bmNocm9uaXplIGlucHV0cyAocHJvcGVydGllcylcbiAgICBmb3IgKGNvbnN0IGlucHV0TmFtZSBvZiBpbnB1dHNUb1N5bmMpIHtcbiAgICAgIC8vIEZpbmQgdGhlIGNvcnJlc3BvbmRpbmcgY2FtZWxDYXNlIHNpZ25hbCBwcm9wZXJ0eSBvbiB0aGUgQW5ndWxhciBjb21wb25lbnRcbiAgICAgIGNvbnN0IHNpZ25hbE5hbWUgPSBpbnB1dE5hbWUucmVwbGFjZSgvLS4vZywgKHg6IHN0cmluZykgPT4geFsxXS50b1VwcGVyQ2FzZSgpKTtcblxuICAgICAgLy8gVXNlIHRoZSBJbmplY3RvciB0byBydW4gdGhlIGVmZmVjdCBpbiB0aGUgY29ycmVjdCBjb250ZXh0XG4gICAgICBpZiAodGhpc1tzaWduYWxOYW1lXSAmJiB0eXBlb2YgdGhpc1tzaWduYWxOYW1lXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5pbmplY3RvciwgKCkgPT4ge1xuICAgICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICAvLyBSZWFkIHRoZSBzaWduYWwgdmFsdWVcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpc1tzaWduYWxOYW1lXSgpO1xuICAgICAgICAgICAgaWYgKHdjRWxlbWVudCkge1xuICAgICAgICAgICAgICAvLyBXcml0ZSB0aGUgdmFsdWUgdG8gdGhlIFdlYiBDb21wb25lbnQncyBwcm9wZXJ0eVxuICAgICAgICAgICAgICB3Y0VsZW1lbnRbaW5wdXROYW1lXSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIFxuICAgIGNvbnN0IG91dHB1dHNUb1N5bmMgPSBbXG4gICAgICAndWk1TGF5b3V0Q2hhbmdlJyxcbiAgICBdO1xuICAgIFxuICAgIC8vIFN5bmNocm9uaXplIG91dHB1dHMgKGV2ZW50cylcbiAgICBmb3IgKGNvbnN0IG91dHB1dE5hbWUgb2Ygb3V0cHV0c1RvU3luYykge1xuICAgICAgLy8gTWFwIEFuZ3VsYXIgb3V0cHV0IG5hbWUgdG8gVUk1IHdlYiBjb21wb25lbnQgZXZlbnQgbmFtZVxuICAgICAgY29uc3QgZXZlbnROYW1lID0gb3V0cHV0TmFtZS5yZXBsYWNlKCd1aTUnLCAnJykucmVwbGFjZSgvKFtBLVpdKS9nLCAnLSQxJykudG9Mb3dlckNhc2UoKS5zdWJzdHJpbmcoMSk7XG4gICAgICAvLyBFbnN1cmUgdGhlIG91dHB1dCBwcm9wZXJ0eSBleGlzdHMgYW5kIGhhcyBhbiBlbWl0IGZ1bmN0aW9uIGJlZm9yZSBhZGRpbmcgbGlzdGVuZXJcbiAgICAgIGlmICh0aGlzW291dHB1dE5hbWVdICYmIHR5cGVvZiB0aGlzW291dHB1dE5hbWVdLmVtaXQgPT09ICdmdW5jdGlvbicgJiYgd2NFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgLy8gQ2FzdCB0aGUgbGlzdGVuZXIgdG8gdGhlIGNvcnJlY3QgdHlwZSB0byBzYXRpc2Z5IFR5cGVTY3JpcHRcbiAgICAgICAgd2NFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCAoZSkgPT4ge1xuXG4gICAgICAgICAgdGhpc1tvdXRwdXROYW1lXS5lbWl0KGUgYXMgQ3VzdG9tRXZlbnQ8YW55Pik7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgXG5cbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LXVpNS13ZWJjb21wb25lbnRzLWZpb3JpLWR5bmFtaWMtc2lkZS1jb250ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy91aTUtd2ViY29tcG9uZW50cy1maW9yaS9keW5hbWljLXNpZGUtY29udGVudC9mdW5kYW1lbnRhbC1uZ3gtdWk1LXdlYmNvbXBvbmVudHMtZmlvcmktZHluYW1pYy1zaWRlLWNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
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-fiori/dist/FilterItemOption.js';
|
|
4
|
+
|
|
5
|
+
class FilterItemOption {
|
|
6
|
+
constructor() {
|
|
7
|
+
/**
|
|
8
|
+
* Defines the text of the filter option.
|
|
9
|
+
*/
|
|
10
|
+
this.text = input(...(ngDevMode ? [undefined, { debugName: "text" }] : []));
|
|
11
|
+
/**
|
|
12
|
+
* Defines if the filter option is selected.
|
|
13
|
+
*/
|
|
14
|
+
this.selected = input(false, ...(ngDevMode ? [{ debugName: "selected", transform: booleanAttribute }] : [{ transform: booleanAttribute }])); // className is now passed
|
|
15
|
+
this.elementRef = inject(ElementRef);
|
|
16
|
+
this.injector = inject(Injector);
|
|
17
|
+
}
|
|
18
|
+
get element() {
|
|
19
|
+
return this.elementRef.nativeElement;
|
|
20
|
+
}
|
|
21
|
+
ngAfterViewInit() {
|
|
22
|
+
const wcElement = this.element;
|
|
23
|
+
const inputsToSync = [
|
|
24
|
+
'text',
|
|
25
|
+
'selected',
|
|
26
|
+
];
|
|
27
|
+
// Synchronize inputs (properties)
|
|
28
|
+
for (const inputName of inputsToSync) {
|
|
29
|
+
// Find the corresponding camelCase signal property on the Angular component
|
|
30
|
+
const signalName = inputName.replace(/-./g, (x) => x[1].toUpperCase());
|
|
31
|
+
// Use the Injector to run the effect in the correct context
|
|
32
|
+
if (this[signalName] && typeof this[signalName] === 'function') {
|
|
33
|
+
runInInjectionContext(this.injector, () => {
|
|
34
|
+
effect(() => {
|
|
35
|
+
// Read the signal value
|
|
36
|
+
const value = this[signalName]();
|
|
37
|
+
if (wcElement) {
|
|
38
|
+
// Write the value to the Web Component's property
|
|
39
|
+
wcElement[inputName] = value;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: FilterItemOption, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.4", type: FilterItemOption, isStandalone: true, selector: "ui5-filter-item-option, [ui5-filter-item-option]", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["ui5FilterItemOption"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
48
|
+
}
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: FilterItemOption, decorators: [{
|
|
50
|
+
type: Component,
|
|
51
|
+
args: [{
|
|
52
|
+
standalone: true,
|
|
53
|
+
selector: 'ui5-filter-item-option, [ui5-filter-item-option]',
|
|
54
|
+
template: '<ng-content></ng-content>',
|
|
55
|
+
exportAs: 'ui5FilterItemOption',
|
|
56
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
57
|
+
}]
|
|
58
|
+
}] });
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Generated bundle index. Do not edit.
|
|
62
|
+
*/
|
|
63
|
+
|
|
64
|
+
export { FilterItemOption };
|
|
65
|
+
//# sourceMappingURL=fundamental-ngx-ui5-webcomponents-fiori-filter-item-option.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-ui5-webcomponents-fiori-filter-item-option.mjs","sources":["../tmp-esm2022/filter-item-option/index.js","../tmp-esm2022/filter-item-option/fundamental-ngx-ui5-webcomponents-fiori-filter-item-option.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, input, effect, runInInjectionContext, inject, Injector, booleanAttribute } from '@angular/core';\nimport '@ui5/webcomponents-fiori/dist/FilterItemOption.js';\nimport * as i0 from \"@angular/core\";\nexport class FilterItemOption {\n constructor() {\n /**\n * Defines the text of the filter option.\n */\n this.text = input(...(ngDevMode ? [undefined, { debugName: \"text\" }] : []));\n /**\n * Defines if the filter option is selected.\n */\n this.selected = input(false, ...(ngDevMode ? [{ debugName: \"selected\", transform: booleanAttribute }] : [{ transform: booleanAttribute }])); // className is now passed\n this.elementRef = inject(ElementRef);\n this.injector = inject(Injector);\n }\n get element() {\n return this.elementRef.nativeElement;\n }\n ngAfterViewInit() {\n const wcElement = this.element;\n const inputsToSync = [\n 'text',\n 'selected',\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) => x[1].toUpperCase());\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 static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: FilterItemOption, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.1.4\", type: FilterItemOption, isStandalone: true, selector: \"ui5-filter-item-option, [ui5-filter-item-option]\", inputs: { text: { classPropertyName: \"text\", publicName: \"text\", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: \"selected\", publicName: \"selected\", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: [\"ui5FilterItemOption\"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: FilterItemOption, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'ui5-filter-item-option, [ui5-filter-item-option]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5FilterItemOption',\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpNS13ZWJjb21wb25lbnRzLWZpb3JpL2ZpbHRlci1pdGVtLW9wdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUdMLE1BQU0sRUFDTixxQkFBcUIsRUFDckIsTUFBTSxFQUNOLFFBQVEsRUFDUixnQkFBZ0IsRUFHakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxtREFBbUQsQ0FBQzs7QUFjM0QsTUFBTSxPQUFPLGdCQUFnQjtJQVI3QjtRQVVFOztXQUVHO1FBQ0gsU0FBSSxHQUFHLEtBQUssMERBQXVELENBQUM7UUFFcEU7O1dBRUc7UUFDSCxhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssNENBQUksU0FBUyxFQUFFLGdCQUFnQixPQUE3QixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxHQUFDLENBQUMsQ0FBQywwQkFBMEI7UUFLN0UsZUFBVSxHQUFrQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0QsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztLQXNDcEM7SUFwQ0MsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFL0IsTUFBTSxZQUFZLEdBQUc7WUFDbkIsTUFBTTtZQUNOLFVBQVU7U0FDWCxDQUFDO1FBRUYsa0NBQWtDO1FBQ2xDLEtBQUssTUFBTSxTQUFTLElBQUksWUFBWSxFQUFFLENBQUM7WUFDckMsNEVBQTRFO1lBQzVFLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUUvRSw0REFBNEQ7WUFDNUQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQy9ELHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO29CQUN4QyxNQUFNLENBQUMsR0FBRyxFQUFFO3dCQUNWLHdCQUF3Qjt3QkFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7d0JBQ2pDLElBQUksU0FBUyxFQUFFLENBQUM7NEJBQ2Qsa0RBQWtEOzRCQUNsRCxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDO3dCQUMvQixDQUFDO29CQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7SUFLSCxDQUFDOzhHQXJEVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixpWkFMakIsMkJBQTJCOzsyRkFLMUIsZ0JBQWdCO2tCQVI1QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsa0RBQWtEO29CQUM1RCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxRQUFRLEVBQUUscUJBQXFCO29CQUUvQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIGVmZmVjdCxcbiAgcnVuSW5JbmplY3Rpb25Db250ZXh0LFxuICBpbmplY3QsXG4gIEluamVjdG9yLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBjb21wdXRlZCxcbiAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICdAdWk1L3dlYmNvbXBvbmVudHMtZmlvcmkvZGlzdC9GaWx0ZXJJdGVtT3B0aW9uLmpzJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgX0ZpbHRlckl0ZW1PcHRpb24gfSBmcm9tICdAdWk1L3dlYmNvbXBvbmVudHMtZmlvcmkvZGlzdC9GaWx0ZXJJdGVtT3B0aW9uLmpzJztcbmltcG9ydCB7IFVJNUN1c3RvbUV2ZW50IH0gZnJvbSAnQHVpNS93ZWJjb21wb25lbnRzLWJhc2UnO1xuXG5cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAndWk1LWZpbHRlci1pdGVtLW9wdGlvbiwgW3VpNS1maWx0ZXItaXRlbS1vcHRpb25dJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgZXhwb3J0QXM6ICd1aTVGaWx0ZXJJdGVtT3B0aW9uJyxcblxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVySXRlbU9wdGlvbiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSB0ZXh0IG9mIHRoZSBmaWx0ZXIgb3B0aW9uLlxuICAgKi9cbiAgdGV4dCA9IGlucHV0PHR5cGVvZiBfRmlsdGVySXRlbU9wdGlvbi5wcm90b3R5cGUudGV4dCB8IHVuZGVmaW5lZD4oKTtcblxuICAvKipcbiAgICogRGVmaW5lcyBpZiB0aGUgZmlsdGVyIG9wdGlvbiBpcyBzZWxlY3RlZC5cbiAgICovXG4gIHNlbGVjdGVkID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pOyAvLyBjbGFzc05hbWUgaXMgbm93IHBhc3NlZFxuXG5cblxuXG4gIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPF9GaWx0ZXJJdGVtT3B0aW9uPiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHVibGljIGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBnZXQgZWxlbWVudCgpOiBfRmlsdGVySXRlbU9wdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHdjRWxlbWVudCA9IHRoaXMuZWxlbWVudDtcbiAgICBcbiAgICBjb25zdCBpbnB1dHNUb1N5bmMgPSBbXG4gICAgICAndGV4dCcsXG4gICAgICAnc2VsZWN0ZWQnLFxuICAgIF07XG4gICAgXG4gICAgLy8gU3luY2hyb25pemUgaW5wdXRzIChwcm9wZXJ0aWVzKVxuICAgIGZvciAoY29uc3QgaW5wdXROYW1lIG9mIGlucHV0c1RvU3luYykge1xuICAgICAgLy8gRmluZCB0aGUgY29ycmVzcG9uZGluZyBjYW1lbENhc2Ugc2lnbmFsIHByb3BlcnR5IG9uIHRoZSBBbmd1bGFyIGNvbXBvbmVudFxuICAgICAgY29uc3Qgc2lnbmFsTmFtZSA9IGlucHV0TmFtZS5yZXBsYWNlKC8tLi9nLCAoeDogc3RyaW5nKSA9PiB4WzFdLnRvVXBwZXJDYXNlKCkpO1xuXG4gICAgICAvLyBVc2UgdGhlIEluamVjdG9yIHRvIHJ1biB0aGUgZWZmZWN0IGluIHRoZSBjb3JyZWN0IGNvbnRleHRcbiAgICAgIGlmICh0aGlzW3NpZ25hbE5hbWVdICYmIHR5cGVvZiB0aGlzW3NpZ25hbE5hbWVdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCAoKSA9PiB7XG4gICAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIC8vIFJlYWQgdGhlIHNpZ25hbCB2YWx1ZVxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzW3NpZ25hbE5hbWVdKCk7XG4gICAgICAgICAgICBpZiAod2NFbGVtZW50KSB7XG4gICAgICAgICAgICAgIC8vIFdyaXRlIHRoZSB2YWx1ZSB0byB0aGUgV2ViIENvbXBvbmVudCdzIHByb3BlcnR5XG4gICAgICAgICAgICAgIHdjRWxlbWVudFtpbnB1dE5hbWVdID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgXG4gICAgXG5cbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LXVpNS13ZWJjb21wb25lbnRzLWZpb3JpLWZpbHRlci1pdGVtLW9wdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWk1LXdlYmNvbXBvbmVudHMtZmlvcmkvZmlsdGVyLWl0ZW0tb3B0aW9uL2Z1bmRhbWVudGFsLW5neC11aTUtd2ViY29tcG9uZW50cy1maW9yaS1maWx0ZXItaXRlbS1vcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, inject, ElementRef, Injector, runInInjectionContext, effect, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
import '@ui5/webcomponents-fiori/dist/FilterItem.js';
|
|
4
|
+
|
|
5
|
+
class FilterItem {
|
|
6
|
+
constructor() {
|
|
7
|
+
/**
|
|
8
|
+
* Defines the text of the filter item.
|
|
9
|
+
*/
|
|
10
|
+
this.text = input(...(ngDevMode ? [undefined, { debugName: "text" }] : []));
|
|
11
|
+
/**
|
|
12
|
+
* Defines the additional text of the filter item.
|
|
13
|
+
This text is typically used to show the number of selected filter options within this category.
|
|
14
|
+
*/
|
|
15
|
+
this.additionalText = input(...(ngDevMode ? [undefined, { debugName: "additionalText" }] : [])); // className is now passed
|
|
16
|
+
this.elementRef = inject(ElementRef);
|
|
17
|
+
this.injector = inject(Injector);
|
|
18
|
+
}
|
|
19
|
+
get element() {
|
|
20
|
+
return this.elementRef.nativeElement;
|
|
21
|
+
}
|
|
22
|
+
ngAfterViewInit() {
|
|
23
|
+
const wcElement = this.element;
|
|
24
|
+
const inputsToSync = [
|
|
25
|
+
'text',
|
|
26
|
+
'additionalText',
|
|
27
|
+
];
|
|
28
|
+
// Synchronize inputs (properties)
|
|
29
|
+
for (const inputName of inputsToSync) {
|
|
30
|
+
// Find the corresponding camelCase signal property on the Angular component
|
|
31
|
+
const signalName = inputName.replace(/-./g, (x) => x[1].toUpperCase());
|
|
32
|
+
// Use the Injector to run the effect in the correct context
|
|
33
|
+
if (this[signalName] && typeof this[signalName] === 'function') {
|
|
34
|
+
runInInjectionContext(this.injector, () => {
|
|
35
|
+
effect(() => {
|
|
36
|
+
// Read the signal value
|
|
37
|
+
const value = this[signalName]();
|
|
38
|
+
if (wcElement) {
|
|
39
|
+
// Write the value to the Web Component's property
|
|
40
|
+
wcElement[inputName] = value;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: FilterItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.4", type: FilterItem, isStandalone: true, selector: "ui5-filter-item, [ui5-filter-item]", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, additionalText: { classPropertyName: "additionalText", publicName: "additionalText", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["ui5FilterItem"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
49
|
+
}
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: FilterItem, decorators: [{
|
|
51
|
+
type: Component,
|
|
52
|
+
args: [{
|
|
53
|
+
standalone: true,
|
|
54
|
+
selector: 'ui5-filter-item, [ui5-filter-item]',
|
|
55
|
+
template: '<ng-content></ng-content>',
|
|
56
|
+
exportAs: 'ui5FilterItem',
|
|
57
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
58
|
+
}]
|
|
59
|
+
}] });
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Generated bundle index. Do not edit.
|
|
63
|
+
*/
|
|
64
|
+
|
|
65
|
+
export { FilterItem };
|
|
66
|
+
//# sourceMappingURL=fundamental-ngx-ui5-webcomponents-fiori-filter-item.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-ui5-webcomponents-fiori-filter-item.mjs","sources":["../tmp-esm2022/filter-item/index.js","../tmp-esm2022/filter-item/fundamental-ngx-ui5-webcomponents-fiori-filter-item.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, input, effect, runInInjectionContext, inject, Injector } from '@angular/core';\nimport '@ui5/webcomponents-fiori/dist/FilterItem.js';\nimport * as i0 from \"@angular/core\";\nexport class FilterItem {\n constructor() {\n /**\n * Defines the text of the filter item.\n */\n this.text = input(...(ngDevMode ? [undefined, { debugName: \"text\" }] : []));\n /**\n * Defines the additional text of the filter item.\n This text is typically used to show the number of selected filter options within this category.\n */\n this.additionalText = input(...(ngDevMode ? [undefined, { debugName: \"additionalText\" }] : [])); // className is now passed\n this.elementRef = inject(ElementRef);\n this.injector = inject(Injector);\n }\n get element() {\n return this.elementRef.nativeElement;\n }\n ngAfterViewInit() {\n const wcElement = this.element;\n const inputsToSync = [\n 'text',\n 'additionalText',\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) => x[1].toUpperCase());\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 static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: FilterItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.1.4\", type: FilterItem, isStandalone: true, selector: \"ui5-filter-item, [ui5-filter-item]\", inputs: { text: { classPropertyName: \"text\", publicName: \"text\", isSignal: true, isRequired: false, transformFunction: null }, additionalText: { classPropertyName: \"additionalText\", publicName: \"additionalText\", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: [\"ui5FilterItem\"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: FilterItem, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'ui5-filter-item, [ui5-filter-item]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5FilterItem',\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpNS13ZWJjb21wb25lbnRzLWZpb3JpL2ZpbHRlci1pdGVtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR0wsTUFBTSxFQUNOLHFCQUFxQixFQUNyQixNQUFNLEVBQ04sUUFBUSxFQUlULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sNkNBQTZDLENBQUM7O0FBY3JELE1BQU0sT0FBTyxVQUFVO0lBUnZCO1FBVUU7O1dBRUc7UUFDSCxTQUFJLEdBQUcsS0FBSywwREFBaUQsQ0FBQztRQUU5RDs7O1dBR0c7UUFDSCxtQkFBYyxHQUFHLEtBQUssb0VBQTJELENBQUMsQ0FBQywwQkFBMEI7UUFLdEcsZUFBVSxHQUE0QixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztLQXNDcEM7SUFwQ0MsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFL0IsTUFBTSxZQUFZLEdBQUc7WUFDbkIsTUFBTTtZQUNOLGdCQUFnQjtTQUNqQixDQUFDO1FBRUYsa0NBQWtDO1FBQ2xDLEtBQUssTUFBTSxTQUFTLElBQUksWUFBWSxFQUFFLENBQUM7WUFDckMsNEVBQTRFO1lBQzVFLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUUvRSw0REFBNEQ7WUFDNUQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQy9ELHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO29CQUN4QyxNQUFNLENBQUMsR0FBRyxFQUFFO3dCQUNWLHdCQUF3Qjt3QkFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7d0JBQ2pDLElBQUksU0FBUyxFQUFFLENBQUM7NEJBQ2Qsa0RBQWtEOzRCQUNsRCxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDO3dCQUMvQixDQUFDO29CQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7SUFLSCxDQUFDOzhHQXREVSxVQUFVO2tHQUFWLFVBQVUsK1lBTFgsMkJBQTJCOzsyRkFLMUIsVUFBVTtrQkFSdEIsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLG9DQUFvQztvQkFDOUMsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFLGVBQWU7b0JBRXpCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgZWZmZWN0LFxuICBydW5JbkluamVjdGlvbkNvbnRleHQsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGNvbXB1dGVkLFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgJ0B1aTUvd2ViY29tcG9uZW50cy1maW9yaS9kaXN0L0ZpbHRlckl0ZW0uanMnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBfRmlsdGVySXRlbSB9IGZyb20gJ0B1aTUvd2ViY29tcG9uZW50cy1maW9yaS9kaXN0L0ZpbHRlckl0ZW0uanMnO1xuaW1wb3J0IHsgVUk1Q3VzdG9tRXZlbnQgfSBmcm9tICdAdWk1L3dlYmNvbXBvbmVudHMtYmFzZSc7XG5cblxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1aTUtZmlsdGVyLWl0ZW0sIFt1aTUtZmlsdGVyLWl0ZW1dJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgZXhwb3J0QXM6ICd1aTVGaWx0ZXJJdGVtJyxcblxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVySXRlbSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSB0ZXh0IG9mIHRoZSBmaWx0ZXIgaXRlbS5cbiAgICovXG4gIHRleHQgPSBpbnB1dDx0eXBlb2YgX0ZpbHRlckl0ZW0ucHJvdG90eXBlLnRleHQgfCB1bmRlZmluZWQ+KCk7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIGFkZGl0aW9uYWwgdGV4dCBvZiB0aGUgZmlsdGVyIGl0ZW0uXG5UaGlzIHRleHQgaXMgdHlwaWNhbGx5IHVzZWQgdG8gc2hvdyB0aGUgbnVtYmVyIG9mIHNlbGVjdGVkIGZpbHRlciBvcHRpb25zIHdpdGhpbiB0aGlzIGNhdGVnb3J5LlxuICAgKi9cbiAgYWRkaXRpb25hbFRleHQgPSBpbnB1dDx0eXBlb2YgX0ZpbHRlckl0ZW0ucHJvdG90eXBlLmFkZGl0aW9uYWxUZXh0IHwgdW5kZWZpbmVkPigpOyAvLyBjbGFzc05hbWUgaXMgbm93IHBhc3NlZFxuXG5cblxuXG4gIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPF9GaWx0ZXJJdGVtPiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHVibGljIGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBnZXQgZWxlbWVudCgpOiBfRmlsdGVySXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHdjRWxlbWVudCA9IHRoaXMuZWxlbWVudDtcbiAgICBcbiAgICBjb25zdCBpbnB1dHNUb1N5bmMgPSBbXG4gICAgICAndGV4dCcsXG4gICAgICAnYWRkaXRpb25hbFRleHQnLFxuICAgIF07XG4gICAgXG4gICAgLy8gU3luY2hyb25pemUgaW5wdXRzIChwcm9wZXJ0aWVzKVxuICAgIGZvciAoY29uc3QgaW5wdXROYW1lIG9mIGlucHV0c1RvU3luYykge1xuICAgICAgLy8gRmluZCB0aGUgY29ycmVzcG9uZGluZyBjYW1lbENhc2Ugc2lnbmFsIHByb3BlcnR5IG9uIHRoZSBBbmd1bGFyIGNvbXBvbmVudFxuICAgICAgY29uc3Qgc2lnbmFsTmFtZSA9IGlucHV0TmFtZS5yZXBsYWNlKC8tLi9nLCAoeDogc3RyaW5nKSA9PiB4WzFdLnRvVXBwZXJDYXNlKCkpO1xuXG4gICAgICAvLyBVc2UgdGhlIEluamVjdG9yIHRvIHJ1biB0aGUgZWZmZWN0IGluIHRoZSBjb3JyZWN0IGNvbnRleHRcbiAgICAgIGlmICh0aGlzW3NpZ25hbE5hbWVdICYmIHR5cGVvZiB0aGlzW3NpZ25hbE5hbWVdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCAoKSA9PiB7XG4gICAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIC8vIFJlYWQgdGhlIHNpZ25hbCB2YWx1ZVxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzW3NpZ25hbE5hbWVdKCk7XG4gICAgICAgICAgICBpZiAod2NFbGVtZW50KSB7XG4gICAgICAgICAgICAgIC8vIFdyaXRlIHRoZSB2YWx1ZSB0byB0aGUgV2ViIENvbXBvbmVudCdzIHByb3BlcnR5XG4gICAgICAgICAgICAgIHdjRWxlbWVudFtpbnB1dE5hbWVdID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgXG4gICAgXG5cbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LXVpNS13ZWJjb21wb25lbnRzLWZpb3JpLWZpbHRlci1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy91aTUtd2ViY29tcG9uZW50cy1maW9yaS9maWx0ZXItaXRlbS9mdW5kYW1lbnRhbC1uZ3gtdWk1LXdlYmNvbXBvbmVudHMtZmlvcmktZmlsdGVyLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":";;;;AAGO,MAAM,UAAU,CAAC;AACxB,IAAI,WAAW,GAAG;AAClB;AACA;AACA;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACnF;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACxG,QAAQ,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC5C,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AACxC,IAAI;AACJ,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa;AAC5C,IAAI;AACJ,IAAI,eAAe,GAAG;AACtB,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO;AACtC,QAAQ,MAAM,YAAY,GAAG;AAC7B,YAAY,MAAM;AAClB,YAAY,gBAAgB;AAC5B,SAAS;AACT;AACA,QAAQ,KAAK,MAAM,SAAS,IAAI,YAAY,EAAE;AAC9C;AACA,YAAY,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAClF;AACA,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE;AAC5E,gBAAgB,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM;AAC3D,oBAAoB,MAAM,CAAC,MAAM;AACjC;AACA,wBAAwB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE;AACxD,wBAAwB,IAAI,SAAS,EAAE;AACvC;AACA,4BAA4B,SAAS,CAAC,SAAS,CAAC,GAAG,KAAK;AACxD,wBAAwB;AACxB,oBAAoB,CAAC,CAAC;AACtB,gBAAgB,CAAC,CAAC;AAClB,YAAY;AACZ,QAAQ;AACR,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5K,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,oCAAoC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9lB;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACpH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,IAAI;AACpC,oBAAoB,QAAQ,EAAE,oCAAoC;AAClE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD,oBAAoB,QAAQ,EAAE,eAAe;AAC7C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACzDb;AACA;AACA;;;;"}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, booleanAttribute, computed, output, inject, ElementRef, Injector, signal, runInInjectionContext, effect, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
import '@ui5/webcomponents-fiori/dist/FlexibleColumnLayout.js';
|
|
4
|
+
|
|
5
|
+
class FlexibleColumnLayout {
|
|
6
|
+
constructor() {
|
|
7
|
+
/**
|
|
8
|
+
* Defines the columns layout and their proportion.
|
|
9
|
+
|
|
10
|
+
**Note:** The layout also depends on the screen size - one column for screens smaller than 599px,
|
|
11
|
+
two columns between 599px and 1023px and three columns for sizes bigger than 1023px.
|
|
12
|
+
|
|
13
|
+
**For example:** layout=`TwoColumnsStartExpanded` means the layout will display up to two columns
|
|
14
|
+
in 67%/33% proportion.
|
|
15
|
+
*/
|
|
16
|
+
this.layout = input("OneColumn", ...(ngDevMode ? [{ debugName: "layout" }] : []));
|
|
17
|
+
/**
|
|
18
|
+
* Specifies if the user is allowed to change the columns layout by dragging the separator between the columns.
|
|
19
|
+
*/
|
|
20
|
+
this.disableResizing = input(false, ...(ngDevMode ? [{ debugName: "disableResizing", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
21
|
+
/**
|
|
22
|
+
* Defines additional accessibility attributes on different areas of the component.
|
|
23
|
+
|
|
24
|
+
The accessibilityAttributes object has the following fields,
|
|
25
|
+
where each field is an object supporting one or more accessibility attributes:
|
|
26
|
+
|
|
27
|
+
- **startColumn**: `startColumn.role` and `startColumn.name`.
|
|
28
|
+
- **midColumn**: `midColumn.role` and `midColumn.name`.
|
|
29
|
+
- **endColumn**: `endColumn.role` and `endColumn.name`.
|
|
30
|
+
- **startSeparator**: `startSeparator.role` and `startSeparator.name`.
|
|
31
|
+
- **endSeparator**: `endSeparator.role` and `endSeparator.name`.
|
|
32
|
+
|
|
33
|
+
The accessibility attributes support the following values:
|
|
34
|
+
|
|
35
|
+
- **role**: Defines the accessible ARIA landmark role of the area.
|
|
36
|
+
Accepts the following values: `none`, `complementary`, `contentinfo`, `main` or `region`.
|
|
37
|
+
|
|
38
|
+
- **name**: Defines the accessible ARIA name of the area.
|
|
39
|
+
Accepts any string.
|
|
40
|
+
*/
|
|
41
|
+
this.accessibilityAttributes = input({}, ...(ngDevMode ? [{ debugName: "accessibilityAttributes" }] : []));
|
|
42
|
+
/**
|
|
43
|
+
* Allows to customize the column proportions per screen size and layout.
|
|
44
|
+
If no custom proportion provided for a specific layout, the default will be used.
|
|
45
|
+
|
|
46
|
+
**Notes:**
|
|
47
|
+
|
|
48
|
+
- The proportions should be given in percentages. For example ["30%", "40%", "30%"], ["70%", "30%", 0], etc.
|
|
49
|
+
- The proportions should add up to 100%.
|
|
50
|
+
- Hidden columns are marked as "0px", e.g. ["0px", "70%", "30%"]. Specifying 0 or "0%" for hidden columns is also valid.
|
|
51
|
+
- If the proportions do not match the layout (e.g. if provided proportions ["70%", "30%", "0px"] for "OneColumn" layout), then the default proportions will be used instead.
|
|
52
|
+
- Whenever the user drags the columns separator to resize the columns, the `layoutsConfiguration` object will be updated with the user-specified proportions for the given layout (and the `layout-configuration-change` event will be fired).
|
|
53
|
+
- No custom configuration available for the phone screen size, as the default of 100% column width is always used there.
|
|
54
|
+
*/
|
|
55
|
+
this.layoutsConfiguration = input({}, ...(ngDevMode ? [{ debugName: "layoutsConfiguration" }] : [])); // className is now passed
|
|
56
|
+
/**
|
|
57
|
+
* Returns the current column layout, based on both the `layout` property and the screen size.
|
|
58
|
+
|
|
59
|
+
**For example:** ["67%", "33%", 0], ["100%", 0, 0], ["25%", "50%", "25%"], etc,
|
|
60
|
+
where the numbers represents the width of the start, middle and end columns.
|
|
61
|
+
* @readonly This property is managed by the web component and updates reactively.
|
|
62
|
+
* Based on schema: readonly field that updates via layout-change event parameters.
|
|
63
|
+
*/
|
|
64
|
+
this.columnLayout = computed(() => this._columnLayoutSignal(), ...(ngDevMode ? [{ debugName: "columnLayout" }] : []));
|
|
65
|
+
/**
|
|
66
|
+
* Returns if the `start` column is visible.
|
|
67
|
+
* @readonly This property is managed by the web component and updates reactively.
|
|
68
|
+
* Based on schema: readonly field that updates via layout-change event parameters.
|
|
69
|
+
*/
|
|
70
|
+
this.startColumnVisible = computed(() => this._startColumnVisibleSignal(), ...(ngDevMode ? [{ debugName: "startColumnVisible" }] : []));
|
|
71
|
+
/**
|
|
72
|
+
* Returns if the `middle` column is visible.
|
|
73
|
+
* @readonly This property is managed by the web component and updates reactively.
|
|
74
|
+
* Based on schema: readonly field that updates via layout-change event parameters.
|
|
75
|
+
*/
|
|
76
|
+
this.midColumnVisible = computed(() => this._midColumnVisibleSignal(), ...(ngDevMode ? [{ debugName: "midColumnVisible" }] : []));
|
|
77
|
+
/**
|
|
78
|
+
* Returns if the `end` column is visible.
|
|
79
|
+
* @readonly This property is managed by the web component and updates reactively.
|
|
80
|
+
* Based on schema: readonly field that updates via layout-change event parameters.
|
|
81
|
+
*/
|
|
82
|
+
this.endColumnVisible = computed(() => this._endColumnVisibleSignal(), ...(ngDevMode ? [{ debugName: "endColumnVisible" }] : []));
|
|
83
|
+
/**
|
|
84
|
+
* Fired when the layout changes via user interaction by dragging the separators
|
|
85
|
+
or by changing the component size due to resizing.
|
|
86
|
+
*/
|
|
87
|
+
this.ui5LayoutChange = output();
|
|
88
|
+
/**
|
|
89
|
+
* Fired when the `layoutsConfiguration` changes via user interaction by dragging the separators.
|
|
90
|
+
*/
|
|
91
|
+
this.ui5LayoutConfigurationChange = output();
|
|
92
|
+
this.elementRef = inject(ElementRef);
|
|
93
|
+
this.injector = inject(Injector);
|
|
94
|
+
// Internal signal to track columnLayout from layout-change events
|
|
95
|
+
this._columnLayoutSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "_columnLayoutSignal" }] : []));
|
|
96
|
+
// Internal signal to track startColumnVisible from layout-change events
|
|
97
|
+
this._startColumnVisibleSignal = signal(true, ...(ngDevMode ? [{ debugName: "_startColumnVisibleSignal" }] : []));
|
|
98
|
+
// Internal signal to track midColumnVisible from layout-change events
|
|
99
|
+
this._midColumnVisibleSignal = signal(false, ...(ngDevMode ? [{ debugName: "_midColumnVisibleSignal" }] : []));
|
|
100
|
+
// Internal signal to track endColumnVisible from layout-change events
|
|
101
|
+
this._endColumnVisibleSignal = signal(false, ...(ngDevMode ? [{ debugName: "_endColumnVisibleSignal" }] : []));
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Returns the number of currently visible columns.
|
|
105
|
+
* @readonly This property is managed by the web component.
|
|
106
|
+
*/
|
|
107
|
+
get visibleColumns() {
|
|
108
|
+
return this.element?.visibleColumns ?? 1;
|
|
109
|
+
}
|
|
110
|
+
get element() {
|
|
111
|
+
return this.elementRef.nativeElement;
|
|
112
|
+
}
|
|
113
|
+
ngAfterViewInit() {
|
|
114
|
+
const wcElement = this.element;
|
|
115
|
+
const inputsToSync = [
|
|
116
|
+
'layout',
|
|
117
|
+
'disableResizing',
|
|
118
|
+
'accessibilityAttributes',
|
|
119
|
+
'layoutsConfiguration',
|
|
120
|
+
];
|
|
121
|
+
// Synchronize inputs (properties)
|
|
122
|
+
for (const inputName of inputsToSync) {
|
|
123
|
+
// Find the corresponding camelCase signal property on the Angular component
|
|
124
|
+
const signalName = inputName.replace(/-./g, (x) => x[1].toUpperCase());
|
|
125
|
+
// Use the Injector to run the effect in the correct context
|
|
126
|
+
if (this[signalName] && typeof this[signalName] === 'function') {
|
|
127
|
+
runInInjectionContext(this.injector, () => {
|
|
128
|
+
effect(() => {
|
|
129
|
+
// Read the signal value
|
|
130
|
+
const value = this[signalName]();
|
|
131
|
+
if (wcElement) {
|
|
132
|
+
// Write the value to the Web Component's property
|
|
133
|
+
wcElement[inputName] = value;
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
const outputsToSync = [
|
|
140
|
+
'ui5LayoutChange',
|
|
141
|
+
'ui5LayoutConfigurationChange',
|
|
142
|
+
];
|
|
143
|
+
// Synchronize outputs (events)
|
|
144
|
+
for (const outputName of outputsToSync) {
|
|
145
|
+
// Map Angular output name to UI5 web component event name
|
|
146
|
+
const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
|
|
147
|
+
// Ensure the output property exists and has an emit function before adding listener
|
|
148
|
+
if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
|
|
149
|
+
// Cast the listener to the correct type to satisfy TypeScript
|
|
150
|
+
wcElement.addEventListener(eventName, (e) => {
|
|
151
|
+
// Update columnLayout signal when layout-change event fires
|
|
152
|
+
if (eventName === 'layout-change') {
|
|
153
|
+
const customEvent = e;
|
|
154
|
+
// Use columnLayout from event detail, fallback to web component property
|
|
155
|
+
const columnLayoutValue = customEvent.detail?.columnLayout || wcElement.columnLayout || undefined;
|
|
156
|
+
this._columnLayoutSignal.set(columnLayoutValue);
|
|
157
|
+
}
|
|
158
|
+
// Update columnLayout signal when layout-configuration-change event fires
|
|
159
|
+
if (eventName === 'layout-configuration-change') {
|
|
160
|
+
const customEvent = e;
|
|
161
|
+
// Use columnLayout from event detail, fallback to web component property
|
|
162
|
+
const columnLayoutValue = customEvent.detail?.columnLayout || wcElement.columnLayout || undefined;
|
|
163
|
+
this._columnLayoutSignal.set(columnLayoutValue);
|
|
164
|
+
}
|
|
165
|
+
// Update startColumnVisible signal when layout-change event fires
|
|
166
|
+
if (eventName === 'layout-change') {
|
|
167
|
+
const customEvent = e;
|
|
168
|
+
// Use startColumnVisible from event detail, fallback to web component property
|
|
169
|
+
const startColumnVisibleValue = customEvent.detail?.startColumnVisible || wcElement.startColumnVisible || true;
|
|
170
|
+
this._startColumnVisibleSignal.set(startColumnVisibleValue);
|
|
171
|
+
}
|
|
172
|
+
// Update midColumnVisible signal when layout-change event fires
|
|
173
|
+
if (eventName === 'layout-change') {
|
|
174
|
+
const customEvent = e;
|
|
175
|
+
// Use midColumnVisible from event detail, fallback to web component property
|
|
176
|
+
const midColumnVisibleValue = customEvent.detail?.midColumnVisible || wcElement.midColumnVisible || false;
|
|
177
|
+
this._midColumnVisibleSignal.set(midColumnVisibleValue);
|
|
178
|
+
}
|
|
179
|
+
// Update endColumnVisible signal when layout-change event fires
|
|
180
|
+
if (eventName === 'layout-change') {
|
|
181
|
+
const customEvent = e;
|
|
182
|
+
// Use endColumnVisible from event detail, fallback to web component property
|
|
183
|
+
const endColumnVisibleValue = customEvent.detail?.endColumnVisible || wcElement.endColumnVisible || false;
|
|
184
|
+
this._endColumnVisibleSignal.set(endColumnVisibleValue);
|
|
185
|
+
}
|
|
186
|
+
this[outputName].emit(e);
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
// Initialize columnLayout signal with current state using delayed initialization
|
|
191
|
+
// to handle web component timing properly
|
|
192
|
+
const initializeColumnLayout = () => {
|
|
193
|
+
const currentValue = wcElement.columnLayout || undefined;
|
|
194
|
+
if (JSON.stringify(currentValue) !== JSON.stringify(this._columnLayoutSignal())) {
|
|
195
|
+
this._columnLayoutSignal.set(currentValue);
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
// Try immediate initialization
|
|
199
|
+
initializeColumnLayout();
|
|
200
|
+
// Fallback delayed initialization if web component needs more time
|
|
201
|
+
// Use requestAnimationFrame for zoneless compatibility
|
|
202
|
+
requestAnimationFrame(() => initializeColumnLayout());
|
|
203
|
+
// Initialize startColumnVisible signal with current state using delayed initialization
|
|
204
|
+
// to handle web component timing properly
|
|
205
|
+
const initializeStartColumnVisible = () => {
|
|
206
|
+
const currentValue = wcElement.startColumnVisible || true;
|
|
207
|
+
if (JSON.stringify(currentValue) !== JSON.stringify(this._startColumnVisibleSignal())) {
|
|
208
|
+
this._startColumnVisibleSignal.set(currentValue);
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
// Try immediate initialization
|
|
212
|
+
initializeStartColumnVisible();
|
|
213
|
+
// Fallback delayed initialization if web component needs more time
|
|
214
|
+
// Use requestAnimationFrame for zoneless compatibility
|
|
215
|
+
requestAnimationFrame(() => initializeStartColumnVisible());
|
|
216
|
+
// Initialize midColumnVisible signal with current state using delayed initialization
|
|
217
|
+
// to handle web component timing properly
|
|
218
|
+
const initializeMidColumnVisible = () => {
|
|
219
|
+
const currentValue = wcElement.midColumnVisible || false;
|
|
220
|
+
if (JSON.stringify(currentValue) !== JSON.stringify(this._midColumnVisibleSignal())) {
|
|
221
|
+
this._midColumnVisibleSignal.set(currentValue);
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
// Try immediate initialization
|
|
225
|
+
initializeMidColumnVisible();
|
|
226
|
+
// Fallback delayed initialization if web component needs more time
|
|
227
|
+
// Use requestAnimationFrame for zoneless compatibility
|
|
228
|
+
requestAnimationFrame(() => initializeMidColumnVisible());
|
|
229
|
+
// Initialize endColumnVisible signal with current state using delayed initialization
|
|
230
|
+
// to handle web component timing properly
|
|
231
|
+
const initializeEndColumnVisible = () => {
|
|
232
|
+
const currentValue = wcElement.endColumnVisible || false;
|
|
233
|
+
if (JSON.stringify(currentValue) !== JSON.stringify(this._endColumnVisibleSignal())) {
|
|
234
|
+
this._endColumnVisibleSignal.set(currentValue);
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
// Try immediate initialization
|
|
238
|
+
initializeEndColumnVisible();
|
|
239
|
+
// Fallback delayed initialization if web component needs more time
|
|
240
|
+
// Use requestAnimationFrame for zoneless compatibility
|
|
241
|
+
requestAnimationFrame(() => initializeEndColumnVisible());
|
|
242
|
+
}
|
|
243
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: FlexibleColumnLayout, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
244
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.4", type: FlexibleColumnLayout, isStandalone: true, selector: "ui5-flexible-column-layout, [ui5-flexible-column-layout]", inputs: { layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, disableResizing: { classPropertyName: "disableResizing", publicName: "disableResizing", isSignal: true, isRequired: false, transformFunction: null }, accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, layoutsConfiguration: { classPropertyName: "layoutsConfiguration", publicName: "layoutsConfiguration", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5LayoutChange: "ui5LayoutChange", ui5LayoutConfigurationChange: "ui5LayoutConfigurationChange" }, exportAs: ["ui5FlexibleColumnLayout"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
245
|
+
}
|
|
246
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: FlexibleColumnLayout, decorators: [{
|
|
247
|
+
type: Component,
|
|
248
|
+
args: [{
|
|
249
|
+
standalone: true,
|
|
250
|
+
selector: 'ui5-flexible-column-layout, [ui5-flexible-column-layout]',
|
|
251
|
+
template: '<ng-content></ng-content>',
|
|
252
|
+
exportAs: 'ui5FlexibleColumnLayout',
|
|
253
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
254
|
+
}]
|
|
255
|
+
}] });
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Generated bundle index. Do not edit.
|
|
259
|
+
*/
|
|
260
|
+
|
|
261
|
+
export { FlexibleColumnLayout };
|
|
262
|
+
//# sourceMappingURL=fundamental-ngx-ui5-webcomponents-fiori-flexible-column-layout.mjs.map
|