@coreui/angular-pro 4.2.27 → 4.2.28

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.
@@ -180,7 +180,7 @@ export class SidebarComponent {
180
180
  }), "f");
181
181
  }
182
182
  else {
183
- __classPrivateFieldGet(this, _SidebarComponent_stateToggleSubscription, "f").unsubscribe();
183
+ __classPrivateFieldGet(this, _SidebarComponent_stateToggleSubscription, "f")?.unsubscribe();
184
184
  }
185
185
  }
186
186
  layoutChangeSubscribe(subscribe = true) {
@@ -243,4 +243,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
243
243
  type: HostBinding,
244
244
  args: ['class']
245
245
  }] } });
246
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUlMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQVk1RSxNQUFNLE9BQU8sZ0JBQWdCO0lBeUozQixZQUM0QixRQUFrQixFQUNwQyxRQUFtQixFQUNuQixrQkFBc0MsRUFDdEMsY0FBOEIsRUFDOUIsZUFBdUM7UUFKckIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQXhKakQsbUNBQVUsS0FBSyxFQUFDO1FBQ2hCLHFDQUFZLEtBQUssRUFBQztRQUNsQix1Q0FBYyxLQUFLLEVBQUM7UUFDcEIsb0NBQVcsS0FBSyxFQUFDO1FBQ2pCLHFDQUFZLEtBQUssRUFBQztRQUNsQiw2REFBeUM7UUFDekMsNERBQXdDO1FBRXhDLFVBQUssR0FBbUI7WUFDdEIsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDO1FBRUYseUNBQWdCO1lBQ2QsTUFBTSxFQUFFLEtBQUs7WUFDYixPQUFPLEVBQUUsS0FBSztZQUNkLFVBQVUsRUFBRSxLQUFLO1NBQ2xCLEVBQUM7UUFnREY7OztXQUdHO1FBQ00sYUFBUSxHQUF1QixPQUFP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QUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFNRixVQUFVO3NCQURiLEtBQUs7Z0JBYUYsT0FBTztzQkFEVixLQUFLO2dCQWlCSSxhQUFhO3NCQUF0QixNQUFNO2dCQW1ESCxVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50U3RhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJU2lkZWJhckFjdGlvbiwgU2lkZWJhclNlcnZpY2UgfSBmcm9tICcuLi9zaWRlYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2lkZWJhckJhY2tkcm9wU2VydmljZSB9IGZyb20gJy4uL3NpZGViYXItYmFja2Ryb3Avc2lkZWJhci1iYWNrZHJvcC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1zaWRlYmFyJyxcbiAgZXhwb3J0QXM6ICdjU2lkZWJhcicsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG59KVxuZXhwb3J0IGNsYXNzIFNpZGViYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX25hcnJvdzogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfb3ZlcmxhaWQ6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3VuZm9sZGFibGU6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3Zpc2libGU6IEJvb2xlYW5JbnB1dDtcblxuICAjbmFycm93ID0gZmFsc2U7XG4gICNvdmVybGFpZCA9IGZhbHNlO1xuICAjdW5mb2xkYWJsZSA9IGZhbHNlO1xuICAjdmlzaWJsZSA9IGZhbHNlO1xuICAjb25Nb2JpbGUgPSBmYWxzZTtcbiAgI2xheW91dENoYW5nZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgI3N0YXRlVG9nZ2xlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIHN0YXRlOiBJU2lkZWJhckFjdGlvbiA9IHtcbiAgICBzaWRlYmFyOiB0aGlzLFxuICB9O1xuXG4gICNzdGF0ZUluaXRpYWwgPSB7XG4gICAgbmFycm93OiBmYWxzZSxcbiAgICB2aXNpYmxlOiBmYWxzZSxcbiAgICB1bmZvbGRhYmxlOiBmYWxzZSxcbiAgfTtcblxuICAvKipcbiAgICogU2V0cyBpZiB0aGUgY29sb3Igb2YgdGV4dCBzaG91bGQgYmUgY29sb3JlZCBmb3IgYSBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuIFtkb2NzXVxuICAgKlxuICAgKiBAdHlwZSAnZGFyaycgfCAnbGlnaHQnXG4gICAqL1xuICBASW5wdXQoKSBjb2xvclNjaGVtZT86ICdkYXJrJyB8ICdsaWdodCc7XG5cbiAgLyoqXG4gICAqIFNldHMgaHRtbCBhdHRyaWJ1dGUgaWQuIFtkb2NzXVxuICAgKlxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICovXG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNYWtlIHNpZGViYXIgbmFycm93LiBbZG9jc11cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG5hcnJvdyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI25hcnJvdyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgbmFycm93KCkge1xuICAgIHJldHVybiB0aGlzLiNuYXJyb3c7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHNpZGViYXIgdG8gb3ZlcmxhaWQgdmFyaWFudC5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG92ZXJsYWlkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jb3ZlcmxhaWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgZ2V0IG92ZXJsYWlkKCkge1xuICAgIHJldHVybiB0aGlzLiNvdmVybGFpZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wb25lbnRzIHBsYWNlbWVudCwgdGhlcmXigJlzIG5vIGRlZmF1bHQgcGxhY2VtZW50LiBbZG9jc11cbiAgICogQHR5cGUgJ3N0YXJ0JyB8ICdlbmQnXG4gICAqL1xuICBASW5wdXQoKSBwbGFjZW1lbnQ/OiAnc3RhcnQnIHwgJ2VuZCc7XG5cbiAgLyoqXG4gICAqIFBsYWNlIHNpZGViYXIgaW4gbm9uLXN0YXRpYyBwb3NpdGlvbnMuIFtkb2NzXVxuICAgKiBAZGVmYXVsdCAnZml4ZWQnXG4gICAqL1xuICBASW5wdXQoKSBwb3NpdGlvbjogJ2ZpeGVkJyB8ICdzdGlja3knID0gJ2ZpeGVkJztcblxuICAvKipcbiAgICogU2l6ZSB0aGUgY29tcG9uZW50IHNtYWxsLCBsYXJnZSwgb3IgZXh0cmEgbGFyZ2UuIFtkb2NzXVxuICAgKi9cbiAgQElucHV0KCkgc2l6ZT86ICdzbScgfCAnbGcnIHwgJ3hsJztcblxuICAvKipcbiAgICogRXhwYW5kIG5hcnJvd2VkIHNpZGViYXIgb24gaG92ZXIuIFtkb2NzXVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHVuZm9sZGFibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiN1bmZvbGRhYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIGdldCB1bmZvbGRhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLiN1bmZvbGRhYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiBzaWRlYmFyIGNvbXBvbmVudC4gW2RvY3NdXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGNvbnN0IHZpc2libGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIGlmICh0aGlzLiN2aXNpYmxlICE9PSB2aXNpYmxlKSB7XG4gICAgICB0aGlzLiN2aXNpYmxlID0gdmlzaWJsZTtcbiAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuI3Zpc2libGUpO1xuICAgIH1cbiAgfVxuXG4gIGdldCB2aXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLiN2aXNpYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgb24gdmlzaWJpbGl0eSBjaGFuZ2UuIFtkb2NzXVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBzZXQgc2lkZWJhclN0YXRlKHZhbHVlOiBJU2lkZWJhckFjdGlvbikge1xuICAgIGNvbnN0IG5ld1N0YXRlID0gdmFsdWU7XG4gICAgaWYgKCd0b2dnbGUnIGluIG5ld1N0YXRlKSB7XG4gICAgICBpZiAobmV3U3RhdGUudG9nZ2xlID09PSAndmlzaWJsZScpIHtcbiAgICAgICAgbmV3U3RhdGUudmlzaWJsZSA9ICF0aGlzLnN0YXRlLnZpc2libGU7XG4gICAgICAgIHRoaXMudmlzaWJsZSA9IG5ld1N0YXRlLnZpc2libGU7XG4gICAgICB9IGVsc2UgaWYgKG5ld1N0YXRlLnRvZ2dsZSA9PT0gJ3VuZm9sZGFibGUnKSB7XG4gICAgICAgIG5ld1N0YXRlLnVuZm9sZGFibGUgPSAhdGhpcy5zdGF0ZS51bmZvbGRhYmxlO1xuICAgICAgICB0aGlzLnVuZm9sZGFibGUgPSBuZXdTdGF0ZS51bmZvbGRhYmxlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpc2libGUgPSAobmV3U3RhdGUudmlzaWJsZSA/PyB0aGlzLnZpc2libGUpICYmICF0aGlzLm92ZXJsYWlkO1xuICAgIH1cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgIC4uLm5ld1N0YXRlLFxuICAgIH07XG4gICAgdGhpcy5zdGF0ZS5tb2JpbGUgJiYgdGhpcy5zdGF0ZS52aXNpYmxlXG4gICAgICA/IHRoaXMuYmFja2Ryb3BTZXJ2aWNlLnNldEJhY2tkcm9wKHRoaXMpXG4gICAgICA6IHRoaXMuYmFja2Ryb3BTZXJ2aWNlLmNsZWFyQmFja2Ryb3AoKTtcbiAgfVxuXG4gIGdldCBzaWRlYmFyU3RhdGUoKTogSVNpZGViYXJBY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlO1xuICB9XG5cbiAgZ2V0IGdldE1vYmlsZUJyZWFrcG9pbnQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBlbGVtZW50OiBFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgY29uc3QgbW9iaWxlQnJlYWtwb2ludCA9XG4gICAgICBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tY3VpLW1vYmlsZS1icmVha3BvaW50JykgfHxcbiAgICAgICdtZCc7XG4gICAgY29uc3QgYnJlYWtwb2ludFZhbHVlID1cbiAgICAgIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShcbiAgICAgICAgYC0tY3VpLWJyZWFrcG9pbnQtJHttb2JpbGVCcmVha3BvaW50LnRyaW0oKX1gXG4gICAgICApIHx8ICc3NjhweCc7XG4gICAgcmV0dXJuIGAke3BhcnNlRmxvYXQoYnJlYWtwb2ludFZhbHVlLnRyaW0oKSkgLSAwLjAyfXB4YCB8fCAnNzY3Ljk4cHgnO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgcHJpdmF0ZSBzaWRlYmFyU2VydmljZTogU2lkZWJhclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYWNrZHJvcFNlcnZpY2U6IFNpZGViYXJCYWNrZHJvcFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5iYWNrZHJvcFNlcnZpY2UucmVuZGVyZXIgPSByZW5kZXJlcjtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgZ2V0Q2xhc3NlcygpOiBhbnkge1xuICAgIGNvbnN0IHsgbW9iaWxlLCB2aXNpYmxlIH0gPSB0aGlzLnNpZGViYXJTdGF0ZTtcbiAgICByZXR1cm4ge1xuICAgICAgc2lkZWJhcjogdHJ1ZSxcbiAgICAgICdzaWRlYmFyLWZpeGVkJzogdGhpcy5wb3NpdGlvbiA9PT0gJ2ZpeGVkJyAmJiAhbW9iaWxlLFxuICAgICAgJ3NpZGViYXItbmFycm93JzogdGhpcy5uYXJyb3cgJiYgIXRoaXMudW5mb2xkYWJsZSxcbiAgICAgICdzaWRlYmFyLW5hcnJvdy11bmZvbGRhYmxlJzogdGhpcy51bmZvbGRhYmxlLFxuICAgICAgJ3NpZGViYXItb3ZlcmxhaWQnOiB0aGlzLm92ZXJsYWlkLFxuICAgICAgW2BzaWRlYmFyLSR7dGhpcy5wbGFjZW1lbnR9YF06ICEhdGhpcy5wbGFjZW1lbnQsXG4gICAgICBbYHNpZGViYXItJHt0aGlzLmNvbG9yU2NoZW1lfWBdOiAhIXRoaXMuY29sb3JTY2hlbWUsXG4gICAgICBbYHNpZGViYXItJHt0aGlzLnNpemV9YF06ICEhdGhpcy5zaXplLFxuICAgICAgc2hvdzogdmlzaWJsZSAmJiB0aGlzLiNvbk1vYmlsZSxcbiAgICAgIGhpZGU6ICF2aXNpYmxlLFxuICAgIH07XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEluaXRpYWxTdGF0ZSgpO1xuICAgIHRoaXMubGF5b3V0Q2hhbmdlU3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmliZShmYWxzZSk7XG4gICAgdGhpcy5sYXlvdXRDaGFuZ2VTdWJzY3JpYmUoZmFsc2UpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IG9sZFN0YXRlTWFwID0gbmV3IE1hcChPYmplY3QuZW50cmllcyh0aGlzLnN0YXRlKSk7XG4gICAgY29uc3QgbmV3U3RhdGVNYXAgPSBuZXcgTWFwKCk7XG4gICAgbmV3U3RhdGVNYXAuc2V0KCdzaWRlYmFyJywgdGhpcyk7XG5cbiAgICBjb25zdCBwcm9wTGlzdCA9IFsndmlzaWJsZScsICd1bmZvbGRhYmxlJywgJ25hcnJvdyddO1xuXG4gICAgZm9yIChjb25zdCBwcm9wTmFtZSBpbiBjaGFuZ2VzKSB7XG4gICAgICBpZiAocHJvcExpc3QuaW5jbHVkZXMocHJvcE5hbWUpKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzW3Byb3BOYW1lXSAmJiAhY2hhbmdlc1twcm9wTmFtZV0uZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShjaGFuZ2VzW3Byb3BOYW1lXS5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgIGlmIChvbGRTdGF0ZU1hcC5nZXQocHJvcE5hbWUpICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgbmV3U3RhdGVNYXAuc2V0KHByb3BOYW1lLCB2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG5ld1N0YXRlTWFwLnNpemUgPiAxKSB7XG4gICAgICBjb25zdCBzdGF0ZSA9IE9iamVjdC5mcm9tRW50cmllcyhuZXdTdGF0ZU1hcC5lbnRyaWVzKCkpO1xuICAgICAgdGhpcy5zaWRlYmFyU2VydmljZS50b2dnbGUoc3RhdGUpO1xuICAgIH1cbiAgfVxuXG4gIHNldEluaXRpYWxTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLiNzdGF0ZUluaXRpYWwgPSB7XG4gICAgICBuYXJyb3c6IHRoaXMubmFycm93LFxuICAgICAgdmlzaWJsZTogdGhpcy52aXNpYmxlLFxuICAgICAgdW5mb2xkYWJsZTogdGhpcy51bmZvbGRhYmxlLFxuICAgIH07XG4gICAgdGhpcy5zaWRlYmFyU2VydmljZS50b2dnbGUoe1xuICAgICAgLi4udGhpcy4jc3RhdGVJbml0aWFsLFxuICAgICAgc2lkZWJhcjogdGhpcyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGVUb2dnbGVTdWJzY3JpYmUoc3Vic2NyaWJlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIGlmIChzdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuI3N0YXRlVG9nZ2xlU3Vic2NyaXB0aW9uID1cbiAgICAgICAgdGhpcy5zaWRlYmFyU2VydmljZS5zaWRlYmFyU3RhdGUkLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgICAgICBpZiAodGhpcyA9PT0gc3RhdGUuc2lkZWJhciB8fCB0aGlzLmlkID09PSBzdGF0ZS5pZCkge1xuICAgICAgICAgICAgdGhpcy5zaWRlYmFyU3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNzdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIGxheW91dENoYW5nZVN1YnNjcmliZShzdWJzY3JpYmU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgY29uc3Qgb25Nb2JpbGUgPSBgKG1heC13aWR0aDogJHt0aGlzLmdldE1vYmlsZUJyZWFrcG9pbnR9KWA7XG5cbiAgICBpZiAoc3Vic2NyaWJlKSB7XG4gICAgICBjb25zdCBsYXlvdXRDaGFuZ2VzID0gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShbb25Nb2JpbGVdKTtcblxuICAgICAgdGhpcy4jbGF5b3V0Q2hhbmdlU3Vic2NyaXB0aW9uID0gbGF5b3V0Q2hhbmdlcy5zdWJzY3JpYmUoXG4gICAgICAgIChyZXN1bHQ6IEJyZWFrcG9pbnRTdGF0ZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGlzT25Nb2JpbGUgPSByZXN1bHQuYnJlYWtwb2ludHNbb25Nb2JpbGVdO1xuICAgICAgICAgIGNvbnN0IGlzVW5mb2xkYWJsZSA9IGlzT25Nb2JpbGUgPyBmYWxzZSA6IHRoaXMudW5mb2xkYWJsZTtcbiAgICAgICAgICBpZiAodGhpcy4jb25Nb2JpbGUgIT09IGlzT25Nb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuI29uTW9iaWxlID0gaXNPbk1vYmlsZTtcbiAgICAgICAgICAgIHRoaXMuc2lkZWJhclNlcnZpY2UudG9nZ2xlKHtcbiAgICAgICAgICAgICAgbW9iaWxlOiBpc09uTW9iaWxlLFxuICAgICAgICAgICAgICB1bmZvbGRhYmxlOiBpc1VuZm9sZGFibGUsXG4gICAgICAgICAgICAgIHZpc2libGU6IGlzT25Nb2JpbGUgPyAhaXNPbk1vYmlsZSA6IHRoaXMuI3N0YXRlSW5pdGlhbC52aXNpYmxlLFxuICAgICAgICAgICAgICBzaWRlYmFyOiB0aGlzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNsYXlvdXRDaGFuZ2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUlMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQVk1RSxNQUFNLE9BQU8sZ0JBQWdCO0lBeUozQixZQUM0QixRQUFrQixFQUNwQyxRQUFtQixFQUNuQixrQkFBc0MsRUFDdEMsY0FBOEIsRUFDOUIsZUFBdUM7UUFKckIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQXhKakQsbUNBQVUsS0FBSyxFQUFDO1FBQ2hCLHFDQUFZLEtBQUssRUFBQztRQUNsQix1Q0FBYyxLQUFLLEVBQUM7UUFDcEIsb0NBQVcsS0FBSyxFQUFDO1FBQ2pCLHFDQUFZLEtBQUssRUFBQztRQUNsQiw2REFBeUM7UUFDekMsNERBQXdDO1FBRXhDLFVBQUssR0FBbUI7WUFDdEIsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDO1FBRUYseUNBQWdCO1lBQ2QsTUFBTSxFQUFFLEtBQUs7WUFDYixPQUFPLEVBQUUsS0FBSztZQUNkLFVBQVUsRUFBRSxLQUFLO1NBQ2xCLEVBQUM7UUFnREY7OztXQUdHO1FBQ00sYUFBUSxHQUF1QixPQUFPLENBQUM7UUFtQ2hEOzs7V0FHRztRQUNPLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQStDcEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNDLENBQUM7SUEzSEQ7OztPQUdHO0lBQ0gsSUFDSSxNQUFNLENBQUMsS0FBYztRQUN2Qix1QkFBQSxJQUFJLDRCQUFXLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxNQUFBLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sdUJBQUEsSUFBSSxnQ0FBUSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLHVCQUFBLElBQUksOEJBQWEscUJBQXFCLENBQUMsS0FBSyxDQUFDLE1BQUEsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyx1QkFBQSxJQUFJLGtDQUFVLENBQUM7SUFDeEIsQ0FBQztJQW1CRDs7T0FFRztJQUNILElBQ0ksVUFBVSxDQUFDLEtBQWM7UUFDM0IsdUJBQUEsSUFBSSxnQ0FBZSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsTUFBQSxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLHVCQUFBLElBQUksb0NBQVksQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLElBQUksdUJBQUEsSUFBSSxpQ0FBUyxLQUFLLE9BQU8sRUFBRTtZQUM3Qix1QkFBQSxJQUFJLDZCQUFZLE9BQU8sTUFBQSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLHVCQUFBLElBQUksaUNBQVMsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sdUJBQUEsSUFBSSxpQ0FBUyxDQUFDO0lBQ3ZCLENBQUM7SUFRRCxJQUFJLFlBQVksQ0FBQyxLQUFxQjtRQUNwQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxRQUFRLElBQUksUUFBUSxFQUFFO1lBQ3hCLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUU7Z0JBQ2pDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztnQkFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO2FBQ2pDO2lCQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxZQUFZLEVBQUU7Z0JBQzNDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDO2FBQ3ZDO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDckU7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1gsR0FBRyxJQUFJLENBQUMsS0FBSztZQUNiLEdBQUcsUUFBUTtTQUNaLENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87WUFDckMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUN4QyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixNQUFNLE9BQU8sR0FBWSxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUN2RCxNQUFNLGdCQUFnQixHQUNwQixnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyx5QkFBeUIsQ0FBQztZQUNyRSxJQUFJLENBQUM7UUFDUCxNQUFNLGVBQWUsR0FDbkIsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsZ0JBQWdCLENBQ3hDLG9CQUFvQixnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUM5QyxJQUFJLE9BQU8sQ0FBQztRQUNmLE9BQU8sR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBSSxJQUFJLElBQUksVUFBVSxDQUFDO0lBQ3hFLENBQUM7SUFZRCxJQUNJLFVBQVU7UUFDWixNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDOUMsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJO1lBQ2IsZUFBZSxFQUFFLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTTtZQUNyRCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFDakQsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDNUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDakMsQ0FBQyxXQUFXLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUztZQUMvQyxDQUFDLFdBQVcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQ25ELENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDckMsSUFBSSxFQUFFLE9BQU8sSUFBSSx1QkFBQSxJQUFJLGtDQUFVO1lBQy9CLElBQUksRUFBRSxDQUFDLE9BQU87U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN4RCxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzlCLFdBQVcsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWpDLE1BQU0sUUFBUSxHQUFHLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVyRCxLQUFLLE1BQU0sUUFBUSxJQUFJLE9BQU8sRUFBRTtZQUM5QixJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQy9CLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRTtvQkFDdkQsTUFBTSxLQUFLLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUNwRSxJQUFJLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxFQUFFO3dCQUN2QyxXQUFXLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztxQkFDbEM7aUJBQ0Y7YUFDRjtTQUNGO1FBRUQsSUFBSSxXQUFXLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRTtZQUN4QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYix1QkFBQSxJQUFJLGtDQUFpQjtZQUNuQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM1QixNQUFBLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztZQUN6QixHQUFHLHVCQUFBLElBQUksc0NBQWM7WUFDckIsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsWUFBcUIsSUFBSTtRQUNwRCxJQUFJLFNBQVMsRUFBRTtZQUNiLHVCQUFBLElBQUksNkNBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3BELElBQUksSUFBSSxLQUFLLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsRUFBRSxFQUFFO29CQUNsRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztpQkFDM0I7WUFDSCxDQUFDLENBQUMsTUFBQSxDQUFDO1NBQ047YUFBTTtZQUNMLHVCQUFBLElBQUksaURBQXlCLEVBQUUsV0FBVyxFQUFFLENBQUM7U0FDOUM7SUFDSCxDQUFDO0lBRUQscUJBQXFCLENBQUMsWUFBcUIsSUFBSTtRQUM3QyxNQUFNLFFBQVEsR0FBRyxlQUFlLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDO1FBRTVELElBQUksU0FBUyxFQUFFO1lBQ2IsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFFbEUsdUJBQUEsSUFBSSw4Q0FBNkIsYUFBYSxDQUFDLFNBQVMsQ0FDdEQsQ0FBQyxNQUF1QixFQUFFLEVBQUU7Z0JBQzFCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2hELE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUMxRCxJQUFJLHVCQUFBLElBQUksa0NBQVUsS0FBSyxVQUFVLEVBQUU7b0JBQ2pDLHVCQUFBLElBQUksOEJBQWEsVUFBVSxNQUFBLENBQUM7b0JBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO3dCQUN6QixNQUFNLEVBQUUsVUFBVTt3QkFDbEIsVUFBVSxFQUFFLFlBQVk7d0JBQ3hCLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyx1QkFBQSxJQUFJLHNDQUFjLENBQUMsT0FBTzt3QkFDOUQsT0FBTyxFQUFFLElBQUk7cUJBQ2QsQ0FBQyxDQUFDO2lCQUNKO1lBQ0gsQ0FBQyxDQUNGLE1BQUEsQ0FBQztTQUNIO2FBQU07WUFDTCx1QkFBQSxJQUFJLGtEQUEwQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzlDO0lBQ0gsQ0FBQzs7OzhHQXhRVSxnQkFBZ0Isa0JBMEpqQixRQUFRO2tHQTFKUCxnQkFBZ0IscVlBRmpCLDJCQUEyQjs0RkFFMUIsZ0JBQWdCO2tCQUw1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLDJCQUEyQjtpQkFDdEM7OzBCQTJKSSxNQUFNOzJCQUFDLFFBQVE7dUtBN0hULFdBQVc7c0JBQW5CLEtBQUs7Z0JBT0csRUFBRTtzQkFBVixLQUFLO2dCQU9GLE1BQU07c0JBRFQsS0FBSztnQkFjRixRQUFRO3NCQURYLEtBQUs7Z0JBYUcsU0FBUztzQkFBakIsS0FBSztnQkFNRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFNRixVQUFVO3NCQURiLEtBQUs7Z0JBYUYsT0FBTztzQkFEVixLQUFLO2dCQWlCSSxhQUFhO3NCQUF0QixNQUFNO2dCQW1ESCxVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50U3RhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJU2lkZWJhckFjdGlvbiwgU2lkZWJhclNlcnZpY2UgfSBmcm9tICcuLi9zaWRlYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2lkZWJhckJhY2tkcm9wU2VydmljZSB9IGZyb20gJy4uL3NpZGViYXItYmFja2Ryb3Avc2lkZWJhci1iYWNrZHJvcC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1zaWRlYmFyJyxcbiAgZXhwb3J0QXM6ICdjU2lkZWJhcicsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG59KVxuZXhwb3J0IGNsYXNzIFNpZGViYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX25hcnJvdzogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfb3ZlcmxhaWQ6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3VuZm9sZGFibGU6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3Zpc2libGU6IEJvb2xlYW5JbnB1dDtcblxuICAjbmFycm93ID0gZmFsc2U7XG4gICNvdmVybGFpZCA9IGZhbHNlO1xuICAjdW5mb2xkYWJsZSA9IGZhbHNlO1xuICAjdmlzaWJsZSA9IGZhbHNlO1xuICAjb25Nb2JpbGUgPSBmYWxzZTtcbiAgI2xheW91dENoYW5nZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgI3N0YXRlVG9nZ2xlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIHN0YXRlOiBJU2lkZWJhckFjdGlvbiA9IHtcbiAgICBzaWRlYmFyOiB0aGlzLFxuICB9O1xuXG4gICNzdGF0ZUluaXRpYWwgPSB7XG4gICAgbmFycm93OiBmYWxzZSxcbiAgICB2aXNpYmxlOiBmYWxzZSxcbiAgICB1bmZvbGRhYmxlOiBmYWxzZSxcbiAgfTtcblxuICAvKipcbiAgICogU2V0cyBpZiB0aGUgY29sb3Igb2YgdGV4dCBzaG91bGQgYmUgY29sb3JlZCBmb3IgYSBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuIFtkb2NzXVxuICAgKlxuICAgKiBAdHlwZSAnZGFyaycgfCAnbGlnaHQnXG4gICAqL1xuICBASW5wdXQoKSBjb2xvclNjaGVtZT86ICdkYXJrJyB8ICdsaWdodCc7XG5cbiAgLyoqXG4gICAqIFNldHMgaHRtbCBhdHRyaWJ1dGUgaWQuIFtkb2NzXVxuICAgKlxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICovXG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNYWtlIHNpZGViYXIgbmFycm93LiBbZG9jc11cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG5hcnJvdyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI25hcnJvdyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgbmFycm93KCkge1xuICAgIHJldHVybiB0aGlzLiNuYXJyb3c7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHNpZGViYXIgdG8gb3ZlcmxhaWQgdmFyaWFudC5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG92ZXJsYWlkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jb3ZlcmxhaWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgZ2V0IG92ZXJsYWlkKCkge1xuICAgIHJldHVybiB0aGlzLiNvdmVybGFpZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wb25lbnRzIHBsYWNlbWVudCwgdGhlcmXigJlzIG5vIGRlZmF1bHQgcGxhY2VtZW50LiBbZG9jc11cbiAgICogQHR5cGUgJ3N0YXJ0JyB8ICdlbmQnXG4gICAqL1xuICBASW5wdXQoKSBwbGFjZW1lbnQ/OiAnc3RhcnQnIHwgJ2VuZCc7XG5cbiAgLyoqXG4gICAqIFBsYWNlIHNpZGViYXIgaW4gbm9uLXN0YXRpYyBwb3NpdGlvbnMuIFtkb2NzXVxuICAgKiBAZGVmYXVsdCAnZml4ZWQnXG4gICAqL1xuICBASW5wdXQoKSBwb3NpdGlvbjogJ2ZpeGVkJyB8ICdzdGlja3knID0gJ2ZpeGVkJztcblxuICAvKipcbiAgICogU2l6ZSB0aGUgY29tcG9uZW50IHNtYWxsLCBsYXJnZSwgb3IgZXh0cmEgbGFyZ2UuIFtkb2NzXVxuICAgKi9cbiAgQElucHV0KCkgc2l6ZT86ICdzbScgfCAnbGcnIHwgJ3hsJztcblxuICAvKipcbiAgICogRXhwYW5kIG5hcnJvd2VkIHNpZGViYXIgb24gaG92ZXIuIFtkb2NzXVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHVuZm9sZGFibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiN1bmZvbGRhYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIGdldCB1bmZvbGRhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLiN1bmZvbGRhYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiBzaWRlYmFyIGNvbXBvbmVudC4gW2RvY3NdXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGNvbnN0IHZpc2libGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIGlmICh0aGlzLiN2aXNpYmxlICE9PSB2aXNpYmxlKSB7XG4gICAgICB0aGlzLiN2aXNpYmxlID0gdmlzaWJsZTtcbiAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuI3Zpc2libGUpO1xuICAgIH1cbiAgfVxuXG4gIGdldCB2aXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLiN2aXNpYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgb24gdmlzaWJpbGl0eSBjaGFuZ2UuIFtkb2NzXVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBzZXQgc2lkZWJhclN0YXRlKHZhbHVlOiBJU2lkZWJhckFjdGlvbikge1xuICAgIGNvbnN0IG5ld1N0YXRlID0gdmFsdWU7XG4gICAgaWYgKCd0b2dnbGUnIGluIG5ld1N0YXRlKSB7XG4gICAgICBpZiAobmV3U3RhdGUudG9nZ2xlID09PSAndmlzaWJsZScpIHtcbiAgICAgICAgbmV3U3RhdGUudmlzaWJsZSA9ICF0aGlzLnN0YXRlLnZpc2libGU7XG4gICAgICAgIHRoaXMudmlzaWJsZSA9IG5ld1N0YXRlLnZpc2libGU7XG4gICAgICB9IGVsc2UgaWYgKG5ld1N0YXRlLnRvZ2dsZSA9PT0gJ3VuZm9sZGFibGUnKSB7XG4gICAgICAgIG5ld1N0YXRlLnVuZm9sZGFibGUgPSAhdGhpcy5zdGF0ZS51bmZvbGRhYmxlO1xuICAgICAgICB0aGlzLnVuZm9sZGFibGUgPSBuZXdTdGF0ZS51bmZvbGRhYmxlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpc2libGUgPSAobmV3U3RhdGUudmlzaWJsZSA/PyB0aGlzLnZpc2libGUpICYmICF0aGlzLm92ZXJsYWlkO1xuICAgIH1cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgIC4uLm5ld1N0YXRlLFxuICAgIH07XG4gICAgdGhpcy5zdGF0ZS5tb2JpbGUgJiYgdGhpcy5zdGF0ZS52aXNpYmxlXG4gICAgICA/IHRoaXMuYmFja2Ryb3BTZXJ2aWNlLnNldEJhY2tkcm9wKHRoaXMpXG4gICAgICA6IHRoaXMuYmFja2Ryb3BTZXJ2aWNlLmNsZWFyQmFja2Ryb3AoKTtcbiAgfVxuXG4gIGdldCBzaWRlYmFyU3RhdGUoKTogSVNpZGViYXJBY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlO1xuICB9XG5cbiAgZ2V0IGdldE1vYmlsZUJyZWFrcG9pbnQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBlbGVtZW50OiBFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgY29uc3QgbW9iaWxlQnJlYWtwb2ludCA9XG4gICAgICBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tY3VpLW1vYmlsZS1icmVha3BvaW50JykgfHxcbiAgICAgICdtZCc7XG4gICAgY29uc3QgYnJlYWtwb2ludFZhbHVlID1cbiAgICAgIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShcbiAgICAgICAgYC0tY3VpLWJyZWFrcG9pbnQtJHttb2JpbGVCcmVha3BvaW50LnRyaW0oKX1gXG4gICAgICApIHx8ICc3NjhweCc7XG4gICAgcmV0dXJuIGAke3BhcnNlRmxvYXQoYnJlYWtwb2ludFZhbHVlLnRyaW0oKSkgLSAwLjAyfXB4YCB8fCAnNzY3Ljk4cHgnO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgcHJpdmF0ZSBzaWRlYmFyU2VydmljZTogU2lkZWJhclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYWNrZHJvcFNlcnZpY2U6IFNpZGViYXJCYWNrZHJvcFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5iYWNrZHJvcFNlcnZpY2UucmVuZGVyZXIgPSByZW5kZXJlcjtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgZ2V0Q2xhc3NlcygpOiBhbnkge1xuICAgIGNvbnN0IHsgbW9iaWxlLCB2aXNpYmxlIH0gPSB0aGlzLnNpZGViYXJTdGF0ZTtcbiAgICByZXR1cm4ge1xuICAgICAgc2lkZWJhcjogdHJ1ZSxcbiAgICAgICdzaWRlYmFyLWZpeGVkJzogdGhpcy5wb3NpdGlvbiA9PT0gJ2ZpeGVkJyAmJiAhbW9iaWxlLFxuICAgICAgJ3NpZGViYXItbmFycm93JzogdGhpcy5uYXJyb3cgJiYgIXRoaXMudW5mb2xkYWJsZSxcbiAgICAgICdzaWRlYmFyLW5hcnJvdy11bmZvbGRhYmxlJzogdGhpcy51bmZvbGRhYmxlLFxuICAgICAgJ3NpZGViYXItb3ZlcmxhaWQnOiB0aGlzLm92ZXJsYWlkLFxuICAgICAgW2BzaWRlYmFyLSR7dGhpcy5wbGFjZW1lbnR9YF06ICEhdGhpcy5wbGFjZW1lbnQsXG4gICAgICBbYHNpZGViYXItJHt0aGlzLmNvbG9yU2NoZW1lfWBdOiAhIXRoaXMuY29sb3JTY2hlbWUsXG4gICAgICBbYHNpZGViYXItJHt0aGlzLnNpemV9YF06ICEhdGhpcy5zaXplLFxuICAgICAgc2hvdzogdmlzaWJsZSAmJiB0aGlzLiNvbk1vYmlsZSxcbiAgICAgIGhpZGU6ICF2aXNpYmxlLFxuICAgIH07XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEluaXRpYWxTdGF0ZSgpO1xuICAgIHRoaXMubGF5b3V0Q2hhbmdlU3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmliZShmYWxzZSk7XG4gICAgdGhpcy5sYXlvdXRDaGFuZ2VTdWJzY3JpYmUoZmFsc2UpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IG9sZFN0YXRlTWFwID0gbmV3IE1hcChPYmplY3QuZW50cmllcyh0aGlzLnN0YXRlKSk7XG4gICAgY29uc3QgbmV3U3RhdGVNYXAgPSBuZXcgTWFwKCk7XG4gICAgbmV3U3RhdGVNYXAuc2V0KCdzaWRlYmFyJywgdGhpcyk7XG5cbiAgICBjb25zdCBwcm9wTGlzdCA9IFsndmlzaWJsZScsICd1bmZvbGRhYmxlJywgJ25hcnJvdyddO1xuXG4gICAgZm9yIChjb25zdCBwcm9wTmFtZSBpbiBjaGFuZ2VzKSB7XG4gICAgICBpZiAocHJvcExpc3QuaW5jbHVkZXMocHJvcE5hbWUpKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzW3Byb3BOYW1lXSAmJiAhY2hhbmdlc1twcm9wTmFtZV0uZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShjaGFuZ2VzW3Byb3BOYW1lXS5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgIGlmIChvbGRTdGF0ZU1hcC5nZXQocHJvcE5hbWUpICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgbmV3U3RhdGVNYXAuc2V0KHByb3BOYW1lLCB2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG5ld1N0YXRlTWFwLnNpemUgPiAxKSB7XG4gICAgICBjb25zdCBzdGF0ZSA9IE9iamVjdC5mcm9tRW50cmllcyhuZXdTdGF0ZU1hcC5lbnRyaWVzKCkpO1xuICAgICAgdGhpcy5zaWRlYmFyU2VydmljZS50b2dnbGUoc3RhdGUpO1xuICAgIH1cbiAgfVxuXG4gIHNldEluaXRpYWxTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLiNzdGF0ZUluaXRpYWwgPSB7XG4gICAgICBuYXJyb3c6IHRoaXMubmFycm93LFxuICAgICAgdmlzaWJsZTogdGhpcy52aXNpYmxlLFxuICAgICAgdW5mb2xkYWJsZTogdGhpcy51bmZvbGRhYmxlLFxuICAgIH07XG4gICAgdGhpcy5zaWRlYmFyU2VydmljZS50b2dnbGUoe1xuICAgICAgLi4udGhpcy4jc3RhdGVJbml0aWFsLFxuICAgICAgc2lkZWJhcjogdGhpcyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGVUb2dnbGVTdWJzY3JpYmUoc3Vic2NyaWJlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIGlmIChzdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuI3N0YXRlVG9nZ2xlU3Vic2NyaXB0aW9uID1cbiAgICAgICAgdGhpcy5zaWRlYmFyU2VydmljZS5zaWRlYmFyU3RhdGUkLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgICAgICBpZiAodGhpcyA9PT0gc3RhdGUuc2lkZWJhciB8fCB0aGlzLmlkID09PSBzdGF0ZS5pZCkge1xuICAgICAgICAgICAgdGhpcy5zaWRlYmFyU3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNzdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBsYXlvdXRDaGFuZ2VTdWJzY3JpYmUoc3Vic2NyaWJlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIGNvbnN0IG9uTW9iaWxlID0gYChtYXgtd2lkdGg6ICR7dGhpcy5nZXRNb2JpbGVCcmVha3BvaW50fSlgO1xuXG4gICAgaWYgKHN1YnNjcmliZSkge1xuICAgICAgY29uc3QgbGF5b3V0Q2hhbmdlcyA9IHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoW29uTW9iaWxlXSk7XG5cbiAgICAgIHRoaXMuI2xheW91dENoYW5nZVN1YnNjcmlwdGlvbiA9IGxheW91dENoYW5nZXMuc3Vic2NyaWJlKFxuICAgICAgICAocmVzdWx0OiBCcmVha3BvaW50U3RhdGUpID0+IHtcbiAgICAgICAgICBjb25zdCBpc09uTW9iaWxlID0gcmVzdWx0LmJyZWFrcG9pbnRzW29uTW9iaWxlXTtcbiAgICAgICAgICBjb25zdCBpc1VuZm9sZGFibGUgPSBpc09uTW9iaWxlID8gZmFsc2UgOiB0aGlzLnVuZm9sZGFibGU7XG4gICAgICAgICAgaWYgKHRoaXMuI29uTW9iaWxlICE9PSBpc09uTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLiNvbk1vYmlsZSA9IGlzT25Nb2JpbGU7XG4gICAgICAgICAgICB0aGlzLnNpZGViYXJTZXJ2aWNlLnRvZ2dsZSh7XG4gICAgICAgICAgICAgIG1vYmlsZTogaXNPbk1vYmlsZSxcbiAgICAgICAgICAgICAgdW5mb2xkYWJsZTogaXNVbmZvbGRhYmxlLFxuICAgICAgICAgICAgICB2aXNpYmxlOiBpc09uTW9iaWxlID8gIWlzT25Nb2JpbGUgOiB0aGlzLiNzdGF0ZUluaXRpYWwudmlzaWJsZSxcbiAgICAgICAgICAgICAgc2lkZWJhcjogdGhpcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jbGF5b3V0Q2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -9794,6 +9794,13 @@ class BackdropService {
9794
9794
  this.backdropClick$ = this.backdropClick.asObservable();
9795
9795
  this.renderer = rendererFactory.createRenderer(null, null);
9796
9796
  }
9797
+ get scrollbarWidth() {
9798
+ var _a;
9799
+ // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
9800
+ const documentWidth = this.document.documentElement.clientWidth;
9801
+ const scrollbarWidth = Math.abs(((_a = window === null || window === void 0 ? void 0 : window.innerWidth) !== null && _a !== void 0 ? _a : documentWidth) - documentWidth);
9802
+ return `${scrollbarWidth}px`;
9803
+ }
9797
9804
  setBackdrop(type = 'modal') {
9798
9805
  const backdropElement = this.renderer.createElement('div');
9799
9806
  this.renderer.addClass(backdropElement, `${type}-backdrop`);
@@ -9830,7 +9837,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
9830
9837
  providedIn: 'root'
9831
9838
  }]
9832
9839
  }], ctorParameters: function () {
9833
- return [{ type: undefined, decorators: [{
9840
+ return [{ type: Document, decorators: [{
9834
9841
  type: Inject,
9835
9842
  args: [DOCUMENT]
9836
9843
  }] }, { type: i0.RendererFactory2 }];
@@ -9935,15 +9942,8 @@ class ModalComponent {
9935
9942
  set show(value) {
9936
9943
  this._show = value;
9937
9944
  }
9938
- get scrollbarWidth() {
9939
- var _a;
9940
- // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
9941
- const documentWidth = this.document.documentElement.clientWidth;
9942
- const scrollbarWidth = Math.abs(((_a = window === null || window === void 0 ? void 0 : window.innerWidth) !== null && _a !== void 0 ? _a : documentWidth) - documentWidth);
9943
- return `${scrollbarWidth}px`;
9944
- }
9945
9945
  animateStart(event) {
9946
- const scrollbarWidth = this.scrollbarWidth;
9946
+ const scrollbarWidth = this.backdropService.scrollbarWidth;
9947
9947
  if (event.toState === 'visible') {
9948
9948
  this.renderer.setStyle(this.document.body, 'overflow', 'hidden');
9949
9949
  this.renderer.setStyle(this.document.body, 'padding-right', scrollbarWidth);
@@ -10213,18 +10213,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
10213
10213
  }]
10214
10214
  }], ctorParameters: function () { return []; } });
10215
10215
 
10216
+ var _OffcanvasComponent_scroll, _OffcanvasComponent_visible, _OffcanvasComponent_activeBackdrop, _OffcanvasComponent_scrollbarWidth, _OffcanvasComponent_stateToggleSubscription, _OffcanvasComponent_backdropClickSubscription, _OffcanvasComponent_layoutChangeSubscription, _OffcanvasComponent_show;
10216
10217
  let nextId = 0;
10217
10218
  class OffcanvasComponent {
10218
- constructor(document, platformId, renderer, hostElement, offcanvasService, backdropService) {
10219
+ constructor(document, platformId, renderer, hostElement, offcanvasService, backdropService, breakpointObserver) {
10219
10220
  this.document = document;
10220
10221
  this.platformId = platformId;
10221
10222
  this.renderer = renderer;
10222
10223
  this.hostElement = hostElement;
10223
10224
  this.offcanvasService = offcanvasService;
10224
10225
  this.backdropService = backdropService;
10226
+ this.breakpointObserver = breakpointObserver;
10225
10227
  /**
10226
10228
  * Apply a backdrop on body while offcanvas is open.
10227
- * @type boolean
10229
+ * @type boolean | 'static'
10228
10230
  * @default true
10229
10231
  */
10230
10232
  this.backdrop = true;
@@ -10240,7 +10242,14 @@ class OffcanvasComponent {
10240
10242
  * @default 'start'
10241
10243
  */
10242
10244
  this.placement = 'start';
10243
- this._scroll = false;
10245
+ /**
10246
+ * Responsive offcanvas property hides content outside the viewport from a specified breakpoint and down.
10247
+ * @type boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
10248
+ * @default true
10249
+ * @since 4.3.10
10250
+ */
10251
+ this.responsive = true;
10252
+ _OffcanvasComponent_scroll.set(this, false);
10244
10253
  this.id = `offcanvas-${this.placement}-${nextId++}`;
10245
10254
  /**
10246
10255
  * Default role for offcanvas. [docs]
@@ -10254,169 +10263,224 @@ class OffcanvasComponent {
10254
10263
  * @default true
10255
10264
  */
10256
10265
  this.ariaModal = true;
10266
+ _OffcanvasComponent_visible.set(this, false);
10257
10267
  /**
10258
10268
  * Event triggered on visible change.
10259
10269
  */
10260
10270
  this.visibleChange = new EventEmitter();
10271
+ _OffcanvasComponent_activeBackdrop.set(this, void 0);
10272
+ _OffcanvasComponent_scrollbarWidth.set(this, void 0);
10273
+ _OffcanvasComponent_stateToggleSubscription.set(this, void 0);
10274
+ _OffcanvasComponent_backdropClickSubscription.set(this, void 0);
10275
+ _OffcanvasComponent_layoutChangeSubscription.set(this, void 0);
10276
+ _OffcanvasComponent_show.set(this, false);
10261
10277
  }
10262
10278
  /**
10263
10279
  * Allow body scrolling while offcanvas is visible.
10264
10280
  * @type boolean
10281
+ * @default false
10265
10282
  */
10266
10283
  set scroll(value) {
10267
- this._scroll = coerceBooleanProperty(value);
10284
+ __classPrivateFieldSet(this, _OffcanvasComponent_scroll, coerceBooleanProperty(value), "f");
10268
10285
  }
10269
- ;
10270
10286
  get scroll() {
10271
- return this._scroll;
10287
+ return __classPrivateFieldGet(this, _OffcanvasComponent_scroll, "f");
10272
10288
  }
10273
10289
  /**
10274
10290
  * Toggle the visibility of offcanvas component.
10275
10291
  * @type boolean
10292
+ * @default false
10276
10293
  */
10277
10294
  set visible(value) {
10278
- this._visible = coerceBooleanProperty(value);
10279
- if (value) {
10295
+ __classPrivateFieldSet(this, _OffcanvasComponent_visible, coerceBooleanProperty(value), "f");
10296
+ if (__classPrivateFieldGet(this, _OffcanvasComponent_visible, "f")) {
10280
10297
  this.setBackdrop(this.backdrop);
10281
10298
  this.setFocus();
10282
10299
  }
10283
10300
  else {
10284
10301
  this.setBackdrop(false);
10285
10302
  }
10286
- this.setScroll();
10303
+ this.layoutChangeSubscribe(__classPrivateFieldGet(this, _OffcanvasComponent_visible, "f"));
10287
10304
  this.visibleChange.emit(value);
10288
10305
  }
10289
10306
  get visible() {
10290
- return this._visible;
10307
+ return __classPrivateFieldGet(this, _OffcanvasComponent_visible, "f");
10291
10308
  }
10292
10309
  get hostClasses() {
10293
10310
  return {
10294
- offcanvas: true,
10311
+ offcanvas: typeof this.responsive === 'boolean',
10312
+ [`offcanvas-${this.responsive}`]: typeof this.responsive !== 'boolean',
10295
10313
  [`offcanvas-${this.placement}`]: !!this.placement,
10296
- show: this.visible,
10314
+ show: this.show
10297
10315
  };
10298
10316
  }
10299
10317
  get ariaHidden() {
10300
10318
  return this.visible ? null : true;
10301
10319
  }
10302
- ;
10303
10320
  get tabIndex() {
10304
10321
  return '-1';
10305
10322
  }
10306
- get animateType() {
10307
- return this.visible;
10323
+ get animateTrigger() {
10324
+ return this.visible ? 'visible' : 'hidden';
10325
+ }
10326
+ get show() {
10327
+ return this.visible && __classPrivateFieldGet(this, _OffcanvasComponent_show, "f");
10328
+ }
10329
+ set show(value) {
10330
+ __classPrivateFieldSet(this, _OffcanvasComponent_show, value, "f");
10331
+ }
10332
+ animateStart(event) {
10333
+ const scrollbarWidth = __classPrivateFieldGet(this, _OffcanvasComponent_scrollbarWidth, "f");
10334
+ if (event.toState === 'visible') {
10335
+ if (!this.scroll) {
10336
+ this.renderer.setStyle(this.document.body, 'overflow', 'hidden');
10337
+ this.renderer.setStyle(this.document.body, 'padding-right', scrollbarWidth);
10338
+ }
10339
+ this.renderer.addClass(this.hostElement.nativeElement, 'showing');
10340
+ }
10341
+ else {
10342
+ this.renderer.addClass(this.hostElement.nativeElement, 'hiding');
10343
+ }
10344
+ }
10345
+ animateDone(event) {
10346
+ setTimeout(() => {
10347
+ if (event.toState === 'visible') {
10348
+ this.renderer.removeClass(this.hostElement.nativeElement, 'showing');
10349
+ }
10350
+ if (event.toState === 'hidden') {
10351
+ this.renderer.removeClass(this.hostElement.nativeElement, 'hiding');
10352
+ this.renderer.removeStyle(this.document.body, 'overflow');
10353
+ this.renderer.removeStyle(this.document.body, 'paddingRight');
10354
+ }
10355
+ });
10356
+ this.show = this.visible;
10308
10357
  }
10309
10358
  onKeyDownHandler(event) {
10310
- if (event.key === 'Escape' && this.keyboard && this.visible) {
10359
+ if (event.key === 'Escape' &&
10360
+ this.keyboard &&
10361
+ this.visible &&
10362
+ this.backdrop !== 'static') {
10311
10363
  this.offcanvasService.toggle({ show: false, id: this.id });
10312
10364
  }
10313
10365
  }
10314
10366
  ngOnInit() {
10315
- this.setScroll();
10367
+ __classPrivateFieldSet(this, _OffcanvasComponent_scrollbarWidth, this.backdropService.scrollbarWidth, "f");
10316
10368
  this.stateToggleSubscribe();
10369
+ // hotfix to avoid end offcanvas flicker on first render
10370
+ this.renderer.setStyle(this.hostElement.nativeElement, 'display', 'flex');
10317
10371
  }
10318
10372
  ngOnDestroy() {
10319
10373
  this.offcanvasService.toggle({ show: false, id: this.id });
10320
10374
  this.stateToggleSubscribe(false);
10321
10375
  }
10322
- ngOnChanges(changes) {
10323
- if (changes['scroll']) {
10324
- this.setScroll();
10325
- }
10326
- }
10327
10376
  stateToggleSubscribe(subscribe = true) {
10328
10377
  if (subscribe) {
10329
- this.stateToggleSubscription = this.offcanvasService.offcanvasState$.subscribe((action) => {
10378
+ __classPrivateFieldSet(this, _OffcanvasComponent_stateToggleSubscription, this.offcanvasService.offcanvasState$.subscribe((action) => {
10330
10379
  if (this === action.offcanvas || this.id === action.id) {
10331
10380
  if ('show' in action) {
10332
- this.visible = (action === null || action === void 0 ? void 0 : action.show) === 'toggle' ? !this.visible : action.show;
10381
+ this.visible =
10382
+ (action === null || action === void 0 ? void 0 : action.show) === 'toggle' ? !this.visible : action.show;
10333
10383
  }
10334
10384
  }
10335
- });
10385
+ }), "f");
10336
10386
  }
10337
10387
  else {
10338
- this.stateToggleSubscription.unsubscribe();
10388
+ __classPrivateFieldGet(this, _OffcanvasComponent_stateToggleSubscription, "f").unsubscribe();
10339
10389
  }
10340
10390
  }
10341
10391
  backdropClickSubscribe(subscribe = true) {
10342
10392
  var _a;
10343
10393
  if (subscribe) {
10344
- this.backdropClickSubscription = this.backdropService.backdropClick$.subscribe((clicked) => {
10394
+ __classPrivateFieldSet(this, _OffcanvasComponent_backdropClickSubscription, this.backdropService.backdropClick$.subscribe((clicked) => {
10345
10395
  this.offcanvasService.toggle({ show: !clicked, id: this.id });
10346
- });
10396
+ }), "f");
10347
10397
  }
10348
10398
  else {
10349
- (_a = this.backdropClickSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
10399
+ (_a = __classPrivateFieldGet(this, _OffcanvasComponent_backdropClickSubscription, "f")) === null || _a === void 0 ? void 0 : _a.unsubscribe();
10350
10400
  }
10351
10401
  }
10352
10402
  setBackdrop(setBackdrop) {
10353
- if (setBackdrop) {
10354
- this.activeBackdrop = this.backdropService.setBackdrop('offcanvas');
10355
- this.backdropClickSubscribe();
10356
- }
10357
- else {
10358
- this.activeBackdrop = this.backdropService.clearBackdrop(this.activeBackdrop);
10359
- this.backdropClickSubscribe(false);
10360
- }
10403
+ __classPrivateFieldSet(this, _OffcanvasComponent_scrollbarWidth, this.backdropService.scrollbarWidth, "f");
10404
+ __classPrivateFieldSet(this, _OffcanvasComponent_activeBackdrop, !!setBackdrop ? this.backdropService.setBackdrop('offcanvas')
10405
+ : this.backdropService.clearBackdrop(__classPrivateFieldGet(this, _OffcanvasComponent_activeBackdrop, "f")), "f");
10406
+ setBackdrop === true ? this.backdropClickSubscribe()
10407
+ : this.backdropClickSubscribe(false);
10361
10408
  }
10362
10409
  setFocus() {
10363
10410
  if (isPlatformBrowser(this.platformId)) {
10364
10411
  setTimeout(() => this.hostElement.nativeElement.focus());
10365
10412
  }
10366
10413
  }
10367
- setScroll() {
10368
- if (this.visible) {
10369
- if (!this.scroll) {
10370
- this.renderer.setStyle(this.document.body, 'overflow', 'hidden');
10371
- this.renderer.setStyle(this.document.body, 'paddingRight.px', '0');
10414
+ get responsiveBreakpoint() {
10415
+ if (typeof this.responsive !== 'string') {
10416
+ return false;
10417
+ }
10418
+ const element = this.document.documentElement;
10419
+ const responsiveBreakpoint = this.responsive;
10420
+ const breakpointValue = getComputedStyle(element).getPropertyValue(`--cui-breakpoint-${responsiveBreakpoint.trim()}`) || false;
10421
+ return breakpointValue ? `${parseFloat(breakpointValue.trim()) - 0.02}px` : false;
10422
+ }
10423
+ layoutChangeSubscribe(subscribe = true) {
10424
+ var _a;
10425
+ if (subscribe) {
10426
+ if (!this.responsiveBreakpoint) {
10427
+ return;
10372
10428
  }
10373
- return;
10429
+ const responsiveBreakpoint = `(max-width: ${this.responsiveBreakpoint})`;
10430
+ const layoutChanges = this.breakpointObserver.observe([responsiveBreakpoint]);
10431
+ __classPrivateFieldSet(this, _OffcanvasComponent_layoutChangeSubscription, layoutChanges
10432
+ .pipe(filter(breakpointState => !breakpointState.matches))
10433
+ .subscribe((breakpointState) => {
10434
+ this.visible = breakpointState.matches;
10435
+ }), "f");
10374
10436
  }
10375
- if (!this.scroll) {
10376
- this.renderer.removeStyle(this.document.body, 'overflow');
10377
- this.renderer.removeStyle(this.document.body, 'paddingRight');
10437
+ else {
10438
+ (_a = __classPrivateFieldGet(this, _OffcanvasComponent_layoutChangeSubscription, "f")) === null || _a === void 0 ? void 0 : _a.unsubscribe();
10378
10439
  }
10379
10440
  }
10380
10441
  }
10381
- OffcanvasComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: OffcanvasComponent, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: OffcanvasService }, { token: BackdropService }], target: i0.ɵɵFactoryTarget.Component });
10382
- OffcanvasComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: OffcanvasComponent, selector: "c-offcanvas", inputs: { backdrop: "backdrop", keyboard: "keyboard", placement: "placement", scroll: "scroll", id: "id", role: "role", ariaModal: "ariaModal", visible: "visible" }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "document:keydown": "onKeyDownHandler($event)" }, properties: { "attr.role": "this.role", "attr.aria-modal": "this.ariaModal", "class": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden", "attr.tabindex": "this.tabIndex", "@showHide": "this.animateType" } }, exportAs: ["cOffcanvas"], usesOnChanges: true, ngImport: i0, template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
10442
+ _OffcanvasComponent_scroll = new WeakMap(), _OffcanvasComponent_visible = new WeakMap(), _OffcanvasComponent_activeBackdrop = new WeakMap(), _OffcanvasComponent_scrollbarWidth = new WeakMap(), _OffcanvasComponent_stateToggleSubscription = new WeakMap(), _OffcanvasComponent_backdropClickSubscription = new WeakMap(), _OffcanvasComponent_layoutChangeSubscription = new WeakMap(), _OffcanvasComponent_show = new WeakMap();
10443
+ OffcanvasComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: OffcanvasComponent, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: OffcanvasService }, { token: BackdropService }, { token: i1$2.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
10444
+ OffcanvasComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: OffcanvasComponent, selector: "c-offcanvas", inputs: { backdrop: "backdrop", keyboard: "keyboard", placement: "placement", responsive: "responsive", scroll: "scroll", id: "id", role: "role", ariaModal: "ariaModal", visible: "visible" }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "@showHide.start": "animateStart($event)", "@showHide.done": "animateDone($event)", "document:keydown": "onKeyDownHandler($event)" }, properties: { "attr.role": "this.role", "attr.aria-modal": "this.ariaModal", "class": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden", "attr.tabindex": "this.tabIndex", "@showHide": "this.animateTrigger" } }, exportAs: ["cOffcanvas"], ngImport: i0, template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n", styles: [":host{display:none}\n"], dependencies: [{ kind: "directive", type: i1$3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
10383
10445
  trigger('showHide', [
10384
- state('true', style({
10385
- visibility: 'visible',
10446
+ state('visible', style({
10447
+ // visibility: 'visible'
10386
10448
  })),
10387
- state('false', style({
10388
- visibility: 'hidden',
10449
+ state('hidden', style({
10450
+ // visibility: 'hidden'
10389
10451
  })),
10390
- transition('true => false', [animate('300ms')]),
10391
- ]),
10452
+ transition('visible <=> *', [animate('300ms')])
10453
+ ])
10392
10454
  ] });
10393
10455
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: OffcanvasComponent, decorators: [{
10394
10456
  type: Component,
10395
10457
  args: [{ selector: 'c-offcanvas', animations: [
10396
10458
  trigger('showHide', [
10397
- state('true', style({
10398
- visibility: 'visible',
10459
+ state('visible', style({
10460
+ // visibility: 'visible'
10399
10461
  })),
10400
- state('false', style({
10401
- visibility: 'hidden',
10462
+ state('hidden', style({
10463
+ // visibility: 'hidden'
10402
10464
  })),
10403
- transition('true => false', [animate('300ms')]),
10404
- ]),
10405
- ], exportAs: 'cOffcanvas', template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n" }]
10465
+ transition('visible <=> *', [animate('300ms')])
10466
+ ])
10467
+ ], exportAs: 'cOffcanvas', template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n", styles: [":host{display:none}\n"] }]
10406
10468
  }], ctorParameters: function () {
10407
- return [{ type: undefined, decorators: [{
10469
+ return [{ type: Document, decorators: [{
10408
10470
  type: Inject,
10409
10471
  args: [DOCUMENT]
10410
10472
  }] }, { type: undefined, decorators: [{
10411
10473
  type: Inject,
10412
10474
  args: [PLATFORM_ID]
10413
- }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: OffcanvasService }, { type: BackdropService }];
10475
+ }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: OffcanvasService }, { type: BackdropService }, { type: i1$2.BreakpointObserver }];
10414
10476
  }, propDecorators: { backdrop: [{
10415
10477
  type: Input
10416
10478
  }], keyboard: [{
10417
10479
  type: Input
10418
10480
  }], placement: [{
10419
10481
  type: Input
10482
+ }], responsive: [{
10483
+ type: Input
10420
10484
  }], scroll: [{
10421
10485
  type: Input
10422
10486
  }], id: [{
@@ -10444,9 +10508,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
10444
10508
  }], tabIndex: [{
10445
10509
  type: HostBinding,
10446
10510
  args: ['attr.tabindex']
10447
- }], animateType: [{
10511
+ }], animateTrigger: [{
10448
10512
  type: HostBinding,
10449
10513
  args: ['@showHide']
10514
+ }], animateStart: [{
10515
+ type: HostListener,
10516
+ args: ['@showHide.start', ['$event']]
10517
+ }], animateDone: [{
10518
+ type: HostListener,
10519
+ args: ['@showHide.done', ['$event']]
10450
10520
  }], onKeyDownHandler: [{
10451
10521
  type: HostListener,
10452
10522
  args: ['document:keydown', ['$event']]
@@ -11607,6 +11677,7 @@ class SidebarComponent {
11607
11677
  this.sidebarService.toggle(Object.assign(Object.assign({}, __classPrivateFieldGet(this, _SidebarComponent_stateInitial, "f")), { sidebar: this }));
11608
11678
  }
11609
11679
  stateToggleSubscribe(subscribe = true) {
11680
+ var _a;
11610
11681
  if (subscribe) {
11611
11682
  __classPrivateFieldSet(this, _SidebarComponent_stateToggleSubscription, this.sidebarService.sidebarState$.subscribe((state) => {
11612
11683
  if (this === state.sidebar || this.id === state.id) {
@@ -11615,7 +11686,7 @@ class SidebarComponent {
11615
11686
  }), "f");
11616
11687
  }
11617
11688
  else {
11618
- __classPrivateFieldGet(this, _SidebarComponent_stateToggleSubscription, "f").unsubscribe();
11689
+ (_a = __classPrivateFieldGet(this, _SidebarComponent_stateToggleSubscription, "f")) === null || _a === void 0 ? void 0 : _a.unsubscribe();
11619
11690
  }
11620
11691
  }
11621
11692
  layoutChangeSubscribe(subscribe = true) {