@formio/angular 8.1.0-dev.tt.1 → 9.0.0-dev.1120.629e49e

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 (140) hide show
  1. package/FormioBaseComponent.d.ts.map +1 -1
  2. package/auth/auth.component.d.ts.map +1 -1
  3. package/auth/login/login.component.d.ts.map +1 -1
  4. package/auth/register/register.component.d.ts.map +1 -1
  5. package/auth/resetpass/resetpass.component.d.ts.map +1 -1
  6. package/components/alerts/formio.alerts.component.d.ts.map +1 -1
  7. package/components/formbuilder/formbuilder.component.d.ts.map +1 -1
  8. package/components/formio/formio.component.d.ts.map +1 -1
  9. package/components/formioreport/formioreport.component.d.ts.map +1 -1
  10. package/components/loader/formio.loader.component.d.ts.map +1 -1
  11. package/embed/builder.component.d.ts.map +1 -1
  12. package/embed/formio.component.d.ts.map +1 -1
  13. package/fesm2022/formio-angular-auth.mjs +26 -26
  14. package/fesm2022/formio-angular-auth.mjs.map +1 -1
  15. package/fesm2022/formio-angular-embed.mjs +17 -15
  16. package/fesm2022/formio-angular-embed.mjs.map +1 -1
  17. package/fesm2022/formio-angular-grid.mjs +55 -51
  18. package/fesm2022/formio-angular-grid.mjs.map +1 -1
  19. package/fesm2022/formio-angular-manager.mjs +54 -54
  20. package/fesm2022/formio-angular-manager.mjs.map +1 -1
  21. package/fesm2022/formio-angular-resource.mjs +37 -37
  22. package/fesm2022/formio-angular-resource.mjs.map +1 -1
  23. package/fesm2022/formio-angular.mjs +39 -38
  24. package/fesm2022/formio-angular.mjs.map +1 -1
  25. package/grid/GridBodyComponent.d.ts.map +1 -1
  26. package/grid/GridFooterComponent.d.ts.map +1 -1
  27. package/grid/GridHeaderComponent.d.ts.map +1 -1
  28. package/grid/form/FormGridBody.component.d.ts.map +1 -1
  29. package/grid/form/FormGridFooter.component.d.ts.map +1 -1
  30. package/grid/form/FormGridHeader.component.d.ts.map +1 -1
  31. package/grid/form/time-since.pipe.d.ts.map +1 -1
  32. package/grid/grid.component.d.ts.map +1 -1
  33. package/grid/submission/SubmissionGridBody.component.d.ts.map +1 -1
  34. package/grid/submission/SubmissionGridFooter.component.d.ts.map +1 -1
  35. package/grid/submission/SubmissionGridHeader.component.d.ts.map +1 -1
  36. package/manager/create/create.component.d.ts.map +1 -1
  37. package/manager/delete/delete.component.d.ts.map +1 -1
  38. package/manager/edit/edit.component.d.ts.map +1 -1
  39. package/manager/form/form.component.d.ts.map +1 -1
  40. package/manager/index/index.component.d.ts.map +1 -1
  41. package/manager/submission/delete/delete.component.d.ts.map +1 -1
  42. package/manager/submission/edit/edit.component.d.ts.map +1 -1
  43. package/manager/submission/index/index.component.d.ts.map +1 -1
  44. package/manager/submission/submission/submission.component.d.ts.map +1 -1
  45. package/manager/submission/view/view.component.d.ts.map +1 -1
  46. package/manager/view/view.component.d.ts.map +1 -1
  47. package/package.json +6 -18
  48. package/resource/create/create.component.d.ts.map +1 -1
  49. package/resource/delete/delete.component.d.ts.map +1 -1
  50. package/resource/edit/edit.component.d.ts.map +1 -1
  51. package/resource/index/index.component.d.ts.map +1 -1
  52. package/resource/resource.component.d.ts.map +1 -1
  53. package/resource/view/view.component.d.ts.map +1 -1
  54. package/esm2022/FormioBaseComponent.mjs +0 -580
  55. package/esm2022/auth/auth.component.mjs +0 -12
  56. package/esm2022/auth/auth.config.mjs +0 -21
  57. package/esm2022/auth/auth.module.mjs +0 -46
  58. package/esm2022/auth/auth.routes.mjs +0 -32
  59. package/esm2022/auth/auth.service.mjs +0 -199
  60. package/esm2022/auth/formio-angular-auth.mjs +0 -5
  61. package/esm2022/auth/index.mjs +0 -9
  62. package/esm2022/auth/login/login.component.mjs +0 -20
  63. package/esm2022/auth/register/register.component.mjs +0 -20
  64. package/esm2022/auth/resetpass/resetpass.component.mjs +0 -17
  65. package/esm2022/components/alerts/formio.alerts.component.mjs +0 -28
  66. package/esm2022/components/alerts/formio.alerts.mjs +0 -13
  67. package/esm2022/components/alerts/parse-html-content.pipe.mjs +0 -19
  68. package/esm2022/components/formbuilder/formbuilder.component.mjs +0 -202
  69. package/esm2022/components/formio/formio.component.mjs +0 -43
  70. package/esm2022/components/formioreport/formioreport.component.mjs +0 -89
  71. package/esm2022/components/loader/formio.loader.component.mjs +0 -15
  72. package/esm2022/core.mjs +0 -19
  73. package/esm2022/custom-tags.service.mjs +0 -14
  74. package/esm2022/embed/app.service.mjs +0 -58
  75. package/esm2022/embed/builder.component.mjs +0 -87
  76. package/esm2022/embed/embed.module.mjs +0 -35
  77. package/esm2022/embed/formio-angular-embed.mjs +0 -5
  78. package/esm2022/embed/formio.component.mjs +0 -62
  79. package/esm2022/embed/index.mjs +0 -7
  80. package/esm2022/formio-angular.mjs +0 -5
  81. package/esm2022/formio-promise.service.mjs +0 -36
  82. package/esm2022/formio.common.mjs +0 -11
  83. package/esm2022/formio.config.mjs +0 -29
  84. package/esm2022/formio.module.mjs +0 -59
  85. package/esm2022/formio.service.mjs +0 -62
  86. package/esm2022/formio.utils.mjs +0 -23
  87. package/esm2022/grid/GridBodyComponent.mjs +0 -89
  88. package/esm2022/grid/GridFooterComponent.mjs +0 -44
  89. package/esm2022/grid/GridHeaderComponent.mjs +0 -34
  90. package/esm2022/grid/form/FormGridBody.component.mjs +0 -63
  91. package/esm2022/grid/form/FormGridFooter.component.mjs +0 -26
  92. package/esm2022/grid/form/FormGridHeader.component.mjs +0 -27
  93. package/esm2022/grid/form/index.mjs +0 -9
  94. package/esm2022/grid/form/time-since.pipe.mjs +0 -37
  95. package/esm2022/grid/formio-angular-grid.mjs +0 -5
  96. package/esm2022/grid/grid.component.mjs +0 -257
  97. package/esm2022/grid/grid.module.mjs +0 -79
  98. package/esm2022/grid/grid.service.mjs +0 -18
  99. package/esm2022/grid/index.mjs +0 -13
  100. package/esm2022/grid/submission/SubmissionGridBody.component.mjs +0 -43
  101. package/esm2022/grid/submission/SubmissionGridFooter.component.mjs +0 -23
  102. package/esm2022/grid/submission/SubmissionGridHeader.component.mjs +0 -63
  103. package/esm2022/grid/submission/index.mjs +0 -9
  104. package/esm2022/grid/types/grid-column.mjs +0 -2
  105. package/esm2022/grid/types/grid-footer-positions.mjs +0 -7
  106. package/esm2022/grid/types/grid-header.mjs +0 -6
  107. package/esm2022/index.mjs +0 -3
  108. package/esm2022/manager/create/create.component.mjs +0 -18
  109. package/esm2022/manager/delete/delete.component.mjs +0 -42
  110. package/esm2022/manager/edit/edit.component.mjs +0 -126
  111. package/esm2022/manager/form/form.component.mjs +0 -80
  112. package/esm2022/manager/form-manager.config.mjs +0 -18
  113. package/esm2022/manager/form-manager.module.mjs +0 -83
  114. package/esm2022/manager/form-manager.routes.mjs +0 -74
  115. package/esm2022/manager/form-manager.service.mjs +0 -185
  116. package/esm2022/manager/formio-angular-manager.mjs +0 -5
  117. package/esm2022/manager/index/index.component.mjs +0 -106
  118. package/esm2022/manager/index.mjs +0 -16
  119. package/esm2022/manager/submission/delete/delete.component.mjs +0 -32
  120. package/esm2022/manager/submission/edit/edit.component.mjs +0 -25
  121. package/esm2022/manager/submission/index/index.component.mjs +0 -25
  122. package/esm2022/manager/submission/submission/submission.component.mjs +0 -29
  123. package/esm2022/manager/submission/view/view.component.mjs +0 -17
  124. package/esm2022/manager/view/view.component.mjs +0 -52
  125. package/esm2022/resource/create/create.component.mjs +0 -43
  126. package/esm2022/resource/delete/delete.component.mjs +0 -29
  127. package/esm2022/resource/edit/edit.component.mjs +0 -42
  128. package/esm2022/resource/formio-angular-resource.mjs +0 -5
  129. package/esm2022/resource/index/index.component.mjs +0 -69
  130. package/esm2022/resource/index.mjs +0 -12
  131. package/esm2022/resource/resource.component.mjs +0 -46
  132. package/esm2022/resource/resource.config.mjs +0 -13
  133. package/esm2022/resource/resource.module.mjs +0 -62
  134. package/esm2022/resource/resource.routes.mjs +0 -42
  135. package/esm2022/resource/resource.service.mjs +0 -231
  136. package/esm2022/resource/resources.service.mjs +0 -25
  137. package/esm2022/resource/view/view.component.mjs +0 -25
  138. package/esm2022/types/alerts-position.mjs +0 -8
  139. package/esm2022/types/formio-metadata.mjs +0 -2
  140. package/esm2022/types/formio-submission.mjs +0 -6
@@ -1,12 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/router";
4
- export class FormioAuthComponent {
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioAuthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: FormioAuthComponent, selector: "ng-component", ngImport: i0, template: "<div class=\"card card-primary panel panel-default\">\n <div class=\"card-header panel-heading\">\n <ul class=\"nav nav-tabs card-header-tabs\">\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"login\" routerLinkActive=\"active\">Login</a></li>\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"register\" routerLinkActive=\"active\">Register</a></li>\n </ul>\n </div>\n <div class=\"card-body panel-body\">\n <router-outlet></router-outlet>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] });
7
- }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioAuthComponent, decorators: [{
9
- type: Component,
10
- args: [{ template: "<div class=\"card card-primary panel panel-default\">\n <div class=\"card-header panel-heading\">\n <ul class=\"nav nav-tabs card-header-tabs\">\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"login\" routerLinkActive=\"active\">Login</a></li>\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"register\" routerLinkActive=\"active\">Register</a></li>\n </ul>\n </div>\n <div class=\"card-body panel-body\">\n <router-outlet></router-outlet>\n </div>\n</div>\n" }]
11
- }] });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9hdXRoL3NyYy9hdXRoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL2F1dGgvc3JjL2F1dGguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSTFDLE1BQU0sT0FBTyxtQkFBbUI7dUdBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CLG9EQ0poQyw4bEJBV0E7OzJGRFBhLG1CQUFtQjtrQkFIL0IsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRoLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtaW9BdXRoQ29tcG9uZW50IHt9XG4iLCI8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLXByaW1hcnkgcGFuZWwgcGFuZWwtZGVmYXVsdFwiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgcGFuZWwtaGVhZGluZ1wiPlxuICAgIDx1bCBjbGFzcz1cIm5hdiBuYXYtdGFicyBjYXJkLWhlYWRlci10YWJzXCI+XG4gICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCI+PGEgY2xhc3M9XCJuYXYtbGlua1wiIHJvdXRlckxpbms9XCJsb2dpblwiIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5Mb2dpbjwvYT48L2xpPlxuICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiByb2xlPVwicHJlc2VudGF0aW9uXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPjxhIGNsYXNzPVwibmF2LWxpbmtcIiByb3V0ZXJMaW5rPVwicmVnaXN0ZXJcIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCI+UmVnaXN0ZXI8L2E+PC9saT5cbiAgICA8L3VsPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwYW5lbC1ib2R5XCI+XG4gICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,21 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class FormioAuthConfig {
4
- component;
5
- delayAuth;
6
- login;
7
- register;
8
- resetpass;
9
- oauth;
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioAuthConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioAuthConfig });
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioAuthConfig, decorators: [{
14
- type: Injectable
15
- }] });
16
- export var FormioOauthType;
17
- (function (FormioOauthType) {
18
- FormioOauthType["okta"] = "okta";
19
- FormioOauthType["saml"] = "saml";
20
- })(FormioOauthType || (FormioOauthType = {}));
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9hdXRoL3NyYy9hdXRoLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWdCM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixTQUFTLENBQU87SUFDaEIsU0FBUyxDQUFPO0lBQ2hCLEtBQUssQ0FBd0I7SUFDN0IsUUFBUSxDQUF3QjtJQUNoQyxTQUFTLENBQXdCO0lBQ2pDLEtBQUssQ0FBcUI7dUdBTmYsZ0JBQWdCOzJHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVU7O0FBZ0JYLE1BQU0sQ0FBTixJQUFZLGVBR1g7QUFIRCxXQUFZLGVBQWU7SUFDekIsZ0NBQWEsQ0FBQTtJQUNiLGdDQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsZUFBZSxLQUFmLGVBQWUsUUFHMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWlvQXV0aEZvcm1Db25maWcge1xuICBwYXRoPzogc3RyaW5nO1xuICBmb3JtPzogc3RyaW5nO1xuICBjb21wb25lbnQ/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWlvQXV0aFJvdXRlQ29uZmlnIHtcbiAgYXV0aD86IGFueTtcbiAgbG9naW4/OiBhbnk7XG4gIHJlZ2lzdGVyPzogYW55O1xuICByZXNldHBhc3M/OiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb3JtaW9BdXRoQ29uZmlnIHtcbiAgY29tcG9uZW50PzogYW55O1xuICBkZWxheUF1dGg/OiBhbnk7XG4gIGxvZ2luPzogRm9ybWlvQXV0aEZvcm1Db25maWc7XG4gIHJlZ2lzdGVyPzogRm9ybWlvQXV0aEZvcm1Db25maWc7XG4gIHJlc2V0cGFzcz86IEZvcm1pb0F1dGhGb3JtQ29uZmlnO1xuICBvYXV0aD86IEZvcm1pb09BdXRoQ29uZmlnO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWlvT0F1dGhDb25maWcge1xuICB0eXBlOiBGb3JtaW9PYXV0aFR5cGU7XG4gIG9wdGlvbnM6IEZvcm1pb09rdGFDb25maWcgfCBGb3JtaW9TYW1sQ29uZmlnO1xufVxuXG5leHBvcnQgZW51bSBGb3JtaW9PYXV0aFR5cGUge1xuICBva3RhID0gJ29rdGEnLFxuICBzYW1sID0gJ3NhbWwnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1pb09rdGFDb25maWcgZXh0ZW5kcyBPa3RhQ29uZmlnIHtcbiAgZm9ybWlvPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1pb1NhbWxDb25maWcge1xuICByZWxheTogc3RyaW5nO1xufVxuXG4vLyBmb3IgbW9yZSBkZXRhaWxzIGFib3V0IE9rdGEgY29uZmlndXJhdGlvbiBvcHRpb25zIHNlZSBodHRwczovL2dpdGh1Yi5jb20vb2t0YS9va3RhLWF1dGgtanMjY29uZmlndXJhdGlvbi1yZWZlcmVuY2VcbmV4cG9ydCBpbnRlcmZhY2UgT2t0YUNvbmZpZyB7XG4gIHVybD86IHN0cmluZztcbiAgdG9rZW5NYW5hZ2VyPzogT2t0YVRva2VuTWFuYWdlckNvbmZpZztcbiAgaXNzdWVyPzogc3RyaW5nO1xuICBjbGllbnRJZD86IHN0cmluZztcbiAgcmVkaXJlY3RVcmk/OiBzdHJpbmc7XG4gIHBvc3RMb2dvdXRSZWRpcmVjdFVyaT86IHN0cmluZztcbiAgcGtjZT86IGJvb2xlYW47XG4gIGF1dGhvcml6ZVVybD86IHN0cmluZztcbiAgdXNlcmluZm9Vcmw/OiBzdHJpbmc7XG4gIHRva2VuVXJsPzogc3RyaW5nO1xuICBpZ25vcmVTaWduYXR1cmU/OiBib29sZWFuO1xuICBtYXhDbG9ja1NrZXc/OiBudW1iZXI7XG4gIHNjb3Blcz86IHN0cmluZ1tdO1xuICBodHRwUmVxdWVzdENsaWVudD86IEZ1bmN0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9rdGFUb2tlbk1hbmFnZXJDb25maWcge1xuICBzdG9yYWdlPzogc3RyaW5nIHwge1xuICAgIGdldEl0ZW0/OiBGdW5jdGlvbjtcbiAgICBzZXRJdGVtPzogRnVuY3Rpb247XG4gIH07XG4gIHNlY3VyZT86IGJvb2xlYW47XG4gIGF1dG9SZW5ldz86IGJvb2xlYW47XG4gIGV4cGlyZUVhcmx5U2Vjb25kcz86IG51bWJlcjtcbiAgc3RvcmFnZUtleT86IHN0cmluZztcbn1cbiJdfQ==
@@ -1,46 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { RouterModule } from '@angular/router';
4
- import { FormioModule } from '@formio/angular';
5
- import { FormioAuthComponent } from './auth.component';
6
- import { FormioAuthLoginComponent } from './login/login.component';
7
- import { FormioAuthRegisterComponent } from './register/register.component';
8
- import { FormioResetPassComponent } from './resetpass/resetpass.component';
9
- import { FormioAuthRoutes } from './auth.routes';
10
- import { extendRouter } from '@formio/angular';
11
- import * as i0 from "@angular/core";
12
- export class FormioAuth {
13
- static forRoot(config) {
14
- return extendRouter(FormioAuth, config, FormioAuthRoutes);
15
- }
16
- static forChild(config) {
17
- return extendRouter(FormioAuth, config, FormioAuthRoutes);
18
- }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioAuth, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: FormioAuth, declarations: [FormioAuthComponent,
21
- FormioAuthLoginComponent,
22
- FormioAuthRegisterComponent,
23
- FormioResetPassComponent], imports: [CommonModule,
24
- FormioModule,
25
- RouterModule] });
26
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioAuth, imports: [CommonModule,
27
- FormioModule,
28
- RouterModule] });
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioAuth, decorators: [{
31
- type: NgModule,
32
- args: [{
33
- imports: [
34
- CommonModule,
35
- FormioModule,
36
- RouterModule
37
- ],
38
- declarations: [
39
- FormioAuthComponent,
40
- FormioAuthLoginComponent,
41
- FormioAuthRegisterComponent,
42
- FormioResetPassComponent
43
- ]
44
- }]
45
- }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9hdXRoL3NyYy9hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBZS9DLE1BQU0sT0FBTyxVQUFVO0lBQ3JCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBOEI7UUFDM0MsT0FBTyxZQUFZLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQThCO1FBQzVDLE9BQU8sWUFBWSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUM1RCxDQUFDO3VHQU5VLFVBQVU7d0dBQVYsVUFBVSxpQkFObkIsbUJBQW1CO1lBQ25CLHdCQUF3QjtZQUN4QiwyQkFBMkI7WUFDM0Isd0JBQXdCLGFBUnhCLFlBQVk7WUFDWixZQUFZO1lBQ1osWUFBWTt3R0FTSCxVQUFVLFlBWG5CLFlBQVk7WUFDWixZQUFZO1lBQ1osWUFBWTs7MkZBU0gsVUFBVTtrQkFidEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFlBQVk7cUJBQ2I7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3dCQUN4QiwyQkFBMkI7d0JBQzNCLHdCQUF3QjtxQkFDekI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb3JtaW9Nb2R1bGUgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHsgRm9ybWlvQXV0aENvbXBvbmVudCB9IGZyb20gJy4vYXV0aC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybWlvQXV0aExvZ2luQ29tcG9uZW50IH0gZnJvbSAnLi9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybWlvQXV0aFJlZ2lzdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybWlvUmVzZXRQYXNzQ29tcG9uZW50IH0gZnJvbSAnLi9yZXNldHBhc3MvcmVzZXRwYXNzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtaW9BdXRoUm91dGVDb25maWcgfSBmcm9tICcuL2F1dGguY29uZmlnJztcbmltcG9ydCB7IEZvcm1pb0F1dGhSb3V0ZXMgfSBmcm9tICcuL2F1dGgucm91dGVzJztcbmltcG9ydCB7IGV4dGVuZFJvdXRlciB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybWlvTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGb3JtaW9BdXRoQ29tcG9uZW50LFxuICAgIEZvcm1pb0F1dGhMb2dpbkNvbXBvbmVudCxcbiAgICBGb3JtaW9BdXRoUmVnaXN0ZXJDb21wb25lbnQsXG4gICAgRm9ybWlvUmVzZXRQYXNzQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybWlvQXV0aCB7XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IEZvcm1pb0F1dGhSb3V0ZUNvbmZpZyk6IGFueSB7XG4gICAgcmV0dXJuIGV4dGVuZFJvdXRlcihGb3JtaW9BdXRoLCBjb25maWcsIEZvcm1pb0F1dGhSb3V0ZXMpO1xuICB9XG4gIHN0YXRpYyBmb3JDaGlsZChjb25maWc/OiBGb3JtaW9BdXRoUm91dGVDb25maWcpOiBhbnkge1xuICAgIHJldHVybiBleHRlbmRSb3V0ZXIoRm9ybWlvQXV0aCwgY29uZmlnLCBGb3JtaW9BdXRoUm91dGVzKTtcbiAgfVxufVxuIl19
@@ -1,32 +0,0 @@
1
- import { FormioAuthComponent } from './auth.component';
2
- import { FormioAuthLoginComponent } from './login/login.component';
3
- import { FormioAuthRegisterComponent } from './register/register.component';
4
- import { FormioResetPassComponent } from './resetpass/resetpass.component';
5
- export function FormioAuthRoutes(config) {
6
- return [
7
- {
8
- path: '',
9
- component: config && config.auth ? config.auth : FormioAuthComponent,
10
- children: [
11
- {
12
- path: '',
13
- redirectTo: 'login',
14
- pathMatch: 'full'
15
- },
16
- {
17
- path: 'login',
18
- component: config && config.login ? config.login : FormioAuthLoginComponent
19
- },
20
- {
21
- path: 'register',
22
- component: config && config.register ? config.register : FormioAuthRegisterComponent
23
- },
24
- {
25
- path: 'resetpass',
26
- component: config && config.resetpass ? config.resetpass : FormioResetPassComponent
27
- }
28
- ]
29
- }
30
- ];
31
- }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5yb3V0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9hdXRoL3NyYy9hdXRoLnJvdXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUzRSxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsTUFBOEI7SUFDN0QsT0FBTztRQUNMO1lBQ0UsSUFBSSxFQUFFLEVBQUU7WUFDUixTQUFTLEVBQUUsTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFtQjtZQUNwRSxRQUFRLEVBQUU7Z0JBQ1I7b0JBQ0UsSUFBSSxFQUFFLEVBQUU7b0JBQ1IsVUFBVSxFQUFFLE9BQU87b0JBQ25CLFNBQVMsRUFBRSxNQUFNO2lCQUNsQjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsT0FBTztvQkFDYixTQUFTLEVBQUUsTUFBTSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLHdCQUF3QjtpQkFDNUU7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFNBQVMsRUFBRSxNQUFNLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsMkJBQTJCO2lCQUNyRjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsV0FBVztvQkFDakIsU0FBUyxFQUFFLE1BQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyx3QkFBd0I7aUJBQ3BGO2FBQ0Y7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZvcm1pb0F1dGhSb3V0ZUNvbmZpZyB9IGZyb20gJy4vYXV0aC5jb25maWcnO1xuaW1wb3J0IHsgRm9ybWlvQXV0aENvbXBvbmVudCB9IGZyb20gJy4vYXV0aC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybWlvQXV0aExvZ2luQ29tcG9uZW50IH0gZnJvbSAnLi9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybWlvQXV0aFJlZ2lzdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybWlvUmVzZXRQYXNzQ29tcG9uZW50IH0gZnJvbSAnLi9yZXNldHBhc3MvcmVzZXRwYXNzLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBGb3JtaW9BdXRoUm91dGVzKGNvbmZpZz86IEZvcm1pb0F1dGhSb3V0ZUNvbmZpZyk6IFJvdXRlcyB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcGF0aDogJycsXG4gICAgICBjb21wb25lbnQ6IGNvbmZpZyAmJiBjb25maWcuYXV0aCA/IGNvbmZpZy5hdXRoIDogRm9ybWlvQXV0aENvbXBvbmVudCxcbiAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICByZWRpcmVjdFRvOiAnbG9naW4nLFxuICAgICAgICAgIHBhdGhNYXRjaDogJ2Z1bGwnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwYXRoOiAnbG9naW4nLFxuICAgICAgICAgIGNvbXBvbmVudDogY29uZmlnICYmIGNvbmZpZy5sb2dpbiA/IGNvbmZpZy5sb2dpbiA6IEZvcm1pb0F1dGhMb2dpbkNvbXBvbmVudFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcGF0aDogJ3JlZ2lzdGVyJyxcbiAgICAgICAgICBjb21wb25lbnQ6IGNvbmZpZyAmJiBjb25maWcucmVnaXN0ZXIgPyBjb25maWcucmVnaXN0ZXIgOiBGb3JtaW9BdXRoUmVnaXN0ZXJDb21wb25lbnRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHBhdGg6ICdyZXNldHBhc3MnLFxuICAgICAgICAgIGNvbXBvbmVudDogY29uZmlnICYmIGNvbmZpZy5yZXNldHBhc3MgPyBjb25maWcucmVzZXRwYXNzIDogRm9ybWlvUmVzZXRQYXNzQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9XG4gIF07XG59XG4iXX0=
@@ -1,199 +0,0 @@
1
- import { EventEmitter, Injectable } from '@angular/core';
2
- import { get, each } from 'lodash';
3
- import { Formio } from '@formio/js';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@formio/angular";
6
- import * as i2 from "./auth.config";
7
- export class FormioAuthService {
8
- appConfig;
9
- config;
10
- user;
11
- authenticated = false;
12
- loginForm;
13
- onLogin;
14
- onLogout;
15
- registerForm;
16
- onRegister;
17
- onUser;
18
- onError;
19
- resetPassForm;
20
- onResetPass;
21
- ready;
22
- readyResolve;
23
- readyReject;
24
- projectReady;
25
- accessReady;
26
- userReady;
27
- formAccess = {};
28
- submissionAccess = {};
29
- roles;
30
- is = {};
31
- constructor(appConfig, config) {
32
- this.appConfig = appConfig;
33
- this.config = config;
34
- this.user = null;
35
- if (this.appConfig && this.appConfig.appUrl) {
36
- Formio.setBaseUrl(this.appConfig.apiUrl);
37
- Formio.setProjectUrl(this.appConfig.appUrl);
38
- Formio.formOnly = !!this.appConfig.formOnly;
39
- }
40
- else {
41
- console.error('You must provide an AppConfig within your application!');
42
- }
43
- this.loginForm =
44
- this.appConfig.appUrl +
45
- '/' +
46
- get(this.config, 'login.form', 'user/login');
47
- this.registerForm =
48
- this.appConfig.appUrl +
49
- '/' +
50
- get(this.config, 'register.form', 'user/register');
51
- this.resetPassForm =
52
- this.appConfig.appUrl +
53
- '/' +
54
- get(this.config, 'resetpass.form', 'resetpass');
55
- this.onLogin = new EventEmitter();
56
- this.onLogout = new EventEmitter();
57
- this.onRegister = new EventEmitter();
58
- this.onUser = new EventEmitter();
59
- this.onError = new EventEmitter();
60
- this.ready = new Promise((resolve, reject) => {
61
- this.readyResolve = resolve;
62
- this.readyReject = reject;
63
- });
64
- // Register for the core events.
65
- Formio.events.on('formio.badToken', () => this.logoutError());
66
- Formio.events.on('formio.sessionExpired', () => this.logoutError());
67
- if (!this.config.delayAuth) {
68
- this.init();
69
- }
70
- }
71
- onLoginSubmit(submission) {
72
- this.setUser(submission);
73
- this.onLogin.emit(submission);
74
- }
75
- onRegisterSubmit(submission) {
76
- this.setUser(submission);
77
- this.onRegister.emit(submission);
78
- }
79
- onResetPassSubmit(submission) {
80
- this.onResetPass.emit(submission);
81
- }
82
- init() {
83
- this.projectReady = Formio.makeStaticRequest(this.appConfig.appUrl).then((project) => {
84
- each(project.access, (access) => {
85
- this.formAccess[access.type] = access.roles;
86
- });
87
- }, () => {
88
- this.formAccess = {};
89
- return null;
90
- });
91
- // Get the access for this project.
92
- this.accessReady = Formio.makeStaticRequest(this.appConfig.appUrl + '/access')
93
- .then((access) => {
94
- each(access.forms, (form) => {
95
- this.submissionAccess[form.name] = {};
96
- form.submissionAccess.forEach((subAccess) => {
97
- this.submissionAccess[form.name][subAccess.type] = subAccess.roles;
98
- });
99
- });
100
- this.roles = access.roles;
101
- return access;
102
- })
103
- .catch((err) => {
104
- if (err === 'Token Expired' || err === 'Bad Token') {
105
- this.setUser(null);
106
- }
107
- this.roles = {};
108
- return null;
109
- });
110
- let currentUserPromise;
111
- if (this.config.oauth) {
112
- // Make a fix to the hash to remove starting "/" that angular might put there.
113
- if (window.location.hash && window.location.hash.match(/^#\/access_token/)) {
114
- history.pushState(null, null, window.location.hash.replace(/^#\/access_token/, '#access_token'));
115
- }
116
- // Initiate the SSO if they provide oauth settings.
117
- currentUserPromise = Formio.ssoInit(this.config.oauth.type, this.config.oauth.options);
118
- }
119
- else {
120
- currentUserPromise = Formio.currentUser(null, {
121
- ignoreCache: true
122
- });
123
- }
124
- this.userReady = currentUserPromise.then((user) => {
125
- this.setUser(user);
126
- return user;
127
- }).catch((err) => {
128
- this.setUser(null);
129
- throw err;
130
- });
131
- // Trigger we are redy when all promises have resolved.
132
- if (this.accessReady) {
133
- this.accessReady
134
- .then(() => this.projectReady)
135
- .then(() => this.userReady)
136
- .then(() => this.readyResolve(true))
137
- .catch((err) => this.readyReject(err));
138
- }
139
- }
140
- setUser(user) {
141
- const namespace = Formio.namespace || 'formio';
142
- if (user) {
143
- this.user = user;
144
- localStorage.setItem(`${namespace}AppUser`, JSON.stringify(user));
145
- this.setUserRoles();
146
- Formio.setUser(user);
147
- }
148
- else {
149
- this.user = null;
150
- this.is = {};
151
- localStorage.removeItem(`${namespace}AppUser`);
152
- Formio.clearCache();
153
- Formio.setUser(null);
154
- }
155
- this.authenticated = !!Formio.getToken();
156
- this.onUser.emit(this.user);
157
- }
158
- setUserRoles() {
159
- if (this.accessReady) {
160
- this.accessReady.then(() => {
161
- each(this.roles, (role, roleName) => {
162
- if (this.user.roles.indexOf(role._id) !== -1) {
163
- this.is[roleName] = true;
164
- }
165
- });
166
- });
167
- }
168
- }
169
- logoutError() {
170
- this.setUser(null);
171
- const namespace = Formio.namespace || 'formio';
172
- localStorage.removeItem(`${namespace}Token`);
173
- this.onError.emit();
174
- }
175
- logout() {
176
- const namespace = Formio.namespace || 'formio';
177
- const tokenName = `${namespace}Token`;
178
- localStorage.removeItem(tokenName);
179
- if (Formio.tokens && Formio.tokens.hasOwnProperty(tokenName)) {
180
- delete Formio.tokens[tokenName];
181
- }
182
- Formio.logout()
183
- .then(() => {
184
- this.setUser(null);
185
- if (localStorage.getItem(`${namespace}LogoutAuthUrl`)) {
186
- window.open(localStorage.getItem(`${namespace}LogoutAuthUrl`), null, 'width=1020,height=618');
187
- localStorage.removeItem(`${namespace}LogoutAuthUrl`);
188
- }
189
- this.onLogout.emit();
190
- })
191
- .catch(() => this.logoutError());
192
- }
193
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioAuthService, deps: [{ token: i1.FormioAppConfig }, { token: i2.FormioAuthConfig }], target: i0.ɵɵFactoryTarget.Injectable });
194
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioAuthService });
195
- }
196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioAuthService, decorators: [{
197
- type: Injectable
198
- }], ctorParameters: () => [{ type: i1.FormioAppConfig }, { type: i2.FormioAuthConfig }] });
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vYXV0aC9zcmMvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7QUFHcEMsTUFBTSxPQUFPLGlCQUFpQjtJQTZCbkI7SUFDQTtJQTdCRixJQUFJLENBQU07SUFDVixhQUFhLEdBQUcsS0FBSyxDQUFDO0lBRXRCLFNBQVMsQ0FBUztJQUNsQixPQUFPLENBQXVCO0lBQzlCLFFBQVEsQ0FBdUI7SUFFL0IsWUFBWSxDQUFTO0lBQ3JCLFVBQVUsQ0FBdUI7SUFDakMsTUFBTSxDQUF1QjtJQUM3QixPQUFPLENBQW9CO0lBRTNCLGFBQWEsQ0FBUztJQUN0QixXQUFXLENBQXVCO0lBRWxDLEtBQUssQ0FBbUI7SUFDeEIsWUFBWSxDQUFNO0lBQ2xCLFdBQVcsQ0FBTTtJQUVqQixZQUFZLENBQWdCO0lBQzVCLFdBQVcsQ0FBZ0I7SUFDM0IsU0FBUyxDQUFnQjtJQUN6QixVQUFVLEdBQVEsRUFBRSxDQUFDO0lBQ3JCLGdCQUFnQixHQUFRLEVBQUUsQ0FBQztJQUMzQixLQUFLLENBQU07SUFDWCxFQUFFLEdBQVEsRUFBRSxDQUFDO0lBRXBCLFlBQ1MsU0FBMEIsRUFDMUIsTUFBd0I7UUFEeEIsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFFL0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFFakIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENB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U0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMvRSxPQUFRLE1BQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELE1BQU0sQ0FBQyxNQUFNLEVBQUU7YUFDWixJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQixJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxTQUFTLGVBQWUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RELE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLFNBQVMsZUFBZSxDQUFDLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixDQUFDLENBQUM7Z0JBQzlGLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxTQUFTLGVBQWUsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7WUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNyQyxDQUFDO3VHQXBOVSxpQkFBaUI7MkdBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtaW9BdXRoQ29uZmlnIH0gZnJvbSAnLi9hdXRoLmNvbmZpZyc7XG5pbXBvcnQgeyBGb3JtaW9BcHBDb25maWcgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHsgZ2V0LCBlYWNoIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEZvcm1pbyB9IGZyb20gJ0Bmb3JtaW8vanMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRm9ybWlvQXV0aFNlcnZpY2Uge1xuICBwdWJsaWMgdXNlcjogYW55O1xuICBwdWJsaWMgYXV0aGVudGljYXRlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBsb2dpbkZvcm06IHN0cmluZztcbiAgcHVibGljIG9uTG9naW46IEV2ZW50RW1pdHRlcjxvYmplY3Q+O1xuICBwdWJsaWMgb25Mb2dvdXQ6IEV2ZW50RW1pdHRlcjxvYmplY3Q+O1xuXG4gIHB1YmxpYyByZWdpc3RlckZvcm06IHN0cmluZztcbiAgcHVibGljIG9uUmVnaXN0ZXI6IEV2ZW50RW1pdHRlcjxvYmplY3Q+O1xuICBwdWJsaWMgb25Vc2VyOiBFdmVudEVtaXR0ZXI8b2JqZWN0PjtcbiAgcHVibGljIG9uRXJyb3I6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gIHB1YmxpYyByZXNldFBhc3NGb3JtOiBzdHJpbmc7XG4gIHB1YmxpYyBvblJlc2V0UGFzczogRXZlbnRFbWl0dGVyPG9iamVjdD47XG5cbiAgcHVibGljIHJlYWR5OiBQcm9taXNlPGJvb2xlYW4+O1xuICBwdWJsaWMgcmVhZHlSZXNvbHZlOiBhbnk7XG4gIHB1YmxpYyByZWFkeVJlamVjdDogYW55O1xuXG4gIHB1YmxpYyBwcm9qZWN0UmVhZHk/OiBQcm9taXNlPGFueT47XG4gIHB1YmxpYyBhY2Nlc3NSZWFkeT86IFByb21pc2U8YW55PjtcbiAgcHVibGljIHVzZXJSZWFkeT86IFByb21pc2U8YW55PjtcbiAgcHVibGljIGZvcm1BY2Nlc3M6IGFueSA9IHt9O1xuICBwdWJsaWMgc3VibWlzc2lvbkFjY2VzczogYW55ID0ge307XG4gIHB1YmxpYyByb2xlczogYW55O1xuICBwdWJsaWMgaXM6IGFueSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBhcHBDb25maWc6IEZvcm1pb0FwcENvbmZpZyxcbiAgICBwdWJsaWMgY29uZmlnOiBGb3JtaW9BdXRoQ29uZmlnXG4gICkge1xuICAgIHRoaXMudXNlciA9IG51bGw7XG5cbiAgICBpZiAodGhpcy5hcHBDb25maWcgJiYgdGhpcy5hcHBDb25maWcuYXBwVXJsKSB7XG4gICAgICBGb3JtaW8uc2V0QmFzZVVybCh0aGlzLmFwcENvbmZpZy5hcGlVcmwpO1xuICAgICAgRm9ybWlvLnNldFByb2plY3RVcmwodGhpcy5hcHBDb25maWcuYXBwVXJsKTtcbiAgICAgIEZvcm1pby5mb3JtT25seSA9ICEhdGhpcy5hcHBDb25maWcuZm9ybU9ubHk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1lvdSBtdXN0IHByb3ZpZGUgYW4gQXBwQ29uZmlnIHdpdGhpbiB5b3VyIGFwcGxpY2F0aW9uIScpO1xuICAgIH1cblxuICAgIHRoaXMubG9naW5Gb3JtID1cbiAgICAgIHRoaXMuYXBwQ29uZmlnLmFwcFVybCArXG4gICAgICAnLycgK1xuICAgICAgZ2V0KHRoaXMuY29uZmlnLCAnbG9naW4uZm9ybScsICd1c2VyL2xvZ2luJyk7XG4gICAgdGhpcy5yZWdpc3RlckZvcm0gPVxuICAgICAgdGhpcy5hcHBDb25maWcuYXBwVXJsICtcbiAgICAgICcvJyArXG4gICAgICBnZXQodGhpcy5jb25maWcsICdyZWdpc3Rlci5mb3JtJywgJ3VzZXIvcmVnaXN0ZXInKTtcbiAgICB0aGlzLnJlc2V0UGFzc0Zvcm0gPVxuICAgICAgdGhpcy5hcHBDb25maWcuYXBwVXJsICtcbiAgICAgICcvJyArXG4gICAgICBnZXQodGhpcy5jb25maWcsICdyZXNldHBhc3MuZm9ybScsICdyZXNldHBhc3MnKTtcbiAgICB0aGlzLm9uTG9naW4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgdGhpcy5vbkxvZ291dCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICB0aGlzLm9uUmVnaXN0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgdGhpcy5vblVzZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgdGhpcy5vbkVycm9yID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgdGhpcy5yZWFkeSA9IG5ldyBQcm9taXNlKChyZXNvbHZlOiBhbnksIHJlamVjdDogYW55KSA9PiB7XG4gICAgICB0aGlzLnJlYWR5UmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICB0aGlzLnJlYWR5UmVqZWN0ID0gcmVqZWN0O1xuICAgIH0pO1xuXG4gICAgLy8gUmVnaXN0ZXIgZm9yIHRoZSBjb3JlIGV2ZW50cy5cbiAgICBGb3JtaW8uZXZlbnRzLm9uKCdmb3JtaW8uYmFkVG9rZW4nLCAoKSA9PiB0aGlzLmxvZ291dEVycm9yKCkpO1xuICAgIEZvcm1pby5ldmVudHMub24oJ2Zvcm1pby5zZXNzaW9uRXhwaXJlZCcsICgpID0+IHRoaXMubG9nb3V0RXJyb3IoKSk7XG4gICAgaWYgKCF0aGlzLmNvbmZpZy5kZWxheUF1dGgpIHtcbiAgICAgIHRoaXMuaW5pdCgpO1xuICAgIH1cbiAgfVxuXG4gIG9uTG9naW5TdWJtaXQoc3VibWlzc2lvbjogb2JqZWN0KSB7XG4gICAgdGhpcy5zZXRVc2VyKHN1Ym1pc3Npb24pO1xuICAgIHRoaXMub25Mb2dpbi5lbWl0KHN1Ym1pc3Npb24pO1xuICB9XG5cbiAgb25SZWdpc3RlclN1Ym1pdChzdWJtaXNzaW9uOiBvYmplY3QpIHtcbiAgICB0aGlzLnNldFVzZXIoc3VibWlzc2lvbik7XG4gICAgdGhpcy5vblJlZ2lzdGVyLmVtaXQoc3VibWlzc2lvbik7XG4gIH1cblxuICBvblJlc2V0UGFzc1N1Ym1pdChzdWJtaXNzaW9uOiBvYmplY3QpIHtcbiAgICB0aGlzLm9uUmVzZXRQYXNzLmVtaXQoc3VibWlzc2lvbik7XG4gIH1cblxuICBpbml0KCkge1xuICAgIHRoaXMucHJvamVjdFJlYWR5ID0gRm9ybWlvLm1ha2VTdGF0aWNSZXF1ZXN0KHRoaXMuYXBwQ29uZmlnLmFwcFVybCkudGhlbihcbiAgICAgIChwcm9qZWN0OiBhbnkpID0+IHtcbiAgICAgICAgZWFjaChwcm9qZWN0LmFjY2VzcywgKGFjY2VzczogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5mb3JtQWNjZXNzW2FjY2Vzcy50eXBlXSA9IGFjY2Vzcy5yb2xlcztcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgKCk6IGFueSA9PiB7XG4gICAgICAgIHRoaXMuZm9ybUFjY2VzcyA9IHt9O1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgLy8gR2V0IHRoZSBhY2Nlc3MgZm9yIHRoaXMgcHJvamVjdC5cbiAgICB0aGlzLmFjY2Vzc1JlYWR5ID0gRm9ybWlvLm1ha2VTdGF0aWNSZXF1ZXN0KFxuICAgICAgdGhpcy5hcHBDb25maWcuYXBwVXJsICsgJy9hY2Nlc3MnXG4gICAgKVxuICAgICAgLnRoZW4oKGFjY2VzczogYW55KSA9PiB7XG4gICAgICAgIGVhY2goYWNjZXNzLmZvcm1zLCAoZm9ybTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5zdWJtaXNzaW9uQWNjZXNzW2Zvcm0ubmFtZV0gPSB7fTtcbiAgICAgICAgICBmb3JtLnN1Ym1pc3Npb25BY2Nlc3MuZm9yRWFjaCgoc3ViQWNjZXNzOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3VibWlzc2lvbkFjY2Vzc1tmb3JtLm5hbWVdW3N1YkFjY2Vzcy50eXBlXSA9IHN1YkFjY2Vzcy5yb2xlcztcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucm9sZXMgPSBhY2Nlc3Mucm9sZXM7XG4gICAgICAgIHJldHVybiBhY2Nlc3M7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnIpOiBhbnkgPT4ge1xuICAgICAgICBpZiAoZXJyID09PSAnVG9rZW4gRXhwaXJlZCcgfHwgZXJyID09PSAnQmFkIFRva2VuJykge1xuICAgICAgICAgIHRoaXMuc2V0VXNlcihudWxsKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJvbGVzID0ge307XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSlcblxuICAgIGxldCBjdXJyZW50VXNlclByb21pc2U6IFByb21pc2U8YW55PjtcbiAgICBpZiAodGhpcy5jb25maWcub2F1dGgpIHtcbiAgICAgIC8vIE1ha2UgYSBmaXggdG8gdGhlIGhhc2ggdG8gcmVtb3ZlIHN0YXJ0aW5nIFwiL1wiIHRoYXQgYW5ndWxhciBtaWdodCBwdXQgdGhlcmUuXG4gICAgICBpZiAod2luZG93LmxvY2F0aW9uLmhhc2ggJiYgd2luZG93LmxvY2F0aW9uLmhhc2gubWF0Y2goL14jXFwvYWNjZXNzX3Rva2VuLykpIHtcbiAgICAgICAgaGlzdG9yeS5wdXNoU3RhdGUobnVsbCwgbnVsbCwgd2luZG93LmxvY2F0aW9uLmhhc2gucmVwbGFjZSgvXiNcXC9hY2Nlc3NfdG9rZW4vLCAnI2FjY2Vzc190b2tlbicpKTtcbiAgICAgIH1cblxuICAgICAgLy8gSW5pdGlhdGUgdGhlIFNTTyBpZiB0aGV5IHByb3ZpZGUgb2F1dGggc2V0dGluZ3MuXG4gICAgICBjdXJyZW50VXNlclByb21pc2UgPSBGb3JtaW8uc3NvSW5pdCh0aGlzLmNvbmZpZy5vYXV0aC50eXBlLCB0aGlzLmNvbmZpZy5vYXV0aC5vcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3VycmVudFVzZXJQcm9taXNlID0gRm9ybWlvLmN1cnJlbnRVc2VyKG51bGwsIHtcbiAgICAgICAgaWdub3JlQ2FjaGU6IHRydWVcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudXNlclJlYWR5ID0gY3VycmVudFVzZXJQcm9taXNlLnRoZW4oKHVzZXI6IGFueSkgPT4ge1xuICAgICAgdGhpcy5zZXRVc2VyKHVzZXIpO1xuICAgICAgcmV0dXJuIHVzZXI7XG4gICAgfSkuY2F0Y2goKGVycikgPT4ge1xuICAgICAgdGhpcy5zZXRVc2VyKG51bGwpO1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH0pO1xuXG4gICAgLy8gVHJpZ2dlciB3ZSBhcmUgcmVkeSB3aGVuIGFsbCBwcm9taXNlcyBoYXZlIHJlc29sdmVkLlxuICAgIGlmICh0aGlzLmFjY2Vzc1JlYWR5KSB7XG4gICAgICB0aGlzLmFjY2Vzc1JlYWR5XG4gICAgICAgIC50aGVuKCgpID0+IHRoaXMucHJvamVjdFJlYWR5KVxuICAgICAgICAudGhlbigoKSA9PiB0aGlzLnVzZXJSZWFkeSlcbiAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5yZWFkeVJlc29sdmUodHJ1ZSkpXG4gICAgICAgIC5jYXRjaCgoZXJyOiBhbnkpID0+IHRoaXMucmVhZHlSZWplY3QoZXJyKSk7XG4gICAgfVxuICB9XG5cbiAgc2V0VXNlcih1c2VyOiBhbnkpIHtcbiAgICBjb25zdCBuYW1lc3BhY2UgPSBGb3JtaW8ubmFtZXNwYWNlIHx8ICdmb3JtaW8nO1xuICAgIGlmICh1c2VyKSB7XG4gICAgICB0aGlzLnVzZXIgPSB1c2VyO1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oYCR7bmFtZXNwYWNlfUFwcFVzZXJgLCBKU09OLnN0cmluZ2lmeSh1c2VyKSk7XG4gICAgICB0aGlzLnNldFVzZXJSb2xlcygpO1xuICAgICAgRm9ybWlvLnNldFVzZXIodXNlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXNlciA9IG51bGw7XG4gICAgICB0aGlzLmlzID0ge307XG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShgJHtuYW1lc3BhY2V9QXBwVXNlcmApO1xuICAgICAgRm9ybWlvLmNsZWFyQ2FjaGUoKTtcbiAgICAgIEZvcm1pby5zZXRVc2VyKG51bGwpO1xuICAgIH1cblxuICAgIHRoaXMuYXV0aGVudGljYXRlZCA9ICEhRm9ybWlvLmdldFRva2VuKCk7XG4gICAgdGhpcy5vblVzZXIuZW1pdCh0aGlzLnVzZXIpO1xuICB9XG5cbiAgc2V0VXNlclJvbGVzKCkge1xuICAgIGlmICh0aGlzLmFjY2Vzc1JlYWR5KSB7XG4gICAgICB0aGlzLmFjY2Vzc1JlYWR5LnRoZW4oKCkgPT4ge1xuICAgICAgICBlYWNoKHRoaXMucm9sZXMsIChyb2xlOiBhbnksIHJvbGVOYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy51c2VyLnJvbGVzLmluZGV4T2Yocm9sZS5faWQpICE9PSAtMSkge1xuICAgICAgICAgICAgdGhpcy5pc1tyb2xlTmFtZV0gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBsb2dvdXRFcnJvcigpIHtcbiAgICB0aGlzLnNldFVzZXIobnVsbCk7XG4gICAgY29uc3QgbmFtZXNwYWNlID0gRm9ybWlvLm5hbWVzcGFjZSB8fCAnZm9ybWlvJztcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShgJHtuYW1lc3BhY2V9VG9rZW5gKTtcbiAgICB0aGlzLm9uRXJyb3IuZW1pdCgpO1xuICB9XG5cbiAgbG9nb3V0KCkge1xuICAgIGNvbnN0IG5hbWVzcGFjZSA9IEZvcm1pby5uYW1lc3BhY2UgfHwgJ2Zvcm1pbyc7XG4gICAgY29uc3QgdG9rZW5OYW1lID0gYCR7bmFtZXNwYWNlfVRva2VuYDtcblxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRva2VuTmFtZSk7XG4gICAgaWYgKChGb3JtaW8gYXMgYW55KS50b2tlbnMgJiYgKEZvcm1pbyBhcyBhbnkpLnRva2Vucy5oYXNPd25Qcm9wZXJ0eSh0b2tlbk5hbWUpKSB7XG4gICAgICBkZWxldGUgKEZvcm1pbyBhcyBhbnkpLnRva2Vuc1t0b2tlbk5hbWVdO1xuICAgIH1cblxuICAgIEZvcm1pby5sb2dvdXQoKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLnNldFVzZXIobnVsbCk7XG4gICAgICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbShgJHtuYW1lc3BhY2V9TG9nb3V0QXV0aFVybGApKSB7XG4gICAgICAgICAgd2luZG93Lm9wZW4obG9jYWxTdG9yYWdlLmdldEl0ZW0oYCR7bmFtZXNwYWNlfUxvZ291dEF1dGhVcmxgKSwgbnVsbCwgJ3dpZHRoPTEwMjAsaGVpZ2h0PTYxOCcpO1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGAke25hbWVzcGFjZX1Mb2dvdXRBdXRoVXJsYCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbkxvZ291dC5lbWl0KCk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKCgpID0+IHRoaXMubG9nb3V0RXJyb3IoKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWlvLWFuZ3VsYXItYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL2F1dGgvc3JjL2Zvcm1pby1hbmd1bGFyLWF1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,9 +0,0 @@
1
- export { FormioAuthConfig } from './auth.config';
2
- export { FormioAuthService } from './auth.service';
3
- export { FormioAuthComponent } from './auth.component';
4
- export { FormioAuthLoginComponent } from './login/login.component';
5
- export { FormioAuthRegisterComponent } from './register/register.component';
6
- export { FormioResetPassComponent } from './resetpass/resetpass.component';
7
- export { FormioAuthRoutes } from './auth.routes';
8
- export { FormioAuth } from './auth.module';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9hdXRoL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU8sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGb3JtaW9BdXRoQ29uZmlnIH0gZnJvbSAnLi9hdXRoLmNvbmZpZyc7XG5leHBvcnQgeyBGb3JtaW9BdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmV4cG9ydCB7IEZvcm1pb0F1dGhDb21wb25lbnQgfSAgZnJvbSAnLi9hdXRoLmNvbXBvbmVudCc7XG5leHBvcnQgeyBGb3JtaW9BdXRoTG9naW5Db21wb25lbnQgfSBmcm9tICcuL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XG5leHBvcnQgeyBGb3JtaW9BdXRoUmVnaXN0ZXJDb21wb25lbnQgfSBmcm9tICcuL3JlZ2lzdGVyL3JlZ2lzdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBGb3JtaW9SZXNldFBhc3NDb21wb25lbnQgfSBmcm9tICcuL3Jlc2V0cGFzcy9yZXNldHBhc3MuY29tcG9uZW50JztcbmV4cG9ydCB7IEZvcm1pb0F1dGhSb3V0ZXMgfSBmcm9tICcuL2F1dGgucm91dGVzJztcbmV4cG9ydCB7IEZvcm1pb0F1dGggfSBmcm9tICcuL2F1dGgubW9kdWxlJztcbiJdfQ==
@@ -1,20 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../auth.service";
4
- import * as i2 from "@formio/angular";
5
- export class FormioAuthLoginComponent {
6
- service;
7
- renderOptions = {
8
- submitOnEnter: true
9
- };
10
- constructor(service) {
11
- this.service = service;
12
- }
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioAuthLoginComponent, deps: [{ token: i1.FormioAuthService }], target: i0.ɵɵFactoryTarget.Component });
14
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: FormioAuthLoginComponent, selector: "ng-component", ngImport: i0, template: "<formio [src]=\"service.loginForm\" [renderOptions]=\"renderOptions\" (submit)=\"service.onLoginSubmit($event)\"></formio>\n", dependencies: [{ kind: "component", type: i2.FormioComponent, selector: "formio" }] });
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioAuthLoginComponent, decorators: [{
17
- type: Component,
18
- args: [{ template: "<formio [src]=\"service.loginForm\" [renderOptions]=\"renderOptions\" (submit)=\"service.onLoginSubmit($event)\"></formio>\n" }]
19
- }], ctorParameters: () => [{ type: i1.FormioAuthService }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vYXV0aC9zcmMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vYXV0aC9zcmMvbG9naW4vbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUsxQyxNQUFNLE9BQU8sd0JBQXdCO0lBSWhCO0lBSFosYUFBYSxHQUFRO1FBQzFCLGFBQWEsRUFBRSxJQUFJO0tBQ3BCLENBQUM7SUFDRixZQUFtQixPQUEwQjtRQUExQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtJQUFHLENBQUM7dUdBSnRDLHdCQUF3QjsyRkFBeEIsd0JBQXdCLG9EQ0xyQyw4SEFDQTs7MkZESWEsd0JBQXdCO2tCQUhwQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtaW9BdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGguc2VydmljZSc7XG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtaW9BdXRoTG9naW5Db21wb25lbnQge1xuICBwdWJsaWMgcmVuZGVyT3B0aW9uczogYW55ID0ge1xuICAgIHN1Ym1pdE9uRW50ZXI6IHRydWVcbiAgfTtcbiAgY29uc3RydWN0b3IocHVibGljIHNlcnZpY2U6IEZvcm1pb0F1dGhTZXJ2aWNlKSB7fVxufVxuIiwiPGZvcm1pbyBbc3JjXT1cInNlcnZpY2UubG9naW5Gb3JtXCIgW3JlbmRlck9wdGlvbnNdPVwicmVuZGVyT3B0aW9uc1wiIChzdWJtaXQpPVwic2VydmljZS5vbkxvZ2luU3VibWl0KCRldmVudClcIj48L2Zvcm1pbz5cbiJdfQ==
@@ -1,20 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../auth.service";
4
- import * as i2 from "@formio/angular";
5
- export class FormioAuthRegisterComponent {
6
- service;
7
- renderOptions = {
8
- submitOnEnter: true
9
- };
10
- constructor(service) {
11
- this.service = service;
12
- }
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioAuthRegisterComponent, deps: [{ token: i1.FormioAuthService }], target: i0.ɵɵFactoryTarget.Component });
14
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: FormioAuthRegisterComponent, selector: "ng-component", ngImport: i0, template: "<formio [src]=\"service.registerForm\" [renderOptions]=\"renderOptions\" (submit)=\"service.onRegisterSubmit($event)\"></formio>\n", dependencies: [{ kind: "component", type: i2.FormioComponent, selector: "formio" }] });
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioAuthRegisterComponent, decorators: [{
17
- type: Component,
18
- args: [{ template: "<formio [src]=\"service.registerForm\" [renderOptions]=\"renderOptions\" (submit)=\"service.onRegisterSubmit($event)\"></formio>\n" }]
19
- }], ctorParameters: () => [{ type: i1.FormioAuthService }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vYXV0aC9zcmMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vYXV0aC9zcmMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUsxQyxNQUFNLE9BQU8sMkJBQTJCO0lBSW5CO0lBSFosYUFBYSxHQUFRO1FBQzFCLGFBQWEsRUFBRSxJQUFJO0tBQ3BCLENBQUM7SUFDRixZQUFtQixPQUEwQjtRQUExQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtJQUFHLENBQUM7dUdBSnRDLDJCQUEyQjsyRkFBM0IsMkJBQTJCLG9EQ0x4QyxvSUFDQTs7MkZESWEsMkJBQTJCO2tCQUh2QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtaW9BdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGguc2VydmljZSc7XG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZ2lzdGVyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtaW9BdXRoUmVnaXN0ZXJDb21wb25lbnQge1xuICBwdWJsaWMgcmVuZGVyT3B0aW9uczogYW55ID0ge1xuICAgIHN1Ym1pdE9uRW50ZXI6IHRydWVcbiAgfTtcbiAgY29uc3RydWN0b3IocHVibGljIHNlcnZpY2U6IEZvcm1pb0F1dGhTZXJ2aWNlKSB7fVxufVxuIiwiPGZvcm1pbyBbc3JjXT1cInNlcnZpY2UucmVnaXN0ZXJGb3JtXCIgW3JlbmRlck9wdGlvbnNdPVwicmVuZGVyT3B0aW9uc1wiIChzdWJtaXQpPVwic2VydmljZS5vblJlZ2lzdGVyU3VibWl0KCRldmVudClcIj48L2Zvcm1pbz5cbiJdfQ==
@@ -1,17 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../auth.service";
4
- import * as i2 from "@formio/angular";
5
- export class FormioResetPassComponent {
6
- service;
7
- constructor(service) {
8
- this.service = service;
9
- }
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioResetPassComponent, deps: [{ token: i1.FormioAuthService }], target: i0.ɵɵFactoryTarget.Component });
11
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: FormioResetPassComponent, selector: "ng-component", ngImport: i0, template: "<formio [src]=\"service.resetPassForm\" (submit)=\"service.onResetPassSubmit($event)\"></formio>\n", dependencies: [{ kind: "component", type: i2.FormioComponent, selector: "formio" }] });
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioResetPassComponent, decorators: [{
14
- type: Component,
15
- args: [{ template: "<formio [src]=\"service.resetPassForm\" (submit)=\"service.onResetPassSubmit($event)\"></formio>\n" }]
16
- }], ctorParameters: () => [{ type: i1.FormioAuthService }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXRwYXNzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL2F1dGgvc3JjL3Jlc2V0cGFzcy9yZXNldHBhc3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vYXV0aC9zcmMvcmVzZXRwYXNzL3Jlc2V0cGFzcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBSzFDLE1BQU0sT0FBTyx3QkFBd0I7SUFDaEI7SUFBbkIsWUFBbUIsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFBRyxDQUFDO3VHQUR0Qyx3QkFBd0I7MkZBQXhCLHdCQUF3QixvRENMckMsb0dBQ0E7OzJGRElhLHdCQUF3QjtrQkFIcEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybWlvQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoLnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9yZXNldHBhc3MuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1pb1Jlc2V0UGFzc0NvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzZXJ2aWNlOiBGb3JtaW9BdXRoU2VydmljZSkge31cbn1cbiIsIjxmb3JtaW8gW3NyY109XCJzZXJ2aWNlLnJlc2V0UGFzc0Zvcm1cIiAoc3VibWl0KT1cInNlcnZpY2Uub25SZXNldFBhc3NTdWJtaXQoJGV2ZW50KVwiPjwvZm9ybWlvPlxuIl19
@@ -1,28 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { FormioAlerts } from './formio.alerts';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "./parse-html-content.pipe";
6
- export class FormioAlertsComponent {
7
- alerts;
8
- focusComponent = new EventEmitter();
9
- ngOnInit() {
10
- if (!this.alerts) {
11
- this.alerts = new FormioAlerts();
12
- }
13
- }
14
- getComponent(event, alert) {
15
- this.focusComponent.emit(alert.component.key);
16
- }
17
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioAlertsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: FormioAlertsComponent, selector: "formio-alerts", inputs: { alerts: "alerts" }, outputs: { focusComponent: "focusComponent" }, ngImport: i0, template: "<div *ngFor=\"let alert of alerts.alerts\" class=\"alert alert-{{ alert.type }}\" role=\"alert\" (click)=\"getComponent($event, alert)\">\n {{alert.message | parseHtmlContent}}\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.ParseHtmlContentPipe, name: "parseHtmlContent" }] });
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormioAlertsComponent, decorators: [{
21
- type: Component,
22
- args: [{ selector: 'formio-alerts', template: "<div *ngFor=\"let alert of alerts.alerts\" class=\"alert alert-{{ alert.type }}\" role=\"alert\" (click)=\"getComponent($event, alert)\">\n {{alert.message | parseHtmlContent}}\n</div>\n" }]
23
- }], propDecorators: { alerts: [{
24
- type: Input
25
- }], focusComponent: [{
26
- type: Output
27
- }] } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWlvLmFsZXJ0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9zcmMvY29tcG9uZW50cy9hbGVydHMvZm9ybWlvLmFsZXJ0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9zcmMvY29tcG9uZW50cy9hbGVydHMvZm9ybWlvLmFsZXJ0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQU0vQyxNQUFNLE9BQU8scUJBQXFCO0lBQ3ZCLE1BQU0sQ0FBZTtJQUNwQixjQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUN0RCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFDRCxZQUFZLENBQUUsS0FBSyxFQUFFLEtBQUs7UUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRCxDQUFDO3VHQVZVLHFCQUFxQjsyRkFBckIscUJBQXFCLGtJQ1BsQyw2TEFHQTs7MkZESWEscUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLGVBQWU7OEJBSWhCLE1BQU07c0JBQWQsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1pb0FsZXJ0cyB9IGZyb20gJy4vZm9ybWlvLmFsZXJ0cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Zvcm1pby1hbGVydHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybWlvLmFsZXJ0cy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWlvQWxlcnRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgYWxlcnRzOiBGb3JtaW9BbGVydHM7XG4gIEBPdXRwdXQoKSBmb2N1c0NvbXBvbmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8b2JqZWN0PigpO1xuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuYWxlcnRzKSB7XG4gICAgICB0aGlzLmFsZXJ0cyA9IG5ldyBGb3JtaW9BbGVydHMoKTtcbiAgICB9XG4gIH1cbiAgZ2V0Q29tcG9uZW50IChldmVudCwgYWxlcnQpIHtcbiAgICB0aGlzLmZvY3VzQ29tcG9uZW50LmVtaXQoYWxlcnQuY29tcG9uZW50LmtleSk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nRm9yPVwibGV0IGFsZXJ0IG9mIGFsZXJ0cy5hbGVydHNcIiBjbGFzcz1cImFsZXJ0IGFsZXJ0LXt7IGFsZXJ0LnR5cGUgfX1cIiByb2xlPVwiYWxlcnRcIiAoY2xpY2spPVwiZ2V0Q29tcG9uZW50KCRldmVudCwgYWxlcnQpXCI+XG4gIHt7YWxlcnQubWVzc2FnZSB8IHBhcnNlSHRtbENvbnRlbnR9fVxuPC9kaXY+XG4iXX0=
@@ -1,13 +0,0 @@
1
- export class FormioAlerts {
2
- alerts = [];
3
- setAlert(alert) {
4
- this.alerts = [alert];
5
- }
6
- addAlert(alert) {
7
- this.alerts.push(alert);
8
- }
9
- setAlerts(alerts) {
10
- this.alerts = alerts;
11
- }
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWlvLmFsZXJ0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL3NyYy9jb21wb25lbnRzL2FsZXJ0cy9mb3JtaW8uYWxlcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sT0FBTyxZQUFZO0lBQ2hCLE1BQU0sR0FBa0IsRUFBRSxDQUFDO0lBRWxDLFFBQVEsQ0FBQyxLQUFrQjtRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFrQjtRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQXFCO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRm9ybWlvQWxlcnQge1xuICB0eXBlOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgY29tcG9uZW50PzogYW55O1xufVxuXG5leHBvcnQgY2xhc3MgRm9ybWlvQWxlcnRzIHtcbiAgcHVibGljIGFsZXJ0czogRm9ybWlvQWxlcnRbXSA9IFtdO1xuXG4gIHNldEFsZXJ0KGFsZXJ0OiBGb3JtaW9BbGVydCkge1xuICAgIHRoaXMuYWxlcnRzID0gW2FsZXJ0XTtcbiAgfVxuXG4gIGFkZEFsZXJ0KGFsZXJ0OiBGb3JtaW9BbGVydCkge1xuICAgIHRoaXMuYWxlcnRzLnB1c2goYWxlcnQpO1xuICB9XG5cbiAgc2V0QWxlcnRzKGFsZXJ0czogRm9ybWlvQWxlcnRbXSkge1xuICAgIHRoaXMuYWxlcnRzID0gYWxlcnRzO1xuICB9XG59XG4iXX0=
@@ -1,19 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ParseHtmlContentPipe {
4
- /*
5
- Some messages that are come from formiojs have hex codes. So the main aim of this pipe is transform this messages to html.
6
- And then render in template.
7
- */
8
- transform(content) {
9
- const parsedContent = new DOMParser().parseFromString(content, 'text/html').body.childNodes[0];
10
- return parsedContent?.textContent;
11
- }
12
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ParseHtmlContentPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
13
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: ParseHtmlContentPipe, name: "parseHtmlContent", pure: false });
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ParseHtmlContentPipe, decorators: [{
16
- type: Pipe,
17
- args: [{ name: 'parseHtmlContent', pure: false }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtaHRtbC1jb250ZW50LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9zcmMvY29tcG9uZW50cy9hbGVydHMvcGFyc2UtaHRtbC1jb250ZW50LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBR3BELE1BQU0sT0FBTyxvQkFBb0I7SUFFL0I7OztNQUdFO0lBQ0YsU0FBUyxDQUFDLE9BQU87UUFDZixNQUFNLGFBQWEsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUvRixPQUFPLGFBQWEsRUFBRSxXQUFXLENBQUM7SUFDcEMsQ0FBQzt1R0FWVSxvQkFBb0I7cUdBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFEaEMsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7IG5hbWU6ICdwYXJzZUh0bWxDb250ZW50JywgcHVyZTogZmFsc2UgfSlcbmV4cG9ydCBjbGFzcyBQYXJzZUh0bWxDb250ZW50UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIC8qXG4gICAgU29tZSBtZXNzYWdlcyB0aGF0IGFyZSBjb21lIGZyb20gZm9ybWlvanMgaGF2ZSBoZXggY29kZXMuIFNvIHRoZSBtYWluIGFpbSBvZiB0aGlzIHBpcGUgaXMgdHJhbnNmb3JtIHRoaXMgbWVzc2FnZXMgdG8gaHRtbC5cbiAgICBBbmQgdGhlbiByZW5kZXIgaW4gdGVtcGxhdGUuXG4gICovXG4gIHRyYW5zZm9ybShjb250ZW50KSB7XG4gICAgY29uc3QgcGFyc2VkQ29udGVudCA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoY29udGVudCwgJ3RleHQvaHRtbCcpLmJvZHkuY2hpbGROb2Rlc1swXTtcblxuICAgIHJldHVybiBwYXJzZWRDb250ZW50Py50ZXh0Q29udGVudDtcbiAgfVxufVxuIl19