@skyux/lists 8.0.0-alpha.2 → 8.0.0-alpha.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +1921 -453
- package/esm2020/lib/modules/filter/filter-button.component.mjs +13 -13
- package/esm2020/lib/modules/filter/filter-inline-item.component.mjs +3 -3
- package/esm2020/lib/modules/filter/filter-inline.component.mjs +3 -3
- package/esm2020/lib/modules/filter/filter-summary-item.component.mjs +3 -3
- package/esm2020/lib/modules/filter/filter-summary.component.mjs +3 -3
- package/esm2020/lib/modules/filter/filter.module.mjs +4 -4
- package/esm2020/lib/modules/infinite-scroll/infinite-scroll-dom-adapter.service.mjs +3 -3
- package/esm2020/lib/modules/infinite-scroll/infinite-scroll.component.mjs +23 -23
- package/esm2020/lib/modules/infinite-scroll/infinite-scroll.module.mjs +4 -4
- package/esm2020/lib/modules/paging/paging.component.mjs +4 -4
- package/esm2020/lib/modules/paging/paging.module.mjs +4 -4
- package/esm2020/lib/modules/repeater/repeater-adapter.service.mjs +3 -3
- package/esm2020/lib/modules/repeater/repeater-auto-scroll-options.mjs +2 -0
- package/esm2020/lib/modules/repeater/repeater-auto-scroll.service.mjs +17 -0
- package/esm2020/lib/modules/repeater/repeater-auto-scroller.mjs +2 -0
- package/esm2020/lib/modules/repeater/repeater-item-content.component.mjs +3 -3
- package/esm2020/lib/modules/repeater/repeater-item-context-menu.component.mjs +3 -3
- package/esm2020/lib/modules/repeater/repeater-item-title.component.mjs +3 -3
- package/esm2020/lib/modules/repeater/repeater-item.component.mjs +88 -86
- package/esm2020/lib/modules/repeater/repeater.component.mjs +109 -65
- package/esm2020/lib/modules/repeater/repeater.module.mjs +4 -4
- package/esm2020/lib/modules/repeater/repeater.service.mjs +4 -4
- package/esm2020/lib/modules/shared/sky-lists-resources.module.mjs +9 -7
- package/esm2020/lib/modules/sort/sort-item.component.mjs +5 -5
- package/esm2020/lib/modules/sort/sort-menu-heading.component.mjs +3 -3
- package/esm2020/lib/modules/sort/sort.component.mjs +3 -3
- package/esm2020/lib/modules/sort/sort.module.mjs +4 -4
- package/esm2020/lib/modules/sort/sort.service.mjs +3 -3
- package/esm2020/testing/filter/filter-testing.module.mjs +4 -4
- package/esm2020/testing/infinite-scroll/infinite-scroll-testing.module.mjs +4 -4
- package/esm2020/testing/paging/paging-fixture.mjs +9 -9
- package/esm2020/testing/paging/paging-testing.module.mjs +4 -4
- package/esm2020/testing/repeater/repeater-harness.mjs +1 -2
- package/esm2020/testing/repeater/repeater-item-harness.mjs +84 -4
- package/esm2020/testing/sort/sort-fixture.mjs +8 -8
- package/esm2020/testing/sort/sort-testing.module.mjs +4 -4
- package/fesm2015/skyux-lists-testing.mjs +133 -35
- package/fesm2015/skyux-lists-testing.mjs.map +1 -1
- package/fesm2015/skyux-lists.mjs +321 -259
- package/fesm2015/skyux-lists.mjs.map +1 -1
- package/fesm2020/skyux-lists-testing.mjs +114 -35
- package/fesm2020/skyux-lists-testing.mjs.map +1 -1
- package/fesm2020/skyux-lists.mjs +320 -259
- package/fesm2020/skyux-lists.mjs.map +1 -1
- package/lib/modules/repeater/repeater-auto-scroll-options.d.ts +9 -0
- package/lib/modules/repeater/repeater-auto-scroll.service.d.ts +11 -0
- package/lib/modules/repeater/repeater-auto-scroller.d.ts +6 -0
- package/lib/modules/repeater/repeater-expand-mode-type.d.ts +1 -1
- package/lib/modules/repeater/repeater-item-roles.type.d.ts +1 -1
- package/lib/modules/repeater/repeater-item.component.d.ts +2 -1
- package/lib/modules/repeater/repeater-role.type.d.ts +1 -1
- package/lib/modules/repeater/repeater.component.d.ts +6 -8
- package/lib/modules/repeater/repeater.service.d.ts +2 -2
- package/package.json +18 -16
- package/testing/filter/lists-filter-fixture-button.d.ts +1 -1
- package/testing/repeater/repeater-harness.d.ts +0 -1
- package/testing/repeater/repeater-item-harness.d.ts +37 -2
|
@@ -9,13 +9,6 @@ import { SkyAppTestUtility } from '@skyux-sdk/testing';
|
|
|
9
9
|
* @internal
|
|
10
10
|
*/
|
|
11
11
|
export class SkySortFixture {
|
|
12
|
-
constructor(fixture, skyTestId) {
|
|
13
|
-
_SkySortFixture_instances.add(this);
|
|
14
|
-
_SkySortFixture_debugEl.set(this, void 0);
|
|
15
|
-
_SkySortFixture_fixture.set(this, void 0);
|
|
16
|
-
__classPrivateFieldSet(this, _SkySortFixture_fixture, fixture, "f");
|
|
17
|
-
__classPrivateFieldSet(this, _SkySortFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-sort'), "f");
|
|
18
|
-
}
|
|
19
12
|
/**
|
|
20
13
|
* The active sort menu item, if one exists. Menu items are only available when the menu dropdown
|
|
21
14
|
* is open. If the menu dropdown is closed, this property will be undefined.
|
|
@@ -53,6 +46,13 @@ export class SkySortFixture {
|
|
|
53
46
|
};
|
|
54
47
|
});
|
|
55
48
|
}
|
|
49
|
+
constructor(fixture, skyTestId) {
|
|
50
|
+
_SkySortFixture_instances.add(this);
|
|
51
|
+
_SkySortFixture_debugEl.set(this, void 0);
|
|
52
|
+
_SkySortFixture_fixture.set(this, void 0);
|
|
53
|
+
__classPrivateFieldSet(this, _SkySortFixture_fixture, fixture, "f");
|
|
54
|
+
__classPrivateFieldSet(this, _SkySortFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-sort'), "f");
|
|
55
|
+
}
|
|
56
56
|
/**
|
|
57
57
|
* Closes the sort dropdown menu if it isn't closed already.
|
|
58
58
|
*/
|
|
@@ -145,4 +145,4 @@ async function _SkySortFixture_selectMenuItem(selectionPredicate) {
|
|
|
145
145
|
return __classPrivateFieldGet(this, _SkySortFixture_fixture, "f").whenStable();
|
|
146
146
|
}
|
|
147
147
|
};
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3RzL3Rlc3Rpbmcvc3JjL3NvcnQvc29ydC1maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBS3ZEOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUErQ3pCLFlBQVksT0FBOEIsRUFBRSxTQUFpQjs7UUFIN0QsMENBQXVCO1FBQ3ZCLDBDQUFnQztRQUc5Qix1QkFBQSxJQUFJLDJCQUFZLE9BQU8sTUFBQSxDQUFDO1FBQ3hCLHVCQUFBLElBQUksMkJBQVksaUJBQWlCLENBQUMsdUJBQXVCLENBQ3ZELE9BQU8sRUFDUCxTQUFTLEVBQ1QsVUFBVSxDQUNYLE1BQUEsQ0FBQztJQUNKLENBQUM7SUFyREQ7OztPQUdHO0lBQ0gsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLElBQUk7UUFDYiwwQkFBMEI7UUFDMUIsTUFBTSxVQUFVLEdBQ2QsaUJBQWlCLENBQUMsT0FBTyxDQUFDLHVCQUFBLElBQUksc0VBQXFCLE1BQXpCLElBQUksQ0FBdUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvRCxPQUFPO1lBQ0wsVUFBVTtZQUNWLE1BQU0sRUFBRSx1QkFBQSxJQUFJLG9FQUFtQixNQUF2QixJQUFJLENBQXFCLEtBQUssSUFBSTtTQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsU0FBUztRQUNsQixpRUFBaUU7UUFDakUsa0VB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QUNuQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWJ1Z0VsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEZpeHR1cmUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgQnkgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFNreUFwcFRlc3RVdGlsaXR5IH0gZnJvbSAnQHNreXV4LXNkay90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5U29ydEZpeHR1cmVNZW51IH0gZnJvbSAnLi9zb3J0LWZpeHR1cmUtbWVudSc7XG5pbXBvcnQgeyBTa3lTb3J0Rml4dHVyZU1lbnVJdGVtIH0gZnJvbSAnLi9zb3J0LWZpeHR1cmUtbWVudS1pdGVtJztcblxuLyoqXG4gKiBQcm92aWRlcyBpbmZvcm1hdGlvbiBmb3IgYW5kIGludGVyYWN0aW9uIHdpdGggYSBTS1kgVVggc29ydCBjb21wb25lbnQuXG4gKiBCeSB1c2luZyB0aGUgZml4dHVyZSBBUEksIGEgdGVzdCBpbnN1bGF0ZXMgaXRzZWxmIGFnYWluc3QgdXBkYXRlcyB0byB0aGUgaW50ZXJuYWxzXG4gKiBvZiBhIGNvbXBvbmVudCwgc3VjaCBhcyBjaGFuZ2luZyBpdHMgRE9NIHN0cnVjdHVyZS5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgU2t5U29ydEZpeHR1cmUge1xuICAvKipcbiAgICogVGhlIGFjdGl2ZSBzb3J0IG1lbnUgaXRlbSwgaWYgb25lIGV4aXN0cy4gTWVudSBpdGVtcyBhcmUgb25seSBhdmFpbGFibGUgd2hlbiB0aGUgbWVudSBkcm9wZG93blxuICAgKiBpcyBvcGVuLiBJZiB0aGUgbWVudSBkcm9wZG93biBpcyBjbG9zZWQsIHRoaXMgcHJvcGVydHkgd2lsbCBiZSB1bmRlZmluZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFjdGl2ZU1lbnVJdGVtKCk6IFNreVNvcnRGaXh0dXJlTWVudUl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLm1lbnVJdGVtcz8uZmluZCgoeCkgPT4geC5pc0FjdGl2ZSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHNvcnQgbWVudSdzIHByb3BlcnRpZXMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IG1lbnUoKTogU2t5U29ydEZpeHR1cmVNZW51IHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGNvbnN0IGJ1dHRvblRleHQgPVxuICAgICAgU2t5QXBwVGVzdFV0aWxpdHkuZ2V0VGV4dCh0aGlzLiNnZXRTb3J0QnV0dG9uVGV4dEVsKCkpIHx8ICcnO1xuICAgIHJldHVybiB7XG4gICAgICBidXR0b25UZXh0LFxuICAgICAgaXNPcGVuOiB0aGlzLiNnZXREcm9wZG93bk1lbnVFbCgpICE9PSBudWxsLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVGhlIHByb3BlcnRpZXMgb2YgZWFjaCBzb3J0IG1lbnUgaXRlbS4gTWVudSBpdGVtcyBhcmUgb25seSBhdmFpbGFibGUgd2hlbiB0aGUgbWVudSBkcm9wZG93blxuICAgKiBpcyBvcGVuLiBJZiB0aGUgbWVudSBkcm9wZG93biBpcyBjbG9zZWQsIHRoaXMgcHJvcGVydHkgd2lsbCBiZSB1bmRlZmluZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IG1lbnVJdGVtcygpOiBTa3lTb3J0Rml4dHVyZU1lbnVJdGVtW10gfCB1bmRlZmluZWQge1xuICAgIC8vIFJldHVybiB1bmRlZmluZWQgd2hlbiB3ZSBjYW4ndCBkZXRlcm1pbmUgd2hhdCB0aGUgb3B0aW9ucyBhcmUuXG4gICAgLy8gV2UgZG8gdGhpcyB0byBhdm9pZCBhbnkgY29uZnVzaW9uIHdpdGggYW4gZW1wdHkgc2V0IG9mIG9wdGlvbnMuXG4gICAgaWYgKCF0aGlzLm1lbnUuaXNPcGVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuI2dldFNvcnRJdGVtcygpLm1hcCgoaXRlbTogSFRNTEVsZW1lbnQsIGk6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgaXRlbUJ1dHRvbiA9IGl0ZW0ucXVlcnlTZWxlY3RvcignYnV0dG9uJyk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGluZGV4OiBpLFxuICAgICAgICBpc0FjdGl2ZTogaXRlbS5jbGFzc0xpc3QuY29udGFpbnMoJ3NreS1zb3J0LWl0ZW0tc2VsZWN0ZWQnKSxcbiAgICAgICAgdGV4dDogU2t5QXBwVGVzdFV0aWxpdHkuZ2V0VGV4dChpdGVtQnV0dG9uKSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICAjZGVidWdFbDogRGVidWdFbGVtZW50O1xuICAjZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55Piwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNmaXh0dXJlID0gZml4dHVyZTtcbiAgICB0aGlzLiNkZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS1zb3J0J1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBzb3J0IGRyb3Bkb3duIG1lbnUgaWYgaXQgaXNuJ3QgY2xvc2VkIGFscmVhZHkuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xvc2VNZW51KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIGlmIHRoZSBtZW51IGlzIGFscmVhZHkgY2xvc2VkLCBkbyBub3RoaW5nXG4gICAgaWYgKCF0aGlzLm1lbnUuaXNPcGVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbWVudSA9IHRoaXMuI2dldERyb3Bkb3duQnV0dG9uRWwoKTtcbiAgICBpZiAobWVudSAhPT0gdW5kZWZpbmVkICYmICFtZW51LmRpc2FibGVkKSB7XG4gICAgICBtZW51LmNsaWNrKCk7XG5cbiAgICAgIHRoaXMuI2ZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgYXdhaXQgdGhpcy4jZml4dHVyZS53aGVuU3RhYmxlKCk7XG5cbiAgICAgIHRoaXMuI2ZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgcmV0dXJuIHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyB0aGUgc29ydCBkcm9wZG93biBtZW51IGlmIGl0IGlzbid0IG9wZW4gYWxyZWFkeS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBvcGVuTWVudSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBpZiB0aGUgbWVudSBpcyBhbHJlYWR5IG9wZW4sIGRvIG5vdGhpbmdcbiAgICBpZiAodGhpcy5tZW51LmlzT3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1lbnUgPSB0aGlzLiNnZXREcm9wZG93bkJ1dHRvbkVsKCk7XG5cbiAgICBpZiAobWVudSAhPT0gdW5kZWZpbmVkICYmICFtZW51LmRpc2FibGVkKSB7XG4gICAgICBtZW51LmNsaWNrKCk7XG5cbiAgICAgIHRoaXMuI2ZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgYXdhaXQgdGhpcy4jZml4dHVyZS53aGVuU3RhYmxlKCk7XG5cbiAgICAgIHRoaXMuI2ZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgcmV0dXJuIHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFbnN1cmVzIHRoZSBzb3J0IG1lbnUgaXMgb3BlbiBhbmQgc2VsZWN0cyB0aGUgbWVudSBpdGVtIHdpdGggdGhlIHNwZWNpZmllZCBpbmRleCwgaWYgaXQgZXhpc3RzLlxuICAgKiBAcGFyYW0gbWVudUl0ZW1JbmRleCBUaGUgaW5kZXggb2YgdGhlIG1lbnUgaXRlbSB0byBzZWxlY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2VsZWN0TWVudUl0ZW1CeUluZGV4KG1lbnVJdGVtSW5kZXg6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLiNzZWxlY3RNZW51SXRlbSgoX2l0ZW06IEhUTUxFbGVtZW50LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICByZXR1cm4gaW5kZXggPT09IG1lbnVJdGVtSW5kZXg7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRW5zdXJlcyB0aGUgc29ydCBtZW51IGlzIG9wZW4gYW5kIHNlbGVjdHMgdGhlIG1lbnUgaXRlbSB3aXRoIHRoZSBzcGVjaWZpZWQgdGV4dCxcbiAgICogaWYgYSBtYXRjaGluZyBpdGVtIGlzIGF2YWlsYWJsZS5cbiAgICogQHBhcmFtIG1lbnVJdGVtVGV4dCBUaGUgdGV4dCBvZiB0aGUgbWVudSBpdGVtIHRvIHNlbGVjdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZWxlY3RNZW51SXRlbUJ5VGV4dChcbiAgICBtZW51SXRlbVRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChtZW51SXRlbVRleHQpIHtcbiAgICAgIHJldHVybiB0aGlzLiNzZWxlY3RNZW51SXRlbSgoaXRlbTogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgICAgcmV0dXJuIFNreUFwcFRlc3RVdGlsaXR5LmdldFRleHQoaXRlbSkgPT09IG1lbnVJdGVtVGV4dDtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgLy8jcmVnaW9uIGhlbHBlcnNcblxuICAjZ2V0RHJvcGRvd25CdXR0b25FbCgpOiBIVE1MQnV0dG9uRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LWRyb3Bkb3duLWJ1dHRvbicpKS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgI2dldERyb3Bkb3duTWVudUVsKCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NreS1vdmVybGF5IC5za3ktZHJvcGRvd24tbWVudScpO1xuICB9XG5cbiAgI2dldFNvcnRCdXR0b25UZXh0RWwoKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnLnNreS1zb3J0LWJ0bi10ZXh0JykpLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICAjZ2V0U29ydEl0ZW1zKCk6IEhUTUxFbGVtZW50W10ge1xuICAgIGNvbnN0IHJlc3VsdE5vZGVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnc2t5LW92ZXJsYXkgLnNreS1zb3J0LWl0ZW0nKTtcbiAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwocmVzdWx0Tm9kZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuc3VyZXMgdGhlIHNvcnQgbWVudSBpcyBvcGVuIGFuZCBzZWxlY3RzIHRoZSBtZW51IGl0ZW0gdmlhIGEgc2VsZWN0aW9uIHByZWRpY2F0ZSxcbiAgICogaWYgYSBtYXRjaGluZyBpdGVtIGlzIGF2YWlsYWJsZS5cbiAgICogQHBhcmFtIHNlbGVjdGlvblByZWRpY2F0ZSBUaGUgbWVudSBpdGVtIHNlbGVjdG9yIG1ldGhvZCB0byB1c2UuXG4gICAqL1xuICBhc3luYyAjc2VsZWN0TWVudUl0ZW0oXG4gICAgc2VsZWN0aW9uUHJlZGljYXRlOiAoaXRlbTogSFRNTEVsZW1lbnQsIGluZGV4OiBudW1iZXIpID0+IGJvb2xlYW5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gbWFrZSBzdXJlIHRoZSBzb3J0IG1lbnUgaXMgb3BlblxuICAgIGlmICghdGhpcy5tZW51LmlzT3Blbikge1xuICAgICAgYXdhaXQgdGhpcy5vcGVuTWVudSgpO1xuICAgIH1cblxuICAgIC8vIGZpbmQgdGhlIHJlcXVlc3RlZCBtZW51IGl0ZW0gdXNpbmcgdGhlIHNlbGVjdGlvblByZWRpY2F0ZSBwYXJhbWV0ZXJcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuI2dldFNvcnRJdGVtcygpO1xuICAgIGNvbnN0IHRhcmdldEl0ZW0gPSBpdGVtcy5maW5kKChpdGVtOiBIVE1MRWxlbWVudCwgaW5kZXg6IG51bWJlcikgPT5cbiAgICAgIHNlbGVjdGlvblByZWRpY2F0ZShpdGVtLCBpbmRleClcbiAgICApO1xuXG4gICAgLy8gaWYgd2UgZm91bmQgdGhlIGl0ZW0sIHNlbGVjdCBpdFxuICAgIGlmICh0YXJnZXRJdGVtKSB7XG4gICAgICAvLyB3ZSd2ZSBnb3QgdGhlICcuc2t5LXNvcnQtaXRlbScgZGl2LCBidXQgd2Ugd2FudCB0byBjbGljayBpdCdzIGNoaWxkIGJ1dHRvbiBlbGVtZW50XG4gICAgICBjb25zdCB0YXJnZXRCdXR0b24gPSB0YXJnZXRJdGVtLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbicpO1xuICAgICAgdGFyZ2V0QnV0dG9uPy5jbGljaygpO1xuXG4gICAgICB0aGlzLiNmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHJldHVybiB0aGlzLiNmaXh0dXJlLndoZW5TdGFibGUoKTtcbiAgICB9XG4gIH1cblxuICAvLyNlbmRyZWdpb25cbn1cbiJdfQ==
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3RzL3Rlc3Rpbmcvc3JjL3NvcnQvc29ydC1maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBS3ZEOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFDekI7OztPQUdHO0lBQ0gsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLElBQUk7UUFDYiwwQkFBMEI7UUFDMUIsTUFBTSxVQUFVLEdBQ2QsaUJBQWlCLENBQUMsT0FBTyxDQUFDLHVCQUFBLElBQUksc0VBQXFCLE1BQXpCLElBQUksQ0FBdUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvRCxPQUFPO1lBQ0wsVUFBVTtZQUNWLE1BQU0sRUFBRSx1QkFBQSxJQUFJLG9FQUFtQixNQUF2QixJQUFJLENBQXFCLEtBQUssSUFBSTtTQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsU0FBUztRQUNsQixpRUFBaUU7UUFDakUsa0VBQWtFO1FBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNyQixPQUFPO1NBQ1I7UUFFRCxPQUFPLHVCQUFBLElBQUksK0RBQWMsTUFBbEIsSUFBSSxDQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQWlCLEVBQUUsQ0FBUyxFQUFFLEVBQUU7WUFDL0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEs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bkM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVidWdFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRGaXh0dXJlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IEJ5IH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTa3lBcHBUZXN0VXRpbGl0eSB9IGZyb20gJ0Bza3l1eC1zZGsvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreVNvcnRGaXh0dXJlTWVudSB9IGZyb20gJy4vc29ydC1maXh0dXJlLW1lbnUnO1xuaW1wb3J0IHsgU2t5U29ydEZpeHR1cmVNZW51SXRlbSB9IGZyb20gJy4vc29ydC1maXh0dXJlLW1lbnUtaXRlbSc7XG5cbi8qKlxuICogUHJvdmlkZXMgaW5mb3JtYXRpb24gZm9yIGFuZCBpbnRlcmFjdGlvbiB3aXRoIGEgU0tZIFVYIHNvcnQgY29tcG9uZW50LlxuICogQnkgdXNpbmcgdGhlIGZpeHR1cmUgQVBJLCBhIHRlc3QgaW5zdWxhdGVzIGl0c2VsZiBhZ2FpbnN0IHVwZGF0ZXMgdG8gdGhlIGludGVybmFsc1xuICogb2YgYSBjb21wb25lbnQsIHN1Y2ggYXMgY2hhbmdpbmcgaXRzIERPTSBzdHJ1Y3R1cmUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreVNvcnRGaXh0dXJlIHtcbiAgLyoqXG4gICAqIFRoZSBhY3RpdmUgc29ydCBtZW51IGl0ZW0sIGlmIG9uZSBleGlzdHMuIE1lbnUgaXRlbXMgYXJlIG9ubHkgYXZhaWxhYmxlIHdoZW4gdGhlIG1lbnUgZHJvcGRvd25cbiAgICogaXMgb3Blbi4gSWYgdGhlIG1lbnUgZHJvcGRvd24gaXMgY2xvc2VkLCB0aGlzIHByb3BlcnR5IHdpbGwgYmUgdW5kZWZpbmVkLlxuICAgKi9cbiAgcHVibGljIGdldCBhY3RpdmVNZW51SXRlbSgpOiBTa3lTb3J0Rml4dHVyZU1lbnVJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5tZW51SXRlbXM/LmZpbmQoKHgpID0+IHguaXNBY3RpdmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBzb3J0IG1lbnUncyBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgcHVibGljIGdldCBtZW51KCk6IFNreVNvcnRGaXh0dXJlTWVudSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBjb25zdCBidXR0b25UZXh0ID1cbiAgICAgIFNreUFwcFRlc3RVdGlsaXR5LmdldFRleHQodGhpcy4jZ2V0U29ydEJ1dHRvblRleHRFbCgpKSB8fCAnJztcbiAgICByZXR1cm4ge1xuICAgICAgYnV0dG9uVGV4dCxcbiAgICAgIGlzT3BlbjogdGhpcy4jZ2V0RHJvcGRvd25NZW51RWwoKSAhPT0gbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBwcm9wZXJ0aWVzIG9mIGVhY2ggc29ydCBtZW51IGl0ZW0uIE1lbnUgaXRlbXMgYXJlIG9ubHkgYXZhaWxhYmxlIHdoZW4gdGhlIG1lbnUgZHJvcGRvd25cbiAgICogaXMgb3Blbi4gSWYgdGhlIG1lbnUgZHJvcGRvd24gaXMgY2xvc2VkLCB0aGlzIHByb3BlcnR5IHdpbGwgYmUgdW5kZWZpbmVkLlxuICAgKi9cbiAgcHVibGljIGdldCBtZW51SXRlbXMoKTogU2t5U29ydEZpeHR1cmVNZW51SXRlbVtdIHwgdW5kZWZpbmVkIHtcbiAgICAvLyBSZXR1cm4gdW5kZWZpbmVkIHdoZW4gd2UgY2FuJ3QgZGV0ZXJtaW5lIHdoYXQgdGhlIG9wdGlvbnMgYXJlLlxuICAgIC8vIFdlIGRvIHRoaXMgdG8gYXZvaWQgYW55IGNvbmZ1c2lvbiB3aXRoIGFuIGVtcHR5IHNldCBvZiBvcHRpb25zLlxuICAgIGlmICghdGhpcy5tZW51LmlzT3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLiNnZXRTb3J0SXRlbXMoKS5tYXAoKGl0ZW06IEhUTUxFbGVtZW50LCBpOiBudW1iZXIpID0+IHtcbiAgICAgIGNvbnN0IGl0ZW1CdXR0b24gPSBpdGVtLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbicpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBpbmRleDogaSxcbiAgICAgICAgaXNBY3RpdmU6IGl0ZW0uY2xhc3NMaXN0LmNvbnRhaW5zKCdza3ktc29ydC1pdGVtLXNlbGVjdGVkJyksXG4gICAgICAgIHRleHQ6IFNreUFwcFRlc3RVdGlsaXR5LmdldFRleHQoaXRlbUJ1dHRvbiksXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgI2RlYnVnRWw6IERlYnVnRWxlbWVudDtcbiAgI2ZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55PjtcblxuICBjb25zdHJ1Y3RvcihmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPGFueT4sIHNreVRlc3RJZDogc3RyaW5nKSB7XG4gICAgdGhpcy4jZml4dHVyZSA9IGZpeHR1cmU7XG4gICAgdGhpcy4jZGVidWdFbCA9IFNreUFwcFRlc3RVdGlsaXR5LmdldERlYnVnRWxlbWVudEJ5VGVzdElkKFxuICAgICAgZml4dHVyZSxcbiAgICAgIHNreVRlc3RJZCxcbiAgICAgICdza3ktc29ydCdcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgc29ydCBkcm9wZG93biBtZW51IGlmIGl0IGlzbid0IGNsb3NlZCBhbHJlYWR5LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsb3NlTWVudSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBpZiB0aGUgbWVudSBpcyBhbHJlYWR5IGNsb3NlZCwgZG8gbm90aGluZ1xuICAgIGlmICghdGhpcy5tZW51LmlzT3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1lbnUgPSB0aGlzLiNnZXREcm9wZG93bkJ1dHRvbkVsKCk7XG4gICAgaWYgKG1lbnUgIT09IHVuZGVmaW5lZCAmJiAhbWVudS5kaXNhYmxlZCkge1xuICAgICAgbWVudS5jbGljaygpO1xuXG4gICAgICB0aGlzLiNmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIGF3YWl0IHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuXG4gICAgICB0aGlzLiNmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHJldHVybiB0aGlzLiNmaXh0dXJlLndoZW5TdGFibGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgdGhlIHNvcnQgZHJvcGRvd24gbWVudSBpZiBpdCBpc24ndCBvcGVuIGFscmVhZHkuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgb3Blbk1lbnUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gaWYgdGhlIG1lbnUgaXMgYWxyZWFkeSBvcGVuLCBkbyBub3RoaW5nXG4gICAgaWYgKHRoaXMubWVudS5pc09wZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtZW51ID0gdGhpcy4jZ2V0RHJvcGRvd25CdXR0b25FbCgpO1xuXG4gICAgaWYgKG1lbnUgIT09IHVuZGVmaW5lZCAmJiAhbWVudS5kaXNhYmxlZCkge1xuICAgICAgbWVudS5jbGljaygpO1xuXG4gICAgICB0aGlzLiNmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIGF3YWl0IHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuXG4gICAgICB0aGlzLiNmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHJldHVybiB0aGlzLiNmaXh0dXJlLndoZW5TdGFibGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRW5zdXJlcyB0aGUgc29ydCBtZW51IGlzIG9wZW4gYW5kIHNlbGVjdHMgdGhlIG1lbnUgaXRlbSB3aXRoIHRoZSBzcGVjaWZpZWQgaW5kZXgsIGlmIGl0IGV4aXN0cy5cbiAgICogQHBhcmFtIG1lbnVJdGVtSW5kZXggVGhlIGluZGV4IG9mIHRoZSBtZW51IGl0ZW0gdG8gc2VsZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNlbGVjdE1lbnVJdGVtQnlJbmRleChtZW51SXRlbUluZGV4OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jc2VsZWN0TWVudUl0ZW0oKF9pdGVtOiBIVE1MRWxlbWVudCwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgcmV0dXJuIGluZGV4ID09PSBtZW51SXRlbUluZGV4O1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuc3VyZXMgdGhlIHNvcnQgbWVudSBpcyBvcGVuIGFuZCBzZWxlY3RzIHRoZSBtZW51IGl0ZW0gd2l0aCB0aGUgc3BlY2lmaWVkIHRleHQsXG4gICAqIGlmIGEgbWF0Y2hpbmcgaXRlbSBpcyBhdmFpbGFibGUuXG4gICAqIEBwYXJhbSBtZW51SXRlbVRleHQgVGhlIHRleHQgb2YgdGhlIG1lbnUgaXRlbSB0byBzZWxlY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2VsZWN0TWVudUl0ZW1CeVRleHQoXG4gICAgbWVudUl0ZW1UZXh0OiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAobWVudUl0ZW1UZXh0KSB7XG4gICAgICByZXR1cm4gdGhpcy4jc2VsZWN0TWVudUl0ZW0oKGl0ZW06IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgIHJldHVybiBTa3lBcHBUZXN0VXRpbGl0eS5nZXRUZXh0KGl0ZW0pID09PSBtZW51SXRlbVRleHQ7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIC8vI3JlZ2lvbiBoZWxwZXJzXG5cbiAgI2dldERyb3Bkb3duQnV0dG9uRWwoKTogSFRNTEJ1dHRvbkVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnLnNreS1kcm9wZG93bi1idXR0b24nKSkubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gICNnZXREcm9wZG93bk1lbnVFbCgpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdza3ktb3ZlcmxheSAuc2t5LWRyb3Bkb3duLW1lbnUnKTtcbiAgfVxuXG4gICNnZXRTb3J0QnV0dG9uVGV4dEVsKCk6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jZGVidWdFbC5xdWVyeShCeS5jc3MoJy5za3ktc29ydC1idG4tdGV4dCcpKS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgI2dldFNvcnRJdGVtcygpOiBIVE1MRWxlbWVudFtdIHtcbiAgICBjb25zdCByZXN1bHROb2RlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3NreS1vdmVybGF5IC5za3ktc29ydC1pdGVtJyk7XG4gICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHJlc3VsdE5vZGVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbnN1cmVzIHRoZSBzb3J0IG1lbnUgaXMgb3BlbiBhbmQgc2VsZWN0cyB0aGUgbWVudSBpdGVtIHZpYSBhIHNlbGVjdGlvbiBwcmVkaWNhdGUsXG4gICAqIGlmIGEgbWF0Y2hpbmcgaXRlbSBpcyBhdmFpbGFibGUuXG4gICAqIEBwYXJhbSBzZWxlY3Rpb25QcmVkaWNhdGUgVGhlIG1lbnUgaXRlbSBzZWxlY3RvciBtZXRob2QgdG8gdXNlLlxuICAgKi9cbiAgYXN5bmMgI3NlbGVjdE1lbnVJdGVtKFxuICAgIHNlbGVjdGlvblByZWRpY2F0ZTogKGl0ZW06IEhUTUxFbGVtZW50LCBpbmRleDogbnVtYmVyKSA9PiBib29sZWFuXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIG1ha2Ugc3VyZSB0aGUgc29ydCBtZW51IGlzIG9wZW5cbiAgICBpZiAoIXRoaXMubWVudS5pc09wZW4pIHtcbiAgICAgIGF3YWl0IHRoaXMub3Blbk1lbnUoKTtcbiAgICB9XG5cbiAgICAvLyBmaW5kIHRoZSByZXF1ZXN0ZWQgbWVudSBpdGVtIHVzaW5nIHRoZSBzZWxlY3Rpb25QcmVkaWNhdGUgcGFyYW1ldGVyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLiNnZXRTb3J0SXRlbXMoKTtcbiAgICBjb25zdCB0YXJnZXRJdGVtID0gaXRlbXMuZmluZCgoaXRlbTogSFRNTEVsZW1lbnQsIGluZGV4OiBudW1iZXIpID0+XG4gICAgICBzZWxlY3Rpb25QcmVkaWNhdGUoaXRlbSwgaW5kZXgpXG4gICAgKTtcblxuICAgIC8vIGlmIHdlIGZvdW5kIHRoZSBpdGVtLCBzZWxlY3QgaXRcbiAgICBpZiAodGFyZ2V0SXRlbSkge1xuICAgICAgLy8gd2UndmUgZ290IHRoZSAnLnNreS1zb3J0LWl0ZW0nIGRpdiwgYnV0IHdlIHdhbnQgdG8gY2xpY2sgaXQncyBjaGlsZCBidXR0b24gZWxlbWVudFxuICAgICAgY29uc3QgdGFyZ2V0QnV0dG9uID0gdGFyZ2V0SXRlbS5xdWVyeVNlbGVjdG9yKCdidXR0b24nKTtcbiAgICAgIHRhcmdldEJ1dHRvbj8uY2xpY2soKTtcblxuICAgICAgdGhpcy4jZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICByZXR1cm4gdGhpcy4jZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG4iXX0=
|
|
@@ -7,10 +7,10 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
*/
|
|
8
8
|
export class SkySortTestingModule {
|
|
9
9
|
}
|
|
10
|
-
SkySortTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1
|
|
11
|
-
SkySortTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1
|
|
12
|
-
SkySortTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1
|
|
10
|
+
SkySortTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkySortTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
SkySortTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: SkySortTestingModule, imports: [NoopAnimationsModule], exports: [SkySortModule] });
|
|
12
|
+
SkySortTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkySortTestingModule, imports: [NoopAnimationsModule, SkySortModule] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkySortTestingModule, decorators: [{
|
|
14
14
|
type: NgModule,
|
|
15
15
|
args: [{
|
|
16
16
|
imports: [NoopAnimationsModule],
|
|
@@ -7,6 +7,7 @@ import { By } from '@angular/platform-browser';
|
|
|
7
7
|
import { SkyComponentHarness } from '@skyux/core/testing';
|
|
8
8
|
import { HarnessPredicate } from '@angular/cdk/testing';
|
|
9
9
|
import { SkyCheckboxHarness } from '@skyux/forms/testing';
|
|
10
|
+
import { SkyChevronHarness } from '@skyux/indicators/testing';
|
|
10
11
|
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
|
11
12
|
|
|
12
13
|
/**
|
|
@@ -14,10 +15,10 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
|
|
14
15
|
*/
|
|
15
16
|
class SkyFilterTestingModule {
|
|
16
17
|
}
|
|
17
|
-
SkyFilterTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1
|
|
18
|
-
SkyFilterTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1
|
|
19
|
-
SkyFilterTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1
|
|
18
|
+
SkyFilterTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyFilterTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
19
|
+
SkyFilterTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: SkyFilterTestingModule, exports: [SkyFilterModule] });
|
|
20
|
+
SkyFilterTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyFilterTestingModule, imports: [SkyFilterModule] });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyFilterTestingModule, decorators: [{
|
|
21
22
|
type: NgModule,
|
|
22
23
|
args: [{
|
|
23
24
|
exports: [SkyFilterModule],
|
|
@@ -120,10 +121,10 @@ _SkyFilterFixtureButton_debugElement = new WeakMap(), _SkyFilterFixtureButton_fi
|
|
|
120
121
|
*/
|
|
121
122
|
class SkyPagingTestingModule {
|
|
122
123
|
}
|
|
123
|
-
SkyPagingTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1
|
|
124
|
-
SkyPagingTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1
|
|
125
|
-
SkyPagingTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1
|
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1
|
|
124
|
+
SkyPagingTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyPagingTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
125
|
+
SkyPagingTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: SkyPagingTestingModule, exports: [SkyPagingModule] });
|
|
126
|
+
SkyPagingTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyPagingTestingModule, imports: [SkyPagingModule] });
|
|
127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyPagingTestingModule, decorators: [{
|
|
127
128
|
type: NgModule,
|
|
128
129
|
args: [{
|
|
129
130
|
exports: [SkyPagingModule],
|
|
@@ -138,14 +139,6 @@ var _SkyPagingFixture_instances, _SkyPagingFixture__debugEl, _SkyPagingFixture_f
|
|
|
138
139
|
* @internal
|
|
139
140
|
*/
|
|
140
141
|
class SkyPagingFixture {
|
|
141
|
-
constructor(fixture, skyTestId) {
|
|
142
|
-
_SkyPagingFixture_instances.add(this);
|
|
143
|
-
_SkyPagingFixture__debugEl.set(this, void 0);
|
|
144
|
-
_SkyPagingFixture_fixture.set(this, void 0);
|
|
145
|
-
__classPrivateFieldSet(this, _SkyPagingFixture_fixture, fixture, "f");
|
|
146
|
-
__classPrivateFieldSet(this, _SkyPagingFixture__debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-paging'), "f");
|
|
147
|
-
__classPrivateFieldGet(this, _SkyPagingFixture_instances, "m", _SkyPagingFixture_waitForComponentInitialization).call(this);
|
|
148
|
-
}
|
|
149
142
|
/**
|
|
150
143
|
* The id of the active page, if available.
|
|
151
144
|
*/
|
|
@@ -164,6 +157,14 @@ class SkyPagingFixture {
|
|
|
164
157
|
};
|
|
165
158
|
});
|
|
166
159
|
}
|
|
160
|
+
constructor(fixture, skyTestId) {
|
|
161
|
+
_SkyPagingFixture_instances.add(this);
|
|
162
|
+
_SkyPagingFixture__debugEl.set(this, void 0);
|
|
163
|
+
_SkyPagingFixture_fixture.set(this, void 0);
|
|
164
|
+
__classPrivateFieldSet(this, _SkyPagingFixture_fixture, fixture, "f");
|
|
165
|
+
__classPrivateFieldSet(this, _SkyPagingFixture__debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-paging'), "f");
|
|
166
|
+
__classPrivateFieldGet(this, _SkyPagingFixture_instances, "m", _SkyPagingFixture_waitForComponentInitialization).call(this);
|
|
167
|
+
}
|
|
167
168
|
/**
|
|
168
169
|
* Selects the specified page by id, if it is enabled.
|
|
169
170
|
*/
|
|
@@ -230,16 +231,18 @@ _SkyPagingFixture__debugEl = new WeakMap(), _SkyPagingFixture_fixture = new Weak
|
|
|
230
231
|
});
|
|
231
232
|
};
|
|
232
233
|
|
|
233
|
-
var _SkyRepeaterItemHarness_getCheckbox, _SkyRepeaterItemHarness_getContent, _SkyRepeaterItemHarness_getTitle;
|
|
234
|
+
var _SkyRepeaterItemHarness_getBackToTop, _SkyRepeaterItemHarness_getCheckbox, _SkyRepeaterItemHarness_getChevron, _SkyRepeaterItemHarness_getContent, _SkyRepeaterItemHarness_getReorderHandle, _SkyRepeaterItemHarness_getTitle;
|
|
234
235
|
/**
|
|
235
236
|
* Harness for interacting with a repeater item component in tests.
|
|
236
|
-
* @internal
|
|
237
237
|
*/
|
|
238
238
|
class SkyRepeaterItemHarness extends SkyComponentHarness {
|
|
239
239
|
constructor() {
|
|
240
240
|
super(...arguments);
|
|
241
|
+
_SkyRepeaterItemHarness_getBackToTop.set(this, this.locatorForOptional('button.sky-repeater-item-reorder-top'));
|
|
241
242
|
_SkyRepeaterItemHarness_getCheckbox.set(this, this.locatorForOptional(SkyCheckboxHarness));
|
|
243
|
+
_SkyRepeaterItemHarness_getChevron.set(this, this.locatorForOptional(SkyChevronHarness));
|
|
242
244
|
_SkyRepeaterItemHarness_getContent.set(this, this.locatorFor('.sky-repeater-item-content'));
|
|
245
|
+
_SkyRepeaterItemHarness_getReorderHandle.set(this, this.locatorForOptional('button.sky-repeater-item-grab-handle'));
|
|
243
246
|
_SkyRepeaterItemHarness_getTitle.set(this, this.locatorFor('.sky-repeater-item-title'));
|
|
244
247
|
}
|
|
245
248
|
/**
|
|
@@ -279,6 +282,30 @@ class SkyRepeaterItemHarness extends SkyComponentHarness {
|
|
|
279
282
|
return this.locatorForOptional(query)();
|
|
280
283
|
});
|
|
281
284
|
}
|
|
285
|
+
/**
|
|
286
|
+
* Returns child harnesses.
|
|
287
|
+
*/
|
|
288
|
+
queryHarnesses(harness) {
|
|
289
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
290
|
+
return this.locatorForAll(harness)();
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Returns a child test element.
|
|
295
|
+
*/
|
|
296
|
+
querySelector(selector) {
|
|
297
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
298
|
+
return this.locatorForOptional(selector)();
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Returns child test elements.
|
|
303
|
+
*/
|
|
304
|
+
querySelectorAll(selector) {
|
|
305
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
306
|
+
return this.locatorForAll(selector)();
|
|
307
|
+
});
|
|
308
|
+
}
|
|
282
309
|
/**
|
|
283
310
|
* Selects the repeater item.
|
|
284
311
|
*/
|
|
@@ -319,8 +346,80 @@ class SkyRepeaterItemHarness extends SkyComponentHarness {
|
|
|
319
346
|
return (yield __classPrivateFieldGet(this, _SkyRepeaterItemHarness_getTitle, "f").call(this)).text();
|
|
320
347
|
});
|
|
321
348
|
}
|
|
349
|
+
/**
|
|
350
|
+
* Whether the repeater item is collapsible.
|
|
351
|
+
*/
|
|
352
|
+
isCollapsible() {
|
|
353
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
354
|
+
return !!(yield __classPrivateFieldGet(this, _SkyRepeaterItemHarness_getChevron, "f").call(this));
|
|
355
|
+
});
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* Whether the repeater item is expanded, or throws an error informing of the lack of collapsibility.
|
|
359
|
+
*/
|
|
360
|
+
isExpanded() {
|
|
361
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
362
|
+
const chevron = yield __classPrivateFieldGet(this, _SkyRepeaterItemHarness_getChevron, "f").call(this);
|
|
363
|
+
if (chevron) {
|
|
364
|
+
return (yield chevron.getDirection()) === 'up';
|
|
365
|
+
}
|
|
366
|
+
throw new Error('Could not determine if repeater item is expanded because it is not collapsible.');
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Expands the repeater item, or does nothing if already expanded.
|
|
371
|
+
*/
|
|
372
|
+
expand() {
|
|
373
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
374
|
+
const chevron = yield __classPrivateFieldGet(this, _SkyRepeaterItemHarness_getChevron, "f").call(this);
|
|
375
|
+
if (chevron) {
|
|
376
|
+
if ((yield chevron.getDirection()) === 'down') {
|
|
377
|
+
yield chevron.toggle();
|
|
378
|
+
}
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
throw new Error('Could not expand the repeater item because it is not collapsible.');
|
|
382
|
+
});
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Collapses the repeater item, or does nothing if already collapsed.
|
|
386
|
+
*/
|
|
387
|
+
collapse() {
|
|
388
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
389
|
+
const chevron = yield __classPrivateFieldGet(this, _SkyRepeaterItemHarness_getChevron, "f").call(this);
|
|
390
|
+
if (chevron) {
|
|
391
|
+
if ((yield chevron.getDirection()) === 'up') {
|
|
392
|
+
yield chevron.toggle();
|
|
393
|
+
}
|
|
394
|
+
return;
|
|
395
|
+
}
|
|
396
|
+
throw new Error('Could not collapse the repeater item because it is not collapsible.');
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Whether the repeater item is reorderable.
|
|
401
|
+
*/
|
|
402
|
+
isReorderable() {
|
|
403
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
404
|
+
return !!(yield __classPrivateFieldGet(this, _SkyRepeaterItemHarness_getReorderHandle, "f").call(this));
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
/**
|
|
408
|
+
* Moves the repeater item to the top of the list
|
|
409
|
+
*/
|
|
410
|
+
sendToTop() {
|
|
411
|
+
var _a;
|
|
412
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
413
|
+
if (yield this.isReorderable()) {
|
|
414
|
+
yield ((_a = (yield __classPrivateFieldGet(this, _SkyRepeaterItemHarness_getBackToTop, "f").call(this))) === null || _a === void 0 ? void 0 : _a.click());
|
|
415
|
+
}
|
|
416
|
+
else {
|
|
417
|
+
throw new Error('Could not send to top because the repeater is not reorderable.');
|
|
418
|
+
}
|
|
419
|
+
});
|
|
420
|
+
}
|
|
322
421
|
}
|
|
323
|
-
_SkyRepeaterItemHarness_getCheckbox = new WeakMap(), _SkyRepeaterItemHarness_getContent = new WeakMap(), _SkyRepeaterItemHarness_getTitle = new WeakMap();
|
|
422
|
+
_SkyRepeaterItemHarness_getBackToTop = new WeakMap(), _SkyRepeaterItemHarness_getCheckbox = new WeakMap(), _SkyRepeaterItemHarness_getChevron = new WeakMap(), _SkyRepeaterItemHarness_getContent = new WeakMap(), _SkyRepeaterItemHarness_getReorderHandle = new WeakMap(), _SkyRepeaterItemHarness_getTitle = new WeakMap();
|
|
324
423
|
/**
|
|
325
424
|
* @internal
|
|
326
425
|
*/
|
|
@@ -328,7 +427,6 @@ SkyRepeaterItemHarness.hostSelector = 'sky-repeater-item';
|
|
|
328
427
|
|
|
329
428
|
/**
|
|
330
429
|
* Harness for interacting with a repeater component in tests.
|
|
331
|
-
* @internal
|
|
332
430
|
*/
|
|
333
431
|
class SkyRepeaterHarness extends SkyComponentHarness {
|
|
334
432
|
/**
|
|
@@ -357,10 +455,10 @@ SkyRepeaterHarness.hostSelector = 'sky-repeater';
|
|
|
357
455
|
*/
|
|
358
456
|
class SkySortTestingModule {
|
|
359
457
|
}
|
|
360
|
-
SkySortTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1
|
|
361
|
-
SkySortTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1
|
|
362
|
-
SkySortTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1
|
|
363
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1
|
|
458
|
+
SkySortTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkySortTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
459
|
+
SkySortTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: SkySortTestingModule, imports: [NoopAnimationsModule], exports: [SkySortModule] });
|
|
460
|
+
SkySortTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkySortTestingModule, imports: [NoopAnimationsModule, SkySortModule] });
|
|
461
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkySortTestingModule, decorators: [{
|
|
364
462
|
type: NgModule,
|
|
365
463
|
args: [{
|
|
366
464
|
imports: [NoopAnimationsModule],
|
|
@@ -376,13 +474,6 @@ var _SkySortFixture_instances, _SkySortFixture_debugEl, _SkySortFixture_fixture,
|
|
|
376
474
|
* @internal
|
|
377
475
|
*/
|
|
378
476
|
class SkySortFixture {
|
|
379
|
-
constructor(fixture, skyTestId) {
|
|
380
|
-
_SkySortFixture_instances.add(this);
|
|
381
|
-
_SkySortFixture_debugEl.set(this, void 0);
|
|
382
|
-
_SkySortFixture_fixture.set(this, void 0);
|
|
383
|
-
__classPrivateFieldSet(this, _SkySortFixture_fixture, fixture, "f");
|
|
384
|
-
__classPrivateFieldSet(this, _SkySortFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-sort'), "f");
|
|
385
|
-
}
|
|
386
477
|
/**
|
|
387
478
|
* The active sort menu item, if one exists. Menu items are only available when the menu dropdown
|
|
388
479
|
* is open. If the menu dropdown is closed, this property will be undefined.
|
|
@@ -421,6 +512,13 @@ class SkySortFixture {
|
|
|
421
512
|
};
|
|
422
513
|
});
|
|
423
514
|
}
|
|
515
|
+
constructor(fixture, skyTestId) {
|
|
516
|
+
_SkySortFixture_instances.add(this);
|
|
517
|
+
_SkySortFixture_debugEl.set(this, void 0);
|
|
518
|
+
_SkySortFixture_fixture.set(this, void 0);
|
|
519
|
+
__classPrivateFieldSet(this, _SkySortFixture_fixture, fixture, "f");
|
|
520
|
+
__classPrivateFieldSet(this, _SkySortFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-sort'), "f");
|
|
521
|
+
}
|
|
424
522
|
/**
|
|
425
523
|
* Closes the sort dropdown menu if it isn't closed already.
|
|
426
524
|
*/
|
|
@@ -529,10 +627,10 @@ _SkySortFixture_debugEl = new WeakMap(), _SkySortFixture_fixture = new WeakMap()
|
|
|
529
627
|
*/
|
|
530
628
|
class SkyInfiniteScrollTestingModule {
|
|
531
629
|
}
|
|
532
|
-
SkyInfiniteScrollTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1
|
|
533
|
-
SkyInfiniteScrollTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1
|
|
534
|
-
SkyInfiniteScrollTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1
|
|
535
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1
|
|
630
|
+
SkyInfiniteScrollTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyInfiniteScrollTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
631
|
+
SkyInfiniteScrollTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: SkyInfiniteScrollTestingModule, exports: [SkyInfiniteScrollModule] });
|
|
632
|
+
SkyInfiniteScrollTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyInfiniteScrollTestingModule, imports: [SkyInfiniteScrollModule] });
|
|
633
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyInfiniteScrollTestingModule, decorators: [{
|
|
536
634
|
type: NgModule,
|
|
537
635
|
args: [{
|
|
538
636
|
exports: [SkyInfiniteScrollModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-lists-testing.mjs","sources":["../../../../../libs/components/lists/testing/src/filter/filter-testing.module.ts","../../../../../libs/components/lists/testing/src/filter/filter-fixture-summary.ts","../../../../../libs/components/lists/testing/src/filter/filter-fixture-button.ts","../../../../../libs/components/lists/testing/src/paging/paging-testing.module.ts","../../../../../libs/components/lists/testing/src/paging/paging-fixture.ts","../../../../../libs/components/lists/testing/src/repeater/repeater-item-harness.ts","../../../../../libs/components/lists/testing/src/repeater/repeater-harness.ts","../../../../../libs/components/lists/testing/src/sort/sort-testing.module.ts","../../../../../libs/components/lists/testing/src/sort/sort-fixture.ts","../../../../../libs/components/lists/testing/src/infinite-scroll/infinite-scroll-testing.module.ts","../../../../../libs/components/lists/testing/src/infinite-scroll/infinite-scroll-fixture.ts","../../../../../libs/components/lists/testing/src/infinite-scroll/infinite-scroll-harness.ts","../../../../../libs/components/lists/testing/src/skyux-lists-testing.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { SkyFilterModule } from '@skyux/lists';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [SkyFilterModule],\n})\nexport class SkyFilterTestingModule {}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Provides information for and interaction with a SKY UX filter summary component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n * @internal\n */\nexport class SkyFilterFixtureSummary {\n #debugElement: DebugElement;\n #fixture: ComponentFixture<any>;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#fixture = fixture;\n this.#debugElement = SkyAppTestUtility.getDebugElementByTestId(\n this.#fixture,\n skyTestId,\n 'sky-filter-summary'\n );\n }\n\n public async filterCloseClick(index: number): Promise<any> {\n const summaryItems = this.#debugElement.nativeElement.querySelectorAll(\n 'sky-filter-summary-item'\n );\n if (summaryItems.length > index) {\n const summaryItem = summaryItems[index];\n if (summaryItem instanceof HTMLElement) {\n const closeButton = summaryItem.querySelector('.sky-token-btn-close');\n if (closeButton instanceof HTMLElement) {\n closeButton.click();\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n }\n }\n throw new Error(`Unable to click close for a filter index ${index}`);\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\nimport { SkyListsFilterFixtureButton } from './lists-filter-fixture-button';\n\n/**\n * Provides information for and interaction with a SKY UX filter button component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n * @internal\n */\nexport class SkyFilterFixtureButton {\n #debugElement: DebugElement;\n #fixture: ComponentFixture<any>;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#fixture = fixture;\n this.#debugElement = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-filter-button'\n );\n }\n\n /**\n * Click the button to apply the filter.\n */\n public async clickFilterButton(): Promise<any> {\n const button = this.#getButtonElement();\n if (button instanceof HTMLButtonElement && !button.disabled) {\n button.click();\n }\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n\n public get button(): SkyListsFilterFixtureButton {\n const buttonElement = this.#getButtonElement();\n return {\n ariaControls: buttonElement?.getAttribute('aria-controls') ?? undefined,\n ariaExpanded: buttonElement?.getAttribute('aria-expanded') === 'true',\n disabled: !!buttonElement?.disabled,\n id: buttonElement?.id,\n };\n }\n /**\n * Get the button text.\n */\n public get buttonText(): string {\n const text = this.#getButtonElement()?.innerText;\n return this.#normalizeText(text);\n }\n\n #getButtonElement(): HTMLButtonElement | null {\n return this.#debugElement.nativeElement.querySelector('.sky-filter-btn');\n }\n\n #normalizeText(text: string | undefined): string {\n let retVal = '';\n if (text) {\n retVal = text?.trim().replace(/\\s+/g, ' ');\n }\n return retVal;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SkyPagingModule } from '@skyux/lists';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [SkyPagingModule],\n})\nexport class SkyPagingTestingModule {}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\nimport { SkyPagingFixtureButton } from './paging-fixture-button';\n\n/**\n * Provides information for and interaction with a SKY UX paging component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n * @internal\n */\nexport class SkyPagingFixture {\n #_debugEl: DebugElement;\n\n /**\n * The id of the active page, if available.\n */\n public get activePageId(): string {\n return this.#getPageId(this.#activePageButton);\n }\n\n /**\n * Properties of the page links displayed in the paging component.\n */\n public get pageLinks(): SkyPagingFixtureButton[] {\n return this.#pagingLinks.map((page: DebugElement) => {\n return {\n id: this.#getPageId(page.nativeElement),\n isActive: page.nativeElement.classList.contains('sky-paging-current'),\n isEnabled: !page.nativeElement.disabled,\n };\n });\n }\n\n #fixture: ComponentFixture<any>;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#fixture = fixture;\n this.#_debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-paging'\n );\n\n this.#waitForComponentInitialization();\n }\n\n /**\n * Selects the specified page by id, if it is enabled.\n */\n public async selectPage(id: string | number): Promise<void> {\n const pageButton = this.#getPageLink(id.toString());\n\n if (pageButton !== undefined && !pageButton.disabled) {\n pageButton.click();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n }\n\n /**\n * Clicks the next page button, if it is enabled.\n */\n public async selectNextPage(): Promise<void> {\n const nextButton = this.#nextPageButton;\n\n if (nextButton !== undefined && !nextButton.disabled) {\n nextButton.click();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n }\n\n /**\n * Clicks the previous page button, if it is enabled.\n */\n public async selectPreviousPage(): Promise<void> {\n const previousButton = this.#previousPageButton;\n\n if (previousButton !== undefined && !previousButton.disabled) {\n previousButton.click();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n }\n\n //#region helpers\n\n get #activePageButton(): HTMLButtonElement {\n return this.#_debugEl.query(\n By.css('.sky-list-paging-link .sky-paging-current')\n )?.nativeElement as HTMLButtonElement;\n }\n\n get #nextPageButton(): HTMLButtonElement {\n return this.#_debugEl.query(By.css('.sky-paging-btn[sky-cmp-id=\"next\"]'))\n ?.nativeElement as HTMLButtonElement;\n }\n\n get #previousPageButton(): HTMLButtonElement {\n return this.#_debugEl.query(\n By.css('.sky-paging-btn[sky-cmp-id=\"previous\"]')\n )?.nativeElement as HTMLButtonElement;\n }\n\n get #pagingLinks(): DebugElement[] {\n return this.#_debugEl.queryAll(By.css('.sky-list-paging-link button'));\n }\n\n #getPageLink(id: string): HTMLButtonElement {\n return this.#_debugEl.query(\n By.css(`.sky-list-paging-link button[sky-cmp-id=\"${id}\"]`)\n )?.nativeElement as HTMLButtonElement;\n }\n\n #getPageId(page: HTMLButtonElement): string {\n return page?.getAttribute('sky-cmp-id') ?? '';\n }\n\n async #waitForComponentInitialization(): Promise<void> {\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n\n //#endregion\n}\n","import {\n ComponentHarness,\n HarnessPredicate,\n HarnessQuery,\n} from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyCheckboxHarness } from '@skyux/forms/testing';\n\nimport { SkyRepeaterItemHarnessFilters } from './repeater-item-harness-filters';\n\n/**\n * Harness for interacting with a repeater item component in tests.\n * @internal\n */\nexport class SkyRepeaterItemHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-repeater-item';\n\n #getCheckbox = this.locatorForOptional(SkyCheckboxHarness);\n\n #getContent = this.locatorFor('.sky-repeater-item-content');\n\n #getTitle = this.locatorFor('.sky-repeater-item-title');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyRepeaterItemHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyRepeaterItemHarnessFilters\n ): HarnessPredicate<SkyRepeaterItemHarness> {\n return SkyRepeaterItemHarness.getDataSkyIdPredicate(filters)\n .addOption('contentText', filters.contentText, async (harness, text) =>\n HarnessPredicate.stringMatches(await harness.getContentText(), text)\n )\n .addOption('titleText', filters.titleText, async (harness, text) =>\n HarnessPredicate.stringMatches(await harness.getTitleText(), text)\n );\n }\n\n /**\n * Whether the repeater item is selectable.\n */\n public async isSelectable(): Promise<boolean> {\n return !!(await this.#getCheckbox());\n }\n\n /**\n * Whether the repeater item is selected.\n */\n public async isSelected(): Promise<boolean> {\n const checkbox = await this.#getCheckbox();\n if (!checkbox) {\n throw new Error(\n 'Could not determine if repeater item is selected because it is not selectable.'\n );\n }\n\n return checkbox.isChecked();\n }\n\n /**\n * Returns a child harness.\n */\n public async queryHarness<T extends ComponentHarness>(\n query: HarnessQuery<T>\n ): Promise<T | null> {\n return this.locatorForOptional(query)();\n }\n\n /**\n * Selects the repeater item.\n */\n public async select(): Promise<void> {\n const checkbox = await this.#getCheckbox();\n if (!checkbox) {\n throw new Error(\n 'Could not select the repeater item because it is not selectable.'\n );\n }\n\n await checkbox.check();\n }\n\n /**\n * Deselects the repeater item.\n */\n public async deselect(): Promise<void> {\n const checkbox = await this.#getCheckbox();\n if (!checkbox) {\n throw new Error(\n 'Could not deselect the repeater item because it is not selectable.'\n );\n }\n\n await checkbox.uncheck();\n }\n\n /**\n * Gets the text of the repeater item content.\n */\n public async getContentText(): Promise<string> {\n return (await this.#getContent()).text();\n }\n\n /**\n * Gets the text of the repeater item title.\n */\n public async getTitleText(): Promise<string> {\n return (await this.#getTitle()).text();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyRepeaterHarnessFilters } from './repeater-harness-filters';\nimport { SkyRepeaterItemHarness } from './repeater-item-harness';\nimport { SkyRepeaterItemHarnessFilters } from './repeater-item-harness-filters';\n\n/**\n * Harness for interacting with a repeater component in tests.\n * @internal\n */\nexport class SkyRepeaterHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-repeater';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyRepeaterHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyRepeaterHarnessFilters\n ): HarnessPredicate<SkyRepeaterHarness> {\n return SkyRepeaterHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets a list of child repeater items.\n */\n public async getRepeaterItems(\n filters?: SkyRepeaterItemHarnessFilters\n ): Promise<SkyRepeaterItemHarness[]> {\n return this.locatorForAll(SkyRepeaterItemHarness.with(filters || {}))();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { SkySortModule } from '@skyux/lists';\n\n/**\n * @internal\n */\n@NgModule({\n imports: [NoopAnimationsModule],\n exports: [SkySortModule],\n})\nexport class SkySortTestingModule {}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\nimport { SkySortFixtureMenu } from './sort-fixture-menu';\nimport { SkySortFixtureMenuItem } from './sort-fixture-menu-item';\n\n/**\n * Provides information for and interaction with a SKY UX sort component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n * @internal\n */\nexport class SkySortFixture {\n /**\n * The active sort menu item, if one exists. Menu items are only available when the menu dropdown\n * is open. If the menu dropdown is closed, this property will be undefined.\n */\n public get activeMenuItem(): SkySortFixtureMenuItem | undefined {\n return this.menuItems?.find((x) => x.isActive);\n }\n\n /**\n * The sort menu's properties.\n */\n public get menu(): SkySortFixtureMenu {\n /* istanbul ignore next */\n const buttonText =\n SkyAppTestUtility.getText(this.#getSortButtonTextEl()) || '';\n return {\n buttonText,\n isOpen: this.#getDropdownMenuEl() !== null,\n };\n }\n\n /**\n * The properties of each sort menu item. Menu items are only available when the menu dropdown\n * is open. If the menu dropdown is closed, this property will be undefined.\n */\n public get menuItems(): SkySortFixtureMenuItem[] | undefined {\n // Return undefined when we can't determine what the options are.\n // We do this to avoid any confusion with an empty set of options.\n if (!this.menu.isOpen) {\n return;\n }\n\n return this.#getSortItems().map((item: HTMLElement, i: number) => {\n const itemButton = item.querySelector('button');\n\n return {\n index: i,\n isActive: item.classList.contains('sky-sort-item-selected'),\n text: SkyAppTestUtility.getText(itemButton),\n };\n });\n }\n\n #debugEl: DebugElement;\n #fixture: ComponentFixture<any>;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#fixture = fixture;\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-sort'\n );\n }\n\n /**\n * Closes the sort dropdown menu if it isn't closed already.\n */\n public async closeMenu(): Promise<void> {\n // if the menu is already closed, do nothing\n if (!this.menu.isOpen) {\n return;\n }\n\n const menu = this.#getDropdownButtonEl();\n if (menu !== undefined && !menu.disabled) {\n menu.click();\n\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n }\n\n /**\n * Opens the sort dropdown menu if it isn't open already.\n */\n public async openMenu(): Promise<void> {\n // if the menu is already open, do nothing\n if (this.menu.isOpen) {\n return;\n }\n\n const menu = this.#getDropdownButtonEl();\n\n if (menu !== undefined && !menu.disabled) {\n menu.click();\n\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n }\n\n /**\n * Ensures the sort menu is open and selects the menu item with the specified index, if it exists.\n * @param menuItemIndex The index of the menu item to select.\n */\n public async selectMenuItemByIndex(menuItemIndex: number): Promise<void> {\n return this.#selectMenuItem((_item: HTMLElement, index: number) => {\n return index === menuItemIndex;\n });\n }\n\n /**\n * Ensures the sort menu is open and selects the menu item with the specified text,\n * if a matching item is available.\n * @param menuItemText The text of the menu item to select.\n */\n public async selectMenuItemByText(\n menuItemText: string | undefined\n ): Promise<void> {\n /* istanbul ignore else */\n if (menuItemText) {\n return this.#selectMenuItem((item: HTMLElement) => {\n return SkyAppTestUtility.getText(item) === menuItemText;\n });\n } else {\n return;\n }\n }\n\n //#region helpers\n\n #getDropdownButtonEl(): HTMLButtonElement | undefined {\n return this.#debugEl.query(By.css('.sky-dropdown-button')).nativeElement;\n }\n\n #getDropdownMenuEl(): HTMLElement | null {\n return document.querySelector('sky-overlay .sky-dropdown-menu');\n }\n\n #getSortButtonTextEl(): HTMLElement | undefined {\n return this.#debugEl.query(By.css('.sky-sort-btn-text')).nativeElement;\n }\n\n #getSortItems(): HTMLElement[] {\n const resultNodes = document.querySelectorAll('sky-overlay .sky-sort-item');\n return Array.prototype.slice.call(resultNodes);\n }\n\n /**\n * Ensures the sort menu is open and selects the menu item via a selection predicate,\n * if a matching item is available.\n * @param selectionPredicate The menu item selector method to use.\n */\n async #selectMenuItem(\n selectionPredicate: (item: HTMLElement, index: number) => boolean\n ): Promise<void> {\n // make sure the sort menu is open\n if (!this.menu.isOpen) {\n await this.openMenu();\n }\n\n // find the requested menu item using the selectionPredicate parameter\n const items = this.#getSortItems();\n const targetItem = items.find((item: HTMLElement, index: number) =>\n selectionPredicate(item, index)\n );\n\n // if we found the item, select it\n if (targetItem) {\n // we've got the '.sky-sort-item' div, but we want to click it's child button element\n const targetButton = targetItem.querySelector('button');\n targetButton?.click();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n }\n\n //#endregion\n}\n","import { NgModule } from '@angular/core';\nimport { SkyInfiniteScrollModule } from '@skyux/lists';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [SkyInfiniteScrollModule],\n})\nexport class SkyInfiniteScrollTestingModule {}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Provides information for and interaction with a SKY UX infinite scroll component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n * @deprecated Use `SkyInfiniteScrollHarness` instead.\n * @internal\n */\nexport class SkyInfiniteScrollFixture {\n #debugElement: DebugElement;\n #fixture: ComponentFixture<any>;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#fixture = fixture;\n this.#debugElement = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-infinite-scroll'\n );\n }\n\n public get loadMoreButtonIsVisible(): boolean {\n return this.#getButton() instanceof HTMLButtonElement;\n }\n\n public async clickLoadMoreButton(): Promise<any> {\n const button = this.#getButton();\n if (button instanceof HTMLButtonElement) {\n button.click();\n }\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n\n #getButton() {\n return this.#debugElement.nativeElement.querySelector(\n '.sky-infinite-scroll .sky-btn'\n );\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyInfiniteScrollHarnessFilters } from './infinite-scroll-harness-filters';\n\n/**\n * Harness for interacting with an infinite scroll component in tests.\n * @internal\n */\nexport class SkyInfiniteScrollHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-infinite-scroll';\n\n #showMoreButton = this.locatorForOptional(\n 'button.sky-infinite-scroll-load-more-button'\n );\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyInfiniteScrollHarness` that meets certain criteria.\n */\n public static with(filters: SkyInfiniteScrollHarnessFilters) {\n return this.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Whether the infinite scroll is enabled.\n */\n public async isEnabled(): Promise<boolean> {\n return (await this.locatorForOptional('.sky-infinite-scroll')()) !== null;\n }\n\n /**\n * Whether the infinite scroll is loading.\n */\n public async isLoading(): Promise<boolean> {\n return (await this.isEnabled()) && (await this.#showMoreButton()) === null;\n }\n\n /**\n * Clicks the \"Load more\" button.\n */\n public async loadMore(): Promise<void> {\n const button = await this.#showMoreButton();\n if (button) {\n await button.click();\n } else {\n if (!(await this.isEnabled())) {\n throw new Error(\n 'Unable to click the \"Load more\" button because the infinite scroll is not enabled.'\n );\n } else {\n throw new Error(\n 'Unable to click the \"Load more\" button because the infinite scroll is loading.'\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
|
+
{"version":3,"file":"skyux-lists-testing.mjs","sources":["../../../../../libs/components/lists/testing/src/filter/filter-testing.module.ts","../../../../../libs/components/lists/testing/src/filter/filter-fixture-summary.ts","../../../../../libs/components/lists/testing/src/filter/filter-fixture-button.ts","../../../../../libs/components/lists/testing/src/paging/paging-testing.module.ts","../../../../../libs/components/lists/testing/src/paging/paging-fixture.ts","../../../../../libs/components/lists/testing/src/repeater/repeater-item-harness.ts","../../../../../libs/components/lists/testing/src/repeater/repeater-harness.ts","../../../../../libs/components/lists/testing/src/sort/sort-testing.module.ts","../../../../../libs/components/lists/testing/src/sort/sort-fixture.ts","../../../../../libs/components/lists/testing/src/infinite-scroll/infinite-scroll-testing.module.ts","../../../../../libs/components/lists/testing/src/infinite-scroll/infinite-scroll-fixture.ts","../../../../../libs/components/lists/testing/src/infinite-scroll/infinite-scroll-harness.ts","../../../../../libs/components/lists/testing/src/skyux-lists-testing.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { SkyFilterModule } from '@skyux/lists';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [SkyFilterModule],\n})\nexport class SkyFilterTestingModule {}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Provides information for and interaction with a SKY UX filter summary component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n * @internal\n */\nexport class SkyFilterFixtureSummary {\n #debugElement: DebugElement;\n #fixture: ComponentFixture<any>;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#fixture = fixture;\n this.#debugElement = SkyAppTestUtility.getDebugElementByTestId(\n this.#fixture,\n skyTestId,\n 'sky-filter-summary'\n );\n }\n\n public async filterCloseClick(index: number): Promise<any> {\n const summaryItems = this.#debugElement.nativeElement.querySelectorAll(\n 'sky-filter-summary-item'\n );\n if (summaryItems.length > index) {\n const summaryItem = summaryItems[index];\n if (summaryItem instanceof HTMLElement) {\n const closeButton = summaryItem.querySelector('.sky-token-btn-close');\n if (closeButton instanceof HTMLElement) {\n closeButton.click();\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n }\n }\n throw new Error(`Unable to click close for a filter index ${index}`);\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\nimport { SkyListsFilterFixtureButton } from './lists-filter-fixture-button';\n\n/**\n * Provides information for and interaction with a SKY UX filter button component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n * @internal\n */\nexport class SkyFilterFixtureButton {\n #debugElement: DebugElement;\n #fixture: ComponentFixture<any>;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#fixture = fixture;\n this.#debugElement = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-filter-button'\n );\n }\n\n /**\n * Click the button to apply the filter.\n */\n public async clickFilterButton(): Promise<any> {\n const button = this.#getButtonElement();\n if (button instanceof HTMLButtonElement && !button.disabled) {\n button.click();\n }\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n\n public get button(): SkyListsFilterFixtureButton {\n const buttonElement = this.#getButtonElement();\n return {\n ariaControls: buttonElement?.getAttribute('aria-controls') ?? undefined,\n ariaExpanded: buttonElement?.getAttribute('aria-expanded') === 'true',\n disabled: !!buttonElement?.disabled,\n id: buttonElement?.id,\n };\n }\n /**\n * Get the button text.\n */\n public get buttonText(): string {\n const text = this.#getButtonElement()?.innerText;\n return this.#normalizeText(text);\n }\n\n #getButtonElement(): HTMLButtonElement | null {\n return this.#debugElement.nativeElement.querySelector('.sky-filter-btn');\n }\n\n #normalizeText(text: string | undefined): string {\n let retVal = '';\n if (text) {\n retVal = text?.trim().replace(/\\s+/g, ' ');\n }\n return retVal;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SkyPagingModule } from '@skyux/lists';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [SkyPagingModule],\n})\nexport class SkyPagingTestingModule {}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\nimport { SkyPagingFixtureButton } from './paging-fixture-button';\n\n/**\n * Provides information for and interaction with a SKY UX paging component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n * @internal\n */\nexport class SkyPagingFixture {\n #_debugEl: DebugElement;\n\n /**\n * The id of the active page, if available.\n */\n public get activePageId(): string {\n return this.#getPageId(this.#activePageButton);\n }\n\n /**\n * Properties of the page links displayed in the paging component.\n */\n public get pageLinks(): SkyPagingFixtureButton[] {\n return this.#pagingLinks.map((page: DebugElement) => {\n return {\n id: this.#getPageId(page.nativeElement),\n isActive: page.nativeElement.classList.contains('sky-paging-current'),\n isEnabled: !page.nativeElement.disabled,\n };\n });\n }\n\n #fixture: ComponentFixture<any>;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#fixture = fixture;\n this.#_debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-paging'\n );\n\n this.#waitForComponentInitialization();\n }\n\n /**\n * Selects the specified page by id, if it is enabled.\n */\n public async selectPage(id: string | number): Promise<void> {\n const pageButton = this.#getPageLink(id.toString());\n\n if (pageButton !== undefined && !pageButton.disabled) {\n pageButton.click();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n }\n\n /**\n * Clicks the next page button, if it is enabled.\n */\n public async selectNextPage(): Promise<void> {\n const nextButton = this.#nextPageButton;\n\n if (nextButton !== undefined && !nextButton.disabled) {\n nextButton.click();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n }\n\n /**\n * Clicks the previous page button, if it is enabled.\n */\n public async selectPreviousPage(): Promise<void> {\n const previousButton = this.#previousPageButton;\n\n if (previousButton !== undefined && !previousButton.disabled) {\n previousButton.click();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n }\n\n //#region helpers\n\n get #activePageButton(): HTMLButtonElement {\n return this.#_debugEl.query(\n By.css('.sky-list-paging-link .sky-paging-current')\n )?.nativeElement as HTMLButtonElement;\n }\n\n get #nextPageButton(): HTMLButtonElement {\n return this.#_debugEl.query(By.css('.sky-paging-btn[sky-cmp-id=\"next\"]'))\n ?.nativeElement as HTMLButtonElement;\n }\n\n get #previousPageButton(): HTMLButtonElement {\n return this.#_debugEl.query(\n By.css('.sky-paging-btn[sky-cmp-id=\"previous\"]')\n )?.nativeElement as HTMLButtonElement;\n }\n\n get #pagingLinks(): DebugElement[] {\n return this.#_debugEl.queryAll(By.css('.sky-list-paging-link button'));\n }\n\n #getPageLink(id: string): HTMLButtonElement {\n return this.#_debugEl.query(\n By.css(`.sky-list-paging-link button[sky-cmp-id=\"${id}\"]`)\n )?.nativeElement as HTMLButtonElement;\n }\n\n #getPageId(page: HTMLButtonElement): string {\n return page?.getAttribute('sky-cmp-id') ?? '';\n }\n\n async #waitForComponentInitialization(): Promise<void> {\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n\n //#endregion\n}\n","import {\n ComponentHarness,\n HarnessPredicate,\n HarnessQuery,\n TestElement,\n} from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyCheckboxHarness } from '@skyux/forms/testing';\nimport { SkyChevronHarness } from '@skyux/indicators/testing';\n\nimport { SkyRepeaterItemHarnessFilters } from './repeater-item-harness-filters';\n\n/**\n * Harness for interacting with a repeater item component in tests.\n */\nexport class SkyRepeaterItemHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-repeater-item';\n\n #getBackToTop = this.locatorForOptional(\n 'button.sky-repeater-item-reorder-top'\n );\n\n #getCheckbox = this.locatorForOptional(SkyCheckboxHarness);\n\n #getChevron = this.locatorForOptional(SkyChevronHarness);\n\n #getContent = this.locatorFor('.sky-repeater-item-content');\n\n #getReorderHandle = this.locatorForOptional(\n 'button.sky-repeater-item-grab-handle'\n );\n\n #getTitle = this.locatorFor('.sky-repeater-item-title');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyRepeaterItemHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyRepeaterItemHarnessFilters\n ): HarnessPredicate<SkyRepeaterItemHarness> {\n return SkyRepeaterItemHarness.getDataSkyIdPredicate(filters)\n .addOption('contentText', filters.contentText, async (harness, text) =>\n HarnessPredicate.stringMatches(await harness.getContentText(), text)\n )\n .addOption('titleText', filters.titleText, async (harness, text) =>\n HarnessPredicate.stringMatches(await harness.getTitleText(), text)\n );\n }\n\n /**\n * Whether the repeater item is selectable.\n */\n public async isSelectable(): Promise<boolean> {\n return !!(await this.#getCheckbox());\n }\n\n /**\n * Whether the repeater item is selected.\n */\n public async isSelected(): Promise<boolean> {\n const checkbox = await this.#getCheckbox();\n if (!checkbox) {\n throw new Error(\n 'Could not determine if repeater item is selected because it is not selectable.'\n );\n }\n\n return checkbox.isChecked();\n }\n\n /**\n * Returns a child harness.\n */\n public async queryHarness<T extends ComponentHarness>(\n query: HarnessQuery<T>\n ): Promise<T | null> {\n return this.locatorForOptional(query)();\n }\n\n /**\n * Returns child harnesses.\n */\n public async queryHarnesses<T extends ComponentHarness>(\n harness: HarnessQuery<T>\n ): Promise<T[]> {\n return this.locatorForAll(harness)();\n }\n\n /**\n * Returns a child test element.\n */\n public async querySelector(selector: string): Promise<TestElement | null> {\n return this.locatorForOptional(selector)();\n }\n\n /**\n * Returns child test elements.\n */\n public async querySelectorAll(selector: string): Promise<TestElement[]> {\n return this.locatorForAll(selector)();\n }\n\n /**\n * Selects the repeater item.\n */\n public async select(): Promise<void> {\n const checkbox = await this.#getCheckbox();\n if (!checkbox) {\n throw new Error(\n 'Could not select the repeater item because it is not selectable.'\n );\n }\n\n await checkbox.check();\n }\n\n /**\n * Deselects the repeater item.\n */\n public async deselect(): Promise<void> {\n const checkbox = await this.#getCheckbox();\n if (!checkbox) {\n throw new Error(\n 'Could not deselect the repeater item because it is not selectable.'\n );\n }\n\n await checkbox.uncheck();\n }\n\n /**\n * Gets the text of the repeater item content.\n */\n public async getContentText(): Promise<string> {\n return (await this.#getContent()).text();\n }\n\n /**\n * Gets the text of the repeater item title.\n */\n public async getTitleText(): Promise<string> {\n return (await this.#getTitle()).text();\n }\n\n /**\n * Whether the repeater item is collapsible.\n */\n public async isCollapsible(): Promise<boolean> {\n return !!(await this.#getChevron());\n }\n\n /**\n * Whether the repeater item is expanded, or throws an error informing of the lack of collapsibility.\n */\n public async isExpanded(): Promise<boolean> {\n const chevron = await this.#getChevron();\n if (chevron) {\n return (await chevron.getDirection()) === 'up';\n }\n throw new Error(\n 'Could not determine if repeater item is expanded because it is not collapsible.'\n );\n }\n\n /**\n * Expands the repeater item, or does nothing if already expanded.\n */\n public async expand(): Promise<void> {\n const chevron = await this.#getChevron();\n if (chevron) {\n if ((await chevron.getDirection()) === 'down') {\n await chevron.toggle();\n }\n return;\n }\n throw new Error(\n 'Could not expand the repeater item because it is not collapsible.'\n );\n }\n\n /**\n * Collapses the repeater item, or does nothing if already collapsed.\n */\n public async collapse(): Promise<void> {\n const chevron = await this.#getChevron();\n if (chevron) {\n if ((await chevron.getDirection()) === 'up') {\n await chevron.toggle();\n }\n return;\n }\n throw new Error(\n 'Could not collapse the repeater item because it is not collapsible.'\n );\n }\n\n /**\n * Whether the repeater item is reorderable.\n */\n public async isReorderable(): Promise<boolean> {\n return !!(await this.#getReorderHandle());\n }\n\n /**\n * Moves the repeater item to the top of the list\n */\n public async sendToTop(): Promise<void> {\n if (await this.isReorderable()) {\n await (await this.#getBackToTop())?.click();\n } else {\n throw new Error(\n 'Could not send to top because the repeater is not reorderable.'\n );\n }\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyRepeaterHarnessFilters } from './repeater-harness-filters';\nimport { SkyRepeaterItemHarness } from './repeater-item-harness';\nimport { SkyRepeaterItemHarnessFilters } from './repeater-item-harness-filters';\n\n/**\n * Harness for interacting with a repeater component in tests.\n */\nexport class SkyRepeaterHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-repeater';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyRepeaterHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyRepeaterHarnessFilters\n ): HarnessPredicate<SkyRepeaterHarness> {\n return SkyRepeaterHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets a list of child repeater items.\n */\n public async getRepeaterItems(\n filters?: SkyRepeaterItemHarnessFilters\n ): Promise<SkyRepeaterItemHarness[]> {\n return this.locatorForAll(SkyRepeaterItemHarness.with(filters || {}))();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { SkySortModule } from '@skyux/lists';\n\n/**\n * @internal\n */\n@NgModule({\n imports: [NoopAnimationsModule],\n exports: [SkySortModule],\n})\nexport class SkySortTestingModule {}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\nimport { SkySortFixtureMenu } from './sort-fixture-menu';\nimport { SkySortFixtureMenuItem } from './sort-fixture-menu-item';\n\n/**\n * Provides information for and interaction with a SKY UX sort component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n * @internal\n */\nexport class SkySortFixture {\n /**\n * The active sort menu item, if one exists. Menu items are only available when the menu dropdown\n * is open. If the menu dropdown is closed, this property will be undefined.\n */\n public get activeMenuItem(): SkySortFixtureMenuItem | undefined {\n return this.menuItems?.find((x) => x.isActive);\n }\n\n /**\n * The sort menu's properties.\n */\n public get menu(): SkySortFixtureMenu {\n /* istanbul ignore next */\n const buttonText =\n SkyAppTestUtility.getText(this.#getSortButtonTextEl()) || '';\n return {\n buttonText,\n isOpen: this.#getDropdownMenuEl() !== null,\n };\n }\n\n /**\n * The properties of each sort menu item. Menu items are only available when the menu dropdown\n * is open. If the menu dropdown is closed, this property will be undefined.\n */\n public get menuItems(): SkySortFixtureMenuItem[] | undefined {\n // Return undefined when we can't determine what the options are.\n // We do this to avoid any confusion with an empty set of options.\n if (!this.menu.isOpen) {\n return;\n }\n\n return this.#getSortItems().map((item: HTMLElement, i: number) => {\n const itemButton = item.querySelector('button');\n\n return {\n index: i,\n isActive: item.classList.contains('sky-sort-item-selected'),\n text: SkyAppTestUtility.getText(itemButton),\n };\n });\n }\n\n #debugEl: DebugElement;\n #fixture: ComponentFixture<any>;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#fixture = fixture;\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-sort'\n );\n }\n\n /**\n * Closes the sort dropdown menu if it isn't closed already.\n */\n public async closeMenu(): Promise<void> {\n // if the menu is already closed, do nothing\n if (!this.menu.isOpen) {\n return;\n }\n\n const menu = this.#getDropdownButtonEl();\n if (menu !== undefined && !menu.disabled) {\n menu.click();\n\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n }\n\n /**\n * Opens the sort dropdown menu if it isn't open already.\n */\n public async openMenu(): Promise<void> {\n // if the menu is already open, do nothing\n if (this.menu.isOpen) {\n return;\n }\n\n const menu = this.#getDropdownButtonEl();\n\n if (menu !== undefined && !menu.disabled) {\n menu.click();\n\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n }\n\n /**\n * Ensures the sort menu is open and selects the menu item with the specified index, if it exists.\n * @param menuItemIndex The index of the menu item to select.\n */\n public async selectMenuItemByIndex(menuItemIndex: number): Promise<void> {\n return this.#selectMenuItem((_item: HTMLElement, index: number) => {\n return index === menuItemIndex;\n });\n }\n\n /**\n * Ensures the sort menu is open and selects the menu item with the specified text,\n * if a matching item is available.\n * @param menuItemText The text of the menu item to select.\n */\n public async selectMenuItemByText(\n menuItemText: string | undefined\n ): Promise<void> {\n /* istanbul ignore else */\n if (menuItemText) {\n return this.#selectMenuItem((item: HTMLElement) => {\n return SkyAppTestUtility.getText(item) === menuItemText;\n });\n } else {\n return;\n }\n }\n\n //#region helpers\n\n #getDropdownButtonEl(): HTMLButtonElement | undefined {\n return this.#debugEl.query(By.css('.sky-dropdown-button')).nativeElement;\n }\n\n #getDropdownMenuEl(): HTMLElement | null {\n return document.querySelector('sky-overlay .sky-dropdown-menu');\n }\n\n #getSortButtonTextEl(): HTMLElement | undefined {\n return this.#debugEl.query(By.css('.sky-sort-btn-text')).nativeElement;\n }\n\n #getSortItems(): HTMLElement[] {\n const resultNodes = document.querySelectorAll('sky-overlay .sky-sort-item');\n return Array.prototype.slice.call(resultNodes);\n }\n\n /**\n * Ensures the sort menu is open and selects the menu item via a selection predicate,\n * if a matching item is available.\n * @param selectionPredicate The menu item selector method to use.\n */\n async #selectMenuItem(\n selectionPredicate: (item: HTMLElement, index: number) => boolean\n ): Promise<void> {\n // make sure the sort menu is open\n if (!this.menu.isOpen) {\n await this.openMenu();\n }\n\n // find the requested menu item using the selectionPredicate parameter\n const items = this.#getSortItems();\n const targetItem = items.find((item: HTMLElement, index: number) =>\n selectionPredicate(item, index)\n );\n\n // if we found the item, select it\n if (targetItem) {\n // we've got the '.sky-sort-item' div, but we want to click it's child button element\n const targetButton = targetItem.querySelector('button');\n targetButton?.click();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n }\n\n //#endregion\n}\n","import { NgModule } from '@angular/core';\nimport { SkyInfiniteScrollModule } from '@skyux/lists';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [SkyInfiniteScrollModule],\n})\nexport class SkyInfiniteScrollTestingModule {}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Provides information for and interaction with a SKY UX infinite scroll component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n * @deprecated Use `SkyInfiniteScrollHarness` instead.\n * @internal\n */\nexport class SkyInfiniteScrollFixture {\n #debugElement: DebugElement;\n #fixture: ComponentFixture<any>;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#fixture = fixture;\n this.#debugElement = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-infinite-scroll'\n );\n }\n\n public get loadMoreButtonIsVisible(): boolean {\n return this.#getButton() instanceof HTMLButtonElement;\n }\n\n public async clickLoadMoreButton(): Promise<any> {\n const button = this.#getButton();\n if (button instanceof HTMLButtonElement) {\n button.click();\n }\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n\n #getButton() {\n return this.#debugElement.nativeElement.querySelector(\n '.sky-infinite-scroll .sky-btn'\n );\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyInfiniteScrollHarnessFilters } from './infinite-scroll-harness-filters';\n\n/**\n * Harness for interacting with an infinite scroll component in tests.\n * @internal\n */\nexport class SkyInfiniteScrollHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-infinite-scroll';\n\n #showMoreButton = this.locatorForOptional(\n 'button.sky-infinite-scroll-load-more-button'\n );\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyInfiniteScrollHarness` that meets certain criteria.\n */\n public static with(filters: SkyInfiniteScrollHarnessFilters) {\n return this.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Whether the infinite scroll is enabled.\n */\n public async isEnabled(): Promise<boolean> {\n return (await this.locatorForOptional('.sky-infinite-scroll')()) !== null;\n }\n\n /**\n * Whether the infinite scroll is loading.\n */\n public async isLoading(): Promise<boolean> {\n return (await this.isEnabled()) && (await this.#showMoreButton()) === null;\n }\n\n /**\n * Clicks the \"Load more\" button.\n */\n public async loadMore(): Promise<void> {\n const button = await this.#showMoreButton();\n if (button) {\n await button.click();\n } else {\n if (!(await this.isEnabled())) {\n throw new Error(\n 'Unable to click the \"Load more\" button because the infinite scroll is not enabled.'\n );\n } else {\n throw new Error(\n 'Unable to click the \"Load more\" button because the infinite scroll is loading.'\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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"}
|