@fundamental-ngx/ui5-webcomponents-fiori 0.58.0-rc.89 → 0.58.0-rc.90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/package.json +2 -210
  2. package/barcode-scanner-dialog/index.d.ts +0 -66
  3. package/dynamic-page/index.d.ts +0 -65
  4. package/dynamic-page-header/index.d.ts +0 -37
  5. package/dynamic-page-title/index.d.ts +0 -63
  6. package/dynamic-side-content/index.d.ts +0 -81
  7. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-barcode-scanner-dialog.mjs +0 -131
  8. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-barcode-scanner-dialog.mjs.map +0 -1
  9. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-dynamic-page-header.mjs +0 -61
  10. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-dynamic-page-header.mjs.map +0 -1
  11. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-dynamic-page-title.mjs +0 -115
  12. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-dynamic-page-title.mjs.map +0 -1
  13. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-dynamic-page.mjs +0 -139
  14. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-dynamic-page.mjs.map +0 -1
  15. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-dynamic-side-content.mjs +0 -148
  16. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-dynamic-side-content.mjs.map +0 -1
  17. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-filter-item-option.mjs +0 -65
  18. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-filter-item-option.mjs.map +0 -1
  19. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-filter-item.mjs +0 -91
  20. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-filter-item.mjs.map +0 -1
  21. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-flexible-column-layout.mjs +0 -297
  22. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-flexible-column-layout.mjs.map +0 -1
  23. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-group-item.mjs +0 -65
  24. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-group-item.mjs.map +0 -1
  25. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-illustrated-message.mjs +0 -159
  26. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-illustrated-message.mjs.map +0 -1
  27. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-media-gallery-item.mjs +0 -100
  28. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-media-gallery-item.mjs.map +0 -1
  29. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-media-gallery.mjs +0 -148
  30. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-media-gallery.mjs.map +0 -1
  31. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-navigation-layout.mjs +0 -95
  32. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-navigation-layout.mjs.map +0 -1
  33. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-notification-list-group-item.mjs +0 -139
  34. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-notification-list-group-item.mjs.map +0 -1
  35. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-notification-list-item.mjs +0 -174
  36. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-notification-list-item.mjs.map +0 -1
  37. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-notification-list.mjs +0 -114
  38. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-notification-list.mjs.map +0 -1
  39. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-page.mjs +0 -115
  40. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-page.mjs.map +0 -1
  41. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-product-switch-item.mjs +0 -145
  42. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-product-switch-item.mjs.map +0 -1
  43. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-product-switch.mjs +0 -61
  44. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-product-switch.mjs.map +0 -1
  45. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-item-group.mjs +0 -36
  46. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-item-group.mjs.map +0 -1
  47. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-item-show-more.mjs +0 -87
  48. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-item-show-more.mjs.map +0 -1
  49. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-item.mjs +0 -143
  50. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-item.mjs.map +0 -1
  51. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-message-area.mjs +0 -65
  52. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-message-area.mjs.map +0 -1
  53. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-scope.mjs +0 -65
  54. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search-scope.mjs.map +0 -1
  55. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search.mjs +0 -191
  56. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-search.mjs.map +0 -1
  57. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar-branding.mjs +0 -135
  58. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar-branding.mjs.map +0 -1
  59. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar-item.mjs +0 -109
  60. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar-item.mjs.map +0 -1
  61. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar-search.mjs +0 -196
  62. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar-search.mjs.map +0 -1
  63. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar-spacer.mjs +0 -36
  64. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar-spacer.mjs.map +0 -1
  65. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar.mjs +0 -334
  66. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-shell-bar.mjs.map +0 -1
  67. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-side-navigation-group.mjs +0 -105
  68. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-side-navigation-group.mjs.map +0 -1
  69. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-side-navigation-item.mjs +0 -195
  70. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-side-navigation-item.mjs.map +0 -1
  71. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-side-navigation-sub-item.mjs +0 -165
  72. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-side-navigation-sub-item.mjs.map +0 -1
  73. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-side-navigation.mjs +0 -130
  74. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-side-navigation.mjs.map +0 -1
  75. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-sort-item.mjs +0 -65
  76. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-sort-item.mjs.map +0 -1
  77. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-theming.mjs +0 -23
  78. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-theming.mjs.map +0 -1
  79. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-timeline-group-item.mjs +0 -109
  80. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-timeline-group-item.mjs.map +0 -1
  81. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-timeline-item.mjs +0 -136
  82. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-timeline-item.mjs.map +0 -1
  83. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-timeline.mjs +0 -135
  84. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-timeline.mjs.map +0 -1
  85. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-upload-collection-item.mjs +0 -184
  86. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-upload-collection-item.mjs.map +0 -1
  87. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-upload-collection.mjs +0 -152
  88. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-upload-collection.mjs.map +0 -1
  89. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-menu-account.mjs +0 -95
  90. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-menu-account.mjs.map +0 -1
  91. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-menu-item-group.mjs +0 -36
  92. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-menu-item-group.mjs.map +0 -1
  93. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-menu-item.mjs +0 -63
  94. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-menu-item.mjs.map +0 -1
  95. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-menu.mjs +0 -174
  96. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-menu.mjs.map +0 -1
  97. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-settings-account-view.mjs +0 -130
  98. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-settings-account-view.mjs.map +0 -1
  99. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-settings-dialog.mjs +0 -138
  100. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-settings-dialog.mjs.map +0 -1
  101. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-settings-item.mjs +0 -158
  102. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-settings-item.mjs.map +0 -1
  103. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-settings-view.mjs +0 -96
  104. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-user-settings-view.mjs.map +0 -1
  105. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-view-settings-dialog.mjs +0 -150
  106. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-view-settings-dialog.mjs.map +0 -1
  107. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-wizard-step.mjs +0 -130
  108. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-wizard-step.mjs.map +0 -1
  109. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-wizard.mjs +0 -107
  110. package/fesm2022/fundamental-ngx-ui5-webcomponents-fiori-wizard.mjs.map +0 -1
  111. package/filter-item/index.d.ts +0 -46
  112. package/filter-item-option/index.d.ts +0 -22
  113. package/flexible-column-layout/index.d.ts +0 -135
  114. package/group-item/index.d.ts +0 -22
  115. package/illustrated-message/index.d.ts +0 -105
  116. package/media-gallery/index.d.ts +0 -84
  117. package/media-gallery-item/index.d.ts +0 -50
  118. package/navigation-layout/index.d.ts +0 -43
  119. package/notification-list/index.d.ts +0 -54
  120. package/notification-list-group-item/index.d.ts +0 -75
  121. package/notification-list-item/index.d.ts +0 -97
  122. package/page/index.d.ts +0 -60
  123. package/product-switch/index.d.ts +0 -37
  124. package/product-switch-item/index.d.ts +0 -83
  125. package/search/index.d.ts +0 -106
  126. package/search-item/index.d.ts +0 -75
  127. package/search-item-group/index.d.ts +0 -14
  128. package/search-item-show-more/index.d.ts +0 -30
  129. package/search-message-area/index.d.ts +0 -22
  130. package/search-scope/index.d.ts +0 -22
  131. package/shell-bar/index.d.ts +0 -218
  132. package/shell-bar-branding/index.d.ts +0 -71
  133. package/shell-bar-item/index.d.ts +0 -51
  134. package/shell-bar-search/index.d.ts +0 -110
  135. package/shell-bar-spacer/index.d.ts +0 -14
  136. package/side-navigation/index.d.ts +0 -67
  137. package/side-navigation-group/index.d.ts +0 -58
  138. package/side-navigation-item/index.d.ts +0 -128
  139. package/side-navigation-sub-item/index.d.ts +0 -101
  140. package/sort-item/index.d.ts +0 -22
  141. package/theming/index.d.ts +0 -11
  142. package/timeline/index.d.ts +0 -73
  143. package/timeline-group-item/index.d.ts +0 -50
  144. package/timeline-item/index.d.ts +0 -73
  145. package/upload-collection/index.d.ts +0 -84
  146. package/upload-collection-item/index.d.ts +0 -111
  147. package/user-menu/index.d.ts +0 -100
  148. package/user-menu-account/index.d.ts +0 -46
  149. package/user-menu-item/index.d.ts +0 -39
  150. package/user-menu-item-group/index.d.ts +0 -14
  151. package/user-settings-account-view/index.d.ts +0 -64
  152. package/user-settings-dialog/index.d.ts +0 -71
  153. package/user-settings-item/index.d.ts +0 -88
  154. package/user-settings-view/index.d.ts +0 -50
  155. package/view-settings-dialog/index.d.ts +0 -78
  156. package/wizard/index.d.ts +0 -49
  157. package/wizard-step/index.d.ts +0 -81
@@ -1,297 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { input, booleanAttribute, computed, output, inject, ElementRef, Injector, signal, runInInjectionContext, effect, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import '@ui5/webcomponents-fiori/dist/FlexibleColumnLayout.js';
4
-
5
- class FlexibleColumnLayout {
6
- constructor() {
7
- /**
8
- * Defines the columns layout and their proportion.
9
-
10
- **Note:** The layout also depends on the screen size - one column for screens smaller than 599px,
11
- two columns between 599px and 1023px and three columns for sizes bigger than 1023px.
12
-
13
- **For example:** layout=`TwoColumnsStartExpanded` means the layout will display up to two columns
14
- in 67%/33% proportion.
15
- */
16
- this.layout = input("OneColumn", ...(ngDevMode ? [{ debugName: "layout" }] : []));
17
- /**
18
- * Specifies if the user is allowed to change the columns layout by dragging the separator between the columns.
19
- */
20
- this.disableResizing = input(false, ...(ngDevMode ? [{ debugName: "disableResizing", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
21
- /**
22
- * Defines additional accessibility attributes on different areas of the component.
23
-
24
- The accessibilityAttributes object has the following fields,
25
- where each field is an object supporting one or more accessibility attributes:
26
-
27
- - **startColumn**: `startColumn.role` and `startColumn.name`.
28
- - **midColumn**: `midColumn.role` and `midColumn.name`.
29
- - **endColumn**: `endColumn.role` and `endColumn.name`.
30
- - **startSeparator**: `startSeparator.role` and `startSeparator.name`.
31
- - **endSeparator**: `endSeparator.role` and `endSeparator.name`.
32
-
33
- The accessibility attributes support the following values:
34
-
35
- - **role**: Defines the accessible ARIA landmark role of the area.
36
- Accepts the following values: `none`, `complementary`, `contentinfo`, `main` or `region`.
37
-
38
- - **name**: Defines the accessible ARIA name of the area.
39
- Accepts any string.
40
- */
41
- this.accessibilityAttributes = input({}, ...(ngDevMode ? [{ debugName: "accessibilityAttributes" }] : []));
42
- /**
43
- * Allows to customize the column proportions per screen size and layout.
44
- If no custom proportion provided for a specific layout, the default will be used.
45
-
46
- **Notes:**
47
-
48
- - The proportions should be given in percentages. For example ["30%", "40%", "30%"], ["70%", "30%", 0], etc.
49
- - The proportions should add up to 100%.
50
- - Hidden columns are marked as "0px", e.g. ["0px", "70%", "30%"]. Specifying 0 or "0%" for hidden columns is also valid.
51
- - If the proportions do not match the layout (e.g. if provided proportions ["70%", "30%", "0px"] for "OneColumn" layout), then the default proportions will be used instead.
52
- - Whenever the user drags the columns separator to resize the columns, the `layoutsConfiguration` object will be updated with the user-specified proportions for the given layout (and the `layout-configuration-change` event will be fired).
53
- - No custom configuration available for the phone screen size, as the default of 100% column width is always used there.
54
- */
55
- this.layoutsConfiguration = input({}, ...(ngDevMode ? [{ debugName: "layoutsConfiguration" }] : [])); // className is now passed
56
- /**
57
- * Returns the current column layout, based on both the `layout` property and the screen size.
58
-
59
- **For example:** ["67%", "33%", 0], ["100%", 0, 0], ["25%", "50%", "25%"], etc,
60
- where the numbers represents the width of the start, middle and end columns.
61
- * @readonly This property is managed by the web component and updates reactively.
62
- * Based on schema: readonly field that updates via layout-change event parameters.
63
- */
64
- this.columnLayout = computed(() => this._columnLayoutSignal(), ...(ngDevMode ? [{ debugName: "columnLayout" }] : []));
65
- /**
66
- * Returns if the `start` column is visible.
67
- * @readonly This property is managed by the web component and updates reactively.
68
- * Based on schema: readonly field that updates via layout-change event parameters.
69
- */
70
- this.startColumnVisible = computed(() => this._startColumnVisibleSignal(), ...(ngDevMode ? [{ debugName: "startColumnVisible" }] : []));
71
- /**
72
- * Returns if the `middle` column is visible.
73
- * @readonly This property is managed by the web component and updates reactively.
74
- * Based on schema: readonly field that updates via layout-change event parameters.
75
- */
76
- this.midColumnVisible = computed(() => this._midColumnVisibleSignal(), ...(ngDevMode ? [{ debugName: "midColumnVisible" }] : []));
77
- /**
78
- * Returns if the `end` column is visible.
79
- * @readonly This property is managed by the web component and updates reactively.
80
- * Based on schema: readonly field that updates via layout-change event parameters.
81
- */
82
- this.endColumnVisible = computed(() => this._endColumnVisibleSignal(), ...(ngDevMode ? [{ debugName: "endColumnVisible" }] : []));
83
- /**
84
- * Fired when the layout changes via user interaction by dragging the separators
85
- or by changing the component size due to resizing.
86
- */
87
- this.ui5LayoutChange = output();
88
- /**
89
- * Fired when the `layoutsConfiguration` changes via user interaction by dragging the separators.
90
- */
91
- this.ui5LayoutConfigurationChange = output();
92
- /**
93
- * Available slots for content projection in this component.
94
- *
95
- * Slots allow you to insert custom content into predefined areas of the web component.
96
- * Use the `slot` attribute on child elements to target specific slots.
97
- *
98
- * - **startColumn**: Defines the content in the start column.
99
- * - **midColumn**: Defines the content in the middle column.
100
- * - **endColumn**: Defines the content in the end column.
101
- *
102
- * @example
103
- * ```html
104
- * <ui5-flexible-column-layout>
105
- * <div slot="header">Custom header content</div>
106
- * <p>Default slot content</p>
107
- * </ui5-flexible-column-layout>
108
- * ```
109
- *
110
- * @readonly
111
- * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}
112
- */
113
- this.slots = [
114
- {
115
- "name": "startColumn",
116
- "description": "Defines the content in the start column."
117
- },
118
- {
119
- "name": "midColumn",
120
- "description": "Defines the content in the middle column."
121
- },
122
- {
123
- "name": "endColumn",
124
- "description": "Defines the content in the end column."
125
- }
126
- ];
127
- this.elementRef = inject(ElementRef);
128
- this.injector = inject(Injector);
129
- // Internal signal to track columnLayout from layout-change events
130
- this._columnLayoutSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "_columnLayoutSignal" }] : []));
131
- // Internal signal to track startColumnVisible from layout-change events
132
- this._startColumnVisibleSignal = signal(true, ...(ngDevMode ? [{ debugName: "_startColumnVisibleSignal" }] : []));
133
- // Internal signal to track midColumnVisible from layout-change events
134
- this._midColumnVisibleSignal = signal(false, ...(ngDevMode ? [{ debugName: "_midColumnVisibleSignal" }] : []));
135
- // Internal signal to track endColumnVisible from layout-change events
136
- this._endColumnVisibleSignal = signal(false, ...(ngDevMode ? [{ debugName: "_endColumnVisibleSignal" }] : []));
137
- }
138
- /**
139
- * Returns the number of currently visible columns.
140
- * @readonly This property is managed by the web component.
141
- */
142
- get visibleColumns() {
143
- return this.element?.visibleColumns ?? 1;
144
- }
145
- get element() {
146
- return this.elementRef.nativeElement;
147
- }
148
- ngAfterViewInit() {
149
- const wcElement = this.element;
150
- const inputsToSync = [
151
- 'layout',
152
- 'disableResizing',
153
- 'accessibilityAttributes',
154
- 'layoutsConfiguration',
155
- ];
156
- // Synchronize inputs (properties)
157
- for (const inputName of inputsToSync) {
158
- // Find the corresponding camelCase signal property on the Angular component
159
- const signalName = inputName.replace(/-./g, (x) => x[1].toUpperCase());
160
- // Use the Injector to run the effect in the correct context
161
- if (this[signalName] && typeof this[signalName] === 'function') {
162
- runInInjectionContext(this.injector, () => {
163
- effect(() => {
164
- // Read the signal value
165
- const value = this[signalName]();
166
- if (wcElement) {
167
- // Write the value to the Web Component's property
168
- wcElement[inputName] = value;
169
- }
170
- });
171
- });
172
- }
173
- }
174
- const outputsToSync = [
175
- 'ui5LayoutChange',
176
- 'ui5LayoutConfigurationChange',
177
- ];
178
- // Synchronize outputs (events)
179
- for (const outputName of outputsToSync) {
180
- // Map Angular output name to UI5 web component event name
181
- const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
182
- // Ensure the output property exists and has an emit function before adding listener
183
- if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
184
- // Cast the listener to the correct type to satisfy TypeScript
185
- wcElement.addEventListener(eventName, (e) => {
186
- // Update columnLayout signal when layout-change event fires
187
- if (eventName === 'layout-change') {
188
- const customEvent = e;
189
- // Use columnLayout from event detail, fallback to web component property
190
- const columnLayoutValue = customEvent.detail?.columnLayout || wcElement.columnLayout || undefined;
191
- this._columnLayoutSignal.set(columnLayoutValue);
192
- }
193
- // Update columnLayout signal when layout-configuration-change event fires
194
- if (eventName === 'layout-configuration-change') {
195
- const customEvent = e;
196
- // Use columnLayout from event detail, fallback to web component property
197
- const columnLayoutValue = customEvent.detail?.columnLayout || wcElement.columnLayout || undefined;
198
- this._columnLayoutSignal.set(columnLayoutValue);
199
- }
200
- // Update startColumnVisible signal when layout-change event fires
201
- if (eventName === 'layout-change') {
202
- const customEvent = e;
203
- // Use startColumnVisible from event detail, fallback to web component property
204
- const startColumnVisibleValue = customEvent.detail?.startColumnVisible || wcElement.startColumnVisible || true;
205
- this._startColumnVisibleSignal.set(startColumnVisibleValue);
206
- }
207
- // Update midColumnVisible signal when layout-change event fires
208
- if (eventName === 'layout-change') {
209
- const customEvent = e;
210
- // Use midColumnVisible from event detail, fallback to web component property
211
- const midColumnVisibleValue = customEvent.detail?.midColumnVisible || wcElement.midColumnVisible || false;
212
- this._midColumnVisibleSignal.set(midColumnVisibleValue);
213
- }
214
- // Update endColumnVisible signal when layout-change event fires
215
- if (eventName === 'layout-change') {
216
- const customEvent = e;
217
- // Use endColumnVisible from event detail, fallback to web component property
218
- const endColumnVisibleValue = customEvent.detail?.endColumnVisible || wcElement.endColumnVisible || false;
219
- this._endColumnVisibleSignal.set(endColumnVisibleValue);
220
- }
221
- this[outputName].emit(e);
222
- });
223
- }
224
- }
225
- // Initialize columnLayout signal with current state using delayed initialization
226
- // to handle web component timing properly
227
- const initializeColumnLayout = () => {
228
- const currentValue = wcElement.columnLayout || undefined;
229
- if (JSON.stringify(currentValue) !== JSON.stringify(this._columnLayoutSignal())) {
230
- this._columnLayoutSignal.set(currentValue);
231
- }
232
- };
233
- // Try immediate initialization
234
- initializeColumnLayout();
235
- // Fallback delayed initialization if web component needs more time
236
- // Use requestAnimationFrame for zoneless compatibility
237
- requestAnimationFrame(() => initializeColumnLayout());
238
- // Initialize startColumnVisible signal with current state using delayed initialization
239
- // to handle web component timing properly
240
- const initializeStartColumnVisible = () => {
241
- const currentValue = wcElement.startColumnVisible || true;
242
- if (JSON.stringify(currentValue) !== JSON.stringify(this._startColumnVisibleSignal())) {
243
- this._startColumnVisibleSignal.set(currentValue);
244
- }
245
- };
246
- // Try immediate initialization
247
- initializeStartColumnVisible();
248
- // Fallback delayed initialization if web component needs more time
249
- // Use requestAnimationFrame for zoneless compatibility
250
- requestAnimationFrame(() => initializeStartColumnVisible());
251
- // Initialize midColumnVisible signal with current state using delayed initialization
252
- // to handle web component timing properly
253
- const initializeMidColumnVisible = () => {
254
- const currentValue = wcElement.midColumnVisible || false;
255
- if (JSON.stringify(currentValue) !== JSON.stringify(this._midColumnVisibleSignal())) {
256
- this._midColumnVisibleSignal.set(currentValue);
257
- }
258
- };
259
- // Try immediate initialization
260
- initializeMidColumnVisible();
261
- // Fallback delayed initialization if web component needs more time
262
- // Use requestAnimationFrame for zoneless compatibility
263
- requestAnimationFrame(() => initializeMidColumnVisible());
264
- // Initialize endColumnVisible signal with current state using delayed initialization
265
- // to handle web component timing properly
266
- const initializeEndColumnVisible = () => {
267
- const currentValue = wcElement.endColumnVisible || false;
268
- if (JSON.stringify(currentValue) !== JSON.stringify(this._endColumnVisibleSignal())) {
269
- this._endColumnVisibleSignal.set(currentValue);
270
- }
271
- };
272
- // Try immediate initialization
273
- initializeEndColumnVisible();
274
- // Fallback delayed initialization if web component needs more time
275
- // Use requestAnimationFrame for zoneless compatibility
276
- requestAnimationFrame(() => initializeEndColumnVisible());
277
- }
278
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: FlexibleColumnLayout, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
279
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.4", type: FlexibleColumnLayout, isStandalone: true, selector: "ui5-flexible-column-layout, [ui5-flexible-column-layout]", inputs: { layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, disableResizing: { classPropertyName: "disableResizing", publicName: "disableResizing", isSignal: true, isRequired: false, transformFunction: null }, accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, layoutsConfiguration: { classPropertyName: "layoutsConfiguration", publicName: "layoutsConfiguration", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5LayoutChange: "ui5LayoutChange", ui5LayoutConfigurationChange: "ui5LayoutConfigurationChange" }, exportAs: ["ui5FlexibleColumnLayout"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
280
- }
281
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: FlexibleColumnLayout, decorators: [{
282
- type: Component,
283
- args: [{
284
- standalone: true,
285
- selector: 'ui5-flexible-column-layout, [ui5-flexible-column-layout]',
286
- template: '<ng-content></ng-content>',
287
- exportAs: 'ui5FlexibleColumnLayout',
288
- changeDetection: ChangeDetectionStrategy.OnPush,
289
- }]
290
- }] });
291
-
292
- /**
293
- * Generated bundle index. Do not edit.
294
- */
295
-
296
- export { FlexibleColumnLayout };
297
- //# sourceMappingURL=fundamental-ngx-ui5-webcomponents-fiori-flexible-column-layout.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fundamental-ngx-ui5-webcomponents-fiori-flexible-column-layout.mjs","sources":["../tmp-esm2022/flexible-column-layout/index.js","../tmp-esm2022/flexible-column-layout/fundamental-ngx-ui5-webcomponents-fiori-flexible-column-layout.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, input, output, effect, runInInjectionContext, inject, Injector, booleanAttribute, computed, signal } from '@angular/core';\nimport '@ui5/webcomponents-fiori/dist/FlexibleColumnLayout.js';\nimport * as i0 from \"@angular/core\";\nexport class FlexibleColumnLayout {\n constructor() {\n /**\n * Defines the columns layout and their proportion.\n \n **Note:** The layout also depends on the screen size - one column for screens smaller than 599px,\n two columns between 599px and 1023px and three columns for sizes bigger than 1023px.\n \n **For example:** layout=`TwoColumnsStartExpanded` means the layout will display up to two columns\n in 67%/33% proportion.\n */\n this.layout = input(\"OneColumn\", ...(ngDevMode ? [{ debugName: \"layout\" }] : []));\n /**\n * Specifies if the user is allowed to change the columns layout by dragging the separator between the columns.\n */\n this.disableResizing = input(false, ...(ngDevMode ? [{ debugName: \"disableResizing\", 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 - **startColumn**: `startColumn.role` and `startColumn.name`.\n - **midColumn**: `midColumn.role` and `midColumn.name`.\n - **endColumn**: `endColumn.role` and `endColumn.name`.\n - **startSeparator**: `startSeparator.role` and `startSeparator.name`.\n - **endSeparator**: `endSeparator.role` and `endSeparator.name`.\n \n The accessibility attributes support the following values:\n \n - **role**: Defines the accessible ARIA landmark role of the area.\n Accepts the following values: `none`, `complementary`, `contentinfo`, `main` or `region`.\n \n - **name**: Defines the accessible ARIA name of the area.\n Accepts any string.\n */\n this.accessibilityAttributes = input({}, ...(ngDevMode ? [{ debugName: \"accessibilityAttributes\" }] : []));\n /**\n * Allows to customize the column proportions per screen size and layout.\n If no custom proportion provided for a specific layout, the default will be used.\n \n **Notes:**\n \n - The proportions should be given in percentages. For example [\"30%\", \"40%\", \"30%\"], [\"70%\", \"30%\", 0], etc.\n - The proportions should add up to 100%.\n - Hidden columns are marked as \"0px\", e.g. [\"0px\", \"70%\", \"30%\"]. Specifying 0 or \"0%\" for hidden columns is also valid.\n - If the proportions do not match the layout (e.g. if provided proportions [\"70%\", \"30%\", \"0px\"] for \"OneColumn\" layout), then the default proportions will be used instead.\n - Whenever the user drags the columns separator to resize the columns, the `layoutsConfiguration` object will be updated with the user-specified proportions for the given layout (and the `layout-configuration-change` event will be fired).\n - No custom configuration available for the phone screen size, as the default of 100% column width is always used there.\n */\n this.layoutsConfiguration = input({}, ...(ngDevMode ? [{ debugName: \"layoutsConfiguration\" }] : [])); // className is now passed\n /**\n * Returns the current column layout, based on both the `layout` property and the screen size.\n \n **For example:** [\"67%\", \"33%\", 0], [\"100%\", 0, 0], [\"25%\", \"50%\", \"25%\"], etc,\n where the numbers represents the width of the start, middle and end columns.\n * @readonly This property is managed by the web component and updates reactively.\n * Based on schema: readonly field that updates via layout-change event parameters.\n */\n this.columnLayout = computed(() => this._columnLayoutSignal(), ...(ngDevMode ? [{ debugName: \"columnLayout\" }] : []));\n /**\n * Returns if the `start` column is visible.\n * @readonly This property is managed by the web component and updates reactively.\n * Based on schema: readonly field that updates via layout-change event parameters.\n */\n this.startColumnVisible = computed(() => this._startColumnVisibleSignal(), ...(ngDevMode ? [{ debugName: \"startColumnVisible\" }] : []));\n /**\n * Returns if the `middle` column is visible.\n * @readonly This property is managed by the web component and updates reactively.\n * Based on schema: readonly field that updates via layout-change event parameters.\n */\n this.midColumnVisible = computed(() => this._midColumnVisibleSignal(), ...(ngDevMode ? [{ debugName: \"midColumnVisible\" }] : []));\n /**\n * Returns if the `end` column is visible.\n * @readonly This property is managed by the web component and updates reactively.\n * Based on schema: readonly field that updates via layout-change event parameters.\n */\n this.endColumnVisible = computed(() => this._endColumnVisibleSignal(), ...(ngDevMode ? [{ debugName: \"endColumnVisible\" }] : []));\n /**\n * Fired when the layout changes via user interaction by dragging the separators\n or by changing the component size due to resizing.\n */\n this.ui5LayoutChange = output();\n /**\n * Fired when the `layoutsConfiguration` changes via user interaction by dragging the separators.\n */\n this.ui5LayoutConfigurationChange = 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 * - **startColumn**: Defines the content in the start column.\n * - **midColumn**: Defines the content in the middle column.\n * - **endColumn**: Defines the content in the end column.\n *\n * @example\n * ```html\n * <ui5-flexible-column-layout>\n * <div slot=\"header\">Custom header content</div>\n * <p>Default slot content</p>\n * </ui5-flexible-column-layout>\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\": \"startColumn\",\n \"description\": \"Defines the content in the start column.\"\n },\n {\n \"name\": \"midColumn\",\n \"description\": \"Defines the content in the middle column.\"\n },\n {\n \"name\": \"endColumn\",\n \"description\": \"Defines the content in the end column.\"\n }\n ];\n this.elementRef = inject(ElementRef);\n this.injector = inject(Injector);\n // Internal signal to track columnLayout from layout-change events\n this._columnLayoutSignal = signal(undefined, ...(ngDevMode ? [{ debugName: \"_columnLayoutSignal\" }] : []));\n // Internal signal to track startColumnVisible from layout-change events\n this._startColumnVisibleSignal = signal(true, ...(ngDevMode ? [{ debugName: \"_startColumnVisibleSignal\" }] : []));\n // Internal signal to track midColumnVisible from layout-change events\n this._midColumnVisibleSignal = signal(false, ...(ngDevMode ? [{ debugName: \"_midColumnVisibleSignal\" }] : []));\n // Internal signal to track endColumnVisible from layout-change events\n this._endColumnVisibleSignal = signal(false, ...(ngDevMode ? [{ debugName: \"_endColumnVisibleSignal\" }] : []));\n }\n /**\n * Returns the number of currently visible columns.\n * @readonly This property is managed by the web component.\n */\n get visibleColumns() {\n return this.element?.visibleColumns ?? 1;\n }\n get element() {\n return this.elementRef.nativeElement;\n }\n ngAfterViewInit() {\n const wcElement = this.element;\n const inputsToSync = [\n 'layout',\n 'disableResizing',\n 'accessibilityAttributes',\n 'layoutsConfiguration',\n ];\n // Synchronize inputs (properties)\n for (const inputName of inputsToSync) {\n // Find the corresponding camelCase signal property on the Angular component\n const signalName = inputName.replace(/-./g, (x) => x[1].toUpperCase());\n // Use the Injector to run the effect in the correct context\n if (this[signalName] && typeof this[signalName] === 'function') {\n runInInjectionContext(this.injector, () => {\n effect(() => {\n // Read the signal value\n const value = this[signalName]();\n if (wcElement) {\n // Write the value to the Web Component's property\n wcElement[inputName] = value;\n }\n });\n });\n }\n }\n const outputsToSync = [\n 'ui5LayoutChange',\n 'ui5LayoutConfigurationChange',\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 // Update columnLayout signal when layout-change event fires\n if (eventName === 'layout-change') {\n const customEvent = e;\n // Use columnLayout from event detail, fallback to web component property\n const columnLayoutValue = customEvent.detail?.columnLayout || wcElement.columnLayout || undefined;\n this._columnLayoutSignal.set(columnLayoutValue);\n }\n // Update columnLayout signal when layout-configuration-change event fires\n if (eventName === 'layout-configuration-change') {\n const customEvent = e;\n // Use columnLayout from event detail, fallback to web component property\n const columnLayoutValue = customEvent.detail?.columnLayout || wcElement.columnLayout || undefined;\n this._columnLayoutSignal.set(columnLayoutValue);\n }\n // Update startColumnVisible signal when layout-change event fires\n if (eventName === 'layout-change') {\n const customEvent = e;\n // Use startColumnVisible from event detail, fallback to web component property\n const startColumnVisibleValue = customEvent.detail?.startColumnVisible || wcElement.startColumnVisible || true;\n this._startColumnVisibleSignal.set(startColumnVisibleValue);\n }\n // Update midColumnVisible signal when layout-change event fires\n if (eventName === 'layout-change') {\n const customEvent = e;\n // Use midColumnVisible from event detail, fallback to web component property\n const midColumnVisibleValue = customEvent.detail?.midColumnVisible || wcElement.midColumnVisible || false;\n this._midColumnVisibleSignal.set(midColumnVisibleValue);\n }\n // Update endColumnVisible signal when layout-change event fires\n if (eventName === 'layout-change') {\n const customEvent = e;\n // Use endColumnVisible from event detail, fallback to web component property\n const endColumnVisibleValue = customEvent.detail?.endColumnVisible || wcElement.endColumnVisible || false;\n this._endColumnVisibleSignal.set(endColumnVisibleValue);\n }\n this[outputName].emit(e);\n });\n }\n }\n // Initialize columnLayout signal with current state using delayed initialization\n // to handle web component timing properly\n const initializeColumnLayout = () => {\n const currentValue = wcElement.columnLayout || undefined;\n if (JSON.stringify(currentValue) !== JSON.stringify(this._columnLayoutSignal())) {\n this._columnLayoutSignal.set(currentValue);\n }\n };\n // Try immediate initialization\n initializeColumnLayout();\n // Fallback delayed initialization if web component needs more time\n // Use requestAnimationFrame for zoneless compatibility\n requestAnimationFrame(() => initializeColumnLayout());\n // Initialize startColumnVisible signal with current state using delayed initialization\n // to handle web component timing properly\n const initializeStartColumnVisible = () => {\n const currentValue = wcElement.startColumnVisible || true;\n if (JSON.stringify(currentValue) !== JSON.stringify(this._startColumnVisibleSignal())) {\n this._startColumnVisibleSignal.set(currentValue);\n }\n };\n // Try immediate initialization\n initializeStartColumnVisible();\n // Fallback delayed initialization if web component needs more time\n // Use requestAnimationFrame for zoneless compatibility\n requestAnimationFrame(() => initializeStartColumnVisible());\n // Initialize midColumnVisible signal with current state using delayed initialization\n // to handle web component timing properly\n const initializeMidColumnVisible = () => {\n const currentValue = wcElement.midColumnVisible || false;\n if (JSON.stringify(currentValue) !== JSON.stringify(this._midColumnVisibleSignal())) {\n this._midColumnVisibleSignal.set(currentValue);\n }\n };\n // Try immediate initialization\n initializeMidColumnVisible();\n // Fallback delayed initialization if web component needs more time\n // Use requestAnimationFrame for zoneless compatibility\n requestAnimationFrame(() => initializeMidColumnVisible());\n // Initialize endColumnVisible signal with current state using delayed initialization\n // to handle web component timing properly\n const initializeEndColumnVisible = () => {\n const currentValue = wcElement.endColumnVisible || false;\n if (JSON.stringify(currentValue) !== JSON.stringify(this._endColumnVisibleSignal())) {\n this._endColumnVisibleSignal.set(currentValue);\n }\n };\n // Try immediate initialization\n initializeEndColumnVisible();\n // Fallback delayed initialization if web component needs more time\n // Use requestAnimationFrame for zoneless compatibility\n requestAnimationFrame(() => initializeEndColumnVisible());\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: FlexibleColumnLayout, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.1.4\", type: FlexibleColumnLayout, isStandalone: true, selector: \"ui5-flexible-column-layout, [ui5-flexible-column-layout]\", inputs: { layout: { classPropertyName: \"layout\", publicName: \"layout\", isSignal: true, isRequired: false, transformFunction: null }, disableResizing: { classPropertyName: \"disableResizing\", publicName: \"disableResizing\", isSignal: true, isRequired: false, transformFunction: null }, accessibilityAttributes: { classPropertyName: \"accessibilityAttributes\", publicName: \"accessibilityAttributes\", isSignal: true, isRequired: false, transformFunction: null }, layoutsConfiguration: { classPropertyName: \"layoutsConfiguration\", publicName: \"layoutsConfiguration\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5LayoutChange: \"ui5LayoutChange\", ui5LayoutConfigurationChange: \"ui5LayoutConfigurationChange\" }, exportAs: [\"ui5FlexibleColumnLayout\"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: FlexibleColumnLayout, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'ui5-flexible-column-layout, [ui5-flexible-column-layout]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5FlexibleColumnLayout',\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpNS13ZWJjb21wb25lbnRzLWZpb3JpL2ZsZXhpYmxlLWNvbHVtbi1sYXlvdXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNOLHFCQUFxQixFQUNyQixNQUFNLEVBQ04sUUFBUSxFQUNSLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sdURBQXVELENBQUM7O0FBaUIvRCxNQUFNLE9BQU8sb0JBQW9CO0lBUmpDO1FBVUU7Ozs7Ozs7O1dBUUc7UUFDSCxXQUFNLEdBQUcsS0FBSyxDQUE0RCxXQUFXLGtEQUFDLENBQUM7UUFFdkY7O1dBRUc7UUFDSCxvQkFBZSxHQUFHLEtBQUssQ0FBQyxLQUFLLG1EQUFJLFNBQVMsRUFBRSxnQkFBZ0IsT0FBN0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsR0FBQyxDQUFDO1FBRWhFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBbUJHO1FBQ0gsNEJBQXVCLEdBQUcsS0FBSyxDQUE2RSxFQUFFLG1FQUFDLENBQUM7UUFFaEg7Ozs7Ozs7Ozs7OztXQVlHO1FBQ0gseUJBQW9CLEdBQUcsS0FBSyxDQUEwRSxFQUFFLGdFQUFDLENBQUMsQ0FBQywwQkFBMEI7UUFFckk7Ozs7Ozs7V0FPRztRQUNILGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSx3REFBQyxDQUFDO1FBRTFEOzs7O1dBSUc7UUFDSCx1QkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLDhEQUFDLENBQUM7UUFFdEU7Ozs7V0FJRztRQUNILHFCQUFnQixH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bmVudCxcbiAgRWxlbWVudFJlZixcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgZWZmZWN0LFxuICBydW5JbkluamVjdGlvbkNvbnRleHQsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGNvbXB1dGVkLFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgJ0B1aTUvd2ViY29tcG9uZW50cy1maW9yaS9kaXN0L0ZsZXhpYmxlQ29sdW1uTGF5b3V0LmpzJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgX0ZsZXhpYmxlQ29sdW1uTGF5b3V0IH0gZnJvbSAnQHVpNS93ZWJjb21wb25lbnRzLWZpb3JpL2Rpc3QvRmxleGlibGVDb2x1bW5MYXlvdXQuanMnO1xuaW1wb3J0IHsgVUk1Q3VzdG9tRXZlbnQgfSBmcm9tICdAdWk1L3dlYmNvbXBvbmVudHMtYmFzZSc7XG5cbmltcG9ydCB7IGRlZmF1bHQgYXMgRkNMTGF5b3V0IH0gZnJvbSAnQHVpNS93ZWJjb21wb25lbnRzLWZpb3JpL2Rpc3QvdHlwZXMvRkNMTGF5b3V0LmpzJztcbmltcG9ydCB7IEZDTEFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVzIH0gZnJvbSAnQHVpNS93ZWJjb21wb25lbnRzLWZpb3JpL2Rpc3QvRmxleGlibGVDb2x1bW5MYXlvdXQuanMnO1xuaW1wb3J0IHsgTGF5b3V0Q29uZmlndXJhdGlvbiB9IGZyb20gJ0B1aTUvd2ViY29tcG9uZW50cy1maW9yaS9kaXN0L0ZsZXhpYmxlQ29sdW1uTGF5b3V0LmpzJztcbmltcG9ydCB7IEZsZXhpYmxlQ29sdW1uTGF5b3V0Q29sdW1uTGF5b3V0IH0gZnJvbSAnQHVpNS93ZWJjb21wb25lbnRzLWZpb3JpL2Rpc3QvRmxleGlibGVDb2x1bW5MYXlvdXQuanMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1aTUtZmxleGlibGUtY29sdW1uLWxheW91dCwgW3VpNS1mbGV4aWJsZS1jb2x1bW4tbGF5b3V0XScsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGV4cG9ydEFzOiAndWk1RmxleGlibGVDb2x1bW5MYXlvdXQnLFxuXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGbGV4aWJsZUNvbHVtbkxheW91dCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBjb2x1bW5zIGxheW91dCBhbmQgdGhlaXIgcHJvcG9ydGlvbi5cblxuKipOb3RlOioqIFRoZSBsYXlvdXQgYWxzbyBkZXBlbmRzIG9uIHRoZSBzY3JlZW4gc2l6ZSAtIG9uZSBjb2x1bW4gZm9yIHNjcmVlbnMgc21hbGxlciB0aGFuIDU5OXB4LFxudHdvIGNvbHVtbnMgYmV0d2VlbiA1OTlweCBhbmQgMTAyM3B4IGFuZCB0aHJlZSBjb2x1bW5zIGZvciBzaXplcyBiaWdnZXIgdGhhbiAxMDIzcHguXG5cbioqRm9yIGV4YW1wbGU6KiogbGF5b3V0PWBUd29Db2x1bW5zU3RhcnRFeHBhbmRlZGAgbWVhbnMgdGhlIGxheW91dCB3aWxsIGRpc3BsYXkgdXAgdG8gdHdvIGNvbHVtbnNcbmluIDY3JS8zMyUgcHJvcG9ydGlvbi5cbiAgICovXG4gIGxheW91dCA9IGlucHV0PHR5cGVvZiBfRmxleGlibGVDb2x1bW5MYXlvdXQucHJvdG90eXBlLmxheW91dCB8IHVuZGVmaW5lZD4oXCJPbmVDb2x1bW5cIik7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBpZiB0aGUgdXNlciBpcyBhbGxvd2VkIHRvIGNoYW5nZSB0aGUgY29sdW1ucyBsYXlvdXQgYnkgZHJhZ2dpbmcgdGhlIHNlcGFyYXRvciBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuICAgKi9cbiAgZGlzYWJsZVJlc2l6aW5nID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGFkZGl0aW9uYWwgYWNjZXNzaWJpbGl0eSBhdHRyaWJ1dGVzIG9uIGRpZmZlcmVudCBhcmVhcyBvZiB0aGUgY29tcG9uZW50LlxuXG5UaGUgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZXMgb2JqZWN0IGhhcyB0aGUgZm9sbG93aW5nIGZpZWxkcyxcbndoZXJlIGVhY2ggZmllbGQgaXMgYW4gb2JqZWN0IHN1cHBvcnRpbmcgb25lIG9yIG1vcmUgYWNjZXNzaWJpbGl0eSBhdHRyaWJ1dGVzOlxuXG4gLSAqKnN0YXJ0Q29sdW1uKio6IGBzdGFydENvbHVtbi5yb2xlYCBhbmQgYHN0YXJ0Q29sdW1uLm5hbWVgLlxuIC0gKiptaWRDb2x1bW4qKjogYG1pZENvbHVtbi5yb2xlYCBhbmQgYG1pZENvbHVtbi5uYW1lYC5cbiAtICoqZW5kQ29sdW1uKio6IGBlbmRDb2x1bW4ucm9sZWAgYW5kIGBlbmRDb2x1bW4ubmFtZWAuXG4gLSAqKnN0YXJ0U2VwYXJhdG9yKio6IGBzdGFydFNlcGFyYXRvci5yb2xlYCBhbmQgYHN0YXJ0U2VwYXJhdG9yLm5hbWVgLlxuIC0gKiplbmRTZXBhcmF0b3IqKjogYGVuZFNlcGFyYXRvci5yb2xlYCBhbmQgYGVuZFNlcGFyYXRvci5uYW1lYC5cblxuVGhlIGFjY2Vzc2liaWxpdHkgYXR0cmlidXRlcyBzdXBwb3J0IHRoZSBmb2xsb3dpbmcgdmFsdWVzOlxuXG4tICoqcm9sZSoqOiBEZWZpbmVzIHRoZSBhY2Nlc3NpYmxlIEFSSUEgbGFuZG1hcmsgcm9sZSBvZiB0aGUgYXJlYS5cbkFjY2VwdHMgdGhlIGZvbGxvd2luZyB2YWx1ZXM6IGBub25lYCwgYGNvbXBsZW1lbnRhcnlgLCBgY29udGVudGluZm9gLCBgbWFpbmAgb3IgYHJlZ2lvbmAuXG5cbi0gKipuYW1lKio6IERlZmluZXMgdGhlIGFjY2Vzc2libGUgQVJJQSBuYW1lIG9mIHRoZSBhcmVhLlxuQWNjZXB0cyBhbnkgc3RyaW5nLlxuICAgKi9cbiAgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZXMgPSBpbnB1dDx0eXBlb2YgX0ZsZXhpYmxlQ29sdW1uTGF5b3V0LnByb3RvdHlwZS5hY2Nlc3NpYmlsaXR5QXR0cmlidXRlcyB8IHVuZGVmaW5lZD4oe30pO1xuXG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gY3VzdG9taXplIHRoZSBjb2x1bW4gcHJvcG9ydGlvbnMgcGVyIHNjcmVlbiBzaXplIGFuZCBsYXlvdXQuXG5JZiBubyBjdXN0b20gcHJvcG9ydGlvbiBwcm92aWRlZCBmb3IgYSBzcGVjaWZpYyBsYXlvdXQsIHRoZSBkZWZhdWx0IHdpbGwgYmUgdXNlZC5cblxuKipOb3RlczoqKlxuXG4tIFRoZSBwcm9wb3J0aW9ucyBzaG91bGQgYmUgZ2l2ZW4gaW4gcGVyY2VudGFnZXMuIEZvciBleGFtcGxlIFtcIjMwJVwiLCBcIjQwJVwiLCBcIjMwJVwiXSwgW1wiNzAlXCIsIFwiMzAlXCIsIDBdLCBldGMuXG4tIFRoZSBwcm9wb3J0aW9ucyBzaG91bGQgYWRkIHVwIHRvIDEwMCUuXG4tIEhpZGRlbiBjb2x1bW5zIGFyZSBtYXJrZWQgYXMgXCIwcHhcIiwgZS5nLiBbXCIwcHhcIiwgXCI3MCVcIiwgXCIzMCVcIl0uIFNwZWNpZnlpbmcgMCBvciBcIjAlXCIgZm9yIGhpZGRlbiBjb2x1bW5zIGlzIGFsc28gdmFsaWQuXG4tIElmIHRoZSBwcm9wb3J0aW9ucyBkbyBub3QgbWF0Y2ggdGhlIGxheW91dCAoZS5nLiBpZiBwcm92aWRlZCBwcm9wb3J0aW9ucyBbXCI3MCVcIiwgXCIzMCVcIiwgXCIwcHhcIl0gZm9yIFwiT25lQ29sdW1uXCIgbGF5b3V0KSwgdGhlbiB0aGUgZGVmYXVsdCBwcm9wb3J0aW9ucyB3aWxsIGJlIHVzZWQgaW5zdGVhZC5cbi0gV2hlbmV2ZXIgdGhlIHVzZXIgZHJhZ3MgdGhlIGNvbHVtbnMgc2VwYXJhdG9yIHRvIHJlc2l6ZSB0aGUgY29sdW1ucywgdGhlIGBsYXlvdXRzQ29uZmlndXJhdGlvbmAgb2JqZWN0IHdpbGwgYmUgdXBkYXRlZCB3aXRoIHRoZSB1c2VyLXNwZWNpZmllZCBwcm9wb3J0aW9ucyBmb3IgdGhlIGdpdmVuIGxheW91dCAoYW5kIHRoZSBgbGF5b3V0LWNvbmZpZ3VyYXRpb24tY2hhbmdlYCBldmVudCB3aWxsIGJlIGZpcmVkKS5cbi0gTm8gY3VzdG9tIGNvbmZpZ3VyYXRpb24gYXZhaWxhYmxlIGZvciB0aGUgcGhvbmUgc2NyZWVuIHNpemUsIGFzIHRoZSBkZWZhdWx0IG9mIDEwMCUgY29sdW1uIHdpZHRoIGlzIGFsd2F5cyB1c2VkIHRoZXJlLlxuICAgKi9cbiAgbGF5b3V0c0NvbmZpZ3VyYXRpb24gPSBpbnB1dDx0eXBlb2YgX0ZsZXhpYmxlQ29sdW1uTGF5b3V0LnByb3RvdHlwZS5sYXlvdXRzQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZD4oe30pOyAvLyBjbGFzc05hbWUgaXMgbm93IHBhc3NlZFxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGNvbHVtbiBsYXlvdXQsIGJhc2VkIG9uIGJvdGggdGhlIGBsYXlvdXRgIHByb3BlcnR5IGFuZCB0aGUgc2NyZWVuIHNpemUuXG5cbioqRm9yIGV4YW1wbGU6KiogW1wiNjclXCIsIFwiMzMlXCIsIDBdLCBbXCIxMDAlXCIsIDAsIDBdLCBbXCIyNSVcIiwgXCI1MCVcIiwgXCIyNSVcIl0sIGV0YyxcbndoZXJlIHRoZSBudW1iZXJzIHJlcHJlc2VudHMgdGhlIHdpZHRoIG9mIHRoZSBzdGFydCwgbWlkZGxlIGFuZCBlbmQgY29sdW1ucy5cbiAgICogQHJlYWRvbmx5IFRoaXMgcHJvcGVydHkgaXMgbWFuYWdlZCBieSB0aGUgd2ViIGNvbXBvbmVudCBhbmQgdXBkYXRlcyByZWFjdGl2ZWx5LlxuICAgKiBCYXNlZCBvbiBzY2hlbWE6IHJlYWRvbmx5IGZpZWxkIHRoYXQgdXBkYXRlcyB2aWEgbGF5b3V0LWNoYW5nZSBldmVudCBwYXJhbWV0ZXJzLlxuICAgKi9cbiAgY29sdW1uTGF5b3V0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fY29sdW1uTGF5b3V0U2lnbmFsKCkpO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGlmIHRoZSBgc3RhcnRgIGNvbHVtbiBpcyB2aXNpYmxlLlxuICAgKiBAcmVhZG9ubHkgVGhpcyBwcm9wZXJ0eSBpcyBtYW5hZ2VkIGJ5IHRoZSB3ZWIgY29tcG9uZW50IGFuZCB1cGRhdGVzIHJlYWN0aXZlbHkuXG4gICAqIEJhc2VkIG9uIHNjaGVtYTogcmVhZG9ubHkgZmllbGQgdGhhdCB1cGRhdGVzIHZpYSBsYXlvdXQtY2hhbmdlIGV2ZW50IHBhcmFtZXRlcnMuXG4gICAqL1xuICBzdGFydENvbHVtblZpc2libGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9zdGFydENvbHVtblZpc2libGVTaWduYWwoKSk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgaWYgdGhlIGBtaWRkbGVgIGNvbHVtbiBpcyB2aXNpYmxlLlxuICAgKiBAcmVhZG9ubHkgVGhpcyBwcm9wZXJ0eSBpcyBtYW5hZ2VkIGJ5IHRoZSB3ZWIgY29tcG9uZW50IGFuZCB1cGRhdGVzIHJlYWN0aXZlbHkuXG4gICAqIEJhc2VkIG9uIHNjaGVtYTogcmVhZG9ubHkgZmllbGQgdGhhdCB1cGRhdGVzIHZpYSBsYXlvdXQtY2hhbmdlIGV2ZW50IHBhcmFtZXRlcnMuXG4gICAqL1xuICBtaWRDb2x1bW5WaXNpYmxlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fbWlkQ29sdW1uVmlzaWJsZVNpZ25hbCgpKTtcblxuICAvKipcbiAgICogUmV0dXJucyBpZiB0aGUgYGVuZGAgY29sdW1uIGlzIHZpc2libGUuXG4gICAqIEByZWFkb25seSBUaGlzIHByb3BlcnR5IGlzIG1hbmFnZWQgYnkgdGhlIHdlYiBjb21wb25lbnQgYW5kIHVwZGF0ZXMgcmVhY3RpdmVseS5cbiAgICogQmFzZWQgb24gc2NoZW1hOiByZWFkb25seSBmaWVsZCB0aGF0IHVwZGF0ZXMgdmlhIGxheW91dC1jaGFuZ2UgZXZlbnQgcGFyYW1ldGVycy5cbiAgICovXG4gIGVuZENvbHVtblZpc2libGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9lbmRDb2x1bW5WaXNpYmxlU2lnbmFsKCkpO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgY3VycmVudGx5IHZpc2libGUgY29sdW1ucy5cbiAgICogQHJlYWRvbmx5IFRoaXMgcHJvcGVydHkgaXMgbWFuYWdlZCBieSB0aGUgd2ViIGNvbXBvbmVudC5cbiAgICovXG4gIGdldCB2aXNpYmxlQ29sdW1ucygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQ/LnZpc2libGVDb2x1bW5zID8/IDE7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBGaXJlZCB3aGVuIHRoZSBsYXlvdXQgY2hhbmdlcyB2aWEgdXNlciBpbnRlcmFjdGlvbiBieSBkcmFnZ2luZyB0aGUgc2VwYXJhdG9yc1xub3IgYnkgY2hhbmdpbmcgdGhlIGNvbXBvbmVudCBzaXplIGR1ZSB0byByZXNpemluZy5cbiAgICovXG4gIHVpNUxheW91dENoYW5nZSA9IG91dHB1dDxVSTVDdXN0b21FdmVudDxfRmxleGlibGVDb2x1bW5MYXlvdXQsICdsYXlvdXQtY2hhbmdlJz4+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gdGhlIGBsYXlvdXRzQ29uZmlndXJhdGlvbmAgY2hhbmdlcyB2aWEgdXNlciBpbnRlcmFjdGlvbiBieSBkcmFnZ2luZyB0aGUgc2VwYXJhdG9ycy5cbiAgICovXG4gIHVpNUxheW91dENvbmZpZ3VyYXRpb25DaGFuZ2UgPSBvdXRwdXQ8VUk1Q3VzdG9tRXZlbnQ8X0ZsZXhpYmxlQ29sdW1uTGF5b3V0LCAnbGF5b3V0LWNvbmZpZ3VyYXRpb24tY2hhbmdlJz4+KCk7XG5cbiAgLyoqXG4gICAqIEF2YWlsYWJsZSBzbG90cyBmb3IgY29udGVudCBwcm9qZWN0aW9uIGluIHRoaXMgY29tcG9uZW50LlxuICAgKiBcbiAgICogU2xvdHMgYWxsb3cgeW91IHRvIGluc2VydCBjdXN0b20gY29udGVudCBpbnRvIHByZWRlZmluZWQgYXJlYXMgb2YgdGhlIHdlYiBjb21wb25lbnQuXG4gICAqIFVzZSB0aGUgYHNsb3RgIGF0dHJpYnV0ZSBvbiBjaGlsZCBlbGVtZW50cyB0byB0YXJnZXQgc3BlY2lmaWMgc2xvdHMuXG4gICAqIFxuICAgKiAtICoqc3RhcnRDb2x1bW4qKjogRGVmaW5lcyB0aGUgY29udGVudCBpbiB0aGUgc3RhcnQgY29sdW1uLlxuICAgKiAtICoqbWlkQ29sdW1uKio6IERlZmluZXMgdGhlIGNvbnRlbnQgaW4gdGhlIG1pZGRsZSBjb2x1bW4uXG4gICAqIC0gKiplbmRDb2x1bW4qKjogRGVmaW5lcyB0aGUgY29udGVudCBpbiB0aGUgZW5kIGNvbHVtbi5cbiAgICogXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYGh0bWxcbiAgICogPHVpNS1mbGV4aWJsZS1jb2x1bW4tbGF5b3V0PlxuICAgKiAgIDxkaXYgc2xvdD1cImhlYWRlclwiPkN1c3RvbSBoZWFkZXIgY29udGVudDwvZGl2PlxuICAgKiAgIDxwPkRlZmF1bHQgc2xvdCBjb250ZW50PC9wPlxuICAgKiA8L3VpNS1mbGV4aWJsZS1jb2x1bW4tbGF5b3V0PlxuICAgKiBgYGBcbiAgICogXG4gICAqIEByZWFkb25seVxuICAgKiBAc2VlIHtAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvV2ViX2NvbXBvbmVudHMvVXNpbmdfdGVtcGxhdGVzX2FuZF9zbG90cyB8IE1ETiBXZWIgQ29tcG9uZW50cyBTbG90c31cbiAgICovXG4gIHJlYWRvbmx5IHNsb3RzID0gW1xuICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInN0YXJ0Q29sdW1uXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIkRlZmluZXMgdGhlIGNvbnRlbnQgaW4gdGhlIHN0YXJ0IGNvbHVtbi5cIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJtaWRDb2x1bW5cIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiRGVmaW5lcyB0aGUgY29udGVudCBpbiB0aGUgbWlkZGxlIGNvbHVtbi5cIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJlbmRDb2x1bW5cIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiRGVmaW5lcyB0aGUgY29udGVudCBpbiB0aGUgZW5kIGNvbHVtbi5cIlxuICAgICAgfVxuICBdO1xuXG5cbiAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8X0ZsZXhpYmxlQ29sdW1uTGF5b3V0PiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHVibGljIGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICAvLyBJbnRlcm5hbCBzaWduYWwgdG8gdHJhY2sgY29sdW1uTGF5b3V0IGZyb20gbGF5b3V0LWNoYW5nZSBldmVudHNcbiAgcHJpdmF0ZSBfY29sdW1uTGF5b3V0U2lnbmFsID0gc2lnbmFsPEZsZXhpYmxlQ29sdW1uTGF5b3V0Q29sdW1uTGF5b3V0IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG5cbiAgLy8gSW50ZXJuYWwgc2lnbmFsIHRvIHRyYWNrIHN0YXJ0Q29sdW1uVmlzaWJsZSBmcm9tIGxheW91dC1jaGFuZ2UgZXZlbnRzXG4gIHByaXZhdGUgX3N0YXJ0Q29sdW1uVmlzaWJsZVNpZ25hbCA9IHNpZ25hbDxib29sZWFuPih0cnVlKTtcblxuXG4gIC8vIEludGVybmFsIHNpZ25hbCB0byB0cmFjayBtaWRDb2x1bW5WaXNpYmxlIGZyb20gbGF5b3V0LWNoYW5nZSBldmVudHNcbiAgcHJpdmF0ZSBfbWlkQ29sdW1uVmlzaWJsZVNpZ25hbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cblxuICAvLyBJbnRlcm5hbCBzaWduYWwgdG8gdHJhY2sgZW5kQ29sdW1uVmlzaWJsZSBmcm9tIGxheW91dC1jaGFuZ2UgZXZlbnRzXG4gIHByaXZhdGUgX2VuZENvbHVtblZpc2libGVTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGdldCBlbGVtZW50KCk6IF9GbGV4aWJsZUNvbHVtbkxheW91dCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHdjRWxlbWVudCA9IHRoaXMuZWxlbWVudDtcbiAgICBcbiAgICBjb25zdCBpbnB1dHNUb1N5bmMgPSBbXG4gICAgICAnbGF5b3V0JyxcbiAgICAgICdkaXNhYmxlUmVzaXppbmcnLFxuICAgICAgJ2FjY2Vzc2liaWxpdHlBdHRyaWJ1dGVzJyxcbiAgICAgICdsYXlvdXRzQ29uZmlndXJhdGlvbicsXG4gICAgXTtcbiAgICBcbiAgICAvLyBTeW5jaHJvbml6ZSBpbnB1dHMgKHByb3BlcnRpZXMpXG4gICAgZm9yIChjb25zdCBpbnB1dE5hbWUgb2YgaW5wdXRzVG9TeW5jKSB7XG4gICAgICAvLyBGaW5kIHRoZSBjb3JyZXNwb25kaW5nIGNhbWVsQ2FzZSBzaWduYWwgcHJvcGVydHkgb24gdGhlIEFuZ3VsYXIgY29tcG9uZW50XG4gICAgICBjb25zdCBzaWduYWxOYW1lID0gaW5wdXROYW1lLnJlcGxhY2UoLy0uL2csICh4OiBzdHJpbmcpID0+IHhbMV0udG9VcHBlckNhc2UoKSk7XG5cbiAgICAgIC8vIFVzZSB0aGUgSW5qZWN0b3IgdG8gcnVuIHRoZSBlZmZlY3QgaW4gdGhlIGNvcnJlY3QgY29udGV4dFxuICAgICAgaWYgKHRoaXNbc2lnbmFsTmFtZV0gJiYgdHlwZW9mIHRoaXNbc2lnbmFsTmFtZV0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuaW5qZWN0b3IsICgpID0+IHtcbiAgICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgLy8gUmVhZCB0aGUgc2lnbmFsIHZhbHVlXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXNbc2lnbmFsTmFtZV0oKTtcbiAgICAgICAgICAgIGlmICh3Y0VsZW1lbnQpIHtcbiAgICAgICAgICAgICAgLy8gV3JpdGUgdGhlIHZhbHVlIHRvIHRoZSBXZWIgQ29tcG9uZW50J3MgcHJvcGVydHlcbiAgICAgICAgICAgICAgd2NFbGVtZW50W2lucHV0TmFtZV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICBcbiAgICBcbiAgICBjb25zdCBvdXRwdXRzVG9TeW5jID0gW1xuICAgICAgJ3VpNUxheW91dENoYW5nZScsXG4gICAgICAndWk1TGF5b3V0Q29uZmlndXJhdGlvbkNoYW5nZScsXG4gICAgXTtcbiAgICBcbiAgICAvLyBTeW5jaHJvbml6ZSBvdXRwdXRzIChldmVudHMpXG4gICAgZm9yIChjb25zdCBvdXRwdXROYW1lIG9mIG91dHB1dHNUb1N5bmMpIHtcbiAgICAgIC8vIE1hcCBBbmd1bGFyIG91dHB1dCBuYW1lIHRvIFVJNSB3ZWIgY29tcG9uZW50IGV2ZW50IG5hbWVcbiAgICAgIGNvbnN0IGV2ZW50TmFtZSA9IG91dHB1dE5hbWUucmVwbGFjZSgndWk1JywgJycpLnJlcGxhY2UoLyhbQS1aXSkvZywgJy0kMScpLnRvTG93ZXJDYXNlKCkuc3Vic3RyaW5nKDEpO1xuICAgICAgLy8gRW5zdXJlIHRoZSBvdXRwdXQgcHJvcGVydHkgZXhpc3RzIGFuZCBoYXMgYW4gZW1pdCBmdW5jdGlvbiBiZWZvcmUgYWRkaW5nIGxpc3RlbmVyXG4gICAgICBpZiAodGhpc1tvdXRwdXROYW1lXSAmJiB0eXBlb2YgdGhpc1tvdXRwdXROYW1lXS5lbWl0ID09PSAnZnVuY3Rpb24nICYmIHdjRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKSB7XG4gICAgICAgIC8vIENhc3QgdGhlIGxpc3RlbmVyIHRvIHRoZSBjb3JyZWN0IHR5cGUgdG8gc2F0aXNmeSBUeXBlU2NyaXB0XG4gICAgICAgIHdjRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgKGUpID0+IHtcbiAgICAgICAgICAvLyBVcGRhdGUgY29sdW1uTGF5b3V0IHNpZ25hbCB3aGVuIGxheW91dC1jaGFuZ2UgZXZlbnQgZmlyZXNcbiAgICAgICAgICBpZiAoZXZlbnROYW1lID09PSAnbGF5b3V0LWNoYW5nZScpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbUV2ZW50ID0gZSBhcyBDdXN0b21FdmVudDxhbnk+O1xuICAgICAgICAgICAgLy8gVXNlIGNvbHVtbkxheW91dCBmcm9tIGV2ZW50IGRldGFpbCwgZmFsbGJhY2sgdG8gd2ViIGNvbXBvbmVudCBwcm9wZXJ0eVxuICAgICAgICAgICAgY29uc3QgY29sdW1uTGF5b3V0VmFsdWUgPSBjdXN0b21FdmVudC5kZXRhaWw/LmNvbHVtbkxheW91dCB8fCB3Y0VsZW1lbnQuY29sdW1uTGF5b3V0IHx8IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHRoaXMuX2NvbHVtbkxheW91dFNpZ25hbC5zZXQoY29sdW1uTGF5b3V0VmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBVcGRhdGUgY29sdW1uTGF5b3V0IHNpZ25hbCB3aGVuIGxheW91dC1jb25maWd1cmF0aW9uLWNoYW5nZSBldmVudCBmaXJlc1xuICAgICAgICAgIGlmIChldmVudE5hbWUgPT09ICdsYXlvdXQtY29uZmlndXJhdGlvbi1jaGFuZ2UnKSB7XG4gICAgICAgICAgICBjb25zdCBjdXN0b21FdmVudCA9IGUgYXMgQ3VzdG9tRXZlbnQ8YW55PjtcbiAgICAgICAgICAgIC8vIFVzZSBjb2x1bW5MYXlvdXQgZnJvbSBldmVudCBkZXRhaWwsIGZhbGxiYWNrIHRvIHdlYiBjb21wb25lbnQgcHJvcGVydHlcbiAgICAgICAgICAgIGNvbnN0IGNvbHVtbkxheW91dFZhbHVlID0gY3VzdG9tRXZlbnQuZGV0YWlsPy5jb2x1bW5MYXlvdXQgfHwgd2NFbGVtZW50LmNvbHVtbkxheW91dCB8fCB1bmRlZmluZWQ7XG4gICAgICAgICAgICB0aGlzLl9jb2x1bW5MYXlvdXRTaWduYWwuc2V0KGNvbHVtbkxheW91dFZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gVXBkYXRlIHN0YXJ0Q29sdW1uVmlzaWJsZSBzaWduYWwgd2hlbiBsYXlvdXQtY2hhbmdlIGV2ZW50IGZpcmVzXG4gICAgICAgICAgaWYgKGV2ZW50TmFtZSA9PT0gJ2xheW91dC1jaGFuZ2UnKSB7XG4gICAgICAgICAgICBjb25zdCBjdXN0b21FdmVudCA9IGUgYXMgQ3VzdG9tRXZlbnQ8YW55PjtcbiAgICAgICAgICAgIC8vIFVzZSBzdGFydENvbHVtblZpc2libGUgZnJvbSBldmVudCBkZXRhaWwsIGZhbGxiYWNrIHRvIHdlYiBjb21wb25lbnQgcHJvcGVydHlcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0Q29sdW1uVmlzaWJsZVZhbHVlID0gY3VzdG9tRXZlbnQuZGV0YWlsPy5zdGFydENvbHVtblZpc2libGUgfHwgd2NFbGVtZW50LnN0YXJ0Q29sdW1uVmlzaWJsZSB8fCB0cnVlO1xuICAgICAgICAgICAgdGhpcy5fc3RhcnRDb2x1bW5WaXNpYmxlU2lnbmFsLnNldChzdGFydENvbHVtblZpc2libGVWYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIFVwZGF0ZSBtaWRDb2x1bW5WaXNpYmxlIHNpZ25hbCB3aGVuIGxheW91dC1jaGFuZ2UgZXZlbnQgZmlyZXNcbiAgICAgICAgICBpZiAoZXZlbnROYW1lID09PSAnbGF5b3V0LWNoYW5nZScpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbUV2ZW50ID0gZSBhcyBDdXN0b21FdmVudDxhbnk+O1xuICAgICAgICAgICAgLy8gVXNlIG1pZENvbHVtblZpc2libGUgZnJvbSBldmVudCBkZXRhaWwsIGZhbGxiYWNrIHRvIHdlYiBjb21wb25lbnQgcHJvcGVydHlcbiAgICAgICAgICAgIGNvbnN0IG1pZENvbHVtblZpc2libGVWYWx1ZSA9IGN1c3RvbUV2ZW50LmRldGFpbD8ubWlkQ29sdW1uVmlzaWJsZSB8fCB3Y0VsZW1lbnQubWlkQ29sdW1uVmlzaWJsZSB8fCBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuX21pZENvbHVtblZpc2libGVTaWduYWwuc2V0KG1pZENvbHVtblZpc2libGVWYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIFVwZGF0ZSBlbmRDb2x1bW5WaXNpYmxlIHNpZ25hbCB3aGVuIGxheW91dC1jaGFuZ2UgZXZlbnQgZmlyZXNcbiAgICAgICAgICBpZiAoZXZlbnROYW1lID09PSAnbGF5b3V0LWNoYW5nZScpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbUV2ZW50ID0gZSBhcyBDdXN0b21FdmVudDxhbnk+O1xuICAgICAgICAgICAgLy8gVXNlIGVuZENvbHVtblZpc2libGUgZnJvbSBldmVudCBkZXRhaWwsIGZhbGxiYWNrIHRvIHdlYiBjb21wb25lbnQgcHJvcGVydHlcbiAgICAgICAgICAgIGNvbnN0IGVuZENvbHVtblZpc2libGVWYWx1ZSA9IGN1c3RvbUV2ZW50LmRldGFpbD8uZW5kQ29sdW1uVmlzaWJsZSB8fCB3Y0VsZW1lbnQuZW5kQ29sdW1uVmlzaWJsZSB8fCBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuX2VuZENvbHVtblZpc2libGVTaWduYWwuc2V0KGVuZENvbHVtblZpc2libGVWYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXNbb3V0cHV0TmFtZV0uZW1pdChlIGFzIEN1c3RvbUV2ZW50PGFueT4pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIFxuXG4gICAgLy8gSW5pdGlhbGl6ZSBjb2x1bW5MYXlvdXQgc2lnbmFsIHdpdGggY3VycmVudCBzdGF0ZSB1c2luZyBkZWxheWVkIGluaXRpYWxpemF0aW9uXG4gICAgLy8gdG8gaGFuZGxlIHdlYiBjb21wb25lbnQgdGltaW5nIHByb3Blcmx5XG4gICAgY29uc3QgaW5pdGlhbGl6ZUNvbHVtbkxheW91dCA9ICgpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHdjRWxlbWVudC5jb2x1bW5MYXlvdXQgfHwgdW5kZWZpbmVkO1xuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkgIT09IEpTT04uc3RyaW5naWZ5KHRoaXMuX2NvbHVtbkxheW91dFNpZ25hbCgpKSkge1xuICAgICAgICB0aGlzLl9jb2x1bW5MYXlvdXRTaWduYWwuc2V0KGN1cnJlbnRWYWx1ZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIC8vIFRyeSBpbW1lZGlhdGUgaW5pdGlhbGl6YXRpb25cbiAgICBpbml0aWFsaXplQ29sdW1uTGF5b3V0KCk7XG5cbiAgICAvLyBGYWxsYmFjayBkZWxheWVkIGluaXRpYWxpemF0aW9uIGlmIHdlYiBjb21wb25lbnQgbmVlZHMgbW9yZSB0aW1lXG4gICAgLy8gVXNlIHJlcXVlc3RBbmltYXRpb25GcmFtZSBmb3Igem9uZWxlc3MgY29tcGF0aWJpbGl0eVxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiBpbml0aWFsaXplQ29sdW1uTGF5b3V0KCkpO1xuICAgIC8vIEluaXRpYWxpemUgc3RhcnRDb2x1bW5WaXNpYmxlIHNpZ25hbCB3aXRoIGN1cnJlbnQgc3RhdGUgdXNpbmcgZGVsYXllZCBpbml0aWFsaXphdGlvblxuICAgIC8vIHRvIGhhbmRsZSB3ZWIgY29tcG9uZW50IHRpbWluZyBwcm9wZXJseVxuICAgIGNvbnN0IGluaXRpYWxpemVTdGFydENvbHVtblZpc2libGUgPSAoKTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB3Y0VsZW1lbnQuc3RhcnRDb2x1bW5WaXNpYmxlIHx8IHRydWU7XG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSAhPT0gSlNPTi5zdHJpbmdpZnkodGhpcy5fc3RhcnRDb2x1bW5WaXNpYmxlU2lnbmFsKCkpKSB7XG4gICAgICAgIHRoaXMuX3N0YXJ0Q29sdW1uVmlzaWJsZVNpZ25hbC5zZXQoY3VycmVudFZhbHVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gVHJ5IGltbWVkaWF0ZSBpbml0aWFsaXphdGlvblxuICAgIGluaXRpYWxpemVTdGFydENvbHVtblZpc2libGUoKTtcblxuICAgIC8vIEZhbGxiYWNrIGRlbGF5ZWQgaW5pdGlhbGl6YXRpb24gaWYgd2ViIGNvbXBvbmVudCBuZWVkcyBtb3JlIHRpbWVcbiAgICAvLyBVc2UgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGZvciB6b25lbGVzcyBjb21wYXRpYmlsaXR5XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IGluaXRpYWxpemVTdGFydENvbHVtblZpc2libGUoKSk7XG4gICAgLy8gSW5pdGlhbGl6ZSBtaWRDb2x1bW5WaXNpYmxlIHNpZ25hbCB3aXRoIGN1cnJlbnQgc3RhdGUgdXNpbmcgZGVsYXllZCBpbml0aWFsaXphdGlvblxuICAgIC8vIHRvIGhhbmRsZSB3ZWIgY29tcG9uZW50IHRpbWluZyBwcm9wZXJseVxuICAgIGNvbnN0IGluaXRpYWxpemVNaWRDb2x1bW5WaXNpYmxlID0gKCk6IHZvaWQgPT4ge1xuICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gd2NFbGVtZW50Lm1pZENvbHVtblZpc2libGUgfHwgZmFsc2U7XG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoY3VycmVudFZhbHVlKSAhPT0gSlNPTi5zdHJpbmdpZnkodGhpcy5fbWlkQ29sdW1uVmlzaWJsZVNpZ25hbCgpKSkge1xuICAgICAgICB0aGlzLl9taWRDb2x1bW5WaXNpYmxlU2lnbmFsLnNldChjdXJyZW50VmFsdWUpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICAvLyBUcnkgaW1tZWRpYXRlIGluaXRpYWxpemF0aW9uXG4gICAgaW5pdGlhbGl6ZU1pZENvbHVtblZpc2libGUoKTtcblxuICAgIC8vIEZhbGxiYWNrIGRlbGF5ZWQgaW5pdGlhbGl6YXRpb24gaWYgd2ViIGNvbXBvbmVudCBuZWVkcyBtb3JlIHRpbWVcbiAgICAvLyBVc2UgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGZvciB6b25lbGVzcyBjb21wYXRpYmlsaXR5XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IGluaXRpYWxpemVNaWRDb2x1bW5WaXNpYmxlKCkpO1xuICAgIC8vIEluaXRpYWxpemUgZW5kQ29sdW1uVmlzaWJsZSBzaWduYWwgd2l0aCBjdXJyZW50IHN0YXRlIHVzaW5nIGRlbGF5ZWQgaW5pdGlhbGl6YXRpb25cbiAgICAvLyB0byBoYW5kbGUgd2ViIGNvbXBvbmVudCB0aW1pbmcgcHJvcGVybHlcbiAgICBjb25zdCBpbml0aWFsaXplRW5kQ29sdW1uVmlzaWJsZSA9ICgpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHdjRWxlbWVudC5lbmRDb2x1bW5WaXNpYmxlIHx8IGZhbHNlO1xuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSkgIT09IEpTT04uc3RyaW5naWZ5KHRoaXMuX2VuZENvbHVtblZpc2libGVTaWduYWwoKSkpIHtcbiAgICAgICAgdGhpcy5fZW5kQ29sdW1uVmlzaWJsZVNpZ25hbC5zZXQoY3VycmVudFZhbHVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gVHJ5IGltbWVkaWF0ZSBpbml0aWFsaXphdGlvblxuICAgIGluaXRpYWxpemVFbmRDb2x1bW5WaXNpYmxlKCk7XG5cbiAgICAvLyBGYWxsYmFjayBkZWxheWVkIGluaXRpYWxpemF0aW9uIGlmIHdlYiBjb21wb25lbnQgbmVlZHMgbW9yZSB0aW1lXG4gICAgLy8gVXNlIHJlcXVlc3RBbmltYXRpb25GcmFtZSBmb3Igem9uZWxlc3MgY29tcGF0aWJpbGl0eVxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiBpbml0aWFsaXplRW5kQ29sdW1uVmlzaWJsZSgpKTtcbiAgfVxufVxuXG4vLyBSZS1leHBvcnQgdHlwZXMgZm9yIGNvbnZlbmllbmNlXG5leHBvcnQgeyBGQ0xBY2Nlc3NpYmlsaXR5QXR0cmlidXRlcyB9IGZyb20gJ0B1aTUvd2ViY29tcG9uZW50cy1maW9yaS9kaXN0L0ZsZXhpYmxlQ29sdW1uTGF5b3V0LmpzJztcbmV4cG9ydCB7IExheW91dENvbmZpZ3VyYXRpb24gfSBmcm9tICdAdWk1L3dlYmNvbXBvbmVudHMtZmlvcmkvZGlzdC9GbGV4aWJsZUNvbHVtbkxheW91dC5qcyc7XG5leHBvcnQgeyBGbGV4aWJsZUNvbHVtbkxheW91dENvbHVtbkxheW91dCB9IGZyb20gJ0B1aTUvd2ViY29tcG9uZW50cy1maW9yaS9kaXN0L0ZsZXhpYmxlQ29sdW1uTGF5b3V0LmpzJztcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LXVpNS13ZWJjb21wb25lbnRzLWZpb3JpLWZsZXhpYmxlLWNvbHVtbi1sYXlvdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpNS13ZWJjb21wb25lbnRzLWZpb3JpL2ZsZXhpYmxlLWNvbHVtbi1sYXlvdXQvZnVuZGFtZW50YWwtbmd4LXVpNS13ZWJjb21wb25lbnRzLWZpb3JpLWZsZXhpYmxlLWNvbHVtbi1sYXlvdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
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/GroupItem.js';
4
-
5
- class GroupItem {
6
- constructor() {
7
- /**
8
- * Defines the text of the group item.
9
- */
10
- this.text = input(...(ngDevMode ? [undefined, { debugName: "text" }] : []));
11
- /**
12
- * Defines if the group item is selected.
13
- */
14
- this.selected = input(false, ...(ngDevMode ? [{ debugName: "selected", transform: booleanAttribute }] : [{ transform: booleanAttribute }])); // className is now passed
15
- this.elementRef = inject(ElementRef);
16
- this.injector = inject(Injector);
17
- }
18
- get element() {
19
- return this.elementRef.nativeElement;
20
- }
21
- ngAfterViewInit() {
22
- const wcElement = this.element;
23
- const inputsToSync = [
24
- 'text',
25
- 'selected',
26
- ];
27
- // Synchronize inputs (properties)
28
- for (const inputName of inputsToSync) {
29
- // Find the corresponding camelCase signal property on the Angular component
30
- const signalName = inputName.replace(/-./g, (x) => x[1].toUpperCase());
31
- // Use the Injector to run the effect in the correct context
32
- if (this[signalName] && typeof this[signalName] === 'function') {
33
- runInInjectionContext(this.injector, () => {
34
- effect(() => {
35
- // Read the signal value
36
- const value = this[signalName]();
37
- if (wcElement) {
38
- // Write the value to the Web Component's property
39
- wcElement[inputName] = value;
40
- }
41
- });
42
- });
43
- }
44
- }
45
- }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: GroupItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.4", type: GroupItem, isStandalone: true, selector: "ui5-group-item, [ui5-group-item]", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["ui5GroupItem"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: GroupItem, decorators: [{
50
- type: Component,
51
- args: [{
52
- standalone: true,
53
- selector: 'ui5-group-item, [ui5-group-item]',
54
- template: '<ng-content></ng-content>',
55
- exportAs: 'ui5GroupItem',
56
- changeDetection: ChangeDetectionStrategy.OnPush,
57
- }]
58
- }] });
59
-
60
- /**
61
- * Generated bundle index. Do not edit.
62
- */
63
-
64
- export { GroupItem };
65
- //# sourceMappingURL=fundamental-ngx-ui5-webcomponents-fiori-group-item.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fundamental-ngx-ui5-webcomponents-fiori-group-item.mjs","sources":["../tmp-esm2022/group-item/index.js","../tmp-esm2022/group-item/fundamental-ngx-ui5-webcomponents-fiori-group-item.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, input, effect, runInInjectionContext, inject, Injector, booleanAttribute } from '@angular/core';\nimport '@ui5/webcomponents-fiori/dist/GroupItem.js';\nimport * as i0 from \"@angular/core\";\nexport class GroupItem {\n constructor() {\n /**\n * Defines the text of the group item.\n */\n this.text = input(...(ngDevMode ? [undefined, { debugName: \"text\" }] : []));\n /**\n * Defines if the group item is selected.\n */\n this.selected = input(false, ...(ngDevMode ? [{ debugName: \"selected\", transform: booleanAttribute }] : [{ transform: booleanAttribute }])); // className is now passed\n this.elementRef = inject(ElementRef);\n this.injector = inject(Injector);\n }\n get element() {\n return this.elementRef.nativeElement;\n }\n ngAfterViewInit() {\n const wcElement = this.element;\n const inputsToSync = [\n 'text',\n 'selected',\n ];\n // Synchronize inputs (properties)\n for (const inputName of inputsToSync) {\n // Find the corresponding camelCase signal property on the Angular component\n const signalName = inputName.replace(/-./g, (x) => x[1].toUpperCase());\n // Use the Injector to run the effect in the correct context\n if (this[signalName] && typeof this[signalName] === 'function') {\n runInInjectionContext(this.injector, () => {\n effect(() => {\n // Read the signal value\n const value = this[signalName]();\n if (wcElement) {\n // Write the value to the Web Component's property\n wcElement[inputName] = value;\n }\n });\n });\n }\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: GroupItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.1.4\", type: GroupItem, isStandalone: true, selector: \"ui5-group-item, [ui5-group-item]\", inputs: { text: { classPropertyName: \"text\", publicName: \"text\", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: \"selected\", publicName: \"selected\", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: [\"ui5GroupItem\"], 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: GroupItem, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n selector: 'ui5-group-item, [ui5-group-item]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5GroupItem',\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpNS13ZWJjb21wb25lbnRzLWZpb3JpL2dyb3VwLWl0ZW0vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEVBQ04scUJBQXFCLEVBQ3JCLE1BQU0sRUFDTixRQUFRLEVBQ1IsZ0JBQWdCLEVBR2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sNENBQTRDLENBQUM7O0FBY3BELE1BQU0sT0FBTyxTQUFTO0lBUnRCO1FBVUU7O1dBRUc7UUFDSCxTQUFJLEdBQUcsS0FBSywwREFBZ0QsQ0FBQztRQUU3RDs7V0FFRztRQUNILGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyw0Q0FBSSxTQUFTLEVBQUUsZ0JBQWdCLE9BQTdCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLEdBQUMsQ0FBQyxDQUFDLDBCQUEwQjtRQU03RSxlQUFVLEdBQTJCLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4RCxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBc0NwQztJQXBDQyxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUUvQixNQUFNLFlBQVksR0FBRztZQUNuQixNQUFNO1lBQ04sVUFBVTtTQUNYLENBQUM7UUFFRixrQ0FBa0M7UUFDbEMsS0FBSyxNQUFNLFNBQVMsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNyQyw0RUFBNEU7WUFDNUUsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBRS9FLDREQUE0RDtZQUM1RCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDL0QscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7b0JBQ3hDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7d0JBQ1Ysd0JBQXdCO3dCQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQzt3QkFDakMsSUFBSSxTQUFTLEVBQUUsQ0FBQzs0QkFDZCxrREFBa0Q7NEJBQ2xELFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUM7d0JBQy9CLENBQUM7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztJQUtILENBQUM7OEdBdERVLFNBQVM7a0dBQVQsU0FBUywwWEFMViwyQkFBMkI7OzJGQUsxQixTQUFTO2tCQVJyQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxRQUFRLEVBQUUsY0FBYztvQkFFeEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBBZnRlclZpZXdJbml0LFxuICBlZmZlY3QsXG4gIHJ1bkluSW5qZWN0aW9uQ29udGV4dCxcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIHNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAnQHVpNS93ZWJjb21wb25lbnRzLWZpb3JpL2Rpc3QvR3JvdXBJdGVtLmpzJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgX0dyb3VwSXRlbSB9IGZyb20gJ0B1aTUvd2ViY29tcG9uZW50cy1maW9yaS9kaXN0L0dyb3VwSXRlbS5qcyc7XG5pbXBvcnQgeyBVSTVDdXN0b21FdmVudCB9IGZyb20gJ0B1aTUvd2ViY29tcG9uZW50cy1iYXNlJztcblxuXG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3VpNS1ncm91cC1pdGVtLCBbdWk1LWdyb3VwLWl0ZW1dJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgZXhwb3J0QXM6ICd1aTVHcm91cEl0ZW0nLFxuXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBHcm91cEl0ZW0gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgdGV4dCBvZiB0aGUgZ3JvdXAgaXRlbS5cbiAgICovXG4gIHRleHQgPSBpbnB1dDx0eXBlb2YgX0dyb3VwSXRlbS5wcm90b3R5cGUudGV4dCB8IHVuZGVmaW5lZD4oKTtcblxuICAvKipcbiAgICogRGVmaW5lcyBpZiB0aGUgZ3JvdXAgaXRlbSBpcyBzZWxlY3RlZC5cbiAgICovXG4gIHNlbGVjdGVkID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pOyAvLyBjbGFzc05hbWUgaXMgbm93IHBhc3NlZFxuXG5cblxuXG5cbiAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8X0dyb3VwSXRlbT4gPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHB1YmxpYyBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgZ2V0IGVsZW1lbnQoKTogX0dyb3VwSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHdjRWxlbWVudCA9IHRoaXMuZWxlbWVudDtcbiAgICBcbiAgICBjb25zdCBpbnB1dHNUb1N5bmMgPSBbXG4gICAgICAndGV4dCcsXG4gICAgICAnc2VsZWN0ZWQnLFxuICAgIF07XG4gICAgXG4gICAgLy8gU3luY2hyb25pemUgaW5wdXRzIChwcm9wZXJ0aWVzKVxuICAgIGZvciAoY29uc3QgaW5wdXROYW1lIG9mIGlucHV0c1RvU3luYykge1xuICAgICAgLy8gRmluZCB0aGUgY29ycmVzcG9uZGluZyBjYW1lbENhc2Ugc2lnbmFsIHByb3BlcnR5IG9uIHRoZSBBbmd1bGFyIGNvbXBvbmVudFxuICAgICAgY29uc3Qgc2lnbmFsTmFtZSA9IGlucHV0TmFtZS5yZXBsYWNlKC8tLi9nLCAoeDogc3RyaW5nKSA9PiB4WzFdLnRvVXBwZXJDYXNlKCkpO1xuXG4gICAgICAvLyBVc2UgdGhlIEluamVjdG9yIHRvIHJ1biB0aGUgZWZmZWN0IGluIHRoZSBjb3JyZWN0IGNvbnRleHRcbiAgICAgIGlmICh0aGlzW3NpZ25hbE5hbWVdICYmIHR5cGVvZiB0aGlzW3NpZ25hbE5hbWVdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCAoKSA9PiB7XG4gICAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIC8vIFJlYWQgdGhlIHNpZ25hbCB2YWx1ZVxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzW3NpZ25hbE5hbWVdKCk7XG4gICAgICAgICAgICBpZiAod2NFbGVtZW50KSB7XG4gICAgICAgICAgICAgIC8vIFdyaXRlIHRoZSB2YWx1ZSB0byB0aGUgV2ViIENvbXBvbmVudCdzIHByb3BlcnR5XG4gICAgICAgICAgICAgIHdjRWxlbWVudFtpbnB1dE5hbWVdID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgXG4gICAgXG5cbiAgfVxufVxuXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LXVpNS13ZWJjb21wb25lbnRzLWZpb3JpLWdyb3VwLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpNS13ZWJjb21wb25lbnRzLWZpb3JpL2dyb3VwLWl0ZW0vZnVuZGFtZW50YWwtbmd4LXVpNS13ZWJjb21wb25lbnRzLWZpb3JpLWdyb3VwLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}