mstate-angular 0.4.7 → 0.4.8

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.
@@ -139,7 +139,7 @@ export class ActionFormComponent {
139
139
  this.form = this.fb.group(validators);
140
140
  }
141
141
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.MstateAngularService }, { token: i3.MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
142
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ActionFormComponent, isStandalone: true, selector: "lib-action-form", inputs: { token: "token", workflow: "workflow", config: "config", updateCustomFieldValue: "updateCustomFieldValue", authHeader: "authHeader", instanceID: "instanceID" }, outputs: { onExecuteAction: "onExecuteAction", onSuccess: "onSuccess" }, providers: [MstateAngularService, MstateAngularHelper], usesOnChanges: true, ngImport: i0, template: "<div>\n <p style=\"font-size: 2rem; text-align: center\">\n {{ config.meta?.title ?? config.name }}\n </p>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\n @for (step of config.steps; track $index) {\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\n }\n\n <div style=\"margin-top: 10px\">\n <mobi-office-button type=\"submit\">\n @if (isLoading) {\n <div style=\"width: 25px\">\n <mobi-office-loader></mobi-office-loader>\n </div>\n } @else {\n Submit\n }\n </mobi-office-button>\n </div>\n </form>\n</div>\n", styles: ["form{display:flex;flex-direction:column;gap:4px;width:100%}label{margin-bottom:5px;font-size:.8125rem;font-weight:500;color:#a0a0a0;letter-spacing:.02em;text-transform:uppercase}p[style*=\"font-size: 2rem\"]{font-size:1.4rem!important;font-weight:600;color:#f0f0f0;text-align:center;padding:0 0 16px;margin:0;border-bottom:1px solid #2e2e2e;letter-spacing:-.01em}\n"], dependencies: [{ kind: "component", type: InputSelectorComponent, selector: "mobi-office-input-selector", inputs: ["step", "mstateModel"] }, { kind: "component", type: ButtonComponent, selector: "mobi-office-button", inputs: ["type", "onClick"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: LoaderComponent, selector: "mobi-office-loader" }] }); }
142
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ActionFormComponent, isStandalone: true, selector: "lib-action-form", inputs: { token: "token", workflow: "workflow", config: "config", updateCustomFieldValue: "updateCustomFieldValue", authHeader: "authHeader", instanceID: "instanceID" }, outputs: { onExecuteAction: "onExecuteAction", onSuccess: "onSuccess" }, providers: [MstateAngularService, MstateAngularHelper], usesOnChanges: true, ngImport: i0, template: "<div class=\"ms-form-card\">\n <p class=\"ms-form-title\">{{ config.meta?.title ?? config.name }}</p>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\n <div class=\"ms-fields\">\n @for (step of config.steps; track $index) {\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\n }\n </div>\n\n <div class=\"ms-form-footer\">\n <mobi-office-button type=\"submit\" [class.is-loading]=\"isLoading\">\n @if (isLoading) {\n <span class=\"btn-spinner\"></span>\n <span>Submitting\u2026</span>\n } @else {\n <span class=\"btn-icon\">\u2713</span>\n <span>Submit</span>\n }\n </mobi-office-button>\n </div>\n </form>\n</div>\n", styles: [".ms-form-card{background:linear-gradient(160deg,#1a1a1a,#141414);border:1px solid #252525;border-radius:16px;padding:28px 28px 24px;box-shadow:0 8px 32px #00000073,inset 0 1px #ffffff0a;animation:ms-fade-in .35s ease}@keyframes ms-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ms-form-title{margin:0 0 24px;font-size:1.25rem;font-weight:700;color:#f0f0f0;letter-spacing:-.02em;text-align:center;padding-bottom:18px;border-bottom:1px solid #252525;position:relative}.ms-form-title:after{content:\"\";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:48px;height:2px;border-radius:2px;background:linear-gradient(90deg,#4f6ef7,#7c9bff)}.ms-fields{display:flex;flex-direction:column;gap:2px}.ms-form-footer{margin-top:24px;padding-top:18px;border-top:1px solid #252525}form{display:flex;flex-direction:column}label{margin-bottom:5px;font-size:.8125rem;font-weight:500;color:#a0a0a0;letter-spacing:.03em;text-transform:uppercase}:host ::ng-deep .btn-icon{font-size:1rem;line-height:1}\n"], dependencies: [{ kind: "component", type: InputSelectorComponent, selector: "mobi-office-input-selector", inputs: ["step", "mstateModel"] }, { kind: "component", type: ButtonComponent, selector: "mobi-office-button", inputs: ["type", "onClick"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] }); }
143
143
  }
144
144
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, decorators: [{
145
145
  type: Component,
@@ -148,7 +148,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
148
148
  ButtonComponent,
149
149
  ReactiveFormsModule,
150
150
  LoaderComponent,
151
- ], providers: [MstateAngularService, MstateAngularHelper], template: "<div>\n <p style=\"font-size: 2rem; text-align: center\">\n {{ config.meta?.title ?? config.name }}\n </p>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\n @for (step of config.steps; track $index) {\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\n }\n\n <div style=\"margin-top: 10px\">\n <mobi-office-button type=\"submit\">\n @if (isLoading) {\n <div style=\"width: 25px\">\n <mobi-office-loader></mobi-office-loader>\n </div>\n } @else {\n Submit\n }\n </mobi-office-button>\n </div>\n </form>\n</div>\n", styles: ["form{display:flex;flex-direction:column;gap:4px;width:100%}label{margin-bottom:5px;font-size:.8125rem;font-weight:500;color:#a0a0a0;letter-spacing:.02em;text-transform:uppercase}p[style*=\"font-size: 2rem\"]{font-size:1.4rem!important;font-weight:600;color:#f0f0f0;text-align:center;padding:0 0 16px;margin:0;border-bottom:1px solid #2e2e2e;letter-spacing:-.01em}\n"] }]
151
+ ], providers: [MstateAngularService, MstateAngularHelper], template: "<div class=\"ms-form-card\">\n <p class=\"ms-form-title\">{{ config.meta?.title ?? config.name }}</p>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\n <div class=\"ms-fields\">\n @for (step of config.steps; track $index) {\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\n }\n </div>\n\n <div class=\"ms-form-footer\">\n <mobi-office-button type=\"submit\" [class.is-loading]=\"isLoading\">\n @if (isLoading) {\n <span class=\"btn-spinner\"></span>\n <span>Submitting\u2026</span>\n } @else {\n <span class=\"btn-icon\">\u2713</span>\n <span>Submit</span>\n }\n </mobi-office-button>\n </div>\n </form>\n</div>\n", styles: [".ms-form-card{background:linear-gradient(160deg,#1a1a1a,#141414);border:1px solid #252525;border-radius:16px;padding:28px 28px 24px;box-shadow:0 8px 32px #00000073,inset 0 1px #ffffff0a;animation:ms-fade-in .35s ease}@keyframes ms-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ms-form-title{margin:0 0 24px;font-size:1.25rem;font-weight:700;color:#f0f0f0;letter-spacing:-.02em;text-align:center;padding-bottom:18px;border-bottom:1px solid #252525;position:relative}.ms-form-title:after{content:\"\";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:48px;height:2px;border-radius:2px;background:linear-gradient(90deg,#4f6ef7,#7c9bff)}.ms-fields{display:flex;flex-direction:column;gap:2px}.ms-form-footer{margin-top:24px;padding-top:18px;border-top:1px solid #252525}form{display:flex;flex-direction:column}label{margin-bottom:5px;font-size:.8125rem;font-weight:500;color:#a0a0a0;letter-spacing:.03em;text-transform:uppercase}:host ::ng-deep .btn-icon{font-size:1rem;line-height:1}\n"] }]
152
152
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.MstateAngularService }, { type: i3.MstateAngularHelper }], propDecorators: { token: [{
153
153
  type: Input,
154
154
  args: [{ required: true }]
@@ -169,4 +169,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
169
169
  }], onSuccess: [{
170
170
  type: Output
171
171
  }] } });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tZm9ybS9hY3Rpb24tZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2FjdGlvbi1mb3JtL2FjdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEdBR2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU90RCxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFHTCxtQkFBbUIsRUFDbkIsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQWV4RSxNQUFNLE9BQU8sbUJBQW1CO0lBeUI5QixZQUNVLEVBQWUsRUFDZixvQkFBMEMsRUFDMUMsWUFBaUM7UUFGakMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBM0JoQixVQUFLLEdBQVcsRUFB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RSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLFFBQVE7c0JBQWxDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtmLGVBQWU7c0JBQXhCLE1BQU07Z0JBSUUsc0JBQXNCO3NCQUE5QixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNc3RhdGVBbmd1bGFyU2VydmljZSB9IGZyb20gJy4uL21zdGF0ZS1hbmd1bGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBBY3Rpb25Db25maWcsXG4gIE9uU3VjY2Vzc1Jlc3BvbnNlLFxuICBVc2VySW5wdXQsXG59IGZyb20gJy4uL2ludGVyZmFjZXMvaW50ZXJmYWNlJztcbmltcG9ydCB7IEV2YWx1YXRlZEFjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXBpLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBY3Rpb25UeXBlLCBNYW51YWxTdGVwTW9kdWxlIH0gZnJvbSAnLi4vY29tbW9uL2VudW0nO1xuaW1wb3J0IHsgSW5wdXRTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LXNlbGVjdG9yL2lucHV0LXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEZvcm1CdWlsZGVyLFxuICBGb3JtR3JvdXAsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1zdGF0ZUFuZ3VsYXJIZWxwZXIgfSBmcm9tICcuLi9tc3RhdGUtYW5ndWxhci5oZWxwZXInO1xuaW1wb3J0IHsgTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hY3Rpb24tZm9ybScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBJbnB1dFNlbGVjdG9yQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIExvYWRlckNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbTXN0YXRlQW5ndWxhclNlcnZpY2UsIE1zdGF0ZUFuZ3VsYXJIZWxwZXJdLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYWN0aW9uLWZvcm0uY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25Gb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdG9rZW46IHN0cmluZyA9ICcnO1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB3b3JrZmxvdzogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbmZpZzogQWN0aW9uQ29uZmlnIHwgRXZhbHVhdGVkQWN0aW9uID0ge1xuICAgIG5hbWU6ICcnLFxuICAgIHR5cGU6IEFjdGlvblR5cGUuTUFOVUFMLFxuICAgIHN0ZXBzOiBbXSxcbiAgfTtcbiAgQE91dHB1dCgpIG9uRXhlY3V0ZUFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgIHZhbHVlOiBhbnk7XG4gICAgZXJyb3JzPzogc3RyaW5nW107XG4gIH0+KCk7XG4gIEBJbnB1dCgpIHVwZGF0ZUN1c3RvbUZpZWxkVmFsdWU/OiAoa2V5OiBzdHJpbmcpID0+IGFueSA9ICgpID0+IHt9O1xuXG4gIEBJbnB1dCgpIGF1dGhIZWFkZXI/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIEBJbnB1dCgpIGluc3RhbmNlSUQ/OiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBvblN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPE9uU3VjY2Vzc1Jlc3BvbnNlPigpO1xuXG4gIC8vI3JlZ2lvbiBDdXN0b20gRGVjbGFyYXRpb25cbiAgcHJvdGVjdGVkIGZvcm0hOiBGb3JtR3JvdXA7XG4gIHByb3RlY3RlZCBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIG5vblVzZXJJbnB1dEZpZWxkOiBhbnkgPSB7fTtcbiAgcHJvdGVjdGVkIGN1c3RvbUtleXM6IHsga2V5OiBzdHJpbmc7IGFzOiBzdHJpbmcgfVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBtc3RhdGVBbmd1bGFyU2VydmljZTogTXN0YXRlQW5ndWxhclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtc3RhdGVIZWxwZXI6IE1zdGF0ZUFuZ3VsYXJIZWxwZXIsXG4gICkge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe30pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydjb25maWcnXSkge1xuICAgICAgaWYgKEJvb2xlYW4odGhpcy5jb25maWc/LnN0ZXBzPy5sZW5ndGgpID09PSBmYWxzZSkge1xuICAgICAgICB0aGlzLmhhbmRsZUV4ZWN1dGVBY3Rpb24odHJ1ZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5hc3NpZ25Gb3JtQnVpbGRlcigpO1xuICAgICAgdGhpcy5oYW5kbGVTdGVwQ29uZmlnRmlsdGVyKCk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5jb25maWc/LnN0ZXBzPy5zb21lKFxuICAgICAgICAgIChkKSA9PiBkLm1vZHVsZSA9PT0gTWFudWFsU3RlcE1vZHVsZS5VU0VSX0lOUFVULFxuICAgICAgICApID09PSBmYWxzZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlRXhlY3V0ZUFjdGlvbih0cnVlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vI3JlZ2lvbiBoYW5kbGVyc1xuXG4gIHByb3RlY3RlZCBoYW5kbGVFeGVjdXRlQWN0aW9uKHNraXBWYWxpZGF0aW9uOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBpZiAoc2tpcFZhbGlkYXRpb24gfHwgKHRoaXM/LmZvcm0gJiYgdGhpcy5mb3JtLnN0YXR1cyA9PT0gJ1ZBTElEJykpIHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgbGV0IGN1c3RvbUNvbmZpZzogYW55ID0ge307XG4gICAgICBpZiAodGhpcy51cGRhdGVDdXN0b21GaWVsZFZhbHVlKSB7XG4gICAgICAgIGZvciAoY29uc3QgeyBrZXksIGFzIH0gb2YgdGhpcy5jdXN0b21LZXlzKSB7XG4gICAgICAgICAgY3VzdG9tQ29uZmlnW2FzXSA9IHRoaXMudXBkYXRlQ3VzdG9tRmllbGRWYWx1ZShrZXkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMubXN0YXRlQW5ndWxhclNlcnZpY2VcbiAgICAgICAgLmV4ZWN1dGVBY3Rpb24oe1xuICAgICAgICAgIGluc3RhbmNlSUQ6IHRoaXMuaW5zdGFuY2VJRCxcbiAgICAgICAgICBhY3Rpb246IHtcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuY29uZmlnLm5hbWUsXG4gICAgICAgICAgICBwYXlsb2FkOiBPYmplY3QuYXNzaWduKFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4uKHRoaXM/LmZvcm0/LnZhbHVlID8/IHt9KSxcbiAgICAgICAgICAgICAgICAuLi50aGlzLm5vblVzZXJJbnB1dEZpZWxkLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBjdXN0b21Db25maWcsXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaGVhZGVyczogdGhpcy5hdXRoSGVhZGVyLFxuICAgICAgICAgIHRva2VuOiB0aGlzLnRva2VuLFxuICAgICAgICAgIHdvcmtmbG93OiB0aGlzLndvcmtmbG93LFxuICAgICAgICB9KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBjYXRjaEVycm9yKChlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uRXhlY3V0ZUFjdGlvbi5lbWl0KHtcbiAgICAgICAgICAgICAgdmFsdWU6IHt9LFxuICAgICAgICAgICAgICBlcnJvcnM6IGUuZXJyb3I/LmVycm9ycyA/PyBbXSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgIH0pIGFzIGFueSxcbiAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5jdXN0b21LZXlzID0gW107XG4gICAgICAgICAgfSkgYXMgYW55LFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICB0aGlzLm9uRXhlY3V0ZUFjdGlvbi5lbWl0KHtcbiAgICAgICAgICAgICAgdmFsdWU6IGRhdGEuZGF0YSxcbiAgICAgICAgICAgICAgZXJyb3JzOiBbXSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHRoaXMub25TdWNjZXNzKSB7XG4gICAgICAgICAgICAgIHRoaXMub25TdWNjZXNzLmVtaXQoXG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihkYXRhLmRhdGEsIHtcbiAgICAgICAgICAgICAgICAgIGFjdGlvblBlcmZvcm1lZDogdGhpcy5jb25maWcubmFtZSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5mb3JtKSB0aGlzLm1hcmtBbGxBc1RvdWNoZWQodGhpcy5mb3JtKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBtYXJrQWxsQXNUb3VjaGVkKGZvcm1Hcm91cDogRm9ybUdyb3VwKTogdm9pZCB7XG4gICAgT2JqZWN0LmtleXMoZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KGtleSk7XG4gICAgICBpZiAoY29udHJvbD8ubWFya0FzVG91Y2hlZCkge1xuICAgICAgICBjb250cm9sPy5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVN0ZXBDb25maWdGaWx0ZXIgPSAoKSA9PiB7XG4gICAgY29uc3Qga2V5Rm9yQVBJU2V0ID0gbmV3IFNldCgpO1xuXG4gICAgdGhpcy5jb25maWcuc3RlcHMgPSB0aGlzLmNvbmZpZz8uc3RlcHM/LmZpbHRlcigoc3RlcENvbmZpZykgPT4ge1xuICAgICAgY29uc3Qgc3RlcCA9IHN0ZXBDb25maWcgYXMgVXNlcklucHV0O1xuXG4gICAgICBzd2l0Y2ggKHN0ZXA/Lm1vZHVsZSkge1xuICAgICAgICBjYXNlIE1hbnVhbFN0ZXBNb2R1bGUuQ1VTVE9NX0ZJRUxEOiB7XG4gICAgICAgICAgdGhpcy5jdXN0b21LZXlzLnB1c2goc3RlcD8uY29udGV4dCk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlIE1hbnVhbFN0ZXBNb2R1bGUuQ09OVEVYVF9GSUVMRDpcbiAgICAgICAgICB0aGlzLm5vblVzZXJJbnB1dEZpZWxkW3N0ZXA/LmNvbnRleHQ/LmFzXSA9IHN0ZXA/LmNvbnRleHQ/LnZhbHVlO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICBjb25zdCBpc0R1cGxpY2F0ZSA9IGtleUZvckFQSVNldC5oYXMoc3RlcD8uZmllbGQ/LmtleUZvckFQSSk7XG4gICAgICAgICAga2V5Rm9yQVBJU2V0LmFkZChzdGVwPy5maWVsZD8ua2V5Rm9yQVBJKTtcbiAgICAgICAgICByZXR1cm4gaXNEdXBsaWNhdGUgPT09IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkgYXMgVXNlcklucHV0W107XG4gIH07XG5cbiAgcHJpdmF0ZSBhc3NpZ25Gb3JtQnVpbGRlcigpIHtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gdGhpcy5jb25maWcuc3RlcHMucmVkdWNlKFxuICAgICAgKGFjYywgZGF0YSkgPT5cbiAgICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICBhY2MsXG4gICAgICAgICAgdGhpcy5tc3RhdGVIZWxwZXIuY2hlY2tJc1N0ZXAoZGF0YSkgPT09IGZhbHNlICYmXG4gICAgICAgICAgICB0aGlzLm1zdGF0ZUhlbHBlci5jaGVja0lzSGFuZGxlZFN0ZXAoZGF0YS5maWVsZFR5cGUpXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBbZGF0YT8uZmllbGQ/LmtleUZvckFQSV06IFtcbiAgICAgICAgICAgICAgICAgIGRhdGE/LmZpZWxkLm11bHRpcGxlID8gW10gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgZGF0YT8uZmllbGQ/LmlzUmVxdWlyZWQgPyBbVmFsaWRhdG9ycy5yZXF1aXJlZF0gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB7fSxcbiAgICAgICAgKSxcbiAgICAgIHt9LFxuICAgICk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh2YWxpZGF0b3JzKTtcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxufVxuIiwiPGRpdj5cbiAgPHAgc3R5bGU9XCJmb250LXNpemU6IDJyZW07IHRleHQtYWxpZ246IGNlbnRlclwiPlxuICAgIHt7IGNvbmZpZy5tZXRhPy50aXRsZSA/PyBjb25maWcubmFtZSB9fVxuICA8L3A+XG5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cImhhbmRsZUV4ZWN1dGVBY3Rpb24oKVwiPlxuICAgIEBmb3IgKHN0ZXAgb2YgY29uZmlnLnN0ZXBzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIDxtb2JpLW9mZmljZS1pbnB1dC1zZWxlY3RvciBbc3RlcF09XCJzdGVwXCIgW21zdGF0ZU1vZGVsXT1cImZvcm1cIiAvPlxuICAgIH1cblxuICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHB4XCI+XG4gICAgICA8bW9iaS1vZmZpY2UtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIj5cbiAgICAgICAgQGlmIChpc0xvYWRpbmcpIHtcbiAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDI1cHhcIj5cbiAgICAgICAgICAgIDxtb2JpLW9mZmljZS1sb2FkZXI+PC9tb2JpLW9mZmljZS1sb2FkZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIFN1Ym1pdFxuICAgICAgICB9XG4gICAgICA8L21vYmktb2ZmaWNlLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9kaXY+XG4iXX0=
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tZm9ybS9hY3Rpb24tZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2FjdGlvbi1mb3JtL2FjdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEdBR2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU90RCxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFHTCxtQkFBbUIsRUFDbkIsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQWV4RSxNQUFNLE9BQU8sbUJBQW1CO0lBeUI5QixZQUNVLEVBQWUsRUFDZixvQkFBMEMsRUFDMUMsWUFBaUM7UUFGakMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBM0JoQixVQUFLLEdBQVcsRUFB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LElBQUksRUFBRTtnQkFDRSxRQUFRO3NCQUFsQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLZixlQUFlO3NCQUF4QixNQUFNO2dCQUlFLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTXN0YXRlQW5ndWxhclNlcnZpY2UgfSBmcm9tICcuLi9tc3RhdGUtYW5ndWxhci5zZXJ2aWNlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQWN0aW9uQ29uZmlnLFxuICBPblN1Y2Nlc3NSZXNwb25zZSxcbiAgVXNlcklucHV0LFxufSBmcm9tICcuLi9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBFdmFsdWF0ZWRBY3Rpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2FwaS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQWN0aW9uVHlwZSwgTWFudWFsU3RlcE1vZHVsZSB9IGZyb20gJy4uL2NvbW1vbi9lbnVtJztcbmltcG9ydCB7IElucHV0U2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1zZWxlY3Rvci9pbnB1dC1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBGb3JtQnVpbGRlcixcbiAgRm9ybUdyb3VwLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNc3RhdGVBbmd1bGFySGVscGVyIH0gZnJvbSAnLi4vbXN0YXRlLWFuZ3VsYXIuaGVscGVyJztcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvbG9hZGVyL2xvYWRlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYWN0aW9uLWZvcm0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgSW5wdXRTZWxlY3RvckNvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBMb2FkZXJDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW01zdGF0ZUFuZ3VsYXJTZXJ2aWNlLCBNc3RhdGVBbmd1bGFySGVscGVyXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2FjdGlvbi1mb3JtLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHRva2VuOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgd29ya2Zsb3c6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb25maWc6IEFjdGlvbkNvbmZpZyB8IEV2YWx1YXRlZEFjdGlvbiA9IHtcbiAgICBuYW1lOiAnJyxcbiAgICB0eXBlOiBBY3Rpb25UeXBlLk1BTlVBTCxcbiAgICBzdGVwczogW10sXG4gIH07XG4gIEBPdXRwdXQoKSBvbkV4ZWN1dGVBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICB2YWx1ZTogYW55O1xuICAgIGVycm9ycz86IHN0cmluZ1tdO1xuICB9PigpO1xuICBASW5wdXQoKSB1cGRhdGVDdXN0b21GaWVsZFZhbHVlPzogKGtleTogc3RyaW5nKSA9PiBhbnkgPSAoKSA9PiB7fTtcblxuICBASW5wdXQoKSBhdXRoSGVhZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICBASW5wdXQoKSBpbnN0YW5jZUlEPzogc3RyaW5nO1xuICBAT3V0cHV0KCkgb25TdWNjZXNzID0gbmV3IEV2ZW50RW1pdHRlcjxPblN1Y2Nlc3NSZXNwb25zZT4oKTtcblxuICAvLyNyZWdpb24gQ3VzdG9tIERlY2xhcmF0aW9uXG4gIHByb3RlY3RlZCBmb3JtITogRm9ybUdyb3VwO1xuICBwcm90ZWN0ZWQgaXNMb2FkaW5nID0gZmFsc2U7XG4gIHByb3RlY3RlZCBub25Vc2VySW5wdXRGaWVsZDogYW55ID0ge307XG4gIHByb3RlY3RlZCBjdXN0b21LZXlzOiB7IGtleTogc3RyaW5nOyBhczogc3RyaW5nIH1bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgbXN0YXRlQW5ndWxhclNlcnZpY2U6IE1zdGF0ZUFuZ3VsYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbXN0YXRlSGVscGVyOiBNc3RhdGVBbmd1bGFySGVscGVyLFxuICApIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHt9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snY29uZmlnJ10pIHtcbiAgICAgIGlmIChCb29sZWFuKHRoaXMuY29uZmlnPy5zdGVwcz8ubGVuZ3RoKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVFeGVjdXRlQWN0aW9uKHRydWUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYXNzaWduRm9ybUJ1aWxkZXIoKTtcbiAgICAgIHRoaXMuaGFuZGxlU3RlcENvbmZpZ0ZpbHRlcigpO1xuXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuY29uZmlnPy5zdGVwcz8uc29tZShcbiAgICAgICAgICAoZCkgPT4gZC5tb2R1bGUgPT09IE1hbnVhbFN0ZXBNb2R1bGUuVVNFUl9JTlBVVCxcbiAgICAgICAgKSA9PT0gZmFsc2VcbiAgICAgICkge1xuICAgICAgICB0aGlzLmhhbmRsZUV4ZWN1dGVBY3Rpb24odHJ1ZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyNyZWdpb24gaGFuZGxlcnNcblxuICBwcm90ZWN0ZWQgaGFuZGxlRXhlY3V0ZUFjdGlvbihza2lwVmFsaWRhdGlvbjogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgaWYgKHNraXBWYWxpZGF0aW9uIHx8ICh0aGlzPy5mb3JtICYmIHRoaXMuZm9ybS5zdGF0dXMgPT09ICdWQUxJRCcpKSB7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG5cbiAgICAgIGxldCBjdXN0b21Db25maWc6IGFueSA9IHt9O1xuICAgICAgaWYgKHRoaXMudXBkYXRlQ3VzdG9tRmllbGRWYWx1ZSkge1xuICAgICAgICBmb3IgKGNvbnN0IHsga2V5LCBhcyB9IG9mIHRoaXMuY3VzdG9tS2V5cykge1xuICAgICAgICAgIGN1c3RvbUNvbmZpZ1thc10gPSB0aGlzLnVwZGF0ZUN1c3RvbUZpZWxkVmFsdWUoa2V5KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLm1zdGF0ZUFuZ3VsYXJTZXJ2aWNlXG4gICAgICAgIC5leGVjdXRlQWN0aW9uKHtcbiAgICAgICAgICBpbnN0YW5jZUlEOiB0aGlzLmluc3RhbmNlSUQsXG4gICAgICAgICAgYWN0aW9uOiB7XG4gICAgICAgICAgICBuYW1lOiB0aGlzLmNvbmZpZy5uYW1lLFxuICAgICAgICAgICAgcGF5bG9hZDogT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLih0aGlzPy5mb3JtPy52YWx1ZSA/PyB7fSksXG4gICAgICAgICAgICAgICAgLi4udGhpcy5ub25Vc2VySW5wdXRGaWVsZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgY3VzdG9tQ29uZmlnLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGhlYWRlcnM6IHRoaXMuYXV0aEhlYWRlcixcbiAgICAgICAgICB0b2tlbjogdGhpcy50b2tlbixcbiAgICAgICAgICB3b3JrZmxvdzogdGhpcy53b3JrZmxvdyxcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkV4ZWN1dGVBY3Rpb24uZW1pdCh7XG4gICAgICAgICAgICAgIHZhbHVlOiB7fSxcbiAgICAgICAgICAgICAgZXJyb3JzOiBlLmVycm9yPy5lcnJvcnMgPz8gW10sXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgICB9KSBhcyBhbnksXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tS2V5cyA9IFtdO1xuICAgICAgICAgIH0pIGFzIGFueSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgdGhpcy5vbkV4ZWN1dGVBY3Rpb24uZW1pdCh7XG4gICAgICAgICAgICAgIHZhbHVlOiBkYXRhLmRhdGEsXG4gICAgICAgICAgICAgIGVycm9yczogW10sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICh0aGlzLm9uU3VjY2Vzcykge1xuICAgICAgICAgICAgICB0aGlzLm9uU3VjY2Vzcy5lbWl0KFxuICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oZGF0YS5kYXRhLCB7XG4gICAgICAgICAgICAgICAgICBhY3Rpb25QZXJmb3JtZWQ6IHRoaXMuY29uZmlnLm5hbWUsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuZm9ybSkgdGhpcy5tYXJrQWxsQXNUb3VjaGVkKHRoaXMuZm9ybSk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgbWFya0FsbEFzVG91Y2hlZChmb3JtR3JvdXA6IEZvcm1Hcm91cCk6IHZvaWQge1xuICAgIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChrZXkpO1xuICAgICAgaWYgKGNvbnRyb2w/Lm1hcmtBc1RvdWNoZWQpIHtcbiAgICAgICAgY29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTdGVwQ29uZmlnRmlsdGVyID0gKCkgPT4ge1xuICAgIGNvbnN0IGtleUZvckFQSVNldCA9IG5ldyBTZXQoKTtcblxuICAgIHRoaXMuY29uZmlnLnN0ZXBzID0gdGhpcy5jb25maWc/LnN0ZXBzPy5maWx0ZXIoKHN0ZXBDb25maWcpID0+IHtcbiAgICAgIGNvbnN0IHN0ZXAgPSBzdGVwQ29uZmlnIGFzIFVzZXJJbnB1dDtcblxuICAgICAgc3dpdGNoIChzdGVwPy5tb2R1bGUpIHtcbiAgICAgICAgY2FzZSBNYW51YWxTdGVwTW9kdWxlLkNVU1RPTV9GSUVMRDoge1xuICAgICAgICAgIHRoaXMuY3VzdG9tS2V5cy5wdXNoKHN0ZXA/LmNvbnRleHQpO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBNYW51YWxTdGVwTW9kdWxlLkNPTlRFWFRfRklFTEQ6XG4gICAgICAgICAgdGhpcy5ub25Vc2VySW5wdXRGaWVsZFtzdGVwPy5jb250ZXh0Py5hc10gPSBzdGVwPy5jb250ZXh0Py52YWx1ZTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcblxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgY29uc3QgaXNEdXBsaWNhdGUgPSBrZXlGb3JBUElTZXQuaGFzKHN0ZXA/LmZpZWxkPy5rZXlGb3JBUEkpO1xuICAgICAgICAgIGtleUZvckFQSVNldC5hZGQoc3RlcD8uZmllbGQ/LmtleUZvckFQSSk7XG4gICAgICAgICAgcmV0dXJuIGlzRHVwbGljYXRlID09PSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pIGFzIFVzZXJJbnB1dFtdO1xuICB9O1xuXG4gIHByaXZhdGUgYXNzaWduRm9ybUJ1aWxkZXIoKSB7XG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IHRoaXMuY29uZmlnLnN0ZXBzLnJlZHVjZShcbiAgICAgIChhY2MsIGRhdGEpID0+XG4gICAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgYWNjLFxuICAgICAgICAgIHRoaXMubXN0YXRlSGVscGVyLmNoZWNrSXNTdGVwKGRhdGEpID09PSBmYWxzZSAmJlxuICAgICAgICAgICAgdGhpcy5tc3RhdGVIZWxwZXIuY2hlY2tJc0hhbmRsZWRTdGVwKGRhdGEuZmllbGRUeXBlKVxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgW2RhdGE/LmZpZWxkPy5rZXlGb3JBUEldOiBbXG4gICAgICAgICAgICAgICAgICBkYXRhPy5maWVsZC5tdWx0aXBsZSA/IFtdIDogbnVsbCxcbiAgICAgICAgICAgICAgICAgIGRhdGE/LmZpZWxkPy5pc1JlcXVpcmVkID8gW1ZhbGlkYXRvcnMucmVxdWlyZWRdIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDoge30sXG4gICAgICAgICksXG4gICAgICB7fSxcbiAgICApO1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAodmFsaWRhdG9ycyk7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cbn1cbiIsIjxkaXYgY2xhc3M9XCJtcy1mb3JtLWNhcmRcIj5cbiAgPHAgY2xhc3M9XCJtcy1mb3JtLXRpdGxlXCI+e3sgY29uZmlnLm1ldGE/LnRpdGxlID8/IGNvbmZpZy5uYW1lIH19PC9wPlxuXG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJoYW5kbGVFeGVjdXRlQWN0aW9uKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwibXMtZmllbGRzXCI+XG4gICAgICBAZm9yIChzdGVwIG9mIGNvbmZpZy5zdGVwczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxtb2JpLW9mZmljZS1pbnB1dC1zZWxlY3RvciBbc3RlcF09XCJzdGVwXCIgW21zdGF0ZU1vZGVsXT1cImZvcm1cIiAvPlxuICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1zLWZvcm0tZm9vdGVyXCI+XG4gICAgICA8bW9iaS1vZmZpY2UtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBbY2xhc3MuaXMtbG9hZGluZ109XCJpc0xvYWRpbmdcIj5cbiAgICAgICAgQGlmIChpc0xvYWRpbmcpIHtcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImJ0bi1zcGlubmVyXCI+PC9zcGFuPlxuICAgICAgICAgIDxzcGFuPlN1Ym1pdHRpbmfigKY8L3NwYW4+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYnRuLWljb25cIj7inJM8L3NwYW4+XG4gICAgICAgICAgPHNwYW4+U3VibWl0PC9zcGFuPlxuICAgICAgICB9XG4gICAgICA8L21vYmktb2ZmaWNlLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9kaXY+XG4iXX0=
@@ -7,14 +7,14 @@ export class ButtonComponent {
7
7
  this.onClick = () => { };
8
8
  }
9
9
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonComponent, isStandalone: true, selector: "mobi-office-button", inputs: { type: "type", onClick: "onClick" }, ngImport: i0, template: "<button [type]=\"type\" (click)=\"onClick()\" class=\"btn\">\n <ng-content></ng-content>\n</button>\n", styles: ["@charset \"UTF-8\";.btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#4f6ef7,#3a58e0);color:#fff;border:none;padding:11px 24px;font-size:.9375rem;font-weight:600;letter-spacing:.02em;border-radius:8px;text-align:center;cursor:pointer;transition:background .22s ease,box-shadow .22s ease,transform .15s ease,opacity .22s ease;box-shadow:0 4px 14px #4f6ef759;-webkit-user-select:none;user-select:none;-webkit-appearance:none}.btn:hover{background:linear-gradient(135deg,#5b7aff,#4166f5);box-shadow:0 6px 20px #4f6ef780;transform:translateY(-1px)}.btn:focus{outline:none;box-shadow:0 0 0 3px #4f6ef74d,0 4px 14px #4f6ef759}.btn:active{background:linear-gradient(135deg,#3a58e0,#2d48c8);box-shadow:0 2px 8px #4f6ef74d;transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonComponent, isStandalone: true, selector: "mobi-office-button", inputs: { type: "type", onClick: "onClick" }, ngImport: i0, template: "<button [type]=\"type\" (click)=\"onClick()\" class=\"btn\">\n <ng-content></ng-content>\n</button>\n", styles: ["@charset \"UTF-8\";.btn{position:relative;overflow:hidden;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#4f6ef7,#3a58e0);color:#fff;border:none;padding:13px 28px;font-size:.9375rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-radius:10px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-appearance:none;box-shadow:0 4px 16px #4f6ef761,inset 0 1px #ffffff26;transition:background .25s ease,box-shadow .25s ease,transform .18s cubic-bezier(.34,1.56,.64,1)}.btn:before{content:\"\";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.14) 50%,transparent 80%);background-size:200% 100%;background-position:-200% 0;transition:background-position 0s;pointer-events:none;border-radius:inherit}.btn:hover:before{background-position:200% 0;transition:background-position .55s ease}.btn:hover{background:linear-gradient(135deg,#5b7aff,#4166f5);box-shadow:0 7px 22px #4f6ef785,inset 0 1px #ffffff2e;transform:translateY(-2px)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #4f6ef759,0 4px 16px #4f6ef761}.btn:active{background:linear-gradient(135deg,#3a58e0,#2d48c8);box-shadow:0 2px 8px #4f6ef74d;transform:translateY(0) scale(.985)}.btn:disabled,.btn[disabled]{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important;pointer-events:none}.btn-spinner{display:inline-block;width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;animation:btn-spin .7s linear infinite;flex-shrink:0}@keyframes btn-spin{to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
11
11
  }
12
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, decorators: [{
13
13
  type: Component,
14
- args: [{ selector: 'mobi-office-button', standalone: true, imports: [CommonModule], template: "<button [type]=\"type\" (click)=\"onClick()\" class=\"btn\">\n <ng-content></ng-content>\n</button>\n", styles: ["@charset \"UTF-8\";.btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#4f6ef7,#3a58e0);color:#fff;border:none;padding:11px 24px;font-size:.9375rem;font-weight:600;letter-spacing:.02em;border-radius:8px;text-align:center;cursor:pointer;transition:background .22s ease,box-shadow .22s ease,transform .15s ease,opacity .22s ease;box-shadow:0 4px 14px #4f6ef759;-webkit-user-select:none;user-select:none;-webkit-appearance:none}.btn:hover{background:linear-gradient(135deg,#5b7aff,#4166f5);box-shadow:0 6px 20px #4f6ef780;transform:translateY(-1px)}.btn:focus{outline:none;box-shadow:0 0 0 3px #4f6ef74d,0 4px 14px #4f6ef759}.btn:active{background:linear-gradient(135deg,#3a58e0,#2d48c8);box-shadow:0 2px 8px #4f6ef74d;transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}\n"] }]
14
+ args: [{ selector: 'mobi-office-button', standalone: true, imports: [CommonModule], template: "<button [type]=\"type\" (click)=\"onClick()\" class=\"btn\">\n <ng-content></ng-content>\n</button>\n", styles: ["@charset \"UTF-8\";.btn{position:relative;overflow:hidden;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#4f6ef7,#3a58e0);color:#fff;border:none;padding:13px 28px;font-size:.9375rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-radius:10px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-appearance:none;box-shadow:0 4px 16px #4f6ef761,inset 0 1px #ffffff26;transition:background .25s ease,box-shadow .25s ease,transform .18s cubic-bezier(.34,1.56,.64,1)}.btn:before{content:\"\";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.14) 50%,transparent 80%);background-size:200% 100%;background-position:-200% 0;transition:background-position 0s;pointer-events:none;border-radius:inherit}.btn:hover:before{background-position:200% 0;transition:background-position .55s ease}.btn:hover{background:linear-gradient(135deg,#5b7aff,#4166f5);box-shadow:0 7px 22px #4f6ef785,inset 0 1px #ffffff2e;transform:translateY(-2px)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #4f6ef759,0 4px 16px #4f6ef761}.btn:active{background:linear-gradient(135deg,#3a58e0,#2d48c8);box-shadow:0 2px 8px #4f6ef74d;transform:translateY(0) scale(.985)}.btn:disabled,.btn[disabled]{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important;pointer-events:none}.btn-spinner{display:inline-block;width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;animation:btn-spin .7s linear infinite;flex-shrink:0}@keyframes btn-spin{to{transform:rotate(360deg)}}\n"] }]
15
15
  }], propDecorators: { type: [{
16
16
  type: Input
17
17
  }], onClick: [{
18
18
  type: Input
19
19
  }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFTL0MsTUFBTSxPQUFPLGVBQWU7SUFQNUI7UUFRVyxTQUFJLEdBQTJDLFFBQVEsQ0FBQztRQUN4RCxZQUFPLEdBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBQ3pDOytHQUhZLGVBQWU7bUdBQWYsZUFBZSw0SENWNUIsd0dBR0EsdzZCREdZLFlBQVk7OzRGQUlYLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzs4QkFLZCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9iaS1vZmZpY2UtYnV0dG9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdHlwZTogJ3N1Ym1pdCcgfCAnbWVudScgfCAncmVzZXQnIHwgJ2J1dHRvbicgPSAnc3VibWl0JztcbiAgQElucHV0KCkgb25DbGljazogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xufVxuIiwiPGJ1dHRvbiBbdHlwZV09XCJ0eXBlXCIgKGNsaWNrKT1cIm9uQ2xpY2soKVwiIGNsYXNzPVwiYnRuXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvYnV0dG9uPlxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFTL0MsTUFBTSxPQUFPLGVBQWU7SUFQNUI7UUFRVyxTQUFJLEdBQTJDLFFBQVEsQ0FBQztRQUN4RCxZQUFPLEdBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBQ3pDOytHQUhZLGVBQWU7bUdBQWYsZUFBZSw0SENWNUIsd0dBR0Esc3FEREdZLFlBQVk7OzRGQUlYLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzs4QkFLZCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9iaS1vZmZpY2UtYnV0dG9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdHlwZTogJ3N1Ym1pdCcgfCAnbWVudScgfCAncmVzZXQnIHwgJ2J1dHRvbicgPSAnc3VibWl0JztcbiAgQElucHV0KCkgb25DbGljazogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xufVxuIiwiPGJ1dHRvbiBbdHlwZV09XCJ0eXBlXCIgKGNsaWNrKT1cIm9uQ2xpY2soKVwiIGNsYXNzPVwiYnRuXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvYnV0dG9uPlxuIl19
@@ -9,15 +9,15 @@ export class ErrorCardComponent {
9
9
  this.retry.emit();
10
10
  }
11
11
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ErrorCardComponent, isStandalone: true, selector: "lib-error-card", inputs: { errors: "errors" }, outputs: { retry: "retry" }, ngImport: i0, template: "<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\n\n @for (message of errors; track message) {\n <p style=\"color: red; font-size: 1rem; text-align: center\">\n {{ message }}\n </p>\n }\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ButtonComponent, selector: "mobi-office-button", inputs: ["type", "onClick"] }] }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ErrorCardComponent, isStandalone: true, selector: "lib-error-card", inputs: { errors: "errors" }, outputs: { retry: "retry" }, ngImport: i0, template: "<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\n\n @for (message of errors; track message) {\n <p style=\"color: red; font-size: 1rem; text-align: center\">\n {{ message }}\n </p>\n }\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\n</div>\n", styles: [".error{background:linear-gradient(160deg,#1e1212,#180c0c);border:1px solid rgba(242,92,92,.2);border-radius:16px;padding:32px 28px 28px;text-align:center;box-shadow:0 8px 32px #00000073;animation:err-fade-in .35s ease}.error p[style*=\"font-size: 2rem\"]{font-size:1.3rem!important;font-weight:700;color:#f25c5c;margin:0 0 16px}.error p[style*=\"color: red\"]{color:#ff8080!important;font-size:.9rem!important;margin:6px 0;line-height:1.55}.error mobi-office-button{display:block;margin-top:24px;max-width:220px;margin-inline:auto}@keyframes err-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "mobi-office-button", inputs: ["type", "onClick"] }] }); }
13
13
  }
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorCardComponent, decorators: [{
15
15
  type: Component,
16
- args: [{ selector: 'lib-error-card', standalone: true, imports: [ButtonComponent], template: "<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\n\n @for (message of errors; track message) {\n <p style=\"color: red; font-size: 1rem; text-align: center\">\n {{ message }}\n </p>\n }\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\n</div>\n" }]
16
+ args: [{ selector: 'lib-error-card', standalone: true, imports: [ButtonComponent], template: "<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\n\n @for (message of errors; track message) {\n <p style=\"color: red; font-size: 1rem; text-align: center\">\n {{ message }}\n </p>\n }\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\n</div>\n", styles: [".error{background:linear-gradient(160deg,#1e1212,#180c0c);border:1px solid rgba(242,92,92,.2);border-radius:16px;padding:32px 28px 28px;text-align:center;box-shadow:0 8px 32px #00000073;animation:err-fade-in .35s ease}.error p[style*=\"font-size: 2rem\"]{font-size:1.3rem!important;font-weight:700;color:#f25c5c;margin:0 0 16px}.error p[style*=\"color: red\"]{color:#ff8080!important;font-size:.9rem!important;margin:6px 0;line-height:1.55}.error mobi-office-button{display:block;margin-top:24px;max-width:220px;margin-inline:auto}@keyframes err-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}\n"] }]
17
17
  }], propDecorators: { errors: [{
18
18
  type: Input,
19
19
  args: [{ required: true }]
20
20
  }], retry: [{
21
21
  type: Output
22
22
  }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZXJyb3ItY2FyZC9lcnJvci1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9lcnJvci1jYXJkL2Vycm9yLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBUzdELE1BQU0sT0FBTyxrQkFBa0I7SUFQL0I7UUFTWSxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztLQUtqRDtJQUhXLGdCQUFnQjtRQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBTlUsa0JBQWtCO21HQUFsQixrQkFBa0IscUlDVi9CLHNVQVVBLDBEREpZLGVBQWU7OzRGQUlkLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxlQUFlLENBQUM7OEJBS0MsTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2YsS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWVycm9yLWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQnV0dG9uQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Vycm9yLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZXJyb3ItY2FyZC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEVycm9yQ2FyZENvbXBvbmVudCB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGVycm9ycyE6IHN0cmluZ1tdO1xuICBAT3V0cHV0KCkgcmV0cnkgPSBuZXcgRXZlbnRFbWl0dGVyPHVuZGVmaW5lZD4oKTtcblxuICBwcm90ZWN0ZWQgaGFuZGxlUmV0cnlFcnJvcigpIHtcbiAgICB0aGlzLnJldHJ5LmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVycm9yXCI+XG4gIDxwIHN0eWxlPVwiZm9udC1zaXplOiAycmVtOyB0ZXh0LWFsaWduOiBjZW50ZXJcIj5FcnJvcjwvcD5cblxuICBAZm9yIChtZXNzYWdlIG9mIGVycm9yczsgdHJhY2sgbWVzc2FnZSkge1xuICAgIDxwIHN0eWxlPVwiY29sb3I6IHJlZDsgZm9udC1zaXplOiAxcmVtOyB0ZXh0LWFsaWduOiBjZW50ZXJcIj5cbiAgICAgIHt7IG1lc3NhZ2UgfX1cbiAgICA8L3A+XG4gIH1cbiAgPG1vYmktb2ZmaWNlLWJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlUmV0cnlFcnJvcigpXCI+UmV0cnk8L21vYmktb2ZmaWNlLWJ1dHRvbj5cbjwvZGl2PlxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZXJyb3ItY2FyZC9lcnJvci1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9lcnJvci1jYXJkL2Vycm9yLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBUzdELE1BQU0sT0FBTyxrQkFBa0I7SUFQL0I7UUFTWSxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztLQUtqRDtJQUhXLGdCQUFnQjtRQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBTlUsa0JBQWtCO21HQUFsQixrQkFBa0IscUlDVi9CLHNVQVVBLHlxQkRKWSxlQUFlOzs0RkFJZCxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsZUFBZSxDQUFDOzhCQUtDLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNmLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1lcnJvci1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0J1dHRvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9lcnJvci1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Vycm9yLWNhcmQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBFcnJvckNhcmRDb21wb25lbnQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBlcnJvcnMhOiBzdHJpbmdbXTtcbiAgQE91dHB1dCgpIHJldHJ5ID0gbmV3IEV2ZW50RW1pdHRlcjx1bmRlZmluZWQ+KCk7XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVJldHJ5RXJyb3IoKSB7XG4gICAgdGhpcy5yZXRyeS5lbWl0KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJlcnJvclwiPlxuICA8cCBzdHlsZT1cImZvbnQtc2l6ZTogMnJlbTsgdGV4dC1hbGlnbjogY2VudGVyXCI+RXJyb3I8L3A+XG5cbiAgQGZvciAobWVzc2FnZSBvZiBlcnJvcnM7IHRyYWNrIG1lc3NhZ2UpIHtcbiAgICA8cCBzdHlsZT1cImNvbG9yOiByZWQ7IGZvbnQtc2l6ZTogMXJlbTsgdGV4dC1hbGlnbjogY2VudGVyXCI+XG4gICAgICB7eyBtZXNzYWdlIH19XG4gICAgPC9wPlxuICB9XG4gIDxtb2JpLW9mZmljZS1idXR0b24gKGNsaWNrKT1cImhhbmRsZVJldHJ5RXJyb3IoKVwiPlJldHJ5PC9tb2JpLW9mZmljZS1idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -3,10 +3,10 @@ import { CommonModule } from '@angular/common';
3
3
  import * as i0 from "@angular/core";
4
4
  export class LoaderComponent {
5
5
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LoaderComponent, isStandalone: true, selector: "mobi-office-loader", ngImport: i0, template: "<img\n class=\"loader\"\n src=\"https://cdn.dribbble.com/users/10743/screenshots/2098959/ezgif.com-crop.gif\"\n alt=\"loading\"\n/>\n", styles: [".loader{width:100%;max-width:300px;aspect-ratio:1/1;border-radius:50%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LoaderComponent, isStandalone: true, selector: "mobi-office-loader", ngImport: i0, template: "<div class=\"ms-loader-wrap\">\n <div class=\"ms-ring\">\n <div class=\"ms-ring__arc ms-ring__arc--1\"></div>\n <div class=\"ms-ring__arc ms-ring__arc--2\"></div>\n <div class=\"ms-ring__arc ms-ring__arc--3\"></div>\n </div>\n <p class=\"ms-loader-text\">Loading<span class=\"ms-dots\"><span>.</span><span>.</span><span>.</span></span></p>\n</div>\n", styles: [".ms-loader-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;width:100%;padding:48px 24px}.ms-ring{position:relative;width:72px;height:72px}.ms-ring__arc{position:absolute;inset:0;border-radius:50%;border:3px solid transparent;animation:ms-spin linear infinite}.ms-ring__arc--1{border-top-color:#4f6ef7;animation-duration:1.4s;box-shadow:0 0 12px #4f6ef773}.ms-ring__arc--2{inset:10px;border-right-color:#7c9bff;animation-duration:1s;animation-direction:reverse}.ms-ring__arc--3{inset:20px;border-bottom-color:#4f6ef780;animation-duration:.7s}@keyframes ms-spin{to{transform:rotate(360deg)}}.ms-loader-text{margin:0;font-size:.875rem;font-weight:500;color:#6a8aff;letter-spacing:.08em;text-transform:uppercase}.ms-dots{display:inline-flex;gap:1px}.ms-dots span{display:inline-block;opacity:0;animation:ms-dot-blink 1.4s infinite}.ms-dots span:nth-child(1){animation-delay:0s}.ms-dots span:nth-child(2){animation-delay:.2s}.ms-dots span:nth-child(3){animation-delay:.4s}@keyframes ms-dot-blink{0%,80%,to{opacity:0;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
7
7
  }
8
8
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoaderComponent, decorators: [{
9
9
  type: Component,
10
- args: [{ selector: 'mobi-office-loader', standalone: true, imports: [CommonModule], template: "<img\n class=\"loader\"\n src=\"https://cdn.dribbble.com/users/10743/screenshots/2098959/ezgif.com-crop.gif\"\n alt=\"loading\"\n/>\n", styles: [".loader{width:100%;max-width:300px;aspect-ratio:1/1;border-radius:50%}\n"] }]
10
+ args: [{ selector: 'mobi-office-loader', standalone: true, imports: [CommonModule], template: "<div class=\"ms-loader-wrap\">\n <div class=\"ms-ring\">\n <div class=\"ms-ring__arc ms-ring__arc--1\"></div>\n <div class=\"ms-ring__arc ms-ring__arc--2\"></div>\n <div class=\"ms-ring__arc ms-ring__arc--3\"></div>\n </div>\n <p class=\"ms-loader-text\">Loading<span class=\"ms-dots\"><span>.</span><span>.</span><span>.</span></span></p>\n</div>\n", styles: [".ms-loader-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;width:100%;padding:48px 24px}.ms-ring{position:relative;width:72px;height:72px}.ms-ring__arc{position:absolute;inset:0;border-radius:50%;border:3px solid transparent;animation:ms-spin linear infinite}.ms-ring__arc--1{border-top-color:#4f6ef7;animation-duration:1.4s;box-shadow:0 0 12px #4f6ef773}.ms-ring__arc--2{inset:10px;border-right-color:#7c9bff;animation-duration:1s;animation-direction:reverse}.ms-ring__arc--3{inset:20px;border-bottom-color:#4f6ef780;animation-duration:.7s}@keyframes ms-spin{to{transform:rotate(360deg)}}.ms-loader-text{margin:0;font-size:.875rem;font-weight:500;color:#6a8aff;letter-spacing:.08em;text-transform:uppercase}.ms-dots{display:inline-flex;gap:1px}.ms-dots span{display:inline-block;opacity:0;animation:ms-dot-blink 1.4s infinite}.ms-dots span:nth-child(1){animation-delay:0s}.ms-dots span:nth-child(2){animation-delay:.2s}.ms-dots span:nth-child(3){animation-delay:.4s}@keyframes ms-dot-blink{0%,80%,to{opacity:0;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}\n"] }]
11
11
  }] });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVMvQyxNQUFNLE9BQU8sZUFBZTsrR0FBZixlQUFlO21HQUFmLGVBQWUsOEVDVjVCLDBJQUtBLGlJRENZLFlBQVk7OzRGQUlYLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9iaS1vZmZpY2UtbG9hZGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbG9hZGVyLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGVyQ29tcG9uZW50IHt9XG4iLCI8aW1nXG4gIGNsYXNzPVwibG9hZGVyXCJcbiAgc3JjPVwiaHR0cHM6Ly9jZG4uZHJpYmJibGUuY29tL3VzZXJzLzEwNzQzL3NjcmVlbnNob3RzLzIwOTg5NTkvZXpnaWYuY29tLWNyb3AuZ2lmXCJcbiAgYWx0PVwibG9hZGluZ1wiXG4vPlxuIl19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVMvQyxNQUFNLE9BQU8sZUFBZTsrR0FBZixlQUFlO21HQUFmLGVBQWUsOEVDVjVCLDJXQVFBLDJwQ0RGWSxZQUFZOzs0RkFJWCxlQUFlO2tCQVAzQixTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vYmktb2ZmaWNlLWxvYWRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2xvYWRlci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIExvYWRlckNvbXBvbmVudCB7fVxuIiwiPGRpdiBjbGFzcz1cIm1zLWxvYWRlci13cmFwXCI+XG4gIDxkaXYgY2xhc3M9XCJtcy1yaW5nXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1zLXJpbmdfX2FyYyBtcy1yaW5nX19hcmMtLTFcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibXMtcmluZ19fYXJjIG1zLXJpbmdfX2FyYy0tMlwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtcy1yaW5nX19hcmMgbXMtcmluZ19fYXJjLS0zXCI+PC9kaXY+XG4gIDwvZGl2PlxuICA8cCBjbGFzcz1cIm1zLWxvYWRlci10ZXh0XCI+TG9hZGluZzxzcGFuIGNsYXNzPVwibXMtZG90c1wiPjxzcGFuPi48L3NwYW4+PHNwYW4+Ljwvc3Bhbj48c3Bhbj4uPC9zcGFuPjwvc3Bhbj48L3A+XG48L2Rpdj5cbiJdfQ==
@@ -2,10 +2,10 @@ import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class WorkflowEndCardComponent {
4
4
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WorkflowEndCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: WorkflowEndCardComponent, isStandalone: true, selector: "lib-workflow-end-card", ngImport: i0, template: "<p>Workflow Ended</p>\n", styles: [""] }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: WorkflowEndCardComponent, isStandalone: true, selector: "lib-workflow-end-card", ngImport: i0, template: "<p>Workflow Ended</p>\n", styles: [":host{display:flex;align-items:center;justify-content:center;padding:48px 24px}p{font-size:1.1rem;font-weight:500;color:#6a8aff;letter-spacing:.04em;text-align:center;animation:wf-pulse 2.5s ease-in-out infinite}@keyframes wf-pulse{0%,to{opacity:.7}50%{opacity:1}}\n"] }); }
6
6
  }
7
7
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WorkflowEndCardComponent, decorators: [{
8
8
  type: Component,
9
- args: [{ selector: 'lib-workflow-end-card', standalone: true, imports: [], template: "<p>Workflow Ended</p>\n" }]
9
+ args: [{ selector: 'lib-workflow-end-card', standalone: true, imports: [], template: "<p>Workflow Ended</p>\n", styles: [":host{display:flex;align-items:center;justify-content:center;padding:48px 24px}p{font-size:1.1rem;font-weight:500;color:#6a8aff;letter-spacing:.04em;text-align:center;animation:wf-pulse 2.5s ease-in-out infinite}@keyframes wf-pulse{0%,to{opacity:.7}50%{opacity:1}}\n"] }]
10
10
  }] });
11
11
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZW5kLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93LWVuZC1jYXJkL3dvcmtmbG93LWVuZC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy93b3JrZmxvdy1lbmQtY2FyZC93b3JrZmxvdy1lbmQtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMxQyxNQUFNLE9BQU8sd0JBQXdCOytHQUF4Qix3QkFBd0I7bUdBQXhCLHdCQUF3QixpRkNUckMseUJBQ0E7OzRGRFFhLHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXdvcmtmbG93LWVuZC1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlVXJsOiAnLi93b3JrZmxvdy1lbmQtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi93b3JrZmxvdy1lbmQtY2FyZC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFdvcmtmbG93RW5kQ2FyZENvbXBvbmVudCB7fVxuIiwiPHA+V29ya2Zsb3cgRW5kZWQ8L3A+XG4iXX0=
@@ -339,11 +339,11 @@ class ButtonComponent {
339
339
  this.onClick = () => { };
340
340
  }
341
341
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
342
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonComponent, isStandalone: true, selector: "mobi-office-button", inputs: { type: "type", onClick: "onClick" }, ngImport: i0, template: "<button [type]=\"type\" (click)=\"onClick()\" class=\"btn\">\n <ng-content></ng-content>\n</button>\n", styles: ["@charset \"UTF-8\";.btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#4f6ef7,#3a58e0);color:#fff;border:none;padding:11px 24px;font-size:.9375rem;font-weight:600;letter-spacing:.02em;border-radius:8px;text-align:center;cursor:pointer;transition:background .22s ease,box-shadow .22s ease,transform .15s ease,opacity .22s ease;box-shadow:0 4px 14px #4f6ef759;-webkit-user-select:none;user-select:none;-webkit-appearance:none}.btn:hover{background:linear-gradient(135deg,#5b7aff,#4166f5);box-shadow:0 6px 20px #4f6ef780;transform:translateY(-1px)}.btn:focus{outline:none;box-shadow:0 0 0 3px #4f6ef74d,0 4px 14px #4f6ef759}.btn:active{background:linear-gradient(135deg,#3a58e0,#2d48c8);box-shadow:0 2px 8px #4f6ef74d;transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
342
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonComponent, isStandalone: true, selector: "mobi-office-button", inputs: { type: "type", onClick: "onClick" }, ngImport: i0, template: "<button [type]=\"type\" (click)=\"onClick()\" class=\"btn\">\n <ng-content></ng-content>\n</button>\n", styles: ["@charset \"UTF-8\";.btn{position:relative;overflow:hidden;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#4f6ef7,#3a58e0);color:#fff;border:none;padding:13px 28px;font-size:.9375rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-radius:10px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-appearance:none;box-shadow:0 4px 16px #4f6ef761,inset 0 1px #ffffff26;transition:background .25s ease,box-shadow .25s ease,transform .18s cubic-bezier(.34,1.56,.64,1)}.btn:before{content:\"\";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.14) 50%,transparent 80%);background-size:200% 100%;background-position:-200% 0;transition:background-position 0s;pointer-events:none;border-radius:inherit}.btn:hover:before{background-position:200% 0;transition:background-position .55s ease}.btn:hover{background:linear-gradient(135deg,#5b7aff,#4166f5);box-shadow:0 7px 22px #4f6ef785,inset 0 1px #ffffff2e;transform:translateY(-2px)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #4f6ef759,0 4px 16px #4f6ef761}.btn:active{background:linear-gradient(135deg,#3a58e0,#2d48c8);box-shadow:0 2px 8px #4f6ef74d;transform:translateY(0) scale(.985)}.btn:disabled,.btn[disabled]{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important;pointer-events:none}.btn-spinner{display:inline-block;width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;animation:btn-spin .7s linear infinite;flex-shrink:0}@keyframes btn-spin{to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
343
343
  }
344
344
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, decorators: [{
345
345
  type: Component,
346
- args: [{ selector: 'mobi-office-button', standalone: true, imports: [CommonModule], template: "<button [type]=\"type\" (click)=\"onClick()\" class=\"btn\">\n <ng-content></ng-content>\n</button>\n", styles: ["@charset \"UTF-8\";.btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#4f6ef7,#3a58e0);color:#fff;border:none;padding:11px 24px;font-size:.9375rem;font-weight:600;letter-spacing:.02em;border-radius:8px;text-align:center;cursor:pointer;transition:background .22s ease,box-shadow .22s ease,transform .15s ease,opacity .22s ease;box-shadow:0 4px 14px #4f6ef759;-webkit-user-select:none;user-select:none;-webkit-appearance:none}.btn:hover{background:linear-gradient(135deg,#5b7aff,#4166f5);box-shadow:0 6px 20px #4f6ef780;transform:translateY(-1px)}.btn:focus{outline:none;box-shadow:0 0 0 3px #4f6ef74d,0 4px 14px #4f6ef759}.btn:active{background:linear-gradient(135deg,#3a58e0,#2d48c8);box-shadow:0 2px 8px #4f6ef74d;transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}\n"] }]
346
+ args: [{ selector: 'mobi-office-button', standalone: true, imports: [CommonModule], template: "<button [type]=\"type\" (click)=\"onClick()\" class=\"btn\">\n <ng-content></ng-content>\n</button>\n", styles: ["@charset \"UTF-8\";.btn{position:relative;overflow:hidden;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#4f6ef7,#3a58e0);color:#fff;border:none;padding:13px 28px;font-size:.9375rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-radius:10px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-appearance:none;box-shadow:0 4px 16px #4f6ef761,inset 0 1px #ffffff26;transition:background .25s ease,box-shadow .25s ease,transform .18s cubic-bezier(.34,1.56,.64,1)}.btn:before{content:\"\";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.14) 50%,transparent 80%);background-size:200% 100%;background-position:-200% 0;transition:background-position 0s;pointer-events:none;border-radius:inherit}.btn:hover:before{background-position:200% 0;transition:background-position .55s ease}.btn:hover{background:linear-gradient(135deg,#5b7aff,#4166f5);box-shadow:0 7px 22px #4f6ef785,inset 0 1px #ffffff2e;transform:translateY(-2px)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #4f6ef759,0 4px 16px #4f6ef761}.btn:active{background:linear-gradient(135deg,#3a58e0,#2d48c8);box-shadow:0 2px 8px #4f6ef74d;transform:translateY(0) scale(.985)}.btn:disabled,.btn[disabled]{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important;pointer-events:none}.btn-spinner{display:inline-block;width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;animation:btn-spin .7s linear infinite;flex-shrink:0}@keyframes btn-spin{to{transform:rotate(360deg)}}\n"] }]
347
347
  }], propDecorators: { type: [{
348
348
  type: Input
349
349
  }], onClick: [{
@@ -352,11 +352,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
352
352
 
353
353
  class LoaderComponent {
354
354
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
355
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LoaderComponent, isStandalone: true, selector: "mobi-office-loader", ngImport: i0, template: "<img\n class=\"loader\"\n src=\"https://cdn.dribbble.com/users/10743/screenshots/2098959/ezgif.com-crop.gif\"\n alt=\"loading\"\n/>\n", styles: [".loader{width:100%;max-width:300px;aspect-ratio:1/1;border-radius:50%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
355
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LoaderComponent, isStandalone: true, selector: "mobi-office-loader", ngImport: i0, template: "<div class=\"ms-loader-wrap\">\n <div class=\"ms-ring\">\n <div class=\"ms-ring__arc ms-ring__arc--1\"></div>\n <div class=\"ms-ring__arc ms-ring__arc--2\"></div>\n <div class=\"ms-ring__arc ms-ring__arc--3\"></div>\n </div>\n <p class=\"ms-loader-text\">Loading<span class=\"ms-dots\"><span>.</span><span>.</span><span>.</span></span></p>\n</div>\n", styles: [".ms-loader-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;width:100%;padding:48px 24px}.ms-ring{position:relative;width:72px;height:72px}.ms-ring__arc{position:absolute;inset:0;border-radius:50%;border:3px solid transparent;animation:ms-spin linear infinite}.ms-ring__arc--1{border-top-color:#4f6ef7;animation-duration:1.4s;box-shadow:0 0 12px #4f6ef773}.ms-ring__arc--2{inset:10px;border-right-color:#7c9bff;animation-duration:1s;animation-direction:reverse}.ms-ring__arc--3{inset:20px;border-bottom-color:#4f6ef780;animation-duration:.7s}@keyframes ms-spin{to{transform:rotate(360deg)}}.ms-loader-text{margin:0;font-size:.875rem;font-weight:500;color:#6a8aff;letter-spacing:.08em;text-transform:uppercase}.ms-dots{display:inline-flex;gap:1px}.ms-dots span{display:inline-block;opacity:0;animation:ms-dot-blink 1.4s infinite}.ms-dots span:nth-child(1){animation-delay:0s}.ms-dots span:nth-child(2){animation-delay:.2s}.ms-dots span:nth-child(3){animation-delay:.4s}@keyframes ms-dot-blink{0%,80%,to{opacity:0;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
356
356
  }
357
357
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoaderComponent, decorators: [{
358
358
  type: Component,
359
- args: [{ selector: 'mobi-office-loader', standalone: true, imports: [CommonModule], template: "<img\n class=\"loader\"\n src=\"https://cdn.dribbble.com/users/10743/screenshots/2098959/ezgif.com-crop.gif\"\n alt=\"loading\"\n/>\n", styles: [".loader{width:100%;max-width:300px;aspect-ratio:1/1;border-radius:50%}\n"] }]
359
+ args: [{ selector: 'mobi-office-loader', standalone: true, imports: [CommonModule], template: "<div class=\"ms-loader-wrap\">\n <div class=\"ms-ring\">\n <div class=\"ms-ring__arc ms-ring__arc--1\"></div>\n <div class=\"ms-ring__arc ms-ring__arc--2\"></div>\n <div class=\"ms-ring__arc ms-ring__arc--3\"></div>\n </div>\n <p class=\"ms-loader-text\">Loading<span class=\"ms-dots\"><span>.</span><span>.</span><span>.</span></span></p>\n</div>\n", styles: [".ms-loader-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;width:100%;padding:48px 24px}.ms-ring{position:relative;width:72px;height:72px}.ms-ring__arc{position:absolute;inset:0;border-radius:50%;border:3px solid transparent;animation:ms-spin linear infinite}.ms-ring__arc--1{border-top-color:#4f6ef7;animation-duration:1.4s;box-shadow:0 0 12px #4f6ef773}.ms-ring__arc--2{inset:10px;border-right-color:#7c9bff;animation-duration:1s;animation-direction:reverse}.ms-ring__arc--3{inset:20px;border-bottom-color:#4f6ef780;animation-duration:.7s}@keyframes ms-spin{to{transform:rotate(360deg)}}.ms-loader-text{margin:0;font-size:.875rem;font-weight:500;color:#6a8aff;letter-spacing:.08em;text-transform:uppercase}.ms-dots{display:inline-flex;gap:1px}.ms-dots span{display:inline-block;opacity:0;animation:ms-dot-blink 1.4s infinite}.ms-dots span:nth-child(1){animation-delay:0s}.ms-dots span:nth-child(2){animation-delay:.2s}.ms-dots span:nth-child(3){animation-delay:.4s}@keyframes ms-dot-blink{0%,80%,to{opacity:0;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}\n"] }]
360
360
  }] });
361
361
 
362
362
  class ActionFormComponent {
@@ -487,7 +487,7 @@ class ActionFormComponent {
487
487
  this.form = this.fb.group(validators);
488
488
  }
489
489
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, deps: [{ token: i2.FormBuilder }, { token: MstateAngularService }, { token: MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
490
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ActionFormComponent, isStandalone: true, selector: "lib-action-form", inputs: { token: "token", workflow: "workflow", config: "config", updateCustomFieldValue: "updateCustomFieldValue", authHeader: "authHeader", instanceID: "instanceID" }, outputs: { onExecuteAction: "onExecuteAction", onSuccess: "onSuccess" }, providers: [MstateAngularService, MstateAngularHelper], usesOnChanges: true, ngImport: i0, template: "<div>\n <p style=\"font-size: 2rem; text-align: center\">\n {{ config.meta?.title ?? config.name }}\n </p>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\n @for (step of config.steps; track $index) {\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\n }\n\n <div style=\"margin-top: 10px\">\n <mobi-office-button type=\"submit\">\n @if (isLoading) {\n <div style=\"width: 25px\">\n <mobi-office-loader></mobi-office-loader>\n </div>\n } @else {\n Submit\n }\n </mobi-office-button>\n </div>\n </form>\n</div>\n", styles: ["form{display:flex;flex-direction:column;gap:4px;width:100%}label{margin-bottom:5px;font-size:.8125rem;font-weight:500;color:#a0a0a0;letter-spacing:.02em;text-transform:uppercase}p[style*=\"font-size: 2rem\"]{font-size:1.4rem!important;font-weight:600;color:#f0f0f0;text-align:center;padding:0 0 16px;margin:0;border-bottom:1px solid #2e2e2e;letter-spacing:-.01em}\n"], dependencies: [{ kind: "component", type: InputSelectorComponent, selector: "mobi-office-input-selector", inputs: ["step", "mstateModel"] }, { kind: "component", type: ButtonComponent, selector: "mobi-office-button", inputs: ["type", "onClick"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: LoaderComponent, selector: "mobi-office-loader" }] }); }
490
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ActionFormComponent, isStandalone: true, selector: "lib-action-form", inputs: { token: "token", workflow: "workflow", config: "config", updateCustomFieldValue: "updateCustomFieldValue", authHeader: "authHeader", instanceID: "instanceID" }, outputs: { onExecuteAction: "onExecuteAction", onSuccess: "onSuccess" }, providers: [MstateAngularService, MstateAngularHelper], usesOnChanges: true, ngImport: i0, template: "<div class=\"ms-form-card\">\n <p class=\"ms-form-title\">{{ config.meta?.title ?? config.name }}</p>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\n <div class=\"ms-fields\">\n @for (step of config.steps; track $index) {\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\n }\n </div>\n\n <div class=\"ms-form-footer\">\n <mobi-office-button type=\"submit\" [class.is-loading]=\"isLoading\">\n @if (isLoading) {\n <span class=\"btn-spinner\"></span>\n <span>Submitting\u2026</span>\n } @else {\n <span class=\"btn-icon\">\u2713</span>\n <span>Submit</span>\n }\n </mobi-office-button>\n </div>\n </form>\n</div>\n", styles: [".ms-form-card{background:linear-gradient(160deg,#1a1a1a,#141414);border:1px solid #252525;border-radius:16px;padding:28px 28px 24px;box-shadow:0 8px 32px #00000073,inset 0 1px #ffffff0a;animation:ms-fade-in .35s ease}@keyframes ms-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ms-form-title{margin:0 0 24px;font-size:1.25rem;font-weight:700;color:#f0f0f0;letter-spacing:-.02em;text-align:center;padding-bottom:18px;border-bottom:1px solid #252525;position:relative}.ms-form-title:after{content:\"\";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:48px;height:2px;border-radius:2px;background:linear-gradient(90deg,#4f6ef7,#7c9bff)}.ms-fields{display:flex;flex-direction:column;gap:2px}.ms-form-footer{margin-top:24px;padding-top:18px;border-top:1px solid #252525}form{display:flex;flex-direction:column}label{margin-bottom:5px;font-size:.8125rem;font-weight:500;color:#a0a0a0;letter-spacing:.03em;text-transform:uppercase}:host ::ng-deep .btn-icon{font-size:1rem;line-height:1}\n"], dependencies: [{ kind: "component", type: InputSelectorComponent, selector: "mobi-office-input-selector", inputs: ["step", "mstateModel"] }, { kind: "component", type: ButtonComponent, selector: "mobi-office-button", inputs: ["type", "onClick"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] }); }
491
491
  }
492
492
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, decorators: [{
493
493
  type: Component,
@@ -496,7 +496,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
496
496
  ButtonComponent,
497
497
  ReactiveFormsModule,
498
498
  LoaderComponent,
499
- ], providers: [MstateAngularService, MstateAngularHelper], template: "<div>\n <p style=\"font-size: 2rem; text-align: center\">\n {{ config.meta?.title ?? config.name }}\n </p>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\n @for (step of config.steps; track $index) {\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\n }\n\n <div style=\"margin-top: 10px\">\n <mobi-office-button type=\"submit\">\n @if (isLoading) {\n <div style=\"width: 25px\">\n <mobi-office-loader></mobi-office-loader>\n </div>\n } @else {\n Submit\n }\n </mobi-office-button>\n </div>\n </form>\n</div>\n", styles: ["form{display:flex;flex-direction:column;gap:4px;width:100%}label{margin-bottom:5px;font-size:.8125rem;font-weight:500;color:#a0a0a0;letter-spacing:.02em;text-transform:uppercase}p[style*=\"font-size: 2rem\"]{font-size:1.4rem!important;font-weight:600;color:#f0f0f0;text-align:center;padding:0 0 16px;margin:0;border-bottom:1px solid #2e2e2e;letter-spacing:-.01em}\n"] }]
499
+ ], providers: [MstateAngularService, MstateAngularHelper], template: "<div class=\"ms-form-card\">\n <p class=\"ms-form-title\">{{ config.meta?.title ?? config.name }}</p>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\n <div class=\"ms-fields\">\n @for (step of config.steps; track $index) {\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\n }\n </div>\n\n <div class=\"ms-form-footer\">\n <mobi-office-button type=\"submit\" [class.is-loading]=\"isLoading\">\n @if (isLoading) {\n <span class=\"btn-spinner\"></span>\n <span>Submitting\u2026</span>\n } @else {\n <span class=\"btn-icon\">\u2713</span>\n <span>Submit</span>\n }\n </mobi-office-button>\n </div>\n </form>\n</div>\n", styles: [".ms-form-card{background:linear-gradient(160deg,#1a1a1a,#141414);border:1px solid #252525;border-radius:16px;padding:28px 28px 24px;box-shadow:0 8px 32px #00000073,inset 0 1px #ffffff0a;animation:ms-fade-in .35s ease}@keyframes ms-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ms-form-title{margin:0 0 24px;font-size:1.25rem;font-weight:700;color:#f0f0f0;letter-spacing:-.02em;text-align:center;padding-bottom:18px;border-bottom:1px solid #252525;position:relative}.ms-form-title:after{content:\"\";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:48px;height:2px;border-radius:2px;background:linear-gradient(90deg,#4f6ef7,#7c9bff)}.ms-fields{display:flex;flex-direction:column;gap:2px}.ms-form-footer{margin-top:24px;padding-top:18px;border-top:1px solid #252525}form{display:flex;flex-direction:column}label{margin-bottom:5px;font-size:.8125rem;font-weight:500;color:#a0a0a0;letter-spacing:.03em;text-transform:uppercase}:host ::ng-deep .btn-icon{font-size:1rem;line-height:1}\n"] }]
500
500
  }], ctorParameters: () => [{ type: i2.FormBuilder }, { type: MstateAngularService }, { type: MstateAngularHelper }], propDecorators: { token: [{
501
501
  type: Input,
502
502
  args: [{ required: true }]
@@ -546,11 +546,11 @@ class ErrorCardComponent {
546
546
  this.retry.emit();
547
547
  }
548
548
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
549
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ErrorCardComponent, isStandalone: true, selector: "lib-error-card", inputs: { errors: "errors" }, outputs: { retry: "retry" }, ngImport: i0, template: "<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\n\n @for (message of errors; track message) {\n <p style=\"color: red; font-size: 1rem; text-align: center\">\n {{ message }}\n </p>\n }\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ButtonComponent, selector: "mobi-office-button", inputs: ["type", "onClick"] }] }); }
549
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ErrorCardComponent, isStandalone: true, selector: "lib-error-card", inputs: { errors: "errors" }, outputs: { retry: "retry" }, ngImport: i0, template: "<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\n\n @for (message of errors; track message) {\n <p style=\"color: red; font-size: 1rem; text-align: center\">\n {{ message }}\n </p>\n }\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\n</div>\n", styles: [".error{background:linear-gradient(160deg,#1e1212,#180c0c);border:1px solid rgba(242,92,92,.2);border-radius:16px;padding:32px 28px 28px;text-align:center;box-shadow:0 8px 32px #00000073;animation:err-fade-in .35s ease}.error p[style*=\"font-size: 2rem\"]{font-size:1.3rem!important;font-weight:700;color:#f25c5c;margin:0 0 16px}.error p[style*=\"color: red\"]{color:#ff8080!important;font-size:.9rem!important;margin:6px 0;line-height:1.55}.error mobi-office-button{display:block;margin-top:24px;max-width:220px;margin-inline:auto}@keyframes err-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "mobi-office-button", inputs: ["type", "onClick"] }] }); }
550
550
  }
551
551
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorCardComponent, decorators: [{
552
552
  type: Component,
553
- args: [{ selector: 'lib-error-card', standalone: true, imports: [ButtonComponent], template: "<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\n\n @for (message of errors; track message) {\n <p style=\"color: red; font-size: 1rem; text-align: center\">\n {{ message }}\n </p>\n }\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\n</div>\n" }]
553
+ args: [{ selector: 'lib-error-card', standalone: true, imports: [ButtonComponent], template: "<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\n\n @for (message of errors; track message) {\n <p style=\"color: red; font-size: 1rem; text-align: center\">\n {{ message }}\n </p>\n }\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\n</div>\n", styles: [".error{background:linear-gradient(160deg,#1e1212,#180c0c);border:1px solid rgba(242,92,92,.2);border-radius:16px;padding:32px 28px 28px;text-align:center;box-shadow:0 8px 32px #00000073;animation:err-fade-in .35s ease}.error p[style*=\"font-size: 2rem\"]{font-size:1.3rem!important;font-weight:700;color:#f25c5c;margin:0 0 16px}.error p[style*=\"color: red\"]{color:#ff8080!important;font-size:.9rem!important;margin:6px 0;line-height:1.55}.error mobi-office-button{display:block;margin-top:24px;max-width:220px;margin-inline:auto}@keyframes err-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}\n"] }]
554
554
  }], propDecorators: { errors: [{
555
555
  type: Input,
556
556
  args: [{ required: true }]
@@ -560,11 +560,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
560
560
 
561
561
  class WorkflowEndCardComponent {
562
562
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WorkflowEndCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
563
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: WorkflowEndCardComponent, isStandalone: true, selector: "lib-workflow-end-card", ngImport: i0, template: "<p>Workflow Ended</p>\n", styles: [""] }); }
563
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: WorkflowEndCardComponent, isStandalone: true, selector: "lib-workflow-end-card", ngImport: i0, template: "<p>Workflow Ended</p>\n", styles: [":host{display:flex;align-items:center;justify-content:center;padding:48px 24px}p{font-size:1.1rem;font-weight:500;color:#6a8aff;letter-spacing:.04em;text-align:center;animation:wf-pulse 2.5s ease-in-out infinite}@keyframes wf-pulse{0%,to{opacity:.7}50%{opacity:1}}\n"] }); }
564
564
  }
565
565
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WorkflowEndCardComponent, decorators: [{
566
566
  type: Component,
567
- args: [{ selector: 'lib-workflow-end-card', standalone: true, imports: [], template: "<p>Workflow Ended</p>\n" }]
567
+ args: [{ selector: 'lib-workflow-end-card', standalone: true, imports: [], template: "<p>Workflow Ended</p>\n", styles: [":host{display:flex;align-items:center;justify-content:center;padding:48px 24px}p{font-size:1.1rem;font-weight:500;color:#6a8aff;letter-spacing:.04em;text-align:center;animation:wf-pulse 2.5s ease-in-out infinite}@keyframes wf-pulse{0%,to{opacity:.7}50%{opacity:1}}\n"] }]
568
568
  }] });
569
569
 
570
570
  class MstateAngularComponent {
@@ -1 +1 @@
1
- {"version":3,"file":"mstate-angular.mjs","sources":["../../../projects/mstate-angular/src/lib/common/enum.ts","../../../projects/mstate-angular/src/lib/common/constant.ts","../../../projects/mstate-angular/src/lib/mstate-angular.helper.ts","../../../projects/mstate-angular/src/lib/mstate-angular.service.ts","../../../projects/mstate-angular/src/lib/components/input-field/input-field.component.ts","../../../projects/mstate-angular/src/lib/components/input-field/input-field.component.html","../../../projects/mstate-angular/src/lib/components/select/select.component.ts","../../../projects/mstate-angular/src/lib/components/select/select.component.html","../../../projects/mstate-angular/src/lib/components/dropdown/dropdown.component.ts","../../../projects/mstate-angular/src/lib/components/dropdown/dropdown.component.html","../../../projects/mstate-angular/src/lib/components/text-area/text-area.component.ts","../../../projects/mstate-angular/src/lib/components/text-area/text-area.component.html","../../../projects/mstate-angular/src/lib/input-selector/input-selector.component.ts","../../../projects/mstate-angular/src/lib/input-selector/input-selector.component.html","../../../projects/mstate-angular/src/lib/components/button/button.component.ts","../../../projects/mstate-angular/src/lib/components/button/button.component.html","../../../projects/mstate-angular/src/lib/components/loader/loader.component.ts","../../../projects/mstate-angular/src/lib/components/loader/loader.component.html","../../../projects/mstate-angular/src/lib/action-form/action-form.component.ts","../../../projects/mstate-angular/src/lib/action-form/action-form.component.html","../../../projects/mstate-angular/src/lib/components/action-card/action-card.component.ts","../../../projects/mstate-angular/src/lib/components/action-card/action-card.component.html","../../../projects/mstate-angular/src/lib/components/error-card/error-card.component.ts","../../../projects/mstate-angular/src/lib/components/error-card/error-card.component.html","../../../projects/mstate-angular/src/lib/components/workflow-end-card/workflow-end-card.component.ts","../../../projects/mstate-angular/src/lib/components/workflow-end-card/workflow-end-card.component.html","../../../projects/mstate-angular/src/lib/mstate-angular/mstate-angular.component.ts","../../../projects/mstate-angular/src/lib/mstate-angular/mstate-angular.component.html","../../../projects/mstate-angular/src/lib/mstate-angular.module.ts","../../../projects/mstate-angular/src/public-api.ts","../../../projects/mstate-angular/src/mstate-angular.ts"],"sourcesContent":["export enum Route {\n EXECUTE_ACTION = 'workflow/v2/execute',\n GET_WORKFLOW_CONFIG = 'workflow/config',\n GET_CURRENT_ACTIONS_WITHOUT_INSTANCE = 'workflow/v2/actions',\n GET_CURRENT_ACTIONS_WITH_INSTANCE = 'workflow/actions',\n}\n\nexport enum FieldType {\n DATE_PICKER = 'datePicker',\n TIME_PICKER = 'timePicker',\n INPUT_FIELD = 'inputField',\n TEXT_AREA = 'textArea',\n CHECKBOX = 'checkBox',\n RADIO_LIST = 'radioList',\n DROP_DOWN = 'dropDown',\n SUMMARY = 'summary',\n CONTEXT_FIELD = 'CONTEXT_FIELD',\n CUSTOM_FIELD = 'CUSTOM_FIELD',\n}\n\nexport enum ManualStepModule {\n CONTEXT_FIELD = 'CONTEXT_FIELD',\n CUSTOM_FIELD = 'CUSTOM_FIELD',\n USER_INPUT = 'USER_INPUT',\n}\n\nexport enum Theme {\n DARK = 'dark',\n LIGHT = 'light',\n SYSTEM = 'system',\n}\n\nexport enum Variable {\n WORKFLOW = 'workflow',\n TOKEN = 'token',\n INSTANCE_ID = 'instanceID',\n START = 'start',\n TRIGGER_AGAIN = 'triggerAgain',\n ERRORS = 'errors',\n}\n\nexport enum ActionType {\n MANUAL = 'MANUAL',\n AUTO = 'AUTO',\n CHAINED = 'CHAINED',\n}\n","// export const MSTATE_URL: string = 'https://dev.mstate.mobioffice.io/api';\n// export const MSTATE_URL = 'http://localhost:3000/api';\nexport const MSTATE_URL: string = 'https://api.mstate.mobioffice.io/api';\nexport const TOKEN_KEY: string = 'secret-key';\n","import { Injectable, SimpleChanges } from '@angular/core';\nimport { Step, UserInput } from './interfaces/interface';\nimport { FieldType } from './common/enum';\nimport { FormGroup } from '@angular/forms';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MstateAngularHelper {\n detectChange(change: SimpleChanges, keys: string[]) {\n for (const key of keys) {\n if (change[key] && change[key].currentValue !== change[key].previousValue)\n return true;\n }\n\n return false;\n }\n\n formatString(str: string = '') {\n return str.toUpperCase().replace(/_/gi, ' ');\n }\n\n getObjectValue<T>(obj: any, target: string) {\n const keys = target ? target.split('.') : [];\n\n let cur: any = obj;\n for (const key of keys) {\n cur = cur?.[key];\n }\n\n return cur as T | undefined;\n }\n\n checkIsStep(step: Step | UserInput): step is Step {\n return (step as Step)?.config !== undefined;\n }\n\n checkIsHandledStep(module: FieldType) {\n switch (module) {\n case FieldType.CHECKBOX:\n case FieldType.DROP_DOWN:\n case FieldType.INPUT_FIELD:\n case FieldType.TEXT_AREA:\n case FieldType.RADIO_LIST:\n case FieldType.DATE_PICKER:\n case FieldType.TIME_PICKER:\n return true;\n\n default:\n return false;\n }\n }\n\n checkInputError(form: FormGroup, key: string) {\n if (!form || !form.controls) {\n return { isError: false, message: '' };\n }\n\n const formData = form.controls[key] ?? {};\n\n switch (\n (formData.status === 'INVALID' && formData.touched) ||\n (formData.status === 'INVALID' && formData.dirty)\n ) {\n case true:\n return {\n isError: true,\n message: `${key} is required`,\n };\n default:\n return {\n isError: false,\n message: '',\n };\n }\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { MSTATE_URL, TOKEN_KEY } from './common/constant';\nimport { Route } from './common/enum';\n\nimport {\n GetCurrentActionsWithInstanceIDRequest,\n GetCurrentActionsWithoutInstanceIDRequest,\n GetCurrentActionsWithoutInstanceIDResponse,\n MstateResponse,\n PostExecuteActionRequest,\n PostExecuteActionResponse,\n} from './interfaces/api.interface';\nimport axios, { AxiosRequestConfig } from 'axios';\nimport { MstateAngularHelper } from './mstate-angular.helper';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MstateAngularService {\n private getHeaders(token: string) {\n return new HttpHeaders({\n 'Content-Type': 'application/json',\n [TOKEN_KEY]: token,\n });\n }\n\n constructor(\n private http: HttpClient,\n private mstateHelper: MstateAngularHelper,\n ) {}\n\n executeAction<T>(payload: PostExecuteActionRequest<T>) {\n return this.http.post<MstateResponse<PostExecuteActionResponse>>(\n `${MSTATE_URL}/${Route.EXECUTE_ACTION}`,\n {\n instanceID: payload.instanceID ?? '',\n name: payload.workflow,\n action: payload.action,\n headers: payload.headers || {},\n },\n { headers: this.getHeaders(payload.token) },\n );\n }\n\n getCurrentActionsWithInstanceID(\n payload: GetCurrentActionsWithInstanceIDRequest,\n ) {\n return this.http.get<\n MstateResponse<GetCurrentActionsWithoutInstanceIDResponse>\n >(\n `${MSTATE_URL}/${Route.GET_CURRENT_ACTIONS_WITH_INSTANCE}/${payload.instanceID}`,\n {\n headers: this.getHeaders(payload.token),\n },\n );\n }\n\n getCurrentActionsWithoutInstanceID(\n payload: GetCurrentActionsWithoutInstanceIDRequest,\n ) {\n return this.http.get<\n MstateResponse<GetCurrentActionsWithoutInstanceIDResponse>\n >(\n `${MSTATE_URL}/${Route.GET_CURRENT_ACTIONS_WITHOUT_INSTANCE}?name=${payload.workflow}`,\n {\n headers: this.getHeaders(payload.token),\n },\n );\n }\n\n async handleDropdownAPI(request: AxiosRequestConfig, target: string) {\n const response = await axios(request);\n\n return this.mstateHelper.getObjectValue<any>(response?.data, target) ?? [];\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\nimport { FieldType } from '../../common/enum';\n\n@Component({\n selector: 'mobi-office-input-field',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule],\n templateUrl: './input-field.component.html',\n styleUrl: './input-field.component.scss',\n})\nexport class InputFieldComponent {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n protected FieldType = FieldType;\n\n constructor(private mstateHelper: MstateAngularHelper) {}\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","<div\n class=\"form-group\"\n [formGroup]=\"mstateModel\"\n style=\"display: flex; flex-direction: column\"\n>\n <label>{{ config.label }}</label>\n <input\n style=\"flex: 1\"\n [required]=\"config.field.isRequired || false\"\n [type]=\"\n config.fieldType === FieldType.TIME_PICKER ? 'time' : config.inputType\n \"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n class=\"form-control\"\n />\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>\n {{ checkInputError(mstateModel, config.field.keyForAPI).message }}\n </small>\n }\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MstateAngularService } from '../../mstate-angular.service';\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\n@Component({\n selector: 'mobi-office-select',\n standalone: true,\n imports: [ReactiveFormsModule, NgSelectModule, CommonModule],\n providers: [MstateAngularService],\n templateUrl: './select.component.html',\n styleUrl: './select.component.scss',\n})\nexport class SelectComponent implements OnInit {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n constructor(\n private mstateService: MstateAngularService,\n private mstateHelper: MstateAngularHelper,\n ) {}\n\n protected list: any[] = [];\n\n ngOnInit(): void {\n const field = this.config.field ?? {};\n\n if (field.request?.url) {\n this.mstateService\n .handleDropdownAPI(field.request, field?.mapper?.target ?? '')\n .then((data) => {\n this.list = data;\n })\n .catch((e) => console.log(e));\n } else {\n this.list = field.itemList ?? [];\n }\n }\n\n getObjectValue(obj: any, target: string) {\n return this.mstateHelper.getObjectValue(obj, target);\n }\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","<div class=\"form-group\" [formGroup]=\"mstateModel\">\n <label>{{ config.label }}</label>\n\n <ng-select\n [required]=\"config.field.isRequired || false\"\n [items]=\"list\"\n [multiple]=\"true\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n >\n </ng-select>\n\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MstateAngularService } from '../../mstate-angular.service';\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\n@Component({\n selector: 'mobi-office-dropdown',\n standalone: true,\n imports: [ReactiveFormsModule, NgSelectModule, CommonModule],\n providers: [MstateAngularService],\n templateUrl: './dropdown.component.html',\n styleUrl: './dropdown.component.scss',\n})\nexport class DropdownComponent implements OnInit {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n constructor(\n private mstateService: MstateAngularService,\n private mstateHelper: MstateAngularHelper,\n ) {}\n\n protected list: any[] = [];\n\n ngOnInit(): void {\n const field = this.config.field ?? {};\n\n if (field.request?.url) {\n this.mstateService\n .handleDropdownAPI(field.request, field?.mapper?.target ?? '')\n .then((data) => {\n this.list = data;\n })\n .catch((e) => console.log(e));\n } else {\n this.list = field.itemList ?? [];\n }\n }\n\n getObjectValue(obj: any, target: string) {\n return this.mstateHelper.getObjectValue(obj, target);\n }\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","<div class=\"form-group\" [formGroup]=\"mstateModel\">\n <label>{{ config.label }}</label>\n\n <ng-select\n [items]=\"list\"\n [multiple]=\"false\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n [required]=\"config.field.isRequired || false\"\n ></ng-select>\n\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>\n {{ checkInputError(mstateModel, config.field.keyForAPI).message }}\n </small>\n }\n</div>\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\n\n@Component({\n selector: 'lib-text-area',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule],\n templateUrl: './text-area.component.html',\n styleUrl: './text-area.component.scss',\n})\nexport class TextAreaComponent {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n constructor(private mstateHelper: MstateAngularHelper) {}\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","<div\n class=\"form-group\"\n [formGroup]=\"mstateModel\"\n style=\"display: flex; flex-direction: column\"\n>\n <label>{{ config.label }}</label>\n <textarea\n style=\"flex: 1\"\n rows=\"3\"\n [required]=\"config.field.isRequired || false\"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n class=\"form-control\"\n ></textarea>\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>\n {{ checkInputError(mstateModel, config.field.keyForAPI).message }}\n </small>\n }\n</div>\n","import {\n Component,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Step, UserInput } from '../interfaces/interface';\nimport { MstateAngularHelper } from '../mstate-angular.helper';\nimport { MstateAngularService } from '../mstate-angular.service';\nimport { FieldType } from '../common/enum';\nimport { InputFieldComponent } from '../components/input-field/input-field.component';\nimport { SelectComponent } from '../components/select/select.component';\nimport { DropdownComponent } from '../components/dropdown/dropdown.component';\nimport { FormGroup } from '@angular/forms';\nimport { TextAreaComponent } from '../components/text-area/text-area.component';\n\n@Component({\n selector: 'mobi-office-input-selector',\n standalone: true,\n imports: [\n CommonModule,\n InputFieldComponent,\n SelectComponent,\n DropdownComponent,\n TextAreaComponent,\n ],\n providers: [MstateAngularHelper, MstateAngularService],\n templateUrl: './input-selector.component.html',\n styleUrl: './input-selector.component.scss',\n})\nexport class InputSelectorComponent implements OnInit, OnChanges {\n @Input({ required: true }) step!: UserInput | Step;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n constructor(private mstateHelper: MstateAngularHelper) {}\n\n protected config!: UserInput;\n protected FieldType = FieldType;\n\n ngOnChanges(changes: SimpleChanges): void {\n this.config = this.mstateHelper.checkIsStep(this.step)\n ? this.step?.config?.data\n : this.step;\n }\n\n ngOnInit(): void {\n this.config = this.mstateHelper.checkIsStep(this.step)\n ? this.step?.config?.data\n : this.step;\n }\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","@switch (config.fieldType) {\n @case (FieldType.INPUT_FIELD) {\n <mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.DATE_PICKER) {\n <mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.TIME_PICKER) {\n <mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.TEXT_AREA) {\n <lib-text-area [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.DROP_DOWN) {\n <mobi-office-dropdown [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.RADIO_LIST) {\n <mobi-office-dropdown [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.CHECKBOX) {\n <mobi-office-select [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @default {}\n}\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'mobi-office-button',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './button.component.html',\n styleUrl: './button.component.scss',\n})\nexport class ButtonComponent {\n @Input() type: 'submit' | 'menu' | 'reset' | 'button' = 'submit';\n @Input() onClick: () => void = () => {};\n}\n","<button [type]=\"type\" (click)=\"onClick()\" class=\"btn\">\n <ng-content></ng-content>\n</button>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'mobi-office-loader',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './loader.component.html',\n styleUrl: './loader.component.scss',\n})\nexport class LoaderComponent {}\n","<img\n class=\"loader\"\n src=\"https://cdn.dribbble.com/users/10743/screenshots/2098959/ezgif.com-crop.gif\"\n alt=\"loading\"\n/>\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport { MstateAngularService } from '../mstate-angular.service';\nimport { catchError, finalize } from 'rxjs/operators';\nimport {\n ActionConfig,\n OnSuccessResponse,\n UserInput,\n} from '../interfaces/interface';\nimport { EvaluatedAction } from '../interfaces/api.interface';\nimport { ActionType, ManualStepModule } from '../common/enum';\nimport { InputSelectorComponent } from '../input-selector/input-selector.component';\nimport { ButtonComponent } from '../components/button/button.component';\nimport {\n FormBuilder,\n FormGroup,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { MstateAngularHelper } from '../mstate-angular.helper';\nimport { LoaderComponent } from '../components/loader/loader.component';\n\n@Component({\n selector: 'lib-action-form',\n standalone: true,\n imports: [\n InputSelectorComponent,\n ButtonComponent,\n ReactiveFormsModule,\n LoaderComponent,\n ],\n providers: [MstateAngularService, MstateAngularHelper],\n templateUrl: './action-form.component.html',\n styleUrl: './action-form.component.scss',\n})\nexport class ActionFormComponent implements OnChanges {\n @Input({ required: true }) token: string = '';\n @Input({ required: true }) workflow: string = '';\n @Input({ required: true }) config: ActionConfig | EvaluatedAction = {\n name: '',\n type: ActionType.MANUAL,\n steps: [],\n };\n @Output() onExecuteAction = new EventEmitter<{\n value: any;\n errors?: string[];\n }>();\n @Input() updateCustomFieldValue?: (key: string) => any = () => {};\n\n @Input() authHeader?: Record<string, string>;\n\n @Input() instanceID?: string;\n @Output() onSuccess = new EventEmitter<OnSuccessResponse>();\n\n //#region Custom Declaration\n protected form!: FormGroup;\n protected isLoading = false;\n protected nonUserInputField: any = {};\n protected customKeys: { key: string; as: string }[] = [];\n\n constructor(\n private fb: FormBuilder,\n private mstateAngularService: MstateAngularService,\n private mstateHelper: MstateAngularHelper,\n ) {\n this.form = this.fb.group({});\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['config']) {\n if (Boolean(this.config?.steps?.length) === false) {\n this.handleExecuteAction(true);\n return;\n }\n\n this.assignFormBuilder();\n this.handleStepConfigFilter();\n\n if (\n this.config?.steps?.some(\n (d) => d.module === ManualStepModule.USER_INPUT,\n ) === false\n ) {\n this.handleExecuteAction(true);\n return;\n }\n }\n }\n\n //#region handlers\n\n protected handleExecuteAction(skipValidation: boolean = false) {\n if (skipValidation || (this?.form && this.form.status === 'VALID')) {\n this.isLoading = true;\n\n let customConfig: any = {};\n if (this.updateCustomFieldValue) {\n for (const { key, as } of this.customKeys) {\n customConfig[as] = this.updateCustomFieldValue(key);\n }\n }\n\n this.mstateAngularService\n .executeAction({\n instanceID: this.instanceID,\n action: {\n name: this.config.name,\n payload: Object.assign(\n {\n ...(this?.form?.value ?? {}),\n ...this.nonUserInputField,\n },\n customConfig,\n ),\n },\n headers: this.authHeader,\n token: this.token,\n workflow: this.workflow,\n })\n .pipe(\n catchError((e) => {\n this.onExecuteAction.emit({\n value: {},\n errors: e.error?.errors ?? [],\n });\n\n throw e;\n }) as any,\n finalize(() => {\n this.isLoading = false;\n this.customKeys = [];\n }) as any,\n )\n .subscribe((data: any) => {\n if (data) {\n this.onExecuteAction.emit({\n value: data.data,\n errors: [],\n });\n if (this.onSuccess) {\n this.onSuccess.emit(\n Object.assign(data.data, {\n actionPerformed: this.config.name,\n }),\n );\n }\n }\n });\n } else {\n if (this.form) this.markAllAsTouched(this.form);\n }\n }\n private markAllAsTouched(formGroup: FormGroup): void {\n Object.keys(formGroup.controls).forEach((key) => {\n const control = formGroup.get(key);\n if (control?.markAsTouched) {\n control?.markAsTouched();\n }\n });\n }\n\n private handleStepConfigFilter = () => {\n const keyForAPISet = new Set();\n\n this.config.steps = this.config?.steps?.filter((stepConfig) => {\n const step = stepConfig as UserInput;\n\n switch (step?.module) {\n case ManualStepModule.CUSTOM_FIELD: {\n this.customKeys.push(step?.context);\n return true;\n }\n\n case ManualStepModule.CONTEXT_FIELD:\n this.nonUserInputField[step?.context?.as] = step?.context?.value;\n return true;\n\n default: {\n const isDuplicate = keyForAPISet.has(step?.field?.keyForAPI);\n keyForAPISet.add(step?.field?.keyForAPI);\n return isDuplicate === false;\n }\n }\n }) as UserInput[];\n };\n\n private assignFormBuilder() {\n const validators = this.config.steps.reduce(\n (acc, data) =>\n Object.assign(\n acc,\n this.mstateHelper.checkIsStep(data) === false &&\n this.mstateHelper.checkIsHandledStep(data.fieldType)\n ? {\n [data?.field?.keyForAPI]: [\n data?.field.multiple ? [] : null,\n data?.field?.isRequired ? [Validators.required] : undefined,\n ],\n }\n : {},\n ),\n {},\n );\n this.form = this.fb.group(validators);\n }\n\n //#endregion\n}\n","<div>\n <p style=\"font-size: 2rem; text-align: center\">\n {{ config.meta?.title ?? config.name }}\n </p>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\n @for (step of config.steps; track $index) {\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\n }\n\n <div style=\"margin-top: 10px\">\n <mobi-office-button type=\"submit\">\n @if (isLoading) {\n <div style=\"width: 25px\">\n <mobi-office-loader></mobi-office-loader>\n </div>\n } @else {\n Submit\n }\n </mobi-office-button>\n </div>\n </form>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvaluatedAction } from '../../interfaces/api.interface';\nimport { ActionConfig } from '../../interfaces/interface';\nimport { ButtonComponent } from '../button/button.component';\n\n@Component({\n selector: 'mobi-office-action-card',\n standalone: true,\n imports: [CommonModule, ButtonComponent],\n templateUrl: './action-card.component.html',\n styleUrl: './action-card.component.scss',\n})\nexport class ActionCardComponent {\n @Input({ required: true }) config?: EvaluatedAction | ActionConfig;\n @Output() executeAction = new EventEmitter<EvaluatedAction | ActionConfig>();\n\n triggerExecuteAction() {\n this.executeAction.emit(this.config);\n }\n}\n","<div class=\"card\" (click)=\"triggerExecuteAction()\">\n <img\n [src]=\"\n config?.meta?.icon ??\n 'https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2FMobiOffice%20Logo.png?alt=media&token=575b9568-0b4c-468f-ba99-4b613bd4e40b'\n \"\n alt=\"Card Image\"\n class=\"card-image\"\n />\n <div class=\"card-content\">\n <h3 class=\"card-title\" style=\"text-align: center\">\n {{ config?.meta?.displayName ?? config?.meta?.title ?? config?.name }}\n </h3>\n <p class=\"card-description\">\n {{ config?.meta?.desc }}\n </p>\n </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ButtonComponent } from '../button/button.component';\n\n@Component({\n selector: 'lib-error-card',\n standalone: true,\n imports: [ButtonComponent],\n templateUrl: './error-card.component.html',\n styleUrl: './error-card.component.scss',\n})\nexport class ErrorCardComponent {\n @Input({ required: true }) errors!: string[];\n @Output() retry = new EventEmitter<undefined>();\n\n protected handleRetryError() {\n this.retry.emit();\n }\n}\n","<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\n\n @for (message of errors; track message) {\n <p style=\"color: red; font-size: 1rem; text-align: center\">\n {{ message }}\n </p>\n }\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-workflow-end-card',\n standalone: true,\n imports: [],\n templateUrl: './workflow-end-card.component.html',\n styleUrl: './workflow-end-card.component.scss',\n})\nexport class WorkflowEndCardComponent {}\n","<p>Workflow Ended</p>\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Variable } from '../common/enum';\nimport { ActionFormComponent } from '../action-form/action-form.component';\nimport { MstateAngularHelper } from '../mstate-angular.helper';\nimport { MstateAngularService } from '../mstate-angular.service';\nimport { catchError, finalize } from 'rxjs';\nimport { EvaluatedAction } from '../interfaces/api.interface';\nimport { ActionConfig, OnSuccessResponse } from '../interfaces/interface';\nimport { ActionCardComponent } from '../components/action-card/action-card.component';\nimport { LoaderComponent } from '../components/loader/loader.component';\nimport { ErrorCardComponent } from '../components/error-card/error-card.component';\nimport { WorkflowEndCardComponent } from '../components/workflow-end-card/workflow-end-card.component';\n\n@Component({\n selector: 'mstate-angular',\n standalone: true,\n imports: [\n CommonModule,\n ActionFormComponent,\n ActionCardComponent,\n LoaderComponent,\n ErrorCardComponent,\n WorkflowEndCardComponent,\n ],\n providers: [MstateAngularHelper, MstateAngularService],\n templateUrl: './mstate-angular.component.html',\n styleUrl: './mstate-angular.component.scss',\n})\nexport class MstateAngularComponent implements OnChanges, OnInit {\n @Input({ required: true }) token: string = '';\n @Input({ required: true }) workflow: string = '';\n @Input() instanceID?: string;\n /**\n * @type {boolean}\n * @default true\n * @description Trigger if to start workflow.\n */\n @Input() start: boolean = true;\n /**\n * @type {string}\n * @description To Validate who are allowed to perform or see action.\n */\n @Input() who?: string;\n /**\n * Triggers whenever your current workflow moved to other.\n * @param {string} newInstanceID - The new instance ID on which your current workflow moved.\n * @returns {void}.\n */\n @Output() onInstanceChange = new EventEmitter<string>();\n /**\n * Triggers when The Action execution is completed.\n * @param {OnSuccessResponse} {actionPerformed} - action name which you have executed at this moment.\n * @returns {void}.\n */\n @Output() onSuccess = new EventEmitter<OnSuccessResponse>();\n /**\n * Triggers when Error occurs while performing any action.\n * @param {unknown[]} errors - Error response from the api call done by mstate.\n * @returns {void}.\n */\n @Output() onError = new EventEmitter<unknown[]>();\n /**\n * Handles your steps which contain Custom field module.\n * @param {string} key - Which key you expect for getting the value.\n * @returns {any} - whatever value you want to save in that custom field.\n */\n @Input() handleCustomField?: (key: string) => any;\n\n @Input() authHeader?: Record<string, string>;\n\n //#region Variables & Events\n\n protected isLoading = true;\n protected errors: any[] = [];\n protected errorMessages: string[] = [];\n protected allowedActions: (EvaluatedAction | ActionConfig)[] = [];\n\n constructor(\n private mstateAngularHelper: MstateAngularHelper,\n private mstateAngularService: MstateAngularService,\n ) {}\n\n ngOnInit(): void {\n if (this.start) this.setAllowedActions();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.mstateAngularHelper.detectChange(changes, [Variable.START])) {\n if (this.start) this.setAllowedActions();\n }\n }\n\n //#endregion\n\n //#region Handlers\n\n private setAllowedActions() {\n this.isLoading = true;\n\n if (this.instanceID) {\n this.mstateAngularService\n .getCurrentActionsWithInstanceID({\n instanceID: this.instanceID,\n token: this.token,\n })\n .pipe(\n catchError((err: any) => {\n this.handleError({}, err.error?.errors);\n throw err;\n }) as any,\n finalize(() => {\n this.isLoading = false;\n }) as any,\n )\n .subscribe((data: any) => {\n if (data)\n this.allowedActions = this.filterActionList(\n Object.values(data.data),\n );\n });\n } else {\n this.mstateAngularService\n .getCurrentActionsWithoutInstanceID({\n workflow: this.workflow,\n token: this.token,\n })\n .pipe(\n catchError((err: any) => {\n this.handleError({}, err.error?.errors);\n throw err;\n }) as any,\n finalize(() => {\n this.isLoading = false;\n }) as any,\n )\n .subscribe((data: any) => {\n if (data)\n this.allowedActions = this.filterActionList(\n Object.values(data.data),\n );\n });\n }\n }\n\n protected filterActionList(actions: (EvaluatedAction | ActionConfig)[]) {\n return actions\n .sort((a, b) => a?.meta?.order - b?.meta?.order)\n .filter((a) => !a?.meta?.hide);\n }\n\n protected handleExecuteAction(response: { value: any; errors?: string[] }) {\n const { value, errors = [] } = response;\n\n if (errors?.length) {\n this.handleError(value, errors);\n } else {\n this.allowedActions = this.filterActionList(value.actions);\n }\n\n if (\n value?.instanceID &&\n value?.instanceID !== this.instanceID &&\n !errors?.length\n ) {\n this.instanceID = value?.instanceID;\n\n this.onInstanceChange.emit(value?.instanceID);\n }\n }\n\n protected handleActionExecution(config: EvaluatedAction | ActionConfig) {\n this.allowedActions = this.filterActionList([config]);\n }\n\n protected handleRetryAction() {\n if (this.allowedActions.length === 0) {\n if (this.start) this.setAllowedActions();\n }\n\n this.errors = [];\n this.errorMessages = [];\n }\n\n private handleError(value: any, errors: any[]) {\n this.errors = errors;\n value.instanceID = errors[0]\n ?.split(\"instanceID='\")\n ?.pop()\n ?.replace(\"'\", '');\n this.errorMessages = this.errors\n .filter((e: string) => typeof e === 'string')\n .map((msg) => msg.replace(/ instanceID='(.*)'/i, ''));\n\n if (this.onError) {\n this.onError.emit(this.errors);\n }\n }\n //#endregion\n}\n","<div class=\"mstate-angular\">\n <!-- <img\n src=\"https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2Flogo.png?alt=media&token=e5f238f0-c373-4c76-9168-37fbe7da1de0\"\n alt=\"logo\"\n width=\"100%\"\n class=\"logo\"\n /> -->\n\n @if (isLoading) {\n <mobi-office-loader class=\"flex-container\" />\n } @else if (errorMessages.length) {\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\n } @else {\n @switch (allowedActions.length) {\n @case (0) {\n <lib-workflow-end-card />\n }\n @case (1) {\n <lib-action-form\n [workflow]=\"workflow\"\n [token]=\"token\"\n [authHeader]=\"authHeader\"\n [instanceID]=\"instanceID\"\n [config]=\"allowedActions[0]\"\n (onExecuteAction)=\"handleExecuteAction($event)\"\n [updateCustomFieldValue]=\"handleCustomField\"\n (onSuccess)=\"onSuccess.emit($event)\"\n ></lib-action-form>\n }\n @default {\n <div class=\"flex-container\">\n @for (item of allowedActions; track $index) {\n <mobi-office-action-card\n [config]=\"item\"\n (executeAction)=\"handleActionExecution($event)\"\n />\n }\n </div>\n }\n }\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MstateAngularComponent } from './mstate-angular/mstate-angular.component';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [CommonModule, MstateAngularComponent, ReactiveFormsModule], // Import other necessary modules like CommonModule\n exports: [MstateAngularComponent], // Export the pipe so it can be used externally\n})\nexport class MstateAngularModule {}\n","/*\n * Public API Surface of mstate-angular\n */\n\nexport * from './lib/mstate-angular/mstate-angular.component';\nexport * from './lib/mstate-angular.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.MstateAngularHelper","i1.MstateAngularHelper","i1.MstateAngularService","i3","i1","i2.MstateAngularService","i3.MstateAngularHelper","catchError","finalize"],"mappings":"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"}
1
+ {"version":3,"file":"mstate-angular.mjs","sources":["../../../projects/mstate-angular/src/lib/common/enum.ts","../../../projects/mstate-angular/src/lib/common/constant.ts","../../../projects/mstate-angular/src/lib/mstate-angular.helper.ts","../../../projects/mstate-angular/src/lib/mstate-angular.service.ts","../../../projects/mstate-angular/src/lib/components/input-field/input-field.component.ts","../../../projects/mstate-angular/src/lib/components/input-field/input-field.component.html","../../../projects/mstate-angular/src/lib/components/select/select.component.ts","../../../projects/mstate-angular/src/lib/components/select/select.component.html","../../../projects/mstate-angular/src/lib/components/dropdown/dropdown.component.ts","../../../projects/mstate-angular/src/lib/components/dropdown/dropdown.component.html","../../../projects/mstate-angular/src/lib/components/text-area/text-area.component.ts","../../../projects/mstate-angular/src/lib/components/text-area/text-area.component.html","../../../projects/mstate-angular/src/lib/input-selector/input-selector.component.ts","../../../projects/mstate-angular/src/lib/input-selector/input-selector.component.html","../../../projects/mstate-angular/src/lib/components/button/button.component.ts","../../../projects/mstate-angular/src/lib/components/button/button.component.html","../../../projects/mstate-angular/src/lib/components/loader/loader.component.ts","../../../projects/mstate-angular/src/lib/components/loader/loader.component.html","../../../projects/mstate-angular/src/lib/action-form/action-form.component.ts","../../../projects/mstate-angular/src/lib/action-form/action-form.component.html","../../../projects/mstate-angular/src/lib/components/action-card/action-card.component.ts","../../../projects/mstate-angular/src/lib/components/action-card/action-card.component.html","../../../projects/mstate-angular/src/lib/components/error-card/error-card.component.ts","../../../projects/mstate-angular/src/lib/components/error-card/error-card.component.html","../../../projects/mstate-angular/src/lib/components/workflow-end-card/workflow-end-card.component.ts","../../../projects/mstate-angular/src/lib/components/workflow-end-card/workflow-end-card.component.html","../../../projects/mstate-angular/src/lib/mstate-angular/mstate-angular.component.ts","../../../projects/mstate-angular/src/lib/mstate-angular/mstate-angular.component.html","../../../projects/mstate-angular/src/lib/mstate-angular.module.ts","../../../projects/mstate-angular/src/public-api.ts","../../../projects/mstate-angular/src/mstate-angular.ts"],"sourcesContent":["export enum Route {\n EXECUTE_ACTION = 'workflow/v2/execute',\n GET_WORKFLOW_CONFIG = 'workflow/config',\n GET_CURRENT_ACTIONS_WITHOUT_INSTANCE = 'workflow/v2/actions',\n GET_CURRENT_ACTIONS_WITH_INSTANCE = 'workflow/actions',\n}\n\nexport enum FieldType {\n DATE_PICKER = 'datePicker',\n TIME_PICKER = 'timePicker',\n INPUT_FIELD = 'inputField',\n TEXT_AREA = 'textArea',\n CHECKBOX = 'checkBox',\n RADIO_LIST = 'radioList',\n DROP_DOWN = 'dropDown',\n SUMMARY = 'summary',\n CONTEXT_FIELD = 'CONTEXT_FIELD',\n CUSTOM_FIELD = 'CUSTOM_FIELD',\n}\n\nexport enum ManualStepModule {\n CONTEXT_FIELD = 'CONTEXT_FIELD',\n CUSTOM_FIELD = 'CUSTOM_FIELD',\n USER_INPUT = 'USER_INPUT',\n}\n\nexport enum Theme {\n DARK = 'dark',\n LIGHT = 'light',\n SYSTEM = 'system',\n}\n\nexport enum Variable {\n WORKFLOW = 'workflow',\n TOKEN = 'token',\n INSTANCE_ID = 'instanceID',\n START = 'start',\n TRIGGER_AGAIN = 'triggerAgain',\n ERRORS = 'errors',\n}\n\nexport enum ActionType {\n MANUAL = 'MANUAL',\n AUTO = 'AUTO',\n CHAINED = 'CHAINED',\n}\n","// export const MSTATE_URL: string = 'https://dev.mstate.mobioffice.io/api';\n// export const MSTATE_URL = 'http://localhost:3000/api';\nexport const MSTATE_URL: string = 'https://api.mstate.mobioffice.io/api';\nexport const TOKEN_KEY: string = 'secret-key';\n","import { Injectable, SimpleChanges } from '@angular/core';\nimport { Step, UserInput } from './interfaces/interface';\nimport { FieldType } from './common/enum';\nimport { FormGroup } from '@angular/forms';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MstateAngularHelper {\n detectChange(change: SimpleChanges, keys: string[]) {\n for (const key of keys) {\n if (change[key] && change[key].currentValue !== change[key].previousValue)\n return true;\n }\n\n return false;\n }\n\n formatString(str: string = '') {\n return str.toUpperCase().replace(/_/gi, ' ');\n }\n\n getObjectValue<T>(obj: any, target: string) {\n const keys = target ? target.split('.') : [];\n\n let cur: any = obj;\n for (const key of keys) {\n cur = cur?.[key];\n }\n\n return cur as T | undefined;\n }\n\n checkIsStep(step: Step | UserInput): step is Step {\n return (step as Step)?.config !== undefined;\n }\n\n checkIsHandledStep(module: FieldType) {\n switch (module) {\n case FieldType.CHECKBOX:\n case FieldType.DROP_DOWN:\n case FieldType.INPUT_FIELD:\n case FieldType.TEXT_AREA:\n case FieldType.RADIO_LIST:\n case FieldType.DATE_PICKER:\n case FieldType.TIME_PICKER:\n return true;\n\n default:\n return false;\n }\n }\n\n checkInputError(form: FormGroup, key: string) {\n if (!form || !form.controls) {\n return { isError: false, message: '' };\n }\n\n const formData = form.controls[key] ?? {};\n\n switch (\n (formData.status === 'INVALID' && formData.touched) ||\n (formData.status === 'INVALID' && formData.dirty)\n ) {\n case true:\n return {\n isError: true,\n message: `${key} is required`,\n };\n default:\n return {\n isError: false,\n message: '',\n };\n }\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { MSTATE_URL, TOKEN_KEY } from './common/constant';\nimport { Route } from './common/enum';\n\nimport {\n GetCurrentActionsWithInstanceIDRequest,\n GetCurrentActionsWithoutInstanceIDRequest,\n GetCurrentActionsWithoutInstanceIDResponse,\n MstateResponse,\n PostExecuteActionRequest,\n PostExecuteActionResponse,\n} from './interfaces/api.interface';\nimport axios, { AxiosRequestConfig } from 'axios';\nimport { MstateAngularHelper } from './mstate-angular.helper';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MstateAngularService {\n private getHeaders(token: string) {\n return new HttpHeaders({\n 'Content-Type': 'application/json',\n [TOKEN_KEY]: token,\n });\n }\n\n constructor(\n private http: HttpClient,\n private mstateHelper: MstateAngularHelper,\n ) {}\n\n executeAction<T>(payload: PostExecuteActionRequest<T>) {\n return this.http.post<MstateResponse<PostExecuteActionResponse>>(\n `${MSTATE_URL}/${Route.EXECUTE_ACTION}`,\n {\n instanceID: payload.instanceID ?? '',\n name: payload.workflow,\n action: payload.action,\n headers: payload.headers || {},\n },\n { headers: this.getHeaders(payload.token) },\n );\n }\n\n getCurrentActionsWithInstanceID(\n payload: GetCurrentActionsWithInstanceIDRequest,\n ) {\n return this.http.get<\n MstateResponse<GetCurrentActionsWithoutInstanceIDResponse>\n >(\n `${MSTATE_URL}/${Route.GET_CURRENT_ACTIONS_WITH_INSTANCE}/${payload.instanceID}`,\n {\n headers: this.getHeaders(payload.token),\n },\n );\n }\n\n getCurrentActionsWithoutInstanceID(\n payload: GetCurrentActionsWithoutInstanceIDRequest,\n ) {\n return this.http.get<\n MstateResponse<GetCurrentActionsWithoutInstanceIDResponse>\n >(\n `${MSTATE_URL}/${Route.GET_CURRENT_ACTIONS_WITHOUT_INSTANCE}?name=${payload.workflow}`,\n {\n headers: this.getHeaders(payload.token),\n },\n );\n }\n\n async handleDropdownAPI(request: AxiosRequestConfig, target: string) {\n const response = await axios(request);\n\n return this.mstateHelper.getObjectValue<any>(response?.data, target) ?? [];\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\nimport { FieldType } from '../../common/enum';\n\n@Component({\n selector: 'mobi-office-input-field',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule],\n templateUrl: './input-field.component.html',\n styleUrl: './input-field.component.scss',\n})\nexport class InputFieldComponent {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n protected FieldType = FieldType;\n\n constructor(private mstateHelper: MstateAngularHelper) {}\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","<div\n class=\"form-group\"\n [formGroup]=\"mstateModel\"\n style=\"display: flex; flex-direction: column\"\n>\n <label>{{ config.label }}</label>\n <input\n style=\"flex: 1\"\n [required]=\"config.field.isRequired || false\"\n [type]=\"\n config.fieldType === FieldType.TIME_PICKER ? 'time' : config.inputType\n \"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n class=\"form-control\"\n />\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>\n {{ checkInputError(mstateModel, config.field.keyForAPI).message }}\n </small>\n }\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MstateAngularService } from '../../mstate-angular.service';\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\n@Component({\n selector: 'mobi-office-select',\n standalone: true,\n imports: [ReactiveFormsModule, NgSelectModule, CommonModule],\n providers: [MstateAngularService],\n templateUrl: './select.component.html',\n styleUrl: './select.component.scss',\n})\nexport class SelectComponent implements OnInit {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n constructor(\n private mstateService: MstateAngularService,\n private mstateHelper: MstateAngularHelper,\n ) {}\n\n protected list: any[] = [];\n\n ngOnInit(): void {\n const field = this.config.field ?? {};\n\n if (field.request?.url) {\n this.mstateService\n .handleDropdownAPI(field.request, field?.mapper?.target ?? '')\n .then((data) => {\n this.list = data;\n })\n .catch((e) => console.log(e));\n } else {\n this.list = field.itemList ?? [];\n }\n }\n\n getObjectValue(obj: any, target: string) {\n return this.mstateHelper.getObjectValue(obj, target);\n }\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","<div class=\"form-group\" [formGroup]=\"mstateModel\">\n <label>{{ config.label }}</label>\n\n <ng-select\n [required]=\"config.field.isRequired || false\"\n [items]=\"list\"\n [multiple]=\"true\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n >\n </ng-select>\n\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MstateAngularService } from '../../mstate-angular.service';\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\n@Component({\n selector: 'mobi-office-dropdown',\n standalone: true,\n imports: [ReactiveFormsModule, NgSelectModule, CommonModule],\n providers: [MstateAngularService],\n templateUrl: './dropdown.component.html',\n styleUrl: './dropdown.component.scss',\n})\nexport class DropdownComponent implements OnInit {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n constructor(\n private mstateService: MstateAngularService,\n private mstateHelper: MstateAngularHelper,\n ) {}\n\n protected list: any[] = [];\n\n ngOnInit(): void {\n const field = this.config.field ?? {};\n\n if (field.request?.url) {\n this.mstateService\n .handleDropdownAPI(field.request, field?.mapper?.target ?? '')\n .then((data) => {\n this.list = data;\n })\n .catch((e) => console.log(e));\n } else {\n this.list = field.itemList ?? [];\n }\n }\n\n getObjectValue(obj: any, target: string) {\n return this.mstateHelper.getObjectValue(obj, target);\n }\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","<div class=\"form-group\" [formGroup]=\"mstateModel\">\n <label>{{ config.label }}</label>\n\n <ng-select\n [items]=\"list\"\n [multiple]=\"false\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n [required]=\"config.field.isRequired || false\"\n ></ng-select>\n\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>\n {{ checkInputError(mstateModel, config.field.keyForAPI).message }}\n </small>\n }\n</div>\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\n\n@Component({\n selector: 'lib-text-area',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule],\n templateUrl: './text-area.component.html',\n styleUrl: './text-area.component.scss',\n})\nexport class TextAreaComponent {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n constructor(private mstateHelper: MstateAngularHelper) {}\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","<div\n class=\"form-group\"\n [formGroup]=\"mstateModel\"\n style=\"display: flex; flex-direction: column\"\n>\n <label>{{ config.label }}</label>\n <textarea\n style=\"flex: 1\"\n rows=\"3\"\n [required]=\"config.field.isRequired || false\"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n class=\"form-control\"\n ></textarea>\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>\n {{ checkInputError(mstateModel, config.field.keyForAPI).message }}\n </small>\n }\n</div>\n","import {\n Component,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Step, UserInput } from '../interfaces/interface';\nimport { MstateAngularHelper } from '../mstate-angular.helper';\nimport { MstateAngularService } from '../mstate-angular.service';\nimport { FieldType } from '../common/enum';\nimport { InputFieldComponent } from '../components/input-field/input-field.component';\nimport { SelectComponent } from '../components/select/select.component';\nimport { DropdownComponent } from '../components/dropdown/dropdown.component';\nimport { FormGroup } from '@angular/forms';\nimport { TextAreaComponent } from '../components/text-area/text-area.component';\n\n@Component({\n selector: 'mobi-office-input-selector',\n standalone: true,\n imports: [\n CommonModule,\n InputFieldComponent,\n SelectComponent,\n DropdownComponent,\n TextAreaComponent,\n ],\n providers: [MstateAngularHelper, MstateAngularService],\n templateUrl: './input-selector.component.html',\n styleUrl: './input-selector.component.scss',\n})\nexport class InputSelectorComponent implements OnInit, OnChanges {\n @Input({ required: true }) step!: UserInput | Step;\n @Input({ required: true }) mstateModel!: FormGroup;\n\n constructor(private mstateHelper: MstateAngularHelper) {}\n\n protected config!: UserInput;\n protected FieldType = FieldType;\n\n ngOnChanges(changes: SimpleChanges): void {\n this.config = this.mstateHelper.checkIsStep(this.step)\n ? this.step?.config?.data\n : this.step;\n }\n\n ngOnInit(): void {\n this.config = this.mstateHelper.checkIsStep(this.step)\n ? this.step?.config?.data\n : this.step;\n }\n\n checkInputError(form: FormGroup, key: string) {\n return this.mstateHelper.checkInputError(form, key);\n }\n}\n","@switch (config.fieldType) {\n @case (FieldType.INPUT_FIELD) {\n <mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.DATE_PICKER) {\n <mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.TIME_PICKER) {\n <mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.TEXT_AREA) {\n <lib-text-area [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.DROP_DOWN) {\n <mobi-office-dropdown [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.RADIO_LIST) {\n <mobi-office-dropdown [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.CHECKBOX) {\n <mobi-office-select [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @default {}\n}\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'mobi-office-button',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './button.component.html',\n styleUrl: './button.component.scss',\n})\nexport class ButtonComponent {\n @Input() type: 'submit' | 'menu' | 'reset' | 'button' = 'submit';\n @Input() onClick: () => void = () => {};\n}\n","<button [type]=\"type\" (click)=\"onClick()\" class=\"btn\">\n <ng-content></ng-content>\n</button>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'mobi-office-loader',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './loader.component.html',\n styleUrl: './loader.component.scss',\n})\nexport class LoaderComponent {}\n","<div class=\"ms-loader-wrap\">\n <div class=\"ms-ring\">\n <div class=\"ms-ring__arc ms-ring__arc--1\"></div>\n <div class=\"ms-ring__arc ms-ring__arc--2\"></div>\n <div class=\"ms-ring__arc ms-ring__arc--3\"></div>\n </div>\n <p class=\"ms-loader-text\">Loading<span class=\"ms-dots\"><span>.</span><span>.</span><span>.</span></span></p>\n</div>\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport { MstateAngularService } from '../mstate-angular.service';\nimport { catchError, finalize } from 'rxjs/operators';\nimport {\n ActionConfig,\n OnSuccessResponse,\n UserInput,\n} from '../interfaces/interface';\nimport { EvaluatedAction } from '../interfaces/api.interface';\nimport { ActionType, ManualStepModule } from '../common/enum';\nimport { InputSelectorComponent } from '../input-selector/input-selector.component';\nimport { ButtonComponent } from '../components/button/button.component';\nimport {\n FormBuilder,\n FormGroup,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { MstateAngularHelper } from '../mstate-angular.helper';\nimport { LoaderComponent } from '../components/loader/loader.component';\n\n@Component({\n selector: 'lib-action-form',\n standalone: true,\n imports: [\n InputSelectorComponent,\n ButtonComponent,\n ReactiveFormsModule,\n LoaderComponent,\n ],\n providers: [MstateAngularService, MstateAngularHelper],\n templateUrl: './action-form.component.html',\n styleUrl: './action-form.component.scss',\n})\nexport class ActionFormComponent implements OnChanges {\n @Input({ required: true }) token: string = '';\n @Input({ required: true }) workflow: string = '';\n @Input({ required: true }) config: ActionConfig | EvaluatedAction = {\n name: '',\n type: ActionType.MANUAL,\n steps: [],\n };\n @Output() onExecuteAction = new EventEmitter<{\n value: any;\n errors?: string[];\n }>();\n @Input() updateCustomFieldValue?: (key: string) => any = () => {};\n\n @Input() authHeader?: Record<string, string>;\n\n @Input() instanceID?: string;\n @Output() onSuccess = new EventEmitter<OnSuccessResponse>();\n\n //#region Custom Declaration\n protected form!: FormGroup;\n protected isLoading = false;\n protected nonUserInputField: any = {};\n protected customKeys: { key: string; as: string }[] = [];\n\n constructor(\n private fb: FormBuilder,\n private mstateAngularService: MstateAngularService,\n private mstateHelper: MstateAngularHelper,\n ) {\n this.form = this.fb.group({});\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['config']) {\n if (Boolean(this.config?.steps?.length) === false) {\n this.handleExecuteAction(true);\n return;\n }\n\n this.assignFormBuilder();\n this.handleStepConfigFilter();\n\n if (\n this.config?.steps?.some(\n (d) => d.module === ManualStepModule.USER_INPUT,\n ) === false\n ) {\n this.handleExecuteAction(true);\n return;\n }\n }\n }\n\n //#region handlers\n\n protected handleExecuteAction(skipValidation: boolean = false) {\n if (skipValidation || (this?.form && this.form.status === 'VALID')) {\n this.isLoading = true;\n\n let customConfig: any = {};\n if (this.updateCustomFieldValue) {\n for (const { key, as } of this.customKeys) {\n customConfig[as] = this.updateCustomFieldValue(key);\n }\n }\n\n this.mstateAngularService\n .executeAction({\n instanceID: this.instanceID,\n action: {\n name: this.config.name,\n payload: Object.assign(\n {\n ...(this?.form?.value ?? {}),\n ...this.nonUserInputField,\n },\n customConfig,\n ),\n },\n headers: this.authHeader,\n token: this.token,\n workflow: this.workflow,\n })\n .pipe(\n catchError((e) => {\n this.onExecuteAction.emit({\n value: {},\n errors: e.error?.errors ?? [],\n });\n\n throw e;\n }) as any,\n finalize(() => {\n this.isLoading = false;\n this.customKeys = [];\n }) as any,\n )\n .subscribe((data: any) => {\n if (data) {\n this.onExecuteAction.emit({\n value: data.data,\n errors: [],\n });\n if (this.onSuccess) {\n this.onSuccess.emit(\n Object.assign(data.data, {\n actionPerformed: this.config.name,\n }),\n );\n }\n }\n });\n } else {\n if (this.form) this.markAllAsTouched(this.form);\n }\n }\n private markAllAsTouched(formGroup: FormGroup): void {\n Object.keys(formGroup.controls).forEach((key) => {\n const control = formGroup.get(key);\n if (control?.markAsTouched) {\n control?.markAsTouched();\n }\n });\n }\n\n private handleStepConfigFilter = () => {\n const keyForAPISet = new Set();\n\n this.config.steps = this.config?.steps?.filter((stepConfig) => {\n const step = stepConfig as UserInput;\n\n switch (step?.module) {\n case ManualStepModule.CUSTOM_FIELD: {\n this.customKeys.push(step?.context);\n return true;\n }\n\n case ManualStepModule.CONTEXT_FIELD:\n this.nonUserInputField[step?.context?.as] = step?.context?.value;\n return true;\n\n default: {\n const isDuplicate = keyForAPISet.has(step?.field?.keyForAPI);\n keyForAPISet.add(step?.field?.keyForAPI);\n return isDuplicate === false;\n }\n }\n }) as UserInput[];\n };\n\n private assignFormBuilder() {\n const validators = this.config.steps.reduce(\n (acc, data) =>\n Object.assign(\n acc,\n this.mstateHelper.checkIsStep(data) === false &&\n this.mstateHelper.checkIsHandledStep(data.fieldType)\n ? {\n [data?.field?.keyForAPI]: [\n data?.field.multiple ? [] : null,\n data?.field?.isRequired ? [Validators.required] : undefined,\n ],\n }\n : {},\n ),\n {},\n );\n this.form = this.fb.group(validators);\n }\n\n //#endregion\n}\n","<div class=\"ms-form-card\">\n <p class=\"ms-form-title\">{{ config.meta?.title ?? config.name }}</p>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\n <div class=\"ms-fields\">\n @for (step of config.steps; track $index) {\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\n }\n </div>\n\n <div class=\"ms-form-footer\">\n <mobi-office-button type=\"submit\" [class.is-loading]=\"isLoading\">\n @if (isLoading) {\n <span class=\"btn-spinner\"></span>\n <span>Submitting…</span>\n } @else {\n <span class=\"btn-icon\">✓</span>\n <span>Submit</span>\n }\n </mobi-office-button>\n </div>\n </form>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvaluatedAction } from '../../interfaces/api.interface';\nimport { ActionConfig } from '../../interfaces/interface';\nimport { ButtonComponent } from '../button/button.component';\n\n@Component({\n selector: 'mobi-office-action-card',\n standalone: true,\n imports: [CommonModule, ButtonComponent],\n templateUrl: './action-card.component.html',\n styleUrl: './action-card.component.scss',\n})\nexport class ActionCardComponent {\n @Input({ required: true }) config?: EvaluatedAction | ActionConfig;\n @Output() executeAction = new EventEmitter<EvaluatedAction | ActionConfig>();\n\n triggerExecuteAction() {\n this.executeAction.emit(this.config);\n }\n}\n","<div class=\"card\" (click)=\"triggerExecuteAction()\">\n <img\n [src]=\"\n config?.meta?.icon ??\n 'https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2FMobiOffice%20Logo.png?alt=media&token=575b9568-0b4c-468f-ba99-4b613bd4e40b'\n \"\n alt=\"Card Image\"\n class=\"card-image\"\n />\n <div class=\"card-content\">\n <h3 class=\"card-title\" style=\"text-align: center\">\n {{ config?.meta?.displayName ?? config?.meta?.title ?? config?.name }}\n </h3>\n <p class=\"card-description\">\n {{ config?.meta?.desc }}\n </p>\n </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ButtonComponent } from '../button/button.component';\n\n@Component({\n selector: 'lib-error-card',\n standalone: true,\n imports: [ButtonComponent],\n templateUrl: './error-card.component.html',\n styleUrl: './error-card.component.scss',\n})\nexport class ErrorCardComponent {\n @Input({ required: true }) errors!: string[];\n @Output() retry = new EventEmitter<undefined>();\n\n protected handleRetryError() {\n this.retry.emit();\n }\n}\n","<div class=\"error\">\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\n\n @for (message of errors; track message) {\n <p style=\"color: red; font-size: 1rem; text-align: center\">\n {{ message }}\n </p>\n }\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-workflow-end-card',\n standalone: true,\n imports: [],\n templateUrl: './workflow-end-card.component.html',\n styleUrl: './workflow-end-card.component.scss',\n})\nexport class WorkflowEndCardComponent {}\n","<p>Workflow Ended</p>\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Variable } from '../common/enum';\nimport { ActionFormComponent } from '../action-form/action-form.component';\nimport { MstateAngularHelper } from '../mstate-angular.helper';\nimport { MstateAngularService } from '../mstate-angular.service';\nimport { catchError, finalize } from 'rxjs';\nimport { EvaluatedAction } from '../interfaces/api.interface';\nimport { ActionConfig, OnSuccessResponse } from '../interfaces/interface';\nimport { ActionCardComponent } from '../components/action-card/action-card.component';\nimport { LoaderComponent } from '../components/loader/loader.component';\nimport { ErrorCardComponent } from '../components/error-card/error-card.component';\nimport { WorkflowEndCardComponent } from '../components/workflow-end-card/workflow-end-card.component';\n\n@Component({\n selector: 'mstate-angular',\n standalone: true,\n imports: [\n CommonModule,\n ActionFormComponent,\n ActionCardComponent,\n LoaderComponent,\n ErrorCardComponent,\n WorkflowEndCardComponent,\n ],\n providers: [MstateAngularHelper, MstateAngularService],\n templateUrl: './mstate-angular.component.html',\n styleUrl: './mstate-angular.component.scss',\n})\nexport class MstateAngularComponent implements OnChanges, OnInit {\n @Input({ required: true }) token: string = '';\n @Input({ required: true }) workflow: string = '';\n @Input() instanceID?: string;\n /**\n * @type {boolean}\n * @default true\n * @description Trigger if to start workflow.\n */\n @Input() start: boolean = true;\n /**\n * @type {string}\n * @description To Validate who are allowed to perform or see action.\n */\n @Input() who?: string;\n /**\n * Triggers whenever your current workflow moved to other.\n * @param {string} newInstanceID - The new instance ID on which your current workflow moved.\n * @returns {void}.\n */\n @Output() onInstanceChange = new EventEmitter<string>();\n /**\n * Triggers when The Action execution is completed.\n * @param {OnSuccessResponse} {actionPerformed} - action name which you have executed at this moment.\n * @returns {void}.\n */\n @Output() onSuccess = new EventEmitter<OnSuccessResponse>();\n /**\n * Triggers when Error occurs while performing any action.\n * @param {unknown[]} errors - Error response from the api call done by mstate.\n * @returns {void}.\n */\n @Output() onError = new EventEmitter<unknown[]>();\n /**\n * Handles your steps which contain Custom field module.\n * @param {string} key - Which key you expect for getting the value.\n * @returns {any} - whatever value you want to save in that custom field.\n */\n @Input() handleCustomField?: (key: string) => any;\n\n @Input() authHeader?: Record<string, string>;\n\n //#region Variables & Events\n\n protected isLoading = true;\n protected errors: any[] = [];\n protected errorMessages: string[] = [];\n protected allowedActions: (EvaluatedAction | ActionConfig)[] = [];\n\n constructor(\n private mstateAngularHelper: MstateAngularHelper,\n private mstateAngularService: MstateAngularService,\n ) {}\n\n ngOnInit(): void {\n if (this.start) this.setAllowedActions();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.mstateAngularHelper.detectChange(changes, [Variable.START])) {\n if (this.start) this.setAllowedActions();\n }\n }\n\n //#endregion\n\n //#region Handlers\n\n private setAllowedActions() {\n this.isLoading = true;\n\n if (this.instanceID) {\n this.mstateAngularService\n .getCurrentActionsWithInstanceID({\n instanceID: this.instanceID,\n token: this.token,\n })\n .pipe(\n catchError((err: any) => {\n this.handleError({}, err.error?.errors);\n throw err;\n }) as any,\n finalize(() => {\n this.isLoading = false;\n }) as any,\n )\n .subscribe((data: any) => {\n if (data)\n this.allowedActions = this.filterActionList(\n Object.values(data.data),\n );\n });\n } else {\n this.mstateAngularService\n .getCurrentActionsWithoutInstanceID({\n workflow: this.workflow,\n token: this.token,\n })\n .pipe(\n catchError((err: any) => {\n this.handleError({}, err.error?.errors);\n throw err;\n }) as any,\n finalize(() => {\n this.isLoading = false;\n }) as any,\n )\n .subscribe((data: any) => {\n if (data)\n this.allowedActions = this.filterActionList(\n Object.values(data.data),\n );\n });\n }\n }\n\n protected filterActionList(actions: (EvaluatedAction | ActionConfig)[]) {\n return actions\n .sort((a, b) => a?.meta?.order - b?.meta?.order)\n .filter((a) => !a?.meta?.hide);\n }\n\n protected handleExecuteAction(response: { value: any; errors?: string[] }) {\n const { value, errors = [] } = response;\n\n if (errors?.length) {\n this.handleError(value, errors);\n } else {\n this.allowedActions = this.filterActionList(value.actions);\n }\n\n if (\n value?.instanceID &&\n value?.instanceID !== this.instanceID &&\n !errors?.length\n ) {\n this.instanceID = value?.instanceID;\n\n this.onInstanceChange.emit(value?.instanceID);\n }\n }\n\n protected handleActionExecution(config: EvaluatedAction | ActionConfig) {\n this.allowedActions = this.filterActionList([config]);\n }\n\n protected handleRetryAction() {\n if (this.allowedActions.length === 0) {\n if (this.start) this.setAllowedActions();\n }\n\n this.errors = [];\n this.errorMessages = [];\n }\n\n private handleError(value: any, errors: any[]) {\n this.errors = errors;\n value.instanceID = errors[0]\n ?.split(\"instanceID='\")\n ?.pop()\n ?.replace(\"'\", '');\n this.errorMessages = this.errors\n .filter((e: string) => typeof e === 'string')\n .map((msg) => msg.replace(/ instanceID='(.*)'/i, ''));\n\n if (this.onError) {\n this.onError.emit(this.errors);\n }\n }\n //#endregion\n}\n","<div class=\"mstate-angular\">\n <!-- <img\n src=\"https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2Flogo.png?alt=media&token=e5f238f0-c373-4c76-9168-37fbe7da1de0\"\n alt=\"logo\"\n width=\"100%\"\n class=\"logo\"\n /> -->\n\n @if (isLoading) {\n <mobi-office-loader class=\"flex-container\" />\n } @else if (errorMessages.length) {\n <lib-error-card [errors]=\"errorMessages\" (retry)=\"handleRetryAction()\" />\n } @else {\n @switch (allowedActions.length) {\n @case (0) {\n <lib-workflow-end-card />\n }\n @case (1) {\n <lib-action-form\n [workflow]=\"workflow\"\n [token]=\"token\"\n [authHeader]=\"authHeader\"\n [instanceID]=\"instanceID\"\n [config]=\"allowedActions[0]\"\n (onExecuteAction)=\"handleExecuteAction($event)\"\n [updateCustomFieldValue]=\"handleCustomField\"\n (onSuccess)=\"onSuccess.emit($event)\"\n ></lib-action-form>\n }\n @default {\n <div class=\"flex-container\">\n @for (item of allowedActions; track $index) {\n <mobi-office-action-card\n [config]=\"item\"\n (executeAction)=\"handleActionExecution($event)\"\n />\n }\n </div>\n }\n }\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MstateAngularComponent } from './mstate-angular/mstate-angular.component';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [CommonModule, MstateAngularComponent, ReactiveFormsModule], // Import other necessary modules like CommonModule\n exports: [MstateAngularComponent], // Export the pipe so it can be used externally\n})\nexport class MstateAngularModule {}\n","/*\n * Public API Surface of mstate-angular\n */\n\nexport * from './lib/mstate-angular/mstate-angular.component';\nexport * from './lib/mstate-angular.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.MstateAngularHelper","i1.MstateAngularHelper","i1.MstateAngularService","i3","i1","i2.MstateAngularService","i3.MstateAngularHelper","catchError","finalize"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mstate-angular",
3
- "version": "0.4.7",
3
+ "version": "0.4.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.0",
6
6
  "@angular/core": "^17.3.0",