@coreui/angular 4.3.9 → 4.3.10

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.
@@ -178,7 +178,7 @@ export class SidebarComponent {
178
178
  }), "f");
179
179
  }
180
180
  else {
181
- __classPrivateFieldGet(this, _SidebarComponent_stateToggleSubscription, "f").unsubscribe();
181
+ __classPrivateFieldGet(this, _SidebarComponent_stateToggleSubscription, "f")?.unsubscribe();
182
182
  }
183
183
  }
184
184
  layoutChangeSubscribe(subscribe = true) {
@@ -241,4 +241,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
241
241
  type: HostBinding,
242
242
  args: ['class']
243
243
  }] } });
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUlMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQVk1RSxNQUFNLE9BQU8sZ0JBQWdCO0lBc0MzQjs7O09BR0c7SUFDSCxJQUNJLE1BQU0sQ0FBQyxLQUFjO1FBQ3ZCLHVCQUFBLElBQUksNEJBQVcscUJBQXFCLENBQUMsS0FBSyxDQUFDLE1BQUEsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyx1QkFBQSxJQUFJLGdDQUFRLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ0ksUUFBUSxDQUFDLEtBQWM7UUFDekIsdUJBQUEsSUFBSSw4QkFBYSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsTUFBQSxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLHVCQUFBLElBQUksa0NBQVUsQ0FBQztJQUN4QixDQUFDO0lBbUJEOztPQUVHO0lBQ0gsSUFDSSxVQUFVLENBQUMsS0FBYztRQUMzQix1QkFBQSxJQUFJLGdDQUFlLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxNQUFBLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sdUJBQUEsSUFBSSxvQ0FBWSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksT0FB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dCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludFN0YXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSVNpZGViYXJBY3Rpb24sIFNpZGViYXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2lkZWJhci5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZGViYXJCYWNrZHJvcFNlcnZpY2UgfSBmcm9tICcuLi9zaWRlYmFyLWJhY2tkcm9wL3NpZGViYXItYmFja2Ryb3Auc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Mtc2lkZWJhcicsXG4gIGV4cG9ydEFzOiAnY1NpZGViYXInLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxufSlcbmV4cG9ydCBjbGFzcyBTaWRlYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9uYXJyb3c6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX292ZXJsYWlkOiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV91bmZvbGRhYmxlOiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV92aXNpYmxlOiBCb29sZWFuSW5wdXQ7XG5cbiAgI25hcnJvdyA9IGZhbHNlO1xuICAjb3ZlcmxhaWQgPSBmYWxzZTtcbiAgI3VuZm9sZGFibGUgPSBmYWxzZTtcbiAgI3Zpc2libGUgPSBmYWxzZTtcbiAgI29uTW9iaWxlID0gZmFsc2U7XG4gICNsYXlvdXRDaGFuZ2VTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gICNzdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBzdGF0ZTogSVNpZGViYXJBY3Rpb24gPSB7XG4gICAgc2lkZWJhcjogdGhpcyxcbiAgfTtcblxuICAjc3RhdGVJbml0aWFsID0ge1xuICAgIG5hcnJvdzogZmFsc2UsXG4gICAgdmlzaWJsZTogZmFsc2UsXG4gICAgdW5mb2xkYWJsZTogZmFsc2UsXG4gIH07XG5cbiAgLyoqXG4gICAqIFNldHMgaWYgdGhlIGNvbG9yIG9mIHRleHQgc2hvdWxkIGJlIGNvbG9yZWQgZm9yIGEgbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLiBbZG9jc11cbiAgICpcbiAgICogQHR5cGUgJ2RhcmsnIHwgJ2xpZ2h0J1xuICAgKi9cbiAgQElucHV0KCkgY29sb3JTY2hlbWU/OiAnZGFyaycgfCAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKiBTZXRzIGh0bWwgYXR0cmlidXRlIGlkLiBbZG9jc11cbiAgICpcbiAgICogQHR5cGUgc3RyaW5nXG4gICAqL1xuICBASW5wdXQoKSBpZD86IHN0cmluZztcblxuICAvKipcbiAgICogTWFrZSBzaWRlYmFyIG5hcnJvdy4gW2RvY3NdXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBuYXJyb3codmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNuYXJyb3cgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgZ2V0IG5hcnJvdygpIHtcbiAgICByZXR1cm4gdGhpcy4jbmFycm93O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBzaWRlYmFyIHRvIG92ZXJsYWlkIHZhcmlhbnQuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBvdmVybGFpZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI292ZXJsYWlkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIGdldCBvdmVybGFpZCgpIHtcbiAgICByZXR1cm4gdGhpcy4jb3ZlcmxhaWQ7XG4gIH1cblxuICAvKipcbiAgICogQ29tcG9uZW50cyBwbGFjZW1lbnQsIHRoZXJl4oCZcyBubyBkZWZhdWx0IHBsYWNlbWVudC4gW2RvY3NdXG4gICAqIEB0eXBlICdzdGFydCcgfCAnZW5kJ1xuICAgKi9cbiAgQElucHV0KCkgcGxhY2VtZW50PzogJ3N0YXJ0JyB8ICdlbmQnO1xuXG4gIC8qKlxuICAgKiBQbGFjZSBzaWRlYmFyIGluIG5vbi1zdGF0aWMgcG9zaXRpb25zLiBbZG9jc11cbiAgICogQGRlZmF1bHQgJ2ZpeGVkJ1xuICAgKi9cbiAgQElucHV0KCkgcG9zaXRpb246ICdmaXhlZCcgfCAnc3RpY2t5JyA9ICdmaXhlZCc7XG5cbiAgLyoqXG4gICAqIFNpemUgdGhlIGNvbXBvbmVudCBzbWFsbCwgbGFyZ2UsIG9yIGV4dHJhIGxhcmdlLiBbZG9jc11cbiAgICovXG4gIEBJbnB1dCgpIHNpemU/OiAnc20nIHwgJ2xnJyB8ICd4bCc7XG5cbiAgLyoqXG4gICAqIEV4cGFuZCBuYXJyb3dlZCBzaWRlYmFyIG9uIGhvdmVyLiBbZG9jc11cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCB1bmZvbGRhYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jdW5mb2xkYWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgdW5mb2xkYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy4jdW5mb2xkYWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIHZpc2liaWxpdHkgb2Ygc2lkZWJhciBjb21wb25lbnQuIFtkb2NzXVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBjb25zdCB2aXNpYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAodGhpcy4jdmlzaWJsZSAhPT0gdmlzaWJsZSkge1xuICAgICAgdGhpcy4jdmlzaWJsZSA9IHZpc2libGU7XG4gICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh0aGlzLiN2aXNpYmxlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdmlzaWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy4jdmlzaWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIG9uIHZpc2liaWxpdHkgY2hhbmdlLiBbZG9jc11cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgc2V0IHNpZGViYXJTdGF0ZSh2YWx1ZTogSVNpZGViYXJBY3Rpb24pIHtcbiAgICBjb25zdCBuZXdTdGF0ZSA9IHZhbHVlO1xuICAgIGlmICgndG9nZ2xlJyBpbiBuZXdTdGF0ZSkge1xuICAgICAgaWYgKG5ld1N0YXRlLnRvZ2dsZSA9PT0gJ3Zpc2libGUnKSB7XG4gICAgICAgIG5ld1N0YXRlLnZpc2libGUgPSAhdGhpcy5zdGF0ZS52aXNpYmxlO1xuICAgICAgICB0aGlzLnZpc2libGUgPSBuZXdTdGF0ZS52aXNpYmxlO1xuICAgICAgfSBlbHNlIGlmIChuZXdTdGF0ZS50b2dnbGUgPT09ICd1bmZvbGRhYmxlJykge1xuICAgICAgICBuZXdTdGF0ZS51bmZvbGRhYmxlID0gIXRoaXMuc3RhdGUudW5mb2xkYWJsZTtcbiAgICAgICAgdGhpcy51bmZvbGRhYmxlID0gbmV3U3RhdGUudW5mb2xkYWJsZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aXNpYmxlID0gKG5ld1N0YXRlLnZpc2libGUgPz8gdGhpcy52aXNpYmxlKSAmJiAhdGhpcy5vdmVybGFpZDtcbiAgICB9XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAuLi5uZXdTdGF0ZSxcbiAgICB9O1xuICAgIHRoaXMuc3RhdGUubW9iaWxlICYmIHRoaXMuc3RhdGUudmlzaWJsZVxuICAgICAgPyB0aGlzLmJhY2tkcm9wU2VydmljZS5zZXRCYWNrZHJvcCh0aGlzKVxuICAgICAgOiB0aGlzLmJhY2tkcm9wU2VydmljZS5jbGVhckJhY2tkcm9wKCk7XG4gIH1cblxuICBnZXQgc2lkZWJhclN0YXRlKCk6IElTaWRlYmFyQWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZTtcbiAgfVxuXG4gIGdldCBnZXRNb2JpbGVCcmVha3BvaW50KCk6IHN0cmluZyB7XG4gICAgY29uc3QgZWxlbWVudDogRWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgIGNvbnN0IG1vYmlsZUJyZWFrcG9pbnQgPVxuICAgICAgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctLWN1aS1tb2JpbGUtYnJlYWtwb2ludCcpIHx8XG4gICAgICAnbWQnO1xuICAgIGNvbnN0IGJyZWFrcG9pbnRWYWx1ZSA9XG4gICAgICBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoXG4gICAgICAgIGAtLWN1aS1icmVha3BvaW50LSR7bW9iaWxlQnJlYWtwb2ludC50cmltKCl9YFxuICAgICAgKSB8fCAnNzY4cHgnO1xuICAgIHJldHVybiBgJHtwYXJzZUZsb2F0KGJyZWFrcG9pbnRWYWx1ZS50cmltKCkpIC0gMC4wMn1weGAgfHwgJzc2Ny45OHB4JztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLFxuICAgIHByaXZhdGUgc2lkZWJhclNlcnZpY2U6IFNpZGViYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2Ryb3BTZXJ2aWNlOiBTaWRlYmFyQmFja2Ryb3BTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYmFja2Ryb3BTZXJ2aWNlLnJlbmRlcmVyID0gcmVuZGVyZXI7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGdldENsYXNzZXMoKTogYW55IHtcbiAgICBjb25zdCB7IG1vYmlsZSwgdmlzaWJsZSB9ID0gdGhpcy5zaWRlYmFyU3RhdGU7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNpZGViYXI6IHRydWUsXG4gICAgICAnc2lkZWJhci1maXhlZCc6IHRoaXMucG9zaXRpb24gPT09ICdmaXhlZCcgJiYgIW1vYmlsZSxcbiAgICAgICdzaWRlYmFyLW5hcnJvdyc6IHRoaXMubmFycm93ICYmICF0aGlzLnVuZm9sZGFibGUsXG4gICAgICAnc2lkZWJhci1uYXJyb3ctdW5mb2xkYWJsZSc6IHRoaXMudW5mb2xkYWJsZSxcbiAgICAgICdzaWRlYmFyLW92ZXJsYWlkJzogdGhpcy5vdmVybGFpZCxcbiAgICAgIFtgc2lkZWJhci0ke3RoaXMuc2l6ZX1gXTogISF0aGlzLnNpemUsXG4gICAgICBzaG93OiB2aXNpYmxlICYmIHRoaXMuI29uTW9iaWxlLFxuICAgICAgaGlkZTogIXZpc2libGUsXG4gICAgfTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0SW5pdGlhbFN0YXRlKCk7XG4gICAgdGhpcy5sYXlvdXRDaGFuZ2VTdWJzY3JpYmUoKTtcbiAgICB0aGlzLnN0YXRlVG9nZ2xlU3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlVG9nZ2xlU3Vic2NyaWJlKGZhbHNlKTtcbiAgICB0aGlzLmxheW91dENoYW5nZVN1YnNjcmliZShmYWxzZSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3Qgb2xkU3RhdGVNYXAgPSBuZXcgTWFwKE9iamVjdC5lbnRyaWVzKHRoaXMuc3RhdGUpKTtcbiAgICBjb25zdCBuZXdTdGF0ZU1hcCA9IG5ldyBNYXAoKTtcbiAgICBuZXdTdGF0ZU1hcC5zZXQoJ3NpZGViYXInLCB0aGlzKTtcblxuICAgIGNvbnN0IHByb3BMaXN0ID0gWyd2aXNpYmxlJywgJ3VuZm9sZGFibGUnLCAnbmFycm93J107XG5cbiAgICBmb3IgKGNvbnN0IHByb3BOYW1lIGluIGNoYW5nZXMpIHtcbiAgICAgIGlmIChwcm9wTGlzdC5pbmNsdWRlcyhwcm9wTmFtZSkpIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbcHJvcE5hbWVdICYmICFjaGFuZ2VzW3Byb3BOYW1lXS5maXJzdENoYW5nZSkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGNoYW5nZXNbcHJvcE5hbWVdLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgaWYgKG9sZFN0YXRlTWFwLmdldChwcm9wTmFtZSkgIT09IHZhbHVlKSB7XG4gICAgICAgICAgICBuZXdTdGF0ZU1hcC5zZXQocHJvcE5hbWUsIHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobmV3U3RhdGVNYXAuc2l6ZSA+IDEpIHtcbiAgICAgIGNvbnN0IHN0YXRlID0gT2JqZWN0LmZyb21FbnRyaWVzKG5ld1N0YXRlTWFwLmVudHJpZXMoKSk7XG4gICAgICB0aGlzLnNpZGViYXJTZXJ2aWNlLnRvZ2dsZShzdGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgc2V0SW5pdGlhbFN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuI3N0YXRlSW5pdGlhbCA9IHtcbiAgICAgIG5hcnJvdzogdGhpcy5uYXJyb3csXG4gICAgICB2aXNpYmxlOiB0aGlzLnZpc2libGUsXG4gICAgICB1bmZvbGRhYmxlOiB0aGlzLnVuZm9sZGFibGUsXG4gICAgfTtcbiAgICB0aGlzLnNpZGViYXJTZXJ2aWNlLnRvZ2dsZSh7XG4gICAgICAuLi50aGlzLiNzdGF0ZUluaXRpYWwsXG4gICAgICBzaWRlYmFyOiB0aGlzLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0ZVRvZ2dsZVN1YnNjcmliZShzdWJzY3JpYmU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgaWYgKHN1YnNjcmliZSkge1xuICAgICAgdGhpcy4jc3RhdGVUb2dnbGVTdWJzY3JpcHRpb24gPVxuICAgICAgICB0aGlzLnNpZGViYXJTZXJ2aWNlLnNpZGViYXJTdGF0ZSQuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzID09PSBzdGF0ZS5zaWRlYmFyIHx8IHRoaXMuaWQgPT09IHN0YXRlLmlkKSB7XG4gICAgICAgICAgICB0aGlzLnNpZGViYXJTdGF0ZSA9IHN0YXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI3N0YXRlVG9nZ2xlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbGF5b3V0Q2hhbmdlU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBjb25zdCBvbk1vYmlsZSA9IGAobWF4LXdpZHRoOiAke3RoaXMuZ2V0TW9iaWxlQnJlYWtwb2ludH0pYDtcblxuICAgIGlmIChzdWJzY3JpYmUpIHtcbiAgICAgIGNvbnN0IGxheW91dENoYW5nZXMgPSB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFtvbk1vYmlsZV0pO1xuXG4gICAgICB0aGlzLiNsYXlvdXRDaGFuZ2VTdWJzY3JpcHRpb24gPSBsYXlvdXRDaGFuZ2VzLnN1YnNjcmliZShcbiAgICAgICAgKHJlc3VsdDogQnJlYWtwb2ludFN0YXRlKSA9PiB7XG4gICAgICAgICAgY29uc3QgaXNPbk1vYmlsZSA9IHJlc3VsdC5icmVha3BvaW50c1tvbk1vYmlsZV07XG4gICAgICAgICAgY29uc3QgaXNVbmZvbGRhYmxlID0gaXNPbk1vYmlsZSA/IGZhbHNlIDogdGhpcy51bmZvbGRhYmxlO1xuICAgICAgICAgIGlmICh0aGlzLiNvbk1vYmlsZSAhPT0gaXNPbk1vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy4jb25Nb2JpbGUgPSBpc09uTW9iaWxlO1xuICAgICAgICAgICAgdGhpcy5zaWRlYmFyU2VydmljZS50b2dnbGUoe1xuICAgICAgICAgICAgICBtb2JpbGU6IGlzT25Nb2JpbGUsXG4gICAgICAgICAgICAgIHVuZm9sZGFibGU6IGlzVW5mb2xkYWJsZSxcbiAgICAgICAgICAgICAgdmlzaWJsZTogaXNPbk1vYmlsZSA/ICFpc09uTW9iaWxlIDogdGhpcy4jc3RhdGVJbml0aWFsLnZpc2libGUsXG4gICAgICAgICAgICAgIHNpZGViYXI6IHRoaXMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI2xheW91dENoYW5nZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUlMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQVk1RSxNQUFNLE9BQU8sZ0JBQWdCO0lBc0MzQjs7O09BR0c7SUFDSCxJQUNJLE1BQU0sQ0FBQyxLQUFjO1FBQ3ZCLHVCQUFBLElBQUksNEJBQVcscUJBQXFCLENBQUMsS0FBSyxDQUFDLE1BQUEsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyx1QkFBQSxJQUFJLGdDQUFRLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ0ksUUFBUSxDQUFDLEtBQWM7UUFDekIsdUJBQUEsSUFBSSw4QkFBYSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsTUFBQSxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLHVCQUFBLElBQUksa0NBQVUsQ0FBQztJQUN4QixDQUFDO0lBbUJEOztPQUVHO0lBQ0gsSUFDSSxVQUFVLENBQUMsS0FBYztRQUMzQix1QkFBQSxJQUFJLGdDQUFlLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxNQUFBLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sdUJBQUEsSUFBSSxvQ0FBWSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksT0FB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dCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludFN0YXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSVNpZGViYXJBY3Rpb24sIFNpZGViYXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2lkZWJhci5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZGViYXJCYWNrZHJvcFNlcnZpY2UgfSBmcm9tICcuLi9zaWRlYmFyLWJhY2tkcm9wL3NpZGViYXItYmFja2Ryb3Auc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Mtc2lkZWJhcicsXG4gIGV4cG9ydEFzOiAnY1NpZGViYXInLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxufSlcbmV4cG9ydCBjbGFzcyBTaWRlYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9uYXJyb3c6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX292ZXJsYWlkOiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV91bmZvbGRhYmxlOiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV92aXNpYmxlOiBCb29sZWFuSW5wdXQ7XG5cbiAgI25hcnJvdyA9IGZhbHNlO1xuICAjb3ZlcmxhaWQgPSBmYWxzZTtcbiAgI3VuZm9sZGFibGUgPSBmYWxzZTtcbiAgI3Zpc2libGUgPSBmYWxzZTtcbiAgI29uTW9iaWxlID0gZmFsc2U7XG4gICNsYXlvdXRDaGFuZ2VTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gICNzdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBzdGF0ZTogSVNpZGViYXJBY3Rpb24gPSB7XG4gICAgc2lkZWJhcjogdGhpcyxcbiAgfTtcblxuICAjc3RhdGVJbml0aWFsID0ge1xuICAgIG5hcnJvdzogZmFsc2UsXG4gICAgdmlzaWJsZTogZmFsc2UsXG4gICAgdW5mb2xkYWJsZTogZmFsc2UsXG4gIH07XG5cbiAgLyoqXG4gICAqIFNldHMgaWYgdGhlIGNvbG9yIG9mIHRleHQgc2hvdWxkIGJlIGNvbG9yZWQgZm9yIGEgbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLiBbZG9jc11cbiAgICpcbiAgICogQHR5cGUgJ2RhcmsnIHwgJ2xpZ2h0J1xuICAgKi9cbiAgQElucHV0KCkgY29sb3JTY2hlbWU/OiAnZGFyaycgfCAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKiBTZXRzIGh0bWwgYXR0cmlidXRlIGlkLiBbZG9jc11cbiAgICpcbiAgICogQHR5cGUgc3RyaW5nXG4gICAqL1xuICBASW5wdXQoKSBpZD86IHN0cmluZztcblxuICAvKipcbiAgICogTWFrZSBzaWRlYmFyIG5hcnJvdy4gW2RvY3NdXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBuYXJyb3codmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNuYXJyb3cgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgZ2V0IG5hcnJvdygpIHtcbiAgICByZXR1cm4gdGhpcy4jbmFycm93O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBzaWRlYmFyIHRvIG92ZXJsYWlkIHZhcmlhbnQuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBvdmVybGFpZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI292ZXJsYWlkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIGdldCBvdmVybGFpZCgpIHtcbiAgICByZXR1cm4gdGhpcy4jb3ZlcmxhaWQ7XG4gIH1cblxuICAvKipcbiAgICogQ29tcG9uZW50cyBwbGFjZW1lbnQsIHRoZXJl4oCZcyBubyBkZWZhdWx0IHBsYWNlbWVudC4gW2RvY3NdXG4gICAqIEB0eXBlICdzdGFydCcgfCAnZW5kJ1xuICAgKi9cbiAgQElucHV0KCkgcGxhY2VtZW50PzogJ3N0YXJ0JyB8ICdlbmQnO1xuXG4gIC8qKlxuICAgKiBQbGFjZSBzaWRlYmFyIGluIG5vbi1zdGF0aWMgcG9zaXRpb25zLiBbZG9jc11cbiAgICogQGRlZmF1bHQgJ2ZpeGVkJ1xuICAgKi9cbiAgQElucHV0KCkgcG9zaXRpb246ICdmaXhlZCcgfCAnc3RpY2t5JyA9ICdmaXhlZCc7XG5cbiAgLyoqXG4gICAqIFNpemUgdGhlIGNvbXBvbmVudCBzbWFsbCwgbGFyZ2UsIG9yIGV4dHJhIGxhcmdlLiBbZG9jc11cbiAgICovXG4gIEBJbnB1dCgpIHNpemU/OiAnc20nIHwgJ2xnJyB8ICd4bCc7XG5cbiAgLyoqXG4gICAqIEV4cGFuZCBuYXJyb3dlZCBzaWRlYmFyIG9uIGhvdmVyLiBbZG9jc11cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCB1bmZvbGRhYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jdW5mb2xkYWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgdW5mb2xkYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy4jdW5mb2xkYWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIHZpc2liaWxpdHkgb2Ygc2lkZWJhciBjb21wb25lbnQuIFtkb2NzXVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBjb25zdCB2aXNpYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAodGhpcy4jdmlzaWJsZSAhPT0gdmlzaWJsZSkge1xuICAgICAgdGhpcy4jdmlzaWJsZSA9IHZpc2libGU7XG4gICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh0aGlzLiN2aXNpYmxlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdmlzaWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy4jdmlzaWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIG9uIHZpc2liaWxpdHkgY2hhbmdlLiBbZG9jc11cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgc2V0IHNpZGViYXJTdGF0ZSh2YWx1ZTogSVNpZGViYXJBY3Rpb24pIHtcbiAgICBjb25zdCBuZXdTdGF0ZSA9IHZhbHVlO1xuICAgIGlmICgndG9nZ2xlJyBpbiBuZXdTdGF0ZSkge1xuICAgICAgaWYgKG5ld1N0YXRlLnRvZ2dsZSA9PT0gJ3Zpc2libGUnKSB7XG4gICAgICAgIG5ld1N0YXRlLnZpc2libGUgPSAhdGhpcy5zdGF0ZS52aXNpYmxlO1xuICAgICAgICB0aGlzLnZpc2libGUgPSBuZXdTdGF0ZS52aXNpYmxlO1xuICAgICAgfSBlbHNlIGlmIChuZXdTdGF0ZS50b2dnbGUgPT09ICd1bmZvbGRhYmxlJykge1xuICAgICAgICBuZXdTdGF0ZS51bmZvbGRhYmxlID0gIXRoaXMuc3RhdGUudW5mb2xkYWJsZTtcbiAgICAgICAgdGhpcy51bmZvbGRhYmxlID0gbmV3U3RhdGUudW5mb2xkYWJsZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aXNpYmxlID0gKG5ld1N0YXRlLnZpc2libGUgPz8gdGhpcy52aXNpYmxlKSAmJiAhdGhpcy5vdmVybGFpZDtcbiAgICB9XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAuLi5uZXdTdGF0ZSxcbiAgICB9O1xuICAgIHRoaXMuc3RhdGUubW9iaWxlICYmIHRoaXMuc3RhdGUudmlzaWJsZVxuICAgICAgPyB0aGlzLmJhY2tkcm9wU2VydmljZS5zZXRCYWNrZHJvcCh0aGlzKVxuICAgICAgOiB0aGlzLmJhY2tkcm9wU2VydmljZS5jbGVhckJhY2tkcm9wKCk7XG4gIH1cblxuICBnZXQgc2lkZWJhclN0YXRlKCk6IElTaWRlYmFyQWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZTtcbiAgfVxuXG4gIGdldCBnZXRNb2JpbGVCcmVha3BvaW50KCk6IHN0cmluZyB7XG4gICAgY29uc3QgZWxlbWVudDogRWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgIGNvbnN0IG1vYmlsZUJyZWFrcG9pbnQgPVxuICAgICAgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctLWN1aS1tb2JpbGUtYnJlYWtwb2ludCcpIHx8XG4gICAgICAnbWQnO1xuICAgIGNvbnN0IGJyZWFrcG9pbnRWYWx1ZSA9XG4gICAgICBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoXG4gICAgICAgIGAtLWN1aS1icmVha3BvaW50LSR7bW9iaWxlQnJlYWtwb2ludC50cmltKCl9YFxuICAgICAgKSB8fCAnNzY4cHgnO1xuICAgIHJldHVybiBgJHtwYXJzZUZsb2F0KGJyZWFrcG9pbnRWYWx1ZS50cmltKCkpIC0gMC4wMn1weGAgfHwgJzc2Ny45OHB4JztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLFxuICAgIHByaXZhdGUgc2lkZWJhclNlcnZpY2U6IFNpZGViYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2Ryb3BTZXJ2aWNlOiBTaWRlYmFyQmFja2Ryb3BTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYmFja2Ryb3BTZXJ2aWNlLnJlbmRlcmVyID0gcmVuZGVyZXI7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGdldENsYXNzZXMoKTogYW55IHtcbiAgICBjb25zdCB7IG1vYmlsZSwgdmlzaWJsZSB9ID0gdGhpcy5zaWRlYmFyU3RhdGU7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNpZGViYXI6IHRydWUsXG4gICAgICAnc2lkZWJhci1maXhlZCc6IHRoaXMucG9zaXRpb24gPT09ICdmaXhlZCcgJiYgIW1vYmlsZSxcbiAgICAgICdzaWRlYmFyLW5hcnJvdyc6IHRoaXMubmFycm93ICYmICF0aGlzLnVuZm9sZGFibGUsXG4gICAgICAnc2lkZWJhci1uYXJyb3ctdW5mb2xkYWJsZSc6IHRoaXMudW5mb2xkYWJsZSxcbiAgICAgICdzaWRlYmFyLW92ZXJsYWlkJzogdGhpcy5vdmVybGFpZCxcbiAgICAgIFtgc2lkZWJhci0ke3RoaXMuc2l6ZX1gXTogISF0aGlzLnNpemUsXG4gICAgICBzaG93OiB2aXNpYmxlICYmIHRoaXMuI29uTW9iaWxlLFxuICAgICAgaGlkZTogIXZpc2libGUsXG4gICAgfTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0SW5pdGlhbFN0YXRlKCk7XG4gICAgdGhpcy5sYXlvdXRDaGFuZ2VTdWJzY3JpYmUoKTtcbiAgICB0aGlzLnN0YXRlVG9nZ2xlU3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlVG9nZ2xlU3Vic2NyaWJlKGZhbHNlKTtcbiAgICB0aGlzLmxheW91dENoYW5nZVN1YnNjcmliZShmYWxzZSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3Qgb2xkU3RhdGVNYXAgPSBuZXcgTWFwKE9iamVjdC5lbnRyaWVzKHRoaXMuc3RhdGUpKTtcbiAgICBjb25zdCBuZXdTdGF0ZU1hcCA9IG5ldyBNYXAoKTtcbiAgICBuZXdTdGF0ZU1hcC5zZXQoJ3NpZGViYXInLCB0aGlzKTtcblxuICAgIGNvbnN0IHByb3BMaXN0ID0gWyd2aXNpYmxlJywgJ3VuZm9sZGFibGUnLCAnbmFycm93J107XG5cbiAgICBmb3IgKGNvbnN0IHByb3BOYW1lIGluIGNoYW5nZXMpIHtcbiAgICAgIGlmIChwcm9wTGlzdC5pbmNsdWRlcyhwcm9wTmFtZSkpIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbcHJvcE5hbWVdICYmICFjaGFuZ2VzW3Byb3BOYW1lXS5maXJzdENoYW5nZSkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGNoYW5nZXNbcHJvcE5hbWVdLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgaWYgKG9sZFN0YXRlTWFwLmdldChwcm9wTmFtZSkgIT09IHZhbHVlKSB7XG4gICAgICAgICAgICBuZXdTdGF0ZU1hcC5zZXQocHJvcE5hbWUsIHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobmV3U3RhdGVNYXAuc2l6ZSA+IDEpIHtcbiAgICAgIGNvbnN0IHN0YXRlID0gT2JqZWN0LmZyb21FbnRyaWVzKG5ld1N0YXRlTWFwLmVudHJpZXMoKSk7XG4gICAgICB0aGlzLnNpZGViYXJTZXJ2aWNlLnRvZ2dsZShzdGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgc2V0SW5pdGlhbFN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuI3N0YXRlSW5pdGlhbCA9IHtcbiAgICAgIG5hcnJvdzogdGhpcy5uYXJyb3csXG4gICAgICB2aXNpYmxlOiB0aGlzLnZpc2libGUsXG4gICAgICB1bmZvbGRhYmxlOiB0aGlzLnVuZm9sZGFibGUsXG4gICAgfTtcbiAgICB0aGlzLnNpZGViYXJTZXJ2aWNlLnRvZ2dsZSh7XG4gICAgICAuLi50aGlzLiNzdGF0ZUluaXRpYWwsXG4gICAgICBzaWRlYmFyOiB0aGlzLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0ZVRvZ2dsZVN1YnNjcmliZShzdWJzY3JpYmU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgaWYgKHN1YnNjcmliZSkge1xuICAgICAgdGhpcy4jc3RhdGVUb2dnbGVTdWJzY3JpcHRpb24gPVxuICAgICAgICB0aGlzLnNpZGViYXJTZXJ2aWNlLnNpZGViYXJTdGF0ZSQuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzID09PSBzdGF0ZS5zaWRlYmFyIHx8IHRoaXMuaWQgPT09IHN0YXRlLmlkKSB7XG4gICAgICAgICAgICB0aGlzLnNpZGViYXJTdGF0ZSA9IHN0YXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI3N0YXRlVG9nZ2xlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIGxheW91dENoYW5nZVN1YnNjcmliZShzdWJzY3JpYmU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgY29uc3Qgb25Nb2JpbGUgPSBgKG1heC13aWR0aDogJHt0aGlzLmdldE1vYmlsZUJyZWFrcG9pbnR9KWA7XG5cbiAgICBpZiAoc3Vic2NyaWJlKSB7XG4gICAgICBjb25zdCBsYXlvdXRDaGFuZ2VzID0gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShbb25Nb2JpbGVdKTtcblxuICAgICAgdGhpcy4jbGF5b3V0Q2hhbmdlU3Vic2NyaXB0aW9uID0gbGF5b3V0Q2hhbmdlcy5zdWJzY3JpYmUoXG4gICAgICAgIChyZXN1bHQ6IEJyZWFrcG9pbnRTdGF0ZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGlzT25Nb2JpbGUgPSByZXN1bHQuYnJlYWtwb2ludHNbb25Nb2JpbGVdO1xuICAgICAgICAgIGNvbnN0IGlzVW5mb2xkYWJsZSA9IGlzT25Nb2JpbGUgPyBmYWxzZSA6IHRoaXMudW5mb2xkYWJsZTtcbiAgICAgICAgICBpZiAodGhpcy4jb25Nb2JpbGUgIT09IGlzT25Nb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuI29uTW9iaWxlID0gaXNPbk1vYmlsZTtcbiAgICAgICAgICAgIHRoaXMuc2lkZWJhclNlcnZpY2UudG9nZ2xlKHtcbiAgICAgICAgICAgICAgbW9iaWxlOiBpc09uTW9iaWxlLFxuICAgICAgICAgICAgICB1bmZvbGRhYmxlOiBpc1VuZm9sZGFibGUsXG4gICAgICAgICAgICAgIHZpc2libGU6IGlzT25Nb2JpbGUgPyAhaXNPbk1vYmlsZSA6IHRoaXMuI3N0YXRlSW5pdGlhbC52aXNpYmxlLFxuICAgICAgICAgICAgICBzaWRlYmFyOiB0aGlzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNsYXlvdXRDaGFuZ2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -5187,6 +5187,13 @@ class BackdropService {
5187
5187
  this.backdropClick$ = this.backdropClick.asObservable();
5188
5188
  this.renderer = rendererFactory.createRenderer(null, null);
5189
5189
  }
5190
+ get scrollbarWidth() {
5191
+ var _a;
5192
+ // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
5193
+ const documentWidth = this.document.documentElement.clientWidth;
5194
+ const scrollbarWidth = Math.abs(((_a = window === null || window === void 0 ? void 0 : window.innerWidth) !== null && _a !== void 0 ? _a : documentWidth) - documentWidth);
5195
+ return `${scrollbarWidth}px`;
5196
+ }
5190
5197
  setBackdrop(type = 'modal') {
5191
5198
  const backdropElement = this.renderer.createElement('div');
5192
5199
  this.renderer.addClass(backdropElement, `${type}-backdrop`);
@@ -5223,7 +5230,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
5223
5230
  providedIn: 'root'
5224
5231
  }]
5225
5232
  }], ctorParameters: function () {
5226
- return [{ type: undefined, decorators: [{
5233
+ return [{ type: Document, decorators: [{
5227
5234
  type: Inject,
5228
5235
  args: [DOCUMENT]
5229
5236
  }] }, { type: i0.RendererFactory2 }];
@@ -5328,15 +5335,8 @@ class ModalComponent {
5328
5335
  set show(value) {
5329
5336
  this._show = value;
5330
5337
  }
5331
- get scrollbarWidth() {
5332
- var _a;
5333
- // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
5334
- const documentWidth = this.document.documentElement.clientWidth;
5335
- const scrollbarWidth = Math.abs(((_a = window === null || window === void 0 ? void 0 : window.innerWidth) !== null && _a !== void 0 ? _a : documentWidth) - documentWidth);
5336
- return `${scrollbarWidth}px`;
5337
- }
5338
5338
  animateStart(event) {
5339
- const scrollbarWidth = this.scrollbarWidth;
5339
+ const scrollbarWidth = this.backdropService.scrollbarWidth;
5340
5340
  if (event.toState === 'visible') {
5341
5341
  this.renderer.setStyle(this.document.body, 'overflow', 'hidden');
5342
5342
  this.renderer.setStyle(this.document.body, 'padding-right', scrollbarWidth);
@@ -5606,18 +5606,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
5606
5606
  }]
5607
5607
  }], ctorParameters: function () { return []; } });
5608
5608
 
5609
+ var _OffcanvasComponent_scroll, _OffcanvasComponent_visible, _OffcanvasComponent_activeBackdrop, _OffcanvasComponent_scrollbarWidth, _OffcanvasComponent_stateToggleSubscription, _OffcanvasComponent_backdropClickSubscription, _OffcanvasComponent_layoutChangeSubscription, _OffcanvasComponent_show;
5609
5610
  let nextId = 0;
5610
5611
  class OffcanvasComponent {
5611
- constructor(document, platformId, renderer, hostElement, offcanvasService, backdropService) {
5612
+ constructor(document, platformId, renderer, hostElement, offcanvasService, backdropService, breakpointObserver) {
5612
5613
  this.document = document;
5613
5614
  this.platformId = platformId;
5614
5615
  this.renderer = renderer;
5615
5616
  this.hostElement = hostElement;
5616
5617
  this.offcanvasService = offcanvasService;
5617
5618
  this.backdropService = backdropService;
5619
+ this.breakpointObserver = breakpointObserver;
5618
5620
  /**
5619
5621
  * Apply a backdrop on body while offcanvas is open.
5620
- * @type boolean
5622
+ * @type boolean | 'static'
5621
5623
  * @default true
5622
5624
  */
5623
5625
  this.backdrop = true;
@@ -5633,7 +5635,14 @@ class OffcanvasComponent {
5633
5635
  * @default 'start'
5634
5636
  */
5635
5637
  this.placement = 'start';
5636
- this._scroll = false;
5638
+ /**
5639
+ * Responsive offcanvas property hides content outside the viewport from a specified breakpoint and down.
5640
+ * @type boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
5641
+ * @default true
5642
+ * @since 4.3.10
5643
+ */
5644
+ this.responsive = true;
5645
+ _OffcanvasComponent_scroll.set(this, false);
5637
5646
  this.id = `offcanvas-${this.placement}-${nextId++}`;
5638
5647
  /**
5639
5648
  * Default role for offcanvas. [docs]
@@ -5647,169 +5656,224 @@ class OffcanvasComponent {
5647
5656
  * @default true
5648
5657
  */
5649
5658
  this.ariaModal = true;
5659
+ _OffcanvasComponent_visible.set(this, false);
5650
5660
  /**
5651
5661
  * Event triggered on visible change.
5652
5662
  */
5653
5663
  this.visibleChange = new EventEmitter();
5664
+ _OffcanvasComponent_activeBackdrop.set(this, void 0);
5665
+ _OffcanvasComponent_scrollbarWidth.set(this, void 0);
5666
+ _OffcanvasComponent_stateToggleSubscription.set(this, void 0);
5667
+ _OffcanvasComponent_backdropClickSubscription.set(this, void 0);
5668
+ _OffcanvasComponent_layoutChangeSubscription.set(this, void 0);
5669
+ _OffcanvasComponent_show.set(this, false);
5654
5670
  }
5655
5671
  /**
5656
5672
  * Allow body scrolling while offcanvas is visible.
5657
5673
  * @type boolean
5674
+ * @default false
5658
5675
  */
5659
5676
  set scroll(value) {
5660
- this._scroll = coerceBooleanProperty(value);
5677
+ __classPrivateFieldSet(this, _OffcanvasComponent_scroll, coerceBooleanProperty(value), "f");
5661
5678
  }
5662
- ;
5663
5679
  get scroll() {
5664
- return this._scroll;
5680
+ return __classPrivateFieldGet(this, _OffcanvasComponent_scroll, "f");
5665
5681
  }
5666
5682
  /**
5667
5683
  * Toggle the visibility of offcanvas component.
5668
5684
  * @type boolean
5685
+ * @default false
5669
5686
  */
5670
5687
  set visible(value) {
5671
- this._visible = coerceBooleanProperty(value);
5672
- if (value) {
5688
+ __classPrivateFieldSet(this, _OffcanvasComponent_visible, coerceBooleanProperty(value), "f");
5689
+ if (__classPrivateFieldGet(this, _OffcanvasComponent_visible, "f")) {
5673
5690
  this.setBackdrop(this.backdrop);
5674
5691
  this.setFocus();
5675
5692
  }
5676
5693
  else {
5677
5694
  this.setBackdrop(false);
5678
5695
  }
5679
- this.setScroll();
5696
+ this.layoutChangeSubscribe(__classPrivateFieldGet(this, _OffcanvasComponent_visible, "f"));
5680
5697
  this.visibleChange.emit(value);
5681
5698
  }
5682
5699
  get visible() {
5683
- return this._visible;
5700
+ return __classPrivateFieldGet(this, _OffcanvasComponent_visible, "f");
5684
5701
  }
5685
5702
  get hostClasses() {
5686
5703
  return {
5687
- offcanvas: true,
5704
+ offcanvas: typeof this.responsive === 'boolean',
5705
+ [`offcanvas-${this.responsive}`]: typeof this.responsive !== 'boolean',
5688
5706
  [`offcanvas-${this.placement}`]: !!this.placement,
5689
- show: this.visible,
5707
+ show: this.show
5690
5708
  };
5691
5709
  }
5692
5710
  get ariaHidden() {
5693
5711
  return this.visible ? null : true;
5694
5712
  }
5695
- ;
5696
5713
  get tabIndex() {
5697
5714
  return '-1';
5698
5715
  }
5699
- get animateType() {
5700
- return this.visible;
5716
+ get animateTrigger() {
5717
+ return this.visible ? 'visible' : 'hidden';
5718
+ }
5719
+ get show() {
5720
+ return this.visible && __classPrivateFieldGet(this, _OffcanvasComponent_show, "f");
5721
+ }
5722
+ set show(value) {
5723
+ __classPrivateFieldSet(this, _OffcanvasComponent_show, value, "f");
5724
+ }
5725
+ animateStart(event) {
5726
+ const scrollbarWidth = __classPrivateFieldGet(this, _OffcanvasComponent_scrollbarWidth, "f");
5727
+ if (event.toState === 'visible') {
5728
+ if (!this.scroll) {
5729
+ this.renderer.setStyle(this.document.body, 'overflow', 'hidden');
5730
+ this.renderer.setStyle(this.document.body, 'padding-right', scrollbarWidth);
5731
+ }
5732
+ this.renderer.addClass(this.hostElement.nativeElement, 'showing');
5733
+ }
5734
+ else {
5735
+ this.renderer.addClass(this.hostElement.nativeElement, 'hiding');
5736
+ }
5737
+ }
5738
+ animateDone(event) {
5739
+ setTimeout(() => {
5740
+ if (event.toState === 'visible') {
5741
+ this.renderer.removeClass(this.hostElement.nativeElement, 'showing');
5742
+ }
5743
+ if (event.toState === 'hidden') {
5744
+ this.renderer.removeClass(this.hostElement.nativeElement, 'hiding');
5745
+ this.renderer.removeStyle(this.document.body, 'overflow');
5746
+ this.renderer.removeStyle(this.document.body, 'paddingRight');
5747
+ }
5748
+ });
5749
+ this.show = this.visible;
5701
5750
  }
5702
5751
  onKeyDownHandler(event) {
5703
- if (event.key === 'Escape' && this.keyboard && this.visible) {
5752
+ if (event.key === 'Escape' &&
5753
+ this.keyboard &&
5754
+ this.visible &&
5755
+ this.backdrop !== 'static') {
5704
5756
  this.offcanvasService.toggle({ show: false, id: this.id });
5705
5757
  }
5706
5758
  }
5707
5759
  ngOnInit() {
5708
- this.setScroll();
5760
+ __classPrivateFieldSet(this, _OffcanvasComponent_scrollbarWidth, this.backdropService.scrollbarWidth, "f");
5709
5761
  this.stateToggleSubscribe();
5762
+ // hotfix to avoid end offcanvas flicker on first render
5763
+ this.renderer.setStyle(this.hostElement.nativeElement, 'display', 'flex');
5710
5764
  }
5711
5765
  ngOnDestroy() {
5712
5766
  this.offcanvasService.toggle({ show: false, id: this.id });
5713
5767
  this.stateToggleSubscribe(false);
5714
5768
  }
5715
- ngOnChanges(changes) {
5716
- if (changes['scroll']) {
5717
- this.setScroll();
5718
- }
5719
- }
5720
5769
  stateToggleSubscribe(subscribe = true) {
5721
5770
  if (subscribe) {
5722
- this.stateToggleSubscription = this.offcanvasService.offcanvasState$.subscribe((action) => {
5771
+ __classPrivateFieldSet(this, _OffcanvasComponent_stateToggleSubscription, this.offcanvasService.offcanvasState$.subscribe((action) => {
5723
5772
  if (this === action.offcanvas || this.id === action.id) {
5724
5773
  if ('show' in action) {
5725
- this.visible = (action === null || action === void 0 ? void 0 : action.show) === 'toggle' ? !this.visible : action.show;
5774
+ this.visible =
5775
+ (action === null || action === void 0 ? void 0 : action.show) === 'toggle' ? !this.visible : action.show;
5726
5776
  }
5727
5777
  }
5728
- });
5778
+ }), "f");
5729
5779
  }
5730
5780
  else {
5731
- this.stateToggleSubscription.unsubscribe();
5781
+ __classPrivateFieldGet(this, _OffcanvasComponent_stateToggleSubscription, "f").unsubscribe();
5732
5782
  }
5733
5783
  }
5734
5784
  backdropClickSubscribe(subscribe = true) {
5735
5785
  var _a;
5736
5786
  if (subscribe) {
5737
- this.backdropClickSubscription = this.backdropService.backdropClick$.subscribe((clicked) => {
5787
+ __classPrivateFieldSet(this, _OffcanvasComponent_backdropClickSubscription, this.backdropService.backdropClick$.subscribe((clicked) => {
5738
5788
  this.offcanvasService.toggle({ show: !clicked, id: this.id });
5739
- });
5789
+ }), "f");
5740
5790
  }
5741
5791
  else {
5742
- (_a = this.backdropClickSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
5792
+ (_a = __classPrivateFieldGet(this, _OffcanvasComponent_backdropClickSubscription, "f")) === null || _a === void 0 ? void 0 : _a.unsubscribe();
5743
5793
  }
5744
5794
  }
5745
5795
  setBackdrop(setBackdrop) {
5746
- if (setBackdrop) {
5747
- this.activeBackdrop = this.backdropService.setBackdrop('offcanvas');
5748
- this.backdropClickSubscribe();
5749
- }
5750
- else {
5751
- this.activeBackdrop = this.backdropService.clearBackdrop(this.activeBackdrop);
5752
- this.backdropClickSubscribe(false);
5753
- }
5796
+ __classPrivateFieldSet(this, _OffcanvasComponent_scrollbarWidth, this.backdropService.scrollbarWidth, "f");
5797
+ __classPrivateFieldSet(this, _OffcanvasComponent_activeBackdrop, !!setBackdrop ? this.backdropService.setBackdrop('offcanvas')
5798
+ : this.backdropService.clearBackdrop(__classPrivateFieldGet(this, _OffcanvasComponent_activeBackdrop, "f")), "f");
5799
+ setBackdrop === true ? this.backdropClickSubscribe()
5800
+ : this.backdropClickSubscribe(false);
5754
5801
  }
5755
5802
  setFocus() {
5756
5803
  if (isPlatformBrowser(this.platformId)) {
5757
5804
  setTimeout(() => this.hostElement.nativeElement.focus());
5758
5805
  }
5759
5806
  }
5760
- setScroll() {
5761
- if (this.visible) {
5762
- if (!this.scroll) {
5763
- this.renderer.setStyle(this.document.body, 'overflow', 'hidden');
5764
- this.renderer.setStyle(this.document.body, 'paddingRight.px', '0');
5807
+ get responsiveBreakpoint() {
5808
+ if (typeof this.responsive !== 'string') {
5809
+ return false;
5810
+ }
5811
+ const element = this.document.documentElement;
5812
+ const responsiveBreakpoint = this.responsive;
5813
+ const breakpointValue = getComputedStyle(element).getPropertyValue(`--cui-breakpoint-${responsiveBreakpoint.trim()}`) || false;
5814
+ return breakpointValue ? `${parseFloat(breakpointValue.trim()) - 0.02}px` : false;
5815
+ }
5816
+ layoutChangeSubscribe(subscribe = true) {
5817
+ var _a;
5818
+ if (subscribe) {
5819
+ if (!this.responsiveBreakpoint) {
5820
+ return;
5765
5821
  }
5766
- return;
5822
+ const responsiveBreakpoint = `(max-width: ${this.responsiveBreakpoint})`;
5823
+ const layoutChanges = this.breakpointObserver.observe([responsiveBreakpoint]);
5824
+ __classPrivateFieldSet(this, _OffcanvasComponent_layoutChangeSubscription, layoutChanges
5825
+ .pipe(filter(breakpointState => !breakpointState.matches))
5826
+ .subscribe((breakpointState) => {
5827
+ this.visible = breakpointState.matches;
5828
+ }), "f");
5767
5829
  }
5768
- if (!this.scroll) {
5769
- this.renderer.removeStyle(this.document.body, 'overflow');
5770
- this.renderer.removeStyle(this.document.body, 'paddingRight');
5830
+ else {
5831
+ (_a = __classPrivateFieldGet(this, _OffcanvasComponent_layoutChangeSubscription, "f")) === null || _a === void 0 ? void 0 : _a.unsubscribe();
5771
5832
  }
5772
5833
  }
5773
5834
  }
5774
- OffcanvasComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: OffcanvasComponent, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: OffcanvasService }, { token: BackdropService }], target: i0.ɵɵFactoryTarget.Component });
5775
- OffcanvasComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", 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: i3$1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
5835
+ _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();
5836
+ OffcanvasComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", 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 });
5837
+ OffcanvasComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", 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: i3$1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
5776
5838
  trigger('showHide', [
5777
- state('true', style({
5778
- visibility: 'visible',
5839
+ state('visible', style({
5840
+ // visibility: 'visible'
5779
5841
  })),
5780
- state('false', style({
5781
- visibility: 'hidden',
5842
+ state('hidden', style({
5843
+ // visibility: 'hidden'
5782
5844
  })),
5783
- transition('true => false', [animate('300ms')]),
5784
- ]),
5845
+ transition('visible <=> *', [animate('300ms')])
5846
+ ])
5785
5847
  ] });
5786
5848
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: OffcanvasComponent, decorators: [{
5787
5849
  type: Component,
5788
5850
  args: [{ selector: 'c-offcanvas', animations: [
5789
5851
  trigger('showHide', [
5790
- state('true', style({
5791
- visibility: 'visible',
5852
+ state('visible', style({
5853
+ // visibility: 'visible'
5792
5854
  })),
5793
- state('false', style({
5794
- visibility: 'hidden',
5855
+ state('hidden', style({
5856
+ // visibility: 'hidden'
5795
5857
  })),
5796
- transition('true => false', [animate('300ms')]),
5797
- ]),
5798
- ], exportAs: 'cOffcanvas', template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n" }]
5858
+ transition('visible <=> *', [animate('300ms')])
5859
+ ])
5860
+ ], exportAs: 'cOffcanvas', template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n", styles: [":host{display:none}\n"] }]
5799
5861
  }], ctorParameters: function () {
5800
- return [{ type: undefined, decorators: [{
5862
+ return [{ type: Document, decorators: [{
5801
5863
  type: Inject,
5802
5864
  args: [DOCUMENT]
5803
5865
  }] }, { type: undefined, decorators: [{
5804
5866
  type: Inject,
5805
5867
  args: [PLATFORM_ID]
5806
- }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: OffcanvasService }, { type: BackdropService }];
5868
+ }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: OffcanvasService }, { type: BackdropService }, { type: i1$2.BreakpointObserver }];
5807
5869
  }, propDecorators: { backdrop: [{
5808
5870
  type: Input
5809
5871
  }], keyboard: [{
5810
5872
  type: Input
5811
5873
  }], placement: [{
5812
5874
  type: Input
5875
+ }], responsive: [{
5876
+ type: Input
5813
5877
  }], scroll: [{
5814
5878
  type: Input
5815
5879
  }], id: [{
@@ -5837,9 +5901,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
5837
5901
  }], tabIndex: [{
5838
5902
  type: HostBinding,
5839
5903
  args: ['attr.tabindex']
5840
- }], animateType: [{
5904
+ }], animateTrigger: [{
5841
5905
  type: HostBinding,
5842
5906
  args: ['@showHide']
5907
+ }], animateStart: [{
5908
+ type: HostListener,
5909
+ args: ['@showHide.start', ['$event']]
5910
+ }], animateDone: [{
5911
+ type: HostListener,
5912
+ args: ['@showHide.done', ['$event']]
5843
5913
  }], onKeyDownHandler: [{
5844
5914
  type: HostListener,
5845
5915
  args: ['document:keydown', ['$event']]
@@ -7068,6 +7138,7 @@ class SidebarComponent {
7068
7138
  this.sidebarService.toggle(Object.assign(Object.assign({}, __classPrivateFieldGet(this, _SidebarComponent_stateInitial, "f")), { sidebar: this }));
7069
7139
  }
7070
7140
  stateToggleSubscribe(subscribe = true) {
7141
+ var _a;
7071
7142
  if (subscribe) {
7072
7143
  __classPrivateFieldSet(this, _SidebarComponent_stateToggleSubscription, this.sidebarService.sidebarState$.subscribe((state) => {
7073
7144
  if (this === state.sidebar || this.id === state.id) {
@@ -7076,7 +7147,7 @@ class SidebarComponent {
7076
7147
  }), "f");
7077
7148
  }
7078
7149
  else {
7079
- __classPrivateFieldGet(this, _SidebarComponent_stateToggleSubscription, "f").unsubscribe();
7150
+ (_a = __classPrivateFieldGet(this, _SidebarComponent_stateToggleSubscription, "f")) === null || _a === void 0 ? void 0 : _a.unsubscribe();
7080
7151
  }
7081
7152
  }
7082
7153
  layoutChangeSubscribe(subscribe = true) {