ng-tailwind 5.2.1 → 5.2.3

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 (212) 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 +125 -125
  16. package/components/ngt-datatable/ngt-datatable.module.d.ts +25 -25
  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 +55 -55
  21. package/components/ngt-datatable/ngt-th-check/ngt-th-check.component.d.ts +32 -32
  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 +129 -129
  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 +17 -17
  47. package/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.d.ts +12 -12
  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 +116 -116
  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 +45 -45
  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 +154 -154
  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 +142 -142
  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 +470 -470
  103. package/esm2020/components/ngt-datatable/ngt-datatable.module.mjs +99 -99
  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 +228 -228
  108. package/esm2020/components/ngt-datatable/ngt-th-check/ngt-th-check.component.mjs +127 -127
  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 +435 -435
  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 +844 -844
  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 +46 -46
  134. package/esm2020/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.mjs +33 -33
  135. package/esm2020/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.mjs +40 -40
  136. package/esm2020/components/ngt-modal/ngt-modal.component.mjs +122 -122
  137. package/esm2020/components/ngt-modal/ngt-modal.module.mjs +39 -39
  138. package/esm2020/components/ngt-multi-select/ngt-multi-select.component.mjs +503 -503
  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 +57 -57
  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 +153 -153
  153. package/esm2020/components/ngt-radio-button/ngt-radio-button.module.mjs +29 -29
  154. package/esm2020/components/ngt-section/ngt-section.component.mjs +151 -151
  155. package/esm2020/components/ngt-section/ngt-section.module.mjs +32 -32
  156. package/esm2020/components/ngt-select/ngt-select.component.mjs +670 -670
  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 +100 -100
  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/promise/promise-helper.mjs +4 -4
  180. package/esm2020/helpers/routing/route.mjs +11 -11
  181. package/esm2020/helpers/uuid.mjs +10 -10
  182. package/esm2020/ng-tailwind.mjs +4 -4
  183. package/esm2020/public-api.mjs +127 -127
  184. package/esm2020/services/http/ngt-attachment-http.service.mjs +3 -3
  185. package/esm2020/services/http/ngt-http-form.service.mjs +3 -3
  186. package/esm2020/services/http/ngt-http-resource.service.mjs +3 -3
  187. package/esm2020/services/http/ngt-http-validation.service.mjs +3 -3
  188. package/esm2020/services/http/ngt-http.service.mjs +3 -3
  189. package/esm2020/services/http/ngt-translate.service.mjs +3 -3
  190. package/esm2020/services/ngt-stylizable/ngt-stylizable.service.mjs +273 -273
  191. package/esm2020/services/validation/ngt-ability-validation.service.mjs +3 -3
  192. package/fesm2015/ng-tailwind.mjs +8653 -8653
  193. package/fesm2015/ng-tailwind.mjs.map +1 -1
  194. package/fesm2020/ng-tailwind.mjs +8478 -8478
  195. package/fesm2020/ng-tailwind.mjs.map +1 -1
  196. package/helpers/enum/enum.d.ts +1 -1
  197. package/helpers/form/form.d.ts +4 -4
  198. package/helpers/input-mask/input-mask.helper.d.ts +20 -20
  199. package/helpers/promise/promise-helper.d.ts +1 -1
  200. package/helpers/routing/route.d.ts +2 -2
  201. package/helpers/uuid.d.ts +1 -1
  202. package/index.d.ts +5 -5
  203. package/package.json +2 -2
  204. package/public-api.d.ts +87 -87
  205. package/services/http/ngt-attachment-http.service.d.ts +9 -9
  206. package/services/http/ngt-http-form.service.d.ts +5 -5
  207. package/services/http/ngt-http-resource.service.d.ts +12 -12
  208. package/services/http/ngt-http-validation.service.d.ts +12 -12
  209. package/services/http/ngt-http.service.d.ts +27 -27
  210. package/services/http/ngt-translate.service.d.ts +33 -33
  211. package/services/ngt-stylizable/ngt-stylizable.service.d.ts +96 -96
  212. package/services/validation/ngt-ability-validation.service.d.ts +5 -5
@@ -1,142 +1,142 @@
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-2',
28
- py: 'py-1',
29
- text: 'text-xs',
30
- font: 'font-normal',
31
- w: 'w-full',
32
- h: 'h-full',
33
- rounded: 'rounded'
34
- });
35
- }
36
- onClick(event) {
37
- if (this.disabled() || this.loading) {
38
- event.preventDefault();
39
- event.stopPropagation();
40
- }
41
- }
42
- ngAfterViewInit() {
43
- this.bindSubscriptions();
44
- }
45
- ngOnChanges(changes) {
46
- if (changes.type) {
47
- if (changes.type.currentValue == 'success') {
48
- this.ngtStyle.load(this.injector, 'NgtSuccessButton', {
49
- color: {
50
- bg: 'bg-green-500',
51
- text: 'text-white text-xs',
52
- }
53
- });
54
- }
55
- else if (changes.type.currentValue == 'warning') {
56
- this.ngtStyle.load(this.injector, 'NgtWarningButton', {
57
- color: {
58
- bg: 'bg-orange-500',
59
- text: 'text-white text-xs',
60
- }
61
- });
62
- }
63
- else if (changes.type.currentValue == 'danger') {
64
- this.ngtStyle.load(this.injector, 'NgtDangerButton', {
65
- color: {
66
- bg: 'bg-red-500',
67
- text: 'text-white text-xs',
68
- }
69
- });
70
- }
71
- else {
72
- this.ngtStyle.load(this.injector, 'NgtInfoButton', {
73
- color: {
74
- bg: 'bg-blue-500',
75
- text: 'text-white text-xs',
76
- }
77
- });
78
- }
79
- }
80
- }
81
- disabled() {
82
- return !this.forceEnable && (this.isDisabled || this.isDisabledByParent());
83
- }
84
- ngOnDestroy() {
85
- this.destroySubscriptions();
86
- }
87
- bindSubscriptions() {
88
- if (this.ngtForm) {
89
- this.loading = this.ngtForm.isLoading();
90
- this.changeDetector.detectChanges();
91
- this.subscriptions.push(this.ngtForm.onLoadingChange.subscribe((loading) => {
92
- this.loading = loading;
93
- }));
94
- }
95
- }
96
- isDisabledByParent() {
97
- return this.ngtForm?.isDisabled
98
- || this.ngtSection?.isDisabled
99
- || this.ngtModal?.isDisabled;
100
- }
101
- destroySubscriptions() {
102
- this.subscriptions.forEach(subscription => subscription.unsubscribe());
103
- this.subscriptions = [];
104
- }
105
- }
106
- 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 });
107
- 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 cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font', 'w', 'h', 'rounded']) }}\">\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 cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font','w', 'h', 'rounded']) }}\">\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"] }] });
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtButtonComponent, decorators: [{
109
- type: Component,
110
- 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 cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font', 'w', 'h', 'rounded']) }}\">\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 cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font','w', 'h', 'rounded']) }}\">\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"] }]
111
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i1.NgtFormComponent, decorators: [{
112
- type: Optional
113
- }, {
114
- type: SkipSelf
115
- }] }, { type: i2.NgtSectionComponent, decorators: [{
116
- type: Optional
117
- }, {
118
- type: SkipSelf
119
- }] }, { type: i3.NgtModalComponent, decorators: [{
120
- type: Optional
121
- }, {
122
- type: SkipSelf
123
- }] }, { type: i4.NgtStylizableDirective, decorators: [{
124
- type: Self
125
- }, {
126
- type: Optional
127
- }] }]; }, propDecorators: { href: [{
128
- type: Input
129
- }], type: [{
130
- type: Input
131
- }], link: [{
132
- type: Input
133
- }], loading: [{
134
- type: Input
135
- }], isDisabled: [{
136
- type: Input
137
- }], forceEnable: [{
138
- type: Input
139
- }], noSubmit: [{
140
- type: Input
141
- }] } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtYnV0dG9uL25ndC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWJ1dHRvbi9uZ3QtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBRVQsS0FBSyxFQUdMLFFBQVEsRUFDUixJQUFJLEVBRUosUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7Ozs7OztBQVU1RixNQUFNLE9BQU8sa0JBQWtCO0lBYTNCLFlBQ1ksY0FBaUMsRUFDakMsUUFBa0IsRUFHbEIsT0FBeUIsRUFHekIsVUFBK0IsRUFHL0IsUUFBMkIsRUFHM0Isc0JBQThDO1FBYjlDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBR2xCLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBR3pCLGVBQVUsR0FBVixVQUFVLENBQXFCO1FBRy9CLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBRzNCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUF6QjFDLFNBQUksR0FBVyxTQUFTLENBQUM7UUFTakMsa0JBQWEsR0FBd0IsRUFBRSxDQUFDO1FBa0I1QyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1NBQ3pFO2FBQU07WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztTQUM5QztRQUVELElB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LElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVTtlQUN4QixJQUFJLENBQUMsVUFBVSxFQUFFLFVBQVU7ZUFDM0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7OytHQTFIUSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw2TkMxQi9CLGtzREFpQ007MkZEUE8sa0JBQWtCO2tCQUw5QixTQUFTOytCQUNJLFlBQVk7OzBCQXFCakIsUUFBUTs7MEJBQUksUUFBUTs7MEJBR3BCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUdwQixRQUFROzswQkFBSSxRQUFROzswQkFHcEIsSUFBSTs7MEJBQUksUUFBUTs0Q0F6QkwsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgU2tpcFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE5ndFN0eWxpemFibGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmd0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL25ndC1mb3JtL25ndC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ3RNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL25ndC1tb2RhbC9uZ3QtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IE5ndFNlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi9uZ3Qtc2VjdGlvbi9uZ3Qtc2VjdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndC1idXR0b24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZ3QtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uZ3QtYnV0dG9uLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3RCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgcHVibGljIGhyZWY6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgdHlwZTogc3RyaW5nID0gJ3N1Y2Nlc3MnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsaW5rOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc0Rpc2FibGVkOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBmb3JjZUVuYWJsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgbm9TdWJtaXQ6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgbmd0U3R5bGU6IE5ndFN0eWxpemFibGVTZXJ2aWNlO1xuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcblxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKVxuICAgICAgICBwcml2YXRlIG5ndEZvcm06IE5ndEZvcm1Db21wb25lbnQsXG5cbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKClcbiAgICAgICAgcHJpdmF0ZSBuZ3RTZWN0aW9uOiBOZ3RTZWN0aW9uQ29tcG9uZW50LFxuXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpXG4gICAgICAgIHByaXZhdGUgbmd0TW9kYWw6IE5ndE1vZGFsQ29tcG9uZW50LFxuXG4gICAgICAgIEBTZWxmKCkgQE9wdGlvbmFsKClcbiAgICAgICAgcHJpdmF0ZSBuZ3RTdHlsaXphYmxlRGlyZWN0aXZlOiBOZ3RTdHlsaXphYmxlRGlyZWN0aXZlLFxuICAgICkge1xuICAgICAgICBpZiAodGhpcy5uZ3RTdHlsaXphYmxlRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLm5ndFN0eWxlID0gdGhpcy5uZ3RTdHlsaXphYmxlRGlyZWN0aXZlLmdldE5ndFN0eWxpemFibGVTZXJ2aWNlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm5ndFN0eWxlID0gbmV3IE5ndFN0eWxpemFibGVTZXJ2aWNlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5ndFN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndEJ1dHRvbicsIHtcbiAgICAgICAgICAgIHB4OiAncHgtMicsXG4gICAgICAgICAgICBweTogJ3B5LTEnLFxuICAgICAgICAgICAgdGV4dDogJ3RleHQteHMnLFxuICAgICAgICAgICAgZm9udDogJ2ZvbnQtbm9ybWFsJyxcbiAgICAgICAgICAgIHc6ICAndy1mdWxsJyxcbiAgICAgICAgICAgIGg6ICdoLWZ1bGwnLFxuICAgICAgICAgICAgcm91bmRlZDogJ3JvdW5kZWQnXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCgpIHx8IHRoaXMubG9hZGluZykge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5iaW5kU3Vic2NyaXB0aW9ucygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnR5cGUpIHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VzLnR5cGUuY3VycmVudFZhbHVlID09ICdzdWNjZXNzJykge1xuICAgICAgICAgICAgICAgIHRoaXMubmd0U3R5bGUubG9hZCh0aGlzLmluamVjdG9yLCAnTmd0U3VjY2Vzc0J1dHRvbicsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJnOiAnYmctZ3JlZW4tNTAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICd0ZXh0LXdoaXRlIHRleHQteHMnLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNoYW5nZXMudHlwZS5jdXJyZW50VmFsdWUgPT0gJ3dhcm5pbmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZS5sb2FkKHRoaXMuaW5qZWN0b3IsICdOZ3RXYXJuaW5nQnV0dG9uJywge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmc6ICdiZy1vcmFuZ2UtNTAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICd0ZXh0LXdoaXRlIHRleHQteHMnLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNoYW5nZXMudHlwZS5jdXJyZW50VmFsdWUgPT0gJ2RhbmdlcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5ndFN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndERhbmdlckJ1dHRvbicsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJnOiAnYmctcmVkLTUwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC13aGl0ZSB0ZXh0LXhzJyxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5ndFN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndEluZm9CdXR0b24nLCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiZzogJ2JnLWJsdWUtNTAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICd0ZXh0LXdoaXRlIHRleHQteHMnLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5mb3JjZUVuYWJsZSAmJiAodGhpcy5pc0Rpc2FibGVkIHx8IHRoaXMuaXNEaXNhYmxlZEJ5UGFyZW50KCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95U3Vic2NyaXB0aW9ucygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmluZFN1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5ndEZvcm0pIHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRoaXMubmd0Rm9ybS5pc0xvYWRpbmcoKTtcblxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICAgICAgICAgIHRoaXMubmd0Rm9ybS5vbkxvYWRpbmdDaGFuZ2Uuc3Vic2NyaWJlKChsb2FkaW5nOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGxvYWRpbmc7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRGlzYWJsZWRCeVBhcmVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0Rm9ybT8uaXNEaXNhYmxlZFxuICAgICAgICAgICAgfHwgdGhpcy5uZ3RTZWN0aW9uPy5pc0Rpc2FibGVkXG4gICAgICAgICAgICB8fCB0aGlzLm5ndE1vZGFsPy5pc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVzdHJveVN1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48ZGl2IGNsYXNzPVwicmVsYXRpdmUge3tuZ3RTdHlsZS5jb21waWxlKFsndycsICdoJ10pfX1cIiAoY2xpY2spPSdvbkNsaWNrKCRldmVudCknPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9JyFsaW5rJz5cbiAgICAgICAgPGJ1dHRvbiBbbmdDbGFzc109XCJ7ICdkaXNhYmxlZC1idXR0b24nOiBkaXNhYmxlZCgpLCAnbG9hZGluZy1idXR0b24nOiBsb2FkaW5nIH1cIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgICAgICBbdHlwZV09XCIobG9hZGluZyB8fCBkaXNhYmxlZCgpIHx8IG5vU3VibWl0KSA/ICdidXR0b24nIDogJ3N1Ym1pdCdcIlxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBmb2N1czpvdXRsaW5lLW5vbmUgY3Vyc29yLXBvaW50ZXIge3sgbmd0U3R5bGUuY29tcGlsZShbJ2NvbG9yLmJnJywgJ2NvbG9yLnRleHQnLCAnY29sb3IuYm9yZGVyJywgJ3B4JywgJ3B5JywgJ2JvcmRlcicsICd0ZXh0JywgJ2ZvbnQnLCAndycsICdoJywgJ3JvdW5kZWQnXSkgfX1cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwibWwtMlwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXYtbG9hZGVyIGgtNSB3LTVcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPSdsaW5rJz5cbiAgICAgICAgPGEgW3JvdXRlckxpbmtdPSdocmVmID8gaHJlZiA6IG51bGwnIFtuZ0NsYXNzXT1cInsgJ2Rpc2FibGVkLWJ1dHRvbic6IGRpc2FibGVkKCksICdsb2FkaW5nLWJ1dHRvbic6IGxvYWRpbmcgfVwiXG4gICAgICAgICAgICBjbGFzcz1cImZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIGZvY3VzOm91dGxpbmUtbm9uZSBjdXJzb3ItcG9pbnRlciB7eyBuZ3RTdHlsZS5jb21waWxlKFsnY29sb3IuYmcnLCAnY29sb3IudGV4dCcsICdjb2xvci5ib3JkZXInLCAncHgnLCAncHknLCAnYm9yZGVyJywgJ3RleHQnLCAnZm9udCcsJ3cnLCAnaCcsICdyb3VuZGVkJ10pIH19XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctZnVsbFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwibWwtMVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXYtbG9hZGVyXCI+PC9kaXY+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxsZWdlbmQgKm5nSWY9XCJmb3JjZUVuYWJsZVwiIGNsYXNzPVwiYWJzb2x1dGUgdG9wLTAgY3Vyc29yLXBvaW50ZXIgaG92ZXI6b3BhY2l0eS0yNSBob3ZlcjpiZy1ncmF5LTEwMCB7eyBuZ3RTdHlsZS5jb21waWxlKFsndycsICdoJ10pIH19XCJcbiAgICAgICAgKGNsaWNrKT0nb25DbGljaygkZXZlbnQpJz5cbiAgICA8L2xlZ2VuZD5cbjwvZGl2PiJdfQ==
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-2',
28
+ py: 'py-1',
29
+ text: 'text-xs',
30
+ font: 'font-normal',
31
+ w: 'w-full',
32
+ h: 'h-full',
33
+ rounded: 'rounded'
34
+ });
35
+ }
36
+ onClick(event) {
37
+ if (this.disabled() || this.loading) {
38
+ event.preventDefault();
39
+ event.stopPropagation();
40
+ }
41
+ }
42
+ ngAfterViewInit() {
43
+ this.bindSubscriptions();
44
+ }
45
+ ngOnChanges(changes) {
46
+ if (changes.type) {
47
+ if (changes.type.currentValue == 'success') {
48
+ this.ngtStyle.load(this.injector, 'NgtSuccessButton', {
49
+ color: {
50
+ bg: 'bg-green-500',
51
+ text: 'text-white text-xs',
52
+ }
53
+ });
54
+ }
55
+ else if (changes.type.currentValue == 'warning') {
56
+ this.ngtStyle.load(this.injector, 'NgtWarningButton', {
57
+ color: {
58
+ bg: 'bg-orange-500',
59
+ text: 'text-white text-xs',
60
+ }
61
+ });
62
+ }
63
+ else if (changes.type.currentValue == 'danger') {
64
+ this.ngtStyle.load(this.injector, 'NgtDangerButton', {
65
+ color: {
66
+ bg: 'bg-red-500',
67
+ text: 'text-white text-xs',
68
+ }
69
+ });
70
+ }
71
+ else {
72
+ this.ngtStyle.load(this.injector, 'NgtInfoButton', {
73
+ color: {
74
+ bg: 'bg-blue-500',
75
+ text: 'text-white text-xs',
76
+ }
77
+ });
78
+ }
79
+ }
80
+ }
81
+ disabled() {
82
+ return !this.forceEnable && (this.isDisabled || this.isDisabledByParent());
83
+ }
84
+ ngOnDestroy() {
85
+ this.destroySubscriptions();
86
+ }
87
+ bindSubscriptions() {
88
+ if (this.ngtForm) {
89
+ this.loading = this.ngtForm.isLoading();
90
+ this.changeDetector.detectChanges();
91
+ this.subscriptions.push(this.ngtForm.onLoadingChange.subscribe((loading) => {
92
+ this.loading = loading;
93
+ }));
94
+ }
95
+ }
96
+ isDisabledByParent() {
97
+ return this.ngtForm?.isDisabled
98
+ || this.ngtSection?.isDisabled
99
+ || this.ngtModal?.isDisabled;
100
+ }
101
+ destroySubscriptions() {
102
+ this.subscriptions.forEach(subscription => subscription.unsubscribe());
103
+ this.subscriptions = [];
104
+ }
105
+ }
106
+ 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 });
107
+ 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 cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font', 'w', 'h', 'rounded']) }}\">\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 cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font','w', 'h', 'rounded']) }}\">\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"] }] });
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtButtonComponent, decorators: [{
109
+ type: Component,
110
+ 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 cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font', 'w', 'h', 'rounded']) }}\">\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 cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font','w', 'h', 'rounded']) }}\">\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"] }]
111
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i1.NgtFormComponent, decorators: [{
112
+ type: Optional
113
+ }, {
114
+ type: SkipSelf
115
+ }] }, { type: i2.NgtSectionComponent, decorators: [{
116
+ type: Optional
117
+ }, {
118
+ type: SkipSelf
119
+ }] }, { type: i3.NgtModalComponent, decorators: [{
120
+ type: Optional
121
+ }, {
122
+ type: SkipSelf
123
+ }] }, { type: i4.NgtStylizableDirective, decorators: [{
124
+ type: Self
125
+ }, {
126
+ type: Optional
127
+ }] }]; }, propDecorators: { href: [{
128
+ type: Input
129
+ }], type: [{
130
+ type: Input
131
+ }], link: [{
132
+ type: Input
133
+ }], loading: [{
134
+ type: Input
135
+ }], isDisabled: [{
136
+ type: Input
137
+ }], forceEnable: [{
138
+ type: Input
139
+ }], noSubmit: [{
140
+ type: Input
141
+ }] } });
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtYnV0dG9uL25ndC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWJ1dHRvbi9uZ3QtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBRVQsS0FBSyxFQUdMLFFBQVEsRUFDUixJQUFJLEVBRUosUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7Ozs7OztBQVU1RixNQUFNLE9BQU8sa0JBQWtCO0lBYTNCLFlBQ1ksY0FBaUMsRUFDakMsUUFBa0IsRUFHbEIsT0FBeUIsRUFHekIsVUFBK0IsRUFHL0IsUUFBMkIsRUFHM0Isc0JBQThDO1FBYjlDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBR2xCLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBR3pCLGVBQVUsR0FBVixVQUFVLENBQXFCO1FBRy9CLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBRzNCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUF6QjFDLFNBQUksR0FBVyxTQUFTLENBQUM7UUFTakMsa0JBQWEsR0FBd0IsRUFBRSxDQUFDO1FBa0I1QyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1NBQ3pFO2FBQU07WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztTQUM5QztRQUVELElB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LElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVTtlQUN4QixJQUFJLENBQUMsVUFBVSxFQUFFLFVBQVU7ZUFDM0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7OytHQTFIUSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw2TkMxQi9CLG93REFpQ007MkZEUE8sa0JBQWtCO2tCQUw5QixTQUFTOytCQUNJLFlBQVk7OzBCQXFCakIsUUFBUTs7MEJBQUksUUFBUTs7MEJBR3BCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUdwQixRQUFROzswQkFBSSxRQUFROzswQkFHcEIsSUFBSTs7MEJBQUksUUFBUTs0Q0F6QkwsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBJbmplY3RvcixcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT3B0aW9uYWwsXHJcbiAgICBTZWxmLFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxuICAgIFNraXBTZWxmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IE5ndFN0eWxpemFibGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE5ndFN0eWxpemFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbmd0LXN0eWxpemFibGUvbmd0LXN0eWxpemFibGUuc2VydmljZSc7XHJcbmltcG9ydCB7IE5ndEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9uZ3QtZm9ybS9uZ3QtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZ3RNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL25ndC1tb2RhbC9uZ3QtbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmd0U2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL25ndC1zZWN0aW9uL25ndC1zZWN0aW9uLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbmd0LWJ1dHRvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmd0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9uZ3QtYnV0dG9uLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd0QnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgcHVibGljIGhyZWY6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHB1YmxpYyB0eXBlOiBzdHJpbmcgPSAnc3VjY2Vzcyc7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgbGluazogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgcHVibGljIGlzRGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgZm9yY2VFbmFibGU6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgbm9TdWJtaXQ6IGJvb2xlYW47XHJcblxyXG4gICAgcHVibGljIG5ndFN0eWxlOiBOZ3RTdHlsaXphYmxlU2VydmljZTtcclxuXHJcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IEFycmF5PFN1YnNjcmlwdGlvbj4gPSBbXTtcclxuXHJcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcblxyXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpXHJcbiAgICAgICAgcHJpdmF0ZSBuZ3RGb3JtOiBOZ3RGb3JtQ29tcG9uZW50LFxyXG5cclxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKVxyXG4gICAgICAgIHByaXZhdGUgbmd0U2VjdGlvbjogTmd0U2VjdGlvbkNvbXBvbmVudCxcclxuXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKClcclxuICAgICAgICBwcml2YXRlIG5ndE1vZGFsOiBOZ3RNb2RhbENvbXBvbmVudCxcclxuXHJcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKVxyXG4gICAgICAgIHByaXZhdGUgbmd0U3R5bGl6YWJsZURpcmVjdGl2ZTogTmd0U3R5bGl6YWJsZURpcmVjdGl2ZSxcclxuICAgICkge1xyXG4gICAgICAgIGlmICh0aGlzLm5ndFN0eWxpemFibGVEaXJlY3RpdmUpIHtcclxuICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZSA9IHRoaXMubmd0U3R5bGl6YWJsZURpcmVjdGl2ZS5nZXROZ3RTdHlsaXphYmxlU2VydmljZSgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubmd0U3R5bGUgPSBuZXcgTmd0U3R5bGl6YWJsZVNlcnZpY2UoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubmd0U3R5bGUubG9hZCh0aGlzLmluamVjdG9yLCAnTmd0QnV0dG9uJywge1xyXG4gICAgICAgICAgICBweDogJ3B4LTInLFxyXG4gICAgICAgICAgICBweTogJ3B5LTEnLFxyXG4gICAgICAgICAgICB0ZXh0OiAndGV4dC14cycsXHJcbiAgICAgICAgICAgIGZvbnQ6ICdmb250LW5vcm1hbCcsXHJcbiAgICAgICAgICAgIHc6ICAndy1mdWxsJyxcclxuICAgICAgICAgICAgaDogJ2gtZnVsbCcsXHJcbiAgICAgICAgICAgIHJvdW5kZWQ6ICdyb3VuZGVkJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKCkgfHwgdGhpcy5sb2FkaW5nKSB7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYmluZFN1YnNjcmlwdGlvbnMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGlmIChjaGFuZ2VzLnR5cGUpIHtcclxuICAgICAgICAgICAgaWYgKGNoYW5nZXMudHlwZS5jdXJyZW50VmFsdWUgPT0gJ3N1Y2Nlc3MnKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5ndFN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndFN1Y2Nlc3NCdXR0b24nLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmc6ICdiZy1ncmVlbi01MDAnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC13aGl0ZSB0ZXh0LXhzJyxcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChjaGFuZ2VzLnR5cGUuY3VycmVudFZhbHVlID09ICd3YXJuaW5nJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZS5sb2FkKHRoaXMuaW5qZWN0b3IsICdOZ3RXYXJuaW5nQnV0dG9uJywge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJnOiAnYmctb3JhbmdlLTUwMCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICd0ZXh0LXdoaXRlIHRleHQteHMnLFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNoYW5nZXMudHlwZS5jdXJyZW50VmFsdWUgPT0gJ2RhbmdlcicpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubmd0U3R5bGUubG9hZCh0aGlzLmluamVjdG9yLCAnTmd0RGFuZ2VyQnV0dG9uJywge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJnOiAnYmctcmVkLTUwMCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICd0ZXh0LXdoaXRlIHRleHQteHMnLFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZS5sb2FkKHRoaXMuaW5qZWN0b3IsICdOZ3RJbmZvQnV0dG9uJywge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJnOiAnYmctYmx1ZS01MDAnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC13aGl0ZSB0ZXh0LXhzJyxcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmZvcmNlRW5hYmxlICYmICh0aGlzLmlzRGlzYWJsZWQgfHwgdGhpcy5pc0Rpc2FibGVkQnlQYXJlbnQoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGVzdHJveVN1YnNjcmlwdGlvbnMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGJpbmRTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLm5ndEZvcm0pIHtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdGhpcy5uZ3RGb3JtLmlzTG9hZGluZygpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICAgICAgICAgIHRoaXMubmd0Rm9ybS5vbkxvYWRpbmdDaGFuZ2Uuc3Vic2NyaWJlKChsb2FkaW5nOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gbG9hZGluZztcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNEaXNhYmxlZEJ5UGFyZW50KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5ndEZvcm0/LmlzRGlzYWJsZWRcclxuICAgICAgICAgICAgfHwgdGhpcy5uZ3RTZWN0aW9uPy5pc0Rpc2FibGVkXHJcbiAgICAgICAgICAgIHx8IHRoaXMubmd0TW9kYWw/LmlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBkZXN0cm95U3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xyXG4gICAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjY29udGVudD5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxkaXYgY2xhc3M9XCJyZWxhdGl2ZSB7e25ndFN0eWxlLmNvbXBpbGUoWyd3JywgJ2gnXSl9fVwiIChjbGljayk9J29uQ2xpY2soJGV2ZW50KSc+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPSchbGluayc+XHJcbiAgICAgICAgPGJ1dHRvbiBbbmdDbGFzc109XCJ7ICdkaXNhYmxlZC1idXR0b24nOiBkaXNhYmxlZCgpLCAnbG9hZGluZy1idXR0b24nOiBsb2FkaW5nIH1cIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXHJcbiAgICAgICAgICAgIFt0eXBlXT1cIihsb2FkaW5nIHx8IGRpc2FibGVkKCkgfHwgbm9TdWJtaXQpID8gJ2J1dHRvbicgOiAnc3VibWl0J1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgZm9jdXM6b3V0bGluZS1ub25lIGN1cnNvci1wb2ludGVyIHt7IG5ndFN0eWxlLmNvbXBpbGUoWydjb2xvci5iZycsICdjb2xvci50ZXh0JywgJ2NvbG9yLmJvcmRlcicsICdweCcsICdweScsICdib3JkZXInLCAndGV4dCcsICdmb250JywgJ3cnLCAnaCcsICdyb3VuZGVkJ10pIH19XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxvYWRpbmdcIiBjbGFzcz1cIm1sLTJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXYtbG9hZGVyIGgtNSB3LTVcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj0nbGluayc+XHJcbiAgICAgICAgPGEgW3JvdXRlckxpbmtdPSdocmVmID8gaHJlZiA6IG51bGwnIFtuZ0NsYXNzXT1cInsgJ2Rpc2FibGVkLWJ1dHRvbic6IGRpc2FibGVkKCksICdsb2FkaW5nLWJ1dHRvbic6IGxvYWRpbmcgfVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgZm9jdXM6b3V0bGluZS1ub25lIGN1cnNvci1wb2ludGVyIHt7IG5ndFN0eWxlLmNvbXBpbGUoWydjb2xvci5iZycsICdjb2xvci50ZXh0JywgJ2NvbG9yLmJvcmRlcicsICdweCcsICdweScsICdib3JkZXInLCAndGV4dCcsICdmb250JywndycsICdoJywgJ3JvdW5kZWQnXSkgfX1cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LWZ1bGxcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwibWwtMVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpdi1sb2FkZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvYT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxsZWdlbmQgKm5nSWY9XCJmb3JjZUVuYWJsZVwiIGNsYXNzPVwiYWJzb2x1dGUgdG9wLTAgY3Vyc29yLXBvaW50ZXIgaG92ZXI6b3BhY2l0eS0yNSBob3ZlcjpiZy1ncmF5LTEwMCB7eyBuZ3RTdHlsZS5jb21waWxlKFsndycsICdoJ10pIH19XCJcclxuICAgICAgICAoY2xpY2spPSdvbkNsaWNrKCRldmVudCknPlxyXG4gICAgPC9sZWdlbmQ+XHJcbjwvZGl2PiJdfQ==
@@ -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