@skyux/router 8.7.2 → 9.0.0-alpha.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 (45) hide show
  1. package/{esm2020 → esm2022}/lib/modules/href/href-resolver.service.mjs +4 -4
  2. package/esm2022/lib/modules/href/href.directive.mjs +206 -0
  3. package/{esm2020 → esm2022}/lib/modules/href/href.module.mjs +5 -5
  4. package/esm2022/lib/modules/link/link-external.directive.mjs +59 -0
  5. package/esm2022/lib/modules/link/link.directive.mjs +43 -0
  6. package/{esm2020 → esm2022}/lib/modules/link/link.module.mjs +5 -5
  7. package/{esm2020 → esm2022}/lib/modules/recently-accessed/recently-accessed.service.mjs +4 -4
  8. package/esm2022/testing/href/href-harness.mjs +40 -0
  9. package/{esm2020 → esm2022}/testing/href/href-resolver-mock.service.mjs +4 -4
  10. package/esm2022/testing/href/href-testing.module.mjs +51 -0
  11. package/{fesm2020 → fesm2022}/skyux-router-testing.mjs +18 -18
  12. package/{fesm2020 → fesm2022}/skyux-router-testing.mjs.map +1 -1
  13. package/fesm2022/skyux-router.mjs +360 -0
  14. package/{fesm2020 → fesm2022}/skyux-router.mjs.map +1 -1
  15. package/lib/modules/href/href.directive.d.ts +1 -1
  16. package/lib/modules/link/link-external.directive.d.ts +1 -1
  17. package/lib/modules/link/link.directive.d.ts +1 -1
  18. package/package.json +14 -22
  19. package/esm2020/lib/modules/href/href.directive.mjs +0 -201
  20. package/esm2020/lib/modules/link/link-external.directive.mjs +0 -62
  21. package/esm2020/lib/modules/link/link.directive.mjs +0 -46
  22. package/esm2020/testing/href/href-harness.mjs +0 -40
  23. package/esm2020/testing/href/href-testing.module.mjs +0 -51
  24. package/fesm2015/skyux-router-testing.mjs +0 -130
  25. package/fesm2015/skyux-router-testing.mjs.map +0 -1
  26. package/fesm2015/skyux-router.mjs +0 -372
  27. package/fesm2015/skyux-router.mjs.map +0 -1
  28. package/fesm2020/skyux-router.mjs +0 -359
  29. /package/{esm2020 → esm2022}/index.mjs +0 -0
  30. /package/{esm2020 → esm2022}/lib/modules/href/href-resolver.mjs +0 -0
  31. /package/{esm2020 → esm2022}/lib/modules/href/types/href-change.mjs +0 -0
  32. /package/{esm2020 → esm2022}/lib/modules/href/types/href-resolver.args.mjs +0 -0
  33. /package/{esm2020 → esm2022}/lib/modules/href/types/href.mjs +0 -0
  34. /package/{esm2020 → esm2022}/lib/modules/link/link-query-params.mjs +0 -0
  35. /package/{esm2020 → esm2022}/lib/modules/recently-accessed/recently-accessed-add-link-args.mjs +0 -0
  36. /package/{esm2020 → esm2022}/lib/modules/recently-accessed/recently-accessed-add-link-result.mjs +0 -0
  37. /package/{esm2020 → esm2022}/lib/modules/recently-accessed/recently-accessed-add-link.mjs +0 -0
  38. /package/{esm2020 → esm2022}/lib/modules/recently-accessed/recently-accessed-add-route-args.mjs +0 -0
  39. /package/{esm2020 → esm2022}/lib/modules/recently-accessed/recently-accessed-get-links-args.mjs +0 -0
  40. /package/{esm2020 → esm2022}/lib/modules/recently-accessed/recently-accessed-link-list.mjs +0 -0
  41. /package/{esm2020 → esm2022}/lib/modules/recently-accessed/recently-accessed-link.mjs +0 -0
  42. /package/{esm2020 → esm2022}/skyux-router.mjs +0 -0
  43. /package/{esm2020 → esm2022}/testing/href/href-harness-filters.mjs +0 -0
  44. /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
  45. /package/{esm2020 → esm2022}/testing/skyux-router-testing.mjs +0 -0
@@ -10,10 +10,10 @@ export class SkyHrefResolverService {
10
10
  userHasAccess: true,
11
11
  });
12
12
  }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
14
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefResolverService }); }
13
15
  }
14
- SkyHrefResolverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
15
- SkyHrefResolverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefResolverService });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefResolverService, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefResolverService, decorators: [{
17
17
  type: Injectable
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi1yZXNvbHZlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JvdXRlci9zcmMvbGliL21vZHVsZXMvaHJlZi9ocmVmLXJlc29sdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0M7O0dBRUc7QUFFSCxNQUFNLE9BQU8sc0JBQXNCO0lBQzFCLFdBQVcsQ0FBQyxJQUF5QjtRQUMxQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQVU7WUFDOUIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7bUhBTlUsc0JBQXNCO3VIQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5SHJlZlJlc29sdmVyIH0gZnJvbSAnLi9ocmVmLXJlc29sdmVyJztcbmltcG9ydCB7IFNreUhyZWYgfSBmcm9tICcuL3R5cGVzL2hyZWYnO1xuaW1wb3J0IHsgU2t5SHJlZlJlc29sdmVyQXJncyB9IGZyb20gJy4vdHlwZXMvaHJlZi1yZXNvbHZlci5hcmdzJztcblxuLyoqXG4gKiBSZXR1cm4gdGhlIGxpbmsgYXMtaXMuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lIcmVmUmVzb2x2ZXJTZXJ2aWNlIGltcGxlbWVudHMgU2t5SHJlZlJlc29sdmVyIHtcbiAgcHVibGljIHJlc29sdmVIcmVmKGFyZ3M6IFNreUhyZWZSZXNvbHZlckFyZ3MpOiBQcm9taXNlPFNreUhyZWY+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlPFNreUhyZWY+KHtcbiAgICAgIHVybDogYXJncy51cmwsXG4gICAgICB1c2VySGFzQWNjZXNzOiB0cnVlLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi1yZXNvbHZlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JvdXRlci9zcmMvbGliL21vZHVsZXMvaHJlZi9ocmVmLXJlc29sdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0M7O0dBRUc7QUFFSCxNQUFNLE9BQU8sc0JBQXNCO0lBQzFCLFdBQVcsQ0FBQyxJQUF5QjtRQUMxQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQVU7WUFDOUIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FOVSxzQkFBc0I7a0hBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5SHJlZlJlc29sdmVyIH0gZnJvbSAnLi9ocmVmLXJlc29sdmVyJztcbmltcG9ydCB7IFNreUhyZWYgfSBmcm9tICcuL3R5cGVzL2hyZWYnO1xuaW1wb3J0IHsgU2t5SHJlZlJlc29sdmVyQXJncyB9IGZyb20gJy4vdHlwZXMvaHJlZi1yZXNvbHZlci5hcmdzJztcblxuLyoqXG4gKiBSZXR1cm4gdGhlIGxpbmsgYXMtaXMuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lIcmVmUmVzb2x2ZXJTZXJ2aWNlIGltcGxlbWVudHMgU2t5SHJlZlJlc29sdmVyIHtcbiAgcHVibGljIHJlc29sdmVIcmVmKGFyZ3M6IFNreUhyZWZSZXNvbHZlckFyZ3MpOiBQcm9taXNlPFNreUhyZWY+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlPFNreUhyZWY+KHtcbiAgICAgIHVybDogYXJncy51cmwsXG4gICAgICB1c2VySGFzQWNjZXNzOiB0cnVlLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,206 @@
1
+ import { Directive, EventEmitter, HostListener, Input, Optional, Output, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/router";
4
+ import * as i2 from "@skyux/config";
5
+ import * as i3 from "./href-resolver.service";
6
+ export class SkyHrefDirective {
7
+ /**
8
+ * Provide a link as a string or as an array of strings to be joined by a slash to form a complete
9
+ * URL.
10
+ *
11
+ * @param skyHref
12
+ */
13
+ set skyHref(skyHref) {
14
+ if (typeof skyHref === 'string') {
15
+ this.#_skyHref = skyHref;
16
+ }
17
+ else {
18
+ this.#_skyHref = skyHref ? skyHref.join('/') : '';
19
+ }
20
+ this.#checkRouteAccess();
21
+ }
22
+ get skyHref() {
23
+ return this.#_skyHref;
24
+ }
25
+ /**
26
+ * Set the behavior for when the link is not available to either hide the link or display unlinked text.
27
+ *
28
+ * @param value
29
+ */
30
+ set skyHrefElse(value) {
31
+ this.#_skyHrefElse = value;
32
+ this.#applyChanges(this.#getChanges());
33
+ }
34
+ get skyHrefElse() {
35
+ return this.#_skyHrefElse;
36
+ }
37
+ #route;
38
+ #href;
39
+ #_skyHref;
40
+ #_skyHrefElse;
41
+ #router;
42
+ #renderer;
43
+ #element;
44
+ #skyAppConfig;
45
+ #paramsProvider;
46
+ #hrefResolver;
47
+ #applicationRef;
48
+ #changeDetectorRef;
49
+ constructor(router, renderer, element, skyAppConfig, paramsProvider, hrefResolver, applicationRef, changeDetectorRef) {
50
+ /**
51
+ * Emits whether the link is available (true) or not (false).
52
+ */
53
+ this.skyHrefChange = new EventEmitter();
54
+ this.#route = false;
55
+ this.#href = '';
56
+ this.#_skyHref = '';
57
+ this.#_skyHrefElse = 'hide';
58
+ /* istanbul ignore next */
59
+ this.#getUrlTree = () => {
60
+ const href = this.#href.toLowerCase();
61
+ if (!href ||
62
+ !this.#skyAppConfig?.skyux.host?.url ||
63
+ !this.#skyAppConfig?.runtime?.app?.base) {
64
+ return false;
65
+ }
66
+ const baseUrl = (this.#skyAppConfig.skyux.host.url +
67
+ this.#skyAppConfig.runtime.app.base.substr(0, this.#skyAppConfig.runtime.app.base.length - 1)).toLowerCase();
68
+ if (href === baseUrl ||
69
+ // Make sure the base URL is not simply a partial match of the base URL plus additional
70
+ // characters after the base URL that are not "terminating" characters
71
+ href.indexOf(baseUrl + '/') === 0 ||
72
+ href.indexOf(baseUrl + '?') === 0) {
73
+ const routePath = this.#href.substring(baseUrl.length);
74
+ return this.#router.parseUrl(routePath);
75
+ }
76
+ return false;
77
+ };
78
+ this.#router = router;
79
+ this.#renderer = renderer;
80
+ this.#element = element;
81
+ this.#skyAppConfig = skyAppConfig;
82
+ this.#paramsProvider = paramsProvider;
83
+ this.#hrefResolver = hrefResolver;
84
+ this.#applicationRef = applicationRef;
85
+ this.#changeDetectorRef = changeDetectorRef;
86
+ }
87
+ onClick(button, ctrlKey, shiftKey, altKey, metaKey) {
88
+ if (!this.#route || !this.#route.userHasAccess) {
89
+ return false;
90
+ }
91
+ if (button !== 0 || ctrlKey || shiftKey || altKey || metaKey) {
92
+ return true;
93
+ }
94
+ const target = this.#element.nativeElement.getAttribute('target');
95
+ if (typeof target === 'string' && target !== '_self') {
96
+ return true;
97
+ }
98
+ const urlTree = this.#getUrlTree();
99
+ if (urlTree) {
100
+ this.#router.navigateByUrl(urlTree);
101
+ return false;
102
+ }
103
+ return true;
104
+ }
105
+ #applyChanges(change) {
106
+ this.#renderer.addClass(this.#element.nativeElement, 'sky-href');
107
+ if (change.hidden) {
108
+ this.#renderer.setAttribute(this.#element.nativeElement, 'hidden', 'hidden');
109
+ }
110
+ else {
111
+ this.#renderer.removeAttribute(this.#element.nativeElement, 'hidden');
112
+ }
113
+ if (change.href) {
114
+ this.#renderer.setAttribute(this.#element.nativeElement, 'href', change.href);
115
+ }
116
+ else {
117
+ this.#renderer.removeAttribute(this.#element.nativeElement, 'href');
118
+ }
119
+ this.skyHrefChange.emit({ userHasAccess: !change.hidden });
120
+ }
121
+ #checkRouteAccess() {
122
+ this.#route = {
123
+ url: this.skyHref,
124
+ userHasAccess: false,
125
+ };
126
+ /* istanbul ignore else */
127
+ if (this.#hrefResolver && this.skyHref) {
128
+ this.#applyChanges(this.#getChanges());
129
+ try {
130
+ this.#hrefResolver.resolveHref({ url: this.skyHref }).then((route) => {
131
+ this.#route = { ...route };
132
+ this.#applyChanges(this.#getChanges());
133
+ /* istanbul ignore else */
134
+ if (this.#changeDetectorRef && this.#applicationRef) {
135
+ this.#changeDetectorRef.markForCheck();
136
+ this.#applicationRef.tick();
137
+ }
138
+ });
139
+ }
140
+ catch (error) {
141
+ this.#applyChanges(this.#getChanges());
142
+ }
143
+ }
144
+ else {
145
+ // no resolver or skyHref is falsy
146
+ this.#route.userHasAccess = !!this.skyHref;
147
+ this.#applyChanges(this.#getChanges());
148
+ }
149
+ }
150
+ #getChanges() {
151
+ if (!this.#route || !this.#route.userHasAccess) {
152
+ return {
153
+ href: '',
154
+ hidden: this.skyHrefElse === 'hide',
155
+ };
156
+ }
157
+ else {
158
+ const params =
159
+ // The SkyAppRuntimeParamsProvider is provided in root, so it will never be undefined.
160
+ // TODO: rework the injectors so that #paramsProvider is not possibly undefined.
161
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
162
+ this.#skyAppConfig?.runtime.params ?? this.#paramsProvider.params;
163
+ this.#href = params.getLinkUrl(this.#route.url);
164
+ return {
165
+ href: this.#href,
166
+ hidden: false,
167
+ };
168
+ }
169
+ }
170
+ /* istanbul ignore next */
171
+ #getUrlTree;
172
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefDirective, deps: [{ token: i1.Router }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.SkyAppConfig, optional: true }, { token: i2.SkyAppRuntimeConfigParamsProvider, optional: true }, { token: i3.SkyHrefResolverService, optional: true }, { token: i0.ApplicationRef, optional: true }, { token: i0.ChangeDetectorRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
173
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: SkyHrefDirective, selector: "[skyHref]", inputs: { skyHref: "skyHref", skyHrefElse: "skyHrefElse" }, outputs: { skyHrefChange: "skyHrefChange" }, host: { listeners: { "click": "onClick($event.button,$event.ctrlKey,$event.shiftKey,$event.altKey,$event.metaKey)" } }, ngImport: i0 }); }
174
+ }
175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefDirective, decorators: [{
176
+ type: Directive,
177
+ args: [{
178
+ selector: '[skyHref]',
179
+ }]
180
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2.SkyAppConfig, decorators: [{
181
+ type: Optional
182
+ }] }, { type: i2.SkyAppRuntimeConfigParamsProvider, decorators: [{
183
+ type: Optional
184
+ }] }, { type: i3.SkyHrefResolverService, decorators: [{
185
+ type: Optional
186
+ }] }, { type: i0.ApplicationRef, decorators: [{
187
+ type: Optional
188
+ }] }, { type: i0.ChangeDetectorRef, decorators: [{
189
+ type: Optional
190
+ }] }]; }, propDecorators: { skyHref: [{
191
+ type: Input
192
+ }], skyHrefElse: [{
193
+ type: Input
194
+ }], skyHrefChange: [{
195
+ type: Output
196
+ }], onClick: [{
197
+ type: HostListener,
198
+ args: ['click', [
199
+ '$event.button',
200
+ '$event.ctrlKey',
201
+ '$event.shiftKey',
202
+ '$event.altKey',
203
+ '$event.metaKey',
204
+ ]]
205
+ }] } });
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3NyYy9saWIvbW9kdWxlcy9ocmVmL2hyZWYuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFhdkIsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQjs7Ozs7T0FLRztJQUNILElBQ1csT0FBTyxDQUFDLE9BQXNDO1FBQ3ZELElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1NBQzFCO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ25EO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNXLFdBQVcsQ0FBQyxLQUFvQztRQUN6RCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFRRCxNQUFNLENBQTBCO0lBRWhDLEtBQUssQ0FBTTtJQUVYLFNBQVMsQ0FBTTtJQUVmLGFBQWEsQ0FBeUM7SUFFdEQsT0FBTyxDQUFTO0lBQ2hCLFNBQVMsQ0FBWTtJQUNyQixRQUFRLENBQWE7SUFDckIsYUFBYSxDQUEyQjtJQUN4QyxlQUFlLENBQWdEO0lBQy9ELGFBQWEsQ0FBcUM7SUFDbEQsZUFBZSxDQUE2QjtJQUM1QyxrQkFBa0IsQ0FBZ0M7SUFFbEQsWUFDRSxNQUFjLEVBQ2QsUUFBbUIsRUFDbkIsT0FBbUIsRUFDUCxZQUEyQixFQUMzQixjQUFrRCxFQUNsRCxZQUFxQyxFQUNyQyxjQUErQixFQUMvQixpQkFBcUM7UUEvQm5EOztXQUVHO1FBRUksa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUV6RCxXQUFNLEdBQW9CLEtBQUssQ0FBQztRQUVoQyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRVgsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLGtCQUFhLEdBQWtDLE1BQU0sQ0FBQztRQTJJdEQsMEJBQTBCO1FBQzFCLGdCQUFXLEdBQTBCLEdBQUcsRUFBRTtZQUN4QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBRXRDLElBQ0UsQ0FBQyxJQUFJO2dCQUNMLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLEdBQUc7Z0JBQ3BDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFDdkM7Z0JBQ0EsT0FBTyxLQUFLLENBQUM7YUFDZDtZQUVELE1BQU0sT0FBTyxHQUFHLENBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUN4QyxDQUFDLEVBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUMvQyxDQUNGLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFaEIsSUFDRSxJQUFJLEtBQUssT0FBTztnQkFDaEIsdUZBQXVGO2dCQUN2RixzRUFBc0U7Z0JBQ3RFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFDakM7Z0JBQ0EsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN2RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3pDO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7UUF0SkEsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7UUFDbEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7UUFDbEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFDdEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDO0lBQzlDLENBQUM7SUFTTSxPQUFPLENBQ1osTUFBYyxFQUNkLE9BQWdCLEVBQ2hCLFFBQWlCLEVBQ2pCLE1BQWUsRUFDZixPQUFnQjtRQUVoQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFO1lBQzlDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxJQUFJLFFBQVEsSUFBSSxNQUFNLElBQUksT0FBTyxFQUFFO1lBQzVELE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEUsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxLQUFLLE9BQU8sRUFBRTtZQUNwRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25DLElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFtQjtRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNqRSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUMzQixRQUFRLEVBQ1IsUUFBUSxDQUNULENBQUM7U0FDSDthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDdkU7UUFDRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQzNCLE1BQU0sRUFDTixNQUFNLENBQUMsSUFBSSxDQUNaLENBQUM7U0FDSDthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDckU7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ2pCLGFBQWEsRUFBRSxLQUFLO1NBQ3JCLENBQUM7UUFDRiwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUN2QyxJQUFJO2dCQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNuRSxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQztvQkFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztvQkFDdkMsMEJBQTBCO29CQUMxQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO3dCQUNuRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7d0JBQ3ZDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7cUJBQzdCO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBQ0o7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO2FBQ3hDO1NBQ0Y7YUFBTTtZQUNMLGtDQUFrQztZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUMzQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFO1lBQzlDLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLEtBQUssTUFBTTthQUNwQyxDQUFDO1NBQ0g7YUFBTTtZQUNMLE1BQU0sTUFBTTtZQUNWLHNGQUFzRjtZQUN0RixnRkFBZ0Y7WUFDaEYsb0VBQW9FO1lBQ3BFLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxNQUFNLENBQUM7WUFFckUsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFaEQsT0FBTztnQkFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2hCLE1BQU0sRUFBRSxLQUFLO2FBQ2QsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELDBCQUEwQjtJQUMxQixXQUFXLENBK0JUOzhHQTVOUyxnQkFBZ0I7a0dBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFINUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztpQkFDdEI7OzBCQWlFSSxRQUFROzswQkFDUixRQUFROzswQkFDUixRQUFROzswQkFDUixRQUFROzswQkFDUixRQUFROzRDQTVEQSxPQUFPO3NCQURqQixLQUFLO2dCQXFCSyxXQUFXO3NCQURyQixLQUFLO2dCQWNDLGFBQWE7c0JBRG5CLE1BQU07Z0JBK0NBLE9BQU87c0JBUGIsWUFBWTt1QkFBQyxPQUFPLEVBQUU7d0JBQ3JCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZ0JBQWdCO3FCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFwcGxpY2F0aW9uUmVmLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU2t5QXBwQ29uZmlnLCBTa3lBcHBSdW50aW1lQ29uZmlnUGFyYW1zUHJvdmlkZXIgfSBmcm9tICdAc2t5dXgvY29uZmlnJztcblxuaW1wb3J0IHsgU2t5SHJlZlJlc29sdmVyU2VydmljZSB9IGZyb20gJy4vaHJlZi1yZXNvbHZlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUhyZWYgfSBmcm9tICcuL3R5cGVzL2hyZWYnO1xuaW1wb3J0IHsgU2t5SHJlZkNoYW5nZSB9IGZyb20gJy4vdHlwZXMvaHJlZi1jaGFuZ2UnO1xuXG50eXBlIEhyZWZDaGFuZ2VzID0geyBocmVmOiBzdHJpbmc7IGhpZGRlbjogYm9vbGVhbiB9O1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5SHJlZl0nLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lIcmVmRGlyZWN0aXZlIHtcbiAgLyoqXG4gICAqIFByb3ZpZGUgYSBsaW5rIGFzIGEgc3RyaW5nIG9yIGFzIGFuIGFycmF5IG9mIHN0cmluZ3MgdG8gYmUgam9pbmVkIGJ5IGEgc2xhc2ggdG8gZm9ybSBhIGNvbXBsZXRlXG4gICAqIFVSTC5cbiAgICpcbiAgICogQHBhcmFtIHNreUhyZWZcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2t5SHJlZihza3lIcmVmOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh0eXBlb2Ygc2t5SHJlZiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuI19za3lIcmVmID0gc2t5SHJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jX3NreUhyZWYgPSBza3lIcmVmID8gc2t5SHJlZi5qb2luKCcvJykgOiAnJztcbiAgICB9XG5cbiAgICB0aGlzLiNjaGVja1JvdXRlQWNjZXNzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNreUhyZWYoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX3NreUhyZWY7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBiZWhhdmlvciBmb3Igd2hlbiB0aGUgbGluayBpcyBub3QgYXZhaWxhYmxlIHRvIGVpdGhlciBoaWRlIHRoZSBsaW5rIG9yIGRpc3BsYXkgdW5saW5rZWQgdGV4dC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNreUhyZWZFbHNlKHZhbHVlOiAnaGlkZScgfCAndW5saW5rJyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19za3lIcmVmRWxzZSA9IHZhbHVlO1xuICAgIHRoaXMuI2FwcGx5Q2hhbmdlcyh0aGlzLiNnZXRDaGFuZ2VzKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBza3lIcmVmRWxzZSgpOiAnaGlkZScgfCAndW5saW5rJyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19za3lIcmVmRWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGV0aGVyIHRoZSBsaW5rIGlzIGF2YWlsYWJsZSAodHJ1ZSkgb3Igbm90IChmYWxzZSkuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNreUhyZWZDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUhyZWZDaGFuZ2U+KCk7XG5cbiAgI3JvdXRlOiBTa3lIcmVmIHwgZmFsc2UgPSBmYWxzZTtcblxuICAjaHJlZiA9ICcnO1xuXG4gICNfc2t5SHJlZiA9ICcnO1xuXG4gICNfc2t5SHJlZkVsc2U6ICdoaWRlJyB8ICd1bmxpbmsnIHwgdW5kZWZpbmVkID0gJ2hpZGUnO1xuXG4gICNyb3V0ZXI6IFJvdXRlcjtcbiAgI3JlbmRlcmVyOiBSZW5kZXJlcjI7XG4gICNlbGVtZW50OiBFbGVtZW50UmVmO1xuICAjc2t5QXBwQ29uZmlnOiBTa3lBcHBDb25maWcgfCB1bmRlZmluZWQ7XG4gICNwYXJhbXNQcm92aWRlcjogU2t5QXBwUnVudGltZUNvbmZpZ1BhcmFtc1Byb3ZpZGVyIHwgdW5kZWZpbmVkO1xuICAjaHJlZlJlc29sdmVyOiBTa3lIcmVmUmVzb2x2ZXJTZXJ2aWNlIHwgdW5kZWZpbmVkO1xuICAjYXBwbGljYXRpb25SZWY6IEFwcGxpY2F0aW9uUmVmIHwgdW5kZWZpbmVkO1xuICAjY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHJvdXRlcjogUm91dGVyLFxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBAT3B0aW9uYWwoKSBza3lBcHBDb25maWc/OiBTa3lBcHBDb25maWcsXG4gICAgQE9wdGlvbmFsKCkgcGFyYW1zUHJvdmlkZXI/OiBTa3lBcHBSdW50aW1lQ29uZmlnUGFyYW1zUHJvdmlkZXIsXG4gICAgQE9wdGlvbmFsKCkgaHJlZlJlc29sdmVyPzogU2t5SHJlZlJlc29sdmVyU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBhcHBsaWNhdGlvblJlZj86IEFwcGxpY2F0aW9uUmVmLFxuICAgIEBPcHRpb25hbCgpIGNoYW5nZURldGVjdG9yUmVmPzogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy4jcm91dGVyID0gcm91dGVyO1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXI7XG4gICAgdGhpcy4jZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgdGhpcy4jc2t5QXBwQ29uZmlnID0gc2t5QXBwQ29uZmlnO1xuICAgIHRoaXMuI3BhcmFtc1Byb3ZpZGVyID0gcGFyYW1zUHJvdmlkZXI7XG4gICAgdGhpcy4jaHJlZlJlc29sdmVyID0gaHJlZlJlc29sdmVyO1xuICAgIHRoaXMuI2FwcGxpY2F0aW9uUmVmID0gYXBwbGljYXRpb25SZWY7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3JSZWYgPSBjaGFuZ2VEZXRlY3RvclJlZjtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgW1xuICAgICckZXZlbnQuYnV0dG9uJyxcbiAgICAnJGV2ZW50LmN0cmxLZXknLFxuICAgICckZXZlbnQuc2hpZnRLZXknLFxuICAgICckZXZlbnQuYWx0S2V5JyxcbiAgICAnJGV2ZW50Lm1ldGFLZXknLFxuICBdKVxuICBwdWJsaWMgb25DbGljayhcbiAgICBidXR0b246IG51bWJlcixcbiAgICBjdHJsS2V5OiBib29sZWFuLFxuICAgIHNoaWZ0S2V5OiBib29sZWFuLFxuICAgIGFsdEtleTogYm9vbGVhbixcbiAgICBtZXRhS2V5OiBib29sZWFuXG4gICk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy4jcm91dGUgfHwgIXRoaXMuI3JvdXRlLnVzZXJIYXNBY2Nlc3MpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoYnV0dG9uICE9PSAwIHx8IGN0cmxLZXkgfHwgc2hpZnRLZXkgfHwgYWx0S2V5IHx8IG1ldGFLZXkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuI2VsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RhcmdldCcpO1xuICAgIGlmICh0eXBlb2YgdGFyZ2V0ID09PSAnc3RyaW5nJyAmJiB0YXJnZXQgIT09ICdfc2VsZicpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHVybFRyZWUgPSB0aGlzLiNnZXRVcmxUcmVlKCk7XG4gICAgaWYgKHVybFRyZWUpIHtcbiAgICAgIHRoaXMuI3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKHVybFRyZWUpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gICNhcHBseUNoYW5nZXMoY2hhbmdlOiBIcmVmQ2hhbmdlcykge1xuICAgIHRoaXMuI3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuI2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3NreS1ocmVmJyk7XG4gICAgaWYgKGNoYW5nZS5oaWRkZW4pIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgICAgdGhpcy4jZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnaGlkZGVuJyxcbiAgICAgICAgJ2hpZGRlbidcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLiNlbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdoaWRkZW4nKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZS5ocmVmKSB7XG4gICAgICB0aGlzLiNyZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgIHRoaXMuI2VsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2hyZWYnLFxuICAgICAgICBjaGFuZ2UuaHJlZlxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuI2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2hyZWYnKTtcbiAgICB9XG4gICAgdGhpcy5za3lIcmVmQ2hhbmdlLmVtaXQoeyB1c2VySGFzQWNjZXNzOiAhY2hhbmdlLmhpZGRlbiB9KTtcbiAgfVxuXG4gICNjaGVja1JvdXRlQWNjZXNzKCkge1xuICAgIHRoaXMuI3JvdXRlID0ge1xuICAgICAgdXJsOiB0aGlzLnNreUhyZWYsXG4gICAgICB1c2VySGFzQWNjZXNzOiBmYWxzZSxcbiAgICB9O1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2hyZWZSZXNvbHZlciAmJiB0aGlzLnNreUhyZWYpIHtcbiAgICAgIHRoaXMuI2FwcGx5Q2hhbmdlcyh0aGlzLiNnZXRDaGFuZ2VzKCkpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy4jaHJlZlJlc29sdmVyLnJlc29sdmVIcmVmKHsgdXJsOiB0aGlzLnNreUhyZWYgfSkudGhlbigocm91dGUpID0+IHtcbiAgICAgICAgICB0aGlzLiNyb3V0ZSA9IHsgLi4ucm91dGUgfTtcbiAgICAgICAgICB0aGlzLiNhcHBseUNoYW5nZXModGhpcy4jZ2V0Q2hhbmdlcygpKTtcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICh0aGlzLiNjaGFuZ2VEZXRlY3RvclJlZiAmJiB0aGlzLiNhcHBsaWNhdGlvblJlZikge1xuICAgICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLiNhcHBsaWNhdGlvblJlZi50aWNrKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMuI2FwcGx5Q2hhbmdlcyh0aGlzLiNnZXRDaGFuZ2VzKCkpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBubyByZXNvbHZlciBvciBza3lIcmVmIGlzIGZhbHN5XG4gICAgICB0aGlzLiNyb3V0ZS51c2VySGFzQWNjZXNzID0gISF0aGlzLnNreUhyZWY7XG4gICAgICB0aGlzLiNhcHBseUNoYW5nZXModGhpcy4jZ2V0Q2hhbmdlcygpKTtcbiAgICB9XG4gIH1cblxuICAjZ2V0Q2hhbmdlcygpOiBIcmVmQ2hhbmdlcyB7XG4gICAgaWYgKCF0aGlzLiNyb3V0ZSB8fCAhdGhpcy4jcm91dGUudXNlckhhc0FjY2Vzcykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaHJlZjogJycsXG4gICAgICAgIGhpZGRlbjogdGhpcy5za3lIcmVmRWxzZSA9PT0gJ2hpZGUnLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcGFyYW1zID1cbiAgICAgICAgLy8gVGhlIFNreUFwcFJ1bnRpbWVQYXJhbXNQcm92aWRlciBpcyBwcm92aWRlZCBpbiByb290LCBzbyBpdCB3aWxsIG5ldmVyIGJlIHVuZGVmaW5lZC5cbiAgICAgICAgLy8gVE9ETzogcmV3b3JrIHRoZSBpbmplY3RvcnMgc28gdGhhdCAjcGFyYW1zUHJvdmlkZXIgaXMgbm90IHBvc3NpYmx5IHVuZGVmaW5lZC5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgdGhpcy4jc2t5QXBwQ29uZmlnPy5ydW50aW1lLnBhcmFtcyA/PyB0aGlzLiNwYXJhbXNQcm92aWRlciEucGFyYW1zO1xuXG4gICAgICB0aGlzLiNocmVmID0gcGFyYW1zLmdldExpbmtVcmwodGhpcy4jcm91dGUudXJsKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaHJlZjogdGhpcy4jaHJlZixcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgI2dldFVybFRyZWU6ICgpID0+IFVybFRyZWUgfCBmYWxzZSA9ICgpID0+IHtcbiAgICBjb25zdCBocmVmID0gdGhpcy4jaHJlZi50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKFxuICAgICAgIWhyZWYgfHxcbiAgICAgICF0aGlzLiNza3lBcHBDb25maWc/LnNreXV4Lmhvc3Q/LnVybCB8fFxuICAgICAgIXRoaXMuI3NreUFwcENvbmZpZz8ucnVudGltZT8uYXBwPy5iYXNlXG4gICAgKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgYmFzZVVybCA9IChcbiAgICAgIHRoaXMuI3NreUFwcENvbmZpZy5za3l1eC5ob3N0LnVybCArXG4gICAgICB0aGlzLiNza3lBcHBDb25maWcucnVudGltZS5hcHAuYmFzZS5zdWJzdHIoXG4gICAgICAgIDAsXG4gICAgICAgIHRoaXMuI3NreUFwcENvbmZpZy5ydW50aW1lLmFwcC5iYXNlLmxlbmd0aCAtIDFcbiAgICAgIClcbiAgICApLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAoXG4gICAgICBocmVmID09PSBiYXNlVXJsIHx8XG4gICAgICAvLyBNYWtlIHN1cmUgdGhlIGJhc2UgVVJMIGlzIG5vdCBzaW1wbHkgYSBwYXJ0aWFsIG1hdGNoIG9mIHRoZSBiYXNlIFVSTCBwbHVzIGFkZGl0aW9uYWxcbiAgICAgIC8vIGNoYXJhY3RlcnMgYWZ0ZXIgdGhlIGJhc2UgVVJMIHRoYXQgYXJlIG5vdCBcInRlcm1pbmF0aW5nXCIgY2hhcmFjdGVyc1xuICAgICAgaHJlZi5pbmRleE9mKGJhc2VVcmwgKyAnLycpID09PSAwIHx8XG4gICAgICBocmVmLmluZGV4T2YoYmFzZVVybCArICc/JykgPT09IDBcbiAgICApIHtcbiAgICAgIGNvbnN0IHJvdXRlUGF0aCA9IHRoaXMuI2hyZWYuc3Vic3RyaW5nKGJhc2VVcmwubGVuZ3RoKTtcbiAgICAgIHJldHVybiB0aGlzLiNyb3V0ZXIucGFyc2VVcmwocm91dGVQYXRoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG59XG4iXX0=
@@ -3,11 +3,11 @@ import { NgModule } from '@angular/core';
3
3
  import { SkyHrefDirective } from './href.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  export class SkyHrefModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefModule, declarations: [SkyHrefDirective], imports: [CommonModule], exports: [SkyHrefDirective] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefModule, imports: [CommonModule] }); }
6
9
  }
7
- SkyHrefModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- SkyHrefModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefModule, declarations: [SkyHrefDirective], imports: [CommonModule], exports: [SkyHrefDirective] });
9
- SkyHrefModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefModule, imports: [CommonModule] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  declarations: [SkyHrefDirective],
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
15
15
  imports: [CommonModule],
16
16
  }]
17
17
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3NyYy9saWIvbW9kdWxlcy9ocmVmL2hyZWYubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQU9wRCxNQUFNLE9BQU8sYUFBYTs7MEdBQWIsYUFBYTsyR0FBYixhQUFhLGlCQUpULGdCQUFnQixhQUVyQixZQUFZLGFBRFosZ0JBQWdCOzJHQUdmLGFBQWEsWUFGZCxZQUFZOzJGQUVYLGFBQWE7a0JBTHpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUhyZWZEaXJlY3RpdmUgfSBmcm9tICcuL2hyZWYuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5SHJlZkRpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtTa3lIcmVmRGlyZWN0aXZlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUhyZWZNb2R1bGUge31cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3NyYy9saWIvbW9kdWxlcy9ocmVmL2hyZWYubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQU9wRCxNQUFNLE9BQU8sYUFBYTs4R0FBYixhQUFhOytHQUFiLGFBQWEsaUJBSlQsZ0JBQWdCLGFBRXJCLFlBQVksYUFEWixnQkFBZ0I7K0dBR2YsYUFBYSxZQUZkLFlBQVk7OzJGQUVYLGFBQWE7a0JBTHpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUhyZWZEaXJlY3RpdmUgfSBmcm9tICcuL2hyZWYuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5SHJlZkRpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtTa3lIcmVmRGlyZWN0aXZlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUhyZWZNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { PathLocationStrategy } from '@angular/common';
2
+ import { Directive, Input, Optional, } from '@angular/core';
3
+ import { RouterLink } from '@angular/router';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@skyux/core";
8
+ import * as i4 from "@skyux/config";
9
+ /**
10
+ * @deprecated Use `skyHref` directive instead.
11
+ */
12
+ export class SkyAppLinkExternalDirective extends RouterLink {
13
+ set skyAppLinkExternal(commands) {
14
+ this.routerLink = commands;
15
+ }
16
+ #window;
17
+ #skyAppConfig;
18
+ #paramsProvider;
19
+ constructor(router, route, renderer, elementRef, platformLocation, window, skyAppConfig, paramsProvider, hostConfig) {
20
+ super(router, route, undefined, renderer, elementRef, new PathLocationStrategy(platformLocation, hostConfig ? hostConfig.host.url : skyAppConfig?.skyux.host?.url));
21
+ this.#window = window;
22
+ this.#skyAppConfig = skyAppConfig;
23
+ this.#paramsProvider = paramsProvider;
24
+ if (this.#window.nativeWindow.window.name &&
25
+ this.#window.nativeWindow.window.name !== '') {
26
+ this.target = this.#window.nativeWindow.window.name;
27
+ }
28
+ else {
29
+ this.target = '_top';
30
+ }
31
+ }
32
+ ngOnChanges(changes) {
33
+ this.queryParams = this.#mergeQueryParams(changes['queryParams']?.currentValue);
34
+ super.ngOnChanges(changes);
35
+ }
36
+ #mergeQueryParams(queryParams) {
37
+ const skyuxParams = this.#skyAppConfig
38
+ ? this.#skyAppConfig.runtime.params.getAll()
39
+ : this.#paramsProvider?.params.getAll();
40
+ return Object.assign({}, this.queryParams, queryParams, skyuxParams);
41
+ }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppLinkExternalDirective, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.PlatformLocation }, { token: i3.SkyAppWindowRef }, { token: i4.SkyAppConfig, optional: true }, { token: i4.SkyAppRuntimeConfigParamsProvider, optional: true }, { token: i4.SkyAppConfigHost, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
43
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: SkyAppLinkExternalDirective, selector: "[skyAppLinkExternal]", inputs: { skyAppLinkExternal: "skyAppLinkExternal" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppLinkExternalDirective, decorators: [{
46
+ type: Directive,
47
+ args: [{
48
+ selector: '[skyAppLinkExternal]',
49
+ }]
50
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2.PlatformLocation }, { type: i3.SkyAppWindowRef }, { type: i4.SkyAppConfig, decorators: [{
51
+ type: Optional
52
+ }] }, { type: i4.SkyAppRuntimeConfigParamsProvider, decorators: [{
53
+ type: Optional
54
+ }] }, { type: i4.SkyAppConfigHost, decorators: [{
55
+ type: Optional
56
+ }] }]; }, propDecorators: { skyAppLinkExternal: [{
57
+ type: Input
58
+ }] } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1leHRlcm5hbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3NyYy9saWIvbW9kdWxlcy9saW5rL2xpbmstZXh0ZXJuYWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBb0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFFTCxRQUFRLEdBR1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBVXJFOztHQUVHO0FBSUgsTUFBTSxPQUFPLDJCQUNYLFNBQVEsVUFBVTtJQUdsQixJQUNXLGtCQUFrQixDQUFDLFFBQXdCO1FBQ3BELElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFRCxPQUFPLENBQWtCO0lBQ3pCLGFBQWEsQ0FBMkI7SUFDeEMsZUFBZSxDQUFnRDtJQUUvRCxZQUNFLE1BQWMsRUFDZCxLQUFxQixFQUNyQixRQUFtQixFQUNuQixVQUFzQixFQUN0QixnQkFBa0MsRUFDbEMsTUFBdUIsRUFDWCxZQUEyQixFQUMzQixjQUFrRCxFQUNsRCxVQUE2QjtRQUV6QyxLQUFLLENBQ0gsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixJQUFJLG9CQUFvQixDQUN0QixnQkFBZ0IsRUFDaEIsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUNqRSxDQUNGLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztRQUV0QyxJQUNFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJO1lBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUM1QztZQUNBLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztTQUNyRDthQUFNO1lBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRWUsV0FBVyxDQUFDLE9BQXNCO1FBQ2hELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUN2QyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsWUFBWSxDQUNyQyxDQUFDO1FBQ0YsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsV0FBa0M7UUFDbEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWE7WUFDcEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDNUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRTFDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdkUsQ0FBQzs4R0E5RFUsMkJBQTJCO2tHQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBSHZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtpQkFDakM7OzBCQXFCSSxRQUFROzswQkFDUixRQUFROzswQkFDUixRQUFROzRDQWpCQSxrQkFBa0I7c0JBRDVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXRoTG9jYXRpb25TdHJhdGVneSwgUGxhdGZvcm1Mb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9wdGlvbmFsLFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciwgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBTa3lBcHBDb25maWcsXG4gIFNreUFwcENvbmZpZ0hvc3QsXG4gIFNreUFwcFJ1bnRpbWVDb25maWdQYXJhbXNQcm92aWRlcixcbn0gZnJvbSAnQHNreXV4L2NvbmZpZyc7XG5pbXBvcnQgeyBTa3lBcHBXaW5kb3dSZWYgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFNreUFwcExpbmtRdWVyeVBhcmFtcyB9IGZyb20gJy4vbGluay1xdWVyeS1wYXJhbXMnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBgc2t5SHJlZmAgZGlyZWN0aXZlIGluc3RlYWQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lBcHBMaW5rRXh0ZXJuYWxdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QXBwTGlua0V4dGVybmFsRGlyZWN0aXZlXG4gIGV4dGVuZHMgUm91dGVyTGlua1xuICBpbXBsZW1lbnRzIE9uQ2hhbmdlc1xue1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNreUFwcExpbmtFeHRlcm5hbChjb21tYW5kczogYW55W10gfCBzdHJpbmcpIHtcbiAgICB0aGlzLnJvdXRlckxpbmsgPSBjb21tYW5kcztcbiAgfVxuXG4gICN3aW5kb3c6IFNreUFwcFdpbmRvd1JlZjtcbiAgI3NreUFwcENvbmZpZzogU2t5QXBwQ29uZmlnIHwgdW5kZWZpbmVkO1xuICAjcGFyYW1zUHJvdmlkZXI6IFNreUFwcFJ1bnRpbWVDb25maWdQYXJhbXNQcm92aWRlciB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByb3V0ZXI6IFJvdXRlcixcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHBsYXRmb3JtTG9jYXRpb246IFBsYXRmb3JtTG9jYXRpb24sXG4gICAgd2luZG93OiBTa3lBcHBXaW5kb3dSZWYsXG4gICAgQE9wdGlvbmFsKCkgc2t5QXBwQ29uZmlnPzogU2t5QXBwQ29uZmlnLFxuICAgIEBPcHRpb25hbCgpIHBhcmFtc1Byb3ZpZGVyPzogU2t5QXBwUnVudGltZUNvbmZpZ1BhcmFtc1Byb3ZpZGVyLFxuICAgIEBPcHRpb25hbCgpIGhvc3RDb25maWc/OiBTa3lBcHBDb25maWdIb3N0XG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgcm91dGVyLFxuICAgICAgcm91dGUsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICByZW5kZXJlcixcbiAgICAgIGVsZW1lbnRSZWYsXG4gICAgICBuZXcgUGF0aExvY2F0aW9uU3RyYXRlZ3koXG4gICAgICAgIHBsYXRmb3JtTG9jYXRpb24sXG4gICAgICAgIGhvc3RDb25maWcgPyBob3N0Q29uZmlnLmhvc3QudXJsIDogc2t5QXBwQ29uZmlnPy5za3l1eC5ob3N0Py51cmxcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuI3dpbmRvdyA9IHdpbmRvdztcbiAgICB0aGlzLiNza3lBcHBDb25maWcgPSBza3lBcHBDb25maWc7XG4gICAgdGhpcy4jcGFyYW1zUHJvdmlkZXIgPSBwYXJhbXNQcm92aWRlcjtcblxuICAgIGlmIChcbiAgICAgIHRoaXMuI3dpbmRvdy5uYXRpdmVXaW5kb3cud2luZG93Lm5hbWUgJiZcbiAgICAgIHRoaXMuI3dpbmRvdy5uYXRpdmVXaW5kb3cud2luZG93Lm5hbWUgIT09ICcnXG4gICAgKSB7XG4gICAgICB0aGlzLnRhcmdldCA9IHRoaXMuI3dpbmRvdy5uYXRpdmVXaW5kb3cud2luZG93Lm5hbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGFyZ2V0ID0gJ190b3AnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeVBhcmFtcyA9IHRoaXMuI21lcmdlUXVlcnlQYXJhbXMoXG4gICAgICBjaGFuZ2VzWydxdWVyeVBhcmFtcyddPy5jdXJyZW50VmFsdWVcbiAgICApO1xuICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICB9XG5cbiAgI21lcmdlUXVlcnlQYXJhbXMocXVlcnlQYXJhbXM6IFNreUFwcExpbmtRdWVyeVBhcmFtcyk6IFNreUFwcExpbmtRdWVyeVBhcmFtcyB7XG4gICAgY29uc3Qgc2t5dXhQYXJhbXMgPSB0aGlzLiNza3lBcHBDb25maWdcbiAgICAgID8gdGhpcy4jc2t5QXBwQ29uZmlnLnJ1bnRpbWUucGFyYW1zLmdldEFsbCgpXG4gICAgICA6IHRoaXMuI3BhcmFtc1Byb3ZpZGVyPy5wYXJhbXMuZ2V0QWxsKCk7XG5cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5xdWVyeVBhcmFtcywgcXVlcnlQYXJhbXMsIHNreXV4UGFyYW1zKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,43 @@
1
+ import { Directive, Input, Optional, } from '@angular/core';
2
+ import { RouterLink } from '@angular/router';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/router";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@skyux/config";
7
+ export class SkyAppLinkDirective extends RouterLink {
8
+ set skyAppLink(commands) {
9
+ this.routerLink = commands;
10
+ }
11
+ #skyAppConfig;
12
+ #paramsProvider;
13
+ constructor(router, route, locationStrategy, renderer, elementRef, skyAppConfig, paramsProvider) {
14
+ super(router, route, undefined, renderer, elementRef, locationStrategy);
15
+ this.#skyAppConfig = skyAppConfig;
16
+ this.#paramsProvider = paramsProvider;
17
+ }
18
+ ngOnChanges(changes) {
19
+ this.queryParams = this.#mergeQueryParams(changes['queryParams']?.currentValue);
20
+ super.ngOnChanges(changes);
21
+ }
22
+ #mergeQueryParams(queryParams) {
23
+ const skyuxParams = this.#skyAppConfig
24
+ ? this.#skyAppConfig.runtime.params.getAll(true)
25
+ : this.#paramsProvider?.params.getAll(true);
26
+ return Object.assign({}, this.queryParams, queryParams, skyuxParams);
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppLinkDirective, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.LocationStrategy }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i3.SkyAppConfig, optional: true }, { token: i3.SkyAppRuntimeConfigParamsProvider, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
29
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: SkyAppLinkDirective, selector: "[skyAppLink]", inputs: { skyAppLink: "skyAppLink" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppLinkDirective, decorators: [{
32
+ type: Directive,
33
+ args: [{
34
+ selector: '[skyAppLink]',
35
+ }]
36
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.LocationStrategy }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i3.SkyAppConfig, decorators: [{
37
+ type: Optional
38
+ }] }, { type: i3.SkyAppRuntimeConfigParamsProvider, decorators: [{
39
+ type: Optional
40
+ }] }]; }, propDecorators: { skyAppLink: [{
41
+ type: Input
42
+ }] } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3NyYy9saWIvbW9kdWxlcy9saW5rL2xpbmsuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUVMLFFBQVEsR0FHVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQVFyRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsVUFBVTtJQUNqRCxJQUNXLFVBQVUsQ0FBQyxRQUF3QjtRQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRUQsYUFBYSxDQUEyQjtJQUN4QyxlQUFlLENBQWdEO0lBRS9ELFlBQ0UsTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLGdCQUFrQyxFQUNsQyxRQUFtQixFQUNuQixVQUFzQixFQUNWLFlBQTJCLEVBQzNCLGNBQWtEO1FBRTlELEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7UUFDbEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7SUFDeEMsQ0FBQztJQUVlLFdBQVcsQ0FBQyxPQUFzQjtRQUNoRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FDdkMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFlBQVksQ0FDckMsQ0FBQztRQUNGLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGlCQUFpQixDQUFDLFdBQWtDO1FBQ2xELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhO1lBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNoRCxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTlDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdkUsQ0FBQzs4R0FwQ1UsbUJBQW1CO2tHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCOzswQkFnQkksUUFBUTs7MEJBQ1IsUUFBUTs0Q0FkQSxVQUFVO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9wdGlvbmFsLFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciwgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTa3lBcHBDb25maWcsIFNreUFwcFJ1bnRpbWVDb25maWdQYXJhbXNQcm92aWRlciB9IGZyb20gJ0Bza3l1eC9jb25maWcnO1xuXG5pbXBvcnQgeyBTa3lBcHBMaW5rUXVlcnlQYXJhbXMgfSBmcm9tICcuL2xpbmstcXVlcnktcGFyYW1zJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreUFwcExpbmtdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QXBwTGlua0RpcmVjdGl2ZSBleHRlbmRzIFJvdXRlckxpbmsgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNreUFwcExpbmsoY29tbWFuZHM6IGFueVtdIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5yb3V0ZXJMaW5rID0gY29tbWFuZHM7XG4gIH1cblxuICAjc2t5QXBwQ29uZmlnOiBTa3lBcHBDb25maWcgfCB1bmRlZmluZWQ7XG4gICNwYXJhbXNQcm92aWRlcjogU2t5QXBwUnVudGltZUNvbmZpZ1BhcmFtc1Byb3ZpZGVyIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHJvdXRlcjogUm91dGVyLFxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBsb2NhdGlvblN0cmF0ZWd5OiBMb2NhdGlvblN0cmF0ZWd5LFxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBAT3B0aW9uYWwoKSBza3lBcHBDb25maWc/OiBTa3lBcHBDb25maWcsXG4gICAgQE9wdGlvbmFsKCkgcGFyYW1zUHJvdmlkZXI/OiBTa3lBcHBSdW50aW1lQ29uZmlnUGFyYW1zUHJvdmlkZXJcbiAgKSB7XG4gICAgc3VwZXIocm91dGVyLCByb3V0ZSwgdW5kZWZpbmVkLCByZW5kZXJlciwgZWxlbWVudFJlZiwgbG9jYXRpb25TdHJhdGVneSk7XG4gICAgdGhpcy4jc2t5QXBwQ29uZmlnID0gc2t5QXBwQ29uZmlnO1xuICAgIHRoaXMuI3BhcmFtc1Byb3ZpZGVyID0gcGFyYW1zUHJvdmlkZXI7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlQYXJhbXMgPSB0aGlzLiNtZXJnZVF1ZXJ5UGFyYW1zKFxuICAgICAgY2hhbmdlc1sncXVlcnlQYXJhbXMnXT8uY3VycmVudFZhbHVlXG4gICAgKTtcbiAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgfVxuXG4gICNtZXJnZVF1ZXJ5UGFyYW1zKHF1ZXJ5UGFyYW1zOiBTa3lBcHBMaW5rUXVlcnlQYXJhbXMpOiBTa3lBcHBMaW5rUXVlcnlQYXJhbXMge1xuICAgIGNvbnN0IHNreXV4UGFyYW1zID0gdGhpcy4jc2t5QXBwQ29uZmlnXG4gICAgICA/IHRoaXMuI3NreUFwcENvbmZpZy5ydW50aW1lLnBhcmFtcy5nZXRBbGwodHJ1ZSlcbiAgICAgIDogdGhpcy4jcGFyYW1zUHJvdmlkZXI/LnBhcmFtcy5nZXRBbGwodHJ1ZSk7XG5cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5xdWVyeVBhcmFtcywgcXVlcnlQYXJhbXMsIHNreXV4UGFyYW1zKTtcbiAgfVxufVxuIl19
@@ -4,15 +4,15 @@ import { SkyAppLinkDirective } from './link.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  /* istanbul ignore next */
6
6
  export class SkyAppLinkModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyAppLinkModule, declarations: [SkyAppLinkDirective, SkyAppLinkExternalDirective], exports: [SkyAppLinkDirective, SkyAppLinkExternalDirective] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppLinkModule }); }
7
10
  }
8
- SkyAppLinkModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- SkyAppLinkModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyAppLinkModule, declarations: [SkyAppLinkDirective, SkyAppLinkExternalDirective], exports: [SkyAppLinkDirective, SkyAppLinkExternalDirective] });
10
- SkyAppLinkModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppLinkModule });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppLinkModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppLinkModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [SkyAppLinkDirective, SkyAppLinkExternalDirective],
15
15
  exports: [SkyAppLinkDirective, SkyAppLinkExternalDirective],
16
16
  }]
17
17
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3NyYy9saWIvbW9kdWxlcy9saW5rL2xpbmsubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBTXZELDBCQUEwQjtBQUMxQixNQUFNLE9BQU8sZ0JBQWdCOzs2R0FBaEIsZ0JBQWdCOzhHQUFoQixnQkFBZ0IsaUJBSlosbUJBQW1CLEVBQUUsMkJBQTJCLGFBQ3JELG1CQUFtQixFQUFFLDJCQUEyQjs4R0FHL0MsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsMkJBQTJCLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixFQUFFLDJCQUEyQixDQUFDO2lCQUM1RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUFwcExpbmtFeHRlcm5hbERpcmVjdGl2ZSB9IGZyb20gJy4vbGluay1leHRlcm5hbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2t5QXBwTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4vbGluay5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lBcHBMaW5rRGlyZWN0aXZlLCBTa3lBcHBMaW5rRXh0ZXJuYWxEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbU2t5QXBwTGlua0RpcmVjdGl2ZSwgU2t5QXBwTGlua0V4dGVybmFsRGlyZWN0aXZlXSxcbn0pXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZXhwb3J0IGNsYXNzIFNreUFwcExpbmtNb2R1bGUge31cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3NyYy9saWIvbW9kdWxlcy9saW5rL2xpbmsubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBTXZELDBCQUEwQjtBQUMxQixNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFKWixtQkFBbUIsRUFBRSwyQkFBMkIsYUFDckQsbUJBQW1CLEVBQUUsMkJBQTJCOytHQUcvQyxnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsMkJBQTJCLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixFQUFFLDJCQUEyQixDQUFDO2lCQUM1RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUFwcExpbmtFeHRlcm5hbERpcmVjdGl2ZSB9IGZyb20gJy4vbGluay1leHRlcm5hbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2t5QXBwTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4vbGluay5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lBcHBMaW5rRGlyZWN0aXZlLCBTa3lBcHBMaW5rRXh0ZXJuYWxEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbU2t5QXBwTGlua0RpcmVjdGl2ZSwgU2t5QXBwTGlua0V4dGVybmFsRGlyZWN0aXZlXSxcbn0pXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZXhwb3J0IGNsYXNzIFNreUFwcExpbmtNb2R1bGUge31cbiJdfQ==
@@ -4,10 +4,10 @@ import * as i0 from "@angular/core";
4
4
  * A service for creating and retrieving recently accessed links.
5
5
  */
6
6
  export class SkyRecentlyAccessedService {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyRecentlyAccessedService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyRecentlyAccessedService }); }
7
9
  }
8
- SkyRecentlyAccessedService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyRecentlyAccessedService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9
- SkyRecentlyAccessedService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyRecentlyAccessedService });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyRecentlyAccessedService, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyRecentlyAccessedService, decorators: [{
11
11
  type: Injectable
12
12
  }] });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZW50bHktYWNjZXNzZWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9yb3V0ZXIvc3JjL2xpYi9tb2R1bGVzL3JlY2VudGx5LWFjY2Vzc2VkL3JlY2VudGx5LWFjY2Vzc2VkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVM0M7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLDBCQUEwQjs7dUhBQTFCLDBCQUEwQjsySEFBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBRC9DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5UmVjZW50bHlBY2Nlc3NlZEFkZExpbmtBcmdzIH0gZnJvbSAnLi9yZWNlbnRseS1hY2Nlc3NlZC1hZGQtbGluay1hcmdzJztcbmltcG9ydCB7IFNreVJlY2VudGx5QWNjZXNzZWRBZGRMaW5rUmVzdWx0IH0gZnJvbSAnLi9yZWNlbnRseS1hY2Nlc3NlZC1hZGQtbGluay1yZXN1bHQnO1xuaW1wb3J0IHsgU2t5UmVjZW50bHlBY2Nlc3NlZEFkZFJvdXRlQXJncyB9IGZyb20gJy4vcmVjZW50bHktYWNjZXNzZWQtYWRkLXJvdXRlLWFyZ3MnO1xuaW1wb3J0IHsgU2t5UmVjZW50bHlBY2Nlc3NlZEdldExpbmtzQXJncyB9IGZyb20gJy4vcmVjZW50bHktYWNjZXNzZWQtZ2V0LWxpbmtzLWFyZ3MnO1xuaW1wb3J0IHsgU2t5UmVjZW50bHlBY2Nlc3NlZExpbmtMaXN0IH0gZnJvbSAnLi9yZWNlbnRseS1hY2Nlc3NlZC1saW5rLWxpc3QnO1xuXG4vKipcbiAqIEEgc2VydmljZSBmb3IgY3JlYXRpbmcgYW5kIHJldHJpZXZpbmcgcmVjZW50bHkgYWNjZXNzZWQgbGlua3MuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTa3lSZWNlbnRseUFjY2Vzc2VkU2VydmljZSB7XG4gIC8qKlxuICAgKiBBZGRzIGEgcmVjZW50bHkgYWNjZXNzZWQgbGluayBiYXNlZCBvbiBhbiBBbmd1bGFyIHJvdXRlLlxuICAgKiBAcGFyYW0gYXJncyBUaGUgcm91dGUgdG8gYWRkLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGFkZFJvdXRlKFxuICAgIGFyZ3M6IFNreVJlY2VudGx5QWNjZXNzZWRBZGRSb3V0ZUFyZ3NcbiAgKTogT2JzZXJ2YWJsZTxTa3lSZWNlbnRseUFjY2Vzc2VkQWRkTGlua1Jlc3VsdD47XG5cbiAgLyoqXG4gICAqIEFkZHMgYSByZWNlbnRseSBhY2Nlc3NlZCBsaW5rIGJhc2VkIG9uIG1ldGFkYXRhIGFib3V0IHRoZSBsaW5rLlxuICAgKiBAcGFyYW0gYXJncyBUaGUgbGluayB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgYWRkTGluayhcbiAgICBhcmdzOiBTa3lSZWNlbnRseUFjY2Vzc2VkQWRkTGlua0FyZ3NcbiAgKTogT2JzZXJ2YWJsZTxTa3lSZWNlbnRseUFjY2Vzc2VkQWRkTGlua1Jlc3VsdD47XG5cbiAgLyoqXG4gICAqIEdldHMgYSBsaXN0IG9mIHJlY2VudGx5IGFjY2Vzc2VkIGxpbmtzLlxuICAgKiBAcGFyYW0gYXJncyBUaGUgbGlua3MgdG8gcmV0cmlldmUuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0TGlua3MoXG4gICAgYXJnczogU2t5UmVjZW50bHlBY2Nlc3NlZEdldExpbmtzQXJnc1xuICApOiBPYnNlcnZhYmxlPFNreVJlY2VudGx5QWNjZXNzZWRMaW5rTGlzdD47XG59XG4iXX0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZW50bHktYWNjZXNzZWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9yb3V0ZXIvc3JjL2xpYi9tb2R1bGVzL3JlY2VudGx5LWFjY2Vzc2VkL3JlY2VudGx5LWFjY2Vzc2VkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVM0M7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLDBCQUEwQjs4R0FBMUIsMEJBQTBCO2tIQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBRC9DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5UmVjZW50bHlBY2Nlc3NlZEFkZExpbmtBcmdzIH0gZnJvbSAnLi9yZWNlbnRseS1hY2Nlc3NlZC1hZGQtbGluay1hcmdzJztcbmltcG9ydCB7IFNreVJlY2VudGx5QWNjZXNzZWRBZGRMaW5rUmVzdWx0IH0gZnJvbSAnLi9yZWNlbnRseS1hY2Nlc3NlZC1hZGQtbGluay1yZXN1bHQnO1xuaW1wb3J0IHsgU2t5UmVjZW50bHlBY2Nlc3NlZEFkZFJvdXRlQXJncyB9IGZyb20gJy4vcmVjZW50bHktYWNjZXNzZWQtYWRkLXJvdXRlLWFyZ3MnO1xuaW1wb3J0IHsgU2t5UmVjZW50bHlBY2Nlc3NlZEdldExpbmtzQXJncyB9IGZyb20gJy4vcmVjZW50bHktYWNjZXNzZWQtZ2V0LWxpbmtzLWFyZ3MnO1xuaW1wb3J0IHsgU2t5UmVjZW50bHlBY2Nlc3NlZExpbmtMaXN0IH0gZnJvbSAnLi9yZWNlbnRseS1hY2Nlc3NlZC1saW5rLWxpc3QnO1xuXG4vKipcbiAqIEEgc2VydmljZSBmb3IgY3JlYXRpbmcgYW5kIHJldHJpZXZpbmcgcmVjZW50bHkgYWNjZXNzZWQgbGlua3MuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTa3lSZWNlbnRseUFjY2Vzc2VkU2VydmljZSB7XG4gIC8qKlxuICAgKiBBZGRzIGEgcmVjZW50bHkgYWNjZXNzZWQgbGluayBiYXNlZCBvbiBhbiBBbmd1bGFyIHJvdXRlLlxuICAgKiBAcGFyYW0gYXJncyBUaGUgcm91dGUgdG8gYWRkLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGFkZFJvdXRlKFxuICAgIGFyZ3M6IFNreVJlY2VudGx5QWNjZXNzZWRBZGRSb3V0ZUFyZ3NcbiAgKTogT2JzZXJ2YWJsZTxTa3lSZWNlbnRseUFjY2Vzc2VkQWRkTGlua1Jlc3VsdD47XG5cbiAgLyoqXG4gICAqIEFkZHMgYSByZWNlbnRseSBhY2Nlc3NlZCBsaW5rIGJhc2VkIG9uIG1ldGFkYXRhIGFib3V0IHRoZSBsaW5rLlxuICAgKiBAcGFyYW0gYXJncyBUaGUgbGluayB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgYWRkTGluayhcbiAgICBhcmdzOiBTa3lSZWNlbnRseUFjY2Vzc2VkQWRkTGlua0FyZ3NcbiAgKTogT2JzZXJ2YWJsZTxTa3lSZWNlbnRseUFjY2Vzc2VkQWRkTGlua1Jlc3VsdD47XG5cbiAgLyoqXG4gICAqIEdldHMgYSBsaXN0IG9mIHJlY2VudGx5IGFjY2Vzc2VkIGxpbmtzLlxuICAgKiBAcGFyYW0gYXJncyBUaGUgbGlua3MgdG8gcmV0cmlldmUuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0TGlua3MoXG4gICAgYXJnczogU2t5UmVjZW50bHlBY2Nlc3NlZEdldExpbmtzQXJnc1xuICApOiBPYnNlcnZhYmxlPFNreVJlY2VudGx5QWNjZXNzZWRMaW5rTGlzdD47XG59XG4iXX0=
@@ -0,0 +1,40 @@
1
+ import { SkyComponentHarness } from '@skyux/core/testing';
2
+ /**
3
+ * Allows interaction with a SkyHref directive during testing.
4
+ */
5
+ export class SkyHrefHarness extends SkyComponentHarness {
6
+ static { this.hostSelector = '[skyHref]'; }
7
+ /**
8
+ * Gets a `HarnessPredicate` that can be used to search for a
9
+ * `SkyHrefHarness` that meets certain criteria.
10
+ */
11
+ static with(filters) {
12
+ return this.getDataSkyIdPredicate(filters);
13
+ }
14
+ /**
15
+ * Gets the href attribute of the host element.
16
+ */
17
+ async getHref() {
18
+ return await (await this.host()).getAttribute('href');
19
+ }
20
+ /**
21
+ * Gets the visible text.
22
+ */
23
+ async getText() {
24
+ return await this.isVisible().then(async (visible) => {
25
+ if (visible) {
26
+ return await (await this.host()).text();
27
+ }
28
+ return '';
29
+ });
30
+ }
31
+ /**
32
+ * Returns true if the text is visible.
33
+ */
34
+ async isVisible() {
35
+ return await (await this.host())
36
+ .matchesSelector('[hidden]')
37
+ .then((hidden) => !hidden);
38
+ }
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JvdXRlci90ZXN0aW5nL3NyYy9ocmVmL2hyZWYtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUkxRDs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsbUJBQW1CO2FBQ3ZDLGlCQUFZLEdBQUcsV0FBVyxDQUFDO0lBRXpDOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQThCO1FBRTlCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNuRCxJQUFJLE9BQU8sRUFBRTtnQkFDWCxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3pDO1lBQ0QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxTQUFTO1FBQ3BCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQzdCLGVBQWUsQ0FBQyxVQUFVLENBQUM7YUFDM0IsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lIcmVmSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2hyZWYtaGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBBbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCBhIFNreUhyZWYgZGlyZWN0aXZlIGR1cmluZyB0ZXN0aW5nLlxuICovXG5leHBvcnQgY2xhc3MgU2t5SHJlZkhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnW3NreUhyZWZdJztcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5SHJlZkhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lIcmVmSGFybmVzc0ZpbHRlcnNcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lIcmVmSGFybmVzcz4ge1xuICAgIHJldHVybiB0aGlzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBocmVmIGF0dHJpYnV0ZSBvZiB0aGUgaG9zdCBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhyZWYoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuZ2V0QXR0cmlidXRlKCdocmVmJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdmlzaWJsZSB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5pc1Zpc2libGUoKS50aGVuKGFzeW5jICh2aXNpYmxlKSA9PiB7XG4gICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS50ZXh0KCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gJyc7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSB0ZXh0IGlzIHZpc2libGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNWaXNpYmxlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpXG4gICAgICAubWF0Y2hlc1NlbGVjdG9yKCdbaGlkZGVuXScpXG4gICAgICAudGhlbigoaGlkZGVuKSA9PiAhaGlkZGVuKTtcbiAgfVxufVxuIl19
@@ -14,13 +14,13 @@ export class SkyHrefResolverMockService {
14
14
  userHasAccess: this.userHasAccess,
15
15
  });
16
16
  }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefResolverMockService, deps: [{ token: MockUserHasAccess }], target: i0.ɵɵFactoryTarget.Injectable }); }
18
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefResolverMockService }); }
17
19
  }
18
- SkyHrefResolverMockService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefResolverMockService, deps: [{ token: MockUserHasAccess }], target: i0.ɵɵFactoryTarget.Injectable });
19
- SkyHrefResolverMockService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefResolverMockService });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyHrefResolverMockService, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefResolverMockService, decorators: [{
21
21
  type: Injectable
22
22
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
23
23
  type: Inject,
24
24
  args: [MockUserHasAccess]
25
25
  }] }]; } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi1yZXNvbHZlci1tb2NrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3Rlc3Rpbmcvc3JjL2hyZWYvaHJlZi1yZXNvbHZlci1tb2NrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUduRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDakQsbUJBQW1CLENBQ3BCLENBQUM7QUFFRjs7R0FFRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFBK0MsYUFBc0I7UUFBdEIsa0JBQWEsR0FBYixhQUFhLENBQVM7SUFBRyxDQUFDO0lBRWxFLFdBQVcsQ0FBQyxLQUFzQjtRQUN2QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDckIsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7O3VIQVJVLDBCQUEwQixrQkFDakIsaUJBQWlCOzJIQUQxQiwwQkFBMEI7MkZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVTs7MEJBRUksTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lIcmVmLCBTa3lIcmVmUmVzb2x2ZXIgfSBmcm9tICdAc2t5dXgvcm91dGVyJztcblxuZXhwb3J0IGNvbnN0IE1vY2tVc2VySGFzQWNjZXNzID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KFxuICAnTW9ja1VzZXJIYXNBY2Nlc3MnXG4pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5SHJlZlJlc29sdmVyTW9ja1NlcnZpY2UgaW1wbGVtZW50cyBTa3lIcmVmUmVzb2x2ZXIge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KE1vY2tVc2VySGFzQWNjZXNzKSBwcml2YXRlIHVzZXJIYXNBY2Nlc3M6IGJvb2xlYW4pIHt9XG5cbiAgcHVibGljIHJlc29sdmVIcmVmKHBhcmFtOiB7IHVybDogc3RyaW5nIH0pOiBQcm9taXNlPFNreUhyZWY+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgIHVybDogcGFyYW0udXJsLFxuICAgICAgdXNlckhhc0FjY2VzczogdGhpcy51c2VySGFzQWNjZXNzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi1yZXNvbHZlci1tb2NrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3Rlc3Rpbmcvc3JjL2hyZWYvaHJlZi1yZXNvbHZlci1tb2NrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUduRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDakQsbUJBQW1CLENBQ3BCLENBQUM7QUFFRjs7R0FFRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFBK0MsYUFBc0I7UUFBdEIsa0JBQWEsR0FBYixhQUFhLENBQVM7SUFBRyxDQUFDO0lBRWxFLFdBQVcsQ0FBQyxLQUFzQjtRQUN2QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDckIsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBUlUsMEJBQTBCLGtCQUNqQixpQkFBaUI7a0hBRDFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVTs7MEJBRUksTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lIcmVmLCBTa3lIcmVmUmVzb2x2ZXIgfSBmcm9tICdAc2t5dXgvcm91dGVyJztcblxuZXhwb3J0IGNvbnN0IE1vY2tVc2VySGFzQWNjZXNzID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KFxuICAnTW9ja1VzZXJIYXNBY2Nlc3MnXG4pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5SHJlZlJlc29sdmVyTW9ja1NlcnZpY2UgaW1wbGVtZW50cyBTa3lIcmVmUmVzb2x2ZXIge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KE1vY2tVc2VySGFzQWNjZXNzKSBwcml2YXRlIHVzZXJIYXNBY2Nlc3M6IGJvb2xlYW4pIHt9XG5cbiAgcHVibGljIHJlc29sdmVIcmVmKHBhcmFtOiB7IHVybDogc3RyaW5nIH0pOiBQcm9taXNlPFNreUhyZWY+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgIHVybDogcGFyYW0udXJsLFxuICAgICAgdXNlckhhc0FjY2VzczogdGhpcy51c2VySGFzQWNjZXNzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,51 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { SkyHrefModule, SkyHrefResolverService } from '@skyux/router';
3
+ import { MockUserHasAccess, SkyHrefResolverMockService, } from './href-resolver-mock.service';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Testing module for the `SkyHref` directive and route resolver.
7
+ */
8
+ export class SkyHrefTestingModule {
9
+ static with(options) {
10
+ return {
11
+ ngModule: SkyHrefTestingModule,
12
+ providers: [
13
+ {
14
+ provide: MockUserHasAccess,
15
+ useValue: options.userHasAccess,
16
+ },
17
+ ],
18
+ };
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefTestingModule, exports: [SkyHrefModule] }); }
22
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefTestingModule, providers: [
23
+ SkyHrefResolverMockService,
24
+ {
25
+ provide: SkyHrefResolverService,
26
+ useClass: SkyHrefResolverMockService,
27
+ },
28
+ {
29
+ provide: MockUserHasAccess,
30
+ useValue: true,
31
+ },
32
+ ], imports: [SkyHrefModule] }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyHrefTestingModule, decorators: [{
35
+ type: NgModule,
36
+ args: [{
37
+ exports: [SkyHrefModule],
38
+ providers: [
39
+ SkyHrefResolverMockService,
40
+ {
41
+ provide: SkyHrefResolverService,
42
+ useClass: SkyHrefResolverMockService,
43
+ },
44
+ {
45
+ provide: MockUserHasAccess,
46
+ useValue: true,
47
+ },
48
+ ],
49
+ }]
50
+ }] });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi10ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9yb3V0ZXIvdGVzdGluZy9zcmMvaHJlZi9ocmVmLXRlc3RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEUsT0FBTyxFQUNMLGlCQUFpQixFQUNqQiwwQkFBMEIsR0FDM0IsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFdEM7O0dBRUc7QUFlSCxNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FFbEI7UUFDQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLG9CQUFvQjtZQUM5QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxhQUFhO2lCQUNoQzthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OEdBYlUsb0JBQW9COytHQUFwQixvQkFBb0IsWUFickIsYUFBYTsrR0FhWixvQkFBb0IsYUFacEI7WUFDVCwwQkFBMEI7WUFDMUI7Z0JBQ0UsT0FBTyxFQUFFLHNCQUFzQjtnQkFDL0IsUUFBUSxFQUFFLDBCQUEwQjthQUNyQztZQUNEO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7U0FDRixZQVhTLGFBQWE7OzJGQWFaLG9CQUFvQjtrQkFkaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3hCLFNBQVMsRUFBRTt3QkFDVCwwQkFBMEI7d0JBQzFCOzRCQUNFLE9BQU8sRUFBRSxzQkFBc0I7NEJBQy9CLFFBQVEsRUFBRSwwQkFBMEI7eUJBQ3JDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxJQUFJO3lCQUNmO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUhyZWZNb2R1bGUsIFNreUhyZWZSZXNvbHZlclNlcnZpY2UgfSBmcm9tICdAc2t5dXgvcm91dGVyJztcblxuaW1wb3J0IHtcbiAgTW9ja1VzZXJIYXNBY2Nlc3MsXG4gIFNreUhyZWZSZXNvbHZlck1vY2tTZXJ2aWNlLFxufSBmcm9tICcuL2hyZWYtcmVzb2x2ZXItbW9jay5zZXJ2aWNlJztcblxuLyoqXG4gKiBUZXN0aW5nIG1vZHVsZSBmb3IgdGhlIGBTa3lIcmVmYCBkaXJlY3RpdmUgYW5kIHJvdXRlIHJlc29sdmVyLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5SHJlZk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIFNreUhyZWZSZXNvbHZlck1vY2tTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreUhyZWZSZXNvbHZlclNlcnZpY2UsXG4gICAgICB1c2VDbGFzczogU2t5SHJlZlJlc29sdmVyTW9ja1NlcnZpY2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBNb2NrVXNlckhhc0FjY2VzcyxcbiAgICAgIHVzZVZhbHVlOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUhyZWZUZXN0aW5nTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyB3aXRoKG9wdGlvbnM6IHtcbiAgICB1c2VySGFzQWNjZXNzOiBib29sZWFuO1xuICB9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxTa3lIcmVmVGVzdGluZ01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogU2t5SHJlZlRlc3RpbmdNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE1vY2tVc2VySGFzQWNjZXNzLFxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zLnVzZXJIYXNBY2Nlc3MsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==