@skyux/router 7.4.2 → 7.6.0

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.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZW50bHktYWNjZXNzZWQtbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9yb3V0ZXIvc3JjL2xpYi9tb2R1bGVzL3JlY2VudGx5LWFjY2Vzc2VkL3JlY2VudGx5LWFjY2Vzc2VkLWxpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVzb2x2ZWQgbWV0c2RhdGEgYWJvdXQgYSByZWNlbnRseSBhY2Nlc3NlZCBsaW5rLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreVJlY2VudGx5QWNjZXNzZWRMaW5rIHtcbiAgLyoqXG4gICAqIFRoZSBsYWJlbCB0byBkaXNwbGF5IGZvciB0aGUgbGluay5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZGF0ZSB0aGUgbGluayB3YXMgbGFzdCBhY2Nlc3NlZC5cbiAgICovXG4gIGxhc3RBY2Nlc3NlZDogRGF0ZTtcbiAgLyoqXG4gICAqIFRoZSBsaW5rJ3MgZnVsbHktcXVhbGlmaWVkIFVSTC5cbiAgICovXG4gIHVybDogc3RyaW5nO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZW50bHktYWNjZXNzZWQtbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9yb3V0ZXIvc3JjL2xpYi9tb2R1bGVzL3JlY2VudGx5LWFjY2Vzc2VkL3JlY2VudGx5LWFjY2Vzc2VkLWxpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVzb2x2ZWQgbWV0YWRhdGEgYWJvdXQgYSByZWNlbnRseSBhY2Nlc3NlZCBsaW5rLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreVJlY2VudGx5QWNjZXNzZWRMaW5rIHtcbiAgLyoqXG4gICAqIFRoZSBsYWJlbCB0byBkaXNwbGF5IGZvciB0aGUgbGluay5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZGF0ZSB0aGUgbGluayB3YXMgbGFzdCBhY2Nlc3NlZC5cbiAgICovXG4gIGxhc3RBY2Nlc3NlZDogRGF0ZTtcbiAgLyoqXG4gICAqIFRoZSBsaW5rJ3MgZnVsbHktcXVhbGlmaWVkIFVSTC5cbiAgICovXG4gIHVybDogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi1oYXJuZXNzLWZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3Rlc3Rpbmcvc3JjL2hyZWYvaHJlZi1oYXJuZXNzLWZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbi8qKlxuICogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIGBTa3lIcmVmSGFybmVzc2AgaW5zdGFuY2VzLlxuICogQGludGVybmFsXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIFNreUhyZWZIYXJuZXNzRmlsdGVycyBleHRlbmRzIFNreUhhcm5lc3NGaWx0ZXJzIHt9XG4iXX0=
@@ -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
+ /**
7
+ * Gets a `HarnessPredicate` that can be used to search for a
8
+ * `SkyHrefHarness` that meets certain criteria.
9
+ */
10
+ static with(filters) {
11
+ return this.getDataSkyIdPredicate(filters);
12
+ }
13
+ /**
14
+ * Gets the href attribute of the host element.
15
+ */
16
+ async getHref() {
17
+ return await (await this.host()).getAttribute('href');
18
+ }
19
+ /**
20
+ * Gets the visible text.
21
+ */
22
+ async getText() {
23
+ return await this.isVisible().then(async (visible) => {
24
+ if (visible) {
25
+ return await (await this.host()).text();
26
+ }
27
+ return '';
28
+ });
29
+ }
30
+ /**
31
+ * Returns true if the text is visible.
32
+ */
33
+ async isVisible() {
34
+ return await (await this.host())
35
+ .matchesSelector('[hidden]')
36
+ .then((hidden) => !hidden);
37
+ }
38
+ }
39
+ SkyHrefHarness.hostSelector = '[skyHref]';
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JvdXRlci90ZXN0aW5nL3NyYy9ocmVmL2hyZWYtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUkxRDs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsbUJBQW1CO0lBR3JEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQThCO1FBRTlCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNuRCxJQUFJLE9BQU8sRUFBRTtnQkFDWCxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3pDO1lBQ0QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxTQUFTO1FBQ3BCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQzdCLGVBQWUsQ0FBQyxVQUFVLENBQUM7YUFDM0IsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLENBQUM7O0FBdENhLDJCQUFZLEdBQUcsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5SHJlZkhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9ocmVmLWhhcm5lc3MtZmlsdGVycyc7XG5cbi8qKlxuICogQWxsb3dzIGludGVyYWN0aW9uIHdpdGggYSBTa3lIcmVmIGRpcmVjdGl2ZSBkdXJpbmcgdGVzdGluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUhyZWZIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ1tza3lIcmVmXSc7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUhyZWZIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5SHJlZkhhcm5lc3NGaWx0ZXJzXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5SHJlZkhhcm5lc3M+IHtcbiAgICByZXR1cm4gdGhpcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaHJlZiBhdHRyaWJ1dGUgb2YgdGhlIGhvc3QgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIcmVmKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmdldEF0dHJpYnV0ZSgnaHJlZicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZpc2libGUgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuaXNWaXNpYmxlKCkudGhlbihhc3luYyAodmlzaWJsZSkgPT4ge1xuICAgICAgaWYgKHZpc2libGUpIHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkudGV4dCgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuICcnO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgdGV4dCBpcyB2aXNpYmxlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzVmlzaWJsZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKVxuICAgICAgLm1hdGNoZXNTZWxlY3RvcignW2hpZGRlbl0nKVxuICAgICAgLnRoZW4oKGhpZGRlbikgPT4gIWhpZGRlbik7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { Inject, Injectable, InjectionToken } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export const MockUserHasAccess = new InjectionToken('MockUserHasAccess');
4
+ /**
5
+ * @internal
6
+ */
7
+ export class SkyHrefResolverMockService {
8
+ constructor(userHasAccess) {
9
+ this.userHasAccess = userHasAccess;
10
+ }
11
+ resolveHref(param) {
12
+ return Promise.resolve({
13
+ url: param.url,
14
+ userHasAccess: this.userHasAccess,
15
+ });
16
+ }
17
+ }
18
+ SkyHrefResolverMockService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefResolverMockService, deps: [{ token: MockUserHasAccess }], target: i0.ɵɵFactoryTarget.Injectable });
19
+ SkyHrefResolverMockService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefResolverMockService });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefResolverMockService, decorators: [{
21
+ type: Injectable
22
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
23
+ type: Inject,
24
+ args: [MockUserHasAccess]
25
+ }] }]; } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi1yZXNvbHZlci1tb2NrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3Rlc3Rpbmcvc3JjL2hyZWYvaHJlZi1yZXNvbHZlci1tb2NrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUduRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDakQsbUJBQW1CLENBQ3BCLENBQUM7QUFFRjs7R0FFRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFBK0MsYUFBc0I7UUFBdEIsa0JBQWEsR0FBYixhQUFhLENBQVM7SUFBRyxDQUFDO0lBRWxFLFdBQVcsQ0FBQyxLQUFzQjtRQUN2QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDckIsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7O3dIQVJVLDBCQUEwQixrQkFDakIsaUJBQWlCOzRIQUQxQiwwQkFBMEI7NEZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVTs7MEJBRUksTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lIcmVmLCBTa3lIcmVmUmVzb2x2ZXIgfSBmcm9tICdAc2t5dXgvcm91dGVyJztcblxuZXhwb3J0IGNvbnN0IE1vY2tVc2VySGFzQWNjZXNzID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+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
+ }
21
+ SkyHrefTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22
+ SkyHrefTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefTestingModule, exports: [SkyHrefModule] });
23
+ SkyHrefTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefTestingModule, providers: [
24
+ SkyHrefResolverMockService,
25
+ {
26
+ provide: SkyHrefResolverService,
27
+ useClass: SkyHrefResolverMockService,
28
+ },
29
+ {
30
+ provide: MockUserHasAccess,
31
+ useValue: true,
32
+ },
33
+ ], imports: [SkyHrefModule] });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi10ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9yb3V0ZXIvdGVzdGluZy9zcmMvaHJlZi9ocmVmLXRlc3RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEUsT0FBTyxFQUNMLGlCQUFpQixFQUNqQiwwQkFBMEIsR0FDM0IsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFdEM7O0dBRUc7QUFlSCxNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FFbEI7UUFDQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLG9CQUFvQjtZQUM5QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxhQUFhO2lCQUNoQzthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O2tIQWJVLG9CQUFvQjttSEFBcEIsb0JBQW9CLFlBYnJCLGFBQWE7bUhBYVosb0JBQW9CLGFBWnBCO1FBQ1QsMEJBQTBCO1FBQzFCO1lBQ0UsT0FBTyxFQUFFLHNCQUFzQjtZQUMvQixRQUFRLEVBQUUsMEJBQTBCO1NBQ3JDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFFBQVEsRUFBRSxJQUFJO1NBQ2Y7S0FDRixZQVhTLGFBQWE7NEZBYVosb0JBQW9CO2tCQWRoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDeEIsU0FBUyxFQUFFO3dCQUNULDBCQUEwQjt3QkFDMUI7NEJBQ0UsT0FBTyxFQUFFLHNCQUFzQjs0QkFDL0IsUUFBUSxFQUFFLDBCQUEwQjt5QkFDckM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsUUFBUSxFQUFFLElBQUk7eUJBQ2Y7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5SHJlZk1vZHVsZSwgU2t5SHJlZlJlc29sdmVyU2VydmljZSB9IGZyb20gJ0Bza3l1eC9yb3V0ZXInO1xuXG5pbXBvcnQge1xuICBNb2NrVXNlckhhc0FjY2VzcyxcbiAgU2t5SHJlZlJlc29sdmVyTW9ja1NlcnZpY2UsXG59IGZyb20gJy4vaHJlZi1yZXNvbHZlci1tb2NrLnNlcnZpY2UnO1xuXG4vKipcbiAqIFRlc3RpbmcgbW9kdWxlIGZvciB0aGUgYFNreUhyZWZgIGRpcmVjdGl2ZSBhbmQgcm91dGUgcmVzb2x2ZXIuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtTa3lIcmVmTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5SHJlZlJlc29sdmVyTW9ja1NlcnZpY2UsXG4gICAge1xuICAgICAgcHJvdmlkZTogU2t5SHJlZlJlc29sdmVyU2VydmljZSxcbiAgICAgIHVzZUNsYXNzOiBTa3lIcmVmUmVzb2x2ZXJNb2NrU2VydmljZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1vY2tVc2VySGFzQWNjZXNzLFxuICAgICAgdXNlVmFsdWU6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5SHJlZlRlc3RpbmdNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIHdpdGgob3B0aW9uczoge1xuICAgIHVzZXJIYXNBY2Nlc3M6IGJvb2xlYW47XG4gIH0pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFNreUhyZWZUZXN0aW5nTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBTa3lIcmVmVGVzdGluZ01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTW9ja1VzZXJIYXNBY2Nlc3MsXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMudXNlckhhc0FjY2VzcyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './href/href-harness';
2
+ export * from './href/href-testing.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9yb3V0ZXIvdGVzdGluZy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2hyZWYvaHJlZi1oYXJuZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vaHJlZi9ocmVmLXRlc3RpbmcubW9kdWxlJztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtcm91dGVyLXRlc3RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcm91dGVyL3Rlc3Rpbmcvc3JjL3NreXV4LXJvdXRlci10ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -0,0 +1,130 @@
1
+ import { __awaiter } from 'tslib';
2
+ import { SkyComponentHarness } from '@skyux/core/testing';
3
+ import * as i0 from '@angular/core';
4
+ import { InjectionToken, Injectable, Inject, NgModule } from '@angular/core';
5
+ import { SkyHrefModule, SkyHrefResolverService } from '@skyux/router';
6
+
7
+ /**
8
+ * Allows interaction with a SkyHref directive during testing.
9
+ */
10
+ class SkyHrefHarness extends SkyComponentHarness {
11
+ /**
12
+ * Gets a `HarnessPredicate` that can be used to search for a
13
+ * `SkyHrefHarness` that meets certain criteria.
14
+ */
15
+ static with(filters) {
16
+ return this.getDataSkyIdPredicate(filters);
17
+ }
18
+ /**
19
+ * Gets the href attribute of the host element.
20
+ */
21
+ getHref() {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ return yield (yield this.host()).getAttribute('href');
24
+ });
25
+ }
26
+ /**
27
+ * Gets the visible text.
28
+ */
29
+ getText() {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ return yield this.isVisible().then((visible) => __awaiter(this, void 0, void 0, function* () {
32
+ if (visible) {
33
+ return yield (yield this.host()).text();
34
+ }
35
+ return '';
36
+ }));
37
+ });
38
+ }
39
+ /**
40
+ * Returns true if the text is visible.
41
+ */
42
+ isVisible() {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ return yield (yield this.host())
45
+ .matchesSelector('[hidden]')
46
+ .then((hidden) => !hidden);
47
+ });
48
+ }
49
+ }
50
+ SkyHrefHarness.hostSelector = '[skyHref]';
51
+
52
+ const MockUserHasAccess = new InjectionToken('MockUserHasAccess');
53
+ /**
54
+ * @internal
55
+ */
56
+ class SkyHrefResolverMockService {
57
+ constructor(userHasAccess) {
58
+ this.userHasAccess = userHasAccess;
59
+ }
60
+ resolveHref(param) {
61
+ return Promise.resolve({
62
+ url: param.url,
63
+ userHasAccess: this.userHasAccess,
64
+ });
65
+ }
66
+ }
67
+ SkyHrefResolverMockService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefResolverMockService, deps: [{ token: MockUserHasAccess }], target: i0.ɵɵFactoryTarget.Injectable });
68
+ SkyHrefResolverMockService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefResolverMockService });
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefResolverMockService, decorators: [{
70
+ type: Injectable
71
+ }], ctorParameters: function () {
72
+ return [{ type: undefined, decorators: [{
73
+ type: Inject,
74
+ args: [MockUserHasAccess]
75
+ }] }];
76
+ } });
77
+
78
+ /**
79
+ * Testing module for the `SkyHref` directive and route resolver.
80
+ */
81
+ class SkyHrefTestingModule {
82
+ static with(options) {
83
+ return {
84
+ ngModule: SkyHrefTestingModule,
85
+ providers: [
86
+ {
87
+ provide: MockUserHasAccess,
88
+ useValue: options.userHasAccess,
89
+ },
90
+ ],
91
+ };
92
+ }
93
+ }
94
+ SkyHrefTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
95
+ SkyHrefTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefTestingModule, exports: [SkyHrefModule] });
96
+ SkyHrefTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefTestingModule, providers: [
97
+ SkyHrefResolverMockService,
98
+ {
99
+ provide: SkyHrefResolverService,
100
+ useClass: SkyHrefResolverMockService,
101
+ },
102
+ {
103
+ provide: MockUserHasAccess,
104
+ useValue: true,
105
+ },
106
+ ], imports: [SkyHrefModule] });
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefTestingModule, decorators: [{
108
+ type: NgModule,
109
+ args: [{
110
+ exports: [SkyHrefModule],
111
+ providers: [
112
+ SkyHrefResolverMockService,
113
+ {
114
+ provide: SkyHrefResolverService,
115
+ useClass: SkyHrefResolverMockService,
116
+ },
117
+ {
118
+ provide: MockUserHasAccess,
119
+ useValue: true,
120
+ },
121
+ ],
122
+ }]
123
+ }] });
124
+
125
+ /**
126
+ * Generated bundle index. Do not edit.
127
+ */
128
+
129
+ export { SkyHrefHarness, SkyHrefTestingModule };
130
+ //# sourceMappingURL=skyux-router-testing.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skyux-router-testing.mjs","sources":["../../../../../libs/components/router/testing/src/href/href-harness.ts","../../../../../libs/components/router/testing/src/href/href-resolver-mock.service.ts","../../../../../libs/components/router/testing/src/href/href-testing.module.ts","../../../../../libs/components/router/testing/src/skyux-router-testing.ts"],"sourcesContent":["import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyHrefHarnessFilters } from './href-harness-filters';\n\n/**\n * Allows interaction with a SkyHref directive during testing.\n */\nexport class SkyHrefHarness extends SkyComponentHarness {\n public static hostSelector = '[skyHref]';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyHrefHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyHrefHarnessFilters\n ): HarnessPredicate<SkyHrefHarness> {\n return this.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the href attribute of the host element.\n */\n public async getHref(): Promise<string | null> {\n return await (await this.host()).getAttribute('href');\n }\n\n /**\n * Gets the visible text.\n */\n public async getText(): Promise<string> {\n return await this.isVisible().then(async (visible) => {\n if (visible) {\n return await (await this.host()).text();\n }\n return '';\n });\n }\n\n /**\n * Returns true if the text is visible.\n */\n public async isVisible(): Promise<boolean> {\n return await (await this.host())\n .matchesSelector('[hidden]')\n .then((hidden) => !hidden);\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { SkyHref, SkyHrefResolver } from '@skyux/router';\n\nexport const MockUserHasAccess = new InjectionToken<boolean>(\n 'MockUserHasAccess'\n);\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyHrefResolverMockService implements SkyHrefResolver {\n constructor(@Inject(MockUserHasAccess) private userHasAccess: boolean) {}\n\n public resolveHref(param: { url: string }): Promise<SkyHref> {\n return Promise.resolve({\n url: param.url,\n userHasAccess: this.userHasAccess,\n });\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { SkyHrefModule, SkyHrefResolverService } from '@skyux/router';\n\nimport {\n MockUserHasAccess,\n SkyHrefResolverMockService,\n} from './href-resolver-mock.service';\n\n/**\n * Testing module for the `SkyHref` directive and route resolver.\n */\n@NgModule({\n exports: [SkyHrefModule],\n providers: [\n SkyHrefResolverMockService,\n {\n provide: SkyHrefResolverService,\n useClass: SkyHrefResolverMockService,\n },\n {\n provide: MockUserHasAccess,\n useValue: true,\n },\n ],\n})\nexport class SkyHrefTestingModule {\n public static with(options: {\n userHasAccess: boolean;\n }): ModuleWithProviders<SkyHrefTestingModule> {\n return {\n ngModule: SkyHrefTestingModule,\n providers: [\n {\n provide: MockUserHasAccess,\n useValue: options.userHasAccess,\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ import { SkyComponentHarness } from '@skyux/core/testing';
2
+ import * as i0 from '@angular/core';
3
+ import { InjectionToken, Injectable, Inject, NgModule } from '@angular/core';
4
+ import { SkyHrefModule, SkyHrefResolverService } from '@skyux/router';
5
+
6
+ /**
7
+ * Allows interaction with a SkyHref directive during testing.
8
+ */
9
+ class SkyHrefHarness extends SkyComponentHarness {
10
+ /**
11
+ * Gets a `HarnessPredicate` that can be used to search for a
12
+ * `SkyHrefHarness` that meets certain criteria.
13
+ */
14
+ static with(filters) {
15
+ return this.getDataSkyIdPredicate(filters);
16
+ }
17
+ /**
18
+ * Gets the href attribute of the host element.
19
+ */
20
+ async getHref() {
21
+ return await (await this.host()).getAttribute('href');
22
+ }
23
+ /**
24
+ * Gets the visible text.
25
+ */
26
+ async getText() {
27
+ return await this.isVisible().then(async (visible) => {
28
+ if (visible) {
29
+ return await (await this.host()).text();
30
+ }
31
+ return '';
32
+ });
33
+ }
34
+ /**
35
+ * Returns true if the text is visible.
36
+ */
37
+ async isVisible() {
38
+ return await (await this.host())
39
+ .matchesSelector('[hidden]')
40
+ .then((hidden) => !hidden);
41
+ }
42
+ }
43
+ SkyHrefHarness.hostSelector = '[skyHref]';
44
+
45
+ const MockUserHasAccess = new InjectionToken('MockUserHasAccess');
46
+ /**
47
+ * @internal
48
+ */
49
+ class SkyHrefResolverMockService {
50
+ constructor(userHasAccess) {
51
+ this.userHasAccess = userHasAccess;
52
+ }
53
+ resolveHref(param) {
54
+ return Promise.resolve({
55
+ url: param.url,
56
+ userHasAccess: this.userHasAccess,
57
+ });
58
+ }
59
+ }
60
+ SkyHrefResolverMockService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefResolverMockService, deps: [{ token: MockUserHasAccess }], target: i0.ɵɵFactoryTarget.Injectable });
61
+ SkyHrefResolverMockService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefResolverMockService });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefResolverMockService, decorators: [{
63
+ type: Injectable
64
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
65
+ type: Inject,
66
+ args: [MockUserHasAccess]
67
+ }] }]; } });
68
+
69
+ /**
70
+ * Testing module for the `SkyHref` directive and route resolver.
71
+ */
72
+ class SkyHrefTestingModule {
73
+ static with(options) {
74
+ return {
75
+ ngModule: SkyHrefTestingModule,
76
+ providers: [
77
+ {
78
+ provide: MockUserHasAccess,
79
+ useValue: options.userHasAccess,
80
+ },
81
+ ],
82
+ };
83
+ }
84
+ }
85
+ SkyHrefTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
86
+ SkyHrefTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefTestingModule, exports: [SkyHrefModule] });
87
+ SkyHrefTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefTestingModule, providers: [
88
+ SkyHrefResolverMockService,
89
+ {
90
+ provide: SkyHrefResolverService,
91
+ useClass: SkyHrefResolverMockService,
92
+ },
93
+ {
94
+ provide: MockUserHasAccess,
95
+ useValue: true,
96
+ },
97
+ ], imports: [SkyHrefModule] });
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyHrefTestingModule, decorators: [{
99
+ type: NgModule,
100
+ args: [{
101
+ exports: [SkyHrefModule],
102
+ providers: [
103
+ SkyHrefResolverMockService,
104
+ {
105
+ provide: SkyHrefResolverService,
106
+ useClass: SkyHrefResolverMockService,
107
+ },
108
+ {
109
+ provide: MockUserHasAccess,
110
+ useValue: true,
111
+ },
112
+ ],
113
+ }]
114
+ }] });
115
+
116
+ /**
117
+ * Generated bundle index. Do not edit.
118
+ */
119
+
120
+ export { SkyHrefHarness, SkyHrefTestingModule };
121
+ //# sourceMappingURL=skyux-router-testing.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skyux-router-testing.mjs","sources":["../../../../../libs/components/router/testing/src/href/href-harness.ts","../../../../../libs/components/router/testing/src/href/href-resolver-mock.service.ts","../../../../../libs/components/router/testing/src/href/href-testing.module.ts","../../../../../libs/components/router/testing/src/skyux-router-testing.ts"],"sourcesContent":["import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyHrefHarnessFilters } from './href-harness-filters';\n\n/**\n * Allows interaction with a SkyHref directive during testing.\n */\nexport class SkyHrefHarness extends SkyComponentHarness {\n public static hostSelector = '[skyHref]';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyHrefHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyHrefHarnessFilters\n ): HarnessPredicate<SkyHrefHarness> {\n return this.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the href attribute of the host element.\n */\n public async getHref(): Promise<string | null> {\n return await (await this.host()).getAttribute('href');\n }\n\n /**\n * Gets the visible text.\n */\n public async getText(): Promise<string> {\n return await this.isVisible().then(async (visible) => {\n if (visible) {\n return await (await this.host()).text();\n }\n return '';\n });\n }\n\n /**\n * Returns true if the text is visible.\n */\n public async isVisible(): Promise<boolean> {\n return await (await this.host())\n .matchesSelector('[hidden]')\n .then((hidden) => !hidden);\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { SkyHref, SkyHrefResolver } from '@skyux/router';\n\nexport const MockUserHasAccess = new InjectionToken<boolean>(\n 'MockUserHasAccess'\n);\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyHrefResolverMockService implements SkyHrefResolver {\n constructor(@Inject(MockUserHasAccess) private userHasAccess: boolean) {}\n\n public resolveHref(param: { url: string }): Promise<SkyHref> {\n return Promise.resolve({\n url: param.url,\n userHasAccess: this.userHasAccess,\n });\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { SkyHrefModule, SkyHrefResolverService } from '@skyux/router';\n\nimport {\n MockUserHasAccess,\n SkyHrefResolverMockService,\n} from './href-resolver-mock.service';\n\n/**\n * Testing module for the `SkyHref` directive and route resolver.\n */\n@NgModule({\n exports: [SkyHrefModule],\n providers: [\n SkyHrefResolverMockService,\n {\n provide: SkyHrefResolverService,\n useClass: SkyHrefResolverMockService,\n },\n {\n provide: MockUserHasAccess,\n useValue: true,\n },\n ],\n})\nexport class SkyHrefTestingModule {\n public static with(options: {\n userHasAccess: boolean;\n }): ModuleWithProviders<SkyHrefTestingModule> {\n return {\n ngModule: SkyHrefTestingModule,\n providers: [\n {\n provide: MockUserHasAccess,\n useValue: options.userHasAccess,\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Resolved metsdata about a recently accessed link.
2
+ * Resolved metadata about a recently accessed link.
3
3
  */
4
4
  export interface SkyRecentlyAccessedLink {
5
5
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/router",
3
- "version": "7.4.2",
3
+ "version": "7.6.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -16,11 +16,12 @@
16
16
  },
17
17
  "homepage": "https://github.com/blackbaud/skyux#readme",
18
18
  "peerDependencies": {
19
+ "@angular/cdk": "^14.2.7",
19
20
  "@angular/common": "^14.2.11",
20
21
  "@angular/core": "^14.2.11",
21
22
  "@angular/router": "^14.2.11",
22
- "@skyux/config": "7.4.2",
23
- "@skyux/core": "7.4.2"
23
+ "@skyux/config": "7.6.0",
24
+ "@skyux/core": "7.6.0"
24
25
  },
25
26
  "dependencies": {
26
27
  "tslib": "^2.3.1"
@@ -42,6 +43,14 @@
42
43
  "es2015": "./fesm2015/skyux-router.mjs",
43
44
  "node": "./fesm2015/skyux-router.mjs",
44
45
  "default": "./fesm2020/skyux-router.mjs"
46
+ },
47
+ "./testing": {
48
+ "types": "./testing/index.d.ts",
49
+ "esm2020": "./esm2020/testing/skyux-router-testing.mjs",
50
+ "es2020": "./fesm2020/skyux-router-testing.mjs",
51
+ "es2015": "./fesm2015/skyux-router-testing.mjs",
52
+ "node": "./fesm2015/skyux-router-testing.mjs",
53
+ "default": "./fesm2020/skyux-router-testing.mjs"
45
54
  }
46
55
  },
47
56
  "sideEffects": false
@@ -0,0 +1,7 @@
1
+ import { SkyHarnessFilters } from '@skyux/core/testing';
2
+ /**
3
+ * A set of criteria that can be used to filter a list of `SkyHrefHarness` instances.
4
+ * @internal
5
+ */
6
+ export interface SkyHrefHarnessFilters extends SkyHarnessFilters {
7
+ }
@@ -0,0 +1,26 @@
1
+ import { HarnessPredicate } from '@angular/cdk/testing';
2
+ import { SkyComponentHarness } from '@skyux/core/testing';
3
+ import { SkyHrefHarnessFilters } from './href-harness-filters';
4
+ /**
5
+ * Allows interaction with a SkyHref directive during testing.
6
+ */
7
+ export declare class SkyHrefHarness extends SkyComponentHarness {
8
+ static hostSelector: string;
9
+ /**
10
+ * Gets a `HarnessPredicate` that can be used to search for a
11
+ * `SkyHrefHarness` that meets certain criteria.
12
+ */
13
+ static with(filters: SkyHrefHarnessFilters): HarnessPredicate<SkyHrefHarness>;
14
+ /**
15
+ * Gets the href attribute of the host element.
16
+ */
17
+ getHref(): Promise<string | null>;
18
+ /**
19
+ * Gets the visible text.
20
+ */
21
+ getText(): Promise<string>;
22
+ /**
23
+ * Returns true if the text is visible.
24
+ */
25
+ isVisible(): Promise<boolean>;
26
+ }
@@ -0,0 +1,16 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { SkyHref, SkyHrefResolver } from '@skyux/router';
3
+ import * as i0 from "@angular/core";
4
+ export declare const MockUserHasAccess: InjectionToken<boolean>;
5
+ /**
6
+ * @internal
7
+ */
8
+ export declare class SkyHrefResolverMockService implements SkyHrefResolver {
9
+ private userHasAccess;
10
+ constructor(userHasAccess: boolean);
11
+ resolveHref(param: {
12
+ url: string;
13
+ }): Promise<SkyHref>;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyHrefResolverMockService, never>;
15
+ static ɵprov: i0.ɵɵInjectableDeclaration<SkyHrefResolverMockService>;
16
+ }
@@ -0,0 +1,14 @@
1
+ import { ModuleWithProviders } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@skyux/router";
4
+ /**
5
+ * Testing module for the `SkyHref` directive and route resolver.
6
+ */
7
+ export declare class SkyHrefTestingModule {
8
+ static with(options: {
9
+ userHasAccess: boolean;
10
+ }): ModuleWithProviders<SkyHrefTestingModule>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyHrefTestingModule, never>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SkyHrefTestingModule, never, never, [typeof i1.SkyHrefModule]>;
13
+ static ɵinj: i0.ɵɵInjectorDeclaration<SkyHrefTestingModule>;
14
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@skyux/router/testing" />
5
+ export * from './public-api';
@@ -0,0 +1,2 @@
1
+ export * from './href/href-harness';
2
+ export * from './href/href-testing.module';