@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.
Files changed (65) hide show
  1. package/documentation.json +9 -9
  2. package/esm2020/index.mjs +18 -0
  3. package/esm2020/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.mjs +68 -0
  4. package/esm2020/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.mjs +219 -0
  5. package/esm2020/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.mjs +55 -0
  6. package/esm2020/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.mjs +80 -0
  7. package/esm2020/lib/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.mjs +15 -0
  8. package/esm2020/lib/modules/progress-indicator/progress-indicator.component.mjs +312 -0
  9. package/esm2020/lib/modules/progress-indicator/progress-indicator.module.mjs +65 -0
  10. package/esm2020/lib/modules/progress-indicator/types/progress-indicator-action-click-args.mjs +2 -0
  11. package/esm2020/lib/modules/progress-indicator/types/progress-indicator-action-click-progress-handler.mjs +14 -0
  12. package/esm2020/lib/modules/progress-indicator/types/progress-indicator-change.mjs +2 -0
  13. package/esm2020/lib/modules/progress-indicator/types/progress-indicator-display-mode-type.mjs +2 -0
  14. package/esm2020/lib/modules/progress-indicator/types/progress-indicator-item-status.mjs +20 -0
  15. package/esm2020/lib/modules/progress-indicator/types/progress-indicator-message-type.mjs +28 -0
  16. package/esm2020/lib/modules/progress-indicator/types/progress-indicator-message.mjs +2 -0
  17. package/esm2020/lib/modules/progress-indicator/types/progress-indicator-mode.mjs +16 -0
  18. package/esm2020/lib/modules/progress-indicator/types/progress-indicator-nav-button-type.mjs +2 -0
  19. package/esm2020/lib/modules/shared/sky-progress-indicator-resources.module.mjs +50 -0
  20. package/esm2020/skyux-progress-indicator.mjs +5 -0
  21. package/fesm2015/skyux-progress-indicator.mjs +903 -0
  22. package/fesm2015/skyux-progress-indicator.mjs.map +1 -0
  23. package/{fesm2015/skyux-progress-indicator.js → fesm2020/skyux-progress-indicator.mjs} +36 -64
  24. package/fesm2020/skyux-progress-indicator.mjs.map +1 -0
  25. package/package.json +28 -12
  26. package/bundles/skyux-progress-indicator.umd.js +0 -1075
  27. package/esm2015/index.js +0 -18
  28. package/esm2015/index.js.map +0 -1
  29. package/esm2015/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.js +0 -74
  30. package/esm2015/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.js.map +0 -1
  31. package/esm2015/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.js +0 -223
  32. package/esm2015/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.js.map +0 -1
  33. package/esm2015/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.js +0 -59
  34. package/esm2015/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.js.map +0 -1
  35. package/esm2015/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.js +0 -84
  36. package/esm2015/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.js.map +0 -1
  37. package/esm2015/lib/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.js +0 -20
  38. package/esm2015/lib/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.js.map +0 -1
  39. package/esm2015/lib/modules/progress-indicator/progress-indicator.component.js +0 -317
  40. package/esm2015/lib/modules/progress-indicator/progress-indicator.component.js.map +0 -1
  41. package/esm2015/lib/modules/progress-indicator/progress-indicator.module.js +0 -65
  42. package/esm2015/lib/modules/progress-indicator/progress-indicator.module.js.map +0 -1
  43. package/esm2015/lib/modules/progress-indicator/types/progress-indicator-action-click-args.js +0 -2
  44. package/esm2015/lib/modules/progress-indicator/types/progress-indicator-action-click-args.js.map +0 -1
  45. package/esm2015/lib/modules/progress-indicator/types/progress-indicator-action-click-progress-handler.js +0 -14
  46. package/esm2015/lib/modules/progress-indicator/types/progress-indicator-action-click-progress-handler.js.map +0 -1
  47. package/esm2015/lib/modules/progress-indicator/types/progress-indicator-change.js +0 -2
  48. package/esm2015/lib/modules/progress-indicator/types/progress-indicator-change.js.map +0 -1
  49. package/esm2015/lib/modules/progress-indicator/types/progress-indicator-display-mode-type.js +0 -2
  50. package/esm2015/lib/modules/progress-indicator/types/progress-indicator-display-mode-type.js.map +0 -1
  51. package/esm2015/lib/modules/progress-indicator/types/progress-indicator-item-status.js +0 -20
  52. package/esm2015/lib/modules/progress-indicator/types/progress-indicator-item-status.js.map +0 -1
  53. package/esm2015/lib/modules/progress-indicator/types/progress-indicator-message-type.js +0 -28
  54. package/esm2015/lib/modules/progress-indicator/types/progress-indicator-message-type.js.map +0 -1
  55. package/esm2015/lib/modules/progress-indicator/types/progress-indicator-message.js +0 -2
  56. package/esm2015/lib/modules/progress-indicator/types/progress-indicator-message.js.map +0 -1
  57. package/esm2015/lib/modules/progress-indicator/types/progress-indicator-mode.js +0 -16
  58. package/esm2015/lib/modules/progress-indicator/types/progress-indicator-mode.js.map +0 -1
  59. package/esm2015/lib/modules/progress-indicator/types/progress-indicator-nav-button-type.js +0 -2
  60. package/esm2015/lib/modules/progress-indicator/types/progress-indicator-nav-button-type.js.map +0 -1
  61. package/esm2015/lib/modules/shared/sky-progress-indicator-resources.module.js +0 -50
  62. package/esm2015/lib/modules/shared/sky-progress-indicator-resources.module.js.map +0 -1
  63. package/esm2015/skyux-progress-indicator.js +0 -5
  64. package/esm2015/skyux-progress-indicator.js.map +0 -1
  65. package/fesm2015/skyux-progress-indicator.js.map +0 -1
@@ -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": 83,
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": 75,
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": 76,
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": 77,
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": 89,
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": 85,
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 entryComponents: [\n WaterfallIndicatorDocsComponent,\n SkyProgressIndicatorWaterfallDemoFormComponent,\n ],\n})\nexport class SkyProgressIndicatorPassiveDemoModule {}\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=\"Save and close\"\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"
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 entryComponents: [WizardDemoModalComponent],\n})\nexport class SkyProgressIndicatorPassiveDemoModule {}\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=