@fundamental-ngx/ui5-webcomponents-fiori 0.58.0-rc.71 → 0.58.0-rc.73
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 +66 -0
- package/dynamic-page/index.d.ts +65 -0
- package/dynamic-page-header/index.d.ts +37 -0
- package/dynamic-page-title/index.d.ts +63 -0
- package/dynamic-side-content/index.d.ts +81 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-barcode-scanner-dialog.mjs +131 -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 +61 -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 +115 -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 +139 -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 +148 -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 +91 -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 +297 -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 +159 -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 +100 -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 +148 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-media-gallery.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-navigation-layout.mjs +95 -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 +139 -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 +174 -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 +114 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-notification-list.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-page.mjs +115 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-page.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-product-switch-item.mjs +145 -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 +61 -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 +143 -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 +191 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar-branding.mjs +135 -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 +196 -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 +334 -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 +105 -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 +195 -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 +130 -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 +109 -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 +136 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-timeline-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-timeline.mjs +135 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-timeline.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-upload-collection-item.mjs +184 -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 +152 -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 +63 -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 +174 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-menu.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-settings-account-view.mjs +130 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-settings-account-view.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-settings-dialog.mjs +138 -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 +158 -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 +96 -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 +150 -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 +130 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-wizard-step.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-wizard.mjs +107 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-wizard.mjs.map +1 -0
- package/filter-item/index.d.ts +46 -0
- package/filter-item-option/index.d.ts +22 -0
- package/flexible-column-layout/index.d.ts +135 -0
- package/group-item/index.d.ts +22 -0
- package/illustrated-message/index.d.ts +105 -0
- package/media-gallery/index.d.ts +84 -0
- package/media-gallery-item/index.d.ts +50 -0
- package/navigation-layout/index.d.ts +43 -0
- package/notification-list/index.d.ts +54 -0
- package/notification-list-group-item/index.d.ts +75 -0
- package/notification-list-item/index.d.ts +97 -0
- package/package.json +210 -2
- package/page/index.d.ts +60 -0
- package/product-switch/index.d.ts +37 -0
- package/product-switch-item/index.d.ts +83 -0
- package/search/index.d.ts +106 -0
- package/search-item/index.d.ts +75 -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 +218 -0
- package/shell-bar-branding/index.d.ts +71 -0
- package/shell-bar-item/index.d.ts +51 -0
- package/shell-bar-search/index.d.ts +110 -0
- package/shell-bar-spacer/index.d.ts +14 -0
- package/side-navigation/index.d.ts +67 -0
- package/side-navigation-group/index.d.ts +58 -0
- package/side-navigation-item/index.d.ts +128 -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 +73 -0
- package/timeline-group-item/index.d.ts +50 -0
- package/timeline-item/index.d.ts +73 -0
- package/upload-collection/index.d.ts +84 -0
- package/upload-collection-item/index.d.ts +111 -0
- package/user-menu/index.d.ts +100 -0
- package/user-menu-account/index.d.ts +46 -0
- package/user-menu-item/index.d.ts +39 -0
- package/user-menu-item-group/index.d.ts +14 -0
- package/user-settings-account-view/index.d.ts +64 -0
- package/user-settings-dialog/index.d.ts +71 -0
- package/user-settings-item/index.d.ts +88 -0
- package/user-settings-view/index.d.ts +50 -0
- package/view-settings-dialog/index.d.ts +78 -0
- package/wizard/index.d.ts +49 -0
- package/wizard-step/index.d.ts +81 -0
|
@@ -0,0 +1,135 @@
|
|
|
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/Timeline.js';
|
|
4
|
+
|
|
5
|
+
class Timeline {
|
|
6
|
+
constructor() {
|
|
7
|
+
/**
|
|
8
|
+
* Defines the items orientation.
|
|
9
|
+
*/
|
|
10
|
+
this.layout = input("Vertical", ...(ngDevMode ? [{ debugName: "layout" }] : []));
|
|
11
|
+
/**
|
|
12
|
+
* Defines the accessible ARIA name of the component.
|
|
13
|
+
*/
|
|
14
|
+
this.accessibleName = input(...(ngDevMode ? [undefined, { debugName: "accessibleName" }] : []));
|
|
15
|
+
/**
|
|
16
|
+
* Defines if the component should display a loading indicator over the Timeline.
|
|
17
|
+
*/
|
|
18
|
+
this.loading = input(false, ...(ngDevMode ? [{ debugName: "loading", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
19
|
+
/**
|
|
20
|
+
* Defines the delay in milliseconds, after which the loading indicator will show up for this component.
|
|
21
|
+
*/
|
|
22
|
+
this.loadingDelay = input(1000, ...(ngDevMode ? [{ debugName: "loadingDelay" }] : []));
|
|
23
|
+
/**
|
|
24
|
+
* Defines whether the Timeline will have growing capability either by pressing a "More" button,
|
|
25
|
+
or via user scroll. In both cases a `load-more` event is fired.
|
|
26
|
+
|
|
27
|
+
Available options:
|
|
28
|
+
|
|
29
|
+
`Button` - Displays a button at the end of the Timeline, which when pressed triggers the `load-more` event.
|
|
30
|
+
|
|
31
|
+
`Scroll` -Triggers the `load-more` event when the user scrolls to the end of the Timeline.
|
|
32
|
+
|
|
33
|
+
`None` (default) - The growing functionality is off.
|
|
34
|
+
*/
|
|
35
|
+
this.growing = input("None", ...(ngDevMode ? [{ debugName: "growing" }] : [])); // className is now passed
|
|
36
|
+
/**
|
|
37
|
+
* Fired when the user presses the `More` button or scrolls to the Timeline's end.
|
|
38
|
+
|
|
39
|
+
**Note:** The event will be fired if `growing` is set to `Button` or `Scroll`.
|
|
40
|
+
*/
|
|
41
|
+
this.ui5LoadMore = output();
|
|
42
|
+
/**
|
|
43
|
+
* Available slots for content projection in this component.
|
|
44
|
+
*
|
|
45
|
+
* Slots allow you to insert custom content into predefined areas of the web component.
|
|
46
|
+
* Use the `slot` attribute on child elements to target specific slots.
|
|
47
|
+
*
|
|
48
|
+
* - **(default)**: Determines the content of the `ui5-timeline`.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```html
|
|
52
|
+
* <ui5-timeline>
|
|
53
|
+
* <div slot="header">Custom header content</div>
|
|
54
|
+
* <p>Default slot content</p>
|
|
55
|
+
* </ui5-timeline>
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* @readonly
|
|
59
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}
|
|
60
|
+
*/
|
|
61
|
+
this.slots = [
|
|
62
|
+
{
|
|
63
|
+
"name": "default",
|
|
64
|
+
"description": "Determines the content of the `ui5-timeline`."
|
|
65
|
+
}
|
|
66
|
+
];
|
|
67
|
+
this.elementRef = inject(ElementRef);
|
|
68
|
+
this.injector = inject(Injector);
|
|
69
|
+
}
|
|
70
|
+
get element() {
|
|
71
|
+
return this.elementRef.nativeElement;
|
|
72
|
+
}
|
|
73
|
+
ngAfterViewInit() {
|
|
74
|
+
const wcElement = this.element;
|
|
75
|
+
const inputsToSync = [
|
|
76
|
+
'layout',
|
|
77
|
+
'accessibleName',
|
|
78
|
+
'loading',
|
|
79
|
+
'loadingDelay',
|
|
80
|
+
'growing',
|
|
81
|
+
];
|
|
82
|
+
// Synchronize inputs (properties)
|
|
83
|
+
for (const inputName of inputsToSync) {
|
|
84
|
+
// Find the corresponding camelCase signal property on the Angular component
|
|
85
|
+
const signalName = inputName.replace(/-./g, (x) => x[1].toUpperCase());
|
|
86
|
+
// Use the Injector to run the effect in the correct context
|
|
87
|
+
if (this[signalName] && typeof this[signalName] === 'function') {
|
|
88
|
+
runInInjectionContext(this.injector, () => {
|
|
89
|
+
effect(() => {
|
|
90
|
+
// Read the signal value
|
|
91
|
+
const value = this[signalName]();
|
|
92
|
+
if (wcElement) {
|
|
93
|
+
// Write the value to the Web Component's property
|
|
94
|
+
wcElement[inputName] = value;
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const outputsToSync = [
|
|
101
|
+
'ui5LoadMore',
|
|
102
|
+
];
|
|
103
|
+
// Synchronize outputs (events)
|
|
104
|
+
for (const outputName of outputsToSync) {
|
|
105
|
+
// Map Angular output name to UI5 web component event name
|
|
106
|
+
const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
|
|
107
|
+
// Ensure the output property exists and has an emit function before adding listener
|
|
108
|
+
if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
|
|
109
|
+
// Cast the listener to the correct type to satisfy TypeScript
|
|
110
|
+
wcElement.addEventListener(eventName, (e) => {
|
|
111
|
+
this[outputName].emit(e);
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: Timeline, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
117
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.4", type: Timeline, isStandalone: true, selector: "ui5-timeline, [ui5-timeline]", inputs: { layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, loadingDelay: { classPropertyName: "loadingDelay", publicName: "loadingDelay", isSignal: true, isRequired: false, transformFunction: null }, growing: { classPropertyName: "growing", publicName: "growing", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5LoadMore: "ui5LoadMore" }, exportAs: ["ui5Timeline"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
118
|
+
}
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: Timeline, decorators: [{
|
|
120
|
+
type: Component,
|
|
121
|
+
args: [{
|
|
122
|
+
standalone: true,
|
|
123
|
+
selector: 'ui5-timeline, [ui5-timeline]',
|
|
124
|
+
template: '<ng-content></ng-content>',
|
|
125
|
+
exportAs: 'ui5Timeline',
|
|
126
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
127
|
+
}]
|
|
128
|
+
}] });
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Generated bundle index. Do not edit.
|
|
132
|
+
*/
|
|
133
|
+
|
|
134
|
+
export { Timeline };
|
|
135
|
+
//# sourceMappingURL=fundamental-ngx-ui5-webcomponents-fiori-timeline.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-ui5-webcomponents-fiori-timeline.mjs","sources":["../tmp-esm2022/timeline/index.js","../tmp-esm2022/timeline/fundamental-ngx-ui5-webcomponents-fiori-timeline.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, input, output, effect, runInInjectionContext, inject, Injector, booleanAttribute } from '@angular/core';\nimport '@ui5/webcomponents-fiori/dist/Timeline.js';\nimport * as i0 from \"@angular/core\";\nexport class Timeline {\n constructor() {\n /**\n * Defines the items orientation.\n */\n this.layout = input(\"Vertical\", ...(ngDevMode ? [{ debugName: \"layout\" }] : []));\n /**\n * Defines the accessible ARIA name of the component.\n */\n this.accessibleName = input(...(ngDevMode ? [undefined, { debugName: \"accessibleName\" }] : []));\n /**\n * Defines if the component should display a loading indicator over the Timeline.\n */\n this.loading = input(false, ...(ngDevMode ? [{ debugName: \"loading\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * Defines the delay in milliseconds, after which the loading indicator will show up for this component.\n */\n this.loadingDelay = input(1000, ...(ngDevMode ? [{ debugName: \"loadingDelay\" }] : []));\n /**\n * Defines whether the Timeline will have growing capability either by pressing a \"More\" button,\n or via user scroll. In both cases a `load-more` event is fired.\n \n Available options:\n \n `Button` - Displays a button at the end of the Timeline, which when pressed triggers the `load-more` event.\n \n `Scroll` -Triggers the `load-more` event when the user scrolls to the end of the Timeline.\n \n `None` (default) - The growing functionality is off.\n */\n this.growing = input(\"None\", ...(ngDevMode ? [{ debugName: \"growing\" }] : [])); // className is now passed\n /**\n * Fired when the user presses the `More` button or scrolls to the Timeline's end.\n \n **Note:** The event will be fired if `growing` is set to `Button` or `Scroll`.\n */\n this.ui5LoadMore = output();\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)**: Determines the content of the `ui5-timeline`.\n *\n * @example\n * ```html\n * <ui5-timeline>\n * <div slot=\"header\">Custom header content</div>\n * <p>Default slot content</p>\n * </ui5-timeline>\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 this.slots = [\n {\n \"name\": \"default\",\n \"description\": \"Determines the content of the `ui5-timeline`.\"\n }\n ];\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 'layout',\n 'accessibleName',\n 'loading',\n 'loadingDelay',\n 'growing',\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 'ui5LoadMore',\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: Timeline, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.1.4\", type: Timeline, isStandalone: true, selector: \"ui5-timeline, [ui5-timeline]\", inputs: { layout: { classPropertyName: \"layout\", publicName: \"layout\", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: \"accessibleName\", publicName: \"accessibleName\", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: \"loading\", publicName: \"loading\", isSignal: true, isRequired: false, transformFunction: null }, loadingDelay: { classPropertyName: \"loadingDelay\", publicName: \"loadingDelay\", isSignal: true, isRequired: false, transformFunction: null }, growing: { classPropertyName: \"growing\", publicName: \"growing\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5LoadMore: \"ui5LoadMore\" }, exportAs: [\"ui5Timeline\"], 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: Timeline, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'ui5-timeline, [ui5-timeline]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5Timeline',\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpNS13ZWJjb21wb25lbnRzLWZpb3JpL3RpbWVsaW5lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUVOLE1BQU0sRUFDTixxQkFBcUIsRUFDckIsTUFBTSxFQUNOLFFBQVEsRUFDUixnQkFBZ0IsRUFHakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTywyQ0FBMkMsQ0FBQzs7QUFlbkQsTUFBTSxPQUFPLFFBQVE7SUFSckI7UUFVRTs7V0FFRztRQUNILFdBQU0sR0FBRyxLQUFLLENBQWdELFVBQVUsa0RBQUMsQ0FBQztRQUUxRTs7V0FFRztRQUNILG1CQUFjLEdBQUcsS0FBSyxvRUFBeUQsQ0FBQztRQUVoRjs7V0FFRztRQUNILFlBQU8sR0FBRyxLQUFLLENBQUMsS0FBSywyQ0FBSSxTQUFTLEVBQUUsZ0JBQWdCLE9BQTdCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLEdBQUMsQ0FBQztRQUV4RDs7V0FFRztRQUNILGlCQUFZLEdBQUcsS0FBSyxDQUFzRCxJQUFJLHdEQUFDLENBQUM7UUFFaEY7Ozs7Ozs7Ozs7O1dBV0c7UUFDSCxZQUFPLEdBQUcsS0FBSyxDQUFpRCxNQUFNLG1EQUFDLENBQUMsQ0FBQywwQkFBMEI7UUFJbkc7Ozs7V0FJRztRQUNILGdCQUFXLEdBQUcsTUFBTSxFQUEwQyxDQUFDO1FBRS9EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7V0FrQkc7UUFDTSxVQUFLLEdBQUc7WUFDYjtnQkFDSSxNQUFNLEVBQUUsU0FBUztnQkFDakIsYUFBYSxFQUFFLCtDQUErQzthQUNqRTtTQUNKLENBQUM7UUFHSyxlQUFVLEdBQTBCLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RCxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBMERwQztJQXhEQyxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUUvQixNQUFNLFlBQVksR0FBRztZQUNuQixRQUFRO1lBQ1IsZ0JBQWdCO1lBQ2hCLFNBQVM7WUFDVCxjQUFjO1lBQ2QsU0FBUztTQUNWLENBQUM7UUFFRixrQ0FBa0M7UUFDbEMsS0FBSyxNQUFNLFNBQVMsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNyQyw0RUFBNEU7WUFDNUUsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBRS9FLDREQUE0RDtZQUM1RCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDL0QscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7b0JBQ3hDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7d0JBQ1Ysd0JBQXdCO3dCQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQzt3QkFDakMsSUFBSSxTQUFTLEVBQUUsQ0FBQzs0QkFDZCxrREFBa0Q7NEJBQ2xELFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUM7d0JBQy9CLENBQUM7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUdELE1BQU0sYUFBYSxHQUFHO1lBQ3BCLGFBQWE7U0FDZCxDQUFDO1FBRUYsK0JBQStCO1FBQy9CLEtBQUssTUFBTSxVQUFVLElBQUksYUFBYSxFQUFFLENBQUM7WUFDdkMsMERBQTBEO1lBQzFELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RHLG9GQUFvRjtZQUNwRixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLEtBQUssVUFBVSxJQUFJLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNsRyw4REFBOEQ7Z0JBQzlELFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFFMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFxQixDQUFDLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7SUFHSCxDQUFDOzhHQWxJVSxRQUFRO2tHQUFSLFFBQVEsK3pCQUxULDJCQUEyQjs7MkZBSzFCLFFBQVE7a0JBUnBCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFFBQVEsRUFBRSxhQUFhO29CQUV2QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIGVmZmVjdCxcbiAgcnVuSW5JbmplY3Rpb25Db250ZXh0LFxuICBpbmplY3QsXG4gIEluamVjdG9yLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBjb21wdXRlZCxcbiAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICdAdWk1L3dlYmNvbXBvbmVudHMtZmlvcmkvZGlzdC9UaW1lbGluZS5qcyc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIF9UaW1lbGluZSB9IGZyb20gJ0B1aTUvd2ViY29tcG9uZW50cy1maW9yaS9kaXN0L1RpbWVsaW5lLmpzJztcbmltcG9ydCB7IFVJNUN1c3RvbUV2ZW50IH0gZnJvbSAnQHVpNS93ZWJjb21wb25lbnRzLWJhc2UnO1xuXG5pbXBvcnQgeyBkZWZhdWx0IGFzIFRpbWVsaW5lTGF5b3V0IH0gZnJvbSAnQHVpNS93ZWJjb21wb25lbnRzLWZpb3JpL2Rpc3QvdHlwZXMvVGltZWxpbmVMYXlvdXQuanMnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBUaW1lbGluZUdyb3dpbmdNb2RlIH0gZnJvbSAnQHVpNS93ZWJjb21wb25lbnRzLWZpb3JpL2Rpc3QvdHlwZXMvVGltZWxpbmVHcm93aW5nTW9kZS5qcyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3VpNS10aW1lbGluZSwgW3VpNS10aW1lbGluZV0nLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBleHBvcnRBczogJ3VpNVRpbWVsaW5lJyxcblxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGltZWxpbmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgaXRlbXMgb3JpZW50YXRpb24uXG4gICAqL1xuICBsYXlvdXQgPSBpbnB1dDx0eXBlb2YgX1RpbWVsaW5lLnByb3RvdHlwZS5sYXlvdXQgfCB1bmRlZmluZWQ+KFwiVmVydGljYWxcIik7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIGFjY2Vzc2libGUgQVJJQSBuYW1lIG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBhY2Nlc3NpYmxlTmFtZSA9IGlucHV0PHR5cGVvZiBfVGltZWxpbmUucHJvdG90eXBlLmFjY2Vzc2libGVOYW1lIHwgdW5kZWZpbmVkPigpO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGlmIHRoZSBjb21wb25lbnQgc2hvdWxkIGRpc3BsYXkgYSBsb2FkaW5nIGluZGljYXRvciBvdmVyIHRoZSBUaW1lbGluZS5cbiAgICovXG4gIGxvYWRpbmcgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIGRlbGF5IGluIG1pbGxpc2Vjb25kcywgYWZ0ZXIgd2hpY2ggdGhlIGxvYWRpbmcgaW5kaWNhdG9yIHdpbGwgc2hvdyB1cCBmb3IgdGhpcyBjb21wb25lbnQuXG4gICAqL1xuICBsb2FkaW5nRGVsYXkgPSBpbnB1dDx0eXBlb2YgX1RpbWVsaW5lLnByb3RvdHlwZS5sb2FkaW5nRGVsYXkgfCB1bmRlZmluZWQ+KDEwMDApO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHdoZXRoZXIgdGhlIFRpbWVsaW5lIHdpbGwgaGF2ZSBncm93aW5nIGNhcGFiaWxpdHkgZWl0aGVyIGJ5IHByZXNzaW5nIGEgXCJNb3JlXCIgYnV0dG9uLFxub3IgdmlhIHVzZXIgc2Nyb2xsLiBJbiBib3RoIGNhc2VzIGEgYGxvYWQtbW9yZWAgZXZlbnQgaXMgZmlyZWQuXG5cbkF2YWlsYWJsZSBvcHRpb25zOlxuXG5gQnV0dG9uYCAtIERpc3BsYXlzIGEgYnV0dG9uIGF0IHRoZSBlbmQgb2YgdGhlIFRpbWVsaW5lLCB3aGljaCB3aGVuIHByZXNzZWQgdHJpZ2dlcnMgdGhlIGBsb2FkLW1vcmVgIGV2ZW50LlxuXG5gU2Nyb2xsYCAtVHJpZ2dlcnMgdGhlIGBsb2FkLW1vcmVgIGV2ZW50IHdoZW4gdGhlIHVzZXIgc2Nyb2xscyB0byB0aGUgZW5kIG9mIHRoZSBUaW1lbGluZS5cblxuYE5vbmVgIChkZWZhdWx0KSAtIFRoZSBncm93aW5nIGZ1bmN0aW9uYWxpdHkgaXMgb2ZmLlxuICAgKi9cbiAgZ3Jvd2luZyA9IGlucHV0PHR5cGVvZiBfVGltZWxpbmUucHJvdG90eXBlLmdyb3dpbmcgfCB1bmRlZmluZWQ+KFwiTm9uZVwiKTsgLy8gY2xhc3NOYW1lIGlzIG5vdyBwYXNzZWRcblxuXG5cbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gdGhlIHVzZXIgcHJlc3NlcyB0aGUgYE1vcmVgIGJ1dHRvbiBvciBzY3JvbGxzIHRvIHRoZSBUaW1lbGluZSdzIGVuZC5cblxuKipOb3RlOioqIFRoZSBldmVudCB3aWxsIGJlIGZpcmVkIGlmIGBncm93aW5nYCBpcyBzZXQgdG8gYEJ1dHRvbmAgb3IgYFNjcm9sbGAuXG4gICAqL1xuICB1aTVMb2FkTW9yZSA9IG91dHB1dDxVSTVDdXN0b21FdmVudDxfVGltZWxpbmUsICdsb2FkLW1vcmUnPj4oKTtcblxuICAvKipcbiAgICogQXZhaWxhYmxlIHNsb3RzIGZvciBjb250ZW50IHByb2plY3Rpb24gaW4gdGhpcyBjb21wb25lbnQuXG4gICAqIFxuICAgKiBTbG90cyBhbGxvdyB5b3UgdG8gaW5zZXJ0IGN1c3RvbSBjb250ZW50IGludG8gcHJlZGVmaW5lZCBhcmVhcyBvZiB0aGUgd2ViIGNvbXBvbmVudC5cbiAgICogVXNlIHRoZSBgc2xvdGAgYXR0cmlidXRlIG9uIGNoaWxkIGVsZW1lbnRzIHRvIHRhcmdldCBzcGVjaWZpYyBzbG90cy5cbiAgICogXG4gICAqIC0gKiooZGVmYXVsdCkqKjogRGV0ZXJtaW5lcyB0aGUgY29udGVudCBvZiB0aGUgYHVpNS10aW1lbGluZWAuXG4gICAqIFxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBodG1sXG4gICAqIDx1aTUtdGltZWxpbmU+XG4gICAqICAgPGRpdiBzbG90PVwiaGVhZGVyXCI+Q3VzdG9tIGhlYWRlciBjb250ZW50PC9kaXY+XG4gICAqICAgPHA+RGVmYXVsdCBzbG90IGNvbnRlbnQ8L3A+XG4gICAqIDwvdWk1LXRpbWVsaW5lPlxuICAgKiBgYGBcbiAgICogXG4gICAqIEByZWFkb25seVxuICAgKiBAc2VlIHtAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvV2ViX2NvbXBvbmVudHMvVXNpbmdfdGVtcGxhdGVzX2FuZF9zbG90cyB8IE1ETiBXZWIgQ29tcG9uZW50cyBTbG90c31cbiAgICovXG4gIHJlYWRvbmx5IHNsb3RzID0gW1xuICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImRlZmF1bHRcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiRGV0ZXJtaW5lcyB0aGUgY29udGVudCBvZiB0aGUgYHVpNS10aW1lbGluZWAuXCJcbiAgICAgIH1cbiAgXTtcblxuXG4gIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPF9UaW1lbGluZT4gPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHB1YmxpYyBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgZ2V0IGVsZW1lbnQoKTogX1RpbWVsaW5lIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3Qgd2NFbGVtZW50ID0gdGhpcy5lbGVtZW50O1xuICAgIFxuICAgIGNvbnN0IGlucHV0c1RvU3luYyA9IFtcbiAgICAgICdsYXlvdXQnLFxuICAgICAgJ2FjY2Vzc2libGVOYW1lJyxcbiAgICAgICdsb2FkaW5nJyxcbiAgICAgICdsb2FkaW5nRGVsYXknLFxuICAgICAgJ2dyb3dpbmcnLFxuICAgIF07XG4gICAgXG4gICAgLy8gU3luY2hyb25pemUgaW5wdXRzIChwcm9wZXJ0aWVzKVxuICAgIGZvciAoY29uc3QgaW5wdXROYW1lIG9mIGlucHV0c1RvU3luYykge1xuICAgICAgLy8gRmluZCB0aGUgY29ycmVzcG9uZGluZyBjYW1lbENhc2Ugc2lnbmFsIHByb3BlcnR5IG9uIHRoZSBBbmd1bGFyIGNvbXBvbmVudFxuICAgICAgY29uc3Qgc2lnbmFsTmFtZSA9IGlucHV0TmFtZS5yZXBsYWNlKC8tLi9nLCAoeDogc3RyaW5nKSA9PiB4WzFdLnRvVXBwZXJDYXNlKCkpO1xuXG4gICAgICAvLyBVc2UgdGhlIEluamVjdG9yIHRvIHJ1biB0aGUgZWZmZWN0IGluIHRoZSBjb3JyZWN0IGNvbnRleHRcbiAgICAgIGlmICh0aGlzW3NpZ25hbE5hbWVdICYmIHR5cGVvZiB0aGlzW3NpZ25hbE5hbWVdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCAoKSA9PiB7XG4gICAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIC8vIFJlYWQgdGhlIHNpZ25hbCB2YWx1ZVxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzW3NpZ25hbE5hbWVdKCk7XG4gICAgICAgICAgICBpZiAod2NFbGVtZW50KSB7XG4gICAgICAgICAgICAgIC8vIFdyaXRlIHRoZSB2YWx1ZSB0byB0aGUgV2ViIENvbXBvbmVudCdzIHByb3BlcnR5XG4gICAgICAgICAgICAgIHdjRWxlbWVudFtpbnB1dE5hbWVdID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgXG4gICAgY29uc3Qgb3V0cHV0c1RvU3luYyA9IFtcbiAgICAgICd1aTVMb2FkTW9yZScsXG4gICAgXTtcbiAgICBcbiAgICAvLyBTeW5jaHJvbml6ZSBvdXRwdXRzIChldmVudHMpXG4gICAgZm9yIChjb25zdCBvdXRwdXROYW1lIG9mIG91dHB1dHNUb1N5bmMpIHtcbiAgICAgIC8vIE1hcCBBbmd1bGFyIG91dHB1dCBuYW1lIHRvIFVJNSB3ZWIgY29tcG9uZW50IGV2ZW50IG5hbWVcbiAgICAgIGNvbnN0IGV2ZW50TmFtZSA9IG91dHB1dE5hbWUucmVwbGFjZSgndWk1JywgJycpLnJlcGxhY2UoLyhbQS1aXSkvZywgJy0kMScpLnRvTG93ZXJDYXNlKCkuc3Vic3RyaW5nKDEpO1xuICAgICAgLy8gRW5zdXJlIHRoZSBvdXRwdXQgcHJvcGVydHkgZXhpc3RzIGFuZCBoYXMgYW4gZW1pdCBmdW5jdGlvbiBiZWZvcmUgYWRkaW5nIGxpc3RlbmVyXG4gICAgICBpZiAodGhpc1tvdXRwdXROYW1lXSAmJiB0eXBlb2YgdGhpc1tvdXRwdXROYW1lXS5lbWl0ID09PSAnZnVuY3Rpb24nICYmIHdjRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKSB7XG4gICAgICAgIC8vIENhc3QgdGhlIGxpc3RlbmVyIHRvIHRoZSBjb3JyZWN0IHR5cGUgdG8gc2F0aXNmeSBUeXBlU2NyaXB0XG4gICAgICAgIHdjRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgKGUpID0+IHtcblxuICAgICAgICAgIHRoaXNbb3V0cHV0TmFtZV0uZW1pdChlIGFzIEN1c3RvbUV2ZW50PGFueT4pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIFxuXG4gIH1cbn1cblxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LXVpNS13ZWJjb21wb25lbnRzLWZpb3JpLXRpbWVsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy91aTUtd2ViY29tcG9uZW50cy1maW9yaS90aW1lbGluZS9mdW5kYW1lbnRhbC1uZ3gtdWk1LXdlYmNvbXBvbmVudHMtZmlvcmktdGltZWxpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,184 @@
|
|
|
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/UploadCollectionItem.js';
|
|
4
|
+
|
|
5
|
+
class UploadCollectionItem {
|
|
6
|
+
constructor() {
|
|
7
|
+
/**
|
|
8
|
+
* Holds an instance of `File` associated with this item.
|
|
9
|
+
*/
|
|
10
|
+
this.file = input(null, ...(ngDevMode ? [{ debugName: "file" }] : []));
|
|
11
|
+
/**
|
|
12
|
+
* The name of the file.
|
|
13
|
+
*/
|
|
14
|
+
this.fileName = input("", ...(ngDevMode ? [{ debugName: "fileName" }] : []));
|
|
15
|
+
/**
|
|
16
|
+
* If set to `true` the file name will be clickable and it will fire `file-name-click` event upon click.
|
|
17
|
+
*/
|
|
18
|
+
this.fileNameClickable = input(false, ...(ngDevMode ? [{ debugName: "fileNameClickable", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
19
|
+
/**
|
|
20
|
+
* Disables the delete button.
|
|
21
|
+
*/
|
|
22
|
+
this.disableDeleteButton = input(false, ...(ngDevMode ? [{ debugName: "disableDeleteButton", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
23
|
+
/**
|
|
24
|
+
* Hides the delete button.
|
|
25
|
+
*/
|
|
26
|
+
this.hideDeleteButton = input(false, ...(ngDevMode ? [{ debugName: "hideDeleteButton", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
27
|
+
/**
|
|
28
|
+
* Hides the retry button when `uploadState` property is `Error`.
|
|
29
|
+
*/
|
|
30
|
+
this.hideRetryButton = input(false, ...(ngDevMode ? [{ debugName: "hideRetryButton", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
31
|
+
/**
|
|
32
|
+
* Hides the terminate button when `uploadState` property is `Uploading`.
|
|
33
|
+
*/
|
|
34
|
+
this.hideTerminateButton = input(false, ...(ngDevMode ? [{ debugName: "hideTerminateButton", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
35
|
+
/**
|
|
36
|
+
* The upload progress in percentage.
|
|
37
|
+
|
|
38
|
+
**Note:** Expected values are in the interval [0, 100].
|
|
39
|
+
*/
|
|
40
|
+
this.progress = input(0, ...(ngDevMode ? [{ debugName: "progress" }] : []));
|
|
41
|
+
/**
|
|
42
|
+
* Upload state.
|
|
43
|
+
|
|
44
|
+
Depending on this property, the item displays the following:
|
|
45
|
+
|
|
46
|
+
- `Ready` - progress indicator is displayed.
|
|
47
|
+
- `Uploading` - progress indicator and terminate button are displayed. When the terminate button is pressed, `terminate` event is fired.
|
|
48
|
+
- `Error` - progress indicator and retry button are displayed. When the retry button is pressed, `retry` event is fired.
|
|
49
|
+
- `Complete` - progress indicator is not displayed.
|
|
50
|
+
*/
|
|
51
|
+
this.uploadState = input("Ready", ...(ngDevMode ? [{ debugName: "uploadState" }] : [])); // className is now passed
|
|
52
|
+
/**
|
|
53
|
+
* Fired when the file name is clicked.
|
|
54
|
+
|
|
55
|
+
**Note:** This event is only available when `fileNameClickable` property is `true`.
|
|
56
|
+
*/
|
|
57
|
+
this.ui5FileNameClick = output();
|
|
58
|
+
/**
|
|
59
|
+
* Fired when the `fileName` property gets changed.
|
|
60
|
+
|
|
61
|
+
**Note:** An edit button is displayed on each item,
|
|
62
|
+
when the `ui5-upload-collection-item` `type` property is set to `Detail`.
|
|
63
|
+
*/
|
|
64
|
+
this.ui5Rename = output();
|
|
65
|
+
/**
|
|
66
|
+
* Fired when the terminate button is pressed.
|
|
67
|
+
|
|
68
|
+
**Note:** Terminate button is displayed when `uploadState` property is set to `Uploading`.
|
|
69
|
+
*/
|
|
70
|
+
this.ui5Terminate = output();
|
|
71
|
+
/**
|
|
72
|
+
* Fired when the retry button is pressed.
|
|
73
|
+
|
|
74
|
+
**Note:** Retry button is displayed when `uploadState` property is set to `Error`.
|
|
75
|
+
*/
|
|
76
|
+
this.ui5Retry = output();
|
|
77
|
+
/**
|
|
78
|
+
* Available slots for content projection in this component.
|
|
79
|
+
*
|
|
80
|
+
* Slots allow you to insert custom content into predefined areas of the web component.
|
|
81
|
+
* Use the `slot` attribute on child elements to target specific slots.
|
|
82
|
+
*
|
|
83
|
+
* - **(default)**: Hold the description of the `ui5-upload-collection-item`. Will be shown below the file name.
|
|
84
|
+
* - **thumbnail**: A thumbnail, which will be shown in the beginning of the `ui5-upload-collection-item`.
|
|
85
|
+
|
|
86
|
+
**Note:** Use `ui5-icon` or `img` for the intended design.
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```html
|
|
90
|
+
* <ui5-upload-collection-item>
|
|
91
|
+
* <div slot="header">Custom header content</div>
|
|
92
|
+
* <p>Default slot content</p>
|
|
93
|
+
* </ui5-upload-collection-item>
|
|
94
|
+
* ```
|
|
95
|
+
*
|
|
96
|
+
* @readonly
|
|
97
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}
|
|
98
|
+
*/
|
|
99
|
+
this.slots = [
|
|
100
|
+
{
|
|
101
|
+
"name": "default",
|
|
102
|
+
"description": "Hold the description of the `ui5-upload-collection-item`. Will be shown below the file name."
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "thumbnail",
|
|
106
|
+
"description": "A thumbnail, which will be shown in the beginning of the `ui5-upload-collection-item`.\n\n**Note:** Use `ui5-icon` or `img` for the intended design."
|
|
107
|
+
}
|
|
108
|
+
];
|
|
109
|
+
this.elementRef = inject(ElementRef);
|
|
110
|
+
this.injector = inject(Injector);
|
|
111
|
+
}
|
|
112
|
+
get element() {
|
|
113
|
+
return this.elementRef.nativeElement;
|
|
114
|
+
}
|
|
115
|
+
ngAfterViewInit() {
|
|
116
|
+
const wcElement = this.element;
|
|
117
|
+
const inputsToSync = [
|
|
118
|
+
'file',
|
|
119
|
+
'fileName',
|
|
120
|
+
'fileNameClickable',
|
|
121
|
+
'disableDeleteButton',
|
|
122
|
+
'hideDeleteButton',
|
|
123
|
+
'hideRetryButton',
|
|
124
|
+
'hideTerminateButton',
|
|
125
|
+
'progress',
|
|
126
|
+
'uploadState',
|
|
127
|
+
];
|
|
128
|
+
// Synchronize inputs (properties)
|
|
129
|
+
for (const inputName of inputsToSync) {
|
|
130
|
+
// Find the corresponding camelCase signal property on the Angular component
|
|
131
|
+
const signalName = inputName.replace(/-./g, (x) => x[1].toUpperCase());
|
|
132
|
+
// Use the Injector to run the effect in the correct context
|
|
133
|
+
if (this[signalName] && typeof this[signalName] === 'function') {
|
|
134
|
+
runInInjectionContext(this.injector, () => {
|
|
135
|
+
effect(() => {
|
|
136
|
+
// Read the signal value
|
|
137
|
+
const value = this[signalName]();
|
|
138
|
+
if (wcElement) {
|
|
139
|
+
// Write the value to the Web Component's property
|
|
140
|
+
wcElement[inputName] = value;
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
const outputsToSync = [
|
|
147
|
+
'ui5FileNameClick',
|
|
148
|
+
'ui5Rename',
|
|
149
|
+
'ui5Terminate',
|
|
150
|
+
'ui5Retry',
|
|
151
|
+
];
|
|
152
|
+
// Synchronize outputs (events)
|
|
153
|
+
for (const outputName of outputsToSync) {
|
|
154
|
+
// Map Angular output name to UI5 web component event name
|
|
155
|
+
const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
|
|
156
|
+
// Ensure the output property exists and has an emit function before adding listener
|
|
157
|
+
if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
|
|
158
|
+
// Cast the listener to the correct type to satisfy TypeScript
|
|
159
|
+
wcElement.addEventListener(eventName, (e) => {
|
|
160
|
+
this[outputName].emit(e);
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: UploadCollectionItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
166
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.4", type: UploadCollectionItem, isStandalone: true, selector: "ui5-upload-collection-item, [ui5-upload-collection-item]", inputs: { file: { classPropertyName: "file", publicName: "file", isSignal: true, isRequired: false, transformFunction: null }, fileName: { classPropertyName: "fileName", publicName: "fileName", isSignal: true, isRequired: false, transformFunction: null }, fileNameClickable: { classPropertyName: "fileNameClickable", publicName: "fileNameClickable", isSignal: true, isRequired: false, transformFunction: null }, disableDeleteButton: { classPropertyName: "disableDeleteButton", publicName: "disableDeleteButton", isSignal: true, isRequired: false, transformFunction: null }, hideDeleteButton: { classPropertyName: "hideDeleteButton", publicName: "hideDeleteButton", isSignal: true, isRequired: false, transformFunction: null }, hideRetryButton: { classPropertyName: "hideRetryButton", publicName: "hideRetryButton", isSignal: true, isRequired: false, transformFunction: null }, hideTerminateButton: { classPropertyName: "hideTerminateButton", publicName: "hideTerminateButton", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, uploadState: { classPropertyName: "uploadState", publicName: "uploadState", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5FileNameClick: "ui5FileNameClick", ui5Rename: "ui5Rename", ui5Terminate: "ui5Terminate", ui5Retry: "ui5Retry" }, exportAs: ["ui5UploadCollectionItem"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
167
|
+
}
|
|
168
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: UploadCollectionItem, decorators: [{
|
|
169
|
+
type: Component,
|
|
170
|
+
args: [{
|
|
171
|
+
standalone: true,
|
|
172
|
+
selector: 'ui5-upload-collection-item, [ui5-upload-collection-item]',
|
|
173
|
+
template: '<ng-content></ng-content>',
|
|
174
|
+
exportAs: 'ui5UploadCollectionItem',
|
|
175
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
176
|
+
}]
|
|
177
|
+
}] });
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Generated bundle index. Do not edit.
|
|
181
|
+
*/
|
|
182
|
+
|
|
183
|
+
export { UploadCollectionItem };
|
|
184
|
+
//# sourceMappingURL=fundamental-ngx-ui5-webcomponents-fiori-upload-collection-item.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-ui5-webcomponents-fiori-upload-collection-item.mjs","sources":["../tmp-esm2022/upload-collection-item/index.js","../tmp-esm2022/upload-collection-item/fundamental-ngx-ui5-webcomponents-fiori-upload-collection-item.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, input, output, effect, runInInjectionContext, inject, Injector, booleanAttribute } from '@angular/core';\nimport '@ui5/webcomponents-fiori/dist/UploadCollectionItem.js';\nimport * as i0 from \"@angular/core\";\nexport class UploadCollectionItem {\n constructor() {\n /**\n * Holds an instance of `File` associated with this item.\n */\n this.file = input(null, ...(ngDevMode ? [{ debugName: \"file\" }] : []));\n /**\n * The name of the file.\n */\n this.fileName = input(\"\", ...(ngDevMode ? [{ debugName: \"fileName\" }] : []));\n /**\n * If set to `true` the file name will be clickable and it will fire `file-name-click` event upon click.\n */\n this.fileNameClickable = input(false, ...(ngDevMode ? [{ debugName: \"fileNameClickable\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * Disables the delete button.\n */\n this.disableDeleteButton = input(false, ...(ngDevMode ? [{ debugName: \"disableDeleteButton\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * Hides the delete button.\n */\n this.hideDeleteButton = input(false, ...(ngDevMode ? [{ debugName: \"hideDeleteButton\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * Hides the retry button when `uploadState` property is `Error`.\n */\n this.hideRetryButton = input(false, ...(ngDevMode ? [{ debugName: \"hideRetryButton\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * Hides the terminate button when `uploadState` property is `Uploading`.\n */\n this.hideTerminateButton = input(false, ...(ngDevMode ? [{ debugName: \"hideTerminateButton\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * The upload progress in percentage.\n \n **Note:** Expected values are in the interval [0, 100].\n */\n this.progress = input(0, ...(ngDevMode ? [{ debugName: \"progress\" }] : []));\n /**\n * Upload state.\n \n Depending on this property, the item displays the following:\n \n - `Ready` - progress indicator is displayed.\n - `Uploading` - progress indicator and terminate button are displayed. When the terminate button is pressed, `terminate` event is fired.\n - `Error` - progress indicator and retry button are displayed. When the retry button is pressed, `retry` event is fired.\n - `Complete` - progress indicator is not displayed.\n */\n this.uploadState = input(\"Ready\", ...(ngDevMode ? [{ debugName: \"uploadState\" }] : [])); // className is now passed\n /**\n * Fired when the file name is clicked.\n \n **Note:** This event is only available when `fileNameClickable` property is `true`.\n */\n this.ui5FileNameClick = output();\n /**\n * Fired when the `fileName` property gets changed.\n \n **Note:** An edit button is displayed on each item,\n when the `ui5-upload-collection-item` `type` property is set to `Detail`.\n */\n this.ui5Rename = output();\n /**\n * Fired when the terminate button is pressed.\n \n **Note:** Terminate button is displayed when `uploadState` property is set to `Uploading`.\n */\n this.ui5Terminate = output();\n /**\n * Fired when the retry button is pressed.\n \n **Note:** Retry button is displayed when `uploadState` property is set to `Error`.\n */\n this.ui5Retry = output();\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)**: Hold the description of the `ui5-upload-collection-item`. Will be shown below the file name.\n * - **thumbnail**: A thumbnail, which will be shown in the beginning of the `ui5-upload-collection-item`.\n \n **Note:** Use `ui5-icon` or `img` for the intended design.\n *\n * @example\n * ```html\n * <ui5-upload-collection-item>\n * <div slot=\"header\">Custom header content</div>\n * <p>Default slot content</p>\n * </ui5-upload-collection-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 this.slots = [\n {\n \"name\": \"default\",\n \"description\": \"Hold the description of the `ui5-upload-collection-item`. Will be shown below the file name.\"\n },\n {\n \"name\": \"thumbnail\",\n \"description\": \"A thumbnail, which will be shown in the beginning of the `ui5-upload-collection-item`.\\n\\n**Note:** Use `ui5-icon` or `img` for the intended design.\"\n }\n ];\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 'file',\n 'fileName',\n 'fileNameClickable',\n 'disableDeleteButton',\n 'hideDeleteButton',\n 'hideRetryButton',\n 'hideTerminateButton',\n 'progress',\n 'uploadState',\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 'ui5FileNameClick',\n 'ui5Rename',\n 'ui5Terminate',\n 'ui5Retry',\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: UploadCollectionItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.1.4\", type: UploadCollectionItem, isStandalone: true, selector: \"ui5-upload-collection-item, [ui5-upload-collection-item]\", inputs: { file: { classPropertyName: \"file\", publicName: \"file\", isSignal: true, isRequired: false, transformFunction: null }, fileName: { classPropertyName: \"fileName\", publicName: \"fileName\", isSignal: true, isRequired: false, transformFunction: null }, fileNameClickable: { classPropertyName: \"fileNameClickable\", publicName: \"fileNameClickable\", isSignal: true, isRequired: false, transformFunction: null }, disableDeleteButton: { classPropertyName: \"disableDeleteButton\", publicName: \"disableDeleteButton\", isSignal: true, isRequired: false, transformFunction: null }, hideDeleteButton: { classPropertyName: \"hideDeleteButton\", publicName: \"hideDeleteButton\", isSignal: true, isRequired: false, transformFunction: null }, hideRetryButton: { classPropertyName: \"hideRetryButton\", publicName: \"hideRetryButton\", isSignal: true, isRequired: false, transformFunction: null }, hideTerminateButton: { classPropertyName: \"hideTerminateButton\", publicName: \"hideTerminateButton\", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: \"progress\", publicName: \"progress\", isSignal: true, isRequired: false, transformFunction: null }, uploadState: { classPropertyName: \"uploadState\", publicName: \"uploadState\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5FileNameClick: \"ui5FileNameClick\", ui5Rename: \"ui5Rename\", ui5Terminate: \"ui5Terminate\", ui5Retry: \"ui5Retry\" }, exportAs: [\"ui5UploadCollectionItem\"], 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: UploadCollectionItem, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'ui5-upload-collection-item, [ui5-upload-collection-item]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5UploadCollectionItem',\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpNS13ZWJjb21wb25lbnRzLWZpb3JpL3VwbG9hZC1jb2xsZWN0aW9uLWl0ZW0vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNOLHFCQUFxQixFQUNyQixNQUFNLEVBQ04sUUFBUSxFQUNSLGdCQUFnQixFQUdqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLHVEQUF1RCxDQUFDOztBQWMvRCxNQUFNLE9BQU8sb0JBQW9CO0lBUmpDO1FBVUU7O1dBRUc7UUFDSCxTQUFJLEdBQUcsS0FBSyxDQUEwRCxJQUFJLGdEQUFDLENBQUM7UUFFNUU7O1dBRUc7UUFDSCxhQUFRLEdBQUcsS0FBSyxDQUE4RCxFQUFFLG9EQUFDLENBQUM7UUFFbEY7O1dBRUc7UUFDSCxzQkFBaUIsR0FBRyxLQUFLLENBQUMsS0FBSyxxREFBSSxTQUFTLEVBQUUsZ0JBQWdCLE9BQTdCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLEdBQUMsQ0FBQztRQUVsRTs7V0FFRztRQUNILHdCQUFtQixHQUFHLEtBQUssQ0FBQyxLQUFLLHVEQUFJLFNBQVMsRUFBRSxnQkFBZ0IsT0FBN0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsR0FBQyxDQUFDO1FBRXBFOztXQUVHO1FBQ0gscUJBQWdCLEdBQUcsS0FBSyxDQUFDLEtBQUssb0RBQUksU0FBUyxFQUFFLGdCQUFnQixPQUE3QixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxHQUFDLENBQUM7UUFFakU7O1dBRUc7UUFDSCxvQkFBZSxHQUFHLEtBQUssQ0FBQyxLQUFLLG1EQUFJLFNBQVMsRUFBRSxnQkFBZ0IsT0FBN0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsR0FBQyxDQUFDO1FB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RkFBb0Y7WUFDcEYsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxLQUFLLFVBQVUsSUFBSSxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDbEcsOERBQThEO2dCQUM5RCxTQUFTLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBRTFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBcUIsQ0FBQyxDQUFDO2dCQUMvQyxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0lBR0gsQ0FBQzs4R0ExTFUsb0JBQW9CO2tHQUFwQixvQkFBb0Isc2pEQUxyQiwyQkFBMkI7OzJGQUsxQixvQkFBb0I7a0JBUmhDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSwwREFBMEQ7b0JBQ3BFLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFFBQVEsRUFBRSx5QkFBeUI7b0JBRW5DLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgZWZmZWN0LFxuICBydW5JbkluamVjdGlvbkNvbnRleHQsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGNvbXB1dGVkLFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgJ0B1aTUvd2ViY29tcG9uZW50cy1maW9yaS9kaXN0L1VwbG9hZENvbGxlY3Rpb25JdGVtLmpzJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgX1VwbG9hZENvbGxlY3Rpb25JdGVtIH0gZnJvbSAnQHVpNS93ZWJjb21wb25lbnRzLWZpb3JpL2Rpc3QvVXBsb2FkQ29sbGVjdGlvbkl0ZW0uanMnO1xuaW1wb3J0IHsgVUk1Q3VzdG9tRXZlbnQgfSBmcm9tICdAdWk1L3dlYmNvbXBvbmVudHMtYmFzZSc7XG5cbmltcG9ydCB7IGRlZmF1bHQgYXMgVXBsb2FkU3RhdGUgfSBmcm9tICdAdWk1L3dlYmNvbXBvbmVudHMtZmlvcmkvZGlzdC90eXBlcy9VcGxvYWRTdGF0ZS5qcyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3VpNS11cGxvYWQtY29sbGVjdGlvbi1pdGVtLCBbdWk1LXVwbG9hZC1jb2xsZWN0aW9uLWl0ZW1dJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgZXhwb3J0QXM6ICd1aTVVcGxvYWRDb2xsZWN0aW9uSXRlbScsXG5cbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFVwbG9hZENvbGxlY3Rpb25JdGVtIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgLyoqXG4gICAqIEhvbGRzIGFuIGluc3RhbmNlIG9mIGBGaWxlYCBhc3NvY2lhdGVkIHdpdGggdGhpcyBpdGVtLlxuICAgKi9cbiAgZmlsZSA9IGlucHV0PHR5cGVvZiBfVXBsb2FkQ29sbGVjdGlvbkl0ZW0ucHJvdG90eXBlLmZpbGUgfCB1bmRlZmluZWQ+KG51bGwpO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZmlsZS5cbiAgICovXG4gIGZpbGVOYW1lID0gaW5wdXQ8dHlwZW9mIF9VcGxvYWRDb2xsZWN0aW9uSXRlbS5wcm90b3R5cGUuZmlsZU5hbWUgfCB1bmRlZmluZWQ+KFwiXCIpO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgdG8gYHRydWVgIHRoZSBmaWxlIG5hbWUgd2lsbCBiZSBjbGlja2FibGUgYW5kIGl0IHdpbGwgZmlyZSBgZmlsZS1uYW1lLWNsaWNrYCBldmVudCB1cG9uIGNsaWNrLlxuICAgKi9cbiAgZmlsZU5hbWVDbGlja2FibGUgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIHRoZSBkZWxldGUgYnV0dG9uLlxuICAgKi9cbiAgZGlzYWJsZURlbGV0ZUJ1dHRvbiA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAvKipcbiAgICogSGlkZXMgdGhlIGRlbGV0ZSBidXR0b24uXG4gICAqL1xuICBoaWRlRGVsZXRlQnV0dG9uID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIC8qKlxuICAgKiBIaWRlcyB0aGUgcmV0cnkgYnV0dG9uIHdoZW4gYHVwbG9hZFN0YXRlYCBwcm9wZXJ0eSBpcyBgRXJyb3JgLlxuICAgKi9cbiAgaGlkZVJldHJ5QnV0dG9uID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIC8qKlxuICAgKiBIaWRlcyB0aGUgdGVybWluYXRlIGJ1dHRvbiB3aGVuIGB1cGxvYWRTdGF0ZWAgcHJvcGVydHkgaXMgYFVwbG9hZGluZ2AuXG4gICAqL1xuICBoaWRlVGVybWluYXRlQnV0dG9uID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIC8qKlxuICAgKiBUaGUgdXBsb2FkIHByb2dyZXNzIGluIHBlcmNlbnRhZ2UuXG5cbioqTm90ZToqKiBFeHBlY3RlZCB2YWx1ZXMgYXJlIGluIHRoZSBpbnRlcnZhbCBbMCwgMTAwXS5cbiAgICovXG4gIHByb2dyZXNzID0gaW5wdXQ8dHlwZW9mIF9VcGxvYWRDb2xsZWN0aW9uSXRlbS5wcm90b3R5cGUucHJvZ3Jlc3MgfCB1bmRlZmluZWQ+KDApO1xuXG4gIC8qKlxuICAgKiBVcGxvYWQgc3RhdGUuXG5cbkRlcGVuZGluZyBvbiB0aGlzIHByb3BlcnR5LCB0aGUgaXRlbSBkaXNwbGF5cyB0aGUgZm9sbG93aW5nOlxuXG4tIGBSZWFkeWAgLSBwcm9ncmVzcyBpbmRpY2F0b3IgaXMgZGlzcGxheWVkLlxuLSBgVXBsb2FkaW5nYCAtIHByb2dyZXNzIGluZGljYXRvciBhbmQgdGVybWluYXRlIGJ1dHRvbiBhcmUgZGlzcGxheWVkLiBXaGVuIHRoZSB0ZXJtaW5hdGUgYnV0dG9uIGlzIHByZXNzZWQsIGB0ZXJtaW5hdGVgIGV2ZW50IGlzIGZpcmVkLlxuLSBgRXJyb3JgIC0gcHJvZ3Jlc3MgaW5kaWNhdG9yIGFuZCByZXRyeSBidXR0b24gYXJlIGRpc3BsYXllZC4gV2hlbiB0aGUgcmV0cnkgYnV0dG9uIGlzIHByZXNzZWQsIGByZXRyeWAgZXZlbnQgaXMgZmlyZWQuXG4tIGBDb21wbGV0ZWAgLSBwcm9ncmVzcyBpbmRpY2F0b3IgaXMgbm90IGRpc3BsYXllZC5cbiAgICovXG4gIHVwbG9hZFN0YXRlID0gaW5wdXQ8dHlwZW9mIF9VcGxvYWRDb2xsZWN0aW9uSXRlbS5wcm90b3R5cGUudXBsb2FkU3RhdGUgfCB1bmRlZmluZWQ+KFwiUmVhZHlcIik7IC8vIGNsYXNzTmFtZSBpcyBub3cgcGFzc2VkXG5cblxuXG4gIC8qKlxuICAgKiBGaXJlZCB3aGVuIHRoZSBmaWxlIG5hbWUgaXMgY2xpY2tlZC5cblxuKipOb3RlOioqIFRoaXMgZXZlbnQgaXMgb25seSBhdmFpbGFibGUgd2hlbiBgZmlsZU5hbWVDbGlja2FibGVgIHByb3BlcnR5IGlzIGB0cnVlYC5cbiAgICovXG4gIHVpNUZpbGVOYW1lQ2xpY2sgPSBvdXRwdXQ8VUk1Q3VzdG9tRXZlbnQ8X1VwbG9hZENvbGxlY3Rpb25JdGVtLCAnZmlsZS1uYW1lLWNsaWNrJz4+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gdGhlIGBmaWxlTmFtZWAgcHJvcGVydHkgZ2V0cyBjaGFuZ2VkLlxuXG4qKk5vdGU6KiogQW4gZWRpdCBidXR0b24gaXMgZGlzcGxheWVkIG9uIGVhY2ggaXRlbSxcbndoZW4gdGhlIGB1aTUtdXBsb2FkLWNvbGxlY3Rpb24taXRlbWAgYHR5cGVgIHByb3BlcnR5IGlzIHNldCB0byBgRGV0YWlsYC5cbiAgICovXG4gIHVpNVJlbmFtZSA9IG91dHB1dDxVSTVDdXN0b21FdmVudDxfVXBsb2FkQ29sbGVjdGlvbkl0ZW0sICdyZW5hbWUnPj4oKTtcblxuICAvKipcbiAgICogRmlyZWQgd2hlbiB0aGUgdGVybWluYXRlIGJ1dHRvbiBpcyBwcmVzc2VkLlxuXG4qKk5vdGU6KiogVGVybWluYXRlIGJ1dHRvbiBpcyBkaXNwbGF5ZWQgd2hlbiBgdXBsb2FkU3RhdGVgIHByb3BlcnR5IGlzIHNldCB0byBgVXBsb2FkaW5nYC5cbiAgICovXG4gIHVpNVRlcm1pbmF0ZSA9IG91dHB1dDxVSTVDdXN0b21FdmVudDxfVXBsb2FkQ29sbGVjdGlvbkl0ZW0sICd0ZXJtaW5hdGUnPj4oKTtcblxuICAvKipcbiAgICogRmlyZWQgd2hlbiB0aGUgcmV0cnkgYnV0dG9uIGlzIHByZXNzZWQuXG5cbioqTm90ZToqKiBSZXRyeSBidXR0b24gaXMgZGlzcGxheWVkIHdoZW4gYHVwbG9hZFN0YXRlYCBwcm9wZXJ0eSBpcyBzZXQgdG8gYEVycm9yYC5cbiAgICovXG4gIHVpNVJldHJ5ID0gb3V0cHV0PFVJNUN1c3RvbUV2ZW50PF9VcGxvYWRDb2xsZWN0aW9uSXRlbSwgJ3JldHJ5Jz4+KCk7XG5cbiAgLyoqXG4gICAqIEF2YWlsYWJsZSBzbG90cyBmb3IgY29udGVudCBwcm9qZWN0aW9uIGluIHRoaXMgY29tcG9uZW50LlxuICAgKiBcbiAgICogU2xvdHMgYWxsb3cgeW91IHRvIGluc2VydCBjdXN0b20gY29udGVudCBpbnRvIHByZWRlZmluZWQgYXJlYXMgb2YgdGhlIHdlYiBjb21wb25lbnQuXG4gICAqIFVzZSB0aGUgYHNsb3RgIGF0dHJpYnV0ZSBvbiBjaGlsZCBlbGVtZW50cyB0byB0YXJnZXQgc3BlY2lmaWMgc2xvdHMuXG4gICAqIFxuICAgKiAtICoqKGRlZmF1bHQpKio6IEhvbGQgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBgdWk1LXVwbG9hZC1jb2xsZWN0aW9uLWl0ZW1gLiBXaWxsIGJlIHNob3duIGJlbG93IHRoZSBmaWxlIG5hbWUuXG4gICAqIC0gKip0aHVtYm5haWwqKjogQSB0aHVtYm5haWwsIHdoaWNoIHdpbGwgYmUgc2hvd24gaW4gdGhlIGJlZ2lubmluZyBvZiB0aGUgYHVpNS11cGxvYWQtY29sbGVjdGlvbi1pdGVtYC5cblxuKipOb3RlOioqIFVzZSBgdWk1LWljb25gIG9yIGBpbWdgIGZvciB0aGUgaW50ZW5kZWQgZGVzaWduLlxuICAgKiBcbiAgICogQGV4YW1wbGVcbiAgICogYGBgaHRtbFxuICAgKiA8dWk1LXVwbG9hZC1jb2xsZWN0aW9uLWl0ZW0+XG4gICAqICAgPGRpdiBzbG90PVwiaGVhZGVyXCI+Q3VzdG9tIGhlYWRlciBjb250ZW50PC9kaXY+XG4gICAqICAgPHA+RGVmYXVsdCBzbG90IGNvbnRlbnQ8L3A+XG4gICAqIDwvdWk1LXVwbG9hZC1jb2xsZWN0aW9uLWl0ZW0+XG4gICAqIGBgYFxuICAgKiBcbiAgICogQHJlYWRvbmx5XG4gICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9XZWJfY29tcG9uZW50cy9Vc2luZ190ZW1wbGF0ZXNfYW5kX3Nsb3RzIHwgTUROIFdlYiBDb21wb25lbnRzIFNsb3RzfVxuICAgKi9cbiAgcmVhZG9ubHkgc2xvdHMgPSBbXG4gICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiZGVmYXVsdFwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJIb2xkIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYHVpNS11cGxvYWQtY29sbGVjdGlvbi1pdGVtYC4gV2lsbCBiZSBzaG93biBiZWxvdyB0aGUgZmlsZSBuYW1lLlwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInRodW1ibmFpbFwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJBIHRodW1ibmFpbCwgd2hpY2ggd2lsbCBiZSBzaG93biBpbiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBgdWk1LXVwbG9hZC1jb2xsZWN0aW9uLWl0ZW1gLlxcblxcbioqTm90ZToqKiBVc2UgYHVpNS1pY29uYCBvciBgaW1nYCBmb3IgdGhlIGludGVuZGVkIGRlc2lnbi5cIlxuICAgICAgfVxuICBdO1xuXG5cbiAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8X1VwbG9hZENvbGxlY3Rpb25JdGVtPiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHVibGljIGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBnZXQgZWxlbWVudCgpOiBfVXBsb2FkQ29sbGVjdGlvbkl0ZW0ge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB3Y0VsZW1lbnQgPSB0aGlzLmVsZW1lbnQ7XG4gICAgXG4gICAgY29uc3QgaW5wdXRzVG9TeW5jID0gW1xuICAgICAgJ2ZpbGUnLFxuICAgICAgJ2ZpbGVOYW1lJyxcbiAgICAgICdmaWxlTmFtZUNsaWNrYWJsZScsXG4gICAgICAnZGlzYWJsZURlbGV0ZUJ1dHRvbicsXG4gICAgICAnaGlkZURlbGV0ZUJ1dHRvbicsXG4gICAgICAnaGlkZVJldHJ5QnV0dG9uJyxcbiAgICAgICdoaWRlVGVybWluYXRlQnV0dG9uJyxcbiAgICAgICdwcm9ncmVzcycsXG4gICAgICAndXBsb2FkU3RhdGUnLFxuICAgIF07XG4gICAgXG4gICAgLy8gU3luY2hyb25pemUgaW5wdXRzIChwcm9wZXJ0aWVzKVxuICAgIGZvciAoY29uc3QgaW5wdXROYW1lIG9mIGlucHV0c1RvU3luYykge1xuICAgICAgLy8gRmluZCB0aGUgY29ycmVzcG9uZGluZyBjYW1lbENhc2Ugc2lnbmFsIHByb3BlcnR5IG9uIHRoZSBBbmd1bGFyIGNvbXBvbmVudFxuICAgICAgY29uc3Qgc2lnbmFsTmFtZSA9IGlucHV0TmFtZS5yZXBsYWNlKC8tLi9nLCAoeDogc3RyaW5nKSA9PiB4WzFdLnRvVXBwZXJDYXNlKCkpO1xuXG4gICAgICAvLyBVc2UgdGhlIEluamVjdG9yIHRvIHJ1biB0aGUgZWZmZWN0IGluIHRoZSBjb3JyZWN0IGNvbnRleHRcbiAgICAgIGlmICh0aGlzW3NpZ25hbE5hbWVdICYmIHR5cGVvZiB0aGlzW3NpZ25hbE5hbWVdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCAoKSA9PiB7XG4gICAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIC8vIFJlYWQgdGhlIHNpZ25hbCB2YWx1ZVxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzW3NpZ25hbE5hbWVdKCk7XG4gICAgICAgICAgICBpZiAod2NFbGVtZW50KSB7XG4gICAgICAgICAgICAgIC8vIFdyaXRlIHRoZSB2YWx1ZSB0byB0aGUgV2ViIENvbXBvbmVudCdzIHByb3BlcnR5XG4gICAgICAgICAgICAgIHdjRWxlbWVudFtpbnB1dE5hbWVdID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgXG4gICAgY29uc3Qgb3V0cHV0c1RvU3luYyA9IFtcbiAgICAgICd1aTVGaWxlTmFtZUNsaWNrJyxcbiAgICAgICd1aTVSZW5hbWUnLFxuICAgICAgJ3VpNVRlcm1pbmF0ZScsXG4gICAgICAndWk1UmV0cnknLFxuICAgIF07XG4gICAgXG4gICAgLy8gU3luY2hyb25pemUgb3V0cHV0cyAoZXZlbnRzKVxuICAgIGZvciAoY29uc3Qgb3V0cHV0TmFtZSBvZiBvdXRwdXRzVG9TeW5jKSB7XG4gICAgICAvLyBNYXAgQW5ndWxhciBvdXRwdXQgbmFtZSB0byBVSTUgd2ViIGNvbXBvbmVudCBldmVudCBuYW1lXG4gICAgICBjb25zdCBldmVudE5hbWUgPSBvdXRwdXROYW1lLnJlcGxhY2UoJ3VpNScsICcnKS5yZXBsYWNlKC8oW0EtWl0pL2csICctJDEnKS50b0xvd2VyQ2FzZSgpLnN1YnN0cmluZygxKTtcbiAgICAgIC8vIEVuc3VyZSB0aGUgb3V0cHV0IHByb3BlcnR5IGV4aXN0cyBhbmQgaGFzIGFuIGVtaXQgZnVuY3Rpb24gYmVmb3JlIGFkZGluZyBsaXN0ZW5lclxuICAgICAgaWYgKHRoaXNbb3V0cHV0TmFtZV0gJiYgdHlwZW9mIHRoaXNbb3V0cHV0TmFtZV0uZW1pdCA9PT0gJ2Z1bmN0aW9uJyAmJiB3Y0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICAvLyBDYXN0IHRoZSBsaXN0ZW5lciB0byB0aGUgY29ycmVjdCB0eXBlIHRvIHNhdGlzZnkgVHlwZVNjcmlwdFxuICAgICAgICB3Y0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIChlKSA9PiB7XG5cbiAgICAgICAgICB0aGlzW291dHB1dE5hbWVdLmVtaXQoZSBhcyBDdXN0b21FdmVudDxhbnk+KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICBcblxuICB9XG59XG5cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LXVpNS13ZWJjb21wb25lbnRzLWZpb3JpLXVwbG9hZC1jb2xsZWN0aW9uLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpNS13ZWJjb21wb25lbnRzLWZpb3JpL3VwbG9hZC1jb2xsZWN0aW9uLWl0ZW0vZnVuZGFtZW50YWwtbmd4LXVpNS13ZWJjb21wb25lbnRzLWZpb3JpLXVwbG9hZC1jb2xsZWN0aW9uLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,152 @@
|
|
|
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/UploadCollection.js';
|
|
4
|
+
|
|
5
|
+
class UploadCollection {
|
|
6
|
+
constructor() {
|
|
7
|
+
/**
|
|
8
|
+
* Defines the selection mode of the `ui5-upload-collection`.
|
|
9
|
+
*/
|
|
10
|
+
this.selectionMode = input("None", ...(ngDevMode ? [{ debugName: "selectionMode" }] : []));
|
|
11
|
+
/**
|
|
12
|
+
* Allows you to set your own text for the 'No data' description.
|
|
13
|
+
*/
|
|
14
|
+
this.noDataDescription = input(...(ngDevMode ? [undefined, { debugName: "noDataDescription" }] : []));
|
|
15
|
+
/**
|
|
16
|
+
* Allows you to set your own text for the 'No data' text.
|
|
17
|
+
*/
|
|
18
|
+
this.noDataText = input(...(ngDevMode ? [undefined, { debugName: "noDataText" }] : []));
|
|
19
|
+
/**
|
|
20
|
+
* Defines the header level of the 'No data' text.
|
|
21
|
+
*/
|
|
22
|
+
this.noDataHeaderLevel = input("H2", ...(ngDevMode ? [{ debugName: "noDataHeaderLevel" }] : []));
|
|
23
|
+
/**
|
|
24
|
+
* By default there will be drag and drop overlay shown over the `ui5-upload-collection` when files
|
|
25
|
+
are dragged. If you don't intend to use drag and drop, set this property.
|
|
26
|
+
|
|
27
|
+
**Note:** It is up to the application developer to add handler for `drop` event and handle it.
|
|
28
|
+
`ui5-upload-collection` only displays an overlay.
|
|
29
|
+
*/
|
|
30
|
+
this.hideDragOverlay = input(false, ...(ngDevMode ? [{ debugName: "hideDragOverlay", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
31
|
+
/**
|
|
32
|
+
* Defines the accessible ARIA name of the component.
|
|
33
|
+
*/
|
|
34
|
+
this.accessibleName = input(...(ngDevMode ? [undefined, { debugName: "accessibleName" }] : [])); // className is now passed
|
|
35
|
+
/**
|
|
36
|
+
* Fired when an element is dropped inside the drag and drop overlay.
|
|
37
|
+
|
|
38
|
+
**Note:** The `drop` event is fired only when elements are dropped within the drag and drop overlay and ignored for the other parts of the `ui5-upload-collection`.
|
|
39
|
+
*/
|
|
40
|
+
this.ui5ItemDelete = output();
|
|
41
|
+
/**
|
|
42
|
+
* Fired when selection is changed by user interaction
|
|
43
|
+
in `Single` and `Multiple` modes.
|
|
44
|
+
*/
|
|
45
|
+
this.ui5SelectionChange = output();
|
|
46
|
+
/**
|
|
47
|
+
* Available slots for content projection in this component.
|
|
48
|
+
*
|
|
49
|
+
* Slots allow you to insert custom content into predefined areas of the web component.
|
|
50
|
+
* Use the `slot` attribute on child elements to target specific slots.
|
|
51
|
+
*
|
|
52
|
+
* - **(default)**: Defines the items of the `ui5-upload-collection`.
|
|
53
|
+
|
|
54
|
+
**Note:** Use `ui5-upload-collection-item` for the intended design.
|
|
55
|
+
* - **header**: Defines the `ui5-upload-collection` header.
|
|
56
|
+
|
|
57
|
+
**Note:** If `header` slot is provided,
|
|
58
|
+
the labelling of the `UploadCollection` is a responsibility of the application developer.
|
|
59
|
+
`accessibleName` should be used.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```html
|
|
63
|
+
* <ui5-upload-collection>
|
|
64
|
+
* <div slot="header">Custom header content</div>
|
|
65
|
+
* <p>Default slot content</p>
|
|
66
|
+
* </ui5-upload-collection>
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* @readonly
|
|
70
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}
|
|
71
|
+
*/
|
|
72
|
+
this.slots = [
|
|
73
|
+
{
|
|
74
|
+
"name": "default",
|
|
75
|
+
"description": "Defines the items of the `ui5-upload-collection`.\n\n**Note:** Use `ui5-upload-collection-item` for the intended design."
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "header",
|
|
79
|
+
"description": "Defines the `ui5-upload-collection` header.\n\n**Note:** If `header` slot is provided,\nthe labelling of the `UploadCollection` is a responsibility of the application developer.\n`accessibleName` should be used."
|
|
80
|
+
}
|
|
81
|
+
];
|
|
82
|
+
this.elementRef = inject(ElementRef);
|
|
83
|
+
this.injector = inject(Injector);
|
|
84
|
+
}
|
|
85
|
+
get element() {
|
|
86
|
+
return this.elementRef.nativeElement;
|
|
87
|
+
}
|
|
88
|
+
ngAfterViewInit() {
|
|
89
|
+
const wcElement = this.element;
|
|
90
|
+
const inputsToSync = [
|
|
91
|
+
'selectionMode',
|
|
92
|
+
'noDataDescription',
|
|
93
|
+
'noDataText',
|
|
94
|
+
'noDataHeaderLevel',
|
|
95
|
+
'hideDragOverlay',
|
|
96
|
+
'accessibleName',
|
|
97
|
+
];
|
|
98
|
+
// Synchronize inputs (properties)
|
|
99
|
+
for (const inputName of inputsToSync) {
|
|
100
|
+
// Find the corresponding camelCase signal property on the Angular component
|
|
101
|
+
const signalName = inputName.replace(/-./g, (x) => x[1].toUpperCase());
|
|
102
|
+
// Use the Injector to run the effect in the correct context
|
|
103
|
+
if (this[signalName] && typeof this[signalName] === 'function') {
|
|
104
|
+
runInInjectionContext(this.injector, () => {
|
|
105
|
+
effect(() => {
|
|
106
|
+
// Read the signal value
|
|
107
|
+
const value = this[signalName]();
|
|
108
|
+
if (wcElement) {
|
|
109
|
+
// Write the value to the Web Component's property
|
|
110
|
+
wcElement[inputName] = value;
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
const outputsToSync = [
|
|
117
|
+
'ui5ItemDelete',
|
|
118
|
+
'ui5SelectionChange',
|
|
119
|
+
];
|
|
120
|
+
// Synchronize outputs (events)
|
|
121
|
+
for (const outputName of outputsToSync) {
|
|
122
|
+
// Map Angular output name to UI5 web component event name
|
|
123
|
+
const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
|
|
124
|
+
// Ensure the output property exists and has an emit function before adding listener
|
|
125
|
+
if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
|
|
126
|
+
// Cast the listener to the correct type to satisfy TypeScript
|
|
127
|
+
wcElement.addEventListener(eventName, (e) => {
|
|
128
|
+
this[outputName].emit(e);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: UploadCollection, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
134
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.4", type: UploadCollection, isStandalone: true, selector: "ui5-upload-collection, [ui5-upload-collection]", inputs: { selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, noDataDescription: { classPropertyName: "noDataDescription", publicName: "noDataDescription", isSignal: true, isRequired: false, transformFunction: null }, noDataText: { classPropertyName: "noDataText", publicName: "noDataText", isSignal: true, isRequired: false, transformFunction: null }, noDataHeaderLevel: { classPropertyName: "noDataHeaderLevel", publicName: "noDataHeaderLevel", isSignal: true, isRequired: false, transformFunction: null }, hideDragOverlay: { classPropertyName: "hideDragOverlay", publicName: "hideDragOverlay", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5ItemDelete: "ui5ItemDelete", ui5SelectionChange: "ui5SelectionChange" }, exportAs: ["ui5UploadCollection"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
135
|
+
}
|
|
136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: UploadCollection, decorators: [{
|
|
137
|
+
type: Component,
|
|
138
|
+
args: [{
|
|
139
|
+
standalone: true,
|
|
140
|
+
selector: 'ui5-upload-collection, [ui5-upload-collection]',
|
|
141
|
+
template: '<ng-content></ng-content>',
|
|
142
|
+
exportAs: 'ui5UploadCollection',
|
|
143
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
144
|
+
}]
|
|
145
|
+
}] });
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Generated bundle index. Do not edit.
|
|
149
|
+
*/
|
|
150
|
+
|
|
151
|
+
export { UploadCollection };
|
|
152
|
+
//# sourceMappingURL=fundamental-ngx-ui5-webcomponents-fiori-upload-collection.mjs.map
|