@skyux/flyout 12.28.0 → 12.29.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.
|
@@ -715,7 +715,7 @@ class SkyFlyoutComponent {
|
|
|
715
715
|
});
|
|
716
716
|
}
|
|
717
717
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyFlyoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
718
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", 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-permalink-text-decoration: none;--sky-override-flyout-header-position: fixed;--sky-flyout-resize-handle-offset: -10px;--sky-flyout-resize-handle-width: 14px}:host-context(.sky-theme-modern:not(.sky-theme-brand-base)) .sky-flyout{--sky-override-sky-icon-svg-size-s: 21px;--sky-override-flyout-header-border-bottom: none;--sky-override-flyout-header-button-line-height: calc(20 / 14);--sky-override-flyout-header-button-padding: 9px 21px;--sky-override-flyout-header-button-vertical-align: baseline;--sky-override-flyout-header-height: 50px;--sky-override-flyout-header-permalink-background-color: var( --sky-color-background-action-tertiary-base );--sky-override-flyout-header-permalink-background-color-active: var( --sky-color-background-action-tertiary-active );--sky-override-flyout-header-permalink-background-color-focus: var( --sky-color-background-action-tertiary-focus );--sky-override-flyout-header-permalink-background-color-hover: var( --sky-color-background-action-tertiary-hover );--sky-override-flyout-header-permalink-box-shadow: inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-action-tertiary-base);--sky-override-flyout-header-permalink-color: var( --sky-color-text-deemphasized );--sky-override-flyout-header-permalink-box-shadow-active: inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-tertiary-active);--sky-override-flyout-header-permalink-box-shadow-focus: inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus), var(--sky-elevation-focus);--sky-override-flyout-header-permalink-box-shadow-hover: inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover);--sky-override-flyout-header-permalink-text-decoration: none;--sky-override-flyout-header-position: fixed;--sky-override-flyout-header-primary-action-background-color: var( --sky-color-background-action-secondary-base );--sky-override-flyout-header-primary-action-background-color-active: var( --sky-color-background-action-secondary-active );--sky-override-flyout-header-primary-action-background-color-focus: var( --sky-color-background-action-secondary-focus );--sky-override-flyout-header-primary-action-background-color-hover: var( --sky-color-background-action-secondary-hover );--sky-override-flyout-header-primary-action-box-shadow: inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-action-secondary-base);--sky-override-flyout-header-primary-action-box-shadow-active: inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-secondary-active);--sky-override-flyout-header-primary-action-box-shadow-focus: inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-secondary-focus), var(--sky-elevation-focus);--sky-override-flyout-header-primary-action-box-shadow-hover: inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-secondary-hover);--sky-override-flyout-header-primary-action-color: var( --sky-color-text-default );--sky-flyout-resize-handle-offset: -10px}.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) );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 .sky-flyout-btn-primary-action.sky-btn-link-inline,.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline{padding:var(--sky-override-flyout-header-button-padding, var(--sky-space-inset-balanced-none));line-height:var(--sky-override-flyout-header-button-line-height, normal);vertical-align:var(--sky-override-flyout-header-button-vertical-align, baseline)}.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline{color:var(--sky-override-flyout-header-permalink-color, var(--sky-color-text-action));background-color:var(--sky-override-flyout-header-permalink-background-color, var(--sky-color-background-action-tertiary-base));border-radius:var(--sky-border-radius-s);box-shadow:var(--sky-override-flyout-header-permalink-box-shadow, none)}.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline:hover{background-color:var(--sky-override-flyout-header-permalink-background-color-hover, var(--sky-color-background-action-tertiary-hover));box-shadow:var(--sky-override-flyout-header-permalink-box-shadow-hover, none)}.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline:active,.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline.sky-btn-active{background-color:var(--sky-override-flyout-header-permalink-background-color-active, var(--sky-color-background-action-tertiary-active));box-shadow:var(--sky-override-flyout-header-permalink-box-shadow-active, none)}.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline:focus-visible:not(:active){background-color:var(--sky-override-flyout-header-permalink-background-color-focus, var(--sky-color-background-action-tertiary-focus));box-shadow:var(--sky-override-flyout-header-permalink-box-shadow-focus, 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus))}.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline{color:var(--sky-override-flyout-header-primary-action-color, var(--sky-color-text-action));background-color:var(--sky-override-flyout-header-primary-action-background-color, var(--sky-color-background-action-tertiary-base));border-radius:var(--sky-border-radius-s);box-shadow:var(--sky-override-flyout-header-primary-action-box-shadow, none)}.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline:hover{background-color:var(--sky-override-flyout-header-primary-action-background-color-hover, var(--sky-color-background-action-tertiary-hover));box-shadow:var(--sky-override-flyout-header-primary-action-box-shadow-hover, none)}.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline:active,.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline.sky-btn-active{background-color:var(--sky-override-flyout-header-primary-action-background-color-active, var(--sky-color-background-action-tertiary-active));box-shadow:var(--sky-override-flyout-header-primary-action-box-shadow-active, none)}.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline:focus-visible:not(:active){background-color:var(--sky-override-flyout-header-primary-action-background-color-focus, var(--sky-color-background-action-tertiary-focus));box-shadow:var(--sky-override-flyout-header-primary-action-box-shadow-focus, 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus))}.sky-flyout-header-content{flex-grow:1}.sky-flyout-btn-primary-action:hover,.sky-flyout-btn-primary-action:active,.sky-flyout-btn-permalink:hover,.sky-flyout-btn-permalink:active{text-decoration:var(--sky-override-flyout-header-permalink-text-decoration, underline)}.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, 0px))}.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$2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2$2.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: i1$1.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant", "iconSize"] }, { kind: "component", type: SkyFlyoutIteratorComponent, selector: "sky-flyout-iterator", inputs: ["nextButtonDisabled", "previousButtonDisabled"], outputs: ["previousButtonClick", "nextButtonClick"] }, { kind: "ngmodule", type: SkyFlyoutResourcesModule }, { kind: "pipe", type: i2.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i7.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }], animations: [
|
|
718
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", 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-permalink-text-decoration: none;--sky-override-flyout-header-position: fixed;--sky-flyout-resize-handle-offset: -10px;--sky-flyout-resize-handle-width: 14px}:host-context(.sky-theme-modern:not(.sky-theme-brand-base)) .sky-flyout{--sky-override-sky-icon-svg-size-s: 21px;--sky-override-flyout-header-border-bottom: none;--sky-override-flyout-header-button-line-height: calc(20 / 14);--sky-override-flyout-header-button-padding: 9px 21px;--sky-override-flyout-header-button-vertical-align: baseline;--sky-override-flyout-header-height: 50px;--sky-override-flyout-header-permalink-background-color: var( --sky-color-background-action-tertiary-base );--sky-override-flyout-header-permalink-background-color-active: var( --sky-color-background-action-tertiary-active );--sky-override-flyout-header-permalink-background-color-focus: var( --sky-color-background-action-tertiary-focus );--sky-override-flyout-header-permalink-background-color-hover: var( --sky-color-background-action-tertiary-hover );--sky-override-flyout-header-permalink-box-shadow: inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-action-tertiary-base);--sky-override-flyout-header-permalink-color: var( --sky-color-text-deemphasized );--sky-override-flyout-header-permalink-box-shadow-active: inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-tertiary-active);--sky-override-flyout-header-permalink-box-shadow-focus: inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus), var(--sky-elevation-focus);--sky-override-flyout-header-permalink-box-shadow-hover: inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover);--sky-override-flyout-header-permalink-text-decoration: none;--sky-override-flyout-header-position: fixed;--sky-override-flyout-header-primary-action-background-color: var( --sky-color-background-action-secondary-base );--sky-override-flyout-header-primary-action-background-color-active: var( --sky-color-background-action-secondary-active );--sky-override-flyout-header-primary-action-background-color-focus: var( --sky-color-background-action-secondary-focus );--sky-override-flyout-header-primary-action-background-color-hover: var( --sky-color-background-action-secondary-hover );--sky-override-flyout-header-primary-action-box-shadow: inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-action-secondary-base);--sky-override-flyout-header-primary-action-box-shadow-active: inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-secondary-active);--sky-override-flyout-header-primary-action-box-shadow-focus: inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-secondary-focus), var(--sky-elevation-focus);--sky-override-flyout-header-primary-action-box-shadow-hover: inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-secondary-hover);--sky-override-flyout-header-primary-action-color: var( --sky-color-text-default );--sky-flyout-resize-handle-offset: -10px}.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) );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 .sky-flyout-btn-primary-action.sky-btn-link-inline,.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline{padding:var(--sky-override-flyout-header-button-padding, var(--sky-space-inset-balanced-none));line-height:var(--sky-override-flyout-header-button-line-height, normal);vertical-align:var(--sky-override-flyout-header-button-vertical-align, baseline)}.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline{color:var(--sky-override-flyout-header-permalink-color, var(--sky-color-text-action));background-color:var(--sky-override-flyout-header-permalink-background-color, transparent);border-radius:var(--sky-border-radius-s);box-shadow:var(--sky-override-flyout-header-permalink-box-shadow, none)}.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline:hover{background-color:var(--sky-override-flyout-header-permalink-background-color-hover, transparent);box-shadow:var(--sky-override-flyout-header-permalink-box-shadow-hover, none)}.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline:active,.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline.sky-btn-active{background-color:var(--sky-override-flyout-header-permalink-background-color-active, transparent);box-shadow:var(--sky-override-flyout-header-permalink-box-shadow-active, none)}.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline:focus-visible:not(:active){background-color:var(--sky-override-flyout-header-permalink-background-color-focus, transparent);box-shadow:var(--sky-override-flyout-header-permalink-box-shadow-focus, 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus))}.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline{color:var(--sky-override-flyout-header-primary-action-color, var(--sky-color-text-action));background-color:var(--sky-override-flyout-header-primary-action-background-color, var(--sky-color-background-action-tertiary-base));border-radius:var(--sky-border-radius-s);box-shadow:var(--sky-override-flyout-header-primary-action-box-shadow, none)}.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline:hover{background-color:var(--sky-override-flyout-header-primary-action-background-color-hover, var(--sky-color-background-action-tertiary-hover));box-shadow:var(--sky-override-flyout-header-primary-action-box-shadow-hover, none)}.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline:active,.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline.sky-btn-active{background-color:var(--sky-override-flyout-header-primary-action-background-color-active, var(--sky-color-background-action-tertiary-active));box-shadow:var(--sky-override-flyout-header-primary-action-box-shadow-active, none)}.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline:focus-visible:not(:active){background-color:var(--sky-override-flyout-header-primary-action-background-color-focus, var(--sky-color-background-action-tertiary-focus));box-shadow:var(--sky-override-flyout-header-primary-action-box-shadow-focus, 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus))}.sky-flyout-header-content{flex-grow:1}.sky-flyout-btn-primary-action:hover,.sky-flyout-btn-primary-action:active,.sky-flyout-btn-permalink:hover,.sky-flyout-btn-permalink:active{text-decoration:var(--sky-override-flyout-header-permalink-text-decoration, underline)}.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, 0px))}.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$2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2$2.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: i1$1.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant", "iconSize"] }, { kind: "component", type: SkyFlyoutIteratorComponent, selector: "sky-flyout-iterator", inputs: ["nextButtonDisabled", "previousButtonDisabled"], outputs: ["previousButtonClick", "nextButtonClick"] }, { kind: "ngmodule", type: SkyFlyoutResourcesModule }, { kind: "pipe", type: i2.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i7.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }], animations: [
|
|
719
719
|
trigger('flyoutState', [
|
|
720
720
|
state(FLYOUT_OPEN_STATE, style({ transform: 'initial' })),
|
|
721
721
|
state(FLYOUT_CLOSED_STATE, style({ transform: 'translateX(100%)' })),
|
|
@@ -749,7 +749,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
749
749
|
SkyFlyoutIteratorComponent,
|
|
750
750
|
SkyFlyoutResourcesModule,
|
|
751
751
|
SkyThemeModule,
|
|
752
|
-
], 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-permalink-text-decoration: none;--sky-override-flyout-header-position: fixed;--sky-flyout-resize-handle-offset: -10px;--sky-flyout-resize-handle-width: 14px}:host-context(.sky-theme-modern:not(.sky-theme-brand-base)) .sky-flyout{--sky-override-sky-icon-svg-size-s: 21px;--sky-override-flyout-header-border-bottom: none;--sky-override-flyout-header-button-line-height: calc(20 / 14);--sky-override-flyout-header-button-padding: 9px 21px;--sky-override-flyout-header-button-vertical-align: baseline;--sky-override-flyout-header-height: 50px;--sky-override-flyout-header-permalink-background-color: var( --sky-color-background-action-tertiary-base );--sky-override-flyout-header-permalink-background-color-active: var( --sky-color-background-action-tertiary-active );--sky-override-flyout-header-permalink-background-color-focus: var( --sky-color-background-action-tertiary-focus );--sky-override-flyout-header-permalink-background-color-hover: var( --sky-color-background-action-tertiary-hover );--sky-override-flyout-header-permalink-box-shadow: inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-action-tertiary-base);--sky-override-flyout-header-permalink-color: var( --sky-color-text-deemphasized );--sky-override-flyout-header-permalink-box-shadow-active: inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-tertiary-active);--sky-override-flyout-header-permalink-box-shadow-focus: inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus), var(--sky-elevation-focus);--sky-override-flyout-header-permalink-box-shadow-hover: inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover);--sky-override-flyout-header-permalink-text-decoration: none;--sky-override-flyout-header-position: fixed;--sky-override-flyout-header-primary-action-background-color: var( --sky-color-background-action-secondary-base );--sky-override-flyout-header-primary-action-background-color-active: var( --sky-color-background-action-secondary-active );--sky-override-flyout-header-primary-action-background-color-focus: var( --sky-color-background-action-secondary-focus );--sky-override-flyout-header-primary-action-background-color-hover: var( --sky-color-background-action-secondary-hover );--sky-override-flyout-header-primary-action-box-shadow: inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-action-secondary-base);--sky-override-flyout-header-primary-action-box-shadow-active: inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-secondary-active);--sky-override-flyout-header-primary-action-box-shadow-focus: inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-secondary-focus), var(--sky-elevation-focus);--sky-override-flyout-header-primary-action-box-shadow-hover: inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-secondary-hover);--sky-override-flyout-header-primary-action-color: var( --sky-color-text-default );--sky-flyout-resize-handle-offset: -10px}.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) );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 .sky-flyout-btn-primary-action.sky-btn-link-inline,.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline{padding:var(--sky-override-flyout-header-button-padding, var(--sky-space-inset-balanced-none));line-height:var(--sky-override-flyout-header-button-line-height, normal);vertical-align:var(--sky-override-flyout-header-button-vertical-align, baseline)}.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline{color:var(--sky-override-flyout-header-permalink-color, var(--sky-color-text-action));background-color:var(--sky-override-flyout-header-permalink-background-color, var(--sky-color-background-action-tertiary-base));border-radius:var(--sky-border-radius-s);box-shadow:var(--sky-override-flyout-header-permalink-box-shadow, none)}.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline:hover{background-color:var(--sky-override-flyout-header-permalink-background-color-hover, var(--sky-color-background-action-tertiary-hover));box-shadow:var(--sky-override-flyout-header-permalink-box-shadow-hover, none)}.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline:active,.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline.sky-btn-active{background-color:var(--sky-override-flyout-header-permalink-background-color-active, var(--sky-color-background-action-tertiary-active));box-shadow:var(--sky-override-flyout-header-permalink-box-shadow-active, none)}.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline:focus-visible:not(:active){background-color:var(--sky-override-flyout-header-permalink-background-color-focus, var(--sky-color-background-action-tertiary-focus));box-shadow:var(--sky-override-flyout-header-permalink-box-shadow-focus, 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus))}.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline{color:var(--sky-override-flyout-header-primary-action-color, var(--sky-color-text-action));background-color:var(--sky-override-flyout-header-primary-action-background-color, var(--sky-color-background-action-tertiary-base));border-radius:var(--sky-border-radius-s);box-shadow:var(--sky-override-flyout-header-primary-action-box-shadow, none)}.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline:hover{background-color:var(--sky-override-flyout-header-primary-action-background-color-hover, var(--sky-color-background-action-tertiary-hover));box-shadow:var(--sky-override-flyout-header-primary-action-box-shadow-hover, none)}.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline:active,.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline.sky-btn-active{background-color:var(--sky-override-flyout-header-primary-action-background-color-active, var(--sky-color-background-action-tertiary-active));box-shadow:var(--sky-override-flyout-header-primary-action-box-shadow-active, none)}.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline:focus-visible:not(:active){background-color:var(--sky-override-flyout-header-primary-action-background-color-focus, var(--sky-color-background-action-tertiary-focus));box-shadow:var(--sky-override-flyout-header-primary-action-box-shadow-focus, 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus))}.sky-flyout-header-content{flex-grow:1}.sky-flyout-btn-primary-action:hover,.sky-flyout-btn-primary-action:active,.sky-flyout-btn-permalink:hover,.sky-flyout-btn-permalink:active{text-decoration:var(--sky-override-flyout-header-permalink-text-decoration, underline)}.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, 0px))}.sky-flyout-header-grab-handle{cursor:ew-resize;cursor:-webkit-grab;cursor:-moz-grab;margin-right:var(--sky-space-gap-action_group-m)}\n"] }]
|
|
752
|
+
], 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-permalink-text-decoration: none;--sky-override-flyout-header-position: fixed;--sky-flyout-resize-handle-offset: -10px;--sky-flyout-resize-handle-width: 14px}:host-context(.sky-theme-modern:not(.sky-theme-brand-base)) .sky-flyout{--sky-override-sky-icon-svg-size-s: 21px;--sky-override-flyout-header-border-bottom: none;--sky-override-flyout-header-button-line-height: calc(20 / 14);--sky-override-flyout-header-button-padding: 9px 21px;--sky-override-flyout-header-button-vertical-align: baseline;--sky-override-flyout-header-height: 50px;--sky-override-flyout-header-permalink-background-color: var( --sky-color-background-action-tertiary-base );--sky-override-flyout-header-permalink-background-color-active: var( --sky-color-background-action-tertiary-active );--sky-override-flyout-header-permalink-background-color-focus: var( --sky-color-background-action-tertiary-focus );--sky-override-flyout-header-permalink-background-color-hover: var( --sky-color-background-action-tertiary-hover );--sky-override-flyout-header-permalink-box-shadow: inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-action-tertiary-base);--sky-override-flyout-header-permalink-color: var( --sky-color-text-deemphasized );--sky-override-flyout-header-permalink-box-shadow-active: inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-tertiary-active);--sky-override-flyout-header-permalink-box-shadow-focus: inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus), var(--sky-elevation-focus);--sky-override-flyout-header-permalink-box-shadow-hover: inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover);--sky-override-flyout-header-permalink-text-decoration: none;--sky-override-flyout-header-position: fixed;--sky-override-flyout-header-primary-action-background-color: var( --sky-color-background-action-secondary-base );--sky-override-flyout-header-primary-action-background-color-active: var( --sky-color-background-action-secondary-active );--sky-override-flyout-header-primary-action-background-color-focus: var( --sky-color-background-action-secondary-focus );--sky-override-flyout-header-primary-action-background-color-hover: var( --sky-color-background-action-secondary-hover );--sky-override-flyout-header-primary-action-box-shadow: inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-action-secondary-base);--sky-override-flyout-header-primary-action-box-shadow-active: inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-secondary-active);--sky-override-flyout-header-primary-action-box-shadow-focus: inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-secondary-focus), var(--sky-elevation-focus);--sky-override-flyout-header-primary-action-box-shadow-hover: inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-secondary-hover);--sky-override-flyout-header-primary-action-color: var( --sky-color-text-default );--sky-flyout-resize-handle-offset: -10px}.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) );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 .sky-flyout-btn-primary-action.sky-btn-link-inline,.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline{padding:var(--sky-override-flyout-header-button-padding, var(--sky-space-inset-balanced-none));line-height:var(--sky-override-flyout-header-button-line-height, normal);vertical-align:var(--sky-override-flyout-header-button-vertical-align, baseline)}.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline{color:var(--sky-override-flyout-header-permalink-color, var(--sky-color-text-action));background-color:var(--sky-override-flyout-header-permalink-background-color, transparent);border-radius:var(--sky-border-radius-s);box-shadow:var(--sky-override-flyout-header-permalink-box-shadow, none)}.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline:hover{background-color:var(--sky-override-flyout-header-permalink-background-color-hover, transparent);box-shadow:var(--sky-override-flyout-header-permalink-box-shadow-hover, none)}.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline:active,.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline.sky-btn-active{background-color:var(--sky-override-flyout-header-permalink-background-color-active, transparent);box-shadow:var(--sky-override-flyout-header-permalink-box-shadow-active, none)}.sky-flyout-header .sky-flyout-btn-permalink.sky-btn-link-inline:focus-visible:not(:active){background-color:var(--sky-override-flyout-header-permalink-background-color-focus, transparent);box-shadow:var(--sky-override-flyout-header-permalink-box-shadow-focus, 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus))}.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline{color:var(--sky-override-flyout-header-primary-action-color, var(--sky-color-text-action));background-color:var(--sky-override-flyout-header-primary-action-background-color, var(--sky-color-background-action-tertiary-base));border-radius:var(--sky-border-radius-s);box-shadow:var(--sky-override-flyout-header-primary-action-box-shadow, none)}.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline:hover{background-color:var(--sky-override-flyout-header-primary-action-background-color-hover, var(--sky-color-background-action-tertiary-hover));box-shadow:var(--sky-override-flyout-header-primary-action-box-shadow-hover, none)}.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline:active,.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline.sky-btn-active{background-color:var(--sky-override-flyout-header-primary-action-background-color-active, var(--sky-color-background-action-tertiary-active));box-shadow:var(--sky-override-flyout-header-primary-action-box-shadow-active, none)}.sky-flyout-header .sky-flyout-btn-primary-action.sky-btn-link-inline:focus-visible:not(:active){background-color:var(--sky-override-flyout-header-primary-action-background-color-focus, var(--sky-color-background-action-tertiary-focus));box-shadow:var(--sky-override-flyout-header-primary-action-box-shadow-focus, 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus))}.sky-flyout-header-content{flex-grow:1}.sky-flyout-btn-primary-action:hover,.sky-flyout-btn-primary-action:active,.sky-flyout-btn-permalink:hover,.sky-flyout-btn-permalink:active{text-decoration:var(--sky-override-flyout-header-permalink-text-decoration, underline)}.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, 0px))}.sky-flyout-header-grab-handle{cursor:ew-resize;cursor:-webkit-grab;cursor:-moz-grab;margin-right:var(--sky-space-gap-action_group-m)}\n"] }]
|
|
753
753
|
}], ctorParameters: () => [], propDecorators: { flyoutRef: [{
|
|
754
754
|
type: ViewChild,
|
|
755
755
|
args: ['flyoutRef', {
|
|
@@ -1 +1 @@
|
|
|
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","i3","i2","i5","i6"],"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","i3","i2","i5","i6"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/flyout",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.29.0",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
"@angular/common": "^19.2.14",
|
|
22
22
|
"@angular/core": "^19.2.14",
|
|
23
23
|
"@angular/router": "^19.2.14",
|
|
24
|
-
"@skyux/core": "12.
|
|
25
|
-
"@skyux/i18n": "12.
|
|
26
|
-
"@skyux/icon": "12.
|
|
27
|
-
"@skyux/router": "12.
|
|
28
|
-
"@skyux/theme": "12.
|
|
24
|
+
"@skyux/core": "12.29.0",
|
|
25
|
+
"@skyux/i18n": "12.29.0",
|
|
26
|
+
"@skyux/icon": "12.29.0",
|
|
27
|
+
"@skyux/router": "12.29.0",
|
|
28
|
+
"@skyux/theme": "12.29.0"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"tslib": "^2.8.1"
|