ng-tailwind 4.5.48 → 4.5.49

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 (210) hide show
  1. package/README.md +24 -24
  2. package/animations/ngt-angular-animations.d.ts +5 -5
  3. package/base/ngt-base-ng-model.d.ts +32 -32
  4. package/components/ngt-action/ngt-action.component.d.ts +30 -30
  5. package/components/ngt-action/ngt-action.module.d.ts +10 -10
  6. package/components/ngt-button/ngt-button.component.d.ts +35 -35
  7. package/components/ngt-button/ngt-button.module.d.ts +10 -10
  8. package/components/ngt-checkbox/ngt-checkbox.component.d.ts +53 -53
  9. package/components/ngt-checkbox/ngt-checkbox.module.d.ts +10 -10
  10. package/components/ngt-content/ngt-content.component.d.ts +12 -12
  11. package/components/ngt-content/ngt-content.module.d.ts +8 -8
  12. package/components/ngt-context-menu/ngt-context-menu.component.d.ts +19 -19
  13. package/components/ngt-context-menu/ngt-context-menu.directive.d.ts +25 -25
  14. package/components/ngt-context-menu/ngt-context-menu.module.d.ts +10 -10
  15. package/components/ngt-datatable/ngt-datatable.component.d.ts +117 -117
  16. package/components/ngt-datatable/ngt-datatable.module.d.ts +24 -24
  17. package/components/ngt-datatable/ngt-tbody/ngt-tbody.component.d.ts +14 -14
  18. package/components/ngt-datatable/ngt-td/ngt-td.component.d.ts +14 -14
  19. package/components/ngt-datatable/ngt-td-check/ngt-td-check.component.d.ts +29 -29
  20. package/components/ngt-datatable/ngt-th/ngt-th.component.d.ts +51 -51
  21. package/components/ngt-datatable/ngt-th-check/ngt-th-check.component.d.ts +22 -22
  22. package/components/ngt-datatable/ngt-thead/ngt-thead.component.d.ts +13 -13
  23. package/components/ngt-datatable/ngt-tr/ngt-tr.component.d.ts +20 -20
  24. package/components/ngt-date/ngt-date.component.d.ts +85 -85
  25. package/components/ngt-date/ngt-date.module.d.ts +13 -13
  26. package/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.d.ts +8 -8
  27. package/components/ngt-dropdown/ngt-dropdown.component.d.ts +53 -53
  28. package/components/ngt-dropdown/ngt-dropdown.module.d.ts +9 -9
  29. package/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.d.ts +14 -14
  30. package/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.d.ts +25 -25
  31. package/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.d.ts +35 -35
  32. package/components/ngt-dropzone/ngt-dropzone.component.d.ts +95 -95
  33. package/components/ngt-dropzone/ngt-dropzone.meta.d.ts +27 -27
  34. package/components/ngt-dropzone/ngt-dropzone.module.d.ts +17 -17
  35. package/components/ngt-floating-button/ngt-floating-button.component.d.ts +35 -35
  36. package/components/ngt-floating-button/ngt-floating-button.module.d.ts +10 -10
  37. package/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.d.ts +10 -10
  38. package/components/ngt-form/ngt-form.component.d.ts +60 -60
  39. package/components/ngt-form/ngt-form.module.d.ts +9 -9
  40. package/components/ngt-header-nav/ngt-header-nav.component.d.ts +14 -14
  41. package/components/ngt-header-nav/ngt-header-nav.module.d.ts +8 -8
  42. package/components/ngt-helper/ngt-helper.component.d.ts +25 -25
  43. package/components/ngt-helper/ngt-helper.module.d.ts +10 -10
  44. package/components/ngt-input/ngt-input.component.d.ts +127 -127
  45. package/components/ngt-input/ngt-input.module.d.ts +14 -14
  46. package/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.d.ts +12 -12
  47. package/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.d.ts +5 -5
  48. package/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.d.ts +15 -15
  49. package/components/ngt-modal/ngt-modal.component.d.ts +31 -31
  50. package/components/ngt-modal/ngt-modal.module.d.ts +11 -11
  51. package/components/ngt-multi-select/ngt-multi-select.component.d.ts +114 -114
  52. package/components/ngt-multi-select/ngt-multi-select.module.d.ts +15 -15
  53. package/components/ngt-pagination/ngt-pagination.component.d.ts +43 -43
  54. package/components/ngt-pagination/ngt-pagination.module.d.ts +12 -12
  55. package/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.d.ts +21 -21
  56. package/components/ngt-popover/ngt-popover.component.d.ts +31 -31
  57. package/components/ngt-popover/ngt-popover.directive.d.ts +31 -31
  58. package/components/ngt-popover/ngt-popover.module.d.ts +11 -11
  59. package/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.d.ts +12 -12
  60. package/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.d.ts +12 -12
  61. package/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.d.ts +18 -18
  62. package/components/ngt-portlet/ngt-portlet.component.d.ts +20 -20
  63. package/components/ngt-portlet/ngt-portlet.module.d.ts +13 -13
  64. package/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.d.ts +9 -9
  65. package/components/ngt-radio-button/ngt-radio-button.component.d.ts +41 -41
  66. package/components/ngt-radio-button/ngt-radio-button.module.d.ts +11 -11
  67. package/components/ngt-section/ngt-section.component.d.ts +38 -38
  68. package/components/ngt-section/ngt-section.module.d.ts +11 -11
  69. package/components/ngt-select/ngt-select.component.d.ts +149 -149
  70. package/components/ngt-select/ngt-select.directive.d.ts +20 -20
  71. package/components/ngt-select/ngt-select.module.d.ts +16 -16
  72. package/components/ngt-shining/ngt-shining.component.d.ts +19 -19
  73. package/components/ngt-shining/ngt-shining.module.d.ts +8 -8
  74. package/components/ngt-sidenav/ngt-sidenav.component.d.ts +32 -32
  75. package/components/ngt-sidenav/ngt-sidenav.module.d.ts +8 -8
  76. package/components/ngt-slider/ngt-slider.component.d.ts +36 -36
  77. package/components/ngt-slider/ngt-slider.module.d.ts +9 -9
  78. package/components/ngt-svg/ngt-svg.component.d.ts +13 -13
  79. package/components/ngt-svg/ngt-svg.module.d.ts +10 -10
  80. package/components/ngt-tag/ngt-tag.component.d.ts +13 -13
  81. package/components/ngt-tag/ngt-tag.module.d.ts +9 -9
  82. package/components/ngt-textarea/ngt-textarea.component.d.ts +49 -49
  83. package/components/ngt-textarea/ngt-textarea.module.d.ts +13 -13
  84. package/components/ngt-validation/ngt-validation.component.d.ts +13 -13
  85. package/components/ngt-validation/ngt-validation.module.d.ts +8 -8
  86. package/directives/ngt-stylizable/ngt-stylizable.directive.d.ts +68 -68
  87. package/directives/ngt-stylizable/ngt-stylizable.module.d.ts +8 -8
  88. package/enums/size.enum.d.ts +8 -8
  89. package/esm2020/animations/ngt-angular-animations.mjs +34 -34
  90. package/esm2020/base/ngt-base-ng-model.mjs +90 -90
  91. package/esm2020/components/ngt-action/ngt-action.component.mjs +96 -96
  92. package/esm2020/components/ngt-action/ngt-action.module.mjs +28 -28
  93. package/esm2020/components/ngt-button/ngt-button.component.mjs +141 -141
  94. package/esm2020/components/ngt-button/ngt-button.module.mjs +28 -28
  95. package/esm2020/components/ngt-checkbox/ngt-checkbox.component.mjs +192 -192
  96. package/esm2020/components/ngt-checkbox/ngt-checkbox.module.mjs +28 -28
  97. package/esm2020/components/ngt-content/ngt-content.component.mjs +32 -32
  98. package/esm2020/components/ngt-content/ngt-content.module.mjs +20 -20
  99. package/esm2020/components/ngt-context-menu/ngt-context-menu.component.mjs +25 -25
  100. package/esm2020/components/ngt-context-menu/ngt-context-menu.directive.mjs +89 -89
  101. package/esm2020/components/ngt-context-menu/ngt-context-menu.module.mjs +33 -33
  102. package/esm2020/components/ngt-datatable/ngt-datatable.component.mjs +432 -432
  103. package/esm2020/components/ngt-datatable/ngt-datatable.module.mjs +95 -95
  104. package/esm2020/components/ngt-datatable/ngt-tbody/ngt-tbody.component.mjs +57 -57
  105. package/esm2020/components/ngt-datatable/ngt-td/ngt-td.component.mjs +62 -62
  106. package/esm2020/components/ngt-datatable/ngt-td-check/ngt-td-check.component.mjs +113 -113
  107. package/esm2020/components/ngt-datatable/ngt-th/ngt-th.component.mjs +211 -211
  108. package/esm2020/components/ngt-datatable/ngt-th-check/ngt-th-check.component.mjs +91 -91
  109. package/esm2020/components/ngt-datatable/ngt-thead/ngt-thead.component.mjs +55 -55
  110. package/esm2020/components/ngt-datatable/ngt-tr/ngt-tr.component.mjs +86 -86
  111. package/esm2020/components/ngt-date/ngt-date.component.mjs +438 -438
  112. package/esm2020/components/ngt-date/ngt-date.module.mjs +40 -40
  113. package/esm2020/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.mjs +19 -19
  114. package/esm2020/components/ngt-dropdown/ngt-dropdown.component.mjs +204 -204
  115. package/esm2020/components/ngt-dropdown/ngt-dropdown.module.mjs +21 -21
  116. package/esm2020/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.mjs +54 -54
  117. package/esm2020/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.mjs +66 -66
  118. package/esm2020/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.mjs +94 -94
  119. package/esm2020/components/ngt-dropzone/ngt-dropzone.component.mjs +496 -496
  120. package/esm2020/components/ngt-dropzone/ngt-dropzone.meta.mjs +24 -24
  121. package/esm2020/components/ngt-dropzone/ngt-dropzone.module.mjs +55 -55
  122. package/esm2020/components/ngt-floating-button/ngt-floating-button.component.mjs +119 -119
  123. package/esm2020/components/ngt-floating-button/ngt-floating-button.module.mjs +28 -28
  124. package/esm2020/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.mjs +22 -22
  125. package/esm2020/components/ngt-form/ngt-form.component.mjs +207 -207
  126. package/esm2020/components/ngt-form/ngt-form.module.mjs +29 -29
  127. package/esm2020/components/ngt-header-nav/ngt-header-nav.component.mjs +39 -39
  128. package/esm2020/components/ngt-header-nav/ngt-header-nav.module.mjs +20 -20
  129. package/esm2020/components/ngt-helper/ngt-helper.component.mjs +68 -68
  130. package/esm2020/components/ngt-helper/ngt-helper.module.mjs +28 -28
  131. package/esm2020/components/ngt-input/ngt-input.component.mjs +837 -837
  132. package/esm2020/components/ngt-input/ngt-input.module.mjs +47 -47
  133. package/esm2020/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.mjs +26 -26
  134. package/esm2020/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.mjs +11 -11
  135. package/esm2020/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.mjs +38 -38
  136. package/esm2020/components/ngt-modal/ngt-modal.component.mjs +121 -121
  137. package/esm2020/components/ngt-modal/ngt-modal.module.mjs +39 -39
  138. package/esm2020/components/ngt-multi-select/ngt-multi-select.component.mjs +482 -482
  139. package/esm2020/components/ngt-multi-select/ngt-multi-select.module.mjs +52 -52
  140. package/esm2020/components/ngt-pagination/ngt-pagination.component.mjs +162 -162
  141. package/esm2020/components/ngt-pagination/ngt-pagination.module.mjs +36 -36
  142. package/esm2020/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.mjs +58 -58
  143. package/esm2020/components/ngt-popover/ngt-popover.component.mjs +85 -85
  144. package/esm2020/components/ngt-popover/ngt-popover.directive.mjs +126 -126
  145. package/esm2020/components/ngt-popover/ngt-popover.module.mjs +36 -36
  146. package/esm2020/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.mjs +34 -34
  147. package/esm2020/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.mjs +35 -35
  148. package/esm2020/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.mjs +56 -56
  149. package/esm2020/components/ngt-portlet/ngt-portlet.component.mjs +74 -74
  150. package/esm2020/components/ngt-portlet/ngt-portlet.module.mjs +47 -47
  151. package/esm2020/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.mjs +19 -19
  152. package/esm2020/components/ngt-radio-button/ngt-radio-button.component.mjs +139 -139
  153. package/esm2020/components/ngt-radio-button/ngt-radio-button.module.mjs +29 -29
  154. package/esm2020/components/ngt-section/ngt-section.component.mjs +148 -148
  155. package/esm2020/components/ngt-section/ngt-section.module.mjs +32 -32
  156. package/esm2020/components/ngt-select/ngt-select.component.mjs +609 -609
  157. package/esm2020/components/ngt-select/ngt-select.directive.mjs +36 -36
  158. package/esm2020/components/ngt-select/ngt-select.module.mjs +65 -65
  159. package/esm2020/components/ngt-shining/ngt-shining.component.mjs +40 -40
  160. package/esm2020/components/ngt-shining/ngt-shining.module.mjs +20 -20
  161. package/esm2020/components/ngt-sidenav/ngt-sidenav.component.mjs +132 -132
  162. package/esm2020/components/ngt-sidenav/ngt-sidenav.module.mjs +20 -20
  163. package/esm2020/components/ngt-slider/ngt-slider.component.mjs +103 -103
  164. package/esm2020/components/ngt-slider/ngt-slider.module.mjs +24 -24
  165. package/esm2020/components/ngt-svg/ngt-svg.component.mjs +53 -53
  166. package/esm2020/components/ngt-svg/ngt-svg.module.mjs +28 -28
  167. package/esm2020/components/ngt-tag/ngt-tag.component.mjs +37 -37
  168. package/esm2020/components/ngt-tag/ngt-tag.module.mjs +24 -24
  169. package/esm2020/components/ngt-textarea/ngt-textarea.component.mjs +238 -238
  170. package/esm2020/components/ngt-textarea/ngt-textarea.module.mjs +43 -43
  171. package/esm2020/components/ngt-validation/ngt-validation.component.mjs +26 -26
  172. package/esm2020/components/ngt-validation/ngt-validation.module.mjs +20 -20
  173. package/esm2020/directives/ngt-stylizable/ngt-stylizable.directive.mjs +290 -290
  174. package/esm2020/directives/ngt-stylizable/ngt-stylizable.module.mjs +20 -20
  175. package/esm2020/enums/size.enum.mjs +11 -11
  176. package/esm2020/helpers/enum/enum.mjs +7 -7
  177. package/esm2020/helpers/form/form.mjs +14 -14
  178. package/esm2020/helpers/input-mask/input-mask.helper.mjs +26 -26
  179. package/esm2020/helpers/routing/route.mjs +11 -11
  180. package/esm2020/helpers/uuid.mjs +10 -10
  181. package/esm2020/ng-tailwind.mjs +4 -4
  182. package/esm2020/public-api.mjs +127 -127
  183. package/esm2020/services/http/ngt-attachment-http.service.mjs +3 -3
  184. package/esm2020/services/http/ngt-http-form.service.mjs +3 -3
  185. package/esm2020/services/http/ngt-http-resource.service.mjs +3 -3
  186. package/esm2020/services/http/ngt-http-validation.service.mjs +3 -3
  187. package/esm2020/services/http/ngt-http.service.mjs +3 -3
  188. package/esm2020/services/http/ngt-translate.service.mjs +3 -3
  189. package/esm2020/services/ngt-stylizable/ngt-stylizable.service.mjs +273 -273
  190. package/esm2020/services/validation/ngt-ability-validation.service.mjs +3 -3
  191. package/fesm2015/ng-tailwind.mjs +8408 -8408
  192. package/fesm2015/ng-tailwind.mjs.map +1 -1
  193. package/fesm2020/ng-tailwind.mjs +8245 -8245
  194. package/fesm2020/ng-tailwind.mjs.map +1 -1
  195. package/helpers/enum/enum.d.ts +1 -1
  196. package/helpers/form/form.d.ts +4 -4
  197. package/helpers/input-mask/input-mask.helper.d.ts +20 -20
  198. package/helpers/routing/route.d.ts +2 -2
  199. package/helpers/uuid.d.ts +1 -1
  200. package/index.d.ts +5 -5
  201. package/package.json +1 -1
  202. package/public-api.d.ts +87 -87
  203. package/services/http/ngt-attachment-http.service.d.ts +9 -9
  204. package/services/http/ngt-http-form.service.d.ts +5 -5
  205. package/services/http/ngt-http-resource.service.d.ts +12 -12
  206. package/services/http/ngt-http-validation.service.d.ts +12 -12
  207. package/services/http/ngt-http.service.d.ts +27 -27
  208. package/services/http/ngt-translate.service.d.ts +31 -31
  209. package/services/ngt-stylizable/ngt-stylizable.service.d.ts +96 -96
  210. package/services/validation/ngt-ability-validation.service.d.ts +5 -5
@@ -1,141 +1,141 @@
1
- import { Component, Input, Optional, Self, SkipSelf, } from '@angular/core';
2
- import { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../ngt-form/ngt-form.component";
5
- import * as i2 from "../ngt-section/ngt-section.component";
6
- import * as i3 from "../ngt-modal/ngt-modal.component";
7
- import * as i4 from "../../directives/ngt-stylizable/ngt-stylizable.directive";
8
- import * as i5 from "@angular/common";
9
- import * as i6 from "@angular/router";
10
- export class NgtButtonComponent {
11
- constructor(changeDetector, injector, ngtForm, ngtSection, ngtModal, ngtStylizableDirective) {
12
- this.changeDetector = changeDetector;
13
- this.injector = injector;
14
- this.ngtForm = ngtForm;
15
- this.ngtSection = ngtSection;
16
- this.ngtModal = ngtModal;
17
- this.ngtStylizableDirective = ngtStylizableDirective;
18
- this.type = 'success';
19
- this.subscriptions = [];
20
- if (this.ngtStylizableDirective) {
21
- this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();
22
- }
23
- else {
24
- this.ngtStyle = new NgtStylizableService();
25
- }
26
- this.ngtStyle.load(this.injector, 'NgtButton', {
27
- px: 'px-4',
28
- py: 'py-2',
29
- text: 'text-sm',
30
- font: 'font-normal',
31
- w: 'w-full',
32
- h: 'h-full',
33
- });
34
- }
35
- onClick(event) {
36
- if (this.disabled() || this.loading) {
37
- event.preventDefault();
38
- event.stopPropagation();
39
- }
40
- }
41
- ngAfterViewInit() {
42
- this.bindSubscriptions();
43
- }
44
- ngOnChanges(changes) {
45
- if (changes.type) {
46
- if (changes.type.currentValue == 'success') {
47
- this.ngtStyle.load(this.injector, 'NgtSuccessButton', {
48
- color: {
49
- bg: 'bg-green-500',
50
- text: 'text-white text-sm',
51
- }
52
- });
53
- }
54
- else if (changes.type.currentValue == 'warning') {
55
- this.ngtStyle.load(this.injector, 'NgtWarningButton', {
56
- color: {
57
- bg: 'bg-orange-500',
58
- text: 'text-white text-sm',
59
- }
60
- });
61
- }
62
- else if (changes.type.currentValue == 'danger') {
63
- this.ngtStyle.load(this.injector, 'NgtDangerButton', {
64
- color: {
65
- bg: 'bg-red-500',
66
- text: 'text-white text-sm',
67
- }
68
- });
69
- }
70
- else {
71
- this.ngtStyle.load(this.injector, 'NgtInfoButton', {
72
- color: {
73
- bg: 'bg-blue-500',
74
- text: 'text-white text-sm',
75
- }
76
- });
77
- }
78
- }
79
- }
80
- disabled() {
81
- return !this.forceEnable && (this.isDisabled || this.isDisabledByParent());
82
- }
83
- ngOnDestroy() {
84
- this.destroySubscriptions();
85
- }
86
- bindSubscriptions() {
87
- if (this.ngtForm) {
88
- this.loading = this.ngtForm.isLoading();
89
- this.changeDetector.detectChanges();
90
- this.subscriptions.push(this.ngtForm.onLoadingChange.subscribe((loading) => {
91
- this.loading = loading;
92
- }));
93
- }
94
- }
95
- isDisabledByParent() {
96
- return this.ngtForm?.isDisabled
97
- || this.ngtSection?.isDisabled
98
- || this.ngtModal?.isDisabled;
99
- }
100
- destroySubscriptions() {
101
- this.subscriptions.forEach(subscription => subscription.unsubscribe());
102
- this.subscriptions = [];
103
- }
104
- }
105
- NgtButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i1.NgtFormComponent, optional: true, skipSelf: true }, { token: i2.NgtSectionComponent, optional: true, skipSelf: true }, { token: i3.NgtModalComponent, optional: true, skipSelf: true }, { token: i4.NgtStylizableDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
106
- NgtButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtButtonComponent, selector: "ngt-button", inputs: { href: "href", type: "type", link: "link", loading: "loading", isDisabled: "isDisabled", forceEnable: "forceEnable", noSubmit: "noSubmit" }, usesOnChanges: true, ngImport: i0, template: "<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<div class=\"relative {{ngtStyle.compile(['w', 'h'])}}\" (click)='onClick($event)'>\n <ng-container *ngIf='!link'>\n <button [ngClass]=\"{ 'disabled-button': disabled(), 'loading-button': loading }\" [disabled]=\"disabled()\"\n [type]=\"(loading || disabled() || noSubmit) ? 'button' : 'submit'\"\n class=\"flex justify-center items-center focus:outline-none rounded cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font', 'w', 'h']) }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\n <span *ngIf=\"loading\" class=\"ml-2\">\n <div class=\"div-loader h-5 w-5\"></div>\n </span>\n </button>\n </ng-container>\n\n <ng-container *ngIf='link'>\n <a [routerLink]='href ? href : null' [ngClass]=\"{ 'disabled-button': disabled(), 'loading-button': loading }\"\n class=\"flex justify-center items-center focus:outline-none rounded cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font','w', 'h']) }}\">\n <span class=\"w-full\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </span>\n\n <span *ngIf=\"loading\" class=\"ml-1\">\n <div class=\"div-loader\"></div>\n </span>\n </a>\n </ng-container>\n\n <legend *ngIf=\"forceEnable\" class=\"absolute top-0 cursor-pointer hover:opacity-25 hover:bg-gray-100 {{ ngtStyle.compile(['w', 'h']) }}\"\n (click)='onClick($event)'>\n </legend>\n</div>", styles: [".disabled-button{opacity:.5!important;cursor:not-allowed!important}.loading-button{opacity:.5!important;cursor:wait!important}.div-loader{border:3px solid #edf2f738;border-top-color:#edf2f7;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtButtonComponent, decorators: [{
108
- type: Component,
109
- args: [{ selector: 'ngt-button', template: "<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<div class=\"relative {{ngtStyle.compile(['w', 'h'])}}\" (click)='onClick($event)'>\n <ng-container *ngIf='!link'>\n <button [ngClass]=\"{ 'disabled-button': disabled(), 'loading-button': loading }\" [disabled]=\"disabled()\"\n [type]=\"(loading || disabled() || noSubmit) ? 'button' : 'submit'\"\n class=\"flex justify-center items-center focus:outline-none rounded cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font', 'w', 'h']) }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\n <span *ngIf=\"loading\" class=\"ml-2\">\n <div class=\"div-loader h-5 w-5\"></div>\n </span>\n </button>\n </ng-container>\n\n <ng-container *ngIf='link'>\n <a [routerLink]='href ? href : null' [ngClass]=\"{ 'disabled-button': disabled(), 'loading-button': loading }\"\n class=\"flex justify-center items-center focus:outline-none rounded cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font','w', 'h']) }}\">\n <span class=\"w-full\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </span>\n\n <span *ngIf=\"loading\" class=\"ml-1\">\n <div class=\"div-loader\"></div>\n </span>\n </a>\n </ng-container>\n\n <legend *ngIf=\"forceEnable\" class=\"absolute top-0 cursor-pointer hover:opacity-25 hover:bg-gray-100 {{ ngtStyle.compile(['w', 'h']) }}\"\n (click)='onClick($event)'>\n </legend>\n</div>", styles: [".disabled-button{opacity:.5!important;cursor:not-allowed!important}.loading-button{opacity:.5!important;cursor:wait!important}.div-loader{border:3px solid #edf2f738;border-top-color:#edf2f7;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"] }]
110
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i1.NgtFormComponent, decorators: [{
111
- type: Optional
112
- }, {
113
- type: SkipSelf
114
- }] }, { type: i2.NgtSectionComponent, decorators: [{
115
- type: Optional
116
- }, {
117
- type: SkipSelf
118
- }] }, { type: i3.NgtModalComponent, decorators: [{
119
- type: Optional
120
- }, {
121
- type: SkipSelf
122
- }] }, { type: i4.NgtStylizableDirective, decorators: [{
123
- type: Self
124
- }, {
125
- type: Optional
126
- }] }]; }, propDecorators: { href: [{
127
- type: Input
128
- }], type: [{
129
- type: Input
130
- }], link: [{
131
- type: Input
132
- }], loading: [{
133
- type: Input
134
- }], isDisabled: [{
135
- type: Input
136
- }], forceEnable: [{
137
- type: Input
138
- }], noSubmit: [{
139
- type: Input
140
- }] } });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtYnV0dG9uL25ndC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWJ1dHRvbi9uZ3QtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBRVQsS0FBSyxFQUdMLFFBQVEsRUFDUixJQUFJLEVBRUosUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7Ozs7OztBQVU1RixNQUFNLE9BQU8sa0JBQWtCO0lBYTNCLFlBQ1ksY0FBaUMsRUFDakMsUUFBa0IsRUFHbEIsT0FBeUIsRUFHekIsVUFBK0IsRUFHL0IsUUFBMkIsRUFHM0Isc0JBQThDO1FBYjlDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBR2xCLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBR3pCLGVBQVUsR0FBVixVQUFVLENBQXFCO1FBRy9CLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBRzNCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUF6QjFDLFNBQUksR0FBVyxTQUFTLENBQUM7UUFTakMsa0JBQWEsR0FBd0IsRUFBRSxDQUFDO1FBa0I1QyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1NBQ3pFO2FBQU07WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztTQUM5QztRQUVELElB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VUFBVTtlQUN4QixJQUFJLENBQUMsVUFBVSxFQUFFLFVBQVU7ZUFDM0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7OytHQXpIUSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw2TkMxQi9CLDRyREFpQ007MkZEUE8sa0JBQWtCO2tCQUw5QixTQUFTOytCQUNJLFlBQVk7OzBCQXFCakIsUUFBUTs7MEJBQUksUUFBUTs7MEJBR3BCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUdwQixRQUFROzswQkFBSSxRQUFROzswQkFHcEIsSUFBSTs7MEJBQUksUUFBUTs0Q0F6QkwsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgU2tpcFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE5ndFN0eWxpemFibGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmd0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL25ndC1mb3JtL25ndC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ3RNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL25ndC1tb2RhbC9uZ3QtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IE5ndFNlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi9uZ3Qtc2VjdGlvbi9uZ3Qtc2VjdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndC1idXR0b24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZ3QtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uZ3QtYnV0dG9uLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3RCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgcHVibGljIGhyZWY6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgdHlwZTogc3RyaW5nID0gJ3N1Y2Nlc3MnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsaW5rOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc0Rpc2FibGVkOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBmb3JjZUVuYWJsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgbm9TdWJtaXQ6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgbmd0U3R5bGU6IE5ndFN0eWxpemFibGVTZXJ2aWNlO1xuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcblxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKVxuICAgICAgICBwcml2YXRlIG5ndEZvcm06IE5ndEZvcm1Db21wb25lbnQsXG5cbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKClcbiAgICAgICAgcHJpdmF0ZSBuZ3RTZWN0aW9uOiBOZ3RTZWN0aW9uQ29tcG9uZW50LFxuXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpXG4gICAgICAgIHByaXZhdGUgbmd0TW9kYWw6IE5ndE1vZGFsQ29tcG9uZW50LFxuXG4gICAgICAgIEBTZWxmKCkgQE9wdGlvbmFsKClcbiAgICAgICAgcHJpdmF0ZSBuZ3RTdHlsaXphYmxlRGlyZWN0aXZlOiBOZ3RTdHlsaXphYmxlRGlyZWN0aXZlLFxuICAgICkge1xuICAgICAgICBpZiAodGhpcy5uZ3RTdHlsaXphYmxlRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLm5ndFN0eWxlID0gdGhpcy5uZ3RTdHlsaXphYmxlRGlyZWN0aXZlLmdldE5ndFN0eWxpemFibGVTZXJ2aWNlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm5ndFN0eWxlID0gbmV3IE5ndFN0eWxpemFibGVTZXJ2aWNlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5ndFN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndEJ1dHRvbicsIHtcbiAgICAgICAgICAgIHB4OiAncHgtNCcsXG4gICAgICAgICAgICBweTogJ3B5LTInLFxuICAgICAgICAgICAgdGV4dDogJ3RleHQtc20nLFxuICAgICAgICAgICAgZm9udDogJ2ZvbnQtbm9ybWFsJyxcbiAgICAgICAgICAgIHc6ICAndy1mdWxsJyxcbiAgICAgICAgICAgIGg6ICdoLWZ1bGwnLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQoKSB8fCB0aGlzLmxvYWRpbmcpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYmluZFN1YnNjcmlwdGlvbnMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy50eXBlKSB7XG4gICAgICAgICAgICBpZiAoY2hhbmdlcy50eXBlLmN1cnJlbnRWYWx1ZSA9PSAnc3VjY2VzcycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5ndFN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndFN1Y2Nlc3NCdXR0b24nLCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiZzogJ2JnLWdyZWVuLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC13aGl0ZSB0ZXh0LXNtJyxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjaGFuZ2VzLnR5cGUuY3VycmVudFZhbHVlID09ICd3YXJuaW5nJykge1xuICAgICAgICAgICAgICAgIHRoaXMubmd0U3R5bGUubG9hZCh0aGlzLmluamVjdG9yLCAnTmd0V2FybmluZ0J1dHRvbicsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJnOiAnYmctb3JhbmdlLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC13aGl0ZSB0ZXh0LXNtJyxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjaGFuZ2VzLnR5cGUuY3VycmVudFZhbHVlID09ICdkYW5nZXInKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZS5sb2FkKHRoaXMuaW5qZWN0b3IsICdOZ3REYW5nZXJCdXR0b24nLCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiZzogJ2JnLXJlZC01MDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJ3RleHQtd2hpdGUgdGV4dC1zbScsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZS5sb2FkKHRoaXMuaW5qZWN0b3IsICdOZ3RJbmZvQnV0dG9uJywge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmc6ICdiZy1ibHVlLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC13aGl0ZSB0ZXh0LXNtJyxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuZm9yY2VFbmFibGUgJiYgKHRoaXMuaXNEaXNhYmxlZCB8fCB0aGlzLmlzRGlzYWJsZWRCeVBhcmVudCgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveVN1YnNjcmlwdGlvbnMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJpbmRTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uZ3RGb3JtKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0aGlzLm5ndEZvcm0uaXNMb2FkaW5nKCk7XG5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgICAgICAgICAgICB0aGlzLm5ndEZvcm0ub25Mb2FkaW5nQ2hhbmdlLnN1YnNjcmliZSgobG9hZGluZzogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBsb2FkaW5nO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0Rpc2FibGVkQnlQYXJlbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndEZvcm0/LmlzRGlzYWJsZWRcbiAgICAgICAgICAgIHx8IHRoaXMubmd0U2VjdGlvbj8uaXNEaXNhYmxlZFxuICAgICAgICAgICAgfHwgdGhpcy5uZ3RNb2RhbD8uaXNEaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlc3Ryb3lTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPGRpdiBjbGFzcz1cInJlbGF0aXZlIHt7bmd0U3R5bGUuY29tcGlsZShbJ3cnLCAnaCddKX19XCIgKGNsaWNrKT0nb25DbGljaygkZXZlbnQpJz5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPSchbGluayc+XG4gICAgICAgIDxidXR0b24gW25nQ2xhc3NdPVwieyAnZGlzYWJsZWQtYnV0dG9uJzogZGlzYWJsZWQoKSwgJ2xvYWRpbmctYnV0dG9uJzogbG9hZGluZyB9XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICAgICAgW3R5cGVdPVwiKGxvYWRpbmcgfHwgZGlzYWJsZWQoKSB8fCBub1N1Ym1pdCkgPyAnYnV0dG9uJyA6ICdzdWJtaXQnXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgZm9jdXM6b3V0bGluZS1ub25lIHJvdW5kZWQgY3Vyc29yLXBvaW50ZXIge3sgbmd0U3R5bGUuY29tcGlsZShbJ2NvbG9yLmJnJywgJ2NvbG9yLnRleHQnLCAnY29sb3IuYm9yZGVyJywgJ3B4JywgJ3B5JywgJ2JvcmRlcicsICd0ZXh0JywgJ2ZvbnQnLCAndycsICdoJ10pIH19XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxvYWRpbmdcIiBjbGFzcz1cIm1sLTJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGl2LWxvYWRlciBoLTUgdy01XCI+PC9kaXY+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj0nbGluayc+XG4gICAgICAgIDxhIFtyb3V0ZXJMaW5rXT0naHJlZiA/IGhyZWYgOiBudWxsJyBbbmdDbGFzc109XCJ7ICdkaXNhYmxlZC1idXR0b24nOiBkaXNhYmxlZCgpLCAnbG9hZGluZy1idXR0b24nOiBsb2FkaW5nIH1cIlxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBmb2N1czpvdXRsaW5lLW5vbmUgcm91bmRlZCBjdXJzb3ItcG9pbnRlciB7eyBuZ3RTdHlsZS5jb21waWxlKFsnY29sb3IuYmcnLCAnY29sb3IudGV4dCcsICdjb2xvci5ib3JkZXInLCAncHgnLCAncHknLCAnYm9yZGVyJywgJ3RleHQnLCAnZm9udCcsJ3cnLCAnaCddKSB9fVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxvYWRpbmdcIiBjbGFzcz1cIm1sLTFcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGl2LWxvYWRlclwiPjwvZGl2PlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bGVnZW5kICpuZ0lmPVwiZm9yY2VFbmFibGVcIiBjbGFzcz1cImFic29sdXRlIHRvcC0wIGN1cnNvci1wb2ludGVyIGhvdmVyOm9wYWNpdHktMjUgaG92ZXI6YmctZ3JheS0xMDAge3sgbmd0U3R5bGUuY29tcGlsZShbJ3cnLCAnaCddKSB9fVwiXG4gICAgICAgIChjbGljayk9J29uQ2xpY2soJGV2ZW50KSc+XG4gICAgPC9sZWdlbmQ+XG48L2Rpdj4iXX0=
1
+ import { Component, Input, Optional, Self, SkipSelf, } from '@angular/core';
2
+ import { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../ngt-form/ngt-form.component";
5
+ import * as i2 from "../ngt-section/ngt-section.component";
6
+ import * as i3 from "../ngt-modal/ngt-modal.component";
7
+ import * as i4 from "../../directives/ngt-stylizable/ngt-stylizable.directive";
8
+ import * as i5 from "@angular/common";
9
+ import * as i6 from "@angular/router";
10
+ export class NgtButtonComponent {
11
+ constructor(changeDetector, injector, ngtForm, ngtSection, ngtModal, ngtStylizableDirective) {
12
+ this.changeDetector = changeDetector;
13
+ this.injector = injector;
14
+ this.ngtForm = ngtForm;
15
+ this.ngtSection = ngtSection;
16
+ this.ngtModal = ngtModal;
17
+ this.ngtStylizableDirective = ngtStylizableDirective;
18
+ this.type = 'success';
19
+ this.subscriptions = [];
20
+ if (this.ngtStylizableDirective) {
21
+ this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();
22
+ }
23
+ else {
24
+ this.ngtStyle = new NgtStylizableService();
25
+ }
26
+ this.ngtStyle.load(this.injector, 'NgtButton', {
27
+ px: 'px-4',
28
+ py: 'py-2',
29
+ text: 'text-sm',
30
+ font: 'font-normal',
31
+ w: 'w-full',
32
+ h: 'h-full',
33
+ });
34
+ }
35
+ onClick(event) {
36
+ if (this.disabled() || this.loading) {
37
+ event.preventDefault();
38
+ event.stopPropagation();
39
+ }
40
+ }
41
+ ngAfterViewInit() {
42
+ this.bindSubscriptions();
43
+ }
44
+ ngOnChanges(changes) {
45
+ if (changes.type) {
46
+ if (changes.type.currentValue == 'success') {
47
+ this.ngtStyle.load(this.injector, 'NgtSuccessButton', {
48
+ color: {
49
+ bg: 'bg-green-500',
50
+ text: 'text-white text-sm',
51
+ }
52
+ });
53
+ }
54
+ else if (changes.type.currentValue == 'warning') {
55
+ this.ngtStyle.load(this.injector, 'NgtWarningButton', {
56
+ color: {
57
+ bg: 'bg-orange-500',
58
+ text: 'text-white text-sm',
59
+ }
60
+ });
61
+ }
62
+ else if (changes.type.currentValue == 'danger') {
63
+ this.ngtStyle.load(this.injector, 'NgtDangerButton', {
64
+ color: {
65
+ bg: 'bg-red-500',
66
+ text: 'text-white text-sm',
67
+ }
68
+ });
69
+ }
70
+ else {
71
+ this.ngtStyle.load(this.injector, 'NgtInfoButton', {
72
+ color: {
73
+ bg: 'bg-blue-500',
74
+ text: 'text-white text-sm',
75
+ }
76
+ });
77
+ }
78
+ }
79
+ }
80
+ disabled() {
81
+ return !this.forceEnable && (this.isDisabled || this.isDisabledByParent());
82
+ }
83
+ ngOnDestroy() {
84
+ this.destroySubscriptions();
85
+ }
86
+ bindSubscriptions() {
87
+ if (this.ngtForm) {
88
+ this.loading = this.ngtForm.isLoading();
89
+ this.changeDetector.detectChanges();
90
+ this.subscriptions.push(this.ngtForm.onLoadingChange.subscribe((loading) => {
91
+ this.loading = loading;
92
+ }));
93
+ }
94
+ }
95
+ isDisabledByParent() {
96
+ return this.ngtForm?.isDisabled
97
+ || this.ngtSection?.isDisabled
98
+ || this.ngtModal?.isDisabled;
99
+ }
100
+ destroySubscriptions() {
101
+ this.subscriptions.forEach(subscription => subscription.unsubscribe());
102
+ this.subscriptions = [];
103
+ }
104
+ }
105
+ NgtButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i1.NgtFormComponent, optional: true, skipSelf: true }, { token: i2.NgtSectionComponent, optional: true, skipSelf: true }, { token: i3.NgtModalComponent, optional: true, skipSelf: true }, { token: i4.NgtStylizableDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
106
+ NgtButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtButtonComponent, selector: "ngt-button", inputs: { href: "href", type: "type", link: "link", loading: "loading", isDisabled: "isDisabled", forceEnable: "forceEnable", noSubmit: "noSubmit" }, usesOnChanges: true, ngImport: i0, template: "<ng-template #content>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n<div class=\"relative {{ngtStyle.compile(['w', 'h'])}}\" (click)='onClick($event)'>\r\n <ng-container *ngIf='!link'>\r\n <button [ngClass]=\"{ 'disabled-button': disabled(), 'loading-button': loading }\" [disabled]=\"disabled()\"\r\n [type]=\"(loading || disabled() || noSubmit) ? 'button' : 'submit'\"\r\n class=\"flex justify-center items-center focus:outline-none rounded cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font', 'w', 'h']) }}\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n\r\n <span *ngIf=\"loading\" class=\"ml-2\">\r\n <div class=\"div-loader h-5 w-5\"></div>\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf='link'>\r\n <a [routerLink]='href ? href : null' [ngClass]=\"{ 'disabled-button': disabled(), 'loading-button': loading }\"\r\n class=\"flex justify-center items-center focus:outline-none rounded cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font','w', 'h']) }}\">\r\n <span class=\"w-full\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </span>\r\n\r\n <span *ngIf=\"loading\" class=\"ml-1\">\r\n <div class=\"div-loader\"></div>\r\n </span>\r\n </a>\r\n </ng-container>\r\n\r\n <legend *ngIf=\"forceEnable\" class=\"absolute top-0 cursor-pointer hover:opacity-25 hover:bg-gray-100 {{ ngtStyle.compile(['w', 'h']) }}\"\r\n (click)='onClick($event)'>\r\n </legend>\r\n</div>", styles: [".disabled-button{opacity:.5!important;cursor:not-allowed!important}.loading-button{opacity:.5!important;cursor:wait!important}.div-loader{border:3px solid #edf2f738;border-top-color:#edf2f7;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtButtonComponent, decorators: [{
108
+ type: Component,
109
+ args: [{ selector: 'ngt-button', template: "<ng-template #content>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n<div class=\"relative {{ngtStyle.compile(['w', 'h'])}}\" (click)='onClick($event)'>\r\n <ng-container *ngIf='!link'>\r\n <button [ngClass]=\"{ 'disabled-button': disabled(), 'loading-button': loading }\" [disabled]=\"disabled()\"\r\n [type]=\"(loading || disabled() || noSubmit) ? 'button' : 'submit'\"\r\n class=\"flex justify-center items-center focus:outline-none rounded cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font', 'w', 'h']) }}\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n\r\n <span *ngIf=\"loading\" class=\"ml-2\">\r\n <div class=\"div-loader h-5 w-5\"></div>\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf='link'>\r\n <a [routerLink]='href ? href : null' [ngClass]=\"{ 'disabled-button': disabled(), 'loading-button': loading }\"\r\n class=\"flex justify-center items-center focus:outline-none rounded cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font','w', 'h']) }}\">\r\n <span class=\"w-full\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </span>\r\n\r\n <span *ngIf=\"loading\" class=\"ml-1\">\r\n <div class=\"div-loader\"></div>\r\n </span>\r\n </a>\r\n </ng-container>\r\n\r\n <legend *ngIf=\"forceEnable\" class=\"absolute top-0 cursor-pointer hover:opacity-25 hover:bg-gray-100 {{ ngtStyle.compile(['w', 'h']) }}\"\r\n (click)='onClick($event)'>\r\n </legend>\r\n</div>", styles: [".disabled-button{opacity:.5!important;cursor:not-allowed!important}.loading-button{opacity:.5!important;cursor:wait!important}.div-loader{border:3px solid #edf2f738;border-top-color:#edf2f7;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"] }]
110
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i1.NgtFormComponent, decorators: [{
111
+ type: Optional
112
+ }, {
113
+ type: SkipSelf
114
+ }] }, { type: i2.NgtSectionComponent, decorators: [{
115
+ type: Optional
116
+ }, {
117
+ type: SkipSelf
118
+ }] }, { type: i3.NgtModalComponent, decorators: [{
119
+ type: Optional
120
+ }, {
121
+ type: SkipSelf
122
+ }] }, { type: i4.NgtStylizableDirective, decorators: [{
123
+ type: Self
124
+ }, {
125
+ type: Optional
126
+ }] }]; }, propDecorators: { href: [{
127
+ type: Input
128
+ }], type: [{
129
+ type: Input
130
+ }], link: [{
131
+ type: Input
132
+ }], loading: [{
133
+ type: Input
134
+ }], isDisabled: [{
135
+ type: Input
136
+ }], forceEnable: [{
137
+ type: Input
138
+ }], noSubmit: [{
139
+ type: Input
140
+ }] } });
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtYnV0dG9uL25ndC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWJ1dHRvbi9uZ3QtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBRVQsS0FBSyxFQUdMLFFBQVEsRUFDUixJQUFJLEVBRUosUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7Ozs7OztBQVU1RixNQUFNLE9BQU8sa0JBQWtCO0lBYTNCLFlBQ1ksY0FBaUMsRUFDakMsUUFBa0IsRUFHbEIsT0FBeUIsRUFHekIsVUFBK0IsRUFHL0IsUUFBMkIsRUFHM0Isc0JBQThDO1FBYjlDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBR2xCLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBR3pCLGVBQVUsR0FBVixVQUFVLENBQXFCO1FBRy9CLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBRzNCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUF6QjFDLFNBQUksR0FBVyxTQUFTLENBQUM7UUFTakMsa0JBQWEsR0FBd0IsRUFBRSxDQUFDO1FBa0I1QyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1NBQ3pFO2FBQU07WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztTQUM5QztRQUVELElB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VUFBVTtlQUN4QixJQUFJLENBQUMsVUFBVSxFQUFFLFVBQVU7ZUFDM0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7OytHQXpIUSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw2TkMxQi9CLDh2REFpQ007MkZEUE8sa0JBQWtCO2tCQUw5QixTQUFTOytCQUNJLFlBQVk7OzBCQXFCakIsUUFBUTs7MEJBQUksUUFBUTs7MEJBR3BCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUdwQixRQUFROzswQkFBSSxRQUFROzswQkFHcEIsSUFBSTs7MEJBQUksUUFBUTs0Q0F6QkwsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBJbmplY3RvcixcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT3B0aW9uYWwsXHJcbiAgICBTZWxmLFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxuICAgIFNraXBTZWxmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IE5ndFN0eWxpemFibGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE5ndFN0eWxpemFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbmd0LXN0eWxpemFibGUvbmd0LXN0eWxpemFibGUuc2VydmljZSc7XHJcbmltcG9ydCB7IE5ndEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9uZ3QtZm9ybS9uZ3QtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZ3RNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL25ndC1tb2RhbC9uZ3QtbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmd0U2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL25ndC1zZWN0aW9uL25ndC1zZWN0aW9uLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbmd0LWJ1dHRvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmd0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9uZ3QtYnV0dG9uLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd0QnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgcHVibGljIGhyZWY6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHB1YmxpYyB0eXBlOiBzdHJpbmcgPSAnc3VjY2Vzcyc7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgbGluazogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgcHVibGljIGlzRGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgZm9yY2VFbmFibGU6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgbm9TdWJtaXQ6IGJvb2xlYW47XHJcblxyXG4gICAgcHVibGljIG5ndFN0eWxlOiBOZ3RTdHlsaXphYmxlU2VydmljZTtcclxuXHJcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IEFycmF5PFN1YnNjcmlwdGlvbj4gPSBbXTtcclxuXHJcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcblxyXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpXHJcbiAgICAgICAgcHJpdmF0ZSBuZ3RGb3JtOiBOZ3RGb3JtQ29tcG9uZW50LFxyXG5cclxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKVxyXG4gICAgICAgIHByaXZhdGUgbmd0U2VjdGlvbjogTmd0U2VjdGlvbkNvbXBvbmVudCxcclxuXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKClcclxuICAgICAgICBwcml2YXRlIG5ndE1vZGFsOiBOZ3RNb2RhbENvbXBvbmVudCxcclxuXHJcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKVxyXG4gICAgICAgIHByaXZhdGUgbmd0U3R5bGl6YWJsZURpcmVjdGl2ZTogTmd0U3R5bGl6YWJsZURpcmVjdGl2ZSxcclxuICAgICkge1xyXG4gICAgICAgIGlmICh0aGlzLm5ndFN0eWxpemFibGVEaXJlY3RpdmUpIHtcclxuICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZSA9IHRoaXMubmd0U3R5bGl6YWJsZURpcmVjdGl2ZS5nZXROZ3RTdHlsaXphYmxlU2VydmljZSgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubmd0U3R5bGUgPSBuZXcgTmd0U3R5bGl6YWJsZVNlcnZpY2UoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubmd0U3R5bGUubG9hZCh0aGlzLmluamVjdG9yLCAnTmd0QnV0dG9uJywge1xyXG4gICAgICAgICAgICBweDogJ3B4LTQnLFxyXG4gICAgICAgICAgICBweTogJ3B5LTInLFxyXG4gICAgICAgICAgICB0ZXh0OiAndGV4dC1zbScsXHJcbiAgICAgICAgICAgIGZvbnQ6ICdmb250LW5vcm1hbCcsXHJcbiAgICAgICAgICAgIHc6ICAndy1mdWxsJyxcclxuICAgICAgICAgICAgaDogJ2gtZnVsbCcsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQoKSB8fCB0aGlzLmxvYWRpbmcpIHtcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5iaW5kU3Vic2NyaXB0aW9ucygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXMudHlwZSkge1xyXG4gICAgICAgICAgICBpZiAoY2hhbmdlcy50eXBlLmN1cnJlbnRWYWx1ZSA9PSAnc3VjY2VzcycpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubmd0U3R5bGUubG9hZCh0aGlzLmluamVjdG9yLCAnTmd0U3VjY2Vzc0J1dHRvbicsIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiZzogJ2JnLWdyZWVuLTUwMCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICd0ZXh0LXdoaXRlIHRleHQtc20nLFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNoYW5nZXMudHlwZS5jdXJyZW50VmFsdWUgPT0gJ3dhcm5pbmcnKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5ndFN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndFdhcm5pbmdCdXR0b24nLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmc6ICdiZy1vcmFuZ2UtNTAwJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJ3RleHQtd2hpdGUgdGV4dC1zbScsXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hhbmdlcy50eXBlLmN1cnJlbnRWYWx1ZSA9PSAnZGFuZ2VyJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZS5sb2FkKHRoaXMuaW5qZWN0b3IsICdOZ3REYW5nZXJCdXR0b24nLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmc6ICdiZy1yZWQtNTAwJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJ3RleHQtd2hpdGUgdGV4dC1zbScsXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5ndFN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndEluZm9CdXR0b24nLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmc6ICdiZy1ibHVlLTUwMCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICd0ZXh0LXdoaXRlIHRleHQtc20nLFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIXRoaXMuZm9yY2VFbmFibGUgJiYgKHRoaXMuaXNEaXNhYmxlZCB8fCB0aGlzLmlzRGlzYWJsZWRCeVBhcmVudCgpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95U3Vic2NyaXB0aW9ucygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYmluZFN1YnNjcmlwdGlvbnMoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMubmd0Rm9ybSkge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0aGlzLm5ndEZvcm0uaXNMb2FkaW5nKCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5uZ3RGb3JtLm9uTG9hZGluZ0NoYW5nZS5zdWJzY3JpYmUoKGxvYWRpbmc6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBsb2FkaW5nO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpc0Rpc2FibGVkQnlQYXJlbnQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0Rm9ybT8uaXNEaXNhYmxlZFxyXG4gICAgICAgICAgICB8fCB0aGlzLm5ndFNlY3Rpb24/LmlzRGlzYWJsZWRcclxuICAgICAgICAgICAgfHwgdGhpcy5uZ3RNb2RhbD8uaXNEaXNhYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGRlc3Ryb3lTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICNjb250ZW50PlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPGRpdiBjbGFzcz1cInJlbGF0aXZlIHt7bmd0U3R5bGUuY29tcGlsZShbJ3cnLCAnaCddKX19XCIgKGNsaWNrKT0nb25DbGljaygkZXZlbnQpJz5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9JyFsaW5rJz5cclxuICAgICAgICA8YnV0dG9uIFtuZ0NsYXNzXT1cInsgJ2Rpc2FibGVkLWJ1dHRvbic6IGRpc2FibGVkKCksICdsb2FkaW5nLWJ1dHRvbic6IGxvYWRpbmcgfVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcclxuICAgICAgICAgICAgW3R5cGVdPVwiKGxvYWRpbmcgfHwgZGlzYWJsZWQoKSB8fCBub1N1Ym1pdCkgPyAnYnV0dG9uJyA6ICdzdWJtaXQnXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBmb2N1czpvdXRsaW5lLW5vbmUgcm91bmRlZCBjdXJzb3ItcG9pbnRlciB7eyBuZ3RTdHlsZS5jb21waWxlKFsnY29sb3IuYmcnLCAnY29sb3IudGV4dCcsICdjb2xvci5ib3JkZXInLCAncHgnLCAncHknLCAnYm9yZGVyJywgJ3RleHQnLCAnZm9udCcsICd3JywgJ2gnXSkgfX1cIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwibWwtMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpdi1sb2FkZXIgaC01IHctNVwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPSdsaW5rJz5cclxuICAgICAgICA8YSBbcm91dGVyTGlua109J2hyZWYgPyBocmVmIDogbnVsbCcgW25nQ2xhc3NdPVwieyAnZGlzYWJsZWQtYnV0dG9uJzogZGlzYWJsZWQoKSwgJ2xvYWRpbmctYnV0dG9uJzogbG9hZGluZyB9XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBmb2N1czpvdXRsaW5lLW5vbmUgcm91bmRlZCBjdXJzb3ItcG9pbnRlciB7eyBuZ3RTdHlsZS5jb21waWxlKFsnY29sb3IuYmcnLCAnY29sb3IudGV4dCcsICdjb2xvci5ib3JkZXInLCAncHgnLCAncHknLCAnYm9yZGVyJywgJ3RleHQnLCAnZm9udCcsJ3cnLCAnaCddKSB9fVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctZnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJsb2FkaW5nXCIgY2xhc3M9XCJtbC0xXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGl2LWxvYWRlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9hPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPGxlZ2VuZCAqbmdJZj1cImZvcmNlRW5hYmxlXCIgY2xhc3M9XCJhYnNvbHV0ZSB0b3AtMCBjdXJzb3ItcG9pbnRlciBob3ZlcjpvcGFjaXR5LTI1IGhvdmVyOmJnLWdyYXktMTAwIHt7IG5ndFN0eWxlLmNvbXBpbGUoWyd3JywgJ2gnXSkgfX1cIlxyXG4gICAgICAgIChjbGljayk9J29uQ2xpY2soJGV2ZW50KSc+XHJcbiAgICA8L2xlZ2VuZD5cclxuPC9kaXY+Il19
@@ -1,28 +1,28 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { RouterModule } from '@angular/router';
4
- import { NgtFormModule } from '../ngt-form/ngt-form.module';
5
- import { NgtButtonComponent } from './ngt-button.component';
6
- import * as i0 from "@angular/core";
7
- export class NgtButtonModule {
8
- }
9
- NgtButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- NgtButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: NgtButtonModule, declarations: [NgtButtonComponent], imports: [CommonModule,
11
- RouterModule,
12
- NgtFormModule], exports: [NgtButtonComponent] });
13
- NgtButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtButtonModule, imports: [CommonModule,
14
- RouterModule,
15
- NgtFormModule] });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtButtonModule, decorators: [{
17
- type: NgModule,
18
- args: [{
19
- declarations: [NgtButtonComponent],
20
- exports: [NgtButtonComponent],
21
- imports: [
22
- CommonModule,
23
- RouterModule,
24
- NgtFormModule
25
- ]
26
- }]
27
- }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWJ1dHRvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtYnV0dG9uL25ndC1idXR0b24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBVzVELE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBUlQsa0JBQWtCLGFBRzdCLFlBQVk7UUFDWixZQUFZO1FBQ1osYUFBYSxhQUpQLGtCQUFrQjs2R0FPbkIsZUFBZSxZQUxwQixZQUFZO1FBQ1osWUFBWTtRQUNaLGFBQWE7MkZBR1IsZUFBZTtrQkFUM0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQzdCLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osYUFBYTtxQkFDaEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IE5ndEZvcm1Nb2R1bGUgfSBmcm9tICcuLi9uZ3QtZm9ybS9uZ3QtZm9ybS5tb2R1bGUnO1xuaW1wb3J0IHsgTmd0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9uZ3QtYnV0dG9uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbTmd0QnV0dG9uQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbTmd0QnV0dG9uQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBOZ3RGb3JtTW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3RCdXR0b25Nb2R1bGUgeyB9XG4iXX0=
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { RouterModule } from '@angular/router';
4
+ import { NgtFormModule } from '../ngt-form/ngt-form.module';
5
+ import { NgtButtonComponent } from './ngt-button.component';
6
+ import * as i0 from "@angular/core";
7
+ export class NgtButtonModule {
8
+ }
9
+ NgtButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ NgtButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: NgtButtonModule, declarations: [NgtButtonComponent], imports: [CommonModule,
11
+ RouterModule,
12
+ NgtFormModule], exports: [NgtButtonComponent] });
13
+ NgtButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtButtonModule, imports: [CommonModule,
14
+ RouterModule,
15
+ NgtFormModule] });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtButtonModule, decorators: [{
17
+ type: NgModule,
18
+ args: [{
19
+ declarations: [NgtButtonComponent],
20
+ exports: [NgtButtonComponent],
21
+ imports: [
22
+ CommonModule,
23
+ RouterModule,
24
+ NgtFormModule
25
+ ]
26
+ }]
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWJ1dHRvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtYnV0dG9uL25ndC1idXR0b24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBVzVELE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBUlQsa0JBQWtCLGFBRzdCLFlBQVk7UUFDWixZQUFZO1FBQ1osYUFBYSxhQUpQLGtCQUFrQjs2R0FPbkIsZUFBZSxZQUxwQixZQUFZO1FBQ1osWUFBWTtRQUNaLGFBQWE7MkZBR1IsZUFBZTtrQkFUM0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQzdCLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osYUFBYTtxQkFDaEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgTmd0Rm9ybU1vZHVsZSB9IGZyb20gJy4uL25ndC1mb3JtL25ndC1mb3JtLm1vZHVsZSc7XHJcbmltcG9ydCB7IE5ndEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vbmd0LWJ1dHRvbi5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW05ndEJ1dHRvbkNvbXBvbmVudF0sXHJcbiAgICBleHBvcnRzOiBbTmd0QnV0dG9uQ29tcG9uZW50XSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgUm91dGVyTW9kdWxlLFxyXG4gICAgICAgIE5ndEZvcm1Nb2R1bGVcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5ndEJ1dHRvbk1vZHVsZSB7IH1cclxuIl19