@coreui/angular 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.
@@ -1,8 +1,8 @@
1
1
  var _SidebarComponent_narrow, _SidebarComponent_overlaid, _SidebarComponent_unfoldable, _SidebarComponent_visible, _SidebarComponent_onMobile, _SidebarComponent_layoutChangeSubscription, _SidebarComponent_stateToggleSubscription, _SidebarComponent_stateInitial;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { Component, EventEmitter, HostBinding, Inject, Input, Output } from "@angular/core";
4
- import { DOCUMENT } from "@angular/common";
5
- import { coerceBooleanProperty } from "@angular/cdk/coercion";
3
+ import { Component, EventEmitter, HostBinding, Inject, Input, Output, } from '@angular/core';
4
+ import { DOCUMENT } from '@angular/common';
5
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/cdk/layout";
8
8
  import * as i2 from "../sidebar.service";
@@ -22,12 +22,12 @@ export class SidebarComponent {
22
22
  _SidebarComponent_layoutChangeSubscription.set(this, void 0);
23
23
  _SidebarComponent_stateToggleSubscription.set(this, void 0);
24
24
  this.state = {
25
- sidebar: this
25
+ sidebar: this,
26
26
  };
27
27
  _SidebarComponent_stateInitial.set(this, {
28
28
  narrow: false,
29
29
  visible: false,
30
- unfoldable: false
30
+ unfoldable: false,
31
31
  });
32
32
  /**
33
33
  * Place sidebar in non-static positions. [docs]
@@ -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) {
@@ -212,7 +212,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
212
212
  args: [{
213
213
  selector: 'c-sidebar',
214
214
  exportAs: 'cSidebar',
215
- template: '<ng-content></ng-content>'
215
+ template: '<ng-content></ng-content>',
216
216
  }]
217
217
  }], ctorParameters: function () { return [{ type: Document, decorators: [{
218
218
  type: Inject,
@@ -241,4 +241,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
241
241
  type: HostBinding,
242
242
  args: ['class']
243
243
  }] } });
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUlMLE1BQU0sRUFHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQVk1RSxNQUFNLE9BQU8sZ0JBQWdCO0lBeUozQixZQUM0QixRQUFrQixFQUNwQyxRQUFtQixFQUNuQixrQkFBc0MsRUFDdEMsY0FBOEIsRUFDOUIsZUFBdUM7UUFKckIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQXhKakQsbUNBQVUsS0FBSyxFQUFDO1FBQ2hCLHFDQUFZLEtBQUssRUFBQztRQUNsQix1Q0FBYyxLQUFLLEVBQUM7UUFDcEIsb0NBQVcsS0FBSyxFQUFDO1FBQ2pCLHFDQUFZLEtBQUssRUFBQztRQUNsQiw2REFBeUM7UUFDekMsNERBQXdDO1FBRXhDLFVBQUssR0FBbUI7WUFDdEIsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDO1FBRUYseUNBQWdCO1lBQ2QsTUFBTSxFQUFFLEtBQUs7WUFDYixPQUFPLEVBQUUsS0FBSztZQUNkLFVBQVUsRUFBRSxLQUFLO1NBQ2xCLEVBQUM7UUFnREY7OztXQUdHO1FBQ00sYUFBUSxHQUF1QixPQUFP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bnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gXCJAYW5ndWxhci9jZGsvY29lcmNpb25cIjtcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludFN0YXRlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9sYXlvdXRcIjtcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5cbmltcG9ydCB7IElTaWRlYmFyQWN0aW9uLCBTaWRlYmFyU2VydmljZSB9IGZyb20gXCIuLi9zaWRlYmFyLnNlcnZpY2VcIjtcbmltcG9ydCB7IFNpZGViYXJCYWNrZHJvcFNlcnZpY2UgfSBmcm9tIFwiLi4vc2lkZWJhci1iYWNrZHJvcC9zaWRlYmFyLWJhY2tkcm9wLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1zaWRlYmFyJyxcbiAgZXhwb3J0QXM6ICdjU2lkZWJhcicsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pidcbn0pXG5leHBvcnQgY2xhc3MgU2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQge1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbmFycm93OiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9vdmVybGFpZDogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfdW5mb2xkYWJsZTogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfdmlzaWJsZTogQm9vbGVhbklucHV0O1xuXG4gICNuYXJyb3cgPSBmYWxzZTtcbiAgI292ZXJsYWlkID0gZmFsc2U7XG4gICN1bmZvbGRhYmxlID0gZmFsc2U7XG4gICN2aXNpYmxlID0gZmFsc2U7XG4gICNvbk1vYmlsZSA9IGZhbHNlO1xuICAjbGF5b3V0Q2hhbmdlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICAjc3RhdGVUb2dnbGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgc3RhdGU6IElTaWRlYmFyQWN0aW9uID0ge1xuICAgIHNpZGViYXI6IHRoaXNcbiAgfTtcblxuICAjc3RhdGVJbml0aWFsID0ge1xuICAgIG5hcnJvdzogZmFsc2UsXG4gICAgdmlzaWJsZTogZmFsc2UsXG4gICAgdW5mb2xkYWJsZTogZmFsc2VcbiAgfTtcblxuICAvKipcbiAgICogU2V0cyBpZiB0aGUgY29sb3Igb2YgdGV4dCBzaG91bGQgYmUgY29sb3JlZCBmb3IgYSBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuIFtkb2NzXVxuICAgKlxuICAgKiBAdHlwZSAnZGFyaycgfCAnbGlnaHQnXG4gICAqL1xuICBASW5wdXQoKSBjb2xvclNjaGVtZT86ICdkYXJrJyB8ICdsaWdodCc7XG5cbiAgLyoqXG4gICAqIFNldHMgaHRtbCBhdHRyaWJ1dGUgaWQuIFtkb2NzXVxuICAgKlxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICovXG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNYWtlIHNpZGViYXIgbmFycm93LiBbZG9jc11cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG5hcnJvdyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI25hcnJvdyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgbmFycm93KCkge1xuICAgIHJldHVybiB0aGlzLiNuYXJyb3c7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHNpZGViYXIgdG8gb3ZlcmxhaWQgdmFyaWFudC5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG92ZXJsYWlkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jb3ZlcmxhaWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgZ2V0IG92ZXJsYWlkKCkge1xuICAgIHJldHVybiB0aGlzLiNvdmVybGFpZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wb25lbnRzIHBsYWNlbWVudCwgdGhlcmXigJlzIG5vIGRlZmF1bHQgcGxhY2VtZW50LiBbZG9jc11cbiAgICogQHR5cGUgJ3N0YXJ0JyB8ICdlbmQnXG4gICAqL1xuICBASW5wdXQoKSBwbGFjZW1lbnQ/OiAnc3RhcnQnIHwgJ2VuZCc7XG5cbiAgLyoqXG4gICAqIFBsYWNlIHNpZGViYXIgaW4gbm9uLXN0YXRpYyBwb3NpdGlvbnMuIFtkb2NzXVxuICAgKiBAZGVmYXVsdCAnZml4ZWQnXG4gICAqL1xuICBASW5wdXQoKSBwb3NpdGlvbjogJ2ZpeGVkJyB8ICdzdGlja3knID0gJ2ZpeGVkJztcblxuICAvKipcbiAgICogU2l6ZSB0aGUgY29tcG9uZW50IHNtYWxsLCBsYXJnZSwgb3IgZXh0cmEgbGFyZ2UuIFtkb2NzXVxuICAgKi9cbiAgQElucHV0KCkgc2l6ZT86ICdzbScgfCAnbGcnIHwgJ3hsJztcblxuICAvKipcbiAgICogRXhwYW5kIG5hcnJvd2VkIHNpZGViYXIgb24gaG92ZXIuIFtkb2NzXVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHVuZm9sZGFibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiN1bmZvbGRhYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIGdldCB1bmZvbGRhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLiN1bmZvbGRhYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiBzaWRlYmFyIGNvbXBvbmVudC4gW2RvY3NdXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGNvbnN0IHZpc2libGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIGlmICh0aGlzLiN2aXNpYmxlICE9PSB2aXNpYmxlKSB7XG4gICAgICB0aGlzLiN2aXNpYmxlID0gdmlzaWJsZTtcbiAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuI3Zpc2libGUpO1xuICAgIH1cbiAgfVxuXG4gIGdldCB2aXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLiN2aXNpYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgb24gdmlzaWJpbGl0eSBjaGFuZ2UuIFtkb2NzXVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBzZXQgc2lkZWJhclN0YXRlKHZhbHVlOiBJU2lkZWJhckFjdGlvbikge1xuICAgIGNvbnN0IG5ld1N0YXRlID0gdmFsdWU7XG4gICAgaWYgKCd0b2dnbGUnIGluIG5ld1N0YXRlKSB7XG4gICAgICBpZiAobmV3U3RhdGUudG9nZ2xlID09PSAndmlzaWJsZScpIHtcbiAgICAgICAgbmV3U3RhdGUudmlzaWJsZSA9ICF0aGlzLnN0YXRlLnZpc2libGU7XG4gICAgICAgIHRoaXMudmlzaWJsZSA9IG5ld1N0YXRlLnZpc2libGU7XG4gICAgICB9IGVsc2UgaWYgKG5ld1N0YXRlLnRvZ2dsZSA9PT0gJ3VuZm9sZGFibGUnKSB7XG4gICAgICAgIG5ld1N0YXRlLnVuZm9sZGFibGUgPSAhdGhpcy5zdGF0ZS51bmZvbGRhYmxlO1xuICAgICAgICB0aGlzLnVuZm9sZGFibGUgPSBuZXdTdGF0ZS51bmZvbGRhYmxlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpc2libGUgPSAobmV3U3RhdGUudmlzaWJsZSA/PyB0aGlzLnZpc2libGUpICYmICF0aGlzLm92ZXJsYWlkO1xuICAgIH1cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgIC4uLm5ld1N0YXRlLFxuICAgIH07XG4gICAgdGhpcy5zdGF0ZS5tb2JpbGUgJiYgdGhpcy5zdGF0ZS52aXNpYmxlXG4gICAgICA/IHRoaXMuYmFja2Ryb3BTZXJ2aWNlLnNldEJhY2tkcm9wKHRoaXMpXG4gICAgICA6IHRoaXMuYmFja2Ryb3BTZXJ2aWNlLmNsZWFyQmFja2Ryb3AoKTtcbiAgfVxuXG4gIGdldCBzaWRlYmFyU3RhdGUoKTogSVNpZGViYXJBY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlO1xuICB9XG5cbiAgZ2V0IGdldE1vYmlsZUJyZWFrcG9pbnQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBlbGVtZW50OiBFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgY29uc3QgbW9iaWxlQnJlYWtwb2ludCA9XG4gICAgICBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tY3VpLW1vYmlsZS1icmVha3BvaW50JykgfHxcbiAgICAgICdtZCc7XG4gICAgY29uc3QgYnJlYWtwb2ludFZhbHVlID1cbiAgICAgIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShcbiAgICAgICAgYC0tY3VpLWJyZWFrcG9pbnQtJHttb2JpbGVCcmVha3BvaW50LnRyaW0oKX1gXG4gICAgICApIHx8ICc3NjhweCc7XG4gICAgcmV0dXJuIGAke3BhcnNlRmxvYXQoYnJlYWtwb2ludFZhbHVlLnRyaW0oKSkgLSAwLjAyfXB4YCB8fCAnNzY3Ljk4cHgnO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgcHJpdmF0ZSBzaWRlYmFyU2VydmljZTogU2lkZWJhclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYWNrZHJvcFNlcnZpY2U6IFNpZGViYXJCYWNrZHJvcFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5iYWNrZHJvcFNlcnZpY2UucmVuZGVyZXIgPSByZW5kZXJlcjtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgZ2V0Q2xhc3NlcygpOiBhbnkge1xuICAgIGNvbnN0IHsgbW9iaWxlLCB2aXNpYmxlIH0gPSB0aGlzLnNpZGViYXJTdGF0ZTtcbiAgICByZXR1cm4ge1xuICAgICAgc2lkZWJhcjogdHJ1ZSxcbiAgICAgICdzaWRlYmFyLWZpeGVkJzogdGhpcy5wb3NpdGlvbiA9PT0gJ2ZpeGVkJyAmJiAhbW9iaWxlLFxuICAgICAgJ3NpZGViYXItbmFycm93JzogdGhpcy5uYXJyb3cgJiYgIXRoaXMudW5mb2xkYWJsZSxcbiAgICAgICdzaWRlYmFyLW5hcnJvdy11bmZvbGRhYmxlJzogdGhpcy51bmZvbGRhYmxlLFxuICAgICAgJ3NpZGViYXItb3ZlcmxhaWQnOiB0aGlzLm92ZXJsYWlkLFxuICAgICAgW2BzaWRlYmFyLSR7dGhpcy5zaXplfWBdOiAhIXRoaXMuc2l6ZSxcbiAgICAgIHNob3c6IHZpc2libGUgJiYgdGhpcy4jb25Nb2JpbGUsXG4gICAgICBoaWRlOiAhdmlzaWJsZSxcbiAgICB9O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRJbml0aWFsU3RhdGUoKTtcbiAgICB0aGlzLmxheW91dENoYW5nZVN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3RhdGVUb2dnbGVTdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVUb2dnbGVTdWJzY3JpYmUoZmFsc2UpO1xuICAgIHRoaXMubGF5b3V0Q2hhbmdlU3Vic2NyaWJlKGZhbHNlKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCBvbGRTdGF0ZU1hcCA9IG5ldyBNYXAoT2JqZWN0LmVudHJpZXModGhpcy5zdGF0ZSkpO1xuICAgIGNvbnN0IG5ld1N0YXRlTWFwID0gbmV3IE1hcCgpO1xuICAgIG5ld1N0YXRlTWFwLnNldCgnc2lkZWJhcicsIHRoaXMpO1xuXG4gICAgY29uc3QgcHJvcExpc3QgPSBbJ3Zpc2libGUnLCAndW5mb2xkYWJsZScsICduYXJyb3cnXTtcblxuICAgIGZvciAoY29uc3QgcHJvcE5hbWUgaW4gY2hhbmdlcykge1xuICAgICAgaWYgKHByb3BMaXN0LmluY2x1ZGVzKHByb3BOYW1lKSkge1xuICAgICAgICBpZiAoY2hhbmdlc1twcm9wTmFtZV0gJiYgIWNoYW5nZXNbcHJvcE5hbWVdLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoY2hhbmdlc1twcm9wTmFtZV0uY3VycmVudFZhbHVlKTtcbiAgICAgICAgICBpZiAob2xkU3RhdGVNYXAuZ2V0KHByb3BOYW1lKSAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgIG5ld1N0YXRlTWFwLnNldChwcm9wTmFtZSwgdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChuZXdTdGF0ZU1hcC5zaXplID4gMSkge1xuICAgICAgY29uc3Qgc3RhdGUgPSBPYmplY3QuZnJvbUVudHJpZXMobmV3U3RhdGVNYXAuZW50cmllcygpKTtcbiAgICAgIHRoaXMuc2lkZWJhclNlcnZpY2UudG9nZ2xlKHN0YXRlKTtcbiAgICB9XG4gIH1cblxuICBzZXRJbml0aWFsU3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy4jc3RhdGVJbml0aWFsID0ge1xuICAgICAgbmFycm93OiB0aGlzLm5hcnJvdyxcbiAgICAgIHZpc2libGU6IHRoaXMudmlzaWJsZSxcbiAgICAgIHVuZm9sZGFibGU6IHRoaXMudW5mb2xkYWJsZSxcbiAgICB9O1xuICAgIHRoaXMuc2lkZWJhclNlcnZpY2UudG9nZ2xlKHtcbiAgICAgIC4uLnRoaXMuI3N0YXRlSW5pdGlhbCxcbiAgICAgIHNpZGViYXI6IHRoaXMsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRlVG9nZ2xlU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAoc3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLiNzdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbiA9XG4gICAgICAgIHRoaXMuc2lkZWJhclNlcnZpY2Uuc2lkZWJhclN0YXRlJC5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMgPT09IHN0YXRlLnNpZGViYXIgfHwgdGhpcy5pZCA9PT0gc3RhdGUuaWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2lkZWJhclN0YXRlID0gc3RhdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jc3RhdGVUb2dnbGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBsYXlvdXRDaGFuZ2VTdWJzY3JpYmUoc3Vic2NyaWJlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIGNvbnN0IG9uTW9iaWxlID0gYChtYXgtd2lkdGg6ICR7dGhpcy5nZXRNb2JpbGVCcmVha3BvaW50fSlgO1xuXG4gICAgaWYgKHN1YnNjcmliZSkge1xuICAgICAgY29uc3QgbGF5b3V0Q2hhbmdlcyA9IHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoW29uTW9iaWxlXSk7XG5cbiAgICAgIHRoaXMuI2xheW91dENoYW5nZVN1YnNjcmlwdGlvbiA9IGxheW91dENoYW5nZXMuc3Vic2NyaWJlKFxuICAgICAgICAocmVzdWx0OiBCcmVha3BvaW50U3RhdGUpID0+IHtcbiAgICAgICAgICBjb25zdCBpc09uTW9iaWxlID0gcmVzdWx0LmJyZWFrcG9pbnRzW29uTW9iaWxlXTtcbiAgICAgICAgICBjb25zdCBpc1VuZm9sZGFibGUgPSBpc09uTW9iaWxlID8gZmFsc2UgOiB0aGlzLnVuZm9sZGFibGU7XG4gICAgICAgICAgaWYgKHRoaXMuI29uTW9iaWxlICE9PSBpc09uTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLiNvbk1vYmlsZSA9IGlzT25Nb2JpbGU7XG4gICAgICAgICAgICB0aGlzLnNpZGViYXJTZXJ2aWNlLnRvZ2dsZSh7XG4gICAgICAgICAgICAgIG1vYmlsZTogaXNPbk1vYmlsZSxcbiAgICAgICAgICAgICAgdW5mb2xkYWJsZTogaXNVbmZvbGRhYmxlLFxuICAgICAgICAgICAgICB2aXNpYmxlOiBpc09uTW9iaWxlID8gIWlzT25Nb2JpbGUgOiB0aGlzLiNzdGF0ZUluaXRpYWwudmlzaWJsZSxcbiAgICAgICAgICAgICAgc2lkZWJhcjogdGhpcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jbGF5b3V0Q2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUlMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQVk1RSxNQUFNLE9BQU8sZ0JBQWdCO0lBeUozQixZQUM0QixRQUFrQixFQUNwQyxRQUFtQixFQUNuQixrQkFBc0MsRUFDdEMsY0FBOEIsRUFDOUIsZUFBdUM7UUFKckIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQXhKakQsbUNBQVUsS0FBSyxFQUFDO1FBQ2hCLHFDQUFZLEtBQUssRUFBQztRQUNsQix1Q0FBYyxLQUFLLEVBQUM7UUFDcEIsb0NBQVcsS0FBSyxFQUFDO1FBQ2pCLHFDQUFZLEtBQUssRUFBQztRQUNsQiw2REFBeUM7UUFDekMsNERBQXdDO1FBRXhDLFVBQUssR0FBbUI7WUFDdEIsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDO1FBRUYseUNBQWdCO1lBQ2QsTUFBTSxFQUFFLEtBQUs7WUFDYixPQUFPLEVBQUUsS0FBSztZQUNkLFVBQVUsRUFBRSxLQUFLO1NBQ2xCLEVBQUM7UUFnREY7OztXQUdHO1FBQ00sYUFBUSxHQUF1QixPQUFP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bnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRTdGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IElTaWRlYmFyQWN0aW9uLCBTaWRlYmFyU2VydmljZSB9IGZyb20gJy4uL3NpZGViYXIuc2VydmljZSc7XG5pbXBvcnQgeyBTaWRlYmFyQmFja2Ryb3BTZXJ2aWNlIH0gZnJvbSAnLi4vc2lkZWJhci1iYWNrZHJvcC9zaWRlYmFyLWJhY2tkcm9wLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLXNpZGViYXInLFxuICBleHBvcnRBczogJ2NTaWRlYmFyJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQge1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbmFycm93OiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9vdmVybGFpZDogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfdW5mb2xkYWJsZTogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfdmlzaWJsZTogQm9vbGVhbklucHV0O1xuXG4gICNuYXJyb3cgPSBmYWxzZTtcbiAgI292ZXJsYWlkID0gZmFsc2U7XG4gICN1bmZvbGRhYmxlID0gZmFsc2U7XG4gICN2aXNpYmxlID0gZmFsc2U7XG4gICNvbk1vYmlsZSA9IGZhbHNlO1xuICAjbGF5b3V0Q2hhbmdlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICAjc3RhdGVUb2dnbGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgc3RhdGU6IElTaWRlYmFyQWN0aW9uID0ge1xuICAgIHNpZGViYXI6IHRoaXMsXG4gIH07XG5cbiAgI3N0YXRlSW5pdGlhbCA9IHtcbiAgICBuYXJyb3c6IGZhbHNlLFxuICAgIHZpc2libGU6IGZhbHNlLFxuICAgIHVuZm9sZGFibGU6IGZhbHNlLFxuICB9O1xuXG4gIC8qKlxuICAgKiBTZXRzIGlmIHRoZSBjb2xvciBvZiB0ZXh0IHNob3VsZCBiZSBjb2xvcmVkIGZvciBhIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZC4gW2RvY3NdXG4gICAqXG4gICAqIEB0eXBlICdkYXJrJyB8ICdsaWdodCdcbiAgICovXG4gIEBJbnB1dCgpIGNvbG9yU2NoZW1lPzogJ2RhcmsnIHwgJ2xpZ2h0JztcblxuICAvKipcbiAgICogU2V0cyBodG1sIGF0dHJpYnV0ZSBpZC4gW2RvY3NdXG4gICAqXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKi9cbiAgQElucHV0KCkgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1ha2Ugc2lkZWJhciBuYXJyb3cuIFtkb2NzXVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgbmFycm93KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jbmFycm93ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIGdldCBuYXJyb3coKSB7XG4gICAgcmV0dXJuIHRoaXMuI25hcnJvdztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgc2lkZWJhciB0byBvdmVybGFpZCB2YXJpYW50LlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgb3ZlcmxhaWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNvdmVybGFpZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgb3ZlcmxhaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuI292ZXJsYWlkO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXBvbmVudHMgcGxhY2VtZW50LCB0aGVyZeKAmXMgbm8gZGVmYXVsdCBwbGFjZW1lbnQuIFtkb2NzXVxuICAgKiBAdHlwZSAnc3RhcnQnIHwgJ2VuZCdcbiAgICovXG4gIEBJbnB1dCgpIHBsYWNlbWVudD86ICdzdGFydCcgfCAnZW5kJztcblxuICAvKipcbiAgICogUGxhY2Ugc2lkZWJhciBpbiBub24tc3RhdGljIHBvc2l0aW9ucy4gW2RvY3NdXG4gICAqIEBkZWZhdWx0ICdmaXhlZCdcbiAgICovXG4gIEBJbnB1dCgpIHBvc2l0aW9uOiAnZml4ZWQnIHwgJ3N0aWNreScgPSAnZml4ZWQnO1xuXG4gIC8qKlxuICAgKiBTaXplIHRoZSBjb21wb25lbnQgc21hbGwsIGxhcmdlLCBvciBleHRyYSBsYXJnZS4gW2RvY3NdXG4gICAqL1xuICBASW5wdXQoKSBzaXplPzogJ3NtJyB8ICdsZycgfCAneGwnO1xuXG4gIC8qKlxuICAgKiBFeHBhbmQgbmFycm93ZWQgc2lkZWJhciBvbiBob3Zlci4gW2RvY3NdXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgdW5mb2xkYWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI3VuZm9sZGFibGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgZ2V0IHVuZm9sZGFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuI3VuZm9sZGFibGU7XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlIHRoZSB2aXNpYmlsaXR5IG9mIHNpZGViYXIgY29tcG9uZW50LiBbZG9jc11cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgY29uc3QgdmlzaWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgaWYgKHRoaXMuI3Zpc2libGUgIT09IHZpc2libGUpIHtcbiAgICAgIHRoaXMuI3Zpc2libGUgPSB2aXNpYmxlO1xuICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodGhpcy4jdmlzaWJsZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHZpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuI3Zpc2libGU7XG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCBvbiB2aXNpYmlsaXR5IGNoYW5nZS4gW2RvY3NdXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHNldCBzaWRlYmFyU3RhdGUodmFsdWU6IElTaWRlYmFyQWN0aW9uKSB7XG4gICAgY29uc3QgbmV3U3RhdGUgPSB2YWx1ZTtcbiAgICBpZiAoJ3RvZ2dsZScgaW4gbmV3U3RhdGUpIHtcbiAgICAgIGlmIChuZXdTdGF0ZS50b2dnbGUgPT09ICd2aXNpYmxlJykge1xuICAgICAgICBuZXdTdGF0ZS52aXNpYmxlID0gIXRoaXMuc3RhdGUudmlzaWJsZTtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gbmV3U3RhdGUudmlzaWJsZTtcbiAgICAgIH0gZWxzZSBpZiAobmV3U3RhdGUudG9nZ2xlID09PSAndW5mb2xkYWJsZScpIHtcbiAgICAgICAgbmV3U3RhdGUudW5mb2xkYWJsZSA9ICF0aGlzLnN0YXRlLnVuZm9sZGFibGU7XG4gICAgICAgIHRoaXMudW5mb2xkYWJsZSA9IG5ld1N0YXRlLnVuZm9sZGFibGU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IChuZXdTdGF0ZS52aXNpYmxlID8/IHRoaXMudmlzaWJsZSkgJiYgIXRoaXMub3ZlcmxhaWQ7XG4gICAgfVxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgLi4ubmV3U3RhdGUsXG4gICAgfTtcbiAgICB0aGlzLnN0YXRlLm1vYmlsZSAmJiB0aGlzLnN0YXRlLnZpc2libGVcbiAgICAgID8gdGhpcy5iYWNrZHJvcFNlcnZpY2Uuc2V0QmFja2Ryb3AodGhpcylcbiAgICAgIDogdGhpcy5iYWNrZHJvcFNlcnZpY2UuY2xlYXJCYWNrZHJvcCgpO1xuICB9XG5cbiAgZ2V0IHNpZGViYXJTdGF0ZSgpOiBJU2lkZWJhckFjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGU7XG4gIH1cblxuICBnZXQgZ2V0TW9iaWxlQnJlYWtwb2ludCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGVsZW1lbnQ6IEVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICBjb25zdCBtb2JpbGVCcmVha3BvaW50ID1cbiAgICAgIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1jdWktbW9iaWxlLWJyZWFrcG9pbnQnKSB8fFxuICAgICAgJ21kJztcbiAgICBjb25zdCBicmVha3BvaW50VmFsdWUgPVxuICAgICAgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKFxuICAgICAgICBgLS1jdWktYnJlYWtwb2ludC0ke21vYmlsZUJyZWFrcG9pbnQudHJpbSgpfWBcbiAgICAgICkgfHwgJzc2OHB4JztcbiAgICByZXR1cm4gYCR7cGFyc2VGbG9hdChicmVha3BvaW50VmFsdWUudHJpbSgpKSAtIDAuMDJ9cHhgIHx8ICc3NjcuOThweCc7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICBwcml2YXRlIHNpZGViYXJTZXJ2aWNlOiBTaWRlYmFyU2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tkcm9wU2VydmljZTogU2lkZWJhckJhY2tkcm9wU2VydmljZVxuICApIHtcbiAgICB0aGlzLmJhY2tkcm9wU2VydmljZS5yZW5kZXJlciA9IHJlbmRlcmVyO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBnZXRDbGFzc2VzKCk6IGFueSB7XG4gICAgY29uc3QgeyBtb2JpbGUsIHZpc2libGUgfSA9IHRoaXMuc2lkZWJhclN0YXRlO1xuICAgIHJldHVybiB7XG4gICAgICBzaWRlYmFyOiB0cnVlLFxuICAgICAgJ3NpZGViYXItZml4ZWQnOiB0aGlzLnBvc2l0aW9uID09PSAnZml4ZWQnICYmICFtb2JpbGUsXG4gICAgICAnc2lkZWJhci1uYXJyb3cnOiB0aGlzLm5hcnJvdyAmJiAhdGhpcy51bmZvbGRhYmxlLFxuICAgICAgJ3NpZGViYXItbmFycm93LXVuZm9sZGFibGUnOiB0aGlzLnVuZm9sZGFibGUsXG4gICAgICAnc2lkZWJhci1vdmVybGFpZCc6IHRoaXMub3ZlcmxhaWQsXG4gICAgICBbYHNpZGViYXItJHt0aGlzLnNpemV9YF06ICEhdGhpcy5zaXplLFxuICAgICAgc2hvdzogdmlzaWJsZSAmJiB0aGlzLiNvbk1vYmlsZSxcbiAgICAgIGhpZGU6ICF2aXNpYmxlLFxuICAgIH07XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEluaXRpYWxTdGF0ZSgpO1xuICAgIHRoaXMubGF5b3V0Q2hhbmdlU3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmliZShmYWxzZSk7XG4gICAgdGhpcy5sYXlvdXRDaGFuZ2VTdWJzY3JpYmUoZmFsc2UpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IG9sZFN0YXRlTWFwID0gbmV3IE1hcChPYmplY3QuZW50cmllcyh0aGlzLnN0YXRlKSk7XG4gICAgY29uc3QgbmV3U3RhdGVNYXAgPSBuZXcgTWFwKCk7XG4gICAgbmV3U3RhdGVNYXAuc2V0KCdzaWRlYmFyJywgdGhpcyk7XG5cbiAgICBjb25zdCBwcm9wTGlzdCA9IFsndmlzaWJsZScsICd1bmZvbGRhYmxlJywgJ25hcnJvdyddO1xuXG4gICAgZm9yIChjb25zdCBwcm9wTmFtZSBpbiBjaGFuZ2VzKSB7XG4gICAgICBpZiAocHJvcExpc3QuaW5jbHVkZXMocHJvcE5hbWUpKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzW3Byb3BOYW1lXSAmJiAhY2hhbmdlc1twcm9wTmFtZV0uZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShjaGFuZ2VzW3Byb3BOYW1lXS5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgIGlmIChvbGRTdGF0ZU1hcC5nZXQocHJvcE5hbWUpICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgbmV3U3RhdGVNYXAuc2V0KHByb3BOYW1lLCB2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG5ld1N0YXRlTWFwLnNpemUgPiAxKSB7XG4gICAgICBjb25zdCBzdGF0ZSA9IE9iamVjdC5mcm9tRW50cmllcyhuZXdTdGF0ZU1hcC5lbnRyaWVzKCkpO1xuICAgICAgdGhpcy5zaWRlYmFyU2VydmljZS50b2dnbGUoc3RhdGUpO1xuICAgIH1cbiAgfVxuXG4gIHNldEluaXRpYWxTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLiNzdGF0ZUluaXRpYWwgPSB7XG4gICAgICBuYXJyb3c6IHRoaXMubmFycm93LFxuICAgICAgdmlzaWJsZTogdGhpcy52aXNpYmxlLFxuICAgICAgdW5mb2xkYWJsZTogdGhpcy51bmZvbGRhYmxlLFxuICAgIH07XG4gICAgdGhpcy5zaWRlYmFyU2VydmljZS50b2dnbGUoe1xuICAgICAgLi4udGhpcy4jc3RhdGVJbml0aWFsLFxuICAgICAgc2lkZWJhcjogdGhpcyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGVUb2dnbGVTdWJzY3JpYmUoc3Vic2NyaWJlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIGlmIChzdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuI3N0YXRlVG9nZ2xlU3Vic2NyaXB0aW9uID1cbiAgICAgICAgdGhpcy5zaWRlYmFyU2VydmljZS5zaWRlYmFyU3RhdGUkLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgICAgICBpZiAodGhpcyA9PT0gc3RhdGUuc2lkZWJhciB8fCB0aGlzLmlkID09PSBzdGF0ZS5pZCkge1xuICAgICAgICAgICAgdGhpcy5zaWRlYmFyU3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNzdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBsYXlvdXRDaGFuZ2VTdWJzY3JpYmUoc3Vic2NyaWJlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIGNvbnN0IG9uTW9iaWxlID0gYChtYXgtd2lkdGg6ICR7dGhpcy5nZXRNb2JpbGVCcmVha3BvaW50fSlgO1xuXG4gICAgaWYgKHN1YnNjcmliZSkge1xuICAgICAgY29uc3QgbGF5b3V0Q2hhbmdlcyA9IHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoW29uTW9iaWxlXSk7XG5cbiAgICAgIHRoaXMuI2xheW91dENoYW5nZVN1YnNjcmlwdGlvbiA9IGxheW91dENoYW5nZXMuc3Vic2NyaWJlKFxuICAgICAgICAocmVzdWx0OiBCcmVha3BvaW50U3RhdGUpID0+IHtcbiAgICAgICAgICBjb25zdCBpc09uTW9iaWxlID0gcmVzdWx0LmJyZWFrcG9pbnRzW29uTW9iaWxlXTtcbiAgICAgICAgICBjb25zdCBpc1VuZm9sZGFibGUgPSBpc09uTW9iaWxlID8gZmFsc2UgOiB0aGlzLnVuZm9sZGFibGU7XG4gICAgICAgICAgaWYgKHRoaXMuI29uTW9iaWxlICE9PSBpc09uTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLiNvbk1vYmlsZSA9IGlzT25Nb2JpbGU7XG4gICAgICAgICAgICB0aGlzLnNpZGViYXJTZXJ2aWNlLnRvZ2dsZSh7XG4gICAgICAgICAgICAgIG1vYmlsZTogaXNPbk1vYmlsZSxcbiAgICAgICAgICAgICAgdW5mb2xkYWJsZTogaXNVbmZvbGRhYmxlLFxuICAgICAgICAgICAgICB2aXNpYmxlOiBpc09uTW9iaWxlID8gIWlzT25Nb2JpbGUgOiB0aGlzLiNzdGF0ZUluaXRpYWwudmlzaWJsZSxcbiAgICAgICAgICAgICAgc2lkZWJhcjogdGhpcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jbGF5b3V0Q2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -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: "14.2.12", ngImpo
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: "14.2.12", ngImpo
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: "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 });
5775
- 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: 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: "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 });
5837
+ 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: 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: "14.2.12", 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: "14.2.12", ngImpo
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']]
@@ -6925,12 +6995,12 @@ class SidebarComponent {
6925
6995
  _SidebarComponent_layoutChangeSubscription.set(this, void 0);
6926
6996
  _SidebarComponent_stateToggleSubscription.set(this, void 0);
6927
6997
  this.state = {
6928
- sidebar: this
6998
+ sidebar: this,
6929
6999
  };
6930
7000
  _SidebarComponent_stateInitial.set(this, {
6931
7001
  narrow: false,
6932
7002
  visible: false,
6933
- unfoldable: false
7003
+ unfoldable: false,
6934
7004
  });
6935
7005
  /**
6936
7006
  * Place sidebar in non-static positions. [docs]
@@ -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) {
@@ -7110,7 +7181,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
7110
7181
  args: [{
7111
7182
  selector: 'c-sidebar',
7112
7183
  exportAs: 'cSidebar',
7113
- template: '<ng-content></ng-content>'
7184
+ template: '<ng-content></ng-content>',
7114
7185
  }]
7115
7186
  }], ctorParameters: function () {
7116
7187
  return [{ type: Document, decorators: [{