@skyux/progress-indicator 5.9.4 → 6.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +9 -9
- package/esm2020/index.mjs +18 -0
- package/esm2020/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.mjs +68 -0
- package/esm2020/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.mjs +219 -0
- package/esm2020/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.mjs +55 -0
- package/esm2020/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.mjs +80 -0
- package/esm2020/lib/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.mjs +15 -0
- package/esm2020/lib/modules/progress-indicator/progress-indicator.component.mjs +312 -0
- package/esm2020/lib/modules/progress-indicator/progress-indicator.module.mjs +65 -0
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-action-click-args.mjs +2 -0
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-action-click-progress-handler.mjs +14 -0
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-change.mjs +2 -0
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-display-mode-type.mjs +2 -0
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-item-status.mjs +20 -0
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-message-type.mjs +28 -0
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-message.mjs +2 -0
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-mode.mjs +16 -0
- package/esm2020/lib/modules/progress-indicator/types/progress-indicator-nav-button-type.mjs +2 -0
- package/esm2020/lib/modules/shared/sky-progress-indicator-resources.module.mjs +50 -0
- package/esm2020/skyux-progress-indicator.mjs +5 -0
- package/fesm2015/skyux-progress-indicator.mjs +903 -0
- package/fesm2015/skyux-progress-indicator.mjs.map +1 -0
- package/{fesm2015/skyux-progress-indicator.js → fesm2020/skyux-progress-indicator.mjs} +36 -64
- package/fesm2020/skyux-progress-indicator.mjs.map +1 -0
- package/package.json +28 -12
- package/bundles/skyux-progress-indicator.umd.js +0 -1075
- package/esm2015/index.js +0 -18
- package/esm2015/index.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.js +0 -74
- package/esm2015/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.js +0 -223
- package/esm2015/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.js +0 -59
- package/esm2015/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.js +0 -84
- package/esm2015/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.js +0 -20
- package/esm2015/lib/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/progress-indicator.component.js +0 -317
- package/esm2015/lib/modules/progress-indicator/progress-indicator.component.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/progress-indicator.module.js +0 -65
- package/esm2015/lib/modules/progress-indicator/progress-indicator.module.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-action-click-args.js +0 -2
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-action-click-args.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-action-click-progress-handler.js +0 -14
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-action-click-progress-handler.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-change.js +0 -2
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-change.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-display-mode-type.js +0 -2
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-display-mode-type.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-item-status.js +0 -20
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-item-status.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-message-type.js +0 -28
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-message-type.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-message.js +0 -2
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-message.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-mode.js +0 -16
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-mode.js.map +0 -1
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-nav-button-type.js +0 -2
- package/esm2015/lib/modules/progress-indicator/types/progress-indicator-nav-button-type.js.map +0 -1
- package/esm2015/lib/modules/shared/sky-progress-indicator-resources.module.js +0 -50
- package/esm2015/lib/modules/shared/sky-progress-indicator-resources.module.js.map +0 -1
- package/esm2015/skyux-progress-indicator.js +0 -5
- package/esm2015/skyux-progress-indicator.js.map +0 -1
- package/fesm2015/skyux-progress-indicator.js.map +0 -1
package/documentation.json
CHANGED
|
@@ -395,7 +395,7 @@
|
|
|
395
395
|
"sources": [
|
|
396
396
|
{
|
|
397
397
|
"fileName": "projects/progress-indicator/src/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.ts",
|
|
398
|
-
"line":
|
|
398
|
+
"line": 82,
|
|
399
399
|
"character": 2
|
|
400
400
|
}
|
|
401
401
|
],
|
|
@@ -440,7 +440,7 @@
|
|
|
440
440
|
"sources": [
|
|
441
441
|
{
|
|
442
442
|
"fileName": "projects/progress-indicator/src/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.ts",
|
|
443
|
-
"line":
|
|
443
|
+
"line": 74,
|
|
444
444
|
"character": 9
|
|
445
445
|
}
|
|
446
446
|
],
|
|
@@ -461,7 +461,7 @@
|
|
|
461
461
|
"sources": [
|
|
462
462
|
{
|
|
463
463
|
"fileName": "projects/progress-indicator/src/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.ts",
|
|
464
|
-
"line":
|
|
464
|
+
"line": 75,
|
|
465
465
|
"character": 9
|
|
466
466
|
}
|
|
467
467
|
],
|
|
@@ -482,7 +482,7 @@
|
|
|
482
482
|
"sources": [
|
|
483
483
|
{
|
|
484
484
|
"fileName": "projects/progress-indicator/src/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.ts",
|
|
485
|
-
"line":
|
|
485
|
+
"line": 76,
|
|
486
486
|
"character": 9
|
|
487
487
|
}
|
|
488
488
|
],
|
|
@@ -659,7 +659,7 @@
|
|
|
659
659
|
"sources": [
|
|
660
660
|
{
|
|
661
661
|
"fileName": "projects/progress-indicator/src/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.ts",
|
|
662
|
-
"line":
|
|
662
|
+
"line": 88,
|
|
663
663
|
"character": 9
|
|
664
664
|
}
|
|
665
665
|
],
|
|
@@ -688,7 +688,7 @@
|
|
|
688
688
|
"sources": [
|
|
689
689
|
{
|
|
690
690
|
"fileName": "projects/progress-indicator/src/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.ts",
|
|
691
|
-
"line":
|
|
691
|
+
"line": 84,
|
|
692
692
|
"character": 9
|
|
693
693
|
}
|
|
694
694
|
],
|
|
@@ -3137,12 +3137,12 @@
|
|
|
3137
3137
|
{
|
|
3138
3138
|
"fileName": "progress-indicator-waterfall-demo.module.ts",
|
|
3139
3139
|
"filePath": "/projects/progress-indicator/documentation/code-examples/waterfall-indicator/basic/progress-indicator-waterfall-demo.module.ts",
|
|
3140
|
-
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyModalModule } from '@skyux/modals';\nimport { SkyProgressIndicatorModule } from '@skyux/progress-indicator';\n\nimport { SkyProgressIndicatorWaterfallDemoFormComponent } from './progress-indicator-waterfall-demo-form.component';\nimport { WaterfallIndicatorDocsComponent } from './progress-indicator-waterfall-demo.component';\n\n@NgModule({\n imports: [CommonModule, SkyProgressIndicatorModule, SkyModalModule],\n exports: [WaterfallIndicatorDocsComponent],\n declarations: [\n WaterfallIndicatorDocsComponent,\n SkyProgressIndicatorWaterfallDemoFormComponent,\n ],\n
|
|
3140
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyModalModule } from '@skyux/modals';\nimport { SkyProgressIndicatorModule } from '@skyux/progress-indicator';\n\nimport { SkyProgressIndicatorWaterfallDemoFormComponent } from './progress-indicator-waterfall-demo-form.component';\nimport { WaterfallIndicatorDocsComponent } from './progress-indicator-waterfall-demo.component';\n\n@NgModule({\n imports: [CommonModule, SkyProgressIndicatorModule, SkyModalModule],\n exports: [WaterfallIndicatorDocsComponent],\n declarations: [\n WaterfallIndicatorDocsComponent,\n SkyProgressIndicatorWaterfallDemoFormComponent,\n ],\n})\nexport class SkyProgressIndicatorPassiveDemoModule {}\n"
|
|
3141
3141
|
},
|
|
3142
3142
|
{
|
|
3143
3143
|
"fileName": "wizard-demo-modal.component.html",
|
|
3144
3144
|
"filePath": "/projects/progress-indicator/documentation/code-examples/wizard/basic/wizard-demo-modal.component.html",
|
|
3145
|
-
"rawContents": "<sky-modal>\n <sky-modal-header>\n {{ title }}\n </sky-modal-header>\n <sky-modal-content>\n <form [formGroup]=\"myForm\">\n <sky-progress-indicator\n [displayMode]=\"displayMode\"\n (progressChanges)=\"updateIndex($event)\"\n #wizardDemo\n >\n <sky-progress-indicator-item title=\"First step\">\n <div>\n <label class=\"sky-control-label sky-control-label-required\">\n Enter text to continue\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n formControlName=\"requiredValue1\"\n />\n </div>\n </sky-progress-indicator-item>\n\n <sky-progress-indicator-item title=\"Second step\">\n <div>\n <sky-checkbox formControlName=\"requiredValue2\">\n <sky-checkbox-label> Select to continue </sky-checkbox-label>\n </sky-checkbox>\n </div>\n </sky-progress-indicator-item>\n\n <sky-progress-indicator-item title=\"Third step\">\n <div>Additional content or tasks go here.</div>\n </sky-progress-indicator-item>\n </sky-progress-indicator>\n </form>\n </sky-modal-content>\n <sky-modal-footer>\n <sky-progress-indicator-nav-button\n buttonType=\"previous\"\n [progressIndicator]=\"wizardDemo\"\n >\n </sky-progress-indicator-nav-button>\n <sky-progress-indicator-nav-button\n buttonType=\"next\"\n [disabled]=\"!requirementsMet\"\n [progressIndicator]=\"wizardDemo\"\n >\n </sky-progress-indicator-nav-button>\n <sky-progress-indicator-nav-button\n buttonType=\"finish\"\n buttonText=\"
|
|
3145
|
+
"rawContents": "<sky-modal>\n <sky-modal-header>\n {{ title }}\n </sky-modal-header>\n <sky-modal-content>\n <form [formGroup]=\"myForm\">\n <sky-progress-indicator\n [displayMode]=\"displayMode\"\n (progressChanges)=\"updateIndex($event)\"\n #wizardDemo\n >\n <sky-progress-indicator-item title=\"First step\">\n <div>\n <label class=\"sky-control-label sky-control-label-required\">\n Enter text to continue\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n formControlName=\"requiredValue1\"\n />\n </div>\n </sky-progress-indicator-item>\n\n <sky-progress-indicator-item title=\"Second step\">\n <div>\n <sky-checkbox formControlName=\"requiredValue2\">\n <sky-checkbox-label> Select to continue </sky-checkbox-label>\n </sky-checkbox>\n </div>\n </sky-progress-indicator-item>\n\n <sky-progress-indicator-item title=\"Third step\">\n <div>Additional content or tasks go here.</div>\n </sky-progress-indicator-item>\n </sky-progress-indicator>\n </form>\n </sky-modal-content>\n <sky-modal-footer>\n <sky-progress-indicator-nav-button\n buttonType=\"previous\"\n [progressIndicator]=\"wizardDemo\"\n >\n </sky-progress-indicator-nav-button>\n <sky-progress-indicator-nav-button\n buttonType=\"next\"\n [disabled]=\"!requirementsMet\"\n [progressIndicator]=\"wizardDemo\"\n >\n </sky-progress-indicator-nav-button>\n <sky-progress-indicator-nav-button\n buttonType=\"finish\"\n buttonText=\"Finish\"\n [progressIndicator]=\"wizardDemo\"\n (actionClick)=\"onSaveClick($event)\"\n >\n </sky-progress-indicator-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"
|
|
3146
3146
|
},
|
|
3147
3147
|
{
|
|
3148
3148
|
"fileName": "wizard-demo-modal.component.ts",
|
|
@@ -3162,7 +3162,7 @@
|
|
|
3162
3162
|
{
|
|
3163
3163
|
"fileName": "wizard-demo.module.ts",
|
|
3164
3164
|
"filePath": "/projects/progress-indicator/documentation/code-examples/wizard/basic/wizard-demo.module.ts",
|
|
3165
|
-
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SkyCheckboxModule } from '@skyux/forms';\nimport { SkyModalModule } from '@skyux/modals';\nimport { SkyProgressIndicatorModule } from '@skyux/progress-indicator';\n\nimport { WizardDemoModalComponent } from './wizard-demo-modal.component';\nimport { WizardDemoComponent } from './wizard-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SkyCheckboxModule,\n SkyModalModule,\n SkyProgressIndicatorModule,\n ],\n exports: [WizardDemoComponent],\n declarations: [WizardDemoComponent, WizardDemoModalComponent],\n
|
|
3165
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SkyCheckboxModule } from '@skyux/forms';\nimport { SkyModalModule } from '@skyux/modals';\nimport { SkyProgressIndicatorModule } from '@skyux/progress-indicator';\n\nimport { WizardDemoModalComponent } from './wizard-demo-modal.component';\nimport { WizardDemoComponent } from './wizard-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SkyCheckboxModule,\n SkyModalModule,\n SkyProgressIndicatorModule,\n ],\n exports: [WizardDemoComponent],\n declarations: [WizardDemoComponent, WizardDemoModalComponent],\n})\nexport class SkyProgressIndicatorPassiveDemoModule {}\n"
|
|
3166
3166
|
}
|
|
3167
3167
|
]
|
|
3168
3168
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export * from './lib/modules/progress-indicator/progress-indicator.module';
|
|
2
|
+
export * from './lib/modules/progress-indicator/types/progress-indicator-action-click-args';
|
|
3
|
+
export * from './lib/modules/progress-indicator/types/progress-indicator-action-click-progress-handler';
|
|
4
|
+
export * from './lib/modules/progress-indicator/types/progress-indicator-change';
|
|
5
|
+
export * from './lib/modules/progress-indicator/types/progress-indicator-display-mode-type';
|
|
6
|
+
export * from './lib/modules/progress-indicator/types/progress-indicator-item-status';
|
|
7
|
+
export * from './lib/modules/progress-indicator/types/progress-indicator-message';
|
|
8
|
+
export * from './lib/modules/progress-indicator/types/progress-indicator-message-type';
|
|
9
|
+
export * from './lib/modules/progress-indicator/types/progress-indicator-mode';
|
|
10
|
+
export * from './lib/modules/progress-indicator/types/progress-indicator-nav-button-type';
|
|
11
|
+
// Components and directives must be exported to support Angular's "partial" Ivy compiler.
|
|
12
|
+
// Obscure names are used to indicate types are not part of public API.
|
|
13
|
+
export { SkyProgressIndicatorItemComponent as λ1 } from './lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component';
|
|
14
|
+
export { SkyProgressIndicatorComponent as λ2 } from './lib/modules/progress-indicator/progress-indicator.component';
|
|
15
|
+
export { SkyProgressIndicatorNavButtonComponent as λ3 } from './lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component';
|
|
16
|
+
export { SkyProgressIndicatorResetButtonComponent as λ4 } from './lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component';
|
|
17
|
+
export { SkyProgressIndicatorTitleComponent as λ5 } from './lib/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component';
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsNkVBQTZFLENBQUM7QUFDNUYsY0FBYyx5RkFBeUYsQ0FBQztBQUN4RyxjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsNkVBQTZFLENBQUM7QUFDNUYsY0FBYyx1RUFBdUUsQ0FBQztBQUN0RixjQUFjLG1FQUFtRSxDQUFDO0FBQ2xGLGNBQWMsd0VBQXdFLENBQUM7QUFDdkYsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLDJFQUEyRSxDQUFDO0FBRTFGLDBGQUEwRjtBQUMxRix1RUFBdUU7QUFDdkUsT0FBTyxFQUFFLGlDQUFpQyxJQUFJLEVBQUUsRUFBRSxNQUFNLDRGQUE0RixDQUFDO0FBQ3JKLE9BQU8sRUFBRSw2QkFBNkIsSUFBSSxFQUFFLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNwSCxPQUFPLEVBQUUsc0NBQXNDLElBQUksRUFBRSxFQUFFLE1BQU0sd0dBQXdHLENBQUM7QUFDdEssT0FBTyxFQUFFLHdDQUF3QyxJQUFJLEVBQUUsRUFBRSxNQUFNLDRHQUE0RyxDQUFDO0FBQzVLLE9BQU8sRUFBRSxrQ0FBa0MsSUFBSSxFQUFFLEVBQUUsTUFBTSw4RkFBOEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9wcm9ncmVzcy1pbmRpY2F0b3IvdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLWFjdGlvbi1jbGljay1hcmdzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1hY3Rpb24tY2xpY2stcHJvZ3Jlc3MtaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItY2hhbmdlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1kaXNwbGF5LW1vZGUtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS1zdGF0dXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9wcm9ncmVzcy1pbmRpY2F0b3IvdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLW1lc3NhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9wcm9ncmVzcy1pbmRpY2F0b3IvdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLW1lc3NhZ2UtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItbW9kZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi10eXBlJztcblxuLy8gQ29tcG9uZW50cyBhbmQgZGlyZWN0aXZlcyBtdXN0IGJlIGV4cG9ydGVkIHRvIHN1cHBvcnQgQW5ndWxhcidzIFwicGFydGlhbFwiIEl2eSBjb21waWxlci5cbi8vIE9ic2N1cmUgbmFtZXMgYXJlIHVzZWQgdG8gaW5kaWNhdGUgdHlwZXMgYXJlIG5vdCBwYXJ0IG9mIHB1YmxpYyBBUEkuXG5leHBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1Db21wb25lbnQgYXMgzrsxIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9wcm9ncmVzcy1pbmRpY2F0b3IvcHJvZ3Jlc3MtaW5kaWNhdG9yLWl0ZW0vcHJvZ3Jlc3MtaW5kaWNhdG9yLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50IGFzIM67MiB9IGZyb20gJy4vbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JOYXZCdXR0b25Db21wb25lbnQgYXMgzrszIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9wcm9ncmVzcy1pbmRpY2F0b3IvcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24vcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9yUmVzZXRCdXR0b25Db21wb25lbnQgYXMgzrs0IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9wcm9ncmVzcy1pbmRpY2F0b3IvcHJvZ3Jlc3MtaW5kaWNhdG9yLXJlc2V0LWJ1dHRvbi9wcm9ncmVzcy1pbmRpY2F0b3ItcmVzZXQtYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvclRpdGxlQ29tcG9uZW50IGFzIM67NSB9IGZyb20gJy4vbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci10aXRsZS9wcm9ncmVzcy1pbmRpY2F0b3ItdGl0bGUuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, } from '@angular/core';
|
|
2
|
+
import { SkyProgressIndicatorItemStatus } from '../types/progress-indicator-item-status';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../progress-indicator-status-marker/progress-indicator-status-marker.component";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@skyux/theme";
|
|
7
|
+
/**
|
|
8
|
+
* Specifies a step to include in the progress indicator. Each step requires a label,
|
|
9
|
+
* and you can also specify step details within the `sky-progress-indicator-item` element.
|
|
10
|
+
*/
|
|
11
|
+
export class SkyProgressIndicatorItemComponent {
|
|
12
|
+
constructor(changeDetector) {
|
|
13
|
+
this.changeDetector = changeDetector;
|
|
14
|
+
this.isVisible = false;
|
|
15
|
+
this.showStatusMarker = true;
|
|
16
|
+
this.showTitle = true;
|
|
17
|
+
}
|
|
18
|
+
get formattedTitle() {
|
|
19
|
+
return `${this.titlePrefix}${this.title}`;
|
|
20
|
+
}
|
|
21
|
+
get status() {
|
|
22
|
+
/* istanbul ignore next */
|
|
23
|
+
if (this._status === undefined) {
|
|
24
|
+
return SkyProgressIndicatorItemStatus.Incomplete;
|
|
25
|
+
}
|
|
26
|
+
return this._status;
|
|
27
|
+
}
|
|
28
|
+
set status(value) {
|
|
29
|
+
if (value === this._status) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
this._status = value;
|
|
33
|
+
this.changeDetector.markForCheck();
|
|
34
|
+
}
|
|
35
|
+
get statusName() {
|
|
36
|
+
let name;
|
|
37
|
+
switch (this.status) {
|
|
38
|
+
case SkyProgressIndicatorItemStatus.Active:
|
|
39
|
+
name = 'active';
|
|
40
|
+
break;
|
|
41
|
+
case SkyProgressIndicatorItemStatus.Complete:
|
|
42
|
+
name = 'complete';
|
|
43
|
+
break;
|
|
44
|
+
case SkyProgressIndicatorItemStatus.Incomplete:
|
|
45
|
+
name = 'incomplete';
|
|
46
|
+
break;
|
|
47
|
+
case SkyProgressIndicatorItemStatus.Pending:
|
|
48
|
+
name = 'pending';
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
return name;
|
|
52
|
+
}
|
|
53
|
+
showStepNumber(step) {
|
|
54
|
+
this.titlePrefix = `${step} - `;
|
|
55
|
+
}
|
|
56
|
+
hideStepNumber() {
|
|
57
|
+
this.titlePrefix = '';
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
SkyProgressIndicatorItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyProgressIndicatorItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
+
SkyProgressIndicatorItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyProgressIndicatorItemComponent, selector: "sky-progress-indicator-item", inputs: { title: "title" }, ngImport: i0, template: "<div\n *ngIf=\"isVisible\"\n class=\"sky-progress-indicator-item\"\n [ngClass]=\"'sky-progress-indicator-item-status-' + statusName\"\n>\n <sky-progress-indicator-status-marker\n *ngIf=\"showStatusMarker\"\n [status]=\"status\"\n >\n </sky-progress-indicator-status-marker>\n\n <div class=\"sky-progress-indicator-item-content\">\n <div\n *ngIf=\"showTitle\"\n aria-level=\"2\"\n class=\"sky-progress-indicator-item-heading\"\n role=\"heading\"\n [ngClass]=\"{\n 'sky-deemphasized': statusName === 'pending'\n }\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n >\n {{ formattedTitle }}\n </div>\n <div class=\"sky-progress-indicator-item-body\">\n <ng-template [ngIf]=\"statusName !== 'incomplete'\">\n <ng-content></ng-content>\n </ng-template>\n </div>\n </div>\n</div>\n", styles: [".sky-progress-indicator-item{display:flex;margin-bottom:-1px}.sky-progress-indicator-item-content{flex:1 1 100%}.sky-progress-indicator-item-body{min-height:20px;padding-top:10px;padding-bottom:30px}.sky-progress-indicator-item-status-incomplete .sky-progress-indicator-item-body{padding:0}:host-context(.sky-theme-modern) .sky-progress-indicator-item{margin:0}:host-context(.sky-theme-modern) .sky-progress-indicator-item-body{padding:20px 0 30px}:host-context(.sky-theme-modern) .sky-progress-indicator-item-body:empty{padding:0}.sky-theme-modern .sky-progress-indicator-item{margin:0}.sky-theme-modern .sky-progress-indicator-item-body{padding:20px 0 30px}.sky-theme-modern .sky-progress-indicator-item-body:empty{padding:0}\n"], components: [{ type: i1.SkyProgressIndicatorStatusMarkerComponent, selector: "sky-progress-indicator-status-marker", inputs: ["displayMode", "status"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyProgressIndicatorItemComponent, decorators: [{
|
|
63
|
+
type: Component,
|
|
64
|
+
args: [{ selector: 'sky-progress-indicator-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"isVisible\"\n class=\"sky-progress-indicator-item\"\n [ngClass]=\"'sky-progress-indicator-item-status-' + statusName\"\n>\n <sky-progress-indicator-status-marker\n *ngIf=\"showStatusMarker\"\n [status]=\"status\"\n >\n </sky-progress-indicator-status-marker>\n\n <div class=\"sky-progress-indicator-item-content\">\n <div\n *ngIf=\"showTitle\"\n aria-level=\"2\"\n class=\"sky-progress-indicator-item-heading\"\n role=\"heading\"\n [ngClass]=\"{\n 'sky-deemphasized': statusName === 'pending'\n }\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n >\n {{ formattedTitle }}\n </div>\n <div class=\"sky-progress-indicator-item-body\">\n <ng-template [ngIf]=\"statusName !== 'incomplete'\">\n <ng-content></ng-content>\n </ng-template>\n </div>\n </div>\n</div>\n", styles: [".sky-progress-indicator-item{display:flex;margin-bottom:-1px}.sky-progress-indicator-item-content{flex:1 1 100%}.sky-progress-indicator-item-body{min-height:20px;padding-top:10px;padding-bottom:30px}.sky-progress-indicator-item-status-incomplete .sky-progress-indicator-item-body{padding:0}:host-context(.sky-theme-modern) .sky-progress-indicator-item{margin:0}:host-context(.sky-theme-modern) .sky-progress-indicator-item-body{padding:20px 0 30px}:host-context(.sky-theme-modern) .sky-progress-indicator-item-body:empty{padding:0}.sky-theme-modern .sky-progress-indicator-item{margin:0}.sky-theme-modern .sky-progress-indicator-item-body{padding:20px 0 30px}.sky-theme-modern .sky-progress-indicator-item-body:empty{padding:0}\n"] }]
|
|
65
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { title: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}] } });
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci1pdGVtL3Byb2dyZXNzLWluZGljYXRvci1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7OztBQUV6Rjs7O0dBR0c7QUFPSCxNQUFNLE9BQU8saUNBQWlDO0lBOEQ1QyxZQUFvQixjQUFpQztRQUFqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFSOUMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDeEIsY0FBUyxHQUFHLElBQUksQ0FBQztJQU1nQyxDQUFDO0lBdER6RCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZiwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRTtZQUM5QixPQUFPLDhCQUE4QixDQUFDLFVBQVUsQ0FBQztTQUNsRDtRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxNQUFNLENBQUMsS0FBcUM7UUFDckQsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUMxQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsSUFBSSxJQUFZLENBQUM7UUFFakIsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ25CLEtBQUssOEJBQThCLENBQUMsTUFBTTtnQkFDeEMsSUFBSSxHQUFHLFFBQVEsQ0FBQztnQkFDaEIsTUFBTTtZQUVSLEtBQUssOEJBQThCLENBQUMsUUFBUTtnQkFDMUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztnQkFDbEIsTUFBTTtZQUVSLEtBQUssOEJBQThCLENBQUMsVUFBVTtnQkFDNUMsSUFBSSxHQUFHLFlBQVksQ0FBQztnQkFDcEIsTUFBTTtZQUVSLEtBQUssOEJBQThCLENBQUMsT0FBTztnQkFDekMsSUFBSSxHQUFHLFNBQVMsQ0FBQztnQkFDakIsTUFBTTtTQUNUO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBWU0sY0FBYyxDQUFDLElBQVk7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7OzhIQXRFVSxpQ0FBaUM7a0hBQWpDLGlDQUFpQywrRkNuQjlDLGc0QkFpQ0E7MkZEZGEsaUNBQWlDO2tCQU43QyxTQUFTOytCQUNFLDZCQUE2QixtQkFHdEIsdUJBQXVCLENBQUMsTUFBTTt3R0FReEMsS0FBSztzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzIH0gZnJvbSAnLi4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLWl0ZW0tc3RhdHVzJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgYSBzdGVwIHRvIGluY2x1ZGUgaW4gdGhlIHByb2dyZXNzIGluZGljYXRvci4gRWFjaCBzdGVwIHJlcXVpcmVzIGEgbGFiZWwsXG4gKiBhbmQgeW91IGNhbiBhbHNvIHNwZWNpZnkgc3RlcCBkZXRhaWxzIHdpdGhpbiB0aGUgYHNreS1wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbWAgZWxlbWVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXByb2dyZXNzLWluZGljYXRvci1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLWluZGljYXRvci1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbUNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBzdGVwIGxhYmVsIGZvciB0aGUgc3RlcCBpbiB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuXG4gIHB1YmxpYyBnZXQgZm9ybWF0dGVkVGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy50aXRsZVByZWZpeH0ke3RoaXMudGl0bGV9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdHVzKCk6IFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cyB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAodGhpcy5fc3RhdHVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMuSW5jb21wbGV0ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fc3RhdHVzO1xuICB9XG5cbiAgcHVibGljIHNldCBzdGF0dXModmFsdWU6IFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cykge1xuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdHVzID0gdmFsdWU7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdHVzTmFtZSgpOiBzdHJpbmcge1xuICAgIGxldCBuYW1lOiBzdHJpbmc7XG5cbiAgICBzd2l0Y2ggKHRoaXMuc3RhdHVzKSB7XG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cy5BY3RpdmU6XG4gICAgICAgIG5hbWUgPSAnYWN0aXZlJztcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLkNvbXBsZXRlOlxuICAgICAgICBuYW1lID0gJ2NvbXBsZXRlJztcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLkluY29tcGxldGU6XG4gICAgICAgIG5hbWUgPSAnaW5jb21wbGV0ZSc7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cy5QZW5kaW5nOlxuICAgICAgICBuYW1lID0gJ3BlbmRpbmcnO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gbmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBpc1Zpc2libGUgPSBmYWxzZTtcbiAgcHVibGljIHNob3dTdGF0dXNNYXJrZXIgPSB0cnVlO1xuICBwdWJsaWMgc2hvd1RpdGxlID0gdHJ1ZTtcblxuICBwcml2YXRlIHRpdGxlUHJlZml4OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfc3RhdHVzOiBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXM7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgcHVibGljIHNob3dTdGVwTnVtYmVyKHN0ZXA6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMudGl0bGVQcmVmaXggPSBgJHtzdGVwfSAtIGA7XG4gIH1cblxuICBwdWJsaWMgaGlkZVN0ZXBOdW1iZXIoKTogdm9pZCB7XG4gICAgdGhpcy50aXRsZVByZWZpeCA9ICcnO1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwiaXNWaXNpYmxlXCJcbiAgY2xhc3M9XCJza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLWl0ZW1cIlxuICBbbmdDbGFzc109XCInc2t5LXByb2dyZXNzLWluZGljYXRvci1pdGVtLXN0YXR1cy0nICsgc3RhdHVzTmFtZVwiXG4+XG4gIDxza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLXN0YXR1cy1tYXJrZXJcbiAgICAqbmdJZj1cInNob3dTdGF0dXNNYXJrZXJcIlxuICAgIFtzdGF0dXNdPVwic3RhdHVzXCJcbiAgPlxuICA8L3NreS1wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlcj5cblxuICA8ZGl2IGNsYXNzPVwic2t5LXByb2dyZXNzLWluZGljYXRvci1pdGVtLWNvbnRlbnRcIj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cInNob3dUaXRsZVwiXG4gICAgICBhcmlhLWxldmVsPVwiMlwiXG4gICAgICBjbGFzcz1cInNreS1wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS1oZWFkaW5nXCJcbiAgICAgIHJvbGU9XCJoZWFkaW5nXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3NreS1kZWVtcGhhc2l6ZWQnOiBzdGF0dXNOYW1lID09PSAncGVuZGluZydcbiAgICAgIH1cIlxuICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LWZvbnQtZGlzcGxheS0zJzogJ21vZGVybidcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIHt7IGZvcm1hdHRlZFRpdGxlIH19XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNreS1wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS1ib2R5XCI+XG4gICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwic3RhdHVzTmFtZSAhPT0gJ2luY29tcGxldGUnXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Optional, Output, } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { SkyProgressIndicatorComponent } from '../progress-indicator.component';
|
|
5
|
+
import { SkyProgressIndicatorActionClickProgressHandler } from '../types/progress-indicator-action-click-progress-handler';
|
|
6
|
+
import { SkyProgressIndicatorMessageType } from '../types/progress-indicator-message-type';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../progress-indicator.component";
|
|
9
|
+
import * as i2 from "@angular/common";
|
|
10
|
+
import * as i3 from "@skyux/theme";
|
|
11
|
+
import * as i4 from "@skyux/i18n";
|
|
12
|
+
/**
|
|
13
|
+
* Displays a button to navigate the steps in modal wizards. We recommend against using it in
|
|
14
|
+
* passive progress indicators and waterfall progress indicators.
|
|
15
|
+
*/
|
|
16
|
+
export class SkyProgressIndicatorNavButtonComponent {
|
|
17
|
+
constructor(changeDetector, parentComponent) {
|
|
18
|
+
this.changeDetector = changeDetector;
|
|
19
|
+
this.parentComponent = parentComponent;
|
|
20
|
+
/**
|
|
21
|
+
* Fires when users select the nav button and emits a `SkyProgressIndicatorActionClickArgs`
|
|
22
|
+
* object that is passed into the callback function to allow consumers to decide whether
|
|
23
|
+
* the button’s action should complete successfully.
|
|
24
|
+
*/
|
|
25
|
+
this.actionClick = new EventEmitter();
|
|
26
|
+
this.ngUnsubscribe = new Subject();
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Specifies the type of nav button to include.
|
|
30
|
+
* The valid options are `"finish"`, `"next"`, `"previous"`, and `"reset"`.
|
|
31
|
+
* @default "next"
|
|
32
|
+
*/
|
|
33
|
+
set buttonType(value) {
|
|
34
|
+
this._buttonType = value;
|
|
35
|
+
}
|
|
36
|
+
get buttonType() {
|
|
37
|
+
if (this._buttonType === undefined) {
|
|
38
|
+
return 'next';
|
|
39
|
+
}
|
|
40
|
+
return this._buttonType;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Indicates whether to disable the nav button.
|
|
44
|
+
* @default false
|
|
45
|
+
*/
|
|
46
|
+
set disabled(value) {
|
|
47
|
+
this._disabled = value;
|
|
48
|
+
this.changeDetector.markForCheck();
|
|
49
|
+
}
|
|
50
|
+
get disabled() {
|
|
51
|
+
const buttonType = this.buttonType;
|
|
52
|
+
const activeIndex = this.lastProgressChange.activeIndex;
|
|
53
|
+
const isLastStep = activeIndex === this.lastProgressChange.itemStatuses.length - 1;
|
|
54
|
+
if (buttonType === 'previous' && activeIndex === 0) {
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
if (buttonType === 'next' && isLastStep) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
return this._disabled || false;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Specifies the progress indicator component to associate with the nav button.
|
|
64
|
+
* @required
|
|
65
|
+
*/
|
|
66
|
+
set progressIndicator(value) {
|
|
67
|
+
this._progressIndicator = value;
|
|
68
|
+
if (value) {
|
|
69
|
+
if (this.buttonType === 'finish') {
|
|
70
|
+
// The `hasFinishButton` field was added to support legacy API.
|
|
71
|
+
// Some implementations only include a next button; we cannot
|
|
72
|
+
// assume that every implementation includes both a finish button and a next button.
|
|
73
|
+
this._progressIndicator.hasFinishButton = true;
|
|
74
|
+
}
|
|
75
|
+
this._progressIndicator.progressChanges
|
|
76
|
+
.pipe(distinctUntilChanged(), takeUntil(this.ngUnsubscribe))
|
|
77
|
+
.subscribe((change) => {
|
|
78
|
+
this.lastProgressChange = change;
|
|
79
|
+
this.updateButtonVisibility(change);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
if (!this.parentTimeout) {
|
|
84
|
+
this.parentTimeout = window.setTimeout(() => {
|
|
85
|
+
/* istanbul ignore else */
|
|
86
|
+
if (!this.progressIndicator) {
|
|
87
|
+
throw new Error('The `<sky-progress-indicator-nav-button>` component requires a reference to ' +
|
|
88
|
+
'the `<sky-progress-indicator>` component it controls. For example:\n' +
|
|
89
|
+
'<sky-progress-indicator\n' +
|
|
90
|
+
' #myProgressIndicator\n' +
|
|
91
|
+
'>\n' +
|
|
92
|
+
'</sky-progress-indicator>\n' +
|
|
93
|
+
'<sky-progress-indicator-nav-button\n' +
|
|
94
|
+
' [progressIndicator]="myProgressIndicator"\n' +
|
|
95
|
+
'>\n' +
|
|
96
|
+
'</sky-progress-indicator-nav-button>');
|
|
97
|
+
}
|
|
98
|
+
}, 50);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
get progressIndicator() {
|
|
103
|
+
return this._progressIndicator;
|
|
104
|
+
}
|
|
105
|
+
get cssClassNames() {
|
|
106
|
+
const buttonType = this.buttonType;
|
|
107
|
+
const classNames = [`sky-progress-indicator-nav-button-${this.buttonType}`];
|
|
108
|
+
switch (buttonType) {
|
|
109
|
+
case 'next':
|
|
110
|
+
case 'finish':
|
|
111
|
+
classNames.push('sky-btn-primary');
|
|
112
|
+
break;
|
|
113
|
+
case 'reset':
|
|
114
|
+
classNames.push('sky-btn-link');
|
|
115
|
+
break;
|
|
116
|
+
default:
|
|
117
|
+
classNames.push('sky-btn-default');
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
return classNames.join(' ');
|
|
121
|
+
}
|
|
122
|
+
get buttonLabelResourceString() {
|
|
123
|
+
return `skyux_progress_indicator_navigator_${this.buttonType}`;
|
|
124
|
+
}
|
|
125
|
+
set isVisible(value) {
|
|
126
|
+
this._isVisible = value;
|
|
127
|
+
this.changeDetector.markForCheck();
|
|
128
|
+
}
|
|
129
|
+
get isVisible() {
|
|
130
|
+
return this._isVisible || false;
|
|
131
|
+
}
|
|
132
|
+
ngAfterViewInit() {
|
|
133
|
+
if (!this.progressIndicator && this.parentComponent) {
|
|
134
|
+
this.progressIndicator = this.parentComponent;
|
|
135
|
+
}
|
|
136
|
+
else if (!this.progressIndicator) {
|
|
137
|
+
this.progressIndicator = undefined;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
ngOnDestroy() {
|
|
141
|
+
this.ngUnsubscribe.next();
|
|
142
|
+
this.ngUnsubscribe.complete();
|
|
143
|
+
this.actionClick.complete();
|
|
144
|
+
}
|
|
145
|
+
onClick(event) {
|
|
146
|
+
event.preventDefault();
|
|
147
|
+
let type;
|
|
148
|
+
switch (this.buttonType) {
|
|
149
|
+
case 'finish':
|
|
150
|
+
type = SkyProgressIndicatorMessageType.Finish;
|
|
151
|
+
break;
|
|
152
|
+
case 'next':
|
|
153
|
+
type = SkyProgressIndicatorMessageType.Progress;
|
|
154
|
+
break;
|
|
155
|
+
case 'previous':
|
|
156
|
+
type = SkyProgressIndicatorMessageType.Regress;
|
|
157
|
+
break;
|
|
158
|
+
case 'reset':
|
|
159
|
+
type = SkyProgressIndicatorMessageType.Reset;
|
|
160
|
+
break;
|
|
161
|
+
default:
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
// If the consumer has subscribed to the `actionClick` event,
|
|
165
|
+
// allow them to decide when to advance to the next step.
|
|
166
|
+
if (this.actionClick.observers.length > 0) {
|
|
167
|
+
this.actionClick.emit({
|
|
168
|
+
event,
|
|
169
|
+
progressHandler: new SkyProgressIndicatorActionClickProgressHandler(() => {
|
|
170
|
+
this.progressIndicator.sendMessage({ type });
|
|
171
|
+
}),
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
this.progressIndicator.sendMessage({ type });
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
updateButtonVisibility(change) {
|
|
179
|
+
const isLastStep = change.activeIndex === change.itemStatuses.length - 1;
|
|
180
|
+
const buttonType = this.buttonType;
|
|
181
|
+
// Hide the button if all steps are complete
|
|
182
|
+
// (except for the reset button)
|
|
183
|
+
if (buttonType !== 'reset' && change.isComplete) {
|
|
184
|
+
this.isVisible = false;
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
if (buttonType === 'finish') {
|
|
188
|
+
this.isVisible = isLastStep;
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
// Hide the next button on the last step only if a finish button exists.
|
|
192
|
+
if (buttonType === 'next' &&
|
|
193
|
+
isLastStep &&
|
|
194
|
+
this.progressIndicator.hasFinishButton) {
|
|
195
|
+
this.isVisible = false;
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
this.isVisible = true;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
SkyProgressIndicatorNavButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyProgressIndicatorNavButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyProgressIndicatorComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
202
|
+
SkyProgressIndicatorNavButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyProgressIndicatorNavButtonComponent, selector: "sky-progress-indicator-nav-button", inputs: { buttonText: "buttonText", buttonType: "buttonType", disabled: "disabled", progressIndicator: "progressIndicator" }, outputs: { actionClick: "actionClick" }, ngImport: i0, template: "<button\n *ngIf=\"isVisible\"\n class=\"sky-btn\"\n type=\"button\"\n [disabled]=\"disabled\"\n [ngClass]=\"cssClassNames\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-compact': 'default',\n 'sky-btn-link': 'modern'\n }\"\n (click)=\"onClick($event)\"\n>\n {{ buttonText || (buttonLabelResourceString | skyLibResources) }}\n</button>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }], pipes: { "skyLibResources": i4.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
203
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyProgressIndicatorNavButtonComponent, decorators: [{
|
|
204
|
+
type: Component,
|
|
205
|
+
args: [{ selector: 'sky-progress-indicator-nav-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"isVisible\"\n class=\"sky-btn\"\n type=\"button\"\n [disabled]=\"disabled\"\n [ngClass]=\"cssClassNames\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-compact': 'default',\n 'sky-btn-link': 'modern'\n }\"\n (click)=\"onClick($event)\"\n>\n {{ buttonText || (buttonLabelResourceString | skyLibResources) }}\n</button>\n" }]
|
|
206
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkyProgressIndicatorComponent, decorators: [{
|
|
207
|
+
type: Optional
|
|
208
|
+
}] }]; }, propDecorators: { buttonText: [{
|
|
209
|
+
type: Input
|
|
210
|
+
}], buttonType: [{
|
|
211
|
+
type: Input
|
|
212
|
+
}], disabled: [{
|
|
213
|
+
type: Input
|
|
214
|
+
}], progressIndicator: [{
|
|
215
|
+
type: Input
|
|
216
|
+
}], actionClick: [{
|
|
217
|
+
type: Output
|
|
218
|
+
}] } });
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci1uYXYtYnV0dG9uL3Byb2dyZXNzLWluZGljYXRvci1uYXYtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi9wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSw4Q0FBOEMsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBRTNILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7QUFHM0Y7OztHQUdHO0FBTUgsTUFBTSxPQUFPLHNDQUFzQztJQTZKakQsWUFDVSxjQUFpQyxFQUNyQixlQUE4QztRQUQxRCxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFD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S0FBSyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDekUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUVuQyw0Q0FBNEM7UUFDNUMsZ0NBQWdDO1FBQ2hDLElBQUksVUFBVSxLQUFLLE9BQU8sSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQy9DLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLE9BQU87U0FDUjtRQUVELElBQUksVUFBVSxLQUFLLFFBQVEsRUFBRTtZQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQztZQUM1QixPQUFPO1NBQ1I7UUFFRCx3RUFBd0U7UUFDeEUsSUFDRSxVQUFVLEtBQUssTUFBTTtZQUNyQixVQUFVO1lBQ1YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFDdEM7WUFDQSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDOzttSUFyUFUsc0NBQXNDO3VIQUF0QyxzQ0FBc0MsZ1BDL0JuRCwrVkFjQTsyRkRpQmEsc0NBQXNDO2tCQUxsRCxTQUFTOytCQUNFLG1DQUFtQyxtQkFFNUIsdUJBQXVCLENBQUMsTUFBTTs7MEJBaUs1QyxRQUFROzRDQXZKSixVQUFVO3NCQURoQixLQUFLO2dCQVNLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBa0JLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBNEJLLGlCQUFpQjtzQkFEM0IsS0FBSztnQkFtREMsV0FBVztzQkFEakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4uL3Byb2dyZXNzLWluZGljYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JBY3Rpb25DbGlja0FyZ3MgfSBmcm9tICcuLi90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItYWN0aW9uLWNsaWNrLWFyZ3MnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JBY3Rpb25DbGlja1Byb2dyZXNzSGFuZGxlciB9IGZyb20gJy4uL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1hY3Rpb24tY2xpY2stcHJvZ3Jlc3MtaGFuZGxlcic7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckNoYW5nZSB9IGZyb20gJy4uL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1jaGFuZ2UnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZSB9IGZyb20gJy4uL3R5cGVzL3Byb2dyZXNzLWluZGljYXRvci1tZXNzYWdlLXR5cGUnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JOYXZCdXR0b25UeXBlIH0gZnJvbSAnLi4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24tdHlwZSc7XG5cbi8qKlxuICogRGlzcGxheXMgYSBidXR0b24gdG8gbmF2aWdhdGUgdGhlIHN0ZXBzIGluIG1vZGFsIHdpemFyZHMuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IHVzaW5nIGl0IGluXG4gKiBwYXNzaXZlIHByb2dyZXNzIGluZGljYXRvcnMgYW5kIHdhdGVyZmFsbCBwcm9ncmVzcyBpbmRpY2F0b3JzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JOYXZCdXR0b25Db21wb25lbnRcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcbntcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbGFiZWwgdG8gZGlzcGxheSBvbiB0aGUgbmF2IGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgXCJOZXh0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBidXR0b25UZXh0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgdHlwZSBvZiBuYXYgYnV0dG9uIHRvIGluY2x1ZGUuXG4gICAqIFRoZSB2YWxpZCBvcHRpb25zIGFyZSBgXCJmaW5pc2hcImAsIGBcIm5leHRcImAsIGBcInByZXZpb3VzXCJgLCBhbmQgYFwicmVzZXRcImAuXG4gICAqIEBkZWZhdWx0IFwibmV4dFwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGJ1dHRvblR5cGUodmFsdWU6IFNreVByb2dyZXNzSW5kaWNhdG9yTmF2QnV0dG9uVHlwZSkge1xuICAgIHRoaXMuX2J1dHRvblR5cGUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYnV0dG9uVHlwZSgpOiBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvblR5cGUge1xuICAgIGlmICh0aGlzLl9idXR0b25UeXBlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiAnbmV4dCc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2J1dHRvblR5cGU7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgbmF2IGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGJ1dHRvblR5cGUgPSB0aGlzLmJ1dHRvblR5cGU7XG4gICAgY29uc3QgYWN0aXZlSW5kZXggPSB0aGlzLmxhc3RQcm9ncmVzc0NoYW5nZS5hY3RpdmVJbmRleDtcbiAgICBjb25zdCBpc0xhc3RTdGVwID1cbiAgICAgIGFjdGl2ZUluZGV4ID09PSB0aGlzLmxhc3RQcm9ncmVzc0NoYW5nZS5pdGVtU3RhdHVzZXMubGVuZ3RoIC0gMTtcblxuICAgIGlmIChidXR0b25UeXBlID09PSAncHJldmlvdXMnICYmIGFjdGl2ZUluZGV4ID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoYnV0dG9uVHlwZSA9PT0gJ25leHQnICYmIGlzTGFzdFN0ZXApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZCB8fCBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHByb2dyZXNzIGluZGljYXRvciBjb21wb25lbnQgdG8gYXNzb2NpYXRlIHdpdGggdGhlIG5hdiBidXR0b24uXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwcm9ncmVzc0luZGljYXRvcih2YWx1ZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQpIHtcbiAgICB0aGlzLl9wcm9ncmVzc0luZGljYXRvciA9IHZhbHVlO1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBpZiAodGhpcy5idXR0b25UeXBlID09PSAnZmluaXNoJykge1xuICAgICAgICAvLyBUaGUgYGhhc0ZpbmlzaEJ1dHRvbmAgZmllbGQgd2FzIGFkZGVkIHRvIHN1cHBvcnQgbGVnYWN5IEFQSS5cbiAgICAgICAgLy8gU29tZSBpbXBsZW1lbnRhdGlvbnMgb25seSBpbmNsdWRlIGEgbmV4dCBidXR0b247IHdlIGNhbm5vdFxuICAgICAgICAvLyBhc3N1bWUgdGhhdCBldmVyeSBpbXBsZW1lbnRhdGlvbiBpbmNsdWRlcyBib3RoIGEgZmluaXNoIGJ1dHRvbiBhbmQgYSBuZXh0IGJ1dHRvbi5cbiAgICAgICAgdGhpcy5fcHJvZ3Jlc3NJbmRpY2F0b3IuaGFzRmluaXNoQnV0dG9uID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fcHJvZ3Jlc3NJbmRpY2F0b3IucHJvZ3Jlc3NDaGFuZ2VzXG4gICAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChjaGFuZ2U6IFNreVByb2dyZXNzSW5kaWNhdG9yQ2hhbmdlKSA9PiB7XG4gICAgICAgICAgdGhpcy5sYXN0UHJvZ3Jlc3NDaGFuZ2UgPSBjaGFuZ2U7XG4gICAgICAgICAgdGhpcy51cGRhdGVCdXR0b25WaXNpYmlsaXR5KGNoYW5nZSk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIXRoaXMucGFyZW50VGltZW91dCkge1xuICAgICAgICB0aGlzLnBhcmVudFRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAoIXRoaXMucHJvZ3Jlc3NJbmRpY2F0b3IpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgJ1RoZSBgPHNreS1wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbj5gIGNvbXBvbmVudCByZXF1aXJlcyBhIHJlZmVyZW5jZSB0byAnICtcbiAgICAgICAgICAgICAgICAndGhlIGA8c2t5LXByb2dyZXNzLWluZGljYXRvcj5gIGNvbXBvbmVudCBpdCBjb250cm9scy4gRm9yIGV4YW1wbGU6XFxuJyArXG4gICAgICAgICAgICAgICAgJzxza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yXFxuJyArXG4gICAgICAgICAgICAgICAgJyAgI215UHJvZ3Jlc3NJbmRpY2F0b3JcXG4nICtcbiAgICAgICAgICAgICAgICAnPlxcbicgK1xuICAgICAgICAgICAgICAgICc8L3NreS1wcm9ncmVzcy1pbmRpY2F0b3I+XFxuJyArXG4gICAgICAgICAgICAgICAgJzxza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b25cXG4nICtcbiAgICAgICAgICAgICAgICAnICBbcHJvZ3Jlc3NJbmRpY2F0b3JdPVwibXlQcm9ncmVzc0luZGljYXRvclwiXFxuJyArXG4gICAgICAgICAgICAgICAgJz5cXG4nICtcbiAgICAgICAgICAgICAgICAnPC9za3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24+J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDUwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByb2dyZXNzSW5kaWNhdG9yKCk6IFNreVByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5fcHJvZ3Jlc3NJbmRpY2F0b3I7XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3QgdGhlIG5hdiBidXR0b24gYW5kIGVtaXRzIGEgYFNreVByb2dyZXNzSW5kaWNhdG9yQWN0aW9uQ2xpY2tBcmdzYFxuICAgKiBvYmplY3QgdGhhdCBpcyBwYXNzZWQgaW50byB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYWxsb3cgY29uc3VtZXJzIHRvIGRlY2lkZSB3aGV0aGVyXG4gICAqIHRoZSBidXR0b27igJlzIGFjdGlvbiBzaG91bGQgY29tcGxldGUgc3VjY2Vzc2Z1bGx5LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBhY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5UHJvZ3Jlc3NJbmRpY2F0b3JBY3Rpb25DbGlja0FyZ3M+KCk7XG5cbiAgcHVibGljIGdldCBjc3NDbGFzc05hbWVzKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYnV0dG9uVHlwZSA9IHRoaXMuYnV0dG9uVHlwZTtcblxuICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBbYHNreS1wcm9ncmVzcy1pbmRpY2F0b3ItbmF2LWJ1dHRvbi0ke3RoaXMuYnV0dG9uVHlwZX1gXTtcblxuICAgIHN3aXRjaCAoYnV0dG9uVHlwZSkge1xuICAgICAgY2FzZSAnbmV4dCc6XG4gICAgICBjYXNlICdmaW5pc2gnOlxuICAgICAgICBjbGFzc05hbWVzLnB1c2goJ3NreS1idG4tcHJpbWFyeScpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAncmVzZXQnOlxuICAgICAgICBjbGFzc05hbWVzLnB1c2goJ3NreS1idG4tbGluaycpO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgY2xhc3NOYW1lcy5wdXNoKCdza3ktYnRuLWRlZmF1bHQnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzTmFtZXMuam9pbignICcpO1xuICB9XG5cbiAgcHVibGljIGdldCBidXR0b25MYWJlbFJlc291cmNlU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBza3l1eF9wcm9ncmVzc19pbmRpY2F0b3JfbmF2aWdhdG9yXyR7dGhpcy5idXR0b25UeXBlfWA7XG4gIH1cblxuICBwdWJsaWMgc2V0IGlzVmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzVmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNWaXNpYmxlIHx8IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBsYXN0UHJvZ3Jlc3NDaGFuZ2U6IFNreVByb2dyZXNzSW5kaWNhdG9yQ2hhbmdlO1xuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHBhcmVudFRpbWVvdXQ6IG51bWJlcjtcblxuICBwcml2YXRlIF9idXR0b25UeXBlOiBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvblR5cGU7XG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuO1xuICBwcml2YXRlIF9pc1Zpc2libGU6IGJvb2xlYW47XG4gIHByaXZhdGUgX3Byb2dyZXNzSW5kaWNhdG9yOiBTa3lQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHBhcmVudENvbXBvbmVudDogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnRcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnByb2dyZXNzSW5kaWNhdG9yICYmIHRoaXMucGFyZW50Q29tcG9uZW50KSB7XG4gICAgICB0aGlzLnByb2dyZXNzSW5kaWNhdG9yID0gdGhpcy5wYXJlbnRDb21wb25lbnQ7XG4gICAgfSBlbHNlIGlmICghdGhpcy5wcm9ncmVzc0luZGljYXRvcikge1xuICAgICAgdGhpcy5wcm9ncmVzc0luZGljYXRvciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB0aGlzLmFjdGlvbkNsaWNrLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBsZXQgdHlwZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZTtcblxuICAgIHN3aXRjaCAodGhpcy5idXR0b25UeXBlKSB7XG4gICAgICBjYXNlICdmaW5pc2gnOlxuICAgICAgICB0eXBlID0gU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZS5GaW5pc2g7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICduZXh0JzpcbiAgICAgICAgdHlwZSA9IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuUHJvZ3Jlc3M7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdwcmV2aW91cyc6XG4gICAgICAgIHR5cGUgPSBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlLlJlZ3Jlc3M7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdyZXNldCc6XG4gICAgICAgIHR5cGUgPSBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlLlJlc2V0O1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIGNvbnN1bWVyIGhhcyBzdWJzY3JpYmVkIHRvIHRoZSBgYWN0aW9uQ2xpY2tgIGV2ZW50LFxuICAgIC8vIGFsbG93IHRoZW0gdG8gZGVjaWRlIHdoZW4gdG8gYWR2YW5jZSB0byB0aGUgbmV4dCBzdGVwLlxuICAgIGlmICh0aGlzLmFjdGlvbkNsaWNrLm9ic2VydmVycy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoe1xuICAgICAgICBldmVudCxcbiAgICAgICAgcHJvZ3Jlc3NIYW5kbGVyOiBuZXcgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JBY3Rpb25DbGlja1Byb2dyZXNzSGFuZGxlcihcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnByb2dyZXNzSW5kaWNhdG9yLnNlbmRNZXNzYWdlKHsgdHlwZSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICksXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcm9ncmVzc0luZGljYXRvci5zZW5kTWVzc2FnZSh7IHR5cGUgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVCdXR0b25WaXNpYmlsaXR5KGNoYW5nZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JDaGFuZ2UpOiB2b2lkIHtcbiAgICBjb25zdCBpc0xhc3RTdGVwID0gY2hhbmdlLmFjdGl2ZUluZGV4ID09PSBjaGFuZ2UuaXRlbVN0YXR1c2VzLmxlbmd0aCAtIDE7XG4gICAgY29uc3QgYnV0dG9uVHlwZSA9IHRoaXMuYnV0dG9uVHlwZTtcblxuICAgIC8vIEhpZGUgdGhlIGJ1dHRvbiBpZiBhbGwgc3RlcHMgYXJlIGNvbXBsZXRlXG4gICAgLy8gKGV4Y2VwdCBmb3IgdGhlIHJlc2V0IGJ1dHRvbilcbiAgICBpZiAoYnV0dG9uVHlwZSAhPT0gJ3Jlc2V0JyAmJiBjaGFuZ2UuaXNDb21wbGV0ZSkge1xuICAgICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoYnV0dG9uVHlwZSA9PT0gJ2ZpbmlzaCcpIHtcbiAgICAgIHRoaXMuaXNWaXNpYmxlID0gaXNMYXN0U3RlcDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBIaWRlIHRoZSBuZXh0IGJ1dHRvbiBvbiB0aGUgbGFzdCBzdGVwIG9ubHkgaWYgYSBmaW5pc2ggYnV0dG9uIGV4aXN0cy5cbiAgICBpZiAoXG4gICAgICBidXR0b25UeXBlID09PSAnbmV4dCcgJiZcbiAgICAgIGlzTGFzdFN0ZXAgJiZcbiAgICAgIHRoaXMucHJvZ3Jlc3NJbmRpY2F0b3IuaGFzRmluaXNoQnV0dG9uXG4gICAgKSB7XG4gICAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNWaXNpYmxlID0gdHJ1ZTtcbiAgfVxufVxuIiwiPGJ1dHRvblxuICAqbmdJZj1cImlzVmlzaWJsZVwiXG4gIGNsYXNzPVwic2t5LWJ0blwiXG4gIHR5cGU9XCJidXR0b25cIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbbmdDbGFzc109XCJjc3NDbGFzc05hbWVzXCJcbiAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICdza3ktbWFyZ2luLWlubGluZS1jb21wYWN0JzogJ2RlZmF1bHQnLFxuICAgICdza3ktYnRuLWxpbmsnOiAnbW9kZXJuJ1xuICB9XCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4+XG4gIHt7IGJ1dHRvblRleHQgfHwgKGJ1dHRvbkxhYmVsUmVzb3VyY2VTdHJpbmcgfCBza3lMaWJSZXNvdXJjZXMpIH19XG48L2J1dHRvbj5cbiJdfQ==
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
import { SkyProgressIndicatorComponent } from '../progress-indicator.component';
|
|
3
|
+
import { SkyProgressIndicatorMessageType } from '../types/progress-indicator-message-type';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Displays a button to mark all items in the progress indicator as incomplete and set the
|
|
7
|
+
* first item as the active item. The steps after the active item remain incomplete until
|
|
8
|
+
* users reach them in their sequential order.
|
|
9
|
+
*/
|
|
10
|
+
export class SkyProgressIndicatorResetButtonComponent {
|
|
11
|
+
constructor(changeDetector) {
|
|
12
|
+
this.changeDetector = changeDetector;
|
|
13
|
+
/**
|
|
14
|
+
* Fires when users select the reset button that marks all items as incomplete and sets the
|
|
15
|
+
* first item as the active item.
|
|
16
|
+
*/
|
|
17
|
+
this.resetClick = new EventEmitter();
|
|
18
|
+
console.warn('[Deprecation warning] The `<sky-progress-indicator-reset-button>` component is ' +
|
|
19
|
+
'deprecated. Please use the `<sky-progress-indicator-nav-button>` component instead, with ' +
|
|
20
|
+
'`buttonType` set to "reset".');
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Indicates whether to disable the reset button.
|
|
24
|
+
* @default false
|
|
25
|
+
*/
|
|
26
|
+
set disabled(value) {
|
|
27
|
+
this._disabled = value;
|
|
28
|
+
this.changeDetector.markForCheck();
|
|
29
|
+
}
|
|
30
|
+
get disabled() {
|
|
31
|
+
return this._disabled || false;
|
|
32
|
+
}
|
|
33
|
+
ngOnDestroy() {
|
|
34
|
+
this.resetClick.complete();
|
|
35
|
+
}
|
|
36
|
+
onClick() {
|
|
37
|
+
this.resetClick.emit();
|
|
38
|
+
this.progressIndicator.sendMessage({
|
|
39
|
+
type: SkyProgressIndicatorMessageType.Reset,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
SkyProgressIndicatorResetButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyProgressIndicatorResetButtonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
+
SkyProgressIndicatorResetButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyProgressIndicatorResetButtonComponent, selector: "sky-progress-indicator-reset-button", inputs: { disabled: "disabled", progressIndicator: "progressIndicator" }, outputs: { resetClick: "resetClick" }, ngImport: i0, template: "<button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"onClick()\"\n>\n <ng-content></ng-content>\n</button>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyProgressIndicatorResetButtonComponent, decorators: [{
|
|
46
|
+
type: Component,
|
|
47
|
+
args: [{ selector: 'sky-progress-indicator-reset-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"onClick()\"\n>\n <ng-content></ng-content>\n</button>\n" }]
|
|
48
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { disabled: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], progressIndicator: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], resetClick: [{
|
|
53
|
+
type: Output
|
|
54
|
+
}] } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLXJlc2V0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3NyYy9saWIvbW9kdWxlcy9wcm9ncmVzcy1pbmRpY2F0b3IvcHJvZ3Jlc3MtaW5kaWNhdG9yLXJlc2V0LWJ1dHRvbi9wcm9ncmVzcy1pbmRpY2F0b3ItcmVzZXQtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItcmVzZXQtYnV0dG9uL3Byb2dyZXNzLWluZGljYXRvci1yZXNldC1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOztBQUUzRjs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLHdDQUF3QztJQStCbkQsWUFBb0IsY0FBaUM7UUFBakMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBVHJEOzs7V0FHRztRQUVJLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBSzFDLE9BQU8sQ0FBQyxJQUFJLENBQ1YsaUZBQWlGO1lBQy9FLDJGQUEyRjtZQUMzRiw4QkFBOEIsQ0FDakMsQ0FBQztJQUNKLENBQUM7SUFwQ0Q7OztPQUdHO0lBQ0gsSUFDVyxRQUFRLENBQUMsS0FBYztRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBMEJNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztZQUNqQyxJQUFJLEVBQUUsK0JBQStCLENBQUMsS0FBSztTQUM1QyxDQUFDLENBQUM7SUFDTCxDQUFDOztxSUFqRFUsd0NBQXdDO3lIQUF4Qyx3Q0FBd0MsNExDdkJyRCwrSkFRQTsyRkRlYSx3Q0FBd0M7a0JBTHBELFNBQVM7K0JBQ0UscUNBQXFDLG1CQUU5Qix1QkFBdUIsQ0FBQyxNQUFNO3dHQVFwQyxRQUFRO3NCQURsQixLQUFLO2dCQWVDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFRQyxVQUFVO3NCQURoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuLi9wcm9ncmVzcy1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUgfSBmcm9tICcuLi90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItbWVzc2FnZS10eXBlJztcblxuLyoqXG4gKiBEaXNwbGF5cyBhIGJ1dHRvbiB0byBtYXJrIGFsbCBpdGVtcyBpbiB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yIGFzIGluY29tcGxldGUgYW5kIHNldCB0aGVcbiAqIGZpcnN0IGl0ZW0gYXMgdGhlIGFjdGl2ZSBpdGVtLiBUaGUgc3RlcHMgYWZ0ZXIgdGhlIGFjdGl2ZSBpdGVtIHJlbWFpbiBpbmNvbXBsZXRlIHVudGlsXG4gKiB1c2VycyByZWFjaCB0aGVtIGluIHRoZWlyIHNlcXVlbnRpYWwgb3JkZXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1wcm9ncmVzcy1pbmRpY2F0b3ItcmVzZXQtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLWluZGljYXRvci1yZXNldC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JSZXNldEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNhYmxlIHRoZSByZXNldCBidXR0b24uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQgfHwgZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBwcm9ncmVzcyBpbmRpY2F0b3IgY29tcG9uZW50IHRvIGFzc29jaWF0ZSB3aXRoIHRoZSByZXNldCBidXR0b24uXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHByb2dyZXNzSW5kaWNhdG9yOiBTa3lQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudDtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3QgdGhlIHJlc2V0IGJ1dHRvbiB0aGF0IG1hcmtzIGFsbCBpdGVtcyBhcyBpbmNvbXBsZXRlIGFuZCBzZXRzIHRoZVxuICAgKiBmaXJzdCBpdGVtIGFzIHRoZSBhY3RpdmUgaXRlbS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVzZXRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgJ1tEZXByZWNhdGlvbiB3YXJuaW5nXSBUaGUgYDxza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLXJlc2V0LWJ1dHRvbj5gIGNvbXBvbmVudCBpcyAnICtcbiAgICAgICAgJ2RlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgdGhlIGA8c2t5LXByb2dyZXNzLWluZGljYXRvci1uYXYtYnV0dG9uPmAgY29tcG9uZW50IGluc3RlYWQsIHdpdGggJyArXG4gICAgICAgICdgYnV0dG9uVHlwZWAgc2V0IHRvIFwicmVzZXRcIi4nXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0Q2xpY2suY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRDbGljay5lbWl0KCk7XG5cbiAgICB0aGlzLnByb2dyZXNzSW5kaWNhdG9yLnNlbmRNZXNzYWdlKHtcbiAgICAgIHR5cGU6IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuUmVzZXQsXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGlua1wiXG4gIHR5cGU9XCJidXR0b25cIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAoY2xpY2spPVwib25DbGljaygpXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9idXR0b24+XG4iXX0=
|