@skyux/popovers 8.2.6 → 8.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +1447 -332
- package/esm2020/lib/modules/popover/popover-content.component.mjs +8 -4
- package/esm2020/lib/modules/popover/popover.component.mjs +4 -1
- package/esm2020/lib/modules/popover/popover.directive.mjs +29 -6
- package/esm2020/testing/popover/harness/popover-body-harness.mjs +42 -0
- package/esm2020/testing/popover/harness/popover-content-harness-filters.mjs +2 -0
- package/esm2020/testing/popover/harness/popover-content-harness.mjs +100 -0
- package/esm2020/testing/popover/harness/popover-harness-filters.mjs +2 -0
- package/esm2020/testing/popover/harness/popover-harness.mjs +56 -0
- package/esm2020/testing/public-api.mjs +5 -1
- package/fesm2015/skyux-popovers-testing.mjs +232 -2
- package/fesm2015/skyux-popovers-testing.mjs.map +1 -1
- package/fesm2015/skyux-popovers.mjs +39 -9
- package/fesm2015/skyux-popovers.mjs.map +1 -1
- package/fesm2020/skyux-popovers-testing.mjs +192 -2
- package/fesm2020/skyux-popovers-testing.mjs.map +1 -1
- package/fesm2020/skyux-popovers.mjs +39 -9
- package/fesm2020/skyux-popovers.mjs.map +1 -1
- package/lib/modules/popover/popover-content.component.d.ts +2 -0
- package/lib/modules/popover/popover.component.d.ts +1 -0
- package/lib/modules/popover/popover.directive.d.ts +12 -1
- package/package.json +6 -6
- package/testing/popover/harness/popover-body-harness.d.ts +31 -0
- package/testing/popover/harness/popover-content-harness-filters.d.ts +7 -0
- package/testing/popover/harness/popover-content-harness.d.ts +53 -0
- package/testing/popover/harness/popover-harness-filters.d.ts +6 -0
- package/testing/popover/harness/popover-harness.d.ts +31 -0
- package/testing/public-api.d.ts +4 -0
|
@@ -7,7 +7,7 @@ import { SkyAppTestUtility } from '@skyux-sdk/testing';
|
|
|
7
7
|
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
|
8
8
|
import { SkyThemeModule } from '@skyux/theme';
|
|
9
9
|
import { SkyComponentHarness, SkyOverlayHarness } from '@skyux/core/testing';
|
|
10
|
-
import { HarnessPredicate } from '@angular/cdk/testing';
|
|
10
|
+
import { HarnessPredicate, ComponentHarness } from '@angular/cdk/testing';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* @internal
|
|
@@ -462,9 +462,199 @@ async function _SkyDropdownHarness_getAriaControls() {
|
|
|
462
462
|
*/
|
|
463
463
|
SkyDropdownHarness.hostSelector = 'sky-dropdown';
|
|
464
464
|
|
|
465
|
+
/**
|
|
466
|
+
* Harness for interacting with a popover body in tests.
|
|
467
|
+
* @internal
|
|
468
|
+
*/
|
|
469
|
+
class SkyPopoverBodyHarness extends ComponentHarness {
|
|
470
|
+
/**
|
|
471
|
+
* Returns a child harness.
|
|
472
|
+
*/
|
|
473
|
+
async queryHarness(harness) {
|
|
474
|
+
return this.locatorForOptional(harness)();
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* Returns child harnesses.
|
|
478
|
+
*/
|
|
479
|
+
async queryHarnesses(harness) {
|
|
480
|
+
return this.locatorForAll(harness)();
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* Returns a child test element.
|
|
484
|
+
*/
|
|
485
|
+
async querySelector(selector) {
|
|
486
|
+
return this.locatorForOptional(selector)();
|
|
487
|
+
}
|
|
488
|
+
/**
|
|
489
|
+
* Returns child test elements.
|
|
490
|
+
*/
|
|
491
|
+
async querySelectorAll(selector) {
|
|
492
|
+
return this.locatorForAll(selector)();
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* Gets the text of the popover content body.
|
|
496
|
+
*/
|
|
497
|
+
async getText() {
|
|
498
|
+
return (await this.host()).text();
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* @internal
|
|
503
|
+
*/
|
|
504
|
+
SkyPopoverBodyHarness.hostSelector = '.sky-popover-body';
|
|
505
|
+
|
|
506
|
+
var _SkyPopoverContentHarness_getBody, _SkyPopoverContentHarness_getContainer, _SkyPopoverContentHarness_getOverlay, _SkyPopoverContentHarness_getTitle;
|
|
507
|
+
/**
|
|
508
|
+
* Harness for interacting with a popover content component in tests.
|
|
509
|
+
*/
|
|
510
|
+
class SkyPopoverContentHarness extends ComponentHarness {
|
|
511
|
+
constructor() {
|
|
512
|
+
super(...arguments);
|
|
513
|
+
_SkyPopoverContentHarness_getBody.set(this, this.locatorFor(SkyPopoverBodyHarness));
|
|
514
|
+
_SkyPopoverContentHarness_getContainer.set(this, this.locatorFor('.sky-popover-container'));
|
|
515
|
+
_SkyPopoverContentHarness_getOverlay.set(this, this.documentRootLocatorFactory().locatorForOptional(SkyOverlayHarness));
|
|
516
|
+
_SkyPopoverContentHarness_getTitle.set(this, this.locatorForOptional('.sky-popover-title'));
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* Gets a `HarnessPredicate` that can be used to search for a
|
|
520
|
+
* `SkyPopoverContentHarness` that meets certain criteria.
|
|
521
|
+
*/
|
|
522
|
+
static with(filters) {
|
|
523
|
+
return new HarnessPredicate(SkyPopoverContentHarness, filters);
|
|
524
|
+
}
|
|
525
|
+
/**
|
|
526
|
+
* Returns a child harness.
|
|
527
|
+
*/
|
|
528
|
+
async queryHarness(harness) {
|
|
529
|
+
return (await __classPrivateFieldGet(this, _SkyPopoverContentHarness_getBody, "f").call(this)).queryHarness(harness);
|
|
530
|
+
}
|
|
531
|
+
/**
|
|
532
|
+
* Returns child harnesses.
|
|
533
|
+
*/
|
|
534
|
+
async queryHarnesses(harness) {
|
|
535
|
+
return (await __classPrivateFieldGet(this, _SkyPopoverContentHarness_getBody, "f").call(this)).queryHarnesses(harness);
|
|
536
|
+
}
|
|
537
|
+
/**
|
|
538
|
+
* Returns a child test element.
|
|
539
|
+
*/
|
|
540
|
+
async querySelector(selector) {
|
|
541
|
+
return (await __classPrivateFieldGet(this, _SkyPopoverContentHarness_getBody, "f").call(this)).querySelector(selector);
|
|
542
|
+
}
|
|
543
|
+
/**
|
|
544
|
+
* Returns child test elements.
|
|
545
|
+
*/
|
|
546
|
+
async querySelectorAll(selector) {
|
|
547
|
+
return (await __classPrivateFieldGet(this, _SkyPopoverContentHarness_getBody, "f").call(this)).querySelectorAll(selector);
|
|
548
|
+
}
|
|
549
|
+
/**
|
|
550
|
+
* Gets the placement of the popover content.
|
|
551
|
+
*/
|
|
552
|
+
async getPlacement() {
|
|
553
|
+
const container = await __classPrivateFieldGet(this, _SkyPopoverContentHarness_getContainer, "f").call(this);
|
|
554
|
+
for (const placement of ['left', 'right', 'above', 'below']) {
|
|
555
|
+
if (await container.hasClass('sky-popover-placement-' + placement)) {
|
|
556
|
+
return placement;
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
// This should never happen because the placement input is always defined by the parent.
|
|
560
|
+
/* istanbul ignore next */
|
|
561
|
+
return '';
|
|
562
|
+
}
|
|
563
|
+
/**
|
|
564
|
+
* Gets the alignment of the popover content.
|
|
565
|
+
*/
|
|
566
|
+
async getAlignment() {
|
|
567
|
+
const container = await __classPrivateFieldGet(this, _SkyPopoverContentHarness_getContainer, "f").call(this);
|
|
568
|
+
for (const alignment of ['left', 'center', 'right']) {
|
|
569
|
+
if (await container.hasClass('sky-popover-alignment-' + alignment)) {
|
|
570
|
+
return alignment;
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
// This should never happen because the alignment input is always defined by the parent.
|
|
574
|
+
/* istanbul ignore next */
|
|
575
|
+
return '';
|
|
576
|
+
}
|
|
577
|
+
/**
|
|
578
|
+
* Gets the text of the popover content title.
|
|
579
|
+
*/
|
|
580
|
+
async getTitleText() {
|
|
581
|
+
return (await __classPrivateFieldGet(this, _SkyPopoverContentHarness_getTitle, "f").call(this))?.text();
|
|
582
|
+
}
|
|
583
|
+
/**
|
|
584
|
+
* Gets the text of the popover content body.
|
|
585
|
+
*/
|
|
586
|
+
async getBodyText() {
|
|
587
|
+
return (await __classPrivateFieldGet(this, _SkyPopoverContentHarness_getBody, "f").call(this)).getText();
|
|
588
|
+
}
|
|
589
|
+
/**
|
|
590
|
+
* Clicks out of the popover. If `dismissOnBlur` property is set to false, then the popover does not close.
|
|
591
|
+
*/
|
|
592
|
+
async clickOut() {
|
|
593
|
+
(await (await __classPrivateFieldGet(this, _SkyPopoverContentHarness_getOverlay, "f").call(this))?.host())?.click();
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
_SkyPopoverContentHarness_getBody = new WeakMap(), _SkyPopoverContentHarness_getContainer = new WeakMap(), _SkyPopoverContentHarness_getOverlay = new WeakMap(), _SkyPopoverContentHarness_getTitle = new WeakMap();
|
|
597
|
+
/**
|
|
598
|
+
* @internal
|
|
599
|
+
*/
|
|
600
|
+
SkyPopoverContentHarness.hostSelector = 'sky-popover-content';
|
|
601
|
+
|
|
602
|
+
var _SkyPopoverHarness_instances, _SkyPopoverHarness_documentRootLocator, _SkyPopoverHarness_getContent, _SkyPopoverHarness_getPopoverId;
|
|
603
|
+
/**
|
|
604
|
+
* Harness for interacting with a popover component in tests.
|
|
605
|
+
*/
|
|
606
|
+
class SkyPopoverHarness extends SkyComponentHarness {
|
|
607
|
+
constructor() {
|
|
608
|
+
super(...arguments);
|
|
609
|
+
_SkyPopoverHarness_instances.add(this);
|
|
610
|
+
_SkyPopoverHarness_documentRootLocator.set(this, this.documentRootLocatorFactory());
|
|
611
|
+
}
|
|
612
|
+
/**
|
|
613
|
+
* Gets a `HarnessPredicate` that can be used to search for a
|
|
614
|
+
* `SkyPopoverHarness` that meets certain criteria.
|
|
615
|
+
*/
|
|
616
|
+
static with(filters) {
|
|
617
|
+
return SkyPopoverHarness.getDataSkyIdPredicate(filters);
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* Toggles a popover open or closed.
|
|
621
|
+
*/
|
|
622
|
+
async clickPopoverButton() {
|
|
623
|
+
(await this.host()).click();
|
|
624
|
+
}
|
|
625
|
+
/**
|
|
626
|
+
* Gets the popover content component.
|
|
627
|
+
*/
|
|
628
|
+
async getPopoverContent() {
|
|
629
|
+
const content = await __classPrivateFieldGet(this, _SkyPopoverHarness_instances, "m", _SkyPopoverHarness_getContent).call(this);
|
|
630
|
+
if (!content) {
|
|
631
|
+
throw new Error('Unable to retrieve the popover content because the popover is not open.');
|
|
632
|
+
}
|
|
633
|
+
return content;
|
|
634
|
+
}
|
|
635
|
+
/**
|
|
636
|
+
* Whether the popover is open.
|
|
637
|
+
*/
|
|
638
|
+
async isOpen() {
|
|
639
|
+
return !!(await __classPrivateFieldGet(this, _SkyPopoverHarness_instances, "m", _SkyPopoverHarness_getContent).call(this));
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
_SkyPopoverHarness_documentRootLocator = new WeakMap(), _SkyPopoverHarness_instances = new WeakSet(), _SkyPopoverHarness_getContent = async function _SkyPopoverHarness_getContent() {
|
|
643
|
+
const popoverId = await __classPrivateFieldGet(this, _SkyPopoverHarness_instances, "m", _SkyPopoverHarness_getPopoverId).call(this);
|
|
644
|
+
return __classPrivateFieldGet(this, _SkyPopoverHarness_documentRootLocator, "f").locatorForOptional(SkyPopoverContentHarness.with({ selector: `#${popoverId}` }))();
|
|
645
|
+
}, _SkyPopoverHarness_getPopoverId = async function _SkyPopoverHarness_getPopoverId() {
|
|
646
|
+
return ((await (await this.host()).getAttribute('data-popover-id')) ||
|
|
647
|
+
/* istanbul ignore next */
|
|
648
|
+
'');
|
|
649
|
+
};
|
|
650
|
+
/**
|
|
651
|
+
* @internal
|
|
652
|
+
*/
|
|
653
|
+
SkyPopoverHarness.hostSelector = '.sky-popover-trigger';
|
|
654
|
+
|
|
465
655
|
/**
|
|
466
656
|
* Generated bundle index. Do not edit.
|
|
467
657
|
*/
|
|
468
658
|
|
|
469
|
-
export { SkyDropdownFixture, SkyDropdownHarness, SkyDropdownItemHarness, SkyDropdownMenuHarness, SkyDropdownTestingModule, SkyPopoverFixture, SkyPopoverTestingModule };
|
|
659
|
+
export { SkyDropdownFixture, SkyDropdownHarness, SkyDropdownItemHarness, SkyDropdownMenuHarness, SkyDropdownTestingModule, SkyPopoverContentHarness, SkyPopoverFixture, SkyPopoverHarness, SkyPopoverTestingModule };
|
|
470
660
|
//# sourceMappingURL=skyux-popovers-testing.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-popovers-testing.mjs","sources":["../../../../../libs/components/popovers/testing/src/dropdown/dropdown-testing.module.ts","../../../../../libs/components/popovers/testing/src/dropdown/dropdown-fixture.ts","../../../../../libs/components/popovers/testing/src/popover/popover-testing.module.ts","../../../../../libs/components/popovers/testing/src/popover/popover-fixture.ts","../../../../../libs/components/popovers/testing/src/dropdown/harness/dropdown-item-harness.ts","../../../../../libs/components/popovers/testing/src/dropdown/harness/dropdown-menu-harness.ts","../../../../../libs/components/popovers/testing/src/dropdown/harness/dropdown-harness.ts","../../../../../libs/components/popovers/testing/src/skyux-popovers-testing.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { SkyDropdownModule } from '@skyux/popovers';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [SkyDropdownModule],\n})\nexport class SkyDropdownTestingModule {}\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 { SkyPopoversFixtureDropdown } from './popovers-fixture-dropdown';\nimport { SkyPopoversFixtureDropdownItem } from './popovers-fixture-dropdown-item';\nimport { SkyPopoversFixtureDropdownMenu } from './popovers-fixture-dropdown-menu';\n\n/**\n * Provides information for and interaction with a SKY UX dropdown 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 SkyDropdownFixture {\n /**\n * Returns information about the dropdown component.\n */\n public get dropdown(): SkyPopoversFixtureDropdown | undefined {\n const button = this.#buttonDebugElement;\n return {\n buttonStyle: this.#getButtonStyle(button.classes),\n buttonType: this.#getButtonType(button.classes),\n disabled: button.nativeElement.disabled,\n label: button.nativeElement.getAttribute('aria-label'),\n title: button.nativeElement.getAttribute('title'),\n };\n }\n\n /**\n * Returns the dropdown button's text.\n */\n public get dropdownButtonText(): string | undefined {\n return SkyAppTestUtility.getText(this.#buttonDebugElement.nativeElement);\n }\n\n /**\n * Returns information about the dropdown menu component.\n */\n public get dropdownMenu(): SkyPopoversFixtureDropdownMenu | undefined {\n const menu = this.getDropdownMenuContent();\n if (!menu) {\n return;\n }\n\n return {\n ariaLabelledBy: menu.getAttribute('aria-labelledby'),\n ariaRole: menu.getAttribute('role'),\n };\n }\n\n /**\n * Whether the dropdown menu is open and visible.\n */\n public get dropdownMenuIsVisible(): boolean {\n return this.getDropdownMenuContent() !== undefined;\n }\n\n get #buttonDebugElement(): DebugElement {\n return this.#debugEl.query(By.css('.sky-dropdown-button'));\n }\n\n #debugEl: DebugElement;\n\n #fixture: ComponentFixture<unknown>;\n\n constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.#fixture = fixture;\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-dropdown'\n );\n }\n\n /**\n * Click the dropdown button to open or close the dropdown menu.\n */\n public async clickDropdownButton(): Promise<unknown> {\n this.#buttonDebugElement.nativeElement.click();\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n\n /**\n * Click the dropdown item at the provided index.\n */\n public async clickDropdownItem(index: number): Promise<unknown> {\n const itemEls = this.#getDropdownItemEls();\n\n if (!itemEls) {\n return;\n }\n\n if (index >= itemEls.length) {\n throw new Error(`There is no dropdown item at index ${index}.`);\n }\n\n itemEls[index].querySelector('button,a').click();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n\n /**\n * Returns information about the dropdown item at the provided index.\n */\n public getDropdownItem(\n index: number\n ): SkyPopoversFixtureDropdownItem | undefined {\n const itemEls = this.#getDropdownItemEls();\n\n if (!itemEls) {\n return;\n }\n\n if (!itemEls[index]) {\n throw new Error(`There is no dropdown item at index ${index}.`);\n }\n\n const item = itemEls[index];\n\n return {\n ariaRole: item.getAttribute('role'),\n };\n }\n\n /**\n * Returns the contents of the dropdown menu.\n */\n public getDropdownMenuContent(): any {\n const overlay = this.#getOverlay();\n if (!overlay) {\n return;\n }\n\n return overlay.querySelector('.sky-dropdown-menu');\n }\n\n #getDropdownItemEls(): NodeListOf<any> | undefined {\n const overlay = this.#getOverlay();\n\n if (!overlay) {\n return;\n }\n\n return overlay.querySelectorAll('.sky-dropdown-item');\n }\n\n #getOverlay(): HTMLElement | null {\n return document.querySelector('sky-overlay');\n }\n\n #getButtonStyle(classNames: { [key: string]: boolean }): string | undefined {\n if (classNames['sky-btn-primary']) {\n return 'primary';\n }\n if (classNames['sky-btn-default']) {\n return 'default';\n }\n return;\n }\n\n #getButtonType(classNames: { [key: string]: boolean }): string {\n const prefix = 'sky-dropdown-button-type-';\n\n let found = '';\n for (const i in classNames) {\n if (classNames[i]) {\n if (i.indexOf(prefix) > -1) {\n found = i.replace(prefix, '');\n }\n }\n }\n\n return found;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { SkyPopoverModule } from '@skyux/popovers';\nimport { SkyThemeModule } from '@skyux/theme';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [\n SkyPopoverModule,\n\n // The noop animations module needs to be loaded last to avoid\n // subsequent modules adding animations and overriding this.\n NoopAnimationsModule,\n ],\n imports: [SkyThemeModule],\n})\nexport class SkyPopoverTestingModule {}\n","import { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Provides information for and interaction with a SKY UX popover 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 SkyPopoverFixture {\n /**\n * Returns the popover alignment if the popover is open, otherwise undefined.\n */\n public get alignment(): string | undefined {\n return this.#getClassSuffixByClassPrefix(\n this.#containerElement,\n 'sky-popover-alignment-'\n );\n }\n\n /**\n * Returns the popover body element if the popover is open, otherwise undefined.\n */\n public get body(): HTMLElement | undefined {\n return this.#bodyElement;\n }\n\n /**\n * Returns the popover position if the popover is open, otherwise undefined.\n */\n public get placement(): string | undefined {\n return this.#getClassSuffixByClassPrefix(\n this.#containerElement,\n 'sky-popover-placement-'\n );\n }\n\n /**\n * Returns the popover title text if the popover is open, otherwise undefined.\n */\n public get popoverTitle(): string | undefined {\n return SkyAppTestUtility.getText(this.#titleElement);\n }\n\n /**\n * Whether the popover is open and visible.\n */\n public get popoverIsVisible(): boolean {\n return this.#contentElement !== undefined;\n }\n\n #fixture: ComponentFixture<unknown>;\n\n constructor(fixture: ComponentFixture<unknown>) {\n this.#fixture = fixture;\n }\n\n /**\n * Triggers the blur event for the popover.\n */\n public blur(): Promise<unknown> {\n // close the popover by changing focus to the body element\n SkyAppTestUtility.fireDomEvent(window.document.body, 'click');\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n\n //#region helpers\n get #contentElement(): HTMLElement | undefined {\n return this.#queryOverlay('sky-popover-content') || undefined;\n }\n\n get #containerElement(): HTMLElement | undefined {\n return this.#queryOverlay('.sky-popover-container') || undefined;\n }\n\n get #titleElement(): HTMLElement | undefined {\n return this.#queryOverlay('.sky-popover-title') || undefined;\n }\n\n get #bodyElement(): HTMLElement | undefined {\n return this.#queryOverlay('.sky-popover-body') || undefined;\n }\n\n #getOverlay(): Element | undefined {\n return document.querySelector('sky-overlay') || undefined;\n }\n\n #queryOverlay(query: string): HTMLElement | null {\n const overlay = this.#getOverlay();\n\n return !overlay ? null : overlay.querySelector(query);\n }\n\n /**\n * Searches the element's class names for a class which matches a given prefix.\n * If a match is found, the prefix is trimmed from the class name and the suffix is returned.\n * If no class matching the prefix is found, undefined is returned.\n *\n * Example:\n * For a class 'sky-popover-placement-right', passing the prefix 'sky-popover-placement-'\n * should return the value 'right'.\n * @param prefix\n */\n #getClassSuffixByClassPrefix(\n element: HTMLElement | undefined,\n prefix: string\n ): string | undefined {\n const containerClasses = element?.className.split(' ');\n const prefixedClass = containerClasses?.find((x) => x.startsWith(prefix));\n\n return !prefixedClass ? undefined : prefixedClass.slice(prefix.length);\n }\n //#endregion\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyDropdownItemHarnessFilters } from './dropdown-item-harness.filters';\n\nexport class SkyDropdownItemHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-dropdown-item';\n\n #getItem = this.locatorFor('.sky-dropdown-item');\n #getButton = this.locatorFor('button,a');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyAutocompleteHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyDropdownItemHarnessFilters\n ): HarnessPredicate<SkyDropdownItemHarness> {\n return SkyDropdownItemHarness.getDataSkyIdPredicate(filters)\n .addOption('text', filters.text, async (harness, text) =>\n HarnessPredicate.stringMatches(await harness.getText(), text)\n )\n .addOption('ariaRole', filters.ariaRole, async (harness, ariaRole) =>\n HarnessPredicate.stringMatches(await harness.getAriaRole(), ariaRole)\n );\n }\n\n /**\n * Clicks the dropdown item.\n */\n public async click(): Promise<void> {\n await (await this.#getButton()).click();\n }\n\n /**\n * Gets the dropdown item role.\n */\n public async getAriaRole(): Promise<string | null> {\n return (await this.#getItem()).getAttribute('role');\n }\n\n /**\n * Gets the menu item text.\n */\n public async getText(): Promise<string | null> {\n return (await this.#getItem()).text();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness, SkyOverlayHarness } from '@skyux/core/testing';\n\nimport { SkyDropdownItemHarness } from './dropdown-item-harness';\nimport { SkyDropdownItemHarnessFilters } from './dropdown-item-harness.filters';\nimport { SkyDropdownMenuHarnessFilters } from './dropdown-menu-harness.filters';\n\n/**\n * Harness for interacting with dropdown menu in tests.\n */\nexport class SkyDropdownMenuHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = '.sky-dropdown-menu';\n\n #getOverlay =\n this.documentRootLocatorFactory().locatorForOptional(SkyOverlayHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyDropdownMenuHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyDropdownMenuHarnessFilters\n ): HarnessPredicate<SkyDropdownMenuHarness> {\n return new HarnessPredicate(SkyDropdownMenuHarness, filters);\n }\n\n /**\n * Clicks out of the dropdown menu. If `dismissOnBlur` property is set to false, then the dropdown menu does not close.\n */\n public async clickOut(): Promise<void> {\n (await (await this.#getOverlay())?.host())?.click();\n }\n\n /**\n * Gets the `aria-labelledby` value.\n */\n public async getAriaLabelledBy(): Promise<string | null> {\n return (await this.host()).getAttribute('aria-labelledby');\n }\n\n /**\n * Gets the dropdown menu role.\n */\n public async getAriaRole(): Promise<string | null> {\n return (await this.host()).getAttribute('role');\n }\n\n /**\n * Gets an array of dropdown menu item harnesses.\n * @param filters Optional filter for which menu items to return\n */\n public async getItems(\n filters?: SkyDropdownItemHarnessFilters\n ): Promise<SkyDropdownItemHarness[]> {\n const harnesses = await this.locatorForAll(\n SkyDropdownItemHarness.with(filters || {})\n )();\n\n if (harnesses.length === 0) {\n if (filters) {\n throw new Error(\n `Unable to find dropdown menu item(s) with filter(s): ${JSON.stringify(\n filters\n )}.`\n );\n } else {\n throw new Error(\n 'Unable to retrieve item(s) because dropdown menu is empty.'\n );\n }\n }\n\n return harnesses;\n }\n\n /**\n * Gets the first item that matches the given filters\n * @param filters filter for which menu item to return\n */\n public async getItem(\n filters: SkyDropdownItemHarnessFilters\n ): Promise<SkyDropdownItemHarness> {\n const harnesses = await this.getItems(filters);\n return harnesses[0];\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyDropdownHarnessFilters } from './dropdown-harness.filters';\nimport { SkyDropdownMenuHarness } from './dropdown-menu-harness';\n\nexport class SkyDropdownHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-dropdown';\n\n #documentRootLocator = this.documentRootLocatorFactory();\n\n #getDropdownButton = this.locatorFor('.sky-dropdown-button');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyDropdownHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyDropdownHarnessFilters\n ): HarnessPredicate<SkyDropdownHarness> {\n return SkyDropdownHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Clicks the dropdown button.\n */\n public async clickDropdownButton(): Promise<void> {\n (await this.#getDropdownButton()).click();\n }\n\n /**\n * Gets the aria-label value.\n */\n public async getAriaLabel(): Promise<string | null> {\n return (await this.#getDropdownButton()).getAttribute('aria-label');\n }\n\n /**\n * Gets the dropdown button style.\n */\n public async getButtonStyle(): Promise<string> {\n const button = await this.#getDropdownButton();\n\n if (await button.hasClass('sky-btn-primary')) {\n return 'primary';\n }\n\n if (await button.hasClass('sky-btn-link')) {\n return 'link';\n }\n\n return 'default';\n }\n\n /**\n * Gets the dropdown button type.\n */\n public async getButtonType(): Promise<string> {\n const button = await this.#getDropdownButton();\n\n if (await button.hasClass('sky-dropdown-button-type-context-menu')) {\n return 'context-menu';\n }\n\n if (await button.hasClass('sky-dropdown-button-type-tab')) {\n return 'tab';\n }\n\n return 'select';\n }\n\n /**\n * Gets the dropdown menu component.\n */\n public async getDropdownMenu(): Promise<SkyDropdownMenuHarness> {\n const dropdownMenuId = await this.#getAriaControls();\n\n if (!dropdownMenuId) {\n throw new Error(\n 'Unable to retrieve dropdown menu harness because dropdown is closed.'\n );\n }\n\n return this.#documentRootLocator.locatorFor(\n SkyDropdownMenuHarness.with({ selector: `#${dropdownMenuId}` })\n )();\n }\n\n /**\n * Gets the hover tooltip text.\n */\n public async getTitle(): Promise<string | null> {\n return (await this.#getDropdownButton()).getAttribute('title');\n }\n\n /**\n * Gets whether the dropdown is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n const button = await this.#getDropdownButton();\n\n return (await button.getProperty('disabled')) ? true : false;\n }\n\n /**\n * Gets whether the dropdown menu is open.\n */\n public async isOpen(): Promise<boolean> {\n const ariaExpanded = await (\n await this.#getDropdownButton()\n ).getAttribute('aria-expanded');\n\n if (ariaExpanded === 'true') {\n return true;\n }\n\n return false;\n }\n\n /**\n * Gets the element ID of the dropdown menu that the dropdown button controls.\n */\n async #getAriaControls(): Promise<string | null> {\n return (await this.#getDropdownButton()).getAttribute('aria-controls');\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-popovers-testing.mjs","sources":["../../../../../libs/components/popovers/testing/src/dropdown/dropdown-testing.module.ts","../../../../../libs/components/popovers/testing/src/dropdown/dropdown-fixture.ts","../../../../../libs/components/popovers/testing/src/popover/popover-testing.module.ts","../../../../../libs/components/popovers/testing/src/popover/popover-fixture.ts","../../../../../libs/components/popovers/testing/src/dropdown/harness/dropdown-item-harness.ts","../../../../../libs/components/popovers/testing/src/dropdown/harness/dropdown-menu-harness.ts","../../../../../libs/components/popovers/testing/src/dropdown/harness/dropdown-harness.ts","../../../../../libs/components/popovers/testing/src/popover/harness/popover-body-harness.ts","../../../../../libs/components/popovers/testing/src/popover/harness/popover-content-harness.ts","../../../../../libs/components/popovers/testing/src/popover/harness/popover-harness.ts","../../../../../libs/components/popovers/testing/src/skyux-popovers-testing.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { SkyDropdownModule } from '@skyux/popovers';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [SkyDropdownModule],\n})\nexport class SkyDropdownTestingModule {}\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 { SkyPopoversFixtureDropdown } from './popovers-fixture-dropdown';\nimport { SkyPopoversFixtureDropdownItem } from './popovers-fixture-dropdown-item';\nimport { SkyPopoversFixtureDropdownMenu } from './popovers-fixture-dropdown-menu';\n\n/**\n * Provides information for and interaction with a SKY UX dropdown 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 SkyDropdownFixture {\n /**\n * Returns information about the dropdown component.\n */\n public get dropdown(): SkyPopoversFixtureDropdown | undefined {\n const button = this.#buttonDebugElement;\n return {\n buttonStyle: this.#getButtonStyle(button.classes),\n buttonType: this.#getButtonType(button.classes),\n disabled: button.nativeElement.disabled,\n label: button.nativeElement.getAttribute('aria-label'),\n title: button.nativeElement.getAttribute('title'),\n };\n }\n\n /**\n * Returns the dropdown button's text.\n */\n public get dropdownButtonText(): string | undefined {\n return SkyAppTestUtility.getText(this.#buttonDebugElement.nativeElement);\n }\n\n /**\n * Returns information about the dropdown menu component.\n */\n public get dropdownMenu(): SkyPopoversFixtureDropdownMenu | undefined {\n const menu = this.getDropdownMenuContent();\n if (!menu) {\n return;\n }\n\n return {\n ariaLabelledBy: menu.getAttribute('aria-labelledby'),\n ariaRole: menu.getAttribute('role'),\n };\n }\n\n /**\n * Whether the dropdown menu is open and visible.\n */\n public get dropdownMenuIsVisible(): boolean {\n return this.getDropdownMenuContent() !== undefined;\n }\n\n get #buttonDebugElement(): DebugElement {\n return this.#debugEl.query(By.css('.sky-dropdown-button'));\n }\n\n #debugEl: DebugElement;\n\n #fixture: ComponentFixture<unknown>;\n\n constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.#fixture = fixture;\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-dropdown'\n );\n }\n\n /**\n * Click the dropdown button to open or close the dropdown menu.\n */\n public async clickDropdownButton(): Promise<unknown> {\n this.#buttonDebugElement.nativeElement.click();\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n\n /**\n * Click the dropdown item at the provided index.\n */\n public async clickDropdownItem(index: number): Promise<unknown> {\n const itemEls = this.#getDropdownItemEls();\n\n if (!itemEls) {\n return;\n }\n\n if (index >= itemEls.length) {\n throw new Error(`There is no dropdown item at index ${index}.`);\n }\n\n itemEls[index].querySelector('button,a').click();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n\n /**\n * Returns information about the dropdown item at the provided index.\n */\n public getDropdownItem(\n index: number\n ): SkyPopoversFixtureDropdownItem | undefined {\n const itemEls = this.#getDropdownItemEls();\n\n if (!itemEls) {\n return;\n }\n\n if (!itemEls[index]) {\n throw new Error(`There is no dropdown item at index ${index}.`);\n }\n\n const item = itemEls[index];\n\n return {\n ariaRole: item.getAttribute('role'),\n };\n }\n\n /**\n * Returns the contents of the dropdown menu.\n */\n public getDropdownMenuContent(): any {\n const overlay = this.#getOverlay();\n if (!overlay) {\n return;\n }\n\n return overlay.querySelector('.sky-dropdown-menu');\n }\n\n #getDropdownItemEls(): NodeListOf<any> | undefined {\n const overlay = this.#getOverlay();\n\n if (!overlay) {\n return;\n }\n\n return overlay.querySelectorAll('.sky-dropdown-item');\n }\n\n #getOverlay(): HTMLElement | null {\n return document.querySelector('sky-overlay');\n }\n\n #getButtonStyle(classNames: { [key: string]: boolean }): string | undefined {\n if (classNames['sky-btn-primary']) {\n return 'primary';\n }\n if (classNames['sky-btn-default']) {\n return 'default';\n }\n return;\n }\n\n #getButtonType(classNames: { [key: string]: boolean }): string {\n const prefix = 'sky-dropdown-button-type-';\n\n let found = '';\n for (const i in classNames) {\n if (classNames[i]) {\n if (i.indexOf(prefix) > -1) {\n found = i.replace(prefix, '');\n }\n }\n }\n\n return found;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { SkyPopoverModule } from '@skyux/popovers';\nimport { SkyThemeModule } from '@skyux/theme';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [\n SkyPopoverModule,\n\n // The noop animations module needs to be loaded last to avoid\n // subsequent modules adding animations and overriding this.\n NoopAnimationsModule,\n ],\n imports: [SkyThemeModule],\n})\nexport class SkyPopoverTestingModule {}\n","import { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Provides information for and interaction with a SKY UX popover 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 SkyPopoverFixture {\n /**\n * Returns the popover alignment if the popover is open, otherwise undefined.\n */\n public get alignment(): string | undefined {\n return this.#getClassSuffixByClassPrefix(\n this.#containerElement,\n 'sky-popover-alignment-'\n );\n }\n\n /**\n * Returns the popover body element if the popover is open, otherwise undefined.\n */\n public get body(): HTMLElement | undefined {\n return this.#bodyElement;\n }\n\n /**\n * Returns the popover position if the popover is open, otherwise undefined.\n */\n public get placement(): string | undefined {\n return this.#getClassSuffixByClassPrefix(\n this.#containerElement,\n 'sky-popover-placement-'\n );\n }\n\n /**\n * Returns the popover title text if the popover is open, otherwise undefined.\n */\n public get popoverTitle(): string | undefined {\n return SkyAppTestUtility.getText(this.#titleElement);\n }\n\n /**\n * Whether the popover is open and visible.\n */\n public get popoverIsVisible(): boolean {\n return this.#contentElement !== undefined;\n }\n\n #fixture: ComponentFixture<unknown>;\n\n constructor(fixture: ComponentFixture<unknown>) {\n this.#fixture = fixture;\n }\n\n /**\n * Triggers the blur event for the popover.\n */\n public blur(): Promise<unknown> {\n // close the popover by changing focus to the body element\n SkyAppTestUtility.fireDomEvent(window.document.body, 'click');\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n\n //#region helpers\n get #contentElement(): HTMLElement | undefined {\n return this.#queryOverlay('sky-popover-content') || undefined;\n }\n\n get #containerElement(): HTMLElement | undefined {\n return this.#queryOverlay('.sky-popover-container') || undefined;\n }\n\n get #titleElement(): HTMLElement | undefined {\n return this.#queryOverlay('.sky-popover-title') || undefined;\n }\n\n get #bodyElement(): HTMLElement | undefined {\n return this.#queryOverlay('.sky-popover-body') || undefined;\n }\n\n #getOverlay(): Element | undefined {\n return document.querySelector('sky-overlay') || undefined;\n }\n\n #queryOverlay(query: string): HTMLElement | null {\n const overlay = this.#getOverlay();\n\n return !overlay ? null : overlay.querySelector(query);\n }\n\n /**\n * Searches the element's class names for a class which matches a given prefix.\n * If a match is found, the prefix is trimmed from the class name and the suffix is returned.\n * If no class matching the prefix is found, undefined is returned.\n *\n * Example:\n * For a class 'sky-popover-placement-right', passing the prefix 'sky-popover-placement-'\n * should return the value 'right'.\n * @param prefix\n */\n #getClassSuffixByClassPrefix(\n element: HTMLElement | undefined,\n prefix: string\n ): string | undefined {\n const containerClasses = element?.className.split(' ');\n const prefixedClass = containerClasses?.find((x) => x.startsWith(prefix));\n\n return !prefixedClass ? undefined : prefixedClass.slice(prefix.length);\n }\n //#endregion\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyDropdownItemHarnessFilters } from './dropdown-item-harness.filters';\n\nexport class SkyDropdownItemHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-dropdown-item';\n\n #getItem = this.locatorFor('.sky-dropdown-item');\n #getButton = this.locatorFor('button,a');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyAutocompleteHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyDropdownItemHarnessFilters\n ): HarnessPredicate<SkyDropdownItemHarness> {\n return SkyDropdownItemHarness.getDataSkyIdPredicate(filters)\n .addOption('text', filters.text, async (harness, text) =>\n HarnessPredicate.stringMatches(await harness.getText(), text)\n )\n .addOption('ariaRole', filters.ariaRole, async (harness, ariaRole) =>\n HarnessPredicate.stringMatches(await harness.getAriaRole(), ariaRole)\n );\n }\n\n /**\n * Clicks the dropdown item.\n */\n public async click(): Promise<void> {\n await (await this.#getButton()).click();\n }\n\n /**\n * Gets the dropdown item role.\n */\n public async getAriaRole(): Promise<string | null> {\n return (await this.#getItem()).getAttribute('role');\n }\n\n /**\n * Gets the menu item text.\n */\n public async getText(): Promise<string | null> {\n return (await this.#getItem()).text();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness, SkyOverlayHarness } from '@skyux/core/testing';\n\nimport { SkyDropdownItemHarness } from './dropdown-item-harness';\nimport { SkyDropdownItemHarnessFilters } from './dropdown-item-harness.filters';\nimport { SkyDropdownMenuHarnessFilters } from './dropdown-menu-harness.filters';\n\n/**\n * Harness for interacting with dropdown menu in tests.\n */\nexport class SkyDropdownMenuHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = '.sky-dropdown-menu';\n\n #getOverlay =\n this.documentRootLocatorFactory().locatorForOptional(SkyOverlayHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyDropdownMenuHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyDropdownMenuHarnessFilters\n ): HarnessPredicate<SkyDropdownMenuHarness> {\n return new HarnessPredicate(SkyDropdownMenuHarness, filters);\n }\n\n /**\n * Clicks out of the dropdown menu. If `dismissOnBlur` property is set to false, then the dropdown menu does not close.\n */\n public async clickOut(): Promise<void> {\n (await (await this.#getOverlay())?.host())?.click();\n }\n\n /**\n * Gets the `aria-labelledby` value.\n */\n public async getAriaLabelledBy(): Promise<string | null> {\n return (await this.host()).getAttribute('aria-labelledby');\n }\n\n /**\n * Gets the dropdown menu role.\n */\n public async getAriaRole(): Promise<string | null> {\n return (await this.host()).getAttribute('role');\n }\n\n /**\n * Gets an array of dropdown menu item harnesses.\n * @param filters Optional filter for which menu items to return\n */\n public async getItems(\n filters?: SkyDropdownItemHarnessFilters\n ): Promise<SkyDropdownItemHarness[]> {\n const harnesses = await this.locatorForAll(\n SkyDropdownItemHarness.with(filters || {})\n )();\n\n if (harnesses.length === 0) {\n if (filters) {\n throw new Error(\n `Unable to find dropdown menu item(s) with filter(s): ${JSON.stringify(\n filters\n )}.`\n );\n } else {\n throw new Error(\n 'Unable to retrieve item(s) because dropdown menu is empty.'\n );\n }\n }\n\n return harnesses;\n }\n\n /**\n * Gets the first item that matches the given filters\n * @param filters filter for which menu item to return\n */\n public async getItem(\n filters: SkyDropdownItemHarnessFilters\n ): Promise<SkyDropdownItemHarness> {\n const harnesses = await this.getItems(filters);\n return harnesses[0];\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyDropdownHarnessFilters } from './dropdown-harness.filters';\nimport { SkyDropdownMenuHarness } from './dropdown-menu-harness';\n\nexport class SkyDropdownHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-dropdown';\n\n #documentRootLocator = this.documentRootLocatorFactory();\n\n #getDropdownButton = this.locatorFor('.sky-dropdown-button');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyDropdownHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyDropdownHarnessFilters\n ): HarnessPredicate<SkyDropdownHarness> {\n return SkyDropdownHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Clicks the dropdown button.\n */\n public async clickDropdownButton(): Promise<void> {\n (await this.#getDropdownButton()).click();\n }\n\n /**\n * Gets the aria-label value.\n */\n public async getAriaLabel(): Promise<string | null> {\n return (await this.#getDropdownButton()).getAttribute('aria-label');\n }\n\n /**\n * Gets the dropdown button style.\n */\n public async getButtonStyle(): Promise<string> {\n const button = await this.#getDropdownButton();\n\n if (await button.hasClass('sky-btn-primary')) {\n return 'primary';\n }\n\n if (await button.hasClass('sky-btn-link')) {\n return 'link';\n }\n\n return 'default';\n }\n\n /**\n * Gets the dropdown button type.\n */\n public async getButtonType(): Promise<string> {\n const button = await this.#getDropdownButton();\n\n if (await button.hasClass('sky-dropdown-button-type-context-menu')) {\n return 'context-menu';\n }\n\n if (await button.hasClass('sky-dropdown-button-type-tab')) {\n return 'tab';\n }\n\n return 'select';\n }\n\n /**\n * Gets the dropdown menu component.\n */\n public async getDropdownMenu(): Promise<SkyDropdownMenuHarness> {\n const dropdownMenuId = await this.#getAriaControls();\n\n if (!dropdownMenuId) {\n throw new Error(\n 'Unable to retrieve dropdown menu harness because dropdown is closed.'\n );\n }\n\n return this.#documentRootLocator.locatorFor(\n SkyDropdownMenuHarness.with({ selector: `#${dropdownMenuId}` })\n )();\n }\n\n /**\n * Gets the hover tooltip text.\n */\n public async getTitle(): Promise<string | null> {\n return (await this.#getDropdownButton()).getAttribute('title');\n }\n\n /**\n * Gets whether the dropdown is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n const button = await this.#getDropdownButton();\n\n return (await button.getProperty('disabled')) ? true : false;\n }\n\n /**\n * Gets whether the dropdown menu is open.\n */\n public async isOpen(): Promise<boolean> {\n const ariaExpanded = await (\n await this.#getDropdownButton()\n ).getAttribute('aria-expanded');\n\n if (ariaExpanded === 'true') {\n return true;\n }\n\n return false;\n }\n\n /**\n * Gets the element ID of the dropdown menu that the dropdown button controls.\n */\n async #getAriaControls(): Promise<string | null> {\n return (await this.#getDropdownButton()).getAttribute('aria-controls');\n }\n}\n","import {\n ComponentHarness,\n HarnessQuery,\n TestElement,\n} from '@angular/cdk/testing';\n\n/**\n * Harness for interacting with a popover body in tests.\n * @internal\n */\nexport class SkyPopoverBodyHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = '.sky-popover-body';\n\n /**\n * Returns a child harness.\n */\n public async queryHarness<T extends ComponentHarness>(\n harness: HarnessQuery<T>\n ): Promise<T | null> {\n return this.locatorForOptional(harness)();\n }\n\n /**\n * Returns child harnesses.\n */\n public async queryHarnesses<T extends ComponentHarness>(\n harness: HarnessQuery<T>\n ): Promise<T[]> {\n return this.locatorForAll(harness)();\n }\n\n /**\n * Returns a child test element.\n */\n public async querySelector(selector: string): Promise<TestElement | null> {\n return this.locatorForOptional(selector)();\n }\n\n /**\n * Returns child test elements.\n */\n public async querySelectorAll(selector: string): Promise<TestElement[]> {\n return this.locatorForAll(selector)();\n }\n\n /**\n * Gets the text of the popover content body.\n */\n public async getText(): Promise<string> {\n return (await this.host()).text();\n }\n}\n","import {\n ComponentHarness,\n HarnessPredicate,\n HarnessQuery,\n TestElement,\n} from '@angular/cdk/testing';\nimport { SkyOverlayHarness } from '@skyux/core/testing';\n\nimport { SkyPopoverBodyHarness } from './popover-body-harness';\nimport { SkyPopoverContentHarnessFilters } from './popover-content-harness-filters';\n\n/**\n * Harness for interacting with a popover content component in tests.\n */\nexport class SkyPopoverContentHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-popover-content';\n\n #getBody = this.locatorFor(SkyPopoverBodyHarness);\n #getContainer = this.locatorFor('.sky-popover-container');\n #getOverlay =\n this.documentRootLocatorFactory().locatorForOptional(SkyOverlayHarness);\n #getTitle = this.locatorForOptional('.sky-popover-title');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyPopoverContentHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyPopoverContentHarnessFilters\n ): HarnessPredicate<SkyPopoverContentHarness> {\n return new HarnessPredicate(SkyPopoverContentHarness, filters);\n }\n\n /**\n * Returns a child harness.\n */\n public async queryHarness<T extends ComponentHarness>(\n harness: HarnessQuery<T>\n ): Promise<T | null> {\n return (await this.#getBody()).queryHarness(harness);\n }\n\n /**\n * Returns child harnesses.\n */\n public async queryHarnesses<T extends ComponentHarness>(\n harness: HarnessQuery<T>\n ): Promise<T[]> {\n return (await this.#getBody()).queryHarnesses(harness);\n }\n\n /**\n * Returns a child test element.\n */\n public async querySelector(selector: string): Promise<TestElement | null> {\n return (await this.#getBody()).querySelector(selector);\n }\n\n /**\n * Returns child test elements.\n */\n public async querySelectorAll(selector: string): Promise<TestElement[]> {\n return (await this.#getBody()).querySelectorAll(selector);\n }\n\n /**\n * Gets the placement of the popover content.\n */\n public async getPlacement(): Promise<string> {\n const container = await this.#getContainer();\n\n for (const placement of ['left', 'right', 'above', 'below']) {\n if (await container.hasClass('sky-popover-placement-' + placement)) {\n return placement;\n }\n }\n\n // This should never happen because the placement input is always defined by the parent.\n /* istanbul ignore next */\n return '';\n }\n\n /**\n * Gets the alignment of the popover content.\n */\n public async getAlignment(): Promise<string> {\n const container = await this.#getContainer();\n\n for (const alignment of ['left', 'center', 'right']) {\n if (await container.hasClass('sky-popover-alignment-' + alignment)) {\n return alignment;\n }\n }\n\n // This should never happen because the alignment input is always defined by the parent.\n /* istanbul ignore next */\n return '';\n }\n\n /**\n * Gets the text of the popover content title.\n */\n public async getTitleText(): Promise<string | undefined> {\n return (await this.#getTitle())?.text();\n }\n\n /**\n * Gets the text of the popover content body.\n */\n public async getBodyText(): Promise<string> {\n return (await this.#getBody()).getText();\n }\n\n /**\n * Clicks out of the popover. If `dismissOnBlur` property is set to false, then the popover does not close.\n */\n public async clickOut(): Promise<void> {\n (await (await this.#getOverlay())?.host())?.click();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyPopoverContentHarness } from './popover-content-harness';\nimport { SkyPopoverHarnessFilters } from './popover-harness-filters';\n\n/**\n * Harness for interacting with a popover component in tests.\n */\nexport class SkyPopoverHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = '.sky-popover-trigger';\n\n #documentRootLocator = this.documentRootLocatorFactory();\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyPopoverHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyPopoverHarnessFilters\n ): HarnessPredicate<SkyPopoverHarness> {\n return SkyPopoverHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Toggles a popover open or closed.\n */\n public async clickPopoverButton(): Promise<void> {\n (await this.host()).click();\n }\n\n /**\n * Gets the popover content component.\n */\n public async getPopoverContent(): Promise<SkyPopoverContentHarness> {\n const content = await this.#getContent();\n if (!content) {\n throw new Error(\n 'Unable to retrieve the popover content because the popover is not open.'\n );\n }\n return content;\n }\n\n /**\n * Whether the popover is open.\n */\n public async isOpen(): Promise<boolean> {\n return !!(await this.#getContent());\n }\n\n async #getContent(): Promise<SkyPopoverContentHarness | null> {\n const popoverId = await this.#getPopoverId();\n\n return this.#documentRootLocator.locatorForOptional(\n SkyPopoverContentHarness.with({ selector: `#${popoverId}` })\n )();\n }\n\n async #getPopoverId(): Promise<string> {\n return (\n (await (await this.host()).getAttribute('data-popover-id')) ||\n /* istanbul ignore next */\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,7 +1,7 @@
|
|
|
1
1
|
import * as i1 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { NgModule, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, inject, ChangeDetectorRef, ElementRef, TemplateRef, ViewChild, EventEmitter, Optional, Output, ContentChildren, Injectable, ViewContainerRef, Inject, Directive } from '@angular/core';
|
|
4
|
+
import { NgModule, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, inject, ChangeDetectorRef, ElementRef, TemplateRef, ViewChild, EventEmitter, Optional, Output, ContentChildren, Injectable, ViewContainerRef, HostBinding, Inject, Directive } from '@angular/core';
|
|
5
5
|
import * as i1$1 from '@skyux/core';
|
|
6
6
|
import { SkyAffixService, SkyOverlayService, SKY_STACKING_CONTEXT, SkyAffixAutoFitContext, SkyAffixModule, SkyOverlayModule } from '@skyux/core';
|
|
7
7
|
import * as i2 from '@skyux/indicators';
|
|
@@ -555,7 +555,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
555
555
|
}] } });
|
|
556
556
|
|
|
557
557
|
var _SkyDropdownMenuComponent_instances, _SkyDropdownMenuComponent_ngUnsubscribe, _SkyDropdownMenuComponent__ariaRole, _SkyDropdownMenuComponent__menuIndex, _SkyDropdownMenuComponent__useNativeFocus, _SkyDropdownMenuComponent_changeDetector, _SkyDropdownMenuComponent_elementRef, _SkyDropdownMenuComponent_dropdownComponent, _SkyDropdownMenuComponent_resetItemsActiveState, _SkyDropdownMenuComponent_focusItem, _SkyDropdownMenuComponent_getItemByIndex, _SkyDropdownMenuComponent_selectItemByEventTarget, _SkyDropdownMenuComponent_sendMessage, _SkyDropdownMenuComponent_addEventListeners, _SkyDropdownMenuComponent_hasFocusableItems;
|
|
558
|
-
let nextId = 0;
|
|
558
|
+
let nextId$1 = 0;
|
|
559
559
|
/**
|
|
560
560
|
* Creates a menu that contains dropdown menu items.
|
|
561
561
|
*
|
|
@@ -611,7 +611,7 @@ class SkyDropdownMenuComponent {
|
|
|
611
611
|
* @internal
|
|
612
612
|
*/
|
|
613
613
|
this.menuChanges = new EventEmitter();
|
|
614
|
-
this.dropdownMenuId = `sky-dropdown-menu-${++nextId}`;
|
|
614
|
+
this.dropdownMenuId = `sky-dropdown-menu-${++nextId$1}`;
|
|
615
615
|
_SkyDropdownMenuComponent_ngUnsubscribe.set(this, new Subject());
|
|
616
616
|
_SkyDropdownMenuComponent__ariaRole.set(this, 'menu');
|
|
617
617
|
_SkyDropdownMenuComponent__menuIndex.set(this, 0);
|
|
@@ -1126,6 +1126,7 @@ class SkyPopoverContentComponent {
|
|
|
1126
1126
|
this.dismissOnBlur = config.dismissOnBlur;
|
|
1127
1127
|
this.enableAnimations = config.enableAnimations;
|
|
1128
1128
|
this.horizontalAlignment = config.horizontalAlignment;
|
|
1129
|
+
this.popoverId = config.id;
|
|
1129
1130
|
this.placement = config.placement;
|
|
1130
1131
|
this.popoverTitle = config.popoverTitle;
|
|
1131
1132
|
this.popoverType = config.popoverType;
|
|
@@ -1253,13 +1254,16 @@ _SkyPopoverContentComponent_caller = new WeakMap(), _SkyPopoverContentComponent_
|
|
|
1253
1254
|
});
|
|
1254
1255
|
};
|
|
1255
1256
|
SkyPopoverContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyPopoverContentComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1$1.SkyAffixService }, { token: i1$1.SkyCoreAdapterService }, { token: SkyPopoverAdapterService }, { token: SkyPopoverContext }, { token: i4.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1256
|
-
SkyPopoverContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyPopoverContentComponent, selector: "sky-popover-content", providers: [SkyPopoverAdapterService], viewQueries: [{ propertyName: "arrowRef", first: true, predicate: ["arrowRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "popoverRef", first: true, predicate: ["popoverRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "contentTarget", first: true, predicate: ["contentTarget"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-popover-container sky-popover-max-height\"\n [@.disabled]=\"!enableAnimations\"\n [@skyPopoverAnimation]=\"animationState\"\n [class.sky-popover-hidden]=\"!placement\"\n [ngClass]=\"[\n 'sky-popover-alignment-' + horizontalAlignment,\n 'sky-popover-placement-' + placement,\n 'sky-popover-' + popoverType\n ]\"\n (@skyPopoverAnimation.done)=\"onAnimationEvent($event)\"\n (@skyPopoverAnimation.start)=\"onAnimationEvent($event)\"\n #popoverRef\n>\n <div\n class=\"sky-popover\"\n tabindex=\"-1\"\n [skyThemeClass]=\"{\n 'sky-rounded-corners sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n >\n <header\n *ngIf=\"popoverTitle\"\n class=\"sky-popover-header\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg sky-margin-stacked-lg': 'modern'\n }\"\n >\n <h1\n *ngIf=\"popoverTitle\"\n class=\"sky-popover-title\"\n [skyThemeClass]=\"{\n 'sky-font-heading-4': 'default',\n 'sky-font-emphasized': 'modern'\n }\"\n >\n {{ popoverTitle }}\n </h1>\n </header>\n <div\n class=\"sky-popover-body\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg': 'modern'\n }\"\n >\n <ng-container #contentTarget></ng-container>\n </div>\n <span\n aria-hidden=\"true\"\n class=\"sky-popover-arrow\"\n [style.left.px]=\"arrowLeft\"\n [style.top.px]=\"arrowTop\"\n #arrowRef\n ></span>\n </div>\n</div>\n", styles: [".sky-popover-container{position:fixed;min-width:276px;max-width:276px}.sky-popover-container.sky-popover-hidden{visibility:hidden;opacity:0;pointer-events:none!important}.sky-popover-container.sky-popover-hidden *{pointer-events:none!important}.sky-popover-container.sky-popover-static .sky-popover-arrow{position:absolute}.sky-popover-container:focus{outline:none}@media (max-width: 276px){.sky-popover-container{max-width:100%;min-width:auto}}.sky-popover{background-color:#fff}.sky-popover-header{padding-bottom:0}.sky-popover-header+.sky-popover-body{padding-top:2px}.sky-popover-title{margin:0}.sky-popover-arrow{width:0;height:0;position:fixed;border:10px solid transparent}.sky-popover-placement-above{padding-bottom:10px}.sky-popover-placement-above .sky-popover{border-bottom:10px solid #00b4f1}.sky-popover-placement-above .sky-popover-arrow{border-bottom:0;border-top-color:#00b4f1;bottom:0;left:50%;margin-left:-10px}.sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044}.sky-popover-placement-below{padding-top:10px}.sky-popover-placement-below .sky-popover{border-top:10px solid #00b4f1}.sky-popover-placement-below .sky-popover-arrow{border-top:0;border-bottom-color:#00b4f1;top:0;left:50%;margin-left:-10px}.sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044}.sky-popover-placement-right{padding-left:10px}.sky-popover-placement-right .sky-popover{border-left:10px solid #00b4f1}.sky-popover-placement-right .sky-popover-arrow{border-left:0;border-right-color:#00b4f1;left:0;top:50%;margin-top:-10px}.sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-right-color:#ef4044}.sky-popover-placement-left{padding-right:10px}.sky-popover-placement-left .sky-popover{border-right:10px solid #00b4f1}.sky-popover-placement-left .sky-popover-arrow{border-right:0;border-left-color:#00b4f1;right:0;top:50%;margin-top:-10px}.sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-left-color:#ef4044}.sky-popover-placement-above.sky-popover-alignment-left .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-left .sky-popover-arrow{left:40px;right:auto}.sky-popover-placement-above.sky-popover-alignment-right .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-right .sky-popover-arrow{left:auto;right:40px}.sky-popover-max-height .sky-popover{overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(50vh - 50px)}:host-context(.sky-theme-modern) .sky-popover{border-radius:6px}:host-context(.sky-theme-modern) .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-above{padding-bottom:10px}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:solid 10px #00b4f1;border-right:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-right-color:#ef4044;border-top-color:transparent;border-left-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-below{padding-top:10px}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:solid 10px #00b4f1;border-left:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-left-color:#ef4044;border-bottom-color:transparent;border-right-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-right{padding-left:10px}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:solid 10px #00b4f1;border-left:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-left-color:#ef4044;border-top-color:transparent;border-right-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-left{padding-right:10px}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:solid 10px #00b4f1;border-right:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-right-color:#ef4044;border-bottom-color:transparent;border-left-color:transparent}.sky-theme-modern .sky-popover{border-radius:6px}.sky-theme-modern .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}.sky-theme-modern .sky-popover-placement-above{padding-bottom:10px}.sky-theme-modern .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:solid 10px #00b4f1;border-right:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-right-color:#ef4044;border-top-color:transparent;border-left-color:transparent}.sky-theme-modern .sky-popover-placement-below{padding-top:10px}.sky-theme-modern .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:solid 10px #00b4f1;border-left:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-left-color:#ef4044;border-bottom-color:transparent;border-right-color:transparent}.sky-theme-modern .sky-popover-placement-right{padding-left:10px}.sky-theme-modern .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:solid 10px #00b4f1;border-left:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-left-color:#ef4044;border-top-color:transparent;border-right-color:transparent}.sky-theme-modern .sky-popover-placement-left{padding-right:10px}.sky-theme-modern .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:solid 10px #00b4f1;border-right:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-right-color:#ef4044;border-bottom-color:transparent;border-left-color:transparent}\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: i4.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }], animations: [skyPopoverAnimation] });
|
|
1257
|
+
SkyPopoverContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyPopoverContentComponent, selector: "sky-popover-content", host: { properties: { "[attr.id]": "this.popoverId" } }, providers: [SkyPopoverAdapterService], viewQueries: [{ propertyName: "arrowRef", first: true, predicate: ["arrowRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "popoverRef", first: true, predicate: ["popoverRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "contentTarget", first: true, predicate: ["contentTarget"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-popover-container sky-popover-max-height\"\n [@.disabled]=\"!enableAnimations\"\n [@skyPopoverAnimation]=\"animationState\"\n [class.sky-popover-hidden]=\"!placement\"\n [ngClass]=\"[\n 'sky-popover-alignment-' + horizontalAlignment,\n 'sky-popover-placement-' + placement,\n 'sky-popover-' + popoverType\n ]\"\n (@skyPopoverAnimation.done)=\"onAnimationEvent($event)\"\n (@skyPopoverAnimation.start)=\"onAnimationEvent($event)\"\n #popoverRef\n>\n <div\n class=\"sky-popover\"\n tabindex=\"-1\"\n [skyThemeClass]=\"{\n 'sky-rounded-corners sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n >\n <header\n *ngIf=\"popoverTitle\"\n class=\"sky-popover-header\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg sky-margin-stacked-lg': 'modern'\n }\"\n >\n <h1\n *ngIf=\"popoverTitle\"\n class=\"sky-popover-title\"\n [skyThemeClass]=\"{\n 'sky-font-heading-4': 'default',\n 'sky-font-emphasized': 'modern'\n }\"\n >\n {{ popoverTitle }}\n </h1>\n </header>\n <div\n class=\"sky-popover-body\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg': 'modern'\n }\"\n >\n <ng-container #contentTarget></ng-container>\n </div>\n <span\n aria-hidden=\"true\"\n class=\"sky-popover-arrow\"\n [style.left.px]=\"arrowLeft\"\n [style.top.px]=\"arrowTop\"\n #arrowRef\n ></span>\n </div>\n</div>\n", styles: [".sky-popover-container{position:fixed;min-width:276px;max-width:276px}.sky-popover-container.sky-popover-hidden{visibility:hidden;opacity:0;pointer-events:none!important}.sky-popover-container.sky-popover-hidden *{pointer-events:none!important}.sky-popover-container.sky-popover-static .sky-popover-arrow{position:absolute}.sky-popover-container:focus{outline:none}@media (max-width: 276px){.sky-popover-container{max-width:100%;min-width:auto}}.sky-popover{background-color:#fff}.sky-popover-header{padding-bottom:0}.sky-popover-header+.sky-popover-body{padding-top:2px}.sky-popover-title{margin:0}.sky-popover-arrow{width:0;height:0;position:fixed;border:10px solid transparent}.sky-popover-placement-above{padding-bottom:10px}.sky-popover-placement-above .sky-popover{border-bottom:10px solid #00b4f1}.sky-popover-placement-above .sky-popover-arrow{border-bottom:0;border-top-color:#00b4f1;bottom:0;left:50%;margin-left:-10px}.sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044}.sky-popover-placement-below{padding-top:10px}.sky-popover-placement-below .sky-popover{border-top:10px solid #00b4f1}.sky-popover-placement-below .sky-popover-arrow{border-top:0;border-bottom-color:#00b4f1;top:0;left:50%;margin-left:-10px}.sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044}.sky-popover-placement-right{padding-left:10px}.sky-popover-placement-right .sky-popover{border-left:10px solid #00b4f1}.sky-popover-placement-right .sky-popover-arrow{border-left:0;border-right-color:#00b4f1;left:0;top:50%;margin-top:-10px}.sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-right-color:#ef4044}.sky-popover-placement-left{padding-right:10px}.sky-popover-placement-left .sky-popover{border-right:10px solid #00b4f1}.sky-popover-placement-left .sky-popover-arrow{border-right:0;border-left-color:#00b4f1;right:0;top:50%;margin-top:-10px}.sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-left-color:#ef4044}.sky-popover-placement-above.sky-popover-alignment-left .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-left .sky-popover-arrow{left:40px;right:auto}.sky-popover-placement-above.sky-popover-alignment-right .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-right .sky-popover-arrow{left:auto;right:40px}.sky-popover-max-height .sky-popover{overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(50vh - 50px)}:host-context(.sky-theme-modern) .sky-popover{border-radius:6px}:host-context(.sky-theme-modern) .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-above{padding-bottom:10px}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:solid 10px #00b4f1;border-right:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-right-color:#ef4044;border-top-color:transparent;border-left-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-below{padding-top:10px}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:solid 10px #00b4f1;border-left:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-left-color:#ef4044;border-bottom-color:transparent;border-right-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-right{padding-left:10px}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:solid 10px #00b4f1;border-left:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-left-color:#ef4044;border-top-color:transparent;border-right-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-left{padding-right:10px}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:solid 10px #00b4f1;border-right:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-right-color:#ef4044;border-bottom-color:transparent;border-left-color:transparent}.sky-theme-modern .sky-popover{border-radius:6px}.sky-theme-modern .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}.sky-theme-modern .sky-popover-placement-above{padding-bottom:10px}.sky-theme-modern .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:solid 10px #00b4f1;border-right:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-right-color:#ef4044;border-top-color:transparent;border-left-color:transparent}.sky-theme-modern .sky-popover-placement-below{padding-top:10px}.sky-theme-modern .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:solid 10px #00b4f1;border-left:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-left-color:#ef4044;border-bottom-color:transparent;border-right-color:transparent}.sky-theme-modern .sky-popover-placement-right{padding-left:10px}.sky-theme-modern .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:solid 10px #00b4f1;border-left:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-left-color:#ef4044;border-top-color:transparent;border-right-color:transparent}.sky-theme-modern .sky-popover-placement-left{padding-right:10px}.sky-theme-modern .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:solid 10px #00b4f1;border-right:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-right-color:#ef4044;border-bottom-color:transparent;border-left-color:transparent}\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: i4.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }], animations: [skyPopoverAnimation] });
|
|
1257
1258
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyPopoverContentComponent, decorators: [{
|
|
1258
1259
|
type: Component,
|
|
1259
1260
|
args: [{ selector: 'sky-popover-content', animations: [skyPopoverAnimation], providers: [SkyPopoverAdapterService], template: "<div\n class=\"sky-popover-container sky-popover-max-height\"\n [@.disabled]=\"!enableAnimations\"\n [@skyPopoverAnimation]=\"animationState\"\n [class.sky-popover-hidden]=\"!placement\"\n [ngClass]=\"[\n 'sky-popover-alignment-' + horizontalAlignment,\n 'sky-popover-placement-' + placement,\n 'sky-popover-' + popoverType\n ]\"\n (@skyPopoverAnimation.done)=\"onAnimationEvent($event)\"\n (@skyPopoverAnimation.start)=\"onAnimationEvent($event)\"\n #popoverRef\n>\n <div\n class=\"sky-popover\"\n tabindex=\"-1\"\n [skyThemeClass]=\"{\n 'sky-rounded-corners sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n >\n <header\n *ngIf=\"popoverTitle\"\n class=\"sky-popover-header\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg sky-margin-stacked-lg': 'modern'\n }\"\n >\n <h1\n *ngIf=\"popoverTitle\"\n class=\"sky-popover-title\"\n [skyThemeClass]=\"{\n 'sky-font-heading-4': 'default',\n 'sky-font-emphasized': 'modern'\n }\"\n >\n {{ popoverTitle }}\n </h1>\n </header>\n <div\n class=\"sky-popover-body\"\n [skyThemeClass]=\"{\n 'sky-padding-even-default': 'default',\n 'sky-padding-even-lg': 'modern'\n }\"\n >\n <ng-container #contentTarget></ng-container>\n </div>\n <span\n aria-hidden=\"true\"\n class=\"sky-popover-arrow\"\n [style.left.px]=\"arrowLeft\"\n [style.top.px]=\"arrowTop\"\n #arrowRef\n ></span>\n </div>\n</div>\n", styles: [".sky-popover-container{position:fixed;min-width:276px;max-width:276px}.sky-popover-container.sky-popover-hidden{visibility:hidden;opacity:0;pointer-events:none!important}.sky-popover-container.sky-popover-hidden *{pointer-events:none!important}.sky-popover-container.sky-popover-static .sky-popover-arrow{position:absolute}.sky-popover-container:focus{outline:none}@media (max-width: 276px){.sky-popover-container{max-width:100%;min-width:auto}}.sky-popover{background-color:#fff}.sky-popover-header{padding-bottom:0}.sky-popover-header+.sky-popover-body{padding-top:2px}.sky-popover-title{margin:0}.sky-popover-arrow{width:0;height:0;position:fixed;border:10px solid transparent}.sky-popover-placement-above{padding-bottom:10px}.sky-popover-placement-above .sky-popover{border-bottom:10px solid #00b4f1}.sky-popover-placement-above .sky-popover-arrow{border-bottom:0;border-top-color:#00b4f1;bottom:0;left:50%;margin-left:-10px}.sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044}.sky-popover-placement-below{padding-top:10px}.sky-popover-placement-below .sky-popover{border-top:10px solid #00b4f1}.sky-popover-placement-below .sky-popover-arrow{border-top:0;border-bottom-color:#00b4f1;top:0;left:50%;margin-left:-10px}.sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044}.sky-popover-placement-right{padding-left:10px}.sky-popover-placement-right .sky-popover{border-left:10px solid #00b4f1}.sky-popover-placement-right .sky-popover-arrow{border-left:0;border-right-color:#00b4f1;left:0;top:50%;margin-top:-10px}.sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-right-color:#ef4044}.sky-popover-placement-left{padding-right:10px}.sky-popover-placement-left .sky-popover{border-right:10px solid #00b4f1}.sky-popover-placement-left .sky-popover-arrow{border-right:0;border-left-color:#00b4f1;right:0;top:50%;margin-top:-10px}.sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-left-color:#ef4044}.sky-popover-placement-above.sky-popover-alignment-left .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-left .sky-popover-arrow{left:40px;right:auto}.sky-popover-placement-above.sky-popover-alignment-right .sky-popover-arrow,.sky-popover-placement-below.sky-popover-alignment-right .sky-popover-arrow{left:auto;right:40px}.sky-popover-max-height .sky-popover{overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(50vh - 50px)}:host-context(.sky-theme-modern) .sky-popover{border-radius:6px}:host-context(.sky-theme-modern) .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-above{padding-bottom:10px}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:solid 10px #00b4f1;border-right:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-right-color:#ef4044;border-top-color:transparent;border-left-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-below{padding-top:10px}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:solid 10px #00b4f1;border-left:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-left-color:#ef4044;border-bottom-color:transparent;border-right-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-right{padding-left:10px}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:solid 10px #00b4f1;border-left:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-left-color:#ef4044;border-top-color:transparent;border-right-color:transparent}:host-context(.sky-theme-modern) .sky-popover-placement-left{padding-right:10px}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:solid 10px #00b4f1;border-right:solid 10px #00b4f1}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}:host-context(.sky-theme-modern) .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-right-color:#ef4044;border-bottom-color:transparent;border-left-color:transparent}.sky-theme-modern .sky-popover{border-radius:6px}.sky-theme-modern .sky-popover-arrow{transform:rotate(45deg);border-color:transparent}.sky-theme-modern .sky-popover-placement-above{padding-bottom:10px}.sky-theme-modern .sky-popover-placement-above .sky-popover{border-bottom:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-above .sky-popover-arrow{bottom:1px;border-radius:0 0 3px;border-bottom:solid 10px #00b4f1;border-right:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover{border-bottom-color:#ef4044}.sky-theme-modern .sky-popover-placement-above.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-right-color:#ef4044;border-top-color:transparent;border-left-color:transparent}.sky-theme-modern .sky-popover-placement-below{padding-top:10px}.sky-theme-modern .sky-popover-placement-below .sky-popover{border-top:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-below .sky-popover-arrow{top:1px;border-radius:3px 0 0;border-top:solid 10px #00b4f1;border-left:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover{border-top-color:#ef4044}.sky-theme-modern .sky-popover-placement-below.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-left-color:#ef4044;border-bottom-color:transparent;border-right-color:transparent}.sky-theme-modern .sky-popover-placement-right{padding-left:10px}.sky-theme-modern .sky-popover-placement-right .sky-popover{border-left:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-right .sky-popover-arrow{left:1px;border-radius:0 0 0 3px;border-bottom:solid 10px #00b4f1;border-left:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover{border-left-color:#ef4044}.sky-theme-modern .sky-popover-placement-right.sky-popover-danger .sky-popover-arrow{border-bottom-color:#ef4044;border-left-color:#ef4044;border-top-color:transparent;border-right-color:transparent}.sky-theme-modern .sky-popover-placement-left{padding-right:10px}.sky-theme-modern .sky-popover-placement-left .sky-popover{border-right:6px solid #00b4f1}.sky-theme-modern .sky-popover-placement-left .sky-popover-arrow{right:1px;border-radius:0 3px 0 0;border-top:solid 10px #00b4f1;border-right:solid 10px #00b4f1}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover{border-right-color:#ef4044}.sky-theme-modern .sky-popover-placement-left.sky-popover-danger .sky-popover-arrow{border-top-color:#ef4044;border-right-color:#ef4044;border-bottom-color:transparent;border-left-color:transparent}\n"] }]
|
|
1260
1261
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1$1.SkyAffixService }, { type: i1$1.SkyCoreAdapterService }, { type: SkyPopoverAdapterService }, { type: SkyPopoverContext }, { type: i4.SkyThemeService, decorators: [{
|
|
1261
1262
|
type: Optional
|
|
1262
|
-
}] }]; }, propDecorators: {
|
|
1263
|
+
}] }]; }, propDecorators: { popoverId: [{
|
|
1264
|
+
type: HostBinding,
|
|
1265
|
+
args: ['[attr.id]']
|
|
1266
|
+
}], arrowRef: [{
|
|
1263
1267
|
type: ViewChild,
|
|
1264
1268
|
args: ['arrowRef', {
|
|
1265
1269
|
read: ElementRef,
|
|
@@ -1280,6 +1284,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
1280
1284
|
}] } });
|
|
1281
1285
|
|
|
1282
1286
|
var _SkyPopoverComponent_instances, _SkyPopoverComponent_contentRef, _SkyPopoverComponent_isMarkedForCloseOnMouseLeave, _SkyPopoverComponent_ngUnsubscribe, _SkyPopoverComponent_overlay, _SkyPopoverComponent__alignment, _SkyPopoverComponent__dismissOnBlur, _SkyPopoverComponent__placement, _SkyPopoverComponent__popoverType, _SkyPopoverComponent_overlayService, _SkyPopoverComponent_zIndex, _SkyPopoverComponent_setupOverlay;
|
|
1287
|
+
let nextId = 0;
|
|
1283
1288
|
class SkyPopoverComponent {
|
|
1284
1289
|
/**
|
|
1285
1290
|
* The horizontal alignment of the popover in relation to the trigger element.
|
|
@@ -1346,6 +1351,7 @@ class SkyPopoverComponent {
|
|
|
1346
1351
|
*/
|
|
1347
1352
|
this.enableAnimations = true;
|
|
1348
1353
|
this.isMouseEnter = false;
|
|
1354
|
+
this.popoverId = `sky-popover-${nextId++}`;
|
|
1349
1355
|
_SkyPopoverComponent_contentRef.set(this, void 0);
|
|
1350
1356
|
_SkyPopoverComponent_isMarkedForCloseOnMouseLeave.set(this, false);
|
|
1351
1357
|
_SkyPopoverComponent_ngUnsubscribe.set(this, new Subject());
|
|
@@ -1385,6 +1391,7 @@ class SkyPopoverComponent {
|
|
|
1385
1391
|
dismissOnBlur: this.dismissOnBlur,
|
|
1386
1392
|
enableAnimations: this.enableAnimations,
|
|
1387
1393
|
horizontalAlignment: this.alignment,
|
|
1394
|
+
id: this.popoverId,
|
|
1388
1395
|
isStatic: false,
|
|
1389
1396
|
placement: this.placement,
|
|
1390
1397
|
popoverTitle: this.popoverTitle,
|
|
@@ -1524,8 +1531,19 @@ var SkyPopoverMessageType;
|
|
|
1524
1531
|
SkyPopoverMessageType[SkyPopoverMessageType["Focus"] = 3] = "Focus";
|
|
1525
1532
|
})(SkyPopoverMessageType || (SkyPopoverMessageType = {}));
|
|
1526
1533
|
|
|
1527
|
-
var _SkyPopoverDirective_instances, _SkyPopoverDirective__skyPopoverMessageStream, _SkyPopoverDirective_messageStreamSub, _SkyPopoverDirective_ngUnsubscribe, _SkyPopoverDirective__trigger, _SkyPopoverDirective_elementRef, _SkyPopoverDirective_positionPopover, _SkyPopoverDirective_closePopover, _SkyPopoverDirective_closePopoverOrMarkForClose, _SkyPopoverDirective_addEventListeners, _SkyPopoverDirective_removeEventListeners, _SkyPopoverDirective_handleIncomingMessages, _SkyPopoverDirective_sendMessage, _SkyPopoverDirective_subscribeMessageStream, _SkyPopoverDirective_unsubscribeMessageStream;
|
|
1534
|
+
var _SkyPopoverDirective_instances, _SkyPopoverDirective__skyPopoverMessageStream, _SkyPopoverDirective_messageStreamSub, _SkyPopoverDirective_ngUnsubscribe, _SkyPopoverDirective__popover, _SkyPopoverDirective__trigger, _SkyPopoverDirective_elementRef, _SkyPopoverDirective_positionPopover, _SkyPopoverDirective_closePopover, _SkyPopoverDirective_closePopoverOrMarkForClose, _SkyPopoverDirective_addEventListeners, _SkyPopoverDirective_removeEventListeners, _SkyPopoverDirective_handleIncomingMessages, _SkyPopoverDirective_sendMessage, _SkyPopoverDirective_subscribeMessageStream, _SkyPopoverDirective_unsubscribeMessageStream;
|
|
1528
1535
|
class SkyPopoverDirective {
|
|
1536
|
+
/**
|
|
1537
|
+
* The popover component to display. Add this directive to the trigger element that opens the popover.
|
|
1538
|
+
* @required
|
|
1539
|
+
*/
|
|
1540
|
+
set skyPopover(value) {
|
|
1541
|
+
this.popoverId = value?.popoverId;
|
|
1542
|
+
__classPrivateFieldSet(this, _SkyPopoverDirective__popover, value, "f");
|
|
1543
|
+
}
|
|
1544
|
+
get skyPopover() {
|
|
1545
|
+
return __classPrivateFieldGet(this, _SkyPopoverDirective__popover, "f");
|
|
1546
|
+
}
|
|
1529
1547
|
/**
|
|
1530
1548
|
* The RxJS `Subject` to send commands to the popover that respect the `SkyPopoverMessage` type.
|
|
1531
1549
|
*/
|
|
@@ -1547,9 +1565,15 @@ class SkyPopoverDirective {
|
|
|
1547
1565
|
}
|
|
1548
1566
|
constructor(elementRef) {
|
|
1549
1567
|
_SkyPopoverDirective_instances.add(this);
|
|
1568
|
+
/**
|
|
1569
|
+
* Appends the `sky-popover-trigger` class to the trigger element.
|
|
1570
|
+
* @internal
|
|
1571
|
+
*/
|
|
1572
|
+
this.directiveClass = 'sky-popover-trigger';
|
|
1550
1573
|
_SkyPopoverDirective__skyPopoverMessageStream.set(this, new Subject());
|
|
1551
1574
|
_SkyPopoverDirective_messageStreamSub.set(this, void 0);
|
|
1552
1575
|
_SkyPopoverDirective_ngUnsubscribe.set(this, new Subject());
|
|
1576
|
+
_SkyPopoverDirective__popover.set(this, void 0);
|
|
1553
1577
|
_SkyPopoverDirective__trigger.set(this, 'click');
|
|
1554
1578
|
_SkyPopoverDirective_elementRef.set(this, void 0);
|
|
1555
1579
|
__classPrivateFieldSet(this, _SkyPopoverDirective_elementRef, elementRef, "f");
|
|
@@ -1570,7 +1594,7 @@ class SkyPopoverDirective {
|
|
|
1570
1594
|
__classPrivateFieldGet(this, _SkyPopoverDirective_instances, "m", _SkyPopoverDirective_sendMessage).call(this, SkyPopoverMessageType.Open);
|
|
1571
1595
|
}
|
|
1572
1596
|
}
|
|
1573
|
-
_SkyPopoverDirective__skyPopoverMessageStream = new WeakMap(), _SkyPopoverDirective_messageStreamSub = new WeakMap(), _SkyPopoverDirective_ngUnsubscribe = new WeakMap(), _SkyPopoverDirective__trigger = new WeakMap(), _SkyPopoverDirective_elementRef = new WeakMap(), _SkyPopoverDirective_instances = new WeakSet(), _SkyPopoverDirective_positionPopover = function _SkyPopoverDirective_positionPopover() {
|
|
1597
|
+
_SkyPopoverDirective__skyPopoverMessageStream = new WeakMap(), _SkyPopoverDirective_messageStreamSub = new WeakMap(), _SkyPopoverDirective_ngUnsubscribe = new WeakMap(), _SkyPopoverDirective__popover = new WeakMap(), _SkyPopoverDirective__trigger = new WeakMap(), _SkyPopoverDirective_elementRef = new WeakMap(), _SkyPopoverDirective_instances = new WeakSet(), _SkyPopoverDirective_positionPopover = function _SkyPopoverDirective_positionPopover() {
|
|
1574
1598
|
this.skyPopover?.positionNextTo(__classPrivateFieldGet(this, _SkyPopoverDirective_elementRef, "f"), this.skyPopoverPlacement, this.skyPopoverAlignment);
|
|
1575
1599
|
}, _SkyPopoverDirective_closePopover = function _SkyPopoverDirective_closePopover() {
|
|
1576
1600
|
this.skyPopover?.close();
|
|
@@ -1686,13 +1710,19 @@ _SkyPopoverDirective__skyPopoverMessageStream = new WeakMap(), _SkyPopoverDirect
|
|
|
1686
1710
|
}
|
|
1687
1711
|
};
|
|
1688
1712
|
SkyPopoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyPopoverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1689
|
-
SkyPopoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyPopoverDirective, selector: "[skyPopover]", inputs: { skyPopover: "skyPopover", skyPopoverAlignment: "skyPopoverAlignment", skyPopoverMessageStream: "skyPopoverMessageStream", skyPopoverPlacement: "skyPopoverPlacement", skyPopoverTrigger: "skyPopoverTrigger" }, ngImport: i0 });
|
|
1713
|
+
SkyPopoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyPopoverDirective, selector: "[skyPopover]", inputs: { skyPopover: "skyPopover", skyPopoverAlignment: "skyPopoverAlignment", skyPopoverMessageStream: "skyPopoverMessageStream", skyPopoverPlacement: "skyPopoverPlacement", skyPopoverTrigger: "skyPopoverTrigger" }, host: { properties: { "class": "this.directiveClass", "[attr.data-popover-id]": "this.popoverId" } }, ngImport: i0 });
|
|
1690
1714
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyPopoverDirective, decorators: [{
|
|
1691
1715
|
type: Directive,
|
|
1692
1716
|
args: [{
|
|
1693
1717
|
selector: '[skyPopover]',
|
|
1694
1718
|
}]
|
|
1695
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: {
|
|
1719
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { directiveClass: [{
|
|
1720
|
+
type: HostBinding,
|
|
1721
|
+
args: ['class']
|
|
1722
|
+
}], popoverId: [{
|
|
1723
|
+
type: HostBinding,
|
|
1724
|
+
args: ['[attr.data-popover-id]']
|
|
1725
|
+
}], skyPopover: [{
|
|
1696
1726
|
type: Input
|
|
1697
1727
|
}], skyPopoverAlignment: [{
|
|
1698
1728
|
type: Input
|