@skyux/lists 7.1.0 → 7.1.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.
@@ -56,7 +56,7 @@ class SkyFilterFixtureSummary {
56
56
  }
57
57
  _SkyFilterFixtureSummary_debugElement = new WeakMap(), _SkyFilterFixtureSummary_fixture = new WeakMap();
58
58
 
59
- var _SkyFilterFixtureButton_instances, _SkyFilterFixtureButton_getButtonElement, _SkyFilterFixtureButton_normalizeText;
59
+ var _SkyFilterFixtureButton_instances, _SkyFilterFixtureButton_debugElement, _SkyFilterFixtureButton_fixture, _SkyFilterFixtureButton_getButtonElement, _SkyFilterFixtureButton_normalizeText;
60
60
  /**
61
61
  * Provides information for and interaction with a SKY UX filter button component.
62
62
  * By using the fixture API, a test insulates itself against updates to the internals
@@ -65,9 +65,11 @@ var _SkyFilterFixtureButton_instances, _SkyFilterFixtureButton_getButtonElement,
65
65
  */
66
66
  class SkyFilterFixtureButton {
67
67
  constructor(fixture, skyTestId) {
68
- this.fixture = fixture;
69
68
  _SkyFilterFixtureButton_instances.add(this);
70
- this.debugElement = SkyAppTestUtility.getDebugElementByTestId(this.fixture, skyTestId, 'sky-filter-button');
69
+ _SkyFilterFixtureButton_debugElement.set(this, void 0);
70
+ _SkyFilterFixtureButton_fixture.set(this, void 0);
71
+ __classPrivateFieldSet(this, _SkyFilterFixtureButton_fixture, fixture, "f");
72
+ __classPrivateFieldSet(this, _SkyFilterFixtureButton_debugElement, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-filter-button'), "f");
71
73
  }
72
74
  /**
73
75
  * Click the button to apply the filter.
@@ -77,8 +79,8 @@ class SkyFilterFixtureButton {
77
79
  if (button instanceof HTMLButtonElement && !button.disabled) {
78
80
  button.click();
79
81
  }
80
- this.fixture.detectChanges();
81
- return this.fixture.whenStable();
82
+ __classPrivateFieldGet(this, _SkyFilterFixtureButton_fixture, "f").detectChanges();
83
+ return __classPrivateFieldGet(this, _SkyFilterFixtureButton_fixture, "f").whenStable();
82
84
  }
83
85
  get button() {
84
86
  const buttonElement = __classPrivateFieldGet(this, _SkyFilterFixtureButton_instances, "m", _SkyFilterFixtureButton_getButtonElement).call(this);
@@ -97,8 +99,8 @@ class SkyFilterFixtureButton {
97
99
  return __classPrivateFieldGet(this, _SkyFilterFixtureButton_instances, "m", _SkyFilterFixtureButton_normalizeText).call(this, text);
98
100
  }
99
101
  }
100
- _SkyFilterFixtureButton_instances = new WeakSet(), _SkyFilterFixtureButton_getButtonElement = function _SkyFilterFixtureButton_getButtonElement() {
101
- return this.debugElement.nativeElement.querySelector('.sky-filter-btn');
102
+ _SkyFilterFixtureButton_debugElement = new WeakMap(), _SkyFilterFixtureButton_fixture = new WeakMap(), _SkyFilterFixtureButton_instances = new WeakSet(), _SkyFilterFixtureButton_getButtonElement = function _SkyFilterFixtureButton_getButtonElement() {
103
+ return __classPrivateFieldGet(this, _SkyFilterFixtureButton_debugElement, "f").nativeElement.querySelector('.sky-filter-btn');
102
104
  }, _SkyFilterFixtureButton_normalizeText = function _SkyFilterFixtureButton_normalizeText(text) {
103
105
  let retVal = '';
104
106
  if (text) {
@@ -122,6 +124,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
122
124
  }]
123
125
  }] });
124
126
 
127
+ var _SkyPagingFixture_instances, _SkyPagingFixture__debugEl, _SkyPagingFixture_fixture, _SkyPagingFixture_activePageButton_get, _SkyPagingFixture_nextPageButton_get, _SkyPagingFixture_previousPageButton_get, _SkyPagingFixture_pagingLinks_get, _SkyPagingFixture_getPageLink, _SkyPagingFixture_getPageId, _SkyPagingFixture_waitForComponentInitialization;
125
128
  /**
126
129
  * Provides information for and interaction with a SKY UX paging component.
127
130
  * By using the fixture API, a test insulates itself against updates to the internals
@@ -130,23 +133,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
130
133
  */
131
134
  class SkyPagingFixture {
132
135
  constructor(fixture, skyTestId) {
133
- this.fixture = fixture;
134
- this._debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-paging');
135
- this.waitForComponentInitialization();
136
+ _SkyPagingFixture_instances.add(this);
137
+ _SkyPagingFixture__debugEl.set(this, void 0);
138
+ _SkyPagingFixture_fixture.set(this, void 0);
139
+ __classPrivateFieldSet(this, _SkyPagingFixture_fixture, fixture, "f");
140
+ __classPrivateFieldSet(this, _SkyPagingFixture__debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-paging'), "f");
141
+ __classPrivateFieldGet(this, _SkyPagingFixture_instances, "m", _SkyPagingFixture_waitForComponentInitialization).call(this);
136
142
  }
137
143
  /**
138
144
  * The id of the active page, if available.
139
145
  */
140
146
  get activePageId() {
141
- return this.getPageId(this.activePageButton);
147
+ return __classPrivateFieldGet(this, _SkyPagingFixture_instances, "m", _SkyPagingFixture_getPageId).call(this, __classPrivateFieldGet(this, _SkyPagingFixture_instances, "a", _SkyPagingFixture_activePageButton_get));
142
148
  }
143
149
  /**
144
150
  * Properties of the page links displayed in the paging component.
145
151
  */
146
152
  get pageLinks() {
147
- return this.pagingLinks.map((page) => {
153
+ return __classPrivateFieldGet(this, _SkyPagingFixture_instances, "a", _SkyPagingFixture_pagingLinks_get).map((page) => {
148
154
  return {
149
- id: this.getPageId(page.nativeElement),
155
+ id: __classPrivateFieldGet(this, _SkyPagingFixture_instances, "m", _SkyPagingFixture_getPageId).call(this, page.nativeElement),
150
156
  isActive: page.nativeElement.classList.contains('sky-paging-current'),
151
157
  isEnabled: !page.nativeElement.disabled,
152
158
  };
@@ -156,63 +162,55 @@ class SkyPagingFixture {
156
162
  * Selects the specified page by id, if it is enabled.
157
163
  */
158
164
  async selectPage(id) {
159
- const pageButton = this.getPageLink(id.toString());
165
+ const pageButton = __classPrivateFieldGet(this, _SkyPagingFixture_instances, "m", _SkyPagingFixture_getPageLink).call(this, id.toString());
160
166
  if (pageButton !== undefined && !pageButton.disabled) {
161
167
  pageButton.click();
162
- this.fixture.detectChanges();
163
- return this.fixture.whenStable();
168
+ __classPrivateFieldGet(this, _SkyPagingFixture_fixture, "f").detectChanges();
169
+ return __classPrivateFieldGet(this, _SkyPagingFixture_fixture, "f").whenStable();
164
170
  }
165
171
  }
166
172
  /**
167
173
  * Clicks the next page button, if it is enabled.
168
174
  */
169
175
  async selectNextPage() {
170
- const nextButton = this.nextPageButton;
176
+ const nextButton = __classPrivateFieldGet(this, _SkyPagingFixture_instances, "a", _SkyPagingFixture_nextPageButton_get);
171
177
  if (nextButton !== undefined && !nextButton.disabled) {
172
178
  nextButton.click();
173
- this.fixture.detectChanges();
174
- return this.fixture.whenStable();
179
+ __classPrivateFieldGet(this, _SkyPagingFixture_fixture, "f").detectChanges();
180
+ return __classPrivateFieldGet(this, _SkyPagingFixture_fixture, "f").whenStable();
175
181
  }
176
182
  }
177
183
  /**
178
184
  * Clicks the previous page button, if it is enabled.
179
185
  */
180
186
  async selectPreviousPage() {
181
- const previousButton = this.previousPageButton;
187
+ const previousButton = __classPrivateFieldGet(this, _SkyPagingFixture_instances, "a", _SkyPagingFixture_previousPageButton_get);
182
188
  if (previousButton !== undefined && !previousButton.disabled) {
183
189
  previousButton.click();
184
- this.fixture.detectChanges();
185
- return this.fixture.whenStable();
190
+ __classPrivateFieldGet(this, _SkyPagingFixture_fixture, "f").detectChanges();
191
+ return __classPrivateFieldGet(this, _SkyPagingFixture_fixture, "f").whenStable();
186
192
  }
187
193
  }
188
- //#region helpers
189
- get activePageButton() {
190
- return this._debugEl.query(By.css('.sky-list-paging-link .sky-paging-current'))?.nativeElement;
191
- }
192
- get nextPageButton() {
193
- return this._debugEl.query(By.css('.sky-paging-btn[sky-cmp-id="next"]'))
194
- ?.nativeElement;
195
- }
196
- get previousPageButton() {
197
- return this._debugEl.query(By.css('.sky-paging-btn[sky-cmp-id="previous"]'))
198
- ?.nativeElement;
199
- }
200
- get pagingLinks() {
201
- return this._debugEl.queryAll(By.css('.sky-list-paging-link button'));
202
- }
203
- getPageLink(id) {
204
- return this._debugEl.query(By.css(`.sky-list-paging-link button[sky-cmp-id="${id}"]`))?.nativeElement;
205
- }
206
- getPageId(page) {
207
- return page?.getAttribute('sky-cmp-id') ?? '';
208
- }
209
- async waitForComponentInitialization() {
210
- this.fixture.detectChanges();
211
- await this.fixture.whenStable();
212
- this.fixture.detectChanges();
213
- return this.fixture.whenStable();
214
- }
215
194
  }
195
+ _SkyPagingFixture__debugEl = new WeakMap(), _SkyPagingFixture_fixture = new WeakMap(), _SkyPagingFixture_instances = new WeakSet(), _SkyPagingFixture_activePageButton_get = function _SkyPagingFixture_activePageButton_get() {
196
+ return __classPrivateFieldGet(this, _SkyPagingFixture__debugEl, "f").query(By.css('.sky-list-paging-link .sky-paging-current'))?.nativeElement;
197
+ }, _SkyPagingFixture_nextPageButton_get = function _SkyPagingFixture_nextPageButton_get() {
198
+ return __classPrivateFieldGet(this, _SkyPagingFixture__debugEl, "f").query(By.css('.sky-paging-btn[sky-cmp-id="next"]'))
199
+ ?.nativeElement;
200
+ }, _SkyPagingFixture_previousPageButton_get = function _SkyPagingFixture_previousPageButton_get() {
201
+ return __classPrivateFieldGet(this, _SkyPagingFixture__debugEl, "f").query(By.css('.sky-paging-btn[sky-cmp-id="previous"]'))?.nativeElement;
202
+ }, _SkyPagingFixture_pagingLinks_get = function _SkyPagingFixture_pagingLinks_get() {
203
+ return __classPrivateFieldGet(this, _SkyPagingFixture__debugEl, "f").queryAll(By.css('.sky-list-paging-link button'));
204
+ }, _SkyPagingFixture_getPageLink = function _SkyPagingFixture_getPageLink(id) {
205
+ return __classPrivateFieldGet(this, _SkyPagingFixture__debugEl, "f").query(By.css(`.sky-list-paging-link button[sky-cmp-id="${id}"]`))?.nativeElement;
206
+ }, _SkyPagingFixture_getPageId = function _SkyPagingFixture_getPageId(page) {
207
+ return page?.getAttribute('sky-cmp-id') ?? '';
208
+ }, _SkyPagingFixture_waitForComponentInitialization = async function _SkyPagingFixture_waitForComponentInitialization() {
209
+ __classPrivateFieldGet(this, _SkyPagingFixture_fixture, "f").detectChanges();
210
+ await __classPrivateFieldGet(this, _SkyPagingFixture_fixture, "f").whenStable();
211
+ __classPrivateFieldGet(this, _SkyPagingFixture_fixture, "f").detectChanges();
212
+ return __classPrivateFieldGet(this, _SkyPagingFixture_fixture, "f").whenStable();
213
+ };
216
214
 
217
215
  var _SkyRepeaterItemHarness_getCheckbox, _SkyRepeaterItemHarness_getContent, _SkyRepeaterItemHarness_getTitle;
218
216
  /**
@@ -336,7 +334,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
336
334
  }]
337
335
  }] });
338
336
 
339
- var _SkySortFixture_instances, _SkySortFixture_debugEl, _SkySortFixture_getDropdownButtonEl, _SkySortFixture_getDropdownMenuEl, _SkySortFixture_getSortButtonTextEl, _SkySortFixture_getSortItems, _SkySortFixture_selectMenuItem;
337
+ var _SkySortFixture_instances, _SkySortFixture_debugEl, _SkySortFixture_fixture, _SkySortFixture_getDropdownButtonEl, _SkySortFixture_getDropdownMenuEl, _SkySortFixture_getSortButtonTextEl, _SkySortFixture_getSortItems, _SkySortFixture_selectMenuItem;
340
338
  /**
341
339
  * Provides information for and interaction with a SKY UX sort component.
342
340
  * By using the fixture API, a test insulates itself against updates to the internals
@@ -345,9 +343,10 @@ var _SkySortFixture_instances, _SkySortFixture_debugEl, _SkySortFixture_getDropd
345
343
  */
346
344
  class SkySortFixture {
347
345
  constructor(fixture, skyTestId) {
348
- this.fixture = fixture;
349
346
  _SkySortFixture_instances.add(this);
350
347
  _SkySortFixture_debugEl.set(this, void 0);
348
+ _SkySortFixture_fixture.set(this, void 0);
349
+ __classPrivateFieldSet(this, _SkySortFixture_fixture, fixture, "f");
351
350
  __classPrivateFieldSet(this, _SkySortFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-sort'), "f");
352
351
  }
353
352
  /**
@@ -398,10 +397,10 @@ class SkySortFixture {
398
397
  const menu = __classPrivateFieldGet(this, _SkySortFixture_instances, "m", _SkySortFixture_getDropdownButtonEl).call(this);
399
398
  if (menu !== undefined && !menu.disabled) {
400
399
  menu.click();
401
- this.fixture.detectChanges();
402
- await this.fixture.whenStable();
403
- this.fixture.detectChanges();
404
- return this.fixture.whenStable();
400
+ __classPrivateFieldGet(this, _SkySortFixture_fixture, "f").detectChanges();
401
+ await __classPrivateFieldGet(this, _SkySortFixture_fixture, "f").whenStable();
402
+ __classPrivateFieldGet(this, _SkySortFixture_fixture, "f").detectChanges();
403
+ return __classPrivateFieldGet(this, _SkySortFixture_fixture, "f").whenStable();
405
404
  }
406
405
  }
407
406
  /**
@@ -415,10 +414,10 @@ class SkySortFixture {
415
414
  const menu = __classPrivateFieldGet(this, _SkySortFixture_instances, "m", _SkySortFixture_getDropdownButtonEl).call(this);
416
415
  if (menu !== undefined && !menu.disabled) {
417
416
  menu.click();
418
- this.fixture.detectChanges();
419
- await this.fixture.whenStable();
420
- this.fixture.detectChanges();
421
- return this.fixture.whenStable();
417
+ __classPrivateFieldGet(this, _SkySortFixture_fixture, "f").detectChanges();
418
+ await __classPrivateFieldGet(this, _SkySortFixture_fixture, "f").whenStable();
419
+ __classPrivateFieldGet(this, _SkySortFixture_fixture, "f").detectChanges();
420
+ return __classPrivateFieldGet(this, _SkySortFixture_fixture, "f").whenStable();
422
421
  }
423
422
  }
424
423
  /**
@@ -447,7 +446,7 @@ class SkySortFixture {
447
446
  }
448
447
  }
449
448
  }
450
- _SkySortFixture_debugEl = new WeakMap(), _SkySortFixture_instances = new WeakSet(), _SkySortFixture_getDropdownButtonEl = function _SkySortFixture_getDropdownButtonEl() {
449
+ _SkySortFixture_debugEl = new WeakMap(), _SkySortFixture_fixture = new WeakMap(), _SkySortFixture_instances = new WeakSet(), _SkySortFixture_getDropdownButtonEl = function _SkySortFixture_getDropdownButtonEl() {
451
450
  return __classPrivateFieldGet(this, _SkySortFixture_debugEl, "f").query(By.css('.sky-dropdown-button')).nativeElement;
452
451
  }, _SkySortFixture_getDropdownMenuEl = function _SkySortFixture_getDropdownMenuEl() {
453
452
  return document.querySelector('sky-overlay .sky-dropdown-menu');
@@ -475,8 +474,8 @@ async function _SkySortFixture_selectMenuItem(selectionPredicate) {
475
474
  // we've got the '.sky-sort-item' div, but we want to click it's child button element
476
475
  const targetButton = targetItem.querySelector('button');
477
476
  targetButton?.click();
478
- this.fixture.detectChanges();
479
- return this.fixture.whenStable();
477
+ __classPrivateFieldGet(this, _SkySortFixture_fixture, "f").detectChanges();
478
+ return __classPrivateFieldGet(this, _SkySortFixture_fixture, "f").whenStable();
480
479
  }
481
480
  };
482
481
 
@@ -495,6 +494,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
495
494
  }]
496
495
  }] });
497
496
 
497
+ var _SkyInfiniteScrollFixture_instances, _SkyInfiniteScrollFixture_debugElement, _SkyInfiniteScrollFixture_fixture, _SkyInfiniteScrollFixture_getButton;
498
498
  /**
499
499
  * Provides information for and interaction with a SKY UX infinite scroll component.
500
500
  * By using the fixture API, a test insulates itself against updates to the internals
@@ -504,24 +504,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
504
504
  */
505
505
  class SkyInfiniteScrollFixture {
506
506
  constructor(fixture, skyTestId) {
507
- this.fixture = fixture;
508
- this.debugElement = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-infinite-scroll');
507
+ _SkyInfiniteScrollFixture_instances.add(this);
508
+ _SkyInfiniteScrollFixture_debugElement.set(this, void 0);
509
+ _SkyInfiniteScrollFixture_fixture.set(this, void 0);
510
+ __classPrivateFieldSet(this, _SkyInfiniteScrollFixture_fixture, fixture, "f");
511
+ __classPrivateFieldSet(this, _SkyInfiniteScrollFixture_debugElement, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-infinite-scroll'), "f");
509
512
  }
510
513
  get loadMoreButtonIsVisible() {
511
- return this.getButton() instanceof HTMLButtonElement;
514
+ return __classPrivateFieldGet(this, _SkyInfiniteScrollFixture_instances, "m", _SkyInfiniteScrollFixture_getButton).call(this) instanceof HTMLButtonElement;
512
515
  }
513
516
  async clickLoadMoreButton() {
514
- const button = this.getButton();
517
+ const button = __classPrivateFieldGet(this, _SkyInfiniteScrollFixture_instances, "m", _SkyInfiniteScrollFixture_getButton).call(this);
515
518
  if (button instanceof HTMLButtonElement) {
516
519
  button.click();
517
520
  }
518
- this.fixture.detectChanges();
519
- return this.fixture.whenStable();
520
- }
521
- getButton() {
522
- return this.debugElement.nativeElement.querySelector('.sky-infinite-scroll .sky-btn');
521
+ __classPrivateFieldGet(this, _SkyInfiniteScrollFixture_fixture, "f").detectChanges();
522
+ return __classPrivateFieldGet(this, _SkyInfiniteScrollFixture_fixture, "f").whenStable();
523
523
  }
524
524
  }
525
+ _SkyInfiniteScrollFixture_debugElement = new WeakMap(), _SkyInfiniteScrollFixture_fixture = new WeakMap(), _SkyInfiniteScrollFixture_instances = new WeakSet(), _SkyInfiniteScrollFixture_getButton = function _SkyInfiniteScrollFixture_getButton() {
526
+ return __classPrivateFieldGet(this, _SkyInfiniteScrollFixture_debugElement, "f").nativeElement.querySelector('.sky-infinite-scroll .sky-btn');
527
+ };
525
528
 
526
529
  var _SkyInfiniteScrollHarness_showMoreButton;
527
530
  /**
@@ -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 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') ?? 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 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 {\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\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(\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 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","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} 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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"}
@@ -1251,7 +1251,7 @@ _SkyRepeaterItemComponent_adapterService = new WeakMap(), _SkyRepeaterItemCompon
1251
1251
  });
1252
1252
  };
1253
1253
  SkyRepeaterItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyRepeaterItemComponent, deps: [{ token: SkyRepeaterService }, { token: i0.ChangeDetectorRef }, { token: SkyRepeaterAdapterService }, { token: i0.ElementRef }, { token: i4.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Component });
1254
- SkyRepeaterItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyRepeaterItemComponent, selector: "sky-repeater-item", inputs: { disabled: "disabled", itemName: "itemName", inlineFormConfig: "inlineFormConfig", inlineFormTemplate: "inlineFormTemplate", isExpanded: "isExpanded", isSelected: "isSelected", reorderable: "reorderable", selectable: "selectable", showInlineForm: "showInlineForm", tag: "tag" }, outputs: { collapse: "collapse", expand: "expand", inlineFormClose: "inlineFormClose", isSelectedChange: "isSelectedChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "class": "this.repeaterGroupClass" } }, queries: [{ propertyName: "contextMenu", first: true, predicate: SkyRepeaterItemContextMenuComponent, descendants: true, read: ElementRef }, { propertyName: "repeaterItemContentComponents", predicate: SkyRepeaterItemContentComponent }], viewQueries: [{ propertyName: "grabHandle", first: true, predicate: ["grabHandle"], descendants: true, read: ElementRef }, { propertyName: "itemContentRef", first: true, predicate: ["itemContentRef"], descendants: true, read: ElementRef }, { propertyName: "itemHeaderRef", first: true, predicate: ["itemHeaderRef"], descendants: true, read: ElementRef }, { propertyName: "itemRef", first: true, predicate: ["itemRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-repeater-item sky-padding-even-default\"\n [attr.aria-label]=\"itemName\"\n [attr.aria-selected]=\"selectable ? !!isSelected : undefined\"\n [attr.role]=\"(itemRole$ | async)?.item\"\n [attr.tabIndex]=\"tabindex\"\n [ngClass]=\"{\n 'sky-repeater-item-active': isActive,\n 'sky-repeater-item-collapsible': isCollapsible,\n 'sky-repeater-item-selected': isSelected\n }\"\n (click)=\"onRepeaterItemClick($event)\"\n #itemRef\n>\n <div #inlineDelete>\n <ng-content select=\"sky-inline-delete\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"inlineFormTemplate\">\n <sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showInlineForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n >\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </sky-inline-form>\n </ng-container>\n\n <ng-container *ngIf=\"!inlineFormTemplate\">\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #skyRepeaterItemLeft>\n <div\n [attr.role]=\"!showInlineForm ? (itemRole$ | async)?.content : undefined\"\n class=\"sky-repeater-item-left\"\n >\n <ng-container *ngIf=\"reorderable\">\n <span\n aria-live=\"assertive\"\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-state'\"\n >\n {{ reorderState }}\n </span>\n <span\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-instructions'\"\n >{{ reorderButtonLabel }}</span\n >\n <button\n class=\"sky-btn sky-tile-tools-control sky-repeater-item-grab-handle\"\n type=\"button\"\n [attr.aria-describedby]=\"contentId + '-reorder-instructions'\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_label_default' | skyLibResources)\n \"\n (blur)=\"onReorderHandleBlur($event)\"\n (keydown)=\"onReorderHandleKeyDown($event)\"\n #grabHandle\n >\n <sky-icon icon=\"arrows-v\"></sky-icon>\n </button>\n </ng-container>\n <sky-checkbox\n *ngIf=\"selectable\"\n class=\"sky-repeater-item-checkbox\"\n [checked]=\"isSelected\"\n [label]=\"\n itemName\n ? ('skyux_repeater_item_checkbox_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_checkbox_label_default' | skyLibResources)\n \"\n (change)=\"onCheckboxChange($event)\"\n >\n </sky-checkbox>\n <div\n class=\"sky-repeater-item-context-menu\"\n [hidden]=\"contextMenuEl.children.length === 0\"\n #contextMenuEl\n >\n <ng-content select=\"sky-repeater-item-context-menu\"></ng-content>\n </div>\n </div>\n</ng-template>\n\n<ng-template #skyRepeaterItemRight>\n <div class=\"sky-repeater-item-right\" #itemHeaderRef>\n <div\n class=\"sky-repeater-item-header\"\n [attr.role]=\"(itemRole$ | async)?.title\"\n [hidden]=\"titleRef.children.length === 0\"\n (click)=\"headerClick()\"\n >\n <div class=\"sky-repeater-item-title sky-emphasized\" #titleRef>\n <ng-content select=\"sky-repeater-item-title\"></ng-content>\n </div>\n <button\n *ngIf=\"reorderable\"\n class=\"sky-btn sky-btn-link sky-repeater-item-reorder-top\"\n type=\"button\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_top_label'\n | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_top_label_default'\n | skyLibResources)\n \"\n (click)=\"moveToTop($event)\"\n >\n <sky-icon icon=\"arrow-circle-up\"></sky-icon>\n {{ 'skyux_repeater_item_reorder_top' | skyLibResources }}\n </button>\n <div *ngIf=\"isCollapsible\" class=\"sky-repeater-item-chevron\">\n <sky-chevron\n [ariaControls]=\"contentId\"\n [ariaLabel]=\"\n itemName\n ? ('skyux_repeater_item_expand' | skyLibResources: itemName)\n : ('skyux_repeater_item_expand_default' | skyLibResources)\n \"\n [direction]=\"isExpanded ? 'up' : 'down'\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n </div>\n <!-- Used for when the chevron is hidden to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"!isCollapsible && !contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder\"\n ></div>\n <!-- Used to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder-with-context\"\n ></div>\n </div>\n <div\n class=\"sky-repeater-item-content\"\n [id]=\"contentId\"\n [@skyAnimationSlide]=\"slideDirection\"\n #itemContentRef\n [attr.role]=\"(itemRole$ | async)?.content\"\n >\n <ng-content select=\"sky-repeater-item-content\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["sky-repeater-item .sky-repeater-item{display:flex;border-bottom:1px dotted #cdcfd2;padding-top:0;position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:10px}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:-4px;width:calc(100% + 4px)}sky-repeater-item .sky-repeater-item-left{display:flex;padding-top:10px;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex;padding-top:10px}sky-repeater-item .sky-repeater-item-chevron{margin-left:10px}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:24px}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:29px}sky-repeater-item .sky-repeater-item-context-menu{padding:0 10px 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 5px 0 0}sky-repeater-item .sky-repeater-item-selected{background-color:#f1eef6;transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:1.1;color:#212327}sky-repeater-item sky-repeater-item-content{display:block;margin:10px 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:34px}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-grab-handle{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;cursor:grab;cursor:-moz-grab;padding:0;margin:5px 10px 5px 0}sky-repeater-item .sky-repeater-item-grab-handle:hover{color:#979ba2;transition:color .15s}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:#fff;box-shadow:0 0 5px #0000004d}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:#d8d8d8}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-left,sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-right{visibility:hidden}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-webkit-grabbing}.sky-theme-modern sky-repeater-item .sky-repeater-item{padding-bottom:20px}.sky-theme-modern sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:transparent;border-left-color:#1870b8}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus,.sky-theme-modern sky-repeater-item .sky-repeater-item:active:focus{outline:solid 2px #1870B8;outline-offset:-2px}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus:not(:active){box-shadow:0 1px 8px #0000004d}.sky-theme-modern sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin:20px 0 0}.sky-theme-modern sky-repeater-item .sky-repeater-item-header,.sky-theme-modern sky-repeater-item .sky-repeater-item-left{padding-top:20px}.sky-theme-modern sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:20px}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item{border-bottom-color:#686c73}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item.sky-repeater-item-active{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item-title{color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.λ2, selector: "sky-chevron", inputs: ["ariaControls", "ariaLabel", "direction", "disabled"], outputs: ["directionChange"] }, { kind: "component", type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { kind: "component", type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i7.λ1, selector: "sky-inline-form", inputs: ["config", "template", "showForm"], outputs: ["close"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [skyAnimationSlide], encapsulation: i0.ViewEncapsulation.None });
1254
+ SkyRepeaterItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyRepeaterItemComponent, selector: "sky-repeater-item", inputs: { disabled: "disabled", itemName: "itemName", inlineFormConfig: "inlineFormConfig", inlineFormTemplate: "inlineFormTemplate", isExpanded: "isExpanded", isSelected: "isSelected", reorderable: "reorderable", selectable: "selectable", showInlineForm: "showInlineForm", tag: "tag" }, outputs: { collapse: "collapse", expand: "expand", inlineFormClose: "inlineFormClose", isSelectedChange: "isSelectedChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "class": "this.repeaterGroupClass" } }, queries: [{ propertyName: "contextMenu", first: true, predicate: SkyRepeaterItemContextMenuComponent, descendants: true, read: ElementRef }, { propertyName: "repeaterItemContentComponents", predicate: SkyRepeaterItemContentComponent }], viewQueries: [{ propertyName: "grabHandle", first: true, predicate: ["grabHandle"], descendants: true, read: ElementRef }, { propertyName: "itemContentRef", first: true, predicate: ["itemContentRef"], descendants: true, read: ElementRef }, { propertyName: "itemHeaderRef", first: true, predicate: ["itemHeaderRef"], descendants: true, read: ElementRef }, { propertyName: "itemRef", first: true, predicate: ["itemRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-repeater-item sky-padding-even-default\"\n [attr.aria-label]=\"itemName\"\n [attr.aria-selected]=\"selectable ? !!isSelected : undefined\"\n [attr.role]=\"(itemRole$ | async)?.item\"\n [attr.tabIndex]=\"tabindex\"\n [ngClass]=\"{\n 'sky-repeater-item-active': isActive,\n 'sky-repeater-item-collapsible': isCollapsible,\n 'sky-repeater-item-selected': isSelected\n }\"\n (click)=\"onRepeaterItemClick($event)\"\n #itemRef\n>\n <div #inlineDelete>\n <ng-content select=\"sky-inline-delete\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"inlineFormTemplate\">\n <sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showInlineForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n >\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </sky-inline-form>\n </ng-container>\n\n <ng-container *ngIf=\"!inlineFormTemplate\">\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #skyRepeaterItemLeft>\n <div\n [attr.role]=\"!showInlineForm ? (itemRole$ | async)?.content : undefined\"\n class=\"sky-repeater-item-left\"\n >\n <ng-container *ngIf=\"reorderable\">\n <span\n aria-live=\"assertive\"\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-state'\"\n >\n {{ reorderState }}\n </span>\n <span\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-instructions'\"\n >{{ reorderButtonLabel }}</span\n >\n <button\n class=\"sky-btn sky-tile-tools-control sky-repeater-item-grab-handle\"\n type=\"button\"\n [attr.aria-describedby]=\"contentId + '-reorder-instructions'\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_label_default' | skyLibResources)\n \"\n (blur)=\"onReorderHandleBlur($event)\"\n (keydown)=\"onReorderHandleKeyDown($event)\"\n #grabHandle\n >\n <sky-icon icon=\"arrows-v\"></sky-icon>\n </button>\n </ng-container>\n <sky-checkbox\n *ngIf=\"selectable\"\n class=\"sky-repeater-item-checkbox\"\n [checked]=\"isSelected\"\n [label]=\"\n itemName\n ? ('skyux_repeater_item_checkbox_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_checkbox_label_default' | skyLibResources)\n \"\n (change)=\"onCheckboxChange($event)\"\n >\n </sky-checkbox>\n <div\n class=\"sky-repeater-item-context-menu\"\n [hidden]=\"contextMenuEl.children.length === 0\"\n #contextMenuEl\n >\n <ng-content select=\"sky-repeater-item-context-menu\"></ng-content>\n </div>\n </div>\n</ng-template>\n\n<ng-template #skyRepeaterItemRight>\n <div class=\"sky-repeater-item-right\" #itemHeaderRef>\n <div\n class=\"sky-repeater-item-header\"\n [attr.role]=\"(itemRole$ | async)?.title\"\n [hidden]=\"titleRef.children.length === 0\"\n (click)=\"headerClick()\"\n >\n <div class=\"sky-repeater-item-title sky-emphasized\" #titleRef>\n <ng-content select=\"sky-repeater-item-title\"></ng-content>\n </div>\n <button\n *ngIf=\"reorderable\"\n class=\"sky-btn sky-btn-link sky-repeater-item-reorder-top\"\n type=\"button\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_top_label'\n | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_top_label_default'\n | skyLibResources)\n \"\n (click)=\"moveToTop($event)\"\n >\n <sky-icon icon=\"arrow-circle-up\"></sky-icon>\n {{ 'skyux_repeater_item_reorder_top' | skyLibResources }}\n </button>\n <div *ngIf=\"isCollapsible\" class=\"sky-repeater-item-chevron\">\n <sky-chevron\n [ariaControls]=\"contentId\"\n [ariaLabel]=\"\n itemName\n ? ('skyux_repeater_item_expand' | skyLibResources: itemName)\n : ('skyux_repeater_item_expand_default' | skyLibResources)\n \"\n [direction]=\"isExpanded ? 'up' : 'down'\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n </div>\n <!-- Used for when the chevron is hidden to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"!isCollapsible && !contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder\"\n ></div>\n <!-- Used to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder-with-context\"\n ></div>\n </div>\n <div\n class=\"sky-repeater-item-content\"\n [id]=\"contentId\"\n [@skyAnimationSlide]=\"slideDirection\"\n #itemContentRef\n [attr.role]=\"(itemRole$ | async)?.content\"\n >\n <ng-content select=\"sky-repeater-item-content\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["sky-repeater-item .sky-repeater-item{display:flex;border-bottom:1px dotted #cdcfd2;padding-top:0;position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:10px}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:-4px;width:calc(100% + 4px)}sky-repeater-item .sky-repeater-item-left{display:flex;padding-top:10px;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex;padding-top:10px}sky-repeater-item .sky-repeater-item-chevron{margin-left:10px}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:24px}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:29px}sky-repeater-item .sky-repeater-item-context-menu{padding:0 10px 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 5px 0 0}sky-repeater-item .sky-repeater-item-selected{background-color:#f1eef6;transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:1.1;color:#212327}sky-repeater-item sky-repeater-item-content{display:block;margin:10px 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:34px}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-grab-handle{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;cursor:grab;cursor:-moz-grab;padding:0;margin:5px 10px 5px 0}sky-repeater-item .sky-repeater-item-grab-handle:hover{color:#979ba2;transition:color .15s}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:#fff;box-shadow:0 0 5px #0000004d}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:#d8d8d8}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-left,sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-right{visibility:hidden}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-webkit-grabbing}.sky-theme-modern sky-repeater-item .sky-repeater-item{padding-bottom:20px}.sky-theme-modern sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:transparent;border-left-color:#1870b8}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus,.sky-theme-modern sky-repeater-item .sky-repeater-item:active:focus{outline:solid 2px #1870B8;outline-offset:-2px}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus:not(:active){box-shadow:0 1px 8px #0000004d}.sky-theme-modern sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin:20px 0 0}.sky-theme-modern sky-repeater-item .sky-repeater-item-header,.sky-theme-modern sky-repeater-item .sky-repeater-item-left{padding-top:20px}.sky-theme-modern sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:20px}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item{border-bottom-color:#686c73}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item.sky-repeater-item-active{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item-title{color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.λ2, selector: "sky-chevron", inputs: ["ariaControls", "ariaLabel", "direction", "disabled"], outputs: ["directionChange"] }, { kind: "component", type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i7.λ1, selector: "sky-inline-form", inputs: ["config", "template", "showForm"], outputs: ["close"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [skyAnimationSlide], encapsulation: i0.ViewEncapsulation.None });
1255
1255
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyRepeaterItemComponent, decorators: [{
1256
1256
  type: Component,
1257
1257
  args: [{ selector: 'sky-repeater-item', animations: [skyAnimationSlide], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"sky-repeater-item sky-padding-even-default\"\n [attr.aria-label]=\"itemName\"\n [attr.aria-selected]=\"selectable ? !!isSelected : undefined\"\n [attr.role]=\"(itemRole$ | async)?.item\"\n [attr.tabIndex]=\"tabindex\"\n [ngClass]=\"{\n 'sky-repeater-item-active': isActive,\n 'sky-repeater-item-collapsible': isCollapsible,\n 'sky-repeater-item-selected': isSelected\n }\"\n (click)=\"onRepeaterItemClick($event)\"\n #itemRef\n>\n <div #inlineDelete>\n <ng-content select=\"sky-inline-delete\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"inlineFormTemplate\">\n <sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showInlineForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n >\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </sky-inline-form>\n </ng-container>\n\n <ng-container *ngIf=\"!inlineFormTemplate\">\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #skyRepeaterItemLeft>\n <div\n [attr.role]=\"!showInlineForm ? (itemRole$ | async)?.content : undefined\"\n class=\"sky-repeater-item-left\"\n >\n <ng-container *ngIf=\"reorderable\">\n <span\n aria-live=\"assertive\"\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-state'\"\n >\n {{ reorderState }}\n </span>\n <span\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-instructions'\"\n >{{ reorderButtonLabel }}</span\n >\n <button\n class=\"sky-btn sky-tile-tools-control sky-repeater-item-grab-handle\"\n type=\"button\"\n [attr.aria-describedby]=\"contentId + '-reorder-instructions'\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_label_default' | skyLibResources)\n \"\n (blur)=\"onReorderHandleBlur($event)\"\n (keydown)=\"onReorderHandleKeyDown($event)\"\n #grabHandle\n >\n <sky-icon icon=\"arrows-v\"></sky-icon>\n </button>\n </ng-container>\n <sky-checkbox\n *ngIf=\"selectable\"\n class=\"sky-repeater-item-checkbox\"\n [checked]=\"isSelected\"\n [label]=\"\n itemName\n ? ('skyux_repeater_item_checkbox_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_checkbox_label_default' | skyLibResources)\n \"\n (change)=\"onCheckboxChange($event)\"\n >\n </sky-checkbox>\n <div\n class=\"sky-repeater-item-context-menu\"\n [hidden]=\"contextMenuEl.children.length === 0\"\n #contextMenuEl\n >\n <ng-content select=\"sky-repeater-item-context-menu\"></ng-content>\n </div>\n </div>\n</ng-template>\n\n<ng-template #skyRepeaterItemRight>\n <div class=\"sky-repeater-item-right\" #itemHeaderRef>\n <div\n class=\"sky-repeater-item-header\"\n [attr.role]=\"(itemRole$ | async)?.title\"\n [hidden]=\"titleRef.children.length === 0\"\n (click)=\"headerClick()\"\n >\n <div class=\"sky-repeater-item-title sky-emphasized\" #titleRef>\n <ng-content select=\"sky-repeater-item-title\"></ng-content>\n </div>\n <button\n *ngIf=\"reorderable\"\n class=\"sky-btn sky-btn-link sky-repeater-item-reorder-top\"\n type=\"button\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_top_label'\n | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_top_label_default'\n | skyLibResources)\n \"\n (click)=\"moveToTop($event)\"\n >\n <sky-icon icon=\"arrow-circle-up\"></sky-icon>\n {{ 'skyux_repeater_item_reorder_top' | skyLibResources }}\n </button>\n <div *ngIf=\"isCollapsible\" class=\"sky-repeater-item-chevron\">\n <sky-chevron\n [ariaControls]=\"contentId\"\n [ariaLabel]=\"\n itemName\n ? ('skyux_repeater_item_expand' | skyLibResources: itemName)\n : ('skyux_repeater_item_expand_default' | skyLibResources)\n \"\n [direction]=\"isExpanded ? 'up' : 'down'\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n </div>\n <!-- Used for when the chevron is hidden to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"!isCollapsible && !contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder\"\n ></div>\n <!-- Used to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder-with-context\"\n ></div>\n </div>\n <div\n class=\"sky-repeater-item-content\"\n [id]=\"contentId\"\n [@skyAnimationSlide]=\"slideDirection\"\n #itemContentRef\n [attr.role]=\"(itemRole$ | async)?.content\"\n >\n <ng-content select=\"sky-repeater-item-content\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["sky-repeater-item .sky-repeater-item{display:flex;border-bottom:1px dotted #cdcfd2;padding-top:0;position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:10px}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:-4px;width:calc(100% + 4px)}sky-repeater-item .sky-repeater-item-left{display:flex;padding-top:10px;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex;padding-top:10px}sky-repeater-item .sky-repeater-item-chevron{margin-left:10px}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:24px}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:29px}sky-repeater-item .sky-repeater-item-context-menu{padding:0 10px 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 5px 0 0}sky-repeater-item .sky-repeater-item-selected{background-color:#f1eef6;transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:1.1;color:#212327}sky-repeater-item sky-repeater-item-content{display:block;margin:10px 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:34px}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-grab-handle{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;cursor:grab;cursor:-moz-grab;padding:0;margin:5px 10px 5px 0}sky-repeater-item .sky-repeater-item-grab-handle:hover{color:#979ba2;transition:color .15s}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:#fff;box-shadow:0 0 5px #0000004d}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:#d8d8d8}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-left,sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-right{visibility:hidden}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-webkit-grabbing}.sky-theme-modern sky-repeater-item .sky-repeater-item{padding-bottom:20px}.sky-theme-modern sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:transparent;border-left-color:#1870b8}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus,.sky-theme-modern sky-repeater-item .sky-repeater-item:active:focus{outline:solid 2px #1870B8;outline-offset:-2px}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus:not(:active){box-shadow:0 1px 8px #0000004d}.sky-theme-modern sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin:20px 0 0}.sky-theme-modern sky-repeater-item .sky-repeater-item-header,.sky-theme-modern sky-repeater-item .sky-repeater-item-left{padding-top:20px}.sky-theme-modern sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:20px}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item{border-bottom-color:#686c73}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item.sky-repeater-item-active{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item-title{color:#fbfcfe}\n"] }]