ng-tailwind 3.30.368 → 4.0.0

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 (197) 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/bundles/ng-tailwind.umd.js +7689 -7631
  5. package/bundles/ng-tailwind.umd.js.map +1 -1
  6. package/components/ngt-action/ngt-action.component.d.ts +13 -13
  7. package/components/ngt-action/ngt-action.module.d.ts +2 -2
  8. package/components/ngt-button/ngt-button.component.d.ts +22 -22
  9. package/components/ngt-button/ngt-button.module.d.ts +2 -2
  10. package/components/ngt-checkbox/ngt-checkbox.component.d.ts +41 -41
  11. package/components/ngt-checkbox/ngt-checkbox.module.d.ts +2 -2
  12. package/components/ngt-content/ngt-content.component.d.ts +9 -9
  13. package/components/ngt-content/ngt-content.module.d.ts +2 -2
  14. package/components/ngt-datatable/ngt-datatable.component.d.ts +114 -114
  15. package/components/ngt-datatable/ngt-datatable.module.d.ts +2 -2
  16. package/components/ngt-datatable/ngt-tbody/ngt-tbody.component.d.ts +11 -11
  17. package/components/ngt-datatable/ngt-td/ngt-td.component.d.ts +11 -11
  18. package/components/ngt-datatable/ngt-td-check/ngt-td-check.component.d.ts +26 -26
  19. package/components/ngt-datatable/ngt-th/ngt-th.component.d.ts +48 -48
  20. package/components/ngt-datatable/ngt-th-check/ngt-th-check.component.d.ts +19 -19
  21. package/components/ngt-datatable/ngt-thead/ngt-thead.component.d.ts +10 -10
  22. package/components/ngt-datatable/ngt-tr/ngt-tr.component.d.ts +17 -17
  23. package/components/ngt-date/ngt-date.component.d.ts +75 -75
  24. package/components/ngt-date/ngt-date.module.d.ts +2 -2
  25. package/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.d.ts +5 -5
  26. package/components/ngt-dropdown/ngt-dropdown.component.d.ts +48 -48
  27. package/components/ngt-dropdown/ngt-dropdown.module.d.ts +2 -2
  28. package/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.d.ts +11 -11
  29. package/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.d.ts +22 -22
  30. package/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.d.ts +21 -21
  31. package/components/ngt-dropzone/ngt-dropzone.component.d.ts +108 -108
  32. package/components/ngt-dropzone/ngt-dropzone.module.d.ts +2 -2
  33. package/components/ngt-floating-button/ngt-floating-button.component.d.ts +32 -32
  34. package/components/ngt-floating-button/ngt-floating-button.module.d.ts +2 -2
  35. package/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.d.ts +7 -7
  36. package/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.module.d.ts +2 -2
  37. package/components/ngt-form/ngt-form.component.d.ts +52 -52
  38. package/components/ngt-form/ngt-form.module.d.ts +2 -2
  39. package/components/ngt-header-nav/ngt-header-nav.component.d.ts +11 -11
  40. package/components/ngt-header-nav/ngt-header-nav.module.d.ts +2 -2
  41. package/components/ngt-helper/ngt-helper.component.d.ts +20 -20
  42. package/components/ngt-helper/ngt-helper.module.d.ts +2 -2
  43. package/components/ngt-input/ngt-input.component.d.ts +116 -116
  44. package/components/ngt-input/ngt-input.module.d.ts +2 -2
  45. package/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.d.ts +2 -2
  46. package/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.d.ts +2 -2
  47. package/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.d.ts +12 -12
  48. package/components/ngt-modal/ngt-modal.component.d.ts +19 -19
  49. package/components/ngt-modal/ngt-modal.module.d.ts +2 -2
  50. package/components/ngt-multi-select/ngt-multi-select.component.d.ts +97 -97
  51. package/components/ngt-multi-select/ngt-multi-select.module.d.ts +2 -2
  52. package/components/ngt-pagination/ngt-pagination.component.d.ts +40 -40
  53. package/components/ngt-pagination/ngt-pagination.module.d.ts +2 -2
  54. package/components/ngt-popover/ngt-popover.component.d.ts +28 -28
  55. package/components/ngt-popover/ngt-popover.module.d.ts +2 -2
  56. package/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.d.ts +9 -9
  57. package/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.d.ts +9 -9
  58. package/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.d.ts +14 -14
  59. package/components/ngt-portlet/ngt-portlet.component.d.ts +17 -17
  60. package/components/ngt-portlet/ngt-portlet.module.d.ts +2 -2
  61. package/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.d.ts +6 -6
  62. package/components/ngt-radio-button/ngt-radio-button.component.d.ts +32 -32
  63. package/components/ngt-radio-button/ngt-radio-button.module.d.ts +2 -2
  64. package/components/ngt-section/ngt-section.component.d.ts +26 -26
  65. package/components/ngt-section/ngt-section.module.d.ts +2 -2
  66. package/components/ngt-select/ngt-select.component.d.ts +131 -131
  67. package/components/ngt-select/ngt-select.directive.d.ts +13 -13
  68. package/components/ngt-select/ngt-select.module.d.ts +2 -2
  69. package/components/ngt-shining/ngt-shining.component.d.ts +16 -16
  70. package/components/ngt-shining/ngt-shining.module.d.ts +2 -2
  71. package/components/ngt-sidenav/ngt-sidenav.component.d.ts +29 -29
  72. package/components/ngt-sidenav/ngt-sidenav.module.d.ts +2 -2
  73. package/components/ngt-slider/ngt-slider.component.d.ts +31 -31
  74. package/components/ngt-slider/ngt-slider.module.d.ts +2 -2
  75. package/components/ngt-svg/ngt-svg.component.d.ts +10 -10
  76. package/components/ngt-svg/ngt-svg.module.d.ts +2 -2
  77. package/components/ngt-tag/ngt-tag.component.d.ts +10 -10
  78. package/components/ngt-tag/ngt-tag.module.d.ts +2 -2
  79. package/components/ngt-textarea/ngt-textarea.component.d.ts +46 -46
  80. package/components/ngt-textarea/ngt-textarea.module.d.ts +2 -2
  81. package/components/ngt-validation/ngt-validation.component.d.ts +10 -10
  82. package/components/ngt-validation/ngt-validation.module.d.ts +2 -2
  83. package/directives/ngt-stylizable/ngt-stylizable.directive.d.ts +65 -65
  84. package/directives/ngt-stylizable/ngt-stylizable.module.d.ts +2 -2
  85. package/enums/size.enum.d.ts +8 -8
  86. package/esm2015/animations/ngt-angular-animations.js +34 -34
  87. package/esm2015/base/ngt-base-ng-model.js +90 -90
  88. package/esm2015/components/ngt-action/ngt-action.component.js +49 -49
  89. package/esm2015/components/ngt-action/ngt-action.module.js +19 -19
  90. package/esm2015/components/ngt-button/ngt-button.component.js +106 -106
  91. package/esm2015/components/ngt-button/ngt-button.module.js +19 -19
  92. package/esm2015/components/ngt-checkbox/ngt-checkbox.component.js +139 -139
  93. package/esm2015/components/ngt-checkbox/ngt-checkbox.module.js +19 -19
  94. package/esm2015/components/ngt-content/ngt-content.component.js +33 -33
  95. package/esm2015/components/ngt-content/ngt-content.module.js +15 -15
  96. package/esm2015/components/ngt-datatable/ngt-datatable.component.js +409 -409
  97. package/esm2015/components/ngt-datatable/ngt-datatable.module.js +58 -58
  98. package/esm2015/components/ngt-datatable/ngt-tbody/ngt-tbody.component.js +58 -58
  99. package/esm2015/components/ngt-datatable/ngt-td/ngt-td.component.js +63 -63
  100. package/esm2015/components/ngt-datatable/ngt-td-check/ngt-td-check.component.js +105 -105
  101. package/esm2015/components/ngt-datatable/ngt-th/ngt-th.component.js +195 -195
  102. package/esm2015/components/ngt-datatable/ngt-th-check/ngt-th-check.component.js +87 -87
  103. package/esm2015/components/ngt-datatable/ngt-thead/ngt-thead.component.js +56 -56
  104. package/esm2015/components/ngt-datatable/ngt-tr/ngt-tr.component.js +76 -76
  105. package/esm2015/components/ngt-date/ngt-date.component.js +380 -380
  106. package/esm2015/components/ngt-date/ngt-date.module.js +25 -25
  107. package/esm2015/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.js +20 -20
  108. package/esm2015/components/ngt-dropdown/ngt-dropdown.component.js +185 -185
  109. package/esm2015/components/ngt-dropdown/ngt-dropdown.module.js +16 -16
  110. package/esm2015/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.js +50 -50
  111. package/esm2015/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.js +59 -59
  112. package/esm2015/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.js +67 -67
  113. package/esm2015/components/ngt-dropzone/ngt-dropzone.component.js +434 -434
  114. package/esm2015/components/ngt-dropzone/ngt-dropzone.module.js +37 -37
  115. package/esm2015/components/ngt-floating-button/ngt-floating-button.component.js +94 -94
  116. package/esm2015/components/ngt-floating-button/ngt-floating-button.module.js +19 -19
  117. package/esm2015/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.js +23 -23
  118. package/esm2015/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.module.js +15 -15
  119. package/esm2015/components/ngt-form/ngt-form.component.js +181 -181
  120. package/esm2015/components/ngt-form/ngt-form.module.js +17 -17
  121. package/esm2015/components/ngt-header-nav/ngt-header-nav.component.js +38 -38
  122. package/esm2015/components/ngt-header-nav/ngt-header-nav.module.js +15 -15
  123. package/esm2015/components/ngt-helper/ngt-helper.component.js +51 -51
  124. package/esm2015/components/ngt-helper/ngt-helper.module.js +19 -19
  125. package/esm2015/components/ngt-input/ngt-input.component.js +680 -680
  126. package/esm2015/components/ngt-input/ngt-input.module.js +28 -28
  127. package/esm2015/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.js +11 -11
  128. package/esm2015/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.js +11 -11
  129. package/esm2015/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.js +40 -40
  130. package/esm2015/components/ngt-modal/ngt-modal.component.js +79 -79
  131. package/esm2015/components/ngt-modal/ngt-modal.module.js +28 -28
  132. package/esm2015/components/ngt-multi-select/ngt-multi-select.component.js +394 -394
  133. package/esm2015/components/ngt-multi-select/ngt-multi-select.module.js +33 -33
  134. package/esm2015/components/ngt-pagination/ngt-pagination.component.js +172 -172
  135. package/esm2015/components/ngt-pagination/ngt-pagination.module.js +23 -23
  136. package/esm2015/components/ngt-popover/ngt-popover.component.js +73 -73
  137. package/esm2015/components/ngt-popover/ngt-popover.module.js +17 -17
  138. package/esm2015/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.js +34 -34
  139. package/esm2015/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.js +33 -33
  140. package/esm2015/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.js +47 -47
  141. package/esm2015/components/ngt-portlet/ngt-portlet.component.js +58 -58
  142. package/esm2015/components/ngt-portlet/ngt-portlet.module.js +32 -32
  143. package/esm2015/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.js +19 -19
  144. package/esm2015/components/ngt-radio-button/ngt-radio-button.component.js +103 -103
  145. package/esm2015/components/ngt-radio-button/ngt-radio-button.module.js +20 -20
  146. package/esm2015/components/ngt-section/ngt-section.component.js +101 -101
  147. package/esm2015/components/ngt-section/ngt-section.module.js +21 -21
  148. package/esm2015/components/ngt-select/ngt-select.component.js +488 -488
  149. package/esm2015/components/ngt-select/ngt-select.directive.js +35 -35
  150. package/esm2015/components/ngt-select/ngt-select.module.js +40 -40
  151. package/esm2015/components/ngt-shining/ngt-shining.component.js +41 -41
  152. package/esm2015/components/ngt-shining/ngt-shining.module.js +15 -15
  153. package/esm2015/components/ngt-sidenav/ngt-sidenav.component.js +123 -123
  154. package/esm2015/components/ngt-sidenav/ngt-sidenav.module.js +15 -15
  155. package/esm2015/components/ngt-slider/ngt-slider.component.js +82 -82
  156. package/esm2015/components/ngt-slider/ngt-slider.module.js +17 -17
  157. package/esm2015/components/ngt-svg/ngt-svg.component.js +52 -52
  158. package/esm2015/components/ngt-svg/ngt-svg.module.js +19 -19
  159. package/esm2015/components/ngt-tag/ngt-tag.component.js +36 -36
  160. package/esm2015/components/ngt-tag/ngt-tag.module.js +17 -17
  161. package/esm2015/components/ngt-textarea/ngt-textarea.component.js +210 -210
  162. package/esm2015/components/ngt-textarea/ngt-textarea.module.js +26 -26
  163. package/esm2015/components/ngt-validation/ngt-validation.component.js +24 -24
  164. package/esm2015/components/ngt-validation/ngt-validation.module.js +15 -15
  165. package/esm2015/directives/ngt-stylizable/ngt-stylizable.directive.js +227 -227
  166. package/esm2015/directives/ngt-stylizable/ngt-stylizable.module.js +15 -15
  167. package/esm2015/enums/size.enum.js +11 -11
  168. package/esm2015/helpers/enum/enum.js +7 -7
  169. package/esm2015/helpers/form/form.js +14 -14
  170. package/esm2015/helpers/routing/route.js +11 -11
  171. package/esm2015/helpers/uuid.js +10 -10
  172. package/esm2015/ng-tailwind.js +10 -10
  173. package/esm2015/public-api.js +120 -120
  174. package/esm2015/services/http/ngt-attachment-http.service.js +3 -3
  175. package/esm2015/services/http/ngt-http-form.service.js +3 -3
  176. package/esm2015/services/http/ngt-http-resource.service.js +3 -3
  177. package/esm2015/services/http/ngt-http-validation.service.js +3 -3
  178. package/esm2015/services/http/ngt-http.service.js +3 -3
  179. package/esm2015/services/http/ngt-translate.service.js +3 -3
  180. package/esm2015/services/ngt-stylizable/ngt-stylizable.service.js +273 -273
  181. package/fesm2015/ng-tailwind.js +6690 -6690
  182. package/fesm2015/ng-tailwind.js.map +1 -1
  183. package/helpers/enum/enum.d.ts +1 -1
  184. package/helpers/form/form.d.ts +4 -4
  185. package/helpers/routing/route.d.ts +2 -2
  186. package/helpers/uuid.d.ts +1 -1
  187. package/ng-tailwind.d.ts +10 -10
  188. package/ng-tailwind.metadata.json +1 -1
  189. package/package.json +2 -2
  190. package/public-api.d.ts +82 -82
  191. package/services/http/ngt-attachment-http.service.d.ts +10 -10
  192. package/services/http/ngt-http-form.service.d.ts +5 -5
  193. package/services/http/ngt-http-resource.service.d.ts +12 -12
  194. package/services/http/ngt-http-validation.service.d.ts +11 -11
  195. package/services/http/ngt-http.service.d.ts +27 -27
  196. package/services/http/ngt-translate.service.d.ts +29 -29
  197. package/services/ngt-stylizable/ngt-stylizable.service.d.ts +96 -96
@@ -1,24 +1,24 @@
1
- import { Component, Input, Optional } from '@angular/core';
2
- import { NgtTranslateService } from '../../services/http/ngt-translate.service';
3
- export class NgtValidationComponent {
4
- constructor(ngtTranslateService) {
5
- this.ngtTranslateService = ngtTranslateService;
6
- }
7
- }
8
- NgtValidationComponent.decorators = [
9
- { type: Component, args: [{
10
- selector: 'ngt-validation',
11
- template: "<div type=\"hidden\" class=\"text-xs text-red-700 font-bold\">\r\n <span class=\"help-block has-error\" *ngIf=\"control?.errors?.maxlength\">\r\n {{ ngtTranslateService.ngtValidationMaxCharactersExceded }}\r\n </span>\r\n\r\n <span class=\"help-block has-error\"\r\n *ngIf=\"control?.errors?.required && (control?.dirty || (container && container['submitted']))\">\r\n {{ ngtTranslateService.ngtValidationRequiredField }}\r\n </span>\r\n\r\n <span class=\"help-block has-error\"\r\n *ngIf=\"control?.errors?.email && (control?.dirty || (container && container['submitted']))\">\r\n {{ ngtTranslateService.ngtValidationInvalidEmail }}\r\n </span>\r\n\r\n <span class=\"help-block has-error\"\r\n *ngIf=\"control?.errors?.unique && (control?.dirty || (container && container['submitted']))\">\r\n {{ ngtTranslateService.ngtValidationAlreadyExists }}\r\n </span>\r\n\r\n <span class=\"help-block has-error\"\r\n *ngIf=\"control?.errors?.cnpj && (control?.dirty || (container && container['submitted']))\">\r\n {{ ngtTranslateService.ngtValidationInvalidCnpj }}\r\n </span>\r\n\r\n <span class=\"help-block has-error\"\r\n *ngIf=\"control?.errors?.cpf && (control?.dirty || (container && container['submitted']))\">\r\n {{ ngtTranslateService.ngtValidationInvalidCpf }}\r\n </span>\r\n\r\n <span class=\"help-block has-error\"\r\n *ngIf=\"control?.errors?.password && (control?.dirty || (container && container['submitted']))\">\r\n {{ ngtTranslateService.ngtValidationPasswordRequiredMinCharacters }}\r\n </span>\r\n\r\n <span class=\"help-block has-error\"\r\n *ngIf=\"control?.errors?.match && (control?.dirty || (container && container['submitted']))\">\r\n {{ ngtTranslateService.ngtValidationFieldsNotMatch }}\r\n </span>\r\n\r\n <span class=\"help-block has-error\"\r\n *ngIf=\"control?.errors?.invalidDate && (control?.dirty || (container && container['submitted']))\">\r\n {{ ngtTranslateService.ngtValidationInvalidDate }}\r\n </span>\r\n\r\n <span class=\"help-block has-error\"\r\n *ngIf=\"control?.errors?.time && (control?.dirty || (container && container['submitted']))\">\r\n {{ ngtTranslateService.ngtValidationInvalidPrevision }}\r\n </span>\r\n\r\n <span class=\"help-block has-error\"\r\n *ngIf=\"control?.errors?.externalServerDependency && (control?.dirty || (container && container['submitted']))\">\r\n {{ ngtTranslateService.ngtValidationExternalServerUnavailable }}\r\n </span>\r\n\r\n <span class=\"help-block has-error\"\r\n *ngIf=\"control?.errors?.minValue && (control?.dirty || (container && container['submitted']))\">\r\n {{ ngtTranslateService.ngtValidationValueMustBeGreaterThan(minValue) }}\r\n </span>\r\n\r\n <span class=\"help-block has-error\"\r\n *ngIf=\"control?.errors?.minlength && (control?.dirty || (container && container['submitted']))\">\r\n {{ ngtTranslateService.ngtValidationMinLengthField(minLength) }}\r\n </span>\r\n</div>",
12
- styles: [""]
13
- },] }
14
- ];
15
- NgtValidationComponent.ctorParameters = () => [
16
- { type: NgtTranslateService, decorators: [{ type: Optional }] }
17
- ];
18
- NgtValidationComponent.propDecorators = {
19
- control: [{ type: Input }],
20
- container: [{ type: Input }],
21
- minValue: [{ type: Input }],
22
- minLength: [{ type: Input }]
23
- };
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXZhbGlkYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXZhbGlkYXRpb24vbmd0LXZhbGlkYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQU9oRixNQUFNLE9BQU8sc0JBQXNCO0lBTS9CLFlBRVcsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFDL0MsQ0FBQzs7O1lBZFIsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLGtrR0FBOEM7O2FBRWpEOzs7WUFOUSxtQkFBbUIsdUJBY25CLFFBQVE7OztzQkFOWixLQUFLO3dCQUNMLEtBQUs7dUJBQ0wsS0FBSzt3QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5ndFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9odHRwL25ndC10cmFuc2xhdGUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbmd0LXZhbGlkYXRpb24nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ndC12YWxpZGF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL25ndC12YWxpZGF0aW9uLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd0VmFsaWRhdGlvbkNvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgY29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgY29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyO1xyXG4gICAgQElucHV0KCkgcHVibGljIG1pblZhbHVlOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgbWluTGVuZ3RoOiBudW1iZXI7XHJcblxyXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBPcHRpb25hbCgpXHJcbiAgICAgICAgcHVibGljIG5ndFRyYW5zbGF0ZVNlcnZpY2U6IE5ndFRyYW5zbGF0ZVNlcnZpY2VcclxuICAgICkgeyB9XHJcbn1cclxuIl19
1
+ import { Component, Input, Optional } from '@angular/core';
2
+ import { NgtTranslateService } from '../../services/http/ngt-translate.service';
3
+ export class NgtValidationComponent {
4
+ constructor(ngtTranslateService) {
5
+ this.ngtTranslateService = ngtTranslateService;
6
+ }
7
+ }
8
+ NgtValidationComponent.decorators = [
9
+ { type: Component, args: [{
10
+ selector: 'ngt-validation',
11
+ template: "<div type=\"hidden\" class=\"text-xs text-red-700 font-bold\">\n <span class=\"help-block has-error\" *ngIf=\"control?.errors?.maxlength\">\n {{ ngtTranslateService.ngtValidationMaxCharactersExceded }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.required && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationRequiredField }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.email && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidEmail }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.unique && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationAlreadyExists }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.cnpj && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidCnpj }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.cpf && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidCpf }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.password && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationPasswordRequiredMinCharacters }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.match && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationFieldsNotMatch }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalidDate && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidDate }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.time && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidPrevision }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.externalServerDependency && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationExternalServerUnavailable }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.minValue && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationValueMustBeGreaterThan(minValue) }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.minlength && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationMinLengthField(minLength) }}\n </span>\n</div>",
12
+ styles: [""]
13
+ },] }
14
+ ];
15
+ NgtValidationComponent.ctorParameters = () => [
16
+ { type: NgtTranslateService, decorators: [{ type: Optional }] }
17
+ ];
18
+ NgtValidationComponent.propDecorators = {
19
+ control: [{ type: Input }],
20
+ container: [{ type: Input }],
21
+ minValue: [{ type: Input }],
22
+ minLength: [{ type: Input }]
23
+ };
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXZhbGlkYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXZhbGlkYXRpb24vbmd0LXZhbGlkYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQU9oRixNQUFNLE9BQU8sc0JBQXNCO0lBTS9CLFlBRVcsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFDL0MsQ0FBQzs7O1lBZFIsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLGs4RkFBOEM7O2FBRWpEOzs7WUFOUSxtQkFBbUIsdUJBY25CLFFBQVE7OztzQkFOWixLQUFLO3dCQUNMLEtBQUs7dUJBQ0wsS0FBSzt3QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmd0VHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAvbmd0LXRyYW5zbGF0ZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3QtdmFsaWRhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ndC12YWxpZGF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uZ3QtdmFsaWRhdGlvbi5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmd0VmFsaWRhdGlvbkNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgcHVibGljIGNvbnRyb2w6IEZvcm1Db250cm9sO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjb250YWluZXI6IENvbnRyb2xDb250YWluZXI7XG4gICAgQElucHV0KCkgcHVibGljIG1pblZhbHVlOiBudW1iZXI7XG4gICAgQElucHV0KCkgcHVibGljIG1pbkxlbmd0aDogbnVtYmVyO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBwdWJsaWMgbmd0VHJhbnNsYXRlU2VydmljZTogTmd0VHJhbnNsYXRlU2VydmljZVxuICAgICkgeyB9XG59XG4iXX0=
@@ -1,15 +1,15 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { NgtValidationComponent } from './ngt-validation.component';
4
- export class NgtValidationModule {
5
- }
6
- NgtValidationModule.decorators = [
7
- { type: NgModule, args: [{
8
- declarations: [NgtValidationComponent],
9
- exports: [NgtValidationComponent],
10
- imports: [
11
- CommonModule
12
- ]
13
- },] }
14
- ];
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXZhbGlkYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXZhbGlkYXRpb24vbmd0LXZhbGlkYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBU3BFLE1BQU0sT0FBTyxtQkFBbUI7OztZQVAvQixRQUFRLFNBQUM7Z0JBQ04sWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUNqQyxPQUFPLEVBQUU7b0JBQ0wsWUFBWTtpQkFDZjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE5ndFZhbGlkYXRpb25Db21wb25lbnQgfSBmcm9tICcuL25ndC12YWxpZGF0aW9uLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbTmd0VmFsaWRhdGlvbkNvbXBvbmVudF0sXHJcbiAgICBleHBvcnRzOiBbTmd0VmFsaWRhdGlvbkNvbXBvbmVudF0sXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3RWYWxpZGF0aW9uTW9kdWxlIHsgfVxyXG4iXX0=
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { NgtValidationComponent } from './ngt-validation.component';
4
+ export class NgtValidationModule {
5
+ }
6
+ NgtValidationModule.decorators = [
7
+ { type: NgModule, args: [{
8
+ declarations: [NgtValidationComponent],
9
+ exports: [NgtValidationComponent],
10
+ imports: [
11
+ CommonModule
12
+ ]
13
+ },] }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXZhbGlkYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXZhbGlkYXRpb24vbmd0LXZhbGlkYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBU3BFLE1BQU0sT0FBTyxtQkFBbUI7OztZQVAvQixRQUFRLFNBQUM7Z0JBQ04sWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUNqQyxPQUFPLEVBQUU7b0JBQ0wsWUFBWTtpQkFDZjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5ndFZhbGlkYXRpb25Db21wb25lbnQgfSBmcm9tICcuL25ndC12YWxpZGF0aW9uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbTmd0VmFsaWRhdGlvbkNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW05ndFZhbGlkYXRpb25Db21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3RWYWxpZGF0aW9uTW9kdWxlIHsgfVxuIl19
@@ -1,227 +1,227 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';
3
- export class NgtStylizableDirective {
4
- constructor() {
5
- this.ngtStylizableService = new NgtStylizableService();
6
- }
7
- getNgtStylizableService() {
8
- return this.ngtStylizableService;
9
- }
10
- get color() {
11
- return this.ngtStylizableService.color;
12
- }
13
- set color(color) {
14
- this.ngtStylizableService.color = color;
15
- }
16
- set textColor(textColor) {
17
- this.ngtStylizableService.textColor = textColor;
18
- }
19
- set bgColor(bgColor) {
20
- this.ngtStylizableService.bgColor = bgColor;
21
- }
22
- set borderColor(borderColor) {
23
- this.ngtStylizableService.borderColor = borderColor;
24
- }
25
- get h() {
26
- return this.ngtStylizableService.h;
27
- }
28
- set h(h) {
29
- this.ngtStylizableService.h = h;
30
- }
31
- get w() {
32
- return this.ngtStylizableService.w;
33
- }
34
- set w(w) {
35
- this.ngtStylizableService.w = w;
36
- }
37
- get p() {
38
- return this.ngtStylizableService.p;
39
- }
40
- set p(p) {
41
- this.ngtStylizableService.p = p;
42
- }
43
- get px() {
44
- return this.ngtStylizableService.px;
45
- }
46
- set px(px) {
47
- this.ngtStylizableService.px = px;
48
- }
49
- get py() {
50
- return this.ngtStylizableService.py;
51
- }
52
- set py(py) {
53
- this.ngtStylizableService.py = py;
54
- }
55
- get pt() {
56
- return this.ngtStylizableService.pt;
57
- }
58
- set pt(pt) {
59
- this.ngtStylizableService.pt = pt;
60
- }
61
- get pr() {
62
- return this.ngtStylizableService.pr;
63
- }
64
- set pr(pr) {
65
- this.ngtStylizableService.pr = pr;
66
- }
67
- get pb() {
68
- return this.ngtStylizableService.pb;
69
- }
70
- set pb(pb) {
71
- this.ngtStylizableService.pb = pb;
72
- }
73
- get pl() {
74
- return this.ngtStylizableService.pl;
75
- }
76
- set pl(pl) {
77
- this.ngtStylizableService.pl = pl;
78
- }
79
- get m() {
80
- return this.ngtStylizableService.m;
81
- }
82
- set m(m) {
83
- this.ngtStylizableService.m = m;
84
- }
85
- get mx() {
86
- return this.ngtStylizableService.mx;
87
- }
88
- set mx(mx) {
89
- this.ngtStylizableService.mx = mx;
90
- }
91
- get my() {
92
- return this.ngtStylizableService.my;
93
- }
94
- set my(my) {
95
- this.ngtStylizableService.my = my;
96
- }
97
- get mt() {
98
- return this.ngtStylizableService.mt;
99
- }
100
- set mt(mt) {
101
- this.ngtStylizableService.mt = mt;
102
- }
103
- get mr() {
104
- return this.ngtStylizableService.mr;
105
- }
106
- set mr(mr) {
107
- this.ngtStylizableService.mr = mr;
108
- }
109
- get mb() {
110
- return this.ngtStylizableService.mb;
111
- }
112
- set mb(mb) {
113
- this.ngtStylizableService.mb = mb;
114
- }
115
- get ml() {
116
- return this.ngtStylizableService.ml;
117
- }
118
- set ml(ml) {
119
- this.ngtStylizableService.ml = ml;
120
- }
121
- get border() {
122
- return this.ngtStylizableService.border;
123
- }
124
- set border(border) {
125
- this.ngtStylizableService.border = border;
126
- }
127
- get shadow() {
128
- return this.ngtStylizableService.shadow;
129
- }
130
- set shadow(shadow) {
131
- this.ngtStylizableService.shadow = shadow;
132
- }
133
- get rounded() {
134
- return this.ngtStylizableService.rounded;
135
- }
136
- set rounded(rounded) {
137
- this.ngtStylizableService.rounded = rounded;
138
- }
139
- get font() {
140
- return this.ngtStylizableService.font;
141
- }
142
- set font(font) {
143
- this.ngtStylizableService.font = font;
144
- }
145
- get text() {
146
- return this.ngtStylizableService.text;
147
- }
148
- set text(text) {
149
- this.ngtStylizableService.text = text;
150
- }
151
- get breakWords() {
152
- return this.ngtStylizableService.breakWords;
153
- }
154
- set breakWords(breakWords) {
155
- this.ngtStylizableService.breakWords = breakWords;
156
- }
157
- get overflow() {
158
- return this.ngtStylizableService.overflow;
159
- }
160
- set overflow(overflow) {
161
- this.ngtStylizableService.overflow = overflow;
162
- }
163
- get position() {
164
- return this.ngtStylizableService.position;
165
- }
166
- set position(position) {
167
- this.ngtStylizableService.position = position;
168
- }
169
- get justifyContent() {
170
- return this.ngtStylizableService.justifyContent;
171
- }
172
- set justifyContent(justifyContent) {
173
- this.ngtStylizableService.justifyContent = justifyContent;
174
- }
175
- get cursor() {
176
- return this.ngtStylizableService.cursor;
177
- }
178
- set cursor(cursor) {
179
- this.ngtStylizableService.cursor = cursor;
180
- }
181
- get fontCase() {
182
- return this.ngtStylizableService.fontCase;
183
- }
184
- set fontCase(fontCase) {
185
- this.ngtStylizableService.fontCase = fontCase;
186
- }
187
- }
188
- NgtStylizableDirective.decorators = [
189
- { type: Directive, args: [{
190
- selector: '[ngt-stylizable]'
191
- },] }
192
- ];
193
- NgtStylizableDirective.ctorParameters = () => [];
194
- NgtStylizableDirective.propDecorators = {
195
- color: [{ type: Input, args: ['color',] }],
196
- textColor: [{ type: Input, args: ['color.text',] }],
197
- bgColor: [{ type: Input, args: ['color.bg',] }],
198
- borderColor: [{ type: Input, args: ['color.border',] }],
199
- h: [{ type: Input, args: ['h',] }],
200
- w: [{ type: Input, args: ['w',] }],
201
- p: [{ type: Input, args: ['p',] }],
202
- px: [{ type: Input, args: ['px',] }],
203
- py: [{ type: Input, args: ['py',] }],
204
- pt: [{ type: Input, args: ['pt',] }],
205
- pr: [{ type: Input, args: ['pr',] }],
206
- pb: [{ type: Input, args: ['pb',] }],
207
- pl: [{ type: Input, args: ['pl',] }],
208
- m: [{ type: Input, args: ['m',] }],
209
- mx: [{ type: Input, args: ['mx',] }],
210
- my: [{ type: Input, args: ['my',] }],
211
- mt: [{ type: Input, args: ['mt',] }],
212
- mr: [{ type: Input, args: ['mr',] }],
213
- mb: [{ type: Input, args: ['mb',] }],
214
- ml: [{ type: Input, args: ['ml',] }],
215
- border: [{ type: Input, args: ['border',] }],
216
- shadow: [{ type: Input, args: ['shadow',] }],
217
- rounded: [{ type: Input, args: ['rounded',] }],
218
- font: [{ type: Input, args: ['font',] }],
219
- text: [{ type: Input, args: ['text',] }],
220
- breakWords: [{ type: Input, args: ['breakWords',] }],
221
- overflow: [{ type: Input, args: ['overflow',] }],
222
- position: [{ type: Input, args: ['position',] }],
223
- justifyContent: [{ type: Input, args: ['justifyContent',] }],
224
- cursor: [{ type: Input, args: ['cursor',] }],
225
- fontCase: [{ type: Input, args: ['fontCase',] }]
226
- };
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXN0eWxpemFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2RpcmVjdGl2ZXMvbmd0LXN0eWxpemFibGUvbmd0LXN0eWxpemFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBSzVGLE1BQU0sT0FBTyxzQkFBc0I7SUFHL0I7UUFDSSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFTSx1QkFBdUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDckMsQ0FBQztJQUVELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFDVyxLQUFLLENBQUMsS0FBSztRQUNsQixJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFDVyxTQUFTLENBQUMsU0FBaUI7UUFDbEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQ1csT0FBTyxDQUFDLE9BQWU7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQ1csV0FBVyxDQUFDLFdBQVc7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsQ0FBQztRQUNSLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztJ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LElBQUk7aUJBU1YsS0FBSyxTQUFDLElBQUk7cUJBU1YsS0FBSyxTQUFDLFFBQVE7cUJBU2QsS0FBSyxTQUFDLFFBQVE7c0JBU2QsS0FBSyxTQUFDLFNBQVM7bUJBU2YsS0FBSyxTQUFDLE1BQU07bUJBU1osS0FBSyxTQUFDLE1BQU07eUJBU1osS0FBSyxTQUFDLFlBQVk7dUJBU2xCLEtBQUssU0FBQyxVQUFVO3VCQVNoQixLQUFLLFNBQUMsVUFBVTs2QkFTaEIsS0FBSyxTQUFDLGdCQUFnQjtxQkFTdEIsS0FBSyxTQUFDLFFBQVE7dUJBU2QsS0FBSyxTQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLnNlcnZpY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tuZ3Qtc3R5bGl6YWJsZV0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3RTdHlsaXphYmxlRGlyZWN0aXZlIHtcclxuICAgIHByaXZhdGUgbmd0U3R5bGl6YWJsZVNlcnZpY2U6IE5ndFN0eWxpemFibGVTZXJ2aWNlO1xyXG5cclxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlID0gbmV3IE5ndFN0eWxpemFibGVTZXJ2aWNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldE5ndFN0eWxpemFibGVTZXJ2aWNlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgY29sb3IoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCdjb2xvcicpXHJcbiAgICBwdWJsaWMgc2V0IGNvbG9yKGNvbG9yKSB7XHJcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5jb2xvciA9IGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgnY29sb3IudGV4dCcpXHJcbiAgICBwdWJsaWMgc2V0IHRleHRDb2xvcih0ZXh0Q29sb3I6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UudGV4dENvbG9yID0gdGV4dENvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgnY29sb3IuYmcnKVxyXG4gICAgcHVibGljIHNldCBiZ0NvbG9yKGJnQ29sb3I6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuYmdDb2xvciA9IGJnQ29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCdjb2xvci5ib3JkZXInKVxyXG4gICAgcHVibGljIHNldCBib3JkZXJDb2xvcihib3JkZXJDb2xvcikge1xyXG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuYm9yZGVyQ29sb3IgPSBib3JkZXJDb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGgoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5oO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgnaCcpXHJcbiAgICBwdWJsaWMgc2V0IGgoaDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5oID0gaDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHcoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS53O1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgndycpXHJcbiAgICBwdWJsaWMgc2V0IHcodzogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS53ID0gdztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHAoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5wO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgncCcpXHJcbiAgICBwdWJsaWMgc2V0IHAocDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5wID0gcDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHB4KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucHg7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCdweCcpXHJcbiAgICBwdWJsaWMgc2V0IHB4KHB4OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnB4ID0gcHg7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBweSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnB5O1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgncHknKVxyXG4gICAgcHVibGljIHNldCBweShweTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5weSA9IHB5O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgcHQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5wdDtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoJ3B0JylcclxuICAgIHB1YmxpYyBzZXQgcHQocHQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucHQgPSBwdDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHByKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucHI7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCdwcicpXHJcbiAgICBwdWJsaWMgc2V0IHByKHByOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnByID0gcHI7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBwYigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnBiO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgncGInKVxyXG4gICAgcHVibGljIHNldCBwYihwYjogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5wYiA9IHBiO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgcGwoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5wbDtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoJ3BsJylcclxuICAgIHB1YmxpYyBzZXQgcGwocGw6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucGwgPSBwbDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IG0oKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5tO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgnbScpXHJcbiAgICBwdWJsaWMgc2V0IG0obTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5tID0gbTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IG14KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UubXg7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCdteCcpXHJcbiAgICBwdWJsaWMgc2V0IG14KG14OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm14ID0gbXg7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBteSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm15O1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgnbXknKVxyXG4gICAgcHVibGljIHNldCBteShteTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5teSA9IG15O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgbXQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5tdDtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoJ210JylcclxuICAgIHB1YmxpYyBzZXQgbXQobXQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UubXQgPSBtdDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IG1yKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UubXI7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCdtcicpXHJcbiAgICBwdWJsaWMgc2V0IG1yKG1yOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm1yID0gbXI7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBtYigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm1iO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgnbWInKVxyXG4gICAgcHVibGljIHNldCBtYihtYjogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5tYiA9IG1iO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgbWwoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5tbDtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoJ21sJylcclxuICAgIHB1YmxpYyBzZXQgbWwobWw6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UubWwgPSBtbDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGJvcmRlcigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmJvcmRlcjtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoJ2JvcmRlcicpXHJcbiAgICBwdWJsaWMgc2V0IGJvcmRlcihib3JkZXI6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuYm9yZGVyID0gYm9yZGVyO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgc2hhZG93KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2Uuc2hhZG93O1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgnc2hhZG93JylcclxuICAgIHB1YmxpYyBzZXQgc2hhZG93KHNoYWRvdzogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5zaGFkb3cgPSBzaGFkb3c7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCByb3VuZGVkKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2Uucm91bmRlZDtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoJ3JvdW5kZWQnKVxyXG4gICAgcHVibGljIHNldCByb3VuZGVkKHJvdW5kZWQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2Uucm91bmRlZCA9IHJvdW5kZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBmb250KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuZm9udDtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoJ2ZvbnQnKVxyXG4gICAgcHVibGljIHNldCBmb250KGZvbnQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuZm9udCA9IGZvbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCB0ZXh0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UudGV4dDtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoJ3RleHQnKVxyXG4gICAgcHVibGljIHNldCB0ZXh0KHRleHQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UudGV4dCA9IHRleHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBicmVha1dvcmRzKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuYnJlYWtXb3JkcztcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoJ2JyZWFrV29yZHMnKVxyXG4gICAgcHVibGljIHNldCBicmVha1dvcmRzKGJyZWFrV29yZHM6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuYnJlYWtXb3JkcyA9IGJyZWFrV29yZHM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBvdmVyZmxvdygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm92ZXJmbG93O1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgnb3ZlcmZsb3cnKVxyXG4gICAgcHVibGljIHNldCBvdmVyZmxvdyhvdmVyZmxvdzogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5vdmVyZmxvdyA9IG92ZXJmbG93O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgcG9zaXRpb24oKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5wb3NpdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoJ3Bvc2l0aW9uJylcclxuICAgIHB1YmxpYyBzZXQgcG9zaXRpb24ocG9zaXRpb246IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucG9zaXRpb24gPSBwb3NpdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGp1c3RpZnlDb250ZW50KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuanVzdGlmeUNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCdqdXN0aWZ5Q29udGVudCcpXHJcbiAgICBwdWJsaWMgc2V0IGp1c3RpZnlDb250ZW50KGp1c3RpZnlDb250ZW50OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmp1c3RpZnlDb250ZW50ID0ganVzdGlmeUNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBjdXJzb3IoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5jdXJzb3I7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCdjdXJzb3InKVxyXG4gICAgcHVibGljIHNldCBjdXJzb3IoY3Vyc29yOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmN1cnNvciA9IGN1cnNvcjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGZvbnRDYXNlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuZm9udENhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCdmb250Q2FzZScpXHJcbiAgICBwdWJsaWMgc2V0IGZvbnRDYXNlKGZvbnRDYXNlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmZvbnRDYXNlID0gZm9udENhc2U7XHJcbiAgICB9XHJcbn1cclxuIl19
1
+ import { Directive, Input } from '@angular/core';
2
+ import { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';
3
+ export class NgtStylizableDirective {
4
+ constructor() {
5
+ this.ngtStylizableService = new NgtStylizableService();
6
+ }
7
+ getNgtStylizableService() {
8
+ return this.ngtStylizableService;
9
+ }
10
+ get color() {
11
+ return this.ngtStylizableService.color;
12
+ }
13
+ set color(color) {
14
+ this.ngtStylizableService.color = color;
15
+ }
16
+ set textColor(textColor) {
17
+ this.ngtStylizableService.textColor = textColor;
18
+ }
19
+ set bgColor(bgColor) {
20
+ this.ngtStylizableService.bgColor = bgColor;
21
+ }
22
+ set borderColor(borderColor) {
23
+ this.ngtStylizableService.borderColor = borderColor;
24
+ }
25
+ get h() {
26
+ return this.ngtStylizableService.h;
27
+ }
28
+ set h(h) {
29
+ this.ngtStylizableService.h = h;
30
+ }
31
+ get w() {
32
+ return this.ngtStylizableService.w;
33
+ }
34
+ set w(w) {
35
+ this.ngtStylizableService.w = w;
36
+ }
37
+ get p() {
38
+ return this.ngtStylizableService.p;
39
+ }
40
+ set p(p) {
41
+ this.ngtStylizableService.p = p;
42
+ }
43
+ get px() {
44
+ return this.ngtStylizableService.px;
45
+ }
46
+ set px(px) {
47
+ this.ngtStylizableService.px = px;
48
+ }
49
+ get py() {
50
+ return this.ngtStylizableService.py;
51
+ }
52
+ set py(py) {
53
+ this.ngtStylizableService.py = py;
54
+ }
55
+ get pt() {
56
+ return this.ngtStylizableService.pt;
57
+ }
58
+ set pt(pt) {
59
+ this.ngtStylizableService.pt = pt;
60
+ }
61
+ get pr() {
62
+ return this.ngtStylizableService.pr;
63
+ }
64
+ set pr(pr) {
65
+ this.ngtStylizableService.pr = pr;
66
+ }
67
+ get pb() {
68
+ return this.ngtStylizableService.pb;
69
+ }
70
+ set pb(pb) {
71
+ this.ngtStylizableService.pb = pb;
72
+ }
73
+ get pl() {
74
+ return this.ngtStylizableService.pl;
75
+ }
76
+ set pl(pl) {
77
+ this.ngtStylizableService.pl = pl;
78
+ }
79
+ get m() {
80
+ return this.ngtStylizableService.m;
81
+ }
82
+ set m(m) {
83
+ this.ngtStylizableService.m = m;
84
+ }
85
+ get mx() {
86
+ return this.ngtStylizableService.mx;
87
+ }
88
+ set mx(mx) {
89
+ this.ngtStylizableService.mx = mx;
90
+ }
91
+ get my() {
92
+ return this.ngtStylizableService.my;
93
+ }
94
+ set my(my) {
95
+ this.ngtStylizableService.my = my;
96
+ }
97
+ get mt() {
98
+ return this.ngtStylizableService.mt;
99
+ }
100
+ set mt(mt) {
101
+ this.ngtStylizableService.mt = mt;
102
+ }
103
+ get mr() {
104
+ return this.ngtStylizableService.mr;
105
+ }
106
+ set mr(mr) {
107
+ this.ngtStylizableService.mr = mr;
108
+ }
109
+ get mb() {
110
+ return this.ngtStylizableService.mb;
111
+ }
112
+ set mb(mb) {
113
+ this.ngtStylizableService.mb = mb;
114
+ }
115
+ get ml() {
116
+ return this.ngtStylizableService.ml;
117
+ }
118
+ set ml(ml) {
119
+ this.ngtStylizableService.ml = ml;
120
+ }
121
+ get border() {
122
+ return this.ngtStylizableService.border;
123
+ }
124
+ set border(border) {
125
+ this.ngtStylizableService.border = border;
126
+ }
127
+ get shadow() {
128
+ return this.ngtStylizableService.shadow;
129
+ }
130
+ set shadow(shadow) {
131
+ this.ngtStylizableService.shadow = shadow;
132
+ }
133
+ get rounded() {
134
+ return this.ngtStylizableService.rounded;
135
+ }
136
+ set rounded(rounded) {
137
+ this.ngtStylizableService.rounded = rounded;
138
+ }
139
+ get font() {
140
+ return this.ngtStylizableService.font;
141
+ }
142
+ set font(font) {
143
+ this.ngtStylizableService.font = font;
144
+ }
145
+ get text() {
146
+ return this.ngtStylizableService.text;
147
+ }
148
+ set text(text) {
149
+ this.ngtStylizableService.text = text;
150
+ }
151
+ get breakWords() {
152
+ return this.ngtStylizableService.breakWords;
153
+ }
154
+ set breakWords(breakWords) {
155
+ this.ngtStylizableService.breakWords = breakWords;
156
+ }
157
+ get overflow() {
158
+ return this.ngtStylizableService.overflow;
159
+ }
160
+ set overflow(overflow) {
161
+ this.ngtStylizableService.overflow = overflow;
162
+ }
163
+ get position() {
164
+ return this.ngtStylizableService.position;
165
+ }
166
+ set position(position) {
167
+ this.ngtStylizableService.position = position;
168
+ }
169
+ get justifyContent() {
170
+ return this.ngtStylizableService.justifyContent;
171
+ }
172
+ set justifyContent(justifyContent) {
173
+ this.ngtStylizableService.justifyContent = justifyContent;
174
+ }
175
+ get cursor() {
176
+ return this.ngtStylizableService.cursor;
177
+ }
178
+ set cursor(cursor) {
179
+ this.ngtStylizableService.cursor = cursor;
180
+ }
181
+ get fontCase() {
182
+ return this.ngtStylizableService.fontCase;
183
+ }
184
+ set fontCase(fontCase) {
185
+ this.ngtStylizableService.fontCase = fontCase;
186
+ }
187
+ }
188
+ NgtStylizableDirective.decorators = [
189
+ { type: Directive, args: [{
190
+ selector: '[ngt-stylizable]'
191
+ },] }
192
+ ];
193
+ NgtStylizableDirective.ctorParameters = () => [];
194
+ NgtStylizableDirective.propDecorators = {
195
+ color: [{ type: Input, args: ['color',] }],
196
+ textColor: [{ type: Input, args: ['color.text',] }],
197
+ bgColor: [{ type: Input, args: ['color.bg',] }],
198
+ borderColor: [{ type: Input, args: ['color.border',] }],
199
+ h: [{ type: Input, args: ['h',] }],
200
+ w: [{ type: Input, args: ['w',] }],
201
+ p: [{ type: Input, args: ['p',] }],
202
+ px: [{ type: Input, args: ['px',] }],
203
+ py: [{ type: Input, args: ['py',] }],
204
+ pt: [{ type: Input, args: ['pt',] }],
205
+ pr: [{ type: Input, args: ['pr',] }],
206
+ pb: [{ type: Input, args: ['pb',] }],
207
+ pl: [{ type: Input, args: ['pl',] }],
208
+ m: [{ type: Input, args: ['m',] }],
209
+ mx: [{ type: Input, args: ['mx',] }],
210
+ my: [{ type: Input, args: ['my',] }],
211
+ mt: [{ type: Input, args: ['mt',] }],
212
+ mr: [{ type: Input, args: ['mr',] }],
213
+ mb: [{ type: Input, args: ['mb',] }],
214
+ ml: [{ type: Input, args: ['ml',] }],
215
+ border: [{ type: Input, args: ['border',] }],
216
+ shadow: [{ type: Input, args: ['shadow',] }],
217
+ rounded: [{ type: Input, args: ['rounded',] }],
218
+ font: [{ type: Input, args: ['font',] }],
219
+ text: [{ type: Input, args: ['text',] }],
220
+ breakWords: [{ type: Input, args: ['breakWords',] }],
221
+ overflow: [{ type: Input, args: ['overflow',] }],
222
+ position: [{ type: Input, args: ['position',] }],
223
+ justifyContent: [{ type: Input, args: ['justifyContent',] }],
224
+ cursor: [{ type: Input, args: ['cursor',] }],
225
+ fontCase: [{ type: Input, args: ['fontCase',] }]
226
+ };
227
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXN0eWxpemFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2RpcmVjdGl2ZXMvbmd0LXN0eWxpemFibGUvbmd0LXN0eWxpemFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBSzVGLE1BQU0sT0FBTyxzQkFBc0I7SUFHL0I7UUFDSSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFTSx1QkFBdUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDckMsQ0FBQztJQUVELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFDVyxLQUFLLENBQUMsS0FBSztRQUNsQixJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFDVyxTQUFTLENBQUMsU0FBaUI7UUFDbEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQ1csT0FBTyxDQUFDLE9BQWU7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQ1csV0FBVyxDQUFDLFdBQVc7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsQ0FBQztRQUNSLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztJ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LElBQUk7aUJBU1YsS0FBSyxTQUFDLElBQUk7cUJBU1YsS0FBSyxTQUFDLFFBQVE7cUJBU2QsS0FBSyxTQUFDLFFBQVE7c0JBU2QsS0FBSyxTQUFDLFNBQVM7bUJBU2YsS0FBSyxTQUFDLE1BQU07bUJBU1osS0FBSyxTQUFDLE1BQU07eUJBU1osS0FBSyxTQUFDLFlBQVk7dUJBU2xCLEtBQUssU0FBQyxVQUFVO3VCQVNoQixLQUFLLFNBQUMsVUFBVTs2QkFTaEIsS0FBSyxTQUFDLGdCQUFnQjtxQkFTdEIsS0FBSyxTQUFDLFFBQVE7dUJBU2QsS0FBSyxTQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5ndFN0eWxpemFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbmd0LXN0eWxpemFibGUvbmd0LXN0eWxpemFibGUuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW25ndC1zdHlsaXphYmxlXSdcbn0pXG5leHBvcnQgY2xhc3MgTmd0U3R5bGl6YWJsZURpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSBuZ3RTdHlsaXphYmxlU2VydmljZTogTmd0U3R5bGl6YWJsZVNlcnZpY2U7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UgPSBuZXcgTmd0U3R5bGl6YWJsZVNlcnZpY2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Tmd0U3R5bGl6YWJsZVNlcnZpY2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY29sb3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmNvbG9yO1xuICAgIH1cblxuICAgIEBJbnB1dCgnY29sb3InKVxuICAgIHB1YmxpYyBzZXQgY29sb3IoY29sb3IpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5jb2xvciA9IGNvbG9yO1xuICAgIH1cblxuICAgIEBJbnB1dCgnY29sb3IudGV4dCcpXG4gICAgcHVibGljIHNldCB0ZXh0Q29sb3IodGV4dENvbG9yOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS50ZXh0Q29sb3IgPSB0ZXh0Q29sb3I7XG4gICAgfVxuXG4gICAgQElucHV0KCdjb2xvci5iZycpXG4gICAgcHVibGljIHNldCBiZ0NvbG9yKGJnQ29sb3I6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmJnQ29sb3IgPSBiZ0NvbG9yO1xuICAgIH1cblxuICAgIEBJbnB1dCgnY29sb3IuYm9yZGVyJylcbiAgICBwdWJsaWMgc2V0IGJvcmRlckNvbG9yKGJvcmRlckNvbG9yKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuYm9yZGVyQ29sb3IgPSBib3JkZXJDb2xvcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuaDtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2gnKVxuICAgIHB1YmxpYyBzZXQgaChoOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5oID0gaDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UudztcbiAgICB9XG5cbiAgICBASW5wdXQoJ3cnKVxuICAgIHB1YmxpYyBzZXQgdyh3OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS53ID0gdztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHAoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucDtcbiAgICB9XG5cbiAgICBASW5wdXQoJ3AnKVxuICAgIHB1YmxpYyBzZXQgcChwOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5wID0gcDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHB4KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnB4O1xuICAgIH1cblxuICAgIEBJbnB1dCgncHgnKVxuICAgIHB1YmxpYyBzZXQgcHgocHg6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnB4ID0gcHg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBweSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5weTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ3B5JylcbiAgICBwdWJsaWMgc2V0IHB5KHB5OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5weSA9IHB5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucHQ7XG4gICAgfVxuXG4gICAgQElucHV0KCdwdCcpXG4gICAgcHVibGljIHNldCBwdChwdDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucHQgPSBwdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHByKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnByO1xuICAgIH1cblxuICAgIEBJbnB1dCgncHInKVxuICAgIHB1YmxpYyBzZXQgcHIocHI6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnByID0gcHI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwYigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5wYjtcbiAgICB9XG5cbiAgICBASW5wdXQoJ3BiJylcbiAgICBwdWJsaWMgc2V0IHBiKHBiOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5wYiA9IHBiO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucGw7XG4gICAgfVxuXG4gICAgQElucHV0KCdwbCcpXG4gICAgcHVibGljIHNldCBwbChwbDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucGwgPSBwbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG0oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UubTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ20nKVxuICAgIHB1YmxpYyBzZXQgbShtOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5tID0gbTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG14KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm14O1xuICAgIH1cblxuICAgIEBJbnB1dCgnbXgnKVxuICAgIHB1YmxpYyBzZXQgbXgobXg6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm14ID0gbXg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBteSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5teTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ215JylcbiAgICBwdWJsaWMgc2V0IG15KG15OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5teSA9IG15O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbXQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UubXQ7XG4gICAgfVxuXG4gICAgQElucHV0KCdtdCcpXG4gICAgcHVibGljIHNldCBtdChtdDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UubXQgPSBtdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG1yKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm1yO1xuICAgIH1cblxuICAgIEBJbnB1dCgnbXInKVxuICAgIHB1YmxpYyBzZXQgbXIobXI6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLm1yID0gbXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBtYigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5tYjtcbiAgICB9XG5cbiAgICBASW5wdXQoJ21iJylcbiAgICBwdWJsaWMgc2V0IG1iKG1iOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5tYiA9IG1iO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UubWw7XG4gICAgfVxuXG4gICAgQElucHV0KCdtbCcpXG4gICAgcHVibGljIHNldCBtbChtbDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UubWwgPSBtbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGJvcmRlcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5ib3JkZXI7XG4gICAgfVxuXG4gICAgQElucHV0KCdib3JkZXInKVxuICAgIHB1YmxpYyBzZXQgYm9yZGVyKGJvcmRlcjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuYm9yZGVyID0gYm9yZGVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2hhZG93KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnNoYWRvdztcbiAgICB9XG5cbiAgICBASW5wdXQoJ3NoYWRvdycpXG4gICAgcHVibGljIHNldCBzaGFkb3coc2hhZG93OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5zaGFkb3cgPSBzaGFkb3c7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByb3VuZGVkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnJvdW5kZWQ7XG4gICAgfVxuXG4gICAgQElucHV0KCdyb3VuZGVkJylcbiAgICBwdWJsaWMgc2V0IHJvdW5kZWQocm91bmRlZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2Uucm91bmRlZCA9IHJvdW5kZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmb250KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmZvbnQ7XG4gICAgfVxuXG4gICAgQElucHV0KCdmb250JylcbiAgICBwdWJsaWMgc2V0IGZvbnQoZm9udDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuZm9udCA9IGZvbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB0ZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLnRleHQ7XG4gICAgfVxuXG4gICAgQElucHV0KCd0ZXh0JylcbiAgICBwdWJsaWMgc2V0IHRleHQodGV4dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UudGV4dCA9IHRleHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBicmVha1dvcmRzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmJyZWFrV29yZHM7XG4gICAgfVxuXG4gICAgQElucHV0KCdicmVha1dvcmRzJylcbiAgICBwdWJsaWMgc2V0IGJyZWFrV29yZHMoYnJlYWtXb3Jkczogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuYnJlYWtXb3JkcyA9IGJyZWFrV29yZHM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBvdmVyZmxvdygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5vdmVyZmxvdztcbiAgICB9XG5cbiAgICBASW5wdXQoJ292ZXJmbG93JylcbiAgICBwdWJsaWMgc2V0IG92ZXJmbG93KG92ZXJmbG93OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5uZ3RTdHlsaXphYmxlU2VydmljZS5vdmVyZmxvdyA9IG92ZXJmbG93O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcG9zaXRpb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucG9zaXRpb247XG4gICAgfVxuXG4gICAgQElucHV0KCdwb3NpdGlvbicpXG4gICAgcHVibGljIHNldCBwb3NpdGlvbihwb3NpdGlvbjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UucG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGp1c3RpZnlDb250ZW50KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmp1c3RpZnlDb250ZW50O1xuICAgIH1cblxuICAgIEBJbnB1dCgnanVzdGlmeUNvbnRlbnQnKVxuICAgIHB1YmxpYyBzZXQganVzdGlmeUNvbnRlbnQoanVzdGlmeUNvbnRlbnQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmp1c3RpZnlDb250ZW50ID0ganVzdGlmeUNvbnRlbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjdXJzb3IoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0U3R5bGl6YWJsZVNlcnZpY2UuY3Vyc29yO1xuICAgIH1cblxuICAgIEBJbnB1dCgnY3Vyc29yJylcbiAgICBwdWJsaWMgc2V0IGN1cnNvcihjdXJzb3I6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmN1cnNvciA9IGN1cnNvcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZvbnRDYXNlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmZvbnRDYXNlO1xuICAgIH1cblxuICAgIEBJbnB1dCgnZm9udENhc2UnKVxuICAgIHB1YmxpYyBzZXQgZm9udENhc2UoZm9udENhc2U6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5ndFN0eWxpemFibGVTZXJ2aWNlLmZvbnRDYXNlID0gZm9udENhc2U7XG4gICAgfVxufVxuIl19