@skyux/layout 12.0.0-alpha.2 → 12.0.0-alpha.4

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.
@@ -2,7 +2,8 @@ import { By } from '@angular/platform-browser';
2
2
  import { SkyAppTestUtility } from '@skyux-sdk/testing';
3
3
  import { SkyComponentHarness, SkyQueryableComponentHarness } from '@skyux/core/testing';
4
4
  import { SkyHelpInlineHarness } from '@skyux/help-inline/testing';
5
- import { ComponentHarness } from '@angular/cdk/testing';
5
+ import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
6
+ import { SkyIconHarness } from '@skyux/icon/testing';
6
7
 
7
8
  /**
8
9
  * Allows interaction with a SKY UX action button component.
@@ -249,6 +250,139 @@ class SkyBoxHarness extends SkyComponentHarness {
249
250
  }
250
251
  }
251
252
 
253
+ /**
254
+ * Harness for interacting with a description list description component in tests.
255
+ * @internal
256
+ */
257
+ class SkyDescriptionListDescriptionHarness extends ComponentHarness {
258
+ /**
259
+ * @internal
260
+ */
261
+ static { this.hostSelector = 'dd'; }
262
+ async getText() {
263
+ const description = (await (await this.locatorFor('.sky-description-list-description')()).text()).trim();
264
+ if (description === '') {
265
+ return await (await this.locatorFor('.sky-description-list-default-value')()).text();
266
+ }
267
+ return description;
268
+ }
269
+ }
270
+
271
+ /**
272
+ * Harness for interacting with a description list term component in tests.
273
+ * @internal
274
+ */
275
+ class SkyDescriptionListTermHarness extends ComponentHarness {
276
+ /**
277
+ * @internal
278
+ */
279
+ static { this.hostSelector = 'dt'; }
280
+ async getText() {
281
+ return await (await this.locatorFor('span.description-list-term')()).text();
282
+ }
283
+ }
284
+
285
+ /**
286
+ * Harness for interacting with a description list content component in tests.
287
+ */
288
+ class SkyDescriptionListContentHarness extends SkyComponentHarness {
289
+ /**
290
+ * @internal
291
+ */
292
+ static { this.hostSelector = 'div.sky-description-list-content'; }
293
+ #getDescription = this.locatorForOptional(SkyDescriptionListDescriptionHarness);
294
+ #getTerm = this.locatorForOptional(SkyDescriptionListTermHarness);
295
+ /**
296
+ * Clicks the help inline button.
297
+ */
298
+ async clickHelpInline() {
299
+ await (await this.#getHelpInline()).click();
300
+ }
301
+ /**
302
+ * Gets the description component text.
303
+ */
304
+ async getDescriptionText() {
305
+ const description = await this.#getDescription();
306
+ if (description === null) {
307
+ throw Error('No description list description found.');
308
+ }
309
+ return await description.getText();
310
+ }
311
+ /**
312
+ * Gets the help popover content.
313
+ */
314
+ async getHelpPopoverContent() {
315
+ const content = await (await this.#getHelpInline()).getPopoverContent();
316
+ return content;
317
+ }
318
+ /**
319
+ * Gets the help popover title.
320
+ */
321
+ async getHelpPopoverTitle() {
322
+ return await (await this.#getHelpInline()).getPopoverTitle();
323
+ }
324
+ /**
325
+ * Gets the term component text.
326
+ */
327
+ async getTermText() {
328
+ const term = await this.#getTerm();
329
+ if (term === null) {
330
+ throw Error('No description list term found.');
331
+ }
332
+ return await term.getText();
333
+ }
334
+ async #getHelpInline() {
335
+ const harness = await this.locatorForOptional(SkyHelpInlineHarness)();
336
+ if (harness) {
337
+ return harness;
338
+ }
339
+ throw Error('No help inline found.');
340
+ }
341
+ }
342
+
343
+ /**
344
+ * Harness for interacting with a description list component in tests.
345
+ */
346
+ class SkyDescriptionListHarness extends SkyComponentHarness {
347
+ /**
348
+ * @internal
349
+ */
350
+ static { this.hostSelector = 'sky-description-list'; }
351
+ #getListEl = this.locatorFor('.sky-description-list');
352
+ #getContentEls = this.locatorForAll(SkyDescriptionListContentHarness);
353
+ /**
354
+ * Gets a `HarnessPredicate` that can be used to search for a
355
+ * `SkyDescriptionListHarness` that meets certain criteria
356
+ */
357
+ static with(filters) {
358
+ return SkyDescriptionListHarness.getDataSkyIdPredicate(filters);
359
+ }
360
+ async getContent() {
361
+ const items = await this.#getContentEls();
362
+ if (items.length === 0) {
363
+ throw new Error('Unable to find any description list content.');
364
+ }
365
+ return items;
366
+ }
367
+ /**
368
+ * Gets the mode of the description list.
369
+ */
370
+ async getMode() {
371
+ const listEl = await this.#getListEl();
372
+ const longDescription = await listEl.hasClass('sky-description-list-long-description-mode');
373
+ const horizontal = await listEl.hasClass('sky-description-list-horizontal-mode');
374
+ if (longDescription) {
375
+ return 'longDescription';
376
+ }
377
+ else if (horizontal) {
378
+ return 'horizontal';
379
+ }
380
+ else {
381
+ return 'vertical';
382
+ }
383
+ }
384
+ }
385
+
252
386
  const sizes = ['xs', 'sm', 'md', 'lg'];
253
387
  /**
254
388
  * Harness for interacting with a fluid grid column component in tests.
@@ -629,9 +763,100 @@ class SkyToolbarHarness extends SkyComponentHarness {
629
763
  }
630
764
  }
631
765
 
766
+ /**
767
+ * Harness for interacting with a action button component in tests.
768
+ */
769
+ class SkyActionButtonHarness extends SkyComponentHarness {
770
+ /**
771
+ * @internal
772
+ */
773
+ static { this.hostSelector = 'sky-action-button'; }
774
+ #actionButton = this.locatorFor('.sky-action-button');
775
+ /**
776
+ * Gets a `HarnessPredicate` that can be used to search for a
777
+ * `SkyActionButtonHarness` that meets certain criteria.
778
+ */
779
+ static with(filters) {
780
+ return SkyActionButtonHarness.getDataSkyIdPredicate(filters).addOption('header', filters.header, async (harness, header) => {
781
+ const harnessHeaderText = await harness.getHeaderText();
782
+ return await HarnessPredicate.stringMatches(harnessHeaderText, header);
783
+ });
784
+ }
785
+ /**
786
+ * Clicks the action button.
787
+ */
788
+ async click() {
789
+ return await (await this.#actionButton()).click();
790
+ }
791
+ /**
792
+ * Gets the action button details text.
793
+ */
794
+ async getDetailsText() {
795
+ const details = await this.locatorFor('sky-action-button-details')();
796
+ return (await details.text()).trim();
797
+ }
798
+ /**
799
+ * Gets the action button header text.
800
+ */
801
+ async getHeaderText() {
802
+ const header = await this.locatorFor('.sky-action-button-header')();
803
+ return (await header.text()).trim();
804
+ }
805
+ /**
806
+ * Gets the action button icon type.
807
+ */
808
+ async getIconType() {
809
+ const icon = await this.locatorFor(SkyIconHarness)();
810
+ return await icon.getIconName();
811
+ }
812
+ /**
813
+ * Gets the action button link.
814
+ */
815
+ async getLink() {
816
+ return (await (await this.#actionButton()).getProperty('href')).trim();
817
+ }
818
+ }
819
+
820
+ /**
821
+ * Harness for interacting with a action button container component in tests.
822
+ */
823
+ class SkyActionButtonContainerHarness extends SkyComponentHarness {
824
+ /**
825
+ * @internal
826
+ */
827
+ static { this.hostSelector = 'sky-action-button-container'; }
828
+ /**
829
+ * Gets a `HarnessPredicate` that can be used to search for a
830
+ * `SkyActionButtonContainerHarness` that meets certain criteria.
831
+ */
832
+ static with(filters) {
833
+ return SkyActionButtonContainerHarness.getDataSkyIdPredicate(filters);
834
+ }
835
+ /**
836
+ * Gets an action button that matches the given filter.
837
+ */
838
+ async getActionButton(filter) {
839
+ return await this.locatorFor(SkyActionButtonHarness.with(filter))();
840
+ }
841
+ /**
842
+ * Gets the action buttons.
843
+ */
844
+ async getActionButtons() {
845
+ return await this.locatorForAll(SkyActionButtonHarness)();
846
+ }
847
+ /**
848
+ * Gets the alignment of the buttons inside the container.
849
+ */
850
+ async getAlignment() {
851
+ return (await (await this.locatorFor('.sky-action-button-flex')()).hasClass('sky-action-button-flex-align-left'))
852
+ ? 'left'
853
+ : 'center';
854
+ }
855
+ }
856
+
632
857
  /**
633
858
  * Generated bundle index. Do not edit.
634
859
  */
635
860
 
636
- export { SkyActionButtonFixture, SkyBoxHarness, SkyCardFixture, SkyColumnHarness, SkyFluidGridHarness, SkyPageSummaryFixture, SkyRowHarness, SkyTextExpandHarness, SkyTextExpandModalHarness, SkyToolbarHarness, SkyToolbarItemHarness, SkyToolbarSectionHarness, SkyToolbarViewActionsHarness };
861
+ export { SkyActionButtonContainerHarness, SkyActionButtonFixture, SkyActionButtonHarness, SkyBoxHarness, SkyCardFixture, SkyColumnHarness, SkyDescriptionListContentHarness, SkyDescriptionListHarness, SkyFluidGridHarness, SkyPageSummaryFixture, SkyRowHarness, SkyTextExpandHarness, SkyTextExpandModalHarness, SkyToolbarHarness, SkyToolbarItemHarness, SkyToolbarSectionHarness, SkyToolbarViewActionsHarness };
637
862
  //# sourceMappingURL=skyux-layout-testing.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-layout-testing.mjs","sources":["../../../../../libs/components/layout/testing/src/legacy/action-button-fixture.ts","../../../../../libs/components/layout/testing/src/legacy/card-fixture.ts","../../../../../libs/components/layout/testing/src/legacy/page-summary-fixture.ts","../../../../../libs/components/layout/testing/src/modules/box/box-harness.ts","../../../../../libs/components/layout/testing/src/modules/fluid-grid/column-harness.ts","../../../../../libs/components/layout/testing/src/modules/fluid-grid/row-harness.ts","../../../../../libs/components/layout/testing/src/modules/fluid-grid/fluid-grid-harness.ts","../../../../../libs/components/layout/testing/src/modules/text-expand/text-expand-modal-harness.ts","../../../../../libs/components/layout/testing/src/modules/text-expand/text-expand-harness.ts","../../../../../libs/components/layout/testing/src/modules/toolbar/toolbar-item-harness.ts","../../../../../libs/components/layout/testing/src/modules/toolbar/toolbar-view-actions-harness.ts","../../../../../libs/components/layout/testing/src/modules/toolbar/toolbar-section-harness.ts","../../../../../libs/components/layout/testing/src/modules/toolbar/toolbar-harness.ts","../../../../../libs/components/layout/testing/src/skyux-layout-testing.ts"],"sourcesContent":["import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX action button component.\n * @internal\n */\nexport class SkyActionButtonFixture {\n /**\n * The action button's current header text.\n */\n public get headerText(): string | undefined {\n return SkyAppTestUtility.getText(\n this.#debugEl.query(By.css('.sky-action-button-header')),\n );\n }\n\n /**\n * The action button's current details text.\n */\n public get detailsText(): string | undefined {\n return SkyAppTestUtility.getText(\n this.#debugEl.query(By.css('sky-action-button-details')),\n );\n }\n\n /**\n * The action button's current icon type.\n */\n public get iconType(): string | undefined {\n const classList = this.#debugEl.query(By.css('.fa.sky-icon')).nativeElement\n .classList;\n\n for (let i = 0, n = classList.length; i < n; i++) {\n const cls = classList.item(i);\n\n if (cls.indexOf('fa-') === 0) {\n return cls.substr(3);\n }\n }\n /* istanbul ignore next */\n return undefined;\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-action-button',\n );\n }\n\n /**\n * Clicks the action button.\n */\n public actionClick(): void {\n this.#debugEl\n .query(By.css('.sky-action-button'))\n .triggerEventHandler('click', {});\n }\n}\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\n/**\n * Allows interaction with a SKY UX avatar component.\n * @internal\n */\nexport class SkyCardFixture {\n /**\n * The card's current title.\n */\n public get titleText(): string | undefined {\n return SkyAppTestUtility.getText(\n this.#debugEl.query(By.css('sky-card-title')),\n );\n }\n\n /**\n * The card's current content text.\n */\n public get contentText(): string | undefined {\n return SkyAppTestUtility.getText(\n this.#debugEl.query(By.css('sky-card-content')),\n );\n }\n\n /**\n * A flag indicating whether the user can select the card.\n */\n public get selectable(): boolean {\n return !!this.#debugEl.query(By.css('.sky-card-check'));\n }\n\n /**\n * A flag indicating whether the card is currently selected. If the card\n * is not selectable, an error is thrown.\n */\n public get selected(): boolean {\n if (this.selectable) {\n return this.#getCheckInputEl().nativeElement.checked;\n }\n\n throw new Error('The card is not selectable.');\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-card',\n );\n }\n\n /**\n * Selects the card.\n */\n public select(): void {\n if (!this.selected) {\n this.#clickCheckLabelEl();\n }\n }\n\n /**\n * Deselects the card.\n */\n public deselect(): void {\n if (this.selected) {\n this.#clickCheckLabelEl();\n }\n }\n\n #clickCheckLabelEl(): void {\n this.#debugEl\n .query(By.css('.sky-card-check label.sky-checkbox-wrapper'))\n .nativeElement.click();\n }\n\n #getCheckInputEl(): DebugElement {\n return this.#debugEl.query(\n By.css('.sky-card-check .sky-checkbox-wrapper input'),\n );\n }\n}\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\n/**\n * Allows interaction with a SKY UX page summary component.\n * @internal\n */\nexport class SkyPageSummaryFixture {\n /**\n * The page summary's current title text.\n */\n public get titleText(): string | undefined {\n return SkyAppTestUtility.getText(\n this.#debugEl.query(\n By.css('sky-page-summary-title .sky-page-summary-title'),\n ),\n );\n }\n\n /**\n * The page summary's current subtitle text.\n */\n public get subtitleText(): string | undefined {\n return SkyAppTestUtility.getText(\n this.#debugEl.query(\n By.css('sky-page-summary-subtitle .sky-page-summary-subtitle'),\n ),\n );\n }\n\n /**\n * The page summary's current content text.\n */\n public get contentText(): string | undefined {\n return SkyAppTestUtility.getText(\n this.#debugEl.query(\n By.css('sky-page-summary-content .sky-page-summary-content'),\n ),\n );\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-page-summary',\n );\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { TemplateRef } from '@angular/core';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport { SkyBoxHeadingLevel, SkyBoxHeadingStyle } from '@skyux/layout';\n\nimport { SkyBoxHarnessFilters } from './box-harness.filters';\n\nexport class SkyBoxHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-box';\n\n #getBox = this.locatorFor('.sky-box');\n #getHeading = this.locatorFor('.sky-box-header-content');\n #getH2 = this.locatorForOptional('.sky-box-header-content h2');\n #getH3 = this.locatorForOptional('.sky-box-header-content h3');\n #getH4 = this.locatorForOptional('.sky-box-header-content h4');\n #getH5 = this.locatorForOptional('.sky-box-header-content h5');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyBoxHarness` that meets certain criteria\n */\n public static with(\n filters: SkyBoxHarnessFilters,\n ): HarnessPredicate<SkyBoxHarness> {\n return SkyBoxHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Clicks the help inline button.\n */\n public async clickHelpInline(): Promise<void> {\n return await (await this.#getHelpInline()).click();\n }\n\n /**\n * Gets the help popover content.\n */\n public async getHelpPopoverContent(): Promise<\n TemplateRef<unknown> | string | undefined\n > {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n\n /**\n * Gets the help popover title.\n */\n public async getHelpPopoverTitle(): Promise<string | undefined> {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n\n /**\n * Gets the box's heading text. If `headingHidden` is true,\n * the text will still be returned.\n */\n public async getHeadingText(): Promise<string | undefined> {\n return await (await this.#getHeading()).text();\n }\n\n /**\n * Whether the heading is hidden.\n */\n public async getHeadingHidden(): Promise<boolean> {\n const heading =\n (await this.#getH2()) ||\n (await this.#getH3()) ||\n (await this.#getH4()) ||\n (await this.#getH5());\n return (await heading?.hasClass('sky-screen-reader-only')) ?? false;\n }\n\n /**\n * The semantic heading level used for the checkbox group. Returns undefined if heading level is not set.\n */\n public async getHeadingLevel(): Promise<SkyBoxHeadingLevel | undefined> {\n return (await this.#getH2())\n ? 2\n : (await this.#getH3())\n ? 3\n : (await this.#getH4())\n ? 4\n : 5;\n }\n\n /**\n * The heading style used for the checkbox group.\n */\n public async getHeadingStyle(): Promise<SkyBoxHeadingStyle> {\n const heading =\n (await this.#getH2()) ||\n (await this.#getH3()) ||\n (await this.#getH4()) ||\n (await this.#getH5());\n\n const isHeadingStyle2 = await heading?.hasClass('sky-font-heading-2');\n const isHeadingStyle3 = await heading?.hasClass('sky-font-heading-3');\n const isHeadingStyle4 = await heading?.hasClass('sky-font-heading-4');\n\n return isHeadingStyle2 ? 2 : isHeadingStyle3 ? 3 : isHeadingStyle4 ? 4 : 5;\n }\n\n /**\n * Gets the aria-label property of the box\n */\n public async getAriaLabel(): Promise<string | null> {\n return await (await this.#getBox()).getAttribute('aria-label');\n }\n\n /**\n * Gets the aria-labelledby property of the box\n */\n public async getAriaLabelledby(): Promise<string | null> {\n return await (await this.#getBox()).getAttribute('aria-labelledby');\n }\n\n /**\n * Gets the aria-role property of the box\n */\n public async getAriaRole(): Promise<string | null> {\n return await (await this.#getBox()).getAttribute('role');\n }\n\n async #getHelpInline(): Promise<SkyHelpInlineHarness> {\n const harness = await this.locatorForOptional(\n SkyHelpInlineHarness.with({\n ancestor: '.sky-box-header-content',\n }),\n )();\n\n if (harness) {\n return harness;\n }\n\n throw Error('No help inline found.');\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyColumnHarnessFilters } from './column-harness-filters';\n\nconst sizes = ['xs', 'sm', 'md', 'lg'];\n\n/**\n * Harness for interacting with a fluid grid column component in tests.\n */\nexport class SkyColumnHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-column';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyColumnHarness` that meets certain criteria\n */\n public static with(\n filters: SkyColumnHarnessFilters,\n ): HarnessPredicate<SkyColumnHarness> {\n return SkyColumnHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the size of the column in an XSmall responsive context.\n */\n public async getXSmallSize(): Promise<number> {\n return await this.#getColumnSize(0);\n }\n\n /**\n * Gets the size of the column in a Small responsive context.\n */\n public async getSmallSize(): Promise<number> {\n return await this.#getColumnSize(1);\n }\n\n /**\n * Gets the size of the column in a Medium responsive context.\n */\n public async getMediumSize(): Promise<number> {\n return await this.#getColumnSize(2);\n }\n\n /**\n * Gets the size of the column in a Large responsive context.\n */\n public async getLargeSize(): Promise<number> {\n return await this.#getColumnSize(3);\n }\n\n async #getColumnSize(index: number): Promise<number> {\n const size = sizes[index];\n\n const result = await this.#getColumnClass(size);\n\n /* istanbul ignore if */\n if (!result && !index) {\n throw Error('No column sizes found.');\n }\n\n return result || (await this.#getColumnSize(index - 1));\n }\n\n async #getColumnClass(size: string): Promise<number> {\n const host = await this.host();\n\n for (let i = 12; i; i--) {\n if (await host.hasClass(`sky-column-${size}-${i}`)) {\n return i;\n }\n }\n\n return 0;\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyColumnHarness } from './column-harness';\nimport { SkyRowHarnessFilters } from './row-harness-filters';\n\n/**\n * Harness for interacting with a fluid grid column component in tests.\n */\nexport class SkyRowHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-row';\n\n #getRow = this.locatorFor('.sky-row');\n #getColumns = this.locatorForAll(SkyColumnHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyRowHarness` that meets certain criteria\n */\n public static with(\n filters: SkyRowHarnessFilters,\n ): HarnessPredicate<SkyRowHarness> {\n return SkyRowHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets all of the columns in the row.\n */\n public async getColumns(): Promise<SkyColumnHarness[]> {\n return await this.#getColumns();\n }\n\n /**\n * Gets the ordering of the columns in the row.\n * @returns `normal` | `reverse`\n */\n public async getColumnOrder(): Promise<string> {\n const row = await this.#getRow();\n\n return (await row.hasClass('sky-row-reverse')) ? 'reverse' : 'normal';\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyFluidGridHarnessFilters } from './fluid-grid-harness-filters';\nimport { SkyRowHarness } from './row-harness';\n\n/**\n * Harness for interacting with a fluid grid component in tests.\n */\nexport class SkyFluidGridHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-fluid-grid';\n\n #getGrid = this.locatorFor('.sky-fluid-grid');\n #getRows = this.locatorForAll(SkyRowHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyFluidGridHarness` that meets certain criteria\n */\n public static with(\n filters: SkyFluidGridHarnessFilters,\n ): HarnessPredicate<SkyFluidGridHarness> {\n return SkyFluidGridHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the gutter size for the grid.\n */\n public async getGutterSize(): Promise<string> {\n const grid = await this.#getGrid();\n\n const small = await grid.hasClass('sky-fluid-grid-gutter-size-small');\n const medium = await grid.hasClass('sky-fluid-grid-gutter-size-medium');\n\n if (small) {\n return 'small';\n } else if (medium) {\n return 'medium';\n } else {\n return 'large';\n }\n }\n\n /**\n * Gets all of the rows in the grid.\n */\n public async getRows(): Promise<SkyRowHarness[]> {\n return await this.#getRows();\n }\n\n /**\n * Whether the fluid grid has margin enabled.\n */\n public async hasMargin(): Promise<boolean> {\n return !(await (\n await this.#getGrid()\n ).hasClass('sky-fluid-grid-no-margin'));\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing';\n\n/**\n * Harness for interacting with a text expand modal component in tests.\n */\nexport class SkyTextExpandModalHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-text-expand-modal';\n\n #getCloseButton = this.locatorFor('sky-modal-footer button.sky-btn');\n #getHeader = this.locatorFor('sky-modal-header');\n #getText = this.locatorFor('sky-modal-content.sky-text-expand-modal-content');\n\n /**\n * Clicks the modal close button.\n */\n public async clickCloseButton(): Promise<void> {\n const button = await this.#getCloseButton();\n\n await button.click();\n }\n\n /**\n * Gets the modal title.\n */\n public async getExpandModalTitle(): Promise<string> {\n return await (await this.#getHeader()).text();\n }\n\n /**\n * Gets the expanded text in the modal.\n */\n public async getText(): Promise<string> {\n return await (await this.#getText()).text();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyTextExpandHarnessFilters } from './text-expand-harness-filters';\nimport { SkyTextExpandModalHarness } from './text-expand-modal-harness';\n\n/**\n * Harness for interacting with a text expand component in tests.\n */\nexport class SkyTextExpandHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-text-expand';\n\n #documentRootLocator = this.documentRootLocatorFactory();\n #getExpandCollapseButton = this.locatorForOptional(\n '.sky-text-expand-see-more',\n );\n #getText = this.locatorFor('.sky-text-expand-text');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyTextExpandHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyTextExpandHarnessFilters,\n ): HarnessPredicate<SkyTextExpandHarness> {\n return SkyTextExpandHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Clicks the button element that expands or collapses text.\n */\n public async clickExpandCollapseButton(): Promise<void> {\n const button = await this.#getExpandCollapseButton();\n\n if (button === null) {\n throw Error('Could not find button element.');\n }\n\n await button.click();\n }\n\n /**\n * Gets the harness to interact with the modal expanded view.\n */\n public async getExpandedViewModal(): Promise<SkyTextExpandModalHarness> {\n const modal = await this.#documentRootLocator.locatorForOptional(\n SkyTextExpandModalHarness,\n )();\n\n if (modal === null) {\n throw Error('Could not find text expand modal.');\n }\n\n return modal;\n }\n\n /**\n * Gets the text content of the text expand.\n */\n public async getText(): Promise<string> {\n return await (await this.#getText()).text();\n }\n\n /**\n * Whether the text will expand to a modal.\n */\n public async textExpandsToModal(): Promise<boolean> {\n return (\n (await (\n await this.#getExpandCollapseButton()\n )?.getAttribute('aria-haspopup')) !== null\n );\n }\n\n /**\n * Whether the text is expanded.\n */\n public async isExpanded(): Promise<boolean> {\n if (await this.textExpandsToModal()) {\n try {\n await this.getExpandedViewModal();\n return true;\n } catch {\n return false;\n }\n }\n\n return (\n (await (\n await this.#getExpandCollapseButton()\n )?.getAttribute('aria-expanded')) === 'true'\n );\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyQueryableComponentHarness } from '@skyux/core/testing';\n\nimport { SkyToolbarItemHarnessFilters } from './toolbar-item-harness-filters';\n\n/**\n * Harness to interact with a toolbar item component in tests.\n */\nexport class SkyToolbarItemHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-toolbar-item';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyToolbarItemHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyToolbarItemHarnessFilters,\n ): HarnessPredicate<SkyToolbarItemHarness> {\n return SkyToolbarItemHarness.getDataSkyIdPredicate(filters);\n }\n}\n","import { SkyQueryableComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness to interact with a toolbar view actions component in tests.\n */\nexport class SkyToolbarViewActionsHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-toolbar-view-actions';\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyToolbarItemHarness } from './toolbar-item-harness';\nimport { SkyToolbarItemHarnessFilters } from './toolbar-item-harness-filters';\nimport { SkyToolbarSectionHarnessFilters } from './toolbar-section-harness-filters';\nimport { SkyToolbarViewActionsHarness } from './toolbar-view-actions-harness';\n\n/**\n * Harness to interact with a toolbar section component in tests.\n */\nexport class SkyToolbarSectionHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-toolbar-section';\n\n #getViewActions = this.locatorForOptional(SkyToolbarViewActionsHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyToolbarSectionHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyToolbarSectionHarnessFilters,\n ): HarnessPredicate<SkyToolbarSectionHarness> {\n return SkyToolbarSectionHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets a harness for a specific toolbar item that meets certain criteria.\n */\n public async getItem(\n filter: SkyToolbarItemHarnessFilters,\n ): Promise<SkyToolbarItemHarness> {\n return await this.locatorFor(SkyToolbarItemHarness.with(filter))();\n }\n\n /**\n * Gets an array of all toolbar items.\n */\n public async getItems(\n filters?: SkyToolbarItemHarnessFilters,\n ): Promise<SkyToolbarItemHarness[]> {\n const items = await this.locatorForAll(\n SkyToolbarItemHarness.with(filters || {}),\n )();\n\n if (items.length === 0) {\n if (filters) {\n throw new Error(\n `Unable to find any toolbar section items with filter(s): ${JSON.stringify(filters)}`,\n );\n }\n throw new Error('Unable to find any toolbar section items.');\n }\n\n return items;\n }\n\n /**\n * Gets the harness to interact with the toolbar's view actions.\n */\n public async getViewActions(): Promise<SkyToolbarViewActionsHarness> {\n const actions = await this.#getViewActions();\n\n if (actions === null) {\n throw Error('Unable to find toolbar section view actions.');\n }\n\n return actions;\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyToolbarHarnessFilters } from './toolbar-harness-filters';\nimport { SkyToolbarItemHarness } from './toolbar-item-harness';\nimport { SkyToolbarItemHarnessFilters } from './toolbar-item-harness-filters';\nimport { SkyToolbarSectionHarness } from './toolbar-section-harness';\nimport { SkyToolbarSectionHarnessFilters } from './toolbar-section-harness-filters';\nimport { SkyToolbarViewActionsHarness } from './toolbar-view-actions-harness';\n\n/**\n * Harness for interacting with a toolbar component in tests.\n */\nexport class SkyToolbarHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-toolbar';\n\n #getViewActions = this.locatorForOptional(SkyToolbarViewActionsHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyToolbarHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyToolbarHarnessFilters,\n ): HarnessPredicate<SkyToolbarHarness> {\n return SkyToolbarHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets a harness for a specific toolbar item that meets certain criteria.\n */\n public async getItem(\n filter: SkyToolbarItemHarnessFilters,\n ): Promise<SkyToolbarItemHarness> {\n return await this.locatorFor(SkyToolbarItemHarness.with(filter))();\n }\n\n /**\n * Gets an array of all toolbar items.\n */\n public async getItems(\n filters?: SkyToolbarItemHarnessFilters,\n ): Promise<SkyToolbarItemHarness[]> {\n const items = await this.locatorForAll(\n SkyToolbarItemHarness.with(filters || {}),\n )();\n\n if (items.length === 0) {\n if (filters) {\n throw new Error(\n `Unable to find any toolbar items with filter(s): ${JSON.stringify(filters)}`,\n );\n }\n throw new Error('Unable to find any toolbar items.');\n }\n\n return items;\n }\n\n /**\n * Gets a harness for a specific toolbar section that meets certain criteria.\n */\n public async getSection(\n filter: SkyToolbarSectionHarnessFilters,\n ): Promise<SkyToolbarSectionHarness> {\n return await this.locatorFor(SkyToolbarSectionHarness.with(filter))();\n }\n\n /**\n * Gets an array of all toolbar sections.\n */\n public async getSections(\n filters?: SkyToolbarSectionHarnessFilters,\n ): Promise<SkyToolbarSectionHarness[]> {\n const sections = await this.locatorForAll(\n SkyToolbarSectionHarness.with(filters || {}),\n )();\n\n if (sections.length === 0) {\n if (filters) {\n throw new Error(\n `Unable to find any toolbar sections with filter(s): ${JSON.stringify(filters)}`,\n );\n }\n throw new Error('Unable to find any toolbar sections.');\n }\n\n return sections;\n }\n\n /**\n * Gets the harness to interact with the toolbar's view actions.\n */\n public async getViewActions(): Promise<SkyToolbarViewActionsHarness> {\n const actions = await this.#getViewActions();\n\n if (actions === null) {\n throw Error('Unable to find toolbar view actions.');\n }\n\n return actions;\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-layout-testing.mjs","sources":["../../../../../libs/components/layout/testing/src/legacy/action-button-fixture.ts","../../../../../libs/components/layout/testing/src/legacy/card-fixture.ts","../../../../../libs/components/layout/testing/src/legacy/page-summary-fixture.ts","../../../../../libs/components/layout/testing/src/modules/box/box-harness.ts","../../../../../libs/components/layout/testing/src/modules/description-list/description-list-description-harness.ts","../../../../../libs/components/layout/testing/src/modules/description-list/description-list-term-harness.ts","../../../../../libs/components/layout/testing/src/modules/description-list/description-list-content-harness.ts","../../../../../libs/components/layout/testing/src/modules/description-list/description-list-harness.ts","../../../../../libs/components/layout/testing/src/modules/fluid-grid/column-harness.ts","../../../../../libs/components/layout/testing/src/modules/fluid-grid/row-harness.ts","../../../../../libs/components/layout/testing/src/modules/fluid-grid/fluid-grid-harness.ts","../../../../../libs/components/layout/testing/src/modules/text-expand/text-expand-modal-harness.ts","../../../../../libs/components/layout/testing/src/modules/text-expand/text-expand-harness.ts","../../../../../libs/components/layout/testing/src/modules/toolbar/toolbar-item-harness.ts","../../../../../libs/components/layout/testing/src/modules/toolbar/toolbar-view-actions-harness.ts","../../../../../libs/components/layout/testing/src/modules/toolbar/toolbar-section-harness.ts","../../../../../libs/components/layout/testing/src/modules/toolbar/toolbar-harness.ts","../../../../../libs/components/layout/testing/src/modules/action-button/action-button-harness.ts","../../../../../libs/components/layout/testing/src/modules/action-button/action-button-container-harness.ts","../../../../../libs/components/layout/testing/src/skyux-layout-testing.ts"],"sourcesContent":["import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX action button component.\n * @internal\n */\nexport class SkyActionButtonFixture {\n /**\n * The action button's current header text.\n */\n public get headerText(): string | undefined {\n return SkyAppTestUtility.getText(\n this.#debugEl.query(By.css('.sky-action-button-header')),\n );\n }\n\n /**\n * The action button's current details text.\n */\n public get detailsText(): string | undefined {\n return SkyAppTestUtility.getText(\n this.#debugEl.query(By.css('sky-action-button-details')),\n );\n }\n\n /**\n * The action button's current icon type.\n */\n public get iconType(): string | undefined {\n const classList = this.#debugEl.query(By.css('.fa.sky-icon')).nativeElement\n .classList;\n\n for (let i = 0, n = classList.length; i < n; i++) {\n const cls = classList.item(i);\n\n if (cls.indexOf('fa-') === 0) {\n return cls.substr(3);\n }\n }\n /* istanbul ignore next */\n return undefined;\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-action-button',\n );\n }\n\n /**\n * Clicks the action button.\n */\n public actionClick(): void {\n this.#debugEl\n .query(By.css('.sky-action-button'))\n .triggerEventHandler('click', {});\n }\n}\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\n/**\n * Allows interaction with a SKY UX avatar component.\n * @internal\n */\nexport class SkyCardFixture {\n /**\n * The card's current title.\n */\n public get titleText(): string | undefined {\n return SkyAppTestUtility.getText(\n this.#debugEl.query(By.css('sky-card-title')),\n );\n }\n\n /**\n * The card's current content text.\n */\n public get contentText(): string | undefined {\n return SkyAppTestUtility.getText(\n this.#debugEl.query(By.css('sky-card-content')),\n );\n }\n\n /**\n * A flag indicating whether the user can select the card.\n */\n public get selectable(): boolean {\n return !!this.#debugEl.query(By.css('.sky-card-check'));\n }\n\n /**\n * A flag indicating whether the card is currently selected. If the card\n * is not selectable, an error is thrown.\n */\n public get selected(): boolean {\n if (this.selectable) {\n return this.#getCheckInputEl().nativeElement.checked;\n }\n\n throw new Error('The card is not selectable.');\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-card',\n );\n }\n\n /**\n * Selects the card.\n */\n public select(): void {\n if (!this.selected) {\n this.#clickCheckLabelEl();\n }\n }\n\n /**\n * Deselects the card.\n */\n public deselect(): void {\n if (this.selected) {\n this.#clickCheckLabelEl();\n }\n }\n\n #clickCheckLabelEl(): void {\n this.#debugEl\n .query(By.css('.sky-card-check label.sky-checkbox-wrapper'))\n .nativeElement.click();\n }\n\n #getCheckInputEl(): DebugElement {\n return this.#debugEl.query(\n By.css('.sky-card-check .sky-checkbox-wrapper input'),\n );\n }\n}\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\n/**\n * Allows interaction with a SKY UX page summary component.\n * @internal\n */\nexport class SkyPageSummaryFixture {\n /**\n * The page summary's current title text.\n */\n public get titleText(): string | undefined {\n return SkyAppTestUtility.getText(\n this.#debugEl.query(\n By.css('sky-page-summary-title .sky-page-summary-title'),\n ),\n );\n }\n\n /**\n * The page summary's current subtitle text.\n */\n public get subtitleText(): string | undefined {\n return SkyAppTestUtility.getText(\n this.#debugEl.query(\n By.css('sky-page-summary-subtitle .sky-page-summary-subtitle'),\n ),\n );\n }\n\n /**\n * The page summary's current content text.\n */\n public get contentText(): string | undefined {\n return SkyAppTestUtility.getText(\n this.#debugEl.query(\n By.css('sky-page-summary-content .sky-page-summary-content'),\n ),\n );\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-page-summary',\n );\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { TemplateRef } from '@angular/core';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport { SkyBoxHeadingLevel, SkyBoxHeadingStyle } from '@skyux/layout';\n\nimport { SkyBoxHarnessFilters } from './box-harness.filters';\n\nexport class SkyBoxHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-box';\n\n #getBox = this.locatorFor('.sky-box');\n #getHeading = this.locatorFor('.sky-box-header-content');\n #getH2 = this.locatorForOptional('.sky-box-header-content h2');\n #getH3 = this.locatorForOptional('.sky-box-header-content h3');\n #getH4 = this.locatorForOptional('.sky-box-header-content h4');\n #getH5 = this.locatorForOptional('.sky-box-header-content h5');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyBoxHarness` that meets certain criteria\n */\n public static with(\n filters: SkyBoxHarnessFilters,\n ): HarnessPredicate<SkyBoxHarness> {\n return SkyBoxHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Clicks the help inline button.\n */\n public async clickHelpInline(): Promise<void> {\n return await (await this.#getHelpInline()).click();\n }\n\n /**\n * Gets the help popover content.\n */\n public async getHelpPopoverContent(): Promise<\n TemplateRef<unknown> | string | undefined\n > {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n\n /**\n * Gets the help popover title.\n */\n public async getHelpPopoverTitle(): Promise<string | undefined> {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n\n /**\n * Gets the box's heading text. If `headingHidden` is true,\n * the text will still be returned.\n */\n public async getHeadingText(): Promise<string | undefined> {\n return await (await this.#getHeading()).text();\n }\n\n /**\n * Whether the heading is hidden.\n */\n public async getHeadingHidden(): Promise<boolean> {\n const heading =\n (await this.#getH2()) ||\n (await this.#getH3()) ||\n (await this.#getH4()) ||\n (await this.#getH5());\n return (await heading?.hasClass('sky-screen-reader-only')) ?? false;\n }\n\n /**\n * The semantic heading level used for the checkbox group. Returns undefined if heading level is not set.\n */\n public async getHeadingLevel(): Promise<SkyBoxHeadingLevel | undefined> {\n return (await this.#getH2())\n ? 2\n : (await this.#getH3())\n ? 3\n : (await this.#getH4())\n ? 4\n : 5;\n }\n\n /**\n * The heading style used for the checkbox group.\n */\n public async getHeadingStyle(): Promise<SkyBoxHeadingStyle> {\n const heading =\n (await this.#getH2()) ||\n (await this.#getH3()) ||\n (await this.#getH4()) ||\n (await this.#getH5());\n\n const isHeadingStyle2 = await heading?.hasClass('sky-font-heading-2');\n const isHeadingStyle3 = await heading?.hasClass('sky-font-heading-3');\n const isHeadingStyle4 = await heading?.hasClass('sky-font-heading-4');\n\n return isHeadingStyle2 ? 2 : isHeadingStyle3 ? 3 : isHeadingStyle4 ? 4 : 5;\n }\n\n /**\n * Gets the aria-label property of the box\n */\n public async getAriaLabel(): Promise<string | null> {\n return await (await this.#getBox()).getAttribute('aria-label');\n }\n\n /**\n * Gets the aria-labelledby property of the box\n */\n public async getAriaLabelledby(): Promise<string | null> {\n return await (await this.#getBox()).getAttribute('aria-labelledby');\n }\n\n /**\n * Gets the aria-role property of the box\n */\n public async getAriaRole(): Promise<string | null> {\n return await (await this.#getBox()).getAttribute('role');\n }\n\n async #getHelpInline(): Promise<SkyHelpInlineHarness> {\n const harness = await this.locatorForOptional(\n SkyHelpInlineHarness.with({\n ancestor: '.sky-box-header-content',\n }),\n )();\n\n if (harness) {\n return harness;\n }\n\n throw Error('No help inline found.');\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing';\n\n/**\n * Harness for interacting with a description list description component in tests.\n * @internal\n */\nexport class SkyDescriptionListDescriptionHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'dd';\n\n public async getText(): Promise<string> {\n const description = (\n await (\n await this.locatorFor('.sky-description-list-description')()\n ).text()\n ).trim();\n\n if (description === '') {\n return await (\n await this.locatorFor('.sky-description-list-default-value')()\n ).text();\n }\n return description;\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing';\n\n/**\n * Harness for interacting with a description list term component in tests.\n * @internal\n */\nexport class SkyDescriptionListTermHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'dt';\n\n public async getText(): Promise<string> {\n return await (await this.locatorFor('span.description-list-term')()).text();\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\n\nimport { SkyDescriptionListDescriptionHarness } from './description-list-description-harness';\nimport { SkyDescriptionListTermHarness } from './description-list-term-harness';\n\n/**\n * Harness for interacting with a description list content component in tests.\n */\nexport class SkyDescriptionListContentHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'div.sky-description-list-content';\n\n #getDescription = this.locatorForOptional(\n SkyDescriptionListDescriptionHarness,\n );\n #getTerm = this.locatorForOptional(SkyDescriptionListTermHarness);\n\n /**\n * Clicks the help inline button.\n */\n public async clickHelpInline(): Promise<void> {\n await (await this.#getHelpInline()).click();\n }\n\n /**\n * Gets the description component text.\n */\n public async getDescriptionText(): Promise<string> {\n const description = await this.#getDescription();\n\n if (description === null) {\n throw Error('No description list description found.');\n }\n\n return await description.getText();\n }\n\n /**\n * Gets the help popover content.\n */\n public async getHelpPopoverContent(): Promise<string | undefined> {\n const content = await (await this.#getHelpInline()).getPopoverContent();\n\n return content as string | undefined;\n }\n\n /**\n * Gets the help popover title.\n */\n public async getHelpPopoverTitle(): Promise<string | undefined> {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n\n /**\n * Gets the term component text.\n */\n public async getTermText(): Promise<string> {\n const term = await this.#getTerm();\n\n if (term === null) {\n throw Error('No description list term found.');\n }\n\n return await term.getText();\n }\n\n async #getHelpInline(): Promise<SkyHelpInlineHarness> {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n\n if (harness) {\n return harness;\n }\n\n throw Error('No help inline found.');\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyDescriptionListModeType } from '@skyux/layout';\n\nimport { SkyDescriptionListContentHarness } from './description-list-content-harness';\nimport { SkyDescriptionListHarnessFilters } from './description-list-harness-filters';\n\n/**\n * Harness for interacting with a description list component in tests.\n */\nexport class SkyDescriptionListHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-description-list';\n\n #getListEl = this.locatorFor('.sky-description-list');\n #getContentEls = this.locatorForAll(SkyDescriptionListContentHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyDescriptionListHarness` that meets certain criteria\n */\n public static with(\n filters: SkyDescriptionListHarnessFilters,\n ): HarnessPredicate<SkyDescriptionListHarness> {\n return SkyDescriptionListHarness.getDataSkyIdPredicate(filters);\n }\n\n public async getContent(): Promise<SkyDescriptionListContentHarness[]> {\n const items = await this.#getContentEls();\n\n if (items.length === 0) {\n throw new Error('Unable to find any description list content.');\n }\n\n return items;\n }\n\n /**\n * Gets the mode of the description list.\n */\n public async getMode(): Promise<SkyDescriptionListModeType> {\n const listEl = await this.#getListEl();\n\n const longDescription = await listEl.hasClass(\n 'sky-description-list-long-description-mode',\n );\n const horizontal = await listEl.hasClass(\n 'sky-description-list-horizontal-mode',\n );\n\n if (longDescription) {\n return 'longDescription';\n } else if (horizontal) {\n return 'horizontal';\n } else {\n return 'vertical';\n }\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyColumnHarnessFilters } from './column-harness-filters';\n\nconst sizes = ['xs', 'sm', 'md', 'lg'];\n\n/**\n * Harness for interacting with a fluid grid column component in tests.\n */\nexport class SkyColumnHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-column';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyColumnHarness` that meets certain criteria\n */\n public static with(\n filters: SkyColumnHarnessFilters,\n ): HarnessPredicate<SkyColumnHarness> {\n return SkyColumnHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the size of the column in an XSmall responsive context.\n */\n public async getXSmallSize(): Promise<number> {\n return await this.#getColumnSize(0);\n }\n\n /**\n * Gets the size of the column in a Small responsive context.\n */\n public async getSmallSize(): Promise<number> {\n return await this.#getColumnSize(1);\n }\n\n /**\n * Gets the size of the column in a Medium responsive context.\n */\n public async getMediumSize(): Promise<number> {\n return await this.#getColumnSize(2);\n }\n\n /**\n * Gets the size of the column in a Large responsive context.\n */\n public async getLargeSize(): Promise<number> {\n return await this.#getColumnSize(3);\n }\n\n async #getColumnSize(index: number): Promise<number> {\n const size = sizes[index];\n\n const result = await this.#getColumnClass(size);\n\n /* istanbul ignore if */\n if (!result && !index) {\n throw Error('No column sizes found.');\n }\n\n return result || (await this.#getColumnSize(index - 1));\n }\n\n async #getColumnClass(size: string): Promise<number> {\n const host = await this.host();\n\n for (let i = 12; i; i--) {\n if (await host.hasClass(`sky-column-${size}-${i}`)) {\n return i;\n }\n }\n\n return 0;\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyColumnHarness } from './column-harness';\nimport { SkyRowHarnessFilters } from './row-harness-filters';\n\n/**\n * Harness for interacting with a fluid grid column component in tests.\n */\nexport class SkyRowHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-row';\n\n #getRow = this.locatorFor('.sky-row');\n #getColumns = this.locatorForAll(SkyColumnHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyRowHarness` that meets certain criteria\n */\n public static with(\n filters: SkyRowHarnessFilters,\n ): HarnessPredicate<SkyRowHarness> {\n return SkyRowHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets all of the columns in the row.\n */\n public async getColumns(): Promise<SkyColumnHarness[]> {\n return await this.#getColumns();\n }\n\n /**\n * Gets the ordering of the columns in the row.\n * @returns `normal` | `reverse`\n */\n public async getColumnOrder(): Promise<string> {\n const row = await this.#getRow();\n\n return (await row.hasClass('sky-row-reverse')) ? 'reverse' : 'normal';\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyFluidGridHarnessFilters } from './fluid-grid-harness-filters';\nimport { SkyRowHarness } from './row-harness';\n\n/**\n * Harness for interacting with a fluid grid component in tests.\n */\nexport class SkyFluidGridHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-fluid-grid';\n\n #getGrid = this.locatorFor('.sky-fluid-grid');\n #getRows = this.locatorForAll(SkyRowHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyFluidGridHarness` that meets certain criteria\n */\n public static with(\n filters: SkyFluidGridHarnessFilters,\n ): HarnessPredicate<SkyFluidGridHarness> {\n return SkyFluidGridHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the gutter size for the grid.\n */\n public async getGutterSize(): Promise<string> {\n const grid = await this.#getGrid();\n\n const small = await grid.hasClass('sky-fluid-grid-gutter-size-small');\n const medium = await grid.hasClass('sky-fluid-grid-gutter-size-medium');\n\n if (small) {\n return 'small';\n } else if (medium) {\n return 'medium';\n } else {\n return 'large';\n }\n }\n\n /**\n * Gets all of the rows in the grid.\n */\n public async getRows(): Promise<SkyRowHarness[]> {\n return await this.#getRows();\n }\n\n /**\n * Whether the fluid grid has margin enabled.\n */\n public async hasMargin(): Promise<boolean> {\n return !(await (\n await this.#getGrid()\n ).hasClass('sky-fluid-grid-no-margin'));\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing';\n\n/**\n * Harness for interacting with a text expand modal component in tests.\n */\nexport class SkyTextExpandModalHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-text-expand-modal';\n\n #getCloseButton = this.locatorFor('sky-modal-footer button.sky-btn');\n #getHeader = this.locatorFor('sky-modal-header');\n #getText = this.locatorFor('sky-modal-content.sky-text-expand-modal-content');\n\n /**\n * Clicks the modal close button.\n */\n public async clickCloseButton(): Promise<void> {\n const button = await this.#getCloseButton();\n\n await button.click();\n }\n\n /**\n * Gets the modal title.\n */\n public async getExpandModalTitle(): Promise<string> {\n return await (await this.#getHeader()).text();\n }\n\n /**\n * Gets the expanded text in the modal.\n */\n public async getText(): Promise<string> {\n return await (await this.#getText()).text();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyTextExpandHarnessFilters } from './text-expand-harness-filters';\nimport { SkyTextExpandModalHarness } from './text-expand-modal-harness';\n\n/**\n * Harness for interacting with a text expand component in tests.\n */\nexport class SkyTextExpandHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-text-expand';\n\n #documentRootLocator = this.documentRootLocatorFactory();\n #getExpandCollapseButton = this.locatorForOptional(\n '.sky-text-expand-see-more',\n );\n #getText = this.locatorFor('.sky-text-expand-text');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyTextExpandHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyTextExpandHarnessFilters,\n ): HarnessPredicate<SkyTextExpandHarness> {\n return SkyTextExpandHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Clicks the button element that expands or collapses text.\n */\n public async clickExpandCollapseButton(): Promise<void> {\n const button = await this.#getExpandCollapseButton();\n\n if (button === null) {\n throw Error('Could not find button element.');\n }\n\n await button.click();\n }\n\n /**\n * Gets the harness to interact with the modal expanded view.\n */\n public async getExpandedViewModal(): Promise<SkyTextExpandModalHarness> {\n const modal = await this.#documentRootLocator.locatorForOptional(\n SkyTextExpandModalHarness,\n )();\n\n if (modal === null) {\n throw Error('Could not find text expand modal.');\n }\n\n return modal;\n }\n\n /**\n * Gets the text content of the text expand.\n */\n public async getText(): Promise<string> {\n return await (await this.#getText()).text();\n }\n\n /**\n * Whether the text will expand to a modal.\n */\n public async textExpandsToModal(): Promise<boolean> {\n return (\n (await (\n await this.#getExpandCollapseButton()\n )?.getAttribute('aria-haspopup')) !== null\n );\n }\n\n /**\n * Whether the text is expanded.\n */\n public async isExpanded(): Promise<boolean> {\n if (await this.textExpandsToModal()) {\n try {\n await this.getExpandedViewModal();\n return true;\n } catch {\n return false;\n }\n }\n\n return (\n (await (\n await this.#getExpandCollapseButton()\n )?.getAttribute('aria-expanded')) === 'true'\n );\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyQueryableComponentHarness } from '@skyux/core/testing';\n\nimport { SkyToolbarItemHarnessFilters } from './toolbar-item-harness-filters';\n\n/**\n * Harness to interact with a toolbar item component in tests.\n */\nexport class SkyToolbarItemHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-toolbar-item';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyToolbarItemHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyToolbarItemHarnessFilters,\n ): HarnessPredicate<SkyToolbarItemHarness> {\n return SkyToolbarItemHarness.getDataSkyIdPredicate(filters);\n }\n}\n","import { SkyQueryableComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness to interact with a toolbar view actions component in tests.\n */\nexport class SkyToolbarViewActionsHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-toolbar-view-actions';\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyToolbarItemHarness } from './toolbar-item-harness';\nimport { SkyToolbarItemHarnessFilters } from './toolbar-item-harness-filters';\nimport { SkyToolbarSectionHarnessFilters } from './toolbar-section-harness-filters';\nimport { SkyToolbarViewActionsHarness } from './toolbar-view-actions-harness';\n\n/**\n * Harness to interact with a toolbar section component in tests.\n */\nexport class SkyToolbarSectionHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-toolbar-section';\n\n #getViewActions = this.locatorForOptional(SkyToolbarViewActionsHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyToolbarSectionHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyToolbarSectionHarnessFilters,\n ): HarnessPredicate<SkyToolbarSectionHarness> {\n return SkyToolbarSectionHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets a harness for a specific toolbar item that meets certain criteria.\n */\n public async getItem(\n filter: SkyToolbarItemHarnessFilters,\n ): Promise<SkyToolbarItemHarness> {\n return await this.locatorFor(SkyToolbarItemHarness.with(filter))();\n }\n\n /**\n * Gets an array of all toolbar items.\n */\n public async getItems(\n filters?: SkyToolbarItemHarnessFilters,\n ): Promise<SkyToolbarItemHarness[]> {\n const items = await this.locatorForAll(\n SkyToolbarItemHarness.with(filters || {}),\n )();\n\n if (items.length === 0) {\n if (filters) {\n throw new Error(\n `Unable to find any toolbar section items with filter(s): ${JSON.stringify(filters)}`,\n );\n }\n throw new Error('Unable to find any toolbar section items.');\n }\n\n return items;\n }\n\n /**\n * Gets the harness to interact with the toolbar's view actions.\n */\n public async getViewActions(): Promise<SkyToolbarViewActionsHarness> {\n const actions = await this.#getViewActions();\n\n if (actions === null) {\n throw Error('Unable to find toolbar section view actions.');\n }\n\n return actions;\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyToolbarHarnessFilters } from './toolbar-harness-filters';\nimport { SkyToolbarItemHarness } from './toolbar-item-harness';\nimport { SkyToolbarItemHarnessFilters } from './toolbar-item-harness-filters';\nimport { SkyToolbarSectionHarness } from './toolbar-section-harness';\nimport { SkyToolbarSectionHarnessFilters } from './toolbar-section-harness-filters';\nimport { SkyToolbarViewActionsHarness } from './toolbar-view-actions-harness';\n\n/**\n * Harness for interacting with a toolbar component in tests.\n */\nexport class SkyToolbarHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-toolbar';\n\n #getViewActions = this.locatorForOptional(SkyToolbarViewActionsHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyToolbarHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyToolbarHarnessFilters,\n ): HarnessPredicate<SkyToolbarHarness> {\n return SkyToolbarHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets a harness for a specific toolbar item that meets certain criteria.\n */\n public async getItem(\n filter: SkyToolbarItemHarnessFilters,\n ): Promise<SkyToolbarItemHarness> {\n return await this.locatorFor(SkyToolbarItemHarness.with(filter))();\n }\n\n /**\n * Gets an array of all toolbar items.\n */\n public async getItems(\n filters?: SkyToolbarItemHarnessFilters,\n ): Promise<SkyToolbarItemHarness[]> {\n const items = await this.locatorForAll(\n SkyToolbarItemHarness.with(filters || {}),\n )();\n\n if (items.length === 0) {\n if (filters) {\n throw new Error(\n `Unable to find any toolbar items with filter(s): ${JSON.stringify(filters)}`,\n );\n }\n throw new Error('Unable to find any toolbar items.');\n }\n\n return items;\n }\n\n /**\n * Gets a harness for a specific toolbar section that meets certain criteria.\n */\n public async getSection(\n filter: SkyToolbarSectionHarnessFilters,\n ): Promise<SkyToolbarSectionHarness> {\n return await this.locatorFor(SkyToolbarSectionHarness.with(filter))();\n }\n\n /**\n * Gets an array of all toolbar sections.\n */\n public async getSections(\n filters?: SkyToolbarSectionHarnessFilters,\n ): Promise<SkyToolbarSectionHarness[]> {\n const sections = await this.locatorForAll(\n SkyToolbarSectionHarness.with(filters || {}),\n )();\n\n if (sections.length === 0) {\n if (filters) {\n throw new Error(\n `Unable to find any toolbar sections with filter(s): ${JSON.stringify(filters)}`,\n );\n }\n throw new Error('Unable to find any toolbar sections.');\n }\n\n return sections;\n }\n\n /**\n * Gets the harness to interact with the toolbar's view actions.\n */\n public async getViewActions(): Promise<SkyToolbarViewActionsHarness> {\n const actions = await this.#getViewActions();\n\n if (actions === null) {\n throw Error('Unable to find toolbar view actions.');\n }\n\n return actions;\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyIconHarness } from '@skyux/icon/testing';\n\nimport { SkyActionButtonHarnessFilters } from './action-button-harness.filters';\n\n/**\n * Harness for interacting with a action button component in tests.\n */\nexport class SkyActionButtonHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-action-button';\n\n #actionButton = this.locatorFor('.sky-action-button');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyActionButtonHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyActionButtonHarnessFilters,\n ): HarnessPredicate<SkyActionButtonHarness> {\n return SkyActionButtonHarness.getDataSkyIdPredicate(filters).addOption(\n 'header',\n filters.header,\n async (harness, header) => {\n const harnessHeaderText = await harness.getHeaderText();\n return await HarnessPredicate.stringMatches(harnessHeaderText, header);\n },\n );\n }\n\n /**\n * Clicks the action button.\n */\n public async click(): Promise<void> {\n return await (await this.#actionButton()).click();\n }\n\n /**\n * Gets the action button details text.\n */\n public async getDetailsText(): Promise<string | null> {\n const details = await this.locatorFor('sky-action-button-details')();\n return (await details.text()).trim();\n }\n\n /**\n * Gets the action button header text.\n */\n public async getHeaderText(): Promise<string | null> {\n const header = await this.locatorFor('.sky-action-button-header')();\n return (await header.text()).trim();\n }\n\n /**\n * Gets the action button icon type.\n */\n public async getIconType(): Promise<string | undefined> {\n const icon = await this.locatorFor(SkyIconHarness)();\n return await icon.getIconName();\n }\n\n /**\n * Gets the action button link.\n */\n public async getLink(): Promise<string | undefined> {\n return (await (await this.#actionButton()).getProperty('href')).trim();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyActionButtonContainerAlignItemsType } from '@skyux/layout';\n\nimport { SkyActionButtonContainerHarnessFilters } from './action-button-container-harness.filters';\nimport { SkyActionButtonHarness } from './action-button-harness';\nimport { SkyActionButtonHarnessFilters } from './action-button-harness.filters';\n\n/**\n * Harness for interacting with a action button container component in tests.\n */\nexport class SkyActionButtonContainerHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-action-button-container';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyActionButtonContainerHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyActionButtonContainerHarnessFilters,\n ): HarnessPredicate<SkyActionButtonContainerHarness> {\n return SkyActionButtonContainerHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets an action button that matches the given filter.\n */\n public async getActionButton(\n filter: SkyActionButtonHarnessFilters,\n ): Promise<SkyActionButtonHarness> {\n return await this.locatorFor(SkyActionButtonHarness.with(filter))();\n }\n\n /**\n * Gets the action buttons.\n */\n public async getActionButtons(): Promise<SkyActionButtonHarness[]> {\n return await this.locatorForAll(SkyActionButtonHarness)();\n }\n\n /**\n * Gets the alignment of the buttons inside the container.\n */\n public async getAlignment(): Promise<SkyActionButtonContainerAlignItemsType> {\n return (await (\n await this.locatorFor('.sky-action-button-flex')()\n ).hasClass('sky-action-button-flex-align-left'))\n ? 'left'\n : 'center';\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}