@skyux/core 9.9.0 → 9.11.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.
@@ -76,7 +76,9 @@ export class SkyDynamicComponentService {
76
76
  if (!componentRef) {
77
77
  return;
78
78
  }
79
- this.#applicationRef.detachView(componentRef.hostView);
79
+ if (!this.#applicationRef.destroyed) {
80
+ this.#applicationRef.detachView(componentRef.hostView);
81
+ }
80
82
  componentRef.destroy();
81
83
  }
82
84
  #getRootNode(componentRef) {
@@ -108,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
108
110
  providedIn: 'any',
109
111
  }]
110
112
  }] });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxtQkFBbUIsRUFDbkIsVUFBVSxFQUlWLGVBQWUsRUFDZix5QkFBeUIsRUFDekIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFHM0U7OztHQUdHO0FBSUgsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxlQUFlLENBQWlCO0lBRWhDLFNBQVMsQ0FBWTtJQUVyQixVQUFVLENBQWtCO0lBRTVCLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRW5ELFlBQ0UsY0FBOEIsRUFDOUIsU0FBMEIsRUFDMUIsZUFBaUM7UUFFakMsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFFNUIsNEVBQTRFO1FBQzVFLDRFQUE0RTtRQUM1RSw2RUFBNkU7UUFDN0Usc0RBQXNEO1FBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGVBQWUsQ0FDcEIsYUFBc0IsRUFDdEIsT0FBb0M7UUFFcEMsT0FBTyxLQUFLO1lBQ1YsUUFBUSxFQUFFLDJCQUEyQixDQUFDLFVBQVU7U0FDakQsQ0FBQztRQUVGLE1BQU0sbUJBQW1CLEdBQUcseUJBQXlCLENBQ25ELE9BQU8sQ0FBQyxTQUFTLElBQUksRUFBRSxFQUN2QixPQUFPLENB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bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENvbXBvbmVudFJlZixcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBFbnZpcm9ubWVudEluamVjdG9yLFxuICBJbmplY3RhYmxlLFxuICBSZW5kZXJlcjIsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG4gIFR5cGUsXG4gIGNyZWF0ZUNvbXBvbmVudCxcbiAgY3JlYXRlRW52aXJvbm1lbnRJbmplY3RvcixcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5QXBwV2luZG93UmVmIH0gZnJvbSAnLi4vd2luZG93L3dpbmRvdy1yZWYnO1xuXG5pbXBvcnQgeyBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24gfSBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50LWxvY2F0aW9uJztcbmltcG9ydCB7IFNreUR5bmFtaWNDb21wb25lbnRPcHRpb25zIH0gZnJvbSAnLi9keW5hbWljLWNvbXBvbmVudC1vcHRpb25zJztcblxuLyoqXG4gKiBBbmd1bGFyIHNlcnZpY2UgZm9yIGNyZWF0aW5nIGFuZCByZW5kZXJpbmcgYSBkeW5hbWljIGNvbXBvbmVudC5cbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2Uge1xuICAjYXBwbGljYXRpb25SZWY6IEFwcGxpY2F0aW9uUmVmO1xuXG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gICN3aW5kb3dSZWY6IFNreUFwcFdpbmRvd1JlZjtcblxuICAjZW52aXJvbm1lbnRJbmplY3RvciA9IGluamVjdChFbnZpcm9ubWVudEluamVjdG9yKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWYsXG4gICAgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyXG4gICkge1xuICAgIHRoaXMuI2FwcGxpY2F0aW9uUmVmID0gYXBwbGljYXRpb25SZWY7XG4gICAgdGhpcy4jd2luZG93UmVmID0gd2luZG93UmVmO1xuXG4gICAgLy8gQmFzZWQgb24gc3VnZ2VzdGlvbnMgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xNzgyNFxuICAgIC8vIGZvciBhY2Nlc3NpbmcgYW4gaW5zdGFuY2Ugb2YgUmVuZGVyZXIyIGluIGEgc2VydmljZSBzaW5jZSBSZW5kZXJlcjIgY2FuJ3RcbiAgICAvLyBiZSBpbmplY3RlZCBpbnRvIGEgc2VydmljZS4gIFBhc3NpbmcgdW5kZWZpbmVkIGZvciBib3RoIHBhcmFtZXRlcnMgcmVzdWx0c1xuICAgIC8vIGluIHRoZSBkZWZhdWx0IHJlbmRlcmVyIHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBoZXJlLlxuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgbnVsbCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiB0aGUgc3BlY2lmaWVkIGNvbXBvbmVudCBhbmQgYWRkcyBpdCB0byB0aGUgc3BlY2lmaWVkIGxvY2F0aW9uXG4gICAqIG9uIHRoZSBwYWdlLlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZUNvbXBvbmVudDxUPihcbiAgICBjb21wb25lbnRUeXBlOiBUeXBlPFQ+LFxuICAgIG9wdGlvbnM/OiBTa3lEeW5hbWljQ29tcG9uZW50T3B0aW9uc1xuICApOiBDb21wb25lbnRSZWY8VD4ge1xuICAgIG9wdGlvbnMgfHw9IHtcbiAgICAgIGxvY2F0aW9uOiBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uQm9keUJvdHRvbSxcbiAgICB9O1xuXG4gICAgY29uc3QgZW52aXJvbm1lbnRJbmplY3RvciA9IGNyZWF0ZUVudmlyb25tZW50SW5qZWN0b3IoXG4gICAgICBvcHRpb25zLnByb3ZpZGVycyA/PyBbXSxcbiAgICAgIG9wdGlvbnMuZW52aXJvbm1lbnRJbmplY3RvciA/PyB0aGlzLiNlbnZpcm9ubWVudEluamVjdG9yXG4gICAgKTtcblxuICAgIGxldCBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPjtcblxuICAgIGlmIChvcHRpb25zLnZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgIGNvbXBvbmVudFJlZiA9IG9wdGlvbnMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50VHlwZSwge1xuICAgICAgICBlbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbXBvbmVudFJlZiA9IGNyZWF0ZUNvbXBvbmVudDxUPihjb21wb25lbnRUeXBlLCB7XG4gICAgICAgIGVudmlyb25tZW50SW5qZWN0b3IsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy4jYXBwbGljYXRpb25SZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuXG4gICAgICBjb25zdCBlbCA9IHRoaXMuI2dldFJvb3ROb2RlKGNvbXBvbmVudFJlZik7XG5cbiAgICAgIGNvbnN0IGJvZHlFbCA9IHRoaXMuI3dpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZG9jdW1lbnQuYm9keTtcblxuICAgICAgc3dpdGNoIChvcHRpb25zLmxvY2F0aW9uKSB7XG4gICAgICAgIGNhc2UgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkJlZm9yZUVsZW1lbnQ6XG4gICAgICAgICAgaWYgKCFvcHRpb25zLnJlZmVyZW5jZUVsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICdbU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2VdIENvdWxkIG5vdCBjcmVhdGUgYSBjb21wb25lbnQgYXQgbG9jYXRpb24gYFNreUR5bmFtaWNDb21wb25lbnRMb2NhdGlvbi5CZWZvcmVFbGVtZW50YCBiZWNhdXNlIGEgcmVmZXJlbmNlIGVsZW1lbnQgd2FzIG5vdCBwcm92aWRlZC4nXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuI3JlbmRlcmVyLmluc2VydEJlZm9yZShcbiAgICAgICAgICAgIG9wdGlvbnMucmVmZXJlbmNlRWwucGFyZW50RWxlbWVudCxcbiAgICAgICAgICAgIGVsLFxuICAgICAgICAgICAgb3B0aW9ucy5yZWZlcmVuY2VFbFxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkVsZW1lbnRUb3A6XG4gICAgICAgICAgaWYgKCFvcHRpb25zLnJlZmVyZW5jZUVsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICdbU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2VdIENvdWxkIG5vdCBjcmVhdGUgYSBjb21wb25lbnQgYXQgbG9jYXRpb24gYFNreUR5bmFtaWNDb21wb25lbnRMb2NhdGlvbi5FbGVtZW50VG9wYCBiZWNhdXNlIGEgcmVmZXJlbmNlIGVsZW1lbnQgd2FzIG5vdCBwcm92aWRlZC4nXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuI3JlbmRlcmVyLmluc2VydEJlZm9yZShcbiAgICAgICAgICAgIG9wdGlvbnMucmVmZXJlbmNlRWwsXG4gICAgICAgICAgICBlbCxcbiAgICAgICAgICAgIG9wdGlvbnMucmVmZXJlbmNlRWwuZmlyc3RDaGlsZFxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkVsZW1lbnRCb3R0b206XG4gICAgICAgICAgdGhpcy4jcmVuZGVyZXIuYXBwZW5kQ2hpbGQob3B0aW9ucy5yZWZlcmVuY2VFbCwgZWwpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFNreUR5bmFtaWNDb21wb25lbnRMb2NhdGlvbi5Cb2R5VG9wOlxuICAgICAgICAgIHRoaXMuI3JlbmRlcmVyLmluc2VydEJlZm9yZShib2R5RWwsIGVsLCBib2R5RWwuZmlyc3RDaGlsZCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhpcy4jcmVuZGVyZXIuYXBwZW5kQ2hpbGQoYm9keUVsLCBlbCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgY29tcG9uZW50IHJlZiBmcm9tIHRoZSBwYWdlXG4gICAqIEBwYXJhbSBjb21wb25lbnRSZWYgQ29tcG9uZW50IHJlZiBmb3IgdGhlIGNvbXBvbmVudCBiZWluZyByZW1vdmVkXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlQ29tcG9uZW50PFQ+KGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKCFjb21wb25lbnRSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLiNhcHBsaWNhdGlvblJlZi5kZXRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgfVxuXG4gICNnZXRSb290Tm9kZTxUPihjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPik6IGFueSB7XG4gICAgLy8gVGVjaG5pcXVlIGZvciByZXRyaWV2aW5nIHRoZSBjb21wb25lbnQncyByb290IG5vZGUgdGFrZW4gZnJvbSBoZXJlOlxuICAgIC8vIGh0dHBzOi8vbWFsY29kZWQuY29tL3Bvc3RzL2FuZ3VsYXItZHluYW1pYy1jb21wb25lbnRzXG4gICAgcmV0dXJuIChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPFQ+KS5yb290Tm9kZXNbMF07XG4gIH1cbn1cblxuLyoqXG4gKiBBbmd1bGFyIHNlcnZpY2UgZm9yIGNyZWF0aW5nIGFuZCByZW5kZXJpbmcgYSBkeW5hbWljIGNvbXBvbmVudC5cbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWQgVXNlIGBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZWAgdG8gY3JlYXRlIGEgc3RhbmRhbG9uZSBjb21wb25lbnQgaW5zdGVhZC5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAnYW55Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RHluYW1pY0NvbXBvbmVudExlZ2FjeVNlcnZpY2UgZXh0ZW5kcyBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSB7fVxuIl19
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxtQkFBbUIsRUFDbkIsVUFBVSxFQUlWLGVBQWUsRUFDZix5QkFBeUIsRUFDekIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFHM0U7OztHQUdHO0FBSUgsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxlQUFlLENBQWlCO0lBRWhDLFNBQVMsQ0FBWTtJQUVyQixVQUFVLENBQWtCO0lBRTVCLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRW5ELFlBQ0UsY0FBOEIsRUFDOUIsU0FBMEIsRUFDMUIsZUFBaUM7UUFFakMsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFFNUIsNEVBQTRFO1FBQzVFLDRFQUE0RTtRQUM1RSw2RUFBNkU7UUFDN0Usc0RBQXNEO1FBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGVBQWUsQ0FDcEIsYUFBc0IsRUFDdEIsT0FBb0M7UUFFcEMsT0FBTyxLQUFLO1lBQ1YsUUFBUSxFQUFFLDJCQUEyQixDQUFDLFVBQVU7U0FDakQsQ0FBQztRQUVGLE1BQU0sbUJBQW1CLEdBQUcseUJBQXlCLENBQ25ELE9BQU8sQ0FBQyxTQUFTLElBQUksRUFBRSxFQUN2QixPQUFPLENB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a0hBQWhDLGdDQUFnQyxjQUYvQixLQUFLOzsyRkFFTixnQ0FBZ0M7a0JBSDVDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENvbXBvbmVudFJlZixcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBFbnZpcm9ubWVudEluamVjdG9yLFxuICBJbmplY3RhYmxlLFxuICBSZW5kZXJlcjIsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG4gIFR5cGUsXG4gIGNyZWF0ZUNvbXBvbmVudCxcbiAgY3JlYXRlRW52aXJvbm1lbnRJbmplY3RvcixcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5QXBwV2luZG93UmVmIH0gZnJvbSAnLi4vd2luZG93L3dpbmRvdy1yZWYnO1xuXG5pbXBvcnQgeyBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24gfSBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50LWxvY2F0aW9uJztcbmltcG9ydCB7IFNreUR5bmFtaWNDb21wb25lbnRPcHRpb25zIH0gZnJvbSAnLi9keW5hbWljLWNvbXBvbmVudC1vcHRpb25zJztcblxuLyoqXG4gKiBBbmd1bGFyIHNlcnZpY2UgZm9yIGNyZWF0aW5nIGFuZCByZW5kZXJpbmcgYSBkeW5hbWljIGNvbXBvbmVudC5cbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2Uge1xuICAjYXBwbGljYXRpb25SZWY6IEFwcGxpY2F0aW9uUmVmO1xuXG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gICN3aW5kb3dSZWY6IFNreUFwcFdpbmRvd1JlZjtcblxuICAjZW52aXJvbm1lbnRJbmplY3RvciA9IGluamVjdChFbnZpcm9ubWVudEluamVjdG9yKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWYsXG4gICAgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyXG4gICkge1xuICAgIHRoaXMuI2FwcGxpY2F0aW9uUmVmID0gYXBwbGljYXRpb25SZWY7XG4gICAgdGhpcy4jd2luZG93UmVmID0gd2luZG93UmVmO1xuXG4gICAgLy8gQmFzZWQgb24gc3VnZ2VzdGlvbnMgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xNzgyNFxuICAgIC8vIGZvciBhY2Nlc3NpbmcgYW4gaW5zdGFuY2Ugb2YgUmVuZGVyZXIyIGluIGEgc2VydmljZSBzaW5jZSBSZW5kZXJlcjIgY2FuJ3RcbiAgICAvLyBiZSBpbmplY3RlZCBpbnRvIGEgc2VydmljZS4gIFBhc3NpbmcgdW5kZWZpbmVkIGZvciBib3RoIHBhcmFtZXRlcnMgcmVzdWx0c1xuICAgIC8vIGluIHRoZSBkZWZhdWx0IHJlbmRlcmVyIHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBoZXJlLlxuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgbnVsbCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiB0aGUgc3BlY2lmaWVkIGNvbXBvbmVudCBhbmQgYWRkcyBpdCB0byB0aGUgc3BlY2lmaWVkIGxvY2F0aW9uXG4gICAqIG9uIHRoZSBwYWdlLlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZUNvbXBvbmVudDxUPihcbiAgICBjb21wb25lbnRUeXBlOiBUeXBlPFQ+LFxuICAgIG9wdGlvbnM/OiBTa3lEeW5hbWljQ29tcG9uZW50T3B0aW9uc1xuICApOiBDb21wb25lbnRSZWY8VD4ge1xuICAgIG9wdGlvbnMgfHw9IHtcbiAgICAgIGxvY2F0aW9uOiBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uQm9keUJvdHRvbSxcbiAgICB9O1xuXG4gICAgY29uc3QgZW52aXJvbm1lbnRJbmplY3RvciA9IGNyZWF0ZUVudmlyb25tZW50SW5qZWN0b3IoXG4gICAgICBvcHRpb25zLnByb3ZpZGVycyA/PyBbXSxcbiAgICAgIG9wdGlvbnMuZW52aXJvbm1lbnRJbmplY3RvciA/PyB0aGlzLiNlbnZpcm9ubWVudEluamVjdG9yXG4gICAgKTtcblxuICAgIGxldCBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPjtcblxuICAgIGlmIChvcHRpb25zLnZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgIGNvbXBvbmVudFJlZiA9IG9wdGlvbnMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50VHlwZSwge1xuICAgICAgICBlbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbXBvbmVudFJlZiA9IGNyZWF0ZUNvbXBvbmVudDxUPihjb21wb25lbnRUeXBlLCB7XG4gICAgICAgIGVudmlyb25tZW50SW5qZWN0b3IsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy4jYXBwbGljYXRpb25SZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuXG4gICAgICBjb25zdCBlbCA9IHRoaXMuI2dldFJvb3ROb2RlKGNvbXBvbmVudFJlZik7XG5cbiAgICAgIGNvbnN0IGJvZHlFbCA9IHRoaXMuI3dpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZG9jdW1lbnQuYm9keTtcblxuICAgICAgc3dpdGNoIChvcHRpb25zLmxvY2F0aW9uKSB7XG4gICAgICAgIGNhc2UgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkJlZm9yZUVsZW1lbnQ6XG4gICAgICAgICAgaWYgKCFvcHRpb25zLnJlZmVyZW5jZUVsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICdbU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2VdIENvdWxkIG5vdCBjcmVhdGUgYSBjb21wb25lbnQgYXQgbG9jYXRpb24gYFNreUR5bmFtaWNDb21wb25lbnRMb2NhdGlvbi5CZWZvcmVFbGVtZW50YCBiZWNhdXNlIGEgcmVmZXJlbmNlIGVsZW1lbnQgd2FzIG5vdCBwcm92aWRlZC4nXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuI3JlbmRlcmVyLmluc2VydEJlZm9yZShcbiAgICAgICAgICAgIG9wdGlvbnMucmVmZXJlbmNlRWwucGFyZW50RWxlbWVudCxcbiAgICAgICAgICAgIGVsLFxuICAgICAgICAgICAgb3B0aW9ucy5yZWZlcmVuY2VFbFxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkVsZW1lbnRUb3A6XG4gICAgICAgICAgaWYgKCFvcHRpb25zLnJlZmVyZW5jZUVsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICdbU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2VdIENvdWxkIG5vdCBjcmVhdGUgYSBjb21wb25lbnQgYXQgbG9jYXRpb24gYFNreUR5bmFtaWNDb21wb25lbnRMb2NhdGlvbi5FbGVtZW50VG9wYCBiZWNhdXNlIGEgcmVmZXJlbmNlIGVsZW1lbnQgd2FzIG5vdCBwcm92aWRlZC4nXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuI3JlbmRlcmVyLmluc2VydEJlZm9yZShcbiAgICAgICAgICAgIG9wdGlvbnMucmVmZXJlbmNlRWwsXG4gICAgICAgICAgICBlbCxcbiAgICAgICAgICAgIG9wdGlvbnMucmVmZXJlbmNlRWwuZmlyc3RDaGlsZFxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkVsZW1lbnRCb3R0b206XG4gICAgICAgICAgdGhpcy4jcmVuZGVyZXIuYXBwZW5kQ2hpbGQob3B0aW9ucy5yZWZlcmVuY2VFbCwgZWwpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFNreUR5bmFtaWNDb21wb25lbnRMb2NhdGlvbi5Cb2R5VG9wOlxuICAgICAgICAgIHRoaXMuI3JlbmRlcmVyLmluc2VydEJlZm9yZShib2R5RWwsIGVsLCBib2R5RWwuZmlyc3RDaGlsZCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhpcy4jcmVuZGVyZXIuYXBwZW5kQ2hpbGQoYm9keUVsLCBlbCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgY29tcG9uZW50IHJlZiBmcm9tIHRoZSBwYWdlXG4gICAqIEBwYXJhbSBjb21wb25lbnRSZWYgQ29tcG9uZW50IHJlZiBmb3IgdGhlIGNvbXBvbmVudCBiZWluZyByZW1vdmVkXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlQ29tcG9uZW50PFQ+KGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKCFjb21wb25lbnRSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuI2FwcGxpY2F0aW9uUmVmLmRlc3Ryb3llZCkge1xuICAgICAgdGhpcy4jYXBwbGljYXRpb25SZWYuZGV0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIH1cbiAgICBjb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICB9XG5cbiAgI2dldFJvb3ROb2RlPFQ+KGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+KTogYW55IHtcbiAgICAvLyBUZWNobmlxdWUgZm9yIHJldHJpZXZpbmcgdGhlIGNvbXBvbmVudCdzIHJvb3Qgbm9kZSB0YWtlbiBmcm9tIGhlcmU6XG4gICAgLy8gaHR0cHM6Ly9tYWxjb2RlZC5jb20vcG9zdHMvYW5ndWxhci1keW5hbWljLWNvbXBvbmVudHNcbiAgICByZXR1cm4gKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8VD4pLnJvb3ROb2Rlc1swXTtcbiAgfVxufVxuXG4vKipcbiAqIEFuZ3VsYXIgc2VydmljZSBmb3IgY3JlYXRpbmcgYW5kIHJlbmRlcmluZyBhIGR5bmFtaWMgY29tcG9uZW50LlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZCBVc2UgYFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlYCB0byBjcmVhdGUgYSBzdGFuZGFsb25lIGNvbXBvbmVudCBpbnN0ZWFkLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEeW5hbWljQ29tcG9uZW50TGVnYWN5U2VydmljZSBleHRlbmRzIFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlIHt9XG4iXX0=
@@ -15,5 +15,5 @@ export class Version {
15
15
  /**
16
16
  * Represents the version of @skyux/core.
17
17
  */
18
- export const VERSION = new Version('9.9.0');
18
+ export const VERSION = new Version('9.11.0');
19
19
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdDQUF3QztBQUN4QyxtRkFBbUY7QUFFbkY7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLE9BQU87SUFLbEIsWUFBNEIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7UUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsRCxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGFrZW4gZnJvbSBBbmd1bGFyJ3MgdmVyc2lvbi50cyBmaWxlLlxuLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvMTYuMi54L3BhY2thZ2VzL2NvcmUvc3JjL3ZlcnNpb24udHNcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSB2ZXJzaW9uIG9mIGEgcGFja2FnZS5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgVmVyc2lvbiB7XG4gIHB1YmxpYyByZWFkb25seSBtYWpvcjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbWlub3I6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHBhdGNoOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGZ1bGw6IHN0cmluZykge1xuICAgIHRoaXMubWFqb3IgPSBmdWxsLnNwbGl0KCcuJylbMF07XG4gICAgdGhpcy5taW5vciA9IGZ1bGwuc3BsaXQoJy4nKVsxXTtcbiAgICB0aGlzLnBhdGNoID0gZnVsbC5zcGxpdCgnLicpLnNsaWNlKDIpLmpvaW4oJy4nKTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHZlcnNpb24gb2YgQHNreXV4L2NvcmUuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gbmV3IFZlcnNpb24oJzAuMC4wLVBMQUNFSE9MREVSJyk7XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { NgModule, Injectable, inject, RendererFactory2, NgZone, EventEmitter, Directive, Input, Output, EnvironmentInjector, createEnvironmentInjector, createComponent, ChangeDetectorRef, ElementRef, ViewContainerRef, Component, ChangeDetectionStrategy, ViewChild, InjectionToken, Optional, Inject, Pipe, HostBinding, ApplicationRef, Renderer2 } from '@angular/core';
3
3
  import * as i1$1 from '@angular/common';
4
- import { CommonModule, DOCUMENT } from '@angular/common';
4
+ import { DOCUMENT, CommonModule } from '@angular/common';
5
5
  import { Subject, Subscription, ReplaySubject, fromEvent, BehaviorSubject, Observable, of, concat, animationFrameScheduler } from 'rxjs';
6
6
  import { takeUntil, debounceTime, finalize, switchMap, map } from 'rxjs/operators';
7
7
  import { ViewportRuler } from '@angular/cdk/overlay';
@@ -310,19 +310,11 @@ function getElementOffset(element, bufferOffset) {
310
310
  let left;
311
311
  let right;
312
312
  let bottom;
313
- if (element === document.body) {
314
- left = 0;
315
- top = 0;
316
- right = document.documentElement.clientWidth;
317
- bottom = document.documentElement.clientHeight;
318
- }
319
- else {
320
- const clientRect = element.getBoundingClientRect();
321
- left = clientRect.left;
322
- top = clientRect.top;
323
- right = clientRect.right;
324
- bottom = clientRect.bottom;
325
- }
313
+ const clientRect = element.getBoundingClientRect();
314
+ left = clientRect.left;
315
+ top = clientRect.top;
316
+ right = clientRect.right;
317
+ bottom = clientRect.bottom;
326
318
  bottom -= bufferOffsetBottom;
327
319
  left += bufferOffsetLeft;
328
320
  right -= bufferOffsetRight;
@@ -334,16 +326,53 @@ function getElementOffset(element, bufferOffset) {
334
326
  top,
335
327
  };
336
328
  }
329
+ /**
330
+ * Returns an AffixRect that represents the outer dimensions of a given element.
331
+ */
332
+ function getOuterRect(element) {
333
+ const rect = element.getBoundingClientRect();
334
+ const computedStyle = window.getComputedStyle(element, undefined);
335
+ const marginTop = parseFloat(computedStyle.marginTop);
336
+ const marginLeft = parseFloat(computedStyle.marginLeft);
337
+ const marginRight = parseFloat(computedStyle.marginRight);
338
+ const marginBottom = parseFloat(computedStyle.marginBottom);
339
+ return {
340
+ top: rect.top - marginTop,
341
+ left: rect.left - marginLeft,
342
+ bottom: rect.top + rect.height + marginBottom,
343
+ right: rect.left + rect.width + marginLeft + marginRight,
344
+ width: rect.width + marginLeft + marginRight,
345
+ height: rect.height + marginTop + marginBottom,
346
+ };
347
+ }
348
+ /**
349
+ * Returns the visible rect for a given element.
350
+ */
351
+ function getVisibleRectForElement(viewportRuler, element) {
352
+ const elementRect = getOuterRect(element);
353
+ const viewportRect = viewportRuler.getViewportRect();
354
+ const visibleRect = {
355
+ top: Math.max(elementRect.top, 0),
356
+ left: Math.max(elementRect.left, 0),
357
+ bottom: Math.min(elementRect.bottom, viewportRect.bottom),
358
+ right: Math.min(elementRect.right, viewportRect.right),
359
+ };
360
+ return {
361
+ ...visibleRect,
362
+ width: visibleRect.right - visibleRect.left,
363
+ height: visibleRect.bottom - visibleRect.top,
364
+ };
365
+ }
337
366
  function getOverflowParents(child) {
338
367
  const bodyElement = window.document.body;
339
368
  const results = [];
340
369
  let parentElement = child?.parentNode;
341
- while (parentElement !== undefined &&
342
- parentElement !== bodyElement &&
343
- parentElement instanceof HTMLElement) {
344
- const overflowY = window
345
- .getComputedStyle(parentElement, undefined)
346
- .overflowY.toLowerCase();
370
+ while (parentElement !== undefined && parentElement instanceof HTMLElement) {
371
+ const computedStyle = window.getComputedStyle(parentElement, undefined);
372
+ const overflowY = computedStyle.overflowY.toLowerCase();
373
+ if (computedStyle.position === 'fixed' || parentElement.matches('body')) {
374
+ break;
375
+ }
347
376
  if (overflowY === 'auto' ||
348
377
  overflowY === 'hidden' ||
349
378
  overflowY === 'scroll') {
@@ -356,18 +385,33 @@ function getOverflowParents(child) {
356
385
  }
357
386
  /**
358
387
  * Confirms offset is fully visible within a parent element.
359
- * @param parent
360
- * @param offset
361
388
  */
362
- function isOffsetFullyVisibleWithinParent(parent, offset, bufferOffset) {
363
- const parentOffset = getElementOffset(parent, bufferOffset);
364
- return !(parentOffset.top > offset.top ||
365
- parentOffset.right < offset.right ||
366
- parentOffset.bottom < offset.bottom ||
367
- parentOffset.left > offset.left);
368
- }
369
- function isOffsetPartiallyVisibleWithinParent(parent, offset, bufferOffset) {
370
- const parentOffset = getElementOffset(parent, bufferOffset);
389
+ function isOffsetFullyVisibleWithinParent(viewportRuler, parent, offset, bufferOffset) {
390
+ let parentOffset;
391
+ if (parent.matches('body')) {
392
+ const viewportRect = viewportRuler.getViewportRect();
393
+ parentOffset = {
394
+ top: 0,
395
+ left: 0,
396
+ right: viewportRect.right,
397
+ bottom: viewportRect.bottom,
398
+ };
399
+ }
400
+ else if (bufferOffset) {
401
+ parentOffset = getElementOffset(parent, bufferOffset);
402
+ }
403
+ else {
404
+ parentOffset = getVisibleRectForElement(viewportRuler, parent);
405
+ }
406
+ return (parentOffset.top <= offset.top &&
407
+ parentOffset.right >= offset.right &&
408
+ parentOffset.bottom >= offset.bottom &&
409
+ parentOffset.left <= offset.left);
410
+ }
411
+ function isOffsetPartiallyVisibleWithinParent(viewportRuler, parent, offset, bufferOffset) {
412
+ const parentOffset = bufferOffset
413
+ ? getElementOffset(parent, bufferOffset)
414
+ : getVisibleRectForElement(viewportRuler, parent);
371
415
  return !(parentOffset.top >= offset.bottom ||
372
416
  parentOffset.right <= offset.left ||
373
417
  parentOffset.bottom <= offset.top ||
@@ -424,6 +468,7 @@ class SkyAffixer {
424
468
  #baseElement;
425
469
  #currentOffset;
426
470
  #currentPlacement;
471
+ #layoutViewport;
427
472
  #offsetChange;
428
473
  #offsetChangeObs;
429
474
  #overflowParents = [];
@@ -438,9 +483,10 @@ class SkyAffixer {
438
483
  #zone;
439
484
  #_config = DEFAULT_AFFIX_CONFIG;
440
485
  #scrollChangeListener = () => this.#scrollChange.next();
441
- constructor(affixedElement, renderer, viewportRuler, zone) {
486
+ constructor(affixedElement, renderer, viewportRuler, zone, layoutViewport) {
442
487
  this.#affixedElement = affixedElement;
443
488
  this.#renderer = renderer;
489
+ this.#layoutViewport = layoutViewport;
444
490
  this.#viewportRuler = viewportRuler;
445
491
  this.#zone = zone;
446
492
  this.#offsetChange = new Subject();
@@ -488,12 +534,33 @@ class SkyAffixer {
488
534
  }
489
535
  #affix() {
490
536
  const offset = this.#getOffset();
537
+ const offsetParentRect = this.#getOffsetParentRect();
538
+ offset.top = offset.top - offsetParentRect.top;
539
+ offset.left = offset.left - offsetParentRect.left;
540
+ offset.bottom = offset.bottom - offsetParentRect.top;
541
+ offset.right = offset.right - offsetParentRect.left;
491
542
  if (this.#isNewOffset(offset)) {
492
543
  this.#renderer.setStyle(this.#affixedElement, 'top', `${offset.top}px`);
493
544
  this.#renderer.setStyle(this.#affixedElement, 'left', `${offset.left}px`);
494
545
  this.#offsetChange.next({ offset });
495
546
  }
496
547
  }
548
+ #getOffsetParentRect() {
549
+ if (this.#affixedElement.offsetParent) {
550
+ return getOuterRect(this.#affixedElement.offsetParent);
551
+ }
552
+ else {
553
+ const layoutRect = getOuterRect(this.#layoutViewport);
554
+ return {
555
+ top: layoutRect.top,
556
+ left: layoutRect.left,
557
+ height: layoutRect.height,
558
+ width: layoutRect.width,
559
+ bottom: layoutRect.top - layoutRect.height,
560
+ right: layoutRect.left - layoutRect.width,
561
+ };
562
+ }
563
+ }
497
564
  #getOffset() {
498
565
  const parent = this.#getAutoFitContextParent();
499
566
  const maxAttempts = 4;
@@ -501,22 +568,9 @@ class SkyAffixer {
501
568
  let isAffixedElementFullyVisible = false;
502
569
  let offset;
503
570
  let placement = this.#config.placement;
504
- const autoFitOverflowOffset = this.#config.autoFitOverflowOffset || {
505
- bottom: 0,
506
- left: 0,
507
- right: 0,
508
- top: 0,
509
- };
510
- if (this.#config.position === 'absolute') {
511
- const { top, left } = this.#viewportRuler.getViewportScrollPosition();
512
- autoFitOverflowOffset.top = (autoFitOverflowOffset.top || 0) + top;
513
- autoFitOverflowOffset.left = (autoFitOverflowOffset.left || 0) + left;
514
- autoFitOverflowOffset.bottom = (autoFitOverflowOffset.bottom || 0) + top;
515
- autoFitOverflowOffset.right = (autoFitOverflowOffset.right || 0) + left;
516
- }
517
571
  do {
518
572
  offset = this.#getPreferredOffset(placement);
519
- isAffixedElementFullyVisible = isOffsetFullyVisibleWithinParent(parent, offset, autoFitOverflowOffset);
573
+ isAffixedElementFullyVisible = isOffsetFullyVisibleWithinParent(this.#viewportRuler, parent, offset, this.#config.autoFitOverflowOffset);
520
574
  if (!this.#config.enableAutoFit) {
521
575
  break;
522
576
  }
@@ -543,31 +597,12 @@ class SkyAffixer {
543
597
  // No suitable placement was found, so revert to preferred placement.
544
598
  return this.#getPreferredOffset(this.#config.placement);
545
599
  }
546
- #getRect(baseElement) {
547
- const baseDomRect = baseElement.getBoundingClientRect();
548
- const baseRect = {
549
- top: baseDomRect.top,
550
- bottom: baseDomRect.bottom,
551
- left: baseDomRect.left,
552
- right: baseDomRect.right,
553
- width: baseDomRect.width,
554
- height: baseDomRect.height,
555
- };
556
- if (this.#config.position === 'absolute') {
557
- const { left, top } = this.#viewportRuler.getViewportScrollPosition();
558
- baseRect.top += top;
559
- baseRect.left += left;
560
- baseRect.bottom += top;
561
- baseRect.right += left;
562
- }
563
- return baseRect;
564
- }
565
600
  #getPreferredOffset(placement) {
566
601
  if (!this.#baseElement) {
567
602
  return { top: 0, left: 0, bottom: 0, right: 0 };
568
603
  }
569
- const affixedRect = this.#getRect(this.#affixedElement);
570
- const baseRect = this.#getRect(this.#baseElement);
604
+ const affixedRect = getOuterRect(this.#affixedElement);
605
+ const baseRect = this.#baseElement.getBoundingClientRect();
571
606
  const horizontalAlignment = this.#config.horizontalAlignment;
572
607
  const verticalAlignment = this.#config.verticalAlignment;
573
608
  const enableAutoFit = this.#config.enableAutoFit;
@@ -650,10 +685,33 @@ class SkyAffixer {
650
685
  * the affixed element would otherwise be clipped.
651
686
  */
652
687
  #adjustOffsetToOverflowParent(offset, placement, baseElement) {
688
+ const affixedRect = getOuterRect(this.#affixedElement);
689
+ const baseRect = baseElement.getBoundingClientRect();
653
690
  const parent = this.#getAutoFitContextParent();
654
- const parentOffset = getElementOffset(parent, this.#config.autoFitOverflowOffset);
655
- const affixedRect = this.#getRect(this.#affixedElement);
656
- const baseRect = this.#getRect(baseElement);
691
+ let parentOffset;
692
+ if (this.#config.autoFitContext === SkyAffixAutoFitContext.OverflowParent) {
693
+ if (this.#config.autoFitOverflowOffset) {
694
+ // When the config contains a specific offset.
695
+ parentOffset = getElementOffset(parent, this.#config.autoFitOverflowOffset);
696
+ }
697
+ else if (isOffsetFullyVisibleWithinParent(this.#viewportRuler, parent, baseRect)) {
698
+ // When the base element is fully visible within the parent, aim for the visible portion of the parent element.
699
+ parentOffset = getVisibleRectForElement(this.#viewportRuler, parent);
700
+ }
701
+ else {
702
+ // Anywhere in the parent element.
703
+ parentOffset = getOuterRect(parent);
704
+ }
705
+ }
706
+ else {
707
+ const viewportRect = this.#viewportRuler.getViewportRect();
708
+ parentOffset = {
709
+ top: -viewportRect.top,
710
+ left: -viewportRect.left,
711
+ bottom: -viewportRect.bottom,
712
+ right: -viewportRect.right,
713
+ };
714
+ }
657
715
  // A pixel value representing the leeway between the edge of the overflow parent and the edge
658
716
  // of the base element before it disappears from view.
659
717
  // If the visible portion of the base element is less than this pixel value, the auto-fit
@@ -739,11 +797,13 @@ class SkyAffixer {
739
797
  return true;
740
798
  }
741
799
  #isBaseElementVisible() {
800
+ // Can't get here if the base element is undefined.
801
+ /* istanbul ignore if */
742
802
  if (!this.#baseElement) {
743
803
  return false;
744
804
  }
745
805
  const baseRect = this.#baseElement.getBoundingClientRect();
746
- return isOffsetPartiallyVisibleWithinParent(this.#getImmediateOverflowParent(), {
806
+ return isOffsetPartiallyVisibleWithinParent(this.#viewportRuler, this.#getImmediateOverflowParent(), {
747
807
  top: baseRect.top,
748
808
  left: baseRect.left,
749
809
  right: baseRect.right,
@@ -782,12 +842,34 @@ class SkyAffixService {
782
842
  #renderer = inject(RendererFactory2).createRenderer(undefined, null);
783
843
  #viewportRuler = inject(ViewportRuler);
784
844
  #zone = inject(NgZone);
845
+ #layoutViewport = this.#createLayoutViewportShim(inject(DOCUMENT));
846
+ ngOnDestroy() {
847
+ this.#renderer.removeChild(this.#layoutViewport.parentNode, this.#layoutViewport);
848
+ }
785
849
  /**
786
850
  * Creates an instance of [[SkyAffixer]].
787
851
  * @param affixed The element to be affixed.
788
852
  */
789
853
  createAffixer(affixed) {
790
- return new SkyAffixer(affixed.nativeElement, this.#renderer, this.#viewportRuler, this.#zone);
854
+ return new SkyAffixer(affixed.nativeElement, this.#renderer, this.#viewportRuler, this.#zone, this.#layoutViewport);
855
+ }
856
+ /**
857
+ * Create a layout viewport element that can be used to determine the relative position
858
+ * of the visual viewport. Inspired by
859
+ * https://github.com/WICG/visual-viewport/blob/gh-pages/examples/fixed-to-viewport.html
860
+ */
861
+ #createLayoutViewportShim(doc) {
862
+ const layoutViewportElement = this.#renderer.createElement('div');
863
+ this.#renderer.addClass(layoutViewportElement, 'sky-affix-layout-viewport-shim');
864
+ this.#renderer.setStyle(layoutViewportElement, 'width', '100%');
865
+ this.#renderer.setStyle(layoutViewportElement, 'height', '100%');
866
+ this.#renderer.setStyle(layoutViewportElement, 'position', 'fixed');
867
+ this.#renderer.setStyle(layoutViewportElement, 'top', '0');
868
+ this.#renderer.setStyle(layoutViewportElement, 'left', '0');
869
+ this.#renderer.setStyle(layoutViewportElement, 'visibility', 'hidden');
870
+ this.#renderer.setStyle(layoutViewportElement, 'pointerEvents', 'none');
871
+ this.#renderer.appendChild(doc.body, layoutViewportElement);
872
+ return layoutViewportElement;
791
873
  }
792
874
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SkyAffixService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
793
875
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SkyAffixService, providedIn: 'root' }); }
@@ -1163,7 +1245,9 @@ class SkyDynamicComponentService {
1163
1245
  if (!componentRef) {
1164
1246
  return;
1165
1247
  }
1166
- this.#applicationRef.detachView(componentRef.hostView);
1248
+ if (!this.#applicationRef.destroyed) {
1249
+ this.#applicationRef.detachView(componentRef.hostView);
1250
+ }
1167
1251
  componentRef.destroy();
1168
1252
  }
1169
1253
  #getRootNode(componentRef) {
@@ -4001,7 +4085,7 @@ class Version {
4001
4085
  /**
4002
4086
  * Represents the version of @skyux/core.
4003
4087
  */
4004
- const VERSION = new Version('9.9.0');
4088
+ const VERSION = new Version('9.11.0');
4005
4089
 
4006
4090
  /**
4007
4091
  * Generated bundle index. Do not edit.