coer-elements 0.0.22 → 0.0.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. package/components/index.d.ts +5 -16
  2. package/components/lib/coer-button/coer-button.component.d.ts +3 -3
  3. package/components/lib/coer-checkbox/coer-checkbox.component.d.ts +1 -1
  4. package/components/lib/coer-filebox/coer-filebox.component.d.ts +3 -3
  5. package/components/lib/coer-grid/coer-grid.component.d.ts +1 -1
  6. package/components/lib/coer-grid/coer-grid.extension.d.ts +3 -5
  7. package/components/lib/coer-grid/coer-grid.templates.d.ts +1 -1
  8. package/components/lib/coer-modal/coer-modal.component.d.ts +2 -2
  9. package/components/lib/coer-numberbox/coer-numberbox.component.d.ts +1 -2
  10. package/components/lib/coer-page-title/coer-page-title.component.d.ts +1 -1
  11. package/components/lib/coer-selectbox/coer-selectbox.component.d.ts +1 -1
  12. package/components/lib/coer-switch/coer-switch.component.d.ts +1 -1
  13. package/components/lib/coer-tab/coer-tab.component.d.ts +1 -1
  14. package/components/lib/coer-textarea/coer-textarea.component.d.ts +1 -1
  15. package/components/lib/coer-textbox/coer-textbox.component.d.ts +1 -1
  16. package/components/lib/components.module.d.ts +25 -26
  17. package/components/public-api.d.ts +15 -0
  18. package/directives/index.d.ts +5 -3
  19. package/directives/public-api.d.ts +3 -0
  20. package/esm2022/coer-elements.mjs +2 -2
  21. package/esm2022/components/coer-elements-components.mjs +5 -0
  22. package/esm2022/components/lib/coer-button/coer-button.component.mjs +2 -2
  23. package/esm2022/components/lib/coer-checkbox/coer-checkbox.component.mjs +2 -3
  24. package/esm2022/components/lib/coer-filebox/coer-filebox.component.mjs +3 -5
  25. package/esm2022/components/lib/coer-form/coer-form.component.mjs +2 -3
  26. package/esm2022/components/lib/coer-grid/coer-grid.component.mjs +4 -7
  27. package/esm2022/components/lib/coer-grid/coer-grid.extension.mjs +2 -6
  28. package/esm2022/components/lib/coer-grid/coer-grid.templates.mjs +1 -1
  29. package/esm2022/components/lib/coer-modal/coer-modal.component.mjs +4 -5
  30. package/esm2022/components/lib/coer-numberbox/coer-numberbox.component.mjs +2 -4
  31. package/esm2022/components/lib/coer-page-title/coer-page-title.component.mjs +2 -2
  32. package/esm2022/components/lib/coer-selectbox/coer-selectbox.component.mjs +2 -3
  33. package/esm2022/components/lib/coer-switch/coer-switch.component.mjs +2 -3
  34. package/esm2022/components/lib/coer-tab/coer-tab.component.mjs +4 -4
  35. package/esm2022/components/lib/coer-textarea/coer-textarea.component.mjs +2 -3
  36. package/esm2022/components/lib/coer-textbox/coer-textbox.component.mjs +2 -3
  37. package/esm2022/components/lib/components.module.mjs +10 -15
  38. package/esm2022/components/public-api.mjs +16 -0
  39. package/esm2022/directives/coer-elements-directives.mjs +5 -0
  40. package/esm2022/directives/lib/coer-ref.directive.mjs +1 -1
  41. package/esm2022/directives/lib/directives.module.mjs +1 -1
  42. package/esm2022/directives/lib/life-cycle.directive.mjs +1 -1
  43. package/esm2022/directives/public-api.mjs +4 -0
  44. package/esm2022/index.mjs +2 -0
  45. package/esm2022/interfaces/coer-elements-interfaces.mjs +5 -0
  46. package/esm2022/interfaces/lib/app-source.interface.mjs +1 -1
  47. package/esm2022/interfaces/lib/coer-filebox/file-image.interface.mjs +1 -1
  48. package/esm2022/interfaces/lib/coer-filebox/file.interface.mjs +1 -1
  49. package/esm2022/interfaces/lib/coer-grid/grid-button-by-row.interface.mjs +1 -1
  50. package/esm2022/interfaces/lib/coer-grid/grid-checkbox.interface.mjs +1 -1
  51. package/esm2022/interfaces/lib/coer-grid/grid-coer-numberbox.interface.mjs +1 -1
  52. package/esm2022/interfaces/lib/coer-grid/grid-coer-selectbox.interface.mjs +1 -1
  53. package/esm2022/interfaces/lib/coer-grid/grid-coer-switch.interface.mjs +1 -1
  54. package/esm2022/interfaces/lib/coer-grid/grid-coer-textbox.interface.mjs +1 -1
  55. package/esm2022/interfaces/lib/coer-grid/grid-column.interface.mjs +1 -1
  56. package/esm2022/interfaces/lib/coer-grid/grid-data-source.interface.mjs +1 -1
  57. package/esm2022/interfaces/lib/coer-grid/grid-header-button.interface.mjs +1 -1
  58. package/esm2022/interfaces/lib/coer-grid/grid-header-export-button.interface.mjs +1 -1
  59. package/esm2022/interfaces/lib/coer-grid/grid-header.interface.mjs +1 -1
  60. package/esm2022/interfaces/lib/coer-grid/grid-import.interface.mjs +1 -1
  61. package/esm2022/interfaces/lib/coer-grid/grid-input-checkbox.interface.mjs +1 -1
  62. package/esm2022/interfaces/lib/coer-grid/grid-input-switch-change.interface.mjs +1 -1
  63. package/esm2022/interfaces/lib/coer-grid/grid-input-textbox.interface.mjs +1 -1
  64. package/esm2022/interfaces/lib/coer-grid/grid-item.interface.mjs +1 -1
  65. package/esm2022/interfaces/lib/coer-grid/grid-keyup-enter.interface.mjs +1 -1
  66. package/esm2022/interfaces/lib/coer-grid/grid-length.interface.mjs +1 -1
  67. package/esm2022/interfaces/lib/coer-grid/grid-search.interface.mjs +1 -1
  68. package/esm2022/interfaces/lib/coer-grid/grid-sort.interface.mjs +1 -1
  69. package/esm2022/interfaces/lib/coer-menu/menu-option-selected.interface.mjs +1 -1
  70. package/esm2022/interfaces/lib/coer-menu/menu-selected.interface.mjs +1 -1
  71. package/esm2022/interfaces/lib/coer-menu/menu.interface.mjs +1 -1
  72. package/esm2022/interfaces/lib/coer-ref.interface.mjs +1 -1
  73. package/esm2022/interfaces/lib/page-title/breadcrumb.interface.mjs +1 -1
  74. package/esm2022/interfaces/lib/page-title/go-back.interface.mjs +1 -1
  75. package/esm2022/interfaces/lib/screen-size.interface.mjs +1 -1
  76. package/esm2022/interfaces/lib/service/http-request.interface.mjs +1 -1
  77. package/esm2022/interfaces/lib/service/http-response.interface.mjs +1 -1
  78. package/esm2022/interfaces/lib/service/patch.interface.mjs +1 -1
  79. package/esm2022/interfaces/public-api.mjs +39 -0
  80. package/esm2022/pipes/coer-elements-pipes.mjs +5 -0
  81. package/esm2022/pipes/lib/html.pipe.mjs +1 -1
  82. package/esm2022/pipes/lib/no-image.pipe.mjs +3 -3
  83. package/esm2022/pipes/lib/numeric-format.pipe.mjs +2 -2
  84. package/esm2022/pipes/lib/pipes.module.mjs +1 -1
  85. package/esm2022/pipes/public-api.mjs +5 -0
  86. package/esm2022/signals/coer-elements-signals.mjs +5 -0
  87. package/esm2022/signals/lib/breakpoint.signal.mjs +2 -2
  88. package/esm2022/signals/lib/is-loading.signal.mjs +1 -1
  89. package/esm2022/signals/lib/is-menu-open.signal.mjs +1 -1
  90. package/esm2022/signals/lib/is-modal-open.signal.mjs +1 -1
  91. package/esm2022/signals/lib/menu.signal.mjs +1 -1
  92. package/esm2022/signals/public-api.mjs +6 -0
  93. package/esm2022/tools/coer-elements-tools.mjs +5 -0
  94. package/esm2022/tools/lib/breadcrumbs.class.mjs +1 -1
  95. package/esm2022/tools/lib/coer-alert/coer-alert.component.mjs +228 -0
  96. package/esm2022/tools/lib/control-value.class.mjs +1 -1
  97. package/esm2022/tools/lib/date-time.class.mjs +1 -1
  98. package/esm2022/tools/lib/files.class.mjs +1 -1
  99. package/esm2022/tools/lib/menu.class.mjs +1 -1
  100. package/esm2022/tools/lib/page.class.mjs +4 -4
  101. package/esm2022/tools/lib/screen.class.mjs +1 -1
  102. package/esm2022/tools/lib/service.class.mjs +24 -25
  103. package/esm2022/tools/lib/source.class.mjs +3 -3
  104. package/esm2022/tools/lib/tools.mjs +1 -1
  105. package/esm2022/tools/public-api.mjs +12 -0
  106. package/fesm2022/coer-elements-components.mjs +2718 -0
  107. package/fesm2022/coer-elements-components.mjs.map +1 -0
  108. package/fesm2022/coer-elements-directives.mjs +82 -0
  109. package/fesm2022/coer-elements-directives.mjs.map +1 -0
  110. package/fesm2022/coer-elements-interfaces.mjs +6 -0
  111. package/fesm2022/coer-elements-interfaces.mjs.map +1 -0
  112. package/fesm2022/coer-elements-pipes.mjs +83 -0
  113. package/fesm2022/coer-elements-pipes.mjs.map +1 -0
  114. package/fesm2022/coer-elements-signals.mjs +19 -0
  115. package/fesm2022/coer-elements-signals.mjs.map +1 -0
  116. package/fesm2022/coer-elements-tools.mjs +1223 -0
  117. package/fesm2022/coer-elements-tools.mjs.map +1 -0
  118. package/fesm2022/coer-elements.mjs +0 -4081
  119. package/fesm2022/coer-elements.mjs.map +1 -1
  120. package/index.d.ts +1 -5
  121. package/interfaces/index.d.ts +5 -33
  122. package/interfaces/public-api.d.ts +33 -0
  123. package/package.json +37 -1
  124. package/pipes/index.d.ts +5 -4
  125. package/pipes/public-api.d.ts +4 -0
  126. package/signals/index.d.ts +5 -5
  127. package/signals/lib/menu.signal.d.ts +1 -1
  128. package/signals/public-api.d.ts +5 -0
  129. package/styles/angular-material.scss +8 -11
  130. package/styles/bootstrap.scss +3 -3
  131. package/tools/index.d.ts +5 -10
  132. package/tools/lib/breadcrumbs.class.d.ts +1 -1
  133. package/tools/lib/menu.class.d.ts +1 -1
  134. package/tools/lib/page.class.d.ts +2 -2
  135. package/tools/lib/screen.class.d.ts +1 -1
  136. package/tools/lib/service.class.d.ts +2 -2
  137. package/tools/lib/source.class.d.ts +1 -1
  138. package/tools/public-api.d.ts +11 -0
  139. package/esm2022/components/index.mjs +0 -17
  140. package/esm2022/components/lib/coer-alert/coer-alert.component.mjs +0 -227
  141. package/esm2022/directives/index.mjs +0 -4
  142. package/esm2022/interfaces/index.mjs +0 -39
  143. package/esm2022/pipes/index.mjs +0 -5
  144. package/esm2022/public_api.mjs +0 -6
  145. package/esm2022/signals/index.mjs +0 -6
  146. package/esm2022/tools/index.mjs +0 -11
  147. package/public_api.d.ts +0 -5
  148. /package/{components → tools}/lib/coer-alert/coer-alert.component.d.ts +0 -0
package/index.d.ts CHANGED
@@ -1,5 +1 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="coer-elements" />
5
- export * from './public_api';
1
+ export {};
@@ -1,33 +1,5 @@
1
- export * from './lib/coer-filebox/file-image.interface';
2
- export * from './lib/coer-filebox/file.interface';
3
- export * from './lib/coer-grid/grid-button-by-row.interface';
4
- export * from './lib/coer-grid/grid-checkbox.interface';
5
- export * from './lib/coer-grid/grid-coer-numberbox.interface';
6
- export * from './lib/coer-grid/grid-coer-selectbox.interface';
7
- export * from './lib/coer-grid/grid-coer-switch.interface';
8
- export * from './lib/coer-grid/grid-coer-textbox.interface';
9
- export * from './lib/coer-grid/grid-column.interface';
10
- export * from './lib/coer-grid/grid-data-source.interface';
11
- export * from './lib/coer-grid/grid-header-button.interface';
12
- export * from './lib/coer-grid/grid-header-export-button.interface';
13
- export * from './lib/coer-grid/grid-header.interface';
14
- export * from './lib/coer-grid/grid-import.interface';
15
- export * from './lib/coer-grid/grid-input-checkbox.interface';
16
- export * from './lib/coer-grid/grid-input-switch-change.interface';
17
- export * from './lib/coer-grid/grid-input-textbox.interface';
18
- export * from './lib/coer-grid/grid-item.interface';
19
- export * from './lib/coer-grid/grid-keyup-enter.interface';
20
- export * from './lib/coer-grid/grid-length.interface';
21
- export * from './lib/coer-grid/grid-search.interface';
22
- export * from './lib/coer-grid/grid-sort.interface';
23
- export * from './lib/coer-menu/menu-option-selected.interface';
24
- export * from './lib/coer-menu/menu-selected.interface';
25
- export * from './lib/coer-menu/menu.interface';
26
- export * from './lib/page-title/breadcrumb.interface';
27
- export * from './lib/page-title/go-back.interface';
28
- export * from './lib/service/http-request.interface';
29
- export * from './lib/service/http-response.interface';
30
- export * from './lib/service/patch.interface';
31
- export * from './lib/app-source.interface';
32
- export * from './lib/coer-ref.interface';
33
- export * from './lib/screen-size.interface';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="coer-elements/interfaces" />
5
+ export * from './public-api';
@@ -0,0 +1,33 @@
1
+ export * from './lib/coer-filebox/file-image.interface';
2
+ export * from './lib/coer-filebox/file.interface';
3
+ export * from './lib/coer-grid/grid-button-by-row.interface';
4
+ export * from './lib/coer-grid/grid-checkbox.interface';
5
+ export * from './lib/coer-grid/grid-coer-numberbox.interface';
6
+ export * from './lib/coer-grid/grid-coer-selectbox.interface';
7
+ export * from './lib/coer-grid/grid-coer-switch.interface';
8
+ export * from './lib/coer-grid/grid-coer-textbox.interface';
9
+ export * from './lib/coer-grid/grid-column.interface';
10
+ export * from './lib/coer-grid/grid-data-source.interface';
11
+ export * from './lib/coer-grid/grid-header-button.interface';
12
+ export * from './lib/coer-grid/grid-header-export-button.interface';
13
+ export * from './lib/coer-grid/grid-header.interface';
14
+ export * from './lib/coer-grid/grid-import.interface';
15
+ export * from './lib/coer-grid/grid-input-checkbox.interface';
16
+ export * from './lib/coer-grid/grid-input-switch-change.interface';
17
+ export * from './lib/coer-grid/grid-input-textbox.interface';
18
+ export * from './lib/coer-grid/grid-item.interface';
19
+ export * from './lib/coer-grid/grid-keyup-enter.interface';
20
+ export * from './lib/coer-grid/grid-length.interface';
21
+ export * from './lib/coer-grid/grid-search.interface';
22
+ export * from './lib/coer-grid/grid-sort.interface';
23
+ export * from './lib/coer-menu/menu-option-selected.interface';
24
+ export * from './lib/coer-menu/menu-selected.interface';
25
+ export * from './lib/coer-menu/menu.interface';
26
+ export * from './lib/page-title/breadcrumb.interface';
27
+ export * from './lib/page-title/go-back.interface';
28
+ export * from './lib/service/http-request.interface';
29
+ export * from './lib/service/http-response.interface';
30
+ export * from './lib/service/patch.interface';
31
+ export * from './lib/app-source.interface';
32
+ export * from './lib/coer-ref.interface';
33
+ export * from './lib/screen-size.interface';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "coer-elements",
3
- "version": "0.0.22",
3
+ "version": "0.0.24",
4
4
  "author": "Christian Omar Escamilla Rodríguez",
5
5
  "keywords": [
6
6
  "coer",
@@ -33,6 +33,42 @@
33
33
  "esm2022": "./esm2022/coer-elements.mjs",
34
34
  "esm": "./esm2022/coer-elements.mjs",
35
35
  "default": "./fesm2022/coer-elements.mjs"
36
+ },
37
+ "./components": {
38
+ "types": "./components/index.d.ts",
39
+ "esm2022": "./esm2022/components/coer-elements-components.mjs",
40
+ "esm": "./esm2022/components/coer-elements-components.mjs",
41
+ "default": "./fesm2022/coer-elements-components.mjs"
42
+ },
43
+ "./directives": {
44
+ "types": "./directives/index.d.ts",
45
+ "esm2022": "./esm2022/directives/coer-elements-directives.mjs",
46
+ "esm": "./esm2022/directives/coer-elements-directives.mjs",
47
+ "default": "./fesm2022/coer-elements-directives.mjs"
48
+ },
49
+ "./interfaces": {
50
+ "types": "./interfaces/index.d.ts",
51
+ "esm2022": "./esm2022/interfaces/coer-elements-interfaces.mjs",
52
+ "esm": "./esm2022/interfaces/coer-elements-interfaces.mjs",
53
+ "default": "./fesm2022/coer-elements-interfaces.mjs"
54
+ },
55
+ "./pipes": {
56
+ "types": "./pipes/index.d.ts",
57
+ "esm2022": "./esm2022/pipes/coer-elements-pipes.mjs",
58
+ "esm": "./esm2022/pipes/coer-elements-pipes.mjs",
59
+ "default": "./fesm2022/coer-elements-pipes.mjs"
60
+ },
61
+ "./signals": {
62
+ "types": "./signals/index.d.ts",
63
+ "esm2022": "./esm2022/signals/coer-elements-signals.mjs",
64
+ "esm": "./esm2022/signals/coer-elements-signals.mjs",
65
+ "default": "./fesm2022/coer-elements-signals.mjs"
66
+ },
67
+ "./tools": {
68
+ "types": "./tools/index.d.ts",
69
+ "esm2022": "./esm2022/tools/coer-elements-tools.mjs",
70
+ "esm": "./esm2022/tools/coer-elements-tools.mjs",
71
+ "default": "./fesm2022/coer-elements-tools.mjs"
36
72
  }
37
73
  }
38
74
  }
package/pipes/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- export * from './lib/pipes.module';
2
- export * from './lib/html.pipe';
3
- export * from './lib/no-image.pipe';
4
- export * from './lib/numeric-format.pipe';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="coer-elements/pipes" />
5
+ export * from './public-api';
@@ -0,0 +1,4 @@
1
+ export * from './lib/pipes.module';
2
+ export * from './lib/html.pipe';
3
+ export * from './lib/no-image.pipe';
4
+ export * from './lib/numeric-format.pipe';
@@ -1,5 +1,5 @@
1
- export * from './lib/breakpoint.signal';
2
- export * from './lib/is-loading.signal';
3
- export * from './lib/is-menu-open.signal';
4
- export * from './lib/is-modal-open.signal';
5
- export * from './lib/menu.signal';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="coer-elements/signals" />
5
+ export * from './public-api';
@@ -1,2 +1,2 @@
1
- import { IMenu } from "../../interfaces";
1
+ import { IMenu } from "coer-elements/interfaces";
2
2
  export declare const menuSIGNAL: import("@angular/core").WritableSignal<IMenu[]>;
@@ -0,0 +1,5 @@
1
+ export * from './lib/breakpoint.signal';
2
+ export * from './lib/is-loading.signal';
3
+ export * from './lib/is-menu-open.signal';
4
+ export * from './lib/is-modal-open.signal';
5
+ export * from './lib/menu.signal';
@@ -1,12 +1,9 @@
1
1
  /********** COER styles **********/
2
- //@import "src/app/home/components/coer-sidenav/coer-sidenav.component.scss";
3
- //@import "src/app/home/components/coer-tree-accordion/coer-tree-accordion.component.scss";
4
- //@import "src/app/home/components/coer-menu-option/coer-menu-option.component.scss";
5
- @import "../src/components/lib/coer-button/coer-button.component.scss";
6
- @import "../src/components/lib/coer-textbox/coer-textbox.component.scss";
7
- @import "../src/components/lib/coer-textarea/coer-textarea.component.scss";
8
- @import "../src/components/lib/coer-selectbox/coer-selectbox.component.scss";
9
- @import "../src/components/lib/coer-numberbox/coer-numberbox.component.scss";
10
- @import "../src/components/lib/coer-switch/coer-switch.component.scss";
11
- @import "../src/components/lib/coer-checkbox/coer-checkbox.component.scss";
12
- @import "../src/components/lib/coer-tab/coer-tab.component.scss";
2
+ @import "../components/lib/coer-button/coer-button.component.scss";
3
+ @import "../components/lib/coer-textbox/coer-textbox.component.scss";
4
+ @import "../components/lib/coer-textarea/coer-textarea.component.scss";
5
+ @import "../components/lib/coer-selectbox/coer-selectbox.component.scss";
6
+ @import "../components/lib/coer-numberbox/coer-numberbox.component.scss";
7
+ @import "../components/lib/coer-switch/coer-switch.component.scss";
8
+ @import "../components/lib/coer-checkbox/coer-checkbox.component.scss";
9
+ @import "../components/lib/coer-tab/coer-tab.component.scss";
@@ -14,6 +14,6 @@
14
14
  height: 0px !important;
15
15
  }
16
16
 
17
- @import "../src/components/lib/coer-page-title/coer-page-title.component.scss";
18
- @import "../src/components/lib/coer-grid/coer-grid.component.scss";
19
- @import "../src/components/lib/coer-modal/coer-modal.component.scss";
17
+ @import "../components/lib/coer-page-title/coer-page-title.component.scss";
18
+ @import "../components/lib/coer-grid/coer-grid.component.scss";
19
+ @import "../components/lib/coer-modal/coer-modal.component.scss";
package/tools/index.d.ts CHANGED
@@ -1,10 +1,5 @@
1
- export * from './lib/breadcrumbs.class';
2
- export * from './lib/control-value.class';
3
- export * from './lib/date-time.class';
4
- export * from './lib/files.class';
5
- export * from './lib/menu.class';
6
- export * from './lib/page.class';
7
- export * from './lib/screen.class';
8
- export * from './lib/service.class';
9
- export * from './lib/source.class';
10
- export * from './lib/tools';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="coer-elements/tools" />
5
+ export * from './public-api';
@@ -1,4 +1,4 @@
1
- import { IAppSource } from "../../interfaces";
1
+ import { IAppSource } from "coer-elements/interfaces";
2
2
  export declare class Breadcrumbs {
3
3
  private static readonly storage;
4
4
  /** */
@@ -1,4 +1,4 @@
1
- import { IMenuOptionSelected } from "../../interfaces";
1
+ import { IMenuOptionSelected } from "coer-elements/interfaces";
2
2
  export declare class Menu {
3
3
  private static readonly storage;
4
4
  /** */
@@ -1,7 +1,7 @@
1
1
  import { Router } from '@angular/router';
2
2
  import { AfterViewInit, OnDestroy } from '@angular/core';
3
- import { IBreadcrumb, IGoBack } from '../../interfaces';
4
- import { CoerAlert } from '../../components/lib/coer-alert/coer-alert.component';
3
+ import { IBreadcrumb, IGoBack } from 'coer-elements/interfaces';
4
+ import { CoerAlert } from './coer-alert/coer-alert.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class Page implements AfterViewInit, OnDestroy {
7
7
  protected readonly alert: CoerAlert;
@@ -1,4 +1,4 @@
1
- import { IScreenSize } from "../../interfaces";
1
+ import { IScreenSize } from "coer-elements/interfaces";
2
2
  import { Observable } from "rxjs";
3
3
  export declare class Screen {
4
4
  static get WINDOW_WIDTH(): number;
@@ -1,6 +1,6 @@
1
1
  import { HttpClient } from "@angular/common/http";
2
- import { CoerAlert } from "../../components/lib/coer-alert/coer-alert.component";
3
- import { IHttpRequest, IHttpResponse } from "../../interfaces";
2
+ import { CoerAlert } from "./coer-alert/coer-alert.component";
3
+ import { IHttpRequest, IHttpResponse } from "coer-elements/interfaces";
4
4
  export declare class Service {
5
5
  protected readonly alert: CoerAlert;
6
6
  protected readonly http: HttpClient;
@@ -1,4 +1,4 @@
1
- import { IAppSource } from "../../interfaces";
1
+ import { IAppSource } from "coer-elements/interfaces";
2
2
  export declare class Source {
3
3
  private static readonly storage;
4
4
  /** */
@@ -0,0 +1,11 @@
1
+ export * from './lib/coer-alert/coer-alert.component';
2
+ export * from './lib/breadcrumbs.class';
3
+ export * from './lib/control-value.class';
4
+ export * from './lib/date-time.class';
5
+ export * from './lib/files.class';
6
+ export * from './lib/menu.class';
7
+ export * from './lib/page.class';
8
+ export * from './lib/screen.class';
9
+ export * from './lib/service.class';
10
+ export * from './lib/source.class';
11
+ export * from './lib/tools';
@@ -1,17 +0,0 @@
1
- export * from './lib/components.module';
2
- export * from './lib/coer-alert/coer-alert.component';
3
- export * from './lib/coer-button/coer-button.component';
4
- export * from './lib/coer-checkbox/coer-checkbox.component';
5
- export * from './lib/coer-filebox/coer-filebox.component';
6
- export * from './lib/coer-form/coer-form.component';
7
- export * from './lib/coer-grid/coer-grid.component';
8
- export * from './lib/coer-grid/coer-grid.templates';
9
- export * from './lib/coer-modal/coer-modal.component';
10
- export * from './lib/coer-numberbox/coer-numberbox.component';
11
- export * from './lib/coer-page-title/coer-page-title.component';
12
- export * from './lib/coer-selectbox/coer-selectbox.component';
13
- export * from './lib/coer-switch/coer-switch.component';
14
- export * from './lib/coer-tab/coer-tab.component';
15
- export * from './lib/coer-textarea/coer-textarea.component';
16
- export * from './lib/coer-textbox/coer-textbox.component';
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZXItYWxlcnQvY29lci1hbGVydC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLWJ1dHRvbi9jb2VyLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLWNoZWNrYm94L2NvZXItY2hlY2tib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1maWxlYm94L2NvZXItZmlsZWJveC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLWZvcm0vY29lci1mb3JtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZXItZ3JpZC9jb2VyLWdyaWQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1ncmlkL2NvZXItZ3JpZC50ZW1wbGF0ZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLW1vZGFsL2NvZXItbW9kYWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1udW1iZXJib3gvY29lci1udW1iZXJib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1wYWdlLXRpdGxlL2NvZXItcGFnZS10aXRsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLXNlbGVjdGJveC9jb2VyLXNlbGVjdGJveC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLXN3aXRjaC9jb2VyLXN3aXRjaC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLXRhYi9jb2VyLXRhYi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLXRleHRhcmVhL2NvZXItdGV4dGFyZWEuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci10ZXh0Ym94L2NvZXItdGV4dGJveC5jb21wb25lbnQnOyJdfQ==
@@ -1,227 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as bootstrap from 'bootstrap';
3
- import Swal from 'sweetalert2';
4
- import * as i0 from "@angular/core";
5
- export class CoerAlert {
6
- /** */
7
- Success(message = null, title = null, icon = null, autohide = 3000) {
8
- //Title
9
- if (!title || title == '')
10
- title = 'Success';
11
- const alertSuccessTitle = document.getElementById('alert-success-title');
12
- alertSuccessTitle.textContent = title;
13
- //Icon
14
- icon = this.GetIcon(title, icon, 'bi-check-circle fa-beat');
15
- const alertSuccessIcon = document.getElementById('alert-success-icon');
16
- this.SetIcon(alertSuccessIcon, icon);
17
- //Message
18
- if (!message)
19
- message = '';
20
- const alertSuccessMessage = document.getElementById('alert-success-message');
21
- alertSuccessMessage.innerHTML = message;
22
- //Toast
23
- const alertSuccess = document.getElementById('alert-success');
24
- this.SetAutoHide(alertSuccess, autohide);
25
- const toast = bootstrap.Toast.getOrCreateInstance(alertSuccess);
26
- toast.show();
27
- }
28
- /** */
29
- Error(message = null, title = null, icon = null, autohide = 3000) {
30
- //Title
31
- if (!title || title == '')
32
- title = 'Error';
33
- const alertErrorTitle = document.getElementById('alert-error-title');
34
- alertErrorTitle.textContent = title;
35
- //Icon
36
- icon = this.GetIcon(title, icon, 'bi-exclamation-octagon fa-beat');
37
- const alertErrorIcon = document.getElementById('alert-error-icon');
38
- this.SetIcon(alertErrorIcon, icon);
39
- //Message
40
- if (!message)
41
- message = '';
42
- const alertErrorBody = document.getElementById('alert-error-message');
43
- alertErrorBody.innerHTML = message;
44
- //Toast
45
- const alertError = document.getElementById('alert-error');
46
- this.SetAutoHide(alertError, autohide);
47
- const toast = bootstrap.Toast.getOrCreateInstance(alertError);
48
- toast.show();
49
- }
50
- /** */
51
- Info(message = null, title = null, icon = null, autohide = 3000) {
52
- //Title
53
- if (!title || title == '')
54
- title = 'Info';
55
- const alertInfoTitle = document.getElementById('alert-info-title');
56
- alertInfoTitle.textContent = title;
57
- //Icon
58
- icon = this.GetIcon(title, icon, 'bi-info-circle fa-beat');
59
- const alertInfoIcon = document.getElementById('alert-info-icon');
60
- this.SetIcon(alertInfoIcon, icon);
61
- //Message
62
- if (!message)
63
- message = '';
64
- const alertInfoBody = document.getElementById('alert-info-message');
65
- alertInfoBody.innerHTML = message;
66
- //Toast
67
- const alertInfo = document.getElementById('alert-info');
68
- this.SetAutoHide(alertInfo, autohide);
69
- const toast = bootstrap.Toast.getOrCreateInstance(alertInfo);
70
- toast.show();
71
- }
72
- /** */
73
- Warning(message = null, title = null, icon = null, autohide = 3000) {
74
- //Title
75
- if (!title || title == '')
76
- title = 'Warning';
77
- const alertWarningTitle = document.getElementById('alert-warning-title');
78
- alertWarningTitle.textContent = title;
79
- //Icon
80
- icon = this.GetIcon(title, icon, 'bi-exclamation-triangle-fill fa-beat');
81
- const alertWarningIcon = document.getElementById('alert-warning-icon');
82
- this.SetIcon(alertWarningIcon, icon);
83
- //Message
84
- if (!message)
85
- message = '';
86
- const alertWarningBody = document.getElementById('alert-warning-message');
87
- alertWarningBody.innerHTML = message;
88
- //Toast
89
- const alertWarning = document.getElementById('alert-warning');
90
- this.SetAutoHide(alertWarning, autohide);
91
- const toast = bootstrap.Toast.getOrCreateInstance(alertWarning);
92
- toast.show();
93
- }
94
- /** */
95
- Close(alert) {
96
- return new Promise(Resolve => {
97
- const element = document.getElementById(alert);
98
- const toast = bootstrap.Toast.getOrCreateInstance(element);
99
- toast.hide();
100
- setTimeout(() => { Resolve(); }, 200);
101
- });
102
- }
103
- /** */
104
- Confirm(message = 'Proceed?', alertType = 'warning', icon = null) {
105
- return new Promise(Resolve => {
106
- let color;
107
- let iconType;
108
- switch (alertType) {
109
- case 'danger':
110
- {
111
- if (icon == null)
112
- icon = 'bi-exclamation-octagon';
113
- iconType = 'error';
114
- color = '#dc3545'; //red
115
- break;
116
- }
117
- ;
118
- case 'success':
119
- {
120
- if (icon == null)
121
- icon = 'bi-check-circle';
122
- iconType = 'info';
123
- color = '#198754'; //green
124
- break;
125
- }
126
- ;
127
- case 'info':
128
- {
129
- if (icon == null)
130
- icon = 'bi-info-circle';
131
- iconType = 'error';
132
- color = '#0d6efd'; //blue
133
- break;
134
- }
135
- ;
136
- default: {
137
- if (icon == null)
138
- icon = 'bi-exclamation-triangle-fill';
139
- iconType = 'warning';
140
- color = '#ffc107'; //yellow
141
- break;
142
- }
143
- }
144
- switch (icon) {
145
- case 'delete':
146
- icon = 'fa-regular fa-trash-can';
147
- break;
148
- }
149
- Swal.fire({
150
- icon: iconType,
151
- iconColor: 'transparent',
152
- iconHtml: `<i class="${icon}" style="color: ${color};"></i>`,
153
- html: message,
154
- showConfirmButton: true,
155
- confirmButtonText: 'Yes',
156
- confirmButtonColor: color,
157
- focusConfirm: true,
158
- showDenyButton: true,
159
- denyButtonColor: color,
160
- focusDeny: false,
161
- reverseButtons: true,
162
- allowOutsideClick: false,
163
- allowEscapeKey: false,
164
- allowEnterKey: true,
165
- customClass: {
166
- denyButton: 'sweet-alert-button',
167
- confirmButton: 'sweet-alert-button'
168
- }
169
- }).then(({ value }) => setTimeout(() => Resolve(value)));
170
- });
171
- }
172
- /** */
173
- SetIcon(element, icon) {
174
- for (const item of [...element.classList.value.split(' ')]) {
175
- if (item.length > 0) {
176
- element.classList.remove(item);
177
- element.classList.remove('q');
178
- }
179
- }
180
- icon = icon.trim();
181
- const hasWhiteSpaces = / /;
182
- if (hasWhiteSpaces.test(icon)) {
183
- const classes = icon.split(' ');
184
- for (const icon of classes)
185
- element.classList.add(icon);
186
- }
187
- else
188
- element.classList.add(icon);
189
- }
190
- /** */
191
- SetAutoHide(element, autohide) {
192
- element.removeAttribute('data-bs-autohide');
193
- element.removeAttribute('data-bs-delay');
194
- if (autohide && autohide > 0) {
195
- if (autohide < 1000)
196
- autohide = 1000;
197
- element.setAttribute('data-bs-autohide', 'true');
198
- element.setAttribute('data-bs-delay', String(autohide));
199
- }
200
- else
201
- element.setAttribute('data-bs-autohide', 'false');
202
- }
203
- /** */
204
- GetIcon(title, icon, iconDefault) {
205
- if (icon == null || icon == '') {
206
- title = title.replaceAll(' ', '').toUpperCase();
207
- switch (title) {
208
- case 'ENABLED': return 'fa-solid fa-thumbs-up fa-flip-horizontal';
209
- case 'ACTIVE': return 'fa-solid fa-thumbs-up fa-flip-horizontal';
210
- case 'ACTIVED': return 'fa-solid fa-thumbs-up fa-flip-horizontal';
211
- case 'DISABLE': return 'fa-solid fa-thumbs-down fa-flip-horizontal';
212
- case 'DISABLED': return 'fa-solid fa-thumbs-down fa-flip-horizontal';
213
- case 'DELETE': return 'fa-regular fa-trash-can';
214
- case 'DELETED': return 'fa-regular fa-trash-can';
215
- default: return iconDefault;
216
- }
217
- }
218
- return icon;
219
- }
220
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoerAlert, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
221
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CoerAlert, selector: "coer-alert", ngImport: i0, template: "<aside class=\"toast-container coer-alert\">\r\n <!-- Success -->\r\n <div id=\"alert-success\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"toast\">\r\n <div class=\"toast-header\">\r\n <i id=\"alert-success-icon\"></i>\r\n <strong id=\"alert-success-title\"></strong>\r\n <button type=\"button\" (click)=\"Close('alert-success')\" class=\"btn-close btn-close-white\"></button>\r\n </div>\r\n\r\n <div class=\"toast-body\">\r\n <pre id=\"alert-success-message\"></pre>\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- Error -->\r\n <div id=\"alert-error\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"toast\">\r\n <div class=\"toast-header\">\r\n <i id=\"alert-error-icon\"></i>\r\n <strong id=\"alert-error-title\"></strong>\r\n <button type=\"button\" (click)=\"Close('alert-error')\" class=\"btn-close btn-close-white\"></button>\r\n </div>\r\n\r\n <div class=\"toast-body\">\r\n <pre id=\"alert-error-message\"></pre>\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- Info -->\r\n <div id=\"alert-info\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"toast\">\r\n <div class=\"toast-header\">\r\n <i id=\"alert-info-icon\"></i>\r\n <strong id=\"alert-info-title\"></strong>\r\n <button type=\"button\" (click)=\"Close('alert-info')\" class=\"btn-close btn-close-white\"></button>\r\n </div>\r\n\r\n <div class=\"toast-body\">\r\n <pre id=\"alert-info-message\"></pre>\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- Warning -->\r\n <div id=\"alert-warning\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"toast\">\r\n <div class=\"toast-header\">\r\n <i id=\"alert-warning-icon\"></i>\r\n <strong id=\"alert-warning-title\"></strong>\r\n <button type=\"button\" (click)=\"Close('alert-warning')\" class=\"btn-close\"></button>\r\n </div>\r\n\r\n <div class=\"toast-body\">\r\n <pre id=\"alert-warning-message\"></pre>\r\n </div>\r\n </div>\r\n</aside>", styles: ["*{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031}.text-blue{color:#0d6efd!important}.text-blue-bold{color:#0d6efd!important;font-weight:700!important}.background-blue{background-color:#0d6efd!important}.background-border-blue{background-color:#0d6efd!important;border-color:#0d6efd!important}.border-blue{border-color:#0d6efd!important}.text-gray{color:#6c757d!important}.text-gray-bold{color:#6c757d!important;font-weight:700!important}.background-gray{background-color:#6c757d!important}.background-border-gray{background-color:#6c757d!important;border-color:#6c757d!important}.border-gray{border-color:#6c757d!important}.text-green{color:#198754!important}.text-green-bold{color:#198754!important;font-weight:700!important}.background-green{background-color:#198754!important}.background-border-green{background-color:#198754!important;border-color:#198754!important}.border-green{border-color:#198754!important}.text-yellow{color:#ffc107!important}.text-yellow-bold{color:#ffc107!important;font-weight:700!important}.background-yellow{background-color:#ffc107!important}.background-border-yellow{background-color:#ffc107!important;border-color:#ffc107!important}.border-yellow{border-color:#ffc107!important}.text-red{color:#dc3545!important}.text-red-bold{color:#dc3545!important;font-weight:700!important}.background-red{background-color:#dc3545!important}.background-border-red{background-color:#dc3545!important;border-color:#dc3545!important}.border-red{border-color:#dc3545!important}.text-white{color:#f5f5f5!important}.text-white-bold{color:#f5f5f5!important;font-weight:700!important}.background-white{background-color:#f5f5f5!important}.background-border-white{background-color:#f5f5f5!important;border-color:#f5f5f5!important}.border-white{border-color:#f5f5f5!important}.text-black{color:#252525!important}.text-black-bold{color:#252525!important;font-weight:700!important}.background-black{background-color:#252525!important}.background-border-black{background-color:#252525!important;border-color:#252525!important}.border-black{border-color:#252525!important}.text-orange{color:#fd6031!important}.text-orange-bold{color:#fd6031!important;font-weight:700!important}.background-orange{background-color:#fd6031!important}.background-border-orange{background-color:#fd6031!important;border-color:#fd6031!important}.border-orange{border-color:#fd6031!important}aside.toast-container{position:fixed;bottom:0;right:0;padding:15px!important;z-index:2000!important}aside.toast-container i,aside.toast-container svg{display:flex;align-items:center}aside.toast-container strong{margin:0 auto 0 5px}aside.toast-container div.toast,aside.toast-container div.toast-header{border-top-left-radius:10px;border-top-right-radius:10px;color:#f5f5f5}aside.toast-container div.toast,aside.toast-container div.toast-body{border-bottom-left-radius:10px;border-bottom-right-radius:10px;color:#f5f5f5}aside.toast-container div.toast-body{min-height:36px}aside.toast-container pre{font-family:Roboto,RobotoFallback,Noto Kufi Arabic,Helvetica,Arial,sans-serif;white-space:pre-wrap;font-size:medium}aside.toast-container button{margin:0 2px!important;width:10px!important;height:10px!important;box-shadow:none!important;outline:none!important;border:none!important}aside.toast-container div#alert-success div.toast-header,aside.toast-container div#alert-success div.toast-body{background-color:#198754}aside.toast-container div#alert-info div.toast-header,aside.toast-container div#alert-info div.toast-body{background-color:#0d6efd}aside.toast-container div#alert-error div.toast-header,aside.toast-container div#alert-error div.toast-body{background-color:#dc3545}aside.toast-container div#alert-warning div.toast-header,aside.toast-container div#alert-warning div.toast-body{background-color:#ffc107;border-color:#252525;color:#252525}aside.toast-container div#alert-success:hover,aside.toast-container div#alert-info:hover,aside.toast-container div#alert-error:hover,aside.toast-container div#alert-warning:hover{transform:scale(1.01);box-shadow:2px 2px 10px #789;cursor:default}button.sweet-alert-button{width:100px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0 5px!important;outline:none!important;border:none!important;box-shadow:none!important}aside.toast-container>*{border:none!important;z-index:2000!important;margin:15px 0 0!important}\n"] }); }
222
- }
223
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoerAlert, decorators: [{
224
- type: Component,
225
- args: [{ selector: 'coer-alert', template: "<aside class=\"toast-container coer-alert\">\r\n <!-- Success -->\r\n <div id=\"alert-success\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"toast\">\r\n <div class=\"toast-header\">\r\n <i id=\"alert-success-icon\"></i>\r\n <strong id=\"alert-success-title\"></strong>\r\n <button type=\"button\" (click)=\"Close('alert-success')\" class=\"btn-close btn-close-white\"></button>\r\n </div>\r\n\r\n <div class=\"toast-body\">\r\n <pre id=\"alert-success-message\"></pre>\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- Error -->\r\n <div id=\"alert-error\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"toast\">\r\n <div class=\"toast-header\">\r\n <i id=\"alert-error-icon\"></i>\r\n <strong id=\"alert-error-title\"></strong>\r\n <button type=\"button\" (click)=\"Close('alert-error')\" class=\"btn-close btn-close-white\"></button>\r\n </div>\r\n\r\n <div class=\"toast-body\">\r\n <pre id=\"alert-error-message\"></pre>\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- Info -->\r\n <div id=\"alert-info\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"toast\">\r\n <div class=\"toast-header\">\r\n <i id=\"alert-info-icon\"></i>\r\n <strong id=\"alert-info-title\"></strong>\r\n <button type=\"button\" (click)=\"Close('alert-info')\" class=\"btn-close btn-close-white\"></button>\r\n </div>\r\n\r\n <div class=\"toast-body\">\r\n <pre id=\"alert-info-message\"></pre>\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- Warning -->\r\n <div id=\"alert-warning\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"toast\">\r\n <div class=\"toast-header\">\r\n <i id=\"alert-warning-icon\"></i>\r\n <strong id=\"alert-warning-title\"></strong>\r\n <button type=\"button\" (click)=\"Close('alert-warning')\" class=\"btn-close\"></button>\r\n </div>\r\n\r\n <div class=\"toast-body\">\r\n <pre id=\"alert-warning-message\"></pre>\r\n </div>\r\n </div>\r\n</aside>", styles: ["*{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031}.text-blue{color:#0d6efd!important}.text-blue-bold{color:#0d6efd!important;font-weight:700!important}.background-blue{background-color:#0d6efd!important}.background-border-blue{background-color:#0d6efd!important;border-color:#0d6efd!important}.border-blue{border-color:#0d6efd!important}.text-gray{color:#6c757d!important}.text-gray-bold{color:#6c757d!important;font-weight:700!important}.background-gray{background-color:#6c757d!important}.background-border-gray{background-color:#6c757d!important;border-color:#6c757d!important}.border-gray{border-color:#6c757d!important}.text-green{color:#198754!important}.text-green-bold{color:#198754!important;font-weight:700!important}.background-green{background-color:#198754!important}.background-border-green{background-color:#198754!important;border-color:#198754!important}.border-green{border-color:#198754!important}.text-yellow{color:#ffc107!important}.text-yellow-bold{color:#ffc107!important;font-weight:700!important}.background-yellow{background-color:#ffc107!important}.background-border-yellow{background-color:#ffc107!important;border-color:#ffc107!important}.border-yellow{border-color:#ffc107!important}.text-red{color:#dc3545!important}.text-red-bold{color:#dc3545!important;font-weight:700!important}.background-red{background-color:#dc3545!important}.background-border-red{background-color:#dc3545!important;border-color:#dc3545!important}.border-red{border-color:#dc3545!important}.text-white{color:#f5f5f5!important}.text-white-bold{color:#f5f5f5!important;font-weight:700!important}.background-white{background-color:#f5f5f5!important}.background-border-white{background-color:#f5f5f5!important;border-color:#f5f5f5!important}.border-white{border-color:#f5f5f5!important}.text-black{color:#252525!important}.text-black-bold{color:#252525!important;font-weight:700!important}.background-black{background-color:#252525!important}.background-border-black{background-color:#252525!important;border-color:#252525!important}.border-black{border-color:#252525!important}.text-orange{color:#fd6031!important}.text-orange-bold{color:#fd6031!important;font-weight:700!important}.background-orange{background-color:#fd6031!important}.background-border-orange{background-color:#fd6031!important;border-color:#fd6031!important}.border-orange{border-color:#fd6031!important}aside.toast-container{position:fixed;bottom:0;right:0;padding:15px!important;z-index:2000!important}aside.toast-container i,aside.toast-container svg{display:flex;align-items:center}aside.toast-container strong{margin:0 auto 0 5px}aside.toast-container div.toast,aside.toast-container div.toast-header{border-top-left-radius:10px;border-top-right-radius:10px;color:#f5f5f5}aside.toast-container div.toast,aside.toast-container div.toast-body{border-bottom-left-radius:10px;border-bottom-right-radius:10px;color:#f5f5f5}aside.toast-container div.toast-body{min-height:36px}aside.toast-container pre{font-family:Roboto,RobotoFallback,Noto Kufi Arabic,Helvetica,Arial,sans-serif;white-space:pre-wrap;font-size:medium}aside.toast-container button{margin:0 2px!important;width:10px!important;height:10px!important;box-shadow:none!important;outline:none!important;border:none!important}aside.toast-container div#alert-success div.toast-header,aside.toast-container div#alert-success div.toast-body{background-color:#198754}aside.toast-container div#alert-info div.toast-header,aside.toast-container div#alert-info div.toast-body{background-color:#0d6efd}aside.toast-container div#alert-error div.toast-header,aside.toast-container div#alert-error div.toast-body{background-color:#dc3545}aside.toast-container div#alert-warning div.toast-header,aside.toast-container div#alert-warning div.toast-body{background-color:#ffc107;border-color:#252525;color:#252525}aside.toast-container div#alert-success:hover,aside.toast-container div#alert-info:hover,aside.toast-container div#alert-error:hover,aside.toast-container div#alert-warning:hover{transform:scale(1.01);box-shadow:2px 2px 10px #789;cursor:default}button.sweet-alert-button{width:100px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0 5px!important;outline:none!important;border:none!important;box-shadow:none!important}aside.toast-container>*{border:none!important;z-index:2000!important;margin:15px 0 0!important}\n"] }]
226
- }] });
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1hbGVydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy9jb21wb25lbnRzL2xpYi9jb2VyLWFsZXJ0L2NvZXItYWxlcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9zcmMvY29tcG9uZW50cy9saWIvY29lci1hbGVydC9jb2VyLWFsZXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxLQUFLLFNBQVMsTUFBTSxXQUFXLENBQUM7QUFDdkMsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFBOztBQU85QixNQUFNLE9BQU8sU0FBUztJQUVsQixNQUFNO0lBQ0MsT0FBTyxDQUFDLFVBQXlCLElBQUksRUFBRSxRQUF1QixJQUFJLEVBQUUsT0FBc0IsSUFBSSxFQUFFLFdBQTBCLElBQUk7UUFDakksT0FBTztRQUNQLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxJQUFJLEVBQUU7WUFBRSxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQzdDLE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBRSxDQUFDO1FBQzFFLGlCQUFpQixDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFFdEMsTUFBTTtRQUNOLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUM1RCxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUUsQ0FBQztRQUN4RSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXJDLFNBQVM7UUFDVCxJQUFJLENB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QUNoRCxLQUFLLFNBQVMsQ0FBQyxDQUFDLE9BQU8seUJBQXlCLENBQUM7Z0JBQ2pELE9BQU8sQ0FBQyxDQUFDLE9BQU8sV0FBVyxDQUFDO1lBQ2hDLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzsrR0E5T1EsU0FBUzttR0FBVCxTQUFTLGtEQ1R0QiwrckVBdURROzs0RkQ5Q0ssU0FBUztrQkFMckIsU0FBUzsrQkFDSSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIGJvb3RzdHJhcCBmcm9tICdib290c3RyYXAnO1xyXG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0MidcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjb2VyLWFsZXJ0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2VyLWFsZXJ0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NvZXItYWxlcnQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29lckFsZXJ0IHtcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBTdWNjZXNzKG1lc3NhZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsLCB0aXRsZTogc3RyaW5nIHwgbnVsbCA9IG51bGwsIGljb246IHN0cmluZyB8IG51bGwgPSBudWxsLCBhdXRvaGlkZTogbnVtYmVyIHwgbnVsbCA9IDMwMDApOiB2b2lkIHtcclxuICAgICAgICAvL1RpdGxlXHJcbiAgICAgICAgaWYgKCF0aXRsZSB8fCB0aXRsZSA9PSAnJykgdGl0bGUgPSAnU3VjY2Vzcyc7XHJcbiAgICAgICAgY29uc3QgYWxlcnRTdWNjZXNzVGl0bGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWxlcnQtc3VjY2Vzcy10aXRsZScpITtcclxuICAgICAgICBhbGVydFN1Y2Nlc3NUaXRsZS50ZXh0Q29udGVudCA9IHRpdGxlO1xyXG5cclxuICAgICAgICAvL0ljb25cclxuICAgICAgICBpY29uID0gdGhpcy5HZXRJY29uKHRpdGxlLCBpY29uLCAnYmktY2hlY2stY2lyY2xlIGZhLWJlYXQnKTtcclxuICAgICAgICBjb25zdCBhbGVydFN1Y2Nlc3NJY29uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FsZXJ0LXN1Y2Nlc3MtaWNvbicpITtcclxuICAgICAgICB0aGlzLlNldEljb24oYWxlcnRTdWNjZXNzSWNvbiwgaWNvbik7XHJcblxyXG4gICAgICAgIC8vTWVzc2FnZVxyXG4gICAgICAgIGlmICghbWVzc2FnZSkgbWVzc2FnZSA9ICcnO1xyXG4gICAgICAgIGNvbnN0IGFsZXJ0U3VjY2Vzc01lc3NhZ2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWxlcnQtc3VjY2Vzcy1tZXNzYWdlJykhO1xyXG4gICAgICAgIGFsZXJ0U3VjY2Vzc01lc3NhZ2UuaW5uZXJIVE1MID0gbWVzc2FnZTtcclxuXHJcbiAgICAgICAgLy9Ub2FzdFxyXG4gICAgICAgIGNvbnN0IGFsZXJ0U3VjY2VzcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbGVydC1zdWNjZXNzJykhO1xyXG4gICAgICAgIHRoaXMuU2V0QXV0b0hpZGUoYWxlcnRTdWNjZXNzLCBhdXRvaGlkZSk7XHJcblxyXG4gICAgICAgIGNvbnN0IHRvYXN0ID0gYm9vdHN0cmFwLlRvYXN0LmdldE9yQ3JlYXRlSW5zdGFuY2UoYWxlcnRTdWNjZXNzKTtcclxuICAgICAgICB0b2FzdC5zaG93KCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIEVycm9yKG1lc3NhZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsLCB0aXRsZTogc3RyaW5nIHwgbnVsbCA9IG51bGwsIGljb246IHN0cmluZyB8IG51bGwgPSBudWxsLCBhdXRvaGlkZTogbnVtYmVyIHwgbnVsbCA9IDMwMDApOiB2b2lkIHtcclxuICAgICAgICAvL1RpdGxlXHJcbiAgICAgICAgaWYgKCF0aXRsZSB8fCB0aXRsZSA9PSAnJykgdGl0bGUgPSAnRXJyb3InO1xyXG4gICAgICAgIGNvbnN0IGFsZXJ0RXJyb3JUaXRsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbGVydC1lcnJvci10aXRsZScpITtcclxuICAgICAgICBhbGVydEVycm9yVGl0bGUudGV4dENvbnRlbnQgPSB0aXRsZTtcclxuXHJcbiAgICAgICAgLy9JY29uXHJcbiAgICAgICAgaWNvbiA9IHRoaXMuR2V0SWNvbih0aXRsZSwgaWNvbiwgJ2JpLWV4Y2xhbWF0aW9uLW9jdGFnb24gZmEtYmVhdCcpO1xyXG4gICAgICAgIGNvbnN0IGFsZXJ0RXJyb3JJY29uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FsZXJ0LWVycm9yLWljb24nKSE7XHJcbiAgICAgICAgdGhpcy5TZXRJY29uKGFsZXJ0RXJyb3JJY29uLCBpY29uKTtcclxuXHJcbiAgICAgICAgLy9NZXNzYWdlXHJcbiAgICAgICAgaWYgKCFtZXNzYWdlKSBtZXNzYWdlID0gJyc7XHJcbiAgICAgICAgY29uc3QgYWxlcnRFcnJvckJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWxlcnQtZXJyb3ItbWVzc2FnZScpITtcclxuICAgICAgICBhbGVydEVycm9yQm9keS5pbm5lckhUTUwgPSBtZXNzYWdlO1xyXG5cclxuICAgICAgICAvL1RvYXN0XHJcbiAgICAgICAgY29uc3QgYWxlcnRFcnJvciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbGVydC1lcnJvcicpITtcclxuICAgICAgICB0aGlzLlNldEF1dG9IaWRlKGFsZXJ0RXJyb3IsIGF1dG9oaWRlKTtcclxuXHJcbiAgICAgICAgY29uc3QgdG9hc3QgPSBib290c3RyYXAuVG9hc3QuZ2V0T3JDcmVhdGVJbnN0YW5jZShhbGVydEVycm9yKTtcclxuICAgICAgICB0b2FzdC5zaG93KCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIEluZm8obWVzc2FnZTogc3RyaW5nIHwgbnVsbCA9IG51bGwsIHRpdGxlOiBzdHJpbmcgfCBudWxsID0gbnVsbCwgaWNvbjogc3RyaW5nIHwgbnVsbCA9IG51bGwsIGF1dG9oaWRlOiBudW1iZXIgfCBudWxsID0gMzAwMCk6IHZvaWQge1xyXG4gICAgICAgIC8vVGl0bGVcclxuICAgICAgICBpZiAoIXRpdGxlIHx8IHRpdGxlID09ICcnKSB0aXRsZSA9ICdJbmZvJztcclxuICAgICAgICBjb25zdCBhbGVydEluZm9UaXRsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbGVydC1pbmZvLXRpdGxlJykhO1xyXG4gICAgICAgIGFsZXJ0SW5mb1RpdGxlLnRleHRDb250ZW50ID0gdGl0bGU7XHJcblxyXG4gICAgICAgIC8vSWNvblxyXG4gICAgICAgIGljb24gPSB0aGlzLkdldEljb24odGl0bGUsIGljb24sICdiaS1pbmZvLWNpcmNsZSBmYS1iZWF0Jyk7XHJcbiAgICAgICAgY29uc3QgYWxlcnRJbmZvSWNvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbGVydC1pbmZvLWljb24nKSE7XHJcbiAgICAgICAgdGhpcy5TZXRJY29uKGFsZXJ0SW5mb0ljb24sIGljb24pO1xyXG5cclxuICAgICAgICAvL01lc3NhZ2VcclxuICAgICAgICBpZiAoIW1lc3NhZ2UpIG1lc3NhZ2UgPSAnJztcclxuICAgICAgICBjb25zdCBhbGVydEluZm9Cb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FsZXJ0LWluZm8tbWVzc2FnZScpITtcclxuICAgICAgICBhbGVydEluZm9Cb2R5LmlubmVySFRNTCA9IG1lc3NhZ2U7XHJcblxyXG4gICAgICAgIC8vVG9hc3RcclxuICAgICAgICBjb25zdCBhbGVydEluZm8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWxlcnQtaW5mbycpITtcclxuICAgICAgICB0aGlzLlNldEF1dG9IaWRlKGFsZXJ0SW5mbywgYXV0b2hpZGUpO1xyXG5cclxuICAgICAgICBjb25zdCB0b2FzdCA9IGJvb3RzdHJhcC5Ub2FzdC5nZXRPckNyZWF0ZUluc3RhbmNlKGFsZXJ0SW5mbyk7XHJcbiAgICAgICAgdG9hc3Quc2hvdygpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBXYXJuaW5nKG1lc3NhZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsLCB0aXRsZTogc3RyaW5nIHwgbnVsbCA9IG51bGwsIGljb246IHN0cmluZyB8IG51bGwgPSBudWxsLCBhdXRvaGlkZTogbnVtYmVyIHwgbnVsbCA9IDMwMDApOiB2b2lkIHtcclxuICAgICAgICAvL1RpdGxlXHJcbiAgICAgICAgaWYgKCF0aXRsZSB8fCB0aXRsZSA9PSAnJykgdGl0bGUgPSAnV2FybmluZyc7XHJcbiAgICAgICAgY29uc3QgYWxlcnRXYXJuaW5nVGl0bGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWxlcnQtd2FybmluZy10aXRsZScpITtcclxuICAgICAgICBhbGVydFdhcm5pbmdUaXRsZS50ZXh0Q29udGVudCA9IHRpdGxlO1xyXG5cclxuICAgICAgICAvL0ljb25cclxuICAgICAgICBpY29uID0gdGhpcy5HZXRJY29uKHRpdGxlLCBpY29uLCAnYmktZXhjbGFtYXRpb24tdHJpYW5nbGUtZmlsbCBmYS1iZWF0Jyk7XHJcbiAgICAgICAgY29uc3QgYWxlcnRXYXJuaW5nSWNvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbGVydC13YXJuaW5nLWljb24nKSE7XHJcbiAgICAgICAgdGhpcy5TZXRJY29uKGFsZXJ0V2FybmluZ0ljb24sIGljb24pO1xyXG5cclxuICAgICAgICAvL01lc3NhZ2VcclxuICAgICAgICBpZiAoIW1lc3NhZ2UpIG1lc3NhZ2UgPSAnJztcclxuICAgICAgICBjb25zdCBhbGVydFdhcm5pbmdCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FsZXJ0LXdhcm5pbmctbWVzc2FnZScpITtcclxuICAgICAgICBhbGVydFdhcm5pbmdCb2R5LmlubmVySFRNTCA9IG1lc3NhZ2U7XHJcblxyXG4gICAgICAgIC8vVG9hc3RcclxuICAgICAgICBjb25zdCBhbGVydFdhcm5pbmcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWxlcnQtd2FybmluZycpITtcclxuICAgICAgICB0aGlzLlNldEF1dG9IaWRlKGFsZXJ0V2FybmluZywgYXV0b2hpZGUpO1xyXG5cclxuICAgICAgICBjb25zdCB0b2FzdCA9IGJvb3RzdHJhcC5Ub2FzdC5nZXRPckNyZWF0ZUluc3RhbmNlKGFsZXJ0V2FybmluZyk7XHJcbiAgICAgICAgdG9hc3Quc2hvdygpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBDbG9zZShhbGVydDogJ2FsZXJ0LXN1Y2Nlc3MnIHwgJ2FsZXJ0LWVycm9yJyB8ICdhbGVydC1pbmZvJyB8ICdhbGVydC13YXJuaW5nJykge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPihSZXNvbHZlID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGFsZXJ0KSE7XHJcbiAgICAgICAgICAgIGNvbnN0IHRvYXN0ID0gYm9vdHN0cmFwLlRvYXN0LmdldE9yQ3JlYXRlSW5zdGFuY2UoZWxlbWVudCk7XHJcbiAgICAgICAgICAgIHRvYXN0LmhpZGUoKTtcclxuXHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyBSZXNvbHZlKCkgfSwgMjAwKTtcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBDb25maXJtKFxyXG4gICAgICAgIG1lc3NhZ2U6IHN0cmluZyA9ICdQcm9jZWVkPycsXHJcbiAgICAgICAgYWxlcnRUeXBlOiAnd2FybmluZycgfCAnZGFuZ2VyJyB8ICdzdWNjZXNzJyB8ICdpbmZvJyA9ICd3YXJuaW5nJyxcclxuICAgICAgICBpY29uOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxib29sZWFuPihSZXNvbHZlID0+IHtcclxuICAgICAgICAgICAgbGV0IGNvbG9yOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIGxldCBpY29uVHlwZTogJ3dhcm5pbmcnIHwgJ2Vycm9yJyB8ICdzdWNjZXNzJyB8ICdpbmZvJztcclxuICAgICAgICAgICAgc3dpdGNoKGFsZXJ0VHlwZSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnZGFuZ2VyJzoge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpY29uID09IG51bGwpIGljb24gPSAnYmktZXhjbGFtYXRpb24tb2N0YWdvbic7XHJcbiAgICAgICAgICAgICAgICAgICAgaWNvblR5cGUgPSAnZXJyb3InO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yID0gJyNkYzM1NDUnOyAvL3JlZFxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICBjYXNlICdzdWNjZXNzJzoge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpY29uID09IG51bGwpIGljb24gPSAnYmktY2hlY2stY2lyY2xlJztcclxuICAgICAgICAgICAgICAgICAgICBpY29uVHlwZSA9ICdpbmZvJztcclxuICAgICAgICAgICAgICAgICAgICBjb2xvciA9ICcjMTk4NzU0JzsgLy9ncmVlblxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICBjYXNlICdpbmZvJzoge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpY29uID09IG51bGwpIGljb24gPSAnYmktaW5mby1jaXJjbGUnO1xyXG4gICAgICAgICAgICAgICAgICAgIGljb25UeXBlID0gJ2Vycm9yJztcclxuICAgICAgICAgICAgICAgICAgICBjb2xvciA9ICcjMGQ2ZWZkJzsgLy9ibHVlXHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpY29uID09IG51bGwpIGljb24gPSAnYmktZXhjbGFtYXRpb24tdHJpYW5nbGUtZmlsbCc7XHJcbiAgICAgICAgICAgICAgICAgICAgaWNvblR5cGUgPSAnd2FybmluZyc7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAnI2ZmYzEwNyc7IC8veWVsbG93XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHN3aXRjaChpY29uKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdkZWxldGUnOiBpY29uID0gJ2ZhLXJlZ3VsYXIgZmEtdHJhc2gtY2FuJzsgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgICAgICAgICAgICBpY29uOiBpY29uVHlwZSxcclxuICAgICAgICAgICAgICAgIGljb25Db2xvcjogJ3RyYW5zcGFyZW50JyxcclxuICAgICAgICAgICAgICAgIGljb25IdG1sOiBgPGkgY2xhc3M9XCIke2ljb259XCIgc3R5bGU9XCJjb2xvcjogJHtjb2xvcn07XCI+PC9pPmAsXHJcbiAgICAgICAgICAgICAgICBodG1sOiBtZXNzYWdlLFxyXG4gICAgICAgICAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ1llcycsXHJcbiAgICAgICAgICAgICAgICBjb25maXJtQnV0dG9uQ29sb3I6IGNvbG9yLFxyXG4gICAgICAgICAgICAgICAgZm9jdXNDb25maXJtOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgc2hvd0RlbnlCdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgICAgICBkZW55QnV0dG9uQ29sb3I6IGNvbG9yLFxyXG4gICAgICAgICAgICAgICAgZm9jdXNEZW55OiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIHJldmVyc2VCdXR0b25zOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgYWxsb3dPdXRzaWRlQ2xpY2s6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgYWxsb3dFc2NhcGVLZXk6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgYWxsb3dFbnRlcktleTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGN1c3RvbUNsYXNzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGVueUJ1dHRvbjogJ3N3ZWV0LWFsZXJ0LWJ1dHRvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgY29uZmlybUJ1dHRvbjogJ3N3ZWV0LWFsZXJ0LWJ1dHRvbidcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkudGhlbigoeyB2YWx1ZSB9KSA9PiBzZXRUaW1lb3V0KCgpID0+IFJlc29sdmUodmFsdWUpKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJpdmF0ZSBTZXRJY29uKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBpY29uOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgWy4uLmVsZW1lbnQuY2xhc3NMaXN0LnZhbHVlLnNwbGl0KCcgJyldKSB7XHJcbiAgICAgICAgICAgIGlmIChpdGVtLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShpdGVtKTtcclxuICAgICAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgncScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpY29uID0gaWNvbi50cmltKCk7XHJcbiAgICAgICAgY29uc3QgaGFzV2hpdGVTcGFjZXM6IFJlZ0V4cCA9IC8gLztcclxuICAgICAgICBpZiAoaGFzV2hpdGVTcGFjZXMudGVzdChpY29uKSkge1xyXG4gICAgICAgICAgICBjb25zdCBjbGFzc2VzID0gaWNvbi5zcGxpdCgnICcpO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGljb24gb2YgY2xhc3NlcykgZWxlbWVudC5jbGFzc0xpc3QuYWRkKGljb24pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZWxzZSBlbGVtZW50LmNsYXNzTGlzdC5hZGQoaWNvbik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJpdmF0ZSBTZXRBdXRvSGlkZShlbGVtZW50OiBIVE1MRWxlbWVudCwgYXV0b2hpZGU6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcclxuICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1icy1hdXRvaGlkZScpO1xyXG4gICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWJzLWRlbGF5Jyk7XHJcblxyXG4gICAgICAgIGlmIChhdXRvaGlkZSAmJiBhdXRvaGlkZSA+IDApIHtcclxuICAgICAgICAgICAgaWYgKGF1dG9oaWRlIDwgMTAwMCkgYXV0b2hpZGUgPSAxMDAwO1xyXG4gICAgICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1icy1hdXRvaGlkZScsICd0cnVlJyk7XHJcbiAgICAgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLWJzLWRlbGF5JywgU3RyaW5nKGF1dG9oaWRlKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbHNlIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLWJzLWF1dG9oaWRlJywgJ2ZhbHNlJyk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJpdmF0ZSBHZXRJY29uKHRpdGxlOiBzdHJpbmcsIGljb246IHN0cmluZyB8IG51bGwsIGljb25EZWZhdWx0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmIChpY29uID09IG51bGwgfHwgaWNvbiA9PSAnJykge1xyXG4gICAgICAgICAgICB0aXRsZSA9IHRpdGxlLnJlcGxhY2VBbGwoJyAnLCAnJykudG9VcHBlckNhc2UoKTtcclxuXHJcbiAgICAgICAgICAgIHN3aXRjaCh0aXRsZSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnRU5BQkxFRCc6IHJldHVybiAnZmEtc29saWQgZmEtdGh1bWJzLXVwIGZhLWZsaXAtaG9yaXpvbnRhbCc7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdBQ1RJVkUnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLXRodW1icy11cCBmYS1mbGlwLWhvcml6b250YWwnO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnQUNUSVZFRCc6IHJldHVybiAnZmEtc29saWQgZmEtdGh1bWJzLXVwIGZhLWZsaXAtaG9yaXpvbnRhbCc7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdESVNBQkxFJzogcmV0dXJuICdmYS1zb2xpZCBmYS10aHVtYnMtZG93biBmYS1mbGlwLWhvcml6b250YWwnO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnRElTQUJMRUQnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLXRodW1icy1kb3duIGZhLWZsaXAtaG9yaXpvbnRhbCc7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdERUxFVEUnOiByZXR1cm4gJ2ZhLXJlZ3VsYXIgZmEtdHJhc2gtY2FuJztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ0RFTEVURUQnOiByZXR1cm4gJ2ZhLXJlZ3VsYXIgZmEtdHJhc2gtY2FuJztcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHJldHVybiBpY29uRGVmYXVsdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGljb247XHJcbiAgICB9XHJcbn0iLCI8YXNpZGUgY2xhc3M9XCJ0b2FzdC1jb250YWluZXIgY29lci1hbGVydFwiPlxyXG4gICAgPCEtLSBTdWNjZXNzIC0tPlxyXG4gICAgPGRpdiBpZD1cImFsZXJ0LXN1Y2Nlc3NcIiByb2xlPVwiYWxlcnRcIiBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIiBhcmlhLWF0b21pYz1cInRydWVcIiBjbGFzcz1cInRvYXN0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRvYXN0LWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8aSBpZD1cImFsZXJ0LXN1Y2Nlc3MtaWNvblwiPjwvaT5cclxuICAgICAgICAgICAgPHN0cm9uZyBpZD1cImFsZXJ0LXN1Y2Nlc3MtdGl0bGVcIj48L3N0cm9uZz5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIkNsb3NlKCdhbGVydC1zdWNjZXNzJylcIiBjbGFzcz1cImJ0bi1jbG9zZSBidG4tY2xvc2Utd2hpdGVcIj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRvYXN0LWJvZHlcIj5cclxuICAgICAgICAgICAgPHByZSBpZD1cImFsZXJ0LXN1Y2Nlc3MtbWVzc2FnZVwiPjwvcHJlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDwhLS0gRXJyb3IgLS0+XHJcbiAgICA8ZGl2IGlkPVwiYWxlcnQtZXJyb3JcIiByb2xlPVwiYWxlcnRcIiBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIiBhcmlhLWF0b21pYz1cInRydWVcIiBjbGFzcz1cInRvYXN0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRvYXN0LWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8aSBpZD1cImFsZXJ0LWVycm9yLWljb25cIj48L2k+XHJcbiAgICAgICAgICAgIDxzdHJvbmcgaWQ9XCJhbGVydC1lcnJvci10aXRsZVwiPjwvc3Ryb25nPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiQ2xvc2UoJ2FsZXJ0LWVycm9yJylcIiBjbGFzcz1cImJ0bi1jbG9zZSBidG4tY2xvc2Utd2hpdGVcIj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRvYXN0LWJvZHlcIj5cclxuICAgICAgICAgICAgPHByZSBpZD1cImFsZXJ0LWVycm9yLW1lc3NhZ2VcIj48L3ByZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICA8IS0tIEluZm8gLS0+XHJcbiAgICA8ZGl2IGlkPVwiYWxlcnQtaW5mb1wiIHJvbGU9XCJhbGVydFwiIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiIGFyaWEtYXRvbWljPVwidHJ1ZVwiIGNsYXNzPVwidG9hc3RcIj5cclxuICAgICAgIDxkaXYgY2xhc3M9XCJ0b2FzdC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgPGkgaWQ9XCJhbGVydC1pbmZvLWljb25cIj48L2k+XHJcbiAgICAgICAgICAgIDxzdHJvbmcgaWQ9XCJhbGVydC1pbmZvLXRpdGxlXCI+PC9zdHJvbmc+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJDbG9zZSgnYWxlcnQtaW5mbycpXCIgY2xhc3M9XCJidG4tY2xvc2UgYnRuLWNsb3NlLXdoaXRlXCI+PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0b2FzdC1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxwcmUgaWQ9XCJhbGVydC1pbmZvLW1lc3NhZ2VcIj48L3ByZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICA8IS0tIFdhcm5pbmcgLS0+XHJcbiAgICA8ZGl2IGlkPVwiYWxlcnQtd2FybmluZ1wiIHJvbGU9XCJhbGVydFwiIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiIGFyaWEtYXRvbWljPVwidHJ1ZVwiIGNsYXNzPVwidG9hc3RcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9hc3QtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxpIGlkPVwiYWxlcnQtd2FybmluZy1pY29uXCI+PC9pPlxyXG4gICAgICAgICAgICA8c3Ryb25nIGlkPVwiYWxlcnQtd2FybmluZy10aXRsZVwiPjwvc3Ryb25nPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiQ2xvc2UoJ2FsZXJ0LXdhcm5pbmcnKVwiIGNsYXNzPVwiYnRuLWNsb3NlXCI+PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0b2FzdC1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxwcmUgaWQ9XCJhbGVydC13YXJuaW5nLW1lc3NhZ2VcIj48L3ByZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2FzaWRlPiJdfQ==