@firestitch/form 18.0.30 → 18.0.32

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.
@@ -9,6 +9,7 @@ import { FsFormDialogActionsComponent, } from './components';
9
9
  import { FsFormGreaterEqualDirective, FsFormLesserEqualDirective, FsFormTemplateDirective, FsSubmitButtonDirective, } from './directives';
10
10
  import { FsButtonDirective } from './directives/button.directive';
11
11
  import { FsFormDialogCloseDirective } from './directives/form-dialog-close.directive';
12
+ import { FsFormConfirmTabsDirective } from './directives/confirm-tabs/confirm-tabs.directive';
12
13
  import { FsFormContainerDirective } from './directives/form-container/form-container.directive';
13
14
  import { FsFormDirective } from './directives/form/form.directive';
14
15
  import { FsFormCompareDirective } from './directives/validators/compare.directive';
@@ -83,7 +84,8 @@ export class FsFormModule {
83
84
  FsFormTemplateDirective,
84
85
  FsFormTemplateDirective,
85
86
  FsFormTemplateOutletDirective,
86
- FsFormContainerDirective], exports: [FsFormDirective,
87
+ FsFormContainerDirective,
88
+ FsFormConfirmTabsDirective], exports: [FsFormDirective,
87
89
  FsControlDirective,
88
90
  FsFormRequiredDirective,
89
91
  FsFormMinDirective,
@@ -113,7 +115,8 @@ export class FsFormModule {
113
115
  FsFormTemplateDirective,
114
116
  FsFormTemplateDirective,
115
117
  FsFormTemplateOutletDirective,
116
- FsFormContainerDirective] });
118
+ FsFormContainerDirective,
119
+ FsFormConfirmTabsDirective] });
117
120
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormModule, providers: [
118
121
  {
119
122
  provide: ErrorStateMatcher,
@@ -168,6 +171,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
168
171
  FsFormTemplateDirective,
169
172
  FsFormTemplateOutletDirective,
170
173
  FsFormContainerDirective,
174
+ FsFormConfirmTabsDirective,
171
175
  ],
172
176
  exports: [
173
177
  FsFormDirective,
@@ -201,6 +205,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
201
205
  FsFormTemplateDirective,
202
206
  FsFormTemplateOutletDirective,
203
207
  FsFormContainerDirective,
208
+ FsFormConfirmTabsDirective,
204
209
  ],
205
210
  providers: [
206
211
  {
@@ -210,4 +215,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
210
215
  ],
211
216
  }]
212
217
  }] });
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2ZzLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQXNCLFdBQVcsRUFBOEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQ0wsNEJBQTRCLEdBQzdCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFDTCwyQkFBMkIsRUFBRSwwQkFBMEIsRUFDdkQsdUJBQXVCLEVBQUUsdUJBQXVCLEdBQ2pELE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JB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d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0QiwyQkFBMkI7d0JBQzNCLHFCQUFxQjt3QkFDckIsMEJBQTBCO3dCQUMxQixrQkFBa0I7d0JBQ2xCLDBCQUEwQjt3QkFDMUIsdUJBQXVCO3dCQUN2Qiw0QkFBNEI7d0JBQzVCLDZCQUE2Qjt3QkFDN0IsaUJBQWlCO3dCQUNqQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLHdCQUF3QjtxQkFDM0I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSw0QkFBNEI7eUJBQ3pDO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXBEaXJlY3RpdmUsIEZvcm1zTW9kdWxlLCBOZ0Zvcm0sIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEVycm9yU3RhdGVNYXRjaGVyLCBTaG93T25EaXJ0eUVycm9yU3RhdGVNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBGc0RpYWxvZ01vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2RpYWxvZyc7XG5cbmltcG9ydCB7XG4gIEZzRm9ybURpYWxvZ0FjdGlvbnNDb21wb25lbnQsXG59IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICBGc0Zvcm1HcmVhdGVyRXF1YWxEaXJlY3RpdmUsIEZzRm9ybUxlc3NlckVxdWFsRGlyZWN0aXZlLFxuICBGc0Zvcm1UZW1wbGF0ZURpcmVjdGl2ZSwgRnNTdWJtaXRCdXR0b25EaXJlY3RpdmUsXG59IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBGc0J1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybURpYWxvZ0Nsb3NlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Zvcm0tZGlhbG9nLWNsb3NlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1Db250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1jb250YWluZXIvZm9ybS1jb250YWluZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3JtL2Zvcm0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUNvbXBhcmVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9jb21wYXJlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0NvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9jb250cm9sLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1EYXRlUmFuZ2VEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9kYXRlcmFuZ2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUVtYWlsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvZW1haWwuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUVtYWlsc0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL2VtYWlscy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtRnVuY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9mdW5jdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtR3JlYXRlckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL2dyZWF0ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUludGVnZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9pbnRlZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1MZXNzZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9sZXNzZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybU1heERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL21heC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtTWF4TGVuZ3RoRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbWF4bGVuZ3RoLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1NaW5EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9taW4uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybU1pbkxlbmd0aERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL21pbmxlbmd0aC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtTm9Gc1ZhbGlkYXRvcnNEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9uby1mcy12YWxpZGF0b3JzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1OdW1lcmljRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbnVtZXJpYy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtUGF0dGVybkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL3BhdHRlcm4uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybVBob25lRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvcGhvbmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybVJlcXVpcmVkRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvcmVxdWlyZWQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybVVybERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL3VybC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtVmFsaWRhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy92YWxpZGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtVGVtcGxhdGVPdXRsZXREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS10ZW1wbGF0ZS1vdXRsZXQuZGlyZWN0aXZlJztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgRnNEaWFsb2dNb2R1bGUsXG4gICAgICAgIEZzRm9ybURpcmVjdGl2ZSxcbiAgICAgICAgRnNDb250cm9sRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1SZXF1aXJlZERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTWluRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1NYXhEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybU1pbkxlbmd0aERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTWF4TGVuZ3RoRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1FbWFpbERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtRW1haWxzRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1QaG9uZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtQ29tcGFyZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtSW50ZWdlckRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTnVtZXJpY0RpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtUGF0dGVybkRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtRnVuY3Rpb25EaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybURhdGVSYW5nZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtR3JlYXRlckRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtR3JlYXRlckVxdWFsRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1MZXNzZXJEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUxlc3NlckVxdWFsRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1VcmxEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybURpYWxvZ0Nsb3NlRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1WYWxpZGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtRGlhbG9nQWN0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgRnNGb3JtTm9Gc1ZhbGlkYXRvcnNEaXJlY3RpdmUsXG4gICAgICAgIEZzQnV0dG9uRGlyZWN0aXZlLFxuICAgICAgICBGc1N1Ym1pdEJ1dHRvbkRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybVRlbXBsYXRlRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1UZW1wbGF0ZU91dGxldERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtQ29udGFpbmVyRGlyZWN0aXZlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBGc0Zvcm1EaXJlY3RpdmUsXG4gICAgICAgIEZzQ29udHJvbERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtUmVxdWlyZWREaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybU1pbkRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTWF4RGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1NaW5MZW5ndGhEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybU1heExlbmd0aERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtRW1haWxEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUVtYWlsc0RpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtUGhvbmVEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUNvbXBhcmVEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUludGVnZXJEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybU51bWVyaWNEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybVBhdHRlcm5EaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUZ1bmN0aW9uRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1EYXRlUmFuZ2VEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUdyZWF0ZXJEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUdyZWF0ZXJFcXVhbERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTGVzc2VyRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1MZXNzZXJFcXVhbERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtVXJsRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1EaWFsb2dDbG9zZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtVmFsaWRhdGVEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybURpYWxvZ0FjdGlvbnNDb21wb25lbnQsXG4gICAgICAgIEZzRm9ybU5vRnNWYWxpZGF0b3JzRGlyZWN0aXZlLFxuICAgICAgICBGc0J1dHRvbkRpcmVjdGl2ZSxcbiAgICAgICAgRnNTdWJtaXRCdXR0b25EaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybVRlbXBsYXRlRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1UZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtVGVtcGxhdGVPdXRsZXREaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUNvbnRhaW5lckRpcmVjdGl2ZSxcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBFcnJvclN0YXRlTWF0Y2hlcixcbiAgICAgICAgICAgIHVzZUNsYXNzOiBTaG93T25EaXJ0eUVycm9yU3RhdGVNYXRjaGVyLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzRm9ybU1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEZzRm9ybU1vZHVsZT4ge1xuXG4gICAgLyoqXG4gICAgICogSGFjazogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9pc3N1ZXMvMjAwOTdcbiAgICAgKi9cbiAgICBFcnJvclN0YXRlTWF0Y2hlci5wcm90b3R5cGVcbiAgICAgIC5pc0Vycm9yU3RhdGUgPSAoXG4gICAgICAgIGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCB8IG51bGwsXG4gICAgICAgIGZvcm06IEZvcm1Hcm91cERpcmVjdGl2ZSB8IE5nRm9ybSB8IG51bGwsXG4gICAgICApOiBib29sZWFuID0+IHtcbiAgICAgICAgcmV0dXJuIGNvbnRyb2w/LmludmFsaWQgJiYgY29udHJvbD8udG91Y2hlZCAmJiBjb250cm9sPy5kaXJ0eTtcbiAgICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEZzRm9ybU1vZHVsZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2ZzLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQXNCLFdBQVcsRUFBOEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQ0wsNEJBQTRCLEdBQzdCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFDTCwyQkFBMkIsRUFBRSwwQkFBMEIsRUFDdkQsdUJBQXVCLEVBQUUsdUJBQXVCLEdBQ2pELE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsd0JB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N0Isd0JBQXdCO3dCQUN4QiwwQkFBMEI7cUJBQzdCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0QixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsMkJBQTJCO3dCQUMzQixxQkFBcUI7d0JBQ3JCLDBCQUEwQjt3QkFDMUIsa0JBQWtCO3dCQUNsQiwwQkFBMEI7d0JBQzFCLHVCQUF1Qjt3QkFDdkIsNEJBQTRCO3dCQUM1Qiw2QkFBNkI7d0JBQzdCLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsNkJBQTZCO3dCQUM3Qix3QkFBd0I7d0JBQ3hCLDBCQUEwQjtxQkFDN0I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSw0QkFBNEI7eUJBQ3pDO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXBEaXJlY3RpdmUsIEZvcm1zTW9kdWxlLCBOZ0Zvcm0sIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEVycm9yU3RhdGVNYXRjaGVyLCBTaG93T25EaXJ0eUVycm9yU3RhdGVNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBGc0RpYWxvZ01vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2RpYWxvZyc7XG5cbmltcG9ydCB7XG4gIEZzRm9ybURpYWxvZ0FjdGlvbnNDb21wb25lbnQsXG59IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICBGc0Zvcm1HcmVhdGVyRXF1YWxEaXJlY3RpdmUsIEZzRm9ybUxlc3NlckVxdWFsRGlyZWN0aXZlLFxuICBGc0Zvcm1UZW1wbGF0ZURpcmVjdGl2ZSwgRnNTdWJtaXRCdXR0b25EaXJlY3RpdmUsXG59IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBGc0J1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybURpYWxvZ0Nsb3NlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Zvcm0tZGlhbG9nLWNsb3NlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1Db25maXJtVGFic0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9jb25maXJtLXRhYnMvY29uZmlybS10YWJzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1Db250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1jb250YWluZXIvZm9ybS1jb250YWluZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3JtL2Zvcm0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUNvbXBhcmVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9jb21wYXJlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0NvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9jb250cm9sLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1EYXRlUmFuZ2VEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9kYXRlcmFuZ2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUVtYWlsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvZW1haWwuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUVtYWlsc0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL2VtYWlscy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtRnVuY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9mdW5jdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtR3JlYXRlckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL2dyZWF0ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUludGVnZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9pbnRlZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1MZXNzZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9sZXNzZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybU1heERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL21heC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtTWF4TGVuZ3RoRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbWF4bGVuZ3RoLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1NaW5EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9taW4uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybU1pbkxlbmd0aERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL21pbmxlbmd0aC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtTm9Gc1ZhbGlkYXRvcnNEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9uby1mcy12YWxpZGF0b3JzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1OdW1lcmljRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbnVtZXJpYy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtUGF0dGVybkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL3BhdHRlcm4uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybVBob25lRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvcGhvbmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybVJlcXVpcmVkRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvcmVxdWlyZWQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybVVybERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL3VybC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtVmFsaWRhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy92YWxpZGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtVGVtcGxhdGVPdXRsZXREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS10ZW1wbGF0ZS1vdXRsZXQuZGlyZWN0aXZlJztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgRnNEaWFsb2dNb2R1bGUsXG4gICAgICAgIEZzRm9ybURpcmVjdGl2ZSxcbiAgICAgICAgRnNDb250cm9sRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1SZXF1aXJlZERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTWluRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1NYXhEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybU1pbkxlbmd0aERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTWF4TGVuZ3RoRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1FbWFpbERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtRW1haWxzRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1QaG9uZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtQ29tcGFyZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtSW50ZWdlckRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTnVtZXJpY0RpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtUGF0dGVybkRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtRnVuY3Rpb25EaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybURhdGVSYW5nZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtR3JlYXRlckRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtR3JlYXRlckVxdWFsRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1MZXNzZXJEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUxlc3NlckVxdWFsRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1VcmxEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybURpYWxvZ0Nsb3NlRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1WYWxpZGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtRGlhbG9nQWN0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgRnNGb3JtTm9Gc1ZhbGlkYXRvcnNEaXJlY3RpdmUsXG4gICAgICAgIEZzQnV0dG9uRGlyZWN0aXZlLFxuICAgICAgICBGc1N1Ym1pdEJ1dHRvbkRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybVRlbXBsYXRlRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1UZW1wbGF0ZU91dGxldERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtQ29udGFpbmVyRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1Db25maXJtVGFic0RpcmVjdGl2ZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRnNGb3JtRGlyZWN0aXZlLFxuICAgICAgICBGc0NvbnRyb2xEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybVJlcXVpcmVkRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1NaW5EaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybU1heERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTWluTGVuZ3RoRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1NYXhMZW5ndGhEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUVtYWlsRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1FbWFpbHNEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybVBob25lRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1Db21wYXJlRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1JbnRlZ2VyRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1OdW1lcmljRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1QYXR0ZXJuRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1GdW5jdGlvbkRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtRGF0ZVJhbmdlRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1HcmVhdGVyRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1HcmVhdGVyRXF1YWxEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUxlc3NlckRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTGVzc2VyRXF1YWxEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybVVybERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtRGlhbG9nQ2xvc2VEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybVZhbGlkYXRlRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1EaWFsb2dBY3Rpb25zQ29tcG9uZW50LFxuICAgICAgICBGc0Zvcm1Ob0ZzVmFsaWRhdG9yc0RpcmVjdGl2ZSxcbiAgICAgICAgRnNCdXR0b25EaXJlY3RpdmUsXG4gICAgICAgIEZzU3VibWl0QnV0dG9uRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1UZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybVRlbXBsYXRlT3V0bGV0RGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1Db250YWluZXJEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUNvbmZpcm1UYWJzRGlyZWN0aXZlLFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEVycm9yU3RhdGVNYXRjaGVyLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IFNob3dPbkRpcnR5RXJyb3JTdGF0ZU1hdGNoZXIsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNGb3JtTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RnNGb3JtTW9kdWxlPiB7XG5cbiAgICAvKipcbiAgICAgKiBIYWNrOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2lzc3Vlcy8yMDA5N1xuICAgICAqL1xuICAgIEVycm9yU3RhdGVNYXRjaGVyLnByb3RvdHlwZVxuICAgICAgLmlzRXJyb3JTdGF0ZSA9IChcbiAgICAgICAgY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sIHwgbnVsbCxcbiAgICAgICAgZm9ybTogRm9ybUdyb3VwRGlyZWN0aXZlIHwgTmdGb3JtIHwgbnVsbCxcbiAgICAgICk6IGJvb2xlYW4gPT4ge1xuICAgICAgICByZXR1cm4gY29udHJvbD8uaW52YWxpZCAmJiBjb250cm9sPy50b3VjaGVkICYmIGNvbnRyb2w/LmRpcnR5O1xuICAgICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRnNGb3JtTW9kdWxlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,3 @@
1
1
  export * from './confirm-result-continue';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2hlbHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29uZmlybS1yZXN1bHQtY29udGludWUnO1xuXG4iXX0=
2
+ export * from './within-same-dialog';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2hlbHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25maXJtLXJlc3VsdC1jb250aW51ZSc7XG5leHBvcnQgKiBmcm9tICcuL3dpdGhpbi1zYW1lLWRpYWxvZyc7XG4iXX0=
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Whether an owner found through DI belongs to the same dialog as whoever found
3
+ * it - and may therefore be joined, or driven by a button.
4
+ *
5
+ * A form set must never span a dialog boundary. Owners are resolved by walking
6
+ * the element injector, and CDK parents a dialog opened with `viewContainerRef`
7
+ * to the opener's injector, so a dialog opened from inside another dialog's form
8
+ * would otherwise register into that form's set: the outer footer would flip to
9
+ * Save the moment the inner dialog opened and would then submit the inner form,
10
+ * while the inner dialog - no longer the owner of its own set - would stop
11
+ * confirming its unsaved changes on backdrop click.
12
+ *
13
+ * Identity of the `MatDialogRef` is the test: everything inside one dialog
14
+ * injects the same instance, and everything outside any dialog gets null.
15
+ */
16
+ export function withinSameDialog(owner, dialogRef) {
17
+ return !!owner && owner.dialogRef === dialogRef;
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aGluLXNhbWUtZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9oZWxwZXJzL3dpdGhpbi1zYW1lLWRpYWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsS0FBMEIsRUFDMUIsU0FBNEI7SUFFNUIsT0FBTyxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgdHlwZSB7IEZzRm9ybUJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2Zvcm0tYmFzZSc7XG5cblxuLyoqXG4gKiBXaGV0aGVyIGFuIG93bmVyIGZvdW5kIHRocm91Z2ggREkgYmVsb25ncyB0byB0aGUgc2FtZSBkaWFsb2cgYXMgd2hvZXZlciBmb3VuZFxuICogaXQgLSBhbmQgbWF5IHRoZXJlZm9yZSBiZSBqb2luZWQsIG9yIGRyaXZlbiBieSBhIGJ1dHRvbi5cbiAqXG4gKiBBIGZvcm0gc2V0IG11c3QgbmV2ZXIgc3BhbiBhIGRpYWxvZyBib3VuZGFyeS4gT3duZXJzIGFyZSByZXNvbHZlZCBieSB3YWxraW5nXG4gKiB0aGUgZWxlbWVudCBpbmplY3RvciwgYW5kIENESyBwYXJlbnRzIGEgZGlhbG9nIG9wZW5lZCB3aXRoIGB2aWV3Q29udGFpbmVyUmVmYFxuICogdG8gdGhlIG9wZW5lcidzIGluamVjdG9yLCBzbyBhIGRpYWxvZyBvcGVuZWQgZnJvbSBpbnNpZGUgYW5vdGhlciBkaWFsb2cncyBmb3JtXG4gKiB3b3VsZCBvdGhlcndpc2UgcmVnaXN0ZXIgaW50byB0aGF0IGZvcm0ncyBzZXQ6IHRoZSBvdXRlciBmb290ZXIgd291bGQgZmxpcCB0b1xuICogU2F2ZSB0aGUgbW9tZW50IHRoZSBpbm5lciBkaWFsb2cgb3BlbmVkIGFuZCB3b3VsZCB0aGVuIHN1Ym1pdCB0aGUgaW5uZXIgZm9ybSxcbiAqIHdoaWxlIHRoZSBpbm5lciBkaWFsb2cgLSBubyBsb25nZXIgdGhlIG93bmVyIG9mIGl0cyBvd24gc2V0IC0gd291bGQgc3RvcFxuICogY29uZmlybWluZyBpdHMgdW5zYXZlZCBjaGFuZ2VzIG9uIGJhY2tkcm9wIGNsaWNrLlxuICpcbiAqIElkZW50aXR5IG9mIHRoZSBgTWF0RGlhbG9nUmVmYCBpcyB0aGUgdGVzdDogZXZlcnl0aGluZyBpbnNpZGUgb25lIGRpYWxvZ1xuICogaW5qZWN0cyB0aGUgc2FtZSBpbnN0YW5jZSwgYW5kIGV2ZXJ5dGhpbmcgb3V0c2lkZSBhbnkgZGlhbG9nIGdldHMgbnVsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhpblNhbWVEaWFsb2coXG4gIG93bmVyOiBGc0Zvcm1CYXNlRGlyZWN0aXZlLFxuICBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxhbnk+LFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAhIW93bmVyICYmIG93bmVyLmRpYWxvZ1JlZiA9PT0gZGlhbG9nUmVmO1xufVxuIl19
@@ -6,6 +6,7 @@ export { FsForm } from './app/services/fsform.service';
6
6
  export { FsFormGreaterDirective, FsFormGreaterEqualDirective, FsFormLesserEqualDirective, FsFormTemplateDirective } from './app/directives';
7
7
  export { FsButtonDirective } from './app/directives/button.directive';
8
8
  export { FsFormDialogCloseDirective } from './app/directives/form-dialog-close.directive';
9
+ export { FsFormConfirmTabsDirective } from './app/directives/confirm-tabs/confirm-tabs.directive';
9
10
  export { FsFormContainerDirective } from './app/directives/form-container/form-container.directive';
10
11
  export { FsFormDirective } from './app/directives/form/form.directive';
11
12
  export { FsSubmitButtonDirective } from './app/directives/submit-button.directive';
@@ -36,4 +37,4 @@ export { FormDeactivateGuard } from './app/guards/form-deactivate.guard';
36
37
  // Enums
37
38
  export { ConfirmResult } from './app/enums/confirm-result';
38
39
  export { FormStatus } from './app/enums/form-status';
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFcEQsV0FBVztBQUNYLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV2RCxhQUFhO0FBQ2IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDJCQUEyQixFQUFFLDBCQUEwQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUksT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDMUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDcEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRWhHLGFBQWE7QUFDYixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFRekUsUUFBUTtBQUNSLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBNb2R1bGVzXG5leHBvcnQgeyBGc0Zvcm1Nb2R1bGUgfSBmcm9tICcuL2FwcC9mcy1mb3JtLm1vZHVsZSc7XG5cbi8vIFNlcnZpY2VzXG5leHBvcnQgeyBGc0Zvcm0gfSBmcm9tICcuL2FwcC9zZXJ2aWNlcy9mc2Zvcm0uc2VydmljZSc7XG5cbi8vIERpcmVjdGl2ZXNcbmV4cG9ydCB7IEZzRm9ybUdyZWF0ZXJEaXJlY3RpdmUsIEZzRm9ybUdyZWF0ZXJFcXVhbERpcmVjdGl2ZSwgRnNGb3JtTGVzc2VyRXF1YWxEaXJlY3RpdmUsIEZzRm9ybVRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcyc7XG5leHBvcnQgeyBGc0J1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvYnV0dG9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1EaWFsb2dDbG9zZURpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvZm9ybS1kaWFsb2ctY2xvc2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybUNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvZm9ybS1jb250YWluZXIvZm9ybS1jb250YWluZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvZm9ybS9mb3JtLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc1N1Ym1pdEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvc3VibWl0LWJ1dHRvbi5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNGb3JtQ29tcGFyZURpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9jb21wYXJlLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0NvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvY29udHJvbC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNGb3JtRGF0ZVJhbmdlRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL2RhdGVyYW5nZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNGb3JtRW1haWxEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvZW1haWwuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybUVtYWlsc0RpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9lbWFpbHMuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybUZ1bmN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL2Z1bmN0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1JbnRlZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL2ludGVnZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybUxlc3NlckRpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9sZXNzZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybU1heERpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9tYXguZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybU1heExlbmd0aERpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9tYXhsZW5ndGguZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybU1pbkRpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9taW4uZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybU1pbkxlbmd0aERpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9taW5sZW5ndGguZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybU5vRnNWYWxpZGF0b3JzRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL25vLWZzLXZhbGlkYXRvcnMuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybU51bWVyaWNEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbnVtZXJpYy5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNGb3JtUGF0dGVybkRpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9wYXR0ZXJuLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1QaG9uZURpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9waG9uZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNGb3JtUmVxdWlyZWREaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvcmVxdWlyZWQuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybVVybERpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy91cmwuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybVZhbGlkYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL3ZhbGlkYXRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1UZW1wbGF0ZU91dGxldERpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvZm9ybS10ZW1wbGF0ZS1vdXRsZXQuZGlyZWN0aXZlJztcblxuLy8gQ29tcG9uZW50c1xuZXhwb3J0IHsgRnNGb3JtRGlhbG9nQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMnO1xuXG5leHBvcnQgeyBGc1ZhbGlkYXRvcnMgfSBmcm9tICcuL2FwcC92YWxpZGF0b3JzL3ZhbGlkYXRvcnMnO1xuXG5leHBvcnQgeyBGb3JtRGVhY3RpdmF0ZUd1YXJkIH0gZnJvbSAnLi9hcHAvZ3VhcmRzL2Zvcm0tZGVhY3RpdmF0ZS5ndWFyZCc7XG5cbi8vIEludGVyZmFjZXNcbmV4cG9ydCB7IENvbmZpcm1Db25maWcgfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2NvbmZpcm0tY29uZmlnJztcbmV4cG9ydCB7IEZzRm9ybU93bmVyIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9mb3JtLW93bmVyJztcbmV4cG9ydCB7IFN1Ym1pdEV2ZW50IH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9zdWJtaXQtZXZlbnQnO1xuZXhwb3J0IHsgU3VibWl0dGVkRXZlbnQgfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL3N1Ym1pdHRlZC1ldmVudCc7XG5cbi8vIEVudW1zXG5leHBvcnQgeyBDb25maXJtUmVzdWx0IH0gZnJvbSAnLi9hcHAvZW51bXMvY29uZmlybS1yZXN1bHQnO1xuZXhwb3J0IHsgRm9ybVN0YXR1cyB9IGZyb20gJy4vYXBwL2VudW1zL2Zvcm0tc3RhdHVzJztcblxuXG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFcEQsV0FBVztBQUNYLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV2RCxhQUFhO0FBQ2IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDJCQUEyQixFQUFFLDBCQUEwQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUksT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDMUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDcEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRWhHLGFBQWE7QUFDYixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFRekUsUUFBUTtBQUNSLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBNb2R1bGVzXG5leHBvcnQgeyBGc0Zvcm1Nb2R1bGUgfSBmcm9tICcuL2FwcC9mcy1mb3JtLm1vZHVsZSc7XG5cbi8vIFNlcnZpY2VzXG5leHBvcnQgeyBGc0Zvcm0gfSBmcm9tICcuL2FwcC9zZXJ2aWNlcy9mc2Zvcm0uc2VydmljZSc7XG5cbi8vIERpcmVjdGl2ZXNcbmV4cG9ydCB7IEZzRm9ybUdyZWF0ZXJEaXJlY3RpdmUsIEZzRm9ybUdyZWF0ZXJFcXVhbERpcmVjdGl2ZSwgRnNGb3JtTGVzc2VyRXF1YWxEaXJlY3RpdmUsIEZzRm9ybVRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcyc7XG5leHBvcnQgeyBGc0J1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvYnV0dG9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1EaWFsb2dDbG9zZURpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvZm9ybS1kaWFsb2ctY2xvc2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybUNvbmZpcm1UYWJzRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy9jb25maXJtLXRhYnMvY29uZmlybS10YWJzLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1Db250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL2Zvcm0tY29udGFpbmVyL2Zvcm0tY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1EaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL2Zvcm0vZm9ybS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNTdWJtaXRCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3N1Ym1pdC1idXR0b24uZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybUNvbXBhcmVEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvY29tcGFyZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL2NvbnRyb2wuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybURhdGVSYW5nZURpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9kYXRlcmFuZ2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybUVtYWlsRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL2VtYWlsLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1FbWFpbHNEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvZW1haWxzLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1GdW5jdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9mdW5jdGlvbi5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNGb3JtSW50ZWdlckRpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9pbnRlZ2VyLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1MZXNzZXJEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbGVzc2VyLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1NYXhEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbWF4LmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1NYXhMZW5ndGhEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbWF4bGVuZ3RoLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1NaW5EaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbWluLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1NaW5MZW5ndGhEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbWlubGVuZ3RoLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1Ob0ZzVmFsaWRhdG9yc0RpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9uby1mcy12YWxpZGF0b3JzLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1OdW1lcmljRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL251bWVyaWMuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybVBhdHRlcm5EaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvcGF0dGVybi5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNGb3JtUGhvbmVEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvcGhvbmUuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybVJlcXVpcmVkRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL3JlcXVpcmVkLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1VcmxEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvdXJsLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1WYWxpZGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy92YWxpZGF0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNGb3JtVGVtcGxhdGVPdXRsZXREaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL2Zvcm0tdGVtcGxhdGUtb3V0bGV0LmRpcmVjdGl2ZSc7XG5cbi8vIENvbXBvbmVudHNcbmV4cG9ydCB7IEZzRm9ybURpYWxvZ0FjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2FwcC9jb21wb25lbnRzJztcblxuZXhwb3J0IHsgRnNWYWxpZGF0b3JzIH0gZnJvbSAnLi9hcHAvdmFsaWRhdG9ycy92YWxpZGF0b3JzJztcblxuZXhwb3J0IHsgRm9ybURlYWN0aXZhdGVHdWFyZCB9IGZyb20gJy4vYXBwL2d1YXJkcy9mb3JtLWRlYWN0aXZhdGUuZ3VhcmQnO1xuXG4vLyBJbnRlcmZhY2VzXG5leHBvcnQgeyBDb25maXJtQ29uZmlnIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9jb25maXJtLWNvbmZpZyc7XG5leHBvcnQgeyBGc0Zvcm1Pd25lciB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvZm9ybS1vd25lcic7XG5leHBvcnQgeyBTdWJtaXRFdmVudCB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvc3VibWl0LWV2ZW50JztcbmV4cG9ydCB7IFN1Ym1pdHRlZEV2ZW50IH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9zdWJtaXR0ZWQtZXZlbnQnO1xuXG4vLyBFbnVtc1xuZXhwb3J0IHsgQ29uZmlybVJlc3VsdCB9IGZyb20gJy4vYXBwL2VudW1zL2NvbmZpcm0tcmVzdWx0JztcbmV4cG9ydCB7IEZvcm1TdGF0dXMgfSBmcm9tICcuL2FwcC9lbnVtcy9mb3JtLXN0YXR1cyc7XG5cblxuIl19
@@ -1,4 +1,4 @@
1
- import { NgClass, NgTemplateOutlet, CommonModule } from '@angular/common';
1
+ import { NgTemplateOutlet, CommonModule } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
3
  import { inject, Component, ChangeDetectionStrategy, Injectable, NgZone, ChangeDetectorRef, ElementRef, QueryList, Directive, Input, ContentChildren, EventEmitter, Output, HostBinding, HostListener, InjectionToken, Renderer2, Injector, ViewContainerRef, NgModule } from '@angular/core';
4
4
  import { UntypedFormGroup, NgForm, NgControl, Validators, NgModel, FormsModule } from '@angular/forms';
@@ -59,6 +59,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
59
59
  ], template: "<fs-dialog>\n <h1 mat-dialog-title>\n {{ title }}\n </h1>\n <mat-dialog-content>\n {{ message }}\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n type=\"button\"\n color=\"primary\"\n (click)=\"save()\"\n mat-button>\n {{ saveLabel }}\n </button>\n <button\n type=\"button\"\n (click)=\"discard()\"\n mat-button>\n {{ discardLabel }}\n </button>\n <button\n type=\"button\"\n (click)=\"cancel()\"\n mat-button>\n {{ cancelLabel }}\n </button>\n </mat-dialog-actions>\n</fs-dialog>", styles: [":host{width:100%}.form-buttons.save-create .close-button:not(.cancel-button){float:right}\n"] }]
60
60
  }] });
61
61
 
62
+ /**
63
+ * Whether an owner found through DI belongs to the same dialog as whoever found
64
+ * it - and may therefore be joined, or driven by a button.
65
+ *
66
+ * A form set must never span a dialog boundary. Owners are resolved by walking
67
+ * the element injector, and CDK parents a dialog opened with `viewContainerRef`
68
+ * to the opener's injector, so a dialog opened from inside another dialog's form
69
+ * would otherwise register into that form's set: the outer footer would flip to
70
+ * Save the moment the inner dialog opened and would then submit the inner form,
71
+ * while the inner dialog - no longer the owner of its own set - would stop
72
+ * confirming its unsaved changes on backdrop click.
73
+ *
74
+ * Identity of the `MatDialogRef` is the test: everything inside one dialog
75
+ * injects the same instance, and everything outside any dialog gets null.
76
+ */
77
+ function withinSameDialog(owner, dialogRef) {
78
+ return !!owner && owner.dialogRef === dialogRef;
79
+ }
80
+
62
81
  function getFormErrors(control, key) {
63
82
  let errors = null;
64
83
  if (control.invalid && control.errors) {
@@ -245,7 +264,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
245
264
  */
246
265
  class FsFormBaseDirective {
247
266
  confirmTabs = true;
248
- tabGroup;
249
267
  confirm = true;
250
268
  confirmDialog = true;
251
269
  confirmDrawer = true;
@@ -266,6 +284,13 @@ class FsFormBaseDirective {
266
284
  _activeSubmitButton;
267
285
  _confirmTabGroups = new WeakSet();
268
286
  _destroy$ = new Subject();
287
+ /**
288
+ * The dialog this owner lives in, or null outside one. Used to keep a form set
289
+ * from spanning a dialog boundary - see `withinSameDialog`.
290
+ */
291
+ get dialogRef() {
292
+ return this._dialogRef;
293
+ }
269
294
  ngOnInit() {
270
295
  this._registerOwnerLifecycle();
271
296
  }
@@ -289,6 +314,16 @@ class FsFormBaseDirective {
289
314
  set activeSubmitButton(button) {
290
315
  this._activeSubmitButton = button;
291
316
  }
317
+ /**
318
+ * Bring a tab group into this owner's unsaved-changes confirm.
319
+ *
320
+ * `_tabGroups` only reaches groups in this owner's projected content, so a group
321
+ * declared inside a child component's own template has to announce itself.
322
+ * `fsFormConfirmTabs` calls this - consumers never call it directly.
323
+ */
324
+ registerTabGroup(tabGroup) {
325
+ this._registerConfirmTabGroup(tabGroup);
326
+ }
292
327
  addButton(button) {
293
328
  this._buttons
294
329
  .reset([
@@ -536,14 +571,12 @@ class FsFormBaseDirective {
536
571
  this._form.removeFormDirective(this._activatedRouteConfig.component);
537
572
  }
538
573
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
539
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsFormBaseDirective, inputs: { confirmTabs: "confirmTabs", tabGroup: "tabGroup", confirm: "confirm", confirmDialog: "confirmDialog", confirmDrawer: "confirmDrawer", confirmBrowser: "confirmBrowser", shortcuts: "shortcuts", deactivationGuard: "deactivationGuard" }, queries: [{ propertyName: "_tabGroups", predicate: MatTabGroup, descendants: true }], ngImport: i0 });
574
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsFormBaseDirective, inputs: { confirmTabs: "confirmTabs", confirm: "confirm", confirmDialog: "confirmDialog", confirmDrawer: "confirmDrawer", confirmBrowser: "confirmBrowser", shortcuts: "shortcuts", deactivationGuard: "deactivationGuard" }, queries: [{ propertyName: "_tabGroups", predicate: MatTabGroup, descendants: true }], ngImport: i0 });
540
575
  }
541
576
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormBaseDirective, decorators: [{
542
577
  type: Directive
543
578
  }], propDecorators: { confirmTabs: [{
544
579
  type: Input
545
- }], tabGroup: [{
546
- type: Input
547
580
  }], confirm: [{
548
581
  type: Input
549
582
  }], confirmDialog: [{
@@ -764,8 +797,12 @@ class FsFormDirective extends FsFormBaseDirective {
764
797
  _containerParent = null;
765
798
  _dirtyChange$ = new Subject();
766
799
  _message = inject(FsMessage);
767
- _container = inject(FsFormContainerDirective, { optional: true });
768
- _ancestorForm = inject(FsFormDirective, { optional: true, skipSelf: true });
800
+ // Both lookups walk the element injector, which reaches straight through a
801
+ // dialog opened with `viewContainerRef` into whatever opened it. Anything
802
+ // belonging to a different dialog is discarded, so a set never spans two.
803
+ _container = this._ownDialogOnly(inject(FsFormContainerDirective, { optional: true }));
804
+ _ancestorForm = this
805
+ ._ownDialogOnly(inject(FsFormDirective, { optional: true, skipSelf: true }));
769
806
  /**
770
807
  * Emits whenever the set's dirty state may have moved. Anything outside the
771
808
  * form that renders off it - the dialog actions, say - can't watch
@@ -1158,6 +1195,10 @@ class FsFormDirective extends FsFormBaseDirective {
1158
1195
  _getOwner() {
1159
1196
  return (this.link ? this._container : null) || this.rootForm;
1160
1197
  }
1198
+ /** Keeps a DI-resolved owner only when it belongs to this form's dialog. */
1199
+ _ownDialogOnly(owner) {
1200
+ return withinSameDialog(owner, this._dialogRef) ? owner : null;
1201
+ }
1161
1202
  _resetButtons() {
1162
1203
  this._getOwner()
1163
1204
  .buttons.forEach((button) => {
@@ -1341,8 +1382,9 @@ class FsButtonDirective {
1341
1382
  _formDisabled = false;
1342
1383
  _previousDisabled = false;
1343
1384
  _destroy$ = new Subject();
1344
- _container = inject(FsFormContainerDirective, { optional: true });
1345
- _form = inject(FsFormDirective, { optional: true });
1385
+ _dialogRef = inject(MatDialogRef, { optional: true });
1386
+ _container = this._ownDialogOnly(inject(FsFormContainerDirective, { optional: true }));
1387
+ _form = this._ownDialogOnly(inject(FsFormDirective, { optional: true }));
1346
1388
  _matButton = inject(MatButton, { optional: true, host: true });
1347
1389
  _elementRef = inject(ElementRef);
1348
1390
  _cdRef = inject(ChangeDetectorRef);
@@ -1438,6 +1480,15 @@ class FsButtonDirective {
1438
1480
  this._destroy$.complete();
1439
1481
  this._formBase?.removeButton(this);
1440
1482
  }
1483
+ /**
1484
+ * Keeps a DI-resolved owner only when it belongs to this button's dialog. A
1485
+ * dialog opened with `viewContainerRef` resolves through to whatever opened
1486
+ * it, so without this the inner dialog's Save would register with - and
1487
+ * submit - the outer dialog's form set.
1488
+ */
1489
+ _ownDialogOnly(owner) {
1490
+ return withinSameDialog(owner, this._dialogRef) ? owner : null;
1491
+ }
1441
1492
  // Effective disabled combines the consumer-controlled submitDisabled input with
1442
1493
  // the form's submit-lifecycle state, so form enable/disable never clobbers an
1443
1494
  // explicit [submitDisabled] and the two channels stay independent.
@@ -1548,8 +1599,12 @@ class FsFormDialogActionsComponent {
1548
1599
  name;
1549
1600
  dirty = false;
1550
1601
  _destroy$ = new Subject();
1551
- _container = inject(FsFormContainerDirective, { optional: true });
1552
- _form = inject(FsFormDirective, { optional: true });
1602
+ _dialogRef = inject(MatDialogRef, { optional: true });
1603
+ // A dialog opened with `viewContainerRef` resolves through to whatever opened
1604
+ // it, so an owner from another dialog is discarded - these actions belong to
1605
+ // their own dialog's form set and no one else's.
1606
+ _container = this._ownDialogOnly(inject(FsFormContainerDirective, { optional: true }));
1607
+ _form = this._ownDialogOnly(inject(FsFormDirective, { optional: true }));
1553
1608
  _cdRef = inject(ChangeDetectorRef);
1554
1609
  /**
1555
1610
  * Inside a container these default to whether anything mounted can actually
@@ -1597,19 +1652,25 @@ class FsFormDialogActionsComponent {
1597
1652
  this._destroy$.next(null);
1598
1653
  this._destroy$.complete();
1599
1654
  }
1655
+ /** Keeps a DI-resolved owner only when it belongs to these actions' dialog. */
1656
+ _ownDialogOnly(owner) {
1657
+ return withinSameDialog(owner, this._dialogRef) ? owner : null;
1658
+ }
1600
1659
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormDialogActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1601
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsFormDialogActionsComponent, isStandalone: true, selector: "fs-form-dialog-actions", inputs: { save: "save", create: "create", close: "close", done: "done", closeData: "closeData", name: "name" }, ngImport: i0, template: "<div\n class=\"form-buttons\"\n [ngClass]=\"{ 'save-create': showSave || create }\">\n @if (showSave || create) {\n <button\n mat-button\n type=\"submit\"\n color=\"primary\"\n [name]=\"name\">\n {{ create ? 'Create' : 'Save' }}\n </button>\n <button\n mat-button\n type=\"button\"\n class=\"cancel-button\"\n [disabled]=\"close && !dirty && !create\"\n [mat-dialog-close]=\"null\">\n Cancel\n </button>\n }\n @if (showDone) {\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"null\">\n Done\n </button>\n }\n @if (showSave || create) {\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n }\n @if (close) {\n <button\n mat-button\n type=\"button\"\n class=\"close-button\"\n fsFormDialogClose\n [closeData]=\"closeData\"\n [color]=\"dirty ? 'basic' : 'primary'\">\n Close\n </button>\n }\n @if (!(showSave || create)) {\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n }\n</div>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{width:100%}.form-buttons.save-create .close-button{float:right}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: FsButtonDirective, selector: "[mat-raised-button],[mat-button],[mat-flat-button],[mat-stroked-button]", inputs: ["name", "dirtySubmit", "submitDisabled"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: FsFormDialogCloseDirective, selector: "[fsFormDialogClose],[fs-form-dialog-close]", inputs: ["closeData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1660
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsFormDialogActionsComponent, isStandalone: true, selector: "fs-form-dialog-actions", inputs: { save: "save", create: "create", close: "close", done: "done", closeData: "closeData", name: "name" }, host: { properties: { "class.save-create": "showSave || create" }, classAttribute: "form-buttons" }, ngImport: i0, template: "@if (showSave || create) {\n <button\n mat-button\n type=\"submit\"\n color=\"primary\"\n [name]=\"name\">\n {{ create ? 'Create' : 'Save' }}\n </button>\n <button\n mat-button\n type=\"button\"\n class=\"cancel-button\"\n [disabled]=\"close && !dirty && !create\"\n [mat-dialog-close]=\"null\">\n Cancel\n </button>\n}\n@if (showDone) {\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"null\">\n Done\n </button>\n}\n@if (showSave || create) {\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n}\n@if (close) {\n <button\n mat-button\n type=\"button\"\n class=\"close-button\"\n fsFormDialogClose\n [closeData]=\"closeData\"\n [color]=\"dirty ? 'basic' : 'primary'\">\n Close\n </button>\n}\n@if (!(showSave || create)) {\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: ["@charset \"UTF-8\";@media (max-width: 599px){h1[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"]{margin-top:0}}@media (max-width: 1023px){h1[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"]{margin-top:0}}@media (max-width: 1439px){h1[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"]{margin-top:0}}div[class*=fs-delimit]:not([class*=\".middot\"])>:not(:last-child):after{content:\",\\a0\"}div[class*=fs-delimit][class*=\".middot\"]>:not(:last-child):after{content:\"\\a0\\b7\\a0\"}div[class*=fs-delimit]>*{display:inline-flex}:host{display:block;width:100%}:host.save-create .close-button{float:right}@media (max-width: 599px){:host{display:flex;flex-direction:column;flex-wrap:nowrap}:host ::ng-deep button,:host ::ng-deep .mat-button,:host ::ng-deep .mdc-button,:host ::ng-deep .mat-mdc-button-base{width:100%;margin:0 0 4px;margin-inline:0!important}:host ::ng-deep button:last-child,:host ::ng-deep .mat-button:last-child,:host ::ng-deep .mdc-button:last-child,:host ::ng-deep .mat-mdc-button-base:last-child{margin-bottom:0}}\n"], dependencies: [{ kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: FsButtonDirective, selector: "[mat-raised-button],[mat-button],[mat-flat-button],[mat-stroked-button]", inputs: ["name", "dirtySubmit", "submitDisabled"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: FsFormDialogCloseDirective, selector: "[fsFormDialogClose],[fs-form-dialog-close]", inputs: ["closeData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1602
1661
  }
1603
1662
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormDialogActionsComponent, decorators: [{
1604
1663
  type: Component,
1605
- args: [{ selector: 'fs-form-dialog-actions', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
1606
- NgClass,
1664
+ args: [{ selector: 'fs-form-dialog-actions', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, host: {
1665
+ 'class': 'form-buttons',
1666
+ '[class.save-create]': 'showSave || create',
1667
+ }, imports: [
1607
1668
  MatButton,
1608
1669
  FsButtonDirective,
1609
1670
  MatDialogClose,
1610
1671
  NgTemplateOutlet,
1611
1672
  FsFormDialogCloseDirective,
1612
- ], template: "<div\n class=\"form-buttons\"\n [ngClass]=\"{ 'save-create': showSave || create }\">\n @if (showSave || create) {\n <button\n mat-button\n type=\"submit\"\n color=\"primary\"\n [name]=\"name\">\n {{ create ? 'Create' : 'Save' }}\n </button>\n <button\n mat-button\n type=\"button\"\n class=\"cancel-button\"\n [disabled]=\"close && !dirty && !create\"\n [mat-dialog-close]=\"null\">\n Cancel\n </button>\n }\n @if (showDone) {\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"null\">\n Done\n </button>\n }\n @if (showSave || create) {\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n }\n @if (close) {\n <button\n mat-button\n type=\"button\"\n class=\"close-button\"\n fsFormDialogClose\n [closeData]=\"closeData\"\n [color]=\"dirty ? 'basic' : 'primary'\">\n Close\n </button>\n }\n @if (!(showSave || create)) {\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n }\n</div>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{width:100%}.form-buttons.save-create .close-button{float:right}\n"] }]
1673
+ ], template: "@if (showSave || create) {\n <button\n mat-button\n type=\"submit\"\n color=\"primary\"\n [name]=\"name\">\n {{ create ? 'Create' : 'Save' }}\n </button>\n <button\n mat-button\n type=\"button\"\n class=\"cancel-button\"\n [disabled]=\"close && !dirty && !create\"\n [mat-dialog-close]=\"null\">\n Cancel\n </button>\n}\n@if (showDone) {\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"null\">\n Done\n </button>\n}\n@if (showSave || create) {\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n}\n@if (close) {\n <button\n mat-button\n type=\"button\"\n class=\"close-button\"\n fsFormDialogClose\n [closeData]=\"closeData\"\n [color]=\"dirty ? 'basic' : 'primary'\">\n Close\n </button>\n}\n@if (!(showSave || create)) {\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: ["@charset \"UTF-8\";@media (max-width: 599px){h1[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"]{margin-top:0}}@media (max-width: 1023px){h1[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"]{margin-top:0}}@media (max-width: 1439px){h1[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"]{margin-top:0}}div[class*=fs-delimit]:not([class*=\".middot\"])>:not(:last-child):after{content:\",\\a0\"}div[class*=fs-delimit][class*=\".middot\"]>:not(:last-child):after{content:\"\\a0\\b7\\a0\"}div[class*=fs-delimit]>*{display:inline-flex}:host{display:block;width:100%}:host.save-create .close-button{float:right}@media (max-width: 599px){:host{display:flex;flex-direction:column;flex-wrap:nowrap}:host ::ng-deep button,:host ::ng-deep .mat-button,:host ::ng-deep .mdc-button,:host ::ng-deep .mat-mdc-button-base{width:100%;margin:0 0 4px;margin-inline:0!important}:host ::ng-deep button:last-child,:host ::ng-deep .mat-button:last-child,:host ::ng-deep .mdc-button:last-child,:host ::ng-deep .mat-mdc-button-base:last-child{margin-bottom:0}}\n"] }]
1613
1674
  }], propDecorators: { save: [{
1614
1675
  type: Input
1615
1676
  }], create: [{
@@ -1624,6 +1685,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
1624
1685
  type: Input
1625
1686
  }] } });
1626
1687
 
1688
+ /**
1689
+ * Brings a tab group into the enclosing form set's unsaved-changes confirm.
1690
+ *
1691
+ * An owner picks up tab groups with `@ContentChildren(MatTabGroup)`, which reaches
1692
+ * through its own projected content - including lazily mounted tab bodies - but
1693
+ * stops at a child component's view. So a tab group declared inside a child
1694
+ * component's own template is invisible to the dialog that contains it, and
1695
+ * switching between those tabs never prompts even though switching the outer ones
1696
+ * does. That is not a shape worth avoiding: a dialog whose Profile tab is its own
1697
+ * component, with its own tabs inside, is the normal way to keep a large dialog
1698
+ * readable.
1699
+ *
1700
+ * DI does cross the boundary a content query cannot, so put this on the nested
1701
+ * group and it registers itself with the owner above it:
1702
+ *
1703
+ * <mat-tab-group fsFormConfirmTabs [(selected)]="tab">
1704
+ *
1705
+ * Confirming stays gated on the owner's `confirm` and `confirmTabs` inputs, so
1706
+ * this only opts the group in - it never forces a prompt on.
1707
+ */
1708
+ class FsFormConfirmTabsDirective {
1709
+ _tabGroup = inject(MatTabGroup, { self: true });
1710
+ _dialogRef = inject(MatDialogRef, { optional: true });
1711
+ _container = this._ownDialogOnly(inject(FsFormContainerDirective, { optional: true }));
1712
+ _form = this._ownDialogOnly(inject(FsFormDirective, { optional: true }));
1713
+ ngOnInit() {
1714
+ const owner = this._container || this._form?.rootForm;
1715
+ owner?.registerTabGroup(this._tabGroup);
1716
+ }
1717
+ _ownDialogOnly(owner) {
1718
+ return withinSameDialog(owner, this._dialogRef) ? owner : null;
1719
+ }
1720
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormConfirmTabsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1721
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsFormConfirmTabsDirective, isStandalone: true, selector: "mat-tab-group[fsFormConfirmTabs]", ngImport: i0 });
1722
+ }
1723
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormConfirmTabsDirective, decorators: [{
1724
+ type: Directive,
1725
+ args: [{
1726
+ selector: 'mat-tab-group[fsFormConfirmTabs]',
1727
+ standalone: true,
1728
+ }]
1729
+ }] });
1730
+
1627
1731
  const ERROR_MESSAGES = {
1628
1732
  required: 'This field is required',
1629
1733
  email: 'This is not a valid email address',
@@ -2908,7 +3012,8 @@ class FsFormModule {
2908
3012
  FsFormTemplateDirective,
2909
3013
  FsFormTemplateDirective,
2910
3014
  FsFormTemplateOutletDirective,
2911
- FsFormContainerDirective], exports: [FsFormDirective,
3015
+ FsFormContainerDirective,
3016
+ FsFormConfirmTabsDirective], exports: [FsFormDirective,
2912
3017
  FsControlDirective,
2913
3018
  FsFormRequiredDirective,
2914
3019
  FsFormMinDirective,
@@ -2938,7 +3043,8 @@ class FsFormModule {
2938
3043
  FsFormTemplateDirective,
2939
3044
  FsFormTemplateDirective,
2940
3045
  FsFormTemplateOutletDirective,
2941
- FsFormContainerDirective] });
3046
+ FsFormContainerDirective,
3047
+ FsFormConfirmTabsDirective] });
2942
3048
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormModule, providers: [
2943
3049
  {
2944
3050
  provide: ErrorStateMatcher,
@@ -2993,6 +3099,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
2993
3099
  FsFormTemplateDirective,
2994
3100
  FsFormTemplateOutletDirective,
2995
3101
  FsFormContainerDirective,
3102
+ FsFormConfirmTabsDirective,
2996
3103
  ],
2997
3104
  exports: [
2998
3105
  FsFormDirective,
@@ -3026,6 +3133,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
3026
3133
  FsFormTemplateDirective,
3027
3134
  FsFormTemplateOutletDirective,
3028
3135
  FsFormContainerDirective,
3136
+ FsFormConfirmTabsDirective,
3029
3137
  ],
3030
3138
  providers: [
3031
3139
  {
@@ -3042,5 +3150,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
3042
3150
  * Generated bundle index. Do not edit.
3043
3151
  */
3044
3152
 
3045
- export { ConfirmResult, FormDeactivateGuard, FormStatus, FsButtonDirective, FsControlDirective, FsForm, FsFormCompareDirective, FsFormContainerDirective, FsFormDateRangeDirective, FsFormDialogActionsComponent, FsFormDialogCloseDirective, FsFormDirective, FsFormEmailDirective, FsFormEmailsDirective, FsFormFunctionDirective, FsFormGreaterDirective, FsFormGreaterEqualDirective, FsFormIntegerDirective, FsFormLesserDirective, FsFormLesserEqualDirective, FsFormMaxDirective, FsFormMaxLengthDirective, FsFormMinDirective, FsFormMinLengthDirective, FsFormModule, FsFormNoFsValidatorsDirective, FsFormNumericDirective, FsFormPatternDirective, FsFormPhoneDirective, FsFormRequiredDirective, FsFormTemplateDirective, FsFormTemplateOutletDirective, FsFormUrlDirective, FsFormValidateDirective, FsSubmitButtonDirective, FsValidators };
3153
+ export { ConfirmResult, FormDeactivateGuard, FormStatus, FsButtonDirective, FsControlDirective, FsForm, FsFormCompareDirective, FsFormConfirmTabsDirective, FsFormContainerDirective, FsFormDateRangeDirective, FsFormDialogActionsComponent, FsFormDialogCloseDirective, FsFormDirective, FsFormEmailDirective, FsFormEmailsDirective, FsFormFunctionDirective, FsFormGreaterDirective, FsFormGreaterEqualDirective, FsFormIntegerDirective, FsFormLesserDirective, FsFormLesserEqualDirective, FsFormMaxDirective, FsFormMaxLengthDirective, FsFormMinDirective, FsFormMinLengthDirective, FsFormModule, FsFormNoFsValidatorsDirective, FsFormNumericDirective, FsFormPatternDirective, FsFormPhoneDirective, FsFormRequiredDirective, FsFormTemplateDirective, FsFormTemplateOutletDirective, FsFormUrlDirective, FsFormValidateDirective, FsSubmitButtonDirective, FsValidators };
3046
3154
  //# sourceMappingURL=firestitch-form.mjs.map