@skyux/tabs 6.23.3 → 6.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +4 -4
- package/esm2020/lib/modules/shared/sky-tabs-resources.module.mjs +9 -1
- package/esm2020/lib/modules/tabs/tab-button-view-model.mjs +1 -1
- package/esm2020/lib/modules/tabs/tab-button.component.mjs +44 -5
- package/esm2020/lib/modules/tabs/tabset.component.mjs +6 -4
- package/esm2020/lib/modules/tabs/tabset.service.mjs +2 -2
- package/fesm2015/skyux-tabs.mjs +58 -8
- package/fesm2015/skyux-tabs.mjs.map +1 -1
- package/fesm2020/skyux-tabs.mjs +57 -8
- package/fesm2020/skyux-tabs.mjs.map +1 -1
- package/lib/modules/tabs/tab-button-view-model.d.ts +2 -0
- package/lib/modules/tabs/tab-button.component.d.ts +10 -3
- package/package.json +9 -9
package/documentation.json
CHANGED
|
@@ -6157,7 +6157,7 @@
|
|
|
6157
6157
|
{
|
|
6158
6158
|
"fileName": "information-form-demo.component.html",
|
|
6159
6159
|
"filePath": "/projects/tabs/documentation/code-examples/sectioned-form/modal/information-form-demo.component.html",
|
|
6160
|
-
"rawContents": "<form novalidate [formGroup]=\"myForm\">\n <div style=\"display: flex\">\n <div class=\"sky-margin-inline-lg\" style=\"flex: 1\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"nameInput.id\"\n >\n Name\n </label>\n <input\n class=\"sky-form-control\"\n formControlName=\"name\"\n skyId\n type=\"text\"\n #nameInput\n />\n </sky-input-box>\n </div>\n <div style=\"flex: 1\">\n <sky-input-box>\n <label class=\"sky-control-label\" [for]=\"idInput.id\"> ID </label>\n <input\n class=\"sky-form-control\"\n formControlName=\"id\"\n type=\"text\"\n #idInput\n />\n
|
|
6160
|
+
"rawContents": "<form novalidate [formGroup]=\"myForm\">\n <div style=\"display: flex\">\n <div class=\"sky-margin-inline-lg\" style=\"flex: 1\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"nameInput.id\"\n >\n Name\n </label>\n <input\n class=\"sky-form-control\"\n formControlName=\"name\"\n skyId\n type=\"text\"\n #nameInput\n />\n </sky-input-box>\n </div>\n <div style=\"flex: 1\">\n <sky-input-box>\n <label class=\"sky-control-label\" [for]=\"idInput.id\"> ID </label>\n <input\n class=\"sky-form-control\"\n formControlName=\"id\"\n type=\"text\"\n [attr.aria-describedby]=\"inputError.id\"\n #idInput\n />\n <span class=\"sky-error-indicator\" skyId #inputError=\"skyId\">\n <sky-status-indicator\n *ngIf=\"myForm.get('id')?.invalid\"\n indicatorType=\"danger\"\n descriptionType=\"error\"\n >\n Enter a valid value.\n </sky-status-indicator>\n </span>\n </sky-input-box>\n </div>\n </div>\n</form>\n"
|
|
6161
6161
|
},
|
|
6162
6162
|
{
|
|
6163
6163
|
"fileName": "information-form-demo.component.ts",
|
|
@@ -6187,7 +6187,7 @@
|
|
|
6187
6187
|
{
|
|
6188
6188
|
"fileName": "sectioned-form-demo.module.ts",
|
|
6189
6189
|
"filePath": "/projects/tabs/documentation/code-examples/sectioned-form/modal/sectioned-form-demo.module.ts",
|
|
6190
|
-
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SkyIdModule } from '@skyux/core';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyModalModule } from '@skyux/modals';\nimport { SkySectionedFormModule } from '@skyux/tabs';\n\nimport { AddressFormDemoComponent } from './address-form-demo.component';\nimport { InformationFormDemoComponent } from './information-form-demo.component';\nimport { PhoneFormDemoComponent } from './phone-form-demo.component';\nimport { SectionedFormDemoComponent } from './sectioned-form-demo.component';\nimport { SectionedFormModalDemoComponent } from './sectioned-form-modal-demo.component';\n\n@NgModule({\n declarations: [\n AddressFormDemoComponent,\n InformationFormDemoComponent,\n PhoneFormDemoComponent,\n SectionedFormModalDemoComponent,\n SectionedFormDemoComponent,\n ],\n exports: [SectionedFormDemoComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SkyIdModule,\n SkyInputBoxModule,\n SkyModalModule,\n SkySectionedFormModule,\n ],\n})\nexport class SectionedFormDemoModule {}\n"
|
|
6190
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SkyIdModule } from '@skyux/core';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyStatusIndicatorModule } from '@skyux/indicators';\nimport { SkyModalModule } from '@skyux/modals';\nimport { SkySectionedFormModule } from '@skyux/tabs';\n\nimport { AddressFormDemoComponent } from './address-form-demo.component';\nimport { InformationFormDemoComponent } from './information-form-demo.component';\nimport { PhoneFormDemoComponent } from './phone-form-demo.component';\nimport { SectionedFormDemoComponent } from './sectioned-form-demo.component';\nimport { SectionedFormModalDemoComponent } from './sectioned-form-modal-demo.component';\n\n@NgModule({\n declarations: [\n AddressFormDemoComponent,\n InformationFormDemoComponent,\n PhoneFormDemoComponent,\n SectionedFormModalDemoComponent,\n SectionedFormDemoComponent,\n ],\n exports: [SectionedFormDemoComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SkyIdModule,\n SkyInputBoxModule,\n SkyModalModule,\n SkySectionedFormModule,\n SkyStatusIndicatorModule,\n ],\n})\nexport class SectionedFormDemoModule {}\n"
|
|
6191
6191
|
},
|
|
6192
6192
|
{
|
|
6193
6193
|
"fileName": "sectioned-form-modal-demo.component.html",
|
|
@@ -6307,7 +6307,7 @@
|
|
|
6307
6307
|
{
|
|
6308
6308
|
"fileName": "wizard-demo-modal.component.html",
|
|
6309
6309
|
"filePath": "/projects/tabs/documentation/code-examples/wizard/basic/wizard-demo-modal.component.html",
|
|
6310
|
-
"rawContents": "<form [formGroup]=\"newMemberForm\" (ngSubmit)=\"onSave()\">\n <sky-modal>\n <sky-modal-header>\n {{ title }}\n </sky-modal-header>\n <sky-modal-content>\n <sky-tabset\n ariaLabel=\"Sign-up steps\"\n [(active)]=\"activeIndex\"\n tabStyle=\"wizard\"\n #wizardDemo\n >\n <sky-tab tabHeading=\"1. Biographical Details\">\n <sky-fluid-grid [disableMargin]=\"true\" gutterSize=\"small\">\n <sky-row>\n <sky-column [screenSmall]=\"12\" [screenMedium]=\"4\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"firstNameInput.id\"\n >First Name</label\n >\n <input\n type=\"text\"\n class=\"sky-form-control\"\n formControlName=\"firstName\"\n skyId\n #firstNameInput=\"skyId\"\n />\n <
|
|
6310
|
+
"rawContents": "<form [formGroup]=\"newMemberForm\" (ngSubmit)=\"onSave()\">\n <sky-modal>\n <sky-modal-header>\n {{ title }}\n </sky-modal-header>\n <sky-modal-content>\n <sky-tabset\n ariaLabel=\"Sign-up steps\"\n [(active)]=\"activeIndex\"\n tabStyle=\"wizard\"\n #wizardDemo\n >\n <sky-tab tabHeading=\"1. Biographical Details\">\n <sky-fluid-grid [disableMargin]=\"true\" gutterSize=\"small\">\n <sky-row>\n <sky-column [screenSmall]=\"12\" [screenMedium]=\"4\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"firstNameInput.id\"\n >First Name</label\n >\n <input\n type=\"text\"\n class=\"sky-form-control\"\n formControlName=\"firstName\"\n [attr.aria-describedby]=\"firstNameError.id\"\n skyId\n #firstNameInput=\"skyId\"\n />\n <span\n class=\"sky-error-indicator\"\n skyId\n #firstNameError=\"skyId\"\n >\n <sky-status-indicator\n *ngIf=\"\n (firstName.touched || firstName.dirty) &&\n !firstName.valid\n \"\n indicatorType=\"danger\"\n descriptionType=\"error\"\n >\n First name is required.\n </sky-status-indicator>\n </span>\n </sky-input-box>\n </sky-column>\n <sky-column [screenSmall]=\"12\" [screenMedium]=\"4\">\n <sky-input-box>\n <label class=\"sky-control-label\" [for]=\"middleNameInput.id\"\n >Middle Name</label\n >\n <input\n type=\"text\"\n class=\"sky-form-control\"\n formControlName=\"middleName\"\n skyId\n #middleNameInput=\"skyId\"\n />\n </sky-input-box>\n </sky-column>\n <sky-column [screenSmall]=\"12\" [screenMedium]=\"4\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"lastNameInput.id\"\n >Last Name</label\n >\n <input\n type=\"text\"\n class=\"sky-form-control\"\n formControlName=\"lastName\"\n [attr.aria-describedby]=\"lastNameError.id\"\n skyId\n #lastNameInput=\"skyId\"\n />\n <span\n class=\"sky-error-indicator\"\n skyId\n #lastNameError=\"skyId\"\n >\n <sky-status-indicator\n *ngIf=\"\n (lastName.touched || lastName.dirty) && !lastName.valid\n \"\n indicatorType=\"danger\"\n descriptionType=\"error\"\n >\n Last name is required.\n </sky-status-indicator>\n </span>\n </sky-input-box>\n </sky-column>\n </sky-row>\n </sky-fluid-grid>\n </sky-tab>\n <sky-tab tabHeading=\"2. Contact Information\" [disabled]=\"step2Disabled\">\n <sky-fluid-grid [disableMargin]=\"true\" gutterSize=\"small\">\n <sky-row>\n <sky-column [screenSmall]=\"12\" [screenMedium]=\"6\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"phoneNumberInput.id\"\n >Phone Number</label\n >\n <sky-phone-field defaultCountry=\"us\">\n <input\n formControlName=\"phoneNumber\"\n [attr.aria-describedby]=\"phoneNumberError.id\"\n skyId\n #phoneNumberInput=\"skyId\"\n skyPhoneFieldInput\n />\n </sky-phone-field>\n <span\n class=\"sky-error-indicator\"\n skyId\n #phoneNumberError=\"skyId\"\n >\n <sky-status-indicator\n *ngIf=\"\n (phoneNumber.touched || phoneNumber.dirty) &&\n !phoneNumber.valid\n \"\n indicatorType=\"danger\"\n descriptionType=\"error\"\n >\n A valid phone number is required.\n </sky-status-indicator>\n </span>\n </sky-input-box>\n </sky-column>\n <sky-column [screenSmall]=\"12\" [screenMedium]=\"6\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"emailInput.id\"\n >Email</label\n >\n <input\n type=\"email\"\n class=\"sky-form-control\"\n formControlName=\"email\"\n [attr.aria-describedby]=\"emailError.id\"\n skyId\n #emailInput=\"skyId\"\n />\n <span class=\"sky-error-indicator\" skyId #emailError=\"skyId\">\n <sky-status-indicator\n *ngIf=\"(email.touched || email.dirty) && !email.valid\"\n indicatorType=\"danger\"\n descriptionType=\"error\"\n >\n A valid email address is required.\n </sky-status-indicator>\n </span>\n </sky-input-box>\n </sky-column>\n </sky-row>\n </sky-fluid-grid>\n </sky-tab>\n <sky-tab tabHeading=\"3. More Information\" [disabled]=\"step3Disabled\">\n <sky-fluid-grid [disableMargin]=\"true\" gutterSize=\"small\">\n <sky-row>\n <sky-column [screenSmall]=\"12\">\n <sky-checkbox formControlName=\"termsAccepted\" [required]=\"true\">\n <sky-checkbox-label>\n Accept terms and conditions\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-column>\n <sky-column [screenSmall]=\"12\">\n <sky-checkbox formControlName=\"mailingList\">\n <sky-checkbox-label>\n Sign up for our email newsletter\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-column>\n </sky-row>\n </sky-fluid-grid>\n </sky-tab>\n </sky-tabset>\n </sky-modal-content>\n <sky-modal-footer>\n <sky-tabset-nav-button\n buttonType=\"previous\"\n [tabset]=\"wizardDemo\"\n ></sky-tabset-nav-button>\n <sky-tabset-nav-button\n buttonType=\"next\"\n [tabset]=\"wizardDemo\"\n ></sky-tabset-nav-button>\n <sky-tabset-nav-button\n buttonType=\"finish\"\n [tabset]=\"wizardDemo\"\n [disabled]=\"saveDisabled\"\n ></sky-tabset-nav-button>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"onCancelClick()\"\n >\n Cancel\n </button>\n </sky-modal-footer>\n </sky-modal>\n</form>\n"
|
|
6311
6311
|
},
|
|
6312
6312
|
{
|
|
6313
6313
|
"fileName": "wizard-demo-modal.component.ts",
|
|
@@ -6327,7 +6327,7 @@
|
|
|
6327
6327
|
{
|
|
6328
6328
|
"fileName": "wizard-demo.module.ts",
|
|
6329
6329
|
"filePath": "/projects/tabs/documentation/code-examples/wizard/basic/wizard-demo.module.ts",
|
|
6330
|
-
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SkyIdModule } from '@skyux/core';\nimport { SkyCheckboxModule, SkyInputBoxModule } from '@skyux/forms';\nimport { SkyFluidGridModule } from '@skyux/layout';\nimport { SkyModalModule } from '@skyux/modals';\nimport { SkyPhoneFieldModule } from '@skyux/phone-field';\nimport { SkyTabsModule } from '@skyux/tabs';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { WizardDemoModalComponent } from './wizard-demo-modal.component';\nimport { WizardDemoComponent } from './wizard-demo.component';\n\n@NgModule({\n declarations: [WizardDemoComponent, WizardDemoModalComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SkyCheckboxModule,\n SkyFluidGridModule,\n SkyIdModule,\n SkyInputBoxModule,\n SkyModalModule,\n SkyPhoneFieldModule,\n SkyTabsModule,\n SkyThemeModule,\n ],\n exports: [WizardDemoComponent],\n})\nexport class WizardDemoModule {}\n"
|
|
6330
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SkyIdModule } from '@skyux/core';\nimport { SkyCheckboxModule, SkyInputBoxModule } from '@skyux/forms';\nimport { SkyStatusIndicatorModule } from '@skyux/indicators';\nimport { SkyFluidGridModule } from '@skyux/layout';\nimport { SkyModalModule } from '@skyux/modals';\nimport { SkyPhoneFieldModule } from '@skyux/phone-field';\nimport { SkyTabsModule } from '@skyux/tabs';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { WizardDemoModalComponent } from './wizard-demo-modal.component';\nimport { WizardDemoComponent } from './wizard-demo.component';\n\n@NgModule({\n declarations: [WizardDemoComponent, WizardDemoModalComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SkyCheckboxModule,\n SkyFluidGridModule,\n SkyIdModule,\n SkyInputBoxModule,\n SkyModalModule,\n SkyPhoneFieldModule,\n SkyStatusIndicatorModule,\n SkyTabsModule,\n SkyThemeModule,\n ],\n exports: [WizardDemoComponent],\n})\nexport class WizardDemoModule {}\n"
|
|
6331
6331
|
}
|
|
6332
6332
|
]
|
|
6333
6333
|
}
|
|
@@ -15,7 +15,15 @@ const RESOURCES = {
|
|
|
15
15
|
skyux_tabs_navigator_next: { message: 'Next' },
|
|
16
16
|
skyux_tabs_navigator_previous: { message: 'Previous' },
|
|
17
17
|
skyux_tab_open: { message: 'Open tab' },
|
|
18
|
+
skyux_tabs_sr_tab_order: { message: 'Tab {0} of {1}: {2}' },
|
|
18
19
|
skyux_vertical_tabs_show_tabs_text: { message: 'Tab list' },
|
|
20
|
+
skyux_wizard_sr_step_current: { message: 'Step {0} of {1}, current: {2}' },
|
|
21
|
+
skyux_wizard_sr_step_completed: {
|
|
22
|
+
message: 'Step {0} of {1}, completed: {2}',
|
|
23
|
+
},
|
|
24
|
+
skyux_wizard_sr_step_unavailable: {
|
|
25
|
+
message: 'Step {0} of {1}, unavailable: {2}',
|
|
26
|
+
},
|
|
19
27
|
},
|
|
20
28
|
};
|
|
21
29
|
export class SkyTabsResourcesProvider {
|
|
@@ -50,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
50
58
|
],
|
|
51
59
|
}]
|
|
52
60
|
}] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LXRhYnMtcmVzb3VyY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy9zaGFyZWQvc2t5LXRhYnMtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNMLDJCQUEyQixFQUUzQixhQUFhLEVBR2IscUJBQXFCLEdBQ3RCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBMEM7SUFDdkQsT0FBTyxFQUFFO1FBQ1AsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtRQUNyQyxlQUFlLEVBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFO1FBQzdDLDJCQUEyQixFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRTtRQUNsRCx5QkFBeUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUU7UUFDOUMsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQ3RELGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUU7UUFDdkMsdUJBQXVCLEVBQUUsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUU7UUFDM0Qsa0NBQWtDLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQzNELDRCQUE0QixFQUFFLEVBQUUsT0FBTyxFQUFFLCtCQUErQixFQUFFO1FBQzFFLDhCQUE4QixFQUFFO1lBQzlCLE9BQU8sRUFBRSxpQ0FBaUM7U0FDM0M7UUFDRCxnQ0FBZ0MsRUFBRTtZQUNoQyxPQUFPLEVBQUUsbUNBQW1DO1NBQzdDO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsTUFBTSxPQUFPLHdCQUF3QjtJQUM1QixTQUFTLENBQ2QsVUFBNEIsRUFDNUIsSUFBWTtRQUVaLE9BQU8scUJBQXFCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFXSCxNQUFNLE9BQU8sc0JBQXNCOzttSEFBdEIsc0JBQXNCO29IQUF0QixzQkFBc0IsWUFUdkIsYUFBYTtvSEFTWixzQkFBc0IsYUFSdEI7UUFDVDtZQUNFLE9BQU8sRUFBRSwyQkFBMkI7WUFDcEMsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsWUFQUyxhQUFhOzJGQVNaLHNCQUFzQjtrQkFWbEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3hCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsMkJBQTJCOzRCQUNwQyxRQUFRLEVBQUUsd0JBQXdCOzRCQUNsQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTk9USUNFOiBETyBOT1QgTU9ESUZZIFRISVMgRklMRSFcbiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgd2VyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieVxuICogdGhlICduZyBnZW5lcmF0ZSBAc2t5dXgvaTE4bjpsaWItcmVzb3VyY2VzLW1vZHVsZSBsaWIvbW9kdWxlcy9zaGFyZWQvc2t5LXRhYnMnIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNLWV9MSUJfUkVTT1VSQ0VTX1BST1ZJREVSUyxcbiAgU2t5QXBwTG9jYWxlSW5mbyxcbiAgU2t5STE4bk1vZHVsZSxcbiAgU2t5TGliUmVzb3VyY2VzLFxuICBTa3lMaWJSZXNvdXJjZXNQcm92aWRlcixcbiAgZ2V0TGliU3RyaW5nRm9yTG9jYWxlLFxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmNvbnN0IFJFU09VUkNFUzogeyBbbG9jYWxlOiBzdHJpbmddOiBTa3lMaWJSZXNvdXJjZXMgfSA9IHtcbiAgJ0VOLVVTJzoge1xuICAgIHNreXV4X3RhYl9hZGQ6IHsgbWVzc2FnZTogJ0FkZCB0YWInIH0sXG4gICAgc2t5dXhfdGFiX2Nsb3NlOiB7IG1lc3NhZ2U6ICdDbG9zZSB7MH0gdGFiJyB9LFxuICAgIHNreXV4X3RhYnNfbmF2aWdhdG9yX2ZpbmlzaDogeyBtZXNzYWdlOiAnRmluaXNoJyB9LFxuICAgIHNreXV4X3RhYnNfbmF2aWdhdG9yX25leHQ6IHsgbWVzc2FnZTogJ05leHQnIH0sXG4gICAgc2t5dXhfdGFic19uYXZpZ2F0b3JfcHJldmlvdXM6IHsgbWVzc2FnZTogJ1ByZXZpb3VzJyB9LFxuICAgIHNreXV4X3RhYl9vcGVuOiB7IG1lc3NhZ2U6ICdPcGVuIHRhYicgfSxcbiAgICBza3l1eF90YWJzX3NyX3RhYl9vcmRlcjogeyBtZXNzYWdlOiAnVGFiIHswfSBvZiB7MX06IHsyfScgfSxcbiAgICBza3l1eF92ZXJ0aWNhbF90YWJzX3Nob3dfdGFic190ZXh0OiB7IG1lc3NhZ2U6ICdUYWIgbGlzdCcgfSxcbiAgICBza3l1eF93aXphcmRfc3Jfc3RlcF9jdXJyZW50OiB7IG1lc3NhZ2U6ICdTdGVwIHswfSBvZiB7MX0sIGN1cnJlbnQ6IHsyfScgfSxcbiAgICBza3l1eF93aXphcmRfc3Jfc3RlcF9jb21wbGV0ZWQ6IHtcbiAgICAgIG1lc3NhZ2U6ICdTdGVwIHswfSBvZiB7MX0sIGNvbXBsZXRlZDogezJ9JyxcbiAgICB9LFxuICAgIHNreXV4X3dpemFyZF9zcl9zdGVwX3VuYXZhaWxhYmxlOiB7XG4gICAgICBtZXNzYWdlOiAnU3RlcCB7MH0gb2YgezF9LCB1bmF2YWlsYWJsZTogezJ9JyxcbiAgICB9LFxuICB9LFxufTtcblxuZXhwb3J0IGNsYXNzIFNreVRhYnNSZXNvdXJjZXNQcm92aWRlciBpbXBsZW1lbnRzIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyIHtcbiAgcHVibGljIGdldFN0cmluZyhcbiAgICBsb2NhbGVJbmZvOiBTa3lBcHBMb2NhbGVJbmZvLFxuICAgIG5hbWU6IHN0cmluZ1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBnZXRMaWJTdHJpbmdGb3JMb2NhbGUoUkVTT1VSQ0VTLCBsb2NhbGVJbmZvLmxvY2FsZSwgbmFtZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbXBvcnQgaW50byBhbnkgY29tcG9uZW50IGxpYnJhcnkgbW9kdWxlIHRoYXQgbmVlZHMgdG8gdXNlIHJlc291cmNlIHN0cmluZ3MuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtTa3lJMThuTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogU0tZX0xJQl9SRVNPVVJDRVNfUFJPVklERVJTLFxuICAgICAgdXNlQ2xhc3M6IFNreVRhYnNSZXNvdXJjZXNQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRhYnNSZXNvdXJjZXNNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJ1dHRvbi12aWV3LW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3RhYnMvdGFiLWJ1dHRvbi12aWV3LW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lUYWJJbmRleCB9IGZyb20gJy4vdGFiLWluZGV4JztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IHR5cGUgVGFiQnV0dG9uVmlld01vZGVsID0ge1xuICBhY3RpdmU6IGJvb2xlYW47XG4gIGFyaWFDb250cm9sczogc3RyaW5nO1xuICBidXR0b25IcmVmOiBzdHJpbmc7XG4gIGJ1dHRvbklkOiBzdHJpbmc7XG4gIGJ1dHRvblRleHQ6IHN0cmluZztcbiAgYnV0dG9uVGV4dENvdW50OiBzdHJpbmc7XG4gIGNsb3NlYWJsZTogYm9vbGVhbjtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHRhYkluZGV4OiBTa3lUYWJJbmRleDtcbiAgdGFiTnVtYmVyOiBudW1iZXI7XG4gIHRvdGFsVGFic0NvdW50OiBudW1iZXI7XG59O1xuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _SkyTabButtonComponent__tabStyle, _SkyTabButtonComponent_adapterService, _SkyTabButtonComponent_changeDetectorRef, _SkyTabButtonComponent_elementRef, _SkyTabButtonComponent_tabsetService, _SkyTabButtonComponent_ngUnsubscribe;
|
|
1
|
+
var _SkyTabButtonComponent_instances, _SkyTabButtonComponent__isActive, _SkyTabButtonComponent__isDisabled, _SkyTabButtonComponent__tabStyle, _SkyTabButtonComponent_adapterService, _SkyTabButtonComponent_changeDetectorRef, _SkyTabButtonComponent_elementRef, _SkyTabButtonComponent_tabsetService, _SkyTabButtonComponent_ngUnsubscribe, _SkyTabButtonComponent_updateWizardStepState;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
3
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
4
4
|
import { Subject } from 'rxjs';
|
|
@@ -12,15 +12,19 @@ import * as i3 from "@skyux/indicators";
|
|
|
12
12
|
import * as i4 from "@angular/common";
|
|
13
13
|
import * as i5 from "@skyux/i18n";
|
|
14
14
|
const DEFAULT_ELEMENT_ROLE = 'tab';
|
|
15
|
+
const DEFAULT_DISABLED = false;
|
|
15
16
|
/**
|
|
16
17
|
* @internal
|
|
17
18
|
*/
|
|
18
19
|
export class SkyTabButtonComponent {
|
|
19
20
|
constructor(elementRef, adapterService, changeDetectorRef, tabsetService) {
|
|
21
|
+
_SkyTabButtonComponent_instances.add(this);
|
|
20
22
|
this.buttonClick = new EventEmitter();
|
|
21
23
|
this.closeClick = new EventEmitter();
|
|
22
24
|
this.elementRole = DEFAULT_ELEMENT_ROLE;
|
|
23
25
|
this.closeBtnTabIndex = '-1';
|
|
26
|
+
_SkyTabButtonComponent__isActive.set(this, false);
|
|
27
|
+
_SkyTabButtonComponent__isDisabled.set(this, DEFAULT_DISABLED);
|
|
24
28
|
_SkyTabButtonComponent__tabStyle.set(this, void 0);
|
|
25
29
|
_SkyTabButtonComponent_adapterService.set(this, void 0);
|
|
26
30
|
_SkyTabButtonComponent_changeDetectorRef.set(this, void 0);
|
|
@@ -32,12 +36,27 @@ export class SkyTabButtonComponent {
|
|
|
32
36
|
__classPrivateFieldSet(this, _SkyTabButtonComponent_elementRef, elementRef, "f");
|
|
33
37
|
__classPrivateFieldSet(this, _SkyTabButtonComponent_tabsetService, tabsetService, "f");
|
|
34
38
|
}
|
|
39
|
+
get active() {
|
|
40
|
+
return __classPrivateFieldGet(this, _SkyTabButtonComponent__isActive, "f");
|
|
41
|
+
}
|
|
42
|
+
set active(value) {
|
|
43
|
+
__classPrivateFieldSet(this, _SkyTabButtonComponent__isActive, value, "f");
|
|
44
|
+
__classPrivateFieldGet(this, _SkyTabButtonComponent_instances, "m", _SkyTabButtonComponent_updateWizardStepState).call(this);
|
|
45
|
+
}
|
|
46
|
+
get disabled() {
|
|
47
|
+
return __classPrivateFieldGet(this, _SkyTabButtonComponent__isDisabled, "f");
|
|
48
|
+
}
|
|
49
|
+
set disabled(value) {
|
|
50
|
+
__classPrivateFieldSet(this, _SkyTabButtonComponent__isDisabled, value ?? DEFAULT_DISABLED, "f");
|
|
51
|
+
__classPrivateFieldGet(this, _SkyTabButtonComponent_instances, "m", _SkyTabButtonComponent_updateWizardStepState).call(this);
|
|
52
|
+
}
|
|
35
53
|
get tabStyle() {
|
|
36
54
|
return __classPrivateFieldGet(this, _SkyTabButtonComponent__tabStyle, "f");
|
|
37
55
|
}
|
|
38
56
|
set tabStyle(style) {
|
|
39
57
|
__classPrivateFieldSet(this, _SkyTabButtonComponent__tabStyle, style, "f");
|
|
40
58
|
this.elementRole = style === 'tabs' ? DEFAULT_ELEMENT_ROLE : undefined;
|
|
59
|
+
__classPrivateFieldGet(this, _SkyTabButtonComponent_instances, "m", _SkyTabButtonComponent_updateWizardStepState).call(this);
|
|
41
60
|
}
|
|
42
61
|
ngAfterViewInit() {
|
|
43
62
|
__classPrivateFieldGet(this, _SkyTabButtonComponent_tabsetService, "f").focusedTabBtnIndex
|
|
@@ -91,12 +110,28 @@ export class SkyTabButtonComponent {
|
|
|
91
110
|
__classPrivateFieldGet(this, _SkyTabButtonComponent_tabsetService, "f").setFocusedTabBtnIndex(this.tabIndex);
|
|
92
111
|
}
|
|
93
112
|
}
|
|
94
|
-
_SkyTabButtonComponent__tabStyle = new WeakMap(), _SkyTabButtonComponent_adapterService = new WeakMap(), _SkyTabButtonComponent_changeDetectorRef = new WeakMap(), _SkyTabButtonComponent_elementRef = new WeakMap(), _SkyTabButtonComponent_tabsetService = new WeakMap(), _SkyTabButtonComponent_ngUnsubscribe = new WeakMap()
|
|
113
|
+
_SkyTabButtonComponent__isActive = new WeakMap(), _SkyTabButtonComponent__isDisabled = new WeakMap(), _SkyTabButtonComponent__tabStyle = new WeakMap(), _SkyTabButtonComponent_adapterService = new WeakMap(), _SkyTabButtonComponent_changeDetectorRef = new WeakMap(), _SkyTabButtonComponent_elementRef = new WeakMap(), _SkyTabButtonComponent_tabsetService = new WeakMap(), _SkyTabButtonComponent_ngUnsubscribe = new WeakMap(), _SkyTabButtonComponent_instances = new WeakSet(), _SkyTabButtonComponent_updateWizardStepState = function _SkyTabButtonComponent_updateWizardStepState() {
|
|
114
|
+
if (this.tabStyle === 'tabs') {
|
|
115
|
+
this.wizardStepState = undefined;
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
if (this.active) {
|
|
119
|
+
this.wizardStepState = 'current';
|
|
120
|
+
}
|
|
121
|
+
else if (!this.disabled) {
|
|
122
|
+
this.wizardStepState = 'completed';
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
this.wizardStepState = 'unavailable';
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
__classPrivateFieldGet(this, _SkyTabButtonComponent_changeDetectorRef, "f").markForCheck();
|
|
129
|
+
};
|
|
95
130
|
SkyTabButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyTabButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.SkyTabButtonAdapterService }, { token: i0.ChangeDetectorRef }, { token: i2.SkyTabsetService }], target: i0.ɵɵFactoryTarget.Component });
|
|
96
|
-
SkyTabButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyTabButtonComponent, selector: "sky-tab-button", inputs: { active: "active", ariaControls: "ariaControls", buttonHref: "buttonHref", buttonId: "buttonId", buttonText: "buttonText", buttonTextCount: "buttonTextCount", closeable: "closeable", disabled: "disabled", tabIndex: "tabIndex", tabStyle: "tabStyle" }, outputs: { buttonClick: "buttonClick", closeClick: "closeClick" }, providers: [SkyTabButtonAdapterService], ngImport: i0, template: "<div\n class=\"sky-btn-tab-wrapper\"\n [ngClass]=\"{\n 'sky-btn-tab-wrapper-selected': active,\n 'sky-btn-tab-wrapper-disabled': disabled\n }\"\n>\n <a\n #tabButtonEl\n class=\"sky-btn-tab\"\n [attr.role]=\"elementRole\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-selected]=\"active\"\n [attr.href]=\"buttonHref\"\n [id]=\"buttonId\"\n [ngClass]=\"{\n 'sky-btn-tab-wizard': tabStyle === 'wizard',\n 'sky-btn-tab-selected': active,\n 'sky-btn-tab-disabled': disabled,\n 'sky-tab-btn-closeable': closeable\n }\"\n [tabindex]=\"active ? '0' : '-1'\"\n (click)=\"onButtonClick($event)\"\n (keydown)=\"onTabButtonKeyDown($event)\"\n (focus)=\"onFocus()\"\n >\n <span class=\"sky-tab-heading\">\n {{ buttonText }}\n <span *ngIf=\"buttonTextCount !== undefined\" class=\"sky-tab-header-count\">\n {{ buttonTextCount }}\n </span>\n </span>\n </a>\n\n <button\n *ngIf=\"closeable\"\n class=\"sky-btn-tab-close\"\n [tabindex]=\"closeBtnTabIndex\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_tab_close' | skyLibResources: buttonText\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-tab-close-disabled': disabled\n }\"\n (click)=\"onCloseClick($event)\"\n >\n <sky-icon icon=\"remove\"></sky-icon>\n </button>\n</div>\n", styles: [".sky-btn-tab-wrapper{display:inline-block;position:relative;margin-right:5px}.sky-btn-tab-wrapper .sky-btn-tab-close{position:absolute;top:10px;right:10px;color:#686c73}.sky-btn-tab-wrapper .sky-btn-tab-close:hover{color:#212327;transition:color .15s}.sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#fff}.sky-btn-tab-wrapper.sky-btn-tab-wrapper-disabled{cursor:not-allowed}.sky-tab-btn-closeable{padding-right:43px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper{margin-right:10px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper .sky-btn-tab-close{top:12px;right:10px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#686c73}:host-context(.sky-theme-modern) .sky-tab-btn-closeable{padding-right:44px}.sky-theme-modern .sky-btn-tab-wrapper{margin-right:10px}.sky-theme-modern .sky-btn-tab-wrapper .sky-btn-tab-close{top:12px;right:10px}.sky-theme-modern .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#686c73}.sky-theme-modern .sky-tab-btn-closeable{padding-right:44px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-btn-tab-wrapper .sky-btn-tab-close{color:#eeeeef}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#eeeeef}.sky-theme-modern.sky-theme-mode-dark .sky-btn-tab-wrapper .sky-btn-tab-close{color:#eeeeef}.sky-theme-modern.sky-theme-mode-dark .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#eeeeef}\n"], components: [{ type: i3.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "skyLibResources": i5.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
131
|
+
SkyTabButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyTabButtonComponent, selector: "sky-tab-button", inputs: { active: "active", ariaControls: "ariaControls", buttonHref: "buttonHref", buttonId: "buttonId", buttonText: "buttonText", buttonTextCount: "buttonTextCount", closeable: "closeable", disabled: "disabled", tabIndex: "tabIndex", tabNumber: "tabNumber", totalTabsCount: "totalTabsCount", tabStyle: "tabStyle" }, outputs: { buttonClick: "buttonClick", closeClick: "closeClick" }, providers: [SkyTabButtonAdapterService], ngImport: i0, template: "<div\n class=\"sky-btn-tab-wrapper\"\n [ngClass]=\"{\n 'sky-btn-tab-wrapper-selected': active,\n 'sky-btn-tab-wrapper-disabled': disabled\n }\"\n>\n <a\n #tabButtonEl\n class=\"sky-btn-tab\"\n [attr.role]=\"elementRole\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-selected]=\"active\"\n [attr.href]=\"buttonHref\"\n [attr.aria-label]=\"\n (tabStyle === 'wizard'\n ? 'skyux_wizard_sr_step_' + wizardStepState\n : 'skyux_tabs_sr_tab_order'\n ) | skyLibResources: tabNumber:totalTabsCount:buttonText\n \"\n [id]=\"buttonId\"\n [ngClass]=\"{\n 'sky-btn-tab-wizard': tabStyle === 'wizard',\n 'sky-btn-tab-selected': active,\n 'sky-btn-tab-disabled': disabled,\n 'sky-tab-btn-closeable': closeable\n }\"\n [tabindex]=\"active ? '0' : '-1'\"\n (click)=\"onButtonClick($event)\"\n (keydown)=\"onTabButtonKeyDown($event)\"\n (focus)=\"onFocus()\"\n >\n <span class=\"sky-tab-heading\" [attr.aria-hidden]=\"true\">\n {{ buttonText }}\n <span *ngIf=\"buttonTextCount !== undefined\" class=\"sky-tab-header-count\">\n {{ buttonTextCount }}\n </span>\n </span>\n </a>\n\n <button\n *ngIf=\"closeable\"\n class=\"sky-btn-tab-close\"\n [tabindex]=\"closeBtnTabIndex\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_tab_close' | skyLibResources: buttonText\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-tab-close-disabled': disabled\n }\"\n (click)=\"onCloseClick($event)\"\n >\n <sky-icon icon=\"remove\"></sky-icon>\n </button>\n</div>\n", styles: [".sky-btn-tab-wrapper{display:inline-block;position:relative;margin-right:5px}.sky-btn-tab-wrapper .sky-btn-tab-close{position:absolute;top:10px;right:10px;color:#686c73}.sky-btn-tab-wrapper .sky-btn-tab-close:hover{color:#212327;transition:color .15s}.sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#fff}.sky-btn-tab-wrapper.sky-btn-tab-wrapper-disabled{cursor:not-allowed}.sky-tab-btn-closeable{padding-right:43px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper{margin-right:10px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper .sky-btn-tab-close{top:12px;right:10px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#686c73}:host-context(.sky-theme-modern) .sky-tab-btn-closeable{padding-right:44px}.sky-theme-modern .sky-btn-tab-wrapper{margin-right:10px}.sky-theme-modern .sky-btn-tab-wrapper .sky-btn-tab-close{top:12px;right:10px}.sky-theme-modern .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#686c73}.sky-theme-modern .sky-tab-btn-closeable{padding-right:44px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-btn-tab-wrapper .sky-btn-tab-close{color:#eeeeef}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#eeeeef}.sky-theme-modern.sky-theme-mode-dark .sky-btn-tab-wrapper .sky-btn-tab-close{color:#eeeeef}.sky-theme-modern.sky-theme-mode-dark .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#eeeeef}\n"], components: [{ type: i3.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "skyLibResources": i5.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
97
132
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyTabButtonComponent, decorators: [{
|
|
98
133
|
type: Component,
|
|
99
|
-
args: [{ selector: 'sky-tab-button', providers: [SkyTabButtonAdapterService], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"sky-btn-tab-wrapper\"\n [ngClass]=\"{\n 'sky-btn-tab-wrapper-selected': active,\n 'sky-btn-tab-wrapper-disabled': disabled\n }\"\n>\n <a\n #tabButtonEl\n class=\"sky-btn-tab\"\n [attr.role]=\"elementRole\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-selected]=\"active\"\n [attr.href]=\"buttonHref\"\n [id]=\"buttonId\"\n [ngClass]=\"{\n 'sky-btn-tab-wizard': tabStyle === 'wizard',\n 'sky-btn-tab-selected': active,\n 'sky-btn-tab-disabled': disabled,\n 'sky-tab-btn-closeable': closeable\n }\"\n [tabindex]=\"active ? '0' : '-1'\"\n (click)=\"onButtonClick($event)\"\n (keydown)=\"onTabButtonKeyDown($event)\"\n (focus)=\"onFocus()\"\n >\n <span class=\"sky-tab-heading\">\n {{ buttonText }}\n <span *ngIf=\"buttonTextCount !== undefined\" class=\"sky-tab-header-count\">\n {{ buttonTextCount }}\n </span>\n </span>\n </a>\n\n <button\n *ngIf=\"closeable\"\n class=\"sky-btn-tab-close\"\n [tabindex]=\"closeBtnTabIndex\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_tab_close' | skyLibResources: buttonText\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-tab-close-disabled': disabled\n }\"\n (click)=\"onCloseClick($event)\"\n >\n <sky-icon icon=\"remove\"></sky-icon>\n </button>\n</div>\n", styles: [".sky-btn-tab-wrapper{display:inline-block;position:relative;margin-right:5px}.sky-btn-tab-wrapper .sky-btn-tab-close{position:absolute;top:10px;right:10px;color:#686c73}.sky-btn-tab-wrapper .sky-btn-tab-close:hover{color:#212327;transition:color .15s}.sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#fff}.sky-btn-tab-wrapper.sky-btn-tab-wrapper-disabled{cursor:not-allowed}.sky-tab-btn-closeable{padding-right:43px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper{margin-right:10px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper .sky-btn-tab-close{top:12px;right:10px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#686c73}:host-context(.sky-theme-modern) .sky-tab-btn-closeable{padding-right:44px}.sky-theme-modern .sky-btn-tab-wrapper{margin-right:10px}.sky-theme-modern .sky-btn-tab-wrapper .sky-btn-tab-close{top:12px;right:10px}.sky-theme-modern .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#686c73}.sky-theme-modern .sky-tab-btn-closeable{padding-right:44px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-btn-tab-wrapper .sky-btn-tab-close{color:#eeeeef}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#eeeeef}.sky-theme-modern.sky-theme-mode-dark .sky-btn-tab-wrapper .sky-btn-tab-close{color:#eeeeef}.sky-theme-modern.sky-theme-mode-dark .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#eeeeef}\n"] }]
|
|
134
|
+
args: [{ selector: 'sky-tab-button', providers: [SkyTabButtonAdapterService], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"sky-btn-tab-wrapper\"\n [ngClass]=\"{\n 'sky-btn-tab-wrapper-selected': active,\n 'sky-btn-tab-wrapper-disabled': disabled\n }\"\n>\n <a\n #tabButtonEl\n class=\"sky-btn-tab\"\n [attr.role]=\"elementRole\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-selected]=\"active\"\n [attr.href]=\"buttonHref\"\n [attr.aria-label]=\"\n (tabStyle === 'wizard'\n ? 'skyux_wizard_sr_step_' + wizardStepState\n : 'skyux_tabs_sr_tab_order'\n ) | skyLibResources: tabNumber:totalTabsCount:buttonText\n \"\n [id]=\"buttonId\"\n [ngClass]=\"{\n 'sky-btn-tab-wizard': tabStyle === 'wizard',\n 'sky-btn-tab-selected': active,\n 'sky-btn-tab-disabled': disabled,\n 'sky-tab-btn-closeable': closeable\n }\"\n [tabindex]=\"active ? '0' : '-1'\"\n (click)=\"onButtonClick($event)\"\n (keydown)=\"onTabButtonKeyDown($event)\"\n (focus)=\"onFocus()\"\n >\n <span class=\"sky-tab-heading\" [attr.aria-hidden]=\"true\">\n {{ buttonText }}\n <span *ngIf=\"buttonTextCount !== undefined\" class=\"sky-tab-header-count\">\n {{ buttonTextCount }}\n </span>\n </span>\n </a>\n\n <button\n *ngIf=\"closeable\"\n class=\"sky-btn-tab-close\"\n [tabindex]=\"closeBtnTabIndex\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_tab_close' | skyLibResources: buttonText\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-tab-close-disabled': disabled\n }\"\n (click)=\"onCloseClick($event)\"\n >\n <sky-icon icon=\"remove\"></sky-icon>\n </button>\n</div>\n", styles: [".sky-btn-tab-wrapper{display:inline-block;position:relative;margin-right:5px}.sky-btn-tab-wrapper .sky-btn-tab-close{position:absolute;top:10px;right:10px;color:#686c73}.sky-btn-tab-wrapper .sky-btn-tab-close:hover{color:#212327;transition:color .15s}.sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#fff}.sky-btn-tab-wrapper.sky-btn-tab-wrapper-disabled{cursor:not-allowed}.sky-tab-btn-closeable{padding-right:43px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper{margin-right:10px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper .sky-btn-tab-close{top:12px;right:10px}:host-context(.sky-theme-modern) .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#686c73}:host-context(.sky-theme-modern) .sky-tab-btn-closeable{padding-right:44px}.sky-theme-modern .sky-btn-tab-wrapper{margin-right:10px}.sky-theme-modern .sky-btn-tab-wrapper .sky-btn-tab-close{top:12px;right:10px}.sky-theme-modern .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#686c73}.sky-theme-modern .sky-tab-btn-closeable{padding-right:44px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-btn-tab-wrapper .sky-btn-tab-close{color:#eeeeef}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#eeeeef}.sky-theme-modern.sky-theme-mode-dark .sky-btn-tab-wrapper .sky-btn-tab-close{color:#eeeeef}.sky-theme-modern.sky-theme-mode-dark .sky-btn-tab-wrapper.sky-btn-tab-wrapper-selected:not(.sky-btn-tab-wrapper-disabled) .sky-btn-tab-close{color:#eeeeef}\n"] }]
|
|
100
135
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.SkyTabButtonAdapterService }, { type: i0.ChangeDetectorRef }, { type: i2.SkyTabsetService }]; }, propDecorators: { active: [{
|
|
101
136
|
type: Input
|
|
102
137
|
}], ariaControls: [{
|
|
@@ -115,6 +150,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
115
150
|
type: Input
|
|
116
151
|
}], tabIndex: [{
|
|
117
152
|
type: Input
|
|
153
|
+
}], tabNumber: [{
|
|
154
|
+
type: Input
|
|
155
|
+
}], totalTabsCount: [{
|
|
156
|
+
type: Input
|
|
118
157
|
}], tabStyle: [{
|
|
119
158
|
type: Input
|
|
120
159
|
}], buttonClick: [{
|
|
@@ -122,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
122
161
|
}], closeClick: [{
|
|
123
162
|
type: Output
|
|
124
163
|
}] } });
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdGFicy90YWItYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy90YWJzL3RhYi1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUcxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7OztBQUVwRCxNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQztBQUVuQzs7R0FFRztBQVNILE1BQU0sT0FBTyxxQkFBcUI7SUE0Q2hDLFlBQ0UsVUFBc0IsRUFDdEIsY0FBMEMsRUFDMUMsaUJBQW9DLEVBQ3BDLGFBQStCO1FBVDFCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUd2QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQWN0QyxnQkFBVyxHQUF1QixvQkFBb0IsQ0FBQztRQUN2RCxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFL0IsbURBQTJCO1FBQzNCLHdEQUE0QztRQUM1QywyREFBc0M7UUFDdEMsb0RBQXdC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QkFDdEIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTt5TUFJOUIsTUFBTTtzQkFEWixLQUFLO2dCQUlDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxLQUFLO2dCQUlLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBV0MsV0FBVztzQkFEakIsTUFBTTtnQkFJQSxVQUFVO3NCQURoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRhYkJ1dHRvbkFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi90YWItYnV0dG9uLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lUYWJJbmRleCB9IGZyb20gJy4vdGFiLWluZGV4JztcbmltcG9ydCB7IFNreVRhYnNldFN0eWxlIH0gZnJvbSAnLi90YWJzZXQtc3R5bGUnO1xuaW1wb3J0IHsgU2t5VGFic2V0U2VydmljZSB9IGZyb20gJy4vdGFic2V0LnNlcnZpY2UnO1xuXG5jb25zdCBERUZBVUxUX0VMRU1FTlRfUk9MRSA9ICd0YWInO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdGFiLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtTa3lUYWJCdXR0b25BZGFwdGVyU2VydmljZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUYWJCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWN0aXZlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcmlhQ29udHJvbHM6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYnV0dG9uSHJlZjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBidXR0b25JZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBidXR0b25UZXh0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGJ1dHRvblRleHRDb3VudDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjbG9zZWFibGU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJJbmRleDogU2t5VGFiSW5kZXg7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGdldCB0YWJTdHlsZSgpOiBTa3lUYWJzZXRTdHlsZSB7XG4gICAgcmV0dXJuIHRoaXMuI190YWJTdHlsZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdGFiU3R5bGUoc3R5bGU6IFNreVRhYnNldFN0eWxlIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3RhYlN0eWxlID0gc3R5bGU7XG4gICAgdGhpcy5lbGVtZW50Um9sZSA9IHN0eWxlID09PSAndGFicycgPyBERUZBVUxUX0VMRU1FTlRfUk9MRSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjbG9zZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgYWRhcHRlclNlcnZpY2U6IFNreVRhYkJ1dHRvbkFkYXB0ZXJTZXJ2aWNlLFxuICAgIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICB0YWJzZXRTZXJ2aWNlOiBTa3lUYWJzZXRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlID0gYWRhcHRlclNlcnZpY2U7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3JSZWYgPSBjaGFuZ2VEZXRlY3RvclJlZjtcbiAgICB0aGlzLiNlbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB0aGlzLiN0YWJzZXRTZXJ2aWNlID0gdGFic2V0U2VydmljZTtcbiAgfVxuXG4gIHB1YmxpYyBlbGVtZW50Um9sZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gREVGQVVMVF9FTEVNRU5UX1JPTEU7XG4gIHB1YmxpYyBjbG9zZUJ0blRhYkluZGV4ID0gJy0xJztcblxuICAjX3RhYlN0eWxlOiBTa3lUYWJzZXRTdHlsZTtcbiAgI2FkYXB0ZXJTZXJ2aWNlOiBTa3lUYWJCdXR0b25BZGFwdGVyU2VydmljZTtcbiAgI2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG4gICN0YWJzZXRTZXJ2aWNlOiBTa3lUYWJzZXRTZXJ2aWNlO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiN0YWJzZXRTZXJ2aWNlLmZvY3VzZWRUYWJCdG5JbmRleFxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoZm9jdXNlZEluZGV4KSA9PiB7XG4gICAgICAgIGlmIChmb2N1c2VkSW5kZXggPT09IHRoaXMudGFiSW5kZXgpIHtcbiAgICAgICAgICB0aGlzLmNsb3NlQnRuVGFiSW5kZXggPSAnMCc7XG4gICAgICAgICAgdGhpcy5mb2N1c0J0bigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuY2xvc2VCdG5UYWJJbmRleCA9ICctMSc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgb25CdXR0b25DbGljayhldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmJ1dHRvbkNsaWNrLmVtaXQoKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uVGFiQnV0dG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoZXZlbnQua2V5KSB7XG4gICAgICBzd2l0Y2ggKGV2ZW50LmtleS50b1VwcGVyQ2FzZSgpKSB7XG4gICAgICAgIGNhc2UgJyAnOlxuICAgICAgICBjYXNlICdFTlRFUic6XG4gICAgICAgICAgdGhpcy5vbkJ1dHRvbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZUNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlQ2xpY2suZW1pdCgpO1xuXG4gICAgLy8gUHJldmVudCB0aGUgY2xpY2sgZXZlbnQgZnJvbSBidWJibGluZyB1cCB0byB0aGUgYW5jaG9yIHRhZztcbiAgICAvLyBvdGhlcndpc2UgaXQgd2lsbCB0cmlnZ2VyIGEgcGFnZSByZWZyZXNoLlxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNCdG4oKTogdm9pZCB7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2UuZm9jdXNCdXR0b25MaW5rKHRoaXMuI2VsZW1lbnRSZWYpO1xuICB9XG5cbiAgcHVibGljIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy4jdGFic2V0U2VydmljZS5zZXRGb2N1c2VkVGFiQnRuSW5kZXgodGhpcy50YWJJbmRleCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktYnRuLXRhYi13cmFwcGVyXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktYnRuLXRhYi13cmFwcGVyLXNlbGVjdGVkJzogYWN0aXZlLFxuICAgICdza3ktYnRuLXRhYi13cmFwcGVyLWRpc2FibGVkJzogZGlzYWJsZWRcbiAgfVwiXG4+XG4gIDxhXG4gICAgI3RhYkJ1dHRvbkVsXG4gICAgY2xhc3M9XCJza3ktYnRuLXRhYlwiXG4gICAgW2F0dHIucm9sZV09XCJlbGVtZW50Um9sZVwiXG4gICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJhcmlhQ29udHJvbHNcIlxuICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiYWN0aXZlXCJcbiAgICBbYXR0ci5ocmVmXT1cImJ1dHRvbkhyZWZcIlxuICAgIFtpZF09XCJidXR0b25JZFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1idG4tdGFiLXdpemFyZCc6IHRhYlN0eWxlID09PSAnd2l6YXJkJyxcbiAgICAgICdza3ktYnRuLXRhYi1zZWxlY3RlZCc6IGFjdGl2ZSxcbiAgICAgICdza3ktYnRuLXRhYi1kaXNhYmxlZCc6IGRpc2FibGVkLFxuICAgICAgJ3NreS10YWItYnRuLWNsb3NlYWJsZSc6IGNsb3NlYWJsZVxuICAgIH1cIlxuICAgIFt0YWJpbmRleF09XCJhY3RpdmUgPyAnMCcgOiAnLTEnXCJcbiAgICAoY2xpY2spPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgICAoa2V5ZG93bik9XCJvblRhYkJ1dHRvbktleURvd24oJGV2ZW50KVwiXG4gICAgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cInNreS10YWItaGVhZGluZ1wiPlxuICAgICAge3sgYnV0dG9uVGV4dCB9fVxuICAgICAgPHNwYW4gKm5nSWY9XCJidXR0b25UZXh0Q291bnQgIT09IHVuZGVmaW5lZFwiIGNsYXNzPVwic2t5LXRhYi1oZWFkZXItY291bnRcIj5cbiAgICAgICAge3sgYnV0dG9uVGV4dENvdW50IH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9zcGFuPlxuICA8L2E+XG5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwiY2xvc2VhYmxlXCJcbiAgICBjbGFzcz1cInNreS1idG4tdGFiLWNsb3NlXCJcbiAgICBbdGFiaW5kZXhdPVwiY2xvc2VCdG5UYWJJbmRleFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfdGFiX2Nsb3NlJyB8IHNreUxpYlJlc291cmNlczogYnV0dG9uVGV4dFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LWJ0bi10YWItY2xvc2UtZGlzYWJsZWQnOiBkaXNhYmxlZFxuICAgIH1cIlxuICAgIChjbGljayk9XCJvbkNsb3NlQ2xpY2soJGV2ZW50KVwiXG4gID5cbiAgICA8c2t5LWljb24gaWNvbj1cInJlbW92ZVwiPjwvc2t5LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdGFicy90YWItYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy90YWJzL3RhYi1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUcxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7OztBQUVwRCxNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQztBQUNuQyxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQztBQUkvQjs7R0FFRztBQVNILE1BQU0sT0FBTyxxQkFBcUI7SUFnRWhDLFlBQ0UsVUFBc0IsRUFDdEIsY0FBMEMsRUFDMUMsaUJBQW9DLEVBQ3BDLGFBQStCOztRQVQxQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHdkMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFjdEMsZ0JBQVcsR0FBdUIsb0JBQW9CLENBQUM7UUFDdkQscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBRS9CLDJDQUFhLEtBQUss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QURoQixLQUFLO2dCQVVDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJSyxRQUFRO3NCQURsQixLQUFLO2dCQVdDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsY0FBYztzQkFEcEIsS0FBSztnQkFJSyxRQUFRO3NCQURsQixLQUFLO2dCQVlDLFdBQVc7c0JBRGpCLE1BQU07Z0JBSUEsVUFBVTtzQkFEaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUYWJCdXR0b25BZGFwdGVyU2VydmljZSB9IGZyb20gJy4vdGFiLWJ1dHRvbi1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5VGFiSW5kZXggfSBmcm9tICcuL3RhYi1pbmRleCc7XG5pbXBvcnQgeyBTa3lUYWJzZXRTdHlsZSB9IGZyb20gJy4vdGFic2V0LXN0eWxlJztcbmltcG9ydCB7IFNreVRhYnNldFNlcnZpY2UgfSBmcm9tICcuL3RhYnNldC5zZXJ2aWNlJztcblxuY29uc3QgREVGQVVMVF9FTEVNRU5UX1JPTEUgPSAndGFiJztcbmNvbnN0IERFRkFVTFRfRElTQUJMRUQgPSBmYWxzZTtcblxudHlwZSBTa3lXaXphcmRTdGVwU3RhdGUgPSAnY29tcGxldGVkJyB8ICdjdXJyZW50JyB8ICd1bmF2YWlsYWJsZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS10YWItYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWItYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NreVRhYkJ1dHRvbkFkYXB0ZXJTZXJ2aWNlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNreVRhYkJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfaXNBY3RpdmU7XG4gIH1cbiAgcHVibGljIHNldCBhY3RpdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNfaXNBY3RpdmUgPSB2YWx1ZTtcbiAgICB0aGlzLiN1cGRhdGVXaXphcmRTdGVwU3RhdGUoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcmlhQ29udHJvbHM6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYnV0dG9uSHJlZjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBidXR0b25JZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBidXR0b25UZXh0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGJ1dHRvblRleHRDb3VudDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjbG9zZWFibGU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2lzRGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2lzRGlzYWJsZWQgPSB2YWx1ZSA/PyBERUZBVUxUX0RJU0FCTEVEO1xuICAgIHRoaXMuI3VwZGF0ZVdpemFyZFN0ZXBTdGF0ZSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRhYkluZGV4OiBTa3lUYWJJbmRleDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGFiTnVtYmVyOiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRvdGFsVGFic0NvdW50OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGdldCB0YWJTdHlsZSgpOiBTa3lUYWJzZXRTdHlsZSB7XG4gICAgcmV0dXJuIHRoaXMuI190YWJTdHlsZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdGFiU3R5bGUoc3R5bGU6IFNreVRhYnNldFN0eWxlIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3RhYlN0eWxlID0gc3R5bGU7XG4gICAgdGhpcy5lbGVtZW50Um9sZSA9IHN0eWxlID09PSAndGFicycgPyBERUZBVUxUX0VMRU1FTlRfUk9MRSA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLiN1cGRhdGVXaXphcmRTdGVwU3RhdGUoKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjbG9zZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgYWRhcHRlclNlcnZpY2U6IFNreVRhYkJ1dHRvbkFkYXB0ZXJTZXJ2aWNlLFxuICAgIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICB0YWJzZXRTZXJ2aWNlOiBTa3lUYWJzZXRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlID0gYWRhcHRlclNlcnZpY2U7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3JSZWYgPSBjaGFuZ2VEZXRlY3RvclJlZjtcbiAgICB0aGlzLiNlbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB0aGlzLiN0YWJzZXRTZXJ2aWNlID0gdGFic2V0U2VydmljZTtcbiAgfVxuXG4gIHB1YmxpYyBlbGVtZW50Um9sZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gREVGQVVMVF9FTEVNRU5UX1JPTEU7XG4gIHB1YmxpYyBjbG9zZUJ0blRhYkluZGV4ID0gJy0xJztcbiAgcHVibGljIHdpemFyZFN0ZXBTdGF0ZTogU2t5V2l6YXJkU3RlcFN0YXRlIHwgdW5kZWZpbmVkO1xuICAjX2lzQWN0aXZlID0gZmFsc2U7XG4gICNfaXNEaXNhYmxlZCA9IERFRkFVTFRfRElTQUJMRUQ7XG4gICNfdGFiU3R5bGU6IFNreVRhYnNldFN0eWxlO1xuICAjYWRhcHRlclNlcnZpY2U6IFNreVRhYkJ1dHRvbkFkYXB0ZXJTZXJ2aWNlO1xuICAjY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgI3RhYnNldFNlcnZpY2U6IFNreVRhYnNldFNlcnZpY2U7XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3RhYnNldFNlcnZpY2UuZm9jdXNlZFRhYkJ0bkluZGV4XG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChmb2N1c2VkSW5kZXgpID0+IHtcbiAgICAgICAgaWYgKGZvY3VzZWRJbmRleCA9PT0gdGhpcy50YWJJbmRleCkge1xuICAgICAgICAgIHRoaXMuY2xvc2VCdG5UYWJJbmRleCA9ICcwJztcbiAgICAgICAgICB0aGlzLmZvY3VzQnRuKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jbG9zZUJ0blRhYkluZGV4ID0gJy0xJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkJ1dHRvbkNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuYnV0dG9uQ2xpY2suZW1pdCgpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25UYWJCdXR0b25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChldmVudC5rZXkpIHtcbiAgICAgIHN3aXRjaCAoZXZlbnQua2V5LnRvVXBwZXJDYXNlKCkpIHtcbiAgICAgICAgY2FzZSAnICc6XG4gICAgICAgIGNhc2UgJ0VOVEVSJzpcbiAgICAgICAgICB0aGlzLm9uQnV0dG9uQ2xpY2soZXZlbnQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNsb3NlQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VDbGljay5lbWl0KCk7XG5cbiAgICAvLyBQcmV2ZW50IHRoZSBjbGljayBldmVudCBmcm9tIGJ1YmJsaW5nIHVwIHRvIHRoZSBhbmNob3IgdGFnO1xuICAgIC8vIG90aGVyd2lzZSBpdCB3aWxsIHRyaWdnZXIgYSBwYWdlIHJlZnJlc2guXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c0J0bigpOiB2b2lkIHtcbiAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5mb2N1c0J1dHRvbkxpbmsodGhpcy4jZWxlbWVudFJlZik7XG4gIH1cblxuICBwdWJsaWMgb25Gb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLiN0YWJzZXRTZXJ2aWNlLnNldEZvY3VzZWRUYWJCdG5JbmRleCh0aGlzLnRhYkluZGV4KTtcbiAgfVxuXG4gICN1cGRhdGVXaXphcmRTdGVwU3RhdGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGFiU3R5bGUgPT09ICd0YWJzJykge1xuICAgICAgdGhpcy53aXphcmRTdGVwU3RhdGUgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgICAgICB0aGlzLndpemFyZFN0ZXBTdGF0ZSA9ICdjdXJyZW50JztcbiAgICAgIH0gZWxzZSBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy53aXphcmRTdGVwU3RhdGUgPSAnY29tcGxldGVkJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMud2l6YXJkU3RlcFN0YXRlID0gJ3VuYXZhaWxhYmxlJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS1idG4tdGFiLXdyYXBwZXJcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3NreS1idG4tdGFiLXdyYXBwZXItc2VsZWN0ZWQnOiBhY3RpdmUsXG4gICAgJ3NreS1idG4tdGFiLXdyYXBwZXItZGlzYWJsZWQnOiBkaXNhYmxlZFxuICB9XCJcbj5cbiAgPGFcbiAgICAjdGFiQnV0dG9uRWxcbiAgICBjbGFzcz1cInNreS1idG4tdGFiXCJcbiAgICBbYXR0ci5yb2xlXT1cImVsZW1lbnRSb2xlXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImFyaWFDb250cm9sc1wiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJhY3RpdmVcIlxuICAgIFthdHRyLmhyZWZdPVwiYnV0dG9uSHJlZlwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICh0YWJTdHlsZSA9PT0gJ3dpemFyZCdcbiAgICAgICAgPyAnc2t5dXhfd2l6YXJkX3NyX3N0ZXBfJyArIHdpemFyZFN0ZXBTdGF0ZVxuICAgICAgICA6ICdza3l1eF90YWJzX3NyX3RhYl9vcmRlcidcbiAgICAgICkgfCBza3lMaWJSZXNvdXJjZXM6IHRhYk51bWJlcjp0b3RhbFRhYnNDb3VudDpidXR0b25UZXh0XG4gICAgXCJcbiAgICBbaWRdPVwiYnV0dG9uSWRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktYnRuLXRhYi13aXphcmQnOiB0YWJTdHlsZSA9PT0gJ3dpemFyZCcsXG4gICAgICAnc2t5LWJ0bi10YWItc2VsZWN0ZWQnOiBhY3RpdmUsXG4gICAgICAnc2t5LWJ0bi10YWItZGlzYWJsZWQnOiBkaXNhYmxlZCxcbiAgICAgICdza3ktdGFiLWJ0bi1jbG9zZWFibGUnOiBjbG9zZWFibGVcbiAgICB9XCJcbiAgICBbdGFiaW5kZXhdPVwiYWN0aXZlID8gJzAnIDogJy0xJ1wiXG4gICAgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gICAgKGtleWRvd24pPVwib25UYWJCdXR0b25LZXlEb3duKCRldmVudClcIlxuICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxuICA+XG4gICAgPHNwYW4gY2xhc3M9XCJza3ktdGFiLWhlYWRpbmdcIiBbYXR0ci5hcmlhLWhpZGRlbl09XCJ0cnVlXCI+XG4gICAgICB7eyBidXR0b25UZXh0IH19XG4gICAgICA8c3BhbiAqbmdJZj1cImJ1dHRvblRleHRDb3VudCAhPT0gdW5kZWZpbmVkXCIgY2xhc3M9XCJza3ktdGFiLWhlYWRlci1jb3VudFwiPlxuICAgICAgICB7eyBidXR0b25UZXh0Q291bnQgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L3NwYW4+XG4gIDwvYT5cblxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJjbG9zZWFibGVcIlxuICAgIGNsYXNzPVwic2t5LWJ0bi10YWItY2xvc2VcIlxuICAgIFt0YWJpbmRleF09XCJjbG9zZUJ0blRhYkluZGV4XCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF90YWJfY2xvc2UnIHwgc2t5TGliUmVzb3VyY2VzOiBidXR0b25UZXh0XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktYnRuLXRhYi1jbG9zZS1kaXNhYmxlZCc6IGRpc2FibGVkXG4gICAgfVwiXG4gICAgKGNsaWNrKT1cIm9uQ2xvc2VDbGljaygkZXZlbnQpXCJcbiAgPlxuICAgIDxza3ktaWNvbiBpY29uPVwicmVtb3ZlXCI+PC9za3ktaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|