@fundamental-ngx/ui5-webcomponents-fiori 0.58.0-rc.27 → 0.58.0-rc.28
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,242 @@
|
|
|
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/ShellBar.js';
|
|
4
|
+
|
|
5
|
+
class ShellBar {
|
|
6
|
+
constructor() {
|
|
7
|
+
/**
|
|
8
|
+
* Defines the visibility state of the search button.
|
|
9
|
+
|
|
10
|
+
**Note:** The `hideSearchButton` property is in an experimental state and is a subject to change.
|
|
11
|
+
*/
|
|
12
|
+
this.hideSearchButton = input(false, ...(ngDevMode ? [{ debugName: "hideSearchButton", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
13
|
+
/**
|
|
14
|
+
* Disables the automatic search field expansion/collapse when the available space is not enough.
|
|
15
|
+
|
|
16
|
+
**Note:** The `disableSearchCollapse` property is in an experimental state and is a subject to change.
|
|
17
|
+
*/
|
|
18
|
+
this.disableSearchCollapse = input(false, ...(ngDevMode ? [{ debugName: "disableSearchCollapse", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
19
|
+
/**
|
|
20
|
+
* Defines the `primaryTitle`.
|
|
21
|
+
|
|
22
|
+
**Note:** The `primaryTitle` would be hidden on S screen size (less than approx. 700px).
|
|
23
|
+
*/
|
|
24
|
+
this.primaryTitle = input(...(ngDevMode ? [undefined, { debugName: "primaryTitle" }] : []));
|
|
25
|
+
/**
|
|
26
|
+
* Defines the `secondaryTitle`.
|
|
27
|
+
|
|
28
|
+
**Note:** The `secondaryTitle` would be hidden on S and M screen sizes (less than approx. 1300px).
|
|
29
|
+
*/
|
|
30
|
+
this.secondaryTitle = input(...(ngDevMode ? [undefined, { debugName: "secondaryTitle" }] : []));
|
|
31
|
+
/**
|
|
32
|
+
* Defines the `notificationsCount`,
|
|
33
|
+
displayed in the notification icon top-right corner.
|
|
34
|
+
*/
|
|
35
|
+
this.notificationsCount = input(...(ngDevMode ? [undefined, { debugName: "notificationsCount" }] : []));
|
|
36
|
+
/**
|
|
37
|
+
* Defines, if the notification icon would be displayed.
|
|
38
|
+
*/
|
|
39
|
+
this.showNotifications = input(false, ...(ngDevMode ? [{ debugName: "showNotifications", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
40
|
+
/**
|
|
41
|
+
* Defines, if the product switch icon would be displayed.
|
|
42
|
+
*/
|
|
43
|
+
this.showProductSwitch = input(false, ...(ngDevMode ? [{ debugName: "showProductSwitch", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
44
|
+
/**
|
|
45
|
+
* Defines, if the Search Field would be displayed when there is a valid `searchField` slot.
|
|
46
|
+
|
|
47
|
+
**Note:** By default the Search Field is not displayed.
|
|
48
|
+
*/
|
|
49
|
+
this.showSearchField = input(false, ...(ngDevMode ? [{ debugName: "showSearchField", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
50
|
+
/**
|
|
51
|
+
* Defines additional accessibility attributes on different areas of the component.
|
|
52
|
+
|
|
53
|
+
The accessibilityAttributes object has the following fields,
|
|
54
|
+
where each field is an object supporting one or more accessibility attributes:
|
|
55
|
+
|
|
56
|
+
- **logo** - `logo.role` and `logo.name`.
|
|
57
|
+
- **notifications** - `notifications.expanded` and `notifications.hasPopup`.
|
|
58
|
+
- **profile** - `profile.expanded`, `profile.hasPopup` and `profile.name`.
|
|
59
|
+
- **product** - `product.expanded` and `product.hasPopup`.
|
|
60
|
+
- **search** - `search.hasPopup`.
|
|
61
|
+
- **overflow** - `overflow.expanded` and `overflow.hasPopup`.
|
|
62
|
+
- **branding** - `branding.name`.
|
|
63
|
+
|
|
64
|
+
The accessibility attributes support the following values:
|
|
65
|
+
|
|
66
|
+
- **role**: Defines the accessible ARIA role of the logo area.
|
|
67
|
+
Accepts the following string values: `button` or `link`.
|
|
68
|
+
|
|
69
|
+
- **expanded**: Indicates whether the button, or another grouping element it controls,
|
|
70
|
+
is currently expanded or collapsed.
|
|
71
|
+
Accepts the following string values: `true` or `false`.
|
|
72
|
+
|
|
73
|
+
- **hasPopup**: Indicates the availability and type of interactive popup element,
|
|
74
|
+
such as menu or dialog, that can be triggered by the button.
|
|
75
|
+
|
|
76
|
+
Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.
|
|
77
|
+
- **name**: Defines the accessible ARIA name of the area.
|
|
78
|
+
Accepts any string.
|
|
79
|
+
*/
|
|
80
|
+
this.accessibilityAttributes = input({}, ...(ngDevMode ? [{ debugName: "accessibilityAttributes" }] : [])); // className is now passed
|
|
81
|
+
/**
|
|
82
|
+
* Fired, when the notification icon is activated.
|
|
83
|
+
*/
|
|
84
|
+
this.ui5NotificationsClick = output();
|
|
85
|
+
/**
|
|
86
|
+
* Fired, when the profile slot is present.
|
|
87
|
+
*/
|
|
88
|
+
this.ui5ProfileClick = output();
|
|
89
|
+
/**
|
|
90
|
+
* Fired, when the product switch icon is activated.
|
|
91
|
+
|
|
92
|
+
**Note:** You can prevent closing of overflow popover by calling `event.preventDefault()`.
|
|
93
|
+
*/
|
|
94
|
+
this.ui5ProductSwitchClick = output();
|
|
95
|
+
/**
|
|
96
|
+
* Fired, when the logo is activated.
|
|
97
|
+
*/
|
|
98
|
+
this.ui5LogoClick = output();
|
|
99
|
+
/**
|
|
100
|
+
* Fired, when a menu item is activated
|
|
101
|
+
|
|
102
|
+
**Note:** You can prevent closing of overflow popover by calling `event.preventDefault()`.
|
|
103
|
+
*/
|
|
104
|
+
this.ui5MenuItemClick = output();
|
|
105
|
+
/**
|
|
106
|
+
* Fired, when the search button is activated.
|
|
107
|
+
|
|
108
|
+
**Note:** You can prevent expanding/collapsing of the search field by calling `event.preventDefault()`.
|
|
109
|
+
*/
|
|
110
|
+
this.ui5SearchButtonClick = output();
|
|
111
|
+
/**
|
|
112
|
+
* Fired, when the search field is expanded or collapsed.
|
|
113
|
+
*/
|
|
114
|
+
this.ui5SearchFieldToggle = output();
|
|
115
|
+
/**
|
|
116
|
+
* Fired, when the search cancel button is activated.
|
|
117
|
+
|
|
118
|
+
**Note:** You can prevent the default behavior (clearing the search field value) by calling `event.preventDefault()`. The search will still be closed.
|
|
119
|
+
**Note:** The `search-field-clear` event is in an experimental state and is a subject to change.
|
|
120
|
+
*/
|
|
121
|
+
this.ui5SearchFieldClear = output();
|
|
122
|
+
/**
|
|
123
|
+
* Fired, when an item from the content slot is hidden or shown.
|
|
124
|
+
**Note:** The `content-item-visibility-change` event is in an experimental state and is a subject to change.
|
|
125
|
+
*/
|
|
126
|
+
this.ui5ContentItemVisibilityChange = output();
|
|
127
|
+
this.elementRef = inject(ElementRef);
|
|
128
|
+
this.injector = inject(Injector);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Returns the `logo` DOM ref.
|
|
132
|
+
* @readonly This property is managed by the web component.
|
|
133
|
+
*/
|
|
134
|
+
get logoDomRef() {
|
|
135
|
+
return this.element?.logoDomRef ?? null;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Returns the `notifications` icon DOM ref.
|
|
139
|
+
* @readonly This property is managed by the web component.
|
|
140
|
+
*/
|
|
141
|
+
get notificationsDomRef() {
|
|
142
|
+
return this.element?.notificationsDomRef ?? null;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Returns the `overflow` icon DOM ref.
|
|
146
|
+
* @readonly This property is managed by the web component.
|
|
147
|
+
*/
|
|
148
|
+
get overflowDomRef() {
|
|
149
|
+
return this.element?.overflowDomRef ?? null;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Returns the `profile` icon DOM ref.
|
|
153
|
+
* @readonly This property is managed by the web component.
|
|
154
|
+
*/
|
|
155
|
+
get profileDomRef() {
|
|
156
|
+
return this.element?.profileDomRef ?? null;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Returns the `product-switch` icon DOM ref.
|
|
160
|
+
* @readonly This property is managed by the web component.
|
|
161
|
+
*/
|
|
162
|
+
get productSwitchDomRef() {
|
|
163
|
+
return this.element?.productSwitchDomRef ?? null;
|
|
164
|
+
}
|
|
165
|
+
get element() {
|
|
166
|
+
return this.elementRef.nativeElement;
|
|
167
|
+
}
|
|
168
|
+
ngAfterViewInit() {
|
|
169
|
+
const wcElement = this.element;
|
|
170
|
+
const inputsToSync = [
|
|
171
|
+
'hideSearchButton',
|
|
172
|
+
'disableSearchCollapse',
|
|
173
|
+
'primaryTitle',
|
|
174
|
+
'secondaryTitle',
|
|
175
|
+
'notificationsCount',
|
|
176
|
+
'showNotifications',
|
|
177
|
+
'showProductSwitch',
|
|
178
|
+
'showSearchField',
|
|
179
|
+
'accessibilityAttributes',
|
|
180
|
+
];
|
|
181
|
+
// Synchronize inputs (properties)
|
|
182
|
+
for (const inputName of inputsToSync) {
|
|
183
|
+
// Find the corresponding camelCase signal property on the Angular component
|
|
184
|
+
const signalName = inputName.replace(/-./g, (x) => x[1].toUpperCase());
|
|
185
|
+
// Use the Injector to run the effect in the correct context
|
|
186
|
+
if (this[signalName] && typeof this[signalName] === 'function') {
|
|
187
|
+
runInInjectionContext(this.injector, () => {
|
|
188
|
+
effect(() => {
|
|
189
|
+
// Read the signal value
|
|
190
|
+
const value = this[signalName]();
|
|
191
|
+
if (wcElement) {
|
|
192
|
+
// Write the value to the Web Component's property
|
|
193
|
+
wcElement[inputName] = value;
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
const outputsToSync = [
|
|
200
|
+
'ui5NotificationsClick',
|
|
201
|
+
'ui5ProfileClick',
|
|
202
|
+
'ui5ProductSwitchClick',
|
|
203
|
+
'ui5LogoClick',
|
|
204
|
+
'ui5MenuItemClick',
|
|
205
|
+
'ui5SearchButtonClick',
|
|
206
|
+
'ui5SearchFieldToggle',
|
|
207
|
+
'ui5SearchFieldClear',
|
|
208
|
+
'ui5ContentItemVisibilityChange',
|
|
209
|
+
];
|
|
210
|
+
// Synchronize outputs (events)
|
|
211
|
+
for (const outputName of outputsToSync) {
|
|
212
|
+
// Map Angular output name to UI5 web component event name
|
|
213
|
+
const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
|
|
214
|
+
// Ensure the output property exists and has an emit function before adding listener
|
|
215
|
+
if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
|
|
216
|
+
// Cast the listener to the correct type to satisfy TypeScript
|
|
217
|
+
wcElement.addEventListener(eventName, (e) => {
|
|
218
|
+
this[outputName].emit(e);
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ShellBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
224
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.4", type: ShellBar, isStandalone: true, selector: "ui5-shellbar, [ui5-shellbar]", inputs: { hideSearchButton: { classPropertyName: "hideSearchButton", publicName: "hideSearchButton", isSignal: true, isRequired: false, transformFunction: null }, disableSearchCollapse: { classPropertyName: "disableSearchCollapse", publicName: "disableSearchCollapse", isSignal: true, isRequired: false, transformFunction: null }, primaryTitle: { classPropertyName: "primaryTitle", publicName: "primaryTitle", isSignal: true, isRequired: false, transformFunction: null }, secondaryTitle: { classPropertyName: "secondaryTitle", publicName: "secondaryTitle", isSignal: true, isRequired: false, transformFunction: null }, notificationsCount: { classPropertyName: "notificationsCount", publicName: "notificationsCount", isSignal: true, isRequired: false, transformFunction: null }, showNotifications: { classPropertyName: "showNotifications", publicName: "showNotifications", isSignal: true, isRequired: false, transformFunction: null }, showProductSwitch: { classPropertyName: "showProductSwitch", publicName: "showProductSwitch", isSignal: true, isRequired: false, transformFunction: null }, showSearchField: { classPropertyName: "showSearchField", publicName: "showSearchField", isSignal: true, isRequired: false, transformFunction: null }, accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5NotificationsClick: "ui5NotificationsClick", ui5ProfileClick: "ui5ProfileClick", ui5ProductSwitchClick: "ui5ProductSwitchClick", ui5LogoClick: "ui5LogoClick", ui5MenuItemClick: "ui5MenuItemClick", ui5SearchButtonClick: "ui5SearchButtonClick", ui5SearchFieldToggle: "ui5SearchFieldToggle", ui5SearchFieldClear: "ui5SearchFieldClear", ui5ContentItemVisibilityChange: "ui5ContentItemVisibilityChange" }, exportAs: ["ui5ShellBar"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
225
|
+
}
|
|
226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ShellBar, decorators: [{
|
|
227
|
+
type: Component,
|
|
228
|
+
args: [{
|
|
229
|
+
standalone: true,
|
|
230
|
+
selector: 'ui5-shellbar, [ui5-shellbar]',
|
|
231
|
+
template: '<ng-content></ng-content>',
|
|
232
|
+
exportAs: 'ui5ShellBar',
|
|
233
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
234
|
+
}]
|
|
235
|
+
}] });
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Generated bundle index. Do not edit.
|
|
239
|
+
*/
|
|
240
|
+
|
|
241
|
+
export { ShellBar };
|
|
242
|
+
//# sourceMappingURL=fundamental-ngx-ui5-webcomponents-fiori-shell-bar.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-ui5-webcomponents-fiori-shell-bar.mjs","sources":["../tmp-esm2022/shell-bar/index.js","../tmp-esm2022/shell-bar/fundamental-ngx-ui5-webcomponents-fiori-shell-bar.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, input, output, effect, runInInjectionContext, inject, Injector, booleanAttribute } from '@angular/core';\nimport '@ui5/webcomponents-fiori/dist/ShellBar.js';\nimport * as i0 from \"@angular/core\";\nexport class ShellBar {\n constructor() {\n /**\n * Defines the visibility state of the search button.\n \n **Note:** The `hideSearchButton` property is in an experimental state and is a subject to change.\n */\n this.hideSearchButton = input(false, ...(ngDevMode ? [{ debugName: \"hideSearchButton\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * Disables the automatic search field expansion/collapse when the available space is not enough.\n \n **Note:** The `disableSearchCollapse` property is in an experimental state and is a subject to change.\n */\n this.disableSearchCollapse = input(false, ...(ngDevMode ? [{ debugName: \"disableSearchCollapse\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * Defines the `primaryTitle`.\n \n **Note:** The `primaryTitle` would be hidden on S screen size (less than approx. 700px).\n */\n this.primaryTitle = input(...(ngDevMode ? [undefined, { debugName: \"primaryTitle\" }] : []));\n /**\n * Defines the `secondaryTitle`.\n \n **Note:** The `secondaryTitle` would be hidden on S and M screen sizes (less than approx. 1300px).\n */\n this.secondaryTitle = input(...(ngDevMode ? [undefined, { debugName: \"secondaryTitle\" }] : []));\n /**\n * Defines the `notificationsCount`,\n displayed in the notification icon top-right corner.\n */\n this.notificationsCount = input(...(ngDevMode ? [undefined, { debugName: \"notificationsCount\" }] : []));\n /**\n * Defines, if the notification icon would be displayed.\n */\n this.showNotifications = input(false, ...(ngDevMode ? [{ debugName: \"showNotifications\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * Defines, if the product switch icon would be displayed.\n */\n this.showProductSwitch = input(false, ...(ngDevMode ? [{ debugName: \"showProductSwitch\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * Defines, if the Search Field would be displayed when there is a valid `searchField` slot.\n \n **Note:** By default the Search Field is not displayed.\n */\n this.showSearchField = input(false, ...(ngDevMode ? [{ debugName: \"showSearchField\", 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 where each field is an object supporting one or more accessibility attributes:\n \n - **logo** - `logo.role` and `logo.name`.\n - **notifications** - `notifications.expanded` and `notifications.hasPopup`.\n - **profile** - `profile.expanded`, `profile.hasPopup` and `profile.name`.\n - **product** - `product.expanded` and `product.hasPopup`.\n - **search** - `search.hasPopup`.\n - **overflow** - `overflow.expanded` and `overflow.hasPopup`.\n - **branding** - `branding.name`.\n \n The accessibility attributes support the following values:\n \n - **role**: Defines the accessible ARIA role of the logo area.\n Accepts the following string values: `button` or `link`.\n \n - **expanded**: Indicates whether the button, or another grouping element it controls,\n is currently expanded or collapsed.\n Accepts the following string values: `true` or `false`.\n \n - **hasPopup**: Indicates the availability and type of interactive popup element,\n such as menu or dialog, that can be triggered by the button.\n \n Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.\n - **name**: Defines the accessible ARIA name of the area.\n Accepts any string.\n */\n this.accessibilityAttributes = input({}, ...(ngDevMode ? [{ debugName: \"accessibilityAttributes\" }] : [])); // className is now passed\n /**\n * Fired, when the notification icon is activated.\n */\n this.ui5NotificationsClick = output();\n /**\n * Fired, when the profile slot is present.\n */\n this.ui5ProfileClick = output();\n /**\n * Fired, when the product switch icon is activated.\n \n **Note:** You can prevent closing of overflow popover by calling `event.preventDefault()`.\n */\n this.ui5ProductSwitchClick = output();\n /**\n * Fired, when the logo is activated.\n */\n this.ui5LogoClick = output();\n /**\n * Fired, when a menu item is activated\n \n **Note:** You can prevent closing of overflow popover by calling `event.preventDefault()`.\n */\n this.ui5MenuItemClick = output();\n /**\n * Fired, when the search button is activated.\n \n **Note:** You can prevent expanding/collapsing of the search field by calling `event.preventDefault()`.\n */\n this.ui5SearchButtonClick = output();\n /**\n * Fired, when the search field is expanded or collapsed.\n */\n this.ui5SearchFieldToggle = output();\n /**\n * Fired, when the search cancel button is activated.\n \n **Note:** You can prevent the default behavior (clearing the search field value) by calling `event.preventDefault()`. The search will still be closed.\n **Note:** The `search-field-clear` event is in an experimental state and is a subject to change.\n */\n this.ui5SearchFieldClear = output();\n /**\n * Fired, when an item from the content slot is hidden or shown.\n **Note:** The `content-item-visibility-change` event is in an experimental state and is a subject to change.\n */\n this.ui5ContentItemVisibilityChange = output();\n this.elementRef = inject(ElementRef);\n this.injector = inject(Injector);\n }\n /**\n * Returns the `logo` DOM ref.\n * @readonly This property is managed by the web component.\n */\n get logoDomRef() {\n return this.element?.logoDomRef ?? null;\n }\n /**\n * Returns the `notifications` icon DOM ref.\n * @readonly This property is managed by the web component.\n */\n get notificationsDomRef() {\n return this.element?.notificationsDomRef ?? null;\n }\n /**\n * Returns the `overflow` icon DOM ref.\n * @readonly This property is managed by the web component.\n */\n get overflowDomRef() {\n return this.element?.overflowDomRef ?? null;\n }\n /**\n * Returns the `profile` icon DOM ref.\n * @readonly This property is managed by the web component.\n */\n get profileDomRef() {\n return this.element?.profileDomRef ?? null;\n }\n /**\n * Returns the `product-switch` icon DOM ref.\n * @readonly This property is managed by the web component.\n */\n get productSwitchDomRef() {\n return this.element?.productSwitchDomRef ?? null;\n }\n get element() {\n return this.elementRef.nativeElement;\n }\n ngAfterViewInit() {\n const wcElement = this.element;\n const inputsToSync = [\n 'hideSearchButton',\n 'disableSearchCollapse',\n 'primaryTitle',\n 'secondaryTitle',\n 'notificationsCount',\n 'showNotifications',\n 'showProductSwitch',\n 'showSearchField',\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 'ui5NotificationsClick',\n 'ui5ProfileClick',\n 'ui5ProductSwitchClick',\n 'ui5LogoClick',\n 'ui5MenuItemClick',\n 'ui5SearchButtonClick',\n 'ui5SearchFieldToggle',\n 'ui5SearchFieldClear',\n 'ui5ContentItemVisibilityChange',\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: ShellBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.1.4\", type: ShellBar, isStandalone: true, selector: \"ui5-shellbar, [ui5-shellbar]\", inputs: { hideSearchButton: { classPropertyName: \"hideSearchButton\", publicName: \"hideSearchButton\", isSignal: true, isRequired: false, transformFunction: null }, disableSearchCollapse: { classPropertyName: \"disableSearchCollapse\", publicName: \"disableSearchCollapse\", isSignal: true, isRequired: false, transformFunction: null }, primaryTitle: { classPropertyName: \"primaryTitle\", publicName: \"primaryTitle\", isSignal: true, isRequired: false, transformFunction: null }, secondaryTitle: { classPropertyName: \"secondaryTitle\", publicName: \"secondaryTitle\", isSignal: true, isRequired: false, transformFunction: null }, notificationsCount: { classPropertyName: \"notificationsCount\", publicName: \"notificationsCount\", isSignal: true, isRequired: false, transformFunction: null }, showNotifications: { classPropertyName: \"showNotifications\", publicName: \"showNotifications\", isSignal: true, isRequired: false, transformFunction: null }, showProductSwitch: { classPropertyName: \"showProductSwitch\", publicName: \"showProductSwitch\", isSignal: true, isRequired: false, transformFunction: null }, showSearchField: { classPropertyName: \"showSearchField\", publicName: \"showSearchField\", isSignal: true, isRequired: false, transformFunction: null }, accessibilityAttributes: { classPropertyName: \"accessibilityAttributes\", publicName: \"accessibilityAttributes\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5NotificationsClick: \"ui5NotificationsClick\", ui5ProfileClick: \"ui5ProfileClick\", ui5ProductSwitchClick: \"ui5ProductSwitchClick\", ui5LogoClick: \"ui5LogoClick\", ui5MenuItemClick: \"ui5MenuItemClick\", ui5SearchButtonClick: \"ui5SearchButtonClick\", ui5SearchFieldToggle: \"ui5SearchFieldToggle\", ui5SearchFieldClear: \"ui5SearchFieldClear\", ui5ContentItemVisibilityChange: \"ui5ContentItemVisibilityChange\" }, exportAs: [\"ui5ShellBar\"], 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: ShellBar, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'ui5-shellbar, [ui5-shellbar]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5ShellBar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpNS13ZWJjb21wb25lbnRzLWZpb3JpL3NoZWxsLWJhci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFFTixNQUFNLEVBQ04scUJBQXFCLEVBQ3JCLE1BQU0sRUFDTixRQUFRLEVBQ1IsZ0JBQWdCLEVBR2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sMkNBQTJDLENBQUM7O0FBY25ELE1BQU0sT0FBTyxRQUFRO0lBUnJCO1FBVUU7Ozs7V0FJRztRQUNILHFCQUFnQixHQUFHLEtBQUssQ0FBQyxLQUFLLG9EQUFJLFNBQVMsRUFBRSxnQkFBZ0IsT0FBN0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsR0FBQyxDQUFDO1FBRWpFOzs7O1dBSUc7UUFDSCwwQkFBcUIsR0FBRyxLQUFLLENBQUMsS0FBSyx5REFBSSxTQUFTLEVBQUUsZ0JBQWdCLE9BQTdCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLEdBQUMsQ0FBQztRQUV0RTs7OztXQUlHO1FBQ0gsaUJBQVksR0FBRyxLQUFLLGtFQUF1RCxDQUFDO1FBRTVFOzs7O1dBSUc7UUFDSCxtQkFBYyxHQUFHLEtBQUssb0VBQXlELENBQUM7UUFFaEY7OztXQUdHO1FBQ0gsdUJBQWtCLEdBQUcsS0FBSyx3RUFBNkQsQ0FBQztRQUV4Rjs7V0FFRztRQUNILHNCQUFpQixHQUFHLEtBQUssQ0FBQyxLQUFLLHFEQUFJLFNBQVMsRUFBRSxnQkFBZ0IsT0FBN0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsR0FBQyxDQUFDO1FBRWxFOztXQUVHO1FBQ0gsc0JBQWlCLEdBQUcsS0FBSyxDQUFDLEtBQUsscURBQUksU0FBUyxFQUFFLGdCQUFnQixPQUE3QixFQUFFLFNBQVMsRUFBRSxn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QUFSLFFBQVEsMDVEQUxULDJCQUEyQjs7MkZBSzFCLFFBQVE7a0JBUnBCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFFBQVEsRUFBRSxhQUFhO29CQUV2QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIGVmZmVjdCxcbiAgcnVuSW5JbmplY3Rpb25Db250ZXh0LFxuICBpbmplY3QsXG4gIEluamVjdG9yLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBjb21wdXRlZCxcbiAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICdAdWk1L3dlYmNvbXBvbmVudHMtZmlvcmkvZGlzdC9TaGVsbEJhci5qcyc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIF9TaGVsbEJhciB9IGZyb20gJ0B1aTUvd2ViY29tcG9uZW50cy1maW9yaS9kaXN0L1NoZWxsQmFyLmpzJztcbmltcG9ydCB7IFVJNUN1c3RvbUV2ZW50IH0gZnJvbSAnQHVpNS93ZWJjb21wb25lbnRzLWJhc2UnO1xuXG5pbXBvcnQgeyBTaGVsbEJhckFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVzIH0gZnJvbSAnQHVpNS93ZWJjb21wb25lbnRzLWZpb3JpL2Rpc3QvU2hlbGxCYXIuanMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1aTUtc2hlbGxiYXIsIFt1aTUtc2hlbGxiYXJdJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgZXhwb3J0QXM6ICd1aTVTaGVsbEJhcicsXG5cbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNoZWxsQmFyIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIHNlYXJjaCBidXR0b24uXG5cbioqTm90ZToqKiBUaGUgYGhpZGVTZWFyY2hCdXR0b25gIHByb3BlcnR5IGlzIGluIGFuIGV4cGVyaW1lbnRhbCBzdGF0ZSBhbmQgaXMgYSBzdWJqZWN0IHRvIGNoYW5nZS5cbiAgICovXG4gIGhpZGVTZWFyY2hCdXR0b24gPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIHRoZSBhdXRvbWF0aWMgc2VhcmNoIGZpZWxkIGV4cGFuc2lvbi9jb2xsYXBzZSB3aGVuIHRoZSBhdmFpbGFibGUgc3BhY2UgaXMgbm90IGVub3VnaC5cblxuKipOb3RlOioqIFRoZSBgZGlzYWJsZVNlYXJjaENvbGxhcHNlYCBwcm9wZXJ0eSBpcyBpbiBhbiBleHBlcmltZW50YWwgc3RhdGUgYW5kIGlzIGEgc3ViamVjdCB0byBjaGFuZ2UuXG4gICAqL1xuICBkaXNhYmxlU2VhcmNoQ29sbGFwc2UgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIGBwcmltYXJ5VGl0bGVgLlxuXG4qKk5vdGU6KiogVGhlIGBwcmltYXJ5VGl0bGVgIHdvdWxkIGJlIGhpZGRlbiBvbiBTIHNjcmVlbiBzaXplIChsZXNzIHRoYW4gYXBwcm94LiA3MDBweCkuXG4gICAqL1xuICBwcmltYXJ5VGl0bGUgPSBpbnB1dDx0eXBlb2YgX1NoZWxsQmFyLnByb3RvdHlwZS5wcmltYXJ5VGl0bGUgfCB1bmRlZmluZWQ+KCk7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIGBzZWNvbmRhcnlUaXRsZWAuXG5cbioqTm90ZToqKiBUaGUgYHNlY29uZGFyeVRpdGxlYCB3b3VsZCBiZSBoaWRkZW4gb24gUyBhbmQgTSBzY3JlZW4gc2l6ZXMgKGxlc3MgdGhhbiBhcHByb3guIDEzMDBweCkuXG4gICAqL1xuICBzZWNvbmRhcnlUaXRsZSA9IGlucHV0PHR5cGVvZiBfU2hlbGxCYXIucHJvdG90eXBlLnNlY29uZGFyeVRpdGxlIHwgdW5kZWZpbmVkPigpO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBgbm90aWZpY2F0aW9uc0NvdW50YCxcbmRpc3BsYXllZCBpbiB0aGUgbm90aWZpY2F0aW9uIGljb24gdG9wLXJpZ2h0IGNvcm5lci5cbiAgICovXG4gIG5vdGlmaWNhdGlvbnNDb3VudCA9IGlucHV0PHR5cGVvZiBfU2hlbGxCYXIucHJvdG90eXBlLm5vdGlmaWNhdGlvbnNDb3VudCB8IHVuZGVmaW5lZD4oKTtcblxuICAvKipcbiAgICogRGVmaW5lcywgaWYgdGhlIG5vdGlmaWNhdGlvbiBpY29uIHdvdWxkIGJlIGRpc3BsYXllZC5cbiAgICovXG4gIHNob3dOb3RpZmljYXRpb25zID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzLCBpZiB0aGUgcHJvZHVjdCBzd2l0Y2ggaWNvbiB3b3VsZCBiZSBkaXNwbGF5ZWQuXG4gICAqL1xuICBzaG93UHJvZHVjdFN3aXRjaCA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAvKipcbiAgICogRGVmaW5lcywgaWYgdGhlIFNlYXJjaCBGaWVsZCB3b3VsZCBiZSBkaXNwbGF5ZWQgd2hlbiB0aGVyZSBpcyBhIHZhbGlkIGBzZWFyY2hGaWVsZGAgc2xvdC5cblxuKipOb3RlOioqIEJ5IGRlZmF1bHQgdGhlIFNlYXJjaCBGaWVsZCBpcyBub3QgZGlzcGxheWVkLlxuICAgKi9cbiAgc2hvd1NlYXJjaEZpZWxkID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGFkZGl0aW9uYWwgYWNjZXNzaWJpbGl0eSBhdHRyaWJ1dGVzIG9uIGRpZmZlcmVudCBhcmVhcyBvZiB0aGUgY29tcG9uZW50LlxuXG5UaGUgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZXMgb2JqZWN0IGhhcyB0aGUgZm9sbG93aW5nIGZpZWxkcyxcbndoZXJlIGVhY2ggZmllbGQgaXMgYW4gb2JqZWN0IHN1cHBvcnRpbmcgb25lIG9yIG1vcmUgYWNjZXNzaWJpbGl0eSBhdHRyaWJ1dGVzOlxuXG4tICoqbG9nbyoqIC0gYGxvZ28ucm9sZWAgYW5kIGBsb2dvLm5hbWVgLlxuLSAqKm5vdGlmaWNhdGlvbnMqKiAtIGBub3RpZmljYXRpb25zLmV4cGFuZGVkYCBhbmQgYG5vdGlmaWNhdGlvbnMuaGFzUG9wdXBgLlxuLSAqKnByb2ZpbGUqKiAtIGBwcm9maWxlLmV4cGFuZGVkYCwgYHByb2ZpbGUuaGFzUG9wdXBgIGFuZCBgcHJvZmlsZS5uYW1lYC5cbi0gKipwcm9kdWN0KiogLSBgcHJvZHVjdC5leHBhbmRlZGAgYW5kIGBwcm9kdWN0Lmhhc1BvcHVwYC5cbi0gKipzZWFyY2gqKiAtIGBzZWFyY2guaGFzUG9wdXBgLlxuLSAqKm92ZXJmbG93KiogLSBgb3ZlcmZsb3cuZXhwYW5kZWRgIGFuZCBgb3ZlcmZsb3cuaGFzUG9wdXBgLlxuLSAqKmJyYW5kaW5nKiogLSBgYnJhbmRpbmcubmFtZWAuXG5cblRoZSBhY2Nlc3NpYmlsaXR5IGF0dHJpYnV0ZXMgc3VwcG9ydCB0aGUgZm9sbG93aW5nIHZhbHVlczpcblxuLSAqKnJvbGUqKjogRGVmaW5lcyB0aGUgYWNjZXNzaWJsZSBBUklBIHJvbGUgb2YgdGhlIGxvZ28gYXJlYS5cbkFjY2VwdHMgdGhlIGZvbGxvd2luZyBzdHJpbmcgdmFsdWVzOiBgYnV0dG9uYCBvciBgbGlua2AuXG5cbi0gKipleHBhbmRlZCoqOiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgYnV0dG9uLCBvciBhbm90aGVyIGdyb3VwaW5nIGVsZW1lbnQgaXQgY29udHJvbHMsXG5pcyBjdXJyZW50bHkgZXhwYW5kZWQgb3IgY29sbGFwc2VkLlxuQWNjZXB0cyB0aGUgZm9sbG93aW5nIHN0cmluZyB2YWx1ZXM6IGB0cnVlYCBvciBgZmFsc2VgLlxuXG4tICoqaGFzUG9wdXAqKjogSW5kaWNhdGVzIHRoZSBhdmFpbGFiaWxpdHkgYW5kIHR5cGUgb2YgaW50ZXJhY3RpdmUgcG9wdXAgZWxlbWVudCxcbnN1Y2ggYXMgbWVudSBvciBkaWFsb2csIHRoYXQgY2FuIGJlIHRyaWdnZXJlZCBieSB0aGUgYnV0dG9uLlxuXG5BY2NlcHRzIHRoZSBmb2xsb3dpbmcgc3RyaW5nIHZhbHVlczogYGRpYWxvZ2AsIGBncmlkYCwgYGxpc3Rib3hgLCBgbWVudWAgb3IgYHRyZWVgLlxuLSAqKm5hbWUqKjogRGVmaW5lcyB0aGUgYWNjZXNzaWJsZSBBUklBIG5hbWUgb2YgdGhlIGFyZWEuXG5BY2NlcHRzIGFueSBzdHJpbmcuXG4gICAqL1xuICBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlcyA9IGlucHV0PHR5cGVvZiBfU2hlbGxCYXIucHJvdG90eXBlLmFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVzIHwgdW5kZWZpbmVkPih7fSk7IC8vIGNsYXNzTmFtZSBpcyBub3cgcGFzc2VkXG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGBsb2dvYCBET00gcmVmLlxuICAgKiBAcmVhZG9ubHkgVGhpcyBwcm9wZXJ0eSBpcyBtYW5hZ2VkIGJ5IHRoZSB3ZWIgY29tcG9uZW50LlxuICAgKi9cbiAgZ2V0IGxvZ29Eb21SZWYoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50Py5sb2dvRG9tUmVmID8/IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYG5vdGlmaWNhdGlvbnNgIGljb24gRE9NIHJlZi5cbiAgICogQHJlYWRvbmx5IFRoaXMgcHJvcGVydHkgaXMgbWFuYWdlZCBieSB0aGUgd2ViIGNvbXBvbmVudC5cbiAgICovXG4gIGdldCBub3RpZmljYXRpb25zRG9tUmVmKCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudD8ubm90aWZpY2F0aW9uc0RvbVJlZiA/PyBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGBvdmVyZmxvd2AgaWNvbiBET00gcmVmLlxuICAgKiBAcmVhZG9ubHkgVGhpcyBwcm9wZXJ0eSBpcyBtYW5hZ2VkIGJ5IHRoZSB3ZWIgY29tcG9uZW50LlxuICAgKi9cbiAgZ2V0IG92ZXJmbG93RG9tUmVmKCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudD8ub3ZlcmZsb3dEb21SZWYgPz8gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBgcHJvZmlsZWAgaWNvbiBET00gcmVmLlxuICAgKiBAcmVhZG9ubHkgVGhpcyBwcm9wZXJ0eSBpcyBtYW5hZ2VkIGJ5IHRoZSB3ZWIgY29tcG9uZW50LlxuICAgKi9cbiAgZ2V0IHByb2ZpbGVEb21SZWYoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50Py5wcm9maWxlRG9tUmVmID8/IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYHByb2R1Y3Qtc3dpdGNoYCBpY29uIERPTSByZWYuXG4gICAqIEByZWFkb25seSBUaGlzIHByb3BlcnR5IGlzIG1hbmFnZWQgYnkgdGhlIHdlYiBjb21wb25lbnQuXG4gICAqL1xuICBnZXQgcHJvZHVjdFN3aXRjaERvbVJlZigpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQ/LnByb2R1Y3RTd2l0Y2hEb21SZWYgPz8gbnVsbDtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIEZpcmVkLCB3aGVuIHRoZSBub3RpZmljYXRpb24gaWNvbiBpcyBhY3RpdmF0ZWQuXG4gICAqL1xuICB1aTVOb3RpZmljYXRpb25zQ2xpY2sgPSBvdXRwdXQ8VUk1Q3VzdG9tRXZlbnQ8X1NoZWxsQmFyLCAnbm90aWZpY2F0aW9ucy1jbGljayc+PigpO1xuXG4gIC8qKlxuICAgKiBGaXJlZCwgd2hlbiB0aGUgcHJvZmlsZSBzbG90IGlzIHByZXNlbnQuXG4gICAqL1xuICB1aTVQcm9maWxlQ2xpY2sgPSBvdXRwdXQ8VUk1Q3VzdG9tRXZlbnQ8X1NoZWxsQmFyLCAncHJvZmlsZS1jbGljayc+PigpO1xuXG4gIC8qKlxuICAgKiBGaXJlZCwgd2hlbiB0aGUgcHJvZHVjdCBzd2l0Y2ggaWNvbiBpcyBhY3RpdmF0ZWQuXG5cbioqTm90ZToqKiBZb3UgY2FuIHByZXZlbnQgY2xvc2luZyBvZiBvdmVyZmxvdyBwb3BvdmVyIGJ5IGNhbGxpbmcgYGV2ZW50LnByZXZlbnREZWZhdWx0KClgLlxuICAgKi9cbiAgdWk1UHJvZHVjdFN3aXRjaENsaWNrID0gb3V0cHV0PFVJNUN1c3RvbUV2ZW50PF9TaGVsbEJhciwgJ3Byb2R1Y3Qtc3dpdGNoLWNsaWNrJz4+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVkLCB3aGVuIHRoZSBsb2dvIGlzIGFjdGl2YXRlZC5cbiAgICovXG4gIHVpNUxvZ29DbGljayA9IG91dHB1dDxVSTVDdXN0b21FdmVudDxfU2hlbGxCYXIsICdsb2dvLWNsaWNrJz4+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVkLCB3aGVuIGEgbWVudSBpdGVtIGlzIGFjdGl2YXRlZFxuXG4qKk5vdGU6KiogWW91IGNhbiBwcmV2ZW50IGNsb3Npbmcgb2Ygb3ZlcmZsb3cgcG9wb3ZlciBieSBjYWxsaW5nIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYC5cbiAgICovXG4gIHVpNU1lbnVJdGVtQ2xpY2sgPSBvdXRwdXQ8VUk1Q3VzdG9tRXZlbnQ8X1NoZWxsQmFyLCAnbWVudS1pdGVtLWNsaWNrJz4+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVkLCB3aGVuIHRoZSBzZWFyY2ggYnV0dG9uIGlzIGFjdGl2YXRlZC5cblxuKipOb3RlOioqIFlvdSBjYW4gcHJldmVudCBleHBhbmRpbmcvY29sbGFwc2luZyBvZiB0aGUgc2VhcmNoIGZpZWxkIGJ5IGNhbGxpbmcgYGV2ZW50LnByZXZlbnREZWZhdWx0KClgLlxuICAgKi9cbiAgdWk1U2VhcmNoQnV0dG9uQ2xpY2sgPSBvdXRwdXQ8VUk1Q3VzdG9tRXZlbnQ8X1NoZWxsQmFyLCAnc2VhcmNoLWJ1dHRvbi1jbGljayc+PigpO1xuXG4gIC8qKlxuICAgKiBGaXJlZCwgd2hlbiB0aGUgc2VhcmNoIGZpZWxkIGlzIGV4cGFuZGVkIG9yIGNvbGxhcHNlZC5cbiAgICovXG4gIHVpNVNlYXJjaEZpZWxkVG9nZ2xlID0gb3V0cHV0PFVJNUN1c3RvbUV2ZW50PF9TaGVsbEJhciwgJ3NlYXJjaC1maWVsZC10b2dnbGUnPj4oKTtcblxuICAvKipcbiAgICogRmlyZWQsIHdoZW4gdGhlIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGlzIGFjdGl2YXRlZC5cblxuKipOb3RlOioqIFlvdSBjYW4gcHJldmVudCB0aGUgZGVmYXVsdCBiZWhhdmlvciAoY2xlYXJpbmcgdGhlIHNlYXJjaCBmaWVsZCB2YWx1ZSkgYnkgY2FsbGluZyBgZXZlbnQucHJldmVudERlZmF1bHQoKWAuIFRoZSBzZWFyY2ggd2lsbCBzdGlsbCBiZSBjbG9zZWQuXG4qKk5vdGU6KiogVGhlIGBzZWFyY2gtZmllbGQtY2xlYXJgIGV2ZW50IGlzIGluIGFuIGV4cGVyaW1lbnRhbCBzdGF0ZSBhbmQgaXMgYSBzdWJqZWN0IHRvIGNoYW5nZS5cbiAgICovXG4gIHVpNVNlYXJjaEZpZWxkQ2xlYXIgPSBvdXRwdXQ8VUk1Q3VzdG9tRXZlbnQ8X1NoZWxsQmFyLCAnc2VhcmNoLWZpZWxkLWNsZWFyJz4+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVkLCB3aGVuIGFuIGl0ZW0gZnJvbSB0aGUgY29udGVudCBzbG90IGlzIGhpZGRlbiBvciBzaG93bi5cbioqTm90ZToqKiBUaGUgYGNvbnRlbnQtaXRlbS12aXNpYmlsaXR5LWNoYW5nZWAgZXZlbnQgaXMgaW4gYW4gZXhwZXJpbWVudGFsIHN0YXRlIGFuZCBpcyBhIHN1YmplY3QgdG8gY2hhbmdlLlxuICAgKi9cbiAgdWk1Q29udGVudEl0ZW1WaXNpYmlsaXR5Q2hhbmdlID0gb3V0cHV0PFVJNUN1c3RvbUV2ZW50PF9TaGVsbEJhciwgJ2NvbnRlbnQtaXRlbS12aXNpYmlsaXR5LWNoYW5nZSc+PigpO1xuXG4gIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPF9TaGVsbEJhcj4gPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHB1YmxpYyBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgZ2V0IGVsZW1lbnQoKTogX1NoZWxsQmFyIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3Qgd2NFbGVtZW50ID0gdGhpcy5lbGVtZW50O1xuICAgIFxuICAgIGNvbnN0IGlucHV0c1RvU3luYyA9IFtcbiAgICAgICdoaWRlU2VhcmNoQnV0dG9uJyxcbiAgICAgICdkaXNhYmxlU2VhcmNoQ29sbGFwc2UnLFxuICAgICAgJ3ByaW1hcnlUaXRsZScsXG4gICAgICAnc2Vjb25kYXJ5VGl0bGUnLFxuICAgICAgJ25vdGlmaWNhdGlvbnNDb3VudCcsXG4gICAgICAnc2hvd05vdGlmaWNhdGlvbnMnLFxuICAgICAgJ3Nob3dQcm9kdWN0U3dpdGNoJyxcbiAgICAgICdzaG93U2VhcmNoRmllbGQnLFxuICAgICAgJ2FjY2Vzc2liaWxpdHlBdHRyaWJ1dGVzJyxcbiAgICBdO1xuICAgIFxuICAgIC8vIFN5bmNocm9uaXplIGlucHV0cyAocHJvcGVydGllcylcbiAgICBmb3IgKGNvbnN0IGlucHV0TmFtZSBvZiBpbnB1dHNUb1N5bmMpIHtcbiAgICAgIC8vIEZpbmQgdGhlIGNvcnJlc3BvbmRpbmcgY2FtZWxDYXNlIHNpZ25hbCBwcm9wZXJ0eSBvbiB0aGUgQW5ndWxhciBjb21wb25lbnRcbiAgICAgIGNvbnN0IHNpZ25hbE5hbWUgPSBpbnB1dE5hbWUucmVwbGFjZSgvLS4vZywgKHg6IHN0cmluZykgPT4geFsxXS50b1VwcGVyQ2FzZSgpKTtcblxuICAgICAgLy8gVXNlIHRoZSBJbmplY3RvciB0byBydW4gdGhlIGVmZmVjdCBpbiB0aGUgY29ycmVjdCBjb250ZXh0XG4gICAgICBpZiAodGhpc1tzaWduYWxOYW1lXSAmJiB0eXBlb2YgdGhpc1tzaWduYWxOYW1lXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5pbmplY3RvciwgKCkgPT4ge1xuICAgICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICAvLyBSZWFkIHRoZSBzaWduYWwgdmFsdWVcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpc1tzaWduYWxOYW1lXSgpO1xuICAgICAgICAgICAgaWYgKHdjRWxlbWVudCkge1xuICAgICAgICAgICAgICAvLyBXcml0ZSB0aGUgdmFsdWUgdG8gdGhlIFdlYiBDb21wb25lbnQncyBwcm9wZXJ0eVxuICAgICAgICAgICAgICB3Y0VsZW1lbnRbaW5wdXROYW1lXSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIFxuICAgIGNvbnN0IG91dHB1dHNUb1N5bmMgPSBbXG4gICAgICAndWk1Tm90aWZpY2F0aW9uc0NsaWNrJyxcbiAgICAgICd1aTVQcm9maWxlQ2xpY2snLFxuICAgICAgJ3VpNVByb2R1Y3RTd2l0Y2hDbGljaycsXG4gICAgICAndWk1TG9nb0NsaWNrJyxcbiAgICAgICd1aTVNZW51SXRlbUNsaWNrJyxcbiAgICAgICd1aTVTZWFyY2hCdXR0b25DbGljaycsXG4gICAgICAndWk1U2VhcmNoRmllbGRUb2dnbGUnLFxuICAgICAgJ3VpNVNlYXJjaEZpZWxkQ2xlYXInLFxuICAgICAgJ3VpNUNvbnRlbnRJdGVtVmlzaWJpbGl0eUNoYW5nZScsXG4gICAgXTtcbiAgICBcbiAgICAvLyBTeW5jaHJvbml6ZSBvdXRwdXRzIChldmVudHMpXG4gICAgZm9yIChjb25zdCBvdXRwdXROYW1lIG9mIG91dHB1dHNUb1N5bmMpIHtcbiAgICAgIC8vIE1hcCBBbmd1bGFyIG91dHB1dCBuYW1lIHRvIFVJNSB3ZWIgY29tcG9uZW50IGV2ZW50IG5hbWVcbiAgICAgIGNvbnN0IGV2ZW50TmFtZSA9IG91dHB1dE5hbWUucmVwbGFjZSgndWk1JywgJycpLnJlcGxhY2UoLyhbQS1aXSkvZywgJy0kMScpLnRvTG93ZXJDYXNlKCkuc3Vic3RyaW5nKDEpO1xuICAgICAgLy8gRW5zdXJlIHRoZSBvdXRwdXQgcHJvcGVydHkgZXhpc3RzIGFuZCBoYXMgYW4gZW1pdCBmdW5jdGlvbiBiZWZvcmUgYWRkaW5nIGxpc3RlbmVyXG4gICAgICBpZiAodGhpc1tvdXRwdXROYW1lXSAmJiB0eXBlb2YgdGhpc1tvdXRwdXROYW1lXS5lbWl0ID09PSAnZnVuY3Rpb24nICYmIHdjRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKSB7XG4gICAgICAgIC8vIENhc3QgdGhlIGxpc3RlbmVyIHRvIHRoZSBjb3JyZWN0IHR5cGUgdG8gc2F0aXNmeSBUeXBlU2NyaXB0XG4gICAgICAgIHdjRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgKGUpID0+IHtcblxuICAgICAgICAgIHRoaXNbb3V0cHV0TmFtZV0uZW1pdChlIGFzIEN1c3RvbUV2ZW50PGFueT4pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIFxuXG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LXVpNS13ZWJjb21wb25lbnRzLWZpb3JpLXNoZWxsLWJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWk1LXdlYmNvbXBvbmVudHMtZmlvcmkvc2hlbGwtYmFyL2Z1bmRhbWVudGFsLW5neC11aTUtd2ViY29tcG9uZW50cy1maW9yaS1zaGVsbC1iYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
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/SideNavigationGroup.js';
|
|
4
|
+
|
|
5
|
+
class SideNavigationGroup {
|
|
6
|
+
constructor() {
|
|
7
|
+
/**
|
|
8
|
+
* Defines if the item is expanded
|
|
9
|
+
*/
|
|
10
|
+
this.expanded = input(false, ...(ngDevMode ? [{ debugName: "expanded", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
11
|
+
/**
|
|
12
|
+
* Defines the text of the item.
|
|
13
|
+
*/
|
|
14
|
+
this.text = input(...(ngDevMode ? [undefined, { debugName: "text" }] : []));
|
|
15
|
+
/**
|
|
16
|
+
* Defines whether the component is disabled.
|
|
17
|
+
A disabled component can't be pressed or
|
|
18
|
+
focused, and it is not in the tab chain.
|
|
19
|
+
*/
|
|
20
|
+
this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
21
|
+
/**
|
|
22
|
+
* Defines the tooltip of the component.
|
|
23
|
+
|
|
24
|
+
A tooltip attribute should be provided, in order to represent meaning/function,
|
|
25
|
+
when the component is collapsed ("icon only" design is visualized) or the item text is truncated.
|
|
26
|
+
*/
|
|
27
|
+
this.tooltip = input(...(ngDevMode ? [undefined, { debugName: "tooltip" }] : [])); // className is now passed
|
|
28
|
+
this.elementRef = inject(ElementRef);
|
|
29
|
+
this.injector = inject(Injector);
|
|
30
|
+
}
|
|
31
|
+
get element() {
|
|
32
|
+
return this.elementRef.nativeElement;
|
|
33
|
+
}
|
|
34
|
+
ngAfterViewInit() {
|
|
35
|
+
const wcElement = this.element;
|
|
36
|
+
const inputsToSync = [
|
|
37
|
+
'expanded',
|
|
38
|
+
'text',
|
|
39
|
+
'disabled',
|
|
40
|
+
'tooltip',
|
|
41
|
+
];
|
|
42
|
+
// Synchronize inputs (properties)
|
|
43
|
+
for (const inputName of inputsToSync) {
|
|
44
|
+
// Find the corresponding camelCase signal property on the Angular component
|
|
45
|
+
const signalName = inputName.replace(/-./g, (x) => x[1].toUpperCase());
|
|
46
|
+
// Use the Injector to run the effect in the correct context
|
|
47
|
+
if (this[signalName] && typeof this[signalName] === 'function') {
|
|
48
|
+
runInInjectionContext(this.injector, () => {
|
|
49
|
+
effect(() => {
|
|
50
|
+
// Read the signal value
|
|
51
|
+
const value = this[signalName]();
|
|
52
|
+
if (wcElement) {
|
|
53
|
+
// Write the value to the Web Component's property
|
|
54
|
+
wcElement[inputName] = value;
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: SideNavigationGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
62
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.4", type: SideNavigationGroup, isStandalone: true, selector: "ui5-side-navigation-group, [ui5-side-navigation-group]", inputs: { expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["ui5SideNavigationGroup"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
63
|
+
}
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: SideNavigationGroup, decorators: [{
|
|
65
|
+
type: Component,
|
|
66
|
+
args: [{
|
|
67
|
+
standalone: true,
|
|
68
|
+
selector: 'ui5-side-navigation-group, [ui5-side-navigation-group]',
|
|
69
|
+
template: '<ng-content></ng-content>',
|
|
70
|
+
exportAs: 'ui5SideNavigationGroup',
|
|
71
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
72
|
+
}]
|
|
73
|
+
}] });
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Generated bundle index. Do not edit.
|
|
77
|
+
*/
|
|
78
|
+
|
|
79
|
+
export { SideNavigationGroup };
|
|
80
|
+
//# sourceMappingURL=fundamental-ngx-ui5-webcomponents-fiori-side-navigation-group.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-ui5-webcomponents-fiori-side-navigation-group.mjs","sources":["../tmp-esm2022/side-navigation-group/index.js","../tmp-esm2022/side-navigation-group/fundamental-ngx-ui5-webcomponents-fiori-side-navigation-group.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, input, effect, runInInjectionContext, inject, Injector, booleanAttribute } from '@angular/core';\nimport '@ui5/webcomponents-fiori/dist/SideNavigationGroup.js';\nimport * as i0 from \"@angular/core\";\nexport class SideNavigationGroup {\n constructor() {\n /**\n * Defines if the item is expanded\n */\n this.expanded = input(false, ...(ngDevMode ? [{ debugName: \"expanded\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * Defines the text of the item.\n */\n this.text = input(...(ngDevMode ? [undefined, { debugName: \"text\" }] : []));\n /**\n * Defines whether the component is disabled.\n A disabled component can't be pressed or\n focused, and it is not in the tab chain.\n */\n this.disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * Defines the tooltip of the component.\n \n A tooltip attribute should be provided, in order to represent meaning/function,\n when the component is collapsed (\"icon only\" design is visualized) or the item text is truncated.\n */\n this.tooltip = input(...(ngDevMode ? [undefined, { debugName: \"tooltip\" }] : [])); // 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 'expanded',\n 'text',\n 'disabled',\n 'tooltip',\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: SideNavigationGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.1.4\", type: SideNavigationGroup, isStandalone: true, selector: \"ui5-side-navigation-group, [ui5-side-navigation-group]\", inputs: { expanded: { classPropertyName: \"expanded\", publicName: \"expanded\", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: \"text\", publicName: \"text\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: \"tooltip\", publicName: \"tooltip\", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: [\"ui5SideNavigationGroup\"], 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: SideNavigationGroup, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'ui5-side-navigation-group, [ui5-side-navigation-group]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5SideNavigationGroup',\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpNS13ZWJjb21wb25lbnRzLWZpb3JpL3NpZGUtbmF2aWdhdGlvbi1ncm91cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUdMLE1BQU0sRUFDTixxQkFBcUIsRUFDckIsTUFBTSxFQUNOLFFBQVEsRUFDUixnQkFBZ0IsRUFHakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxzREFBc0QsQ0FBQzs7QUFjOUQsTUFBTSxPQUFPLG1CQUFtQjtJQVJoQztRQVVFOztXQUVHO1FBQ0gsYUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLDRDQUFJLFNBQVMsRUFBRSxnQkFBZ0IsT0FBN0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsR0FBQyxDQUFDO1FBRXpEOztXQUVHO1FBQ0gsU0FBSSxHQUFHLEtBQUssMERBQTBELENBQUM7UUFFdkU7Ozs7V0FJRztRQUNILGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyw0Q0FBSSxTQUFTLEVBQUUsZ0JBQWdCLE9BQTdCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLEdBQUMsQ0FBQztRQUV6RDs7Ozs7V0FLRztRQUNILFlBQU8sR0FBRyxLQUFLLDZEQUE2RCxDQUFDLENBQUMsMEJBQTBCO1FBS2pHLGVBQVUsR0FBcUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xFLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0F3Q3BDO0lBdENDLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDdkMsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRS9CLE1BQU0sWUFBWSxHQUFHO1lBQ25CLFVBQVU7WUFDVixNQUFNO1lBQ04sVUFBVTtZQUNWLFNBQVM7U0FDVixDQUFDO1FBRUYsa0NBQWtDO1FBQ2xDLEtBQUssTUFBTSxTQUFTLElBQUksWUFBWSxFQUFFLENBQUM7WUFDckMsNEVBQTRFO1lBQzVFLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUUvRSw0REFBNEQ7WUFDNUQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQy9ELHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO29CQUN4QyxNQUFNLENBQUMsR0FBRyxFQUFFO3dCQUNWLHdCQUF3Qjt3QkFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7d0JBQ2pDLElBQUksU0FBUyxFQUFFLENBQUM7NEJBQ2Qsa0RBQWtEOzRCQUNsRCxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDO3dCQUMvQixDQUFDO29CQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7SUFLSCxDQUFDOzhHQXRFVSxtQkFBbUI7a0dBQW5CLG1CQUFtQix5cEJBTHBCLDJCQUEyQjs7MkZBSzFCLG1CQUFtQjtrQkFSL0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHdEQUF3RDtvQkFDbEUsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFLHdCQUF3QjtvQkFFbEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBBZnRlclZpZXdJbml0LFxuICBlZmZlY3QsXG4gIHJ1bkluSW5qZWN0aW9uQ29udGV4dCxcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIHNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAnQHVpNS93ZWJjb21wb25lbnRzLWZpb3JpL2Rpc3QvU2lkZU5hdmlnYXRpb25Hcm91cC5qcyc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIF9TaWRlTmF2aWdhdGlvbkdyb3VwIH0gZnJvbSAnQHVpNS93ZWJjb21wb25lbnRzLWZpb3JpL2Rpc3QvU2lkZU5hdmlnYXRpb25Hcm91cC5qcyc7XG5pbXBvcnQgeyBVSTVDdXN0b21FdmVudCB9IGZyb20gJ0B1aTUvd2ViY29tcG9uZW50cy1iYXNlJztcblxuXG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3VpNS1zaWRlLW5hdmlnYXRpb24tZ3JvdXAsIFt1aTUtc2lkZS1uYXZpZ2F0aW9uLWdyb3VwXScsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGV4cG9ydEFzOiAndWk1U2lkZU5hdmlnYXRpb25Hcm91cCcsXG5cbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNpZGVOYXZpZ2F0aW9uR3JvdXAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICAvKipcbiAgICogRGVmaW5lcyBpZiB0aGUgaXRlbSBpcyBleHBhbmRlZFxuICAgKi9cbiAgZXhwYW5kZWQgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIHRleHQgb2YgdGhlIGl0ZW0uXG4gICAqL1xuICB0ZXh0ID0gaW5wdXQ8dHlwZW9mIF9TaWRlTmF2aWdhdGlvbkdyb3VwLnByb3RvdHlwZS50ZXh0IHwgdW5kZWZpbmVkPigpO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZC5cbkEgZGlzYWJsZWQgY29tcG9uZW50IGNhbid0IGJlIHByZXNzZWQgb3JcbmZvY3VzZWQsIGFuZCBpdCBpcyBub3QgaW4gdGhlIHRhYiBjaGFpbi5cbiAgICovXG4gIGRpc2FibGVkID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSB0b29sdGlwIG9mIHRoZSBjb21wb25lbnQuXG5cbkEgdG9vbHRpcCBhdHRyaWJ1dGUgc2hvdWxkIGJlIHByb3ZpZGVkLCBpbiBvcmRlciB0byByZXByZXNlbnQgbWVhbmluZy9mdW5jdGlvbixcbndoZW4gdGhlIGNvbXBvbmVudCBpcyBjb2xsYXBzZWQgKFwiaWNvbiBvbmx5XCIgZGVzaWduIGlzIHZpc3VhbGl6ZWQpIG9yIHRoZSBpdGVtIHRleHQgaXMgdHJ1bmNhdGVkLlxuICAgKi9cbiAgdG9vbHRpcCA9IGlucHV0PHR5cGVvZiBfU2lkZU5hdmlnYXRpb25Hcm91cC5wcm90b3R5cGUudG9vbHRpcCB8IHVuZGVmaW5lZD4oKTsgLy8gY2xhc3NOYW1lIGlzIG5vdyBwYXNzZWRcblxuXG5cblxuICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxfU2lkZU5hdmlnYXRpb25Hcm91cD4gPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHB1YmxpYyBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgZ2V0IGVsZW1lbnQoKTogX1NpZGVOYXZpZ2F0aW9uR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB3Y0VsZW1lbnQgPSB0aGlzLmVsZW1lbnQ7XG4gICAgXG4gICAgY29uc3QgaW5wdXRzVG9TeW5jID0gW1xuICAgICAgJ2V4cGFuZGVkJyxcbiAgICAgICd0ZXh0JyxcbiAgICAgICdkaXNhYmxlZCcsXG4gICAgICAndG9vbHRpcCcsXG4gICAgXTtcbiAgICBcbiAgICAvLyBTeW5jaHJvbml6ZSBpbnB1dHMgKHByb3BlcnRpZXMpXG4gICAgZm9yIChjb25zdCBpbnB1dE5hbWUgb2YgaW5wdXRzVG9TeW5jKSB7XG4gICAgICAvLyBGaW5kIHRoZSBjb3JyZXNwb25kaW5nIGNhbWVsQ2FzZSBzaWduYWwgcHJvcGVydHkgb24gdGhlIEFuZ3VsYXIgY29tcG9uZW50XG4gICAgICBjb25zdCBzaWduYWxOYW1lID0gaW5wdXROYW1lLnJlcGxhY2UoLy0uL2csICh4OiBzdHJpbmcpID0+IHhbMV0udG9VcHBlckNhc2UoKSk7XG5cbiAgICAgIC8vIFVzZSB0aGUgSW5qZWN0b3IgdG8gcnVuIHRoZSBlZmZlY3QgaW4gdGhlIGNvcnJlY3QgY29udGV4dFxuICAgICAgaWYgKHRoaXNbc2lnbmFsTmFtZV0gJiYgdHlwZW9mIHRoaXNbc2lnbmFsTmFtZV0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuaW5qZWN0b3IsICgpID0+IHtcbiAgICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgLy8gUmVhZCB0aGUgc2lnbmFsIHZhbHVlXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXNbc2lnbmFsTmFtZV0oKTtcbiAgICAgICAgICAgIGlmICh3Y0VsZW1lbnQpIHtcbiAgICAgICAgICAgICAgLy8gV3JpdGUgdGhlIHZhbHVlIHRvIHRoZSBXZWIgQ29tcG9uZW50J3MgcHJvcGVydHlcbiAgICAgICAgICAgICAgd2NFbGVtZW50W2lucHV0TmFtZV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICBcbiAgICBcbiAgICBcblxuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LXVpNS13ZWJjb21wb25lbnRzLWZpb3JpLXNpZGUtbmF2aWdhdGlvbi1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWk1LXdlYmNvbXBvbmVudHMtZmlvcmkvc2lkZS1uYXZpZ2F0aW9uLWdyb3VwL2Z1bmRhbWVudGFsLW5neC11aTUtd2ViY29tcG9uZW50cy1maW9yaS1zaWRlLW5hdmlnYXRpb24tZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,170 @@
|
|
|
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/SideNavigationItem.js';
|
|
4
|
+
|
|
5
|
+
class SideNavigationItem {
|
|
6
|
+
constructor() {
|
|
7
|
+
/**
|
|
8
|
+
* Defines if the item is expanded
|
|
9
|
+
*/
|
|
10
|
+
this.expanded = input(false, ...(ngDevMode ? [{ debugName: "expanded", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
11
|
+
/**
|
|
12
|
+
* Defines the icon of the item.
|
|
13
|
+
|
|
14
|
+
The SAP-icons font provides numerous options.
|
|
15
|
+
|
|
16
|
+
See all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).
|
|
17
|
+
*/
|
|
18
|
+
this.icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
|
|
19
|
+
/**
|
|
20
|
+
* Defines whether the item is selected.
|
|
21
|
+
|
|
22
|
+
**Note:** Items that have a set `href` and `target` set to `_blank` should not be selectable.
|
|
23
|
+
*/
|
|
24
|
+
this.selected = input(false, ...(ngDevMode ? [{ debugName: "selected", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
25
|
+
/**
|
|
26
|
+
* Defines the link target URI. Supports standard hyperlink behavior.
|
|
27
|
+
If a JavaScript action should be triggered,
|
|
28
|
+
this should not be set, but instead an event handler
|
|
29
|
+
for the `click` event should be registered.
|
|
30
|
+
*/
|
|
31
|
+
this.href = input(...(ngDevMode ? [undefined, { debugName: "href" }] : []));
|
|
32
|
+
/**
|
|
33
|
+
* Defines the component target.
|
|
34
|
+
|
|
35
|
+
Possible values:
|
|
36
|
+
|
|
37
|
+
- `_self`
|
|
38
|
+
- `_top`
|
|
39
|
+
- `_blank`
|
|
40
|
+
- `_parent`
|
|
41
|
+
- `framename`
|
|
42
|
+
|
|
43
|
+
**Note:** Items that have a defined `href` and `target`
|
|
44
|
+
attribute set to `_blank` should not be selectable.
|
|
45
|
+
*/
|
|
46
|
+
this.target = input(...(ngDevMode ? [undefined, { debugName: "target" }] : []));
|
|
47
|
+
/**
|
|
48
|
+
* Item design.
|
|
49
|
+
|
|
50
|
+
**Note:** Items with "Action" design must not have sub-items.
|
|
51
|
+
*/
|
|
52
|
+
this.design = input("Default", ...(ngDevMode ? [{ debugName: "design" }] : []));
|
|
53
|
+
/**
|
|
54
|
+
* Indicates whether the navigation item is selectable. By default, all items are selectable unless specifically marked as unselectable.
|
|
55
|
+
|
|
56
|
+
When a parent item is marked as unselectable, selecting it will only expand or collapse its sub-items.
|
|
57
|
+
To improve user experience do not mix unselectable parent items with selectable parent items in a single side navigation.
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
**Guidelines**:
|
|
61
|
+
- Items with an assigned `href` and a target of `_blank` should be marked as unselectable.
|
|
62
|
+
- Items that trigger actions (with design "Action") should be marked as unselectable.
|
|
63
|
+
*/
|
|
64
|
+
this.unselectable = input(false, ...(ngDevMode ? [{ debugName: "unselectable", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
65
|
+
/**
|
|
66
|
+
* Defines the additional accessibility attributes that will be applied to the component.
|
|
67
|
+
The following fields are supported:
|
|
68
|
+
|
|
69
|
+
- **hasPopup**: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the button.
|
|
70
|
+
Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.
|
|
71
|
+
|
|
72
|
+
**Note:** Do not use it on parent items, as it will be overridden if the item is in the overflow menu.
|
|
73
|
+
*/
|
|
74
|
+
this.accessibilityAttributes = input({}, ...(ngDevMode ? [{ debugName: "accessibilityAttributes" }] : []));
|
|
75
|
+
/**
|
|
76
|
+
* Defines the text of the item.
|
|
77
|
+
*/
|
|
78
|
+
this.text = input(...(ngDevMode ? [undefined, { debugName: "text" }] : []));
|
|
79
|
+
/**
|
|
80
|
+
* Defines whether the component is disabled.
|
|
81
|
+
A disabled component can't be pressed or
|
|
82
|
+
focused, and it is not in the tab chain.
|
|
83
|
+
*/
|
|
84
|
+
this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
85
|
+
/**
|
|
86
|
+
* Defines the tooltip of the component.
|
|
87
|
+
|
|
88
|
+
A tooltip attribute should be provided, in order to represent meaning/function,
|
|
89
|
+
when the component is collapsed ("icon only" design is visualized) or the item text is truncated.
|
|
90
|
+
*/
|
|
91
|
+
this.tooltip = input(...(ngDevMode ? [undefined, { debugName: "tooltip" }] : [])); // className is now passed
|
|
92
|
+
/**
|
|
93
|
+
* Fired when the component is activated either with a click/tap or by using the [Enter] or [Space] keys.
|
|
94
|
+
*/
|
|
95
|
+
this.ui5Click = output();
|
|
96
|
+
this.elementRef = inject(ElementRef);
|
|
97
|
+
this.injector = inject(Injector);
|
|
98
|
+
}
|
|
99
|
+
get element() {
|
|
100
|
+
return this.elementRef.nativeElement;
|
|
101
|
+
}
|
|
102
|
+
ngAfterViewInit() {
|
|
103
|
+
const wcElement = this.element;
|
|
104
|
+
const inputsToSync = [
|
|
105
|
+
'expanded',
|
|
106
|
+
'icon',
|
|
107
|
+
'selected',
|
|
108
|
+
'href',
|
|
109
|
+
'target',
|
|
110
|
+
'design',
|
|
111
|
+
'unselectable',
|
|
112
|
+
'accessibilityAttributes',
|
|
113
|
+
'text',
|
|
114
|
+
'disabled',
|
|
115
|
+
'tooltip',
|
|
116
|
+
];
|
|
117
|
+
// Synchronize inputs (properties)
|
|
118
|
+
for (const inputName of inputsToSync) {
|
|
119
|
+
// Find the corresponding camelCase signal property on the Angular component
|
|
120
|
+
const signalName = inputName.replace(/-./g, (x) => x[1].toUpperCase());
|
|
121
|
+
// Use the Injector to run the effect in the correct context
|
|
122
|
+
if (this[signalName] && typeof this[signalName] === 'function') {
|
|
123
|
+
runInInjectionContext(this.injector, () => {
|
|
124
|
+
effect(() => {
|
|
125
|
+
// Read the signal value
|
|
126
|
+
const value = this[signalName]();
|
|
127
|
+
if (wcElement) {
|
|
128
|
+
// Write the value to the Web Component's property
|
|
129
|
+
wcElement[inputName] = value;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
const outputsToSync = [
|
|
136
|
+
'ui5Click',
|
|
137
|
+
];
|
|
138
|
+
// Synchronize outputs (events)
|
|
139
|
+
for (const outputName of outputsToSync) {
|
|
140
|
+
// Map Angular output name to UI5 web component event name
|
|
141
|
+
const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
|
|
142
|
+
// Ensure the output property exists and has an emit function before adding listener
|
|
143
|
+
if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
|
|
144
|
+
// Cast the listener to the correct type to satisfy TypeScript
|
|
145
|
+
wcElement.addEventListener(eventName, (e) => {
|
|
146
|
+
this[outputName].emit(e);
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: SideNavigationItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
152
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.4", type: SideNavigationItem, isStandalone: true, selector: "ui5-side-navigation-item, [ui5-side-navigation-item]", inputs: { expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, design: { classPropertyName: "design", publicName: "design", isSignal: true, isRequired: false, transformFunction: null }, unselectable: { classPropertyName: "unselectable", publicName: "unselectable", isSignal: true, isRequired: false, transformFunction: null }, accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, exportAs: ["ui5SideNavigationItem"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
153
|
+
}
|
|
154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: SideNavigationItem, decorators: [{
|
|
155
|
+
type: Component,
|
|
156
|
+
args: [{
|
|
157
|
+
standalone: true,
|
|
158
|
+
selector: 'ui5-side-navigation-item, [ui5-side-navigation-item]',
|
|
159
|
+
template: '<ng-content></ng-content>',
|
|
160
|
+
exportAs: 'ui5SideNavigationItem',
|
|
161
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
162
|
+
}]
|
|
163
|
+
}] });
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Generated bundle index. Do not edit.
|
|
167
|
+
*/
|
|
168
|
+
|
|
169
|
+
export { SideNavigationItem };
|
|
170
|
+
//# sourceMappingURL=fundamental-ngx-ui5-webcomponents-fiori-side-navigation-item.mjs.map
|