@skyux/tabs 9.0.0-alpha.4 → 9.0.0-alpha.5

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,4 +1,5 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, ViewChild, inject, } from '@angular/core';
2
+ import { SkyMediaQueryService, SkyResizeObserverMediaQueryService, } from '@skyux/core';
2
3
  import { BehaviorSubject } from 'rxjs';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "./tabset-permalink.service";
@@ -71,16 +72,17 @@ export class SkyTabComponent {
71
72
  return this.#_tabIndex;
72
73
  }
73
74
  /**
74
- * The page layout that corresponds with the top-level component type
75
- * used on the page. For laying out custom content, use `auto` to allow
76
- * the page contents to expand beyond the bottom of the browser window
77
- * or `fit` to constrain the page contents to the available viewport.
78
- * @default "auto"
75
+ * The tab layout that applies spacing to the tab container element. Use the layout
76
+ * that corresponds with the top-level component type used within the tab, or use `fit` to
77
+ * constrain the tab contents to the available viewport.
78
+ * Use `none` for custom content that does not adhere to predefined spacing or constraints.
79
+ * @default "none"
79
80
  */
80
81
  set layout(value) {
81
82
  const layout = value || LAYOUT_DEFAULT;
82
83
  this.#_layout = layout;
83
84
  this.cssClass = `${LAYOUT_CLASS_PREFIX}${layout}`;
85
+ this.#observeTabResize();
84
86
  if (this.active) {
85
87
  this.#tabsetService.updateActiveTabLayout(layout);
86
88
  }
@@ -97,6 +99,13 @@ export class SkyTabComponent {
97
99
  get tabIndexChange() {
98
100
  return this.#tabIndexChange;
99
101
  }
102
+ set tabContentWrapper(tabContentWrapper) {
103
+ this.#_tabElement = tabContentWrapper;
104
+ this.#observeTabResize();
105
+ }
106
+ get tabContentWrapper() {
107
+ return this.#_tabElement;
108
+ }
100
109
  #_active;
101
110
  #activeChange;
102
111
  #_permalinkValue;
@@ -104,7 +113,9 @@ export class SkyTabComponent {
104
113
  #_tabHeading;
105
114
  #_tabIndex;
106
115
  #_layout;
116
+ #_tabElement;
107
117
  #tabIndexChange;
118
+ #observingTab;
108
119
  #changeDetector;
109
120
  #permalinkService;
110
121
  #tabsetService;
@@ -120,6 +131,8 @@ export class SkyTabComponent {
120
131
  this.showContent = false;
121
132
  this.#_active = false;
122
133
  this.#_layout = LAYOUT_DEFAULT;
134
+ this.#observingTab = false;
135
+ this.#mediaQueryService = inject(SkyResizeObserverMediaQueryService);
123
136
  this.#changeDetector = changeDetector;
124
137
  this.#permalinkService = permalinkService;
125
138
  this.#tabsetService = tabsetService;
@@ -131,6 +144,7 @@ export class SkyTabComponent {
131
144
  this.#tabIndexChange = new BehaviorSubject(undefined);
132
145
  this.#setPermalinkValueOrDefault();
133
146
  }
147
+ #mediaQueryService;
134
148
  ngOnChanges(changes) {
135
149
  if ((changes['disabled'] && !changes['disabled'].firstChange) ||
136
150
  (changes['tabHeading'] && !changes['tabHeading'].firstChange) ||
@@ -138,6 +152,9 @@ export class SkyTabComponent {
138
152
  (changes['permalinkValue'] && !changes['permalinkValue'].firstChange)) {
139
153
  this.#stateChange.next();
140
154
  }
155
+ if (changes['layout'] && changes['layout'].currentValue === 'none') {
156
+ this.#mediaQueryService.unobserve();
157
+ }
141
158
  }
142
159
  ngOnDestroy() {
143
160
  this.#activeChange.complete();
@@ -146,6 +163,8 @@ export class SkyTabComponent {
146
163
  if (this.tabIndex !== undefined) {
147
164
  this.#tabsetService.unregisterTab(this.tabIndex);
148
165
  }
166
+ this.#mediaQueryService.unobserve();
167
+ this.#observingTab = false;
149
168
  }
150
169
  init() {
151
170
  this.#_tabIndex = this.#tabsetService.registerTab(this.tabIndex);
@@ -168,12 +187,38 @@ export class SkyTabComponent {
168
187
  this.#permalinkService.urlify(this.permalinkValue) ||
169
188
  this.#permalinkService.urlify(this.tabHeading);
170
189
  }
190
+ #observeTabResize() {
191
+ if (this.tabContentWrapper) {
192
+ if (this.layout !== 'none' && !this.#observingTab) {
193
+ this.#observingTab = true;
194
+ this.#mediaQueryService.observe(this.tabContentWrapper, {
195
+ updateResponsiveClasses: true,
196
+ });
197
+ }
198
+ else if (this.layout === 'none' && this.#observingTab) {
199
+ this.#observingTab = false;
200
+ this.#mediaQueryService.unobserve();
201
+ }
202
+ }
203
+ }
171
204
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyTabComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyTabsetPermalinkService }, { token: i2.SkyTabsetService }], target: i0.ɵɵFactoryTarget.Component }); }
172
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyTabComponent, selector: "sky-tab", inputs: { active: "active", disabled: "disabled", permalinkValue: "permalinkValue", tabHeaderCount: "tabHeaderCount", tabHeading: "tabHeading", tabIndex: "tabIndex", layout: "layout" }, outputs: { close: "close" }, host: { properties: { "class": "this.cssClass" } }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"sky-tab\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tabButtonId\"\n [hidden]=\"!showContent\"\n [id]=\"tabPanelId\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host.sky-layout-host-fit{display:flex;flex-grow:1;position:static}:host.sky-layout-host-fit .sky-tab{flex-grow:1;position:relative}.sky-tab{flex-grow:var(--sky-layout-host-content-flex-grow, 0);overflow:var(--sky-layout-host-content-overflow, visible);padding:var(--sky-layout-host-content-spacing, 0);position:var(--sky-layout-host-content-position, static)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
205
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyTabComponent, selector: "sky-tab", inputs: { active: "active", disabled: "disabled", permalinkValue: "permalinkValue", tabHeaderCount: "tabHeaderCount", tabHeading: "tabHeading", tabIndex: "tabIndex", layout: "layout" }, outputs: { close: "close" }, host: { properties: { "class": "this.cssClass" } }, providers: [
206
+ SkyResizeObserverMediaQueryService,
207
+ {
208
+ provide: SkyMediaQueryService,
209
+ useExisting: SkyResizeObserverMediaQueryService,
210
+ },
211
+ ], viewQueries: [{ propertyName: "tabContentWrapper", first: true, predicate: ["tabContentWrapper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"sky-tab\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tabButtonId\"\n [hidden]=\"!showContent\"\n [id]=\"tabPanelId\"\n #tabContentWrapper\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host.sky-layout-host-fit{display:flex;flex-grow:1;position:static}:host.sky-layout-host-fit .sky-tab{flex-grow:1;position:relative}.sky-tab{flex-grow:var(--sky-layout-host-content-flex-grow, 0);overflow:var(--sky-layout-host-content-overflow, visible);padding:var(--sky-layout-host-content-spacing, 0);position:var(--sky-layout-host-content-position, static)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
173
212
  }
174
213
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyTabComponent, decorators: [{
175
214
  type: Component,
176
- args: [{ selector: 'sky-tab', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"sky-tab\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tabButtonId\"\n [hidden]=\"!showContent\"\n [id]=\"tabPanelId\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host.sky-layout-host-fit{display:flex;flex-grow:1;position:static}:host.sky-layout-host-fit .sky-tab{flex-grow:1;position:relative}.sky-tab{flex-grow:var(--sky-layout-host-content-flex-grow, 0);overflow:var(--sky-layout-host-content-overflow, visible);padding:var(--sky-layout-host-content-spacing, 0);position:var(--sky-layout-host-content-position, static)}\n"] }]
215
+ args: [{ selector: 'sky-tab', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
216
+ SkyResizeObserverMediaQueryService,
217
+ {
218
+ provide: SkyMediaQueryService,
219
+ useExisting: SkyResizeObserverMediaQueryService,
220
+ },
221
+ ], template: "<div\n class=\"sky-tab\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tabButtonId\"\n [hidden]=\"!showContent\"\n [id]=\"tabPanelId\"\n #tabContentWrapper\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host.sky-layout-host-fit{display:flex;flex-grow:1;position:static}:host.sky-layout-host-fit .sky-tab{flex-grow:1;position:relative}.sky-tab{flex-grow:var(--sky-layout-host-content-flex-grow, 0);overflow:var(--sky-layout-host-content-overflow, visible);padding:var(--sky-layout-host-content-spacing, 0);position:var(--sky-layout-host-content-position, static)}\n"] }]
177
222
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkyTabsetPermalinkService }, { type: i2.SkyTabsetService }]; }, propDecorators: { active: [{
178
223
  type: Input
179
224
  }], disabled: [{
@@ -193,5 +238,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
193
238
  args: ['class']
194
239
  }], close: [{
195
240
  type: Output
241
+ }], tabContentWrapper: [{
242
+ type: ViewChild,
243
+ args: ['tabContentWrapper']
196
244
  }] } });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy90YWJzL3RhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdGFicy90YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7QUFPbkQsTUFBTSxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQztBQUMvQyxNQUFNLGNBQWMsR0FBcUIsTUFBTSxDQUFDO0FBRWhELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQVFmLE1BQU0sT0FBTyxlQUFlO0lBQzFCOzs7O09BSUc7SUFDSCxJQUNXLE1BQU0sQ0FBQyxLQUEwQjtRQUMxQyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFTRDs7Ozs7OztPQU9HO0lBQ0gsSUFDVyxjQUFjLENBQUMsS0FBeUI7UUFDakQsSUFBSSxDQUFDLGdCQUFnQixH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c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lUYWJJbmRleCB9IGZyb20gJy4vdGFiLWluZGV4JztcbmltcG9ydCB7IFNreVRhYkxheW91dFR5cGUgfSBmcm9tICcuL3RhYi1sYXlvdXQtdHlwZSc7XG5pbXBvcnQgeyBTa3lUYWJzZXRQZXJtYWxpbmtTZXJ2aWNlIH0gZnJvbSAnLi90YWJzZXQtcGVybWFsaW5rLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5VGFic2V0U2VydmljZSB9IGZyb20gJy4vdGFic2V0LnNlcnZpY2UnO1xuXG5jb25zdCBMQVlPVVRfQ0xBU1NfUFJFRklYID0gJ3NreS1sYXlvdXQtaG9zdC0nO1xuY29uc3QgTEFZT1VUX0RFRkFVTFQ6IFNreVRhYkxheW91dFR5cGUgPSAnbm9uZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdGFiJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgdGFiIGlzIGFjdGl2ZSB3aGVuIHRoZSB0YWJzZXQgbG9hZHMuIEFmdGVyIGluaXRpYWxpemF0aW9uLCB0aGUgYGFjdGl2ZWBcbiAgICogcHJvcGVydHkgb24gdGhlIHRhYnNldCBjb21wb25lbnQgc2hvdWxkIGJlIHVzZWQgdG8gc2V0IHRoZSBhY3RpdmUgdGFiLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhY3RpdmUodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhIXZhbHVlICE9PSB0aGlzLiNfYWN0aXZlKSB7XG4gICAgICB0aGlzLiNfYWN0aXZlID0gdmFsdWU7XG4gICAgICB0aGlzLiNhY3RpdmVDaGFuZ2UubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfYWN0aXZlO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmVDaGFuZ2UoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2FjdGl2ZUNoYW5nZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIHRhYi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGN1c3RvbSBxdWVyeSBwYXJhbWV0ZXIgdmFsdWUgZm9yIHRoZSB0YWIuXG4gICAqIFRoaXMgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgdGFic2V0J3MgYHBlcm1hbGlua0lkYCB0byBkaXN0aW5ndWlzaFxuICAgKiB0aGUgdGFiJ3MgdW5pcXVlIHN0YXRlIGluIHRoZSBVUkwgYnkgZ2VuZXJhdGluZyBhIHF1ZXJ5IHBhcmFtZXRlciB0aGF0IGlzXG4gICAqIHdyaXR0ZW4gYXMgYD88cXVlcnlQYXJhbT4tYWN0aXZlLXRhYj08c2FuaXRpemVkLXRhYi1oZWFkaW5nYC5cbiAgICogQnkgZGVmYXVsdCwgdGhlIHF1ZXJ5IHBhcmFtZXRlcidzIHZhbHVlIGlzIHBhcnNlZCBhdXRvbWF0aWNhbGx5IGZyb20gdGhlIHRhYidzIGhlYWRpbmcgdGV4dC5cbiAgICogVGhpcyBpbnB1dCBvbmx5IGFwcGxpZXMgd2hlbiB0aGUgdGFic2V0J3MgYHRhYlN0eWxlYCBpcyBgXCJ0YWJzXCJgLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwZXJtYWxpbmtWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3Blcm1hbGlua1ZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy4jc2V0UGVybWFsaW5rVmFsdWVPckRlZmF1bHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGVybWFsaW5rVmFsdWUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3Blcm1hbGlua1ZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BsYXlzIGEgY291bnRlciBiZXNpZGUgdGhlIHRhYiBoZWFkZXIuXG4gICAqIFRoaXMgaW5wdXQgb25seSBhcHBsaWVzIHdoZW4gdGhlIHRhYnNldCdzIGB0YWJTdHlsZWAgaXMgYFwidGFic1wiYC5cbiAgICogQGRlcHJlY2F0ZWQgU0tZIFVYIG5vIGxvbmdlciByZWNvbW1lbmRzIGFkZGluZyBjb3VudHMgdG8gdGFicy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJIZWFkZXJDb3VudDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFiIGhlYWRlci5cbiAgICogV2hlbiB1c2luZyB0YWJzIGFzIHRoZSBtYWluIG5hdmlnYXRpb24gb24gYSBwYWdlLFxuICAgKiB1c2UgW3RoZSBBbmd1bGFyIGBUaXRsZWAgc2VydmljZV0oaHR0cHM6Ly9hbmd1bGFyLmlvL2RvY3MvdHMvbGF0ZXN0L2Nvb2tib29rL3NldC1kb2N1bWVudC10aXRsZS5odG1sKVxuICAgKiBhbmQgW3RoZSBTS1kgVVggYHRpdGxlYCBjb25maWd1cmF0aW9uIHByb3BlcnR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL3JlZmVyZW5jZS9jb25maWd1cmF0aW9uI2FwcClcbiAgICogdG8gcmVmbGVjdCB0aGUgdGFiIGhlYWRlciBpbiB0aGUgcGFnZSB0aXRsZS5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRhYkhlYWRpbmcodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI190YWJIZWFkaW5nID0gdmFsdWU7XG5cbiAgICB0aGlzLiNzZXRQZXJtYWxpbmtWYWx1ZU9yRGVmYXVsdCgpO1xuICB9XG5cbiAgcHVibGljIGdldCB0YWJIZWFkaW5nKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI190YWJIZWFkaW5nO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHRhYi5cbiAgICogSWYgbm90IGRlZmluZWQsIHRoZSBpZGVudGlmaWVyIGlzIHNldCB0byB0aGUgcG9zaXRpb24gb2YgdGhlIHRhYiBvbiBsb2FkLCBzdGFydGluZyB3aXRoIGAwYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGFiSW5kZXgodmFsdWU6IFNreVRhYkluZGV4IHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKFxuICAgICAgdmFsdWUgIT09IHRoaXMuI190YWJJbmRleCAmJlxuICAgICAgdmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgdGhpcy4jX3RhYkluZGV4ICE9PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIHRoaXMuI3RhYnNldFNlcnZpY2UudXBkYXRlVGFiSW5kZXgodGhpcy4jX3RhYkluZGV4LCB2YWx1ZSk7XG4gICAgICB0aGlzLiN0YWJJbmRleENoYW5nZS5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLiNfdGFiSW5kZXggPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGFiSW5kZXgoKTogU2t5VGFiSW5kZXggfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfdGFiSW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHBhZ2UgbGF5b3V0IHRoYXQgY29ycmVzcG9uZHMgd2l0aCB0aGUgdG9wLWxldmVsIGNvbXBvbmVudCB0eXBlXG4gICAqIHVzZWQgb24gdGhlIHBhZ2UuIEZvciBsYXlpbmcgb3V0IGN1c3RvbSBjb250ZW50LCB1c2UgYGF1dG9gIHRvIGFsbG93XG4gICAqIHRoZSBwYWdlIGNvbnRlbnRzIHRvIGV4cGFuZCBiZXlvbmQgdGhlIGJvdHRvbSBvZiB0aGUgYnJvd3NlciB3aW5kb3dcbiAgICogb3IgYGZpdGAgdG8gY29uc3RyYWluIHRoZSBwYWdlIGNvbnRlbnRzIHRvIHRoZSBhdmFpbGFibGUgdmlld3BvcnQuXG4gICAqIEBkZWZhdWx0IFwiYXV0b1wiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGxheW91dCh2YWx1ZTogU2t5VGFiTGF5b3V0VHlwZSB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGxheW91dCA9IHZhbHVlIHx8IExBWU9VVF9ERUZBVUxUO1xuXG4gICAgdGhpcy4jX2xheW91dCA9IGxheW91dDtcbiAgICB0aGlzLmNzc0NsYXNzID0gYCR7TEFZT1VUX0NMQVNTX1BSRUZJWH0ke2xheW91dH1gO1xuXG4gICAgaWYgKHRoaXMuYWN0aXZlKSB7XG4gICAgICB0aGlzLiN0YWJzZXRTZXJ2aWNlLnVwZGF0ZUFjdGl2ZVRhYkxheW91dChsYXlvdXQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGF5b3V0KCk6IFNreVRhYkxheW91dFR5cGUge1xuICAgIHJldHVybiB0aGlzLiNfbGF5b3V0O1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHB1YmxpYyBjc3NDbGFzcyA9IGAke0xBWU9VVF9DTEFTU19QUkVGSVh9JHtMQVlPVVRfREVGQVVMVH1gO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIGNsaWNrIHRoZSBidXR0b24gdG8gY2xvc2UgdGhlIHRhYi5cbiAgICogVGhlIGNsb3NlIGJ1dHRvbiBpcyBhZGRlZCB0byB0aGUgdGFiIHdoZW4geW91IHNwZWNpZnkgYSBsaXN0ZW5lciBmb3IgdGhpcyBldmVudC5cbiAgICogVGhpcyBldmVudCBvbmx5IGFwcGxpZXMgd2hlbiB0aGUgdGFic2V0J3MgYHRhYlN0eWxlYCBpcyBgXCJ0YWJzXCJgLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuXG4gIC8qKlxuICAgKiBBbGVydHMgdGhlIHRhYnNldCBjb21wb25lbnQgd2hlbiB0aGlzIGNvbXBvbmVudCBoYXMgY2hhbmdlcyB0aGF0IG5lZWQgdG8gYmUgcmVmbGVjdGVkIGluIHRoZSBVSS5cbiAgICovXG4gIHB1YmxpYyBnZXQgc3RhdGVDaGFuZ2UoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI3N0YXRlQ2hhbmdlO1xuICB9XG5cbiAgcHVibGljIGdldCB0YWJJbmRleENoYW5nZSgpOiBPYnNlcnZhYmxlPFNreVRhYkluZGV4IHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuI3RhYkluZGV4Q2hhbmdlO1xuICB9XG5cbiAgcHVibGljIHBlcm1hbGlua1ZhbHVlT3JEZWZhdWx0ID0gJyc7XG5cbiAgcHVibGljIHNob3dDb250ZW50ID0gZmFsc2U7XG5cbiAgcHVibGljIHRhYkJ1dHRvbklkOiBzdHJpbmc7XG5cbiAgcHVibGljIHRhYlBhbmVsSWQ6IHN0cmluZztcblxuICAjX2FjdGl2ZSA9IGZhbHNlO1xuXG4gICNhY3RpdmVDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDx2b2lkIHwgdW5kZWZpbmVkPjtcblxuICAjX3Blcm1hbGlua1ZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgI3N0YXRlQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8dm9pZD47XG5cbiAgI190YWJIZWFkaW5nOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgI190YWJJbmRleDogU2t5VGFiSW5kZXggfCB1bmRlZmluZWQ7XG5cbiAgI19sYXlvdXQ6IFNreVRhYkxheW91dFR5cGUgPSBMQVlPVVRfREVGQVVMVDtcblxuICAjdGFiSW5kZXhDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxTa3lUYWJJbmRleCB8IHVuZGVmaW5lZD47XG5cbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI3Blcm1hbGlua1NlcnZpY2U6IFNreVRhYnNldFBlcm1hbGlua1NlcnZpY2U7XG4gICN0YWJzZXRTZXJ2aWNlOiBTa3lUYWJzZXRTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwZXJtYWxpbmtTZXJ2aWNlOiBTa3lUYWJzZXRQZXJtYWxpbmtTZXJ2aWNlLFxuICAgIHRhYnNldFNlcnZpY2U6IFNreVRhYnNldFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNwZXJtYWxpbmtTZXJ2aWNlID0gcGVybWFsaW5rU2VydmljZTtcbiAgICB0aGlzLiN0YWJzZXRTZXJ2aWNlID0gdGFic2V0U2VydmljZTtcbiAgICBjb25zdCBpZCA9IG5leHRJZCsrO1xuICAgIHRoaXMudGFiUGFuZWxJZCA9IGBza3ktdGFiLSR7aWR9YDtcbiAgICB0aGlzLnRhYkJ1dHRvbklkID0gYCR7dGhpcy50YWJQYW5lbElkfS1uYXYtYnRuYDtcblxuICAgIHRoaXMuI2FjdGl2ZUNoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dm9pZCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgICB0aGlzLiNzdGF0ZUNoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dm9pZD4odW5kZWZpbmVkKTtcbiAgICB0aGlzLiN0YWJJbmRleENoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2t5VGFiSW5kZXggfCB1bmRlZmluZWQ+KFxuICAgICAgdW5kZWZpbmVkXG4gICAgKTtcblxuICAgIHRoaXMuI3NldFBlcm1hbGlua1ZhbHVlT3JEZWZhdWx0KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIChjaGFuZ2VzWydkaXNhYmxlZCddICYmICFjaGFuZ2VzWydkaXNhYmxlZCddLmZpcnN0Q2hhbmdlKSB8fFxuICAgICAgKGNoYW5nZXNbJ3RhYkhlYWRpbmcnXSAmJiAhY2hhbmdlc1sndGFiSGVhZGluZyddLmZpcnN0Q2hhbmdlKSB8fFxuICAgICAgKGNoYW5nZXNbJ3RhYkhlYWRlckNvdW50J10gJiYgIWNoYW5nZXNbJ3RhYkhlYWRlckNvdW50J10uZmlyc3RDaGFuZ2UpIHx8XG4gICAgICAoY2hhbmdlc1sncGVybWFsaW5rVmFsdWUnXSAmJiAhY2hhbmdlc1sncGVybWFsaW5rVmFsdWUnXS5maXJzdENoYW5nZSlcbiAgICApIHtcbiAgICAgIHRoaXMuI3N0YXRlQ2hhbmdlLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jYWN0aXZlQ2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jc3RhdGVDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiN0YWJJbmRleENoYW5nZS5jb21wbGV0ZSgpO1xuICAgIGlmICh0aGlzLnRhYkluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuI3RhYnNldFNlcnZpY2UudW5yZWdpc3RlclRhYih0aGlzLnRhYkluZGV4KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNfdGFiSW5kZXggPSB0aGlzLiN0YWJzZXRTZXJ2aWNlLnJlZ2lzdGVyVGFiKHRoaXMudGFiSW5kZXgpO1xuICB9XG5cbiAgcHVibGljIGFjdGl2YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuI19hY3RpdmUgPSB0cnVlO1xuICAgIHRoaXMuc2hvd0NvbnRlbnQgPSB0cnVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGRlYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgdGhpcy4jX2FjdGl2ZSA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd0NvbnRlbnQgPSBmYWxzZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0Nsb3NlYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jbG9zZS5vYnNlcnZlcnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gICNzZXRQZXJtYWxpbmtWYWx1ZU9yRGVmYXVsdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBlcm1hbGlua1ZhbHVlT3JEZWZhdWx0ID1cbiAgICAgIHRoaXMuI3Blcm1hbGlua1NlcnZpY2UudXJsaWZ5KHRoaXMucGVybWFsaW5rVmFsdWUpIHx8XG4gICAgICB0aGlzLiNwZXJtYWxpbmtTZXJ2aWNlLnVybGlmeSh0aGlzLnRhYkhlYWRpbmcpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LXRhYlwiXG4gIHJvbGU9XCJ0YWJwYW5lbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJ0YWJCdXR0b25JZFwiXG4gIFtoaWRkZW5dPVwiIXNob3dDb250ZW50XCJcbiAgW2lkXT1cInRhYlBhbmVsSWRcIlxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy90YWJzL3RhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdGFicy90YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixrQ0FBa0MsR0FDbkMsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7OztBQU9uRCxNQUFNLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDO0FBQy9DLE1BQU0sY0FBYyxHQUFxQixNQUFNLENBQUM7QUFFaEQsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBZWYsTUFBTSxPQUFPLGVBQWU7SUFDMUI7Ozs7T0FJRztJQUNILElBQ1csTUFBTSxDQUFDLEtBQTBCO1FBQzFDLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDcEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7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QU0sYUFDcEM7d0JBQ1Qsa0NBQWtDO3dCQUNsQzs0QkFDRSxPQUFPLEVBQUUsb0JBQW9COzRCQUM3QixXQUFXLEVBQUUsa0NBQWtDO3lCQUNoRDtxQkFDRjsrS0FTVSxNQUFNO3NCQURoQixLQUFLO2dCQXFCQyxRQUFRO3NCQURkLEtBQUs7Z0JBWUssY0FBYztzQkFEeEIsS0FBSztnQkFnQkMsY0FBYztzQkFEcEIsS0FBSztnQkFZSyxVQUFVO3NCQURwQixLQUFLO2dCQWdCSyxRQUFRO3NCQURsQixLQUFLO2dCQTBCSyxNQUFNO3NCQURoQixLQUFLO2dCQW1CQyxRQUFRO3NCQURkLFdBQVc7dUJBQUMsT0FBTztnQkFTYixLQUFLO3NCQURYLE1BQU07Z0JBZUksaUJBQWlCO3NCQUQzQixTQUFTO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gIFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreVRhYkluZGV4IH0gZnJvbSAnLi90YWItaW5kZXgnO1xuaW1wb3J0IHsgU2t5VGFiTGF5b3V0VHlwZSB9IGZyb20gJy4vdGFiLWxheW91dC10eXBlJztcbmltcG9ydCB7IFNreVRhYnNldFBlcm1hbGlua1NlcnZpY2UgfSBmcm9tICcuL3RhYnNldC1wZXJtYWxpbmsuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lUYWJzZXRTZXJ2aWNlIH0gZnJvbSAnLi90YWJzZXQuc2VydmljZSc7XG5cbmNvbnN0IExBWU9VVF9DTEFTU19QUkVGSVggPSAnc2t5LWxheW91dC1ob3N0LSc7XG5jb25zdCBMQVlPVVRfREVGQVVMVDogU2t5VGFiTGF5b3V0VHlwZSA9ICdub25lJztcblxubGV0IG5leHRJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS10YWInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICBTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreU1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgdGFiIGlzIGFjdGl2ZSB3aGVuIHRoZSB0YWJzZXQgbG9hZHMuIEFmdGVyIGluaXRpYWxpemF0aW9uLCB0aGUgYGFjdGl2ZWBcbiAgICogcHJvcGVydHkgb24gdGhlIHRhYnNldCBjb21wb25lbnQgc2hvdWxkIGJlIHVzZWQgdG8gc2V0IHRoZSBhY3RpdmUgdGFiLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhY3RpdmUodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhIXZhbHVlICE9PSB0aGlzLiNfYWN0aXZlKSB7XG4gICAgICB0aGlzLiNfYWN0aXZlID0gdmFsdWU7XG4gICAgICB0aGlzLiNhY3RpdmVDaGFuZ2UubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfYWN0aXZlO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmVDaGFuZ2UoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2FjdGl2ZUNoYW5nZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIHRhYi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGN1c3RvbSBxdWVyeSBwYXJhbWV0ZXIgdmFsdWUgZm9yIHRoZSB0YWIuXG4gICAqIFRoaXMgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgdGFic2V0J3MgYHBlcm1hbGlua0lkYCB0byBkaXN0aW5ndWlzaFxuICAgKiB0aGUgdGFiJ3MgdW5pcXVlIHN0YXRlIGluIHRoZSBVUkwgYnkgZ2VuZXJhdGluZyBhIHF1ZXJ5IHBhcmFtZXRlciB0aGF0IGlzXG4gICAqIHdyaXR0ZW4gYXMgYD88cXVlcnlQYXJhbT4tYWN0aXZlLXRhYj08c2FuaXRpemVkLXRhYi1oZWFkaW5nYC5cbiAgICogQnkgZGVmYXVsdCwgdGhlIHF1ZXJ5IHBhcmFtZXRlcidzIHZhbHVlIGlzIHBhcnNlZCBhdXRvbWF0aWNhbGx5IGZyb20gdGhlIHRhYidzIGhlYWRpbmcgdGV4dC5cbiAgICogVGhpcyBpbnB1dCBvbmx5IGFwcGxpZXMgd2hlbiB0aGUgdGFic2V0J3MgYHRhYlN0eWxlYCBpcyBgXCJ0YWJzXCJgLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwZXJtYWxpbmtWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3Blcm1hbGlua1ZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy4jc2V0UGVybWFsaW5rVmFsdWVPckRlZmF1bHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGVybWFsaW5rVmFsdWUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3Blcm1hbGlua1ZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BsYXlzIGEgY291bnRlciBiZXNpZGUgdGhlIHRhYiBoZWFkZXIuXG4gICAqIFRoaXMgaW5wdXQgb25seSBhcHBsaWVzIHdoZW4gdGhlIHRhYnNldCdzIGB0YWJTdHlsZWAgaXMgYFwidGFic1wiYC5cbiAgICogQGRlcHJlY2F0ZWQgU0tZIFVYIG5vIGxvbmdlciByZWNvbW1lbmRzIGFkZGluZyBjb3VudHMgdG8gdGFicy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJIZWFkZXJDb3VudDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFiIGhlYWRlci5cbiAgICogV2hlbiB1c2luZyB0YWJzIGFzIHRoZSBtYWluIG5hdmlnYXRpb24gb24gYSBwYWdlLFxuICAgKiB1c2UgW3RoZSBBbmd1bGFyIGBUaXRsZWAgc2VydmljZV0oaHR0cHM6Ly9hbmd1bGFyLmlvL2RvY3MvdHMvbGF0ZXN0L2Nvb2tib29rL3NldC1kb2N1bWVudC10aXRsZS5odG1sKVxuICAgKiBhbmQgW3RoZSBTS1kgVVggYHRpdGxlYCBjb25maWd1cmF0aW9uIHByb3BlcnR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL3JlZmVyZW5jZS9jb25maWd1cmF0aW9uI2FwcClcbiAgICogdG8gcmVmbGVjdCB0aGUgdGFiIGhlYWRlciBpbiB0aGUgcGFnZSB0aXRsZS5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRhYkhlYWRpbmcodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI190YWJIZWFkaW5nID0gdmFsdWU7XG5cbiAgICB0aGlzLiNzZXRQZXJtYWxpbmtWYWx1ZU9yRGVmYXVsdCgpO1xuICB9XG5cbiAgcHVibGljIGdldCB0YWJIZWFkaW5nKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI190YWJIZWFkaW5nO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHRhYi5cbiAgICogSWYgbm90IGRlZmluZWQsIHRoZSBpZGVudGlmaWVyIGlzIHNldCB0byB0aGUgcG9zaXRpb24gb2YgdGhlIHRhYiBvbiBsb2FkLCBzdGFydGluZyB3aXRoIGAwYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGFiSW5kZXgodmFsdWU6IFNreVRhYkluZGV4IHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKFxuICAgICAgdmFsdWUgIT09IHRoaXMuI190YWJJbmRleCAmJlxuICAgICAgdmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgdGhpcy4jX3RhYkluZGV4ICE9PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIHRoaXMuI3RhYnNldFNlcnZpY2UudXBkYXRlVGFiSW5kZXgodGhpcy4jX3RhYkluZGV4LCB2YWx1ZSk7XG4gICAgICB0aGlzLiN0YWJJbmRleENoYW5nZS5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLiNfdGFiSW5kZXggPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGFiSW5kZXgoKTogU2t5VGFiSW5kZXggfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfdGFiSW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRhYiBsYXlvdXQgdGhhdCBhcHBsaWVzIHNwYWNpbmcgdG8gdGhlIHRhYiBjb250YWluZXIgZWxlbWVudC4gVXNlIHRoZSBsYXlvdXRcbiAgICogdGhhdCBjb3JyZXNwb25kcyB3aXRoIHRoZSB0b3AtbGV2ZWwgY29tcG9uZW50IHR5cGUgdXNlZCB3aXRoaW4gdGhlIHRhYiwgb3IgdXNlIGBmaXRgIHRvXG4gICAqIGNvbnN0cmFpbiB0aGUgdGFiIGNvbnRlbnRzIHRvIHRoZSBhdmFpbGFibGUgdmlld3BvcnQuXG4gICAqIFVzZSBgbm9uZWAgZm9yIGN1c3RvbSBjb250ZW50IHRoYXQgZG9lcyBub3QgYWRoZXJlIHRvIHByZWRlZmluZWQgc3BhY2luZyBvciBjb25zdHJhaW50cy5cbiAgICogQGRlZmF1bHQgXCJub25lXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbGF5b3V0KHZhbHVlOiBTa3lUYWJMYXlvdXRUeXBlIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgbGF5b3V0ID0gdmFsdWUgfHwgTEFZT1VUX0RFRkFVTFQ7XG5cbiAgICB0aGlzLiNfbGF5b3V0ID0gbGF5b3V0O1xuICAgIHRoaXMuY3NzQ2xhc3MgPSBgJHtMQVlPVVRfQ0xBU1NfUFJFRklYfSR7bGF5b3V0fWA7XG5cbiAgICB0aGlzLiNvYnNlcnZlVGFiUmVzaXplKCk7XG5cbiAgICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICAgIHRoaXMuI3RhYnNldFNlcnZpY2UudXBkYXRlQWN0aXZlVGFiTGF5b3V0KGxheW91dCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBsYXlvdXQoKTogU2t5VGFiTGF5b3V0VHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuI19sYXlvdXQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHVibGljIGNzc0NsYXNzID0gYCR7TEFZT1VUX0NMQVNTX1BSRUZJWH0ke0xBWU9VVF9ERUZBVUxUfWA7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgY2xpY2sgdGhlIGJ1dHRvbiB0byBjbG9zZSB0aGUgdGFiLlxuICAgKiBUaGUgY2xvc2UgYnV0dG9uIGlzIGFkZGVkIHRvIHRoZSB0YWIgd2hlbiB5b3Ugc3BlY2lmeSBhIGxpc3RlbmVyIGZvciB0aGlzIGV2ZW50LlxuICAgKiBUaGlzIGV2ZW50IG9ubHkgYXBwbGllcyB3aGVuIHRoZSB0YWJzZXQncyBgdGFiU3R5bGVgIGlzIGBcInRhYnNcImAuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG5cbiAgLyoqXG4gICAqIEFsZXJ0cyB0aGUgdGFic2V0IGNvbXBvbmVudCB3aGVuIHRoaXMgY29tcG9uZW50IGhhcyBjaGFuZ2VzIHRoYXQgbmVlZCB0byBiZSByZWZsZWN0ZWQgaW4gdGhlIFVJLlxuICAgKi9cbiAgcHVibGljIGdldCBzdGF0ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jc3RhdGVDaGFuZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRhYkluZGV4Q2hhbmdlKCk6IE9ic2VydmFibGU8U2t5VGFiSW5kZXggfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jdGFiSW5kZXhDaGFuZ2U7XG4gIH1cblxuICBAVmlld0NoaWxkKCd0YWJDb250ZW50V3JhcHBlcicpXG4gIHB1YmxpYyBzZXQgdGFiQ29udGVudFdyYXBwZXIodGFiQ29udGVudFdyYXBwZXI6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfdGFiRWxlbWVudCA9IHRhYkNvbnRlbnRXcmFwcGVyO1xuICAgIHRoaXMuI29ic2VydmVUYWJSZXNpemUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGFiQ29udGVudFdyYXBwZXIoKTogRWxlbWVudFJlZiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI190YWJFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIHBlcm1hbGlua1ZhbHVlT3JEZWZhdWx0ID0gJyc7XG5cbiAgcHVibGljIHNob3dDb250ZW50ID0gZmFsc2U7XG5cbiAgcHVibGljIHRhYkJ1dHRvbklkOiBzdHJpbmc7XG5cbiAgcHVibGljIHRhYlBhbmVsSWQ6IHN0cmluZztcblxuICAjX2FjdGl2ZSA9IGZhbHNlO1xuXG4gICNhY3RpdmVDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDx2b2lkIHwgdW5kZWZpbmVkPjtcblxuICAjX3Blcm1hbGlua1ZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgI3N0YXRlQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8dm9pZD47XG5cbiAgI190YWJIZWFkaW5nOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgI190YWJJbmRleDogU2t5VGFiSW5kZXggfCB1bmRlZmluZWQ7XG5cbiAgI19sYXlvdXQ6IFNreVRhYkxheW91dFR5cGUgPSBMQVlPVVRfREVGQVVMVDtcblxuICAjX3RhYkVsZW1lbnQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI3RhYkluZGV4Q2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8U2t5VGFiSW5kZXggfCB1bmRlZmluZWQ+O1xuXG4gICNvYnNlcnZpbmdUYWIgPSBmYWxzZTtcblxuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjcGVybWFsaW5rU2VydmljZTogU2t5VGFic2V0UGVybWFsaW5rU2VydmljZTtcbiAgI3RhYnNldFNlcnZpY2U6IFNreVRhYnNldFNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHBlcm1hbGlua1NlcnZpY2U6IFNreVRhYnNldFBlcm1hbGlua1NlcnZpY2UsXG4gICAgdGFic2V0U2VydmljZTogU2t5VGFic2V0U2VydmljZVxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI3Blcm1hbGlua1NlcnZpY2UgPSBwZXJtYWxpbmtTZXJ2aWNlO1xuICAgIHRoaXMuI3RhYnNldFNlcnZpY2UgPSB0YWJzZXRTZXJ2aWNlO1xuICAgIGNvbnN0IGlkID0gbmV4dElkKys7XG4gICAgdGhpcy50YWJQYW5lbElkID0gYHNreS10YWItJHtpZH1gO1xuICAgIHRoaXMudGFiQnV0dG9uSWQgPSBgJHt0aGlzLnRhYlBhbmVsSWR9LW5hdi1idG5gO1xuXG4gICAgdGhpcy4jYWN0aXZlQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAgIHRoaXMuI3N0YXRlQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xuICAgIHRoaXMuI3RhYkluZGV4Q2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTa3lUYWJJbmRleCB8IHVuZGVmaW5lZD4oXG4gICAgICB1bmRlZmluZWRcbiAgICApO1xuXG4gICAgdGhpcy4jc2V0UGVybWFsaW5rVmFsdWVPckRlZmF1bHQoKTtcbiAgfVxuXG4gICNtZWRpYVF1ZXJ5U2VydmljZSA9IGluamVjdChTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlKTtcblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIChjaGFuZ2VzWydkaXNhYmxlZCddICYmICFjaGFuZ2VzWydkaXNhYmxlZCddLmZpcnN0Q2hhbmdlKSB8fFxuICAgICAgKGNoYW5nZXNbJ3RhYkhlYWRpbmcnXSAmJiAhY2hhbmdlc1sndGFiSGVhZGluZyddLmZpcnN0Q2hhbmdlKSB8fFxuICAgICAgKGNoYW5nZXNbJ3RhYkhlYWRlckNvdW50J10gJiYgIWNoYW5nZXNbJ3RhYkhlYWRlckNvdW50J10uZmlyc3RDaGFuZ2UpIHx8XG4gICAgICAoY2hhbmdlc1sncGVybWFsaW5rVmFsdWUnXSAmJiAhY2hhbmdlc1sncGVybWFsaW5rVmFsdWUnXS5maXJzdENoYW5nZSlcbiAgICApIHtcbiAgICAgIHRoaXMuI3N0YXRlQ2hhbmdlLm5leHQoKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1snbGF5b3V0J10gJiYgY2hhbmdlc1snbGF5b3V0J10uY3VycmVudFZhbHVlID09PSAnbm9uZScpIHtcbiAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLnVub2JzZXJ2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNhY3RpdmVDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNzdGF0ZUNoYW5nZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI3RhYkluZGV4Q2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgaWYgKHRoaXMudGFiSW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jdGFic2V0U2VydmljZS51bnJlZ2lzdGVyVGFiKHRoaXMudGFiSW5kZXgpO1xuICAgIH1cbiAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS51bm9ic2VydmUoKTtcbiAgICB0aGlzLiNvYnNlcnZpbmdUYWIgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI190YWJJbmRleCA9IHRoaXMuI3RhYnNldFNlcnZpY2UucmVnaXN0ZXJUYWIodGhpcy50YWJJbmRleCk7XG4gIH1cblxuICBwdWJsaWMgYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgdGhpcy4jX2FjdGl2ZSA9IHRydWU7XG4gICAgdGhpcy5zaG93Q29udGVudCA9IHRydWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZGVhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLiNfYWN0aXZlID0gZmFsc2U7XG4gICAgdGhpcy5zaG93Q29udGVudCA9IGZhbHNlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGlzQ2xvc2VhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNsb3NlLm9ic2VydmVycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgI3NldFBlcm1hbGlua1ZhbHVlT3JEZWZhdWx0KCk6IHZvaWQge1xuICAgIHRoaXMucGVybWFsaW5rVmFsdWVPckRlZmF1bHQgPVxuICAgICAgdGhpcy4jcGVybWFsaW5rU2VydmljZS51cmxpZnkodGhpcy5wZXJtYWxpbmtWYWx1ZSkgfHxcbiAgICAgIHRoaXMuI3Blcm1hbGlua1NlcnZpY2UudXJsaWZ5KHRoaXMudGFiSGVhZGluZyk7XG4gIH1cblxuICAjb2JzZXJ2ZVRhYlJlc2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50YWJDb250ZW50V3JhcHBlcikge1xuICAgICAgaWYgKHRoaXMubGF5b3V0ICE9PSAnbm9uZScgJiYgIXRoaXMuI29ic2VydmluZ1RhYikge1xuICAgICAgICB0aGlzLiNvYnNlcnZpbmdUYWIgPSB0cnVlO1xuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5vYnNlcnZlKHRoaXMudGFiQ29udGVudFdyYXBwZXIsIHtcbiAgICAgICAgICB1cGRhdGVSZXNwb25zaXZlQ2xhc3NlczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMubGF5b3V0ID09PSAnbm9uZScgJiYgdGhpcy4jb2JzZXJ2aW5nVGFiKSB7XG4gICAgICAgIHRoaXMuI29ic2VydmluZ1RhYiA9IGZhbHNlO1xuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS51bm9ic2VydmUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktdGFiXCJcbiAgcm9sZT1cInRhYnBhbmVsXCJcbiAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cInRhYkJ1dHRvbklkXCJcbiAgW2hpZGRlbl09XCIhc2hvd0NvbnRlbnRcIlxuICBbaWRdPVwidGFiUGFuZWxJZFwiXG4gICN0YWJDb250ZW50V3JhcHBlclxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -1,7 +1,6 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { RouterModule } from '@angular/router';
4
- import { SkyI18nModule } from '@skyux/i18n';
5
4
  import { SkyIconModule } from '@skyux/indicators';
6
5
  import { SkyDropdownModule } from '@skyux/popovers';
7
6
  import { SkyThemeModule } from '@skyux/theme';
@@ -21,14 +20,12 @@ export class SkyTabsModule {
21
20
  SkyTabsetNavButtonDisabledPipe], imports: [CommonModule,
22
21
  RouterModule,
23
22
  SkyDropdownModule,
24
- SkyI18nModule,
25
23
  SkyIconModule,
26
24
  SkyTabsResourcesModule,
27
25
  SkyThemeModule], exports: [SkyTabComponent, SkyTabsetComponent, SkyTabsetNavButtonComponent] }); }
28
26
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyTabsModule, imports: [CommonModule,
29
27
  RouterModule,
30
28
  SkyDropdownModule,
31
- SkyI18nModule,
32
29
  SkyIconModule,
33
30
  SkyTabsResourcesModule,
34
31
  SkyThemeModule] }); }
@@ -47,7 +44,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
47
44
  CommonModule,
48
45
  RouterModule,
49
46
  SkyDropdownModule,
50
- SkyI18nModule,
51
47
  SkyIconModule,
52
48
  SkyTabsResourcesModule,
53
49
  SkyThemeModule,
@@ -55,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
55
51
  exports: [SkyTabComponent, SkyTabsetComponent, SkyTabsetNavButtonComponent],
56
52
  }]
57
53
  }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdGFicy90YWJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBcUJ4RCxNQUFNLE9BQU8sYUFBYTs4R0FBYixhQUFhOytHQUFiLGFBQWEsaUJBakJ0QixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQiwyQkFBMkI7WUFDM0IsOEJBQThCLGFBRzlCLFlBQVk7WUFDWixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGFBQWE7WUFDYixhQUFhO1lBQ2Isc0JBQXNCO1lBQ3RCLGNBQWMsYUFFTixlQUFlLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCOytHQUUvRCxhQUFhLFlBVnRCLFlBQVk7WUFDWixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGFBQWE7WUFDYixhQUFhO1lBQ2Isc0JBQXNCO1lBQ3RCLGNBQWM7OzJGQUlMLGFBQWE7a0JBbkJ6QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQiwyQkFBMkI7d0JBQzNCLDhCQUE4QjtxQkFDL0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixzQkFBc0I7d0JBQ3RCLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLGtCQUFrQixFQUFFLDJCQUEyQixDQUFDO2lCQUM1RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNreUkxOG5Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5pbXBvcnQgeyBTa3lJY29uTW9kdWxlIH0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMnO1xuaW1wb3J0IHsgU2t5RHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvcG9wb3ZlcnMnO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTa3lUYWJzUmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NreS10YWJzLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lUYWJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3RhYi1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFNreVRhYkNvbXBvbmVudCB9IGZyb20gJy4vdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lUYWJzZXROYXZCdXR0b25EaXNhYmxlZFBpcGUgfSBmcm9tICcuL3RhYnNldC1uYXYtYnV0dG9uLWRpc2FibGVkLnBpcGUnO1xuaW1wb3J0IHsgU2t5VGFic2V0TmF2QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi90YWJzZXQtbmF2LWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VGFic2V0Q29tcG9uZW50IH0gZnJvbSAnLi90YWJzZXQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2t5VGFiQnV0dG9uQ29tcG9uZW50LFxuICAgIFNreVRhYkNvbXBvbmVudCxcbiAgICBTa3lUYWJzZXRDb21wb25lbnQsXG4gICAgU2t5VGFic2V0TmF2QnV0dG9uQ29tcG9uZW50LFxuICAgIFNreVRhYnNldE5hdkJ1dHRvbkRpc2FibGVkUGlwZSxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgU2t5RHJvcGRvd25Nb2R1bGUsXG4gICAgU2t5STE4bk1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreVRhYnNSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtTa3lUYWJDb21wb25lbnQsIFNreVRhYnNldENvbXBvbmVudCwgU2t5VGFic2V0TmF2QnV0dG9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGFic01vZHVsZSB7fVxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdGFicy90YWJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQW9CeEQsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTsrR0FBYixhQUFhLGlCQWhCdEIscUJBQXFCO1lBQ3JCLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsMkJBQTJCO1lBQzNCLDhCQUE4QixhQUc5QixZQUFZO1lBQ1osWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixhQUFhO1lBQ2Isc0JBQXNCO1lBQ3RCLGNBQWMsYUFFTixlQUFlLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCOytHQUUvRCxhQUFhLFlBVHRCLFlBQVk7WUFDWixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGFBQWE7WUFDYixzQkFBc0I7WUFDdEIsY0FBYzs7MkZBSUwsYUFBYTtrQkFsQnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLDJCQUEyQjt3QkFDM0IsOEJBQThCO3FCQUMvQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixzQkFBc0I7d0JBQ3RCLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLGtCQUFrQixFQUFFLDJCQUEyQixDQUFDO2lCQUM1RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5pbXBvcnQgeyBTa3lEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9wb3BvdmVycyc7XG5pbXBvcnQgeyBTa3lUaGVtZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IFNreVRhYnNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LXRhYnMtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreVRhYkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdGFiLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VGFiQ29tcG9uZW50IH0gZnJvbSAnLi90YWIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVRhYnNldE5hdkJ1dHRvbkRpc2FibGVkUGlwZSB9IGZyb20gJy4vdGFic2V0LW5hdi1idXR0b24tZGlzYWJsZWQucGlwZSc7XG5pbXBvcnQgeyBTa3lUYWJzZXROYXZCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3RhYnNldC1uYXYtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lUYWJzZXRDb21wb25lbnQgfSBmcm9tICcuL3RhYnNldC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTa3lUYWJCdXR0b25Db21wb25lbnQsXG4gICAgU2t5VGFiQ29tcG9uZW50LFxuICAgIFNreVRhYnNldENvbXBvbmVudCxcbiAgICBTa3lUYWJzZXROYXZCdXR0b25Db21wb25lbnQsXG4gICAgU2t5VGFic2V0TmF2QnV0dG9uRGlzYWJsZWRQaXBlLFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBTa3lEcm9wZG93bk1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreVRhYnNSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtTa3lUYWJDb21wb25lbnQsIFNreVRhYnNldENvbXBvbmVudCwgU2t5VGFic2V0TmF2QnV0dG9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGFic01vZHVsZSB7fVxuIl19
@@ -1,12 +1,12 @@
1
1
  import * as i4 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { NgModule, Injectable, Component, ChangeDetectionStrategy, Optional, Input, ViewChild, HostListener, ContentChildren, EventEmitter, Output, ViewEncapsulation, HostBinding, Pipe, inject } from '@angular/core';
4
+ import { NgModule, Injectable, Component, ChangeDetectionStrategy, Optional, Input, ViewChild, HostListener, ContentChildren, EventEmitter, Output, ViewEncapsulation, inject, HostBinding, Pipe } from '@angular/core';
5
5
  import { SkyCheckboxModule } from '@skyux/forms';
6
6
  import * as i7 from '@skyux/theme';
7
7
  import { SkyThemeModule } from '@skyux/theme';
8
8
  import * as i1 from '@skyux/core';
9
- import { SkyMediaBreakpoints, SkyMediaQueryService, SkyIdModule, SkyLayoutHostService } from '@skyux/core';
9
+ import { SkyMediaBreakpoints, SkyMediaQueryService, SkyIdModule, SkyResizeObserverMediaQueryService, SkyLayoutHostService } from '@skyux/core';
10
10
  import * as i6 from '@skyux/indicators';
11
11
  import { SkyIconModule, SkyExpansionIndicatorModule, SkyStatusIndicatorModule } from '@skyux/indicators';
12
12
  import * as i3 from '@skyux/i18n';
@@ -1736,16 +1736,17 @@ class SkyTabComponent {
1736
1736
  return this.#_tabIndex;
1737
1737
  }
1738
1738
  /**
1739
- * The page layout that corresponds with the top-level component type
1740
- * used on the page. For laying out custom content, use `auto` to allow
1741
- * the page contents to expand beyond the bottom of the browser window
1742
- * or `fit` to constrain the page contents to the available viewport.
1743
- * @default "auto"
1739
+ * The tab layout that applies spacing to the tab container element. Use the layout
1740
+ * that corresponds with the top-level component type used within the tab, or use `fit` to
1741
+ * constrain the tab contents to the available viewport.
1742
+ * Use `none` for custom content that does not adhere to predefined spacing or constraints.
1743
+ * @default "none"
1744
1744
  */
1745
1745
  set layout(value) {
1746
1746
  const layout = value || LAYOUT_DEFAULT;
1747
1747
  this.#_layout = layout;
1748
1748
  this.cssClass = `${LAYOUT_CLASS_PREFIX}${layout}`;
1749
+ this.#observeTabResize();
1749
1750
  if (this.active) {
1750
1751
  this.#tabsetService.updateActiveTabLayout(layout);
1751
1752
  }
@@ -1762,6 +1763,13 @@ class SkyTabComponent {
1762
1763
  get tabIndexChange() {
1763
1764
  return this.#tabIndexChange;
1764
1765
  }
1766
+ set tabContentWrapper(tabContentWrapper) {
1767
+ this.#_tabElement = tabContentWrapper;
1768
+ this.#observeTabResize();
1769
+ }
1770
+ get tabContentWrapper() {
1771
+ return this.#_tabElement;
1772
+ }
1765
1773
  #_active;
1766
1774
  #activeChange;
1767
1775
  #_permalinkValue;
@@ -1769,7 +1777,9 @@ class SkyTabComponent {
1769
1777
  #_tabHeading;
1770
1778
  #_tabIndex;
1771
1779
  #_layout;
1780
+ #_tabElement;
1772
1781
  #tabIndexChange;
1782
+ #observingTab;
1773
1783
  #changeDetector;
1774
1784
  #permalinkService;
1775
1785
  #tabsetService;
@@ -1785,6 +1795,8 @@ class SkyTabComponent {
1785
1795
  this.showContent = false;
1786
1796
  this.#_active = false;
1787
1797
  this.#_layout = LAYOUT_DEFAULT;
1798
+ this.#observingTab = false;
1799
+ this.#mediaQueryService = inject(SkyResizeObserverMediaQueryService);
1788
1800
  this.#changeDetector = changeDetector;
1789
1801
  this.#permalinkService = permalinkService;
1790
1802
  this.#tabsetService = tabsetService;
@@ -1796,6 +1808,7 @@ class SkyTabComponent {
1796
1808
  this.#tabIndexChange = new BehaviorSubject(undefined);
1797
1809
  this.#setPermalinkValueOrDefault();
1798
1810
  }
1811
+ #mediaQueryService;
1799
1812
  ngOnChanges(changes) {
1800
1813
  if ((changes['disabled'] && !changes['disabled'].firstChange) ||
1801
1814
  (changes['tabHeading'] && !changes['tabHeading'].firstChange) ||
@@ -1803,6 +1816,9 @@ class SkyTabComponent {
1803
1816
  (changes['permalinkValue'] && !changes['permalinkValue'].firstChange)) {
1804
1817
  this.#stateChange.next();
1805
1818
  }
1819
+ if (changes['layout'] && changes['layout'].currentValue === 'none') {
1820
+ this.#mediaQueryService.unobserve();
1821
+ }
1806
1822
  }
1807
1823
  ngOnDestroy() {
1808
1824
  this.#activeChange.complete();
@@ -1811,6 +1827,8 @@ class SkyTabComponent {
1811
1827
  if (this.tabIndex !== undefined) {
1812
1828
  this.#tabsetService.unregisterTab(this.tabIndex);
1813
1829
  }
1830
+ this.#mediaQueryService.unobserve();
1831
+ this.#observingTab = false;
1814
1832
  }
1815
1833
  init() {
1816
1834
  this.#_tabIndex = this.#tabsetService.registerTab(this.tabIndex);
@@ -1833,12 +1851,38 @@ class SkyTabComponent {
1833
1851
  this.#permalinkService.urlify(this.permalinkValue) ||
1834
1852
  this.#permalinkService.urlify(this.tabHeading);
1835
1853
  }
1854
+ #observeTabResize() {
1855
+ if (this.tabContentWrapper) {
1856
+ if (this.layout !== 'none' && !this.#observingTab) {
1857
+ this.#observingTab = true;
1858
+ this.#mediaQueryService.observe(this.tabContentWrapper, {
1859
+ updateResponsiveClasses: true,
1860
+ });
1861
+ }
1862
+ else if (this.layout === 'none' && this.#observingTab) {
1863
+ this.#observingTab = false;
1864
+ this.#mediaQueryService.unobserve();
1865
+ }
1866
+ }
1867
+ }
1836
1868
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyTabComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: SkyTabsetPermalinkService }, { token: SkyTabsetService }], target: i0.ɵɵFactoryTarget.Component }); }
1837
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyTabComponent, selector: "sky-tab", inputs: { active: "active", disabled: "disabled", permalinkValue: "permalinkValue", tabHeaderCount: "tabHeaderCount", tabHeading: "tabHeading", tabIndex: "tabIndex", layout: "layout" }, outputs: { close: "close" }, host: { properties: { "class": "this.cssClass" } }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"sky-tab\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tabButtonId\"\n [hidden]=\"!showContent\"\n [id]=\"tabPanelId\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host.sky-layout-host-fit{display:flex;flex-grow:1;position:static}:host.sky-layout-host-fit .sky-tab{flex-grow:1;position:relative}.sky-tab{flex-grow:var(--sky-layout-host-content-flex-grow, 0);overflow:var(--sky-layout-host-content-overflow, visible);padding:var(--sky-layout-host-content-spacing, 0);position:var(--sky-layout-host-content-position, static)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1869
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyTabComponent, selector: "sky-tab", inputs: { active: "active", disabled: "disabled", permalinkValue: "permalinkValue", tabHeaderCount: "tabHeaderCount", tabHeading: "tabHeading", tabIndex: "tabIndex", layout: "layout" }, outputs: { close: "close" }, host: { properties: { "class": "this.cssClass" } }, providers: [
1870
+ SkyResizeObserverMediaQueryService,
1871
+ {
1872
+ provide: SkyMediaQueryService,
1873
+ useExisting: SkyResizeObserverMediaQueryService,
1874
+ },
1875
+ ], viewQueries: [{ propertyName: "tabContentWrapper", first: true, predicate: ["tabContentWrapper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"sky-tab\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tabButtonId\"\n [hidden]=\"!showContent\"\n [id]=\"tabPanelId\"\n #tabContentWrapper\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host.sky-layout-host-fit{display:flex;flex-grow:1;position:static}:host.sky-layout-host-fit .sky-tab{flex-grow:1;position:relative}.sky-tab{flex-grow:var(--sky-layout-host-content-flex-grow, 0);overflow:var(--sky-layout-host-content-overflow, visible);padding:var(--sky-layout-host-content-spacing, 0);position:var(--sky-layout-host-content-position, static)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1838
1876
  }
1839
1877
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyTabComponent, decorators: [{
1840
1878
  type: Component,
1841
- args: [{ selector: 'sky-tab', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"sky-tab\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tabButtonId\"\n [hidden]=\"!showContent\"\n [id]=\"tabPanelId\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host.sky-layout-host-fit{display:flex;flex-grow:1;position:static}:host.sky-layout-host-fit .sky-tab{flex-grow:1;position:relative}.sky-tab{flex-grow:var(--sky-layout-host-content-flex-grow, 0);overflow:var(--sky-layout-host-content-overflow, visible);padding:var(--sky-layout-host-content-spacing, 0);position:var(--sky-layout-host-content-position, static)}\n"] }]
1879
+ args: [{ selector: 'sky-tab', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
1880
+ SkyResizeObserverMediaQueryService,
1881
+ {
1882
+ provide: SkyMediaQueryService,
1883
+ useExisting: SkyResizeObserverMediaQueryService,
1884
+ },
1885
+ ], template: "<div\n class=\"sky-tab\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tabButtonId\"\n [hidden]=\"!showContent\"\n [id]=\"tabPanelId\"\n #tabContentWrapper\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host.sky-layout-host-fit{display:flex;flex-grow:1;position:static}:host.sky-layout-host-fit .sky-tab{flex-grow:1;position:relative}.sky-tab{flex-grow:var(--sky-layout-host-content-flex-grow, 0);overflow:var(--sky-layout-host-content-overflow, visible);padding:var(--sky-layout-host-content-spacing, 0);position:var(--sky-layout-host-content-position, static)}\n"] }]
1842
1886
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: SkyTabsetPermalinkService }, { type: SkyTabsetService }]; }, propDecorators: { active: [{
1843
1887
  type: Input
1844
1888
  }], disabled: [{
@@ -1858,6 +1902,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
1858
1902
  args: ['class']
1859
1903
  }], close: [{
1860
1904
  type: Output
1905
+ }], tabContentWrapper: [{
1906
+ type: ViewChild,
1907
+ args: ['tabContentWrapper']
1861
1908
  }] } });
1862
1909
 
1863
1910
  class SkyTabsetNavButtonDisabledPipe {
@@ -2543,14 +2590,12 @@ class SkyTabsModule {
2543
2590
  SkyTabsetNavButtonDisabledPipe], imports: [CommonModule,
2544
2591
  RouterModule,
2545
2592
  SkyDropdownModule,
2546
- SkyI18nModule,
2547
2593
  SkyIconModule,
2548
2594
  SkyTabsResourcesModule,
2549
2595
  SkyThemeModule], exports: [SkyTabComponent, SkyTabsetComponent, SkyTabsetNavButtonComponent] }); }
2550
2596
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyTabsModule, imports: [CommonModule,
2551
2597
  RouterModule,
2552
2598
  SkyDropdownModule,
2553
- SkyI18nModule,
2554
2599
  SkyIconModule,
2555
2600
  SkyTabsResourcesModule,
2556
2601
  SkyThemeModule] }); }
@@ -2569,7 +2614,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
2569
2614
  CommonModule,
2570
2615
  RouterModule,
2571
2616
  SkyDropdownModule,
2572
- SkyI18nModule,
2573
2617
  SkyIconModule,
2574
2618
  SkyTabsResourcesModule,
2575
2619
  SkyThemeModule,