mstate-angular 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/esm2022/lib/action-form/action-form.component.mjs +112 -0
  2. package/esm2022/lib/common/constant.mjs +5 -0
  3. package/esm2022/lib/common/enum.mjs +48 -0
  4. package/esm2022/lib/components/action-card/action-card.component.mjs +23 -0
  5. package/esm2022/lib/components/button/button.component.mjs +12 -0
  6. package/esm2022/lib/components/dropdown/dropdown.component.mjs +47 -0
  7. package/esm2022/lib/components/input-field/input-field.component.mjs +20 -0
  8. package/esm2022/lib/components/loader/loader.component.mjs +12 -0
  9. package/esm2022/lib/components/select/select.component.mjs +47 -0
  10. package/esm2022/lib/input-selector/input-selector.component.mjs +39 -0
  11. package/esm2022/lib/interfaces/api.interface.mjs +2 -0
  12. package/esm2022/lib/interfaces/interface.mjs +2 -0
  13. package/esm2022/lib/mstate-angular/mstate-angular.component.mjs +143 -0
  14. package/esm2022/lib/mstate-angular.helper.mjs +34 -0
  15. package/esm2022/lib/mstate-angular.module.mjs +17 -0
  16. package/esm2022/lib/mstate-angular.service.mjs +50 -0
  17. package/esm2022/mstate-angular.mjs +5 -0
  18. package/esm2022/public-api.mjs +6 -0
  19. package/fesm2022/mstate-angular.mjs +550 -0
  20. package/fesm2022/mstate-angular.mjs.map +1 -0
  21. package/index.d.ts +5 -0
  22. package/lib/action-form/action-form.component.d.ts +26 -0
  23. package/lib/common/constant.d.ts +2 -0
  24. package/lib/common/enum.d.ts +41 -0
  25. package/lib/components/action-card/action-card.component.d.ts +11 -0
  26. package/lib/components/button/button.component.d.ts +5 -0
  27. package/lib/components/dropdown/dropdown.component.d.ts +17 -0
  28. package/lib/components/input-field/input-field.component.d.ts +8 -0
  29. package/lib/components/loader/loader.component.d.ts +5 -0
  30. package/lib/components/select/select.component.d.ts +17 -0
  31. package/lib/input-selector/input-selector.component.d.ts +16 -0
  32. package/{src/lib/interfaces/api.interface.ts → lib/interfaces/api.interface.d.ts} +42 -51
  33. package/lib/interfaces/interface.d.ts +73 -0
  34. package/lib/mstate-angular/mstate-angular.component.d.ts +68 -0
  35. package/lib/mstate-angular.helper.d.ts +11 -0
  36. package/lib/mstate-angular.module.d.ts +8 -0
  37. package/lib/mstate-angular.service.d.ts +17 -0
  38. package/package.json +27 -14
  39. package/{src/public-api.ts → public-api.d.ts} +2 -6
  40. package/ng-package.json +0 -7
  41. package/src/lib/action-form/action-form.component.html +0 -13
  42. package/src/lib/action-form/action-form.component.scss +0 -0
  43. package/src/lib/action-form/action-form.component.spec.ts +0 -23
  44. package/src/lib/action-form/action-form.component.ts +0 -124
  45. package/src/lib/common/constant.ts +0 -4
  46. package/src/lib/common/enum.ts +0 -46
  47. package/src/lib/components/action-card/action-card.component.html +0 -1
  48. package/src/lib/components/action-card/action-card.component.scss +0 -0
  49. package/src/lib/components/action-card/action-card.component.spec.ts +0 -21
  50. package/src/lib/components/action-card/action-card.component.ts +0 -21
  51. package/src/lib/components/button/button.component.html +0 -3
  52. package/src/lib/components/button/button.component.scss +0 -0
  53. package/src/lib/components/button/button.component.spec.ts +0 -21
  54. package/src/lib/components/button/button.component.ts +0 -11
  55. package/src/lib/components/dropdown/dropdown.component.html +0 -10
  56. package/src/lib/components/dropdown/dropdown.component.scss +0 -0
  57. package/src/lib/components/dropdown/dropdown.component.spec.ts +0 -21
  58. package/src/lib/components/dropdown/dropdown.component.ts +0 -46
  59. package/src/lib/components/input-field/input-field.component.html +0 -9
  60. package/src/lib/components/input-field/input-field.component.scss +0 -0
  61. package/src/lib/components/input-field/input-field.component.spec.ts +0 -21
  62. package/src/lib/components/input-field/input-field.component.ts +0 -16
  63. package/src/lib/components/loader/loader.component.html +0 -1
  64. package/src/lib/components/loader/loader.component.scss +0 -0
  65. package/src/lib/components/loader/loader.component.spec.ts +0 -21
  66. package/src/lib/components/loader/loader.component.ts +0 -11
  67. package/src/lib/components/select/select.component.html +0 -10
  68. package/src/lib/components/select/select.component.scss +0 -43
  69. package/src/lib/components/select/select.component.spec.ts +0 -21
  70. package/src/lib/components/select/select.component.ts +0 -46
  71. package/src/lib/input-selector/input-selector.component.html +0 -23
  72. package/src/lib/input-selector/input-selector.component.scss +0 -0
  73. package/src/lib/input-selector/input-selector.component.spec.ts +0 -21
  74. package/src/lib/input-selector/input-selector.component.ts +0 -38
  75. package/src/lib/interfaces/interface.ts +0 -81
  76. package/src/lib/material.scss +0 -439
  77. package/src/lib/mstate-angular/mstate-angular.component.html +0 -40
  78. package/src/lib/mstate-angular/mstate-angular.component.scss +0 -36
  79. package/src/lib/mstate-angular/mstate-angular.component.spec.ts +0 -21
  80. package/src/lib/mstate-angular/mstate-angular.component.ts +0 -186
  81. package/src/lib/mstate-angular.helper.ts +0 -35
  82. package/src/lib/mstate-angular.module.ts +0 -9
  83. package/src/lib/mstate-angular.service.ts +0 -77
  84. package/tsconfig.lib.json +0 -14
  85. package/tsconfig.lib.prod.json +0 -10
  86. package/tsconfig.spec.json +0 -14
@@ -0,0 +1,550 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, Component, Input, EventEmitter, Output, NgModule } from '@angular/core';
3
+ import { CommonModule } from '@angular/common';
4
+ import * as i1 from '@angular/common/http';
5
+ import { HttpHeaders } from '@angular/common/http';
6
+ import axios from 'axios';
7
+ import * as i3 from '@angular/forms';
8
+ import { FormsModule } from '@angular/forms';
9
+ import * as i4 from '@ng-select/ng-select';
10
+ import { NgSelectModule } from '@ng-select/ng-select';
11
+ import { catchError, finalize } from 'rxjs';
12
+
13
+ var Route;
14
+ (function (Route) {
15
+ Route["EXECUTE_ACTION"] = "workflow/v2/execute";
16
+ Route["GET_WORKFLOW_CONFIG"] = "workflow/config";
17
+ Route["GET_CURRENT_ACTIONS_WITHOUT_INSTANCE"] = "workflow/v2/actions";
18
+ Route["GET_CURRENT_ACTIONS_WITH_INSTANCE"] = "workflow/actions";
19
+ })(Route || (Route = {}));
20
+ var FieldType;
21
+ (function (FieldType) {
22
+ FieldType["DATE_PICKER"] = "datePicker";
23
+ FieldType["TIME_PICKER"] = "timePicker";
24
+ FieldType["INPUT_FIELD"] = "inputField";
25
+ FieldType["TEXT_AREA"] = "textArea";
26
+ FieldType["CHECKBOX"] = "checkBox";
27
+ FieldType["RADIO_LIST"] = "radioList";
28
+ FieldType["DROP_DOWN"] = "dropDown";
29
+ FieldType["SUMMARY"] = "summary";
30
+ FieldType["CONTEXT_FIELD"] = "CONTEXT_FIELD";
31
+ FieldType["CUSTOM_FIELD"] = "CUSTOM_FIELD";
32
+ })(FieldType || (FieldType = {}));
33
+ var ManualStepModule;
34
+ (function (ManualStepModule) {
35
+ ManualStepModule["CONTEXT_FIELD"] = "CONTEXT_FIELD";
36
+ ManualStepModule["CUSTOM_FIELD"] = "CUSTOM_FIELD";
37
+ ManualStepModule["USER_INPUT"] = "USER_INPUT";
38
+ })(ManualStepModule || (ManualStepModule = {}));
39
+ var Theme;
40
+ (function (Theme) {
41
+ Theme["DARK"] = "dark";
42
+ Theme["LIGHT"] = "light";
43
+ Theme["SYSTEM"] = "system";
44
+ })(Theme || (Theme = {}));
45
+ var Variable;
46
+ (function (Variable) {
47
+ Variable["WORKFLOW"] = "workflow";
48
+ Variable["TOKEN"] = "token";
49
+ Variable["INSTANCE_ID"] = "instanceID";
50
+ Variable["START"] = "start";
51
+ Variable["TRIGGER_AGAIN"] = "triggerAgain";
52
+ Variable["ERRORS"] = "errors";
53
+ })(Variable || (Variable = {}));
54
+ var ActionType;
55
+ (function (ActionType) {
56
+ ActionType["MANUAL"] = "MANUAL";
57
+ ActionType["AUTO"] = "AUTO";
58
+ ActionType["CHAINED"] = "CHAINED";
59
+ })(ActionType || (ActionType = {}));
60
+
61
+ // export const MSTATE_URL = 'https://dev.mstate.mobioffice.io/api';
62
+ // export const MSTATE_URL = 'http://localhost:3000/api';
63
+ const MSTATE_URL = 'https://api.mstate.mobioffice.io/api';
64
+ const TOKEN_KEY = 'secret-key';
65
+
66
+ class MstateAngularHelper {
67
+ detectChange(change, keys) {
68
+ for (const key of keys) {
69
+ if (change[key] && change[key].currentValue !== change[key].previousValue)
70
+ return true;
71
+ }
72
+ return false;
73
+ }
74
+ formatString(str = '') {
75
+ return str.toUpperCase().replace(/_/gi, ' ');
76
+ }
77
+ getObjectValue(obj, target) {
78
+ const keys = target ? target.split('.') : [];
79
+ let cur = obj;
80
+ for (const key of keys) {
81
+ cur = cur?.[key];
82
+ }
83
+ return cur;
84
+ }
85
+ checkIsStep(step) {
86
+ return step?.config !== undefined;
87
+ }
88
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
89
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularHelper, providedIn: 'root' }); }
90
+ }
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularHelper, decorators: [{
92
+ type: Injectable,
93
+ args: [{
94
+ providedIn: 'root',
95
+ }]
96
+ }] });
97
+
98
+ class MstateAngularService {
99
+ getHeaders(token) {
100
+ return new HttpHeaders({
101
+ 'Content-Type': 'application/json',
102
+ [TOKEN_KEY]: token,
103
+ });
104
+ }
105
+ constructor(http, mstateHelper) {
106
+ this.http = http;
107
+ this.mstateHelper = mstateHelper;
108
+ }
109
+ executeAction(payload) {
110
+ return this.http.post(`${MSTATE_URL}/${Route.EXECUTE_ACTION}`, {
111
+ instanceID: payload.instanceID ?? '',
112
+ name: payload.workflow,
113
+ action: payload.action,
114
+ }, { headers: this.getHeaders(payload.token) });
115
+ }
116
+ getCurrentActionsWithInstanceID(payload) {
117
+ return this.http.get(`${MSTATE_URL}/${Route.GET_CURRENT_ACTIONS_WITH_INSTANCE}/${payload.instanceID}`, {
118
+ headers: this.getHeaders(payload.token),
119
+ });
120
+ }
121
+ getCurrentActionsWithoutInstanceID(payload) {
122
+ return this.http.get(`${MSTATE_URL}/${Route.GET_CURRENT_ACTIONS_WITHOUT_INSTANCE}?name=${payload.workflow}`, {
123
+ headers: this.getHeaders(payload.token),
124
+ });
125
+ }
126
+ async handleDropdownAPI(request, target) {
127
+ const { data } = await axios(request);
128
+ return this.mstateHelper.getObjectValue(data, target) ?? [];
129
+ }
130
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularService, deps: [{ token: i1.HttpClient }, { token: MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Injectable }); }
131
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularService, providedIn: 'root' }); }
132
+ }
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularService, decorators: [{
134
+ type: Injectable,
135
+ args: [{
136
+ providedIn: 'root',
137
+ }]
138
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: MstateAngularHelper }] });
139
+
140
+ class InputFieldComponent {
141
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
142
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InputFieldComponent, isStandalone: true, selector: "mobi-office-input-field", inputs: { config: "config", mstateModel: "mstateModel" }, ngImport: i0, template: "<div class=\"form-group\">\n <label>{{ config.label }}</label>\n <input\n [type]=\"config.inputType\"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n class=\"form-control\" />\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
143
+ }
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputFieldComponent, decorators: [{
145
+ type: Component,
146
+ args: [{ selector: 'mobi-office-input-field', standalone: true, imports: [CommonModule, FormsModule], template: "<div class=\"form-group\">\n <label>{{ config.label }}</label>\n <input\n [type]=\"config.inputType\"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n class=\"form-control\" />\n</div>\n" }]
147
+ }], propDecorators: { config: [{
148
+ type: Input,
149
+ args: [{ required: true }]
150
+ }], mstateModel: [{
151
+ type: Input,
152
+ args: [{ required: true }]
153
+ }] } });
154
+
155
+ class SelectComponent {
156
+ constructor(mstateService, mstateHelper) {
157
+ this.mstateService = mstateService;
158
+ this.mstateHelper = mstateHelper;
159
+ this.list = [];
160
+ }
161
+ ngOnInit() {
162
+ const field = this.config.field ?? {};
163
+ if (field.request) {
164
+ this.mstateService
165
+ .handleDropdownAPI(field.request, field?.mapper?.target ?? '')
166
+ .then((data) => {
167
+ this.list = data;
168
+ })
169
+ .catch((e) => console.log(e));
170
+ }
171
+ else {
172
+ this.list = field.itemList ?? [];
173
+ }
174
+ }
175
+ getObjectValue(obj, target) {
176
+ return this.mstateHelper.getObjectValue(obj, target);
177
+ }
178
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, deps: [{ token: MstateAngularService }, { token: MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
179
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectComponent, isStandalone: true, selector: "mobi-office-select", inputs: { config: "config", mstateModel: "mstateModel" }, providers: [MstateAngularService], ngImport: i0, template: "<div class=\"form-group\">\n <ng-select\n [items]=\"list\"\n [multiple]=\"config.field.placeholder\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n >\n </ng-select>\n</div>\n", styles: [".dropdown{position:relative;width:300px}.search-input{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px}.dropdown-menu{position:absolute;width:100%;max-height:150px;overflow-y:auto;background:#fff;border:1px solid #ccc;border-radius:4px;margin-top:5px;z-index:10}.dropdown-item{padding:8px;cursor:pointer}.dropdown-item:hover{background-color:#f0f0f0}.no-results{padding:8px;color:#888;text-align:center}.selected-option{margin-top:10px;font-weight:700}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["ariaLabelDropdown", "bindLabel", "bindValue", "ariaLabel", "markFirst", "placeholder", "fixedPlaceholder", "notFoundText", "typeToSearchText", "preventToggleOnRightClick", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "ngClass", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick", "keyDownFn"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "ngmodule", type: CommonModule }] }); }
180
+ }
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, decorators: [{
182
+ type: Component,
183
+ args: [{ selector: 'mobi-office-select', standalone: true, imports: [FormsModule, NgSelectModule, CommonModule], providers: [MstateAngularService], template: "<div class=\"form-group\">\n <ng-select\n [items]=\"list\"\n [multiple]=\"config.field.placeholder\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n >\n </ng-select>\n</div>\n", styles: [".dropdown{position:relative;width:300px}.search-input{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px}.dropdown-menu{position:absolute;width:100%;max-height:150px;overflow-y:auto;background:#fff;border:1px solid #ccc;border-radius:4px;margin-top:5px;z-index:10}.dropdown-item{padding:8px;cursor:pointer}.dropdown-item:hover{background-color:#f0f0f0}.no-results{padding:8px;color:#888;text-align:center}.selected-option{margin-top:10px;font-weight:700}\n"] }]
184
+ }], ctorParameters: () => [{ type: MstateAngularService }, { type: MstateAngularHelper }], propDecorators: { config: [{
185
+ type: Input,
186
+ args: [{ required: true }]
187
+ }], mstateModel: [{
188
+ type: Input,
189
+ args: [{ required: true }]
190
+ }] } });
191
+
192
+ class DropdownComponent {
193
+ constructor(mstateService, mstateHelper) {
194
+ this.mstateService = mstateService;
195
+ this.mstateHelper = mstateHelper;
196
+ this.list = [];
197
+ }
198
+ ngOnInit() {
199
+ const field = this.config.field ?? {};
200
+ if (field.request) {
201
+ this.mstateService
202
+ .handleDropdownAPI(field.request, field?.mapper?.target ?? '')
203
+ .then((data) => {
204
+ this.list = data;
205
+ })
206
+ .catch((e) => console.log(e));
207
+ }
208
+ else {
209
+ this.list = field.itemList ?? [];
210
+ }
211
+ }
212
+ getObjectValue(obj, target) {
213
+ return this.mstateHelper.getObjectValue(obj, target);
214
+ }
215
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, deps: [{ token: MstateAngularService }, { token: MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
216
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DropdownComponent, isStandalone: true, selector: "mobi-office-dropdown", inputs: { config: "config", mstateModel: "mstateModel" }, providers: [MstateAngularService], ngImport: i0, template: "<div class=\"form-group\">\n <ng-select\n [items]=\"list\"\n [multiple]=\"config.field.placeholder\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n >\n </ng-select>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["ariaLabelDropdown", "bindLabel", "bindValue", "ariaLabel", "markFirst", "placeholder", "fixedPlaceholder", "notFoundText", "typeToSearchText", "preventToggleOnRightClick", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "ngClass", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick", "keyDownFn"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "ngmodule", type: CommonModule }] }); }
217
+ }
218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, decorators: [{
219
+ type: Component,
220
+ args: [{ selector: 'mobi-office-dropdown', standalone: true, imports: [FormsModule, NgSelectModule, CommonModule], providers: [MstateAngularService], template: "<div class=\"form-group\">\n <ng-select\n [items]=\"list\"\n [multiple]=\"config.field.placeholder\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n >\n </ng-select>\n</div>\n" }]
221
+ }], ctorParameters: () => [{ type: MstateAngularService }, { type: MstateAngularHelper }], propDecorators: { config: [{
222
+ type: Input,
223
+ args: [{ required: true }]
224
+ }], mstateModel: [{
225
+ type: Input,
226
+ args: [{ required: true }]
227
+ }] } });
228
+
229
+ class InputSelectorComponent {
230
+ constructor(mstateHelper) {
231
+ this.mstateHelper = mstateHelper;
232
+ this.FieldType = FieldType;
233
+ }
234
+ ngOnInit() {
235
+ this.config = this.mstateHelper.checkIsStep(this.step)
236
+ ? this.step?.config?.data
237
+ : this.step;
238
+ }
239
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputSelectorComponent, deps: [{ token: MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
240
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputSelectorComponent, isStandalone: true, selector: "mobi-office-input-selector", inputs: { step: "step", mstateModel: "mstateModel" }, providers: [MstateAngularHelper, MstateAngularService], ngImport: i0, template: "@switch (config.fieldType) {\n @case (FieldType.INPUT_FIELD) {\n <mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.TEXT_AREA) {\n <mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\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\n @case (FieldType.CHECKBOX) {\n <mobi-office-select [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n\n @default {\n <p>Step Left to handle</p>\n }\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: InputFieldComponent, selector: "mobi-office-input-field", inputs: ["config", "mstateModel"] }, { kind: "component", type: SelectComponent, selector: "mobi-office-select", inputs: ["config", "mstateModel"] }, { kind: "component", type: DropdownComponent, selector: "mobi-office-dropdown", inputs: ["config", "mstateModel"] }] }); }
241
+ }
242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputSelectorComponent, decorators: [{
243
+ type: Component,
244
+ args: [{ selector: 'mobi-office-input-selector', standalone: true, imports: [
245
+ CommonModule,
246
+ InputFieldComponent,
247
+ SelectComponent,
248
+ DropdownComponent,
249
+ ], providers: [MstateAngularHelper, MstateAngularService], template: "@switch (config.fieldType) {\n @case (FieldType.INPUT_FIELD) {\n <mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.TEXT_AREA) {\n <mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\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\n @case (FieldType.CHECKBOX) {\n <mobi-office-select [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n\n @default {\n <p>Step Left to handle</p>\n }\n}\n" }]
250
+ }], ctorParameters: () => [{ type: MstateAngularHelper }], propDecorators: { step: [{
251
+ type: Input,
252
+ args: [{ required: true }]
253
+ }], mstateModel: [{
254
+ type: Input,
255
+ args: [{ required: true }]
256
+ }] } });
257
+
258
+ class ButtonComponent {
259
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
260
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonComponent, isStandalone: true, selector: "mobi-office-button", ngImport: i0, template: "<button>\n <ng-content></ng-content>\n</button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
261
+ }
262
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, decorators: [{
263
+ type: Component,
264
+ args: [{ selector: 'mobi-office-button', standalone: true, imports: [CommonModule], template: "<button>\n <ng-content></ng-content>\n</button>\n" }]
265
+ }] });
266
+
267
+ class ActionFormComponent {
268
+ constructor(mstateAngularService, mstateAngularHelper) {
269
+ this.mstateAngularService = mstateAngularService;
270
+ this.mstateAngularHelper = mstateAngularHelper;
271
+ this.token = '';
272
+ this.workflow = '';
273
+ this.config = {
274
+ name: '',
275
+ type: ActionType.MANUAL,
276
+ steps: [],
277
+ };
278
+ this.onExecuteAction = () => { };
279
+ //#region Custom Declaration
280
+ this.isLoading = true;
281
+ this.mstateModel = {};
282
+ this.handleStepConfigFilter = () => {
283
+ const keyForAPISet = new Set();
284
+ this.config.steps = this.config?.steps?.filter(stepConfig => {
285
+ const step = stepConfig;
286
+ switch (step?.module) {
287
+ case ManualStepModule.CUSTOM_FIELD: {
288
+ if (this.updateCustomFieldValue) {
289
+ this.mstateModel[step?.context?.as] = this.updateCustomFieldValue(step?.context?.key);
290
+ }
291
+ return true;
292
+ }
293
+ case ManualStepModule.CONTEXT_FIELD:
294
+ this.mstateModel[step?.context?.as] = step?.context?.value;
295
+ return true;
296
+ default: {
297
+ const isDuplicate = keyForAPISet.has(step?.field?.keyForAPI);
298
+ keyForAPISet.add(step?.field?.keyForAPI);
299
+ return isDuplicate === false;
300
+ }
301
+ }
302
+ });
303
+ };
304
+ }
305
+ ngOnInit() {
306
+ if (Boolean(this.config?.steps?.length) === false) {
307
+ this.handleExecuteAction();
308
+ return;
309
+ }
310
+ this.handleStepConfigFilter();
311
+ }
312
+ ngOnChanges(changes) {
313
+ console.log({ changes });
314
+ if (this.mstateAngularHelper.detectChange(changes, ['mstateModel'])) {
315
+ }
316
+ }
317
+ //#region handlers
318
+ handleExecuteAction() {
319
+ this.isLoading = true;
320
+ console.log(this.mstateModel);
321
+ // this.mstateAngularService
322
+ // .executeAction({
323
+ // action: {
324
+ // name: this.config.name,
325
+ // payload: this.mstateModel,
326
+ // },
327
+ // token: this.token,
328
+ // workflow: this.workflow,
329
+ // })
330
+ // .pipe(
331
+ // catchError(e => {
332
+ // throw e;
333
+ // }),
334
+ // finalize(() => {
335
+ // this.isLoading = false;
336
+ // })
337
+ // )
338
+ // .subscribe(data => {
339
+ // this.onExecuteAction(data.data);
340
+ // });
341
+ }
342
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, deps: [{ token: MstateAngularService }, { token: MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
343
+ 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", onExecuteAction: "onExecuteAction", updateCustomFieldValue: "updateCustomFieldValue", instanceID: "instanceID", onSuccess: "onSuccess" }, providers: [MstateAngularService, MstateAngularHelper], usesOnChanges: true, ngImport: i0, template: "<div>\r\n <h4>{{ config.meta?.title ?? config.name }}</h4>\r\n\r\n <form #userForm=\"ngForm\">\r\n @for (step of config.steps; track $index) {\r\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"mstateModel\" />\r\n }\r\n </form>\r\n\r\n <mobi-office-button (click)=\"handleExecuteAction()\"\r\n >Submit</mobi-office-button\r\n >\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: InputSelectorComponent, selector: "mobi-office-input-selector", inputs: ["step", "mstateModel"] }, { kind: "component", type: ButtonComponent, selector: "mobi-office-button" }] }); }
344
+ }
345
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, decorators: [{
346
+ type: Component,
347
+ args: [{ selector: 'lib-action-form', standalone: true, imports: [FormsModule, InputSelectorComponent, ButtonComponent], providers: [MstateAngularService, MstateAngularHelper], template: "<div>\r\n <h4>{{ config.meta?.title ?? config.name }}</h4>\r\n\r\n <form #userForm=\"ngForm\">\r\n @for (step of config.steps; track $index) {\r\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"mstateModel\" />\r\n }\r\n </form>\r\n\r\n <mobi-office-button (click)=\"handleExecuteAction()\"\r\n >Submit</mobi-office-button\r\n >\r\n</div>\r\n" }]
348
+ }], ctorParameters: () => [{ type: MstateAngularService }, { type: MstateAngularHelper }], propDecorators: { token: [{
349
+ type: Input,
350
+ args: [{ required: true }]
351
+ }], workflow: [{
352
+ type: Input,
353
+ args: [{ required: true }]
354
+ }], config: [{
355
+ type: Input,
356
+ args: [{ required: true }]
357
+ }], onExecuteAction: [{
358
+ type: Input,
359
+ args: [{ required: true }]
360
+ }], updateCustomFieldValue: [{
361
+ type: Input
362
+ }], instanceID: [{
363
+ type: Input
364
+ }], onSuccess: [{
365
+ type: Input
366
+ }] } });
367
+
368
+ class ActionCardComponent {
369
+ constructor() {
370
+ this.retryEmitter = new EventEmitter();
371
+ }
372
+ handleRetry() {
373
+ this.retryEmitter.emit(this.error);
374
+ }
375
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
376
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionCardComponent, isStandalone: true, selector: "mobi-office-action-card", inputs: { error: "error" }, outputs: { retryEmitter: "retryEmitter" }, ngImport: i0, template: "<p>action-card works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
377
+ }
378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCardComponent, decorators: [{
379
+ type: Component,
380
+ args: [{ selector: 'mobi-office-action-card', standalone: true, imports: [CommonModule], template: "<p>action-card works!</p>\n" }]
381
+ }], propDecorators: { error: [{
382
+ type: Input,
383
+ args: [{ required: true }]
384
+ }], retryEmitter: [{
385
+ type: Output
386
+ }] } });
387
+
388
+ class LoaderComponent {
389
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
390
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LoaderComponent, isStandalone: true, selector: "mobi-office-loader", ngImport: i0, template: "<p>Loading...</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
391
+ }
392
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoaderComponent, decorators: [{
393
+ type: Component,
394
+ args: [{ selector: 'mobi-office-loader', standalone: true, imports: [CommonModule], template: "<p>Loading...</p>\n" }]
395
+ }] });
396
+
397
+ class MstateAngularComponent {
398
+ constructor(mstateAngularHelper, mstateAngularService) {
399
+ this.mstateAngularHelper = mstateAngularHelper;
400
+ this.mstateAngularService = mstateAngularService;
401
+ this.token = '';
402
+ this.workflow = '';
403
+ /**
404
+ * @type {boolean}
405
+ * @default true
406
+ * @description Trigger if to start workflow.
407
+ */
408
+ this.start = true;
409
+ //#region Variables & Events
410
+ this.isLoading = true;
411
+ this.triggerAgain = false;
412
+ this.errors = [];
413
+ this.errorMessages = [];
414
+ this.allowedActions = [];
415
+ }
416
+ ngOnInit() {
417
+ if (this.start)
418
+ this.setAllowedActions();
419
+ }
420
+ ngOnChanges(changes) {
421
+ if (this.mstateAngularHelper.detectChange(changes, [
422
+ Variable.START,
423
+ Variable.TRIGGER_AGAIN,
424
+ ])) {
425
+ if (this.start)
426
+ this.setAllowedActions();
427
+ }
428
+ if (this.mstateAngularHelper.detectChange(changes, [Variable.ERRORS])) {
429
+ console.log({ mstateErrors: this.errors });
430
+ this.errorMessages = this.errors.filter((e) => typeof e === 'string');
431
+ }
432
+ }
433
+ //#endregion
434
+ //#region Handlers
435
+ setAllowedActions() {
436
+ this.isLoading = true;
437
+ if (this.instanceID) {
438
+ this.mstateAngularService
439
+ .getCurrentActionsWithInstanceID({
440
+ instanceID: this.instanceID,
441
+ token: this.token,
442
+ })
443
+ .pipe(catchError((err) => {
444
+ console.log(err);
445
+ throw err;
446
+ }), finalize(() => {
447
+ this.isLoading = false;
448
+ }))
449
+ .subscribe((data) => {
450
+ this.allowedActions = Object.values(data.data);
451
+ });
452
+ }
453
+ else {
454
+ this.mstateAngularService
455
+ .getCurrentActionsWithoutInstanceID({
456
+ workflow: this.workflow,
457
+ token: this.token,
458
+ })
459
+ .pipe(catchError((err) => {
460
+ console.log(err);
461
+ throw err;
462
+ }), finalize(() => {
463
+ this.isLoading = false;
464
+ }))
465
+ .subscribe((data) => {
466
+ this.allowedActions = Object.values(data.data);
467
+ });
468
+ }
469
+ }
470
+ handleExecuteAction(value, errors) {
471
+ if (errors?.length) {
472
+ this.errors = errors;
473
+ value.instanceID = errors[0]
474
+ ?.split("instanceID='")
475
+ ?.pop()
476
+ ?.replace("'", '');
477
+ }
478
+ else {
479
+ this.allowedActions = value.actions;
480
+ }
481
+ if (value?.instanceID &&
482
+ value?.instanceID !== this.instanceID &&
483
+ !errors?.length) {
484
+ this.instanceID = value?.instanceID;
485
+ if (this.onInstanceChange) {
486
+ this.onInstanceChange(value?.instanceID);
487
+ }
488
+ }
489
+ }
490
+ handleError(config) {
491
+ this.allowedActions = [config];
492
+ }
493
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularComponent, deps: [{ token: MstateAngularHelper }, { token: MstateAngularService }], target: i0.ɵɵFactoryTarget.Component }); }
494
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: MstateAngularComponent, isStandalone: true, selector: "mstate-angular", inputs: { token: "token", workflow: "workflow", instanceID: "instanceID", start: "start", theme: "theme", who: "who", onInstanceChange: "onInstanceChange", onSuccess: "onSuccess", onError: "onError", handleCustomField: "handleCustomField" }, providers: [MstateAngularHelper, MstateAngularService], usesOnChanges: true, ngImport: i0, template: "<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 @if (isLoading) {\n <mobi-office-loader></mobi-office-loader>\n } @else if (errorMessages.length) {\n @for (message of errorMessages; track message) {\n <p>\n {{ message }}\n </p>\n }\n } @else {\n @switch (allowedActions.length) {\n @case (0) {\n <h1>Workflow Ended</h1>\n }\n @case (1) {\n <lib-action-form\n [workflow]=\"workflow\"\n [token]=\"token\"\n [instanceID]=\"instanceID\"\n [config]=\"allowedActions[0]\"\n [onExecuteAction]=\"handleExecuteAction\"\n [updateCustomFieldValue]=\"handleCustomField\"\n [onSuccess]=\"onSuccess\"></lib-action-form>\n }\n @default {\n @for (item of allowedActions; track $index) {\n <mobi-office-action-card\n [error]=\"item\"\n (retryEmitter)=\"handleError($event)\"></mobi-office-action-card>\n }\n }\n }\n }\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap\";.mstate-angular *{font-family:Poppins,serif}.mstate-angular ::ng-deep .ng-select{padding-bottom:1.25em}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container:after{border-bottom-color:#0000;background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 1px;background-repeat:repeat-x}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-arrow-wrapper .ng-arrow,.mstate-angular .ng-select.ng-select-disabled .ng-clear-wrapper{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:hover:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-value-container .ng-placeholder{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);color:#3f51b5}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-arrow-wrapper .ng-arrow{color:#3f51b5}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-filtered .ng-select-container .ng-placeholder{display:initial}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-opened .ng-placeholder{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px)}.mstate-angular ::ng-deep .ng-select .ng-select-container{color:#000000de;align-items:baseline;min-height:51.5px}.mstate-angular ::ng-deep .ng-select .ng-select-container:after{border-bottom:thin solid rgba(0,0,0,.42);content:\"\";bottom:0;left:0;right:0;position:absolute;transition:border-color .3s cubic-bezier(.55,0,.55,.2)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline{padding:0 .5em;min-height:60px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:after{border:solid 1px rgba(0,0,0,.12);border-radius:5px;height:calc(100% - .5em);pointer-events:none;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:hover:after{border-color:#000000de;border-width:2px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-placeholder{padding:0 .25em;background-color:#fff;z-index:1}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-value{padding-left:.25em}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container{align-items:stretch;padding:.4375em 0;border-top:.84375em solid rgba(0,0,0,0)}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-placeholder{position:absolute;color:#0000008a;transform-origin:left 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep [dir=rtl] .ng-select .ng-select-container .ng-value-container .ng-placeholder{transform-origin:right 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input{bottom:.4375em}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{bottom:17px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-clear-wrapper{bottom:14px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-arrow-wrapper{align-self:flex-end;bottom:9px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-clear-wrapper{align-self:flex-end;bottom:7px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-select-container .ng-value-container .ng-value{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:hover:after{background-image:none;border:dotted 1px rgba(0,0,0,.12)}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-arrow-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-clear-wrapper{border-top:none}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{top:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-clear-wrapper{top:4px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background-color:#3f51b5;border-radius:2px;color:#fff;padding:2px 5px;margin:0 .4375em .4375em 0}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin:0 0 .4375em .4375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{font-size:14px;font-weight:500}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{color:#ffffff8a;padding-right:5px}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{padding-left:5px;padding-right:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{color:#ffffffde}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{line-height:1.375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value{align-items:center}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-value-container{padding-bottom:0;padding-top:.1875em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-clear-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-arrow-wrapper{border-top:.84375em solid rgba(0,0,0,0)}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper{color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:hover{color:#000000de}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:focus{color:#000000de;outline:none}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper{bottom:2px}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper .ng-arrow{border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;margin:0 4px;color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-spinner-zone{top:3px}.mstate-angular ::ng-deep .ng-dropdown-panel{background:#fff;left:0}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-top{bottom:calc(100% - .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-right{left:100%;top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f;margin-left:4px}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-bottom{top:calc(100% - 1.25em);box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-left{left:calc(-100% - 4px);top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.selected{background:#fff}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid rgba(0,0,0,.12);padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid rgba(0,0,0,.12);padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;cursor:pointer;line-height:3em;height:3em;padding:0 16px;color:#0000008a;font-weight:500}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{line-height:3em;min-height:3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 16px;text-decoration:none;position:relative;color:#000000de;text-align:left}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{text-align:right}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background:#0000000a;color:#000000de}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#00000061}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:32px}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:32px;padding-left:0}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-right:5px;font-size:80%;font-weight:400;color:#00000061}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}.mstate-angular .logo{width:70%;margin:auto;max-width:300px;margin-block:12px}.mstate-angular .form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.mstate-angular .form-group{margin-bottom:1rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ActionFormComponent, selector: "lib-action-form", inputs: ["token", "workflow", "config", "onExecuteAction", "updateCustomFieldValue", "instanceID", "onSuccess"] }, { kind: "component", type: ActionCardComponent, selector: "mobi-office-action-card", inputs: ["error"], outputs: ["retryEmitter"] }, { kind: "component", type: LoaderComponent, selector: "mobi-office-loader" }] }); }
495
+ }
496
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularComponent, decorators: [{
497
+ type: Component,
498
+ args: [{ selector: 'mstate-angular', standalone: true, imports: [
499
+ CommonModule,
500
+ ActionFormComponent,
501
+ ActionCardComponent,
502
+ LoaderComponent,
503
+ ], providers: [MstateAngularHelper, MstateAngularService], template: "<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 @if (isLoading) {\n <mobi-office-loader></mobi-office-loader>\n } @else if (errorMessages.length) {\n @for (message of errorMessages; track message) {\n <p>\n {{ message }}\n </p>\n }\n } @else {\n @switch (allowedActions.length) {\n @case (0) {\n <h1>Workflow Ended</h1>\n }\n @case (1) {\n <lib-action-form\n [workflow]=\"workflow\"\n [token]=\"token\"\n [instanceID]=\"instanceID\"\n [config]=\"allowedActions[0]\"\n [onExecuteAction]=\"handleExecuteAction\"\n [updateCustomFieldValue]=\"handleCustomField\"\n [onSuccess]=\"onSuccess\"></lib-action-form>\n }\n @default {\n @for (item of allowedActions; track $index) {\n <mobi-office-action-card\n [error]=\"item\"\n (retryEmitter)=\"handleError($event)\"></mobi-office-action-card>\n }\n }\n }\n }\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap\";.mstate-angular *{font-family:Poppins,serif}.mstate-angular ::ng-deep .ng-select{padding-bottom:1.25em}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container:after{border-bottom-color:#0000;background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 1px;background-repeat:repeat-x}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-disabled .ng-arrow-wrapper .ng-arrow,.mstate-angular .ng-select.ng-select-disabled .ng-clear-wrapper{color:#00000061}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-focused .ng-select-container.ng-appearance-outline:hover:after{border-color:#3f51b5;border-width:2px}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-value-container .ng-placeholder{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);color:#3f51b5}.mstate-angular ::ng-deep .ng-select.ng-select-focused .ng-select-container .ng-arrow-wrapper .ng-arrow{color:#3f51b5}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-filtered .ng-select-container .ng-placeholder{display:initial}.mstate-angular ::ng-deep .ng-select .ng-has-value .ng-placeholder,.mstate-angular .ng-select.ng-select-opened .ng-placeholder{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px)}.mstate-angular ::ng-deep .ng-select .ng-select-container{color:#000000de;align-items:baseline;min-height:51.5px}.mstate-angular ::ng-deep .ng-select .ng-select-container:after{border-bottom:thin solid rgba(0,0,0,.42);content:\"\";bottom:0;left:0;right:0;position:absolute;transition:border-color .3s cubic-bezier(.55,0,.55,.2)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline{padding:0 .5em;min-height:60px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:after{border:solid 1px rgba(0,0,0,.12);border-radius:5px;height:calc(100% - .5em);pointer-events:none;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline:hover:after{border-color:#000000de;border-width:2px}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-placeholder{padding:0 .25em;background-color:#fff;z-index:1}.mstate-angular ::ng-deep .ng-select .ng-select-container.ng-appearance-outline .ng-value{padding-left:.25em}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container{align-items:stretch;padding:.4375em 0;border-top:.84375em solid rgba(0,0,0,0)}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-placeholder{position:absolute;color:#0000008a;transform-origin:left 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1)}.mstate-angular ::ng-deep [dir=rtl] .ng-select .ng-select-container .ng-value-container .ng-placeholder{transform-origin:right 0}.mstate-angular ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input{bottom:.4375em}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{bottom:17px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container.ng-appearance-outline .ng-clear-wrapper{bottom:14px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-arrow-wrapper{align-self:flex-end;bottom:9px}.mstate-angular ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-clear-wrapper{align-self:flex-end;bottom:7px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-select-container .ng-value-container .ng-value{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:after,.mstate-angular .ng-select.ng-select-multiple.ng-select-disabled .ng-appearance-outline:hover:after{background-image:none;border:dotted 1px rgba(0,0,0,.12)}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-arrow-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline.ng-has-value .ng-clear-wrapper{border-top:none}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-arrow-wrapper{top:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-appearance-outline .ng-clear-wrapper{top:4px}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background-color:#3f51b5;border-radius:2px;color:#fff;padding:2px 5px;margin:0 .4375em .4375em 0}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin:0 0 .4375em .4375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#0000001f;color:#00000042}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{font-size:14px;font-weight:500}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{color:#ffffff8a;padding-right:5px}.mstate-angular ::ng-deep [dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{padding-left:5px;padding-right:0}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{color:#ffffffde}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{line-height:1.375em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value{align-items:center}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-value-container{padding-bottom:0;padding-top:.1875em}.mstate-angular ::ng-deep .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-clear-wrapper,.mstate-angular .ng-select.ng-select-multiple .ng-select-container.ng-has-value .ng-arrow-wrapper{border-top:.84375em solid rgba(0,0,0,0)}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper{color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:hover{color:#000000de}.mstate-angular ::ng-deep .ng-select .ng-clear-wrapper:focus{color:#000000de;outline:none}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper{bottom:2px}.mstate-angular ::ng-deep .ng-select .ng-arrow-wrapper .ng-arrow{border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;margin:0 4px;color:#0000008a}.mstate-angular ::ng-deep .ng-select .ng-spinner-zone{top:3px}.mstate-angular ::ng-deep .ng-dropdown-panel{background:#fff;left:0}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-top{bottom:calc(100% - .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-right{left:100%;top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f;margin-left:4px}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-bottom{top:calc(100% - 1.25em);box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.ng-select-left{left:calc(-100% - 4px);top:calc(0% + .84375em);box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.selected{background:#fff}.mstate-angular ::ng-deep .ng-dropdown-panel.multiple .ng-option.marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid rgba(0,0,0,.12);padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid rgba(0,0,0,.12);padding:0 16px;line-height:3em;min-height:3em}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;cursor:pointer;line-height:3em;height:3em;padding:0 16px;color:#0000008a;font-weight:500}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background:#0000000a}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{line-height:3em;min-height:3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 16px;text-decoration:none;position:relative;color:#000000de;text-align:left}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{text-align:right}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background:#0000000a;color:#000000de}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background:#0000001f;color:#3f51b5}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#00000061}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:32px}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:32px;padding-left:0}.mstate-angular ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-right:5px;font-size:80%;font-weight:400;color:#00000061}.mstate-angular ::ng-deep [dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}.mstate-angular .logo{width:70%;margin:auto;max-width:300px;margin-block:12px}.mstate-angular .form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.mstate-angular .form-group{margin-bottom:1rem}\n"] }]
504
+ }], ctorParameters: () => [{ type: MstateAngularHelper }, { type: MstateAngularService }], propDecorators: { token: [{
505
+ type: Input,
506
+ args: [{ required: true }]
507
+ }], workflow: [{
508
+ type: Input,
509
+ args: [{ required: true }]
510
+ }], instanceID: [{
511
+ type: Input
512
+ }], start: [{
513
+ type: Input
514
+ }], theme: [{
515
+ type: Input
516
+ }], who: [{
517
+ type: Input
518
+ }], onInstanceChange: [{
519
+ type: Input
520
+ }], onSuccess: [{
521
+ type: Input
522
+ }], onError: [{
523
+ type: Input
524
+ }], handleCustomField: [{
525
+ type: Input
526
+ }] } });
527
+
528
+ class MstateAngularModule {
529
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
530
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularModule, imports: [CommonModule, MstateAngularComponent], exports: [MstateAngularComponent] }); }
531
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularModule, imports: [CommonModule, MstateAngularComponent] }); }
532
+ }
533
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MstateAngularModule, decorators: [{
534
+ type: NgModule,
535
+ args: [{
536
+ imports: [CommonModule, MstateAngularComponent], // Import other necessary modules like CommonModule
537
+ exports: [MstateAngularComponent], // Export the pipe so it can be used externally
538
+ }]
539
+ }] });
540
+
541
+ /*
542
+ * Public API Surface of mstate-angular
543
+ */
544
+
545
+ /**
546
+ * Generated bundle index. Do not edit.
547
+ */
548
+
549
+ export { MstateAngularComponent, MstateAngularModule };
550
+ //# sourceMappingURL=mstate-angular.mjs.map