@skyux/split-view 11.32.0 → 11.34.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.
|
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
31
31
|
exports: [SkyI18nModule],
|
|
32
32
|
}]
|
|
33
33
|
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LXNwbGl0LXZpZXctcmVzb3VyY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcGxpdC12aWV3L3NyYy9saWIvbW9kdWxlcy9zaGFyZWQvc2t5LXNwbGl0LXZpZXctcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxhQUFhLEVBRWIsc0JBQXNCLEdBQ3ZCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBb0M7SUFDakQsT0FBTyxFQUFFO1FBQ1AsOEJBQThCLEVBQUU7WUFDOUIsT0FBTyxFQUNMLHNGQUFzRjtTQUN6RjtRQUNELDZCQUE2QixFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRTtLQUMzRDtDQUNGLENBQUM7QUFFRixzQkFBc0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFL0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sMkJBQTJCOytHQUEzQiwyQkFBMkI7Z0hBQTNCLDJCQUEyQixZQUY1QixhQUFhO2dIQUVaLDJCQUEyQixZQUY1QixhQUFhOzs0RkFFWiwyQkFBMkI7a0JBSHZDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1zcGxpdC12aWV3JyBzY2hlbWF0aWMuXG4gKiBUbyB1cGRhdGUgdGhpcyBmaWxlLCBzaW1wbHkgcmVydW4gdGhlIGNvbW1hbmQuXG4gKi9cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTa3lJMThuTW9kdWxlLFxuICBTa3lMaWJSZXNvdXJjZXMsXG4gIFNreUxpYlJlc291cmNlc1NlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9pMThuJztcblxuY29uc3QgUkVTT1VSQ0VTOiBSZWNvcmQ8c3RyaW5nLCBTa3lMaWJSZXNvdXJjZXM+ID0ge1xuICAnRU4tVVMnOiB7XG4gICAgc2t5dXhfc3BsaXRfdmlld19yZXNpemVfaGFuZGxlOiB7XG4gICAgICBtZXNzYWdlOlxuICAgICAgICAnUmVzaXplIHRoZSBkcmF3ZXIgcGFuZWwuIFVzZSByaWdodCBhcnJvdyBrZXkgdG8gZXhwYW5kIGFuZCBsZWZ0IGFycm93IGtleSB0byBzaHJpbmsuJyxcbiAgICB9LFxuICAgIHNreXV4X3NwbGl0X3ZpZXdfYmFja190b19saXN0OiB7IG1lc3NhZ2U6ICdCYWNrIHRvIGxpc3QnIH0sXG4gIH0sXG59O1xuXG5Ta3lMaWJSZXNvdXJjZXNTZXJ2aWNlLmFkZFJlc291cmNlcyhSRVNPVVJDRVMpO1xuXG4vKipcbiAqIEltcG9ydCBpbnRvIGFueSBjb21wb25lbnQgbGlicmFyeSBtb2R1bGUgdGhhdCBuZWVkcyB0byB1c2UgcmVzb3VyY2Ugc3RyaW5ncy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1NreUkxOG5Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTcGxpdFZpZXdSZXNvdXJjZXNNb2R1bGUge31cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-split-view-testing.mjs","sources":["../../../../../libs/components/split-view/testing/src/legacy/split-view/split-view-fixture.ts","../../../../../libs/components/split-view/testing/src/legacy/split-view/split-view-testing.module.ts","../../../../../libs/components/split-view/testing/src/modules/split-view/split-view-drawer-harness.ts","../../../../../libs/components/split-view/testing/src/modules/split-view/split-view-workspace-content-harness.ts","../../../../../libs/components/split-view/testing/src/modules/split-view/split-view-workspace-footer-harness.ts","../../../../../libs/components/split-view/testing/src/modules/split-view/split-view-workspace-header-harness.ts","../../../../../libs/components/split-view/testing/src/modules/split-view/split-view-workspace-harness.ts","../../../../../libs/components/split-view/testing/src/modules/split-view/split-view-harness.ts","../../../../../libs/components/split-view/testing/src/skyux-split-view-testing.ts"],"sourcesContent":["import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\nimport { SkySplitViewFixtureDrawer } from './split-view-fixture-drawer';\nimport { SkySplitViewFixtureWorkspace } from './split-view-fixture-workspace';\n\n/**\n * Provides information for and interaction with a SKY UX split view 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 SkySplitViewFixture {\n #debugEl: DebugElement;\n\n /**\n * Returns information about the split view's drawer component.\n */\n public get drawer(): SkySplitViewFixtureDrawer {\n const drawer = this.#getDrawer();\n\n return {\n ariaLabel: drawer.getAttribute('aria-label'),\n isVisible: !this.#drawerIsHidden(),\n width: drawer.style.width,\n };\n }\n\n /**\n * Returns information about the split view's workspace component.\n */\n public get workspace(): SkySplitViewFixtureWorkspace {\n const workspace = this.#getWorkspace();\n const backButton = this.#getBackToListButton();\n const workspaceIsHidden = this.#workspaceIsHidden();\n\n return {\n ariaLabel: workspace.getAttribute('aria-label'),\n backButtonIsVisible: !workspaceIsHidden && backButton !== undefined,\n backButtonText: SkyAppTestUtility.getText(backButton),\n isVisible: !workspaceIsHidden,\n };\n }\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-split-view',\n );\n\n // the component takes a while to initialize so we need to wait\n void this.#waitForComponent();\n }\n\n /**\n * Opens the drawer component when in responsive mode. This method clicks the back to list\n * button, if it is visible.\n */\n public async openDrawer(): Promise<void> {\n const backButton = this.#getBackToListButton();\n if (backButton !== undefined) {\n backButton.click();\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n }\n }\n\n // #region helpers\n\n #getDrawer(): HTMLElement {\n return this.#debugEl.query(By.css('.sky-split-view-drawer')).nativeElement;\n }\n\n #drawerIsHidden(): boolean {\n const drawer = this.#debugEl.query(\n By.css('.sky-split-view-drawer-flex-container'),\n ).nativeElement;\n return drawer.hasAttribute('hidden');\n }\n\n #getWorkspace(): HTMLElement {\n return this.#debugEl.query(By.css('.sky-split-view-workspace'))\n .nativeElement;\n }\n\n #workspaceIsHidden(): boolean {\n const workspace = this.#debugEl.query(\n By.css('.sky-split-view-workspace-flex-container'),\n ).nativeElement;\n return workspace.hasAttribute('hidden');\n }\n\n #getBackToListButton(): HTMLButtonElement {\n return this.#debugEl.query(\n By.css('.sky-split-view-workspace-header-content > button'),\n )?.nativeElement as HTMLButtonElement;\n }\n\n async #waitForComponent(): Promise<void> {\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n }\n\n // #endregion\n}\n","import { NgModule } from '@angular/core';\nimport { SkySplitViewModule } from '@skyux/split-view';\nimport { SkyThemeService } from '@skyux/theme';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [SkySplitViewModule],\n providers: [SkyThemeService],\n})\nexport class SkySplitViewTestingModule {}\n","import { SkyQueryableComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness to interact with the split view drawer component in tests.\n */\nexport class SkySplitViewDrawerHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-split-view-drawer';\n\n #getDrawer = this.locatorFor('.sky-split-view-drawer');\n\n /**\n * The aria-label property of the split view drawer\n */\n public async getAriaLabel(): Promise<string | null> {\n return await (await this.#getDrawer()).getAttribute('aria-label');\n }\n}\n","import { SkyQueryableComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness to interact with the split view workspace content component in tests.\n */\nexport class SkySplitViewWorkspaceContentHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-split-view-workspace-content';\n}\n","import { SkyQueryableComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness to interact with the split view workspace footer component in tests.\n */\nexport class SkySplitViewWorkspaceFooterHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-split-view-workspace-footer';\n}\n","import { TestElement } from '@angular/cdk/testing';\nimport { SkyInputHarness } from '@skyux/core/testing';\n\n/**\n * Harness to interact with the split view workspace header component in tests.\n * @internal\n */\nexport class SkySplitViewWorkspaceHeaderHarness extends SkyInputHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-split-view-workspace-header';\n\n #getButton = this.locatorFor(\n '.sky-split-view-workspace-header-content button',\n );\n\n /**\n * Gets the button element.\n * @internal\n */\n public async getBackButton(): Promise<TestElement> {\n return await this.#getButton();\n }\n}\n","import { SkyQueryableComponentHarness } from '@skyux/core/testing';\n\nimport { SkySplitViewWorkspaceContentHarness } from './split-view-workspace-content-harness';\nimport { SkySplitViewWorkspaceFooterHarness } from './split-view-workspace-footer-harness';\nimport { SkySplitViewWorkspaceHeaderHarness } from './split-view-workspace-header-harness';\n\n/**\n * Harness to interact with the split view workspace component in tests.\n */\nexport class SkySplitViewWorkspaceHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-split-view-workspace';\n\n #getContent = this.locatorForOptional(SkySplitViewWorkspaceContentHarness);\n #getFooter = this.locatorForOptional(SkySplitViewWorkspaceFooterHarness);\n #getHeader = this.locatorForOptional(SkySplitViewWorkspaceHeaderHarness);\n #getWorkspace = this.locatorFor('.sky-split-view-workspace');\n\n /**\n * The aria-label property of the split view workspace\n */\n public async getAriaLabel(): Promise<string | null> {\n return await (await this.#getWorkspace()).getAttribute('aria-label');\n }\n\n /**\n * Gets the workspace content component.\n */\n public async getContent(): Promise<SkySplitViewWorkspaceContentHarness> {\n const content = await this.#getContent();\n if (content === null) {\n throw Error('Could not find split view workspace content.');\n }\n\n return content;\n }\n\n /**\n * Gets the workspace footer component.\n */\n public async getFooter(): Promise<SkySplitViewWorkspaceFooterHarness> {\n const footer = await this.#getFooter();\n\n if (footer === null) {\n throw Error('Could not find split view workspace footer.');\n }\n\n return footer;\n }\n\n /**\n * Gets the workspace header component.\n * @internal\n */\n public async getHeader(): Promise<SkySplitViewWorkspaceHeaderHarness> {\n const header = await this.#getHeader();\n\n if (header === null) {\n throw Error('Could not find split view workspace header.');\n }\n\n return header;\n }\n}\n","import { HarnessPredicate, TestElement } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkySplitViewDockType } from '@skyux/split-view';\n\nimport { SkySplitViewDrawerHarness } from './split-view-drawer-harness';\nimport { SkySplitViewHarnessFilters } from './split-view-harness-filters';\nimport { SkySplitViewWorkspaceHarness } from './split-view-workspace-harness';\n\n/**\n * Harness for interacting with a split view component in tests.\n */\nexport class SkySplitViewHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-split-view';\n\n #getSplitView = this.locatorFor('.sky-split-view');\n #getSplitViewDrawer = this.locatorForOptional(SkySplitViewDrawerHarness);\n #getSplitViewDrawerContainer = this.locatorFor(\n '.sky-split-view-drawer-flex-container',\n );\n #getSplitViewWorkspace = this.locatorForOptional(\n SkySplitViewWorkspaceHarness,\n );\n #getSplitViewWorkspaceContainer = this.locatorFor(\n '.sky-split-view-workspace-flex-container',\n );\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkySplitViewHarness` that meets certain criteria.\n */\n public static with(\n filters: SkySplitViewHarnessFilters,\n ): HarnessPredicate<SkySplitViewHarness> {\n return SkySplitViewHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the text for the button that appears in the workspace header in responsive mode.\n */\n public async getBackButtonText(): Promise<string> {\n return (await (await this.#getBackButton()).text()).trim();\n }\n\n /**\n * Gets the type of dock style on the split view.\n */\n public async getDockType(): Promise<SkySplitViewDockType> {\n const dockClass = await (\n await this.#getSplitView()\n ).hasClass('sky-split-view-dock-fill');\n\n return dockClass ? 'fill' : 'none';\n }\n\n /**\n * Gets a 'SkySplitViewDrawerHarness`.\n */\n public async getDrawer(): Promise<SkySplitViewDrawerHarness> {\n const drawer = await this.#getSplitViewDrawer();\n\n if (!drawer) {\n throw Error('Could not find split view drawer.');\n }\n\n return drawer;\n }\n\n /**\n * Whether the drawer component is visible\n */\n public async getDrawerIsVisible(): Promise<boolean> {\n const drawerContainer = await this.#getSplitViewDrawerContainer();\n return (await drawerContainer.getAttribute('hidden')) === null;\n }\n\n /**\n * Gets a `SkySplitViewWorkspaceHarness`.\n */\n public async getWorkspace(): Promise<SkySplitViewWorkspaceHarness> {\n const workspace = await this.#getSplitViewWorkspace();\n\n if (!workspace) {\n throw Error('Could not find split view workspace.');\n }\n\n return workspace;\n }\n\n /**\n * Whether the workspace component is visible.\n */\n public async getWorkspaceIsVisible(): Promise<boolean> {\n const workspaceContainer = await this.#getSplitViewWorkspaceContainer();\n return (await workspaceContainer.getAttribute('hidden')) === null;\n }\n\n /**\n * Opens the drawer component when in responsive mode.\n */\n public async openDrawer(): Promise<void> {\n const button = await this.#getBackButton();\n\n await button.click();\n }\n\n async #getBackButton(): Promise<TestElement> {\n const workspace = await this.getWorkspace();\n return await (await workspace.getHeader()).getBackButton();\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-split-view-testing.mjs","sources":["../../../../../libs/components/split-view/testing/src/legacy/split-view/split-view-fixture.ts","../../../../../libs/components/split-view/testing/src/legacy/split-view/split-view-testing.module.ts","../../../../../libs/components/split-view/testing/src/modules/split-view/split-view-drawer-harness.ts","../../../../../libs/components/split-view/testing/src/modules/split-view/split-view-workspace-content-harness.ts","../../../../../libs/components/split-view/testing/src/modules/split-view/split-view-workspace-footer-harness.ts","../../../../../libs/components/split-view/testing/src/modules/split-view/split-view-workspace-header-harness.ts","../../../../../libs/components/split-view/testing/src/modules/split-view/split-view-workspace-harness.ts","../../../../../libs/components/split-view/testing/src/modules/split-view/split-view-harness.ts","../../../../../libs/components/split-view/testing/src/skyux-split-view-testing.ts"],"sourcesContent":["import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\nimport { SkySplitViewFixtureDrawer } from './split-view-fixture-drawer';\nimport { SkySplitViewFixtureWorkspace } from './split-view-fixture-workspace';\n\n/**\n * Provides information for and interaction with a SKY UX split view 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 SkySplitViewFixture {\n #debugEl: DebugElement;\n\n /**\n * Returns information about the split view's drawer component.\n */\n public get drawer(): SkySplitViewFixtureDrawer {\n const drawer = this.#getDrawer();\n\n return {\n ariaLabel: drawer.getAttribute('aria-label'),\n isVisible: !this.#drawerIsHidden(),\n width: drawer.style.width,\n };\n }\n\n /**\n * Returns information about the split view's workspace component.\n */\n public get workspace(): SkySplitViewFixtureWorkspace {\n const workspace = this.#getWorkspace();\n const backButton = this.#getBackToListButton();\n const workspaceIsHidden = this.#workspaceIsHidden();\n\n return {\n ariaLabel: workspace.getAttribute('aria-label'),\n backButtonIsVisible: !workspaceIsHidden && backButton !== undefined,\n backButtonText: SkyAppTestUtility.getText(backButton),\n isVisible: !workspaceIsHidden,\n };\n }\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-split-view',\n );\n\n // the component takes a while to initialize so we need to wait\n void this.#waitForComponent();\n }\n\n /**\n * Opens the drawer component when in responsive mode. This method clicks the back to list\n * button, if it is visible.\n */\n public async openDrawer(): Promise<void> {\n const backButton = this.#getBackToListButton();\n if (backButton !== undefined) {\n backButton.click();\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n }\n }\n\n // #region helpers\n\n #getDrawer(): HTMLElement {\n return this.#debugEl.query(By.css('.sky-split-view-drawer')).nativeElement;\n }\n\n #drawerIsHidden(): boolean {\n const drawer = this.#debugEl.query(\n By.css('.sky-split-view-drawer-flex-container'),\n ).nativeElement;\n return drawer.hasAttribute('hidden');\n }\n\n #getWorkspace(): HTMLElement {\n return this.#debugEl.query(By.css('.sky-split-view-workspace'))\n .nativeElement;\n }\n\n #workspaceIsHidden(): boolean {\n const workspace = this.#debugEl.query(\n By.css('.sky-split-view-workspace-flex-container'),\n ).nativeElement;\n return workspace.hasAttribute('hidden');\n }\n\n #getBackToListButton(): HTMLButtonElement {\n return this.#debugEl.query(\n By.css('.sky-split-view-workspace-header-content > button'),\n )?.nativeElement as HTMLButtonElement;\n }\n\n async #waitForComponent(): Promise<void> {\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n }\n\n // #endregion\n}\n","import { NgModule } from '@angular/core';\nimport { SkySplitViewModule } from '@skyux/split-view';\nimport { SkyThemeService } from '@skyux/theme';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [SkySplitViewModule],\n providers: [SkyThemeService],\n})\nexport class SkySplitViewTestingModule {}\n","import { SkyQueryableComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness to interact with the split view drawer component in tests.\n */\nexport class SkySplitViewDrawerHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-split-view-drawer';\n\n #getDrawer = this.locatorFor('.sky-split-view-drawer');\n\n /**\n * The aria-label property of the split view drawer\n */\n public async getAriaLabel(): Promise<string | null> {\n return await (await this.#getDrawer()).getAttribute('aria-label');\n }\n}\n","import { SkyQueryableComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness to interact with the split view workspace content component in tests.\n */\nexport class SkySplitViewWorkspaceContentHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-split-view-workspace-content';\n}\n","import { SkyQueryableComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness to interact with the split view workspace footer component in tests.\n */\nexport class SkySplitViewWorkspaceFooterHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-split-view-workspace-footer';\n}\n","import { TestElement } from '@angular/cdk/testing';\nimport { SkyInputHarness } from '@skyux/core/testing';\n\n/**\n * Harness to interact with the split view workspace header component in tests.\n * @internal\n */\nexport class SkySplitViewWorkspaceHeaderHarness extends SkyInputHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-split-view-workspace-header';\n\n #getButton = this.locatorFor(\n '.sky-split-view-workspace-header-content button',\n );\n\n /**\n * Gets the button element.\n * @internal\n */\n public async getBackButton(): Promise<TestElement> {\n return await this.#getButton();\n }\n}\n","import { SkyQueryableComponentHarness } from '@skyux/core/testing';\n\nimport { SkySplitViewWorkspaceContentHarness } from './split-view-workspace-content-harness';\nimport { SkySplitViewWorkspaceFooterHarness } from './split-view-workspace-footer-harness';\nimport { SkySplitViewWorkspaceHeaderHarness } from './split-view-workspace-header-harness';\n\n/**\n * Harness to interact with the split view workspace component in tests.\n */\nexport class SkySplitViewWorkspaceHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-split-view-workspace';\n\n #getContent = this.locatorForOptional(SkySplitViewWorkspaceContentHarness);\n #getFooter = this.locatorForOptional(SkySplitViewWorkspaceFooterHarness);\n #getHeader = this.locatorForOptional(SkySplitViewWorkspaceHeaderHarness);\n #getWorkspace = this.locatorFor('.sky-split-view-workspace');\n\n /**\n * The aria-label property of the split view workspace\n */\n public async getAriaLabel(): Promise<string | null> {\n return await (await this.#getWorkspace()).getAttribute('aria-label');\n }\n\n /**\n * Gets the workspace content component.\n */\n public async getContent(): Promise<SkySplitViewWorkspaceContentHarness> {\n const content = await this.#getContent();\n if (content === null) {\n throw Error('Could not find split view workspace content.');\n }\n\n return content;\n }\n\n /**\n * Gets the workspace footer component.\n */\n public async getFooter(): Promise<SkySplitViewWorkspaceFooterHarness> {\n const footer = await this.#getFooter();\n\n if (footer === null) {\n throw Error('Could not find split view workspace footer.');\n }\n\n return footer;\n }\n\n /**\n * Gets the workspace header component.\n * @internal\n */\n public async getHeader(): Promise<SkySplitViewWorkspaceHeaderHarness> {\n const header = await this.#getHeader();\n\n if (header === null) {\n throw Error('Could not find split view workspace header.');\n }\n\n return header;\n }\n}\n","import { HarnessPredicate, TestElement } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkySplitViewDockType } from '@skyux/split-view';\n\nimport { SkySplitViewDrawerHarness } from './split-view-drawer-harness';\nimport { SkySplitViewHarnessFilters } from './split-view-harness-filters';\nimport { SkySplitViewWorkspaceHarness } from './split-view-workspace-harness';\n\n/**\n * Harness for interacting with a split view component in tests.\n */\nexport class SkySplitViewHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-split-view';\n\n #getSplitView = this.locatorFor('.sky-split-view');\n #getSplitViewDrawer = this.locatorForOptional(SkySplitViewDrawerHarness);\n #getSplitViewDrawerContainer = this.locatorFor(\n '.sky-split-view-drawer-flex-container',\n );\n #getSplitViewWorkspace = this.locatorForOptional(\n SkySplitViewWorkspaceHarness,\n );\n #getSplitViewWorkspaceContainer = this.locatorFor(\n '.sky-split-view-workspace-flex-container',\n );\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkySplitViewHarness` that meets certain criteria.\n */\n public static with(\n filters: SkySplitViewHarnessFilters,\n ): HarnessPredicate<SkySplitViewHarness> {\n return SkySplitViewHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the text for the button that appears in the workspace header in responsive mode.\n */\n public async getBackButtonText(): Promise<string> {\n return (await (await this.#getBackButton()).text()).trim();\n }\n\n /**\n * Gets the type of dock style on the split view.\n */\n public async getDockType(): Promise<SkySplitViewDockType> {\n const dockClass = await (\n await this.#getSplitView()\n ).hasClass('sky-split-view-dock-fill');\n\n return dockClass ? 'fill' : 'none';\n }\n\n /**\n * Gets a 'SkySplitViewDrawerHarness`.\n */\n public async getDrawer(): Promise<SkySplitViewDrawerHarness> {\n const drawer = await this.#getSplitViewDrawer();\n\n if (!drawer) {\n throw Error('Could not find split view drawer.');\n }\n\n return drawer;\n }\n\n /**\n * Whether the drawer component is visible\n */\n public async getDrawerIsVisible(): Promise<boolean> {\n const drawerContainer = await this.#getSplitViewDrawerContainer();\n return (await drawerContainer.getAttribute('hidden')) === null;\n }\n\n /**\n * Gets a `SkySplitViewWorkspaceHarness`.\n */\n public async getWorkspace(): Promise<SkySplitViewWorkspaceHarness> {\n const workspace = await this.#getSplitViewWorkspace();\n\n if (!workspace) {\n throw Error('Could not find split view workspace.');\n }\n\n return workspace;\n }\n\n /**\n * Whether the workspace component is visible.\n */\n public async getWorkspaceIsVisible(): Promise<boolean> {\n const workspaceContainer = await this.#getSplitViewWorkspaceContainer();\n return (await workspaceContainer.getAttribute('hidden')) === null;\n }\n\n /**\n * Opens the drawer component when in responsive mode.\n */\n public async openDrawer(): Promise<void> {\n const button = await this.#getBackButton();\n\n await button.click();\n }\n\n async #getBackButton(): Promise<TestElement> {\n const workspace = await this.getWorkspace();\n return await (await workspace.getHeader()).getBackButton();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-split-view.mjs","sources":["../../../../../libs/components/split-view/src/lib/modules/shared/sky-split-view-resources.module.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view.service.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-drawer.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-drawer.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-content.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-content.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-footer.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-footer.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-header.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-header.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-adapter.service.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/types/split-view-message-type.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view.module.ts","../../../../../libs/components/split-view/src/index.ts","../../../../../libs/components/split-view/src/skyux-split-view.ts"],"sourcesContent":["/* istanbul ignore file */\n\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-split-view' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_split_view_resize_handle: {\n message:\n 'Resize the drawer panel. Use right arrow key to expand and left arrow key to shrink.',\n },\n skyux_split_view_back_to_list: { message: 'Back to list' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkySplitViewResourcesModule {}\n","import { ElementRef, Injectable, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { SkyMediaQueryService } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\n/**\n * Internal service for operations between the split view drawer and workspace.\n * @internal\n */\n@Injectable()\nexport class SkySplitViewService {\n public get backButtonTextStream(): Observable<string> {\n return this.#_backButtonTextStream;\n }\n\n public drawerVisible = new BehaviorSubject<boolean>(true);\n\n public splitViewElementRef: ElementRef | undefined;\n\n public set isMobile(value: boolean) {\n this.#_isMobile = value;\n }\n\n public get isMobile(): boolean {\n return this.#_isMobile;\n }\n\n public get isMobileStream(): Observable<boolean> {\n return this.#_isMobileStream;\n }\n\n #_backButtonTextStream = new BehaviorSubject<string>('');\n #_isMobile = false;\n #_isMobileStream = new BehaviorSubject<boolean>(false);\n\n constructor(resources: SkyLibResourcesService) {\n // Set default back button text.\n resources\n .getString('skyux_split_view_back_to_list')\n .pipe(take(1))\n .subscribe((resource) => {\n this.updateBackButtonText(resource);\n });\n\n // Set breakpoint.\n inject(SkyMediaQueryService)\n .breakpointChange.pipe(takeUntilDestroyed())\n .subscribe((breakpoint) => {\n const nowMobile = breakpoint === 'xs';\n\n if (nowMobile && !this.isMobile) {\n // switching to mobile\n this.#_isMobileStream.next(true);\n this.drawerVisible.next(false);\n } else if (!nowMobile && this.isMobile) {\n // switching to widescreen\n this.#_isMobileStream.next(false);\n this.drawerVisible.next(true);\n }\n this.isMobile = nowMobile;\n });\n }\n\n public backButtonClick(): void {\n this.drawerVisible.next(true);\n }\n\n public updateBackButtonText(text: string): void {\n this.#_backButtonTextStream.next(text);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { SkyAppWindowRef, SkyCoreAdapterService } from '@skyux/core';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil, takeWhile } from 'rxjs/operators';\n\nimport { SkySplitViewResourcesModule } from '../shared/sky-split-view-resources.module';\n\nimport { SkySplitViewService } from './split-view.service';\n\nlet skySplitViewNextId = 0;\n\n/**\n * Specifies the content to display in the split view's list panel.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, SkySplitViewResourcesModule],\n selector: 'sky-split-view-drawer',\n standalone: true,\n styleUrl: './split-view-drawer.component.scss',\n templateUrl: './split-view-drawer.component.html',\n})\nexport class SkySplitViewDrawerComponent implements OnInit, OnDestroy {\n /**\n * The ARIA label for the list panel. This sets the panel's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public ariaLabel: string | undefined;\n\n /**\n * Sets the list panel's width in pixels.\n * @default 320\n */\n @Input()\n public set width(value: number | undefined) {\n if (value) {\n this.#_width = Number(value);\n this.#changeDetectorRef.markForCheck();\n }\n }\n\n public get width(): number | undefined {\n // TODO: Logic in a getter is a SKY UX anti-pattern, but fixing this would\n // require a significant amount of refactoring.\n if (this.isMobile) {\n return undefined;\n }\n\n if (this.#_width !== undefined) {\n if (this.#_width > this.widthMax) {\n return this.widthMax;\n } else if (this.#_width < this.widthMin) {\n return this.widthMin;\n }\n }\n\n return this.#_width || this.widthDefault;\n }\n\n public isMobile = false;\n\n public splitViewDrawerId: string;\n\n public widthDefault = 320;\n\n // Max needs to start as something to allow input range to work.\n // This value is updated as soon as the user takes action.\n public widthMax = 9999;\n\n public widthMin = 100;\n\n public widthTolerance = 100;\n\n #isDragging = false;\n #ngUnsubscribe = new Subject<void>();\n #xCoord = 0;\n #changeDetectorRef: ChangeDetectorRef;\n #coreAdapterService: SkyCoreAdapterService;\n #splitViewSvc: SkySplitViewService;\n #windowRef: SkyAppWindowRef;\n\n #_width: number | undefined;\n\n constructor(\n changeDetectorRef: ChangeDetectorRef,\n coreAdapterService: SkyCoreAdapterService,\n splitViewSvc: SkySplitViewService,\n windowRef: SkyAppWindowRef,\n ) {\n this.#changeDetectorRef = changeDetectorRef;\n this.#coreAdapterService = coreAdapterService;\n this.#splitViewSvc = splitViewSvc;\n this.#windowRef = windowRef;\n\n this.splitViewDrawerId = `sky-split-view-drawer-${++skySplitViewNextId}`;\n }\n\n public ngOnInit(): void {\n this.#setMaxWidth();\n\n this.#splitViewSvc.isMobileStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((mobile: boolean) => {\n this.isMobile = mobile;\n this.#changeDetectorRef.markForCheck();\n });\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public onResizeHandleMouseDown(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n\n this.#setMaxWidth();\n this.#isDragging = true;\n this.#xCoord = event.clientX;\n\n this.#coreAdapterService.toggleIframePointerEvents(false);\n\n fromEvent<MouseEvent>(document, 'mousemove')\n .pipe(\n takeUntil(this.#ngUnsubscribe),\n takeWhile(() => {\n return this.#isDragging;\n }),\n )\n .subscribe((moveEvent) => {\n this.onMouseMove(moveEvent);\n });\n\n fromEvent(document, 'mouseup')\n .pipe(\n takeUntil(this.#ngUnsubscribe),\n takeWhile(() => {\n return this.#isDragging;\n }),\n )\n .subscribe(() => {\n this.onHandleRelease();\n });\n }\n\n public onMouseMove(event: MouseEvent): void {\n /* Sanity check */\n /* istanbul ignore if */\n if (!this.#isDragging || this.width === undefined) {\n return;\n }\n\n const offsetX = event.clientX - this.#xCoord;\n let width = this.width;\n\n width += offsetX;\n\n if (width < this.widthMin || width > this.widthMax) {\n return;\n }\n\n this.width = width;\n\n this.#xCoord = event.clientX;\n this.#changeDetectorRef.markForCheck();\n }\n\n public onHandleRelease(): void {\n this.#isDragging = false;\n this.#coreAdapterService.toggleIframePointerEvents(true);\n this.#changeDetectorRef.markForCheck();\n }\n\n public onResizeHandleChange(event: Event): void {\n this.width = +(event.target as HTMLInputElement).value;\n this.#setMaxWidth();\n }\n\n @HostListener('window:resize', ['$event'])\n public onWindowResize(): void {\n const window = this.#windowRef.nativeWindow;\n\n // If window size is smaller than width + tolerance, shrink width.\n if (\n !this.isMobile &&\n this.width !== undefined &&\n window.innerWidth < this.width + this.widthTolerance\n ) {\n this.width = window.innerWidth - this.widthTolerance;\n }\n }\n\n #setMaxWidth(): void {\n const splitView =\n this.#splitViewSvc.splitViewElementRef?.nativeElement.querySelector(\n '.sky-split-view',\n );\n this.widthMax = splitView.clientWidth - this.widthTolerance;\n }\n}\n","<div\n class=\"sky-split-view-drawer\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n [id]=\"splitViewDrawerId\"\n [style.width.px]=\"width\"\n>\n <ng-content />\n @if (!isMobile && width !== undefined) {\n <input\n aria-orientation=\"vertical\"\n class=\"sky-split-view-resize-handle\"\n step=\"10\"\n type=\"range\"\n [attr.aria-controls]=\"splitViewDrawerId\"\n [attr.aria-label]=\"'skyux_split_view_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"widthMax\"\n [attr.aria-valuemin]=\"widthMin\"\n [attr.aria-valuenow]=\"width\"\n [attr.aria-valuetext]=\"width + ' pixels wide'\"\n [max]=\"widthMax\"\n [min]=\"widthMin\"\n [style.left.px]=\"width - 7\"\n [value]=\"width\"\n (change)=\"onResizeHandleChange($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n />\n }\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { SkyResponsiveHostDirective } from '@skyux/core';\n\n/**\n * Specifies the content to display in the split view's workspace panel.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabindex: '0',\n },\n hostDirectives: [SkyResponsiveHostDirective],\n selector: 'sky-split-view-workspace-content',\n standalone: true,\n styleUrl: './split-view-workspace-content.component.scss',\n templateUrl: './split-view-workspace-content.component.html',\n})\nexport class SkySplitViewWorkspaceContentComponent {}\n","<div class=\"sky-split-view-workspace-content\">\n <ng-content />\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { SkyResponsiveHostDirective } from '@skyux/core';\n\n/**\n * Specifies the footer to display in the split view's workspace panel. This component is often used with a summary action bar.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [SkyResponsiveHostDirective],\n selector: 'sky-split-view-workspace-footer',\n standalone: true,\n styleUrl: './split-view-workspace-footer.component.scss',\n templateUrl: './split-view-workspace-footer.component.html',\n})\nexport class SkySplitViewWorkspaceFooterComponent {}\n","<div class=\"sky-split-view-workspace-footer\">\n <ng-content />\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkySplitViewService } from './split-view.service';\n\n/**\n * Specifies the header to display in the split view's workspace panel.\n * @internal\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkyIconModule],\n selector: 'sky-split-view-workspace-header',\n standalone: true,\n styleUrl: './split-view-workspace-header.component.scss',\n templateUrl: './split-view-workspace-header.component.html',\n})\nexport class SkySplitViewWorkspaceHeaderComponent implements OnDestroy, OnInit {\n public backButtonText: string | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n #splitViewSvc: SkySplitViewService;\n\n constructor(splitViewSvc: SkySplitViewService) {\n this.#splitViewSvc = splitViewSvc;\n }\n\n public ngOnInit(): void {\n this.#splitViewSvc.backButtonTextStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((text: string) => {\n this.backButtonText = text;\n });\n }\n\n public onShowDrawerButtonClick(): void {\n this.#splitViewSvc.backButtonClick();\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n}\n","<div class=\"sky-split-view-workspace-header\">\n <div class=\"sky-split-view-workspace-header-content\">\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"onShowDrawerButtonClick()\"\n >\n <sky-icon icon=\"chevron-left\" />\n {{ backButtonText }}\n </button>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n inject,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SkyMediaQueryService } from '@skyux/core';\n\nimport { SkySplitViewWorkspaceHeaderComponent } from './split-view-workspace-header.component';\n\n/**\n * Contains the content, footer, and header to display in the split view's workspace panel.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkySplitViewWorkspaceHeaderComponent],\n selector: 'sky-split-view-workspace',\n standalone: true,\n styleUrl: './split-view-workspace.component.scss',\n templateUrl: './split-view-workspace.component.html',\n})\nexport class SkySplitViewWorkspaceComponent {\n // Use the parent's breakpoint since the mobile header should only appear when\n // the split view container as a whole reaches the \"xs\" breakpoint, not just\n // the workspace area.\n protected breakpoint = toSignal(\n inject(SkyMediaQueryService, { skipSelf: true }).breakpointChange,\n );\n\n /**\n * The ARIA label for the workspace panel. This sets the panel's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public ariaLabel: string | undefined;\n}\n","<div\n class=\"sky-split-view-workspace\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n>\n @if (breakpoint() === 'xs') {\n <sky-split-view-workspace-header />\n }\n <ng-content select=\"sky-split-view-workspace-content\" />\n <ng-content select=\"sky-split-view-workspace-footer\" />\n</div>\n","import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\nimport { SkyAppWindowRef, SkyMutationObserverService } from '@skyux/core';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\n/**\n * Adapter service for use when the split view component needs to manipulate the DOM\n * @internal\n */\n@Injectable()\nexport class SkySplitViewAdapterService {\n #observer: MutationObserver | undefined;\n #renderer: Renderer2;\n #observerSvc: SkyMutationObserverService;\n #rendererFactory: RendererFactory2;\n #windowRef: SkyAppWindowRef;\n\n constructor(\n observerSvc: SkyMutationObserverService,\n rendererFactory: RendererFactory2,\n windowRef: SkyAppWindowRef,\n ) {\n this.#observerSvc = observerSvc;\n this.#rendererFactory = rendererFactory;\n this.#windowRef = windowRef;\n\n this.#renderer = this.#rendererFactory.createRenderer(undefined, null);\n }\n\n public bindHeightToWindow(\n elementRef: ElementRef,\n unsubscribeSubject: Subject<void>,\n ): void {\n /*istanbul ignore else*/\n if (elementRef.nativeElement.offsetParent === document.body) {\n this.#observer = this.#observerSvc.create(() => {\n this.#setSplitViewBoundHeights(elementRef);\n });\n\n fromEvent(this.#windowRef.nativeWindow, 'resize')\n .pipe(takeUntil(unsubscribeSubject))\n .subscribe(() => {\n this.#setSplitViewBoundHeights(elementRef);\n });\n\n const config = {\n attributes: true,\n attributeFilter: ['style'],\n childList: false,\n characterDate: false,\n };\n\n // This observer makes sure that the split view reacts if the body styling is change but thing\n // such as the action bar.\n this.#observer.observe(document.body, config);\n this.#setSplitViewBoundHeights(elementRef);\n\n unsubscribeSubject.pipe(take(1)).subscribe(() => {\n this.#observer?.disconnect();\n const splitViewElement =\n elementRef.nativeElement.querySelector('.sky-split-view');\n this.#renderer.removeStyle(splitViewElement, 'max-height');\n this.#renderer.removeStyle(splitViewElement, 'min-height');\n });\n }\n }\n\n #setSplitViewBoundHeights(elementRef: ElementRef): void {\n const splitViewElement =\n elementRef.nativeElement.querySelector('.sky-split-view');\n const offsetTop = splitViewElement.offsetTop;\n const marginBottom = document.body.style.marginBottom\n ? document.body.style.marginBottom\n : '0px';\n this.#renderer.setStyle(\n splitViewElement,\n 'max-height',\n 'calc(100vh - ' + offsetTop + 'px - ' + marginBottom + ')',\n );\n this.#renderer.setStyle(splitViewElement, 'min-height', '300px');\n }\n}\n","export enum SkySplitViewMessageType {\n /**\n * Places focus on the first focusable element in the workspace.\n */\n FocusWorkspace = 0,\n}\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { SkyCoreAdapterService, SkyResponsiveHostDirective } from '@skyux/core';\n\nimport { Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\nimport { SkySplitViewAdapterService } from './split-view-adapter.service';\nimport { SkySplitViewDrawerComponent } from './split-view-drawer.component';\nimport { SkySplitViewService } from './split-view.service';\nimport { SkySplitViewDockType } from './types/split-view-dock-type';\nimport { SkySplitViewMessage } from './types/split-view-message';\nimport { SkySplitViewMessageType } from './types/split-view-message-type';\n\n/**\n * Displays a list alongside a workspace where users can view details for selected items\n * and take actions.\n */\n@Component({\n animations: [\n trigger('blockAnimationOnLoad', [transition(':enter', [])]),\n trigger('drawerEnter', [\n state('false', style({ transform: 'translate(-100%)' })),\n transition('* => true', animate('150ms ease-in')),\n ]),\n trigger('workspaceEnter', [\n state('false', style({ transform: 'translate(100%)' })),\n transition('* => true', animate('150ms ease-in')),\n ]),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [SkyResponsiveHostDirective],\n imports: [CommonModule],\n providers: [SkySplitViewAdapterService, SkySplitViewService],\n selector: 'sky-split-view',\n standalone: true,\n styleUrl: './split-view.component.scss',\n templateUrl: './split-view.component.html',\n})\nexport class SkySplitViewComponent implements OnInit, OnDestroy {\n /**\n * The label for the button that appears in the workspace header in responsive mode.\n * The button returns users to the list.\n * @default \"Back to list\"\n */\n @Input()\n public set backButtonText(value: string) {\n if (value) {\n this.#splitViewService.updateBackButtonText(value);\n }\n }\n\n /**\n * Whether the split view's height is bound to the window height.\n * @default false\n * @deprecated We recommend using the `dock` input instead. An example of this can\n * be found in the developer code examples.\n */\n @Input()\n public set bindHeightToWindow(bindToHeight: boolean) {\n this.#_bindHeightToWindow = bindToHeight;\n\n if (this.#bindHeightToWindowUnsubscribe) {\n this.#bindHeightToWindowUnsubscribe.next();\n this.#bindHeightToWindowUnsubscribe.complete();\n }\n\n if (bindToHeight) {\n this.#bindHeightToWindowUnsubscribe = new Subject();\n this.#adapter.bindHeightToWindow(\n this.#elementRef,\n this.#bindHeightToWindowUnsubscribe,\n );\n }\n }\n\n public get bindHeightToWindow(): boolean {\n return this.#_bindHeightToWindow;\n }\n\n /**\n * How the split view docks to its container. Use `fill` to dock\n * the split view to the container's size where the container is a `sky-page` component\n * with its `layout` input set to `fit`, or where the container is another element with\n * a relative or absolute position and a fixed size.\n * @default \"none\"\n */\n @Input()\n public set dock(value: SkySplitViewDockType | undefined) {\n this.#_dock = value || 'none';\n }\n\n public get dock(): SkySplitViewDockType {\n return this.#_dock;\n }\n\n /**\n * The observable that sends commands to the split view component.\n * The commands should respect the `SkySplitViewMessage` type.\n */\n @Input()\n public messageStream = new Subject<SkySplitViewMessage>();\n\n @ContentChild(SkySplitViewDrawerComponent)\n public drawerComponent: SkySplitViewDrawerComponent | undefined;\n\n public set drawerVisible(value: boolean) {\n this.#_drawerVisible = value;\n this.#changeDetectorRef.markForCheck();\n }\n\n public get drawerVisible(): boolean {\n return !this.isMobile || this.#_drawerVisible;\n }\n\n public isMobile = false;\n public nextButtonDisabled = false;\n public previousButtonDisabled = false;\n\n public get workspaceVisible(): boolean {\n return !this.isMobile || !this.#_drawerVisible;\n }\n\n #animationComplete = new Subject<void>();\n #bindHeightToWindowUnsubscribe: Subject<void> | undefined;\n #ngUnsubscribe = new Subject<void>();\n #adapter: SkySplitViewAdapterService;\n #changeDetectorRef: ChangeDetectorRef;\n #coreAdapterService: SkyCoreAdapterService;\n #elementRef: ElementRef;\n #splitViewService: SkySplitViewService;\n\n #_bindHeightToWindow = false;\n #_drawerVisible = true;\n #_dock: SkySplitViewDockType = 'none';\n\n constructor(\n adapter: SkySplitViewAdapterService,\n changeDetectorRef: ChangeDetectorRef,\n coreAdapterService: SkyCoreAdapterService,\n elementRef: ElementRef,\n splitViewService: SkySplitViewService,\n ) {\n this.#adapter = adapter;\n this.#changeDetectorRef = changeDetectorRef;\n this.#coreAdapterService = coreAdapterService;\n this.#elementRef = elementRef;\n this.#splitViewService = splitViewService;\n\n splitViewService.splitViewElementRef = elementRef;\n }\n\n public ngOnInit(): void {\n this.#splitViewService.isMobileStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((mobile: boolean) => {\n this.isMobile = mobile;\n this.#changeDetectorRef.markForCheck();\n });\n\n this.#splitViewService.drawerVisible\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((visible: boolean) => {\n this.drawerVisible = visible;\n });\n\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkySplitViewMessage) => {\n this.#handleIncomingMessages(message);\n });\n }\n\n public ngOnDestroy(): void {\n if (this.#bindHeightToWindowUnsubscribe) {\n this.#bindHeightToWindowUnsubscribe.next();\n this.#bindHeightToWindowUnsubscribe.complete();\n }\n\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public onWorkspaceEnterComplete(): void {\n this.#animationComplete.next();\n }\n\n #applyAutofocus(): void {\n const applyAutoFocus = this.#coreAdapterService.applyAutoFocus(\n this.#elementRef,\n );\n /*istanbul ignore else*/\n if (!applyAutoFocus) {\n this.#coreAdapterService.getFocusableChildrenAndApplyFocus(\n this.#elementRef,\n '.sky-split-view-workspace-content',\n );\n }\n }\n\n #handleIncomingMessages(message: SkySplitViewMessage): void {\n switch (message.type) {\n case SkySplitViewMessageType.FocusWorkspace:\n // If mobile, wait until animation is complete then set focus on workspace panel.\n // Otherwise, just set focus right away.\n if (!this.workspaceVisible) {\n this.drawerVisible = false;\n this.#animationComplete.pipe(take(1)).subscribe(() => {\n this.#applyAutofocus();\n });\n } else {\n this.#applyAutofocus();\n }\n this.#changeDetectorRef.markForCheck();\n break;\n }\n }\n}\n","<div\n class=\"sky-split-view\"\n [ngClass]=\"'sky-split-view-dock-' + dock\"\n [@blockAnimationOnLoad]\n>\n <div\n class=\"sky-split-view-drawer-flex-container\"\n [hidden]=\"!drawerVisible\"\n [@drawerEnter]=\"drawerVisible\"\n >\n <ng-content select=\"sky-split-view-drawer\" />\n </div>\n\n <div\n class=\"sky-split-view-workspace-flex-container\"\n [hidden]=\"!workspaceVisible\"\n [@workspaceEnter]=\"workspaceVisible\"\n (@workspaceEnter.done)=\"onWorkspaceEnterComplete()\"\n >\n <ng-content select=\"sky-split-view-workspace\" />\n </div>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { SkySplitViewDrawerComponent } from './split-view-drawer.component';\nimport { SkySplitViewWorkspaceContentComponent } from './split-view-workspace-content.component';\nimport { SkySplitViewWorkspaceFooterComponent } from './split-view-workspace-footer.component';\nimport { SkySplitViewWorkspaceHeaderComponent } from './split-view-workspace-header.component';\nimport { SkySplitViewWorkspaceComponent } from './split-view-workspace.component';\nimport { SkySplitViewComponent } from './split-view.component';\n\n@NgModule({\n imports: [\n SkySplitViewComponent,\n SkySplitViewDrawerComponent,\n SkySplitViewWorkspaceComponent,\n SkySplitViewWorkspaceContentComponent,\n SkySplitViewWorkspaceFooterComponent,\n SkySplitViewWorkspaceHeaderComponent,\n ],\n exports: [\n SkySplitViewComponent,\n SkySplitViewDrawerComponent,\n SkySplitViewWorkspaceComponent,\n SkySplitViewWorkspaceContentComponent,\n SkySplitViewWorkspaceFooterComponent,\n SkySplitViewWorkspaceHeaderComponent,\n ],\n})\nexport class SkySplitViewModule {}\n","// Split view modules.\nexport { SkySplitViewModule } from './lib/modules/split-view/split-view.module';\n\n// Split view types.\nexport { SkySplitViewDockType } from './lib/modules/split-view/types/split-view-dock-type';\nexport { SkySplitViewMessage } from './lib/modules/split-view/types/split-view-message';\nexport { SkySplitViewMessageType } from './lib/modules/split-view/types/split-view-message-type';\n\n// Components and directives must be exported to support Angular's \"partial\" Ivy compiler.\n// Obscure names are used to indicate types are not part of the public API.\nexport { SkySplitViewDrawerComponent as λ2 } from './lib/modules/split-view/split-view-drawer.component';\nexport { SkySplitViewWorkspaceContentComponent as λ4 } from './lib/modules/split-view/split-view-workspace-content.component';\nexport { SkySplitViewWorkspaceFooterComponent as λ5 } from './lib/modules/split-view/split-view-workspace-footer.component';\nexport { SkySplitViewWorkspaceHeaderComponent as λ6 } from './lib/modules/split-view/split-view-workspace-header.component';\nexport { SkySplitViewWorkspaceComponent as λ3 } from './lib/modules/split-view/split-view-workspace.component';\nexport { SkySplitViewComponent as λ1 } from './lib/modules/split-view/split-view.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.SkySplitViewService","i3","i1.SkySplitViewService","i1.SkySplitViewAdapterService","i2","i3.SkySplitViewService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-split-view.mjs","sources":["../../../../../libs/components/split-view/src/lib/modules/shared/sky-split-view-resources.module.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view.service.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-drawer.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-drawer.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-content.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-content.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-footer.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-footer.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-header.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace-header.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-workspace.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view-adapter.service.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/types/split-view-message-type.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view.component.ts","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view.component.html","../../../../../libs/components/split-view/src/lib/modules/split-view/split-view.module.ts","../../../../../libs/components/split-view/src/index.ts","../../../../../libs/components/split-view/src/skyux-split-view.ts"],"sourcesContent":["/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-split-view' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_split_view_resize_handle: {\n message:\n 'Resize the drawer panel. Use right arrow key to expand and left arrow key to shrink.',\n },\n skyux_split_view_back_to_list: { message: 'Back to list' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkySplitViewResourcesModule {}\n","import { ElementRef, Injectable, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { SkyMediaQueryService } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\n/**\n * Internal service for operations between the split view drawer and workspace.\n * @internal\n */\n@Injectable()\nexport class SkySplitViewService {\n public get backButtonTextStream(): Observable<string> {\n return this.#_backButtonTextStream;\n }\n\n public drawerVisible = new BehaviorSubject<boolean>(true);\n\n public splitViewElementRef: ElementRef | undefined;\n\n public set isMobile(value: boolean) {\n this.#_isMobile = value;\n }\n\n public get isMobile(): boolean {\n return this.#_isMobile;\n }\n\n public get isMobileStream(): Observable<boolean> {\n return this.#_isMobileStream;\n }\n\n #_backButtonTextStream = new BehaviorSubject<string>('');\n #_isMobile = false;\n #_isMobileStream = new BehaviorSubject<boolean>(false);\n\n constructor(resources: SkyLibResourcesService) {\n // Set default back button text.\n resources\n .getString('skyux_split_view_back_to_list')\n .pipe(take(1))\n .subscribe((resource) => {\n this.updateBackButtonText(resource);\n });\n\n // Set breakpoint.\n inject(SkyMediaQueryService)\n .breakpointChange.pipe(takeUntilDestroyed())\n .subscribe((breakpoint) => {\n const nowMobile = breakpoint === 'xs';\n\n if (nowMobile && !this.isMobile) {\n // switching to mobile\n this.#_isMobileStream.next(true);\n this.drawerVisible.next(false);\n } else if (!nowMobile && this.isMobile) {\n // switching to widescreen\n this.#_isMobileStream.next(false);\n this.drawerVisible.next(true);\n }\n this.isMobile = nowMobile;\n });\n }\n\n public backButtonClick(): void {\n this.drawerVisible.next(true);\n }\n\n public updateBackButtonText(text: string): void {\n this.#_backButtonTextStream.next(text);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { SkyAppWindowRef, SkyCoreAdapterService } from '@skyux/core';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil, takeWhile } from 'rxjs/operators';\n\nimport { SkySplitViewResourcesModule } from '../shared/sky-split-view-resources.module';\n\nimport { SkySplitViewService } from './split-view.service';\n\nlet skySplitViewNextId = 0;\n\n/**\n * Specifies the content to display in the split view's list panel.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, SkySplitViewResourcesModule],\n selector: 'sky-split-view-drawer',\n standalone: true,\n styleUrl: './split-view-drawer.component.scss',\n templateUrl: './split-view-drawer.component.html',\n})\nexport class SkySplitViewDrawerComponent implements OnInit, OnDestroy {\n /**\n * The ARIA label for the list panel. This sets the panel's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public ariaLabel: string | undefined;\n\n /**\n * Sets the list panel's width in pixels.\n * @default 320\n */\n @Input()\n public set width(value: number | undefined) {\n if (value) {\n this.#_width = Number(value);\n this.#changeDetectorRef.markForCheck();\n }\n }\n\n public get width(): number | undefined {\n // TODO: Logic in a getter is a SKY UX anti-pattern, but fixing this would\n // require a significant amount of refactoring.\n if (this.isMobile) {\n return undefined;\n }\n\n if (this.#_width !== undefined) {\n if (this.#_width > this.widthMax) {\n return this.widthMax;\n } else if (this.#_width < this.widthMin) {\n return this.widthMin;\n }\n }\n\n return this.#_width || this.widthDefault;\n }\n\n public isMobile = false;\n\n public splitViewDrawerId: string;\n\n public widthDefault = 320;\n\n // Max needs to start as something to allow input range to work.\n // This value is updated as soon as the user takes action.\n public widthMax = 9999;\n\n public widthMin = 100;\n\n public widthTolerance = 100;\n\n #isDragging = false;\n #ngUnsubscribe = new Subject<void>();\n #xCoord = 0;\n #changeDetectorRef: ChangeDetectorRef;\n #coreAdapterService: SkyCoreAdapterService;\n #splitViewSvc: SkySplitViewService;\n #windowRef: SkyAppWindowRef;\n\n #_width: number | undefined;\n\n constructor(\n changeDetectorRef: ChangeDetectorRef,\n coreAdapterService: SkyCoreAdapterService,\n splitViewSvc: SkySplitViewService,\n windowRef: SkyAppWindowRef,\n ) {\n this.#changeDetectorRef = changeDetectorRef;\n this.#coreAdapterService = coreAdapterService;\n this.#splitViewSvc = splitViewSvc;\n this.#windowRef = windowRef;\n\n this.splitViewDrawerId = `sky-split-view-drawer-${++skySplitViewNextId}`;\n }\n\n public ngOnInit(): void {\n this.#setMaxWidth();\n\n this.#splitViewSvc.isMobileStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((mobile: boolean) => {\n this.isMobile = mobile;\n this.#changeDetectorRef.markForCheck();\n });\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public onResizeHandleMouseDown(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n\n this.#setMaxWidth();\n this.#isDragging = true;\n this.#xCoord = event.clientX;\n\n this.#coreAdapterService.toggleIframePointerEvents(false);\n\n fromEvent<MouseEvent>(document, 'mousemove')\n .pipe(\n takeUntil(this.#ngUnsubscribe),\n takeWhile(() => {\n return this.#isDragging;\n }),\n )\n .subscribe((moveEvent) => {\n this.onMouseMove(moveEvent);\n });\n\n fromEvent(document, 'mouseup')\n .pipe(\n takeUntil(this.#ngUnsubscribe),\n takeWhile(() => {\n return this.#isDragging;\n }),\n )\n .subscribe(() => {\n this.onHandleRelease();\n });\n }\n\n public onMouseMove(event: MouseEvent): void {\n /* Sanity check */\n /* istanbul ignore if */\n if (!this.#isDragging || this.width === undefined) {\n return;\n }\n\n const offsetX = event.clientX - this.#xCoord;\n let width = this.width;\n\n width += offsetX;\n\n if (width < this.widthMin || width > this.widthMax) {\n return;\n }\n\n this.width = width;\n\n this.#xCoord = event.clientX;\n this.#changeDetectorRef.markForCheck();\n }\n\n public onHandleRelease(): void {\n this.#isDragging = false;\n this.#coreAdapterService.toggleIframePointerEvents(true);\n this.#changeDetectorRef.markForCheck();\n }\n\n public onResizeHandleChange(event: Event): void {\n this.width = +(event.target as HTMLInputElement).value;\n this.#setMaxWidth();\n }\n\n @HostListener('window:resize', ['$event'])\n public onWindowResize(): void {\n const window = this.#windowRef.nativeWindow;\n\n // If window size is smaller than width + tolerance, shrink width.\n if (\n !this.isMobile &&\n this.width !== undefined &&\n window.innerWidth < this.width + this.widthTolerance\n ) {\n this.width = window.innerWidth - this.widthTolerance;\n }\n }\n\n #setMaxWidth(): void {\n const splitView =\n this.#splitViewSvc.splitViewElementRef?.nativeElement.querySelector(\n '.sky-split-view',\n );\n this.widthMax = splitView.clientWidth - this.widthTolerance;\n }\n}\n","<div\n class=\"sky-split-view-drawer\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n [id]=\"splitViewDrawerId\"\n [style.width.px]=\"width\"\n>\n <ng-content />\n @if (!isMobile && width !== undefined) {\n <input\n aria-orientation=\"vertical\"\n class=\"sky-split-view-resize-handle\"\n step=\"10\"\n type=\"range\"\n [attr.aria-controls]=\"splitViewDrawerId\"\n [attr.aria-label]=\"'skyux_split_view_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"widthMax\"\n [attr.aria-valuemin]=\"widthMin\"\n [attr.aria-valuenow]=\"width\"\n [attr.aria-valuetext]=\"width + ' pixels wide'\"\n [max]=\"widthMax\"\n [min]=\"widthMin\"\n [style.left.px]=\"width - 7\"\n [value]=\"width\"\n (change)=\"onResizeHandleChange($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n />\n }\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { SkyResponsiveHostDirective } from '@skyux/core';\n\n/**\n * Specifies the content to display in the split view's workspace panel.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabindex: '0',\n },\n hostDirectives: [SkyResponsiveHostDirective],\n selector: 'sky-split-view-workspace-content',\n standalone: true,\n styleUrl: './split-view-workspace-content.component.scss',\n templateUrl: './split-view-workspace-content.component.html',\n})\nexport class SkySplitViewWorkspaceContentComponent {}\n","<div class=\"sky-split-view-workspace-content\">\n <ng-content />\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { SkyResponsiveHostDirective } from '@skyux/core';\n\n/**\n * Specifies the footer to display in the split view's workspace panel. This component is often used with a summary action bar.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [SkyResponsiveHostDirective],\n selector: 'sky-split-view-workspace-footer',\n standalone: true,\n styleUrl: './split-view-workspace-footer.component.scss',\n templateUrl: './split-view-workspace-footer.component.html',\n})\nexport class SkySplitViewWorkspaceFooterComponent {}\n","<div class=\"sky-split-view-workspace-footer\">\n <ng-content />\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkySplitViewService } from './split-view.service';\n\n/**\n * Specifies the header to display in the split view's workspace panel.\n * @internal\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkyIconModule],\n selector: 'sky-split-view-workspace-header',\n standalone: true,\n styleUrl: './split-view-workspace-header.component.scss',\n templateUrl: './split-view-workspace-header.component.html',\n})\nexport class SkySplitViewWorkspaceHeaderComponent implements OnDestroy, OnInit {\n public backButtonText: string | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n #splitViewSvc: SkySplitViewService;\n\n constructor(splitViewSvc: SkySplitViewService) {\n this.#splitViewSvc = splitViewSvc;\n }\n\n public ngOnInit(): void {\n this.#splitViewSvc.backButtonTextStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((text: string) => {\n this.backButtonText = text;\n });\n }\n\n public onShowDrawerButtonClick(): void {\n this.#splitViewSvc.backButtonClick();\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n}\n","<div class=\"sky-split-view-workspace-header\">\n <div class=\"sky-split-view-workspace-header-content\">\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"onShowDrawerButtonClick()\"\n >\n <sky-icon icon=\"chevron-left\" />\n {{ backButtonText }}\n </button>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n inject,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { SkyMediaQueryService } from '@skyux/core';\n\nimport { SkySplitViewWorkspaceHeaderComponent } from './split-view-workspace-header.component';\n\n/**\n * Contains the content, footer, and header to display in the split view's workspace panel.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkySplitViewWorkspaceHeaderComponent],\n selector: 'sky-split-view-workspace',\n standalone: true,\n styleUrl: './split-view-workspace.component.scss',\n templateUrl: './split-view-workspace.component.html',\n})\nexport class SkySplitViewWorkspaceComponent {\n // Use the parent's breakpoint since the mobile header should only appear when\n // the split view container as a whole reaches the \"xs\" breakpoint, not just\n // the workspace area.\n protected breakpoint = toSignal(\n inject(SkyMediaQueryService, { skipSelf: true }).breakpointChange,\n );\n\n /**\n * The ARIA label for the workspace panel. This sets the panel's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public ariaLabel: string | undefined;\n}\n","<div\n class=\"sky-split-view-workspace\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n>\n @if (breakpoint() === 'xs') {\n <sky-split-view-workspace-header />\n }\n <ng-content select=\"sky-split-view-workspace-content\" />\n <ng-content select=\"sky-split-view-workspace-footer\" />\n</div>\n","import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\nimport { SkyAppWindowRef, SkyMutationObserverService } from '@skyux/core';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\n/**\n * Adapter service for use when the split view component needs to manipulate the DOM\n * @internal\n */\n@Injectable()\nexport class SkySplitViewAdapterService {\n #observer: MutationObserver | undefined;\n #renderer: Renderer2;\n #observerSvc: SkyMutationObserverService;\n #rendererFactory: RendererFactory2;\n #windowRef: SkyAppWindowRef;\n\n constructor(\n observerSvc: SkyMutationObserverService,\n rendererFactory: RendererFactory2,\n windowRef: SkyAppWindowRef,\n ) {\n this.#observerSvc = observerSvc;\n this.#rendererFactory = rendererFactory;\n this.#windowRef = windowRef;\n\n this.#renderer = this.#rendererFactory.createRenderer(undefined, null);\n }\n\n public bindHeightToWindow(\n elementRef: ElementRef,\n unsubscribeSubject: Subject<void>,\n ): void {\n /*istanbul ignore else*/\n if (elementRef.nativeElement.offsetParent === document.body) {\n this.#observer = this.#observerSvc.create(() => {\n this.#setSplitViewBoundHeights(elementRef);\n });\n\n fromEvent(this.#windowRef.nativeWindow, 'resize')\n .pipe(takeUntil(unsubscribeSubject))\n .subscribe(() => {\n this.#setSplitViewBoundHeights(elementRef);\n });\n\n const config = {\n attributes: true,\n attributeFilter: ['style'],\n childList: false,\n characterDate: false,\n };\n\n // This observer makes sure that the split view reacts if the body styling is change but thing\n // such as the action bar.\n this.#observer.observe(document.body, config);\n this.#setSplitViewBoundHeights(elementRef);\n\n unsubscribeSubject.pipe(take(1)).subscribe(() => {\n this.#observer?.disconnect();\n const splitViewElement =\n elementRef.nativeElement.querySelector('.sky-split-view');\n this.#renderer.removeStyle(splitViewElement, 'max-height');\n this.#renderer.removeStyle(splitViewElement, 'min-height');\n });\n }\n }\n\n #setSplitViewBoundHeights(elementRef: ElementRef): void {\n const splitViewElement =\n elementRef.nativeElement.querySelector('.sky-split-view');\n const offsetTop = splitViewElement.offsetTop;\n const marginBottom = document.body.style.marginBottom\n ? document.body.style.marginBottom\n : '0px';\n this.#renderer.setStyle(\n splitViewElement,\n 'max-height',\n 'calc(100vh - ' + offsetTop + 'px - ' + marginBottom + ')',\n );\n this.#renderer.setStyle(splitViewElement, 'min-height', '300px');\n }\n}\n","export enum SkySplitViewMessageType {\n /**\n * Places focus on the first focusable element in the workspace.\n */\n FocusWorkspace = 0,\n}\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { SkyCoreAdapterService, SkyResponsiveHostDirective } from '@skyux/core';\n\nimport { Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\nimport { SkySplitViewAdapterService } from './split-view-adapter.service';\nimport { SkySplitViewDrawerComponent } from './split-view-drawer.component';\nimport { SkySplitViewService } from './split-view.service';\nimport { SkySplitViewDockType } from './types/split-view-dock-type';\nimport { SkySplitViewMessage } from './types/split-view-message';\nimport { SkySplitViewMessageType } from './types/split-view-message-type';\n\n/**\n * Displays a list alongside a workspace where users can view details for selected items\n * and take actions.\n */\n@Component({\n animations: [\n trigger('blockAnimationOnLoad', [transition(':enter', [])]),\n trigger('drawerEnter', [\n state('false', style({ transform: 'translate(-100%)' })),\n transition('* => true', animate('150ms ease-in')),\n ]),\n trigger('workspaceEnter', [\n state('false', style({ transform: 'translate(100%)' })),\n transition('* => true', animate('150ms ease-in')),\n ]),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [SkyResponsiveHostDirective],\n imports: [CommonModule],\n providers: [SkySplitViewAdapterService, SkySplitViewService],\n selector: 'sky-split-view',\n standalone: true,\n styleUrl: './split-view.component.scss',\n templateUrl: './split-view.component.html',\n})\nexport class SkySplitViewComponent implements OnInit, OnDestroy {\n /**\n * The label for the button that appears in the workspace header in responsive mode.\n * The button returns users to the list.\n * @default \"Back to list\"\n */\n @Input()\n public set backButtonText(value: string) {\n if (value) {\n this.#splitViewService.updateBackButtonText(value);\n }\n }\n\n /**\n * Whether the split view's height is bound to the window height.\n * @default false\n * @deprecated We recommend using the `dock` input instead. An example of this can\n * be found in the developer code examples.\n */\n @Input()\n public set bindHeightToWindow(bindToHeight: boolean) {\n this.#_bindHeightToWindow = bindToHeight;\n\n if (this.#bindHeightToWindowUnsubscribe) {\n this.#bindHeightToWindowUnsubscribe.next();\n this.#bindHeightToWindowUnsubscribe.complete();\n }\n\n if (bindToHeight) {\n this.#bindHeightToWindowUnsubscribe = new Subject();\n this.#adapter.bindHeightToWindow(\n this.#elementRef,\n this.#bindHeightToWindowUnsubscribe,\n );\n }\n }\n\n public get bindHeightToWindow(): boolean {\n return this.#_bindHeightToWindow;\n }\n\n /**\n * How the split view docks to its container. Use `fill` to dock\n * the split view to the container's size where the container is a `sky-page` component\n * with its `layout` input set to `fit`, or where the container is another element with\n * a relative or absolute position and a fixed size.\n * @default \"none\"\n */\n @Input()\n public set dock(value: SkySplitViewDockType | undefined) {\n this.#_dock = value || 'none';\n }\n\n public get dock(): SkySplitViewDockType {\n return this.#_dock;\n }\n\n /**\n * The observable that sends commands to the split view component.\n * The commands should respect the `SkySplitViewMessage` type.\n */\n @Input()\n public messageStream = new Subject<SkySplitViewMessage>();\n\n @ContentChild(SkySplitViewDrawerComponent)\n public drawerComponent: SkySplitViewDrawerComponent | undefined;\n\n public set drawerVisible(value: boolean) {\n this.#_drawerVisible = value;\n this.#changeDetectorRef.markForCheck();\n }\n\n public get drawerVisible(): boolean {\n return !this.isMobile || this.#_drawerVisible;\n }\n\n public isMobile = false;\n public nextButtonDisabled = false;\n public previousButtonDisabled = false;\n\n public get workspaceVisible(): boolean {\n return !this.isMobile || !this.#_drawerVisible;\n }\n\n #animationComplete = new Subject<void>();\n #bindHeightToWindowUnsubscribe: Subject<void> | undefined;\n #ngUnsubscribe = new Subject<void>();\n #adapter: SkySplitViewAdapterService;\n #changeDetectorRef: ChangeDetectorRef;\n #coreAdapterService: SkyCoreAdapterService;\n #elementRef: ElementRef;\n #splitViewService: SkySplitViewService;\n\n #_bindHeightToWindow = false;\n #_drawerVisible = true;\n #_dock: SkySplitViewDockType = 'none';\n\n constructor(\n adapter: SkySplitViewAdapterService,\n changeDetectorRef: ChangeDetectorRef,\n coreAdapterService: SkyCoreAdapterService,\n elementRef: ElementRef,\n splitViewService: SkySplitViewService,\n ) {\n this.#adapter = adapter;\n this.#changeDetectorRef = changeDetectorRef;\n this.#coreAdapterService = coreAdapterService;\n this.#elementRef = elementRef;\n this.#splitViewService = splitViewService;\n\n splitViewService.splitViewElementRef = elementRef;\n }\n\n public ngOnInit(): void {\n this.#splitViewService.isMobileStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((mobile: boolean) => {\n this.isMobile = mobile;\n this.#changeDetectorRef.markForCheck();\n });\n\n this.#splitViewService.drawerVisible\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((visible: boolean) => {\n this.drawerVisible = visible;\n });\n\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkySplitViewMessage) => {\n this.#handleIncomingMessages(message);\n });\n }\n\n public ngOnDestroy(): void {\n if (this.#bindHeightToWindowUnsubscribe) {\n this.#bindHeightToWindowUnsubscribe.next();\n this.#bindHeightToWindowUnsubscribe.complete();\n }\n\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public onWorkspaceEnterComplete(): void {\n this.#animationComplete.next();\n }\n\n #applyAutofocus(): void {\n const applyAutoFocus = this.#coreAdapterService.applyAutoFocus(\n this.#elementRef,\n );\n /*istanbul ignore else*/\n if (!applyAutoFocus) {\n this.#coreAdapterService.getFocusableChildrenAndApplyFocus(\n this.#elementRef,\n '.sky-split-view-workspace-content',\n );\n }\n }\n\n #handleIncomingMessages(message: SkySplitViewMessage): void {\n switch (message.type) {\n case SkySplitViewMessageType.FocusWorkspace:\n // If mobile, wait until animation is complete then set focus on workspace panel.\n // Otherwise, just set focus right away.\n if (!this.workspaceVisible) {\n this.drawerVisible = false;\n this.#animationComplete.pipe(take(1)).subscribe(() => {\n this.#applyAutofocus();\n });\n } else {\n this.#applyAutofocus();\n }\n this.#changeDetectorRef.markForCheck();\n break;\n }\n }\n}\n","<div\n class=\"sky-split-view\"\n [ngClass]=\"'sky-split-view-dock-' + dock\"\n [@blockAnimationOnLoad]\n>\n <div\n class=\"sky-split-view-drawer-flex-container\"\n [hidden]=\"!drawerVisible\"\n [@drawerEnter]=\"drawerVisible\"\n >\n <ng-content select=\"sky-split-view-drawer\" />\n </div>\n\n <div\n class=\"sky-split-view-workspace-flex-container\"\n [hidden]=\"!workspaceVisible\"\n [@workspaceEnter]=\"workspaceVisible\"\n (@workspaceEnter.done)=\"onWorkspaceEnterComplete()\"\n >\n <ng-content select=\"sky-split-view-workspace\" />\n </div>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { SkySplitViewDrawerComponent } from './split-view-drawer.component';\nimport { SkySplitViewWorkspaceContentComponent } from './split-view-workspace-content.component';\nimport { SkySplitViewWorkspaceFooterComponent } from './split-view-workspace-footer.component';\nimport { SkySplitViewWorkspaceHeaderComponent } from './split-view-workspace-header.component';\nimport { SkySplitViewWorkspaceComponent } from './split-view-workspace.component';\nimport { SkySplitViewComponent } from './split-view.component';\n\n@NgModule({\n imports: [\n SkySplitViewComponent,\n SkySplitViewDrawerComponent,\n SkySplitViewWorkspaceComponent,\n SkySplitViewWorkspaceContentComponent,\n SkySplitViewWorkspaceFooterComponent,\n SkySplitViewWorkspaceHeaderComponent,\n ],\n exports: [\n SkySplitViewComponent,\n SkySplitViewDrawerComponent,\n SkySplitViewWorkspaceComponent,\n SkySplitViewWorkspaceContentComponent,\n SkySplitViewWorkspaceFooterComponent,\n SkySplitViewWorkspaceHeaderComponent,\n ],\n})\nexport class SkySplitViewModule {}\n","// Split view modules.\nexport { SkySplitViewModule } from './lib/modules/split-view/split-view.module';\n\n// Split view types.\nexport { SkySplitViewDockType } from './lib/modules/split-view/types/split-view-dock-type';\nexport { SkySplitViewMessage } from './lib/modules/split-view/types/split-view-message';\nexport { SkySplitViewMessageType } from './lib/modules/split-view/types/split-view-message-type';\n\n// Components and directives must be exported to support Angular's \"partial\" Ivy compiler.\n// Obscure names are used to indicate types are not part of the public API.\nexport { SkySplitViewDrawerComponent as λ2 } from './lib/modules/split-view/split-view-drawer.component';\nexport { SkySplitViewWorkspaceContentComponent as λ4 } from './lib/modules/split-view/split-view-workspace-content.component';\nexport { SkySplitViewWorkspaceFooterComponent as λ5 } from './lib/modules/split-view/split-view-workspace-footer.component';\nexport { SkySplitViewWorkspaceHeaderComponent as λ6 } from './lib/modules/split-view/split-view-workspace-header.component';\nexport { SkySplitViewWorkspaceComponent as λ3 } from './lib/modules/split-view/split-view-workspace.component';\nexport { SkySplitViewComponent as λ1 } from './lib/modules/split-view/split-view.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.SkySplitViewService","i3","i1.SkySplitViewService","i1.SkySplitViewAdapterService","i2","i3.SkySplitViewService"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/split-view",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.34.0",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -41,11 +41,11 @@
|
|
|
41
41
|
"@angular/common": "^18.2.13",
|
|
42
42
|
"@angular/core": "^18.2.13",
|
|
43
43
|
"@angular/platform-browser": "^18.2.13",
|
|
44
|
-
"@skyux-sdk/testing": "11.
|
|
45
|
-
"@skyux/core": "11.
|
|
46
|
-
"@skyux/i18n": "11.
|
|
47
|
-
"@skyux/icon": "11.
|
|
48
|
-
"@skyux/theme": "11.
|
|
44
|
+
"@skyux-sdk/testing": "11.34.0",
|
|
45
|
+
"@skyux/core": "11.34.0",
|
|
46
|
+
"@skyux/i18n": "11.34.0",
|
|
47
|
+
"@skyux/icon": "11.34.0",
|
|
48
|
+
"@skyux/theme": "11.34.0"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"tslib": "^2.6.3"
|