@villedemontreal/angular-ui 13.2.1 → 13.3.1

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 (39) hide show
  1. package/esm2020/lib/bao.module.mjs +12 -7
  2. package/esm2020/lib/button/button.component.mjs +2 -2
  3. package/esm2020/lib/core/breakpoints.mjs +13 -0
  4. package/esm2020/lib/core/index.mjs +8 -0
  5. package/esm2020/lib/dropdown-menu/dropdown-menu.component.mjs +10 -3
  6. package/esm2020/lib/modal/modal-container.mjs +2 -2
  7. package/esm2020/lib/snack-bar/index.mjs +12 -0
  8. package/esm2020/lib/snack-bar/module.mjs +54 -0
  9. package/esm2020/lib/snack-bar/simple-snack-bar.component.mjs +92 -0
  10. package/esm2020/lib/snack-bar/snack-bar-animations.mjs +28 -0
  11. package/esm2020/lib/snack-bar/snack-bar-config.mjs +37 -0
  12. package/esm2020/lib/snack-bar/snack-bar-container.mjs +272 -0
  13. package/esm2020/lib/snack-bar/snack-bar-ref.mjs +75 -0
  14. package/esm2020/lib/snack-bar/snack-bar.mjs +251 -0
  15. package/esm2020/lib/system-header/index.mjs +8 -0
  16. package/esm2020/lib/system-header/module.mjs +33 -0
  17. package/esm2020/lib/system-header/system-header.component.mjs +128 -0
  18. package/esm2020/public-api.mjs +3 -1
  19. package/fesm2015/villedemontreal-angular-ui.mjs +982 -16
  20. package/fesm2015/villedemontreal-angular-ui.mjs.map +1 -1
  21. package/fesm2020/villedemontreal-angular-ui.mjs +978 -16
  22. package/fesm2020/villedemontreal-angular-ui.mjs.map +1 -1
  23. package/lib/bao.module.d.ts +3 -1
  24. package/lib/button/button.component.d.ts +3 -3
  25. package/lib/core/breakpoints.d.ts +7 -0
  26. package/lib/core/index.d.ts +2 -0
  27. package/lib/snack-bar/index.d.ts +6 -0
  28. package/lib/snack-bar/module.d.ts +13 -0
  29. package/lib/snack-bar/simple-snack-bar.component.d.ts +51 -0
  30. package/lib/snack-bar/snack-bar-animations.d.ts +8 -0
  31. package/lib/snack-bar/snack-bar-config.d.ts +51 -0
  32. package/lib/snack-bar/snack-bar-container.d.ts +111 -0
  33. package/lib/snack-bar/snack-bar-ref.d.ts +51 -0
  34. package/lib/snack-bar/snack-bar.d.ts +89 -0
  35. package/lib/system-header/index.d.ts +2 -0
  36. package/lib/system-header/module.d.ts +9 -0
  37. package/lib/system-header/system-header.component.d.ts +41 -0
  38. package/package.json +1 -1
  39. package/public-api.d.ts +2 -0
@@ -0,0 +1,251 @@
1
+ import { OverlayConfig } from '@angular/cdk/overlay';
2
+ import { ComponentPortal, PortalInjector, TemplatePortal } from '@angular/cdk/portal';
3
+ import { Inject, Injectable, InjectionToken, Optional, SkipSelf, TemplateRef } from '@angular/core';
4
+ import { BaoSimpleSnackBarComponent } from './simple-snack-bar.component';
5
+ import { BAO_SNACK_BAR_DATA, BaoSnackBarConfig } from './snack-bar-config';
6
+ import { BaoSnackBarContainerComponent } from './snack-bar-container';
7
+ import { BaoSnackBarRef } from './snack-bar-ref';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/cdk/overlay";
10
+ import * as i2 from "@angular/cdk/a11y";
11
+ import * as i3 from "./snack-bar-config";
12
+ export function baoFactory() {
13
+ return new BaoSnackBarConfig();
14
+ }
15
+ /** Injection token that can be used to specify default snack bar. */
16
+ export const BAO_SNACK_BAR_DEFAULT_OPTIONS = new InjectionToken('bao-snack-bar-default-options', {
17
+ providedIn: 'root',
18
+ factory: baoFactory
19
+ });
20
+ /**
21
+ * Service to dispatch Material Design snack bar messages.
22
+ */
23
+ export class BaoSnackBarService {
24
+ constructor(_overlay, _live, _injector, _parentSnackBar, _defaultConfig) {
25
+ this._overlay = _overlay;
26
+ this._live = _live;
27
+ this._injector = _injector;
28
+ this._parentSnackBar = _parentSnackBar;
29
+ this._defaultConfig = _defaultConfig;
30
+ /** The component that should be rendered as the snack bar's simple component. */
31
+ this.simpleSnackBarComponent = BaoSimpleSnackBarComponent;
32
+ /** The container component that attaches the provided template or component. */
33
+ this.snackBarContainerComponent = BaoSnackBarContainerComponent;
34
+ /**
35
+ * Reference to the current snack bar in the view *at this level* (in the Angular injector tree).
36
+ * If there is a parent snack-bar service, all operations should delegate to that parent
37
+ * via `_openedSnackBarRef`.
38
+ */
39
+ this._snackBarRefAtThisLevel = null;
40
+ }
41
+ /** Reference to the currently opened snackbar at *any* level. */
42
+ get _openedSnackBarRef() {
43
+ const parent = this._parentSnackBar;
44
+ return parent ? parent._openedSnackBarRef : this._snackBarRefAtThisLevel;
45
+ }
46
+ set _openedSnackBarRef(value) {
47
+ if (this._parentSnackBar) {
48
+ this._parentSnackBar._openedSnackBarRef = value;
49
+ }
50
+ else {
51
+ this._snackBarRefAtThisLevel = value;
52
+ }
53
+ }
54
+ /**
55
+ * Creates and dispatches a snack bar with a custom component for the content, removing any
56
+ * currently opened snack bars.
57
+ *
58
+ * @param component Component to be instantiated.
59
+ * @param config Extra configuration for the snack bar.
60
+ */
61
+ openFromComponent(component, config) {
62
+ return this.attach(component, config);
63
+ }
64
+ /**
65
+ * Creates and dispatches a snack bar with a custom template for the content, removing any
66
+ * currently opened snack bars.
67
+ *
68
+ * @param template Template to be instantiated.
69
+ * @param config Extra configuration for the snack bar.
70
+ */
71
+ openFromTemplate(template, config) {
72
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
73
+ return this.attach(template, config);
74
+ }
75
+ /**
76
+ * Opens a snackbar with a message and an optional action.
77
+ * @param message The message to show in the snackbar.
78
+ * @param toastType The type of of toast to display the snackbar.
79
+ * @param actionLabelOrIcon The label or icon for the snackbar action.
80
+ * @param showClose If true, the snackbar will require user interaction to close.
81
+ * @param config Additional configuration options for the snackbar.
82
+ */
83
+ open(config) {
84
+ const _config = { ...this._defaultConfig, ...config };
85
+ // Since the user doesn't have access to the component, we can
86
+ // override the data to pass in our own message, action and type.
87
+ _config.data = {
88
+ message: _config.message,
89
+ toastType: _config.toastType,
90
+ actionLabelOrIcon: _config.actionLabelOrIcon,
91
+ showClose: _config.showClose
92
+ };
93
+ if (_config.showClose)
94
+ _config.duration = 0;
95
+ if (!_config.announcementMessage) {
96
+ _config.announcementMessage = _config.message;
97
+ }
98
+ return this.openFromComponent(this.simpleSnackBarComponent, _config);
99
+ }
100
+ /**
101
+ * Dismisses the currently-visible snack bar.
102
+ */
103
+ dismiss() {
104
+ if (this._openedSnackBarRef) {
105
+ this._openedSnackBarRef.dismiss();
106
+ }
107
+ }
108
+ ngOnDestroy() {
109
+ // Only dismiss the snack bar at the current level on destroy.
110
+ if (this._snackBarRefAtThisLevel) {
111
+ this._snackBarRefAtThisLevel.dismiss();
112
+ }
113
+ }
114
+ /**
115
+ * Attaches the snack bar container component to the overlay.
116
+ */
117
+ attachSnackBarContainer(overlayRef, config) {
118
+ const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;
119
+ const injector = new PortalInjector(userInjector || this._injector, new WeakMap([[BaoSnackBarConfig, config]]));
120
+ const containerPortal = new ComponentPortal(this.snackBarContainerComponent, config.viewContainerRef, injector);
121
+ const containerRef = overlayRef.attach(containerPortal);
122
+ containerRef.instance.snackBarConfig = config;
123
+ return containerRef.instance;
124
+ }
125
+ /**
126
+ * Places a new component or a template as the content of the snack bar container.
127
+ */
128
+ attach(content, userConfig) {
129
+ const config = {
130
+ ...new BaoSnackBarConfig(),
131
+ ...this._defaultConfig,
132
+ ...userConfig
133
+ };
134
+ const overlayRef = this.createOverlay(config);
135
+ const container = this.attachSnackBarContainer(overlayRef, config);
136
+ const snackBarRef = new BaoSnackBarRef(container, overlayRef);
137
+ if (content instanceof TemplateRef) {
138
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
139
+ const portal = new TemplatePortal(content, null, {
140
+ $implicit: config.data,
141
+ snackBarRef
142
+ });
143
+ snackBarRef.instance = container.attachTemplatePortal(portal);
144
+ }
145
+ else {
146
+ const injector = this.createInjector(config, snackBarRef);
147
+ const portal = new ComponentPortal(content, undefined, injector);
148
+ const contentRef = container.attachComponentPortal(portal);
149
+ // We can't pass this via the injector, because the injector is created earlier.
150
+ snackBarRef.instance = contentRef.instance;
151
+ }
152
+ this.animateSnackBar(snackBarRef, config);
153
+ this._openedSnackBarRef = snackBarRef;
154
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
155
+ return this._openedSnackBarRef;
156
+ }
157
+ /** Animates the old snack bar out and the new one in. */
158
+ animateSnackBar(snackBarRef, config) {
159
+ // When the snackbar is dismissed, clear the reference to it.
160
+ snackBarRef.afterDismissed().subscribe(() => {
161
+ // Clear the snackbar ref if it hasn't already been replaced by a newer snackbar.
162
+ // eslint-disable-next-line eqeqeq
163
+ if (this._openedSnackBarRef == snackBarRef) {
164
+ this._openedSnackBarRef = null;
165
+ }
166
+ if (config.announcementMessage) {
167
+ this._live.clear();
168
+ }
169
+ });
170
+ if (this._openedSnackBarRef) {
171
+ // If a snack bar is already in view, dismiss it and enter the
172
+ // new snack bar after exit animation is complete.
173
+ this._openedSnackBarRef.afterDismissed().subscribe(() => {
174
+ snackBarRef.containerInstance.enter();
175
+ });
176
+ this._openedSnackBarRef.dismiss();
177
+ }
178
+ else {
179
+ // If no snack bar is in view, enter the new snack bar.
180
+ snackBarRef.containerInstance.enter();
181
+ }
182
+ // If a dismiss timeout is provided, set up dismiss based on after the snackbar is opened.
183
+ if (config.duration && config.duration > 0) {
184
+ snackBarRef
185
+ .afterOpened()
186
+ .subscribe(() => snackBarRef.dismissAfter(config.duration));
187
+ }
188
+ if (config.announcementMessage) {
189
+ void this._live.announce(config.announcementMessage, config.politeness);
190
+ }
191
+ }
192
+ /**
193
+ * Creates a new overlay and places it in the correct location.
194
+ * @param config The user-specified snack bar config.
195
+ */
196
+ createOverlay(config) {
197
+ const overlayConfig = new OverlayConfig();
198
+ overlayConfig.direction = config.direction;
199
+ const positionStrategy = this._overlay.position().global();
200
+ // Set horizontal position.
201
+ const isRtl = config.direction === 'rtl';
202
+ const isLeft = config.horizontalPosition === 'left' ||
203
+ (config.horizontalPosition === 'start' && !isRtl) ||
204
+ (config.horizontalPosition === 'end' && isRtl);
205
+ const isRight = !isLeft && config.horizontalPosition !== 'center';
206
+ if (isLeft) {
207
+ positionStrategy.left('0');
208
+ }
209
+ else if (isRight) {
210
+ positionStrategy.right('0');
211
+ }
212
+ else {
213
+ positionStrategy.centerHorizontally();
214
+ }
215
+ // Set horizontal position.
216
+ if (config.verticalPosition === 'top') {
217
+ positionStrategy.top('0');
218
+ }
219
+ else {
220
+ positionStrategy.bottom('0');
221
+ }
222
+ overlayConfig.positionStrategy = positionStrategy;
223
+ return this._overlay.create(overlayConfig);
224
+ }
225
+ /**
226
+ * Creates an injector to be used inside of a snack bar component.
227
+ * @param config Config that was used to create the snack bar.
228
+ * @param snackBarRef Reference to the snack bar.
229
+ */
230
+ createInjector(config, snackBarRef) {
231
+ const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;
232
+ return new PortalInjector(userInjector || this._injector, new WeakMap([
233
+ [BaoSnackBarRef, snackBarRef],
234
+ [BAO_SNACK_BAR_DATA, config.data]
235
+ ]));
236
+ }
237
+ }
238
+ BaoSnackBarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaoSnackBarService, deps: [{ token: i1.Overlay }, { token: i2.LiveAnnouncer }, { token: i0.Injector }, { token: BaoSnackBarService, optional: true, skipSelf: true }, { token: BAO_SNACK_BAR_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable });
239
+ BaoSnackBarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaoSnackBarService, providedIn: 'root' });
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaoSnackBarService, decorators: [{
241
+ type: Injectable,
242
+ args: [{ providedIn: 'root' }]
243
+ }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i2.LiveAnnouncer }, { type: i0.Injector }, { type: BaoSnackBarService, decorators: [{
244
+ type: Optional
245
+ }, {
246
+ type: SkipSelf
247
+ }] }, { type: i3.BaoSnackBarConfig, decorators: [{
248
+ type: Inject,
249
+ args: [BAO_SNACK_BAR_DEFAULT_OPTIONS]
250
+ }] }]; } });
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2stYmFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11aS9zcmMvbGliL3NuYWNrLWJhci9zbmFjay1iYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFDTCxlQUFlLEVBRWYsY0FBYyxFQUNkLGNBQWMsRUFDZixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFHTCxNQUFNLEVBQ04sVUFBVSxFQUNWLGNBQWMsRUFHZCxRQUFRLEVBQ1IsUUFBUSxFQUNSLFdBQVcsRUFFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsMEJBQTBCLEVBRTNCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0UsT0FBTyxFQUNMLDZCQUE2QixFQUU5QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFFakQsTUFBTSxVQUFVLFVBQVU7SUFDeEIsT0FBTyxJQUFJLGlCQUFpQixFQUFFLENBQUM7QUFDakMsQ0FBQztBQUVELHFFQUFxRTtBQUNyRSxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FDeEMsSUFBSSxjQUFjLENBQW9CLCtCQUErQixFQUFFO0lBQ3JFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxVQUFVO0NBQ3BCLENBQUMsQ0FBQztBQUVMOztHQUVHO0FBRUgsTUFBTSxPQUFPLGtCQUFrQjtJQWdCN0IsWUFDVSxRQUFpQixFQUNqQixLQUFvQixFQUNwQixTQUFtQixFQUNLLGVBQW1DLEVBRTNELGNBQWlDO1FBTGpDLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQUNwQixj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QixNQUFNOzJCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjMgVmlsbGUgZGUgTW9udHJlYWwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBTZWUgTElDRU5TRSBmaWxlIGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqL1xuaW1wb3J0IHsgTGl2ZUFubm91bmNlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQge1xuICBDb21wb25lbnRQb3J0YWwsXG4gIENvbXBvbmVudFR5cGUsXG4gIFBvcnRhbEluamVjdG9yLFxuICBUZW1wbGF0ZVBvcnRhbFxufSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIENvbXBvbmVudFJlZixcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBJbmplY3QsXG4gIEluamVjdGFibGUsXG4gIEluamVjdGlvblRva2VuLFxuICBJbmplY3RvcixcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgU2tpcFNlbGYsXG4gIFRlbXBsYXRlUmVmLFxuICBUeXBlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmFvU2ltcGxlU25hY2tCYXJDb21wb25lbnQsXG4gIElUZXh0T25seVNuYWNrQmFyXG59IGZyb20gJy4vc2ltcGxlLXNuYWNrLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQkFPX1NOQUNLX0JBUl9EQVRBLCBCYW9TbmFja0JhckNvbmZpZyB9IGZyb20gJy4vc25hY2stYmFyLWNvbmZpZyc7XG5pbXBvcnQge1xuICBCYW9TbmFja0JhckNvbnRhaW5lckNvbXBvbmVudCxcbiAgSUJhb1NuYWNrQmFyQ29udGFpbmVyXG59IGZyb20gJy4vc25hY2stYmFyLWNvbnRhaW5lcic7XG5pbXBvcnQgeyBCYW9TbmFja0JhclJlZiB9IGZyb20gJy4vc25hY2stYmFyLXJlZic7XG5cbmV4cG9ydCBmdW5jdGlvbiBiYW9GYWN0b3J5KCkge1xuICByZXR1cm4gbmV3IEJhb1NuYWNrQmFyQ29uZmlnKCk7XG59XG5cbi8qKiBJbmplY3Rpb24gdG9rZW4gdGhhdCBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGRlZmF1bHQgc25hY2sgYmFyLiAqL1xuZXhwb3J0IGNvbnN0IEJBT19TTkFDS19CQVJfREVGQVVMVF9PUFRJT05TID1cbiAgbmV3IEluamVjdGlvblRva2VuPEJhb1NuYWNrQmFyQ29uZmlnPignYmFvLXNuYWNrLWJhci1kZWZhdWx0LW9wdGlvbnMnLCB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6IGJhb0ZhY3RvcnlcbiAgfSk7XG5cbi8qKlxuICogU2VydmljZSB0byBkaXNwYXRjaCBNYXRlcmlhbCBEZXNpZ24gc25hY2sgYmFyIG1lc3NhZ2VzLlxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEJhb1NuYWNrQmFyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKiBUaGUgY29tcG9uZW50IHRoYXQgc2hvdWxkIGJlIHJlbmRlcmVkIGFzIHRoZSBzbmFjayBiYXIncyBzaW1wbGUgY29tcG9uZW50LiAqL1xuICBwcm90ZWN0ZWQgc2ltcGxlU25hY2tCYXJDb21wb25lbnQ6IFR5cGU8SVRleHRPbmx5U25hY2tCYXI+ID1cbiAgICBCYW9TaW1wbGVTbmFja0JhckNvbXBvbmVudDtcblxuICAvKiogVGhlIGNvbnRhaW5lciBjb21wb25lbnQgdGhhdCBhdHRhY2hlcyB0aGUgcHJvdmlkZWQgdGVtcGxhdGUgb3IgY29tcG9uZW50LiAqL1xuICBwcm90ZWN0ZWQgc25hY2tCYXJDb250YWluZXJDb21wb25lbnQ6IFR5cGU8SUJhb1NuYWNrQmFyQ29udGFpbmVyPiA9XG4gICAgQmFvU25hY2tCYXJDb250YWluZXJDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgY3VycmVudCBzbmFjayBiYXIgaW4gdGhlIHZpZXcgKmF0IHRoaXMgbGV2ZWwqIChpbiB0aGUgQW5ndWxhciBpbmplY3RvciB0cmVlKS5cbiAgICogSWYgdGhlcmUgaXMgYSBwYXJlbnQgc25hY2stYmFyIHNlcnZpY2UsIGFsbCBvcGVyYXRpb25zIHNob3VsZCBkZWxlZ2F0ZSB0byB0aGF0IHBhcmVudFxuICAgKiB2aWEgYF9vcGVuZWRTbmFja0JhclJlZmAuXG4gICAqL1xuICBwcml2YXRlIF9zbmFja0JhclJlZkF0VGhpc0xldmVsOiBCYW9TbmFja0JhclJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIF9saXZlOiBMaXZlQW5ub3VuY2VyLFxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwcml2YXRlIF9wYXJlbnRTbmFja0JhcjogQmFvU25hY2tCYXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoQkFPX1NOQUNLX0JBUl9ERUZBVUxUX09QVElPTlMpXG4gICAgcHJpdmF0ZSBfZGVmYXVsdENvbmZpZzogQmFvU25hY2tCYXJDb25maWdcbiAgKSB7fVxuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIGN1cnJlbnRseSBvcGVuZWQgc25hY2tiYXIgYXQgKmFueSogbGV2ZWwuICovXG4gIGdldCBfb3BlbmVkU25hY2tCYXJSZWYoKTogQmFvU25hY2tCYXJSZWY8YW55PiB8IG51bGwge1xuICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuX3BhcmVudFNuYWNrQmFyO1xuICAgIHJldHVybiBwYXJlbnQgPyBwYXJlbnQuX29wZW5lZFNuYWNrQmFyUmVmIDogdGhpcy5fc25hY2tCYXJSZWZBdFRoaXNMZXZlbDtcbiAgfVxuXG4gIHNldCBfb3BlbmVkU25hY2tCYXJSZWYodmFsdWU6IEJhb1NuYWNrQmFyUmVmPGFueT4gfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX3BhcmVudFNuYWNrQmFyKSB7XG4gICAgICB0aGlzLl9wYXJlbnRTbmFja0Jhci5fb3BlbmVkU25hY2tCYXJSZWYgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc25hY2tCYXJSZWZBdFRoaXNMZXZlbCA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuZCBkaXNwYXRjaGVzIGEgc25hY2sgYmFyIHdpdGggYSBjdXN0b20gY29tcG9uZW50IGZvciB0aGUgY29udGVudCwgcmVtb3ZpbmcgYW55XG4gICAqIGN1cnJlbnRseSBvcGVuZWQgc25hY2sgYmFycy5cbiAgICpcbiAgICogQHBhcmFtIGNvbXBvbmVudCBDb21wb25lbnQgdG8gYmUgaW5zdGFudGlhdGVkLlxuICAgKiBAcGFyYW0gY29uZmlnIEV4dHJhIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBzbmFjayBiYXIuXG4gICAqL1xuICBwdWJsaWMgb3BlbkZyb21Db21wb25lbnQ8VD4oXG4gICAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LFxuICAgIGNvbmZpZz86IEJhb1NuYWNrQmFyQ29uZmlnXG4gICk6IEJhb1NuYWNrQmFyUmVmPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5hdHRhY2goY29tcG9uZW50LCBjb25maWcpIGFzIEJhb1NuYWNrQmFyUmVmPFQ+O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW5kIGRpc3BhdGNoZXMgYSBzbmFjayBiYXIgd2l0aCBhIGN1c3RvbSB0ZW1wbGF0ZSBmb3IgdGhlIGNvbnRlbnQsIHJlbW92aW5nIGFueVxuICAgKiBjdXJyZW50bHkgb3BlbmVkIHNuYWNrIGJhcnMuXG4gICAqXG4gICAqIEBwYXJhbSB0ZW1wbGF0ZSBUZW1wbGF0ZSB0byBiZSBpbnN0YW50aWF0ZWQuXG4gICAqIEBwYXJhbSBjb25maWcgRXh0cmEgY29uZmlndXJhdGlvbiBmb3IgdGhlIHNuYWNrIGJhci5cbiAgICovXG4gIHB1YmxpYyBvcGVuRnJvbVRlbXBsYXRlKFxuICAgIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIGNvbmZpZz86IEJhb1NuYWNrQmFyQ29uZmlnXG4gICk6IEJhb1NuYWNrQmFyUmVmPEVtYmVkZGVkVmlld1JlZjxhbnk+PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtcmV0dXJuXG4gICAgcmV0dXJuIHRoaXMuYXR0YWNoKHRlbXBsYXRlLCBjb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgc25hY2tiYXIgd2l0aCBhIG1lc3NhZ2UgYW5kIGFuIG9wdGlvbmFsIGFjdGlvbi5cbiAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gc2hvdyBpbiB0aGUgc25hY2tiYXIuXG4gICAqIEBwYXJhbSB0b2FzdFR5cGUgVGhlIHR5cGUgb2Ygb2YgdG9hc3QgdG8gZGlzcGxheSB0aGUgc25hY2tiYXIuXG4gICAqIEBwYXJhbSBhY3Rpb25MYWJlbE9ySWNvbiBUaGUgbGFiZWwgb3IgaWNvbiBmb3IgdGhlIHNuYWNrYmFyIGFjdGlvbi5cbiAgICogQHBhcmFtIHNob3dDbG9zZSBJZiB0cnVlLCB0aGUgc25hY2tiYXIgd2lsbCByZXF1aXJlIHVzZXIgaW50ZXJhY3Rpb24gdG8gY2xvc2UuXG4gICAqIEBwYXJhbSBjb25maWcgQWRkaXRpb25hbCBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBzbmFja2Jhci5cbiAgICovXG4gIHB1YmxpYyBvcGVuKGNvbmZpZzogQmFvU25hY2tCYXJDb25maWcpOiBCYW9TbmFja0JhclJlZjxJVGV4dE9ubHlTbmFja0Jhcj4ge1xuICAgIGNvbnN0IF9jb25maWcgPSB7IC4uLnRoaXMuX2RlZmF1bHRDb25maWcsIC4uLmNvbmZpZyB9O1xuXG4gICAgLy8gU2luY2UgdGhlIHVzZXIgZG9lc24ndCBoYXZlIGFjY2VzcyB0byB0aGUgY29tcG9uZW50LCB3ZSBjYW5cbiAgICAvLyBvdmVycmlkZSB0aGUgZGF0YSB0byBwYXNzIGluIG91ciBvd24gbWVzc2FnZSwgYWN0aW9uIGFuZCB0eXBlLlxuICAgIF9jb25maWcuZGF0YSA9IHtcbiAgICAgIG1lc3NhZ2U6IF9jb25maWcubWVzc2FnZSxcbiAgICAgIHRvYXN0VHlwZTogX2NvbmZpZy50b2FzdFR5cGUsXG4gICAgICBhY3Rpb25MYWJlbE9ySWNvbjogX2NvbmZpZy5hY3Rpb25MYWJlbE9ySWNvbixcbiAgICAgIHNob3dDbG9zZTogX2NvbmZpZy5zaG93Q2xvc2VcbiAgICB9O1xuXG4gICAgaWYgKF9jb25maWcuc2hvd0Nsb3NlKSBfY29uZmlnLmR1cmF0aW9uID0gMDtcblxuICAgIGlmICghX2NvbmZpZy5hbm5vdW5jZW1lbnRNZXNzYWdlKSB7XG4gICAgICBfY29uZmlnLmFubm91bmNlbWVudE1lc3NhZ2UgPSBfY29uZmlnLm1lc3NhZ2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMub3BlbkZyb21Db21wb25lbnQodGhpcy5zaW1wbGVTbmFja0JhckNvbXBvbmVudCwgX2NvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogRGlzbWlzc2VzIHRoZSBjdXJyZW50bHktdmlzaWJsZSBzbmFjayBiYXIuXG4gICAqL1xuICBwdWJsaWMgZGlzbWlzcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fb3BlbmVkU25hY2tCYXJSZWYpIHtcbiAgICAgIHRoaXMuX29wZW5lZFNuYWNrQmFyUmVmLmRpc21pc3MoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgLy8gT25seSBkaXNtaXNzIHRoZSBzbmFjayBiYXIgYXQgdGhlIGN1cnJlbnQgbGV2ZWwgb24gZGVzdHJveS5cbiAgICBpZiAodGhpcy5fc25hY2tCYXJSZWZBdFRoaXNMZXZlbCkge1xuICAgICAgdGhpcy5fc25hY2tCYXJSZWZBdFRoaXNMZXZlbC5kaXNtaXNzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaGVzIHRoZSBzbmFjayBiYXIgY29udGFpbmVyIGNvbXBvbmVudCB0byB0aGUgb3ZlcmxheS5cbiAgICovXG4gIHByaXZhdGUgYXR0YWNoU25hY2tCYXJDb250YWluZXIoXG4gICAgb3ZlcmxheVJlZjogT3ZlcmxheVJlZixcbiAgICBjb25maWc6IEJhb1NuYWNrQmFyQ29uZmlnXG4gICk6IElCYW9TbmFja0JhckNvbnRhaW5lciB7XG4gICAgY29uc3QgdXNlckluamVjdG9yID1cbiAgICAgIGNvbmZpZyAmJiBjb25maWcudmlld0NvbnRhaW5lclJlZiAmJiBjb25maWcudmlld0NvbnRhaW5lclJlZi5pbmplY3RvcjtcbiAgICBjb25zdCBpbmplY3RvciA9IG5ldyBQb3J0YWxJbmplY3RvcihcbiAgICAgIHVzZXJJbmplY3RvciB8fCB0aGlzLl9pbmplY3RvcixcbiAgICAgIG5ldyBXZWFrTWFwKFtbQmFvU25hY2tCYXJDb25maWcsIGNvbmZpZ11dKVxuICAgICk7XG5cbiAgICBjb25zdCBjb250YWluZXJQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFxuICAgICAgdGhpcy5zbmFja0JhckNvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgaW5qZWN0b3JcbiAgICApO1xuICAgIGNvbnN0IGNvbnRhaW5lclJlZjogQ29tcG9uZW50UmVmPElCYW9TbmFja0JhckNvbnRhaW5lcj4gPVxuICAgICAgb3ZlcmxheVJlZi5hdHRhY2goY29udGFpbmVyUG9ydGFsKTtcbiAgICBjb250YWluZXJSZWYuaW5zdGFuY2Uuc25hY2tCYXJDb25maWcgPSBjb25maWc7XG4gICAgcmV0dXJuIGNvbnRhaW5lclJlZi5pbnN0YW5jZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQbGFjZXMgYSBuZXcgY29tcG9uZW50IG9yIGEgdGVtcGxhdGUgYXMgdGhlIGNvbnRlbnQgb2YgdGhlIHNuYWNrIGJhciBjb250YWluZXIuXG4gICAqL1xuICBwcml2YXRlIGF0dGFjaDxUPihcbiAgICBjb250ZW50OiBDb21wb25lbnRUeXBlPFQ+IHwgVGVtcGxhdGVSZWY8VD4sXG4gICAgdXNlckNvbmZpZz86IEJhb1NuYWNrQmFyQ29uZmlnXG4gICk6IEJhb1NuYWNrQmFyUmVmPFQgfCBFbWJlZGRlZFZpZXdSZWY8YW55Pj4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgIC4uLm5ldyBCYW9TbmFja0JhckNvbmZpZygpLFxuICAgICAgLi4udGhpcy5fZGVmYXVsdENvbmZpZyxcbiAgICAgIC4uLnVzZXJDb25maWdcbiAgICB9O1xuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLmNyZWF0ZU92ZXJsYXkoY29uZmlnKTtcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmF0dGFjaFNuYWNrQmFyQ29udGFpbmVyKG92ZXJsYXlSZWYsIGNvbmZpZyk7XG4gICAgY29uc3Qgc25hY2tCYXJSZWYgPSBuZXcgQmFvU25hY2tCYXJSZWY8VCB8IEVtYmVkZGVkVmlld1JlZjxhbnk+PihcbiAgICAgIGNvbnRhaW5lcixcbiAgICAgIG92ZXJsYXlSZWZcbiAgICApO1xuXG4gICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbChjb250ZW50LCBudWxsISwge1xuICAgICAgICAkaW1wbGljaXQ6IGNvbmZpZy5kYXRhLFxuICAgICAgICBzbmFja0JhclJlZlxuICAgICAgfSBhcyBhbnkpO1xuXG4gICAgICBzbmFja0JhclJlZi5pbnN0YW5jZSA9IGNvbnRhaW5lci5hdHRhY2hUZW1wbGF0ZVBvcnRhbChwb3J0YWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpbmplY3RvciA9IHRoaXMuY3JlYXRlSW5qZWN0b3IoY29uZmlnLCBzbmFja0JhclJlZik7XG4gICAgICBjb25zdCBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbnRlbnQsIHVuZGVmaW5lZCwgaW5qZWN0b3IpO1xuICAgICAgY29uc3QgY29udGVudFJlZiA9IGNvbnRhaW5lci5hdHRhY2hDb21wb25lbnRQb3J0YWw8VD4ocG9ydGFsKTtcblxuICAgICAgLy8gV2UgY2FuJ3QgcGFzcyB0aGlzIHZpYSB0aGUgaW5qZWN0b3IsIGJlY2F1c2UgdGhlIGluamVjdG9yIGlzIGNyZWF0ZWQgZWFybGllci5cbiAgICAgIHNuYWNrQmFyUmVmLmluc3RhbmNlID0gY29udGVudFJlZi5pbnN0YW5jZTtcbiAgICB9XG5cbiAgICB0aGlzLmFuaW1hdGVTbmFja0JhcihzbmFja0JhclJlZiwgY29uZmlnKTtcbiAgICB0aGlzLl9vcGVuZWRTbmFja0JhclJlZiA9IHNuYWNrQmFyUmVmO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXJldHVyblxuICAgIHJldHVybiB0aGlzLl9vcGVuZWRTbmFja0JhclJlZjtcbiAgfVxuXG4gIC8qKiBBbmltYXRlcyB0aGUgb2xkIHNuYWNrIGJhciBvdXQgYW5kIHRoZSBuZXcgb25lIGluLiAqL1xuICBwcml2YXRlIGFuaW1hdGVTbmFja0JhcihcbiAgICBzbmFja0JhclJlZjogQmFvU25hY2tCYXJSZWY8YW55PixcbiAgICBjb25maWc6IEJhb1NuYWNrQmFyQ29uZmlnXG4gICkge1xuICAgIC8vIFdoZW4gdGhlIHNuYWNrYmFyIGlzIGRpc21pc3NlZCwgY2xlYXIgdGhlIHJlZmVyZW5jZSB0byBpdC5cbiAgICBzbmFja0JhclJlZi5hZnRlckRpc21pc3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAvLyBDbGVhciB0aGUgc25hY2tiYXIgcmVmIGlmIGl0IGhhc24ndCBhbHJlYWR5IGJlZW4gcmVwbGFjZWQgYnkgYSBuZXdlciBzbmFja2Jhci5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlcWVxZXFcbiAgICAgIGlmICh0aGlzLl9vcGVuZWRTbmFja0JhclJlZiA9PSBzbmFja0JhclJlZikge1xuICAgICAgICB0aGlzLl9vcGVuZWRTbmFja0JhclJlZiA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb25maWcuYW5ub3VuY2VtZW50TWVzc2FnZSkge1xuICAgICAgICB0aGlzLl9saXZlLmNsZWFyKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5fb3BlbmVkU25hY2tCYXJSZWYpIHtcbiAgICAgIC8vIElmIGEgc25hY2sgYmFyIGlzIGFscmVhZHkgaW4gdmlldywgZGlzbWlzcyBpdCBhbmQgZW50ZXIgdGhlXG4gICAgICAvLyBuZXcgc25hY2sgYmFyIGFmdGVyIGV4aXQgYW5pbWF0aW9uIGlzIGNvbXBsZXRlLlxuICAgICAgdGhpcy5fb3BlbmVkU25hY2tCYXJSZWYuYWZ0ZXJEaXNtaXNzZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBzbmFja0JhclJlZi5jb250YWluZXJJbnN0YW5jZS5lbnRlcigpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLl9vcGVuZWRTbmFja0JhclJlZi5kaXNtaXNzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIElmIG5vIHNuYWNrIGJhciBpcyBpbiB2aWV3LCBlbnRlciB0aGUgbmV3IHNuYWNrIGJhci5cbiAgICAgIHNuYWNrQmFyUmVmLmNvbnRhaW5lckluc3RhbmNlLmVudGVyKCk7XG4gICAgfVxuXG4gICAgLy8gSWYgYSBkaXNtaXNzIHRpbWVvdXQgaXMgcHJvdmlkZWQsIHNldCB1cCBkaXNtaXNzIGJhc2VkIG9uIGFmdGVyIHRoZSBzbmFja2JhciBpcyBvcGVuZWQuXG4gICAgaWYgKGNvbmZpZy5kdXJhdGlvbiAmJiBjb25maWcuZHVyYXRpb24gPiAwKSB7XG4gICAgICBzbmFja0JhclJlZlxuICAgICAgICAuYWZ0ZXJPcGVuZWQoKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHNuYWNrQmFyUmVmLmRpc21pc3NBZnRlcihjb25maWcuZHVyYXRpb24pKTtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLmFubm91bmNlbWVudE1lc3NhZ2UpIHtcbiAgICAgIHZvaWQgdGhpcy5fbGl2ZS5hbm5vdW5jZShjb25maWcuYW5ub3VuY2VtZW50TWVzc2FnZSwgY29uZmlnLnBvbGl0ZW5lc3MpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IG92ZXJsYXkgYW5kIHBsYWNlcyBpdCBpbiB0aGUgY29ycmVjdCBsb2NhdGlvbi5cbiAgICogQHBhcmFtIGNvbmZpZyBUaGUgdXNlci1zcGVjaWZpZWQgc25hY2sgYmFyIGNvbmZpZy5cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlT3ZlcmxheShjb25maWc6IEJhb1NuYWNrQmFyQ29uZmlnKTogT3ZlcmxheVJlZiB7XG4gICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKCk7XG4gICAgb3ZlcmxheUNvbmZpZy5kaXJlY3Rpb24gPSBjb25maWcuZGlyZWN0aW9uO1xuXG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKTtcbiAgICAvLyBTZXQgaG9yaXpvbnRhbCBwb3NpdGlvbi5cbiAgICBjb25zdCBpc1J0bCA9IGNvbmZpZy5kaXJlY3Rpb24gPT09ICdydGwnO1xuICAgIGNvbnN0IGlzTGVmdCA9XG4gICAgICBjb25maWcuaG9yaXpvbnRhbFBvc2l0aW9uID09PSAnbGVmdCcgfHxcbiAgICAgIChjb25maWcuaG9yaXpvbnRhbFBvc2l0aW9uID09PSAnc3RhcnQnICYmICFpc1J0bCkgfHxcbiAgICAgIChjb25maWcuaG9yaXpvbnRhbFBvc2l0aW9uID09PSAnZW5kJyAmJiBpc1J0bCk7XG4gICAgY29uc3QgaXNSaWdodCA9ICFpc0xlZnQgJiYgY29uZmlnLmhvcml6b250YWxQb3NpdGlvbiAhPT0gJ2NlbnRlcic7XG4gICAgaWYgKGlzTGVmdCkge1xuICAgICAgcG9zaXRpb25TdHJhdGVneS5sZWZ0KCcwJyk7XG4gICAgfSBlbHNlIGlmIChpc1JpZ2h0KSB7XG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LnJpZ2h0KCcwJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3kuY2VudGVySG9yaXpvbnRhbGx5KCk7XG4gICAgfVxuICAgIC8vIFNldCBob3Jpem9udGFsIHBvc2l0aW9uLlxuICAgIGlmIChjb25maWcudmVydGljYWxQb3NpdGlvbiA9PT0gJ3RvcCcpIHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3kudG9wKCcwJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3kuYm90dG9tKCcwJyk7XG4gICAgfVxuXG4gICAgb3ZlcmxheUNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5ID0gcG9zaXRpb25TdHJhdGVneTtcbiAgICByZXR1cm4gdGhpcy5fb3ZlcmxheS5jcmVhdGUob3ZlcmxheUNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbmplY3RvciB0byBiZSB1c2VkIGluc2lkZSBvZiBhIHNuYWNrIGJhciBjb21wb25lbnQuXG4gICAqIEBwYXJhbSBjb25maWcgQ29uZmlnIHRoYXQgd2FzIHVzZWQgdG8gY3JlYXRlIHRoZSBzbmFjayBiYXIuXG4gICAqIEBwYXJhbSBzbmFja0JhclJlZiBSZWZlcmVuY2UgdG8gdGhlIHNuYWNrIGJhci5cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlSW5qZWN0b3I8VD4oXG4gICAgY29uZmlnOiBCYW9TbmFja0JhckNvbmZpZyxcbiAgICBzbmFja0JhclJlZjogQmFvU25hY2tCYXJSZWY8VD5cbiAgKTogUG9ydGFsSW5qZWN0b3Ige1xuICAgIGNvbnN0IHVzZXJJbmplY3RvciA9XG4gICAgICBjb25maWcgJiYgY29uZmlnLnZpZXdDb250YWluZXJSZWYgJiYgY29uZmlnLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3I7XG5cbiAgICByZXR1cm4gbmV3IFBvcnRhbEluamVjdG9yKFxuICAgICAgdXNlckluamVjdG9yIHx8IHRoaXMuX2luamVjdG9yLFxuICAgICAgbmV3IFdlYWtNYXA8YW55LCBhbnk+KFtcbiAgICAgICAgW0Jhb1NuYWNrQmFyUmVmLCBzbmFja0JhclJlZl0sXG4gICAgICAgIFtCQU9fU05BQ0tfQkFSX0RBVEEsIGNvbmZpZy5kYXRhXVxuICAgICAgXSlcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2023 Ville de Montreal. All rights reserved.
3
+ * Licensed under the MIT license.
4
+ * See LICENSE file in the project root for full license information.
5
+ */
6
+ export * from './module';
7
+ export * from './system-header.component';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXVpL3NyYy9saWIvc3lzdGVtLWhlYWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjMgVmlsbGUgZGUgTW9udHJlYWwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBTZWUgTElDRU5TRSBmaWxlIGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zeXN0ZW0taGVhZGVyLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,33 @@
1
+ /*
2
+ * Copyright (c) 2023 Ville de Montreal. All rights reserved.
3
+ * Licensed under the MIT license.
4
+ * See LICENSE file in the project root for full license information.
5
+ */
6
+ import { CommonModule } from '@angular/common';
7
+ import { NgModule } from '@angular/core';
8
+ import { BaoBackNavigationInsert, BaoSystemHeaderComponent, BaoBackNavigationComponent } from './system-header.component';
9
+ import { BaoIconModule } from '../icon';
10
+ import * as i0 from "@angular/core";
11
+ const SYSTEM_HEADER_DIRECTIVES = [
12
+ BaoSystemHeaderComponent,
13
+ BaoBackNavigationInsert,
14
+ BaoBackNavigationComponent
15
+ ];
16
+ export class BaoSystemHeaderModule {
17
+ }
18
+ BaoSystemHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaoSystemHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ BaoSystemHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaoSystemHeaderModule, declarations: [BaoSystemHeaderComponent,
20
+ BaoBackNavigationInsert,
21
+ BaoBackNavigationComponent], imports: [CommonModule, BaoIconModule], exports: [BaoSystemHeaderComponent,
22
+ BaoBackNavigationInsert,
23
+ BaoBackNavigationComponent] });
24
+ BaoSystemHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaoSystemHeaderModule, imports: [[CommonModule, BaoIconModule]] });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaoSystemHeaderModule, decorators: [{
26
+ type: NgModule,
27
+ args: [{
28
+ imports: [CommonModule, BaoIconModule],
29
+ declarations: [SYSTEM_HEADER_DIRECTIVES],
30
+ exports: [SYSTEM_HEADER_DIRECTIVES]
31
+ }]
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11aS9zcmMvbGliL3N5c3RlbS1oZWFkZXIvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QiwwQkFBMEIsRUFDM0IsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUV4QyxNQUFNLHdCQUF3QixHQUFHO0lBQy9CLHdCQUF3QjtJQUN4Qix1QkFBdUI7SUFDdkIsMEJBQTBCO0NBQzNCLENBQUM7QUFPRixNQUFNLE9BQU8scUJBQXFCOzttSEFBckIscUJBQXFCO29IQUFyQixxQkFBcUIsaUJBVmhDLHdCQUF3QjtRQUN4Qix1QkFBdUI7UUFDdkIsMEJBQTBCLGFBSWhCLFlBQVksRUFBRSxhQUFhLGFBTnJDLHdCQUF3QjtRQUN4Qix1QkFBdUI7UUFDdkIsMEJBQTBCO29IQVFmLHFCQUFxQixZQUp2QixDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7NEZBSTNCLHFCQUFxQjtrQkFMakMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO29CQUN0QyxZQUFZLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMyBWaWxsZSBkZSBNb250cmVhbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIFNlZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICovXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJhb0JhY2tOYXZpZ2F0aW9uSW5zZXJ0LFxuICBCYW9TeXN0ZW1IZWFkZXJDb21wb25lbnQsXG4gIEJhb0JhY2tOYXZpZ2F0aW9uQ29tcG9uZW50XG59IGZyb20gJy4vc3lzdGVtLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFvSWNvbk1vZHVsZSB9IGZyb20gJy4uL2ljb24nO1xuXG5jb25zdCBTWVNURU1fSEVBREVSX0RJUkVDVElWRVMgPSBbXG4gIEJhb1N5c3RlbUhlYWRlckNvbXBvbmVudCxcbiAgQmFvQmFja05hdmlnYXRpb25JbnNlcnQsXG4gIEJhb0JhY2tOYXZpZ2F0aW9uQ29tcG9uZW50XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCYW9JY29uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbU1lTVEVNX0hFQURFUl9ESVJFQ1RJVkVTXSxcbiAgZXhwb3J0czogW1NZU1RFTV9IRUFERVJfRElSRUNUSVZFU11cbn0pXG5leHBvcnQgY2xhc3MgQmFvU3lzdGVtSGVhZGVyTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,128 @@
1
+ import { ChangeDetectionStrategy, Component, Directive, Input, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { Breakpoints } from '../core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../icon/icon.component";
5
+ import * as i2 from "@angular/cdk/layout";
6
+ /**
7
+ * This component is dynamically added to replace breadcrumb when System Header is viewed on tablet or mobile screens.
8
+ * Used internally by BaoSystemHeaderComponent only, not to be used by host application.
9
+ */
10
+ export class BaoBackNavigationComponent {
11
+ constructor(renderer, elementRef) {
12
+ this.renderer = renderer;
13
+ this.elementRef = elementRef;
14
+ }
15
+ ngOnChanges(changes) {
16
+ if (changes['link'] && changes['link'].currentValue) {
17
+ this.renderer.setAttribute(this.elementRef.nativeElement.children[0], 'href', changes['link'].currentValue);
18
+ }
19
+ }
20
+ }
21
+ BaoBackNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaoBackNavigationComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
22
+ BaoBackNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: BaoBackNavigationComponent, selector: "bao-back-navigation-component", inputs: { link: "link" }, host: { classAttribute: "bao-system-header-back-button" }, usesOnChanges: true, ngImport: i0, template: ` <a>
23
+ <bao-icon
24
+ color="action"
25
+ title="arrow-left"
26
+ svgIcon="icon-arrow-left"
27
+ size="x-small"
28
+ ></bao-icon>
29
+ </a>`, isInline: true, components: [{ type: i1.BaoIconComponent, selector: "bao-icon", inputs: ["color", "size", "svgIcon", "title"], exportAs: ["baoIcon"] }] });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaoBackNavigationComponent, decorators: [{
31
+ type: Component,
32
+ args: [{
33
+ selector: 'bao-back-navigation-component',
34
+ template: ` <a>
35
+ <bao-icon
36
+ color="action"
37
+ title="arrow-left"
38
+ svgIcon="icon-arrow-left"
39
+ size="x-small"
40
+ ></bao-icon>
41
+ </a>`,
42
+ host: {
43
+ class: 'bao-system-header-back-button'
44
+ }
45
+ }]
46
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { link: [{
47
+ type: Input
48
+ }] } });
49
+ /**
50
+ * This directive is to mark the template where the BaoBackNavigationComponent should be dynamically inserted,
51
+ * when a Breadcrumb component needs to be replaced
52
+ */
53
+ export class BaoBackNavigationInsert {
54
+ constructor(viewContainerRef) {
55
+ this.viewContainerRef = viewContainerRef;
56
+ }
57
+ }
58
+ BaoBackNavigationInsert.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaoBackNavigationInsert, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
59
+ BaoBackNavigationInsert.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: BaoBackNavigationInsert, selector: "[backNavigationInsert]", ngImport: i0 });
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaoBackNavigationInsert, decorators: [{
61
+ type: Directive,
62
+ args: [{
63
+ selector: '[backNavigationInsert]'
64
+ }]
65
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
66
+ export class BaoSystemHeaderComponent {
67
+ constructor(breakpointObserver, renderer) {
68
+ this.breakpointObserver = breakpointObserver;
69
+ this.renderer = renderer;
70
+ this.screenType = 'desktop';
71
+ }
72
+ get textContainerChildren() {
73
+ return Array.from(this.textContainer.nativeElement.children);
74
+ }
75
+ ngOnInit() {
76
+ if ([Breakpoints.XSmall, Breakpoints.Small].some(size => this.breakpointObserver.isMatched(size))) {
77
+ this.screenType = 'mobile';
78
+ }
79
+ else if (this.breakpointObserver.isMatched(Breakpoints.Medium)) {
80
+ this.screenType = 'tablet';
81
+ }
82
+ else if ([Breakpoints.Large, Breakpoints.XLarge].some(size => this.breakpointObserver.isMatched(size))) {
83
+ this.screenType = 'desktop';
84
+ }
85
+ }
86
+ ngAfterViewInit() {
87
+ this.formatNavigation();
88
+ this.applySizeClass();
89
+ }
90
+ formatNavigation() {
91
+ // If view is rendered on a mobile/tablet screen
92
+ if (this.screenType == 'mobile' || this.screenType == 'tablet') {
93
+ if (this.textContainerChildren[0].className == 'bao-breadcrumb') {
94
+ // Retrieve link of parent page
95
+ const breadcrumbElementsList = this.textContainerChildren[0].children[0];
96
+ const breadcrumbLength = breadcrumbElementsList.children.length;
97
+ const parentLink = breadcrumbElementsList.children[breadcrumbLength - 2].attributes['href'].value;
98
+ // Remove Breadcrumb component and replace it with back button
99
+ this.renderer.removeChild(this.textContainer.nativeElement, this.textContainerChildren[0]);
100
+ const viewContainerRef = this.backButtonInsert.viewContainerRef;
101
+ viewContainerRef.clear();
102
+ const componentRef = viewContainerRef.createComponent(BaoBackNavigationComponent);
103
+ componentRef.instance.link = parentLink;
104
+ }
105
+ }
106
+ }
107
+ applySizeClass() {
108
+ const tagInfoContainer = this.textContainer.nativeElement.childNodes[this.textContainerChildren.length - 1];
109
+ if (this.screenType === 'mobile') {
110
+ this.renderer.addClass(tagInfoContainer, 'mobile');
111
+ }
112
+ }
113
+ }
114
+ BaoSystemHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaoSystemHeaderComponent, deps: [{ token: i2.BreakpointObserver }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
115
+ BaoSystemHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: BaoSystemHeaderComponent, selector: "bao-system-header", host: { classAttribute: "bao-system-header" }, viewQueries: [{ propertyName: "textContainer", first: true, predicate: ["textContainer"], descendants: true }, { propertyName: "backButtonInsert", first: true, predicate: BaoBackNavigationInsert, descendants: true, static: true }], ngImport: i0, template: "<div class=\"left-side-content\">\n <div class=\"back-navigation-container\">\n <ng-content select=\"a\"></ng-content>\n <ng-template backNavigationInsert></ng-template>\n </div>\n <div #textContainer class=\"text-content\">\n <ng-content select=\"bao-breadcrumb\"></ng-content>\n <ng-content select=\"h1\"></ng-content>\n <div class=\"tag-info-container\">\n <ng-content select=\"bao-tag\"></ng-content>\n <span class=\"additional-info\">\n <ng-content select=\"span\"></ng-content>\n </span>\n </div>\n </div>\n</div>\n<div class=\"button-container\">\n <ng-content></ng-content>\n</div>\n", styles: ["@charset \"UTF-8\";.bao-container{padding-right:16px;padding-left:16px;margin-right:auto;margin-left:auto;width:100%}@media (min-width: 576px){.bao-container{max-width:576px}}@media (min-width: 768px){.bao-container{max-width:768px}}@media (min-width: 992px){.bao-container{max-width:992px}}@media (min-width: 1200px){.bao-container{max-width:1200px}}.bao-row{display:flex;flex-wrap:wrap;margin-right:-16px;margin-left:-16px}.bao-col-12,.bao-col-lg-7{position:relative;width:100%;padding-right:1rem;padding-left:1rem}@media (min-width: 992px){.bao-col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}}.bao-system-header{display:flex;justify-content:flex-start}.bao-system-header .left-side-content{display:inline-flex;width:75%}.bao-system-header .left-side-content .back-navigation-container a{margin-right:1.25rem;border-bottom:none}.bao-system-header .left-side-content .back-navigation-container a:hover{cursor:pointer}.bao-system-header .left-side-content .text-content{width:100%}.bao-system-header .left-side-content .text-content h1{font-weight:700;color:#212529;font-size:1.5rem;line-height:2rem;margin-bottom:.5rem}.bao-system-header .left-side-content .text-content .tag-info-container{width:100%;display:block}.bao-system-header .left-side-content .text-content .tag-info-container>span:nth-child(2):before{content:\"\\b7\";margin:0 .5rem}.bao-system-header .left-side-content .text-content .tag-info-container .additional-info>*{font-weight:400;font-size:.875rem;line-height:1.25rem}.bao-system-header .left-side-content .text-content .tag-info-container.mobile .bao-tag{margin-bottom:.25rem}.bao-system-header .left-side-content .text-content .tag-info-container.mobile .additional-info{display:block}.bao-system-header .left-side-content .text-content .tag-info-container.mobile .additional-info:before{content:none}.bao-system-header .left-side-content .text-content .tag-info-container>.bao-tag{max-width:100%}.bao-system-header .left-side-content .text-content .tag-info-container>.bao-tag>span{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bao-system-header .button-container{flex-shrink:0;margin-left:auto}.bao-system-header .button-container .bao-button{margin-left:1rem}\n"], directives: [{ type: BaoBackNavigationInsert, selector: "[backNavigationInsert]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaoSystemHeaderComponent, decorators: [{
117
+ type: Component,
118
+ args: [{ selector: 'bao-system-header', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
119
+ class: 'bao-system-header'
120
+ }, template: "<div class=\"left-side-content\">\n <div class=\"back-navigation-container\">\n <ng-content select=\"a\"></ng-content>\n <ng-template backNavigationInsert></ng-template>\n </div>\n <div #textContainer class=\"text-content\">\n <ng-content select=\"bao-breadcrumb\"></ng-content>\n <ng-content select=\"h1\"></ng-content>\n <div class=\"tag-info-container\">\n <ng-content select=\"bao-tag\"></ng-content>\n <span class=\"additional-info\">\n <ng-content select=\"span\"></ng-content>\n </span>\n </div>\n </div>\n</div>\n<div class=\"button-container\">\n <ng-content></ng-content>\n</div>\n", styles: ["@charset \"UTF-8\";.bao-container{padding-right:16px;padding-left:16px;margin-right:auto;margin-left:auto;width:100%}@media (min-width: 576px){.bao-container{max-width:576px}}@media (min-width: 768px){.bao-container{max-width:768px}}@media (min-width: 992px){.bao-container{max-width:992px}}@media (min-width: 1200px){.bao-container{max-width:1200px}}.bao-row{display:flex;flex-wrap:wrap;margin-right:-16px;margin-left:-16px}.bao-col-12,.bao-col-lg-7{position:relative;width:100%;padding-right:1rem;padding-left:1rem}@media (min-width: 992px){.bao-col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}}.bao-system-header{display:flex;justify-content:flex-start}.bao-system-header .left-side-content{display:inline-flex;width:75%}.bao-system-header .left-side-content .back-navigation-container a{margin-right:1.25rem;border-bottom:none}.bao-system-header .left-side-content .back-navigation-container a:hover{cursor:pointer}.bao-system-header .left-side-content .text-content{width:100%}.bao-system-header .left-side-content .text-content h1{font-weight:700;color:#212529;font-size:1.5rem;line-height:2rem;margin-bottom:.5rem}.bao-system-header .left-side-content .text-content .tag-info-container{width:100%;display:block}.bao-system-header .left-side-content .text-content .tag-info-container>span:nth-child(2):before{content:\"\\b7\";margin:0 .5rem}.bao-system-header .left-side-content .text-content .tag-info-container .additional-info>*{font-weight:400;font-size:.875rem;line-height:1.25rem}.bao-system-header .left-side-content .text-content .tag-info-container.mobile .bao-tag{margin-bottom:.25rem}.bao-system-header .left-side-content .text-content .tag-info-container.mobile .additional-info{display:block}.bao-system-header .left-side-content .text-content .tag-info-container.mobile .additional-info:before{content:none}.bao-system-header .left-side-content .text-content .tag-info-container>.bao-tag{max-width:100%}.bao-system-header .left-side-content .text-content .tag-info-container>.bao-tag>span{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bao-system-header .button-container{flex-shrink:0;margin-left:auto}.bao-system-header .button-container .bao-button{margin-left:1rem}\n"] }]
121
+ }], ctorParameters: function () { return [{ type: i2.BreakpointObserver }, { type: i0.Renderer2 }]; }, propDecorators: { textContainer: [{
122
+ type: ViewChild,
123
+ args: ['textContainer', { static: false }]
124
+ }], backButtonInsert: [{
125
+ type: ViewChild,
126
+ args: [BaoBackNavigationInsert, { static: true }]
127
+ }] } });
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXVpL3NyYy9saWIvc3lzdGVtLWhlYWRlci9zeXN0ZW0taGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdWkvc3JjL2xpYi9zeXN0ZW0taGVhZGVyL3N5c3RlbS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsU0FBUyxFQUVULEtBQUssRUFLTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7Ozs7QUFFdEM7OztHQUdHO0FBZUgsTUFBTSxPQUFPLDBCQUEwQjtJQUVyQyxZQUNVLFFBQW1CLEVBQ25CLFVBQW1DO1FBRG5DLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7SUFDMUMsQ0FBQztJQUVKLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxFQUFFO1lBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQ3pDLE1BQU0sRUFDTixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUM3QixDQUFDO1NBQ0g7SUFDSCxDQUFDOzt3SEFmVSwwQkFBMEI7NEdBQTFCLDBCQUEwQiwrS0FaM0I7Ozs7Ozs7T0FPTDs0RkFLTSwwQkFBMEI7a0JBZHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLCtCQUErQjtvQkFDekMs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QUFlLENBQ25ELDBCQUEwQixDQUMzQixDQUFDO2dCQUNGLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQzthQUN6QztTQUNGO0lBQ0gsQ0FBQztJQUVPLGNBQWM7UUFDcEIsTUFBTSxnQkFBZ0IsR0FDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUN6QyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDdEMsQ0FBQztRQUNKLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxRQUFRLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDcEQ7SUFDSCxDQUFDOztzSEEzRVUsd0JBQXdCOzBHQUF4Qix3QkFBd0IsMlBBR3hCLHVCQUF1Qiw4RENuRnBDLDhuQkFtQkEsMnNFRCtDYSx1QkFBdUI7NEZBY3ZCLHdCQUF3QjtrQkFWcEMsU0FBUzsrQkFDRSxtQkFBbUIsaUJBR2QsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsbUJBQW1CO3FCQUMzQjtpSUFJTyxhQUFhO3NCQURwQixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBR3JDLGdCQUFnQjtzQkFEdkIsU0FBUzt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIzIFZpbGxlIGRlIE1vbnRyZWFsLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogU2VlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcHJvamVjdCByb290IGZvciBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi9cbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJyZWFrcG9pbnRzIH0gZnJvbSAnLi4vY29yZSc7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgaXMgZHluYW1pY2FsbHkgYWRkZWQgdG8gcmVwbGFjZSBicmVhZGNydW1iIHdoZW4gU3lzdGVtIEhlYWRlciBpcyB2aWV3ZWQgb24gdGFibGV0IG9yIG1vYmlsZSBzY3JlZW5zLlxuICogVXNlZCBpbnRlcm5hbGx5IGJ5IEJhb1N5c3RlbUhlYWRlckNvbXBvbmVudCBvbmx5LCBub3QgdG8gYmUgdXNlZCBieSBob3N0IGFwcGxpY2F0aW9uLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYW8tYmFjay1uYXZpZ2F0aW9uLWNvbXBvbmVudCcsXG4gIHRlbXBsYXRlOiBgIDxhPlxuICAgIDxiYW8taWNvblxuICAgICAgY29sb3I9XCJhY3Rpb25cIlxuICAgICAgdGl0bGU9XCJhcnJvdy1sZWZ0XCJcbiAgICAgIHN2Z0ljb249XCJpY29uLWFycm93LWxlZnRcIlxuICAgICAgc2l6ZT1cIngtc21hbGxcIlxuICAgID48L2Jhby1pY29uPlxuICA8L2E+YCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYmFvLXN5c3RlbS1oZWFkZXItYmFjay1idXR0b24nXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgQmFvQmFja05hdmlnYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBsaW5rOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICkge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2xpbmsnXSAmJiBjaGFuZ2VzWydsaW5rJ10uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0sXG4gICAgICAgICdocmVmJyxcbiAgICAgICAgY2hhbmdlc1snbGluayddLmN1cnJlbnRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGRpcmVjdGl2ZSBpcyB0byBtYXJrIHRoZSB0ZW1wbGF0ZSB3aGVyZSB0aGUgQmFvQmFja05hdmlnYXRpb25Db21wb25lbnQgc2hvdWxkIGJlIGR5bmFtaWNhbGx5IGluc2VydGVkLFxuICogd2hlbiBhIEJyZWFkY3J1bWIgY29tcG9uZW50IG5lZWRzIHRvIGJlIHJlcGxhY2VkXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tiYWNrTmF2aWdhdGlvbkluc2VydF0nXG59KVxuZXhwb3J0IGNsYXNzIEJhb0JhY2tOYXZpZ2F0aW9uSW5zZXJ0IHtcbiAgY29uc3RydWN0b3IocHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Jhby1zeXN0ZW0taGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N5c3RlbS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zeXN0ZW0taGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdiYW8tc3lzdGVtLWhlYWRlcidcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBCYW9TeXN0ZW1IZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQge1xuICBAVmlld0NoaWxkKCd0ZXh0Q29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHByaXZhdGUgdGV4dENvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoQmFvQmFja05hdmlnYXRpb25JbnNlcnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgYmFja0J1dHRvbkluc2VydDogQmFvQmFja05hdmlnYXRpb25JbnNlcnQ7XG5cbiAgcHVibGljIHNjcmVlblR5cGU6ICdtb2JpbGUnIHwgJ3RhYmxldCcgfCAnZGVza3RvcCcgPSAnZGVza3RvcCc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7fVxuXG4gIGdldCB0ZXh0Q29udGFpbmVyQ2hpbGRyZW4oKTogRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnRleHRDb250YWluZXIubmF0aXZlRWxlbWVudC5jaGlsZHJlbik7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoXG4gICAgICBbQnJlYWtwb2ludHMuWFNtYWxsLCBCcmVha3BvaW50cy5TbWFsbF0uc29tZShzaXplID0+XG4gICAgICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLmlzTWF0Y2hlZChzaXplKVxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy5zY3JlZW5UeXBlID0gJ21vYmlsZSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5pc01hdGNoZWQoQnJlYWtwb2ludHMuTWVkaXVtKSkge1xuICAgICAgdGhpcy5zY3JlZW5UeXBlID0gJ3RhYmxldCc7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIFtCcmVha3BvaW50cy5MYXJnZSwgQnJlYWtwb2ludHMuWExhcmdlXS5zb21lKHNpemUgPT5cbiAgICAgICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIuaXNNYXRjaGVkKHNpemUpXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aGlzLnNjcmVlblR5cGUgPSAnZGVza3RvcCc7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuZm9ybWF0TmF2aWdhdGlvbigpO1xuICAgIHRoaXMuYXBwbHlTaXplQ2xhc3MoKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0TmF2aWdhdGlvbigpIHtcbiAgICAvLyBJZiB2aWV3IGlzIHJlbmRlcmVkIG9uIGEgbW9iaWxlL3RhYmxldCBzY3JlZW5cbiAgICBpZiAodGhpcy5zY3JlZW5UeXBlID09ICdtb2JpbGUnIHx8IHRoaXMuc2NyZWVuVHlwZSA9PSAndGFibGV0Jykge1xuICAgICAgaWYgKHRoaXMudGV4dENvbnRhaW5lckNoaWxkcmVuWzBdLmNsYXNzTmFtZSA9PSAnYmFvLWJyZWFkY3J1bWInKSB7XG4gICAgICAgIC8vIFJldHJpZXZlIGxpbmsgb2YgcGFyZW50IHBhZ2VcbiAgICAgICAgY29uc3QgYnJlYWRjcnVtYkVsZW1lbnRzTGlzdCA9XG4gICAgICAgICAgdGhpcy50ZXh0Q29udGFpbmVyQ2hpbGRyZW5bMF0uY2hpbGRyZW5bMF07XG4gICAgICAgIGNvbnN0IGJyZWFkY3J1bWJMZW5ndGggPSBicmVhZGNydW1iRWxlbWVudHNMaXN0LmNoaWxkcmVuLmxlbmd0aDtcbiAgICAgICAgY29uc3QgcGFyZW50TGluayA9XG4gICAgICAgICAgYnJlYWRjcnVtYkVsZW1lbnRzTGlzdC5jaGlsZHJlblticmVhZGNydW1iTGVuZ3RoIC0gMl0uYXR0cmlidXRlc1tcbiAgICAgICAgICAgICdocmVmJ1xuICAgICAgICAgIF0udmFsdWU7XG4gICAgICAgIC8vIFJlbW92ZSBCcmVhZGNydW1iIGNvbXBvbmVudCBhbmQgcmVwbGFjZSBpdCB3aXRoIGJhY2sgYnV0dG9uXG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoXG4gICAgICAgICAgdGhpcy50ZXh0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgdGhpcy50ZXh0Q29udGFpbmVyQ2hpbGRyZW5bMF1cbiAgICAgICAgKTtcbiAgICAgICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZiA9IHRoaXMuYmFja0J1dHRvbkluc2VydC52aWV3Q29udGFpbmVyUmVmO1xuICAgICAgICB2aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgICAgIEJhb0JhY2tOYXZpZ2F0aW9uQ29tcG9uZW50XG4gICAgICAgICk7XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5saW5rID0gcGFyZW50TGluaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5U2l6ZUNsYXNzKCkge1xuICAgIGNvbnN0IHRhZ0luZm9Db250YWluZXIgPVxuICAgICAgdGhpcy50ZXh0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2Rlc1tcbiAgICAgICAgdGhpcy50ZXh0Q29udGFpbmVyQ2hpbGRyZW4ubGVuZ3RoIC0gMVxuICAgICAgXTtcbiAgICBpZiAodGhpcy5zY3JlZW5UeXBlID09PSAnbW9iaWxlJykge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0YWdJbmZvQ29udGFpbmVyLCAnbW9iaWxlJyk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibGVmdC1zaWRlLWNvbnRlbnRcIj5cbiAgPGRpdiBjbGFzcz1cImJhY2stbmF2aWdhdGlvbi1jb250YWluZXJcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy10ZW1wbGF0ZSBiYWNrTmF2aWdhdGlvbkluc2VydD48L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPGRpdiAjdGV4dENvbnRhaW5lciBjbGFzcz1cInRleHQtY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImJhby1icmVhZGNydW1iXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImgxXCI+PC9uZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJ0YWctaW5mby1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImJhby10YWdcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8c3BhbiBjbGFzcz1cImFkZGl0aW9uYWwtaW5mb1wiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzcGFuXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -24,4 +24,6 @@ export * from './lib/modal';
24
24
  export * from './lib/hyperlink';
25
25
  export * from './lib/dropdown-menu';
26
26
  export * from './lib/file';
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdWkvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIzIFZpbGxlIGRlIE1vbnRyZWFsLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogU2VlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcHJvamVjdCByb290IGZvciBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhby5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnV0dG9uL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ljb24vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWxlcnQvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJlYWRjcnVtYi9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXJkL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhZGdlL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhZy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9oZWFkZXItaW5mby9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9saXN0L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoZWNrYm94L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JhZGlvL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbW1vbi1jb21wb25lbnRzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N1bW1hcnkvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F2YXRhcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGFsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2h5cGVybGluayc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcm9wZG93bi1tZW51JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGUnO1xuIl19
27
+ export * from './lib/snack-bar';
28
+ export * from './lib/system-header';
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdWkvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMyBWaWxsZSBkZSBNb250cmVhbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIFNlZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYW8ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2J1dHRvbi9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pY29uL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FsZXJ0L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JyZWFkY3J1bWIvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FyZC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYWRnZS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWcvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVhZGVyLWluZm8vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGlzdC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGVja2JveC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yYWRpby9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24tY29tcG9uZW50cy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdW1tYXJ5L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdmF0YXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFicyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9oeXBlcmxpbmsnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24tbWVudSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NuYWNrLWJhcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zeXN0ZW0taGVhZGVyJztcbiJdfQ==