@skyux/lists 5.7.2 → 6.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/esm2020/index.mjs +22 -0
  2. package/esm2020/lib/modules/filter/filter-button.component.mjs +62 -0
  3. package/esm2020/lib/modules/filter/filter-inline-item.component.mjs +14 -0
  4. package/esm2020/lib/modules/filter/filter-inline.component.mjs +14 -0
  5. package/esm2020/lib/modules/filter/filter-summary-item.component.mjs +45 -0
  6. package/esm2020/lib/modules/filter/filter-summary.component.mjs +15 -0
  7. package/esm2020/lib/modules/filter/filter.module.mjs +61 -0
  8. package/esm2020/lib/modules/infinite-scroll/infinite-scroll-dom-adapter.service.mjs +93 -0
  9. package/esm2020/lib/modules/infinite-scroll/infinite-scroll.component.mjs +109 -0
  10. package/esm2020/lib/modules/infinite-scroll/infinite-scroll.module.mjs +20 -0
  11. package/esm2020/lib/modules/paging/paging.component.mjs +122 -0
  12. package/esm2020/lib/modules/paging/paging.module.mjs +34 -0
  13. package/esm2020/lib/modules/repeater/repeater-adapter.service.mjs +69 -0
  14. package/esm2020/lib/modules/repeater/repeater-item-content.component.mjs +14 -0
  15. package/esm2020/lib/modules/repeater/repeater-item-context-menu.component.mjs +17 -0
  16. package/esm2020/lib/modules/repeater/repeater-item-title.component.mjs +14 -0
  17. package/esm2020/lib/modules/repeater/repeater-item.component.mjs +383 -0
  18. package/esm2020/lib/modules/repeater/repeater.component.mjs +256 -0
  19. package/esm2020/lib/modules/repeater/repeater.module.mjs +69 -0
  20. package/esm2020/lib/modules/repeater/repeater.service.mjs +72 -0
  21. package/esm2020/lib/modules/shared/sky-lists-resources.module.mjs +80 -0
  22. package/esm2020/lib/modules/sort/sort-item.component.mjs +60 -0
  23. package/esm2020/lib/modules/sort/sort-menu-heading.component.mjs +13 -0
  24. package/esm2020/lib/modules/sort/sort.component.mjs +35 -0
  25. package/esm2020/lib/modules/sort/sort.module.mjs +50 -0
  26. package/esm2020/lib/modules/sort/sort.service.mjs +20 -0
  27. package/esm2020/skyux-lists.mjs +5 -0
  28. package/esm2020/testing/filter/filter-fixture-button.mjs +46 -0
  29. package/esm2020/testing/filter/filter-fixture-summary.mjs +28 -0
  30. package/esm2020/testing/filter/filter-testing.module.mjs +15 -0
  31. package/esm2020/testing/filter/lists-filter-fixture-button.mjs +2 -0
  32. package/esm2020/testing/infinite-scroll/infinite-scroll-fixture.mjs +27 -0
  33. package/esm2020/testing/infinite-scroll/infinite-scroll-testing.module.mjs +15 -0
  34. package/esm2020/testing/paging/paging-fixture-button.mjs +2 -0
  35. package/esm2020/testing/paging/paging-fixture.mjs +93 -0
  36. package/esm2020/testing/paging/paging-testing.module.mjs +15 -0
  37. package/esm2020/testing/public-api.mjs +13 -0
  38. package/esm2020/testing/skyux-lists-testing.mjs +5 -0
  39. package/esm2020/testing/sort/sort-fixture-menu-item.mjs +2 -0
  40. package/esm2020/testing/sort/sort-fixture-menu.mjs +2 -0
  41. package/esm2020/testing/sort/sort-fixture.mjs +140 -0
  42. package/esm2020/testing/sort/sort-testing.module.mjs +17 -0
  43. package/fesm2015/{skyux-lists-testing.js → skyux-lists-testing.mjs} +17 -17
  44. package/fesm2015/skyux-lists-testing.mjs.map +1 -0
  45. package/fesm2015/skyux-lists.mjs +1615 -0
  46. package/fesm2015/skyux-lists.mjs.map +1 -0
  47. package/fesm2020/skyux-lists-testing.mjs +389 -0
  48. package/fesm2020/skyux-lists-testing.mjs.map +1 -0
  49. package/fesm2020/skyux-lists.mjs +1615 -0
  50. package/fesm2020/skyux-lists.mjs.map +1 -0
  51. package/package.json +43 -19
  52. package/testing/package.json +5 -5
  53. package/bundles/skyux-lists-testing.umd.js +0 -887
  54. package/bundles/skyux-lists.umd.js +0 -2149
  55. package/esm2015/index.js +0 -22
  56. package/esm2015/index.js.map +0 -1
  57. package/esm2015/lib/modules/filter/filter-button.component.js +0 -67
  58. package/esm2015/lib/modules/filter/filter-button.component.js.map +0 -1
  59. package/esm2015/lib/modules/filter/filter-inline-item.component.js +0 -18
  60. package/esm2015/lib/modules/filter/filter-inline-item.component.js.map +0 -1
  61. package/esm2015/lib/modules/filter/filter-inline.component.js +0 -18
  62. package/esm2015/lib/modules/filter/filter-inline.component.js.map +0 -1
  63. package/esm2015/lib/modules/filter/filter-summary-item.component.js +0 -50
  64. package/esm2015/lib/modules/filter/filter-summary-item.component.js.map +0 -1
  65. package/esm2015/lib/modules/filter/filter-summary.component.js +0 -20
  66. package/esm2015/lib/modules/filter/filter-summary.component.js.map +0 -1
  67. package/esm2015/lib/modules/filter/filter.module.js +0 -61
  68. package/esm2015/lib/modules/filter/filter.module.js.map +0 -1
  69. package/esm2015/lib/modules/infinite-scroll/infinite-scroll-dom-adapter.service.js +0 -93
  70. package/esm2015/lib/modules/infinite-scroll/infinite-scroll-dom-adapter.service.js.map +0 -1
  71. package/esm2015/lib/modules/infinite-scroll/infinite-scroll.component.js +0 -115
  72. package/esm2015/lib/modules/infinite-scroll/infinite-scroll.component.js.map +0 -1
  73. package/esm2015/lib/modules/infinite-scroll/infinite-scroll.module.js +0 -20
  74. package/esm2015/lib/modules/infinite-scroll/infinite-scroll.module.js.map +0 -1
  75. package/esm2015/lib/modules/paging/paging.component.js +0 -127
  76. package/esm2015/lib/modules/paging/paging.component.js.map +0 -1
  77. package/esm2015/lib/modules/paging/paging.module.js +0 -34
  78. package/esm2015/lib/modules/paging/paging.module.js.map +0 -1
  79. package/esm2015/lib/modules/repeater/repeater-adapter.service.js +0 -69
  80. package/esm2015/lib/modules/repeater/repeater-adapter.service.js.map +0 -1
  81. package/esm2015/lib/modules/repeater/repeater-item-content.component.js +0 -17
  82. package/esm2015/lib/modules/repeater/repeater-item-content.component.js.map +0 -1
  83. package/esm2015/lib/modules/repeater/repeater-item-context-menu.component.js +0 -20
  84. package/esm2015/lib/modules/repeater/repeater-item-context-menu.component.js.map +0 -1
  85. package/esm2015/lib/modules/repeater/repeater-item-title.component.js +0 -17
  86. package/esm2015/lib/modules/repeater/repeater-item-title.component.js.map +0 -1
  87. package/esm2015/lib/modules/repeater/repeater-item.component.js +0 -389
  88. package/esm2015/lib/modules/repeater/repeater-item.component.js.map +0 -1
  89. package/esm2015/lib/modules/repeater/repeater.component.js +0 -262
  90. package/esm2015/lib/modules/repeater/repeater.component.js.map +0 -1
  91. package/esm2015/lib/modules/repeater/repeater.module.js +0 -69
  92. package/esm2015/lib/modules/repeater/repeater.module.js.map +0 -1
  93. package/esm2015/lib/modules/repeater/repeater.service.js +0 -72
  94. package/esm2015/lib/modules/repeater/repeater.service.js.map +0 -1
  95. package/esm2015/lib/modules/shared/sky-lists-resources.module.js +0 -80
  96. package/esm2015/lib/modules/shared/sky-lists-resources.module.js.map +0 -1
  97. package/esm2015/lib/modules/sort/sort-item.component.js +0 -65
  98. package/esm2015/lib/modules/sort/sort-item.component.js.map +0 -1
  99. package/esm2015/lib/modules/sort/sort-menu-heading.component.js +0 -17
  100. package/esm2015/lib/modules/sort/sort-menu-heading.component.js.map +0 -1
  101. package/esm2015/lib/modules/sort/sort.component.js +0 -41
  102. package/esm2015/lib/modules/sort/sort.component.js.map +0 -1
  103. package/esm2015/lib/modules/sort/sort.module.js +0 -50
  104. package/esm2015/lib/modules/sort/sort.module.js.map +0 -1
  105. package/esm2015/lib/modules/sort/sort.service.js +0 -20
  106. package/esm2015/lib/modules/sort/sort.service.js.map +0 -1
  107. package/esm2015/skyux-lists.js +0 -5
  108. package/esm2015/skyux-lists.js.map +0 -1
  109. package/esm2015/testing/filter/filter-fixture-button.js +0 -50
  110. package/esm2015/testing/filter/filter-fixture-button.js.map +0 -1
  111. package/esm2015/testing/filter/filter-fixture-summary.js +0 -31
  112. package/esm2015/testing/filter/filter-fixture-summary.js.map +0 -1
  113. package/esm2015/testing/filter/filter-testing.module.js +0 -15
  114. package/esm2015/testing/filter/filter-testing.module.js.map +0 -1
  115. package/esm2015/testing/filter/lists-filter-fixture-button.js +0 -2
  116. package/esm2015/testing/filter/lists-filter-fixture-button.js.map +0 -1
  117. package/esm2015/testing/infinite-scroll/infinite-scroll-fixture.js +0 -30
  118. package/esm2015/testing/infinite-scroll/infinite-scroll-fixture.js.map +0 -1
  119. package/esm2015/testing/infinite-scroll/infinite-scroll-testing.module.js +0 -15
  120. package/esm2015/testing/infinite-scroll/infinite-scroll-testing.module.js.map +0 -1
  121. package/esm2015/testing/paging/paging-fixture-button.js +0 -2
  122. package/esm2015/testing/paging/paging-fixture-button.js.map +0 -1
  123. package/esm2015/testing/paging/paging-fixture.js +0 -104
  124. package/esm2015/testing/paging/paging-fixture.js.map +0 -1
  125. package/esm2015/testing/paging/paging-testing.module.js +0 -15
  126. package/esm2015/testing/paging/paging-testing.module.js.map +0 -1
  127. package/esm2015/testing/public-api.js +0 -13
  128. package/esm2015/testing/public-api.js.map +0 -1
  129. package/esm2015/testing/skyux-lists-testing.js +0 -5
  130. package/esm2015/testing/skyux-lists-testing.js.map +0 -1
  131. package/esm2015/testing/sort/sort-fixture-menu-item.js +0 -2
  132. package/esm2015/testing/sort/sort-fixture-menu-item.js.map +0 -1
  133. package/esm2015/testing/sort/sort-fixture-menu.js +0 -2
  134. package/esm2015/testing/sort/sort-fixture-menu.js.map +0 -1
  135. package/esm2015/testing/sort/sort-fixture.js +0 -152
  136. package/esm2015/testing/sort/sort-fixture.js.map +0 -1
  137. package/esm2015/testing/sort/sort-testing.module.js +0 -17
  138. package/esm2015/testing/sort/sort-testing.module.js.map +0 -1
  139. package/fesm2015/skyux-lists-testing.js.map +0 -1
  140. package/fesm2015/skyux-lists.js +0 -1685
  141. package/fesm2015/skyux-lists.js.map +0 -1
@@ -0,0 +1,140 @@
1
+ import { By } from '@angular/platform-browser';
2
+ import { SkyAppTestUtility } from '@skyux-sdk/testing';
3
+ /**
4
+ * Provides information for and interaction with a SKY UX sort component.
5
+ * By using the fixture API, a test insulates itself against updates to the internals
6
+ * of a component, such as changing its DOM structure.
7
+ */
8
+ export class SkySortFixture {
9
+ constructor(fixture, skyTestId) {
10
+ this.fixture = fixture;
11
+ this._debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-sort');
12
+ }
13
+ /**
14
+ * The active sort menu item, if one exists. Menu items are only available when the menu dropdown
15
+ * is open. If the menu dropdown is closed, this property will be undefined.
16
+ */
17
+ get activeMenuItem() {
18
+ return this.menuItems?.find((x) => x.isActive);
19
+ }
20
+ /**
21
+ * The sort menu's properties.
22
+ */
23
+ get menu() {
24
+ return {
25
+ buttonText: SkyAppTestUtility.getText(this.getSortButtonTextEl()),
26
+ isOpen: this.getDropdownMenuEl() !== null,
27
+ };
28
+ }
29
+ /**
30
+ * The properties of each sort menu item. Menu items are only available when the menu dropdown
31
+ * is open. If the menu dropdown is closed, this property will be undefined.
32
+ */
33
+ get menuItems() {
34
+ // Return undefined when we can't determine what the options are.
35
+ // We do this to avoid any confusion with an empty set of options.
36
+ if (!this.menu.isOpen) {
37
+ return;
38
+ }
39
+ return this.getSortItems().map((item, i) => {
40
+ const itemButton = item.querySelector('button');
41
+ return {
42
+ index: i,
43
+ isActive: item.classList.contains('sky-sort-item-selected'),
44
+ text: SkyAppTestUtility.getText(itemButton),
45
+ };
46
+ });
47
+ }
48
+ /**
49
+ * Closes the sort dropdown menu if it isn't closed already.
50
+ */
51
+ async closeMenu() {
52
+ // if the menu is already closed, do nothing
53
+ if (!this.menu.isOpen) {
54
+ return;
55
+ }
56
+ const menu = this.getDropdownButtonEl();
57
+ if (menu !== undefined && !menu.disabled) {
58
+ menu.click();
59
+ this.fixture.detectChanges();
60
+ await this.fixture.whenStable();
61
+ this.fixture.detectChanges();
62
+ return this.fixture.whenStable();
63
+ }
64
+ }
65
+ /**
66
+ * Opens the sort dropdown menu if it isn't open already.
67
+ */
68
+ async openMenu() {
69
+ // if the menu is already open, do nothing
70
+ if (this.menu.isOpen) {
71
+ return;
72
+ }
73
+ const menu = this.getDropdownButtonEl();
74
+ if (menu !== undefined && !menu.disabled) {
75
+ menu.click();
76
+ this.fixture.detectChanges();
77
+ await this.fixture.whenStable();
78
+ this.fixture.detectChanges();
79
+ return this.fixture.whenStable();
80
+ }
81
+ }
82
+ /**
83
+ * Ensures the sort menu is open and selects the menu item with the specified index, if it exists.
84
+ * @param menuItemIndex The index of the menu item to select.
85
+ */
86
+ async selectMenuItemByIndex(menuItemIndex) {
87
+ return this.selectMenuItem((_item, index) => {
88
+ return index === menuItemIndex;
89
+ });
90
+ }
91
+ /**
92
+ * Ensures the sort menu is open and selects the menu item with the specified text,
93
+ * if a matching item is available.
94
+ * @param menuItemText The text of the menu item to select.
95
+ */
96
+ async selectMenuItemByText(menuItemText) {
97
+ return this.selectMenuItem((item) => {
98
+ return SkyAppTestUtility.getText(item) === menuItemText;
99
+ });
100
+ }
101
+ //#region helpers
102
+ getDropdownButtonEl() {
103
+ return this._debugEl.query(By.css('.sky-dropdown-button'))
104
+ ?.nativeElement;
105
+ }
106
+ getDropdownMenuEl() {
107
+ return document.querySelector('sky-overlay .sky-dropdown-menu');
108
+ }
109
+ getSortButtonTextEl() {
110
+ return this._debugEl.query(By.css('.sky-sort-btn-text'))
111
+ ?.nativeElement;
112
+ }
113
+ getSortItems() {
114
+ const resultNodes = document.querySelectorAll('sky-overlay .sky-sort-item');
115
+ return Array.prototype.slice.call(resultNodes);
116
+ }
117
+ /**
118
+ * Ensures the sort menu is open and selects the menu item via a selection predicate,
119
+ * if a matching item is available.
120
+ * @param selectionPredicate The menu item selector method to use.
121
+ */
122
+ async selectMenuItem(selectionPredicate) {
123
+ // make sure the sort menu is open
124
+ if (!this.menu.isOpen) {
125
+ await this.openMenu();
126
+ }
127
+ // find the requested menu item using the selectionPredicate parameter
128
+ const items = this.getSortItems();
129
+ const targetItem = items.find((item, index) => selectionPredicate(item, index));
130
+ // if we found the item, select it
131
+ if (targetItem) {
132
+ // we've got the '.sky-sort-item' div, but we want to click it's child button element
133
+ const targetButton = targetItem.querySelector('button');
134
+ targetButton.click();
135
+ this.fixture.detectChanges();
136
+ return this.fixture.whenStable();
137
+ }
138
+ }
139
+ }
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3RzL3Rlc3Rpbmcvc3JjL3NvcnQvc29ydC1maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUt2RDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUEyQ3pCLFlBQW9CLE9BQThCLEVBQUUsU0FBaUI7UUFBakQsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFDaEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FDdkQsT0FBTyxFQUNQLFNBQVMsRUFDVCxVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFoREQ7OztPQUdHO0lBQ0gsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLElBQUk7UUFDYixPQUFPO1lBQ0wsVUFBVSxFQUFFLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUNqRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEtBQUssSUFBSTtTQUMxQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsU0FBUztRQUNsQixpRUFBaUU7UUFDakUsa0VBQWtFO1FBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNyQixPQUFPO1NBQ1I7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxHQUFHLENBQUMs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Q0FBQztJQUVPLFlBQVk7UUFDbEIsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDNUUsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxLQUFLLENBQUMsY0FBYyxDQUMxQixrQkFBaUU7UUFFakUsa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNyQixNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUN2QjtRQUVELHNFQUFzRTtRQUN0RSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQWlCLEVBQUUsS0FBYSxFQUFFLEVBQUUsQ0FDakUsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUNoQyxDQUFDO1FBRUYsa0NBQWtDO1FBQ2xDLElBQUksVUFBVSxFQUFFO1lBQ2QscUZBQXFGO1lBQ3JGLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEQsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRXJCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVidWdFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRGaXh0dXJlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IEJ5IH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTa3lBcHBUZXN0VXRpbGl0eSB9IGZyb20gJ0Bza3l1eC1zZGsvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreVNvcnRGaXh0dXJlTWVudSB9IGZyb20gJy4vc29ydC1maXh0dXJlLW1lbnUnO1xuaW1wb3J0IHsgU2t5U29ydEZpeHR1cmVNZW51SXRlbSB9IGZyb20gJy4vc29ydC1maXh0dXJlLW1lbnUtaXRlbSc7XG5cbi8qKlxuICogUHJvdmlkZXMgaW5mb3JtYXRpb24gZm9yIGFuZCBpbnRlcmFjdGlvbiB3aXRoIGEgU0tZIFVYIHNvcnQgY29tcG9uZW50LlxuICogQnkgdXNpbmcgdGhlIGZpeHR1cmUgQVBJLCBhIHRlc3QgaW5zdWxhdGVzIGl0c2VsZiBhZ2FpbnN0IHVwZGF0ZXMgdG8gdGhlIGludGVybmFsc1xuICogb2YgYSBjb21wb25lbnQsIHN1Y2ggYXMgY2hhbmdpbmcgaXRzIERPTSBzdHJ1Y3R1cmUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lTb3J0Rml4dHVyZSB7XG4gIC8qKlxuICAgKiBUaGUgYWN0aXZlIHNvcnQgbWVudSBpdGVtLCBpZiBvbmUgZXhpc3RzLiBNZW51IGl0ZW1zIGFyZSBvbmx5IGF2YWlsYWJsZSB3aGVuIHRoZSBtZW51IGRyb3Bkb3duXG4gICAqIGlzIG9wZW4uIElmIHRoZSBtZW51IGRyb3Bkb3duIGlzIGNsb3NlZCwgdGhpcyBwcm9wZXJ0eSB3aWxsIGJlIHVuZGVmaW5lZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgYWN0aXZlTWVudUl0ZW0oKTogU2t5U29ydEZpeHR1cmVNZW51SXRlbSB7XG4gICAgcmV0dXJuIHRoaXMubWVudUl0ZW1zPy5maW5kKCh4KSA9PiB4LmlzQWN0aXZlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc29ydCBtZW51J3MgcHJvcGVydGllcy5cbiAgICovXG4gIHB1YmxpYyBnZXQgbWVudSgpOiBTa3lTb3J0Rml4dHVyZU1lbnUge1xuICAgIHJldHVybiB7XG4gICAgICBidXR0b25UZXh0OiBTa3lBcHBUZXN0VXRpbGl0eS5nZXRUZXh0KHRoaXMuZ2V0U29ydEJ1dHRvblRleHRFbCgpKSxcbiAgICAgIGlzT3BlbjogdGhpcy5nZXREcm9wZG93bk1lbnVFbCgpICE9PSBudWxsLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVGhlIHByb3BlcnRpZXMgb2YgZWFjaCBzb3J0IG1lbnUgaXRlbS4gTWVudSBpdGVtcyBhcmUgb25seSBhdmFpbGFibGUgd2hlbiB0aGUgbWVudSBkcm9wZG93blxuICAgKiBpcyBvcGVuLiBJZiB0aGUgbWVudSBkcm9wZG93biBpcyBjbG9zZWQsIHRoaXMgcHJvcGVydHkgd2lsbCBiZSB1bmRlZmluZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IG1lbnVJdGVtcygpOiBTa3lTb3J0Rml4dHVyZU1lbnVJdGVtW10ge1xuICAgIC8vIFJldHVybiB1bmRlZmluZWQgd2hlbiB3ZSBjYW4ndCBkZXRlcm1pbmUgd2hhdCB0aGUgb3B0aW9ucyBhcmUuXG4gICAgLy8gV2UgZG8gdGhpcyB0byBhdm9pZCBhbnkgY29uZnVzaW9uIHdpdGggYW4gZW1wdHkgc2V0IG9mIG9wdGlvbnMuXG4gICAgaWYgKCF0aGlzLm1lbnUuaXNPcGVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0U29ydEl0ZW1zKCkubWFwKChpdGVtOiBIVE1MRWxlbWVudCwgaTogbnVtYmVyKSA9PiB7XG4gICAgICBjb25zdCBpdGVtQnV0dG9uID0gaXRlbS5xdWVyeVNlbGVjdG9yKCdidXR0b24nKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaW5kZXg6IGksXG4gICAgICAgIGlzQWN0aXZlOiBpdGVtLmNsYXNzTGlzdC5jb250YWlucygnc2t5LXNvcnQtaXRlbS1zZWxlY3RlZCcpLFxuICAgICAgICB0ZXh0OiBTa3lBcHBUZXN0VXRpbGl0eS5nZXRUZXh0KGl0ZW1CdXR0b24pLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2RlYnVnRWw6IERlYnVnRWxlbWVudDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55Piwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9kZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS1zb3J0J1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBzb3J0IGRyb3Bkb3duIG1lbnUgaWYgaXQgaXNuJ3QgY2xvc2VkIGFscmVhZHkuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xvc2VNZW51KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIGlmIHRoZSBtZW51IGlzIGFscmVhZHkgY2xvc2VkLCBkbyBub3RoaW5nXG4gICAgaWYgKCF0aGlzLm1lbnUuaXNPcGVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbWVudSA9IHRoaXMuZ2V0RHJvcGRvd25CdXR0b25FbCgpO1xuICAgIGlmIChtZW51ICE9PSB1bmRlZmluZWQgJiYgIW1lbnUuZGlzYWJsZWQpIHtcbiAgICAgIG1lbnUuY2xpY2soKTtcblxuICAgICAgdGhpcy5maXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIGF3YWl0IHRoaXMuZml4dHVyZS53aGVuU3RhYmxlKCk7XG5cbiAgICAgIHRoaXMuZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICByZXR1cm4gdGhpcy5maXh0dXJlLndoZW5TdGFibGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgdGhlIHNvcnQgZHJvcGRvd24gbWVudSBpZiBpdCBpc24ndCBvcGVuIGFscmVhZHkuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgb3Blbk1lbnUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gaWYgdGhlIG1lbnUgaXMgYWxyZWFkeSBvcGVuLCBkbyBub3RoaW5nXG4gICAgaWYgKHRoaXMubWVudS5pc09wZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtZW51ID0gdGhpcy5nZXREcm9wZG93bkJ1dHRvbkVsKCk7XG5cbiAgICBpZiAobWVudSAhPT0gdW5kZWZpbmVkICYmICFtZW51LmRpc2FibGVkKSB7XG4gICAgICBtZW51LmNsaWNrKCk7XG5cbiAgICAgIHRoaXMuZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICBhd2FpdCB0aGlzLmZpeHR1cmUud2hlblN0YWJsZSgpO1xuXG4gICAgICB0aGlzLmZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgcmV0dXJuIHRoaXMuZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVuc3VyZXMgdGhlIHNvcnQgbWVudSBpcyBvcGVuIGFuZCBzZWxlY3RzIHRoZSBtZW51IGl0ZW0gd2l0aCB0aGUgc3BlY2lmaWVkIGluZGV4LCBpZiBpdCBleGlzdHMuXG4gICAqIEBwYXJhbSBtZW51SXRlbUluZGV4IFRoZSBpbmRleCBvZiB0aGUgbWVudSBpdGVtIHRvIHNlbGVjdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZWxlY3RNZW51SXRlbUJ5SW5kZXgobWVudUl0ZW1JbmRleDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0TWVudUl0ZW0oKF9pdGVtOiBIVE1MRWxlbWVudCwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgcmV0dXJuIGluZGV4ID09PSBtZW51SXRlbUluZGV4O1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuc3VyZXMgdGhlIHNvcnQgbWVudSBpcyBvcGVuIGFuZCBzZWxlY3RzIHRoZSBtZW51IGl0ZW0gd2l0aCB0aGUgc3BlY2lmaWVkIHRleHQsXG4gICAqIGlmIGEgbWF0Y2hpbmcgaXRlbSBpcyBhdmFpbGFibGUuXG4gICAqIEBwYXJhbSBtZW51SXRlbVRleHQgVGhlIHRleHQgb2YgdGhlIG1lbnUgaXRlbSB0byBzZWxlY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2VsZWN0TWVudUl0ZW1CeVRleHQobWVudUl0ZW1UZXh0OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RNZW51SXRlbSgoaXRlbTogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgIHJldHVybiBTa3lBcHBUZXN0VXRpbGl0eS5nZXRUZXh0KGl0ZW0pID09PSBtZW51SXRlbVRleHQ7XG4gICAgfSk7XG4gIH1cblxuICAvLyNyZWdpb24gaGVscGVyc1xuXG4gIHByaXZhdGUgZ2V0RHJvcGRvd25CdXR0b25FbCgpOiBIVE1MQnV0dG9uRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LWRyb3Bkb3duLWJ1dHRvbicpKVxuICAgICAgPy5uYXRpdmVFbGVtZW50IGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREcm9wZG93bk1lbnVFbCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NreS1vdmVybGF5IC5za3ktZHJvcGRvd24tbWVudScpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTb3J0QnV0dG9uVGV4dEVsKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZGVidWdFbC5xdWVyeShCeS5jc3MoJy5za3ktc29ydC1idG4tdGV4dCcpKVxuICAgICAgPy5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTb3J0SXRlbXMoKTogSFRNTEVsZW1lbnRbXSB7XG4gICAgY29uc3QgcmVzdWx0Tm9kZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdza3ktb3ZlcmxheSAuc2t5LXNvcnQtaXRlbScpO1xuICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChyZXN1bHROb2Rlcyk7XG4gIH1cblxuICAvKipcbiAgICogRW5zdXJlcyB0aGUgc29ydCBtZW51IGlzIG9wZW4gYW5kIHNlbGVjdHMgdGhlIG1lbnUgaXRlbSB2aWEgYSBzZWxlY3Rpb24gcHJlZGljYXRlLFxuICAgKiBpZiBhIG1hdGNoaW5nIGl0ZW0gaXMgYXZhaWxhYmxlLlxuICAgKiBAcGFyYW0gc2VsZWN0aW9uUHJlZGljYXRlIFRoZSBtZW51IGl0ZW0gc2VsZWN0b3IgbWV0aG9kIHRvIHVzZS5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgc2VsZWN0TWVudUl0ZW0oXG4gICAgc2VsZWN0aW9uUHJlZGljYXRlOiAoaXRlbTogSFRNTEVsZW1lbnQsIGluZGV4OiBudW1iZXIpID0+IGJvb2xlYW5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gbWFrZSBzdXJlIHRoZSBzb3J0IG1lbnUgaXMgb3BlblxuICAgIGlmICghdGhpcy5tZW51LmlzT3Blbikge1xuICAgICAgYXdhaXQgdGhpcy5vcGVuTWVudSgpO1xuICAgIH1cblxuICAgIC8vIGZpbmQgdGhlIHJlcXVlc3RlZCBtZW51IGl0ZW0gdXNpbmcgdGhlIHNlbGVjdGlvblByZWRpY2F0ZSBwYXJhbWV0ZXJcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0U29ydEl0ZW1zKCk7XG4gICAgY29uc3QgdGFyZ2V0SXRlbSA9IGl0ZW1zLmZpbmQoKGl0ZW06IEhUTUxFbGVtZW50LCBpbmRleDogbnVtYmVyKSA9PlxuICAgICAgc2VsZWN0aW9uUHJlZGljYXRlKGl0ZW0sIGluZGV4KVxuICAgICk7XG5cbiAgICAvLyBpZiB3ZSBmb3VuZCB0aGUgaXRlbSwgc2VsZWN0IGl0XG4gICAgaWYgKHRhcmdldEl0ZW0pIHtcbiAgICAgIC8vIHdlJ3ZlIGdvdCB0aGUgJy5za3ktc29ydC1pdGVtJyBkaXYsIGJ1dCB3ZSB3YW50IHRvIGNsaWNrIGl0J3MgY2hpbGQgYnV0dG9uIGVsZW1lbnRcbiAgICAgIGNvbnN0IHRhcmdldEJ1dHRvbiA9IHRhcmdldEl0ZW0ucXVlcnlTZWxlY3RvcignYnV0dG9uJyk7XG4gICAgICB0YXJnZXRCdXR0b24uY2xpY2soKTtcblxuICAgICAgdGhpcy5maXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHJldHVybiB0aGlzLmZpeHR1cmUud2hlblN0YWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxufVxuIl19
@@ -0,0 +1,17 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
3
+ import { SkySortModule } from '@skyux/lists';
4
+ import * as i0 from "@angular/core";
5
+ export class SkySortTestingModule {
6
+ }
7
+ SkySortTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySortTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ SkySortTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySortTestingModule, imports: [NoopAnimationsModule], exports: [SkySortModule] });
9
+ SkySortTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySortTestingModule, imports: [[NoopAnimationsModule], SkySortModule] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySortTestingModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ imports: [NoopAnimationsModule],
14
+ exports: [SkySortModule],
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC10ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0cy90ZXN0aW5nL3NyYy9zb3J0L3NvcnQtdGVzdGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQU03QyxNQUFNLE9BQU8sb0JBQW9COztpSEFBcEIsb0JBQW9CO2tIQUFwQixvQkFBb0IsWUFIckIsb0JBQW9CLGFBQ3BCLGFBQWE7a0hBRVosb0JBQW9CLFlBSHRCLENBQUMsb0JBQW9CLENBQUMsRUFDckIsYUFBYTsyRkFFWixvQkFBb0I7a0JBSmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQy9CLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9vcEFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgU2t5U29ydE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9saXN0cyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtOb29wQW5pbWF0aW9uc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtTa3lTb3J0TW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5U29ydFRlc3RpbmdNb2R1bGUge31cbiJdfQ==
@@ -8,10 +8,10 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
8
8
 
9
9
  class SkyFilterTestingModule {
10
10
  }
11
- SkyFilterTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFilterTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- SkyFilterTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFilterTestingModule, exports: [SkyFilterModule] });
13
- SkyFilterTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFilterTestingModule, imports: [SkyFilterModule] });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyFilterTestingModule, decorators: [{
11
+ SkyFilterTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyFilterTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ SkyFilterTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyFilterTestingModule, exports: [SkyFilterModule] });
13
+ SkyFilterTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyFilterTestingModule, imports: [SkyFilterModule] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyFilterTestingModule, decorators: [{
15
15
  type: NgModule,
16
16
  args: [{
17
17
  exports: [SkyFilterModule],
@@ -97,10 +97,10 @@ class SkyFilterFixtureButton {
97
97
 
98
98
  class SkyPagingTestingModule {
99
99
  }
100
- SkyPagingTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyPagingTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
101
- SkyPagingTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyPagingTestingModule, exports: [SkyPagingModule] });
102
- SkyPagingTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyPagingTestingModule, imports: [SkyPagingModule] });
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyPagingTestingModule, decorators: [{
100
+ SkyPagingTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyPagingTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
101
+ SkyPagingTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyPagingTestingModule, exports: [SkyPagingModule] });
102
+ SkyPagingTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyPagingTestingModule, imports: [SkyPagingModule] });
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyPagingTestingModule, decorators: [{
104
104
  type: NgModule,
105
105
  args: [{
106
106
  exports: [SkyPagingModule],
@@ -210,10 +210,10 @@ class SkyPagingFixture {
210
210
 
211
211
  class SkySortTestingModule {
212
212
  }
213
- SkySortTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySortTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
214
- SkySortTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySortTestingModule, imports: [NoopAnimationsModule], exports: [SkySortModule] });
215
- SkySortTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySortTestingModule, imports: [[NoopAnimationsModule], SkySortModule] });
216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkySortTestingModule, decorators: [{
213
+ SkySortTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySortTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
214
+ SkySortTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySortTestingModule, imports: [NoopAnimationsModule], exports: [SkySortModule] });
215
+ SkySortTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySortTestingModule, imports: [[NoopAnimationsModule], SkySortModule] });
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySortTestingModule, decorators: [{
217
217
  type: NgModule,
218
218
  args: [{
219
219
  imports: [NoopAnimationsModule],
@@ -372,10 +372,10 @@ class SkySortFixture {
372
372
 
373
373
  class SkyInfiniteScrollTestingModule {
374
374
  }
375
- SkyInfiniteScrollTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInfiniteScrollTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
376
- SkyInfiniteScrollTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInfiniteScrollTestingModule, exports: [SkyInfiniteScrollModule] });
377
- SkyInfiniteScrollTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInfiniteScrollTestingModule, imports: [SkyInfiniteScrollModule] });
378
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInfiniteScrollTestingModule, decorators: [{
375
+ SkyInfiniteScrollTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyInfiniteScrollTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
376
+ SkyInfiniteScrollTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyInfiniteScrollTestingModule, exports: [SkyInfiniteScrollModule] });
377
+ SkyInfiniteScrollTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyInfiniteScrollTestingModule, imports: [SkyInfiniteScrollModule] });
378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyInfiniteScrollTestingModule, decorators: [{
379
379
  type: NgModule,
380
380
  args: [{
381
381
  exports: [SkyInfiniteScrollModule],
@@ -415,4 +415,4 @@ class SkyInfiniteScrollFixture {
415
415
  */
416
416
 
417
417
  export { SkyFilterFixtureButton, SkyFilterFixtureSummary, SkyFilterTestingModule, SkyInfiniteScrollFixture, SkyInfiniteScrollTestingModule, SkyPagingFixture, SkyPagingTestingModule, SkySortFixture, SkySortTestingModule };
418
- //# sourceMappingURL=skyux-lists-testing.js.map
418
+ //# sourceMappingURL=skyux-lists-testing.mjs.map
@@ -0,0 +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/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/skyux-lists-testing.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { SkyFilterModule } from '@skyux/lists';\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 */\nexport class SkyFilterFixtureSummary {\n private debugElement: DebugElement;\n\n constructor(private fixture: ComponentFixture<any>, skyTestId: string) {\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 */\nexport class SkyFilterFixtureButton {\n private debugElement: DebugElement;\n\n constructor(private fixture: ComponentFixture<any>, skyTestId: string) {\n this.debugElement = SkyAppTestUtility.getDebugElementByTestId(\n this.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'),\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 private getButtonElement(): HTMLButtonElement | null {\n return this.debugElement.nativeElement.querySelector('.sky-filter-btn');\n }\n\n private normalizeText(text: string): string {\n return text.trim().replace(/\\s+/g, ' ');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SkyPagingModule } from '@skyux/lists';\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 */\nexport class SkyPagingFixture {\n private _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 constructor(private fixture: ComponentFixture<any>, skyTestId: string) {\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 private 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 private get nextPageButton(): HTMLButtonElement {\n return this._debugEl.query(By.css('.sky-paging-btn[sky-cmp-id=\"next\"]'))\n ?.nativeElement as HTMLButtonElement;\n }\n\n private get previousPageButton(): HTMLButtonElement {\n return this._debugEl.query(By.css('.sky-paging-btn[sky-cmp-id=\"previous\"]'))\n ?.nativeElement as HTMLButtonElement;\n }\n\n private get pagingLinks(): DebugElement[] {\n return this._debugEl.queryAll(By.css('.sky-list-paging-link button'));\n }\n\n private 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 private getPageId(page: HTMLButtonElement): string {\n return page?.getAttribute('sky-cmp-id');\n }\n\n private 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 { NgModule } from '@angular/core';\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { SkySortModule } from '@skyux/lists';\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 */\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 {\n return this.menuItems?.find((x) => x.isActive);\n }\n\n /**\n * The sort menu's properties.\n */\n public get menu(): SkySortFixtureMenu {\n return {\n buttonText: SkyAppTestUtility.getText(this.getSortButtonTextEl()),\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[] {\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 private _debugEl: DebugElement;\n\n constructor(private fixture: ComponentFixture<any>, skyTestId: string) {\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(menuItemText: string): Promise<void> {\n return this.selectMenuItem((item: HTMLElement) => {\n return SkyAppTestUtility.getText(item) === menuItemText;\n });\n }\n\n //#region helpers\n\n private getDropdownButtonEl(): HTMLButtonElement {\n return this._debugEl.query(By.css('.sky-dropdown-button'))\n ?.nativeElement as HTMLButtonElement;\n }\n\n private getDropdownMenuEl(): HTMLElement {\n return document.querySelector('sky-overlay .sky-dropdown-menu');\n }\n\n private getSortButtonTextEl(): HTMLElement {\n return this._debugEl.query(By.css('.sky-sort-btn-text'))\n ?.nativeElement as HTMLElement;\n }\n\n private 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 private 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@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 */\nexport class SkyInfiniteScrollFixture {\n private debugElement: DebugElement;\n\n constructor(private fixture: ComponentFixture<any>, skyTestId: string) {\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 private getButton() {\n return this.debugElement.nativeElement.querySelector(\n '.sky-infinite-scroll .sky-btn'\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}