@skyux/flyout 13.11.4 → 13.12.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.
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-flyout-testing.mjs","sources":["../tmp-esm2022/testing/modules/flyout/flyout-iterator-harness.js","../tmp-esm2022/testing/modules/flyout/flyout-harness.js","../tmp-esm2022/testing/skyux-flyout-testing.js"],"sourcesContent":["import { ComponentHarness } from '@angular/cdk/testing';\n/**\n * Harness for interacting with a flyout iterator component in tests.\n * @internal\n */\nexport class SkyFlyoutIteratorHarness extends ComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-flyout-iterator'; }\n #getNextButton = this.locatorFor('.sky-flyout-iterator-next');\n #getPreviousButton = this.locatorFor('.sky-flyout-iterator-previous');\n /**\n * Clicks the next button.\n */\n async clickNextButton() {\n const button = await this.#getNextButton();\n if (await this.#buttonIsDisabled(button)) {\n throw new Error('Could not click the next iterator because it is disabled.');\n }\n await button.click();\n }\n /**\n * Clicks the previous button.\n */\n async clickPreviousButton() {\n const button = await this.#getPreviousButton();\n if (await this.#buttonIsDisabled(button)) {\n throw new Error('Could not click the previous iterator because it is disabled.');\n }\n await button.click();\n }\n async #buttonIsDisabled(button) {\n const disabled = await button.getAttribute('disabled');\n return disabled !== null;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWl0ZXJhdG9yLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmx5b3V0L3Rlc3Rpbmcvc3JjL21vZHVsZXMvZmx5b3V0L2ZseW91dC1pdGVyYXRvci1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBRXJFOzs7R0FHRztBQUNILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUFDNUQ7O09BRUc7YUFDVyxpQkFBWSxHQUFHLHFCQUFxQixDQUFDO0lBRW5ELGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDOUQsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBRXRFOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGVBQWU7UUFDMUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDM0MsSUFBSSxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQ2IsMkRBQTJELENBQzVELENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLG1CQUFtQjtRQUM5QixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQy9DLElBQUksTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksS0FBSyxDQUNiLCtEQUErRCxDQUNoRSxDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBbUI7UUFDekMsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sUUFBUSxLQUFLLElBQUksQ0FBQztJQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50SGFybmVzcywgVGVzdEVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIGZseW91dCBpdGVyYXRvciBjb21wb25lbnQgaW4gdGVzdHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreUZseW91dEl0ZXJhdG9ySGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktZmx5b3V0LWl0ZXJhdG9yJztcblxuICAjZ2V0TmV4dEJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcignLnNreS1mbHlvdXQtaXRlcmF0b3ItbmV4dCcpO1xuICAjZ2V0UHJldmlvdXNCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktZmx5b3V0LWl0ZXJhdG9yLXByZXZpb3VzJyk7XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgbmV4dCBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tOZXh0QnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IHRoaXMuI2dldE5leHRCdXR0b24oKTtcbiAgICBpZiAoYXdhaXQgdGhpcy4jYnV0dG9uSXNEaXNhYmxlZChidXR0b24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDb3VsZCBub3QgY2xpY2sgdGhlIG5leHQgaXRlcmF0b3IgYmVjYXVzZSBpdCBpcyBkaXNhYmxlZC4nLFxuICAgICAgKTtcbiAgICB9XG4gICAgYXdhaXQgYnV0dG9uLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBwcmV2aW91cyBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tQcmV2aW91c0J1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBidXR0b24gPSBhd2FpdCB0aGlzLiNnZXRQcmV2aW91c0J1dHRvbigpO1xuICAgIGlmIChhd2FpdCB0aGlzLiNidXR0b25Jc0Rpc2FibGVkKGJ1dHRvbikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0NvdWxkIG5vdCBjbGljayB0aGUgcHJldmlvdXMgaXRlcmF0b3IgYmVjYXVzZSBpdCBpcyBkaXNhYmxlZC4nLFxuICAgICAgKTtcbiAgICB9XG4gICAgYXdhaXQgYnV0dG9uLmNsaWNrKCk7XG4gIH1cblxuICBhc3luYyAjYnV0dG9uSXNEaXNhYmxlZChidXR0b246IFRlc3RFbGVtZW50KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBhd2FpdCBidXR0b24uZ2V0QXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgIHJldHVybiBkaXNhYmxlZCAhPT0gbnVsbDtcbiAgfVxufVxuIl19","import { SkyQueryableComponentHarness } from '@skyux/core/testing';\nimport { SkyFlyoutIteratorHarness } from './flyout-iterator-harness';\n/**\n * Harness for interacting with a flyout component in tests.\n */\nexport class SkyFlyoutHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-flyout'; }\n #getFlyout = this.locatorFor('.sky-flyout');\n /**\n * Clicks the flyout's next iterator button.\n */\n async clickNextIteratorButton() {\n const iterator = await this.#getIterator();\n await iterator.clickNextButton();\n }\n /**\n * Clicks the flyout's previous iterator button.\n */\n async clickPreviousIteratorButton() {\n const iterator = await this.#getIterator();\n await iterator.clickPreviousButton();\n }\n /**\n * Clicks the flyout's primary action button.\n */\n async clickPrimaryActionButton() {\n const primaryAction = await this.#getPrimaryAction();\n await primaryAction.click();\n }\n /**\n * Clicks the flyout's close button.\n */\n async closeFlyout() {\n const closeButton = await this.locatorFor('.sky-flyout-btn-close')();\n await closeButton.click();\n }\n /**\n * Gets the flyout's aria-describedby attribute.\n */\n async getAriaDescribedBy() {\n return await (await this.#getFlyout()).getAttribute('aria-describedby');\n }\n /**\n * Gets the flyout's aria-label attribute.\n */\n async getAriaLabel() {\n return await (await this.#getFlyout()).getAttribute('aria-label');\n }\n /**\n * Gets the flyout's aria-labelledby attribute.\n */\n async getAriaLabelledBy() {\n return await (await this.#getFlyout()).getAttribute('aria-labelledby');\n }\n /**\n * Gets the flyout's ARIA role.\n */\n async getAriaRole() {\n return await (await this.#getFlyout()).getAttribute('role');\n }\n /**\n * Gets the flyout's maximum width.\n */\n async getFlyoutMaxWidth() {\n const resizeHandle = await this.locatorFor('.sky-flyout-resize-handle')();\n const currentWidthAttr = (await resizeHandle.getAttribute('aria-valuemax'));\n return parseInt(currentWidthAttr);\n }\n /**\n * Gets the flyout's minimum width.\n */\n async getFlyoutMinWidth() {\n const resizeHandle = await this.locatorFor('.sky-flyout-resize-handle')();\n const currentWidthAttr = (await resizeHandle.getAttribute('aria-valuemin'));\n return parseInt(currentWidthAttr);\n }\n /**\n * Gets the flyout's current width.\n */\n async getFlyoutWidth() {\n const resizeHandle = await this.locatorFor('.sky-flyout-resize-handle')();\n const currentWidthAttr = (await resizeHandle.getAttribute('aria-valuenow'));\n return parseInt(currentWidthAttr);\n }\n /**\n * Gets the label for the flyout's permalink button.\n */\n async getPermalinkButtonLabel() {\n const permalink = await this.#getPermalink();\n return await permalink.text();\n }\n /**\n * Gets the route for the flyout's permalink button.\n */\n async getPermalinkButtonRoute() {\n const permalink = await this.#getPermalink();\n return await permalink.getAttribute('href');\n }\n /**\n * Gets the label for the flyout's primary action button.\n */\n async getPrimaryActionButtonLabel() {\n const primaryAction = await this.#getPrimaryAction();\n return await primaryAction.text();\n }\n async #getIterator() {\n const iterator = await this.locatorForOptional(SkyFlyoutIteratorHarness)();\n if (iterator === null) {\n throw new Error('Could not find iterator buttons.');\n }\n return iterator;\n }\n async #getPermalink() {\n const permalink = await this.locatorForOptional('.sky-flyout-btn-permalink')();\n if (permalink === null) {\n throw new Error('Could not find permalink button.');\n }\n return permalink;\n }\n async #getPrimaryAction() {\n const primaryAction = await this.locatorForOptional('.sky-flyout-btn-primary-action')();\n if (primaryAction === null) {\n throw new Error('Could not find primary action button.');\n }\n return primaryAction;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmx5b3V0L3Rlc3Rpbmcvc3JjL21vZHVsZXMvZmx5b3V0L2ZseW91dC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXJFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLDRCQUE0QjtJQUNoRTs7T0FFRzthQUNXLGlCQUFZLEdBQUcsWUFBWSxDQUFDO0lBRTFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRTVDOztPQUVHO0lBQ0ksS0FBSyxDQUFDLHVCQUF1QjtRQUNsQyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUUzQyxNQUFNLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsMkJBQTJCO1FBQ3RDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTNDLE1BQU0sUUFBUSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLHdCQUF3QjtRQUNuQyxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRXJELE1BQU0sYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFF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QyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYTtRQUNqQixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FDN0MsMkJBQTJCLENBQzVCLEVBQUUsQ0FBQztRQUVKLElBQUksU0FBUyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUI7UUFDckIsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQ2pELGdDQUFnQyxDQUNqQyxFQUFFLENBQUM7UUFFSixJQUFJLGFBQWEsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUVELE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXN0RWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreVF1ZXJ5YWJsZUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0SXRlcmF0b3JIYXJuZXNzIH0gZnJvbSAnLi9mbHlvdXQtaXRlcmF0b3ItaGFybmVzcyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIGZseW91dCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRIYXJuZXNzIGV4dGVuZHMgU2t5UXVlcnlhYmxlQ29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1mbHlvdXQnO1xuXG4gICNnZXRGbHlvdXQgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktZmx5b3V0Jyk7XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgZmx5b3V0J3MgbmV4dCBpdGVyYXRvciBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tOZXh0SXRlcmF0b3JCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaXRlcmF0b3IgPSBhd2FpdCB0aGlzLiNnZXRJdGVyYXRvcigpO1xuXG4gICAgYXdhaXQgaXRlcmF0b3IuY2xpY2tOZXh0QnV0dG9uKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBmbHlvdXQncyBwcmV2aW91cyBpdGVyYXRvciBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tQcmV2aW91c0l0ZXJhdG9yQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGl0ZXJhdG9yID0gYXdhaXQgdGhpcy4jZ2V0SXRlcmF0b3IoKTtcblxuICAgIGF3YWl0IGl0ZXJhdG9yLmNsaWNrUHJldmlvdXNCdXR0b24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGZseW91dCdzIHByaW1hcnkgYWN0aW9uIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja1ByaW1hcnlBY3Rpb25CdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcHJpbWFyeUFjdGlvbiA9IGF3YWl0IHRoaXMuI2dldFByaW1hcnlBY3Rpb24oKTtcblxuICAgIGF3YWl0IHByaW1hcnlBY3Rpb24uY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGZseW91dCdzIGNsb3NlIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbG9zZUZseW91dCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjbG9zZUJ1dHRvbiA9IGF3YWl0IHRoaXMubG9jYXRvckZvcignLnNreS1mbHlvdXQtYnRuLWNsb3NlJykoKTtcbiAgICBhd2FpdCBjbG9zZUJ1dHRvbi5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZseW91dCdzIGFyaWEtZGVzY3JpYmVkYnkgYXR0cmlidXRlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFyaWFEZXNjcmliZWRCeSgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZseW91dCgpKS5nZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBmbHlvdXQncyBhcmlhLWxhYmVsIGF0dHJpYnV0ZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRBcmlhTGFiZWwoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRGbHlvdXQoKSkuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZmx5b3V0J3MgYXJpYS1sYWJlbGxlZGJ5IGF0dHJpYnV0ZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRBcmlhTGFiZWxsZWRCeSgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZseW91dCgpKS5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWxsZWRieScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZseW91dCdzIEFSSUEgcm9sZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRBcmlhUm9sZSgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZseW91dCgpKS5nZXRBdHRyaWJ1dGUoJ3JvbGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBmbHlvdXQncyBtYXhpbXVtIHdpZHRoLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEZseW91dE1heFdpZHRoKCk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgY29uc3QgcmVzaXplSGFuZGxlID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWZseW91dC1yZXNpemUtaGFuZGxlJykoKTtcbiAgICBjb25zdCBjdXJyZW50V2lkdGhBdHRyID0gKGF3YWl0IHJlc2l6ZUhhbmRsZS5nZXRBdHRyaWJ1dGUoXG4gICAgICAnYXJpYS12YWx1ZW1heCcsXG4gICAgKSkgYXMgc3RyaW5nO1xuICAgIHJldHVybiBwYXJzZUludChjdXJyZW50V2lkdGhBdHRyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBmbHlvdXQncyBtaW5pbXVtIHdpZHRoLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEZseW91dE1pbldpZHRoKCk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgY29uc3QgcmVzaXplSGFuZGxlID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWZseW91dC1yZXNpemUtaGFuZGxlJykoKTtcbiAgICBjb25zdCBjdXJyZW50V2lkdGhBdHRyID0gKGF3YWl0IHJlc2l6ZUhhbmRsZS5nZXRBdHRyaWJ1dGUoXG4gICAgICAnYXJpYS12YWx1ZW1pbicsXG4gICAgKSkgYXMgc3RyaW5nO1xuICAgIHJldHVybiBwYXJzZUludChjdXJyZW50V2lkdGhBdHRyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBmbHlvdXQncyBjdXJyZW50IHdpZHRoLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEZseW91dFdpZHRoKCk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgY29uc3QgcmVzaXplSGFuZGxlID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWZseW91dC1yZXNpemUtaGFuZGxlJykoKTtcbiAgICBjb25zdCBjdXJyZW50V2lkdGhBdHRyID0gKGF3YWl0IHJlc2l6ZUhhbmRsZS5nZXRBdHRyaWJ1dGUoXG4gICAgICAnYXJpYS12YWx1ZW5vdycsXG4gICAgKSkgYXMgc3RyaW5nO1xuICAgIHJldHVybiBwYXJzZUludChjdXJyZW50V2lkdGhBdHRyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBsYWJlbCBmb3IgdGhlIGZseW91dCdzIHBlcm1hbGluayBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0UGVybWFsaW5rQnV0dG9uTGFiZWwoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBwZXJtYWxpbmsgPSBhd2FpdCB0aGlzLiNnZXRQZXJtYWxpbmsoKTtcblxuICAgIHJldHVybiBhd2FpdCBwZXJtYWxpbmsudGV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHJvdXRlIGZvciB0aGUgZmx5b3V0J3MgcGVybWFsaW5rIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRQZXJtYWxpbmtCdXR0b25Sb3V0ZSgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICBjb25zdCBwZXJtYWxpbmsgPSBhd2FpdCB0aGlzLiNnZXRQZXJtYWxpbmsoKTtcblxuICAgIHJldHVybiBhd2FpdCBwZXJtYWxpbmsuZ2V0QXR0cmlidXRlKCdocmVmJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgbGFiZWwgZm9yIHRoZSBmbHlvdXQncyBwcmltYXJ5IGFjdGlvbiBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0UHJpbWFyeUFjdGlvbkJ1dHRvbkxhYmVsKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgcHJpbWFyeUFjdGlvbiA9IGF3YWl0IHRoaXMuI2dldFByaW1hcnlBY3Rpb24oKTtcblxuICAgIHJldHVybiBhd2FpdCBwcmltYXJ5QWN0aW9uLnRleHQoKTtcbiAgfVxuXG4gIGFzeW5jICNnZXRJdGVyYXRvcigpOiBQcm9taXNlPFNreUZseW91dEl0ZXJhdG9ySGFybmVzcz4ge1xuICAgIGNvbnN0IGl0ZXJhdG9yID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoU2t5Rmx5b3V0SXRlcmF0b3JIYXJuZXNzKSgpO1xuXG4gICAgaWYgKGl0ZXJhdG9yID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIGl0ZXJhdG9yIGJ1dHRvbnMuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZXJhdG9yO1xuICB9XG5cbiAgYXN5bmMgI2dldFBlcm1hbGluaygpOiBQcm9taXNlPFRlc3RFbGVtZW50PiB7XG4gICAgY29uc3QgcGVybWFsaW5rID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgICAnLnNreS1mbHlvdXQtYnRuLXBlcm1hbGluaycsXG4gICAgKSgpO1xuXG4gICAgaWYgKHBlcm1hbGluayA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgZmluZCBwZXJtYWxpbmsgYnV0dG9uLicpO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJtYWxpbms7XG4gIH1cblxuICBhc3luYyAjZ2V0UHJpbWFyeUFjdGlvbigpOiBQcm9taXNlPFRlc3RFbGVtZW50PiB7XG4gICAgY29uc3QgcHJpbWFyeUFjdGlvbiA9IGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFxuICAgICAgJy5za3ktZmx5b3V0LWJ0bi1wcmltYXJ5LWFjdGlvbicsXG4gICAgKSgpO1xuXG4gICAgaWYgKHByaW1hcnlBY3Rpb24gPT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGZpbmQgcHJpbWFyeSBhY3Rpb24gYnV0dG9uLicpO1xuICAgIH1cblxuICAgIHJldHVybiBwcmltYXJ5QWN0aW9uO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtZmx5b3V0LXRlc3RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmx5b3V0L3Rlc3Rpbmcvc3JjL3NreXV4LWZseW91dC10ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skyux-flyout-testing.mjs","sources":["../../../../../libs/components/flyout/testing/src/modules/flyout/flyout-iterator-harness.ts","../../../../../libs/components/flyout/testing/src/modules/flyout/flyout-harness.ts","../../../../../libs/components/flyout/testing/src/skyux-flyout-testing.ts"],"sourcesContent":["import { ComponentHarness, TestElement } from '@angular/cdk/testing';\n\n/**\n * Harness for interacting with a flyout iterator component in tests.\n * @internal\n */\nexport class SkyFlyoutIteratorHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-flyout-iterator';\n\n #getNextButton = this.locatorFor('.sky-flyout-iterator-next');\n #getPreviousButton = this.locatorFor('.sky-flyout-iterator-previous');\n\n /**\n * Clicks the next button.\n */\n public async clickNextButton(): Promise<void> {\n const button = await this.#getNextButton();\n if (await this.#buttonIsDisabled(button)) {\n throw new Error(\n 'Could not click the next iterator because it is disabled.',\n );\n }\n await button.click();\n }\n\n /**\n * Clicks the previous button.\n */\n public async clickPreviousButton(): Promise<void> {\n const button = await this.#getPreviousButton();\n if (await this.#buttonIsDisabled(button)) {\n throw new Error(\n 'Could not click the previous iterator because it is disabled.',\n );\n }\n await button.click();\n }\n\n async #buttonIsDisabled(button: TestElement): Promise<boolean> {\n const disabled = await button.getAttribute('disabled');\n return disabled !== null;\n }\n}\n","import { TestElement } from '@angular/cdk/testing';\nimport { SkyQueryableComponentHarness } from '@skyux/core/testing';\n\nimport { SkyFlyoutIteratorHarness } from './flyout-iterator-harness';\n\n/**\n * Harness for interacting with a flyout component in tests.\n */\nexport class SkyFlyoutHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-flyout';\n\n #getFlyout = this.locatorFor('.sky-flyout');\n\n /**\n * Clicks the flyout's next iterator button.\n */\n public async clickNextIteratorButton(): Promise<void> {\n const iterator = await this.#getIterator();\n\n await iterator.clickNextButton();\n }\n\n /**\n * Clicks the flyout's previous iterator button.\n */\n public async clickPreviousIteratorButton(): Promise<void> {\n const iterator = await this.#getIterator();\n\n await iterator.clickPreviousButton();\n }\n\n /**\n * Clicks the flyout's primary action button.\n */\n public async clickPrimaryActionButton(): Promise<void> {\n const primaryAction = await this.#getPrimaryAction();\n\n await primaryAction.click();\n }\n\n /**\n * Clicks the flyout's close button.\n */\n public async closeFlyout(): Promise<void> {\n const closeButton = await this.locatorFor('.sky-flyout-btn-close')();\n await closeButton.click();\n }\n\n /**\n * Gets the flyout's aria-describedby attribute.\n */\n public async getAriaDescribedBy(): Promise<string | null> {\n return await (await this.#getFlyout()).getAttribute('aria-describedby');\n }\n\n /**\n * Gets the flyout's aria-label attribute.\n */\n public async getAriaLabel(): Promise<string | null> {\n return await (await this.#getFlyout()).getAttribute('aria-label');\n }\n\n /**\n * Gets the flyout's aria-labelledby attribute.\n */\n public async getAriaLabelledBy(): Promise<string | null> {\n return await (await this.#getFlyout()).getAttribute('aria-labelledby');\n }\n\n /**\n * Gets the flyout's ARIA role.\n */\n public async getAriaRole(): Promise<string | null> {\n return await (await this.#getFlyout()).getAttribute('role');\n }\n\n /**\n * Gets the flyout's maximum width.\n */\n public async getFlyoutMaxWidth(): Promise<number> {\n const resizeHandle = await this.locatorFor('.sky-flyout-resize-handle')();\n const currentWidthAttr = (await resizeHandle.getAttribute(\n 'aria-valuemax',\n )) as string;\n return parseInt(currentWidthAttr);\n }\n\n /**\n * Gets the flyout's minimum width.\n */\n public async getFlyoutMinWidth(): Promise<number> {\n const resizeHandle = await this.locatorFor('.sky-flyout-resize-handle')();\n const currentWidthAttr = (await resizeHandle.getAttribute(\n 'aria-valuemin',\n )) as string;\n return parseInt(currentWidthAttr);\n }\n\n /**\n * Gets the flyout's current width.\n */\n public async getFlyoutWidth(): Promise<number> {\n const resizeHandle = await this.locatorFor('.sky-flyout-resize-handle')();\n const currentWidthAttr = (await resizeHandle.getAttribute(\n 'aria-valuenow',\n )) as string;\n return parseInt(currentWidthAttr);\n }\n\n /**\n * Gets the label for the flyout's permalink button.\n */\n public async getPermalinkButtonLabel(): Promise<string> {\n const permalink = await this.#getPermalink();\n\n return await permalink.text();\n }\n\n /**\n * Gets the route for the flyout's permalink button.\n */\n public async getPermalinkButtonRoute(): Promise<string | null> {\n const permalink = await this.#getPermalink();\n\n return await permalink.getAttribute('href');\n }\n\n /**\n * Gets the label for the flyout's primary action button.\n */\n public async getPrimaryActionButtonLabel(): Promise<string> {\n const primaryAction = await this.#getPrimaryAction();\n\n return await primaryAction.text();\n }\n\n async #getIterator(): Promise<SkyFlyoutIteratorHarness> {\n const iterator = await this.locatorForOptional(SkyFlyoutIteratorHarness)();\n\n if (iterator === null) {\n throw new Error('Could not find iterator buttons.');\n }\n\n return iterator;\n }\n\n async #getPermalink(): Promise<TestElement> {\n const permalink = await this.locatorForOptional(\n '.sky-flyout-btn-permalink',\n )();\n\n if (permalink === null) {\n throw new Error('Could not find permalink button.');\n }\n\n return permalink;\n }\n\n async #getPrimaryAction(): Promise<TestElement> {\n const primaryAction = await this.locatorForOptional(\n '.sky-flyout-btn-primary-action',\n )();\n\n if (primaryAction === null) {\n throw new Error('Could not find primary action button.');\n }\n\n return primaryAction;\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-flyout.mjs","sources":["../tmp-esm2022/lib/modules/flyout/types/flyout-message-type.js","../tmp-esm2022/lib/modules/flyout/flyout-instance.js","../tmp-esm2022/lib/modules/shared/sky-flyout-resources.module.js","../tmp-esm2022/lib/modules/flyout/flyout-adapter.service.js","../tmp-esm2022/lib/modules/flyout/flyout-iterator.component.js","../tmp-esm2022/lib/modules/flyout/types/flyout-before-close-handler.js","../tmp-esm2022/lib/modules/flyout/flyout.component.js","../tmp-esm2022/lib/modules/flyout/flyout.module.js","../tmp-esm2022/lib/modules/flyout/flyout.service.js","../tmp-esm2022/skyux-flyout.js"],"sourcesContent":["/**\n * @internal\n */\nexport var SkyFlyoutMessageType;\n(function (SkyFlyoutMessageType) {\n SkyFlyoutMessageType[SkyFlyoutMessageType[\"Open\"] = 0] = \"Open\";\n SkyFlyoutMessageType[SkyFlyoutMessageType[\"Close\"] = 1] = \"Close\";\n SkyFlyoutMessageType[SkyFlyoutMessageType[\"EnableIteratorNextButton\"] = 2] = \"EnableIteratorNextButton\";\n SkyFlyoutMessageType[SkyFlyoutMessageType[\"EnableIteratorPreviousButton\"] = 3] = \"EnableIteratorPreviousButton\";\n SkyFlyoutMessageType[SkyFlyoutMessageType[\"DisableIteratorNextButton\"] = 4] = \"DisableIteratorNextButton\";\n SkyFlyoutMessageType[SkyFlyoutMessageType[\"DisableIteratorPreviousButton\"] = 5] = \"DisableIteratorPreviousButton\";\n})(SkyFlyoutMessageType || (SkyFlyoutMessageType = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LW1lc3NhZ2UtdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtbWVzc2FnZS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksb0JBT1g7QUFQRCxXQUFZLG9CQUFvQjtJQUM5QiwrREFBUSxDQUFBO0lBQ1IsaUVBQUssQ0FBQTtJQUNMLHVHQUF3QixDQUFBO0lBQ3hCLCtHQUE0QixDQUFBO0lBQzVCLHlHQUF5QixDQUFBO0lBQ3pCLGlIQUE2QixDQUFBO0FBQy9CLENBQUMsRUFQVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBTy9CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGVudW0gU2t5Rmx5b3V0TWVzc2FnZVR5cGUge1xuICBPcGVuID0gMCxcbiAgQ2xvc2UsXG4gIEVuYWJsZUl0ZXJhdG9yTmV4dEJ1dHRvbixcbiAgRW5hYmxlSXRlcmF0b3JQcmV2aW91c0J1dHRvbixcbiAgRGlzYWJsZUl0ZXJhdG9yTmV4dEJ1dHRvbixcbiAgRGlzYWJsZUl0ZXJhdG9yUHJldmlvdXNCdXR0b24sXG59XG4iXX0=","import { EventEmitter } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { SkyFlyoutMessageType } from './types/flyout-message-type';\n/**\n * Represents a single displayed flyout.\n */\nexport class SkyFlyoutInstance {\n /**\n * An event that the flyout instance emits when it is about to close.\n * If a subscription exists for this event,\n * the flyout does not close until the subscriber calls the handler's `closeModal` method.\n */\n get beforeClose() {\n return this.#_beforeClose;\n }\n /**\n * Used to communicate with the host component.\n * @internal\n */\n get hostController() {\n return this.#_hostController;\n }\n /**\n * An event that the flyout instance emits when users click the next iterator button.\n */\n get iteratorNextButtonClick() {\n return this.#_iteratorNextButtonClick;\n }\n /**\n * An event that the flyout instance emits when users click the previous iterator button.\n */\n get iteratorPreviousButtonClick() {\n return this.#_iteratorPreviousButtonClick;\n }\n /**\n * Disables the next iterator button.\n * @default false\n */\n set iteratorNextButtonDisabled(newValue) {\n this.#_iteratorNextButtonDisabled = newValue;\n if (newValue) {\n this.hostController.next({\n type: SkyFlyoutMessageType.DisableIteratorNextButton,\n });\n }\n else {\n this.hostController.next({\n type: SkyFlyoutMessageType.EnableIteratorNextButton,\n });\n }\n }\n get iteratorNextButtonDisabled() {\n return this.#_iteratorNextButtonDisabled;\n }\n /**\n * Disables the previous iterator button.\n * @default false\n */\n set iteratorPreviousButtonDisabled(newValue) {\n this.#_iteratorPreviousButtonDisabled = newValue;\n if (newValue) {\n this.hostController.next({\n type: SkyFlyoutMessageType.DisableIteratorPreviousButton,\n });\n }\n else {\n this.hostController.next({\n type: SkyFlyoutMessageType.EnableIteratorPreviousButton,\n });\n }\n }\n get iteratorPreviousButtonDisabled() {\n return this.#_iteratorPreviousButtonDisabled;\n }\n #_beforeClose;\n #_iteratorNextButtonClick;\n #_iteratorPreviousButtonClick;\n #_iteratorNextButtonDisabled;\n #_iteratorPreviousButtonDisabled;\n #_hostController;\n // TODO: Remove this being optional in a future breaking change.\n constructor(componentInstance) {\n /**\n * An event that the flyout instance emits when it closes.\n */\n this.closed = new EventEmitter();\n /**\n * A `boolean` value that returns `true` if the flyout is open.\n * @default true\n */\n this.isOpen = true;\n this.#_beforeClose = new Subject();\n this.#_iteratorNextButtonClick = new EventEmitter();\n this.#_iteratorPreviousButtonClick = new EventEmitter();\n this.#_iteratorNextButtonDisabled = false;\n this.#_iteratorPreviousButtonDisabled = false;\n this.#_hostController = new Subject();\n if (!componentInstance) {\n console.warn(`The SkyFlyoutInstance was created without a reference to the flyout's child component instance.\n The instance will not have a reference to this child component.\n Support for creating an instance without this reference will be removed in a future breaking change.`);\n }\n this.componentInstance = componentInstance;\n this.closed.subscribe(() => {\n this.isOpen = false;\n });\n }\n /**\n * Closes the flyout instance and emits its `closed` event.\n * @param args Arguments used when closing the flyout.\n */\n close(args) {\n this.hostController.next({\n type: SkyFlyoutMessageType.Close,\n data: { ignoreBeforeClose: args ? args.ignoreBeforeClose : false },\n });\n this.#_iteratorPreviousButtonClick.complete();\n this.#_iteratorNextButtonClick.complete();\n this.hostController.complete();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWluc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC1pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbkU7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCOzs7O09BSUc7SUFDSCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFZRDs7O09BR0c7SUFDSCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQVFEOztPQUVHO0lBQ0gsSUFBVyx1QkFBdUI7UUFDaEMsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVywyQkFBMkI7UUFDcEMsT0FBTyxJQUFJLENBQUMsNkJBQTZCLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsMEJBQTBCLENBQUMsUUFBaUI7UUFDckQsSUFBSSxDQUFDLDRCQUE0QixHQUFHLFFBQVEsQ0FBQztRQUM3QyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksRUFBRSxvQkFBb0IsQ0FBQyx5QkFBeUI7YUFDckQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztnQkFDdkIsSUFBSSxFQUFFLG9CQUFvQixDQUFDLHdCQUF3QjthQUNwRCxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQVcsMEJBQTBCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLDRCQUE0QixDQUFDO0lBQzNDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFXLDhCQUE4QixDQUFDLFFBQWlCO1FBQ3pELElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxRQUFRLENBQUM7UUFDakQsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUN2QixJQUFJLEVBQUUsb0JBQW9CLENBQUMsNkJBQTZCO2FBQ3pELENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksRUFBRSxvQkFBb0IsQ0FBQyw0QkFBNEI7YUFDeEQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLDhCQUE4QjtRQUN2QyxPQUFPLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQztJQUMvQyxDQUFDO0lBRUQsYUFBYSxDQUE4QztJQUUzRCx5QkFBeUIsQ0FBNEI7SUFFckQsNkJBQTZCLENBQTRCO0lBRXpELDRCQUE0QixDQUFTO0lBRXJDLGdDQUFnQyxDQUFTO0lBRXpDLGdCQUFnQixDQUFtQztJQUVuRCxnRUFBZ0U7SUFDaEUsWUFBWSxpQkFBcUI7UUE3RmpDOztXQUVHO1FBQ0ksV0FBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFlekM7OztXQUdHO1FBQ0ksV0FBTSxHQUFHLElBQUksQ0FBQztRQTBEckIsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBK0IsQ0FBQztRQUUzRCw4QkFBeUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXJELGtDQUE2QixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFekQsaUNBQTRCLEdBQUcsS0FBSyxDQUFDO1FBRXJDLHFDQUFnQyxHQUFHLEtBQUssQ0FBQztRQUV6QyxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBb0IsQ0FBQztRQUlqRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN2QixPQUFPLENBQUMsSUFBSSxDQUNWOzs2R0FFcUcsQ0FDdEcsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWtCLENBQUM7UUFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxJQUF5QjtRQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztZQUN2QixJQUFJLEVBQUUsb0JBQW9CLENBQUMsS0FBSztZQUNoQyxJQUFJLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO1NBQ25FLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lGbHlvdXRCZWZvcmVDbG9zZUhhbmRsZXIgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1iZWZvcmUtY2xvc2UtaGFuZGxlcic7XG5pbXBvcnQgeyBTa3lGbHlvdXRDbG9zZUFyZ3MgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1jbG9zZS1hcmdzJztcbmltcG9ydCB7IFNreUZseW91dE1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1tZXNzYWdlJztcbmltcG9ydCB7IFNreUZseW91dE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtbWVzc2FnZS10eXBlJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2luZ2xlIGRpc3BsYXllZCBmbHlvdXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRJbnN0YW5jZTxUPiB7XG4gIC8qKlxuICAgKiBBbiBldmVudCB0aGF0IHRoZSBmbHlvdXQgaW5zdGFuY2UgZW1pdHMgd2hlbiBpdCBpcyBhYm91dCB0byBjbG9zZS5cbiAgICogSWYgYSBzdWJzY3JpcHRpb24gZXhpc3RzIGZvciB0aGlzIGV2ZW50LFxuICAgKiB0aGUgZmx5b3V0IGRvZXMgbm90IGNsb3NlIHVudGlsIHRoZSBzdWJzY3JpYmVyIGNhbGxzIHRoZSBoYW5kbGVyJ3MgYGNsb3NlTW9kYWxgIG1ldGhvZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgYmVmb3JlQ2xvc2UoKTogT2JzZXJ2YWJsZTxTa3lGbHlvdXRCZWZvcmVDbG9zZUhhbmRsZXI+IHtcbiAgICByZXR1cm4gdGhpcy4jX2JlZm9yZUNsb3NlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIGV2ZW50IHRoYXQgdGhlIGZseW91dCBpbnN0YW5jZSBlbWl0cyB3aGVuIGl0IGNsb3Nlcy5cbiAgICovXG4gIHB1YmxpYyBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBvZiB0aGUgY29tcG9uZW50IHRvIGRpc3BsYXkgaW4gdGhlIGZseW91dC5cbiAgICovXG4gIHB1YmxpYyBjb21wb25lbnRJbnN0YW5jZSE6IFQ7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgaG9zdCBjb21wb25lbnQuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGdldCBob3N0Q29udHJvbGxlcigpOiBTdWJqZWN0PFNreUZseW91dE1lc3NhZ2U+IHtcbiAgICByZXR1cm4gdGhpcy4jX2hvc3RDb250cm9sbGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgYGJvb2xlYW5gIHZhbHVlIHRoYXQgcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGZseW91dCBpcyBvcGVuLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBwdWJsaWMgaXNPcGVuID0gdHJ1ZTtcblxuICAvKipcbiAgICogQW4gZXZlbnQgdGhhdCB0aGUgZmx5b3V0IGluc3RhbmNlIGVtaXRzIHdoZW4gdXNlcnMgY2xpY2sgdGhlIG5leHQgaXRlcmF0b3IgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGdldCBpdGVyYXRvck5leHRCdXR0b25DbGljaygpOiBFdmVudEVtaXR0ZXI8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLiNfaXRlcmF0b3JOZXh0QnV0dG9uQ2xpY2s7XG4gIH1cblxuICAvKipcbiAgICogQW4gZXZlbnQgdGhhdCB0aGUgZmx5b3V0IGluc3RhbmNlIGVtaXRzIHdoZW4gdXNlcnMgY2xpY2sgdGhlIHByZXZpb3VzIGl0ZXJhdG9yIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBnZXQgaXRlcmF0b3JQcmV2aW91c0J1dHRvbkNsaWNrKCk6IEV2ZW50RW1pdHRlcjx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI19pdGVyYXRvclByZXZpb3VzQnV0dG9uQ2xpY2s7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZXMgdGhlIG5leHQgaXRlcmF0b3IgYnV0dG9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcHVibGljIHNldCBpdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZChuZXdWYWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI19pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCA9IG5ld1ZhbHVlO1xuICAgIGlmIChuZXdWYWx1ZSkge1xuICAgICAgdGhpcy5ob3N0Q29udHJvbGxlci5uZXh0KHtcbiAgICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRGlzYWJsZUl0ZXJhdG9yTmV4dEJ1dHRvbixcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhvc3RDb250cm9sbGVyLm5leHQoe1xuICAgICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5FbmFibGVJdGVyYXRvck5leHRCdXR0b24sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGl0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZXMgdGhlIHByZXZpb3VzIGl0ZXJhdG9yIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHB1YmxpYyBzZXQgaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkKG5ld1ZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jX2l0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZCA9IG5ld1ZhbHVlO1xuICAgIGlmIChuZXdWYWx1ZSkge1xuICAgICAgdGhpcy5ob3N0Q29udHJvbGxlci5uZXh0KHtcbiAgICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRGlzYWJsZUl0ZXJhdG9yUHJldmlvdXNCdXR0b24sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ob3N0Q29udHJvbGxlci5uZXh0KHtcbiAgICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRW5hYmxlSXRlcmF0b3JQcmV2aW91c0J1dHRvbixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkO1xuICB9XG5cbiAgI19iZWZvcmVDbG9zZSA9IG5ldyBTdWJqZWN0PFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlcj4oKTtcblxuICAjX2l0ZXJhdG9yTmV4dEJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICNfaXRlcmF0b3JQcmV2aW91c0J1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICNfaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcblxuICAjX2l0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuXG4gICNfaG9zdENvbnRyb2xsZXIgPSBuZXcgU3ViamVjdDxTa3lGbHlvdXRNZXNzYWdlPigpO1xuXG4gIC8vIFRPRE86IFJlbW92ZSB0aGlzIGJlaW5nIG9wdGlvbmFsIGluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZS5cbiAgY29uc3RydWN0b3IoY29tcG9uZW50SW5zdGFuY2U/OiBUKSB7XG4gICAgaWYgKCFjb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgVGhlIFNreUZseW91dEluc3RhbmNlIHdhcyBjcmVhdGVkIHdpdGhvdXQgYSByZWZlcmVuY2UgdG8gdGhlIGZseW91dCdzIGNoaWxkIGNvbXBvbmVudCBpbnN0YW5jZS5cbiAgICAgICAgVGhlIGluc3RhbmNlIHdpbGwgbm90IGhhdmUgYSByZWZlcmVuY2UgdG8gdGhpcyBjaGlsZCBjb21wb25lbnQuXG4gICAgICAgIFN1cHBvcnQgZm9yIGNyZWF0aW5nIGFuIGluc3RhbmNlIHdpdGhvdXQgdGhpcyByZWZlcmVuY2Ugd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZS5gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbXBvbmVudEluc3RhbmNlID0gY29tcG9uZW50SW5zdGFuY2UhO1xuICAgIHRoaXMuY2xvc2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgZmx5b3V0IGluc3RhbmNlIGFuZCBlbWl0cyBpdHMgYGNsb3NlZGAgZXZlbnQuXG4gICAqIEBwYXJhbSBhcmdzIEFyZ3VtZW50cyB1c2VkIHdoZW4gY2xvc2luZyB0aGUgZmx5b3V0LlxuICAgKi9cbiAgcHVibGljIGNsb3NlKGFyZ3M/OiBTa3lGbHlvdXRDbG9zZUFyZ3MpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RDb250cm9sbGVyLm5leHQoe1xuICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UsXG4gICAgICBkYXRhOiB7IGlnbm9yZUJlZm9yZUNsb3NlOiBhcmdzID8gYXJncy5pZ25vcmVCZWZvcmVDbG9zZSA6IGZhbHNlIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLiNfaXRlcmF0b3JQcmV2aW91c0J1dHRvbkNsaWNrLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jX2l0ZXJhdG9yTmV4dEJ1dHRvbkNsaWNrLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLmhvc3RDb250cm9sbGVyLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==","/* 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-flyout' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport { SkyI18nModule, SkyLibResourcesService, } from '@skyux/i18n';\nimport * as i0 from \"@angular/core\";\nconst RESOURCES = {\n 'EN-US': {\n skyux_flyout_close: { message: 'Close flyout' },\n skyux_flyout_iterator_previous_button: { message: 'Previous' },\n skyux_flyout_iterator_next_button: { message: 'Next' },\n skyux_flyout_permalink_button: { message: 'View record' },\n skyux_flyout_primary_action_button: { message: 'Create list' },\n skyux_flyout_resize_handle: {\n message: 'Resize the flyout window. Press the enter or space key to activate, then use left arrow key to expand the flyout window and right arrow key to shrink the flyout window. Press the enter, space, or tab key to deactivate.',\n },\n },\n 'FR-CA': {\n skyux_flyout_close: { message: 'Fermer la fenêtre contextuelle' },\n skyux_flyout_iterator_previous_button: { message: 'Précédent' },\n skyux_flyout_iterator_next_button: { message: 'Suivant' },\n skyux_flyout_permalink_button: { message: 'Visualiser le dossier' },\n skyux_flyout_primary_action_button: { message: 'Créer une liste' },\n skyux_flyout_resize_handle: {\n message: 'Redimensionnez la fenêtre contextuelle. Appuyez sur la touche Entrée ou Espace pour l’activer, puis utiliser la flèche de gauche pour agrandir la fenêtre contextuelle et la flèche de droite pour réduire la fenêtre contextuelle. Appuyez sur la touche Entrée, Espace ou Tabulation pour la désactiver.',\n },\n },\n};\nSkyLibResourcesService.addResources(RESOURCES);\n/**\n * Import into any component library module that needs to use resource strings.\n */\nexport class SkyFlyoutResourcesModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutResourcesModule, exports: [SkyI18nModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutResourcesModule, imports: [SkyI18nModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutResourcesModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [SkyI18nModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWZseW91dC1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3NreS1mbHlvdXQtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxhQUFhLEVBRWIsc0JBQXNCLEdBQ3ZCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBb0M7SUFDakQsT0FBTyxFQUFFO1FBQ1Asa0JBQWtCLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFO1FBQy9DLHFDQUFxQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUM5RCxpQ0FBaUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUU7UUFDdEQsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFO1FBQ3pELGtDQUFrQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRTtRQUM5RCwwQkFBMEIsRUFBRTtZQUMxQixPQUFPLEVBQ0wsNE5BQTROO1NBQy9OO0tBQ0Y7SUFDRCxPQUFPLEVBQUU7UUFDUCxrQkFBa0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRTtRQUNqRSxxQ0FBcUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUU7UUFDL0QsaUNBQWlDLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO1FBQ3pELDZCQUE2QixFQUFFLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFO1FBQ25FLGtDQUFrQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFO1FBQ2xFLDBCQUEwQixFQUFFO1lBQzFCLE9BQU8sRUFDTCw0U0FBNFM7U0FDL1M7S0FDRjtDQUNGLENBQUM7QUFFRixzQkFBc0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFL0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sd0JBQXdCOytHQUF4Qix3QkFBd0I7Z0hBQXhCLHdCQUF3QixZQUZ6QixhQUFhO2dIQUVaLHdCQUF3QixZQUZ6QixhQUFhOzs0RkFFWix3QkFBd0I7a0JBSHBDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1mbHlvdXQnIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IFJlY29yZDxzdHJpbmcsIFNreUxpYlJlc291cmNlcz4gPSB7XG4gICdFTi1VUyc6IHtcbiAgICBza3l1eF9mbHlvdXRfY2xvc2U6IHsgbWVzc2FnZTogJ0Nsb3NlIGZseW91dCcgfSxcbiAgICBza3l1eF9mbHlvdXRfaXRlcmF0b3JfcHJldmlvdXNfYnV0dG9uOiB7IG1lc3NhZ2U6ICdQcmV2aW91cycgfSxcbiAgICBza3l1eF9mbHlvdXRfaXRlcmF0b3JfbmV4dF9idXR0b246IHsgbWVzc2FnZTogJ05leHQnIH0sXG4gICAgc2t5dXhfZmx5b3V0X3Blcm1hbGlua19idXR0b246IHsgbWVzc2FnZTogJ1ZpZXcgcmVjb3JkJyB9LFxuICAgIHNreXV4X2ZseW91dF9wcmltYXJ5X2FjdGlvbl9idXR0b246IHsgbWVzc2FnZTogJ0NyZWF0ZSBsaXN0JyB9LFxuICAgIHNreXV4X2ZseW91dF9yZXNpemVfaGFuZGxlOiB7XG4gICAgICBtZXNzYWdlOlxuICAgICAgICAnUmVzaXplIHRoZSBmbHlvdXQgd2luZG93LiBQcmVzcyB0aGUgZW50ZXIgb3Igc3BhY2Uga2V5IHRvIGFjdGl2YXRlLCB0aGVuIHVzZSBsZWZ0IGFycm93IGtleSB0byBleHBhbmQgdGhlIGZseW91dCB3aW5kb3cgYW5kIHJpZ2h0IGFycm93IGtleSB0byBzaHJpbmsgdGhlIGZseW91dCB3aW5kb3cuIFByZXNzIHRoZSBlbnRlciwgc3BhY2UsIG9yIHRhYiBrZXkgdG8gZGVhY3RpdmF0ZS4nLFxuICAgIH0sXG4gIH0sXG4gICdGUi1DQSc6IHtcbiAgICBza3l1eF9mbHlvdXRfY2xvc2U6IHsgbWVzc2FnZTogJ0Zlcm1lciBsYSBmZW7DqnRyZSBjb250ZXh0dWVsbGUnIH0sXG4gICAgc2t5dXhfZmx5b3V0X2l0ZXJhdG9yX3ByZXZpb3VzX2J1dHRvbjogeyBtZXNzYWdlOiAnUHLDqWPDqWRlbnQnIH0sXG4gICAgc2t5dXhfZmx5b3V0X2l0ZXJhdG9yX25leHRfYnV0dG9uOiB7IG1lc3NhZ2U6ICdTdWl2YW50JyB9LFxuICAgIHNreXV4X2ZseW91dF9wZXJtYWxpbmtfYnV0dG9uOiB7IG1lc3NhZ2U6ICdWaXN1YWxpc2VyIGxlIGRvc3NpZXInIH0sXG4gICAgc2t5dXhfZmx5b3V0X3ByaW1hcnlfYWN0aW9uX2J1dHRvbjogeyBtZXNzYWdlOiAnQ3LDqWVyIHVuZSBsaXN0ZScgfSxcbiAgICBza3l1eF9mbHlvdXRfcmVzaXplX2hhbmRsZToge1xuICAgICAgbWVzc2FnZTpcbiAgICAgICAgJ1JlZGltZW5zaW9ubmV6IGxhIGZlbsOqdHJlIGNvbnRleHR1ZWxsZS4gQXBwdXlleiBzdXIgbGEgdG91Y2hlIEVudHLDqWUgb3UgRXNwYWNlIHBvdXIgbOKAmWFjdGl2ZXIsIHB1aXMgdXRpbGlzZXIgbGEgZmzDqGNoZSBkZSBnYXVjaGUgcG91ciBhZ3JhbmRpciBsYSBmZW7DqnRyZSBjb250ZXh0dWVsbGUgZXQgbGEgZmzDqGNoZSBkZSBkcm9pdGUgcG91ciByw6lkdWlyZSBsYSBmZW7DqnRyZSBjb250ZXh0dWVsbGUuIEFwcHV5ZXogc3VyIGxhIHRvdWNoZSBFbnRyw6llLCBFc3BhY2Ugb3UgVGFidWxhdGlvbiBwb3VyIGxhIGTDqXNhY3RpdmVyLicsXG4gICAgfSxcbiAgfSxcbn07XG5cblNreUxpYlJlc291cmNlc1NlcnZpY2UuYWRkUmVzb3VyY2VzKFJFU09VUkNFUyk7XG5cbi8qKlxuICogSW1wb3J0IGludG8gYW55IGNvbXBvbmVudCBsaWJyYXJ5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIHVzZSByZXNvdXJjZSBzdHJpbmdzLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5STE4bk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUZseW91dFJlc291cmNlc01vZHVsZSB7fVxuIl19","import { Injectable, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\n/**\n * @internal\n */\nexport class SkyFlyoutAdapterService {\n #renderer;\n #windowRef;\n constructor(rendererFactory, windowRef) {\n this.#windowRef = windowRef;\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n adjustHeaderForHelp(header) {\n const windowObj = this.#windowRef.nativeWindow;\n const helpWidget = windowObj.document.getElementById('bb-help-invoker');\n if (helpWidget) {\n this.#renderer.addClass(header.nativeElement, 'sky-flyout-help-shim');\n }\n }\n toggleIframePointerEvents(enable) {\n // When iframes are present on the page, they may interfere with dragging\n // temporarily disable pointer events in iframes when dragging starts.\n // When re-enabling we set to the empty string as it will remove the element styling\n // and fall back to any css originally given to iframe\n const iframes = Array.from(document.querySelectorAll('iframe'));\n for (const iframe of iframes) {\n this.#renderer.setStyle(iframe, 'pointer-events', enable ? '' : 'none');\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutAdapterService, deps: [{ token: i0.RendererFactory2 }, { token: i1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutAdapterService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutAdapterService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.RendererFactory2 }, { type: i1.SkyAppWindowRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEdBR1gsTUFBTSxlQUFlLENBQUM7OztBQUd2Qjs7R0FFRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsU0FBUyxDQUFZO0lBRXJCLFVBQVUsQ0FBa0I7SUFFNUIsWUFBWSxlQUFpQyxFQUFFLFNBQTBCO1FBQ3ZFLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLG1CQUFtQixDQUFDLE1BQWtCO1FBQzNDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQy9DLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFeEUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0gsQ0FBQztJQUVNLHlCQUF5QixDQUFDLE1BQWU7UUFDOUMseUVBQXlFO1FBQ3pFLHNFQUFzRTtRQUN0RSxvRkFBb0Y7UUFDcEYsc0RBQXNEO1FBQ3RELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDaEUsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFFLENBQUM7SUFDSCxDQUFDOytHQTVCVSx1QkFBdUI7bUhBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGFibGUsXG4gIFJlbmRlcmVyMixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lBcHBXaW5kb3dSZWYgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRBZGFwdGVyU2VydmljZSB7XG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gICN3aW5kb3dSZWY6IFNreUFwcFdpbmRvd1JlZjtcblxuICBjb25zdHJ1Y3RvcihyZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIsIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmKSB7XG4gICAgdGhpcy4jd2luZG93UmVmID0gd2luZG93UmVmO1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgYWRqdXN0SGVhZGVyRm9ySGVscChoZWFkZXI6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCB3aW5kb3dPYmogPSB0aGlzLiN3aW5kb3dSZWYubmF0aXZlV2luZG93O1xuICAgIGNvbnN0IGhlbHBXaWRnZXQgPSB3aW5kb3dPYmouZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JiLWhlbHAtaW52b2tlcicpO1xuXG4gICAgaWYgKGhlbHBXaWRnZXQpIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLmFkZENsYXNzKGhlYWRlci5uYXRpdmVFbGVtZW50LCAnc2t5LWZseW91dC1oZWxwLXNoaW0nKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlSWZyYW1lUG9pbnRlckV2ZW50cyhlbmFibGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvLyBXaGVuIGlmcmFtZXMgYXJlIHByZXNlbnQgb24gdGhlIHBhZ2UsIHRoZXkgbWF5IGludGVyZmVyZSB3aXRoIGRyYWdnaW5nXG4gICAgLy8gdGVtcG9yYXJpbHkgZGlzYWJsZSBwb2ludGVyIGV2ZW50cyBpbiBpZnJhbWVzIHdoZW4gZHJhZ2dpbmcgc3RhcnRzLlxuICAgIC8vIFdoZW4gcmUtZW5hYmxpbmcgd2Ugc2V0IHRvIHRoZSBlbXB0eSBzdHJpbmcgYXMgaXQgd2lsbCByZW1vdmUgdGhlIGVsZW1lbnQgc3R5bGluZ1xuICAgIC8vIGFuZCBmYWxsIGJhY2sgdG8gYW55IGNzcyBvcmlnaW5hbGx5IGdpdmVuIHRvIGlmcmFtZVxuICAgIGNvbnN0IGlmcmFtZXMgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lmcmFtZScpKTtcbiAgICBmb3IgKGNvbnN0IGlmcmFtZSBvZiBpZnJhbWVzKSB7XG4gICAgICB0aGlzLiNyZW5kZXJlci5zZXRTdHlsZShpZnJhbWUsICdwb2ludGVyLWV2ZW50cycsIGVuYWJsZSA/ICcnIDogJ25vbmUnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Component, EventEmitter, Input, Output, } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyThemeModule } from '@skyux/theme';\nimport { Subject } from 'rxjs';\nimport { SkyFlyoutResourcesModule } from '../shared/sky-flyout-resources.module';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/icon\";\nimport * as i2 from \"@skyux/theme\";\nimport * as i3 from \"@skyux/i18n\";\n/**\n * @internal\n */\nexport class SkyFlyoutIteratorComponent {\n get previousButtonClick() {\n return this.#_previousButtonClick;\n }\n get nextButtonClick() {\n return this.#_nextButtonClick;\n }\n #ngUnsubscribe = new Subject();\n #_nextButtonClick = new EventEmitter();\n #_previousButtonClick = new EventEmitter();\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n onIteratorPreviousClick() {\n /* istanbul ignore else */\n if (!this.previousButtonDisabled) {\n this.#_previousButtonClick.emit();\n }\n }\n onIteratorNextClick() {\n /* istanbul ignore else */\n if (!this.nextButtonDisabled) {\n this.#_nextButtonClick.emit();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutIteratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.15\", type: SkyFlyoutIteratorComponent, isStandalone: true, selector: \"sky-flyout-iterator\", inputs: { nextButtonDisabled: \"nextButtonDisabled\", previousButtonDisabled: \"previousButtonDisabled\" }, outputs: { previousButtonClick: \"previousButtonClick\", nextButtonClick: \"nextButtonClick\" }, ngImport: i0, template: \"<div class=\\\"sky-flyout-iterators\\\">\\n <button\\n class=\\\"sky-btn sky-flyout-iterator-previous\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"\\n 'skyux_flyout_iterator_previous_button' | skyLibResources\\n \\\"\\n [disabled]=\\\"previousButtonDisabled\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-icon-borderless': 'modern'\\n }\\\"\\n (click)=\\\"onIteratorPreviousClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-up\\\" />\\n </button>\\n <button\\n class=\\\"sky-btn sky-flyout-iterator-next\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_iterator_next_button' | skyLibResources\\\"\\n [disabled]=\\\"nextButtonDisabled\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-icon-borderless': 'modern'\\n }\\\"\\n (click)=\\\"onIteratorNextClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-down\\\" />\\n </button>\\n</div>\\n\", styles: [\".sky-flyout-iterators:not(.sky-theme-modern *){--sky-override-flyout-iterator-margin-right: 5px;--sky-override-flyout-iterators-display: block}.sky-btn{margin-right:var(--sky-override-flyout-iterator-margin-right, var(--sky-space-gap-action_group-m))}.sky-flyout-iterators{display:var(--sky-override-flyout-iterators-display, inline)}\\n\"], dependencies: [{ kind: \"ngmodule\", type: SkyIconModule }, { kind: \"component\", type: i1.λ1, selector: \"sky-icon\", inputs: [\"iconName\", \"variant\", \"iconSize\"] }, { kind: \"ngmodule\", type: SkyFlyoutResourcesModule }, { kind: \"ngmodule\", type: SkyThemeModule }, { kind: \"directive\", type: i2.λ2, selector: \"[skyThemeClass]\", inputs: [\"class\", \"skyThemeClass\"] }, { kind: \"pipe\", type: i3.SkyLibResourcesPipe, name: \"skyLibResources\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutIteratorComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-flyout-iterator', imports: [SkyIconModule, SkyFlyoutResourcesModule, SkyThemeModule], template: \"<div class=\\\"sky-flyout-iterators\\\">\\n <button\\n class=\\\"sky-btn sky-flyout-iterator-previous\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"\\n 'skyux_flyout_iterator_previous_button' | skyLibResources\\n \\\"\\n [disabled]=\\\"previousButtonDisabled\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-icon-borderless': 'modern'\\n }\\\"\\n (click)=\\\"onIteratorPreviousClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-up\\\" />\\n </button>\\n <button\\n class=\\\"sky-btn sky-flyout-iterator-next\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_iterator_next_button' | skyLibResources\\\"\\n [disabled]=\\\"nextButtonDisabled\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-icon-borderless': 'modern'\\n }\\\"\\n (click)=\\\"onIteratorNextClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-down\\\" />\\n </button>\\n</div>\\n\", styles: [\".sky-flyout-iterators:not(.sky-theme-modern *){--sky-override-flyout-iterator-margin-right: 5px;--sky-override-flyout-iterators-display: block}.sky-btn{margin-right:var(--sky-override-flyout-iterator-margin-right, var(--sky-space-gap-action_group-m))}.sky-flyout-iterators{display:var(--sky-override-flyout-iterators-display, inline)}\\n\"] }]\n }], propDecorators: { nextButtonDisabled: [{\n type: Input\n }], previousButtonDisabled: [{\n type: Input\n }], previousButtonClick: [{\n type: Output\n }], nextButtonClick: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWl0ZXJhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQtaXRlcmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC1pdGVyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQUVqRjs7R0FFRztBQU9ILE1BQU0sT0FBTywwQkFBMEI7SUFPckMsSUFDVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFckMsaUJBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUU3QyxxQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRTFDLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSx1QkFBdUI7UUFDNUIsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7K0dBeENVLDBCQUEwQjttR0FBMUIsMEJBQTBCLG9SQ3ZCdkMsMDRCQThCQSx5WURUWSxhQUFhLHFJQUFFLHdCQUF3Qiw4QkFBRSxjQUFjOzs0RkFFdEQsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNFLHFCQUFxQixXQUd0QixDQUFDLGFBQWEsRUFBRSx3QkFBd0IsRUFBRSxjQUFjLENBQUM7O3NCQUdqRSxLQUFLOztzQkFHTCxLQUFLOztzQkFHTCxNQUFNOztzQkFLTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lJY29uTW9kdWxlIH0gZnJvbSAnQHNreXV4L2ljb24nO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreUZseW91dFJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktZmx5b3V0LXJlc291cmNlcy5tb2R1bGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZmx5b3V0LWl0ZXJhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZseW91dC1pdGVyYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZseW91dC1pdGVyYXRvci5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbU2t5SWNvbk1vZHVsZSwgU2t5Rmx5b3V0UmVzb3VyY2VzTW9kdWxlLCBTa3lUaGVtZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUZseW91dEl0ZXJhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgcHVibGljIG5leHRCdXR0b25EaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcHJldmlvdXNCdXR0b25EaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBwcmV2aW91c0J1dHRvbkNsaWNrKCk6IEV2ZW50RW1pdHRlcjx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI19wcmV2aW91c0J1dHRvbkNsaWNrO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgbmV4dEJ1dHRvbkNsaWNrKCk6IEV2ZW50RW1pdHRlcjx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI19uZXh0QnV0dG9uQ2xpY2s7XG4gIH1cblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI19uZXh0QnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgI19wcmV2aW91c0J1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgb25JdGVyYXRvclByZXZpb3VzQ2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoIXRoaXMucHJldmlvdXNCdXR0b25EaXNhYmxlZCkge1xuICAgICAgdGhpcy4jX3ByZXZpb3VzQnV0dG9uQ2xpY2suZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkl0ZXJhdG9yTmV4dENsaWNrKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKCF0aGlzLm5leHRCdXR0b25EaXNhYmxlZCkge1xuICAgICAgdGhpcy4jX25leHRCdXR0b25DbGljay5lbWl0KCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWZseW91dC1pdGVyYXRvcnNcIj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwic2t5LWJ0biBza3ktZmx5b3V0LWl0ZXJhdG9yLXByZXZpb3VzXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgJ3NreXV4X2ZseW91dF9pdGVyYXRvcl9wcmV2aW91c19idXR0b24nIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgXCJcbiAgICBbZGlzYWJsZWRdPVwicHJldmlvdXNCdXR0b25EaXNhYmxlZFwiXG4gICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgJ3NreS1idG4tZGVmYXVsdCc6ICdkZWZhdWx0JyxcbiAgICAgICdza3ktYnRuLWljb24tYm9yZGVybGVzcyc6ICdtb2Rlcm4nXG4gICAgfVwiXG4gICAgKGNsaWNrKT1cIm9uSXRlcmF0b3JQcmV2aW91c0NsaWNrKClcIlxuICA+XG4gICAgPHNreS1pY29uIGljb25OYW1lPVwiY2hldnJvbi11cFwiIC8+XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJza3ktYnRuIHNreS1mbHlvdXQtaXRlcmF0b3ItbmV4dFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfZmx5b3V0X2l0ZXJhdG9yX25leHRfYnV0dG9uJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgW2Rpc2FibGVkXT1cIm5leHRCdXR0b25EaXNhYmxlZFwiXG4gICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgJ3NreS1idG4tZGVmYXVsdCc6ICdkZWZhdWx0JyxcbiAgICAgICdza3ktYnRuLWljb24tYm9yZGVybGVzcyc6ICdtb2Rlcm4nXG4gICAgfVwiXG4gICAgKGNsaWNrKT1cIm9uSXRlcmF0b3JOZXh0Q2xpY2soKVwiXG4gID5cbiAgICA8c2t5LWljb24gaWNvbk5hbWU9XCJjaGV2cm9uLWRvd25cIiAvPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19","/**\n * Handler for notifying the flyout when it is appropriate to close the flyout. This will be returned from the flyout instance's `beforeClose` observable.\n */\nexport class SkyFlyoutBeforeCloseHandler {\n constructor(closeFlyoutFunction) {\n this.closeFlyout = closeFlyoutFunction;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWJlZm9yZS1jbG9zZS1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L3R5cGVzL2ZseW91dC1iZWZvcmUtY2xvc2UtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTywyQkFBMkI7SUFNdEMsWUFBWSxtQkFBK0I7UUFDekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQztJQUN6QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEhhbmRsZXIgZm9yIG5vdGlmeWluZyB0aGUgZmx5b3V0IHdoZW4gaXQgaXMgYXBwcm9wcmlhdGUgdG8gY2xvc2UgdGhlIGZseW91dC4gVGhpcyB3aWxsIGJlIHJldHVybmVkIGZyb20gdGhlIGZseW91dCBpbnN0YW5jZSdzIGBiZWZvcmVDbG9zZWAgb2JzZXJ2YWJsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlciB7XG4gIC8qKlxuICAgKiBGdW5jdGlvbiB3aGljaCBzaG91bGQgYmUgY2FsbGVkIHRvIGNsb3NlIHRoZSBmbHlvdXQuIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCBvbmNlIGFueSBpbnRlcnZlbmluZyBhY3Rpb25zIGhhdmUgY29tcGxldGVkLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNsb3NlRmx5b3V0OiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKGNsb3NlRmx5b3V0RnVuY3Rpb246ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLmNsb3NlRmx5b3V0ID0gY2xvc2VGbHlvdXRGdW5jdGlvbjtcbiAgfVxufVxuIl19","import { animate, state, style, transition, trigger, } from '@angular/animations';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EnvironmentInjector, HostListener, NgZone, ViewChild, ViewContainerRef, inject, } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SKY_STACKING_CONTEXT, SkyDynamicComponentService, SkyResponsiveHostDirective, SkyUIConfigService, } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyHrefModule } from '@skyux/router';\nimport { SkyThemeModule } from '@skyux/theme';\nimport { BehaviorSubject, Subject, fromEvent } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\nimport { SkyFlyoutResourcesModule } from '../shared/sky-flyout-resources.module';\nimport { SkyFlyoutAdapterService } from './flyout-adapter.service';\nimport { SkyFlyoutInstance } from './flyout-instance';\nimport { SkyFlyoutIteratorComponent } from './flyout-iterator.component';\nimport { SkyFlyoutBeforeCloseHandler } from './types/flyout-before-close-handler';\nimport { SkyFlyoutMessageType } from './types/flyout-message-type';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/cdk/a11y\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"@angular/router\";\nimport * as i4 from \"@skyux/router\";\nimport * as i5 from \"@skyux/icon\";\nimport * as i6 from \"@skyux/theme\";\nimport * as i7 from \"@skyux/i18n\";\nconst FLYOUT_OPEN_STATE = 'flyoutOpen';\nconst FLYOUT_CLOSED_STATE = 'flyoutClosed';\nlet nextId = 0;\n/**\n * @internal\n */\nexport class SkyFlyoutComponent {\n #xCoord;\n #windowBufferSize;\n get messageStream() {\n return this.#_messageStream;\n }\n #flyoutInstance;\n #ngUnsubscribe;\n #_messageStream;\n #adapter;\n #changeDetector;\n #dynamicComponentSvc;\n #environmentInjector;\n #ngZone;\n #resourcesService;\n #uiConfigService;\n constructor() {\n this.config = {\n defaultWidth: window.innerWidth / 2,\n minWidth: 320,\n maxWidth: window.innerWidth / 2,\n providers: [],\n };\n this.enableTrapFocus = false;\n this.enableTrapFocusAutoCapture = false;\n this.flyoutId = `sky-flyout-${++nextId}`;\n this.flyoutState = FLYOUT_CLOSED_STATE;\n this.isOpen = false;\n this.isOpening = false;\n this.flyoutWidth = 0;\n this.instanceReady = false;\n this.isDragging = false;\n this.isFullscreen = false;\n this.resizeKeyControlActive = false;\n this.#xCoord = 0;\n this.#windowBufferSize = 20;\n this.permalink = {};\n this.permalinkLabel = '';\n this.primaryAction = {};\n this.primaryActionLabel = '';\n /**\n * @internal\n */\n this.widthStep = 10;\n this.zIndex$ = new BehaviorSubject(1001);\n this.#ngUnsubscribe = new Subject();\n this.#_messageStream = new Subject();\n this.#adapter = inject(SkyFlyoutAdapterService);\n this.#changeDetector = inject(ChangeDetectorRef);\n this.#dynamicComponentSvc = inject(SkyDynamicComponentService);\n this.#environmentInjector = inject(EnvironmentInjector);\n this.#ngZone = inject(NgZone);\n this.#resourcesService = inject(SkyLibResourcesService);\n this.#uiConfigService = inject(SkyUIConfigService);\n // All commands flow through the message stream.\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message) => {\n this.#handleIncomingMessages(message);\n });\n }\n ngOnInit() {\n /* istanbul ignore else */\n if (this.flyoutHeader) {\n this.#adapter.adjustHeaderForHelp(this.flyoutHeader);\n }\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n onWindowResize(event) {\n this.#setFullscreen();\n if (this.isFullscreen) {\n return;\n }\n const target = event.target;\n if (target.innerWidth - this.flyoutWidth < this.#windowBufferSize) {\n this.flyoutWidth = target.innerWidth - this.#windowBufferSize;\n this.#xCoord = this.#windowBufferSize;\n this.#setUserData();\n }\n }\n attach(component, config, environmentInjector) {\n this.#cleanTemplate();\n // Emit the closed event on any previously opened flyout instance\n if (this.#flyoutInstance) {\n this.#notifyClosed();\n }\n this.config = Object.assign({\n defaultWidth: window.innerWidth / 2,\n minWidth: 320,\n maxWidth: window.innerWidth / 2,\n providers: [\n {\n provide: SKY_STACKING_CONTEXT,\n useValue: {\n zIndex: this.zIndex$\n .asObservable()\n .pipe(takeUntil(this.#ngUnsubscribe)),\n },\n },\n ],\n }, config);\n if (config?.defaultWidth && !config?.maxWidth) {\n this.config.maxWidth = config?.defaultWidth;\n }\n this.config.showIterator = this.config.showIterator || false;\n this.config.iteratorNextButtonDisabled =\n this.config.iteratorNextButtonDisabled || false;\n this.config.iteratorPreviousButtonDisabled =\n this.config.iteratorPreviousButtonDisabled || false;\n this.permalink = this.config.permalink ?? {};\n this.permalinkLabel =\n this.config.permalink && this.config.permalink.label\n ? this.config.permalink.label\n : this.#getString('skyux_flyout_permalink_button');\n this.primaryAction = this.config.primaryAction ?? {};\n this.primaryActionLabel =\n this.config.primaryAction && this.config.primaryAction.label\n ? this.config.primaryAction.label\n : this.#getString('skyux_flyout_primary_action_button');\n environmentInjector ||= this.#environmentInjector;\n const componentRef = this.#dynamicComponentSvc.createComponent(component, {\n environmentInjector: environmentInjector,\n providers: this.config.providers,\n viewContainerRef: this.target,\n });\n /* safety check */\n /* istanbul ignore if */\n if (!componentRef) {\n throw new Error(\"Flyout's internal component could not be created\");\n }\n this.#flyoutInstance = this.#createFlyoutInstance(componentRef.instance);\n // This is used to ensure we do not render the flyout until we have attached the component.\n // This allows the aria-labelledby to function correctly.\n this.instanceReady = true;\n this.#changeDetector.markForCheck();\n // Open the flyout immediately.\n this.messageStream.next({\n type: SkyFlyoutMessageType.Open,\n });\n if (this.config.settingsKey) {\n this.#uiConfigService\n .getConfig(this.config.settingsKey)\n .pipe(take(1))\n .subscribe((value) => {\n if (value && value.flyoutWidth) {\n this.flyoutWidth = value.flyoutWidth;\n }\n else {\n // Bad data, or config is the default config.\n this.flyoutWidth = this.config.defaultWidth;\n }\n this.#checkInitialSize();\n });\n }\n else {\n this.flyoutWidth = this.config.defaultWidth;\n this.#checkInitialSize();\n }\n return this.#flyoutInstance;\n }\n close() {\n this.messageStream.next({\n type: SkyFlyoutMessageType.Close,\n });\n }\n invokePrimaryAction() {\n if (this.primaryAction.callback) {\n this.primaryAction.callback();\n if (this.primaryAction.closeAfterInvoking) {\n this.close();\n }\n return false;\n }\n /* istanbul ignore next */\n return true;\n }\n getAnimationState() {\n return this.instanceReady && this.isOpening\n ? FLYOUT_OPEN_STATE\n : FLYOUT_CLOSED_STATE;\n }\n animationDone(event) {\n if (event.toState === FLYOUT_OPEN_STATE) {\n this.isOpen = true;\n }\n if (event.toState === FLYOUT_CLOSED_STATE) {\n this.isOpen = false;\n this.#notifyClosed();\n this.#cleanTemplate();\n }\n }\n onHeaderGrabHandleMouseDown(event) {\n this.onResizeHandleMouseDown(event);\n }\n onHeaderGrabHandleKeyDown(event) {\n this.#handleResizeKeyDown(event);\n }\n onResizeHandleKeyDown(event) {\n this.#handleResizeKeyDown(event);\n }\n onResizeHandleMouseDown(event) {\n event.preventDefault();\n event.stopPropagation();\n if (this.isFullscreen) {\n return;\n }\n this.isDragging = true;\n this.#xCoord = event.clientX;\n this.#adapter.toggleIframePointerEvents(false);\n fromEvent(document, 'mousemove')\n .pipe(takeWhile(() => {\n return this.isDragging;\n }))\n .subscribe((moveEvent) => {\n this.onMouseMove(moveEvent);\n });\n fromEvent(document, 'mouseup')\n .pipe(takeWhile(() => {\n return this.isDragging;\n }))\n .subscribe(() => {\n this.onHandleRelease();\n });\n }\n onMouseMove(event) {\n /* Sanity check */\n /* istanbul ignore if */\n if (!this.isDragging) {\n return;\n }\n const offsetX = event.clientX - this.#xCoord;\n let width = this.flyoutWidth;\n width -= offsetX;\n if (width < this.config.minWidth || width > this.config.maxWidth) {\n return;\n }\n if (window.innerWidth - width < this.#windowBufferSize) {\n width = window.innerWidth - this.#windowBufferSize;\n this.#xCoord = this.#windowBufferSize;\n }\n else {\n this.#xCoord = event.clientX;\n }\n this.flyoutWidth = width;\n this.#changeDetector.markForCheck();\n }\n onHandleRelease() {\n fromEvent(document, 'click')\n .pipe(take(1))\n .subscribe(() => {\n this.isDragging = false;\n this.#adapter.toggleIframePointerEvents(true);\n this.#setUserData();\n });\n }\n onIteratorPreviousButtonClick() {\n /* istanbul ignore else */\n if (this.#flyoutInstance) {\n this.#flyoutInstance.iteratorPreviousButtonClick.emit();\n }\n }\n onIteratorNextButtonClick() {\n /* istanbul ignore else */\n if (this.#flyoutInstance) {\n this.#flyoutInstance.iteratorNextButtonClick.emit();\n }\n }\n #createFlyoutInstance(component) {\n const instance = new SkyFlyoutInstance(component);\n instance.hostController\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message) => {\n this.messageStream.next(message);\n });\n return instance;\n }\n #handleIncomingMessages(message) {\n switch (message.type) {\n case SkyFlyoutMessageType.Open:\n if (!this.isOpen) {\n this.isOpen = false;\n this.isOpening = true;\n }\n this.#initFocusTrap();\n break;\n case SkyFlyoutMessageType.Close:\n if (this.#flyoutInstance?.beforeClose?.observers\n .length === 0 ||\n message.data?.ignoreBeforeClose) {\n this.isOpen = true;\n this.isOpening = false;\n }\n else {\n this.#flyoutInstance?.beforeClose?.next(new SkyFlyoutBeforeCloseHandler(() => {\n this.isOpen = true;\n this.isOpening = false;\n }));\n }\n break;\n case SkyFlyoutMessageType.EnableIteratorNextButton:\n this.config.iteratorNextButtonDisabled = false;\n break;\n case SkyFlyoutMessageType.EnableIteratorPreviousButton:\n this.config.iteratorPreviousButtonDisabled = false;\n break;\n case SkyFlyoutMessageType.DisableIteratorNextButton:\n this.config.iteratorNextButtonDisabled = true;\n break;\n case SkyFlyoutMessageType.DisableIteratorPreviousButton:\n this.config.iteratorPreviousButtonDisabled = true;\n break;\n }\n this.#changeDetector.markForCheck();\n }\n #notifyClosed() {\n this.#flyoutInstance?.closed.emit();\n this.#flyoutInstance?.closed.complete();\n }\n #cleanTemplate() {\n this.target?.clear();\n }\n #setFullscreen() {\n if (window.innerWidth - this.#windowBufferSize < this.config.minWidth) {\n this.isFullscreen = true;\n }\n else {\n this.isFullscreen = false;\n }\n }\n #setUserData() {\n if (this.config.settingsKey) {\n this.#uiConfigService\n .setConfig(this.config.settingsKey, {\n flyoutWidth: this.flyoutWidth,\n })\n .pipe(take(1))\n .subscribe(\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n () => { }, (err) => {\n console.warn('Could not save flyout data.');\n console.warn(err);\n });\n }\n }\n #checkInitialSize() {\n if (this.flyoutWidth < this.config.minWidth) {\n this.flyoutWidth = this.config.minWidth;\n this.#setUserData();\n }\n else if (this.flyoutWidth > this.config.maxWidth) {\n this.flyoutWidth = this.config.maxWidth;\n this.#setUserData();\n }\n // Ensure flyout does not load larger than the window and its buffer\n if (window.innerWidth - this.flyoutWidth < this.#windowBufferSize) {\n this.flyoutWidth = window.innerWidth - this.#windowBufferSize;\n this.#xCoord = this.#windowBufferSize;\n this.#setUserData();\n }\n this.#setFullscreen();\n }\n #getString(key) {\n // TODO: Need to implement the async `getString` method in a breaking change.\n return this.#resourcesService.getStringForLocale({ locale: 'en-US' }, key);\n }\n #handleResizeKeyDown(event) {\n /* istanbul ignore else */\n if (event.key) {\n const keyPressed = event.key.toLowerCase().replace('arrow', '');\n switch (keyPressed) {\n case 'enter':\n case ' ':\n this.resizeKeyControlActive = !this.resizeKeyControlActive;\n break;\n case 'tab':\n /* istanbul ignore else */\n if (this.resizeKeyControlActive) {\n this.resizeKeyControlActive = false;\n }\n break;\n case 'left':\n if (this.resizeKeyControlActive) {\n /* istanbul ignore else */\n if (this.flyoutWidth < this.config.maxWidth) {\n this.flyoutWidth = Math.min(this.flyoutWidth + this.widthStep, this.config.maxWidth);\n }\n }\n break;\n case 'right':\n if (this.resizeKeyControlActive) {\n /* istanbul ignore else */\n if (this.flyoutWidth > this.config.minWidth) {\n this.flyoutWidth = Math.max(this.flyoutWidth - this.widthStep, this.config.minWidth);\n }\n }\n break;\n /* istanbul ignore next */\n default:\n break;\n }\n }\n }\n /** Executes a function when the zone is stable. */\n #executeOnStable(fn) {\n if (this.#ngZone.isStable) {\n fn();\n }\n else {\n this.#ngZone.onStable.pipe(take(1)).subscribe(fn);\n }\n }\n #initFocusTrap() {\n this.enableTrapFocusAutoCapture = false;\n this.enableTrapFocus = false;\n // Waiting for zone to be stable will avoid ExpressionChangeAfterCheckedError.\n this.#executeOnStable(() => {\n this.enableTrapFocusAutoCapture = true;\n this.enableTrapFocus = true;\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.15\", type: SkyFlyoutComponent, isStandalone: true, selector: \"sky-flyout\", host: { listeners: { \"window:resize\": \"onWindowResize($event)\" } }, providers: [SkyFlyoutAdapterService], viewQueries: [{ propertyName: \"flyoutRef\", first: true, predicate: [\"flyoutRef\"], descendants: true, read: ElementRef, static: true }, { propertyName: \"target\", first: true, predicate: [\"target\"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: \"flyoutHeader\", first: true, predicate: [\"flyoutHeader\"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: \"<div\\n #flyoutRef\\n class=\\\"sky-flyout\\\"\\n skyResponsiveHost\\n tabindex=\\\"-1\\\"\\n [attr.role]=\\\"config.ariaRole ? config.ariaRole : 'dialog'\\\"\\n [attr.aria-describedby]=\\\"config.ariaDescribedBy\\\"\\n [attr.aria-label]=\\\"config.ariaLabel\\\"\\n [attr.aria-labelledby]=\\\"config.ariaLabelledBy\\\"\\n [attr.aria-modal]=\\\"\\n config.ariaRole === 'dialog' || !config.ariaRole ? true : false\\n \\\"\\n [attr.hidden]=\\\"!instanceReady ? true : undefined\\\"\\n [id]=\\\"flyoutId\\\"\\n [ngClass]=\\\"{\\n 'sky-flyout-hidden': !isOpen && !isOpening,\\n 'sky-flyout-fullscreen': isFullscreen\\n }\\\"\\n [style.z-index]=\\\"zIndex$ | async\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-shadow': 'default',\\n 'sky-elevation-8': 'modern'\\n }\\\"\\n [@flyoutState]=\\\"getAnimationState()\\\"\\n [style.width.px]=\\\"flyoutWidth\\\"\\n [cdkTrapFocus]=\\\"enableTrapFocus\\\"\\n [cdkTrapFocusAutoCapture]=\\\"enableTrapFocusAutoCapture\\\"\\n (@flyoutState.done)=\\\"animationDone($event)\\\"\\n>\\n <div\\n #flyoutHeader\\n class=\\\"sky-flyout-header\\\"\\n [style.z-index]=\\\"zIndex$ | async\\\"\\n >\\n <div class=\\\"sky-flyout-header-content\\\">\\n <button\\n *skyThemeIf=\\\"'modern'\\\"\\n class=\\\"sky-btn sky-btn-icon-borderless sky-flyout-header-grab-handle\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_resize_handle' | skyLibResources\\\"\\n (keydown)=\\\"onHeaderGrabHandleKeyDown($event)\\\"\\n (mousedown)=\\\"onHeaderGrabHandleMouseDown($event)\\\"\\n >\\n <sky-icon\\n *skyThemeIf=\\\"'modern'\\\"\\n iconName=\\\"re-order-dots-vertical\\\"\\n iconSize=\\\"s\\\"\\n />\\n </button>\\n\\n @if (config.showIterator) {\\n <sky-flyout-iterator\\n [nextButtonDisabled]=\\\"config.iteratorNextButtonDisabled\\\"\\n [previousButtonDisabled]=\\\"config.iteratorPreviousButtonDisabled\\\"\\n (nextButtonClick)=\\\"onIteratorNextButtonClick()\\\"\\n (previousButtonClick)=\\\"onIteratorPreviousButtonClick()\\\"\\n />\\n }\\n </div>\\n <div class=\\\"sky-flyout-header-buttons\\\">\\n <ng-container *ngTemplateOutlet=\\\"permalinkTemplate\\\" />\\n <ng-container *ngTemplateOutlet=\\\"primaryActionTemplate\\\" />\\n <button\\n class=\\\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_close' | skyLibResources\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-icon-borderless': 'modern'\\n }\\\"\\n (click)=\\\"close()\\\"\\n >\\n <sky-icon iconName=\\\"close\\\" />\\n </button>\\n </div>\\n </div>\\n <div class=\\\"sky-flyout-content\\\">\\n <div #target></div>\\n </div>\\n <div\\n class=\\\"sky-flyout-resize-handle\\\"\\n role=\\\"separator\\\"\\n tabindex=\\\"0\\\"\\n type=\\\"range\\\"\\n [attr.aria-controls]=\\\"flyoutId\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_resize_handle' | skyLibResources\\\"\\n [attr.aria-valuemax]=\\\"config.maxWidth\\\"\\n [attr.aria-valuemin]=\\\"config.minWidth\\\"\\n [attr.aria-valuenow]=\\\"flyoutWidth\\\"\\n (keydown)=\\\"onResizeHandleKeyDown($event)\\\"\\n (mousedown)=\\\"onResizeHandleMouseDown($event)\\\"\\n ></div>\\n</div>\\n\\n<ng-template #permalinkTemplate>\\n @if (permalink) {\\n @if (permalink.url) {\\n <a\\n class=\\\"sky-btn sky-flyout-btn-permalink\\\"\\n [skyHref]=\\\"permalink.url\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-link-inline': 'modern'\\n }\\\"\\n (click)=\\\"close()\\\"\\n >\\n {{ permalinkLabel }}\\n </a>\\n } @else if (permalink.route) {\\n <a\\n class=\\\"sky-btn sky-flyout-btn-permalink\\\"\\n [routerLink]=\\\"permalink.route.commands\\\"\\n [fragment]=\\\"permalink.route.extras?.fragment\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-link-inline': 'modern'\\n }\\\"\\n [queryParams]=\\\"permalink.route.extras?.queryParams\\\"\\n [queryParamsHandling]=\\\"permalink.route.extras?.queryParamsHandling\\\"\\n [state]=\\\"permalink.route.extras?.state\\\"\\n (click)=\\\"close()\\\"\\n >\\n {{ permalinkLabel }}\\n </a>\\n }\\n }\\n</ng-template>\\n\\n<ng-template #primaryActionTemplate>\\n @if (primaryAction && primaryAction.callback) {\\n <button\\n type=\\\"button\\\"\\n class=\\\"sky-btn sky-flyout-btn-primary-action\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-link-inline': 'modern'\\n }\\\"\\n (click)=\\\"invokePrimaryAction()\\\"\\n >\\n {{ primaryActionLabel }}\\n </button>\\n }\\n</ng-template>\\n\", styles: [\".sky-flyout:not(.sky-theme-modern *){--sky-override-flyout-background: #fff;--sky-override-flyout-border-left: 6px solid #0974a1;--sky-override-flyout-header-background: #eeeeef;--sky-override-flyout-header-border-bottom: 1px solid #cdcfd2;--sky-override-flyout-header-button-margin-right: 10px;--sky-override-flyout-header-height: 50px;--sky-override-flyout-header-padding: 8px 15px 8px 15px;--sky-override-flyout-header-position: fixed;--sky-flyout-resize-handle-offset: -10px;--sky-flyout-resize-handle-width: 14px}.sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:var(--sky-override-flyout-background, var(--sky-color-background-container-base));--sky-background-color-page-default: var( --sky-override-flyout-background, var(--sky-color-background-container-base) );--sky-comp-override-list-header-background-color: initial;border-left:var(--sky-override-flyout-border-left)}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-fullscreen .sky-flyout-header{width:100%}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle));position:absolute;left:var(--sky-flyout-resize-handle-offset, calc(var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle)) * -.5));cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:var(--sky-override-flyout-header-border-bottom, var(--sky-border-width-divider) var(--sky-border-style-divider) var(--sky-color-border-divider));width:inherit;background:var(--sky-override-flyout-header-background, var(--sky-color-background-container-base));padding:var(--sky-override-flyout-header-padding, var(--sky-comp-flyout-header-space-inset-top) var(--sky-comp-flyout-header-space-inset-right) var(--sky-comp-flyout-header-space-inset-bottom) var(--sky-comp-flyout-header-space-inset-left));height:var(--sky-override-flyout-header-height);display:flex;position:var(--sky-override-flyout-header-position, sticky);align-items:flex-start}.sky-flyout-header .sky-flyout-btn-primary-action,.sky-flyout-header .sky-flyout-btn-permalink{margin-right:var(--sky-override-flyout-header-button-margin-right, var(--sky-space-gap-action_group-m));display:inline-block}.sky-flyout-header-content{flex-grow:1}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;margin-top:var(--sky-override-flyout-header-height, 0);height:calc(100% - var(--sky-override-flyout-header-height, calc(var(--sky-size-icon-m) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-comp-button-borderless-space-inset-bottom) + var(--sky-comp-flyout-header-space-inset-top) + var(--sky-comp-flyout-header-space-inset-bottom) + var(--sky-border-width-divider))))}.sky-flyout-header-grab-handle{cursor:ew-resize;cursor:-webkit-grab;cursor:-moz-grab;margin-right:var(--sky-space-gap-action_group-m)}\\n\"], dependencies: [{ kind: \"ngmodule\", type: A11yModule }, { kind: \"directive\", type: i1.CdkTrapFocus, selector: \"[cdkTrapFocus]\", inputs: [\"cdkTrapFocus\", \"cdkTrapFocusAutoCapture\"], exportAs: [\"cdkTrapFocus\"] }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i2.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i2.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"directive\", type: i3.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"directive\", type: SkyResponsiveHostDirective, selector: \"[skyResponsiveHost]\", exportAs: [\"skyResponsiveHost\"] }, { kind: \"ngmodule\", type: SkyHrefModule }, { kind: \"directive\", type: i4.λ1, selector: \"[skyHref]\", inputs: [\"skyHref\", \"queryParams\", \"skyHrefElse\"], outputs: [\"skyHrefChange\"] }, { kind: \"ngmodule\", type: SkyIconModule }, { kind: \"component\", type: i5.λ1, selector: \"sky-icon\", inputs: [\"iconName\", \"variant\", \"iconSize\"] }, { kind: \"component\", type: SkyFlyoutIteratorComponent, selector: \"sky-flyout-iterator\", inputs: [\"nextButtonDisabled\", \"previousButtonDisabled\"], outputs: [\"previousButtonClick\", \"nextButtonClick\"] }, { kind: \"ngmodule\", type: SkyFlyoutResourcesModule }, { kind: \"ngmodule\", type: SkyThemeModule }, { kind: \"directive\", type: i6.λ2, selector: \"[skyThemeClass]\", inputs: [\"class\", \"skyThemeClass\"] }, { kind: \"directive\", type: i6.λ3, selector: \"[skyThemeIf]\", inputs: [\"skyThemeIf\"] }, { kind: \"pipe\", type: i2.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i7.SkyLibResourcesPipe, name: \"skyLibResources\" }], animations: [\n trigger('flyoutState', [\n state(FLYOUT_OPEN_STATE, style({ transform: 'initial' })),\n state(FLYOUT_CLOSED_STATE, style({ transform: 'translateX(100%)' })),\n transition('void => *', [\n style({ transform: 'translateX(100%)' }),\n animate(250),\n ]),\n transition(`* <=> *`, animate('250ms ease-in')),\n ]),\n ], changeDetection: i0.ChangeDetectionStrategy.Default }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-flyout', providers: [SkyFlyoutAdapterService], animations: [\n trigger('flyoutState', [\n state(FLYOUT_OPEN_STATE, style({ transform: 'initial' })),\n state(FLYOUT_CLOSED_STATE, style({ transform: 'translateX(100%)' })),\n transition('void => *', [\n style({ transform: 'translateX(100%)' }),\n animate(250),\n ]),\n transition(`* <=> *`, animate('250ms ease-in')),\n ]),\n ], changeDetection: ChangeDetectionStrategy.Default, imports: [\n A11yModule,\n CommonModule,\n RouterModule,\n SkyResponsiveHostDirective,\n SkyHrefModule,\n SkyIconModule,\n SkyFlyoutIteratorComponent,\n SkyFlyoutResourcesModule,\n SkyThemeModule,\n ], template: \"<div\\n #flyoutRef\\n class=\\\"sky-flyout\\\"\\n skyResponsiveHost\\n tabindex=\\\"-1\\\"\\n [attr.role]=\\\"config.ariaRole ? config.ariaRole : 'dialog'\\\"\\n [attr.aria-describedby]=\\\"config.ariaDescribedBy\\\"\\n [attr.aria-label]=\\\"config.ariaLabel\\\"\\n [attr.aria-labelledby]=\\\"config.ariaLabelledBy\\\"\\n [attr.aria-modal]=\\\"\\n config.ariaRole === 'dialog' || !config.ariaRole ? true : false\\n \\\"\\n [attr.hidden]=\\\"!instanceReady ? true : undefined\\\"\\n [id]=\\\"flyoutId\\\"\\n [ngClass]=\\\"{\\n 'sky-flyout-hidden': !isOpen && !isOpening,\\n 'sky-flyout-fullscreen': isFullscreen\\n }\\\"\\n [style.z-index]=\\\"zIndex$ | async\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-shadow': 'default',\\n 'sky-elevation-8': 'modern'\\n }\\\"\\n [@flyoutState]=\\\"getAnimationState()\\\"\\n [style.width.px]=\\\"flyoutWidth\\\"\\n [cdkTrapFocus]=\\\"enableTrapFocus\\\"\\n [cdkTrapFocusAutoCapture]=\\\"enableTrapFocusAutoCapture\\\"\\n (@flyoutState.done)=\\\"animationDone($event)\\\"\\n>\\n <div\\n #flyoutHeader\\n class=\\\"sky-flyout-header\\\"\\n [style.z-index]=\\\"zIndex$ | async\\\"\\n >\\n <div class=\\\"sky-flyout-header-content\\\">\\n <button\\n *skyThemeIf=\\\"'modern'\\\"\\n class=\\\"sky-btn sky-btn-icon-borderless sky-flyout-header-grab-handle\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_resize_handle' | skyLibResources\\\"\\n (keydown)=\\\"onHeaderGrabHandleKeyDown($event)\\\"\\n (mousedown)=\\\"onHeaderGrabHandleMouseDown($event)\\\"\\n >\\n <sky-icon\\n *skyThemeIf=\\\"'modern'\\\"\\n iconName=\\\"re-order-dots-vertical\\\"\\n iconSize=\\\"s\\\"\\n />\\n </button>\\n\\n @if (config.showIterator) {\\n <sky-flyout-iterator\\n [nextButtonDisabled]=\\\"config.iteratorNextButtonDisabled\\\"\\n [previousButtonDisabled]=\\\"config.iteratorPreviousButtonDisabled\\\"\\n (nextButtonClick)=\\\"onIteratorNextButtonClick()\\\"\\n (previousButtonClick)=\\\"onIteratorPreviousButtonClick()\\\"\\n />\\n }\\n </div>\\n <div class=\\\"sky-flyout-header-buttons\\\">\\n <ng-container *ngTemplateOutlet=\\\"permalinkTemplate\\\" />\\n <ng-container *ngTemplateOutlet=\\\"primaryActionTemplate\\\" />\\n <button\\n class=\\\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_close' | skyLibResources\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-icon-borderless': 'modern'\\n }\\\"\\n (click)=\\\"close()\\\"\\n >\\n <sky-icon iconName=\\\"close\\\" />\\n </button>\\n </div>\\n </div>\\n <div class=\\\"sky-flyout-content\\\">\\n <div #target></div>\\n </div>\\n <div\\n class=\\\"sky-flyout-resize-handle\\\"\\n role=\\\"separator\\\"\\n tabindex=\\\"0\\\"\\n type=\\\"range\\\"\\n [attr.aria-controls]=\\\"flyoutId\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_resize_handle' | skyLibResources\\\"\\n [attr.aria-valuemax]=\\\"config.maxWidth\\\"\\n [attr.aria-valuemin]=\\\"config.minWidth\\\"\\n [attr.aria-valuenow]=\\\"flyoutWidth\\\"\\n (keydown)=\\\"onResizeHandleKeyDown($event)\\\"\\n (mousedown)=\\\"onResizeHandleMouseDown($event)\\\"\\n ></div>\\n</div>\\n\\n<ng-template #permalinkTemplate>\\n @if (permalink) {\\n @if (permalink.url) {\\n <a\\n class=\\\"sky-btn sky-flyout-btn-permalink\\\"\\n [skyHref]=\\\"permalink.url\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-link-inline': 'modern'\\n }\\\"\\n (click)=\\\"close()\\\"\\n >\\n {{ permalinkLabel }}\\n </a>\\n } @else if (permalink.route) {\\n <a\\n class=\\\"sky-btn sky-flyout-btn-permalink\\\"\\n [routerLink]=\\\"permalink.route.commands\\\"\\n [fragment]=\\\"permalink.route.extras?.fragment\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-link-inline': 'modern'\\n }\\\"\\n [queryParams]=\\\"permalink.route.extras?.queryParams\\\"\\n [queryParamsHandling]=\\\"permalink.route.extras?.queryParamsHandling\\\"\\n [state]=\\\"permalink.route.extras?.state\\\"\\n (click)=\\\"close()\\\"\\n >\\n {{ permalinkLabel }}\\n </a>\\n }\\n }\\n</ng-template>\\n\\n<ng-template #primaryActionTemplate>\\n @if (primaryAction && primaryAction.callback) {\\n <button\\n type=\\\"button\\\"\\n class=\\\"sky-btn sky-flyout-btn-primary-action\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-link-inline': 'modern'\\n }\\\"\\n (click)=\\\"invokePrimaryAction()\\\"\\n >\\n {{ primaryActionLabel }}\\n </button>\\n }\\n</ng-template>\\n\", styles: [\".sky-flyout:not(.sky-theme-modern *){--sky-override-flyout-background: #fff;--sky-override-flyout-border-left: 6px solid #0974a1;--sky-override-flyout-header-background: #eeeeef;--sky-override-flyout-header-border-bottom: 1px solid #cdcfd2;--sky-override-flyout-header-button-margin-right: 10px;--sky-override-flyout-header-height: 50px;--sky-override-flyout-header-padding: 8px 15px 8px 15px;--sky-override-flyout-header-position: fixed;--sky-flyout-resize-handle-offset: -10px;--sky-flyout-resize-handle-width: 14px}.sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:var(--sky-override-flyout-background, var(--sky-color-background-container-base));--sky-background-color-page-default: var( --sky-override-flyout-background, var(--sky-color-background-container-base) );--sky-comp-override-list-header-background-color: initial;border-left:var(--sky-override-flyout-border-left)}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-fullscreen .sky-flyout-header{width:100%}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle));position:absolute;left:var(--sky-flyout-resize-handle-offset, calc(var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle)) * -.5));cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:var(--sky-override-flyout-header-border-bottom, var(--sky-border-width-divider) var(--sky-border-style-divider) var(--sky-color-border-divider));width:inherit;background:var(--sky-override-flyout-header-background, var(--sky-color-background-container-base));padding:var(--sky-override-flyout-header-padding, var(--sky-comp-flyout-header-space-inset-top) var(--sky-comp-flyout-header-space-inset-right) var(--sky-comp-flyout-header-space-inset-bottom) var(--sky-comp-flyout-header-space-inset-left));height:var(--sky-override-flyout-header-height);display:flex;position:var(--sky-override-flyout-header-position, sticky);align-items:flex-start}.sky-flyout-header .sky-flyout-btn-primary-action,.sky-flyout-header .sky-flyout-btn-permalink{margin-right:var(--sky-override-flyout-header-button-margin-right, var(--sky-space-gap-action_group-m));display:inline-block}.sky-flyout-header-content{flex-grow:1}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;margin-top:var(--sky-override-flyout-header-height, 0);height:calc(100% - var(--sky-override-flyout-header-height, calc(var(--sky-size-icon-m) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-comp-button-borderless-space-inset-bottom) + var(--sky-comp-flyout-header-space-inset-top) + var(--sky-comp-flyout-header-space-inset-bottom) + var(--sky-border-width-divider))))}.sky-flyout-header-grab-handle{cursor:ew-resize;cursor:-webkit-grab;cursor:-moz-grab;margin-right:var(--sky-space-gap-action_group-m)}\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { flyoutRef: [{\n type: ViewChild,\n args: ['flyoutRef', {\n read: ElementRef,\n static: true,\n }]\n }], target: [{\n type: ViewChild,\n args: ['target', {\n read: ViewContainerRef,\n static: true,\n }]\n }], flyoutHeader: [{\n type: ViewChild,\n args: ['flyoutHeader', {\n read: ElementRef,\n static: true,\n }]\n }], onWindowResize: [{\n type: HostListener,\n args: ['window:resize', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLE1BQU0sRUFJTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLG9CQUFvQixFQUNwQiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzFCLGtCQUFrQixHQUNuQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVB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QUUsU0FBUyxFQUFFLENBQUMsQ0FBQzs0QkFDekQsS0FBSyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7NEJBQ3BFLFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0NBQ3RCLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO2dDQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDOzZCQUNiLENBQUM7NEJBQ0YsVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7eUJBQ2hELENBQUM7cUJBQ0gsbUJBRWdCLHVCQUF1QixDQUFDLE9BQU8sV0FDdkM7d0JBQ1AsVUFBVTt3QkFDVixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osMEJBQTBCO3dCQUMxQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLGNBQWM7cUJBQ2Y7O3NCQTZDQSxTQUFTO3VCQUFDLFdBQVcsRUFBRTt3QkFDdEIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiOztzQkFHQSxTQUFTO3VCQUFDLFFBQVEsRUFBRTt3QkFDbkIsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7O3NCQUdBLFNBQVM7dUJBQUMsY0FBYyxFQUFFO3dCQUN6QixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7O3NCQXdDQSxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFuaW1hdGlvbkV2ZW50LFxuICBhbmltYXRlLFxuICBzdGF0ZSxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgSG9zdExpc3RlbmVyLFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUeXBlLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgU0tZX1NUQUNLSU5HX0NPTlRFWFQsXG4gIFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxuICBTa3lSZXNwb25zaXZlSG9zdERpcmVjdGl2ZSxcbiAgU2t5VUlDb25maWdTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pY29uJztcbmltcG9ydCB7IFNreUhyZWZNb2R1bGUgfSBmcm9tICdAc2t5dXgvcm91dGVyJztcbmltcG9ydCB7IFNreVRoZW1lTW9kdWxlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCwgdGFrZVdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lGbHlvdXRSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWZseW91dC1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL2ZseW91dC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0SW5zdGFuY2UgfSBmcm9tICcuL2ZseW91dC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRJdGVyYXRvckNvbXBvbmVudCB9IGZyb20gJy4vZmx5b3V0LWl0ZXJhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lGbHlvdXRBY3Rpb24gfSBmcm9tICcuL3R5cGVzL2ZseW91dC1hY3Rpb24nO1xuaW1wb3J0IHsgU2t5Rmx5b3V0QmVmb3JlQ2xvc2VIYW5kbGVyIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtYmVmb3JlLWNsb3NlLWhhbmRsZXInO1xuaW1wb3J0IHsgU2t5Rmx5b3V0Q29uZmlnIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtY29uZmlnJztcbmltcG9ydCB7IFNreUZseW91dENvbmZpZ0ludGVybmFsIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtY29uZmlnLWludGVybmFsJztcbmltcG9ydCB7IFNreUZseW91dE1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1tZXNzYWdlJztcbmltcG9ydCB7IFNreUZseW91dE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtbWVzc2FnZS10eXBlJztcbmltcG9ydCB7IFNreUZseW91dFBlcm1hbGluayB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LXBlcm1hbGluayc7XG5cbmNvbnN0IEZMWU9VVF9PUEVOX1NUQVRFID0gJ2ZseW91dE9wZW4nO1xuY29uc3QgRkxZT1VUX0NMT1NFRF9TVEFURSA9ICdmbHlvdXRDbG9zZWQnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWZseW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mbHlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mbHlvdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2t5Rmx5b3V0QWRhcHRlclNlcnZpY2VdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmx5b3V0U3RhdGUnLCBbXG4gICAgICBzdGF0ZShGTFlPVVRfT1BFTl9TVEFURSwgc3R5bGUoeyB0cmFuc2Zvcm06ICdpbml0aWFsJyB9KSksXG4gICAgICBzdGF0ZShGTFlPVVRfQ0xPU0VEX1NUQVRFLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIFtcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSxcbiAgICAgICAgYW5pbWF0ZSgyNTApLFxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKGAqIDw9PiAqYCwgYW5pbWF0ZSgnMjUwbXMgZWFzZS1pbicpKSxcbiAgICBdKSxcbiAgXSxcbiAgLy8gQWxsb3cgYXV0b21hdGljIGNoYW5nZSBkZXRlY3Rpb24gZm9yIGNoaWxkIGNvbXBvbmVudHMuXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgaW1wb3J0czogW1xuICAgIEExMXlNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBTa3lSZXNwb25zaXZlSG9zdERpcmVjdGl2ZSxcbiAgICBTa3lIcmVmTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5Rmx5b3V0SXRlcmF0b3JDb21wb25lbnQsXG4gICAgU2t5Rmx5b3V0UmVzb3VyY2VzTW9kdWxlLFxuICAgIFNreVRoZW1lTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIHB1YmxpYyBjb25maWc6IFNreUZseW91dENvbmZpZ0ludGVybmFsID0ge1xuICAgIGRlZmF1bHRXaWR0aDogd2luZG93LmlubmVyV2lkdGggLyAyLFxuICAgIG1pbldpZHRoOiAzMjAsXG4gICAgbWF4V2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoIC8gMixcbiAgICBwcm92aWRlcnM6IFtdLFxuICB9O1xuICBwdWJsaWMgZW5hYmxlVHJhcEZvY3VzID0gZmFsc2U7XG4gIHB1YmxpYyBlbmFibGVUcmFwRm9jdXNBdXRvQ2FwdHVyZSA9IGZhbHNlO1xuICBwdWJsaWMgZmx5b3V0SWQgPSBgc2t5LWZseW91dC0keysrbmV4dElkfWA7XG4gIHB1YmxpYyBmbHlvdXRTdGF0ZSA9IEZMWU9VVF9DTE9TRURfU1RBVEU7XG4gIHB1YmxpYyBpc09wZW4gPSBmYWxzZTtcbiAgcHVibGljIGlzT3BlbmluZyA9IGZhbHNlO1xuXG4gIHB1YmxpYyBmbHlvdXRXaWR0aCA9IDA7XG4gIHB1YmxpYyBpbnN0YW5jZVJlYWR5ID0gZmFsc2U7XG4gIHB1YmxpYyBpc0RyYWdnaW5nID0gZmFsc2U7XG4gIHB1YmxpYyBpc0Z1bGxzY3JlZW4gPSBmYWxzZTtcbiAgcHVibGljIHJlc2l6ZUtleUNvbnRyb2xBY3RpdmUgPSBmYWxzZTtcblxuICAjeENvb3JkID0gMDtcbiAgI3dpbmRvd0J1ZmZlclNpemUgPSAyMDtcblxuICBwdWJsaWMgZ2V0IG1lc3NhZ2VTdHJlYW0oKTogU3ViamVjdDxTa3lGbHlvdXRNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuI19tZXNzYWdlU3RyZWFtO1xuICB9XG5cbiAgcHVibGljIHBlcm1hbGluazogU2t5Rmx5b3V0UGVybWFsaW5rID0ge307XG5cbiAgcHVibGljIHBlcm1hbGlua0xhYmVsID0gJyc7XG5cbiAgcHVibGljIHByaW1hcnlBY3Rpb246IFNreUZseW91dEFjdGlvbiA9IHt9O1xuXG4gIHB1YmxpYyBwcmltYXJ5QWN0aW9uTGFiZWwgPSAnJztcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgd2lkdGhTdGVwID0gMTA7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQFZpZXdDaGlsZCgnZmx5b3V0UmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgZmx5b3V0UmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhcmdldCcsIHtcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIHRhcmdldDogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdmbHlvdXRIZWFkZXInLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBmbHlvdXRIZWFkZXI6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgcHJvdGVjdGVkIHpJbmRleCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDEwMDEpO1xuXG4gICNmbHlvdXRJbnN0YW5jZTogU2t5Rmx5b3V0SW5zdGFuY2U8YW55PiB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI19tZXNzYWdlU3RyZWFtID0gbmV3IFN1YmplY3Q8U2t5Rmx5b3V0TWVzc2FnZT4oKTtcblxuICByZWFkb25seSAjYWRhcHRlciA9IGluamVjdChTa3lGbHlvdXRBZGFwdGVyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHJlYWRvbmx5ICNkeW5hbWljQ29tcG9uZW50U3ZjID0gaW5qZWN0KFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2Vudmlyb25tZW50SW5qZWN0b3IgPSBpbmplY3QoRW52aXJvbm1lbnRJbmplY3Rvcik7XG4gIHJlYWRvbmx5ICNuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgcmVhZG9ubHkgI3Jlc291cmNlc1NlcnZpY2UgPSBpbmplY3QoU2t5TGliUmVzb3VyY2VzU2VydmljZSk7XG4gIHJlYWRvbmx5ICN1aUNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoU2t5VUlDb25maWdTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBBbGwgY29tbWFuZHMgZmxvdyB0aHJvdWdoIHRoZSBtZXNzYWdlIHN0cmVhbS5cbiAgICB0aGlzLm1lc3NhZ2VTdHJlYW1cbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKG1lc3NhZ2U6IFNreUZseW91dE1lc3NhZ2UpID0+IHtcbiAgICAgICAgdGhpcy4jaGFuZGxlSW5jb21pbmdNZXNzYWdlcyhtZXNzYWdlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuZmx5b3V0SGVhZGVyKSB7XG4gICAgICB0aGlzLiNhZGFwdGVyLmFkanVzdEhlYWRlckZvckhlbHAodGhpcy5mbHlvdXRIZWFkZXIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uV2luZG93UmVzaXplKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuI3NldEZ1bGxzY3JlZW4oKTtcblxuICAgIGlmICh0aGlzLmlzRnVsbHNjcmVlbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBXaW5kb3c7XG5cbiAgICBpZiAodGFyZ2V0LmlubmVyV2lkdGggLSB0aGlzLmZseW91dFdpZHRoIDwgdGhpcy4jd2luZG93QnVmZmVyU2l6ZSkge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHRhcmdldC5pbm5lcldpZHRoIC0gdGhpcy4jd2luZG93QnVmZmVyU2l6ZTtcbiAgICAgIHRoaXMuI3hDb29yZCA9IHRoaXMuI3dpbmRvd0J1ZmZlclNpemU7XG4gICAgICB0aGlzLiNzZXRVc2VyRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhdHRhY2g8VD4oXG4gICAgY29tcG9uZW50OiBUeXBlPFQ+LFxuICAgIGNvbmZpZz86IFNreUZseW91dENvbmZpZyxcbiAgICBlbnZpcm9ubWVudEluamVjdG9yPzogRW52aXJvbm1lbnRJbmplY3RvcixcbiAgKTogU2t5Rmx5b3V0SW5zdGFuY2U8VD4ge1xuICAgIHRoaXMuI2NsZWFuVGVtcGxhdGUoKTtcblxuICAgIC8vIEVtaXQgdGhlIGNsb3NlZCBldmVudCBvbiBhbnkgcHJldmlvdXNseSBvcGVuZWQgZmx5b3V0IGluc3RhbmNlXG4gICAgaWYgKHRoaXMuI2ZseW91dEluc3RhbmNlKSB7XG4gICAgICB0aGlzLiNub3RpZnlDbG9zZWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7XG4gICAgICAgIGRlZmF1bHRXaWR0aDogd2luZG93LmlubmVyV2lkdGggLyAyLFxuICAgICAgICBtaW5XaWR0aDogMzIwLFxuICAgICAgICBtYXhXaWR0aDogd2luZG93LmlubmVyV2lkdGggLyAyLFxuICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBTS1lfU1RBQ0tJTkdfQ09OVEVYVCxcbiAgICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICAgIHpJbmRleDogdGhpcy56SW5kZXgkXG4gICAgICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBjb25maWcsXG4gICAgKTtcbiAgICBpZiAoY29uZmlnPy5kZWZhdWx0V2lkdGggJiYgIWNvbmZpZz8ubWF4V2lkdGgpIHtcbiAgICAgIHRoaXMuY29uZmlnLm1heFdpZHRoID0gY29uZmlnPy5kZWZhdWx0V2lkdGg7XG4gICAgfVxuXG4gICAgdGhpcy5jb25maWcuc2hvd0l0ZXJhdG9yID0gdGhpcy5jb25maWcuc2hvd0l0ZXJhdG9yIHx8IGZhbHNlO1xuICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkID1cbiAgICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkIHx8IGZhbHNlO1xuICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZCA9XG4gICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQgfHwgZmFsc2U7XG5cbiAgICB0aGlzLnBlcm1hbGluayA9IHRoaXMuY29uZmlnLnBlcm1hbGluayA/PyB7fTtcbiAgICB0aGlzLnBlcm1hbGlua0xhYmVsID1cbiAgICAgIHRoaXMuY29uZmlnLnBlcm1hbGluayAmJiB0aGlzLmNvbmZpZy5wZXJtYWxpbmsubGFiZWxcbiAgICAgICAgPyB0aGlzLmNvbmZpZy5wZXJtYWxpbmsubGFiZWxcbiAgICAgICAgOiB0aGlzLiNnZXRTdHJpbmcoJ3NreXV4X2ZseW91dF9wZXJtYWxpbmtfYnV0dG9uJyk7XG5cbiAgICB0aGlzLnByaW1hcnlBY3Rpb24gPSB0aGlzLmNvbmZpZy5wcmltYXJ5QWN0aW9uID8/IHt9O1xuICAgIHRoaXMucHJpbWFyeUFjdGlvbkxhYmVsID1cbiAgICAgIHRoaXMuY29uZmlnLnByaW1hcnlBY3Rpb24gJiYgdGhpcy5jb25maWcucHJpbWFyeUFjdGlvbi5sYWJlbFxuICAgICAgICA/IHRoaXMuY29uZmlnLnByaW1hcnlBY3Rpb24ubGFiZWxcbiAgICAgICAgOiB0aGlzLiNnZXRTdHJpbmcoJ3NreXV4X2ZseW91dF9wcmltYXJ5X2FjdGlvbl9idXR0b24nKTtcblxuICAgIGVudmlyb25tZW50SW5qZWN0b3IgfHw9IHRoaXMuI2Vudmlyb25tZW50SW5qZWN0b3I7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy4jZHluYW1pY0NvbXBvbmVudFN2Yy5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50LCB7XG4gICAgICBlbnZpcm9ubWVudEluamVjdG9yOiBlbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiB0aGlzLmNvbmZpZy5wcm92aWRlcnMsXG4gICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnRhcmdldCxcbiAgICB9KTtcblxuICAgIC8qIHNhZmV0eSBjaGVjayAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghY29tcG9uZW50UmVmKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGbHlvdXQncyBpbnRlcm5hbCBjb21wb25lbnQgY291bGQgbm90IGJlIGNyZWF0ZWRcIik7XG4gICAgfVxuXG4gICAgdGhpcy4jZmx5b3V0SW5zdGFuY2UgPSB0aGlzLiNjcmVhdGVGbHlvdXRJbnN0YW5jZTxUPihjb21wb25lbnRSZWYuaW5zdGFuY2UpO1xuXG4gICAgLy8gVGhpcyBpcyB1c2VkIHRvIGVuc3VyZSB3ZSBkbyBub3QgcmVuZGVyIHRoZSBmbHlvdXQgdW50aWwgd2UgaGF2ZSBhdHRhY2hlZCB0aGUgY29tcG9uZW50LlxuICAgIC8vIFRoaXMgYWxsb3dzIHRoZSBhcmlhLWxhYmVsbGVkYnkgdG8gZnVuY3Rpb24gY29ycmVjdGx5LlxuICAgIHRoaXMuaW5zdGFuY2VSZWFkeSA9IHRydWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICAvLyBPcGVuIHRoZSBmbHlvdXQgaW1tZWRpYXRlbHkuXG4gICAgdGhpcy5tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuT3BlbixcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmNvbmZpZy5zZXR0aW5nc0tleSkge1xuICAgICAgdGhpcy4jdWlDb25maWdTZXJ2aWNlXG4gICAgICAgIC5nZXRDb25maWcodGhpcy5jb25maWcuc2V0dGluZ3NLZXkpXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUuZmx5b3V0V2lkdGgpIHtcbiAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB2YWx1ZS5mbHlvdXRXaWR0aDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gQmFkIGRhdGEsIG9yIGNvbmZpZyBpcyB0aGUgZGVmYXVsdCBjb25maWcuXG4gICAgICAgICAgICB0aGlzLmZseW91dFdpZHRoID0gdGhpcy5jb25maWcuZGVmYXVsdFdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLiNjaGVja0luaXRpYWxTaXplKCk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZseW91dFdpZHRoID0gdGhpcy5jb25maWcuZGVmYXVsdFdpZHRoO1xuICAgICAgdGhpcy4jY2hlY2tJbml0aWFsU2l6ZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLiNmbHlvdXRJbnN0YW5jZTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLm1lc3NhZ2VTdHJlYW0ubmV4dCh7XG4gICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5DbG9zZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpbnZva2VQcmltYXJ5QWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnByaW1hcnlBY3Rpb24uY2FsbGJhY2spIHtcbiAgICAgIHRoaXMucHJpbWFyeUFjdGlvbi5jYWxsYmFjaygpO1xuXG4gICAgICBpZiAodGhpcy5wcmltYXJ5QWN0aW9uLmNsb3NlQWZ0ZXJJbnZva2luZykge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbmltYXRpb25TdGF0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmluc3RhbmNlUmVhZHkgJiYgdGhpcy5pc09wZW5pbmdcbiAgICAgID8gRkxZT1VUX09QRU5fU1RBVEVcbiAgICAgIDogRkxZT1VUX0NMT1NFRF9TVEFURTtcbiAgfVxuXG4gIHB1YmxpYyBhbmltYXRpb25Eb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC50b1N0YXRlID09PSBGTFlPVVRfT1BFTl9TVEFURSkge1xuICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChldmVudC50b1N0YXRlID09PSBGTFlPVVRfQ0xPU0VEX1NUQVRFKSB7XG4gICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy4jbm90aWZ5Q2xvc2VkKCk7XG4gICAgICB0aGlzLiNjbGVhblRlbXBsYXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSGVhZGVyR3JhYkhhbmRsZU1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMub25SZXNpemVIYW5kbGVNb3VzZURvd24oZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uSGVhZGVyR3JhYkhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLiNoYW5kbGVSZXNpemVLZXlEb3duKGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvblJlc2l6ZUhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLiNoYW5kbGVSZXNpemVLZXlEb3duKGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvblJlc2l6ZUhhbmRsZU1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5pc0Z1bGxzY3JlZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzRHJhZ2dpbmcgPSB0cnVlO1xuICAgIHRoaXMuI3hDb29yZCA9IGV2ZW50LmNsaWVudFg7XG5cbiAgICB0aGlzLiNhZGFwdGVyLnRvZ2dsZUlmcmFtZVBvaW50ZXJFdmVudHMoZmFsc2UpO1xuXG4gICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2Vtb3ZlJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmlzRHJhZ2dpbmc7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobW92ZUV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMub25Nb3VzZU1vdmUobW92ZUV2ZW50KTtcbiAgICAgIH0pO1xuXG4gICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2V1cCcpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc0RyYWdnaW5nO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9uSGFuZGxlUmVsZWFzZSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25Nb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAvKiBTYW5pdHkgY2hlY2sgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIXRoaXMuaXNEcmFnZ2luZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9mZnNldFggPSBldmVudC5jbGllbnRYIC0gdGhpcy4jeENvb3JkO1xuICAgIGxldCB3aWR0aCA9IHRoaXMuZmx5b3V0V2lkdGg7XG5cbiAgICB3aWR0aCAtPSBvZmZzZXRYO1xuXG4gICAgaWYgKHdpZHRoIDwgdGhpcy5jb25maWcubWluV2lkdGggfHwgd2lkdGggPiB0aGlzLmNvbmZpZy5tYXhXaWR0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCAtIHdpZHRoIDwgdGhpcy4jd2luZG93QnVmZmVyU2l6ZSkge1xuICAgICAgd2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCAtIHRoaXMuI3dpbmRvd0J1ZmZlclNpemU7XG4gICAgICB0aGlzLiN4Q29vcmQgPSB0aGlzLiN3aW5kb3dCdWZmZXJTaXplO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiN4Q29vcmQgPSBldmVudC5jbGllbnRYO1xuICAgIH1cblxuICAgIHRoaXMuZmx5b3V0V2lkdGggPSB3aWR0aDtcblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIG9uSGFuZGxlUmVsZWFzZSgpOiB2b2lkIHtcbiAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLiNhZGFwdGVyLnRvZ2dsZUlmcmFtZVBvaW50ZXJFdmVudHModHJ1ZSk7XG4gICAgICAgIHRoaXMuI3NldFVzZXJEYXRhKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkl0ZXJhdG9yUHJldmlvdXNCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNmbHlvdXRJbnN0YW5jZSkge1xuICAgICAgdGhpcy4jZmx5b3V0SW5zdGFuY2UuaXRlcmF0b3JQcmV2aW91c0J1dHRvbkNsaWNrLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25JdGVyYXRvck5leHRCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNmbHlvdXRJbnN0YW5jZSkge1xuICAgICAgdGhpcy4jZmx5b3V0SW5zdGFuY2UuaXRlcmF0b3JOZXh0QnV0dG9uQ2xpY2suZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gICNjcmVhdGVGbHlvdXRJbnN0YW5jZTxUPihjb21wb25lbnQ6IFQpOiBTa3lGbHlvdXRJbnN0YW5jZTxUPiB7XG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgU2t5Rmx5b3V0SW5zdGFuY2U8VD4oY29tcG9uZW50KTtcblxuICAgIGluc3RhbmNlLmhvc3RDb250cm9sbGVyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lGbHlvdXRNZXNzYWdlKSA9PiB7XG4gICAgICAgIHRoaXMubWVzc2FnZVN0cmVhbS5uZXh0KG1lc3NhZ2UpO1xuICAgICAgfSk7XG5cbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cblxuICAjaGFuZGxlSW5jb21pbmdNZXNzYWdlcyhtZXNzYWdlOiBTa3lGbHlvdXRNZXNzYWdlKTogdm9pZCB7XG4gICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuT3BlbjpcbiAgICAgICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5pc09wZW5pbmcgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuI2luaXRGb2N1c1RyYXAoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2U6XG4gICAgICAgIGlmIChcbiAgICAgICAgICAodGhpcy4jZmx5b3V0SW5zdGFuY2U/LmJlZm9yZUNsb3NlIGFzIFN1YmplY3Q8YW55Pik/Lm9ic2VydmVyc1xuICAgICAgICAgICAgLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgICAgIG1lc3NhZ2UuZGF0YT8uaWdub3JlQmVmb3JlQ2xvc2VcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgICAgICAgIHRoaXMuaXNPcGVuaW5nID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgKHRoaXMuI2ZseW91dEluc3RhbmNlPy5iZWZvcmVDbG9zZSBhcyBTdWJqZWN0PGFueT4pPy5uZXh0KFxuICAgICAgICAgICAgbmV3IFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlcigoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgdGhpcy5pc09wZW5pbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRW5hYmxlSXRlcmF0b3JOZXh0QnV0dG9uOlxuICAgICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5FbmFibGVJdGVyYXRvclByZXZpb3VzQnV0dG9uOlxuICAgICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRGlzYWJsZUl0ZXJhdG9yTmV4dEJ1dHRvbjpcbiAgICAgICAgdGhpcy5jb25maWcuaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5EaXNhYmxlSXRlcmF0b3JQcmV2aW91c0J1dHRvbjpcbiAgICAgICAgdGhpcy5jb25maWcuaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjbm90aWZ5Q2xvc2VkKCk6IHZvaWQge1xuICAgIHRoaXMuI2ZseW91dEluc3RhbmNlPy5jbG9zZWQuZW1pdCgpO1xuICAgIHRoaXMuI2ZseW91dEluc3RhbmNlPy5jbG9zZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gICNjbGVhblRlbXBsYXRlKCk6IHZvaWQge1xuICAgIHRoaXMudGFyZ2V0Py5jbGVhcigpO1xuICB9XG5cbiAgI3NldEZ1bGxzY3JlZW4oKTogdm9pZCB7XG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIC0gdGhpcy4jd2luZG93QnVmZmVyU2l6ZSA8IHRoaXMuY29uZmlnLm1pbldpZHRoKSB7XG4gICAgICB0aGlzLmlzRnVsbHNjcmVlbiA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNGdWxsc2NyZWVuID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgI3NldFVzZXJEYXRhKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbmZpZy5zZXR0aW5nc0tleSkge1xuICAgICAgdGhpcy4jdWlDb25maWdTZXJ2aWNlXG4gICAgICAgIC5zZXRDb25maWcodGhpcy5jb25maWcuc2V0dGluZ3NLZXksIHtcbiAgICAgICAgICBmbHlvdXRXaWR0aDogdGhpcy5mbHlvdXRXaWR0aCxcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgICAgICAgKCkgPT4ge30sXG4gICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdDb3VsZCBub3Qgc2F2ZSBmbHlvdXQgZGF0YS4nKTtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihlcnIpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgI2NoZWNrSW5pdGlhbFNpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmx5b3V0V2lkdGggPCB0aGlzLmNvbmZpZy5taW5XaWR0aCkge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHRoaXMuY29uZmlnLm1pbldpZHRoO1xuICAgICAgdGhpcy4jc2V0VXNlckRhdGEoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmx5b3V0V2lkdGggPiB0aGlzLmNvbmZpZy5tYXhXaWR0aCkge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHRoaXMuY29uZmlnLm1heFdpZHRoO1xuICAgICAgdGhpcy4jc2V0VXNlckRhdGEoKTtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgZmx5b3V0IGRvZXMgbm90IGxvYWQgbGFyZ2VyIHRoYW4gdGhlIHdpbmRvdyBhbmQgaXRzIGJ1ZmZlclxuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCAtIHRoaXMuZmx5b3V0V2lkdGggPCB0aGlzLiN3aW5kb3dCdWZmZXJTaXplKSB7XG4gICAgICB0aGlzLmZseW91dFdpZHRoID0gd2luZG93LmlubmVyV2lkdGggLSB0aGlzLiN3aW5kb3dCdWZmZXJTaXplO1xuICAgICAgdGhpcy4jeENvb3JkID0gdGhpcy4jd2luZG93QnVmZmVyU2l6ZTtcbiAgICAgIHRoaXMuI3NldFVzZXJEYXRhKCk7XG4gICAgfVxuXG4gICAgdGhpcy4jc2V0RnVsbHNjcmVlbigpO1xuICB9XG5cbiAgI2dldFN0cmluZyhrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gVE9ETzogTmVlZCB0byBpbXBsZW1lbnQgdGhlIGFzeW5jIGBnZXRTdHJpbmdgIG1ldGhvZCBpbiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICByZXR1cm4gdGhpcy4jcmVzb3VyY2VzU2VydmljZS5nZXRTdHJpbmdGb3JMb2NhbGUoeyBsb2NhbGU6ICdlbi1VUycgfSwga2V5KTtcbiAgfVxuXG4gICNoYW5kbGVSZXNpemVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoZXZlbnQua2V5KSB7XG4gICAgICBjb25zdCBrZXlQcmVzc2VkID0gZXZlbnQua2V5LnRvTG93ZXJDYXNlKCkucmVwbGFjZSgnYXJyb3cnLCAnJyk7XG4gICAgICBzd2l0Y2ggKGtleVByZXNzZWQpIHtcbiAgICAgICAgY2FzZSAnZW50ZXInOlxuICAgICAgICBjYXNlICcgJzpcbiAgICAgICAgICB0aGlzLnJlc2l6ZUtleUNvbnRyb2xBY3RpdmUgPSAhdGhpcy5yZXNpemVLZXlDb250cm9sQWN0aXZlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd0YWInOlxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKHRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5yZXNpemVLZXlDb250cm9sQWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICBpZiAodGhpcy5yZXNpemVLZXlDb250cm9sQWN0aXZlKSB7XG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgICAgaWYgKHRoaXMuZmx5b3V0V2lkdGggPCB0aGlzLmNvbmZpZy5tYXhXaWR0aCkge1xuICAgICAgICAgICAgICB0aGlzLmZseW91dFdpZHRoID0gTWF0aC5taW4oXG4gICAgICAgICAgICAgICAgdGhpcy5mbHlvdXRXaWR0aCArIHRoaXMud2lkdGhTdGVwLFxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLm1heFdpZHRoLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgaWYgKHRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZSkge1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgIGlmICh0aGlzLmZseW91dFdpZHRoID4gdGhpcy5jb25maWcubWluV2lkdGgpIHtcbiAgICAgICAgICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IE1hdGgubWF4KFxuICAgICAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggLSB0aGlzLndpZHRoU3RlcCxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5taW5XaWR0aCxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogRXhlY3V0ZXMgYSBmdW5jdGlvbiB3aGVuIHRoZSB6b25lIGlzIHN0YWJsZS4gKi9cbiAgI2V4ZWN1dGVPblN0YWJsZShmbjogKCkgPT4gYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI25nWm9uZS5pc1N0YWJsZSkge1xuICAgICAgZm4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jbmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKGZuKTtcbiAgICB9XG4gIH1cblxuICAjaW5pdEZvY3VzVHJhcCgpOiB2b2lkIHtcbiAgICB0aGlzLmVuYWJsZVRyYXBGb2N1c0F1dG9DYXB0dXJlID0gZmFsc2U7XG4gICAgdGhpcy5lbmFibGVUcmFwRm9jdXMgPSBmYWxzZTtcbiAgICAvLyBXYWl0aW5nIGZvciB6b25lIHRvIGJlIHN0YWJsZSB3aWxsIGF2b2lkIEV4cHJlc3Npb25DaGFuZ2VBZnRlckNoZWNrZWRFcnJvci5cbiAgICB0aGlzLiNleGVjdXRlT25TdGFibGUoKCkgPT4ge1xuICAgICAgdGhpcy5lbmFibGVUcmFwRm9jdXNBdXRvQ2FwdHVyZSA9IHRydWU7XG4gICAgICB0aGlzLmVuYWJsZVRyYXBGb2N1cyA9IHRydWU7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgI2ZseW91dFJlZlxuICBjbGFzcz1cInNreS1mbHlvdXRcIlxuICBza3lSZXNwb25zaXZlSG9zdFxuICB0YWJpbmRleD1cIi0xXCJcbiAgW2F0dHIucm9sZV09XCJjb25maWcuYXJpYVJvbGUgPyBjb25maWcuYXJpYVJvbGUgOiAnZGlhbG9nJ1wiXG4gIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiY29uZmlnLmFyaWFEZXNjcmliZWRCeVwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiY29uZmlnLmFyaWFMYWJlbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJjb25maWcuYXJpYUxhYmVsbGVkQnlcIlxuICBbYXR0ci5hcmlhLW1vZGFsXT1cIlxuICAgIGNvbmZpZy5hcmlhUm9sZSA9PT0gJ2RpYWxvZycgfHwgIWNvbmZpZy5hcmlhUm9sZSA/IHRydWUgOiBmYWxzZVxuICBcIlxuICBbYXR0ci5oaWRkZW5dPVwiIWluc3RhbmNlUmVhZHkgPyB0cnVlIDogdW5kZWZpbmVkXCJcbiAgW2lkXT1cImZseW91dElkXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktZmx5b3V0LWhpZGRlbic6ICFpc09wZW4gJiYgIWlzT3BlbmluZyxcbiAgICAnc2t5LWZseW91dC1mdWxsc2NyZWVuJzogaXNGdWxsc2NyZWVuXG4gIH1cIlxuICBbc3R5bGUuei1pbmRleF09XCJ6SW5kZXgkIHwgYXN5bmNcIlxuICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgJ3NreS1zaGFkb3cnOiAnZGVmYXVsdCcsXG4gICAgJ3NreS1lbGV2YXRpb24tOCc6ICdtb2Rlcm4nXG4gIH1cIlxuICBbQGZseW91dFN0YXRlXT1cImdldEFuaW1hdGlvblN0YXRlKClcIlxuICBbc3R5bGUud2lkdGgucHhdPVwiZmx5b3V0V2lkdGhcIlxuICBbY2RrVHJhcEZvY3VzXT1cImVuYWJsZVRyYXBGb2N1c1wiXG4gIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCJlbmFibGVUcmFwRm9jdXNBdXRvQ2FwdHVyZVwiXG4gIChAZmx5b3V0U3RhdGUuZG9uZSk9XCJhbmltYXRpb25Eb25lKCRldmVudClcIlxuPlxuICA8ZGl2XG4gICAgI2ZseW91dEhlYWRlclxuICAgIGNsYXNzPVwic2t5LWZseW91dC1oZWFkZXJcIlxuICAgIFtzdHlsZS56LWluZGV4XT1cInpJbmRleCQgfCBhc3luY1wiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LWZseW91dC1oZWFkZXItY29udGVudFwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4taWNvbi1ib3JkZXJsZXNzIHNreS1mbHlvdXQtaGVhZGVyLWdyYWItaGFuZGxlXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X2ZseW91dF9yZXNpemVfaGFuZGxlJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgIChrZXlkb3duKT1cIm9uSGVhZGVyR3JhYkhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZWRvd24pPVwib25IZWFkZXJHcmFiSGFuZGxlTW91c2VEb3duKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgICBpY29uTmFtZT1cInJlLW9yZGVyLWRvdHMtdmVydGljYWxcIlxuICAgICAgICAgIGljb25TaXplPVwic1wiXG4gICAgICAgIC8+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgQGlmIChjb25maWcuc2hvd0l0ZXJhdG9yKSB7XG4gICAgICAgIDxza3ktZmx5b3V0LWl0ZXJhdG9yXG4gICAgICAgICAgW25leHRCdXR0b25EaXNhYmxlZF09XCJjb25maWcuaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAgIFtwcmV2aW91c0J1dHRvbkRpc2FibGVkXT1cImNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAgIChuZXh0QnV0dG9uQ2xpY2spPVwib25JdGVyYXRvck5leHRCdXR0b25DbGljaygpXCJcbiAgICAgICAgICAocHJldmlvdXNCdXR0b25DbGljayk9XCJvbkl0ZXJhdG9yUHJldmlvdXNCdXR0b25DbGljaygpXCJcbiAgICAgICAgLz5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LWZseW91dC1oZWFkZXItYnV0dG9uc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBlcm1hbGlua1RlbXBsYXRlXCIgLz5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwcmltYXJ5QWN0aW9uVGVtcGxhdGVcIiAvPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWZseW91dC1idG4tY2xvc2Ugc2t5LWxhYmVsLWljb24tdGhlbWUtZGVmYXVsdFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9mbHlvdXRfY2xvc2UnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktYnRuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgJ3NreS1idG4taWNvbi1ib3JkZXJsZXNzJzogJ21vZGVybidcbiAgICAgICAgfVwiXG4gICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uIGljb25OYW1lPVwiY2xvc2VcIiAvPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2t5LWZseW91dC1jb250ZW50XCI+XG4gICAgPGRpdiAjdGFyZ2V0PjwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWZseW91dC1yZXNpemUtaGFuZGxlXCJcbiAgICByb2xlPVwic2VwYXJhdG9yXCJcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIHR5cGU9XCJyYW5nZVwiXG4gICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJmbHlvdXRJZFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfZmx5b3V0X3Jlc2l6ZV9oYW5kbGUnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICBbYXR0ci5hcmlhLXZhbHVlbWF4XT1cImNvbmZpZy5tYXhXaWR0aFwiXG4gICAgW2F0dHIuYXJpYS12YWx1ZW1pbl09XCJjb25maWcubWluV2lkdGhcIlxuICAgIFthdHRyLmFyaWEtdmFsdWVub3ddPVwiZmx5b3V0V2lkdGhcIlxuICAgIChrZXlkb3duKT1cIm9uUmVzaXplSGFuZGxlS2V5RG93bigkZXZlbnQpXCJcbiAgICAobW91c2Vkb3duKT1cIm9uUmVzaXplSGFuZGxlTW91c2VEb3duKCRldmVudClcIlxuICA+PC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwZXJtYWxpbmtUZW1wbGF0ZT5cbiAgQGlmIChwZXJtYWxpbmspIHtcbiAgICBAaWYgKHBlcm1hbGluay51cmwpIHtcbiAgICAgIDxhXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktZmx5b3V0LWJ0bi1wZXJtYWxpbmtcIlxuICAgICAgICBbc2t5SHJlZl09XCJwZXJtYWxpbmsudXJsXCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktYnRuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgJ3NreS1idG4tbGluay1pbmxpbmUnOiAnbW9kZXJuJ1xuICAgICAgICB9XCJcbiAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgPlxuICAgICAgICB7eyBwZXJtYWxpbmtMYWJlbCB9fVxuICAgICAgPC9hPlxuICAgIH0gQGVsc2UgaWYgKHBlcm1hbGluay5yb3V0ZSkge1xuICAgICAgPGFcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1mbHlvdXQtYnRuLXBlcm1hbGlua1wiXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cInBlcm1hbGluay5yb3V0ZS5jb21tYW5kc1wiXG4gICAgICAgIFtmcmFnbWVudF09XCJwZXJtYWxpbmsucm91dGUuZXh0cmFzPy5mcmFnbWVudFwiXG4gICAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LWJ0bi1kZWZhdWx0JzogJ2RlZmF1bHQnLFxuICAgICAgICAgICdza3ktYnRuLWxpbmstaW5saW5lJzogJ21vZGVybidcbiAgICAgICAgfVwiXG4gICAgICAgIFtxdWVyeVBhcmFtc109XCJwZXJtYWxpbmsucm91dGUuZXh0cmFzPy5xdWVyeVBhcmFtc1wiXG4gICAgICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cInBlcm1hbGluay5yb3V0ZS5leHRyYXM/LnF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxuICAgICAgICBbc3RhdGVdPVwicGVybWFsaW5rLnJvdXRlLmV4dHJhcz8uc3RhdGVcIlxuICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IHBlcm1hbGlua0xhYmVsIH19XG4gICAgICA8L2E+XG4gICAgfVxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3ByaW1hcnlBY3Rpb25UZW1wbGF0ZT5cbiAgQGlmIChwcmltYXJ5QWN0aW9uICYmIHByaW1hcnlBY3Rpb24uY2FsbGJhY2spIHtcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktZmx5b3V0LWJ0bi1wcmltYXJ5LWFjdGlvblwiXG4gICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICdza3ktYnRuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICdza3ktYnRuLWxpbmstaW5saW5lJzogJ21vZGVybidcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrKT1cImludm9rZVByaW1hcnlBY3Rpb24oKVwiXG4gICAgPlxuICAgICAge3sgcHJpbWFyeUFjdGlvbkxhYmVsIH19XG4gICAgPC9idXR0b24+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=","import { NgModule } from '@angular/core';\nimport { SkyFlyoutComponent } from './flyout.component';\nimport * as i0 from \"@angular/core\";\nexport class SkyFlyoutModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutModule, imports: [SkyFlyoutComponent], exports: [SkyFlyoutComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutModule, imports: [SkyFlyoutComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [SkyFlyoutComponent],\n exports: [SkyFlyoutComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBTXhELE1BQU0sT0FBTyxlQUFlOytHQUFmLGVBQWU7Z0hBQWYsZUFBZSxZQUhoQixrQkFBa0IsYUFDbEIsa0JBQWtCO2dIQUVqQixlQUFlLFlBSGhCLGtCQUFrQjs7NEZBR2pCLGVBQWU7a0JBSjNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQzdCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUZseW91dENvbXBvbmVudCB9IGZyb20gJy4vZmx5b3V0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtTa3lGbHlvdXRDb21wb25lbnRdLFxuICBleHBvcnRzOiBbU2t5Rmx5b3V0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0TW9kdWxlIHt9XG4iXX0=","var _a;\nimport { EnvironmentInjector, Injectable, inject, } from '@angular/core';\nimport { NavigationStart } from '@angular/router';\nimport { Subject, fromEvent } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\nimport { SkyFlyoutComponent } from './flyout.component';\nimport { SkyFlyoutMessageType } from './types/flyout-message-type';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\nimport * as i2 from \"@angular/router\";\n/**\n * Launches flyouts and provides a common look and feel.\n * This service dynamically generates the flyout component and appends it directly to the\n * document's `body` element. The `SkyFlyoutInstance` class watches for and triggers flyout events.\n */\nexport class SkyFlyoutService {\n #removeAfterClosed = false;\n #isOpening = false;\n #ngUnsubscribe = new Subject();\n #coreAdapter;\n #windowRef;\n #dynamicComponentService;\n #environmentInjector = inject(EnvironmentInjector);\n #router;\n #ngZone;\n constructor(coreAdapter, windowRef, dynamicComponentService, router, ngZone) {\n this.#coreAdapter = coreAdapter;\n this.#windowRef = windowRef;\n this.#dynamicComponentService = dynamicComponentService;\n this.#router = router;\n this.#ngZone = ngZone;\n }\n ngOnDestroy() {\n this.#removeListeners();\n if (_a.host) {\n this.#removeHostComponent();\n }\n }\n /**\n * Closes the flyout. This method also removes the flyout's HTML elements from the DOM.\n * @param args Arguments used when closing the flyout.\n */\n close(args) {\n if (_a.host && !this.#isOpening) {\n _a.host.instance.messageStream.next({\n type: SkyFlyoutMessageType.Close,\n data: {\n ignoreBeforeClose: args ? args.ignoreBeforeClose : false,\n },\n });\n }\n }\n /**\n * Opens a flyout and displays the specified component.\n * @param component Specifies the component to render.\n * @param config Specifies the flyout configuration passed to the specified component's constructor.\n */\n open(component, config) {\n // isOpening flag will prevent close() from firing when open() is also fired.\n this.#isOpening = true;\n this.#windowRef.nativeWindow.setTimeout(() => {\n this.#isOpening = false;\n });\n if (!_a.host) {\n _a.host = this.#createHostComponent();\n this.#router.events\n .pipe(takeWhile(() => _a.host !== undefined))\n .subscribe((event) => {\n if (event instanceof NavigationStart) {\n this.close();\n // Sanity check - if the host still exists after animations should have completed - remove host\n this.#ngZone.onStable.pipe(take(1)).subscribe(() => {\n if (_a.host) {\n this.#removeHostComponent();\n }\n });\n }\n });\n }\n const flyout = _a.host.instance.attach(component, config, this.#environmentInjector);\n this.#addListeners(flyout);\n return flyout;\n }\n #createHostComponent() {\n _a.host =\n this.#dynamicComponentService.createComponent(SkyFlyoutComponent);\n return _a.host;\n }\n #removeHostComponent() {\n if (_a.host) {\n this.#dynamicComponentService.removeComponent(_a.host);\n _a.host = undefined;\n }\n }\n #addListeners(flyout) {\n /* istanbul ignore else */\n if (_a.host) {\n const flyoutInstance = _a.host.instance;\n let doClose = false;\n /**\n * Handles when to close a flyout.\n * Note: We're using `mouseup` in order to capture the parent of certain targets that will be\n * deleted immediately after being clicked. If we use `click`, the event is fired after the\n * element is removed from the DOM making it impossible to check the parent's z-index\n * relative to the flyout's container.\n */\n fromEvent(document, 'mouseup')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((event) => {\n doClose = false;\n if (_a.host?.instance.isDragging) {\n return;\n }\n if (flyoutInstance.flyoutRef?.nativeElement.contains(event.target)) {\n return;\n }\n const isAbove = event.target === document || !event.target\n ? false\n : this.#coreAdapter.isTargetAboveElement(event.target, flyoutInstance.flyoutRef?.nativeElement);\n /* istanbul ignore else */\n if (!isAbove) {\n doClose = true;\n }\n });\n /**\n * Check if we should close the flyout specifically on a `click` event so that we can keep\n * it open when consumers fire another `click` event on a trigger button. Since the consumer\n * will likely use a `click` event to open the flyout, we want to wait for that event to fire\n * before determining if the flyout should be closed.\n */\n fromEvent(document, 'click')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n if (doClose) {\n this.close();\n }\n });\n this.#removeAfterClosed = false;\n flyoutInstance.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message) => {\n if (message.type === SkyFlyoutMessageType.Close) {\n this.#removeAfterClosed = true;\n this.#isOpening = false;\n }\n });\n flyout.closed.pipe(take(1)).subscribe(() => {\n this.#removeListeners();\n if (this.#removeAfterClosed) {\n this.#removeHostComponent();\n }\n });\n }\n }\n #removeListeners() {\n this.#ngUnsubscribe.next(true);\n this.#ngUnsubscribe.unsubscribe();\n this.#ngUnsubscribe = new Subject();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentService }, { token: i2.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutService, providedIn: 'root' }); }\n}\n_a = SkyFlyoutService;\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentService }, { type: i2.Router }, { type: i0.NgZone }] });\n/**\n * Launches flyouts and provides a common look and feel.\n * This service dynamically generates the flyout component and appends it directly to the\n * document's `body` element. The `SkyFlyoutInstance` class watches for and triggers flyout events.\n * @internal\n * @deprecated Use `SkyFlyoutService` to open a standalone component instead.\n */\nexport class SkyFlyoutLegacyService extends SkyFlyoutService {\n /* istanbul ignore next */\n constructor(coreAdapter, windowRef, dynamicComponentService, router, ngZone) {\n super(coreAdapter, windowRef, dynamicComponentService, router, ngZone);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutLegacyService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentLegacyService }, { token: i2.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutLegacyService, providedIn: 'any' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyFlyoutLegacyService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'any',\n }]\n }], ctorParameters: () => [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentLegacyService }, { type: i2.Router }, { type: i0.NgZone }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmx5b3V0L3NyYy9saWIvbW9kdWxlcy9mbHlvdXQvZmx5b3V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxtQkFBbUIsRUFDbkIsVUFBVSxFQUlWLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFRMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFFbkU7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0Isa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQzNCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFFeEMsWUFBWSxDQUF3QjtJQUNwQyxVQUFVLENBQWtCO0lBQzVCLHdCQUF3QixDQUE2QjtJQUNyRCxvQkFBb0IsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNuRCxPQUFPLENBQVM7SUFDaEIsT0FBTyxDQUFTO0lBRWhCLFlBQ0UsV0FBa0MsRUFDbEMsU0FBMEIsRUFDMUIsdUJBQW1ELEVBQ25ELE1BQWMsRUFDZCxNQUFjO1FBRWQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFD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Ozs7NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUE4TEQ7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGdCQUFnQjtJQUMxRCwwQkFBMEI7SUFDMUIsWUFDRSxXQUFrQyxFQUNsQyxTQUEwQixFQUMxQix1QkFBeUQsRUFDekQsTUFBYyxFQUNkLE1BQWM7UUFFZCxLQUFLLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekUsQ0FBQzsrR0FWVSxzQkFBc0I7bUhBQXRCLHNCQUFzQixjQUZyQixLQUFLOzs0RkFFTixzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBFbnZpcm9ubWVudEluamVjdG9yLFxuICBJbmplY3RhYmxlLFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgVHlwZSxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIFNreUFwcFdpbmRvd1JlZixcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICBTa3lEeW5hbWljQ29tcG9uZW50TGVnYWN5U2VydmljZSxcbiAgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0SW5zdGFuY2UgfSBmcm9tICcuL2ZseW91dC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb21wb25lbnQgfSBmcm9tICcuL2ZseW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0Q2xvc2VBcmdzIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtY2xvc2UtYXJncyc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb25maWcgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1jb25maWcnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZVR5cGUgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1tZXNzYWdlLXR5cGUnO1xuXG4vKipcbiAqIExhdW5jaGVzIGZseW91dHMgYW5kIHByb3ZpZGVzIGEgY29tbW9uIGxvb2sgYW5kIGZlZWwuXG4gKiBUaGlzIHNlcnZpY2UgZHluYW1pY2FsbHkgZ2VuZXJhdGVzIHRoZSBmbHlvdXQgY29tcG9uZW50IGFuZCBhcHBlbmRzIGl0IGRpcmVjdGx5IHRvIHRoZVxuICogZG9jdW1lbnQncyBgYm9keWAgZWxlbWVudC4gVGhlIGBTa3lGbHlvdXRJbnN0YW5jZWAgY2xhc3Mgd2F0Y2hlcyBmb3IgYW5kIHRyaWdnZXJzIGZseW91dCBldmVudHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0aWMgaG9zdDogQ29tcG9uZW50UmVmPFNreUZseW91dENvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG5cbiAgI3JlbW92ZUFmdGVyQ2xvc2VkID0gZmFsc2U7XG4gICNpc09wZW5pbmcgPSBmYWxzZTtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICNjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlO1xuICAjd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWY7XG4gICNkeW5hbWljQ29tcG9uZW50U2VydmljZTogU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2U7XG4gICNlbnZpcm9ubWVudEluamVjdG9yID0gaW5qZWN0KEVudmlyb25tZW50SW5qZWN0b3IpO1xuICAjcm91dGVyOiBSb3V0ZXI7XG4gICNuZ1pvbmU6IE5nWm9uZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmLFxuICAgIGR5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgICByb3V0ZXI6IFJvdXRlcixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgKSB7XG4gICAgdGhpcy4jY29yZUFkYXB0ZXIgPSBjb3JlQWRhcHRlcjtcbiAgICB0aGlzLiN3aW5kb3dSZWYgPSB3aW5kb3dSZWY7XG4gICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UgPSBkeW5hbWljQ29tcG9uZW50U2VydmljZTtcbiAgICB0aGlzLiNyb3V0ZXIgPSByb3V0ZXI7XG4gICAgdGhpcy4jbmdab25lID0gbmdab25lO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI3JlbW92ZUxpc3RlbmVycygpO1xuICAgIGlmIChTa3lGbHlvdXRTZXJ2aWNlLmhvc3QpIHtcbiAgICAgIHRoaXMuI3JlbW92ZUhvc3RDb21wb25lbnQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBmbHlvdXQuIFRoaXMgbWV0aG9kIGFsc28gcmVtb3ZlcyB0aGUgZmx5b3V0J3MgSFRNTCBlbGVtZW50cyBmcm9tIHRoZSBET00uXG4gICAqIEBwYXJhbSBhcmdzIEFyZ3VtZW50cyB1c2VkIHdoZW4gY2xvc2luZyB0aGUgZmx5b3V0LlxuICAgKi9cbiAgcHVibGljIGNsb3NlKGFyZ3M/OiBTa3lGbHlvdXRDbG9zZUFyZ3MpOiB2b2lkIHtcbiAgICBpZiAoU2t5Rmx5b3V0U2VydmljZS5ob3N0ICYmICF0aGlzLiNpc09wZW5pbmcpIHtcbiAgICAgIFNreUZseW91dFNlcnZpY2UuaG9zdC5pbnN0YW5jZS5tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5DbG9zZSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGlnbm9yZUJlZm9yZUNsb3NlOiBhcmdzID8gYXJncy5pZ25vcmVCZWZvcmVDbG9zZSA6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgZmx5b3V0IGFuZCBkaXNwbGF5cyB0aGUgc3BlY2lmaWVkIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIGNvbXBvbmVudCBTcGVjaWZpZXMgdGhlIGNvbXBvbmVudCB0byByZW5kZXIuXG4gICAqIEBwYXJhbSBjb25maWcgU3BlY2lmaWVzIHRoZSBmbHlvdXQgY29uZmlndXJhdGlvbiBwYXNzZWQgdG8gdGhlIHNwZWNpZmllZCBjb21wb25lbnQncyBjb25zdHJ1Y3Rvci5cbiAgICovXG4gIHB1YmxpYyBvcGVuPFQ+KFxuICAgIGNvbXBvbmVudDogVHlwZTxUPixcbiAgICBjb25maWc/OiBTa3lGbHlvdXRDb25maWcsXG4gICk6IFNreUZseW91dEluc3RhbmNlPFQ+IHtcbiAgICAvLyBpc09wZW5pbmcgZmxhZyB3aWxsIHByZXZlbnQgY2xvc2UoKSBmcm9tIGZpcmluZyB3aGVuIG9wZW4oKSBpcyBhbHNvIGZpcmVkLlxuICAgIHRoaXMuI2lzT3BlbmluZyA9IHRydWU7XG4gICAgdGhpcy4jd2luZG93UmVmLm5hdGl2ZVdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2lzT3BlbmluZyA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgaWYgKCFTa3lGbHlvdXRTZXJ2aWNlLmhvc3QpIHtcbiAgICAgIFNreUZseW91dFNlcnZpY2UuaG9zdCA9IHRoaXMuI2NyZWF0ZUhvc3RDb21wb25lbnQoKTtcblxuICAgICAgdGhpcy4jcm91dGVyLmV2ZW50c1xuICAgICAgICAucGlwZSh0YWtlV2hpbGUoKCkgPT4gU2t5Rmx5b3V0U2VydmljZS5ob3N0ICE9PSB1bmRlZmluZWQpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuXG4gICAgICAgICAgICAvLyBTYW5pdHkgY2hlY2sgLSBpZiB0aGUgaG9zdCBzdGlsbCBleGlzdHMgYWZ0ZXIgYW5pbWF0aW9ucyBzaG91bGQgaGF2ZSBjb21wbGV0ZWQgLSByZW1vdmUgaG9zdFxuICAgICAgICAgICAgdGhpcy4jbmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKFNreUZseW91dFNlcnZpY2UuaG9zdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuI3JlbW92ZUhvc3RDb21wb25lbnQoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBmbHlvdXQgPSBTa3lGbHlvdXRTZXJ2aWNlLmhvc3QuaW5zdGFuY2UuYXR0YWNoKFxuICAgICAgY29tcG9uZW50LFxuICAgICAgY29uZmlnLFxuICAgICAgdGhpcy4jZW52aXJvbm1lbnRJbmplY3RvcixcbiAgICApO1xuXG4gICAgdGhpcy4jYWRkTGlzdGVuZXJzKGZseW91dCk7XG5cbiAgICByZXR1cm4gZmx5b3V0O1xuICB9XG5cbiAgI2NyZWF0ZUhvc3RDb21wb25lbnQoKTogQ29tcG9uZW50UmVmPFNreUZseW91dENvbXBvbmVudD4ge1xuICAgIFNreUZseW91dFNlcnZpY2UuaG9zdCA9XG4gICAgICB0aGlzLiNkeW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVDb21wb25lbnQoU2t5Rmx5b3V0Q29tcG9uZW50KTtcbiAgICByZXR1cm4gU2t5Rmx5b3V0U2VydmljZS5ob3N0O1xuICB9XG5cbiAgI3JlbW92ZUhvc3RDb21wb25lbnQoKTogdm9pZCB7XG4gICAgaWYgKFNreUZseW91dFNlcnZpY2UuaG9zdCkge1xuICAgICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UucmVtb3ZlQ29tcG9uZW50KFNreUZseW91dFNlcnZpY2UuaG9zdCk7XG4gICAgICBTa3lGbHlvdXRTZXJ2aWNlLmhvc3QgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgI2FkZExpc3RlbmVyczxUPihmbHlvdXQ6IFNreUZseW91dEluc3RhbmNlPFQ+KTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoU2t5Rmx5b3V0U2VydmljZS5ob3N0KSB7XG4gICAgICBjb25zdCBmbHlvdXRJbnN0YW5jZSA9IFNreUZseW91dFNlcnZpY2UuaG9zdC5pbnN0YW5jZTtcblxuICAgICAgbGV0IGRvQ2xvc2UgPSBmYWxzZTtcblxuICAgICAgLyoqXG4gICAgICAgKiBIYW5kbGVzIHdoZW4gdG8gY2xvc2UgYSBmbHlvdXQuXG4gICAgICAgKiBOb3RlOiBXZSdyZSB1c2luZyBgbW91c2V1cGAgaW4gb3JkZXIgdG8gY2FwdHVyZSB0aGUgcGFyZW50IG9mIGNlcnRhaW4gdGFyZ2V0cyB0aGF0IHdpbGwgYmVcbiAgICAgICAqIGRlbGV0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgYmVpbmcgY2xpY2tlZC4gSWYgd2UgdXNlIGBjbGlja2AsIHRoZSBldmVudCBpcyBmaXJlZCBhZnRlciB0aGVcbiAgICAgICAqIGVsZW1lbnQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBET00gbWFraW5nIGl0IGltcG9zc2libGUgdG8gY2hlY2sgdGhlIHBhcmVudCdzIHotaW5kZXhcbiAgICAgICAqIHJlbGF0aXZlIHRvIHRoZSBmbHlvdXQncyBjb250YWluZXIuXG4gICAgICAgKi9cbiAgICAgIGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNldXAnKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICAgIGRvQ2xvc2UgPSBmYWxzZTtcblxuICAgICAgICAgIGlmIChTa3lGbHlvdXRTZXJ2aWNlLmhvc3Q/Lmluc3RhbmNlLmlzRHJhZ2dpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmx5b3V0SW5zdGFuY2UuZmx5b3V0UmVmPy5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBpc0Fib3ZlID1cbiAgICAgICAgICAgIGV2ZW50LnRhcmdldCA9PT0gZG9jdW1lbnQgfHwgIWV2ZW50LnRhcmdldFxuICAgICAgICAgICAgICA/IGZhbHNlXG4gICAgICAgICAgICAgIDogdGhpcy4jY29yZUFkYXB0ZXIuaXNUYXJnZXRBYm92ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgICBldmVudC50YXJnZXQsXG4gICAgICAgICAgICAgICAgICBmbHlvdXRJbnN0YW5jZS5mbHlvdXRSZWY/Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKCFpc0Fib3ZlKSB7XG4gICAgICAgICAgICBkb0Nsb3NlID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAvKipcbiAgICAgICAqIENoZWNrIGlmIHdlIHNob3VsZCBjbG9zZSB0aGUgZmx5b3V0IHNwZWNpZmljYWxseSBvbiBhIGBjbGlja2AgZXZlbnQgc28gdGhhdCB3ZSBjYW4ga2VlcFxuICAgICAgICogaXQgb3BlbiB3aGVuIGNvbnN1bWVycyBmaXJlIGFub3RoZXIgYGNsaWNrYCBldmVudCBvbiBhIHRyaWdnZXIgYnV0dG9uLiBTaW5jZSB0aGUgY29uc3VtZXJcbiAgICAgICAqIHdpbGwgbGlrZWx5IHVzZSBhIGBjbGlja2AgZXZlbnQgdG8gb3BlbiB0aGUgZmx5b3V0LCB3ZSB3YW50IHRvIHdhaXQgZm9yIHRoYXQgZXZlbnQgdG8gZmlyZVxuICAgICAgICogYmVmb3JlIGRldGVybWluaW5nIGlmIHRoZSBmbHlvdXQgc2hvdWxkIGJlIGNsb3NlZC5cbiAgICAgICAqL1xuICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGlmIChkb0Nsb3NlKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgdGhpcy4jcmVtb3ZlQWZ0ZXJDbG9zZWQgPSBmYWxzZTtcbiAgICAgIGZseW91dEluc3RhbmNlLm1lc3NhZ2VTdHJlYW1cbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lGbHlvdXRNZXNzYWdlKSA9PiB7XG4gICAgICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UpIHtcbiAgICAgICAgICAgIHRoaXMuI3JlbW92ZUFmdGVyQ2xvc2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuI2lzT3BlbmluZyA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIGZseW91dC5jbG9zZWQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLiNyZW1vdmVMaXN0ZW5lcnMoKTtcbiAgICAgICAgaWYgKHRoaXMuI3JlbW92ZUFmdGVyQ2xvc2VkKSB7XG4gICAgICAgICAgdGhpcy4jcmVtb3ZlSG9zdENvbXBvbmVudCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjcmVtb3ZlTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCh0cnVlKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIH1cbn1cblxuLyoqXG4gKiBMYXVuY2hlcyBmbHlvdXRzIGFuZCBwcm92aWRlcyBhIGNvbW1vbiBsb29rIGFuZCBmZWVsLlxuICogVGhpcyBzZXJ2aWNlIGR5bmFtaWNhbGx5IGdlbmVyYXRlcyB0aGUgZmx5b3V0IGNvbXBvbmVudCBhbmQgYXBwZW5kcyBpdCBkaXJlY3RseSB0byB0aGVcbiAqIGRvY3VtZW50J3MgYGJvZHlgIGVsZW1lbnQuIFRoZSBgU2t5Rmx5b3V0SW5zdGFuY2VgIGNsYXNzIHdhdGNoZXMgZm9yIGFuZCB0cmlnZ2VycyBmbHlvdXQgZXZlbnRzLlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZCBVc2UgYFNreUZseW91dFNlcnZpY2VgIHRvIG9wZW4gYSBzdGFuZGFsb25lIGNvbXBvbmVudCBpbnN0ZWFkLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRMZWdhY3lTZXJ2aWNlIGV4dGVuZHMgU2t5Rmx5b3V0U2VydmljZSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvcmVBZGFwdGVyOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWYsXG4gICAgZHluYW1pY0NvbXBvbmVudFNlcnZpY2U6IFNreUR5bmFtaWNDb21wb25lbnRMZWdhY3lTZXJ2aWNlLFxuICAgIHJvdXRlcjogUm91dGVyLFxuICAgIG5nWm9uZTogTmdab25lLFxuICApIHtcbiAgICBzdXBlcihjb3JlQWRhcHRlciwgd2luZG93UmVmLCBkeW5hbWljQ29tcG9uZW50U2VydmljZSwgcm91dGVyLCBuZ1pvbmUpO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtZmx5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvc2t5dXgtZmx5b3V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i2","i3","i5","i7"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-flyout.mjs","sources":["../../../../../libs/components/flyout/src/lib/modules/flyout/types/flyout-message-type.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout-instance.ts","../../../../../libs/components/flyout/src/lib/modules/shared/sky-flyout-resources.module.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout-adapter.service.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout-iterator.component.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout-iterator.component.html","../../../../../libs/components/flyout/src/lib/modules/flyout/types/flyout-before-close-handler.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout.component.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout.component.html","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout.module.ts","../../../../../libs/components/flyout/src/lib/modules/flyout/flyout.service.ts","../../../../../libs/components/flyout/src/skyux-flyout.ts"],"sourcesContent":["/**\n * @internal\n */\nexport enum SkyFlyoutMessageType {\n Open = 0,\n Close,\n EnableIteratorNextButton,\n EnableIteratorPreviousButton,\n DisableIteratorNextButton,\n DisableIteratorPreviousButton,\n}\n","import { EventEmitter } from '@angular/core';\n\nimport { Observable, Subject } from 'rxjs';\n\nimport { SkyFlyoutBeforeCloseHandler } from './types/flyout-before-close-handler';\nimport { SkyFlyoutCloseArgs } from './types/flyout-close-args';\nimport { SkyFlyoutMessage } from './types/flyout-message';\nimport { SkyFlyoutMessageType } from './types/flyout-message-type';\n\n/**\n * Represents a single displayed flyout.\n */\nexport class SkyFlyoutInstance<T> {\n /**\n * An event that the flyout instance emits when it is about to close.\n * If a subscription exists for this event,\n * the flyout does not close until the subscriber calls the handler's `closeModal` method.\n */\n public get beforeClose(): Observable<SkyFlyoutBeforeCloseHandler> {\n return this.#_beforeClose;\n }\n\n /**\n * An event that the flyout instance emits when it closes.\n */\n public closed = new EventEmitter<void>();\n\n /**\n * The instance of the component to display in the flyout.\n */\n public componentInstance!: T;\n\n /**\n * Used to communicate with the host component.\n * @internal\n */\n public get hostController(): Subject<SkyFlyoutMessage> {\n return this.#_hostController;\n }\n\n /**\n * A `boolean` value that returns `true` if the flyout is open.\n * @default true\n */\n public isOpen = true;\n\n /**\n * An event that the flyout instance emits when users click the next iterator button.\n */\n public get iteratorNextButtonClick(): EventEmitter<void> {\n return this.#_iteratorNextButtonClick;\n }\n\n /**\n * An event that the flyout instance emits when users click the previous iterator button.\n */\n public get iteratorPreviousButtonClick(): EventEmitter<void> {\n return this.#_iteratorPreviousButtonClick;\n }\n\n /**\n * Disables the next iterator button.\n * @default false\n */\n public set iteratorNextButtonDisabled(newValue: boolean) {\n this.#_iteratorNextButtonDisabled = newValue;\n if (newValue) {\n this.hostController.next({\n type: SkyFlyoutMessageType.DisableIteratorNextButton,\n });\n } else {\n this.hostController.next({\n type: SkyFlyoutMessageType.EnableIteratorNextButton,\n });\n }\n }\n\n public get iteratorNextButtonDisabled(): boolean {\n return this.#_iteratorNextButtonDisabled;\n }\n\n /**\n * Disables the previous iterator button.\n * @default false\n */\n public set iteratorPreviousButtonDisabled(newValue: boolean) {\n this.#_iteratorPreviousButtonDisabled = newValue;\n if (newValue) {\n this.hostController.next({\n type: SkyFlyoutMessageType.DisableIteratorPreviousButton,\n });\n } else {\n this.hostController.next({\n type: SkyFlyoutMessageType.EnableIteratorPreviousButton,\n });\n }\n }\n\n public get iteratorPreviousButtonDisabled(): boolean {\n return this.#_iteratorPreviousButtonDisabled;\n }\n\n #_beforeClose = new Subject<SkyFlyoutBeforeCloseHandler>();\n\n #_iteratorNextButtonClick = new EventEmitter<void>();\n\n #_iteratorPreviousButtonClick = new EventEmitter<void>();\n\n #_iteratorNextButtonDisabled = false;\n\n #_iteratorPreviousButtonDisabled = false;\n\n #_hostController = new Subject<SkyFlyoutMessage>();\n\n // TODO: Remove this being optional in a future breaking change.\n constructor(componentInstance?: T) {\n if (!componentInstance) {\n console.warn(\n `The SkyFlyoutInstance was created without a reference to the flyout's child component instance.\n The instance will not have a reference to this child component.\n Support for creating an instance without this reference will be removed in a future breaking change.`,\n );\n }\n\n this.componentInstance = componentInstance!;\n this.closed.subscribe(() => {\n this.isOpen = false;\n });\n }\n\n /**\n * Closes the flyout instance and emits its `closed` event.\n * @param args Arguments used when closing the flyout.\n */\n public close(args?: SkyFlyoutCloseArgs): void {\n this.hostController.next({\n type: SkyFlyoutMessageType.Close,\n data: { ignoreBeforeClose: args ? args.ignoreBeforeClose : false },\n });\n\n this.#_iteratorPreviousButtonClick.complete();\n this.#_iteratorNextButtonClick.complete();\n\n this.hostController.complete();\n }\n}\n","/* 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-flyout' 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_flyout_close: { message: 'Close flyout' },\n skyux_flyout_iterator_previous_button: { message: 'Previous' },\n skyux_flyout_iterator_next_button: { message: 'Next' },\n skyux_flyout_permalink_button: { message: 'View record' },\n skyux_flyout_primary_action_button: { message: 'Create list' },\n skyux_flyout_resize_handle: {\n message:\n 'Resize the flyout window. Press the enter or space key to activate, then use left arrow key to expand the flyout window and right arrow key to shrink the flyout window. Press the enter, space, or tab key to deactivate.',\n },\n },\n 'FR-CA': {\n skyux_flyout_close: { message: 'Fermer la fenêtre contextuelle' },\n skyux_flyout_iterator_previous_button: { message: 'Précédent' },\n skyux_flyout_iterator_next_button: { message: 'Suivant' },\n skyux_flyout_permalink_button: { message: 'Visualiser le dossier' },\n skyux_flyout_primary_action_button: { message: 'Créer une liste' },\n skyux_flyout_resize_handle: {\n message:\n 'Redimensionnez la fenêtre contextuelle. Appuyez sur la touche Entrée ou Espace pour l’activer, puis utiliser la flèche de gauche pour agrandir la fenêtre contextuelle et la flèche de droite pour réduire la fenêtre contextuelle. Appuyez sur la touche Entrée, Espace ou Tabulation pour la désactiver.',\n },\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 SkyFlyoutResourcesModule {}\n","import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\nimport { SkyAppWindowRef } from '@skyux/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyFlyoutAdapterService {\n #renderer: Renderer2;\n\n #windowRef: SkyAppWindowRef;\n\n constructor(rendererFactory: RendererFactory2, windowRef: SkyAppWindowRef) {\n this.#windowRef = windowRef;\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n\n public adjustHeaderForHelp(header: ElementRef): void {\n const windowObj = this.#windowRef.nativeWindow;\n const helpWidget = windowObj.document.getElementById('bb-help-invoker');\n\n if (helpWidget) {\n this.#renderer.addClass(header.nativeElement, 'sky-flyout-help-shim');\n }\n }\n\n public toggleIframePointerEvents(enable: boolean): void {\n // When iframes are present on the page, they may interfere with dragging\n // temporarily disable pointer events in iframes when dragging starts.\n // When re-enabling we set to the empty string as it will remove the element styling\n // and fall back to any css originally given to iframe\n const iframes = Array.from(document.querySelectorAll('iframe'));\n for (const iframe of iframes) {\n this.#renderer.setStyle(iframe, 'pointer-events', enable ? '' : 'none');\n }\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { Subject } from 'rxjs';\n\nimport { SkyFlyoutResourcesModule } from '../shared/sky-flyout-resources.module';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-flyout-iterator',\n templateUrl: './flyout-iterator.component.html',\n styleUrls: ['./flyout-iterator.component.scss'],\n imports: [SkyIconModule, SkyFlyoutResourcesModule, SkyThemeModule],\n})\nexport class SkyFlyoutIteratorComponent implements OnDestroy {\n @Input()\n public nextButtonDisabled: boolean | undefined;\n\n @Input()\n public previousButtonDisabled: boolean | undefined;\n\n @Output()\n public get previousButtonClick(): EventEmitter<void> {\n return this.#_previousButtonClick;\n }\n\n @Output()\n public get nextButtonClick(): EventEmitter<void> {\n return this.#_nextButtonClick;\n }\n\n #ngUnsubscribe = new Subject<void>();\n\n #_nextButtonClick = new EventEmitter<void>();\n\n #_previousButtonClick = new EventEmitter<void>();\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public onIteratorPreviousClick(): void {\n /* istanbul ignore else */\n if (!this.previousButtonDisabled) {\n this.#_previousButtonClick.emit();\n }\n }\n\n public onIteratorNextClick(): void {\n /* istanbul ignore else */\n if (!this.nextButtonDisabled) {\n this.#_nextButtonClick.emit();\n }\n }\n}\n","<div class=\"sky-flyout-iterators\">\n <button\n class=\"sky-btn sky-flyout-iterator-previous\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_flyout_iterator_previous_button' | skyLibResources\n \"\n [disabled]=\"previousButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"onIteratorPreviousClick()\"\n >\n <sky-icon iconName=\"chevron-up\" />\n </button>\n <button\n class=\"sky-btn sky-flyout-iterator-next\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_iterator_next_button' | skyLibResources\"\n [disabled]=\"nextButtonDisabled\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"onIteratorNextClick()\"\n >\n <sky-icon iconName=\"chevron-down\" />\n </button>\n</div>\n","/**\n * Handler for notifying the flyout when it is appropriate to close the flyout. This will be returned from the flyout instance's `beforeClose` observable.\n */\nexport class SkyFlyoutBeforeCloseHandler {\n /**\n * Function which should be called to close the flyout. This should be called once any intervening actions have completed.\n */\n public readonly closeFlyout: () => void;\n\n constructor(closeFlyoutFunction: () => void) {\n this.closeFlyout = closeFlyoutFunction;\n }\n}\n","import {\n AnimationEvent,\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EnvironmentInjector,\n HostListener,\n NgZone,\n OnDestroy,\n OnInit,\n Type,\n ViewChild,\n ViewContainerRef,\n inject,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport {\n SKY_STACKING_CONTEXT,\n SkyDynamicComponentService,\n SkyResponsiveHostDirective,\n SkyUIConfigService,\n} from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyHrefModule } from '@skyux/router';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { BehaviorSubject, Subject, fromEvent } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\n\nimport { SkyFlyoutResourcesModule } from '../shared/sky-flyout-resources.module';\n\nimport { SkyFlyoutAdapterService } from './flyout-adapter.service';\nimport { SkyFlyoutInstance } from './flyout-instance';\nimport { SkyFlyoutIteratorComponent } from './flyout-iterator.component';\nimport { SkyFlyoutAction } from './types/flyout-action';\nimport { SkyFlyoutBeforeCloseHandler } from './types/flyout-before-close-handler';\nimport { SkyFlyoutConfig } from './types/flyout-config';\nimport { SkyFlyoutConfigInternal } from './types/flyout-config-internal';\nimport { SkyFlyoutMessage } from './types/flyout-message';\nimport { SkyFlyoutMessageType } from './types/flyout-message-type';\nimport { SkyFlyoutPermalink } from './types/flyout-permalink';\n\nconst FLYOUT_OPEN_STATE = 'flyoutOpen';\nconst FLYOUT_CLOSED_STATE = 'flyoutClosed';\n\nlet nextId = 0;\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-flyout',\n templateUrl: './flyout.component.html',\n styleUrls: ['./flyout.component.scss'],\n providers: [SkyFlyoutAdapterService],\n animations: [\n trigger('flyoutState', [\n state(FLYOUT_OPEN_STATE, style({ transform: 'initial' })),\n state(FLYOUT_CLOSED_STATE, style({ transform: 'translateX(100%)' })),\n transition('void => *', [\n style({ transform: 'translateX(100%)' }),\n animate(250),\n ]),\n transition(`* <=> *`, animate('250ms ease-in')),\n ]),\n ],\n // Allow automatic change detection for child components.\n changeDetection: ChangeDetectionStrategy.Default,\n imports: [\n A11yModule,\n CommonModule,\n RouterModule,\n SkyResponsiveHostDirective,\n SkyHrefModule,\n SkyIconModule,\n SkyFlyoutIteratorComponent,\n SkyFlyoutResourcesModule,\n SkyThemeModule,\n ],\n})\nexport class SkyFlyoutComponent implements OnDestroy, OnInit {\n public config: SkyFlyoutConfigInternal = {\n defaultWidth: window.innerWidth / 2,\n minWidth: 320,\n maxWidth: window.innerWidth / 2,\n providers: [],\n };\n public enableTrapFocus = false;\n public enableTrapFocusAutoCapture = false;\n public flyoutId = `sky-flyout-${++nextId}`;\n public flyoutState = FLYOUT_CLOSED_STATE;\n public isOpen = false;\n public isOpening = false;\n\n public flyoutWidth = 0;\n public instanceReady = false;\n public isDragging = false;\n public isFullscreen = false;\n public resizeKeyControlActive = false;\n\n #xCoord = 0;\n #windowBufferSize = 20;\n\n public get messageStream(): Subject<SkyFlyoutMessage> {\n return this.#_messageStream;\n }\n\n public permalink: SkyFlyoutPermalink = {};\n\n public permalinkLabel = '';\n\n public primaryAction: SkyFlyoutAction = {};\n\n public primaryActionLabel = '';\n\n /**\n * @internal\n */\n public widthStep = 10;\n\n /**\n * @internal\n */\n @ViewChild('flyoutRef', {\n read: ElementRef,\n static: true,\n })\n public flyoutRef: ElementRef | undefined;\n\n @ViewChild('target', {\n read: ViewContainerRef,\n static: true,\n })\n public target: ViewContainerRef | undefined;\n\n @ViewChild('flyoutHeader', {\n read: ElementRef,\n static: true,\n })\n public flyoutHeader: ElementRef | undefined;\n\n protected zIndex$ = new BehaviorSubject(1001);\n\n #flyoutInstance: SkyFlyoutInstance<any> | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n\n #_messageStream = new Subject<SkyFlyoutMessage>();\n\n readonly #adapter = inject(SkyFlyoutAdapterService);\n readonly #changeDetector = inject(ChangeDetectorRef);\n readonly #dynamicComponentSvc = inject(SkyDynamicComponentService);\n readonly #environmentInjector = inject(EnvironmentInjector);\n readonly #ngZone = inject(NgZone);\n readonly #resourcesService = inject(SkyLibResourcesService);\n readonly #uiConfigService = inject(SkyUIConfigService);\n\n constructor() {\n // All commands flow through the message stream.\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyFlyoutMessage) => {\n this.#handleIncomingMessages(message);\n });\n }\n\n public ngOnInit(): void {\n /* istanbul ignore else */\n if (this.flyoutHeader) {\n this.#adapter.adjustHeaderForHelp(this.flyoutHeader);\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n @HostListener('window:resize', ['$event'])\n public onWindowResize(event: Event): void {\n this.#setFullscreen();\n\n if (this.isFullscreen) {\n return;\n }\n\n const target = event.target as Window;\n\n if (target.innerWidth - this.flyoutWidth < this.#windowBufferSize) {\n this.flyoutWidth = target.innerWidth - this.#windowBufferSize;\n this.#xCoord = this.#windowBufferSize;\n this.#setUserData();\n }\n }\n\n public attach<T>(\n component: Type<T>,\n config?: SkyFlyoutConfig,\n environmentInjector?: EnvironmentInjector,\n ): SkyFlyoutInstance<T> {\n this.#cleanTemplate();\n\n // Emit the closed event on any previously opened flyout instance\n if (this.#flyoutInstance) {\n this.#notifyClosed();\n }\n\n this.config = Object.assign(\n {\n defaultWidth: window.innerWidth / 2,\n minWidth: 320,\n maxWidth: window.innerWidth / 2,\n providers: [\n {\n provide: SKY_STACKING_CONTEXT,\n useValue: {\n zIndex: this.zIndex$\n .asObservable()\n .pipe(takeUntil(this.#ngUnsubscribe)),\n },\n },\n ],\n },\n config,\n );\n if (config?.defaultWidth && !config?.maxWidth) {\n this.config.maxWidth = config?.defaultWidth;\n }\n\n this.config.showIterator = this.config.showIterator || false;\n this.config.iteratorNextButtonDisabled =\n this.config.iteratorNextButtonDisabled || false;\n this.config.iteratorPreviousButtonDisabled =\n this.config.iteratorPreviousButtonDisabled || false;\n\n this.permalink = this.config.permalink ?? {};\n this.permalinkLabel =\n this.config.permalink && this.config.permalink.label\n ? this.config.permalink.label\n : this.#getString('skyux_flyout_permalink_button');\n\n this.primaryAction = this.config.primaryAction ?? {};\n this.primaryActionLabel =\n this.config.primaryAction && this.config.primaryAction.label\n ? this.config.primaryAction.label\n : this.#getString('skyux_flyout_primary_action_button');\n\n environmentInjector ||= this.#environmentInjector;\n const componentRef = this.#dynamicComponentSvc.createComponent(component, {\n environmentInjector: environmentInjector,\n providers: this.config.providers,\n viewContainerRef: this.target,\n });\n\n /* safety check */\n /* istanbul ignore if */\n if (!componentRef) {\n throw new Error(\"Flyout's internal component could not be created\");\n }\n\n this.#flyoutInstance = this.#createFlyoutInstance<T>(componentRef.instance);\n\n // This is used to ensure we do not render the flyout until we have attached the component.\n // This allows the aria-labelledby to function correctly.\n this.instanceReady = true;\n this.#changeDetector.markForCheck();\n\n // Open the flyout immediately.\n this.messageStream.next({\n type: SkyFlyoutMessageType.Open,\n });\n\n if (this.config.settingsKey) {\n this.#uiConfigService\n .getConfig(this.config.settingsKey)\n .pipe(take(1))\n .subscribe((value: any) => {\n if (value && value.flyoutWidth) {\n this.flyoutWidth = value.flyoutWidth;\n } else {\n // Bad data, or config is the default config.\n this.flyoutWidth = this.config.defaultWidth;\n }\n this.#checkInitialSize();\n });\n } else {\n this.flyoutWidth = this.config.defaultWidth;\n this.#checkInitialSize();\n }\n\n return this.#flyoutInstance;\n }\n\n public close(): void {\n this.messageStream.next({\n type: SkyFlyoutMessageType.Close,\n });\n }\n\n public invokePrimaryAction(): boolean {\n if (this.primaryAction.callback) {\n this.primaryAction.callback();\n\n if (this.primaryAction.closeAfterInvoking) {\n this.close();\n }\n\n return false;\n }\n /* istanbul ignore next */\n return true;\n }\n\n public getAnimationState(): string {\n return this.instanceReady && this.isOpening\n ? FLYOUT_OPEN_STATE\n : FLYOUT_CLOSED_STATE;\n }\n\n public animationDone(event: AnimationEvent): void {\n if (event.toState === FLYOUT_OPEN_STATE) {\n this.isOpen = true;\n }\n\n if (event.toState === FLYOUT_CLOSED_STATE) {\n this.isOpen = false;\n this.#notifyClosed();\n this.#cleanTemplate();\n }\n }\n\n public onHeaderGrabHandleMouseDown(event: MouseEvent): void {\n this.onResizeHandleMouseDown(event);\n }\n\n public onHeaderGrabHandleKeyDown(event: KeyboardEvent): void {\n this.#handleResizeKeyDown(event);\n }\n\n public onResizeHandleKeyDown(event: KeyboardEvent): void {\n this.#handleResizeKeyDown(event);\n }\n\n public onResizeHandleMouseDown(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n\n if (this.isFullscreen) {\n return;\n }\n\n this.isDragging = true;\n this.#xCoord = event.clientX;\n\n this.#adapter.toggleIframePointerEvents(false);\n\n fromEvent<MouseEvent>(document, 'mousemove')\n .pipe(\n takeWhile(() => {\n return this.isDragging;\n }),\n )\n .subscribe((moveEvent) => {\n this.onMouseMove(moveEvent);\n });\n\n fromEvent(document, 'mouseup')\n .pipe(\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) {\n return;\n }\n\n const offsetX = event.clientX - this.#xCoord;\n let width = this.flyoutWidth;\n\n width -= offsetX;\n\n if (width < this.config.minWidth || width > this.config.maxWidth) {\n return;\n }\n\n if (window.innerWidth - width < this.#windowBufferSize) {\n width = window.innerWidth - this.#windowBufferSize;\n this.#xCoord = this.#windowBufferSize;\n } else {\n this.#xCoord = event.clientX;\n }\n\n this.flyoutWidth = width;\n\n this.#changeDetector.markForCheck();\n }\n\n public onHandleRelease(): void {\n fromEvent(document, 'click')\n .pipe(take(1))\n .subscribe(() => {\n this.isDragging = false;\n this.#adapter.toggleIframePointerEvents(true);\n this.#setUserData();\n });\n }\n\n public onIteratorPreviousButtonClick(): void {\n /* istanbul ignore else */\n if (this.#flyoutInstance) {\n this.#flyoutInstance.iteratorPreviousButtonClick.emit();\n }\n }\n\n public onIteratorNextButtonClick(): void {\n /* istanbul ignore else */\n if (this.#flyoutInstance) {\n this.#flyoutInstance.iteratorNextButtonClick.emit();\n }\n }\n\n #createFlyoutInstance<T>(component: T): SkyFlyoutInstance<T> {\n const instance = new SkyFlyoutInstance<T>(component);\n\n instance.hostController\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyFlyoutMessage) => {\n this.messageStream.next(message);\n });\n\n return instance;\n }\n\n #handleIncomingMessages(message: SkyFlyoutMessage): void {\n switch (message.type) {\n case SkyFlyoutMessageType.Open:\n if (!this.isOpen) {\n this.isOpen = false;\n this.isOpening = true;\n }\n this.#initFocusTrap();\n break;\n\n case SkyFlyoutMessageType.Close:\n if (\n (this.#flyoutInstance?.beforeClose as Subject<any>)?.observers\n .length === 0 ||\n message.data?.ignoreBeforeClose\n ) {\n this.isOpen = true;\n this.isOpening = false;\n } else {\n (this.#flyoutInstance?.beforeClose as Subject<any>)?.next(\n new SkyFlyoutBeforeCloseHandler(() => {\n this.isOpen = true;\n this.isOpening = false;\n }),\n );\n }\n break;\n\n case SkyFlyoutMessageType.EnableIteratorNextButton:\n this.config.iteratorNextButtonDisabled = false;\n break;\n\n case SkyFlyoutMessageType.EnableIteratorPreviousButton:\n this.config.iteratorPreviousButtonDisabled = false;\n break;\n\n case SkyFlyoutMessageType.DisableIteratorNextButton:\n this.config.iteratorNextButtonDisabled = true;\n break;\n\n case SkyFlyoutMessageType.DisableIteratorPreviousButton:\n this.config.iteratorPreviousButtonDisabled = true;\n break;\n }\n\n this.#changeDetector.markForCheck();\n }\n\n #notifyClosed(): void {\n this.#flyoutInstance?.closed.emit();\n this.#flyoutInstance?.closed.complete();\n }\n\n #cleanTemplate(): void {\n this.target?.clear();\n }\n\n #setFullscreen(): void {\n if (window.innerWidth - this.#windowBufferSize < this.config.minWidth) {\n this.isFullscreen = true;\n } else {\n this.isFullscreen = false;\n }\n }\n\n #setUserData(): void {\n if (this.config.settingsKey) {\n this.#uiConfigService\n .setConfig(this.config.settingsKey, {\n flyoutWidth: this.flyoutWidth,\n })\n .pipe(take(1))\n .subscribe(\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n () => {},\n (err) => {\n console.warn('Could not save flyout data.');\n console.warn(err);\n },\n );\n }\n }\n\n #checkInitialSize(): void {\n if (this.flyoutWidth < this.config.minWidth) {\n this.flyoutWidth = this.config.minWidth;\n this.#setUserData();\n } else if (this.flyoutWidth > this.config.maxWidth) {\n this.flyoutWidth = this.config.maxWidth;\n this.#setUserData();\n }\n\n // Ensure flyout does not load larger than the window and its buffer\n if (window.innerWidth - this.flyoutWidth < this.#windowBufferSize) {\n this.flyoutWidth = window.innerWidth - this.#windowBufferSize;\n this.#xCoord = this.#windowBufferSize;\n this.#setUserData();\n }\n\n this.#setFullscreen();\n }\n\n #getString(key: string): string {\n // TODO: Need to implement the async `getString` method in a breaking change.\n return this.#resourcesService.getStringForLocale({ locale: 'en-US' }, key);\n }\n\n #handleResizeKeyDown(event: KeyboardEvent): void {\n /* istanbul ignore else */\n if (event.key) {\n const keyPressed = event.key.toLowerCase().replace('arrow', '');\n switch (keyPressed) {\n case 'enter':\n case ' ':\n this.resizeKeyControlActive = !this.resizeKeyControlActive;\n break;\n case 'tab':\n /* istanbul ignore else */\n if (this.resizeKeyControlActive) {\n this.resizeKeyControlActive = false;\n }\n break;\n case 'left':\n if (this.resizeKeyControlActive) {\n /* istanbul ignore else */\n if (this.flyoutWidth < this.config.maxWidth) {\n this.flyoutWidth = Math.min(\n this.flyoutWidth + this.widthStep,\n this.config.maxWidth,\n );\n }\n }\n break;\n\n case 'right':\n if (this.resizeKeyControlActive) {\n /* istanbul ignore else */\n if (this.flyoutWidth > this.config.minWidth) {\n this.flyoutWidth = Math.max(\n this.flyoutWidth - this.widthStep,\n this.config.minWidth,\n );\n }\n }\n break;\n\n /* istanbul ignore next */\n default:\n break;\n }\n }\n }\n\n /** Executes a function when the zone is stable. */\n #executeOnStable(fn: () => any): void {\n if (this.#ngZone.isStable) {\n fn();\n } else {\n this.#ngZone.onStable.pipe(take(1)).subscribe(fn);\n }\n }\n\n #initFocusTrap(): void {\n this.enableTrapFocusAutoCapture = false;\n this.enableTrapFocus = false;\n // Waiting for zone to be stable will avoid ExpressionChangeAfterCheckedError.\n this.#executeOnStable(() => {\n this.enableTrapFocusAutoCapture = true;\n this.enableTrapFocus = true;\n });\n }\n}\n","<div\n #flyoutRef\n class=\"sky-flyout\"\n skyResponsiveHost\n tabindex=\"-1\"\n [attr.role]=\"config.ariaRole ? config.ariaRole : 'dialog'\"\n [attr.aria-describedby]=\"config.ariaDescribedBy\"\n [attr.aria-label]=\"config.ariaLabel\"\n [attr.aria-labelledby]=\"config.ariaLabelledBy\"\n [attr.aria-modal]=\"\n config.ariaRole === 'dialog' || !config.ariaRole ? true : false\n \"\n [attr.hidden]=\"!instanceReady ? true : undefined\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [style.z-index]=\"zIndex$ | async\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-8': 'modern'\n }\"\n [@flyoutState]=\"getAnimationState()\"\n [style.width.px]=\"flyoutWidth\"\n [cdkTrapFocus]=\"enableTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"enableTrapFocusAutoCapture\"\n (@flyoutState.done)=\"animationDone($event)\"\n>\n <div\n #flyoutHeader\n class=\"sky-flyout-header\"\n [style.z-index]=\"zIndex$ | async\"\n >\n <div class=\"sky-flyout-header-content\">\n <button\n *skyThemeIf=\"'modern'\"\n class=\"sky-btn sky-btn-icon-borderless sky-flyout-header-grab-handle\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n (keydown)=\"onHeaderGrabHandleKeyDown($event)\"\n (mousedown)=\"onHeaderGrabHandleMouseDown($event)\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n iconName=\"re-order-dots-vertical\"\n iconSize=\"s\"\n />\n </button>\n\n @if (config.showIterator) {\n <sky-flyout-iterator\n [nextButtonDisabled]=\"config.iteratorNextButtonDisabled\"\n [previousButtonDisabled]=\"config.iteratorPreviousButtonDisabled\"\n (nextButtonClick)=\"onIteratorNextButtonClick()\"\n (previousButtonClick)=\"onIteratorPreviousButtonClick()\"\n />\n }\n </div>\n <div class=\"sky-flyout-header-buttons\">\n <ng-container *ngTemplateOutlet=\"permalinkTemplate\" />\n <ng-container *ngTemplateOutlet=\"primaryActionTemplate\" />\n <button\n class=\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_close' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n <sky-icon iconName=\"close\" />\n </button>\n </div>\n </div>\n <div class=\"sky-flyout-content\">\n <div #target></div>\n </div>\n <div\n class=\"sky-flyout-resize-handle\"\n role=\"separator\"\n tabindex=\"0\"\n type=\"range\"\n [attr.aria-controls]=\"flyoutId\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"config.maxWidth\"\n [attr.aria-valuemin]=\"config.minWidth\"\n [attr.aria-valuenow]=\"flyoutWidth\"\n (keydown)=\"onResizeHandleKeyDown($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n ></div>\n</div>\n\n<ng-template #permalinkTemplate>\n @if (permalink) {\n @if (permalink.url) {\n <a\n class=\"sky-btn sky-flyout-btn-permalink\"\n [skyHref]=\"permalink.url\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-link-inline': 'modern'\n }\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n } @else if (permalink.route) {\n <a\n class=\"sky-btn sky-flyout-btn-permalink\"\n [routerLink]=\"permalink.route.commands\"\n [fragment]=\"permalink.route.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-link-inline': 'modern'\n }\"\n [queryParams]=\"permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"permalink.route.extras?.queryParamsHandling\"\n [state]=\"permalink.route.extras?.state\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n }\n }\n</ng-template>\n\n<ng-template #primaryActionTemplate>\n @if (primaryAction && primaryAction.callback) {\n <button\n type=\"button\"\n class=\"sky-btn sky-flyout-btn-primary-action\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-link-inline': 'modern'\n }\"\n (click)=\"invokePrimaryAction()\"\n >\n {{ primaryActionLabel }}\n </button>\n }\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { SkyFlyoutComponent } from './flyout.component';\n\n@NgModule({\n imports: [SkyFlyoutComponent],\n exports: [SkyFlyoutComponent],\n})\nexport class SkyFlyoutModule {}\n","import {\n ComponentRef,\n EnvironmentInjector,\n Injectable,\n NgZone,\n OnDestroy,\n Type,\n inject,\n} from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\nimport {\n SkyAppWindowRef,\n SkyCoreAdapterService,\n SkyDynamicComponentLegacyService,\n SkyDynamicComponentService,\n} from '@skyux/core';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\n\nimport { SkyFlyoutInstance } from './flyout-instance';\nimport { SkyFlyoutComponent } from './flyout.component';\nimport { SkyFlyoutCloseArgs } from './types/flyout-close-args';\nimport { SkyFlyoutConfig } from './types/flyout-config';\nimport { SkyFlyoutMessage } from './types/flyout-message';\nimport { SkyFlyoutMessageType } from './types/flyout-message-type';\n\n/**\n * Launches flyouts and provides a common look and feel.\n * This service dynamically generates the flyout component and appends it directly to the\n * document's `body` element. The `SkyFlyoutInstance` class watches for and triggers flyout events.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyFlyoutService implements OnDestroy {\n private static host: ComponentRef<SkyFlyoutComponent> | undefined;\n\n #removeAfterClosed = false;\n #isOpening = false;\n #ngUnsubscribe = new Subject<boolean>();\n\n #coreAdapter: SkyCoreAdapterService;\n #windowRef: SkyAppWindowRef;\n #dynamicComponentService: SkyDynamicComponentService;\n #environmentInjector = inject(EnvironmentInjector);\n #router: Router;\n #ngZone: NgZone;\n\n constructor(\n coreAdapter: SkyCoreAdapterService,\n windowRef: SkyAppWindowRef,\n dynamicComponentService: SkyDynamicComponentService,\n router: Router,\n ngZone: NgZone,\n ) {\n this.#coreAdapter = coreAdapter;\n this.#windowRef = windowRef;\n this.#dynamicComponentService = dynamicComponentService;\n this.#router = router;\n this.#ngZone = ngZone;\n }\n\n public ngOnDestroy(): void {\n this.#removeListeners();\n if (SkyFlyoutService.host) {\n this.#removeHostComponent();\n }\n }\n\n /**\n * Closes the flyout. This method also removes the flyout's HTML elements from the DOM.\n * @param args Arguments used when closing the flyout.\n */\n public close(args?: SkyFlyoutCloseArgs): void {\n if (SkyFlyoutService.host && !this.#isOpening) {\n SkyFlyoutService.host.instance.messageStream.next({\n type: SkyFlyoutMessageType.Close,\n data: {\n ignoreBeforeClose: args ? args.ignoreBeforeClose : false,\n },\n });\n }\n }\n\n /**\n * Opens a flyout and displays the specified component.\n * @param component Specifies the component to render.\n * @param config Specifies the flyout configuration passed to the specified component's constructor.\n */\n public open<T>(\n component: Type<T>,\n config?: SkyFlyoutConfig,\n ): SkyFlyoutInstance<T> {\n // isOpening flag will prevent close() from firing when open() is also fired.\n this.#isOpening = true;\n this.#windowRef.nativeWindow.setTimeout(() => {\n this.#isOpening = false;\n });\n\n if (!SkyFlyoutService.host) {\n SkyFlyoutService.host = this.#createHostComponent();\n\n this.#router.events\n .pipe(takeWhile(() => SkyFlyoutService.host !== undefined))\n .subscribe((event) => {\n if (event instanceof NavigationStart) {\n this.close();\n\n // Sanity check - if the host still exists after animations should have completed - remove host\n this.#ngZone.onStable.pipe(take(1)).subscribe(() => {\n if (SkyFlyoutService.host) {\n this.#removeHostComponent();\n }\n });\n }\n });\n }\n\n const flyout = SkyFlyoutService.host.instance.attach(\n component,\n config,\n this.#environmentInjector,\n );\n\n this.#addListeners(flyout);\n\n return flyout;\n }\n\n #createHostComponent(): ComponentRef<SkyFlyoutComponent> {\n SkyFlyoutService.host =\n this.#dynamicComponentService.createComponent(SkyFlyoutComponent);\n return SkyFlyoutService.host;\n }\n\n #removeHostComponent(): void {\n if (SkyFlyoutService.host) {\n this.#dynamicComponentService.removeComponent(SkyFlyoutService.host);\n SkyFlyoutService.host = undefined;\n }\n }\n\n #addListeners<T>(flyout: SkyFlyoutInstance<T>): void {\n /* istanbul ignore else */\n if (SkyFlyoutService.host) {\n const flyoutInstance = SkyFlyoutService.host.instance;\n\n let doClose = false;\n\n /**\n * Handles when to close a flyout.\n * Note: We're using `mouseup` in order to capture the parent of certain targets that will be\n * deleted immediately after being clicked. If we use `click`, the event is fired after the\n * element is removed from the DOM making it impossible to check the parent's z-index\n * relative to the flyout's container.\n */\n fromEvent(document, 'mouseup')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((event: Event) => {\n doClose = false;\n\n if (SkyFlyoutService.host?.instance.isDragging) {\n return;\n }\n\n if (flyoutInstance.flyoutRef?.nativeElement.contains(event.target)) {\n return;\n }\n\n const isAbove =\n event.target === document || !event.target\n ? false\n : this.#coreAdapter.isTargetAboveElement(\n event.target,\n flyoutInstance.flyoutRef?.nativeElement,\n );\n\n /* istanbul ignore else */\n if (!isAbove) {\n doClose = true;\n }\n });\n\n /**\n * Check if we should close the flyout specifically on a `click` event so that we can keep\n * it open when consumers fire another `click` event on a trigger button. Since the consumer\n * will likely use a `click` event to open the flyout, we want to wait for that event to fire\n * before determining if the flyout should be closed.\n */\n fromEvent(document, 'click')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n if (doClose) {\n this.close();\n }\n });\n\n this.#removeAfterClosed = false;\n flyoutInstance.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyFlyoutMessage) => {\n if (message.type === SkyFlyoutMessageType.Close) {\n this.#removeAfterClosed = true;\n this.#isOpening = false;\n }\n });\n\n flyout.closed.pipe(take(1)).subscribe(() => {\n this.#removeListeners();\n if (this.#removeAfterClosed) {\n this.#removeHostComponent();\n }\n });\n }\n }\n\n #removeListeners(): void {\n this.#ngUnsubscribe.next(true);\n this.#ngUnsubscribe.unsubscribe();\n this.#ngUnsubscribe = new Subject<boolean>();\n }\n}\n\n/**\n * Launches flyouts and provides a common look and feel.\n * This service dynamically generates the flyout component and appends it directly to the\n * document's `body` element. The `SkyFlyoutInstance` class watches for and triggers flyout events.\n * @internal\n * @deprecated Use `SkyFlyoutService` to open a standalone component instead.\n */\n@Injectable({\n providedIn: 'any',\n})\nexport class SkyFlyoutLegacyService extends SkyFlyoutService {\n /* istanbul ignore next */\n constructor(\n coreAdapter: SkyCoreAdapterService,\n windowRef: SkyAppWindowRef,\n dynamicComponentService: SkyDynamicComponentLegacyService,\n router: Router,\n ngZone: NgZone,\n ) {\n super(coreAdapter, windowRef, dynamicComponentService, router, ngZone);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i5","i7"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/flyout",
3
- "version": "13.11.4",
3
+ "version": "13.12.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -21,11 +21,11 @@
21
21
  "@angular/common": "^20.3.15",
22
22
  "@angular/core": "^20.3.15",
23
23
  "@angular/router": "^20.3.15",
24
- "@skyux/core": "13.11.4",
25
- "@skyux/i18n": "13.11.4",
26
- "@skyux/icon": "13.11.4",
27
- "@skyux/router": "13.11.4",
28
- "@skyux/theme": "13.11.4"
24
+ "@skyux/core": "13.12.0",
25
+ "@skyux/i18n": "13.12.0",
26
+ "@skyux/icon": "13.12.0",
27
+ "@skyux/router": "13.12.0",
28
+ "@skyux/theme": "13.12.0"
29
29
  },
30
30
  "dependencies": {
31
31
  "tslib": "^2.8.1"