ng-tailwind 2.24.310 → 2.24.314
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.
- package/README.md +24 -24
- package/animations/ngt-angular-animations.d.ts +5 -5
- package/base/ngt-base-ng-model.d.ts +32 -32
- package/bundles/ng-tailwind.umd.js +7318 -7271
- package/bundles/ng-tailwind.umd.js.map +1 -1
- package/components/ngt-action/ngt-action.component.d.ts +13 -13
- package/components/ngt-action/ngt-action.module.d.ts +2 -2
- package/components/ngt-button/ngt-button.component.d.ts +22 -22
- package/components/ngt-button/ngt-button.module.d.ts +2 -2
- package/components/ngt-checkbox/ngt-checkbox.component.d.ts +41 -41
- package/components/ngt-checkbox/ngt-checkbox.module.d.ts +2 -2
- package/components/ngt-content/ngt-content.component.d.ts +9 -9
- package/components/ngt-content/ngt-content.module.d.ts +2 -2
- package/components/ngt-datatable/ngt-datatable.component.d.ts +112 -112
- package/components/ngt-datatable/ngt-datatable.module.d.ts +2 -2
- package/components/ngt-datatable/ngt-tbody/ngt-tbody.component.d.ts +11 -11
- package/components/ngt-datatable/ngt-td/ngt-td.component.d.ts +11 -11
- package/components/ngt-datatable/ngt-td-check/ngt-td-check.component.d.ts +24 -24
- package/components/ngt-datatable/ngt-th/ngt-th.component.d.ts +47 -47
- package/components/ngt-datatable/ngt-th-check/ngt-th-check.component.d.ts +19 -19
- package/components/ngt-datatable/ngt-thead/ngt-thead.component.d.ts +10 -10
- package/components/ngt-datatable/ngt-tr/ngt-tr.component.d.ts +17 -17
- package/components/ngt-date/ngt-date.component.d.ts +71 -71
- package/components/ngt-date/ngt-date.module.d.ts +2 -2
- package/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.d.ts +5 -5
- package/components/ngt-dropdown/ngt-dropdown.component.d.ts +42 -42
- package/components/ngt-dropdown/ngt-dropdown.module.d.ts +2 -2
- package/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.d.ts +11 -11
- package/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.d.ts +12 -12
- package/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.d.ts +21 -21
- package/components/ngt-dropzone/ngt-dropzone.component.d.ts +103 -103
- package/components/ngt-dropzone/ngt-dropzone.module.d.ts +2 -2
- package/components/ngt-floating-button/ngt-floating-button.component.d.ts +32 -32
- package/components/ngt-floating-button/ngt-floating-button.module.d.ts +2 -2
- package/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.d.ts +7 -7
- package/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.module.d.ts +2 -2
- package/components/ngt-form/ngt-form.component.d.ts +52 -52
- package/components/ngt-form/ngt-form.module.d.ts +2 -2
- package/components/ngt-header-nav/ngt-header-nav.component.d.ts +11 -11
- package/components/ngt-header-nav/ngt-header-nav.module.d.ts +2 -2
- package/components/ngt-helper/ngt-helper.component.d.ts +15 -10
- package/components/ngt-helper/ngt-helper.module.d.ts +2 -2
- package/components/ngt-input/ngt-input.component.d.ts +92 -92
- package/components/ngt-input/ngt-input.module.d.ts +2 -2
- package/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.d.ts +2 -2
- package/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.d.ts +2 -2
- package/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.d.ts +12 -12
- package/components/ngt-modal/ngt-modal.component.d.ts +19 -19
- package/components/ngt-modal/ngt-modal.module.d.ts +2 -2
- package/components/ngt-multi-select/ngt-multi-select.component.d.ts +97 -97
- package/components/ngt-multi-select/ngt-multi-select.module.d.ts +2 -2
- package/components/ngt-pagination/ngt-pagination.component.d.ts +40 -40
- package/components/ngt-pagination/ngt-pagination.module.d.ts +2 -2
- package/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.d.ts +9 -9
- package/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.d.ts +9 -9
- package/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.d.ts +14 -14
- package/components/ngt-portlet/ngt-portlet.component.d.ts +17 -17
- package/components/ngt-portlet/ngt-portlet.module.d.ts +2 -2
- package/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.d.ts +6 -6
- package/components/ngt-radio-button/ngt-radio-button.component.d.ts +27 -27
- package/components/ngt-radio-button/ngt-radio-button.module.d.ts +2 -2
- package/components/ngt-section/ngt-section.component.d.ts +23 -23
- package/components/ngt-section/ngt-section.module.d.ts +2 -2
- package/components/ngt-select/ngt-select.component.d.ts +122 -122
- package/components/ngt-select/ngt-select.directive.d.ts +13 -13
- package/components/ngt-select/ngt-select.module.d.ts +2 -2
- package/components/ngt-shining/ngt-shining.component.d.ts +16 -16
- package/components/ngt-shining/ngt-shining.module.d.ts +2 -2
- package/components/ngt-sidenav/ngt-sidenav.component.d.ts +29 -29
- package/components/ngt-sidenav/ngt-sidenav.module.d.ts +2 -2
- package/components/ngt-slider/ngt-slider.component.d.ts +31 -31
- package/components/ngt-slider/ngt-slider.module.d.ts +2 -2
- package/components/ngt-svg/ngt-svg.component.d.ts +10 -10
- package/components/ngt-svg/ngt-svg.module.d.ts +2 -2
- package/components/ngt-tag/ngt-tag.component.d.ts +10 -10
- package/components/ngt-tag/ngt-tag.module.d.ts +2 -2
- package/components/ngt-textarea/ngt-textarea.component.d.ts +46 -46
- package/components/ngt-textarea/ngt-textarea.module.d.ts +2 -2
- package/components/ngt-validation/ngt-validation.component.d.ts +10 -10
- package/components/ngt-validation/ngt-validation.module.d.ts +2 -2
- package/directives/ngt-stylizable/ngt-stylizable.directive.d.ts +65 -63
- package/directives/ngt-stylizable/ngt-stylizable.module.d.ts +2 -2
- package/enums/size.enum.d.ts +8 -8
- package/esm2015/animations/ngt-angular-animations.js +34 -34
- package/esm2015/base/ngt-base-ng-model.js +90 -90
- package/esm2015/components/ngt-action/ngt-action.component.js +49 -49
- package/esm2015/components/ngt-action/ngt-action.module.js +19 -19
- package/esm2015/components/ngt-button/ngt-button.component.js +106 -106
- package/esm2015/components/ngt-button/ngt-button.module.js +19 -19
- package/esm2015/components/ngt-checkbox/ngt-checkbox.component.js +137 -137
- package/esm2015/components/ngt-checkbox/ngt-checkbox.module.js +19 -19
- package/esm2015/components/ngt-content/ngt-content.component.js +33 -33
- package/esm2015/components/ngt-content/ngt-content.module.js +15 -15
- package/esm2015/components/ngt-datatable/ngt-datatable.component.js +400 -400
- package/esm2015/components/ngt-datatable/ngt-datatable.module.js +58 -58
- package/esm2015/components/ngt-datatable/ngt-tbody/ngt-tbody.component.js +58 -60
- package/esm2015/components/ngt-datatable/ngt-td/ngt-td.component.js +63 -63
- package/esm2015/components/ngt-datatable/ngt-td-check/ngt-td-check.component.js +102 -102
- package/esm2015/components/ngt-datatable/ngt-th/ngt-th.component.js +192 -192
- package/esm2015/components/ngt-datatable/ngt-th-check/ngt-th-check.component.js +87 -87
- package/esm2015/components/ngt-datatable/ngt-thead/ngt-thead.component.js +56 -58
- package/esm2015/components/ngt-datatable/ngt-tr/ngt-tr.component.js +76 -76
- package/esm2015/components/ngt-date/ngt-date.component.js +354 -352
- package/esm2015/components/ngt-date/ngt-date.module.js +25 -25
- package/esm2015/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.js +20 -20
- package/esm2015/components/ngt-dropdown/ngt-dropdown.component.js +165 -165
- package/esm2015/components/ngt-dropdown/ngt-dropdown.module.js +16 -16
- package/esm2015/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.js +47 -47
- package/esm2015/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.js +46 -45
- package/esm2015/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.js +67 -67
- package/esm2015/components/ngt-dropzone/ngt-dropzone.component.js +411 -411
- package/esm2015/components/ngt-dropzone/ngt-dropzone.module.js +37 -37
- package/esm2015/components/ngt-floating-button/ngt-floating-button.component.js +94 -94
- package/esm2015/components/ngt-floating-button/ngt-floating-button.module.js +19 -19
- package/esm2015/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.js +23 -23
- package/esm2015/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.module.js +15 -15
- package/esm2015/components/ngt-form/ngt-form.component.js +181 -181
- package/esm2015/components/ngt-form/ngt-form.module.js +17 -17
- package/esm2015/components/ngt-header-nav/ngt-header-nav.component.js +38 -38
- package/esm2015/components/ngt-header-nav/ngt-header-nav.module.js +15 -15
- package/esm2015/components/ngt-helper/ngt-helper.component.js +44 -24
- package/esm2015/components/ngt-helper/ngt-helper.module.js +19 -19
- package/esm2015/components/ngt-input/ngt-input.component.js +610 -608
- package/esm2015/components/ngt-input/ngt-input.module.js +28 -28
- package/esm2015/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.js +11 -11
- package/esm2015/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.js +11 -11
- package/esm2015/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.js +40 -40
- package/esm2015/components/ngt-modal/ngt-modal.component.js +79 -79
- package/esm2015/components/ngt-modal/ngt-modal.module.js +28 -28
- package/esm2015/components/ngt-multi-select/ngt-multi-select.component.js +392 -392
- package/esm2015/components/ngt-multi-select/ngt-multi-select.module.js +33 -33
- package/esm2015/components/ngt-pagination/ngt-pagination.component.js +172 -172
- package/esm2015/components/ngt-pagination/ngt-pagination.module.js +23 -23
- package/esm2015/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.js +32 -32
- package/esm2015/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.js +33 -33
- package/esm2015/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.js +47 -45
- package/esm2015/components/ngt-portlet/ngt-portlet.component.js +58 -58
- package/esm2015/components/ngt-portlet/ngt-portlet.module.js +32 -32
- package/esm2015/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.js +19 -19
- package/esm2015/components/ngt-radio-button/ngt-radio-button.component.js +97 -97
- package/esm2015/components/ngt-radio-button/ngt-radio-button.module.js +18 -18
- package/esm2015/components/ngt-section/ngt-section.component.js +98 -98
- package/esm2015/components/ngt-section/ngt-section.module.js +21 -21
- package/esm2015/components/ngt-select/ngt-select.component.js +467 -465
- package/esm2015/components/ngt-select/ngt-select.directive.js +35 -35
- package/esm2015/components/ngt-select/ngt-select.module.js +40 -40
- package/esm2015/components/ngt-shining/ngt-shining.component.js +41 -41
- package/esm2015/components/ngt-shining/ngt-shining.module.js +15 -15
- package/esm2015/components/ngt-sidenav/ngt-sidenav.component.js +123 -123
- package/esm2015/components/ngt-sidenav/ngt-sidenav.module.js +15 -15
- package/esm2015/components/ngt-slider/ngt-slider.component.js +82 -82
- package/esm2015/components/ngt-slider/ngt-slider.module.js +17 -17
- package/esm2015/components/ngt-svg/ngt-svg.component.js +52 -52
- package/esm2015/components/ngt-svg/ngt-svg.module.js +19 -19
- package/esm2015/components/ngt-tag/ngt-tag.component.js +36 -36
- package/esm2015/components/ngt-tag/ngt-tag.module.js +17 -17
- package/esm2015/components/ngt-textarea/ngt-textarea.component.js +211 -209
- package/esm2015/components/ngt-textarea/ngt-textarea.module.js +24 -24
- package/esm2015/components/ngt-validation/ngt-validation.component.js +24 -24
- package/esm2015/components/ngt-validation/ngt-validation.module.js +15 -15
- package/esm2015/directives/ngt-stylizable/ngt-stylizable.directive.js +227 -220
- package/esm2015/directives/ngt-stylizable/ngt-stylizable.module.js +15 -15
- package/esm2015/enums/size.enum.js +11 -11
- package/esm2015/helpers/enum/enum.js +7 -7
- package/esm2015/helpers/form/form.js +14 -14
- package/esm2015/helpers/routing/route.js +11 -11
- package/esm2015/helpers/uuid.js +10 -10
- package/esm2015/ng-tailwind.js +10 -10
- package/esm2015/public-api.js +117 -117
- package/esm2015/services/http/ngt-attachment-http.service.js +3 -3
- package/esm2015/services/http/ngt-http-form.service.js +3 -3
- package/esm2015/services/http/ngt-http-resource.service.js +3 -3
- package/esm2015/services/http/ngt-http-validation.service.js +4 -4
- package/esm2015/services/http/ngt-http.service.js +3 -3
- package/esm2015/services/http/ngt-translate.service.js +3 -3
- package/esm2015/services/ngt-stylizable/ngt-stylizable.service.js +273 -266
- package/fesm2015/ng-tailwind.js +6404 -6365
- package/fesm2015/ng-tailwind.js.map +1 -1
- package/helpers/enum/enum.d.ts +1 -1
- package/helpers/form/form.d.ts +4 -4
- package/helpers/routing/route.d.ts +2 -2
- package/helpers/uuid.d.ts +1 -1
- package/ng-tailwind.d.ts +10 -10
- package/ng-tailwind.metadata.json +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +80 -80
- package/services/http/ngt-attachment-http.service.d.ts +10 -10
- package/services/http/ngt-http-form.service.d.ts +5 -5
- package/services/http/ngt-http-resource.service.d.ts +12 -12
- package/services/http/ngt-http-validation.service.d.ts +10 -10
- package/services/http/ngt-http.service.d.ts +27 -27
- package/services/http/ngt-translate.service.d.ts +27 -27
- package/services/ngt-stylizable/ngt-stylizable.service.d.ts +96 -93
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-tailwind.umd.js","sources":["../../../projects/ng-tailwind/src/services/http/ngt-translate.service.ts","../../../projects/ng-tailwind/src/services/http/ngt-http.service.ts","../../../projects/ng-tailwind/src/services/http/ngt-http-validation.service.ts","../../../projects/ng-tailwind/src/services/http/ngt-http-resource.service.ts","../../../projects/ng-tailwind/src/services/ngt-stylizable/ngt-stylizable.service.ts","../../../projects/ng-tailwind/src/directives/ngt-stylizable/ngt-stylizable.directive.ts","../../../projects/ng-tailwind/src/directives/ngt-stylizable/ngt-stylizable.module.ts","../../../projects/ng-tailwind/src/components/ngt-shining/ngt-shining.component.ts","../../../projects/ng-tailwind/src/components/ngt-shining/ngt-shining.module.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/ng-tailwind/src/base/ngt-base-ng-model.ts","../../../projects/ng-tailwind/src/helpers/enum/enum.ts","../../../projects/ng-tailwind/src/helpers/form/form.ts","../../../projects/ng-tailwind/src/helpers/routing/route.ts","../../../projects/ng-tailwind/src/services/http/ngt-http-form.service.ts","../../../projects/ng-tailwind/src/components/ngt-form/ngt-form.component.ts","../../../projects/ng-tailwind/src/components/ngt-checkbox/ngt-checkbox.component.ts","../../../projects/ng-tailwind/src/components/ngt-svg/ngt-svg.component.ts","../../../projects/ng-tailwind/src/components/ngt-svg/ngt-svg.module.ts","../../../projects/ng-tailwind/src/components/ngt-helper/ngt-helper.component.ts","../../../projects/ng-tailwind/src/helpers/uuid.ts","../../../projects/ng-tailwind/src/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropdown/ngt-dropdown.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropdown/ngt-dropdown.module.ts","../../../projects/ng-tailwind/src/components/ngt-helper/ngt-helper.module.ts","../../../projects/ng-tailwind/src/components/ngt-checkbox/ngt-checkbox.module.ts","../../../projects/ng-tailwind/src/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.ts","../../../projects/ng-tailwind/src/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.module.ts","../../../projects/ng-tailwind/src/components/ngt-form/ngt-form.module.ts","../../../projects/ng-tailwind/src/components/ngt-validation/ngt-validation.component.ts","../../../projects/ng-tailwind/src/components/ngt-validation/ngt-validation.module.ts","../../../projects/ng-tailwind/src/components/ngt-input/ngt-input.component.ts","../../../projects/ng-tailwind/src/components/ngt-input/ngt-input.module.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal.component.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal.module.ts","../../../projects/ng-tailwind/src/components/ngt-action/ngt-action.component.ts","../../../projects/ng-tailwind/src/components/ngt-action/ngt-action.module.ts","../../../projects/ng-tailwind/src/components/ngt-select/ngt-select.directive.ts","../../../projects/ng-tailwind/src/components/ngt-select/ngt-select.component.ts","../../../projects/ng-tailwind/src/components/ngt-select/ngt-select.module.ts","../../../projects/ng-tailwind/src/components/ngt-pagination/ngt-pagination.component.ts","../../../projects/ng-tailwind/src/components/ngt-pagination/ngt-pagination.module.ts","../../../projects/ng-tailwind/src/components/ngt-tag/ngt-tag.component.ts","../../../projects/ng-tailwind/src/components/ngt-tag/ngt-tag.module.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-datatable.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-tbody/ngt-tbody.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-td-check/ngt-td-check.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-td/ngt-td.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-th-check/ngt-th-check.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-th/ngt-th.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-thead/ngt-thead.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-tr/ngt-tr.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-datatable.module.ts","../../../projects/ng-tailwind/src/components/ngt-floating-button/ngt-floating-button.component.ts","../../../projects/ng-tailwind/src/components/ngt-floating-button/ngt-floating-button.module.ts","../../../projects/ng-tailwind/src/components/ngt-slider/ngt-slider.component.ts","../../../projects/ng-tailwind/src/components/ngt-slider/ngt-slider.module.ts","../../../projects/ng-tailwind/src/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.ts","../../../projects/ng-tailwind/src/components/ngt-radio-button/ngt-radio-button.component.ts","../../../projects/ng-tailwind/src/components/ngt-radio-button/ngt-radio-button.module.ts","../../../projects/ng-tailwind/src/components/ngt-textarea/ngt-textarea.component.ts","../../../projects/ng-tailwind/src/components/ngt-textarea/ngt-textarea.module.ts","../../../projects/ng-tailwind/src/components/ngt-date/ngt-date.component.ts","../../../projects/ng-tailwind/src/components/ngt-date/ngt-date.module.ts","../../../projects/ng-tailwind/src/components/ngt-button/ngt-button.component.ts","../../../projects/ng-tailwind/src/components/ngt-button/ngt-button.module.ts","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.ts","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.ts","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.ts","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet.component.ts","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet.module.ts","../../../projects/ng-tailwind/src/enums/size.enum.ts","../../../projects/ng-tailwind/src/animations/ngt-angular-animations.ts","../../../projects/ng-tailwind/src/components/ngt-sidenav/ngt-sidenav.component.ts","../../../projects/ng-tailwind/src/components/ngt-sidenav/ngt-sidenav.module.ts","../../../projects/ng-tailwind/src/components/ngt-header-nav/ngt-header-nav.component.ts","../../../projects/ng-tailwind/src/components/ngt-header-nav/ngt-header-nav.module.ts","../../../projects/ng-tailwind/src/components/ngt-content/ngt-content.component.ts","../../../projects/ng-tailwind/src/components/ngt-content/ngt-content.module.ts","../../../projects/ng-tailwind/src/components/ngt-section/ngt-section.component.ts","../../../projects/ng-tailwind/src/components/ngt-section/ngt-section.module.ts","../../../projects/ng-tailwind/src/components/ngt-multi-select/ngt-multi-select.component.ts","../../../projects/ng-tailwind/src/components/ngt-multi-select/ngt-multi-select.module.ts","../../../projects/ng-tailwind/src/services/http/ngt-attachment-http.service.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone.module.ts","../../../projects/ng-tailwind/src/public-api.ts","../../../projects/ng-tailwind/src/ng-tailwind.ts"],"sourcesContent":["export abstract class NgtTranslateService {\n public abstract ngtFormDefaultValidationMessage: string;\n\n public abstract ngtDatatableNoDataFound: string;\n public abstract ngtMultiSelectNoDataFound: string;\n\n public abstract ngtSelectLoadingText: string;\n public abstract ngtSelectNotFoundText: string;\n public abstract ngtSelectTypeToSearchText: string;\n public abstract ngtSelectClearAllTooltip: string;\n public abstract ngtSelectPlaceholder: string;\n public abstract ngtSelectCreateText: string;\n\n public abstract ngtTextAreaRemainingCharacters: string;\n\n public abstract ngtStandardHelperTitle: string;\n\n public abstract ngtValidationMaxCharactersExceded: string;\n public abstract ngtValidationRequiredField: string;\n public abstract ngtValidationInvalidEmail: string;\n public abstract ngtValidationAlreadyExists: string;\n public abstract ngtValidationInvalidCnpj: string;\n public abstract ngtValidationInvalidCpf: string;\n public abstract ngtValidationPasswordRequiredMinCharacters: string;\n public abstract ngtValidationFieldsNotMatch: string;\n public abstract ngtValidationInvalidDate: string;\n public abstract ngtValidationInvalidPrevision: string;\n public abstract ngtValidationExternalServerUnavailable: string;\n public abstract ngtValidationValueMustBeGreaterThan(minValue?: number | string): string;\n public abstract ngtValidationMinLengthField(minLenth?: number | string): string;\n\n public abstract ngtPagination(from: number | string, to: number | string, total: number | string): string;\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class NgtHttpService {\n abstract get(connector: any, filters: any, pagination: NgtHttpPagination, sort?: NgtHttpSort): Observable<NgtHttpResponse>;\n\n abstract post(data: any): Observable<any>;\n\n abstract put(data: any): Observable<any>;\n\n abstract delete(data: any): Observable<any>;\n}\n\nexport interface NgtHttpResponse {\n data?: any;\n meta: NgtHttpMeta;\n}\n\nexport interface NgtHttpMeta {\n pagination: NgtHttpPagination;\n}\n\nexport interface NgtHttpPagination {\n count: number;\n page: number;\n pages: number;\n total: number;\n from: number;\n to: number;\n per_page: number;\n}\n\nexport interface NgtHttpSort {\n field: string;\n direction: string;\n}\n","export interface NgtHttpValidationService {\n emailValidation(email: string): Promise<NgtHttpValidationResponse>;\n}\n\nexport abstract class NgtHttpValidationService {\n public abstract unique(validationResource: any, value: any): Promise<NgtHttpValidationResponse>;\n\n public abstract exists(validationResource: any, value: any): Promise<NgtHttpValidationResponse>;\n}\n\nexport interface NgtHttpValidationResponse {\n valid: boolean;\n};\n","export interface NgtHttpFindExistingResourceInterface {\n table: string;\n column: string;\n value?: string;\n ignore_id?: string;\n}\n\nexport interface NgtHttpFindExistingResourceResponse {\n id: string;\n}\n\nexport abstract class NgtHttpResourceService {\n public abstract findExisting(findExistingResource: NgtHttpFindExistingResourceInterface): Promise<NgtHttpFindExistingResourceResponse>;\n}\n","import { Injector } from '@angular/core';\n\nexport class NgtStylizableService {\n private _color: any;\n private _h: string;\n private _w: string;\n private _p: string;\n private _px: string;\n private _py: string;\n private _pt: string;\n private _pr: string;\n private _pb: string;\n private _pl: string;\n private _m: string;\n private _mx: string;\n private _my: string;\n private _mt: string;\n private _mr: string;\n private _mb: string;\n private _ml: string;\n private _border: string;\n private _shadow: string;\n private _rounded: string;\n private _font: string;\n private _text: string;\n private _breakWords: string;\n private _overflow: string;\n private _position: string;\n private _justifyContent: string;\n private _cursor: string;\n\n public get color() {\n return this._color;\n }\n\n public set color(color) {\n if (color.bg) {\n color.bg = this.getQualifiedValue('bg-', color.bg);\n }\n\n if (color.text) {\n color.text = this.getQualifiedValue('text-', color.text);\n }\n\n if (color.border) {\n color.border = this.getQualifiedValue('border-', color.border);\n }\n\n this._color = color;\n }\n\n public set textColor(textColor) {\n this._color = this._color ? this._color : {};\n this._color.text = this.getQualifiedValue('text-', textColor);\n }\n\n public set bgColor(bgColor) {\n this._color = this._color ? this._color : {};\n this._color.bg = this.getQualifiedValue('bg-', bgColor);\n }\n\n public set borderColor(borderColor) {\n this._color = this._color ? this._color : {};\n this._color.border = this.getQualifiedValue('border-', borderColor);\n }\n\n public get h(): string {\n return this._h;\n }\n\n public set h(h: string) {\n this._h = this.getQualifiedValue('h-', h);\n }\n\n public get w(): string {\n return this._w;\n }\n\n public set w(w: string) {\n this._w = this.getQualifiedValue('w-', w);\n }\n\n public get p(): string {\n return this._p;\n }\n\n public set p(p: string) {\n this._p = this.getQualifiedValue('p-', p);\n }\n\n public get px(): string {\n return this._px;\n }\n\n public set px(px: string) {\n this._px = this.getQualifiedValue('px-', px);\n }\n\n public get py(): string {\n return this._py;\n }\n\n public set py(py: string) {\n this._py = this.getQualifiedValue('py-', py);\n }\n\n public get pt(): string {\n return this._pt;\n }\n\n public set pt(pt: string) {\n this._pt = this.getQualifiedValue('pt-', pt);\n }\n\n public get pr(): string {\n return this._pr;\n }\n\n public set pr(pr: string) {\n this._pr = this.getQualifiedValue('pr-', pr);\n }\n\n public get pb(): string {\n return this._pb;\n }\n\n public set pb(pb: string) {\n this._pb = this.getQualifiedValue('pb-', pb);\n }\n\n public get pl(): string {\n return this._pl;\n }\n\n public set pl(pl: string) {\n this._pl = this.getQualifiedValue('pl-', pl);\n }\n\n public get m(): string {\n return this._m;\n }\n\n public set m(m: string) {\n this._m = this.getQualifiedValue('m-', m);\n }\n\n public get mx(): string {\n return this._mx;\n }\n\n public set mx(mx: string) {\n this._mx = this.getQualifiedValue('mx-', mx);\n }\n\n public get my(): string {\n return this._my;\n }\n\n public set my(my: string) {\n this._my = this.getQualifiedValue('my-', my);\n }\n\n public get mt(): string {\n return this._mt;\n }\n\n public set mt(mt: string) {\n this._mt = this.getQualifiedValue('mt-', mt);\n }\n\n public get mr(): string {\n return this._mr;\n }\n\n public set mr(mr: string) {\n this._mr = this.getQualifiedValue('mr-', mr);\n }\n\n public get mb(): string {\n return this._mb;\n }\n\n public set mb(mb: string) {\n this._mb = this.getQualifiedValue('mb-', mb);\n }\n\n public get ml(): string {\n return this._ml;\n }\n\n public set ml(ml: string) {\n this._ml = this.getQualifiedValue('ml-', ml);\n }\n\n public get border(): string {\n return this._border;\n }\n\n public set border(border: string) {\n this._border = this.getQualifiedValue('border', border);\n }\n\n public get shadow(): string {\n return this._shadow;\n }\n\n public set shadow(shadow: string) {\n this._shadow = this.getQualifiedValue('shadow', shadow);\n }\n\n public get rounded(): string {\n return this._rounded;\n }\n\n public set rounded(rounded: string) {\n this._rounded = this.getQualifiedValue('rounded', rounded);\n }\n\n public get font(): string {\n return this._font;\n }\n\n public set font(font: string) {\n this._font = this.getQualifiedValue('font', font);\n }\n\n public get text(): string {\n return this._text;\n }\n\n public set text(text: string) {\n this._text = this.getQualifiedValue('text', text);\n }\n\n public get breakWords(): string {\n return this._breakWords;\n }\n\n public set breakWords(breakWords: string) {\n this._breakWords = this.getQualifiedValue('break', breakWords);\n }\n\n public get overflow(): string {\n return this._overflow;\n }\n\n public set overflow(overflow: string) {\n this._overflow = this.getQualifiedValue('overflow', overflow);\n }\n\n public get position(): string {\n return this._position;\n }\n\n public set position(position: string) {\n this._position = position;\n }\n\n public get justifyContent(): string {\n return this._justifyContent;\n }\n\n public set justifyContent(justifyContent: string) {\n this._justifyContent = this.getQualifiedValue('justify', justifyContent);\n }\n\n public get cursor(): string {\n return this._cursor;\n }\n\n public set cursor(cursor: string) {\n this._cursor = this.getQualifiedValue('cursor', cursor);\n }\n\n public load(injector: Injector, style: string, defaultValue = null, inheritanceStyles = []) {\n let ngtGlobalStyle = injector.get('NgtStyleGlobal', {});\n\n defaultValue = defaultValue ? defaultValue : {};\n\n let requestedStyle = <NgtStylizableService>injector.get(style + 'Style', defaultValue);\n\n this.loadObjectProperties(this, ngtGlobalStyle, this.getAllowedKeys(ngtGlobalStyle));\n\n inheritanceStyles.forEach(style => {\n let requestedStyle = <NgtStylizableService>injector.get(style, {});\n\n this.loadObjectProperties(this, requestedStyle, this.getAllowedKeys(requestedStyle));\n });\n\n this.loadObjectProperties(this, requestedStyle, this.getAllowedKeys(requestedStyle));\n }\n\n public compile(styles: Array<string>) {\n return styles\n .map((style: string) => this.getQualifiedStyle(style))\n .join(' ');\n }\n\n private loadObjectProperties(targetObject, object, properties: Array<string>) {\n properties.forEach((key) => {\n if (typeof (object[key]) === 'object') {\n targetObject[key] = targetObject[key] ? targetObject[key] : {};\n targetObject[key] = this.loadObjectProperties(targetObject[key], object[key], Object.keys(object[key]));\n } else {\n targetObject[key] = object[key];\n }\n });\n\n return targetObject;\n }\n\n private getQualifiedStyle(style: string) {\n if (!style.includes('color')) {\n return this['_' + style];\n }\n\n switch (style) {\n case 'color.bg': return this._color.bg;\n case 'color.text': return this._color.text;\n case 'color.border': return this._color.border;\n }\n }\n\n private getAllowedKeys(style: NgtStylizableService) {\n let keys = Object.keys(style);\n\n if (Array.isArray(keys)) {\n return keys.filter(key => [\n 'color',\n 'h',\n 'w',\n 'p',\n 'px',\n 'py',\n 'pt',\n 'pr',\n 'pb',\n 'pl',\n 'm',\n 'mx',\n 'my',\n 'mt',\n 'mr',\n 'mb',\n 'ml',\n 'border',\n 'shadow',\n 'rounded',\n 'font',\n 'text',\n 'breakWords',\n 'overflow',\n 'position',\n 'justifyContent',\n 'cursor',\n ].includes(key));\n }\n }\n\n private getQualifiedValue(requiredPrefix: string, value: string) {\n value.split(' ').forEach((item) => {\n if (!item.includes(requiredPrefix)) {\n throw new Error('Invalid class [' + item + '], must have [' + requiredPrefix + ']');\n }\n });\n\n return value;\n }\n}\n","import { Directive, Input } from '@angular/core';\n\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\n\n@Directive({\n selector: '[ngt-stylizable]'\n})\nexport class NgtStylizableDirective {\n private ngtStylizableService: NgtStylizableService;\n\n public constructor() {\n this.ngtStylizableService = new NgtStylizableService();\n }\n\n public getNgtStylizableService() {\n return this.ngtStylizableService;\n }\n\n public get color() {\n return this.ngtStylizableService.color;\n }\n\n @Input('color')\n public set color(color) {\n this.ngtStylizableService.color = color;\n }\n\n @Input('color.text')\n public set textColor(textColor: string) {\n this.ngtStylizableService.textColor = textColor;\n }\n\n @Input('color.bg')\n public set bgColor(bgColor: string) {\n this.ngtStylizableService.bgColor = bgColor;\n }\n\n @Input('color.border')\n public set borderColor(borderColor) {\n this.ngtStylizableService.borderColor = borderColor;\n }\n\n public get h(): string {\n return this.ngtStylizableService.h;\n }\n\n @Input('h')\n public set h(h: string) {\n this.ngtStylizableService.h = h;\n }\n\n public get w(): string {\n return this.ngtStylizableService.w;\n }\n\n @Input('w')\n public set w(w: string) {\n this.ngtStylizableService.w = w;\n }\n\n public get p(): string {\n return this.ngtStylizableService.p;\n }\n\n @Input('p')\n public set p(p: string) {\n this.ngtStylizableService.p = p;\n }\n\n public get px(): string {\n return this.ngtStylizableService.px;\n }\n\n @Input('px')\n public set px(px: string) {\n this.ngtStylizableService.px = px;\n }\n\n public get py(): string {\n return this.ngtStylizableService.py;\n }\n\n @Input('py')\n public set py(py: string) {\n this.ngtStylizableService.py = py;\n }\n\n public get pt(): string {\n return this.ngtStylizableService.pt;\n }\n\n @Input('pt')\n public set pt(pt: string) {\n this.ngtStylizableService.pt = pt;\n }\n\n public get pr(): string {\n return this.ngtStylizableService.pr;\n }\n\n @Input('pr')\n public set pr(pr: string) {\n this.ngtStylizableService.pr = pr;\n }\n\n public get pb(): string {\n return this.ngtStylizableService.pb;\n }\n\n @Input('pb')\n public set pb(pb: string) {\n this.ngtStylizableService.pb = pb;\n }\n\n public get pl(): string {\n return this.ngtStylizableService.pl;\n }\n\n @Input('pl')\n public set pl(pl: string) {\n this.pl = this.ngtStylizableService.pl;\n }\n\n public get m(): string {\n return this.ngtStylizableService.m;\n }\n\n @Input('m')\n public set m(m: string) {\n this.ngtStylizableService.m = m;\n }\n\n public get mx(): string {\n return this.ngtStylizableService.mx;\n }\n\n @Input('mx')\n public set mx(mx: string) {\n this.ngtStylizableService.mx = mx;\n }\n\n public get my(): string {\n return this.ngtStylizableService.my;\n }\n\n @Input('my')\n public set my(my: string) {\n this.ngtStylizableService.my = my;\n }\n\n public get mt(): string {\n return this.ngtStylizableService.mt;\n }\n\n @Input('mt')\n public set mt(mt: string) {\n this.ngtStylizableService.mt = mt;\n }\n\n public get mr(): string {\n return this.ngtStylizableService.mr;\n }\n\n @Input('mr')\n public set mr(mr: string) {\n this.ngtStylizableService.mr = mr;\n }\n\n public get mb(): string {\n return this.ngtStylizableService.mb;\n }\n\n @Input('mb')\n public set mb(mb: string) {\n this.ngtStylizableService.mb = mb;\n }\n\n public get ml(): string {\n return this.ngtStylizableService.ml;\n }\n\n @Input('ml')\n public set ml(ml: string) {\n this.ngtStylizableService.ml = ml;\n }\n\n public get border(): string {\n return this.ngtStylizableService.border;\n }\n\n @Input('border')\n public set border(border: string) {\n this.ngtStylizableService.border = border;\n }\n\n public get shadow(): string {\n return this.ngtStylizableService.shadow;\n }\n\n @Input('shadow')\n public set shadow(shadow: string) {\n this.ngtStylizableService.shadow = shadow;\n }\n\n public get rounded(): string {\n return this.ngtStylizableService.rounded;\n }\n\n @Input('rounded')\n public set rounded(rounded: string) {\n this.ngtStylizableService.rounded = rounded;\n }\n\n public get font(): string {\n return this.ngtStylizableService.font;\n }\n\n @Input('font')\n public set font(font: string) {\n this.ngtStylizableService.font = font;\n }\n\n public get text(): string {\n return this.ngtStylizableService.text;\n }\n\n @Input('text')\n public set text(text: string) {\n this.ngtStylizableService.text = text;\n }\n\n public get breakWords(): string {\n return this.ngtStylizableService.breakWords;\n }\n\n @Input('breakWords')\n public set breakWords(breakWords: string) {\n this.ngtStylizableService.breakWords = breakWords;\n }\n\n public get overflow(): string {\n return this.ngtStylizableService.overflow;\n }\n\n @Input('overflow')\n public set overflow(overflow: string) {\n this.ngtStylizableService.overflow = overflow;\n }\n\n public get position(): string {\n return this.ngtStylizableService.position;\n }\n\n @Input('position')\n public set position(position: string) {\n this.ngtStylizableService.position = position;\n }\n\n public get justifyContent(): string {\n return this.ngtStylizableService.justifyContent;\n }\n\n @Input('justifyContent')\n public set justifyContent(justifyContent: string) {\n this.ngtStylizableService.justifyContent = justifyContent;\n }\n\n public get cursor(): string {\n return this.ngtStylizableService.cursor;\n }\n\n @Input('cursor')\n public set cursor(cursor: string) {\n this.ngtStylizableService.cursor = cursor;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtStylizableDirective } from './ngt-stylizable.directive';\n\n@NgModule({\n declarations: [NgtStylizableDirective],\n exports: [NgtStylizableDirective],\n imports: [\n CommonModule\n ]\n})\nexport class NgtStylizableModule { }\n","import { Component, Injector, Input, Optional, Self } from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\n\n@Component({\n selector: 'ngt-shining',\n templateUrl: './ngt-shining.component.html',\n styleUrls: ['./ngt-shining.component.css']\n})\nexport class NgtShiningComponent {\n @Input() public shiningWidth: NgtShiningWidth = NgtShiningWidth.xs;\n\n public ngtStyle: NgtStylizableService;\n\n public constructor(\n private injector: Injector,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n ) {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtShining', {\n rounded: 'rounded-none',\n });\n }\n}\n\nexport enum NgtShiningWidth {\n xs = 'xs',\n sm = 'sm',\n lg = 'lg',\n xl = 'xl',\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtShiningComponent } from './ngt-shining.component';\n\n@NgModule({\n declarations: [NgtShiningComponent],\n exports: [NgtShiningComponent],\n imports: [\n CommonModule\n ]\n})\nexport class NgtShiningModule { }\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { EventEmitter, forwardRef } from '@angular/core';\nimport { AbstractControl, ControlContainer, ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n/**\n * Based on https://stackoverflow.com/a/37786142/8055997\n */\nexport abstract class NgtBaseNgModel implements ControlValueAccessor {\n public formControl: AbstractControl;\n public formContainer: ControlContainer;\n\n public onValueChangeEvent = new EventEmitter;\n\n private ignore = '{{{{INITIAL_VALUE_IGNORE}}}}';\n private _value: any = this.ignore;\n\n public constructor() {\n this.registerOnTouched(this.onTouched);\n }\n\n public onValueChange() {\n return this.onValueChangeEvent;\n }\n\n public get value(): any {\n return this._value != this.ignore ? this._value : null;\n };\n\n public set value(v: any) {\n if (!this.valuesAreEquals(v, this._value)) {\n this._value = v;\n this.onChange(v);\n\n if (this.formControl) {\n this.formControl.markAsDirty();\n }\n\n this.change(v);\n }\n }\n\n public writeValue(value: any) {\n if (value == this.ignore || this.valuesAreEquals(value, this._value)) {\n return;\n }\n\n this._value = value;\n this.onChange(value);\n this.change(value);\n }\n\n public onChange = (_) => { };\n\n public change(v) { };\n\n public onTouched = () => {\n if (this.formControl) {\n this.formControl.markAsTouched();\n }\n };\n\n public registerOnChange(fn: (_: any) => void): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n public isValid(): boolean {\n if (this.formControl) {\n this.formControl.markAsDirty();\n\n return this.formControl.valid;\n }\n }\n\n public markAsPristine() {\n if (this.formControl) {\n this.formControl.markAsPristine();\n }\n }\n\n public markAsDirty() {\n if (this.formControl) {\n this.formControl.markAsDirty();\n }\n }\n\n public setSubmitted(submitted: boolean) {\n if (this.formContainer) {\n this.formContainer['submitted'] = submitted;\n }\n }\n\n private valuesAreEquals(value1, value2) {\n if (Array.isArray(value1)) {\n value1 = JSON.stringify(value1);\n }\n\n if (Array.isArray(value2)) {\n value2 = JSON.stringify(value2);\n }\n\n return value1 === value2;\n }\n}\n\nexport function NgtMakeProvider(type: any) {\n return {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => type),\n multi: true\n };\n}\n","export function getEnumFromString(string: string, enumClass: any) {\n if (string && enumClass && enumClass[string.toUpperCase()]) {\n return enumClass[string.toUpperCase()];\n }\n\n throw new Error('Invalid enum [' + string + ']!');\n}\n","import { NgForm } from '@angular/forms';\n\nexport function resetNgForm(ngForm: NgForm) {\n ngForm.resetForm();\n setTimeout(() => {\n ngForm.reset();\n }, 500);\n}\n\nexport function triggerNgFormSubmit(ngForm: NgForm) {\n ngForm.onSubmit(new Event(\"submit\"));\n}\n\nexport function isValidNgForm(ngForm: NgForm) {\n triggerNgFormSubmit(ngForm);\n\n return ngForm.valid;\n}\n","import { ActivatedRoute } from '@angular/router';\nimport { Observable, zip } from 'rxjs';\n\nexport function getIdFromUri(route: ActivatedRoute, routeIdentifier: string) {\n return Observable.create((observer) => {\n zip(route.parent.params, route.params)\n .subscribe((results) => {\n let params = { ...results[0], ...results[1] };\n\n observer.next(params[routeIdentifier]);\n });\n });\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class NgtHttpFormService {\n abstract loadResourceById(resource: any, resourceId: any): Observable<any>;\n\n abstract saveResource(resource: any): Observable<any>;\n}\n","import {Component, EventEmitter, Host, Input, OnDestroy, OnInit, Optional, Output} from '@angular/core';\nimport {ControlContainer, NgForm} from '@angular/forms';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {Observable, Subscription} from 'rxjs';\n\nimport {isValidNgForm} from '../../helpers/form/form';\nimport {getIdFromUri} from '../../helpers/routing/route';\nimport {NgtHttpFormService} from '../../services/http/ngt-http-form.service';\n\n@Component({\n selector: 'ngt-form',\n templateUrl: './ngt-form.component.html',\n})\nexport class NgtFormComponent implements OnInit, OnDestroy {\n @Input() public guessFormState: boolean = true;\n @Input() public message: string = '';\n @Input() public routeIdentifier: string = 'id';\n @Input() public resource: any;\n @Input() public customLayout: boolean;\n\n @Output() public static onSubmitInvalidForm: EventEmitter<NgForm> = new EventEmitter;\n\n @Output() public onCreating: EventEmitter<any> = new EventEmitter;\n @Output() public onEditing: EventEmitter<any> = new EventEmitter;\n @Output() public onLoadingChange: EventEmitter<boolean> = new EventEmitter;\n @Output() public onShiningChange: EventEmitter<boolean> = new EventEmitter;\n @Output() public setupComponent: EventEmitter<any> = new EventEmitter;\n @Output() public onResourceLoadingError: EventEmitter<string> = new EventEmitter;\n\n public formState: NgtFormState;\n public uriId: any;\n\n private loading: boolean;\n private shining: boolean;\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n @Optional() @Host()\n public formContainer: ControlContainer,\n @Optional() @Host()\n public ngForm: NgForm,\n public router: Router,\n public route: ActivatedRoute,\n private ngtHttpFormService: NgtHttpFormService\n ) {\n }\n\n public ngOnInit() {\n if (this.guessFormState) {\n this.subscriptions.push(\n this.determineFormState().subscribe(() => {\n this.setupComponent.emit();\n })\n );\n } else {\n this.setupComponent.emit();\n }\n\n this.subscriptions.push(\n this.ngForm.ngSubmit.subscribe(() => {\n if (!this.ngForm.valid) {\n NgtFormComponent.onSubmitInvalidForm.emit(this.ngForm);\n }\n })\n );\n }\n\n public ngOnDestroy() {\n this.destroySubscriptions();\n }\n\n public isCreating() {\n return this.formState === NgtFormState.CREATING;\n }\n\n public isEditing() {\n return this.formState === NgtFormState.EDITING;\n }\n\n public isLoading() {\n return this.loading;\n }\n\n public isShining() {\n return this.shining;\n }\n\n public canShowValidationMessage() {\n return this.formContainer &&\n this.formContainer['submitted'] &&\n this.formContainer.status != 'VALID' &&\n this.formContainer.status != 'DISABLED';\n }\n\n public setShining(shining: boolean) {\n this.shining = shining;\n this.onShiningChange.emit(this.shining);\n }\n\n public setLoading(loading: boolean) {\n this.loading = loading;\n this.onLoadingChange.emit(this.loading);\n }\n\n public setFormState(state: NgtFormState, triggerChange: boolean = true) {\n this.formState = state;\n\n if (triggerChange) {\n this.triggerFormStateChange();\n }\n }\n\n public getFormState() {\n return this.formState;\n }\n\n public triggerFormStateChange() {\n if (this.isEditing()) {\n this.triggerFormEditing();\n } else if (this.isCreating()) {\n this.triggerFormCreating();\n }\n }\n\n public formHasChanges() {\n return this.ngForm.dirty;\n }\n\n public saveResource() {\n return new Observable((observer) => {\n if (isValidNgForm(this.ngForm)) {\n this.setLoading(true);\n\n this.subscriptions.push(\n this.ngtHttpFormService.saveResource(this.resource)\n .subscribe((response: any) => {\n this.setLoading(false);\n observer.next(response);\n observer.complete();\n })\n );\n } else {\n observer.error();\n }\n });\n }\n\n protected triggerFormCreating() {\n this.onCreating.emit();\n }\n\n protected triggerFormEditing() {\n if (this.uriId && this.resource) {\n this.setLoading(true);\n this.setShining(true);\n\n this.subscriptions.push(\n this.ngtHttpFormService.loadResourceById(this.resource, this.uriId)\n .subscribe(\n (resource: any) => {\n this.setLoading(false);\n this.setShining(false);\n\n this.onEditing.emit(resource);\n\n setTimeout(() => this.ngForm.form.markAsPristine(), 1500);\n },\n (error) => {\n this.setLoading(false);\n this.setShining(false);\n\n this.onResourceLoadingError.emit(error);\n }\n )\n );\n\n return;\n }\n\n this.onEditing.emit(null);\n }\n\n private determineFormState() {\n return new Observable((observer) => {\n this.subscriptions.push(\n getIdFromUri(this.route, this.routeIdentifier).subscribe((id: string) => {\n this.uriId = id;\n\n if (this.uriId) {\n this.setFormState(NgtFormState.EDITING);\n } else {\n this.setFormState(NgtFormState.CREATING);\n }\n\n observer.next();\n })\n );\n });\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n\nexport enum NgtFormState {\n CREATING = 'CREATING',\n EDITING = 'EDITING'\n};\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Host,\n Injector,\n Input,\n OnDestroy,\n Optional,\n Renderer2,\n Self,\n SimpleChanges,\n SkipSelf,\n ViewChild,\n} from '@angular/core';\nimport { ControlContainer, NgForm } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { getEnumFromString } from '../../helpers/enum/enum';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\n\n@Component({\n selector: 'ngt-checkbox',\n templateUrl: './ngt-checkbox.component.html',\n styleUrls: ['./ngt-checkbox.component.css'],\n providers: [\n NgtMakeProvider(NgtCheckboxComponent),\n ],\n viewProviders: [\n { provide: ControlContainer, useExisting: NgForm }\n ],\n animations: [\n trigger('slideLeftToRight', [\n state('void', style({ transform: 'translateX(-4px) rotate(45deg)', opacity: 0 })),\n transition(':enter', [\n animate(200)\n ])\n ]),\n\n trigger('slideRightToLeft', [\n state('void', style({ transform: 'translateX(4px) rotate(45deg)', opacity: 0 })),\n transition(':enter', [\n animate(200)\n ])\n ]),\n ]\n})\nexport class NgtCheckboxComponent extends NgtBaseNgModel implements AfterViewInit, OnDestroy {\n @ViewChild('element', { static: true }) public element: ElementRef;\n\n @Input() public label: string;\n @Input() public shining: boolean = false;\n @Input() public isDisabled: boolean = false;\n @Input() public isClickDisabled: boolean = false;\n @Input() public name: string;\n @Input() public mode: NgtCheckboxMode = NgtCheckboxMode.DEFAULT;\n @Input() public helpTitle: string;\n @Input() public helpTextColor: string = 'text-green-500';\n @Input() public helpText: string;\n\n public ngtStyle: NgtStylizableService;\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private injector: Injector,\n @Optional() @Host()\n public formContainer: ControlContainer,\n private renderer: Renderer2,\n @Self() @Optional()\n private ngtStylizableDirective: NgtStylizableDirective,\n @Optional() @SkipSelf()\n private ngtFormComponent: NgtFormComponent,\n ) {\n super();\n\n if (this.ngtFormComponent) {\n this.shining = this.ngtFormComponent.isShining();\n\n this.subscriptions.push(\n this.ngtFormComponent.onShiningChange.subscribe((shining: boolean) => {\n this.shining = shining;\n })\n );\n }\n\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtCheckbox', {\n h: 'h-6',\n w: 'w-6',\n color: {\n bg: 'bg-gray-500',\n text: 'text-gray-500',\n border: 'border-gray-500',\n }\n });\n }\n\n public ngAfterViewInit() {\n this.renderer.listen(this.element.nativeElement, 'change', (value) => {\n this.onNativeChange(this.element.nativeElement.checked);\n });\n }\n\n public ngOnDestroy() {\n this.destroySubscriptions();\n }\n\n public change(value) {\n if (this.hasChangesBetweenModels()) {\n this.element.nativeElement.checked = value;\n }\n }\n\n public onNativeChange(value) {\n if (this.hasChangesBetweenModels()) {\n this.value = value;\n }\n }\n\n public hasChangesBetweenModels() {\n return this.element.nativeElement.checked !== this.value;\n }\n\n public isToggleMode() {\n return this.mode === NgtCheckboxMode.TOGGLE;\n }\n\n public isDefaultMode() {\n return this.mode === NgtCheckboxMode.DEFAULT;\n }\n\n public isRadioMode() {\n return this.mode === NgtCheckboxMode.RADIO;\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (changes.mode) {\n this.mode = getEnumFromString(changes.mode.currentValue, NgtCheckboxMode);\n }\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n\nexport enum NgtCheckboxMode {\n DEFAULT = 'DEFAULT',\n TOGGLE = 'TOGGLE',\n RADIO = 'RADIO',\n}\n","import {\n AfterViewChecked,\n Component,\n ElementRef,\n Input,\n OnChanges,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SvgIconComponent } from 'angular-svg-icon';\n\n@Component({\n selector: 'ngt-svg',\n templateUrl: './ngt-svg.component.html',\n styleUrls: ['./ngt-svg.component.css'],\n host: {\n class: 'flex justify-center'\n },\n encapsulation: ViewEncapsulation.None\n})\nexport class NgtSvgComponent implements AfterViewChecked, OnChanges {\n @Input() public src: string;\n @Input() public class: string = '';\n\n @ViewChild(SvgIconComponent, { static: true, read: ElementRef }) private svgIconElement: ElementRef;\n\n private appliedClass = null;\n\n public ngAfterViewChecked() {\n this.checkClassChange();\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n this.appliedClass = null;\n this.checkClassChange();\n }\n\n private checkClassChange() {\n if (this.appliedClass !== this.class) {\n if (this.svgIconElement && this.svgIconElement.nativeElement) {\n let svgElement = <SVGAElement>this.svgIconElement.nativeElement.querySelector('svg');\n\n if (svgElement) {\n while (svgElement.classList.length > 0) {\n svgElement.classList.remove(svgElement.classList.item(0));\n }\n\n svgElement.classList.add('fill-current');\n svgElement.classList.add('self-center');\n\n new String(this.class).trim().split(' ').forEach(className => {\n if (className) {\n svgElement.classList.add(className);\n }\n });\n\n this.appliedClass = this.class;\n }\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgtSvgComponent } from './ngt-svg.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { AngularSvgIconModule } from 'angular-svg-icon';\n\n@NgModule({\n declarations: [NgtSvgComponent],\n exports: [NgtSvgComponent],\n imports: [\n CommonModule,\n HttpClientModule,\n AngularSvgIconModule\n ]\n})\nexport class NgtSvgModule { }\n","import { Component, ElementRef, Input, Optional, ViewChild, ViewEncapsulation } from '@angular/core';\n\nimport { NgtTranslateService } from '../../services/http/ngt-translate.service';\n\n@Component({\n selector: 'ngt-helper',\n templateUrl: './ngt-helper.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class NgtHelperComponent {\n @ViewChild('dropdownRef', { static: true }) public dropdownRef: ElementRef;\n\n @Input() public icon: string;\n @Input() public helpTitle: string;\n @Input() public iconColor: string;\n\n public constructor(\n @Optional()\n public ngtTranslateService: NgtTranslateService\n ) { }\n}\n","export function uuid() {\n return [\n Math.random().toString(36).substr(2, 9),\n Math.random().toString(36).substr(2, 9),\n Math.random().toString(36).substr(2, 9),\n Math.random().toString(36).substr(2, 9)\n ].join('_');\n};\n","import { Component, EventEmitter, Output } from '@angular/core';\n\n@Component({\n selector: '[ngt-dropdown-container]',\n templateUrl: './ngt-dropdown-container.component.html',\n styleUrls: ['./ngt-dropdown-container.component.css']\n})\nexport class NgtDropdownContainerComponent {\n @Output() public onActiveDropdownChange = new EventEmitter();\n\n public setActiveDropdown(activeDropdown) {\n this.onActiveDropdownChange.emit(activeDropdown);\n }\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output,\n SimpleChanges,\n SkipSelf,\n ViewChild,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { getEnumFromString } from '../../helpers/enum/enum';\nimport { uuid } from '../../helpers/uuid';\nimport { NgtDropdownContainerComponent } from './ngt-dropdown-container/ngt-dropdown-container.component';\n\n@Component({\n selector: 'ngt-dropdown',\n templateUrl: './ngt-dropdown.component.html',\n styleUrls: ['./ngt-dropdown.component.css'],\n animations: [\n trigger('openClose', [\n state('open', style({ opacity: 1, transform: 'translateY(0px)' })),\n state('closed', style({ opacity: 0, transform: 'translateY(-10px)' })),\n transition('closed => open', [\n animate(300)\n ]),\n ]),\n ]\n})\nexport class NgtDropdownComponent implements OnDestroy {\n @ViewChild('container', { static: true }) public containerRef: ElementRef;\n\n @Input() public autoXReverse: boolean;\n @Input() public autoYReverse: boolean = true;\n @Input() public reverseXPosition: boolean;\n @Input() public reverseYPosition: boolean;\n @Input() public closeOnClick: boolean;\n @Input() public openMethod: NgtDropdownOpenMethod = NgtDropdownOpenMethod.HOVER;\n\n @Output() public onToggle: EventEmitter<boolean> = new EventEmitter();\n\n public name: string = uuid();\n public isOpen: boolean;\n public isYPositionReversed: boolean = false;\n public isXPositionReversed: boolean = false;\n\n private subscriptions: Array<Subscription> = [];\n private containerXPosition: number;\n private containerYPosition: number;\n\n public constructor(\n @Optional() @SkipSelf()\n private ngtDropdownContainer: NgtDropdownContainerComponent\n ) {\n if (this.ngtDropdownContainer) {\n this.subscriptions.push(\n this.ngtDropdownContainer.onActiveDropdownChange.subscribe((activeDropdown: NgtDropdownComponent) => {\n this.isOpen = (activeDropdown.name === this.name);\n })\n );\n }\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes.openMethod) {\n this.openMethod = getEnumFromString(changes.openMethod.currentValue, NgtDropdownOpenMethod);\n }\n }\n\n public ngOnDestroy(): void {\n this.destroySubscriptions();\n }\n\n public open(): void {\n this.isOpen = true;\n this.ngtDropdownContainer?.setActiveDropdown(this);\n }\n\n public closeOnSelectOption(): void {\n if (this.closeOnClick) {\n this.close();\n }\n }\n\n public close(): void {\n this.isOpen = false;\n\n this.containerXPosition = null;\n this.containerYPosition = null;\n }\n\n public toggle(): void {\n setTimeout(() => {\n if (this.isOpen) {\n this.close();\n } else {\n this.open();\n }\n\n this.onToggle.emit(this.isOpen);\n });\n }\n\n public onHover(host: any, container: any): void {\n if (this.openMethod == NgtDropdownOpenMethod.HOVER && host && container) {\n this.open();\n this.watchHover(host, container);\n }\n }\n\n public onClick(event: Event): void {\n if (this.openMethod == NgtDropdownOpenMethod.CLICK) {\n event.preventDefault();\n event.stopPropagation();\n this.toggle();\n }\n }\n\n public onRightClick(event: Event): void {\n if (this.openMethod == NgtDropdownOpenMethod.RIGHT_CLICK) {\n event.preventDefault();\n event.stopPropagation();\n this.toggle();\n }\n }\n\n public shouldReverseXPosition(): boolean {\n if (!this.autoXReverse || this.reverseXPosition !== undefined) {\n return this.reverseXPosition;\n }\n\n if (this.isOpen) {\n this.bindContainerXPosition();\n this.isXPositionReversed = !(this.containerXPosition > document.documentElement.clientWidth);\n\n return this.isXPositionReversed;\n }\n }\n\n public shouldReverseYPosition(): boolean {\n if (!this.autoYReverse || this.reverseYPosition !== undefined) {\n return this.reverseYPosition;\n }\n\n if (this.isOpen) {\n this.bindContainerYPosition();\n this.isYPositionReversed = this.containerYPosition > (document.documentElement.clientHeight * 0.9);\n\n return this.isYPositionReversed;\n }\n }\n\n private bindContainerXPosition(): void {\n if (!this.containerXPosition && this.containerRef.nativeElement.offsetWidth) {\n setTimeout(() => {\n this.containerXPosition = this.containerRef.nativeElement.getBoundingClientRect().x\n + this.containerRef.nativeElement.offsetWidth;\n });\n }\n }\n\n private bindContainerYPosition(): void {\n if (!this.containerYPosition && this.containerRef?.nativeElement.offsetHeight) {\n setTimeout(() => {\n this.containerYPosition = this.containerRef.nativeElement.getBoundingClientRect().y\n + this.containerRef.nativeElement.offsetHeight;\n });\n }\n }\n\n private watchHover(host: any, container: any): void {\n const interval = setInterval(() => {\n if (!host || !container || !this.isInHover(host, container)) {\n this.close();\n clearInterval(interval);\n }\n }, 1000);\n }\n\n private isInHover(host: any, container: any): boolean {\n return host.parentElement.querySelector(':hover') == host ||\n container.parentElement.querySelector(':hover') == container;\n }\n\n private destroySubscriptions(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n\nexport enum NgtDropdownOpenMethod {\n CLICK = 'CLICK',\n RIGHT_CLICK = 'RIGHT_CLICK',\n HOVER = 'HOVER'\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgtDropdownComponent } from './ngt-dropdown.component';\nimport { NgtDropdownContainerComponent } from './ngt-dropdown-container/ngt-dropdown-container.component';\n\n@NgModule({\n declarations: [NgtDropdownComponent, NgtDropdownContainerComponent],\n exports: [NgtDropdownComponent, NgtDropdownContainerComponent],\n imports: [\n CommonModule\n ]\n})\nexport class NgtDropdownModule { }\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { NgtSvgModule } from \"../ngt-svg/ngt-svg.module\";\nimport { NgtHelperComponent } from \"./ngt-helper.component\";\nimport { NgtDropdownModule } from '../ngt-dropdown/ngt-dropdown.module';\n\n@NgModule({\n declarations: [NgtHelperComponent],\n exports: [NgtHelperComponent],\n imports: [\n CommonModule,\n NgtSvgModule,\n NgtDropdownModule\n ]\n})\nexport class NgtHelperModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtShiningModule } from '../ngt-shining/ngt-shining.module';\nimport { NgtCheckboxComponent } from './ngt-checkbox.component';\nimport {NgtHelperModule} from \"../ngt-helper/ngt-helper.module\";\n\n@NgModule({\n declarations: [NgtCheckboxComponent],\n exports: [NgtCheckboxComponent],\n imports: [\n CommonModule,\n NgtShiningModule,\n NgtHelperModule,\n ]\n})\nexport class NgtCheckboxModule { }\n","import { Component, Optional, SkipSelf } from '@angular/core';\nimport { NgtTranslateService } from '../../../services/http/ngt-translate.service';\nimport { NgtFormComponent } from '../ngt-form.component';\n\n@Component({\n selector: 'ngt-form-validation-message',\n templateUrl: './ngt-form-validation-message.component.html',\n})\nexport class NgtFormValidationMessageComponent {\n public constructor(\n @Optional() @SkipSelf()\n public ngtForm: NgtFormComponent,\n @Optional()\n public ngtTranslateService: NgtTranslateService\n ) {\n if (!ngtForm) {\n console.error('The ngt-form-validation-message must be inside a ngt-form!');\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtFormValidationMessageComponent } from './ngt-form-validation-message.component';\n\n@NgModule({\n declarations: [NgtFormValidationMessageComponent],\n exports: [NgtFormValidationMessageComponent],\n imports: [\n CommonModule\n ]\n})\nexport class NgtFormValidationMessageModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtFormValidationMessageModule } from './ngt-form-validation-message/ngt-form-validation-message.module';\nimport { NgtFormComponent } from './ngt-form.component';\n\n@NgModule({\n declarations: [NgtFormComponent],\n exports: [NgtFormComponent],\n imports: [\n CommonModule,\n NgtFormValidationMessageModule\n ]\n})\nexport class NgtFormModule { }\n","import { Component, Input, Optional } from '@angular/core';\nimport { ControlContainer, FormControl } from '@angular/forms';\nimport { NgtTranslateService } from '../../services/http/ngt-translate.service';\n\n@Component({\n selector: 'ngt-validation',\n templateUrl: './ngt-validation.component.html',\n styleUrls: ['./ngt-validation.component.css']\n})\nexport class NgtValidationComponent {\n @Input() public control: FormControl;\n @Input() public container: ControlContainer;\n @Input() public minValue: number;\n @Input() public minLength: number;\n\n public constructor(\n @Optional()\n public ngtTranslateService: NgtTranslateService\n ) { }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtValidationComponent } from './ngt-validation.component';\n\n@NgModule({\n declarations: [NgtValidationComponent],\n exports: [NgtValidationComponent],\n imports: [\n CommonModule\n ]\n})\nexport class NgtValidationModule { }\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef, EventEmitter,\n Host,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Optional, Output,\n Renderer2,\n Self,\n SimpleChanges,\n SkipSelf,\n ViewChild,\n} from '@angular/core';\nimport { AbstractControl, AsyncValidatorFn, ControlContainer, NgForm, Validators } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport {\n NgtHttpFindExistingResourceInterface,\n NgtHttpFindExistingResourceResponse,\n NgtHttpResourceService,\n} from '../../services/http/ngt-http-resource.service';\nimport { NgtHttpValidationResponse, NgtHttpValidationService } from '../../services/http/ngt-http-validation.service';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\n\nlet Inputmask = require('inputmask');\n\n@Component({\n selector: 'ngt-input',\n templateUrl: './ngt-input.component.html',\n styleUrls: ['./ngt-input.component.css'],\n providers: [\n NgtMakeProvider(NgtInputComponent),\n ],\n viewProviders: [\n { provide: ControlContainer, useExisting: NgForm }\n ]\n})\nexport class NgtInputComponent extends NgtBaseNgModel implements OnInit, OnDestroy {\n @ViewChild(\"element\", { static: true }) public element: ElementRef;\n\n // Visual\n @Input() public label: string;\n @Input() public placeholder: string = '';\n @Input() public shining: boolean;\n @Input() public loading: boolean;\n @Input() public helpTitle: string;\n @Input() public helpTextColor: string = 'text-green-500';\n @Input() public helpText: string;\n @Input() public innerLeftIcon: string;\n @Input() public innerLeftIconColor: string;\n @Input() public innerRightIcon: string;\n @Input() public innerRightIconColor: string;\n @Input() public decimalMaskPrecision: number = 2;\n\n //Behavior\n @Input() public isDisabled: boolean;\n @Input() public isReadonly: boolean;\n @Input() public type: string = 'text';\n @Input() public name: string;\n @Input() public mask: string;\n @Input() public focus: boolean;\n @Input() public allowClear: boolean;\n @Input() public jit: boolean;\n\n //Validations\n @Input() public findExistingResource: NgtHttpFindExistingResourceInterface;\n @Input() public isRequired: boolean;\n @Input() public uniqueResource: any;\n @Input() public minValue: number;\n @Input() public maxValue: number;\n @Input() public maxLength: number;\n @Input() public minLength: number;\n @Input() public match: string;\n @Input() public multipleOf: number;\n @Input() public externalServerDependency: boolean;\n\n @Output() public onClickLeftIcon: EventEmitter<any> = new EventEmitter<any>();\n @Output() public onClickRightIcon: EventEmitter<any> = new EventEmitter<any>();\n\n public existingResourceId: string;\n public componentReady: boolean;\n public inputProperties: {\n htmlType?: string;\n length?: number;\n } = {};\n\n public ngtStyle: NgtStylizableService;\n\n private emailValidatorTimeout: any;\n private uniqueValidatorTimeout: any;\n private searchExistingResourceTimeout: any;\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private injector: Injector,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n @Optional() @Host()\n public formContainer: ControlContainer,\n @Optional() @SkipSelf()\n private ngtFormComponent: NgtFormComponent,\n private renderer: Renderer2,\n @Optional() @SkipSelf()\n private ngtValidationService: NgtHttpValidationService,\n @Optional() @SkipSelf()\n private ngtResourceService: NgtHttpResourceService,\n private changeDetector: ChangeDetectorRef\n ) {\n super();\n\n if (this.ngtFormComponent) {\n this.shining = this.ngtFormComponent.isShining();\n\n this.subscriptions.push(\n this.ngtFormComponent.onShiningChange.subscribe((shining: boolean) => {\n this.shining = shining;\n })\n );\n }\n\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtInput', {\n h: 'h-12',\n rounded: 'rounded',\n color: {\n border: 'border-gray-400 focus:border-gray-700',\n bg: 'bg-bg-white focus:bg-white',\n text: 'text-gray-800'\n }\n });\n }\n\n public setFocus() {\n setTimeout(() => {\n this.element.nativeElement.focus();\n }, 200);\n }\n\n public clearInput(event?: Event) {\n if (event) {\n event.stopPropagation();\n }\n\n this.element.nativeElement.value = '';\n this.value = '';\n\n this.markAsPristine();\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n this.setupMasks(changes.mask ? changes.mask.previousValue : null);\n\n if (changes.match || changes.isRequired || changes.type || changes.mask || changes.minValue) {\n this.updateValidations();\n }\n }\n\n public ngOnDestroy() {\n this.destroySubscriptions();\n }\n\n public change(value: any) {\n if (value && typeof value === 'string' && this.mask == 'decimal') {\n value = parseFloat(value);\n }\n\n if (!this.getNativeValue()) {\n this.element.nativeElement.value = value;\n }\n\n if (!value && value !== 0) {\n this.clearInput();\n }\n\n let nativeValue = this.getNativeValue();\n\n if (this.mask) {\n let ngModelValue = this.removeMasks(nativeValue);\n\n if (nativeValue && ngModelValue != this.value) {\n this.value = ngModelValue;\n }\n } else {\n let ngModelValue = this.removeMasks(value);\n\n if (value && ngModelValue != value) {\n this.value = ngModelValue;\n }\n\n if (this.value != nativeValue) {\n this.element.nativeElement.value = ngModelValue;\n }\n }\n\n if (this.componentReady) {\n this.onValueChangeEvent.emit(this.value);\n }\n\n if (this.ngtResourceService && this.findExistingResource && this.value) {\n this.searchExistingResource();\n }\n }\n\n public ngOnInit() {\n if (!this.formContainer) {\n console.error(\"The element must be inside a <form #form='ngForm'> tag!\", this.element.nativeElement);\n }\n\n if (!this.name) {\n console.error(\"The element must contain a name attribute!\", this.element.nativeElement);\n } else {\n setTimeout(() => {\n this.componentReady = true;\n setTimeout(() => {\n this.initComponent();\n\n if (!this.getElementTitle() || this.getElementTitle() === 'null') {\n this.element.nativeElement.parentElement.parentElement.title = '';\n }\n });\n }, 500);\n }\n }\n\n public getInputPaddings() {\n let paddingClass: string = '';\n\n if (this.innerLeftIcon) {\n paddingClass += 'pl-8 pr-4 ';\n } else {\n paddingClass += 'px-4 ';\n }\n\n if (this.innerRightIcon || this.allowClear || this.type == 'password') {\n if (this.allowClear && this.value && (this.innerRightIcon || this.type == 'password')) {\n paddingClass += 'pr-16 ';\n } else {\n paddingClass += 'pr-8 ';\n }\n }\n\n return paddingClass;\n }\n\n public showPassword() {\n this.element.nativeElement.type = 'text';\n this.changeDetector.detectChanges();\n }\n\n public hidePassword() {\n this.element.nativeElement.type = 'password';\n this.changeDetector.detectChanges();\n }\n\n private initComponent() {\n if (this.formContainer && this.formContainer.control && (this.formControl = this.formContainer.control.get(this.name))) {\n if (this.focus) {\n this.setFocus();\n }\n\n let watch = \"change\";\n\n if (this.jit) {\n watch += \" keyup keydown keypress\";\n }\n\n watch.split(' ').forEach((evt) => {\n this.renderer.listen(this.element.nativeElement, evt, () => {\n let nativeValue = this.removeMasks(this.getNativeValue());\n\n if (this.value != nativeValue) {\n this.value = nativeValue;\n }\n });\n });\n\n this.renderer.listen(this.element.nativeElement, \"keydown\", (event) => {\n if (this.element.nativeElement && this.element.nativeElement.value && this.element.nativeElement.value.length >= this.maxLength) {\n // Backspace and delete\n if (event.keyCode != 8 && event.keyCode != 46) {\n event.preventDefault();\n\n return false;\n }\n }\n });\n\n this.updateValidations();\n\n if (this.match) {\n this.renderer.listen(this.element.nativeElement, \"keypress\", () => {\n this.matchValidator();\n });\n }\n\n if (this.value) {\n this.formControl.markAsDirty();\n } else {\n this.formControl.markAsPristine();\n }\n }\n\n this.setupProperties();\n }\n\n private updateValidations() {\n if (!this.formControl) {\n return;\n }\n\n const syncValidators = [];\n\n if (this.type == 'email') {\n syncValidators.push(Validators.email);\n }\n\n if (this.isRequired) {\n syncValidators.push(Validators.required);\n }\n\n if (this.maxLength) {\n syncValidators.push(Validators.maxLength(this.maxLength));\n }\n\n if (this.minLength) {\n syncValidators.push(Validators.minLength(this.minLength));\n }\n\n if (this.mask == 'cnpj-cpf') {\n syncValidators.push(this.cnpjCpfValidator());\n }\n\n if (this.mask == 'time') {\n syncValidators.push(this.timeValidator());\n }\n\n if (this.match) {\n syncValidators.push(this.matchValidator());\n }\n\n if (this.minValue !== undefined) {\n syncValidators.push(this.minValueValidator());\n }\n\n if (this.multipleOf) {\n syncValidators.push(this.multipleOfValidator());\n }\n\n if (this.externalServerDependency) {\n syncValidators.push(this.externalServerDependencyValidator());\n }\n\n setTimeout(() => {\n this.formControl.setValidators(syncValidators);\n\n const asyncValidators = [];\n\n if (this.uniqueResource) {\n asyncValidators.push(this.uniqueValidator());\n }\n\n if (this.type == 'email' && this.hasEmailServiceValidation()) {\n asyncValidators.push(this.emailValidator());\n }\n\n this.formControl.setAsyncValidators(asyncValidators);\n this.formControl.updateValueAndValidity();\n });\n }\n\n private setupMasks(previousMask?: string) {\n if (this.mask != previousMask && !this.mask) {\n Inputmask.remove(this.element.nativeElement);\n\n return this.clearInput();\n }\n\n let masks = {\n 'cpf': '999.999.999-99',\n 'cnpj': '99.999.999/9999-99',\n 'decimal': {\n digits: this.decimalMaskPrecision,\n groupSeparator: '.',\n radixPoint: ',',\n autoGroup: true,\n repeat: 16,\n rightAlign: false,\n max: this.maxValue,\n },\n 'cnpj-cpf': {\n mask: ['999.999.999-99', '99.999.999/9999-99'],\n keepStatic: true\n },\n 'cellphone': {\n mask: ['(99) 9999-9999', '(99) 99999-9999'],\n keepStatic: true\n },\n 'plate': {\n mask: ['AAA-9999', 'AAA9A99'],\n keepStatic: true\n },\n 'cep': '99999-999',\n 'integer': {\n max: this.maxValue,\n rightAlign: false\n },\n 'time': '99:99',\n };\n\n if (this.mask == \"decimal\") {\n Inputmask('decimal', masks[this.mask]).mask(this.element.nativeElement);\n } else if (this.mask == \"integer\") {\n Inputmask(\"integer\", masks[this.mask]).mask(this.element.nativeElement);\n } else {\n Inputmask(masks[this.mask]).mask(this.element.nativeElement);\n }\n }\n\n private setupProperties() {\n let props = {\n shortText: {\n htmlType: \"text\",\n length: 20\n },\n text: {\n htmlType: \"text\",\n length: 100\n },\n longText: {\n htmlType: \"text\",\n length: 150\n },\n extraLongText: {\n htmlType: \"text\",\n length: 300\n },\n password: {\n htmlType: \"password\",\n length: 150\n },\n email: {\n htmlType: \"text\",\n length: 100,\n },\n decimal: {\n htmlType: \"text\",\n length: 9,\n }\n };\n\n if (this.type in props) {\n this.inputProperties = props[this.type];\n this.maxLength = this.inputProperties.length;\n } else {\n console.warn(\"Type [\" + this.type + \"] is not a valid tail-form-input type!\", this.element.nativeElement);\n }\n }\n\n private minValueValidator() {\n return (control: AbstractControl) => parseFloat(control.value) < this.minValue ? { 'minValue': true } : null;\n }\n\n private multipleOfValidator() {\n return (control: AbstractControl) => {\n if (control.value) {\n return (control.value % this.multipleOf !== 0) ? { 'multipleOf': true } : null;\n }\n };\n }\n\n private externalServerDependencyValidator() {\n // TODO: Validar tempo de requisição\n return (control: AbstractControl) => !control.value ? { 'externalServerDependency': true } : null;\n }\n\n private timeValidator() {\n const regexExp = new RegExp('^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$');\n\n return (control: AbstractControl) => {\n if (control.value) {\n if (regexExp.test(control.value)) {\n return null;\n } else {\n return { 'time': true };\n }\n }\n };\n }\n\n private cnpjCpfValidator() {\n return (control: AbstractControl) => {\n if (!control.value) {\n return null;\n }\n\n if (control.value && control.value.length <= 11) {\n if (this.validatorCPF(control.value)) {\n return null;\n } else {\n return { 'cpf': true };\n }\n } else {\n if (control.value && this.validatorCNPJ(control.value)) {\n return null;\n } else {\n return { 'cnpj': true };\n }\n }\n };\n }\n\n private matchValidator() {\n return (control: AbstractControl) => {\n if (this.value != this.match) {\n return { 'match': true };\n } else {\n return null;\n }\n };\n }\n\n private emailValidator(): AsyncValidatorFn {\n if (!this.ngtValidationService) {\n throw new Error(\"In order to use email validation you must provide a implementation for NgtHttpValidationService class!\");\n }\n\n return (control: AbstractControl) => {\n if (this.emailValidatorTimeout) {\n clearTimeout(this.emailValidatorTimeout);\n }\n\n if (this.value) {\n return new Promise((resolve) => {\n this.emailValidatorTimeout = setTimeout(() => {\n this.loading = true;\n\n this.ngtValidationService.emailValidation(this.value).then((response: NgtHttpValidationResponse) => {\n this.loading = false;\n resolve(response.valid ? null : { 'email': true });\n }).catch(() => {\n this.loading = false;\n resolve(null);\n });\n }, 500);\n });\n }\n\n return Promise.resolve(null);\n };\n }\n\n private async searchExistingResource(): Promise<void> {\n if (this.searchExistingResourceTimeout) {\n clearTimeout(this.searchExistingResourceTimeout);\n }\n\n this.searchExistingResourceTimeout = setTimeout(() => {\n this.loading = true;\n this.findExistingResource.value = this.value;\n\n this.ngtResourceService.findExisting(this.findExistingResource)\n .then((response: NgtHttpFindExistingResourceResponse) => this.existingResourceId = response.id)\n .catch(() => this.existingResourceId = null)\n .finally(() => this.loading = false);\n }, 500);\n }\n\n private uniqueValidator(): AsyncValidatorFn {\n if (!this.ngtValidationService) {\n throw new Error(\"In order to use unique validation you must provide a implementation for NgtHttpValidationService class!\");\n }\n\n return (control: AbstractControl) => {\n if (this.uniqueValidatorTimeout) {\n clearTimeout(this.uniqueValidatorTimeout);\n }\n\n if (this.value && this.uniqueResource) {\n return new Promise((resolve) => {\n this.uniqueValidatorTimeout = setTimeout(() => {\n this.loading = true;\n\n this.ngtValidationService.unique(this.uniqueResource, this.value).then((response: NgtHttpValidationResponse) => {\n this.loading = false;\n\n resolve(response.valid ? null : { 'unique': true });\n }).catch(() => {\n this.loading = false;\n resolve(null);\n });\n }, 500);\n });\n }\n\n return Promise.resolve(null);\n };\n }\n\n private validatorCNPJ(value) {\n let b = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\n\n if ((value = value.replace(/[^\\d]/g, \"\")).length != 14) {\n return false;\n }\n\n if (/0{14}/.test(value)) {\n return false;\n }\n\n let n = 0;\n\n for (let i = 0; i < 12; n += value[i] * b[++i]) {\n ;\n }\n\n if (value[12] != (((n %= 11) < 2) ? 0 : 11 - n)) {\n return false;\n }\n\n n = 0;\n\n for (let i = 0; i <= 12; n += value[i] * b[i++]) {\n ;\n }\n\n if (value[13] != (((n %= 11) < 2) ? 0 : 11 - n)) {\n return false;\n }\n\n return true;\n };\n\n private validatorCPF(value) {\n let numeros, digitos, soma, i, resultado, digitos_iguais;\n\n digitos_iguais = 1;\n\n if (value.length < 11) {\n return false;\n }\n\n for (i = 0; i < value.length - 1; i++) {\n if (value.charAt(i) != value.charAt(i + 1)) {\n digitos_iguais = 0;\n break;\n }\n }\n\n if (!digitos_iguais) {\n numeros = value.substring(0, 9);\n digitos = value.substring(9);\n soma = 0;\n\n for (i = 10; i > 1; i--) {\n soma += numeros.charAt(10 - i) * i;\n }\n\n resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;\n\n if (resultado != digitos.charAt(0)) {\n return false;\n }\n\n numeros = value.substring(0, 10);\n soma = 0;\n\n for (i = 11; i > 1; i--) {\n soma += numeros.charAt(11 - i) * i;\n }\n\n resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;\n\n if (resultado != digitos.charAt(1)) {\n return false;\n }\n\n return true;\n } else {\n return false;\n }\n }\n\n private getNativeValue() {\n return this.element.nativeElement.value;\n }\n\n private getElementTitle(): string {\n return this.element.nativeElement.parentElement.parentElement.title;\n }\n\n private removeMasks(value: string) {\n if (this.mask == \"decimal\") {\n value = (value + \"\")\n .replace(/\\./g, '')\n .replace(',', '.');\n } else if (this.mask == \"cnpj-cpf\" || this.mask == \"cpf\" || this.mask == \"cnpj\") {\n value = (value + \"\")\n .replace('.', '')\n .replace('.', '')\n .replace('-', '')\n .replace('/', '');\n } else if (this.mask == \"cellphone\") {\n value = (value + \"\")\n .replace('(', '')\n .replace(')', '')\n .replace(' ', '')\n .replace('-', '');\n }\n\n return value;\n }\n\n private hasEmailServiceValidation(): boolean {\n return typeof this.ngtValidationService.emailValidation === 'function';\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { NgtFormModule } from '../ngt-form/ngt-form.module';\nimport { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\nimport { NgtShiningModule } from '../ngt-shining/ngt-shining.module';\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\nimport { NgtValidationModule } from '../ngt-validation/ngt-validation.module';\nimport { NgtInputComponent } from './ngt-input.component';\n\n@NgModule({\n declarations: [NgtInputComponent],\n exports: [NgtInputComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NgtValidationModule,\n NgtShiningModule,\n NgtSvgModule,\n NgtFormModule,\n NgtHelperModule\n ]\n})\nexport class NgtInputModule { }\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngt-modal-body',\n templateUrl: './ngt-modal-body.component.html',\n styleUrls: ['./ngt-modal-body.component.css']\n})\nexport class NgtModalBodyComponent { }\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngt-modal-footer',\n templateUrl: './ngt-modal-footer.component.html',\n styleUrls: ['./ngt-modal-footer.component.css']\n})\nexport class NgtModalFooterComponent { }\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectorRef, Component, EventEmitter, Injector, Input, Optional, Output, Self } from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\n\n@Component({\n selector: 'ngt-modal',\n templateUrl: './ngt-modal.component.html',\n styleUrls: ['./ngt-modal.component.css'],\n animations: [\n trigger('fade', [\n state('void', style({ opacity: 0 })),\n transition(':enter, :leave', [\n animate(300)\n ])\n ])\n ]\n})\nexport class NgtModalComponent {\n @Input() public customLayout: boolean = false;\n @Input() public disableDefaultCloses: boolean = false;\n @Input() public ngtStyle: NgtStylizableService;\n\n @Output() public onCloseModal: EventEmitter<any> = new EventEmitter();\n @Output() public onOpenModal: EventEmitter<any> = new EventEmitter();\n\n public isOpen: boolean = false;\n\n private keydownEventWasAdded: boolean = false;\n\n public constructor(\n private changeDetectorRef: ChangeDetectorRef,\n private injector: Injector,\n @Self() @Optional() private tailStylizableDirective: NgtStylizableDirective,\n ) {\n if (this.tailStylizableDirective) {\n this.ngtStyle = this.tailStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtModal', {\n w: 'md:max-w-md',\n py: 'py-4',\n px: 'px-6',\n overflow: 'overflow-visible',\n color: {}\n });\n }\n\n public close() {\n this.isOpen = false;\n this.changeDetectorRef.detectChanges();\n this.onCloseModal.emit();\n }\n\n public open() {\n this.isOpen = true;\n this.changeDetectorRef.detectChanges();\n this.addKeydownEventListener();\n this.onOpenModal.emit();\n }\n\n private addKeydownEventListener() {\n if (!this.disableDefaultCloses && !this.keydownEventWasAdded) {\n this.keydownEventWasAdded = true;\n\n window.addEventListener('keydown', (event: any) => {\n if (event.keyCode == 27) {\n this.close();\n }\n }, true);\n }\n }\n}\n","import { Component, Injector, Input, Optional, Self, SkipSelf } from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtModalComponent } from '../ngt-modal.component';\n\n@Component({\n selector: 'ngt-modal-header',\n templateUrl: './ngt-modal-header.component.html',\n styleUrls: ['./ngt-modal-header.component.css']\n})\nexport class NgtModalHeaderComponent {\n @Input() public ngtModal: NgtModalComponent;\n\n public ngtStyle: NgtStylizableService;\n\n public constructor(\n @Optional() @SkipSelf()\n private ngtModalInstance: NgtModalComponent,\n private injector: Injector,\n @Self() @Optional() private tailStylizableDirective: NgtStylizableDirective,\n ) {\n if (ngtModalInstance) {\n this.ngtModal = ngtModalInstance;\n }\n\n if (this.tailStylizableDirective) {\n this.ngtStyle = this.tailStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtModalHeader', {\n pb: 'pb-3',\n color: {}\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { NgtModalBodyComponent } from './ngt-modal-body/ngt-modal-body.component';\nimport { NgtModalFooterComponent } from './ngt-modal-footer/ngt-modal-footer.component';\nimport { NgtModalHeaderComponent } from './ngt-modal-header/ngt-modal-header.component';\nimport { NgtModalComponent } from './ngt-modal.component';\n\n@NgModule({\n declarations: [\n NgtModalComponent,\n NgtModalHeaderComponent,\n NgtModalBodyComponent,\n NgtModalFooterComponent\n ],\n exports: [\n NgtModalComponent,\n NgtModalHeaderComponent,\n NgtModalBodyComponent,\n NgtModalFooterComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class NgtModalModule { }\n","import { Component, Injector, Input, Optional, Self } from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\n\n@Component({\n selector: 'ngt-action',\n templateUrl: './ngt-action.component.html',\n styleUrls: ['./ngt-action.component.css']\n})\nexport class NgtActionComponent {\n @Input() public href: string;\n @Input() public icon: string;\n @Input() public ngtStyle: NgtStylizableService;\n @Input() public isDisabled: boolean;\n\n public constructor(\n private injector: Injector,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n ) {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtAction', {\n h: 'h-full',\n w: 'w-full',\n color: {\n bg: 'bg-gray-500',\n text: 'text-white',\n border: '',\n },\n text: 'text-xl',\n border: '',\n });\n }\n\n public onClick(event: Event) {\n if (this.isDisabled) {\n event.stopPropagation();\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { NgtActionComponent } from './ngt-action.component';\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\n\n@NgModule({\n declarations: [NgtActionComponent],\n exports: [NgtActionComponent],\n imports: [\n CommonModule,\n RouterModule,\n NgtSvgModule\n ]\n})\nexport class NgtActionModule { }\n","import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({ selector: '[ngt-select-option]' })\nexport class NgtSelectOptionTmp {\n public constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ngt-select-option-selected]' })\nexport class NgtSelectOptionSelectedTmp {\n public constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({ selector: '[ngt-select-header]' })\nexport class NgtSelectHeaderTmp {\n public constructor(public template: TemplateRef<any>) { }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ContentChild,\n DoCheck,\n EventEmitter,\n Host,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Self,\n SimpleChanges,\n SkipSelf,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AbstractControl, ControlContainer, NgForm } from '@angular/forms';\nimport { NgOption, NgSelectComponent } from '@ng-select/ng-select';\nimport { Observable, Observer, Subject, Subscription } from 'rxjs';\n\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { getEnumFromString } from '../../helpers/enum/enum';\nimport { uuid } from '../../helpers/uuid';\nimport { NgtHttpResponse, NgtHttpService } from '../../services/http/ngt-http.service';\nimport { NgtTranslateService } from '../../services/http/ngt-translate.service';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\nimport { NgtSelectHeaderTmp, NgtSelectOptionSelectedTmp, NgtSelectOptionTmp } from './ngt-select.directive';\n\n@Component({\n selector: 'ngt-select',\n templateUrl: './ngt-select.component.html',\n styleUrls: ['./ngt-select.component.css'],\n providers: [\n NgtMakeProvider(NgtSelectComponent)\n ],\n viewProviders: [\n { provide: ControlContainer, useExisting: NgForm }\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class NgtSelectComponent extends NgtBaseNgModel implements OnChanges, OnDestroy, OnInit, DoCheck {\n @ViewChild(NgSelectComponent, { static: true }) public ngSelectComponent: NgSelectComponent;\n @ContentChild(NgtSelectOptionTmp, { read: TemplateRef }) public ngtOptionTemplate: TemplateRef<any>;\n @ContentChild(NgtSelectOptionSelectedTmp, { read: TemplateRef }) public ngtOptionSelectedTemplate: TemplateRef<any>;\n @ContentChild(NgtSelectHeaderTmp, { read: TemplateRef }) public ngtSelectHeaderTemplate: TemplateRef<any>;\n\n /** Visual */\n @Input() public label: string = '';\n @Input() public labelIcon: string;\n @Input() public labelIconColor: string;\n @Input() public helpTitle: string;\n @Input() public helpText: string;\n @Input() public helpTextColor: string = 'text-green-500';\n @Input() public shining = false;\n @Input() public loading: boolean = false;\n @Input() public loadingText: string = '';\n @Input() public notFoundText: string = '';\n @Input() public dropdownPosition = 'auto';\n @Input() public typeToSearchText: string = '';\n @Input() public clearAllTooltip: string = '';\n @Input() public placeholder: string = '';\n @Input() public createText: string = '';\n @Input() public labelForId: string = '';\n @Input() public dropdownPanelMinHeight: NgtSelectDropdownPanelHeight = NgtSelectDropdownPanelHeight.AUTO;\n\n /** Behavior */\n @Input() public name: string;\n @Input() public allowCreate: boolean | Promise<any> | Function = false;\n @Input() public allowOriginalItemsUnselect: boolean = true;\n @Input() public isDisabled: boolean = false;\n @Input() public remoteResource: any;\n @Input() public hideSelected: boolean;\n @Input() public bindLabel: string = 'name';\n @Input() public bindValue: string;\n @Input() public items: Array<any> | Observable<any> = [];\n @Input() public closeOnSelect: boolean = true;\n @Input() public clearable: boolean = true;\n @Input() public groupBy: string | Function = null;\n @Input() public maxSelectedItems: number;\n @Input() public multiple: boolean = false;\n @Input() public searchable: boolean = true;\n @Input() public clearSearchOnAdd: boolean = true;\n @Input() public virtualScroll: boolean = true;\n @Input() public tabIndex: number;\n @Input() public typeahead: Subject<any>;\n @Input() public groupValue: (groupKey: string, cildren: any[]) => Object;\n @Input() public trackBy: (item: any) => any;\n\n /** Validation */\n @Input() public isRequired: boolean = false;\n\n @Output() public onLoadRemoteResource: EventEmitter<any> = new EventEmitter<any>();\n\n public nativeName = uuid();\n public ngtStyle: NgtStylizableService;\n public ngSelectItems: any = [];\n public nativeValue: any;\n public componentReady: boolean = false;\n\n private ngSearchObserver: Observer<any>;\n private originalPerPage = 15;\n private subscriptions: Array<Subscription> = [];\n private originalItems: Array<any>;\n\n private currentState = {\n filters: {},\n sort: {\n field: '',\n direction: ''\n },\n pagination: {\n count: null,\n page: 1,\n pages: null,\n total: null,\n from: null,\n to: null,\n per_page: null\n }\n };\n\n private searchTimeout: any;\n private becameVisible: boolean;\n\n public constructor(\n @Optional() @Self()\n public ngtStylizableDirective: NgtStylizableDirective,\n private injector: Injector,\n @Optional() @Host()\n public formContainer: ControlContainer,\n @Optional() @SkipSelf()\n public ngtFormComponent: NgtFormComponent,\n private ngtHttp: NgtHttpService,\n private changeDetector: ChangeDetectorRef,\n @Optional()\n public ngtTranslateService: NgtTranslateService\n ) {\n super();\n\n if (this.ngtFormComponent) {\n this.shining = this.ngtFormComponent.isShining();\n\n this.subscriptions.push(\n this.ngtFormComponent.onShiningChange.subscribe((shining: boolean) => {\n this.shining = shining;\n })\n );\n }\n\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtSelect', {\n h: 'h-12',\n color: {\n bg: 'bg-white'\n }\n });\n }\n\n @Input() public compareWith = (a: any, b: any) => a === b;\n\n public ngOnInit() {\n if (!this.formContainer) {\n console.error(\"The element must be inside a <form #form='ngForm'> tag!\");\n }\n\n if (!this.name) {\n console.error(\"The element must contain a name attribute!\");\n }\n\n if (!this.multiple && this.isRequired) {\n this.clearable = false;\n }\n\n if (this.multiple) {\n this.closeOnSelect = false;\n }\n\n setTimeout(() => {\n this.componentReady = true;\n this.initComponentValidation();\n }, 500);\n\n this.ngSelectItems = new Observable((observer) => {\n this.ngSearchObserver = observer;\n observer.next([]);\n });\n }\n\n public ngAfterViewInit() {\n this.bindInnerInputUniqueId();\n }\n\n public ngDoCheck() {\n if (!this.becameVisible && !this.isHidden()) {\n this.becameVisible = true;\n\n this.initNgSelectItems();\n\n setTimeout(() => {\n this.replaceShowAddTag();\n\n this.ngSelectComponent.itemsList.mapSelectedItems();\n\n if (!this.getElementTitle() || this.getElementTitle() === 'null') {\n this.ngSelectComponent.element.parentElement.parentElement.parentElement.title = '';\n }\n\n this.originalItems = this.ngSelectComponent.selectedItems?.map((element) => element.value);\n\n this.changeDetector.detectChanges();\n }, 500);\n }\n }\n\n public ngOnDestroy() {\n this.destroySubscriptions();\n }\n\n public removeItem(event: Event, item: any) {\n event.preventDefault();\n event.stopPropagation();\n\n return this.ngSelectComponent.clearItem(item);\n }\n\n public refresh() {\n this.initNgSelectItems();\n this.initComponentValidation();\n }\n\n public reset() {\n this.value = undefined;\n this.nativeValue = undefined;\n this.refresh();\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (changes.isRequired) {\n this.updateValidations();\n }\n\n if ((changes.remoteResource && this.becameVisible) || changes.items) {\n this.initNgSelectItems();\n }\n\n if (changes.dropdownPanelMinHeight) {\n this.dropdownPanelMinHeight = getEnumFromString(changes.dropdownPanelMinHeight.currentValue, NgtSelectDropdownPanelHeight);\n }\n }\n\n public setFocus() {\n setTimeout(() => {\n this.ngSelectComponent.focus();\n });\n }\n\n public onClearSelect() {\n if (!this.nativeValue) {\n this.markAsPristine();\n }\n\n this.currentState.filters = {};\n }\n\n public onRemoveSelectedItem(item: NgOption) {\n if (!this.allowOriginalItemsUnselect && this.hadPreviousSelection(item.value)) {\n setTimeout(() => this.ngSelectComponent.select(item));\n }\n }\n\n public getFilterInputValue() {\n let inputField = this.ngSelectComponent.searchInput ?\n this.ngSelectComponent.searchInput :\n this.ngSelectComponent['searchInput'];\n\n if (\n inputField &&\n inputField.nativeElement\n ) {\n return inputField.nativeElement.value;\n }\n }\n\n public search(filters: any) {\n this.currentState.filters = { ...this.currentState.filters, ...filters };\n\n if (!this.remoteResource) {\n return;\n }\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.loading = true;\n this.changeDetector.detectChanges();\n\n this.searchTimeout = setTimeout(() => {\n this.subscriptions.push(\n this.ngtHttp\n .get(this.remoteResource, this.currentState.filters, this.currentState.pagination)\n .subscribe(\n (response: NgtHttpResponse) => {\n this.loading = false;\n this.ngSearchObserver.next(response.data);\n this.onLoadRemoteResource.emit(response.data);\n this.currentState.pagination = response.meta.pagination;\n this.changeDetector.detectChanges();\n },\n (error) => {\n this.loading = false;\n this.changeDetector.detectChanges();\n console.error(error);\n this.ngSearchObserver.next([]);\n }\n )\n );\n }, 500);\n }\n\n public onNativeChange(value) {\n if (this.hasChangesBetweenModels(this.value, value)) {\n this.value = value;\n }\n }\n\n public change(value) {\n if (this.hasChangesBetweenModels(value, this.nativeValue)) {\n if (Array.isArray(value)) {\n value = value.map((val) => val);\n }\n\n this.nativeValue = value;\n\n if (!value) {\n this.markAsPristine();\n }\n }\n }\n\n public onScroll({ end }) {\n let currentPerPage = this.currentState.pagination.per_page;\n let maxItensInBackend = this.currentState.pagination.total;\n\n if (end >= currentPerPage && end <= maxItensInBackend) {\n this.currentState.pagination.per_page = parseInt(this.currentState.pagination.per_page) + this.originalPerPage;\n this.search({});\n }\n }\n\n public hasSelectedValue() {\n return this.value && JSON.stringify(this.value);\n }\n\n public getSelectClass() {\n let selectClass = this.dropdownPanelMinHeight ? 'ng-select-dropdown-panel-' + this.dropdownPanelMinHeight : 'ng-select-dropdown-panel-auto';\n\n if (this.isDisabled) {\n selectClass += ' select-border-disabled';\n } else if (this.formControl && this.formControl.errors && (this.formControl.dirty || (this.formContainer && this.formContainer['submitted']))) {\n selectClass += ' select-border-error';\n } else {\n selectClass += ' select-border-normal';\n }\n\n if (this.multiple) {\n selectClass += ` h-auto ${this.ngtStyle.compile(['color.bg', 'color.text'])}`;\n } else {\n selectClass += ` ${this.ngtStyle.compile(['h', 'color.bg', 'color.text'])}`;\n }\n\n return selectClass;\n }\n\n private initNgSelectItems() {\n if (this.remoteResource && this.becameVisible) {\n this.ngSelectItems = new Observable(observer => {\n this.ngSearchObserver = observer;\n this.search({});\n });\n\n this.typeahead = new Subject();\n\n this.subscriptions.push(\n this.typeahead.subscribe((term) => {\n this.search({ term: term });\n })\n );\n } else if (this.items instanceof Observable) {\n this.ngSelectItems = this.items;\n } else {\n if (!this.items) {\n this.items = [];\n }\n\n this.ngSelectItems = new Observable((observer) => {\n this.ngSearchObserver = observer;\n observer.next(this.items);\n });\n }\n }\n\n private initComponentValidation() {\n if (this.formContainer && this.formContainer.control && (this.formControl = this.formContainer.control.get(this.name))) {\n this.formControl = this.formContainer.control.get(this.name);\n this.markAsPristine();\n this.updateValidations();\n }\n }\n\n private getElementTitle(): string {\n return this.ngSelectComponent.element.parentElement.parentElement.parentElement.title;\n }\n\n private hasChangesBetweenModels(value, nativeValue) {\n return JSON.stringify(value) !== JSON.stringify(nativeValue);\n }\n\n private updateValidations() {\n if (!this.formControl) {\n return;\n }\n\n let syncValidators = [];\n\n if (this.isRequired) {\n syncValidators.push(this.isRequiredValidator());\n }\n\n setTimeout(() => {\n this.formControl.setValidators(syncValidators);\n this.formControl.updateValueAndValidity();\n });\n }\n\n private isRequiredValidator() {\n return (control: AbstractControl) => {\n if (this.multiple) {\n if (Array.isArray(this.value) && this.value.length > 0) {\n return null;\n }\n } else if (control.value && JSON.stringify(control.value)) {\n return null;\n }\n\n return { 'required': true };\n };\n }\n\n private replaceShowAddTag() {\n Object.defineProperty(this.ngSelectComponent, 'showAddTag', {\n get: () => {\n if (!this.ngSelectComponent['searchTerm']) {\n return false;\n }\n\n const term = this.ngSelectComponent['searchTerm'].toLocaleLowerCase();\n\n return this.ngSelectComponent.addTag && !this.ngSelectComponent.loading\n && (!this.hasTermInFilteredItems(term) && (!this.hasTermInSelectedItems(term)\n || !this.ngSelectComponent.hideSelected && this.ngSelectComponent.isOpen));\n }\n });\n }\n\n private bindInnerInputUniqueId() {\n const childInputs = this.ngSelectComponent.element.getElementsByTagName('input');\n\n if (childInputs?.length) {\n const innerInput = childInputs[0];\n\n innerInput.id = uuid();\n }\n }\n\n private hasTermInFilteredItems(term: string) {\n const filteredItems = this.ngSelectComponent.itemsList.filteredItems;\n\n if (this.isColoquentResource()) {\n return filteredItems.some((element: any) => {\n const elementValue = (<any>element.value).getAttribute(this.bindLabel);\n\n return elementValue && elementValue.toLocaleLowerCase() === term;\n });\n }\n\n return filteredItems.some((element: any) => {\n const elementValue = (<any>element.value)[this.bindLabel];\n\n return elementValue && elementValue.toLocaleLowerCase() === term;\n });\n }\n\n private hasTermInSelectedItems(term: string) {\n const selectedItems = this.ngSelectComponent.selectedItems;\n\n if (this.isColoquentResource()) {\n return selectedItems.some((element: any) => {\n const elementValue = (<any>element.value).getAttribute(this.bindLabel);\n\n return elementValue && elementValue.toLocaleLowerCase() === term;\n });\n }\n\n return selectedItems.some((element: any) => {\n const elementValue = (<any>element.value)[this.bindLabel];\n\n return elementValue && elementValue.toLocaleLowerCase() === term;\n });\n }\n\n private hadPreviousSelection(item: any): boolean {\n return !!this.originalItems?.find(element => this.compareWith(element, item));\n }\n\n private isColoquentResource() {\n const filteredItems = this.ngSelectComponent.itemsList.filteredItems;\n\n return filteredItems && filteredItems.length && typeof filteredItems[0].value['getAttribute'] === 'function';\n }\n\n private isHidden(): boolean {\n return this.ngSelectComponent.element.offsetParent === null;\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n\nexport enum NgtSelectDropdownPanelHeight {\n AUTO = 'auto',\n XS = 'xs',\n MD = 'md',\n SM = 'sm',\n LG = 'lg',\n XL = 'xl'\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\nimport { NgtFormModule } from '../ngt-form/ngt-form.module';\nimport { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\nimport { NgtShiningModule } from '../ngt-shining/ngt-shining.module';\nimport { NgtValidationModule } from '../ngt-validation/ngt-validation.module';\nimport { NgtSelectComponent } from './ngt-select.component';\nimport { NgtSelectHeaderTmp, NgtSelectOptionSelectedTmp, NgtSelectOptionTmp } from './ngt-select.directive';\nimport {NgtSvgModule} from \"../ngt-svg/ngt-svg.module\";\n\n@NgModule({\n declarations: [\n NgtSelectComponent,\n NgtSelectOptionTmp,\n NgtSelectOptionSelectedTmp,\n NgtSelectHeaderTmp\n ],\n exports: [\n NgtSelectComponent,\n NgtSelectOptionTmp,\n NgtSelectOptionSelectedTmp,\n NgtSelectHeaderTmp\n ],\n imports: [\n CommonModule,\n FormsModule,\n NgSelectModule,\n NgtValidationModule,\n NgtFormModule,\n NgtShiningModule,\n NgtHelperModule,\n NgtSvgModule\n ]\n})\nexport class NgtSelectModule { }\n","import { Component, EventEmitter, Injector, Input, Optional, Output } from '@angular/core';\n\nimport { NgtHttpMeta, NgtHttpPagination } from '../../services/http/ngt-http.service';\nimport { NgtTranslateService } from '../../services/http/ngt-translate.service';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\n\n@Component({\n selector: 'ngt-pagination',\n templateUrl: './ngt-pagination.component.html',\n styleUrls: ['./ngt-pagination.component.css']\n})\nexport class NgtPaginationComponent {\n @Input() public pagesInterval: number;\n\n @Output() public onPageChange: EventEmitter<number> = new EventEmitter();\n @Output() public onPerPageChange: EventEmitter<number> = new EventEmitter();\n\n /** Styles */\n public ngtPaginationActivePageButtonStyle: NgtStylizableService;\n public ngtPaginationNextPreviousButtonStyle: NgtStylizableService;\n public ngtPaginationNextPreviousSectionButtonStyle: NgtStylizableService;\n public ngtPaginationFirstLastButtonStyle: NgtStylizableService;\n public ngtPaginationPageButtonStyle: NgtStylizableService;\n\n public sectionStartPage: number;\n public sectionEndPage: number;\n public displayNextSectionButton: boolean;\n public displayPreviousSectionButton: boolean;\n public displayPagination: boolean = true;\n\n public pagination: NgtHttpPagination = {\n count: null,\n page: 1,\n pages: null,\n total: null,\n from: null,\n to: null,\n per_page: null\n };\n\n public pages = [];\n\n public registersPerPageOptions = [\n 5, 10, 15, 30, 50, 100\n ];\n\n public currentRegistersPerPage: number = 15;\n\n public constructor(\n private injector: Injector,\n @Optional()\n public ngtTranslateService: NgtTranslateService\n ) {\n this.ngtPaginationNextPreviousButtonStyle = new NgtStylizableService();\n this.ngtPaginationNextPreviousSectionButtonStyle = new NgtStylizableService();\n this.ngtPaginationFirstLastButtonStyle = new NgtStylizableService();\n this.ngtPaginationActivePageButtonStyle = new NgtStylizableService();\n this.ngtPaginationPageButtonStyle = new NgtStylizableService();\n\n this.ngtPaginationNextPreviousButtonStyle.load(this.injector, 'NgtPaginationNextPreviousButton', {\n h: 'h-8',\n w: 'w-8',\n color: {\n text: 'text-white',\n bg: 'bg-gray-700'\n }\n });\n\n this.ngtPaginationNextPreviousSectionButtonStyle.load(this.injector, 'NgtPaginationNextPreviousButton', {\n h: 'h-8',\n w: 'w-8',\n color: {\n text: 'text-white',\n bg: 'bg-gray-300'\n }\n });\n\n this.ngtPaginationFirstLastButtonStyle.load(this.injector, 'NgtPaginationFirstLastButton', {\n h: 'h-8',\n w: 'w-8',\n color: {\n text: 'text-white',\n bg: 'bg-gray-900'\n }\n });\n\n this.ngtPaginationActivePageButtonStyle.load(this.injector, 'NgtPaginationActivePageButton', {\n h: 'h-8',\n w: 'w-8',\n color: {\n text: 'text-white',\n bg: 'bg-gray-500'\n }\n });\n\n this.ngtPaginationPageButtonStyle.load(this.injector, 'NgtPaginationPageButton', {\n h: 'h-8',\n w: 'w-8',\n color: {\n text: 'text-white',\n bg: 'bg-gray-300'\n }\n });\n }\n\n public onRegistersPerPageChange(value: any) {\n if (value && this.pagination.per_page != value) {\n this.pagination.per_page = value;\n this.currentRegistersPerPage = value;\n\n this.onPerPageChange.emit(value);\n }\n }\n\n public async goToPage(page: number) {\n this.onPageChange.emit(page);\n }\n\n public async goToPreviousPage() {\n if ((this.pagination.page - 1) > 0) {\n return this.goToPage(this.pagination.page - 1);\n }\n }\n\n public async goToNextPage() {\n if ((this.pagination.page + 1) <= this.pagination.pages) {\n return this.goToPage(this.pagination.page + 1);\n }\n }\n\n public async goToPreviousSection() {\n return this.goToPage(this.sectionStartPage - 1);\n }\n\n public async goToNextSection() {\n return this.goToPage(this.sectionEndPage + 1);\n }\n\n public async goToFirstPage() {\n if (this.pagination.page != 1) {\n return this.goToPage(1);\n }\n }\n\n public async goToLastPage() {\n if (this.pagination.page != this.pagination.pages) {\n return this.goToPage(this.pagination.pages);\n }\n }\n\n public getCurrentPage() {\n return this.pagination.page;\n }\n\n public getPagination() {\n return this.pagination;\n }\n\n public proccessPagination(meta: NgtHttpMeta) {\n this.pages = [];\n this.pagination = meta.pagination;\n\n this.sectionStartPage = Math.floor((this.pagination.page - 1) / this.pagesInterval) * this.pagesInterval + 1;\n this.sectionEndPage = this.sectionStartPage + (this.pagesInterval - 1);\n\n const totalPages = this.pagination.pages;\n\n for (let i = this.sectionStartPage; i <= this.sectionEndPage && i <= totalPages; i++) {\n this.pages.push(i);\n }\n\n this.bindDisplayedButtonSections(this.sectionStartPage, this.sectionEndPage, totalPages);\n this.displayPagination = true;\n }\n\n public resetPagination() {\n this.pagination = {\n count: null,\n page: 1,\n pages: null,\n total: null,\n from: null,\n to: null,\n per_page: null\n };\n }\n\n private bindDisplayedButtonSections(sectionStartPage: number, sectionEndPage: number, totalPages: number) {\n this.displayPreviousSectionButton = sectionStartPage > 1 ? true : false;\n this.displayNextSectionButton = sectionEndPage < totalPages ? true : false;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { NgtStylizableModule } from '../../directives/ngt-stylizable/ngt-stylizable.module';\nimport { NgtActionModule } from '../ngt-action/ngt-action.module';\nimport { NgtSelectModule } from '../ngt-select/ngt-select.module';\nimport { NgtPaginationComponent } from './ngt-pagination.component';\n\n@NgModule({\n declarations: [NgtPaginationComponent],\n exports: [NgtPaginationComponent],\n imports: [\n CommonModule,\n FormsModule,\n NgtStylizableModule,\n NgtActionModule,\n NgtSelectModule,\n ]\n})\nexport class NgtPaginationModule { }\n","import { Component, Injector, Input, Optional, Self } from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\n\n@Component({\n selector: 'ngt-tag',\n templateUrl: './ngt-tag.component.html',\n styleUrls: ['./ngt-tag.component.css']\n})\nexport class NgtTagComponent {\n @Input() public icon: string;\n\n public ngtStyle: NgtStylizableService;\n\n public constructor(\n private injector: Injector,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n ) {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'Tag', {\n color: {\n bg: 'bg-gray-500',\n text: 'text-white'\n }\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\nimport { NgtTagComponent } from './ngt-tag.component';\n\n@NgModule({\n declarations: [NgtTagComponent],\n exports: [NgtTagComponent],\n imports: [\n CommonModule,\n NgtSvgModule\n ]\n})\nexport class NgtTagModule { }\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { getEnumFromString } from '../../helpers/enum/enum';\nimport { NgtHttpPagination, NgtHttpResponse, NgtHttpService } from '../../services/http/ngt-http.service';\nimport { NgtTranslateService } from '../../services/http/ngt-translate.service';\nimport { NgtInputComponent } from '../ngt-input/ngt-input.component';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.component';\nimport { NgtPaginationComponent } from '../ngt-pagination/ngt-pagination.component';\n\n@Component({\n selector: 'ngt-datatable',\n templateUrl: './ngt-datatable.component.html',\n styleUrls: ['./ngt-datatable.component.css']\n})\nexport class NgtDatatableComponent implements OnInit, OnDestroy {\n @ViewChild('table', { static: true }) public table: ElementRef;\n @ViewChild('ngtPagination', { static: true }) public ngtPagination: NgtPaginationComponent;\n @ViewChild('searchModal', { static: true }) public searchModal: NgtModalComponent;\n\n @Input() public remoteResource: any;\n @Input() public type: NgtDatatableType = NgtDatatableType.REMOTE;\n @Input() public filterTagBgColor: string = 'bg-blue-500';\n @Input() public inputSearch: NgtInputComponent;\n @Input() public searchDelay: number = 500;\n @Input() public searchTermMinLength: number = 1;\n @Input() public searchTermOnEnter: boolean = true;\n @Input() public defaultFilters: any = {};\n @Input() public filtersDescription = {};\n\n @Output() public onDataChange: EventEmitter<any> = new EventEmitter();\n @Output() public onClearFilter: EventEmitter<any> = new EventEmitter();\n @Output() public onClearSelectedElements: EventEmitter<any> = new EventEmitter();\n @Output() public onSelectedElementsChange: EventEmitter<Array<NgtCheckedElement>> = new EventEmitter();\n @Output() public onToogleAllCheckboxes: EventEmitter<any> = new EventEmitter();\n @Output() public onToogleCheckbox: EventEmitter<NgtCheckedElement> = new EventEmitter();\n @Output() public onOpenSearchModal: EventEmitter<string> = new EventEmitter();\n @Output() public onSearch: EventEmitter<any> = new EventEmitter();\n\n public searchModalTemplate: TemplateRef<any>;\n public data = [];\n public loading = false;\n public cleaningFilter = false;\n public componentReady = false;\n public filtersTranslated = [];\n public emptyStateVisible: boolean;\n public columnCount = [];\n public selectedElements: Array<NgtCheckedElement> = [];\n\n private searching: boolean;\n private searchTimeout: any;\n private subscriptions: Array<Subscription> = [];\n private currentState = {\n filters: {\n defaultFilters: {},\n silentFilters: {},\n qualifiedFilters: {},\n },\n sort: {\n field: '',\n direction: ''\n }\n };\n\n public constructor(\n private injector: Injector,\n private ngtHttpService: NgtHttpService,\n private changeDetector: ChangeDetectorRef,\n @Optional()\n public ngtTranslateService: NgtTranslateService\n ) { }\n\n public ngOnInit() {\n if (this.table && this.table.nativeElement && this.table.nativeElement.rows\n && this.table.nativeElement.rows[0] && this.table.nativeElement.rows[0].cells) {\n this.columnCount = this.table.nativeElement.rows[0].cells;\n }\n\n if (this.inputSearch) {\n this.initSearchWithInput();\n }\n\n this.initCheckboxEvent();\n\n if (this.searchDelay == 500) {\n this.searchDelay = this.injector.get('NgtDatatableSearchDelay', 500);\n }\n\n if (this.searchTermMinLength == 1) {\n this.searchTermMinLength = this.injector.get('NgtDatatableSearchTermMinLength', 1);\n }\n }\n\n public ngOnDestroy() {\n this.destroySubscriptions();\n }\n\n public setSearchModalTemplate(template: TemplateRef<any>) {\n this.searchModalTemplate = template;\n }\n\n public openSearchModal(reference?: string) {\n this.searchModal.open();\n this.onOpenSearchModal.emit(reference);\n }\n\n public clearSelectedElements() {\n this.selectedElements = [];\n this.onClearSelectedElements.emit();\n }\n\n public getCurrentState() {\n return this.currentState;\n }\n\n public init() {\n this.componentReady = true;\n }\n\n public async search(\n filters: Object,\n searchType: NgtDatatableSearchType = NgtDatatableSearchType.DEFAULT,\n applyDelayOnSearch: boolean = true\n ) {\n if (this.canApplyFilters(filters)) {\n this.onSearch.emit(filters);\n\n if (searchType == NgtDatatableSearchType.DEFAULT) {\n this.currentState.filters.defaultFilters = { ...this.currentState.filters.defaultFilters, ...filters };\n } else {\n this.currentState.filters.silentFilters = { ...this.currentState.filters.silentFilters, ...filters };\n }\n\n this.applyFiltersDescription();\n\n return this.apply(1, applyDelayOnSearch);\n }\n }\n\n public async sort(field: any, direction: any) {\n this.currentState.sort = {\n field: field,\n direction: direction\n };\n\n return this.apply(this.ngtPagination.getCurrentPage());\n }\n\n public async refresh(stayInPage: NgtDatatableParam = NgtDatatableParam.RESET_PAGE, loader: NgtDatatableParam = NgtDatatableParam.ENABLE_LOADER) {\n return this.apply(\n stayInPage ? this.ngtPagination.getCurrentPage() : 1,\n false,\n loader\n ).then(() => !this.data?.length ? this.apply(1, false) : null);\n }\n\n public getData() {\n return this.data;\n }\n\n public getCurrentSort() {\n return this.currentState.sort;\n }\n\n public setPerPage(perPage: number) {\n this.ngtPagination.onRegistersPerPageChange(perPage);\n }\n\n public applyFiltersDescription() {\n if (!this.cleaningFilter) {\n this.filtersTranslated = [];\n\n for (let reference in this.currentState.filters.defaultFilters) {\n if (this.filtersDescription[reference] && this.currentState.filters.defaultFilters[reference]) {\n this.filtersTranslated.push({\n reference: reference,\n value: this.currentState.filters.defaultFilters[reference],\n translation: this.filtersDescription[reference]\n });\n }\n }\n }\n }\n\n public setFilterDescription(reference: string, description: string) {\n this.filtersDescription[reference] = description;\n }\n\n public removeFilter(reference?: any) {\n this.cleaningFilter = true;\n\n if (!reference) {\n this.currentState.filters.defaultFilters = {};\n this.currentState.filters.silentFilters = {};\n this.filtersTranslated = [];\n } else {\n delete this.currentState.filters.defaultFilters[reference];\n delete this.currentState.filters.silentFilters[reference];\n\n this.filtersTranslated = this.filtersTranslated.filter(element => element && element.reference !== reference);\n }\n\n this.onClearFilter.emit(reference);\n\n if (this.inputSearch && (reference === 'term' || !reference)) {\n this.inputSearch.clearInput();\n }\n\n this.apply(this.ngtPagination.getCurrentPage(), false).then(() => this.cleaningFilter = false);\n }\n\n public hasAppliedFilter(filter: Object | NgtCustomFilter | string): boolean {\n const reference: string = typeof filter === 'string' ? filter : Object.keys(filter ?? {})[0];\n const appliedFilters = this.currentState.filters.qualifiedFilters;\n\n return !!Object.keys(appliedFilters).find(key => key == reference);\n }\n\n public hasAppliedFilters(searchType: NgtDatatableSearchType = NgtDatatableSearchType.DEFAULT) {\n let appliedFilters = {};\n\n if (searchType == NgtDatatableSearchType.DEFAULT) {\n appliedFilters = this.currentState.filters.defaultFilters;\n } else if (searchType == NgtDatatableSearchType.SILENT) {\n appliedFilters = this.currentState.filters.silentFilters;\n } else {\n appliedFilters = { ...this.currentState.filters.defaultFilters, ...this.currentState.filters.silentFilters };\n }\n\n return !!Object.values(appliedFilters)?.find(filter => !!filter);\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (changes.inputSearch) {\n if (changes.inputSearch.currentValue) {\n this.initSearchWithInput();\n }\n }\n\n if (changes.type) {\n this.type = getEnumFromString(changes.type.currentValue, NgtDatatableType);\n }\n }\n\n public async apply(page = 1, applyDelayOnSearch: boolean = true, loader: NgtDatatableParam = NgtDatatableParam.ENABLE_LOADER) {\n return new Promise<void>(resolve => {\n if (!this.componentReady) {\n return resolve();\n } else if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.ngtPagination.displayPagination = false;\n this.selectedElements = [];\n\n if (this.type === NgtDatatableType.REMOTE) {\n if (this.remoteResource) {\n if (loader) {\n this.loading = true;\n this.bindVisibilityAttributes();\n }\n\n if (applyDelayOnSearch) {\n this.searchTimeout = setTimeout(() => {\n this.loadData(page).then(() => resolve());\n }, this.searchDelay);\n } else {\n this.loadData(page).then(() => resolve());\n }\n } else {\n console.error('The property [remoteResource] needs to be present to be able to make remote search');\n }\n } else if (this.type == NgtDatatableType.FIXED) {\n this.bindVisibilityAttributes();\n\n resolve();\n }\n });\n }\n\n private loadData(page: number) {\n return new Promise<void>((resolve, reject) => {\n const pagination: NgtHttpPagination = { ...this.ngtPagination.getPagination(), ...{ page: page } };\n\n this.currentState.filters.qualifiedFilters = this.getQualifiedFilters();\n this.searching = true;\n\n if (this.inputSearch) {\n this.inputSearch.isDisabled = true;\n }\n\n this.subscriptions.push(\n this.ngtHttpService.get(\n this.remoteResource, this.currentState.filters.qualifiedFilters, pagination, this.currentState.sort\n ).subscribe(\n (response: NgtHttpResponse) => {\n this.proccessRemoteResponse(response.data);\n this.ngtPagination.proccessPagination(response.meta);\n\n this.searching = false;\n this.loading = false;\n\n if (this.inputSearch) {\n this.inputSearch.isDisabled = false;\n }\n\n this.onDataChange.emit(this.data);\n this.bindVisibilityAttributes();\n\n resolve();\n },\n (error) => {\n console.error(error);\n this.loading = false;\n this.inputSearch.isDisabled = false;\n this.changeDetector.detectChanges();\n\n reject();\n }\n )\n );\n });\n }\n\n private getQualifiedFilters() {\n const qualifiedFilters = {};\n const requestedFilters = { ...this.currentState.filters.defaultFilters, ...this.currentState.filters.silentFilters };\n\n if (requestedFilters) {\n for (const reference in requestedFilters) {\n const filter = requestedFilters[reference];\n\n if (this.isValidFilter(filter)) {\n if (filter instanceof NgtCustomFilter) {\n if (filter.tagLabel) {\n this.filtersDescription[reference] = filter.tagLabel;\n this.applyFiltersDescription();\n }\n\n qualifiedFilters[reference] = filter.term;\n } else {\n qualifiedFilters[reference] = filter;\n }\n }\n }\n }\n\n return qualifiedFilters;\n }\n\n private bindVisibilityAttributes() {\n this.changeDetector.detectChanges();\n\n if (this.type == NgtDatatableType.REMOTE && !this.data.length && !this.loading) {\n this.emptyStateVisible = true;\n } else if (this.type == NgtDatatableType.FIXED) {\n this.emptyStateVisible = false;\n } else {\n this.emptyStateVisible = false;\n }\n\n this.changeDetector.detectChanges();\n }\n\n private proccessRemoteResponse(response: any) {\n this.data = response;\n }\n\n private initSearchWithInput() {\n this.subscriptions.push(\n this.inputSearch.onValueChange().subscribe((value: string) => {\n if (this.currentState.filters.defaultFilters['term']) {\n if (!value) {\n this.removeFilter('term');\n } else if (value.length < this.searchTermMinLength) {\n delete this.currentState.filters.defaultFilters['term'];\n\n this.search({ term: '' });\n }\n }\n\n if (value.length >= this.searchTermMinLength) {\n this.search({ term: value });\n }\n })\n );\n\n if (this.searchTermOnEnter) {\n this.inputSearch.element.nativeElement.addEventListener('keydown', (event: any) => {\n event.stopImmediatePropagation();\n\n if (event.keyCode == 13) {\n if (this.inputSearch.value && this.inputSearch.value.length >= this.searchTermMinLength) {\n this.apply(1, false);\n }\n }\n });\n }\n }\n\n private initCheckboxEvent() {\n this.subscriptions.push(\n this.onToogleCheckbox.subscribe((checkedElement: NgtCheckedElement) => {\n this.selectedElements = this.selectedElements.filter(item => item.id !== checkedElement.id);\n\n if (checkedElement.checked) {\n this.selectedElements.push(checkedElement);\n }\n\n this.onSelectedElementsChange.emit(this.selectedElements);\n })\n );\n }\n\n private canApplyFilters(filters: Object): boolean {\n if (!this.searching) {\n for (const reference in filters) {\n if (this.isValidFilter(filters[reference])) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n private isValidFilter(filter: Object | NgtCustomFilter): boolean {\n const value: string | NgtCustomFilter = Object.values(filter ?? {})[0];\n const hasValue: boolean = !!((value instanceof NgtCustomFilter && value.term) || value);\n const isApplied: boolean = this.hasAppliedFilter(filter);\n\n return isApplied || (!isApplied && hasValue);\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n\nexport enum NgtDatatableType {\n REMOTE = 'REMOTE',\n FIXED = 'FIXED'\n}\n\nexport enum NgtDatatableSearchType {\n DEFAULT = 'DEFAULT',\n SILENT = 'SILENT',\n}\n\nexport enum NgtDatatableParam {\n STAY_IN_PAGE = 1,\n RESET_PAGE = 0,\n ENABLE_LOADER = 1,\n DISABLE_LOADER = 0\n}\n\nexport class NgtCheckedElement {\n public id: string;\n public checked: boolean;\n public reference: any;\n}\n\nexport class NgtCustomFilter {\n public term: string;\n public tagValue: string;\n public tagLabel?: string;\n}\n","import { Component, ElementRef, Injector, Optional, Self } from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\n\n@Component({\n selector: '[ngt-tbody]',\n templateUrl: './ngt-tbody.component.html',\n styleUrls: ['./ngt-tbody.component.css'],\n})\nexport class NgtTbodyComponent {\n public ngtStyle: NgtStylizableService;\n\n public constructor(\n private injector: Injector,\n private hostElement: ElementRef,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n ) {\n this.bindNgtStyle();\n }\n\n private bindNgtStyle() {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtTbody', {\n color: {\n bg: 'bg-white',\n text: '',\n border: ''\n },\n my: '',\n border: '',\n });\n\n this.hostElement.nativeElement.classList += this.ngtStyle.compile([\n 'h',\n 'px',\n 'py',\n 'pb',\n 'pl',\n 'pr',\n 'pt',\n 'mb',\n 'ml',\n 'mr',\n 'mt',\n 'border',\n 'color.bg',\n 'color.text',\n 'color.border',\n 'text',\n 'font',\n ]);\n }\n}\n","import { Component, ElementRef, Injector, Input, OnDestroy, Optional, Output, Self, SkipSelf, ViewChild, EventEmitter } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { uuid } from '../../../helpers/uuid';\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtCheckboxComponent } from '../../ngt-checkbox/ngt-checkbox.component';\nimport { NgtDatatableComponent } from '../ngt-datatable.component';\n\n@Component({\n selector: '[ngt-td-check]',\n templateUrl: './ngt-td-check.component.html',\n styleUrls: ['./ngt-td-check.component.css'],\n})\nexport class NgtTdCheckComponent implements OnDestroy {\n @ViewChild(NgtCheckboxComponent, { static: true }) public checkbox: NgtCheckboxComponent;\n @Input() public reference: any;\n @Input() public checked: boolean = false;\n @Output() public onCheckboxInit: EventEmitter<any> = new EventEmitter();\n\n public ngtStyle: NgtStylizableService;\n\n private id = uuid();\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private injector: Injector,\n private hostElement: ElementRef,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n @Optional() @SkipSelf()\n private ngtDataTable: NgtDatatableComponent\n ) {\n this.bindNgtStyle();\n }\n\n public ngAfterContentInit() {\n if (this.ngtDataTable) {\n this.subscriptions.push(\n this.ngtDataTable.onToogleAllCheckboxes.subscribe((checked: boolean) => {\n this.checked = checked;\n })\n );\n\n this.subscriptions.push(\n this.ngtDataTable.onClearSelectedElements.subscribe(() => {\n this.checked = false;\n })\n );\n\n this.onCheckboxInit.emit({\n id: this.id,\n checked: this.checked,\n reference: this.reference\n });\n }\n }\n\n public ngOnDestroy() {\n this.destroySubscriptions();\n }\n\n public onCheckboxChange(checked: boolean) {\n if (this.ngtDataTable) {\n this.ngtDataTable.onToogleCheckbox.emit({\n id: this.id,\n checked: checked,\n reference: this.reference\n });\n }\n }\n\n private bindNgtStyle() {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtTdCheck', {\n py: 'py-4',\n px: 'px-6',\n text: 'text-center',\n border: 'border-b',\n color: {\n border: ''\n }\n });\n\n this.hostElement.nativeElement.classList += this.ngtStyle.compile([\n 'h',\n 'px',\n 'py',\n 'pb',\n 'pl',\n 'pr',\n 'pt',\n 'mb',\n 'ml',\n 'mr',\n 'mt',\n 'border',\n 'color.border',\n ]);\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","import { Component, ElementRef, Injector, Optional, Self } from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\n\n@Component({\n selector: '[ngt-td]',\n templateUrl: './ngt-td.component.html',\n styleUrls: ['./ngt-td.component.css'],\n})\nexport class NgtTdComponent {\n public ngtStyle: NgtStylizableService;\n\n public constructor(\n private injector: Injector,\n private hostElement: ElementRef,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n ) {\n this.bindNgtStyle();\n }\n\n private bindNgtStyle() {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtTd', {\n py: 'py-4',\n px: 'px-6',\n border: 'border-b',\n break: 'break-words',\n color: {\n bg: '',\n text: '',\n border: ''\n }\n });\n\n this.hostElement.nativeElement.classList += this.ngtStyle.compile([\n 'h',\n 'px',\n 'py',\n 'pb',\n 'pl',\n 'pr',\n 'pt',\n 'mb',\n 'ml',\n 'mr',\n 'mt',\n 'border',\n 'color.bg',\n 'color.text',\n 'color.border',\n 'text',\n 'font',\n 'break'\n ]);\n }\n}\n","import { AfterContentInit, Component, ElementRef, Injector, OnDestroy, Optional, Self, SkipSelf } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtDatatableComponent } from '../ngt-datatable.component';\n\n@Component({\n selector: '[ngt-th-check]',\n templateUrl: './ngt-th-check.component.html',\n styleUrls: ['./ngt-th-check.component.css'],\n})\nexport class NgtThCheckComponent implements AfterContentInit, OnDestroy {\n public checked = false;\n public ngtStyle: NgtStylizableService;\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private injector: Injector,\n private hostElement: ElementRef,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n @Optional() @SkipSelf()\n private ngtDataTable: NgtDatatableComponent\n ) {\n this.bindNgtStyle();\n }\n\n public ngAfterContentInit() {\n if (this.ngtDataTable) {\n this.subscriptions.push(\n this.ngtDataTable.onDataChange.subscribe(() => {\n this.checked = false;\n })\n );\n\n this.subscriptions.push(\n this.ngtDataTable.onClearSelectedElements.subscribe(() => {\n this.checked = false;\n })\n );\n }\n }\n\n public ngOnDestroy() {\n this.destroySubscriptions();\n }\n\n public onCheckboxChange(checked: boolean) {\n if (this.ngtDataTable) {\n this.ngtDataTable.onToogleAllCheckboxes.emit(checked);\n }\n }\n\n private bindNgtStyle() {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtThCheck', {\n py: 'py-4',\n px: 'px-6',\n text: 'text-center',\n border: 'border-b',\n color: {\n border: '',\n bg: 'bg-gray-500',\n text: 'text-white'\n }\n });\n\n this.hostElement.nativeElement.classList += this.ngtStyle.compile([\n 'h',\n 'px',\n 'py',\n 'pb',\n 'pl',\n 'pr',\n 'pt',\n 'mb',\n 'ml',\n 'mr',\n 'mt',\n 'border',\n 'color.border',\n 'color.bg',\n 'color.text'\n ]);\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n Self,\n SimpleChanges,\n SkipSelf,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtInputComponent } from '../../ngt-input/ngt-input.component';\nimport { NgtDatatableComponent } from '../ngt-datatable.component';\n\n@Component({\n selector: '[ngt-th]',\n templateUrl: './ngt-th.component.html',\n styleUrls: ['./ngt-th.component.css'],\n})\nexport class NgtThComponent implements OnChanges, OnDestroy {\n @ViewChild('searchInput') public searchInput: NgtInputComponent;\n @ViewChild('modal', { static: true }) public modal: TemplateRef<any>;\n\n @Input() public reference: string;\n @Input() public sortReference: string;\n @Input() public sortable: boolean;\n @Input() public searchable: boolean;\n @Input() public hasCustomSearch: boolean = false;\n @Input() public searchLabel: string;\n @Input() public sortableTooltip: NgtSortableTooltip = {\n ascending: 'Ordenar de Z a A',\n descending: 'Limpar ordenação',\n unordered: 'Ordenar de A a Z'\n };\n\n @Output() public onEnableSearch = new EventEmitter();\n\n public inputFocused: boolean = false;\n public isCurrentSort = false;\n public sortDirection = '';\n public searchTerm: any;\n public customSearchTerm: any;\n public ngtStyle: NgtStylizableService;\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private injector: Injector,\n private hostElement: ElementRef,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n @Optional() @SkipSelf()\n public ngtDataTable: NgtDatatableComponent\n ) {\n if (this.checkDataTable()) {\n this.subscriptions.push(\n this.ngtDataTable.onDataChange.subscribe(() => {\n this.isCurrentSort = this.ngtDataTable.getCurrentSort().field == this.getSortReference();\n\n if (this.isCurrentSort) {\n this.sortDirection = this.ngtDataTable.getCurrentSort().direction;\n }\n })\n );\n\n this.subscriptions.push(\n this.ngtDataTable.onClearFilter.subscribe((reference) => {\n if (reference == this.reference || !reference) {\n this.searchTerm = '';\n this.customSearchTerm = null;\n }\n })\n );\n }\n\n this.bindNgtStyle();\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (changes.searchLabel && this.checkDataTable) {\n this.ngtDataTable.setFilterDescription(this.reference, this.searchLabel);\n }\n }\n\n public ngOnDestroy() {\n this.destroySubscriptions();\n }\n\n public async sort() {\n if (this.sortable && this.checkDataTable() && this.checkReference()) {\n let sortDirection = this.getNextSortDirection();\n\n if (sortDirection) {\n await this.ngtDataTable.sort(this.getSortReference(), sortDirection);\n } else {\n this.ngtDataTable.sort('', '');\n }\n\n this.sortDirection = sortDirection;\n }\n }\n\n public enableSearch(event: any) {\n event.stopPropagation();\n\n this.ngtDataTable.setSearchModalTemplate(this.modal);\n this.ngtDataTable.openSearchModal(this.reference);\n\n setTimeout(() => {\n if (this.searchInput) {\n this.searchInput.setFocus();\n }\n }, 100);\n\n this.onEnableSearch.emit();\n }\n\n public search(term: any) {\n if (!this.hasCustomSearch && this.searchTerm === undefined\n && this.customSearchTerm === undefined && !term) {\n return;\n }\n\n if (this.searchable && this.reference) {\n let filter = {};\n\n filter[this.reference] = term;\n this.ngtDataTable.search(filter);\n }\n }\n\n public customSearch(term: any) {\n this.customSearchTerm = term;\n }\n\n public getTooltip() {\n if (this.sortable && this.sortableTooltip) {\n if (this.sortDirection == 'asc') {\n return this.sortableTooltip.ascending;\n } else if (this.sortDirection == 'desc') {\n return this.sortableTooltip.descending;\n }\n\n return this.sortableTooltip.unordered;\n }\n\n return '';\n }\n\n private getSortReference() {\n return this.sortReference ? this.sortReference : this.reference;\n }\n\n private checkDataTable() {\n if (!this.ngtDataTable) {\n console.error('The [ngt-th] must be inside of a [ngt-datatable]');\n\n return false;\n }\n\n return true;\n }\n\n private checkReference() {\n if (!this.reference && !this.sortReference) {\n console.error('The [ngt-th] must have a [reference] or a [sortReference] property to be able to sort');\n\n return false;\n }\n\n return true;\n }\n\n private getNextSortDirection() {\n switch (this.sortDirection) {\n case 'asc': return 'desc';\n case 'desc': return '';\n case '': return 'asc';\n }\n }\n\n private bindNgtStyle() {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtTh', {\n py: 'py-4',\n px: 'px-6',\n font: 'font-bold',\n text: 'text-sm',\n border: 'border-b',\n justifyContent: 'justify-center',\n color: {\n bg: '',\n text: '',\n border: ''\n }\n });\n\n this.hostElement.nativeElement.classList += this.ngtStyle.compile([\n 'h',\n 'px',\n 'py',\n 'pb',\n 'pl',\n 'pr',\n 'pt',\n 'mb',\n 'ml',\n 'mr',\n 'mt',\n 'border',\n 'color.bg',\n 'color.text',\n 'color.border',\n 'text',\n 'font',\n ]);\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n\nexport interface NgtSortableTooltip {\n ascending: string;\n descending: string;\n unordered: string;\n}\n","import { Component, ElementRef, Injector, Optional, Self } from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\n\n@Component({\n selector: '[ngt-thead]',\n templateUrl: './ngt-thead.component.html',\n styleUrls: ['./ngt-thead.component.css'],\n})\nexport class NgtTheadComponent {\n public ngtStyle: NgtStylizableService;\n\n public constructor(\n private injector: Injector,\n private hostElement: ElementRef,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n ) {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtThead', {\n color: {\n bg: 'bg-gray-200',\n text: '',\n border: ''\n },\n my: '',\n border: '',\n });\n\n this.hostElement.nativeElement.classList += this.ngtStyle.compile([\n 'h',\n 'px',\n 'py',\n 'pb',\n 'pl',\n 'pr',\n 'pt',\n 'mb',\n 'ml',\n 'mr',\n 'mt',\n 'border',\n 'color.bg',\n 'color.text',\n 'color.border',\n 'text',\n 'font',\n 'rounded'\n ]);\n }\n}\n","import {\n Component,\n ElementRef,\n HostBinding,\n Injector,\n Input,\n Optional,\n Self,\n SkipSelf,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtTbodyComponent } from '../ngt-tbody/ngt-tbody.component';\nimport { NgtTheadComponent } from '../ngt-thead/ngt-thead.component';\n\n@Component({\n selector: '[ngt-tr]',\n templateUrl: './ngt-tr.component.html',\n styleUrls: ['./ngt-tr.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class NgtTrComponent {\n @HostBinding('class.evenStripped') @Input() public evenStripped: boolean;\n @HostBinding('class.oddStripped') @Input() public oddStripped: boolean;\n\n public ngtStyle: NgtStylizableService;\n\n public constructor(\n private injector: Injector,\n private hostElement: ElementRef,\n @SkipSelf() @Optional() private ngtThead: NgtTheadComponent,\n @SkipSelf() @Optional() private ngtTbody: NgtTbodyComponent,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n ) {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtTr', {\n border: 'border-r border-t md:border-r-0 md:border-t-0',\n color: {\n bg: '',\n text: '',\n border: ''\n }\n }, [this.getInheritanceStyles()]);\n\n this.hostElement.nativeElement.classList += this.ngtStyle.compile([\n 'h',\n 'px',\n 'py',\n 'pb',\n 'pl',\n 'pr',\n 'pt',\n 'mb',\n 'ml',\n 'mr',\n 'mt',\n 'border',\n 'color.bg',\n 'color.text',\n 'color.border',\n 'text',\n 'font',\n ]);\n }\n\n private getInheritanceStyles() {\n if (this.ngtThead) {\n return 'NgtTheadStyle';\n } else if (this.ngtTbody) {\n return 'NgtTbodyStyle';\n }\n\n return '';\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { NgtStylizableModule } from '../../directives/ngt-stylizable/ngt-stylizable.module';\nimport { NgtCheckboxModule } from '../ngt-checkbox/ngt-checkbox.module';\nimport { NgtInputModule } from '../ngt-input/ngt-input.module';\nimport { NgtModalModule } from '../ngt-modal/ngt-modal.module';\nimport { NgtPaginationModule } from '../ngt-pagination/ngt-pagination.module';\nimport { NgtShiningModule } from '../ngt-shining/ngt-shining.module';\nimport { NgtTagModule } from '../ngt-tag/ngt-tag.module';\nimport { NgtDatatableComponent } from './ngt-datatable.component';\nimport { NgtTbodyComponent } from './ngt-tbody/ngt-tbody.component';\nimport { NgtTdCheckComponent } from './ngt-td-check/ngt-td-check.component';\nimport { NgtTdComponent } from './ngt-td/ngt-td.component';\nimport { NgtThCheckComponent } from './ngt-th-check/ngt-th-check.component';\nimport { NgtThComponent } from './ngt-th/ngt-th.component';\nimport { NgtTheadComponent } from './ngt-thead/ngt-thead.component';\nimport { NgtTrComponent } from './ngt-tr/ngt-tr.component';\nimport { NgtActionModule } from '../ngt-action/ngt-action.module';\n\n@NgModule({\n declarations: [\n NgtDatatableComponent,\n NgtTbodyComponent,\n NgtTdComponent,\n NgtTdCheckComponent,\n NgtThComponent,\n NgtThCheckComponent,\n NgtTheadComponent,\n NgtTrComponent\n ],\n exports: [\n NgtDatatableComponent,\n NgtTbodyComponent,\n NgtTdComponent,\n NgtTdCheckComponent,\n NgtThComponent,\n NgtThCheckComponent,\n NgtTheadComponent,\n NgtTrComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n NgtShiningModule,\n NgtPaginationModule,\n NgtCheckboxModule,\n NgtInputModule,\n NgtModalModule,\n NgtTagModule,\n NgtActionModule,\n NgtStylizableModule\n ]\n})\nexport class NgtDatatableModule { }\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { Component, Injector, Input, Optional, Self } from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\n\n@Component({\n selector: 'ngt-floating-button',\n templateUrl: './ngt-floating-button.component.html',\n styleUrls: ['./ngt-floating-button.component.css'],\n animations: [\n trigger('fadeY', [\n state('void', style({ opacity: 0, transform: 'translateY(10px)' })),\n transition(':enter, :leave', [\n animate(300)\n ])\n ]),\n\n trigger('openClose', [\n state('open', style({\n transform: 'rotate(180deg)'\n })),\n state('closed', style({\n transform: 'rotate(-180deg)'\n })),\n transition('open => closed', [\n animate('0.5s ease-in')\n ]),\n transition('closed => open', [\n animate('0.5s ease-in')\n ]),\n ]),\n ]\n})\nexport class NgtFloatingButtonComponent {\n @Input() public menus: Array<NgtFloatingButtonMenu>;\n @Input() public icon: string;\n @Input() public label: string;\n @Input() public withAnimation: boolean = false;\n\n public isOpen: boolean = false;\n public ngtStyle: NgtStylizableService;\n\n public constructor(\n private injector: Injector,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n ) {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtFloatingButton', {\n color: {\n bg: 'bg-blue-500',\n text: 'text-white',\n },\n px: 'px-4',\n py: 'py-4',\n h: 'h-12',\n w: 'w-12'\n });\n }\n\n public toggleMenu() {\n this.isOpen = !(this.isOpen);\n }\n\n public openExternalLink(url: string) {\n window.open(url, \"_blank\");\n this.toggleMenu();\n }\n\n public onClick(event: Event, menu: NgtFloatingButtonMenu) {\n event.stopPropagation();\n this.toggleMenu();\n\n if (typeof menu.action === 'function') {\n return menu.action();\n }\n\n throw new Error('Action must be a function!');\n }\n\n public isTypeAction(menu: NgtFloatingButtonMenu) {\n return menu.type == NgtFloatingButtonType.ACTION;\n }\n\n public isTypeNavigation(menu: NgtFloatingButtonMenu) {\n return menu.type == NgtFloatingButtonType.NAVIGATION;\n }\n}\n\nexport interface NgtFloatingButtonMenu {\n name?: string;\n type: NgtFloatingButtonType;\n icon?: string;\n tooltip?: string;\n externalLink?: boolean;\n url?: string;\n action?: Function;\n}\n\nexport enum NgtFloatingButtonType {\n NAVIGATION = 'NAVIGATION',\n ACTION = 'ACTION'\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\nimport { NgtFloatingButtonComponent } from './ngt-floating-button.component';\n\n@NgModule({\n declarations: [NgtFloatingButtonComponent],\n exports: [NgtFloatingButtonComponent],\n imports: [\n CommonModule,\n RouterModule,\n NgtSvgModule\n ]\n})\nexport class NgtFloatingButtonModule { }\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Host,\n Input,\n OnDestroy,\n Optional,\n Renderer2,\n SkipSelf,\n ViewChild,\n} from '@angular/core';\nimport { ControlContainer, NgForm } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\n\n@Component({\n selector: 'ngt-slider',\n templateUrl: './ngt-slider.component.html',\n styleUrls: ['./ngt-slider.component.css'],\n providers: [\n NgtMakeProvider(NgtSliderComponent),\n ],\n viewProviders: [\n { provide: ControlContainer, useExisting: NgForm }\n ]\n})\nexport class NgtSliderComponent extends NgtBaseNgModel implements AfterViewInit, OnDestroy {\n @ViewChild('element', { static: true }) public element: ElementRef;\n @ViewChild('display', { static: true }) public display: ElementRef;\n\n @Input() public label: string;\n @Input() public shining: boolean;\n @Input() public name: string;\n @Input() public min: string = '0';\n @Input() public max: string = '100';\n @Input() public step: string = '1';\n @Input() public color: NgtSliderColorSchemeEnum = NgtSliderColorSchemeEnum.PRIMARY;\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n @Optional() @Host()\n public formContainer: ControlContainer,\n private renderer: Renderer2,\n @Optional() @SkipSelf()\n private ngtFormComponent: NgtFormComponent,\n ) {\n super();\n\n if (this.ngtFormComponent) {\n this.shining = this.ngtFormComponent.isShining();\n\n this.subscriptions.push(\n this.ngtFormComponent.onShiningChange.subscribe((shining: boolean) => {\n this.shining = shining;\n })\n );\n }\n }\n\n public ngAfterViewInit() {\n setTimeout(() => {\n this.display.nativeElement.innerHTML = this.value;\n }, 500);\n\n this.renderer.listen(this.element.nativeElement, 'change', () => {\n this.onNativeChange(this.element.nativeElement.value);\n });\n }\n\n public ngOnDestroy() {\n this.destroySubscriptions();\n }\n\n public change(value: boolean) {\n this.element.nativeElement.value = value;\n }\n\n public onNativeChange(value: boolean) {\n this.value = value;\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n\nexport enum NgtSliderColorSchemeEnum {\n PRIMARY = 'primary',\n SUCCESS = 'success',\n WARNING = 'warning',\n DANGER = 'danger'\n};\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtShiningModule } from '../ngt-shining/ngt-shining.module';\nimport { NgtSliderComponent } from './ngt-slider.component';\n\n@NgModule({\n declarations: [NgtSliderComponent],\n exports: [NgtSliderComponent],\n imports: [\n CommonModule,\n NgtShiningModule,\n ]\n})\nexport class NgtSliderModule { }\n","import { Component, EventEmitter, Output } from '@angular/core';\n\nimport { NgtRadioButtonComponent } from '../ngt-radio-button.component';\n\n@Component({\n selector: '[ngt-radio-button-container]',\n templateUrl: './ngt-radio-button-container.component.html',\n})\nexport class NgtRadioButtonContainerComponent {\n @Output() public onActiveRadioButtonChange = new EventEmitter();\n\n public setActiveRadioButton(activeRadioButton: NgtRadioButtonComponent) {\n this.onActiveRadioButtonChange.emit(activeRadioButton);\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Host,\n Injector,\n Input,\n OnDestroy,\n Optional,\n Renderer2,\n Self,\n SkipSelf,\n ViewChild,\n} from '@angular/core';\nimport { ControlContainer, NgForm } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\nimport { NgtRadioButtonContainerComponent } from './ngt-radio-button-container/ngt-radio-button-container.component';\n\n@Component({\n selector: 'ngt-radio-button',\n templateUrl: './ngt-radio-button.component.html',\n styleUrls: ['./ngt-radio-button.component.css'],\n providers: [\n NgtMakeProvider(NgtRadioButtonComponent),\n ],\n viewProviders: [\n { provide: ControlContainer, useExisting: NgForm }\n ]\n})\nexport class NgtRadioButtonComponent extends NgtBaseNgModel implements AfterViewInit, OnDestroy {\n @ViewChild('element', { static: true }) public element: ElementRef;\n\n @Input() public label: string;\n @Input() public shining: boolean = false;\n @Input() public name: string;\n\n public ngtStyle: NgtStylizableService;\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private injector: Injector,\n @Optional() @Host()\n public formContainer: ControlContainer,\n private renderer: Renderer2,\n @Self() @Optional()\n private ngtStylizableDirective: NgtStylizableDirective,\n @Optional() @SkipSelf()\n private ngtFormComponent: NgtFormComponent,\n @Optional() @SkipSelf()\n private ngtRadioButtonContainer: NgtRadioButtonContainerComponent\n ) {\n super();\n\n if (this.ngtFormComponent) {\n this.shining = this.ngtFormComponent.isShining();\n\n this.subscriptions.push(\n this.ngtFormComponent.onShiningChange.subscribe((shining: boolean) => {\n this.shining = shining;\n })\n );\n }\n\n if (this.ngtRadioButtonContainer) {\n this.subscriptions.push(\n this.ngtRadioButtonContainer.onActiveRadioButtonChange.subscribe((activeRadioButton: NgtRadioButtonComponent) => {\n this.value = (activeRadioButton.name === this.name);\n })\n );\n }\n\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtCheckbox', {\n color: {\n text: 'text-gray-500',\n border: 'border-gray-500',\n }\n });\n }\n\n public ngAfterViewInit() {\n this.renderer.listen(this.element.nativeElement, 'change', (value) => {\n this.onNativeChange(this.element.nativeElement.checked);\n });\n }\n\n public ngOnDestroy() {\n this.destroySubscriptions();\n }\n\n public change(value: boolean) {\n if (value) {\n this.element.nativeElement.checked = value;\n\n if (this.ngtRadioButtonContainer) {\n this.ngtRadioButtonContainer.setActiveRadioButton(this);\n }\n }\n }\n\n public onNativeChange(value: boolean) {\n this.value = value ? value : !value;\n\n if (this.ngtRadioButtonContainer) {\n this.ngtRadioButtonContainer.setActiveRadioButton(this);\n }\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtShiningModule } from '../ngt-shining/ngt-shining.module';\nimport { NgtRadioButtonContainerComponent } from './ngt-radio-button-container/ngt-radio-button-container.component';\nimport { NgtRadioButtonComponent } from './ngt-radio-button.component';\n\n@NgModule({\n declarations: [NgtRadioButtonComponent, NgtRadioButtonContainerComponent],\n exports: [NgtRadioButtonComponent, NgtRadioButtonContainerComponent],\n imports: [\n CommonModule,\n NgtShiningModule,\n ]\n})\nexport class NgtRadioButtonModule { }\n","import {\n Component,\n ElementRef,\n Host,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Renderer2,\n Self,\n SkipSelf,\n ViewChild,\n} from '@angular/core';\nimport { ControlContainer, NgForm, Validators } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtTranslateService } from '../../services/http/ngt-translate.service';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\n\n@Component({\n selector: 'ngt-textarea',\n templateUrl: './ngt-textarea.component.html',\n styleUrls: ['./ngt-textarea.component.css'],\n providers: [\n NgtMakeProvider(NgtTextareaComponent),\n ],\n viewProviders: [\n { provide: ControlContainer, useExisting: NgForm }\n ]\n})\nexport class NgtTextareaComponent extends NgtBaseNgModel implements OnInit, OnDestroy {\n @ViewChild(\"element\", { static: true }) public element: ElementRef;\n\n // Visual\n @Input() public label: string = \"\";\n @Input() public placeholder: string = \"\";\n @Input() public rows: string = \"3\";\n @Input() public helpTitle: string;\n @Input() public showCharactersLength: boolean = false;\n @Input() public helpText: boolean = false;\n @Input() public helpTextColor: string = 'text-green-500';\n @Input() public shining: boolean = false;\n\n // Behavior\n @Input() public name: string;\n @Input() public isDisabled: boolean = false;\n @Input() public isReadonly: boolean = false;\n @Input() public jit: boolean = false;\n @Input() public focus: boolean = false;\n\n // Validation\n @Input() public isRequired: boolean = false;\n @Input() public maxLength: number = 300;\n\n public componentReady = false;\n public ngtStyle: NgtStylizableService;\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private injector: Injector,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n @Optional() @Host()\n public formContainer: ControlContainer,\n @Optional() @SkipSelf()\n private ngtFormComponent: NgtFormComponent,\n private renderer: Renderer2,\n @Optional()\n public ngtTranslateService: NgtTranslateService\n ) {\n super();\n\n if (this.ngtFormComponent) {\n this.shining = this.ngtFormComponent.isShining();\n\n this.subscriptions.push(\n this.ngtFormComponent.onShiningChange.subscribe((shining: boolean) => {\n this.shining = shining;\n })\n );\n }\n\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtTextarea', {\n color: {\n border: 'border-gray-400 focus:border-gray-700',\n bg: 'bg-bg-white focus:bg-white',\n text: 'text-gray-800'\n }\n });\n }\n\n public ngOnChanges(changes) {\n if (changes.isRequired) {\n this.updateValidations();\n }\n }\n\n public ngOnInit() {\n if (!this.formContainer) {\n console.warn(\"The element must be inside a <form #form='ngForm'> tag!\", this.element.nativeElement);\n }\n\n if (!this.name) {\n console.warn(\"The element must contain a name attribute!\", this.element.nativeElement);\n } else {\n setTimeout(() => {\n this.componentReady = true;\n\n setTimeout(() => {\n this.initComponent();\n });\n }, 500);\n }\n }\n\n public ngOnDestroy() {\n this.destroySubscriptions();\n }\n\n public setFocus() {\n setTimeout(() => {\n this.element.nativeElement.focus();\n }, 200);\n }\n\n public clear() {\n this.element.nativeElement.value = '';\n this.value = '';\n }\n\n public change(value) {\n let nativeValue = this.getNativeValue();\n let ngModelValue = value ? value : '';\n\n if (this.componentReady) {\n this.onValueChangeEvent.emit(this.value);\n }\n\n if (this.value != nativeValue) {\n this.element.nativeElement.value = ngModelValue;\n }\n }\n\n public getRemainingCharacters() {\n if (this.element.nativeElement && this.element.nativeElement.value && this.element.nativeElement.value.length) {\n if ((this.maxLength - this.element.nativeElement.value.length) > 0) {\n return this.maxLength - this.element.nativeElement.value.length;\n } else {\n return 0;\n }\n }\n\n return this.maxLength;\n }\n\n private initComponent() {\n if (this.formContainer && this.formContainer.control && (this.formControl = this.formContainer.control.get(this.name))) {\n if (this.focus) {\n this.setFocus();\n }\n\n let watch = \"change\";\n\n if (this.jit) {\n watch += \" keyup keydown keypress\";\n }\n\n watch.split(' ').forEach((evt) => {\n this.renderer.listen(this.element.nativeElement, evt, () => {\n let nativeValue = this.getNativeValue();\n\n if (this.value != nativeValue) {\n this.value = nativeValue;\n }\n });\n });\n\n this.renderer.listen(this.element.nativeElement, \"keydown\", (event) => {\n if (this.element.nativeElement && this.element.nativeElement.value && this.element.nativeElement.value.length >= this.maxLength) {\n // Backspace and delete\n if (event.keyCode != 8 && event.keyCode != 46) {\n event.preventDefault();\n\n return false;\n }\n }\n });\n\n this.updateValidations();\n\n if (this.value) {\n this.formControl.markAsDirty();\n } else {\n this.formControl.markAsPristine();\n }\n } else {\n console.warn(\"The element must contain a ngModel property\", this.element.nativeElement);\n }\n }\n\n private updateValidations() {\n if (!this.formControl) {\n return;\n }\n\n let syncValidators = [];\n\n if (this.isRequired) {\n syncValidators.push(Validators.required);\n }\n\n if (this.maxLength) {\n syncValidators.push(Validators.maxLength(this.maxLength));\n }\n\n setTimeout(() => {\n this.formControl.setValidators(syncValidators);\n this.formControl.updateValueAndValidity();\n });\n }\n\n private getNativeValue() {\n return this.element.nativeElement.value;\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { NgtFormModule } from '../ngt-form/ngt-form.module';\nimport { NgtShiningModule } from '../ngt-shining/ngt-shining.module';\nimport { NgtValidationModule } from '../ngt-validation/ngt-validation.module';\nimport { NgtTextareaComponent } from './ngt-textarea.component';\n\n@NgModule({\n declarations: [NgtTextareaComponent],\n exports: [NgtTextareaComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NgtValidationModule,\n NgtShiningModule,\n NgtFormModule\n ]\n})\nexport class NgtTextareaModule { }\n","import {\n Component,\n Host,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Self,\n SimpleChanges,\n SkipSelf,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlContainer, NgForm, Validators } from '@angular/forms';\nimport { FlatpickrOptions, Ng2FlatpickrComponent } from 'ng2-flatpickr';\nimport { Subscription } from 'rxjs';\n\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { getEnumFromString } from '../../helpers/enum/enum';\nimport { uuid } from '../../helpers/uuid';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\n\nconst Brazil = require(\"flatpickr/dist/l10n/pt.js\").default.pt;\nconst US = require(\"flatpickr/dist/l10n/default.js\").default;\nlet moment = require('moment');\n\n@Component({\n selector: 'ngt-date',\n templateUrl: './ngt-date.component.html',\n styleUrls: ['./ngt-date.component.css'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n NgtMakeProvider(NgtDateComponent),\n ],\n viewProviders: [\n { provide: ControlContainer, useExisting: NgForm }\n ]\n})\nexport class NgtDateComponent extends NgtBaseNgModel implements OnInit, OnDestroy {\n @ViewChild(\"ng2FlatpickrComponent\", { static: true }) public ng2FlatpickrComponent: Ng2FlatpickrComponent;\n\n // Visual\n @Input() public label: string = \"\";\n @Input() public placeholder: string = \"\";\n @Input() public helpTitle: string;\n @Input() public helpText: string;\n @Input() public helpTextColor: string = 'text-green-500';\n @Input() public shining = false;\n @Input() public dateFormat: string = 'd/m/Y H:i';\n @Input() public dateFormatNgModel = 'YYYY-MM-DD HH:mm:00';\n\n // Behavior\n @Input() public name: string;\n @Input() public isDisabled: boolean = false;\n @Input() public isReadonly: boolean = false;\n @Input() public mode: NgtDateMode;\n @Input() public time_24hr: boolean = true;\n @Input() public enableTime: boolean = true;\n @Input() public noCalendar: boolean = false;\n @Input() public minuteIncrement: number = 1;\n @Input() public allowInput: boolean = false;\n @Input() public locale: NgtDateLocale;\n @Input() public allowClear: boolean = true;\n @Input() public minDate: string;\n @Input() public maxDate: string;\n @Input() public defaultDate: string;\n\n // Validation\n @Input() public isRequired: boolean = false;\n\n public ngtStyle: NgtStylizableService;\n public dateConfig: FlatpickrOptions;\n public nativeValue: any;\n public componentReady = false;\n public nativeName = uuid();\n public inputProperties: {\n htmlType?: string;\n length?: number;\n } = {};\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private injector: Injector,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n @Optional() @Host()\n public formContainer: ControlContainer,\n @Optional() @SkipSelf()\n private ngtFormComponent: NgtFormComponent\n ) {\n super();\n\n if (this.ngtFormComponent) {\n this.shining = this.ngtFormComponent.isShining();\n\n this.subscriptions.push(\n this.ngtFormComponent.onShiningChange.subscribe((shining: boolean) => {\n this.shining = shining;\n })\n );\n }\n\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtDate', {\n h: 'h-12',\n color: {\n text: 'text-gray-800'\n }\n });\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (changes.isRequired) {\n this.updateValidations();\n }\n\n if (changes.mode) {\n this.mode = getEnumFromString(changes.mode.currentValue, NgtDateMode);\n }\n\n if (changes.locale) {\n this.locale = getEnumFromString(changes.locale.currentValue, NgtDateLocale);\n }\n }\n\n public ngOnInit() {\n this.dateConfig = {\n dateFormat: this.dateFormat,\n mode: this.getDateMode(),\n minuteIncrement: this.minuteIncrement,\n minDate: this.minDate,\n maxDate: this.maxDate,\n time_24hr: this.time_24hr,\n enableTime: this.enableTime,\n noCalendar: this.noCalendar,\n allowInput: this.allowInput,\n locale: this.getLocale(),\n onChange: (selectedDates, dateStr, instance) => this.onNativeChange(selectedDates, instance, true),\n onClose: (selectedDates, dateStr, instance) => this.onNativeChange(selectedDates, instance, false),\n };\n\n if (!this.formContainer) {\n console.error(\"The element must be inside a <form #form='ngForm'> tag!\");\n }\n\n if (!this.name) {\n console.error(\"The element must contain a name attribute!\");\n } else {\n setTimeout(() => {\n this.componentReady = true;\n setTimeout(() => {\n this.initComponent();\n });\n }, 500);\n }\n }\n\n public ngOnDestroy() {\n const flatpickrElement = document.getElementsByClassName('flatpickr-calendar');\n\n if (flatpickrElement?.length) {\n flatpickrElement[flatpickrElement.length - 1].remove();\n }\n\n this.destroySubscriptions();\n }\n\n public clearInput(clearInstance = false) {\n this.value = '';\n this.nativeValue = '';\n\n if (this.ng2FlatpickrComponent && clearInstance) {\n this.ng2FlatpickrComponent.setDateFromInput('');\n }\n }\n\n public change(value: any) {\n if (this.componentReady) {\n this.onValueChangeEvent.emit(this.value);\n }\n\n if (!value || (value instanceof Object && !Object.keys(value).length)) {\n return this.clearInput();\n }\n\n if (value && value != this.nativeValue) {\n let firstValue = moment(value);\n\n if ((value instanceof Object && Object.keys(value).length) || (value instanceof Array && value.length)) {\n firstValue = moment(value[0]);\n\n if (value.length == 2) {\n firstValue = firstValue;\n\n let secondValue = moment(value[1]);\n\n if (firstValue.isValid() && secondValue.isValid()) {\n return (<any>this.ng2FlatpickrComponent.flatpickr).setDate([\n firstValue.format(this.getMomentDateFormat()),\n secondValue.format(this.getMomentDateFormat())\n ], true, this.dateFormat);\n }\n }\n }\n\n if (firstValue.isValid()) {\n return (<any>this.ng2FlatpickrComponent.flatpickr).setDate(firstValue.format(this.getMomentDateFormat()), true, this.dateFormat);\n }\n\n this.ng2FlatpickrComponent.setDateFromInput('');\n this.clearInput();\n }\n }\n\n public onNativeChange(value: any, instance: any, triggerClose: boolean) {\n if (!value || (value instanceof Object && !Object.keys(value).length)) {\n if (triggerClose) {\n instance.close();\n }\n\n return this.clearInput();\n }\n\n if (this.mode == NgtDateMode.RANGE) {\n this.nativeValue = [];\n\n value.forEach(element => {\n element = moment(element);\n\n if (element && element.isValid()) {\n this.nativeValue.push(element.format(this.dateFormatNgModel));\n }\n });\n } else if (value[0]) {\n value = moment(value[0]);\n\n if (value && value.isValid()) {\n this.nativeValue = value.format(this.dateFormatNgModel);\n }\n }\n\n if (this.value != this.nativeValue) {\n this.value = this.nativeValue;\n }\n }\n\n public getNativeValue() {\n let nativeValue: any = this.nativeValue;\n\n if (nativeValue && nativeValue.format) {\n nativeValue = nativeValue.format(this.dateFormatNgModel);\n }\n\n return nativeValue;\n }\n\n public getFormattedNativeValue() {\n let nativeValue: any = this.nativeValue;\n\n if (nativeValue && Array.isArray(nativeValue)) {\n let formattedNativeValue: string = '';\n\n nativeValue.forEach(element => {\n element = moment(element);\n\n if (element.format && !this.enableTime) {\n formattedNativeValue += element.format('DD/MM/YYYY') + ' ';\n } else if (element.format && this.enableTime) {\n formattedNativeValue += element.format('DD/MM/YYYY HH:mm:00') + ' ';\n }\n });\n\n return formattedNativeValue;\n } else if (nativeValue) {\n nativeValue = moment(nativeValue);\n\n if (nativeValue.format && !this.enableTime) {\n return nativeValue.format('DD/MM/YYYY') + ' ';\n } else if (nativeValue.format && this.enableTime) {\n return nativeValue.format('DD/MM/YYYY HH:mm:00') + ' ';\n }\n }\n\n return this.placeholder;\n }\n\n public hasErrors(): boolean {\n return this.formControl?.errors && (this.formControl?.dirty || (this.formContainer && this.formContainer['submitted']));\n }\n\n private initComponent() {\n if (this.formContainer && this.formContainer.control && (this.formControl = this.formContainer.control.get(this.name))) {\n if (this.defaultDate) {\n this.value = moment(this.defaultDate).format(this.dateFormatNgModel);\n }\n\n this.updateValidations();\n\n if (this.value) {\n this.formControl.markAsDirty();\n } else {\n this.formControl.markAsPristine();\n }\n }\n }\n\n private updateValidations() {\n if (!this.formControl) {\n return;\n }\n\n let syncValidators = [];\n\n if (this.isRequired) {\n syncValidators.push(Validators.required);\n }\n\n setTimeout(() => {\n this.formControl.setValidators(syncValidators);\n this.formControl.updateValueAndValidity();\n });\n }\n\n private getLocale() {\n if (this.locale) {\n if (this.locale == NgtDateLocale.BRAZIL) {\n return Brazil;\n }\n }\n\n return US;\n }\n\n private getDateMode() {\n if (this.mode) {\n if (this.mode == NgtDateMode.RANGE) {\n return 'range';\n }\n }\n\n return 'single';\n }\n\n private getMomentDateFormat() {\n let dateFormat = '';\n\n for (let i = 0; i < this.dateFormat.length; i++) {\n switch (this.dateFormat.charAt(i)) {\n case 'd':\n dateFormat += 'DD';\n break;\n case 'm':\n dateFormat += 'MM';\n break;\n case 'M':\n dateFormat += 'MMM';\n break;\n case 'Y':\n dateFormat += 'YYYY';\n break;\n case '/':\n dateFormat += '/';\n break;\n case '-':\n dateFormat += '-';\n break;\n case ':':\n dateFormat += ':';\n break;\n case 'H':\n dateFormat += 'HH';\n break;\n case 'i':\n dateFormat += 'mm';\n break;\n case 's':\n dateFormat += 'ss';\n break;\n default:\n if (this.dateFormat.charAt(i) != '.') {\n dateFormat += this.dateFormat.charAt(i);\n }\n }\n }\n\n return dateFormat ? dateFormat : 'DD/MM/YYYY HH:mm:00';\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n\nexport enum NgtDateLocale {\n BRAZIL = 'BRAZIL',\n US = 'US'\n}\n\nexport enum NgtDateMode {\n SINGLE = 'SINGLE',\n RANGE = 'RANGE'\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { Ng2FlatpickrModule } from 'ng2-flatpickr';\n\nimport { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\nimport { NgtShiningModule } from '../ngt-shining/ngt-shining.module';\nimport { NgtValidationModule } from '../ngt-validation/ngt-validation.module';\nimport { NgtDateComponent } from './ngt-date.component';\n\n@NgModule({\n declarations: [NgtDateComponent],\n exports: [NgtDateComponent],\n imports: [\n CommonModule,\n FormsModule,\n Ng2FlatpickrModule,\n NgtValidationModule,\n NgtShiningModule,\n NgtHelperModule,\n ]\n})\nexport class NgtDateModule { }\n","import { Component, Injector, Input, OnChanges, OnDestroy, Optional, Self, SimpleChanges, SkipSelf } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\n\n@Component({\n selector: 'ngt-button',\n templateUrl: './ngt-button.component.html',\n styleUrls: ['./ngt-button.component.css'],\n})\nexport class NgtButtonComponent implements OnChanges, OnDestroy {\n @Input() public link: boolean = false;\n @Input() public href: string;\n @Input() public type: string = 'success';\n @Input() public loading: boolean = false;\n @Input() public isDisabled: boolean = false;\n @Input() public noSubmit: boolean = false;\n\n public ngtStyle: NgtStylizableService;\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n @Optional() @SkipSelf()\n private ngtFormComponent: NgtFormComponent,\n private injector: Injector,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n ) {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n if (this.ngtFormComponent) {\n this.subscriptions.push(\n this.ngtFormComponent.onLoadingChange.subscribe((loading: boolean) => {\n this.loading = loading;\n })\n );\n }\n }\n\n public onClick(event: Event) {\n if (this.isDisabled || this.loading) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (changes.type) {\n if (changes.type.currentValue == 'success') {\n this.ngtStyle.load(this.injector, 'NgtSuccessButton', {\n color: {\n bg: 'bg-green-500',\n text: 'text-white text-sm',\n },\n px: 'px-4',\n py: 'py-2'\n });\n } else if (changes.type.currentValue == 'warning') {\n this.ngtStyle.load(this.injector, 'NgtWarningButton', {\n color: {\n bg: 'bg-orange-500',\n text: 'text-white text-sm',\n },\n px: 'px-4',\n py: 'py-2'\n });\n } else if (changes.type.currentValue == 'danger') {\n this.ngtStyle.load(this.injector, 'NgtDangerButton', {\n color: {\n bg: 'bg-red-500',\n text: 'text-white text-sm',\n },\n px: 'px-4',\n py: 'py-2'\n });\n } else {\n this.ngtStyle.load(this.injector, 'NgtInfoButton', {\n color: {\n bg: 'bg-blue-500',\n text: 'text-white text-sm',\n },\n px: 'px-4',\n py: 'py-2'\n });\n }\n }\n }\n\n public ngOnDestroy() {\n this.destroySubscriptions();\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { NgtFormModule } from '../ngt-form/ngt-form.module';\nimport { NgtButtonComponent } from './ngt-button.component';\n\n@NgModule({\n declarations: [NgtButtonComponent],\n exports: [NgtButtonComponent],\n imports: [\n CommonModule,\n RouterModule,\n NgtFormModule\n ]\n})\nexport class NgtButtonModule { }\n","import { Component, Injector, Optional, Self } from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\n\n@Component({\n selector: 'ngt-portlet-body',\n templateUrl: './ngt-portlet-body.component.html',\n styleUrls: ['./ngt-portlet-body.component.css']\n})\nexport class NgtPortletBodyComponent {\n public ngtStyle: NgtStylizableService;\n\n public constructor(\n private injector: Injector,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n ) {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtPortletBody', {\n color: {\n text: 'text-black'\n }\n }, ['NgtPortletStyle']);\n }\n}\n","import { Component, Injector, Optional, Self } from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\n\n@Component({\n selector: 'ngt-portlet-footer',\n templateUrl: './ngt-portlet-footer.component.html',\n styleUrls: ['./ngt-portlet-footer.component.css']\n})\nexport class NgtPortletFooterComponent {\n public ngtStyle: NgtStylizableService;\n\n public constructor(\n private injector: Injector,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n ) {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtPortletFooter', {\n color: {\n bg: 'bg-gray-200',\n text: 'text-black'\n }\n }, ['NgtPortletStyle']);\n }\n}\n","import { Component, Injector, Input, Optional, Self } from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\n\n@Component({\n selector: 'ngt-portlet-header',\n templateUrl: './ngt-portlet-header.component.html',\n styleUrls: ['./ngt-portlet-header.component.css']\n})\nexport class NgtPortletHeaderComponent {\n @Input() public caption: string = '';\n @Input() public icon: string = '';\n @Input() public helperTitle: string = '';\n @Input() public helperText: string = '';\n @Input() public helperIconColor: string = '';\n\n public ngtStyle: NgtStylizableService;\n\n public constructor(\n private injector: Injector,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n ) {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtPortletHeader', {\n h: 'h-auto',\n w: 'w-auto',\n border: 'border-b',\n color: {}\n }, ['NgtPortletStyle']);\n }\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { Component, Injector, Input, Optional, Self } from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\n\n@Component({\n selector: 'ngt-portlet',\n templateUrl: './ngt-portlet.component.html',\n styleUrls: ['./ngt-portlet.component.css'],\n animations: [\n trigger('fadeUp', [\n state('void', style({ transform: 'translateY(20px)', opacity: 0 })),\n transition(':enter', [\n animate(500)\n ])\n ])\n ]\n})\nexport class NgtPortletComponent {\n @Input() public caption: string;\n @Input() public icon: string = null;\n @Input() public customLayout: boolean = false;\n @Input() public withFooter: boolean = false;\n @Input() public withBody: boolean = true;\n @Input() public helpTitle: string = '';\n @Input() public helpText: string = '';\n @Input() public helpIconColor: string = '';\n\n public ngtStyle: NgtStylizableService;\n\n public constructor(\n private injector: Injector,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\n ) {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtPortlet', {\n h: 'h-auto',\n shadow: 'shadow',\n color: {}\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtPortletBodyComponent } from './ngt-portlet-body/ngt-portlet-body.component';\nimport { NgtPortletFooterComponent } from './ngt-portlet-footer/ngt-portlet-footer.component';\nimport { NgtPortletHeaderComponent } from './ngt-portlet-header/ngt-portlet-header.component';\nimport { NgtPortletComponent } from './ngt-portlet.component';\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\nimport { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\n\n@NgModule({\n declarations: [\n NgtPortletComponent,\n NgtPortletHeaderComponent,\n NgtPortletBodyComponent,\n NgtPortletFooterComponent\n ],\n exports: [\n NgtPortletComponent,\n NgtPortletHeaderComponent,\n NgtPortletBodyComponent,\n NgtPortletFooterComponent\n ],\n imports: [\n CommonModule,\n NgtSvgModule,\n NgtHelperModule\n ]\n})\nexport class NgtPortletModule { }\n","export enum Size {\n AUTO = 'AUTO',\n XS = 'XS',\n SM = 'SM',\n MD = 'MD',\n XL = 'XL',\n FULL = 'FULL'\n};\n","import { animate, AnimationStyleMetadata, state, style, transition, trigger } from '@angular/animations';\n\nexport function slideLeftToRightAnimation(name: string, duration: any, customStyle?: AnimationStyleMetadata) {\n return trigger(name, [\n state('void', customStyle ? customStyle : style({ transform: 'translateX(-50px)', opacity: 0 })),\n transition(':enter, :leave', [\n animate(duration)\n ])\n ]);\n}\n\nexport function slideRightToLeftAnimation(name: string, duration: any, customStyle?: AnimationStyleMetadata) {\n return trigger(name, [\n state('void', customStyle ? customStyle : style({ transform: 'translateX(50px)', opacity: 0 })),\n transition(':enter, :leave', [\n animate(duration)\n ])\n ]);\n}\n\nexport function fadeDownAnimation(name: string, duration: any, customStyle?: AnimationStyleMetadata) {\n return trigger(name, [\n state('void', customStyle ? customStyle : style({ transform: 'translateY(-20px)', opacity: 0 })),\n transition(':enter, :leave', [\n animate(duration)\n ])\n ]);\n}\n\nexport function fadeUpAnimation(name: string, duration: any, customStyle?: AnimationStyleMetadata) {\n return trigger(name, [\n state('void', customStyle ? customStyle : style({ transform: 'translateY(20px)', opacity: 0 })),\n transition(':enter, :leave', [\n animate(duration)\n ])\n ]);\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostListener,\n Injector,\n Input,\n Optional,\n Self,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\n\nimport { fadeDownAnimation } from '../../animations/ngt-angular-animations';\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { Size } from '../../enums/size.enum';\nimport { getEnumFromString } from '../../helpers/enum/enum';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\n\n@Component({\n selector: 'ngt-sidenav',\n templateUrl: './ngt-sidenav.component.html',\n styleUrls: ['./ngt-sidenav.component.css'],\n animations: [\n fadeDownAnimation('fadeDownAnimation', 600)\n ],\n})\n\nexport class NgtSidenavComponent implements AfterViewInit {\n @ViewChild('sideMenu', { static: true }) public sideMenuRef: ElementRef;\n @ViewChild('container', { static: true }) public containerRef: ElementRef;\n\n @Input() public size: Size = Size.XS;\n @Input() public initVisible: boolean = false;\n @Input() public closeMenuOnMobileView: boolean = true;\n\n public visible: boolean = false;\n public open: boolean = false;\n public isMenuContracted: boolean = false;\n public ngtStyle: NgtStylizableService;\n\n private screenWidth: number;\n\n public constructor(\n private injector: Injector,\n @Self() @Optional() private ngtStyleDirective: NgtStylizableDirective,\n ) {\n if (this.ngtStyleDirective) {\n this.ngtStyle = this.ngtStyleDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'Sidenav', {\n h: 'md:h-auto h-screen',\n color: {}\n });\n\n this.bindScreenSize();\n }\n\n @HostListener('window:resize', ['$event'])\n public bindScreenSize(event?) {\n this.screenWidth = window.innerWidth;\n }\n\n public ngAfterViewInit() {\n if (this.initVisible) {\n setTimeout(() => {\n this.visible = true;\n });\n }\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (changes.size) {\n this.size = getEnumFromString(changes.size.currentValue, Size);\n }\n }\n\n public toggleMenu() {\n if (this.open) {\n this.closeMenu();\n } else {\n this.openMenu();\n }\n }\n\n public closeMenu() {\n this.open = false;\n }\n\n public openMenu() {\n this.open = true;\n }\n\n public getNavSize() {\n switch (this.size) {\n case Size.AUTO: return 'md:w-auto w-4/12';\n case Size.XS: return 'md:w-1/12 w-4/12';\n case Size.SM: return 'md:w-2/12 w-5/12';\n case Size.MD: return 'md:w-4/12 w-6/12';\n case Size.XL: return 'md:w-6/12 w-full';\n case Size.FULL: return 'w-full';\n }\n }\n\n public getContainerSize() {\n if (!this.visible) {\n return 'w-full';\n }\n\n if (this.isMobileView()) {\n return 'w-full';\n }\n\n switch (this.size) {\n case Size.AUTO: return 'w-full';\n case Size.XS: return 'md:w-11/12 w-full';\n case Size.SM: return 'md:w-10/12 w-full';\n case Size.MD: return 'md:w-8/12 w-full';\n case Size.XL: return 'md:w-6/12 w-full';\n case Size.FULL: return 'w-full';\n }\n }\n\n public toggleMenuSize(size: Size) {\n if (this.isMenuContracted) {\n this.size = size;\n this.isMenuContracted = false;\n } else {\n this.size = Size.AUTO;\n this.isMenuContracted = true;\n }\n }\n\n public isMobileView() {\n if (!this.closeMenuOnMobileView) {\n return false;\n }\n\n return this.screenWidth < 1024;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtSidenavComponent } from './ngt-sidenav.component';\n\n@NgModule({\n declarations: [NgtSidenavComponent],\n exports: [NgtSidenavComponent],\n imports: [\n CommonModule\n ]\n})\nexport class NgtSidenavModule { }\n","import { Component, ElementRef, Injector, Input, Optional, Self, ViewChild } from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\n\n@Component({\n selector: 'ngt-header-nav',\n templateUrl: './ngt-header-nav.component.html',\n styleUrls: ['./ngt-header-nav.component.css']\n})\nexport class NgtHeaderNavComponent {\n @ViewChild('element', { static: true }) public element: ElementRef;\n\n @Input() public ngtStyle: NgtStylizableService;\n\n public constructor(\n private injector: Injector,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective\n ) {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'HeaderNav', {\n h: 'h-auto',\n color: {}\n });\n }\n\n public ngAfterViewInit() {\n this.element.nativeElement.classList.add('tail-animate-fade-up');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgtHeaderNavComponent } from './ngt-header-nav.component';\n\n@NgModule({\n declarations: [NgtHeaderNavComponent],\n exports: [NgtHeaderNavComponent],\n imports: [\n CommonModule\n ]\n})\nexport class NgtHeaderNavModule { }\n","import { Component, Injector, Input, Optional, Self } from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\n\n@Component({\n selector: 'ngt-content',\n templateUrl: './ngt-content.component.html',\n styleUrls: ['./ngt-content.component.css']\n})\nexport class NgtContentComponent {\n @Input() public ngtStyle: NgtStylizableService;\n\n public constructor(\n private injector: Injector,\n @Self() @Optional() private tailStylizableDirective: NgtStylizableDirective\n ) {\n if (this.tailStylizableDirective) {\n this.ngtStyle = this.tailStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'Content', {\n color: {}\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgtContentComponent } from './ngt-content.component';\n\n@NgModule({\n declarations: [NgtContentComponent],\n exports: [NgtContentComponent],\n imports: [\n CommonModule\n ]\n})\nexport class NgtContentModule { }\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { Component, EventEmitter, Injector, Input, Optional, Output, Self } from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\n\n@Component({\n selector: 'ngt-section',\n templateUrl: './ngt-section.component.html',\n styleUrls: ['./ngt-section.component.css'],\n animations: [\n trigger('enterAnimation', [\n state('void', style({ transform: 'translateY(-20px)', opacity: 0 })),\n transition(':enter', [\n animate(400)\n ])\n ]),\n ]\n})\nexport class NgtSectionComponent {\n @Input() public icon: string;\n @Input() public caption: string;\n @Input() public subtitle: string;\n @Input() public accordion = false;\n @Input() public showSection = true;\n @Input() public helpTitle: string = '';\n @Input() public helpText: string = '';\n @Input() public helpIconColor: string = '';\n\n @Output() public onToggleSection: EventEmitter<any> = new EventEmitter();\n\n public ngtSectionStyle: NgtStylizableService;\n public ngtCaptionStyle: NgtStylizableService;\n public ngtSubtitleStyle: NgtStylizableService;\n\n public constructor(\n private injector: Injector,\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective\n ) {\n this.ngtCaptionStyle = new NgtStylizableService();\n this.ngtSubtitleStyle = new NgtStylizableService();\n\n if (this.ngtStylizableDirective) {\n this.ngtSectionStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtSectionStyle = new NgtStylizableService();\n }\n\n this.ngtSectionStyle.load(this.injector, 'NgtSection', {\n h: 'h-12',\n w: 'w-12',\n my: 'my-1',\n pr: 'pr-1',\n px: 'md:px-5',\n color: {\n text: 'text-gray-800'\n }\n });\n\n this.ngtCaptionStyle.load(this.injector, 'NgtSectionCaption', {\n text: 'text-sm',\n font: 'font-normal',\n ml: 'ml-2',\n pb: 'pb-2',\n border: 'border-none',\n color: {\n text: 'text-gray-800',\n border: ''\n }\n });\n\n this.ngtSubtitleStyle.load(this.injector, 'NgtSectionSubtitle', {\n text: 'text-xs',\n font: 'font-normal',\n border: 'border-none',\n ml: 'ml-2',\n color: {\n text: 'text-gray-500',\n border: ''\n }\n });\n }\n\n public open() {\n this.showSection = true;\n this.onToggleSection.emit(this.showSection);\n }\n\n public close() {\n this.showSection = false;\n this.onToggleSection.emit(this.showSection);\n }\n\n public toggle() {\n this.showSection = !this.showSection;\n this.onToggleSection.emit(this.showSection);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtStylizableModule } from '../../directives/ngt-stylizable/ngt-stylizable.module';\nimport { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\nimport { NgtSectionComponent } from './ngt-section.component';\n\n@NgModule({\n declarations: [NgtSectionComponent],\n exports: [NgtSectionComponent],\n imports: [\n CommonModule,\n NgtStylizableModule,\n NgtSvgModule,\n NgtHelperModule\n ]\n})\nexport class NgtSectionModule { }\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Host,\n HostListener,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Self,\n SimpleChanges,\n SkipSelf,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AbstractControl, ControlContainer, NgForm } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { uuid } from '../../helpers/uuid';\nimport { NgtHttpPagination, NgtHttpResponse, NgtHttpService } from '../../services/http/ngt-http.service';\nimport { NgtTranslateService } from '../../services/http/ngt-translate.service';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\nimport { NgtInputComponent } from '../ngt-input/ngt-input.component';\n\n@Component({\n selector: 'ngt-multi-select',\n templateUrl: './ngt-multi-select.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./ngt-multi-select.component.css'],\n providers: [\n NgtMakeProvider(NgtMultiSelectComponent)\n ],\n viewProviders: [\n { provide: ControlContainer, useExisting: NgForm }\n ]\n})\nexport class NgtMultiSelectComponent extends NgtBaseNgModel implements OnInit, OnDestroy, OnChanges {\n @ViewChild('containerRef') public containerRef: ElementRef;\n @ViewChild('inputSearch') public inputSearch: NgtInputComponent;\n @ViewChild('elementCheckboxTemplate') public elementCheckboxTemplate: TemplateRef<any>;\n\n /** Visual */\n @Input() public customOptionTemplate: TemplateRef<any>;\n @Input() public customHeaderTemplate: TemplateRef<any>;\n @Input() public label: string;\n @Input() public helpTitle: string;\n @Input() public helpText: string;\n @Input() public helpTextColor: string = 'text-green-500';\n @Input() public shining: boolean = false;\n @Input() public loading: boolean = false;\n\n /** Behavior */\n @Input() public bindLabel: string | Function = 'name';\n @Input() public bindSearch: string = 'name';\n @Input() public itemsPerPage: number = 15;\n @Input() public name: string;\n @Input() public remoteResource: any;\n @Input() public items: Array<any> = [];\n @Input() public searchable: boolean = true;\n\n /** Validation */\n @Input() public isRequired: boolean;\n @Input() public isDisabled: boolean;\n\n @Output() public onDataChange: EventEmitter<Array<NgtSelectContainerSelectableElementInterface>> = new EventEmitter();\n\n public searchTerm: string = '';\n public searchInputName: string = uuid();\n\n public selectAllCheckboxName: string = uuid();\n public displayOnlySelectedName: string = uuid();\n\n public selectedElements: Array<NgtSelectContainerSelectableElementInterface> = [];\n public itemsTotal: number;\n public selectAllCheckbox: boolean;\n public displayOnlySelected: boolean;\n\n public nativeName: string = uuid();\n public nativeValue: any;\n\n public ngtStyle: NgtStylizableService;\n public selectableElements: Array<NgtSelectContainerSelectableElementInterface> = [];\n public selectableElementsOnSearch: Array<NgtSelectContainerSelectableElementInterface> = [];\n public componentReady: boolean;\n\n private pagination: NgtHttpPagination = {\n count: null,\n page: 1,\n pages: null,\n total: null,\n from: null,\n to: null,\n per_page: null\n };\n\n private subscriptions: Array<Subscription> = [];\n private inSearch: boolean;\n private searchTimeout: any;\n private previousSearchTerm: string = '';\n private becameVisible: boolean;\n\n public constructor(\n private ngtHttpService: NgtHttpService,\n private injector: Injector,\n private changeDetector: ChangeDetectorRef,\n\n @Optional() @Self()\n public ngtStylizableDirective: NgtStylizableDirective,\n\n @Optional() @Host()\n public formContainer: ControlContainer,\n\n @Optional() @SkipSelf()\n public ngtFormComponent: NgtFormComponent,\n\n @Optional()\n public ngtTranslateService: NgtTranslateService\n ) {\n super();\n\n if (this.ngtFormComponent) {\n this.shining = this.ngtFormComponent.isShining();\n\n this.subscriptions.push(\n this.ngtFormComponent.onShiningChange.subscribe((shining: boolean) => {\n this.shining = shining;\n })\n );\n }\n\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtMultiSelect', { h: 'h-64' });\n }\n\n @HostListener('scroll', ['$event'])\n public onScroll(event: any): void {\n const isScrollEnd = event.target.scrollTop && event.target.offsetHeight + event.target.scrollTop >= (event.target.scrollHeight - 30);\n\n if (isScrollEnd && !this.loading && !this.displayOnlySelected && this.selectableElements?.length\n && this.pagination.per_page < this.pagination.total) {\n const currentPerPage = typeof this.pagination.per_page === 'string'\n ? Number.parseInt(this.pagination.per_page)\n : this.pagination.per_page;\n\n setTimeout(() => this.loadData(currentPerPage + this.itemsPerPage, this.searchTerm));\n }\n }\n\n public ngOnInit(): void {\n if (!this.formContainer) {\n console.error(\"The element must be inside a <form #form='ngForm'> tag!\");\n }\n\n if (!this.name) {\n console.error(\"The element must contain a name attribute!\");\n }\n }\n\n public ngDoCheck(): void {\n if (!this.becameVisible && !this.isHidden()) {\n this.becameVisible = true;\n\n this.loadData().then(() => this.initComponentValidation());\n }\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes.isRequired && this.componentReady) {\n this.updateValidations();\n }\n\n if (changes.isDisabled) {\n this.displayOnlySelected = changes.isDisabled.currentValue;\n }\n\n if (changes.items) {\n this.bindSelectableElements(changes.items.currentValue);\n this.componentReady = true;\n }\n\n if (changes.remoteResource && this.becameVisible) {\n this.loadData().then(() => this.initComponentValidation());\n }\n\n if (changes.itemsPerPage) {\n this.pagination.per_page = changes.itemsPerPage.currentValue;\n }\n }\n\n public ngOnDestroy(): void {\n this.destroySubscriptions();\n }\n\n public setFocus(): void {\n setTimeout(() => this.inputSearch.setFocus());\n }\n\n public refresh(): void {\n this.loadData(this.itemsPerPage, this.searchTerm);\n }\n\n public reset(): void {\n this.value = [];\n this.nativeValue = [];\n this.selectedElements = [];\n this.refresh();\n }\n\n public selectAll(): void {\n if (!this.loading && !this.isDisabled) {\n this.selectAllCheckbox = !this.selectAllCheckbox;\n\n this.value = [];\n this.nativeValue = [];\n this.selectedElements = [];\n\n this.loadData(this.selectAllCheckbox ? this.pagination.total : this.itemsPerPage)\n .then(() => {\n this.containerRef?.nativeElement?.scrollTo({ top: 0 });\n this.selectableElements.forEach(element => element.isSelected = this.selectAllCheckbox);\n\n if (this.selectAllCheckbox) {\n this.selectedElements = this.selectableElements;\n }\n });\n }\n }\n\n public onNativeChange(selectableElement: NgtSelectContainerSelectableElementInterface): void {\n if (this.componentReady) {\n this.handleElementSelection(selectableElement);\n\n if (this.hasChangesBetweenBindings(this.value, this.selectedElements)) {\n this.value = this.selectedElements.map(e => e.value);\n }\n }\n }\n\n public change(selectedElements: Array<any>): void {\n if (this.hasChangesBetweenBindings(selectedElements, this.selectedElements)) {\n if (this.selectableElements?.length) {\n this.bindSelectedElements(selectedElements);\n\n this.selectableElements.filter(element => this.isSelectedElement(element))\n .forEach(element => element.isSelected = true);\n\n this.selectableElementsOnSearch.filter(element => this.isSelectedElement(element))\n .forEach(element => element.isSelected = true);\n } else {\n this.selectedElements = selectedElements?.map(\n element => ({ uuid: uuid(), isSelected: true, value: element })\n ) ?? [];\n\n this.changeDetector.detectChanges();\n }\n\n if (!selectedElements?.length) {\n this.markAsPristine();\n }\n }\n }\n\n public toggleItem(event: Event, selectableElement: NgtSelectContainerSelectableElementInterface): void {\n event.stopImmediatePropagation();\n\n if (!this.isDisabled) {\n selectableElement.isSelected = !selectableElement.isSelected;\n\n this.handleElementSelection(selectableElement);\n }\n }\n\n public search(term: string): void {\n if (!this.componentReady || term === undefined || term === null || term === this.previousSearchTerm) {\n return;\n }\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.previousSearchTerm = term;\n\n if (!term) {\n this.inSearch = false;\n\n if (this.items?.length) {\n return;\n }\n }\n\n this.inSearch = true;\n\n if (this.items?.length) {\n this.selectableElementsOnSearch = this.selectableElements.filter(\n item => this.getSelectableElementValue(item).includes(term)\n );\n } else {\n this.loadData(this.itemsPerPage, term);\n }\n }, 500);\n }\n\n public getSelectableElements(): Array<any> {\n if (this.inSearch && this.items?.length) {\n return this.selectableElementsOnSearch;\n } else if (this.displayOnlySelected) {\n return this.selectedElements;\n }\n\n return this.selectableElements;\n }\n\n public getSelectableElementValue(selectableItem: any): string {\n if (typeof this.bindLabel === 'function') {\n return this.bindLabel(selectableItem.value);\n } else if (typeof selectableItem.value['getAttribute'] === 'function') {\n return selectableItem.value.getAttribute(this.bindLabel);\n }\n\n return selectableItem.value[this.bindLabel];\n }\n\n public hasValidationErrors(): boolean {\n return this.formControl?.errors && (\n this.formControl.dirty || (this.formContainer && this.formContainer['submitted'])\n );\n }\n\n private handleElementSelection(selectableElement: NgtSelectContainerSelectableElementInterface): void {\n if (selectableElement.isSelected && !this.isSelectedElement(selectableElement)) {\n this.selectedElements.push(selectableElement);\n } else if (!selectableElement.isSelected && this.isSelectedElement(selectableElement)) {\n this.selectedElements = this.selectedElements.filter(\n selectedElement => selectedElement.uuid !== selectableElement.uuid\n );\n\n if (this.displayOnlySelected && !this.selectedElements.length) {\n this.displayOnlySelected = false;\n }\n }\n }\n\n private async loadData(perpage: number = this.itemsPerPage, searchTerm?: string): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (this.remoteResource) {\n if (perpage == this.itemsPerPage) {\n this.containerRef?.nativeElement?.scrollTo({ top: 0 });\n }\n\n this.selectableElements = [];\n this.loading = true;\n\n const pagination: NgtHttpPagination = { ...this.pagination, ...{ per_page: perpage } };\n const filters = searchTerm ? { [this.bindSearch]: searchTerm } : null;\n\n this.subscriptions.push(\n this.ngtHttpService.get(\n this.remoteResource, filters, pagination\n ).subscribe(\n (response: NgtHttpResponse) => {\n this.bindSelectableElements(response.data);\n this.pagination = response.meta.pagination;\n\n this.itemsTotal = this.pagination.total;\n this.loading = false;\n\n this.onDataChange.emit(this.selectableElements);\n this.componentReady = true;\n this.changeDetector.detectChanges();\n\n setTimeout(() => this.displayOnlySelected = this.isDisabled);\n\n resolve();\n },\n (error) => {\n console.error(error);\n this.loading = false;\n this.changeDetector.detectChanges();\n\n reject();\n }\n )\n );\n } else {\n console.error('The property [remoteResource] needs to be present to be able to make remote search');\n }\n });\n }\n\n private bindSelectableElements(data: Array<any>): void {\n const formattedElements: Array<NgtSelectContainerSelectableElementInterface> = [];\n\n data.forEach(item => {\n const alreadySelected = this.findSelectedElement(item);\n\n if (alreadySelected) {\n formattedElements.push(alreadySelected);\n } else {\n formattedElements.push({ uuid: uuid(), isSelected: false, value: item });\n }\n });\n\n this.selectableElements = formattedElements;\n }\n\n private bindSelectedElements(selectedElements: Array<any>): void {\n this.selectableElements.forEach(selectableElement => {\n const shouldBeSelected: boolean = !!selectedElements?.find(\n selectedElement => this.compareWith(selectedElement, selectableElement.value)\n );\n\n if (shouldBeSelected) {\n selectableElement.isSelected = true;\n this.handleElementSelection(selectableElement);\n }\n });\n }\n\n private initComponentValidation(): void {\n if (this.formContainer?.control && (this.formControl = this.formContainer.control.get(this.name))) {\n this.formControl = this.formContainer.control.get(this.name);\n this.markAsPristine();\n this.updateValidations();\n }\n }\n\n private updateValidations(): void {\n const syncValidators = [];\n\n if (this.isRequired) {\n syncValidators.push(this.isRequiredValidator());\n }\n\n setTimeout(() => {\n this.formControl.setValidators(syncValidators);\n this.formControl.updateValueAndValidity();\n });\n }\n\n private isRequiredValidator(): any {\n return (control: AbstractControl) => {\n if (Array.isArray(this.value) && this.value.length > 0) {\n return null;\n }\n\n return { 'required': true };\n };\n }\n\n private findSelectedElement(item: any): any {\n return this.selectedElements.find(selectedElement => this.compareWith(selectedElement.value, item));\n }\n\n private compareWith(a: any, b: any): boolean {\n if (typeof a['getApiId'] === 'function' && typeof b['getApiId'] === 'function') {\n return a.getApiId() == b.getApiId();\n } else if (a.id && b.id) {\n return a.id == b.id;\n }\n\n return JSON.stringify(a) === JSON.stringify(b);\n }\n\n private hasChangesBetweenBindings(value: Array<any>, nativeValue: Array<any>): boolean {\n if (value?.length && !value[0].uuid) {\n nativeValue = nativeValue.map(element => element.value);\n }\n\n return JSON.stringify(value) !== JSON.stringify(nativeValue);\n }\n\n private isSelectedElement(selectableElement: NgtSelectContainerSelectableElementInterface): boolean {\n return !!this.selectedElements.find(selectedElement => selectedElement.uuid === selectableElement.uuid);\n }\n\n private isHidden(): boolean {\n return !this.containerRef?.nativeElement.offsetParent;\n }\n\n private destroySubscriptions(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n\nexport interface NgtSelectContainerSelectableElementInterface {\n uuid: string;\n isSelected: boolean;\n value: any;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { NgtStylizableModule } from '../../directives/ngt-stylizable/ngt-stylizable.module';\nimport { NgtCheckboxModule } from '../ngt-checkbox/ngt-checkbox.module';\nimport { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\nimport { NgtInputModule } from '../ngt-input/ngt-input.module';\nimport { NgtShiningModule } from '../ngt-shining/ngt-shining.module';\nimport { NgtValidationModule } from '../ngt-validation/ngt-validation.module';\nimport { NgtMultiSelectComponent } from './ngt-multi-select.component';\n\n@NgModule({\n declarations: [\n NgtMultiSelectComponent\n ],\n exports: [\n NgtMultiSelectComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n NgtValidationModule,\n NgtShiningModule,\n NgtHelperModule,\n NgtInputModule,\n NgtCheckboxModule,\n NgtStylizableModule\n ]\n})\nexport class NgtMultiSelectModule { }\n","import { Observable } from 'rxjs';\n\nexport abstract class NgtAttachmentHttpService {\n abstract preview(attachment: any): Observable<NgtAttachmentHttpResponse>;\n\n abstract thumbnail(attachment: any): Observable<NgtAttachmentHttpResponse>;\n\n abstract download(attachment: any): Observable<any>;\n\n abstract upload(remoteResource: any, file: any): Observable<any>;\n}\n\nexport interface NgtAttachmentHttpResponse {\n data?: any;\n}\n","import { Component, EventEmitter, HostListener, Input, Output } from \"@angular/core\";\n\n@Component({\n selector: 'ngt-dropzone-file-viewer',\n styleUrls: ['./ngt-dropzone-file-viewer.component.css'],\n templateUrl: './ngt-dropzone-file-viewer.component.html'\n})\nexport class NgtDropzoneFileViewerComponent {\n @Input() public url: string = '';\n @Input() public fileName: string = '';\n @Output() public onClose: EventEmitter<any> = new EventEmitter();\n\n public canShowViewer: boolean = false;\n\n public constructor() { }\n\n @HostListener('window:keydown', ['$event'])\n public keyEvent(event: KeyboardEvent) {\n if (event.code == 'Escape') {\n this.canShowViewer = false;\n setTimeout(() => {\n this.onClose.emit();\n }, 500);\n }\n }\n\n public init() {\n this.canShowViewer = true;\n }\n\n public close() {\n this.canShowViewer = false;\n this.onClose.emit();\n }\n\n public downloadFile() {\n let file = document.createElement(\"a\");\n\n file.href = this.url;\n file.setAttribute(\"download\", this.fileName);\n file.click();\n }\n}\n","import {\n AfterContentChecked,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Host,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n SimpleChanges,\n SkipSelf,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlContainer, NgForm, Validators } from '@angular/forms';\nimport { NgxDropzoneChangeEvent, NgxDropzoneComponent } from 'ngx-dropzone';\nimport { forkJoin, Subscription } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport Viewer from 'viewerjs';\n\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\nimport { getEnumFromString } from '../../helpers/enum/enum';\nimport { NgtAttachmentHttpService } from '../../services/http/ngt-attachment-http.service';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtDropzoneFileViewerComponent } from './ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component';\n\nexport interface NgtDropzoneFile {\n downloadUrl: string;\n previewUrl: string;\n thumbnailUrl: string;\n name: string;\n mimeType: string;\n fileSize: any;\n};\n\nexport enum NgtDropzoneFileTypeEnum {\n DOC = 'DOC',\n PDF = 'PDF',\n XLS = 'XLS',\n OTHER = 'OTHER'\n}\n\nexport enum NgtDropzonePreviewType {\n DEFAULT = 'DEFAULT',\n IMAGE = 'IMAGE',\n VIDEO = 'VIDEO'\n}\n\nexport enum NgtDropzoneErrorType {\n DEFAULT = 'DEFAULT',\n SIZE = 'SIZE',\n NO_MULTIPLE = 'NO_MULTIPLE',\n ITEMS_LIMIT = 'ITEMS_LIMIT',\n TYPE = 'TYPE'\n}\n\n@Component({\n selector: 'ngt-dropzone',\n templateUrl: './ngt-dropzone.component.html',\n styleUrls: ['./ngt-dropzone.component.css'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n NgtMakeProvider(NgtDropzoneComponent),\n ],\n viewProviders: [\n { provide: ControlContainer, useExisting: NgForm }\n ]\n})\nexport class NgtDropzoneComponent extends NgtBaseNgModel implements OnInit, OnDestroy, AfterContentChecked {\n @ViewChild('container') public container: ElementRef;\n @ViewChild('ngxDropzone', { static: true }) public ngxDropzone: NgxDropzoneComponent;\n @ViewChild(NgtDropzoneFileViewerComponent, { static: true }) public ngtDropzoneFileViewer: NgtDropzoneFileViewerComponent;\n\n // Visual\n @Input() public label: string;\n @Input() public placeholder: string;\n @Input() public helpTextColor: string = 'text-green-500';\n @Input() public helpText: string;\n @Input() public helpTitle: string;\n\n // Behavior\n @Input() public resources: Array<NgtDropzoneFile> = [];\n @Input() public multipleSelection: boolean = false;\n @Input() public itemsLimit: number;\n @Input() public showFileName: boolean = false;\n @Input() public disableClick: boolean = false;\n @Input() public disabled: boolean = false;\n @Input() public viewMode: boolean = false;\n @Input() public removable: boolean = false;\n @Input() public verticalExpandable: boolean = false;\n @Input() public acceptedFiles: string = '*' /** Mime type */;\n @Input() public maxFileSize: number; /** Bytes */\n @Input() public previewType: NgtDropzonePreviewType = NgtDropzonePreviewType.DEFAULT;\n @Input() public isRequired: boolean = false;\n @Input() public name: string;\n @Input() public remoteResource: any;\n\n @Output() public onFileSelected: EventEmitter<NgxDropzoneChangeEvent> = new EventEmitter();\n @Output() public onFileSelectError: EventEmitter<NgtDropzoneErrorType> = new EventEmitter();\n @Output() public onFileUploadFail: EventEmitter<any> = new EventEmitter();\n @Output() public onFileRemoved = new EventEmitter();\n @Output() public onFileUploaded = new EventEmitter();\n @Output() public onFilePreviewLoaded = new EventEmitter();\n\n public dropzoneHeight: string = '180px';\n public uploadedResources = [];\n public forceDisableClick: boolean = false;\n public nativeValue = [];\n public showNgtDropzoneFileViewer: boolean = false;\n public componentReady = false;\n public loading: boolean = false;\n public ngtDropzoneLoaderStyle: NgtStylizableService;\n public imageViewerOptions: any = {\n navbar: true,\n toolbar: {\n zoomIn: true,\n zoomOut: true,\n reset: true,\n rotateLeft: true,\n rotateRight: true,\n prev: true,\n next: true,\n }\n };\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n @Optional() @Host()\n public formContainer: ControlContainer,\n @Optional() @SkipSelf()\n private ngtAttachmentHttpService: NgtAttachmentHttpService,\n private injector: Injector,\n private changeDetector: ChangeDetectorRef,\n ) {\n super();\n\n this.ngtDropzoneLoaderStyle = new NgtStylizableService();\n\n this.ngtDropzoneLoaderStyle.load(this.injector, 'NgtDropzoneLoader', {\n h: 'h-8',\n color: {\n text: 'text-gray-600'\n }\n });\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (changes.previewType) {\n this.previewType = getEnumFromString(changes.previewType.currentValue, NgtDropzonePreviewType);\n }\n }\n\n public ngAfterContentChecked() {\n if (this.container && this.container.nativeElement) {\n this.dropzoneHeight = `${this.container.nativeElement.parentElement.offsetHeight}px`;\n\n this.changeDetector.detectChanges();\n }\n }\n\n public ngOnInit() {\n setTimeout(() => {\n this.componentReady = true;\n\n setTimeout(() => {\n this.initComponent();\n });\n }, 500);\n }\n\n public ngOnDestroy() {\n this.destroySubscriptions();\n }\n\n public onImageClick(element, index?) {\n if (!this.viewMode) {\n this.forceDisableClick = true;\n }\n\n const ngtDropzoneComponent = this;\n\n if (index) {\n this.imageViewerOptions = { ...this.imageViewerOptions, ...{ initialViewIndex: index } };\n }\n\n const viewer = new Viewer(element, {\n ...this.imageViewerOptions, ...{\n hidden() {\n ngtDropzoneComponent.forceDisableClick = false;\n viewer.destroy();\n }\n }\n });\n\n viewer.show();\n }\n\n public onFileClick(url, name) {\n this.forceDisableClick = true;\n this.showNgtDropzoneFileViewer = true;\n this.ngtDropzoneFileViewer.url = url;\n this.ngtDropzoneFileViewer.fileName = name;\n this.ngtDropzoneFileViewer.init();\n\n this.subscriptions.push(this.ngtDropzoneFileViewer.onClose.subscribe(() => {\n this.showNgtDropzoneFileViewer = false;\n this.forceDisableClick = false;\n }));\n }\n\n public async onSelect(event: NgxDropzoneChangeEvent) {\n if (event.rejectedFiles.length) {\n for (const rejectedFile of <any>event.rejectedFiles) {\n if (rejectedFile.reason == 'size') {\n this.onFileSelectError.emit(NgtDropzoneErrorType.SIZE);\n break;\n } else if (rejectedFile.reason == 'no_multiple') {\n this.onFileSelectError.emit(NgtDropzoneErrorType.NO_MULTIPLE);\n break;\n } else if (rejectedFile.reason == 'type') {\n this.onFileSelectError.emit(NgtDropzoneErrorType.TYPE);\n break;\n } else {\n this.onFileSelectError.emit(NgtDropzoneErrorType.DEFAULT);\n break;\n }\n }\n }\n\n if (this.itemsLimit) {\n if (this.itemsLimit == 1 && event.addedFiles\n && event.addedFiles.length == this.itemsLimit && this.uploadedResources.length == this.itemsLimit) {\n this.uploadedResources = [];\n }\n\n if (event.addedFiles\n && event.addedFiles.length + this.uploadedResources.length <= this.itemsLimit) {\n this.onFileSelected.emit(event);\n this.uploadFiles(event.addedFiles);\n } else {\n this.onFileSelectError.emit(NgtDropzoneErrorType.ITEMS_LIMIT);\n }\n } else {\n this.onFileSelected.emit(event);\n this.uploadFiles(event.addedFiles);\n }\n }\n\n public async uploadFiles(files: Array<File>) {\n if (files && files.length) {\n let temporaryFiles = [];\n let temporaryAttachments = [];\n let observables = [];\n\n this.loading = true;\n\n files.forEach(file => {\n observables.push(this.ngtAttachmentHttpService.upload(this.remoteResource, file).pipe(\n map((response: any) => {\n if (response && response.data) {\n if (response.data.attributes && response.data.attributes.data) {\n file['url'] = response.data.attributes.data.url;\n }\n\n temporaryFiles.push({\n id: response.data.id,\n size: file.size,\n file: file\n });\n response.data['loaded'] = true;\n temporaryAttachments.push(response.data);\n }\n })\n ));\n });\n\n this.subscriptions.push(\n forkJoin(observables).subscribe(\n (response) => {\n this.uploadedResources.push(...temporaryFiles);\n\n if (this.itemsLimit == 1) {\n this.onNativeChange([...temporaryAttachments]);\n } else {\n this.onNativeChange([...temporaryAttachments, ...this.nativeValue]);\n }\n\n this.onFileUploaded.emit();\n this.loading = false;\n },\n (error) => {\n this.onFileUploadFail.emit(error);\n this.loading = false;\n })\n );\n }\n }\n\n public async loadFilePreview(attachments: any) {\n if (attachments && attachments.length && attachments[0]) {\n let temporaryResource = [];\n let observables = [];\n\n attachments.forEach(attachment => {\n if (!(attachment instanceof File) && !attachment.loaded) {\n this.loading = true;\n attachment['loaded'] = true;\n observables.push(this.ngtAttachmentHttpService.thumbnail(attachment).pipe(\n map((response: any) => {\n temporaryResource.push({\n id: response.data.getApiId(),\n file: response.data.getAttribute('file')\n });\n })\n ));\n }\n });\n\n this.subscriptions.push(\n forkJoin(observables).subscribe(\n (response) => {\n this.uploadedResources.push(...temporaryResource);\n this.onNativeChange(attachments);\n this.onFilePreviewLoaded.emit();\n this.loading = false;\n },\n (error) => {\n this.loading = false;\n })\n );\n }\n }\n\n public onRemove(resource: any) {\n this.uploadedResources.splice(this.uploadedResources.indexOf(resource), 1);\n this.nativeValue = this.nativeValue.filter(element => element.id != resource.id);\n this.onNativeChange(this.nativeValue);\n this.onFileRemoved.emit(resource);\n }\n\n public isImage(resource: any) {\n return this.previewType == 'IMAGE' || (resource.file && resource.file.type && resource.file.type.includes('image'));\n }\n\n public isVideo(resource: any) {\n return this.previewType == 'VIDEO' || (resource.file && resource.file.type && resource.file.type.includes('video'));\n }\n\n public isAudio(resource: any) {\n return (resource.file && resource.file.type && resource.file.type.includes('audio'));\n }\n\n public isFile(resource: any) {\n return !this.isImage(resource) && !this.isAudio(resource) && !this.isVideo(resource);\n }\n\n public getFormattedFileSize(resource: any) {\n if (resource) {\n let size = resource.size || resource.fileSize;\n\n if (!size) {\n if (resource.file && resource.file.size) {\n size = resource.file.size;\n } else {\n size = 0;\n }\n }\n\n if (parseFloat(size) > 1000000) {\n return (parseFloat(size) / 1000000).toFixed(2) + ' Mb';\n }\n\n return Math.round(parseFloat(size) / 1000) + ' Kb';\n }\n }\n\n public onNativeChange(value: any) {\n if (value === undefined) {\n this.value = [];\n this.nativeValue = [];\n } else {\n this.nativeValue = value;\n\n if (JSON.stringify(this.value) != JSON.stringify(this.nativeValue)) {\n this.value = this.nativeValue;\n }\n }\n }\n\n public change(value: any) {\n if (value && !this.viewMode) {\n this.onNativeChange(Array.isArray(value) ? value : [value]);\n\n if (this.componentReady) {\n this.loadFilePreview(Array.isArray(value) ? value : [value]);\n }\n }\n }\n\n public downloadFile(attachment: any) {\n this.ngtAttachmentHttpService.download(attachment).subscribe(() => { });\n }\n\n public reset() {\n this.uploadedResources = [];\n this.value = [];\n this.nativeValue = [];\n this.initComponent();\n }\n\n public openFileSelector() {\n document.getElementById('ngxDropzone').click();\n }\n\n private initComponent() {\n if (this.viewMode) {\n this.previewType = NgtDropzonePreviewType.DEFAULT;\n\n return;\n }\n\n if (this.formContainer && this.formContainer.control\n && (this.formControl = this.formContainer.control.get(this.name))) {\n this.resetFilesLoad();\n this.loadFilePreview(Array.isArray(this.value) ? this.value : [this.value]);\n this.updateValidations();\n\n if (this.value) {\n this.formControl.markAsDirty();\n } else {\n this.formControl.markAsPristine();\n }\n }\n }\n\n private resetFilesLoad() {\n if (Array.isArray(this.value)) {\n this.value.forEach(element => {\n if (element) {\n element['loaded'] = false;\n }\n });\n }\n }\n\n private updateValidations() {\n if (!this.formControl) {\n return;\n }\n\n let syncValidators = [];\n\n if (this.isRequired) {\n syncValidators.push(Validators.required);\n }\n\n syncValidators.push();\n\n setTimeout(() => {\n this.formControl.setValidators(syncValidators);\n this.formControl.updateValueAndValidity();\n });\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { NgxDropzonePreviewComponent } from 'ngx-dropzone';\n\nimport { NgtDropzoneFileTypeEnum } from '../ngt-dropzone.component';\n\n@Component({\n selector: 'custom-dropzone-preview',\n templateUrl: './custom-dropzone-preview.component.html',\n providers: [\n {\n provide: NgxDropzonePreviewComponent,\n useExisting: CustomDropzonePreviewComponent\n }\n ]\n})\nexport class CustomDropzonePreviewComponent extends NgxDropzonePreviewComponent implements OnInit {\n public fileType: NgtDropzoneFileTypeEnum;\n\n public constructor(public sanitizer: DomSanitizer) {\n super(sanitizer);\n }\n\n public ngOnInit(): void {\n if (!this.file) {\n console.error('No file to read. Please provide a file using the [file] Input property.');\n\n return;\n }\n\n this.bindFileType();\n }\n\n private bindFileType(): void {\n if (this.file.type.includes('.sheet')) {\n this.fileType = NgtDropzoneFileTypeEnum.XLS;\n } else if (this.file.type.includes('pdf')) {\n this.fileType = NgtDropzoneFileTypeEnum.PDF;\n } else if (this.file.type.includes('.document')) {\n this.fileType = NgtDropzoneFileTypeEnum.DOC;\n } else {\n this.fileType = NgtDropzoneFileTypeEnum.OTHER;\n }\n }\n}\n","import { AfterViewInit, Component, Input, SimpleChanges, SkipSelf, ViewEncapsulation } from '@angular/core';\n\nimport { NgtDropzoneComponent, NgtDropzoneFile, NgtDropzoneFileTypeEnum } from '../ngt-dropzone.component';\n\n@Component({\n selector: 'ngt-dropzone-view',\n templateUrl: './ngt-dropzone-view.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class NgtDropzoneViewComponent implements AfterViewInit {\n @Input() public resources: Array<any>;\n\n public images: Array<NgtDropzoneFile>;\n public audios: Array<NgtDropzoneFile>;\n public videos: Array<NgtDropzoneFile>;\n public files: Array<NgtDropzoneFile>;\n\n public ngtDropzoneViewFileTypeEnum = NgtDropzoneFileTypeEnum;\n\n public constructor(\n @SkipSelf()\n public ngtDropzoneComponent: NgtDropzoneComponent\n ) { }\n\n public ngAfterViewInit() { }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (changes.resources) {\n this.loadFiles();\n }\n }\n\n public loadFiles() {\n this.images = this.resources.filter((resource) => this.isImage(resource));\n this.audios = this.resources.filter((resource) => this.isAudio(resource));\n this.videos = this.resources.filter((resource) => this.isVideo(resource));\n this.files = this.resources.filter((resource) => this.isFile(resource));\n }\n\n public onImageClick(index) {\n const imagesDiv = document.createElement(\"div\");\n\n this.images.forEach((image: NgtDropzoneFile) => {\n let imageElement = document.createElement(\"img\");\n\n imageElement.src = image.previewUrl;\n\n imagesDiv.appendChild(imageElement);\n });\n\n this.ngtDropzoneComponent.onImageClick(imagesDiv, index);\n }\n\n public getFileType(resource: NgtDropzoneFile): NgtDropzoneFileTypeEnum {\n if (resource.mimeType.includes('.sheet')) {\n return NgtDropzoneFileTypeEnum.XLS;\n }\n\n if (resource.mimeType.includes('pdf')) {\n return NgtDropzoneFileTypeEnum.PDF;\n }\n\n if (resource.mimeType.includes('.document')) {\n return NgtDropzoneFileTypeEnum.DOC;\n }\n\n return NgtDropzoneFileTypeEnum.OTHER;\n }\n\n private isImage(resource: NgtDropzoneFile) {\n return resource.mimeType.includes('image');\n }\n\n private isAudio(resource: NgtDropzoneFile) {\n return resource.mimeType.includes('audio');\n }\n\n private isVideo(resource: NgtDropzoneFile) {\n return resource.mimeType.includes('video');\n }\n\n private isFile(resource: NgtDropzoneFile) {\n return !this.isImage(resource) && !this.isAudio(resource) && !this.isVideo(resource);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NgxDocViewerModule } from 'ngx-doc-viewer';\nimport { NgxDropzoneModule } from 'ngx-dropzone';\nimport { NgxViewerModule } from 'ngx-viewer';\n\nimport { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\nimport { NgtValidationModule } from '../ngt-validation/ngt-validation.module';\nimport { CustomDropzonePreviewComponent } from './custom-dropzone-preview/custom-dropzone-preview.component';\nimport { NgtDropzoneFileViewerComponent } from './ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component';\nimport { NgtDropzoneViewComponent } from './ngt-dropzone-view/ngt-dropzone-view.component';\nimport { NgtDropzoneComponent } from './ngt-dropzone.component';\n\n@NgModule({\n exports: [NgtDropzoneComponent],\n declarations: [\n NgtDropzoneComponent,\n NgtDropzoneFileViewerComponent,\n NgtDropzoneViewComponent,\n CustomDropzonePreviewComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n NgtValidationModule,\n NgxDropzoneModule,\n NgxViewerModule,\n NgtSvgModule,\n NgxDocViewerModule,\n NgtHelperModule,\n ]\n})\nexport class NgtDropzoneModule { }\n","/*\n * Public API Surface of ng-tailwind\n */\n\n//Translate\nexport * from './services/http/ngt-translate.service';\n\n//NgtHttpService\nexport * from './services/http/ngt-http.service';\n\n//NgtHttpValidationService\nexport * from './services/http/ngt-http-validation.service';\n\n//NgtHttpResourceService\nexport * from './services/http/ngt-http-resource.service';\n\n//NgtDatatable\nexport * from './components/ngt-datatable/ngt-datatable.module';\nexport * from './components/ngt-datatable/ngt-datatable.component';\nexport * from './components/ngt-datatable/ngt-tbody/ngt-tbody.component';\nexport * from './components/ngt-datatable/ngt-td/ngt-td.component';\nexport * from './components/ngt-datatable/ngt-td-check/ngt-td-check.component';\nexport * from './components/ngt-datatable/ngt-th/ngt-th.component';\nexport * from './components/ngt-datatable/ngt-th-check/ngt-th-check.component';\nexport * from './components/ngt-datatable/ngt-thead/ngt-thead.component';\nexport * from './components/ngt-datatable/ngt-tr/ngt-tr.component';\n\n//NgtPagination\nexport * from './components/ngt-pagination/ngt-pagination.module';\nexport * from './components/ngt-pagination/ngt-pagination.component';\n\n//NgtDropdown\nexport * from './components/ngt-dropdown/ngt-dropdown.module';\nexport * from './components/ngt-dropdown/ngt-dropdown.component';\nexport * from './components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component';\n\n//NgtFloatingButton\nexport * from './components/ngt-floating-button/ngt-floating-button.module';\nexport * from './components/ngt-floating-button/ngt-floating-button.component';\n\n//NgtTag\nexport * from './components/ngt-tag/ngt-tag.module';\nexport * from './components/ngt-tag/ngt-tag.component';\n\n//NgtAction\nexport * from './components/ngt-action/ngt-action.module';\nexport * from './components/ngt-action/ngt-action.component';\n\n//NgtCheckbox\nexport * from './components/ngt-checkbox/ngt-checkbox.module';\nexport * from './components/ngt-checkbox/ngt-checkbox.component';\n\n//NgtSlider\nexport * from './components/ngt-slider/ngt-slider.module';\nexport * from './components/ngt-slider/ngt-slider.component';\n\n//NgtRadioButton\nexport * from './components/ngt-radio-button/ngt-radio-button.module';\nexport * from './components/ngt-radio-button/ngt-radio-button.component';\nexport * from './components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component';\n\n//NgtTextarea\nexport * from './components/ngt-textarea/ngt-textarea.module';\nexport * from './components/ngt-textarea/ngt-textarea.component';\n\n//NgtModal\nexport * from './components/ngt-modal/ngt-modal.module';\nexport * from './components/ngt-modal/ngt-modal.component';\nexport * from './components/ngt-modal/ngt-modal-header/ngt-modal-header.component';\nexport * from './components/ngt-modal/ngt-modal-body/ngt-modal-body.component';\nexport * from './components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component';\n\n//NgtDate\nexport * from './components/ngt-date/ngt-date.module';\nexport * from './components/ngt-date/ngt-date.component';\n\n//NgtButton\nexport * from './components/ngt-button/ngt-button.module';\nexport * from './components/ngt-button/ngt-button.component';\n\n//NgtPortlet\nexport * from './components/ngt-portlet/ngt-portlet.module';\nexport * from './components/ngt-portlet/ngt-portlet.component';\nexport * from './components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component';\nexport * from './components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component';\nexport * from './components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component';\nexport * from './enums/size.enum';\n\n//NgtSidenav\nexport * from './components/ngt-sidenav/ngt-sidenav.module';\nexport * from './components/ngt-sidenav/ngt-sidenav.component';\n\n//NgtHeader\nexport * from './components/ngt-header-nav/ngt-header-nav.module';\nexport * from './components/ngt-header-nav/ngt-header-nav.component';\n\n//NgtContent\nexport * from './components/ngt-content/ngt-content.module';\nexport * from './components/ngt-content/ngt-content.component';\n\n// NgtSection\nexport * from './components/ngt-section/ngt-section.module';\nexport * from './components/ngt-section/ngt-section.component';\n\n//NgtInput\nexport * from './components/ngt-input/ngt-input.module';\nexport * from './components/ngt-input/ngt-input.component';\n\n//NgtStylizable\nexport * from './directives/ngt-stylizable/ngt-stylizable.module';\nexport * from './directives/ngt-stylizable/ngt-stylizable.directive';\n\n//NgtSelect\nexport * from './components/ngt-select/ngt-select.module';\nexport * from './components/ngt-select/ngt-select.component';\nexport * from './components/ngt-select/ngt-select.directive';\n\n//NgtSelectContainer\nexport * from './components/ngt-multi-select/ngt-multi-select.module';\nexport * from './components/ngt-multi-select/ngt-multi-select.component';\n\n//NgtSvg\nexport * from './components/ngt-svg/ngt-svg.module';\nexport * from './components/ngt-svg/ngt-svg.component';\n\n//NgtShining\nexport * from './components/ngt-shining/ngt-shining.module';\nexport * from './components/ngt-shining/ngt-shining.component';\n\n//NgtForm\nexport * from './components/ngt-form/ngt-form.module';\nexport * from './components/ngt-form/ngt-form.component';\nexport * from './components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.module';\nexport * from './components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component';\n\n//NgtHttpFormService\nexport * from './services/http/ngt-http-form.service';\n\n//NgtDropzone\nexport * from './components/ngt-dropzone/ngt-dropzone.module';\nexport * from './components/ngt-dropzone/ngt-dropzone.component';\nexport * from './services/http/ngt-attachment-http.service';\n\n//NgtAnimations\nexport * from './animations/ngt-angular-animations';\n\n// NgtHelper\nexport * from './components/ngt-helper/ngt-helper.module';\nexport * from './components/ngt-helper/ngt-helper.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {NgtBaseNgModel as ɵa,NgtMakeProvider as ɵb} from './base/ngt-base-ng-model';\nexport {CustomDropzonePreviewComponent as ɵg} from './components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component';\nexport {NgtDropzoneFileViewerComponent as ɵe} from './components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component';\nexport {NgtDropzoneViewComponent as ɵf} from './components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component';\nexport {NgtValidationComponent as ɵd} from './components/ngt-validation/ngt-validation.component';\nexport {NgtValidationModule as ɵc} from './components/ngt-validation/ngt-validation.module';"],"names":["Directive","Input","NgModule","CommonModule","NgtShiningWidth","Component","Injector","Self","Optional","EventEmitter","NG_VALUE_ACCESSOR","forwardRef","Observable","zip","NgtFormState","ControlContainer","Host","NgForm","Router","ActivatedRoute","Output","NgtCheckboxMode","trigger","state","style","transition","animate","Renderer2","SkipSelf","ViewChild","ViewEncapsulation","SvgIconComponent","ElementRef","HttpClientModule","AngularSvgIconModule","NgtDropdownOpenMethod","Validators","ChangeDetectorRef","FormsModule","ReactiveFormsModule","RouterModule","TemplateRef","NgtSelectDropdownPanelHeight","Subject","NgSelectComponent","ContentChild","NgSelectModule","NgtDatatableType","NgtDatatableSearchType","NgtDatatableParam","HostBinding","NgtFloatingButtonType","NgtSliderColorSchemeEnum","NgtDateMode","NgtDateLocale","Ng2FlatpickrModule","Size","HostListener","NgtDropzoneFileTypeEnum","NgtDropzonePreviewType","NgtDropzoneErrorType","Viewer","map","forkJoin","NgxDropzonePreviewComponent","DomSanitizer","NgxDropzoneModule","NgxViewerModule","NgxDocViewerModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-tailwind.umd.js","sources":["../../../projects/ng-tailwind/src/services/http/ngt-translate.service.ts","../../../projects/ng-tailwind/src/services/http/ngt-http.service.ts","../../../projects/ng-tailwind/src/services/http/ngt-http-validation.service.ts","../../../projects/ng-tailwind/src/services/http/ngt-http-resource.service.ts","../../../projects/ng-tailwind/src/services/ngt-stylizable/ngt-stylizable.service.ts","../../../projects/ng-tailwind/src/directives/ngt-stylizable/ngt-stylizable.directive.ts","../../../projects/ng-tailwind/src/directives/ngt-stylizable/ngt-stylizable.module.ts","../../../projects/ng-tailwind/src/components/ngt-shining/ngt-shining.component.ts","../../../projects/ng-tailwind/src/components/ngt-shining/ngt-shining.module.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/ng-tailwind/src/base/ngt-base-ng-model.ts","../../../projects/ng-tailwind/src/helpers/enum/enum.ts","../../../projects/ng-tailwind/src/helpers/form/form.ts","../../../projects/ng-tailwind/src/helpers/routing/route.ts","../../../projects/ng-tailwind/src/services/http/ngt-http-form.service.ts","../../../projects/ng-tailwind/src/components/ngt-form/ngt-form.component.ts","../../../projects/ng-tailwind/src/components/ngt-checkbox/ngt-checkbox.component.ts","../../../projects/ng-tailwind/src/components/ngt-svg/ngt-svg.component.ts","../../../projects/ng-tailwind/src/components/ngt-svg/ngt-svg.module.ts","../../../projects/ng-tailwind/src/components/ngt-helper/ngt-helper.component.ts","../../../projects/ng-tailwind/src/helpers/uuid.ts","../../../projects/ng-tailwind/src/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropdown/ngt-dropdown.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropdown/ngt-dropdown.module.ts","../../../projects/ng-tailwind/src/components/ngt-helper/ngt-helper.module.ts","../../../projects/ng-tailwind/src/components/ngt-checkbox/ngt-checkbox.module.ts","../../../projects/ng-tailwind/src/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.ts","../../../projects/ng-tailwind/src/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.module.ts","../../../projects/ng-tailwind/src/components/ngt-form/ngt-form.module.ts","../../../projects/ng-tailwind/src/components/ngt-validation/ngt-validation.component.ts","../../../projects/ng-tailwind/src/components/ngt-validation/ngt-validation.module.ts","../../../projects/ng-tailwind/src/components/ngt-input/ngt-input.component.ts","../../../projects/ng-tailwind/src/components/ngt-input/ngt-input.module.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal.component.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal.module.ts","../../../projects/ng-tailwind/src/components/ngt-action/ngt-action.component.ts","../../../projects/ng-tailwind/src/components/ngt-action/ngt-action.module.ts","../../../projects/ng-tailwind/src/components/ngt-select/ngt-select.directive.ts","../../../projects/ng-tailwind/src/components/ngt-select/ngt-select.component.ts","../../../projects/ng-tailwind/src/components/ngt-select/ngt-select.module.ts","../../../projects/ng-tailwind/src/components/ngt-pagination/ngt-pagination.component.ts","../../../projects/ng-tailwind/src/components/ngt-pagination/ngt-pagination.module.ts","../../../projects/ng-tailwind/src/components/ngt-tag/ngt-tag.component.ts","../../../projects/ng-tailwind/src/components/ngt-tag/ngt-tag.module.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-datatable.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-tbody/ngt-tbody.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-td-check/ngt-td-check.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-td/ngt-td.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-th-check/ngt-th-check.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-th/ngt-th.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-thead/ngt-thead.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-tr/ngt-tr.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-datatable.module.ts","../../../projects/ng-tailwind/src/components/ngt-floating-button/ngt-floating-button.component.ts","../../../projects/ng-tailwind/src/components/ngt-floating-button/ngt-floating-button.module.ts","../../../projects/ng-tailwind/src/components/ngt-slider/ngt-slider.component.ts","../../../projects/ng-tailwind/src/components/ngt-slider/ngt-slider.module.ts","../../../projects/ng-tailwind/src/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.ts","../../../projects/ng-tailwind/src/components/ngt-radio-button/ngt-radio-button.component.ts","../../../projects/ng-tailwind/src/components/ngt-radio-button/ngt-radio-button.module.ts","../../../projects/ng-tailwind/src/components/ngt-textarea/ngt-textarea.component.ts","../../../projects/ng-tailwind/src/components/ngt-textarea/ngt-textarea.module.ts","../../../projects/ng-tailwind/src/components/ngt-date/ngt-date.component.ts","../../../projects/ng-tailwind/src/components/ngt-date/ngt-date.module.ts","../../../projects/ng-tailwind/src/components/ngt-button/ngt-button.component.ts","../../../projects/ng-tailwind/src/components/ngt-button/ngt-button.module.ts","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.ts","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.ts","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.ts","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet.component.ts","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet.module.ts","../../../projects/ng-tailwind/src/enums/size.enum.ts","../../../projects/ng-tailwind/src/animations/ngt-angular-animations.ts","../../../projects/ng-tailwind/src/components/ngt-sidenav/ngt-sidenav.component.ts","../../../projects/ng-tailwind/src/components/ngt-sidenav/ngt-sidenav.module.ts","../../../projects/ng-tailwind/src/components/ngt-header-nav/ngt-header-nav.component.ts","../../../projects/ng-tailwind/src/components/ngt-header-nav/ngt-header-nav.module.ts","../../../projects/ng-tailwind/src/components/ngt-content/ngt-content.component.ts","../../../projects/ng-tailwind/src/components/ngt-content/ngt-content.module.ts","../../../projects/ng-tailwind/src/components/ngt-section/ngt-section.component.ts","../../../projects/ng-tailwind/src/components/ngt-section/ngt-section.module.ts","../../../projects/ng-tailwind/src/components/ngt-multi-select/ngt-multi-select.component.ts","../../../projects/ng-tailwind/src/components/ngt-multi-select/ngt-multi-select.module.ts","../../../projects/ng-tailwind/src/services/http/ngt-attachment-http.service.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone.module.ts","../../../projects/ng-tailwind/src/public-api.ts","../../../projects/ng-tailwind/src/ng-tailwind.ts"],"sourcesContent":["export abstract class NgtTranslateService {\r\n public abstract ngtFormDefaultValidationMessage: string;\r\n\r\n public abstract ngtDatatableNoDataFound: string;\r\n public abstract ngtMultiSelectNoDataFound: string;\r\n\r\n public abstract ngtSelectLoadingText: string;\r\n public abstract ngtSelectNotFoundText: string;\r\n public abstract ngtSelectTypeToSearchText: string;\r\n public abstract ngtSelectClearAllTooltip: string;\r\n public abstract ngtSelectPlaceholder: string;\r\n public abstract ngtSelectCreateText: string;\r\n\r\n public abstract ngtTextAreaRemainingCharacters: string;\r\n\r\n public abstract ngtStandardHelperTitle: string;\r\n\r\n public abstract ngtValidationMaxCharactersExceded: string;\r\n public abstract ngtValidationRequiredField: string;\r\n public abstract ngtValidationInvalidEmail: string;\r\n public abstract ngtValidationAlreadyExists: string;\r\n public abstract ngtValidationInvalidCnpj: string;\r\n public abstract ngtValidationInvalidCpf: string;\r\n public abstract ngtValidationPasswordRequiredMinCharacters: string;\r\n public abstract ngtValidationFieldsNotMatch: string;\r\n public abstract ngtValidationInvalidDate: string;\r\n public abstract ngtValidationInvalidPrevision: string;\r\n public abstract ngtValidationExternalServerUnavailable: string;\r\n public abstract ngtValidationValueMustBeGreaterThan(minValue?: number | string): string;\r\n public abstract ngtValidationMinLengthField(minLenth?: number | string): string;\r\n\r\n public abstract ngtPagination(from: number | string, to: number | string, total: number | string): string;\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport abstract class NgtHttpService {\r\n abstract get(connector: any, filters: any, pagination: NgtHttpPagination, sort?: NgtHttpSort): Observable<NgtHttpResponse>;\r\n\r\n abstract post(data: any): Observable<any>;\r\n\r\n abstract put(data: any): Observable<any>;\r\n\r\n abstract delete(data: any): Observable<any>;\r\n}\r\n\r\nexport interface NgtHttpResponse {\r\n data?: any;\r\n meta: NgtHttpMeta;\r\n}\r\n\r\nexport interface NgtHttpMeta {\r\n pagination: NgtHttpPagination;\r\n}\r\n\r\nexport interface NgtHttpPagination {\r\n count: number;\r\n page: number;\r\n pages: number;\r\n total: number;\r\n from: number;\r\n to: number;\r\n per_page: number;\r\n}\r\n\r\nexport interface NgtHttpSort {\r\n field: string;\r\n direction: string;\r\n}\r\n","export interface NgtHttpValidationService {\r\n emailValidation(email: string): Promise<NgtHttpValidationResponse>;\r\n}\r\n\r\nexport abstract class NgtHttpValidationService {\r\n public abstract unique(validationResource: any, value: any): Promise<NgtHttpValidationResponse>;\r\n\r\n public abstract exists(validationResource: any, value: any): Promise<NgtHttpValidationResponse>;\r\n}\r\n\r\nexport interface NgtHttpValidationResponse {\r\n valid: boolean;\r\n};\r\n","export interface NgtHttpFindExistingResourceInterface {\r\n table: string;\r\n column: string;\r\n value?: string;\r\n ignore_id?: string;\r\n}\r\n\r\nexport interface NgtHttpFindExistingResourceResponse {\r\n id: string;\r\n}\r\n\r\nexport abstract class NgtHttpResourceService {\r\n public abstract findExisting(findExistingResource: NgtHttpFindExistingResourceInterface): Promise<NgtHttpFindExistingResourceResponse>;\r\n}\r\n","import { Injector } from '@angular/core';\r\n\r\nexport class NgtStylizableService {\r\n private _color: any;\r\n private _h: string;\r\n private _w: string;\r\n private _p: string;\r\n private _px: string;\r\n private _py: string;\r\n private _pt: string;\r\n private _pr: string;\r\n private _pb: string;\r\n private _pl: string;\r\n private _m: string;\r\n private _mx: string;\r\n private _my: string;\r\n private _mt: string;\r\n private _mr: string;\r\n private _mb: string;\r\n private _ml: string;\r\n private _border: string;\r\n private _shadow: string;\r\n private _rounded: string;\r\n private _font: string;\r\n private _text: string;\r\n private _breakWords: string;\r\n private _overflow: string;\r\n private _position: string;\r\n private _justifyContent: string;\r\n private _cursor: string;\r\n private _fontCase: string;\r\n\r\n public get color() {\r\n return this._color;\r\n }\r\n\r\n public set color(color) {\r\n if (color.bg) {\r\n color.bg = this.getQualifiedValue('bg-', color.bg);\r\n }\r\n\r\n if (color.text) {\r\n color.text = this.getQualifiedValue('text-', color.text);\r\n }\r\n\r\n if (color.border) {\r\n color.border = this.getQualifiedValue('border-', color.border);\r\n }\r\n\r\n this._color = color;\r\n }\r\n\r\n public set textColor(textColor) {\r\n this._color = this._color ? this._color : {};\r\n this._color.text = this.getQualifiedValue('text-', textColor);\r\n }\r\n\r\n public set bgColor(bgColor) {\r\n this._color = this._color ? this._color : {};\r\n this._color.bg = this.getQualifiedValue('bg-', bgColor);\r\n }\r\n\r\n public set borderColor(borderColor) {\r\n this._color = this._color ? this._color : {};\r\n this._color.border = this.getQualifiedValue('border-', borderColor);\r\n }\r\n\r\n public get h(): string {\r\n return this._h;\r\n }\r\n\r\n public set h(h: string) {\r\n this._h = this.getQualifiedValue('h-', h);\r\n }\r\n\r\n public get w(): string {\r\n return this._w;\r\n }\r\n\r\n public set w(w: string) {\r\n this._w = this.getQualifiedValue('w-', w);\r\n }\r\n\r\n public get p(): string {\r\n return this._p;\r\n }\r\n\r\n public set p(p: string) {\r\n this._p = this.getQualifiedValue('p-', p);\r\n }\r\n\r\n public get px(): string {\r\n return this._px;\r\n }\r\n\r\n public set px(px: string) {\r\n this._px = this.getQualifiedValue('px-', px);\r\n }\r\n\r\n public get py(): string {\r\n return this._py;\r\n }\r\n\r\n public set py(py: string) {\r\n this._py = this.getQualifiedValue('py-', py);\r\n }\r\n\r\n public get pt(): string {\r\n return this._pt;\r\n }\r\n\r\n public set pt(pt: string) {\r\n this._pt = this.getQualifiedValue('pt-', pt);\r\n }\r\n\r\n public get pr(): string {\r\n return this._pr;\r\n }\r\n\r\n public set pr(pr: string) {\r\n this._pr = this.getQualifiedValue('pr-', pr);\r\n }\r\n\r\n public get pb(): string {\r\n return this._pb;\r\n }\r\n\r\n public set pb(pb: string) {\r\n this._pb = this.getQualifiedValue('pb-', pb);\r\n }\r\n\r\n public get pl(): string {\r\n return this._pl;\r\n }\r\n\r\n public set pl(pl: string) {\r\n this._pl = this.getQualifiedValue('pl-', pl);\r\n }\r\n\r\n public get m(): string {\r\n return this._m;\r\n }\r\n\r\n public set m(m: string) {\r\n this._m = this.getQualifiedValue('m-', m);\r\n }\r\n\r\n public get mx(): string {\r\n return this._mx;\r\n }\r\n\r\n public set mx(mx: string) {\r\n this._mx = this.getQualifiedValue('mx-', mx);\r\n }\r\n\r\n public get my(): string {\r\n return this._my;\r\n }\r\n\r\n public set my(my: string) {\r\n this._my = this.getQualifiedValue('my-', my);\r\n }\r\n\r\n public get mt(): string {\r\n return this._mt;\r\n }\r\n\r\n public set mt(mt: string) {\r\n this._mt = this.getQualifiedValue('mt-', mt);\r\n }\r\n\r\n public get mr(): string {\r\n return this._mr;\r\n }\r\n\r\n public set mr(mr: string) {\r\n this._mr = this.getQualifiedValue('mr-', mr);\r\n }\r\n\r\n public get mb(): string {\r\n return this._mb;\r\n }\r\n\r\n public set mb(mb: string) {\r\n this._mb = this.getQualifiedValue('mb-', mb);\r\n }\r\n\r\n public get ml(): string {\r\n return this._ml;\r\n }\r\n\r\n public set ml(ml: string) {\r\n this._ml = this.getQualifiedValue('ml-', ml);\r\n }\r\n\r\n public get border(): string {\r\n return this._border;\r\n }\r\n\r\n public set border(border: string) {\r\n this._border = this.getQualifiedValue('border', border);\r\n }\r\n\r\n public get shadow(): string {\r\n return this._shadow;\r\n }\r\n\r\n public set shadow(shadow: string) {\r\n this._shadow = this.getQualifiedValue('shadow', shadow);\r\n }\r\n\r\n public get rounded(): string {\r\n return this._rounded;\r\n }\r\n\r\n public set rounded(rounded: string) {\r\n this._rounded = this.getQualifiedValue('rounded', rounded);\r\n }\r\n\r\n public get font(): string {\r\n return this._font;\r\n }\r\n\r\n public set font(font: string) {\r\n this._font = this.getQualifiedValue('font', font);\r\n }\r\n\r\n public get text(): string {\r\n return this._text;\r\n }\r\n\r\n public set text(text: string) {\r\n this._text = this.getQualifiedValue('text', text);\r\n }\r\n\r\n public get breakWords(): string {\r\n return this._breakWords;\r\n }\r\n\r\n public set breakWords(breakWords: string) {\r\n this._breakWords = this.getQualifiedValue('break', breakWords);\r\n }\r\n\r\n public get overflow(): string {\r\n return this._overflow;\r\n }\r\n\r\n public set overflow(overflow: string) {\r\n this._overflow = this.getQualifiedValue('overflow', overflow);\r\n }\r\n\r\n public get position(): string {\r\n return this._position;\r\n }\r\n\r\n public set position(position: string) {\r\n this._position = position;\r\n }\r\n\r\n public get justifyContent(): string {\r\n return this._justifyContent;\r\n }\r\n\r\n public set justifyContent(justifyContent: string) {\r\n this._justifyContent = this.getQualifiedValue('justify', justifyContent);\r\n }\r\n\r\n public get cursor(): string {\r\n return this._cursor;\r\n }\r\n\r\n public set cursor(cursor: string) {\r\n this._cursor = this.getQualifiedValue('cursor', cursor);\r\n }\r\n\r\n public get fontCase(): string {\r\n return this._fontCase;\r\n }\r\n\r\n public set fontCase(fontCase: string) {\r\n this._fontCase = this.getQualifiedValue('', fontCase);\r\n }\r\n\r\n public load(injector: Injector, style: string, defaultValue = null, inheritanceStyles = []) {\r\n let ngtGlobalStyle = injector.get('NgtStyleGlobal', {});\r\n\r\n defaultValue = defaultValue ? defaultValue : {};\r\n\r\n let requestedStyle = <NgtStylizableService>injector.get(style + 'Style', defaultValue);\r\n\r\n this.loadObjectProperties(this, ngtGlobalStyle, this.getAllowedKeys(ngtGlobalStyle));\r\n\r\n inheritanceStyles.forEach(style => {\r\n let requestedStyle = <NgtStylizableService>injector.get(style, {});\r\n\r\n this.loadObjectProperties(this, requestedStyle, this.getAllowedKeys(requestedStyle));\r\n });\r\n\r\n this.loadObjectProperties(this, requestedStyle, this.getAllowedKeys(requestedStyle));\r\n }\r\n\r\n public compile(styles: Array<string>) {\r\n return styles\r\n .map((style: string) => this.getQualifiedStyle(style))\r\n .join(' ');\r\n }\r\n\r\n private loadObjectProperties(targetObject, object, properties: Array<string>) {\r\n properties.forEach((key) => {\r\n if (typeof (object[key]) === 'object') {\r\n targetObject[key] = targetObject[key] ? targetObject[key] : {};\r\n targetObject[key] = this.loadObjectProperties(targetObject[key], object[key], Object.keys(object[key]));\r\n } else {\r\n targetObject[key] = object[key];\r\n }\r\n });\r\n\r\n return targetObject;\r\n }\r\n\r\n private getQualifiedStyle(style: string) {\r\n if (!style.includes('color')) {\r\n return this['_' + style];\r\n }\r\n\r\n switch (style) {\r\n case 'color.bg': return this._color.bg;\r\n case 'color.text': return this._color.text;\r\n case 'color.border': return this._color.border;\r\n }\r\n }\r\n\r\n private getAllowedKeys(style: NgtStylizableService) {\r\n let keys = Object.keys(style);\r\n\r\n if (Array.isArray(keys)) {\r\n return keys.filter(key => [\r\n 'color',\r\n 'h',\r\n 'w',\r\n 'p',\r\n 'px',\r\n 'py',\r\n 'pt',\r\n 'pr',\r\n 'pb',\r\n 'pl',\r\n 'm',\r\n 'mx',\r\n 'my',\r\n 'mt',\r\n 'mr',\r\n 'mb',\r\n 'ml',\r\n 'border',\r\n 'shadow',\r\n 'rounded',\r\n 'font',\r\n 'text',\r\n 'breakWords',\r\n 'overflow',\r\n 'position',\r\n 'justifyContent',\r\n 'cursor',\r\n 'fontCase'\r\n ].includes(key));\r\n }\r\n }\r\n\r\n private getQualifiedValue(requiredPrefix: string, value: string) {\r\n value.split(' ').forEach((item) => {\r\n if (!item.includes(requiredPrefix)) {\r\n throw new Error('Invalid class [' + item + '], must have [' + requiredPrefix + ']');\r\n }\r\n });\r\n\r\n return value;\r\n }\r\n}\r\n","import { Directive, Input } from '@angular/core';\r\n\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\n\r\n@Directive({\r\n selector: '[ngt-stylizable]'\r\n})\r\nexport class NgtStylizableDirective {\r\n private ngtStylizableService: NgtStylizableService;\r\n\r\n public constructor() {\r\n this.ngtStylizableService = new NgtStylizableService();\r\n }\r\n\r\n public getNgtStylizableService() {\r\n return this.ngtStylizableService;\r\n }\r\n\r\n public get color() {\r\n return this.ngtStylizableService.color;\r\n }\r\n\r\n @Input('color')\r\n public set color(color) {\r\n this.ngtStylizableService.color = color;\r\n }\r\n\r\n @Input('color.text')\r\n public set textColor(textColor: string) {\r\n this.ngtStylizableService.textColor = textColor;\r\n }\r\n\r\n @Input('color.bg')\r\n public set bgColor(bgColor: string) {\r\n this.ngtStylizableService.bgColor = bgColor;\r\n }\r\n\r\n @Input('color.border')\r\n public set borderColor(borderColor) {\r\n this.ngtStylizableService.borderColor = borderColor;\r\n }\r\n\r\n public get h(): string {\r\n return this.ngtStylizableService.h;\r\n }\r\n\r\n @Input('h')\r\n public set h(h: string) {\r\n this.ngtStylizableService.h = h;\r\n }\r\n\r\n public get w(): string {\r\n return this.ngtStylizableService.w;\r\n }\r\n\r\n @Input('w')\r\n public set w(w: string) {\r\n this.ngtStylizableService.w = w;\r\n }\r\n\r\n public get p(): string {\r\n return this.ngtStylizableService.p;\r\n }\r\n\r\n @Input('p')\r\n public set p(p: string) {\r\n this.ngtStylizableService.p = p;\r\n }\r\n\r\n public get px(): string {\r\n return this.ngtStylizableService.px;\r\n }\r\n\r\n @Input('px')\r\n public set px(px: string) {\r\n this.ngtStylizableService.px = px;\r\n }\r\n\r\n public get py(): string {\r\n return this.ngtStylizableService.py;\r\n }\r\n\r\n @Input('py')\r\n public set py(py: string) {\r\n this.ngtStylizableService.py = py;\r\n }\r\n\r\n public get pt(): string {\r\n return this.ngtStylizableService.pt;\r\n }\r\n\r\n @Input('pt')\r\n public set pt(pt: string) {\r\n this.ngtStylizableService.pt = pt;\r\n }\r\n\r\n public get pr(): string {\r\n return this.ngtStylizableService.pr;\r\n }\r\n\r\n @Input('pr')\r\n public set pr(pr: string) {\r\n this.ngtStylizableService.pr = pr;\r\n }\r\n\r\n public get pb(): string {\r\n return this.ngtStylizableService.pb;\r\n }\r\n\r\n @Input('pb')\r\n public set pb(pb: string) {\r\n this.ngtStylizableService.pb = pb;\r\n }\r\n\r\n public get pl(): string {\r\n return this.ngtStylizableService.pl;\r\n }\r\n\r\n @Input('pl')\r\n public set pl(pl: string) {\r\n this.ngtStylizableService.pl = pl;\r\n }\r\n\r\n public get m(): string {\r\n return this.ngtStylizableService.m;\r\n }\r\n\r\n @Input('m')\r\n public set m(m: string) {\r\n this.ngtStylizableService.m = m;\r\n }\r\n\r\n public get mx(): string {\r\n return this.ngtStylizableService.mx;\r\n }\r\n\r\n @Input('mx')\r\n public set mx(mx: string) {\r\n this.ngtStylizableService.mx = mx;\r\n }\r\n\r\n public get my(): string {\r\n return this.ngtStylizableService.my;\r\n }\r\n\r\n @Input('my')\r\n public set my(my: string) {\r\n this.ngtStylizableService.my = my;\r\n }\r\n\r\n public get mt(): string {\r\n return this.ngtStylizableService.mt;\r\n }\r\n\r\n @Input('mt')\r\n public set mt(mt: string) {\r\n this.ngtStylizableService.mt = mt;\r\n }\r\n\r\n public get mr(): string {\r\n return this.ngtStylizableService.mr;\r\n }\r\n\r\n @Input('mr')\r\n public set mr(mr: string) {\r\n this.ngtStylizableService.mr = mr;\r\n }\r\n\r\n public get mb(): string {\r\n return this.ngtStylizableService.mb;\r\n }\r\n\r\n @Input('mb')\r\n public set mb(mb: string) {\r\n this.ngtStylizableService.mb = mb;\r\n }\r\n\r\n public get ml(): string {\r\n return this.ngtStylizableService.ml;\r\n }\r\n\r\n @Input('ml')\r\n public set ml(ml: string) {\r\n this.ngtStylizableService.ml = ml;\r\n }\r\n\r\n public get border(): string {\r\n return this.ngtStylizableService.border;\r\n }\r\n\r\n @Input('border')\r\n public set border(border: string) {\r\n this.ngtStylizableService.border = border;\r\n }\r\n\r\n public get shadow(): string {\r\n return this.ngtStylizableService.shadow;\r\n }\r\n\r\n @Input('shadow')\r\n public set shadow(shadow: string) {\r\n this.ngtStylizableService.shadow = shadow;\r\n }\r\n\r\n public get rounded(): string {\r\n return this.ngtStylizableService.rounded;\r\n }\r\n\r\n @Input('rounded')\r\n public set rounded(rounded: string) {\r\n this.ngtStylizableService.rounded = rounded;\r\n }\r\n\r\n public get font(): string {\r\n return this.ngtStylizableService.font;\r\n }\r\n\r\n @Input('font')\r\n public set font(font: string) {\r\n this.ngtStylizableService.font = font;\r\n }\r\n\r\n public get text(): string {\r\n return this.ngtStylizableService.text;\r\n }\r\n\r\n @Input('text')\r\n public set text(text: string) {\r\n this.ngtStylizableService.text = text;\r\n }\r\n\r\n public get breakWords(): string {\r\n return this.ngtStylizableService.breakWords;\r\n }\r\n\r\n @Input('breakWords')\r\n public set breakWords(breakWords: string) {\r\n this.ngtStylizableService.breakWords = breakWords;\r\n }\r\n\r\n public get overflow(): string {\r\n return this.ngtStylizableService.overflow;\r\n }\r\n\r\n @Input('overflow')\r\n public set overflow(overflow: string) {\r\n this.ngtStylizableService.overflow = overflow;\r\n }\r\n\r\n public get position(): string {\r\n return this.ngtStylizableService.position;\r\n }\r\n\r\n @Input('position')\r\n public set position(position: string) {\r\n this.ngtStylizableService.position = position;\r\n }\r\n\r\n public get justifyContent(): string {\r\n return this.ngtStylizableService.justifyContent;\r\n }\r\n\r\n @Input('justifyContent')\r\n public set justifyContent(justifyContent: string) {\r\n this.ngtStylizableService.justifyContent = justifyContent;\r\n }\r\n\r\n public get cursor(): string {\r\n return this.ngtStylizableService.cursor;\r\n }\r\n\r\n @Input('cursor')\r\n public set cursor(cursor: string) {\r\n this.ngtStylizableService.cursor = cursor;\r\n }\r\n\r\n public get fontCase(): string {\r\n return this.ngtStylizableService.fontCase;\r\n }\r\n\r\n @Input('fontCase')\r\n public set fontCase(fontCase: string) {\r\n this.ngtStylizableService.fontCase = fontCase;\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { NgtStylizableDirective } from './ngt-stylizable.directive';\r\n\r\n@NgModule({\r\n declarations: [NgtStylizableDirective],\r\n exports: [NgtStylizableDirective],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class NgtStylizableModule { }\r\n","import { Component, Injector, Input, Optional, Self } from '@angular/core';\r\n\r\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\n\r\n@Component({\r\n selector: 'ngt-shining',\r\n templateUrl: './ngt-shining.component.html',\r\n styleUrls: ['./ngt-shining.component.css']\r\n})\r\nexport class NgtShiningComponent {\r\n @Input() public shiningWidth: NgtShiningWidth = NgtShiningWidth.xs;\r\n\r\n public ngtStyle: NgtStylizableService;\r\n\r\n public constructor(\r\n private injector: Injector,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n ) {\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtShining', {\r\n rounded: 'rounded-none',\r\n });\r\n }\r\n}\r\n\r\nexport enum NgtShiningWidth {\r\n xs = 'xs',\r\n sm = 'sm',\r\n lg = 'lg',\r\n xl = 'xl',\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { NgtShiningComponent } from './ngt-shining.component';\r\n\r\n@NgModule({\r\n declarations: [NgtShiningComponent],\r\n exports: [NgtShiningComponent],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class NgtShiningModule { }\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { EventEmitter, forwardRef } from '@angular/core';\r\nimport { AbstractControl, ControlContainer, ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n/**\r\n * Based on https://stackoverflow.com/a/37786142/8055997\r\n */\r\nexport abstract class NgtBaseNgModel implements ControlValueAccessor {\r\n public formControl: AbstractControl;\r\n public formContainer: ControlContainer;\r\n\r\n public onValueChangeEvent = new EventEmitter;\r\n\r\n private ignore = '{{{{INITIAL_VALUE_IGNORE}}}}';\r\n private _value: any = this.ignore;\r\n\r\n public constructor() {\r\n this.registerOnTouched(this.onTouched);\r\n }\r\n\r\n public onValueChange() {\r\n return this.onValueChangeEvent;\r\n }\r\n\r\n public get value(): any {\r\n return this._value != this.ignore ? this._value : null;\r\n };\r\n\r\n public set value(v: any) {\r\n if (!this.valuesAreEquals(v, this._value)) {\r\n this._value = v;\r\n this.onChange(v);\r\n\r\n if (this.formControl) {\r\n this.formControl.markAsDirty();\r\n }\r\n\r\n this.change(v);\r\n }\r\n }\r\n\r\n public writeValue(value: any) {\r\n if (value == this.ignore || this.valuesAreEquals(value, this._value)) {\r\n return;\r\n }\r\n\r\n this._value = value;\r\n this.onChange(value);\r\n this.change(value);\r\n }\r\n\r\n public onChange = (_) => { };\r\n\r\n public change(v) { };\r\n\r\n public onTouched = () => {\r\n if (this.formControl) {\r\n this.formControl.markAsTouched();\r\n }\r\n };\r\n\r\n public registerOnChange(fn: (_: any) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public isValid(): boolean {\r\n if (this.formControl) {\r\n this.formControl.markAsDirty();\r\n\r\n return this.formControl.valid;\r\n }\r\n }\r\n\r\n public markAsPristine() {\r\n if (this.formControl) {\r\n this.formControl.markAsPristine();\r\n }\r\n }\r\n\r\n public markAsDirty() {\r\n if (this.formControl) {\r\n this.formControl.markAsDirty();\r\n }\r\n }\r\n\r\n public setSubmitted(submitted: boolean) {\r\n if (this.formContainer) {\r\n this.formContainer['submitted'] = submitted;\r\n }\r\n }\r\n\r\n private valuesAreEquals(value1, value2) {\r\n if (Array.isArray(value1)) {\r\n value1 = JSON.stringify(value1);\r\n }\r\n\r\n if (Array.isArray(value2)) {\r\n value2 = JSON.stringify(value2);\r\n }\r\n\r\n return value1 === value2;\r\n }\r\n}\r\n\r\nexport function NgtMakeProvider(type: any) {\r\n return {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => type),\r\n multi: true\r\n };\r\n}\r\n","export function getEnumFromString(string: string, enumClass: any) {\r\n if (string && enumClass && enumClass[string.toUpperCase()]) {\r\n return enumClass[string.toUpperCase()];\r\n }\r\n\r\n throw new Error('Invalid enum [' + string + ']!');\r\n}\r\n","import { NgForm } from '@angular/forms';\r\n\r\nexport function resetNgForm(ngForm: NgForm) {\r\n ngForm.resetForm();\r\n setTimeout(() => {\r\n ngForm.reset();\r\n }, 500);\r\n}\r\n\r\nexport function triggerNgFormSubmit(ngForm: NgForm) {\r\n ngForm.onSubmit(new Event(\"submit\"));\r\n}\r\n\r\nexport function isValidNgForm(ngForm: NgForm) {\r\n triggerNgFormSubmit(ngForm);\r\n\r\n return ngForm.valid;\r\n}\r\n","import { ActivatedRoute } from '@angular/router';\r\nimport { Observable, zip } from 'rxjs';\r\n\r\nexport function getIdFromUri(route: ActivatedRoute, routeIdentifier: string) {\r\n return Observable.create((observer) => {\r\n zip(route.parent.params, route.params)\r\n .subscribe((results) => {\r\n let params = { ...results[0], ...results[1] };\r\n\r\n observer.next(params[routeIdentifier]);\r\n });\r\n });\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport abstract class NgtHttpFormService {\r\n abstract loadResourceById(resource: any, resourceId: any): Observable<any>;\r\n\r\n abstract saveResource(resource: any): Observable<any>;\r\n}\r\n","import {Component, EventEmitter, Host, Input, OnDestroy, OnInit, Optional, Output} from '@angular/core';\r\nimport {ControlContainer, NgForm} from '@angular/forms';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\nimport {Observable, Subscription} from 'rxjs';\r\n\r\nimport {isValidNgForm} from '../../helpers/form/form';\r\nimport {getIdFromUri} from '../../helpers/routing/route';\r\nimport {NgtHttpFormService} from '../../services/http/ngt-http-form.service';\r\n\r\n@Component({\r\n selector: 'ngt-form',\r\n templateUrl: './ngt-form.component.html',\r\n})\r\nexport class NgtFormComponent implements OnInit, OnDestroy {\r\n @Input() public guessFormState: boolean = true;\r\n @Input() public message: string = '';\r\n @Input() public routeIdentifier: string = 'id';\r\n @Input() public resource: any;\r\n @Input() public customLayout: boolean;\r\n\r\n @Output() public static onSubmitInvalidForm: EventEmitter<NgForm> = new EventEmitter;\r\n\r\n @Output() public onCreating: EventEmitter<any> = new EventEmitter;\r\n @Output() public onEditing: EventEmitter<any> = new EventEmitter;\r\n @Output() public onLoadingChange: EventEmitter<boolean> = new EventEmitter;\r\n @Output() public onShiningChange: EventEmitter<boolean> = new EventEmitter;\r\n @Output() public setupComponent: EventEmitter<any> = new EventEmitter;\r\n @Output() public onResourceLoadingError: EventEmitter<string> = new EventEmitter;\r\n\r\n public formState: NgtFormState;\r\n public uriId: any;\r\n\r\n private loading: boolean;\r\n private shining: boolean;\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n public constructor(\r\n @Optional() @Host()\r\n public formContainer: ControlContainer,\r\n @Optional() @Host()\r\n public ngForm: NgForm,\r\n public router: Router,\r\n public route: ActivatedRoute,\r\n private ngtHttpFormService: NgtHttpFormService\r\n ) {\r\n }\r\n\r\n public ngOnInit() {\r\n if (this.guessFormState) {\r\n this.subscriptions.push(\r\n this.determineFormState().subscribe(() => {\r\n this.setupComponent.emit();\r\n })\r\n );\r\n } else {\r\n this.setupComponent.emit();\r\n }\r\n\r\n this.subscriptions.push(\r\n this.ngForm.ngSubmit.subscribe(() => {\r\n if (!this.ngForm.valid) {\r\n NgtFormComponent.onSubmitInvalidForm.emit(this.ngForm);\r\n }\r\n })\r\n );\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.destroySubscriptions();\r\n }\r\n\r\n public isCreating() {\r\n return this.formState === NgtFormState.CREATING;\r\n }\r\n\r\n public isEditing() {\r\n return this.formState === NgtFormState.EDITING;\r\n }\r\n\r\n public isLoading() {\r\n return this.loading;\r\n }\r\n\r\n public isShining() {\r\n return this.shining;\r\n }\r\n\r\n public canShowValidationMessage() {\r\n return this.formContainer &&\r\n this.formContainer['submitted'] &&\r\n this.formContainer.status != 'VALID' &&\r\n this.formContainer.status != 'DISABLED';\r\n }\r\n\r\n public setShining(shining: boolean) {\r\n this.shining = shining;\r\n this.onShiningChange.emit(this.shining);\r\n }\r\n\r\n public setLoading(loading: boolean) {\r\n this.loading = loading;\r\n this.onLoadingChange.emit(this.loading);\r\n }\r\n\r\n public setFormState(state: NgtFormState, triggerChange: boolean = true) {\r\n this.formState = state;\r\n\r\n if (triggerChange) {\r\n this.triggerFormStateChange();\r\n }\r\n }\r\n\r\n public getFormState() {\r\n return this.formState;\r\n }\r\n\r\n public triggerFormStateChange() {\r\n if (this.isEditing()) {\r\n this.triggerFormEditing();\r\n } else if (this.isCreating()) {\r\n this.triggerFormCreating();\r\n }\r\n }\r\n\r\n public formHasChanges() {\r\n return this.ngForm.dirty;\r\n }\r\n\r\n public saveResource() {\r\n return new Observable((observer) => {\r\n if (isValidNgForm(this.ngForm)) {\r\n this.setLoading(true);\r\n\r\n this.subscriptions.push(\r\n this.ngtHttpFormService.saveResource(this.resource)\r\n .subscribe((response: any) => {\r\n this.setLoading(false);\r\n observer.next(response);\r\n observer.complete();\r\n })\r\n );\r\n } else {\r\n observer.error();\r\n }\r\n });\r\n }\r\n\r\n protected triggerFormCreating() {\r\n this.onCreating.emit();\r\n }\r\n\r\n protected triggerFormEditing() {\r\n if (this.uriId && this.resource) {\r\n this.setLoading(true);\r\n this.setShining(true);\r\n\r\n this.subscriptions.push(\r\n this.ngtHttpFormService.loadResourceById(this.resource, this.uriId)\r\n .subscribe(\r\n (resource: any) => {\r\n this.setLoading(false);\r\n this.setShining(false);\r\n\r\n this.onEditing.emit(resource);\r\n\r\n setTimeout(() => this.ngForm.form.markAsPristine(), 1500);\r\n },\r\n (error) => {\r\n this.setLoading(false);\r\n this.setShining(false);\r\n\r\n this.onResourceLoadingError.emit(error);\r\n }\r\n )\r\n );\r\n\r\n return;\r\n }\r\n\r\n this.onEditing.emit(null);\r\n }\r\n\r\n private determineFormState() {\r\n return new Observable((observer) => {\r\n this.subscriptions.push(\r\n getIdFromUri(this.route, this.routeIdentifier).subscribe((id: string) => {\r\n this.uriId = id;\r\n\r\n if (this.uriId) {\r\n this.setFormState(NgtFormState.EDITING);\r\n } else {\r\n this.setFormState(NgtFormState.CREATING);\r\n }\r\n\r\n observer.next();\r\n })\r\n );\r\n });\r\n }\r\n\r\n private destroySubscriptions() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n this.subscriptions = [];\r\n }\r\n}\r\n\r\nexport enum NgtFormState {\r\n CREATING = 'CREATING',\r\n EDITING = 'EDITING'\r\n};\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n Host,\r\n Injector,\r\n Input,\r\n OnDestroy,\r\n Optional,\r\n Renderer2,\r\n Self,\r\n SimpleChanges,\r\n SkipSelf,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { ControlContainer, NgForm } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\r\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { getEnumFromString } from '../../helpers/enum/enum';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\r\n\r\n@Component({\r\n selector: 'ngt-checkbox',\r\n templateUrl: './ngt-checkbox.component.html',\r\n styleUrls: ['./ngt-checkbox.component.css'],\r\n providers: [\r\n NgtMakeProvider(NgtCheckboxComponent),\r\n ],\r\n viewProviders: [\r\n { provide: ControlContainer, useExisting: NgForm }\r\n ],\r\n animations: [\r\n trigger('slideLeftToRight', [\r\n state('void', style({ transform: 'translateX(-4px) rotate(45deg)', opacity: 0 })),\r\n transition(':enter', [\r\n animate(200)\r\n ])\r\n ]),\r\n\r\n trigger('slideRightToLeft', [\r\n state('void', style({ transform: 'translateX(4px) rotate(45deg)', opacity: 0 })),\r\n transition(':enter', [\r\n animate(200)\r\n ])\r\n ]),\r\n ]\r\n})\r\nexport class NgtCheckboxComponent extends NgtBaseNgModel implements AfterViewInit, OnDestroy {\r\n @ViewChild('element', { static: true }) public element: ElementRef;\r\n\r\n @Input() public label: string;\r\n @Input() public shining: boolean = false;\r\n @Input() public isDisabled: boolean = false;\r\n @Input() public isClickDisabled: boolean = false;\r\n @Input() public name: string;\r\n @Input() public mode: NgtCheckboxMode = NgtCheckboxMode.DEFAULT;\r\n @Input() public helpTitle: string;\r\n @Input() public helpTextColor: string = 'text-green-500';\r\n @Input() public helpText: string;\r\n\r\n public ngtStyle: NgtStylizableService;\r\n\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n public constructor(\r\n private injector: Injector,\r\n @Optional() @Host()\r\n public formContainer: ControlContainer,\r\n private renderer: Renderer2,\r\n @Self() @Optional()\r\n private ngtStylizableDirective: NgtStylizableDirective,\r\n @Optional() @SkipSelf()\r\n private ngtFormComponent: NgtFormComponent,\r\n ) {\r\n super();\r\n\r\n if (this.ngtFormComponent) {\r\n this.shining = this.ngtFormComponent.isShining();\r\n\r\n this.subscriptions.push(\r\n this.ngtFormComponent.onShiningChange.subscribe((shining: boolean) => {\r\n this.shining = shining;\r\n })\r\n );\r\n }\r\n\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtCheckbox', {\r\n h: 'h-6',\r\n w: 'w-6',\r\n color: {\r\n bg: 'bg-gray-500',\r\n text: 'text-gray-500',\r\n border: 'border-gray-500',\r\n }\r\n });\r\n }\r\n\r\n public ngAfterViewInit() {\r\n this.renderer.listen(this.element.nativeElement, 'change', (value) => {\r\n this.onNativeChange(this.element.nativeElement.checked);\r\n });\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.destroySubscriptions();\r\n }\r\n\r\n public change(value) {\r\n if (this.hasChangesBetweenModels()) {\r\n this.element.nativeElement.checked = value;\r\n }\r\n }\r\n\r\n public onNativeChange(value) {\r\n if (this.hasChangesBetweenModels()) {\r\n this.value = value;\r\n }\r\n }\r\n\r\n public hasChangesBetweenModels() {\r\n return this.element.nativeElement.checked !== this.value;\r\n }\r\n\r\n public isToggleMode() {\r\n return this.mode === NgtCheckboxMode.TOGGLE;\r\n }\r\n\r\n public isDefaultMode() {\r\n return this.mode === NgtCheckboxMode.DEFAULT;\r\n }\r\n\r\n public isRadioMode() {\r\n return this.mode === NgtCheckboxMode.RADIO;\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges) {\r\n if (changes.mode) {\r\n this.mode = getEnumFromString(changes.mode.currentValue, NgtCheckboxMode);\r\n }\r\n }\r\n\r\n private destroySubscriptions() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n this.subscriptions = [];\r\n }\r\n}\r\n\r\nexport enum NgtCheckboxMode {\r\n DEFAULT = 'DEFAULT',\r\n TOGGLE = 'TOGGLE',\r\n RADIO = 'RADIO',\r\n}\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { SvgIconComponent } from 'angular-svg-icon';\r\n\r\n@Component({\r\n selector: 'ngt-svg',\r\n templateUrl: './ngt-svg.component.html',\r\n styleUrls: ['./ngt-svg.component.css'],\r\n host: {\r\n class: 'flex justify-center'\r\n },\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class NgtSvgComponent implements AfterViewChecked, OnChanges {\r\n @Input() public src: string;\r\n @Input() public class: string = '';\r\n\r\n @ViewChild(SvgIconComponent, { static: true, read: ElementRef }) private svgIconElement: ElementRef;\r\n\r\n private appliedClass = null;\r\n\r\n public ngAfterViewChecked() {\r\n this.checkClassChange();\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges) {\r\n this.appliedClass = null;\r\n this.checkClassChange();\r\n }\r\n\r\n private checkClassChange() {\r\n if (this.appliedClass !== this.class) {\r\n if (this.svgIconElement && this.svgIconElement.nativeElement) {\r\n let svgElement = <SVGAElement>this.svgIconElement.nativeElement.querySelector('svg');\r\n\r\n if (svgElement) {\r\n while (svgElement.classList.length > 0) {\r\n svgElement.classList.remove(svgElement.classList.item(0));\r\n }\r\n\r\n svgElement.classList.add('fill-current');\r\n svgElement.classList.add('self-center');\r\n\r\n new String(this.class).trim().split(' ').forEach(className => {\r\n if (className) {\r\n svgElement.classList.add(className);\r\n }\r\n });\r\n\r\n this.appliedClass = this.class;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgtSvgComponent } from './ngt-svg.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AngularSvgIconModule } from 'angular-svg-icon';\r\n\r\n@NgModule({\r\n declarations: [NgtSvgComponent],\r\n exports: [NgtSvgComponent],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n AngularSvgIconModule\r\n ]\r\n})\r\nexport class NgtSvgModule { }\r\n","import {Component, ElementRef, Injector, Input, Optional, Self, ViewChild, ViewEncapsulation} from '@angular/core';\r\n\r\nimport { NgtTranslateService } from '../../services/http/ngt-translate.service';\r\nimport {NgtStylizableService} from \"../../services/ngt-stylizable/ngt-stylizable.service\";\r\nimport {NgtStylizableDirective} from \"../../directives/ngt-stylizable/ngt-stylizable.directive\";\r\n\r\n@Component({\r\n selector: 'ngt-helper',\r\n templateUrl: './ngt-helper.component.html',\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class NgtHelperComponent {\r\n @ViewChild('dropdownRef', { static: true }) public dropdownRef: ElementRef;\r\n\r\n @Input() public icon: string;\r\n @Input() public helpTitle: string;\r\n @Input() public iconColor: string;\r\n\r\n public ngtStyle: NgtStylizableService;\r\n\r\n public constructor(\r\n @Optional() @Self()\r\n public ngtStylizableDirective: NgtStylizableDirective,\r\n @Optional()\r\n public ngtTranslateService: NgtTranslateService,\r\n private injector: Injector,\r\n ) {\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtHelper', {\r\n text: 'text-sm',\r\n fontCase: '',\r\n color: {\r\n text: 'text-black',\r\n bg: 'bg-gray-200'\r\n }\r\n });\r\n }\r\n}\r\n","export function uuid() {\r\n return [\r\n Math.random().toString(36).substr(2, 9),\r\n Math.random().toString(36).substr(2, 9),\r\n Math.random().toString(36).substr(2, 9),\r\n Math.random().toString(36).substr(2, 9)\r\n ].join('_');\r\n};\r\n","import { Component, EventEmitter, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: '[ngt-dropdown-container]',\r\n templateUrl: './ngt-dropdown-container.component.html',\r\n styleUrls: ['./ngt-dropdown-container.component.css']\r\n})\r\nexport class NgtDropdownContainerComponent {\r\n @Output() public onActiveDropdownChange = new EventEmitter();\r\n\r\n public setActiveDropdown(activeDropdown) {\r\n this.onActiveDropdownChange.emit(activeDropdown);\r\n }\r\n}\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n Optional,\r\n Output,\r\n SimpleChanges,\r\n SkipSelf,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { getEnumFromString } from '../../helpers/enum/enum';\r\nimport { uuid } from '../../helpers/uuid';\r\nimport { NgtDropdownContainerComponent } from './ngt-dropdown-container/ngt-dropdown-container.component';\r\n\r\n@Component({\r\n selector: 'ngt-dropdown',\r\n templateUrl: './ngt-dropdown.component.html',\r\n styleUrls: ['./ngt-dropdown.component.css'],\r\n animations: [\r\n trigger('openClose', [\r\n state('open', style({ opacity: 1, transform: 'translateY(0px)' })),\r\n state('closed', style({ opacity: 0, transform: 'translateY(-10px)' })),\r\n transition('closed => open', [\r\n animate(300)\r\n ]),\r\n ]),\r\n ]\r\n})\r\nexport class NgtDropdownComponent implements OnDestroy {\r\n @ViewChild('container', { static: true }) public containerRef: ElementRef;\r\n\r\n @Input() public autoXReverse: boolean;\r\n @Input() public autoYReverse: boolean = true;\r\n @Input() public reverseXPosition: boolean;\r\n @Input() public reverseYPosition: boolean;\r\n @Input() public closeOnClick: boolean;\r\n @Input() public openMethod: NgtDropdownOpenMethod = NgtDropdownOpenMethod.HOVER;\r\n\r\n @Output() public onToggle: EventEmitter<boolean> = new EventEmitter();\r\n\r\n public name: string = uuid();\r\n public isOpen: boolean;\r\n public isYPositionReversed: boolean = false;\r\n public isXPositionReversed: boolean = false;\r\n\r\n private subscriptions: Array<Subscription> = [];\r\n private containerXPosition: number;\r\n private containerYPosition: number;\r\n\r\n public constructor(\r\n @Optional() @SkipSelf()\r\n private ngtDropdownContainer: NgtDropdownContainerComponent\r\n ) {\r\n if (this.ngtDropdownContainer) {\r\n this.subscriptions.push(\r\n this.ngtDropdownContainer.onActiveDropdownChange.subscribe((activeDropdown: NgtDropdownComponent) => {\r\n this.isOpen = (activeDropdown.name === this.name);\r\n })\r\n );\r\n }\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.openMethod) {\r\n this.openMethod = getEnumFromString(changes.openMethod.currentValue, NgtDropdownOpenMethod);\r\n }\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.destroySubscriptions();\r\n }\r\n\r\n public open(): void {\r\n this.isOpen = true;\r\n this.ngtDropdownContainer?.setActiveDropdown(this);\r\n }\r\n\r\n public closeOnSelectOption(): void {\r\n if (this.closeOnClick) {\r\n this.close();\r\n }\r\n }\r\n\r\n public close(): void {\r\n this.isOpen = false;\r\n\r\n this.containerXPosition = null;\r\n this.containerYPosition = null;\r\n }\r\n\r\n public toggle(): void {\r\n setTimeout(() => {\r\n if (this.isOpen) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n\r\n this.onToggle.emit(this.isOpen);\r\n });\r\n }\r\n\r\n public onHover(host: any, container: any): void {\r\n if (this.openMethod == NgtDropdownOpenMethod.HOVER && host && container) {\r\n this.open();\r\n this.watchHover(host, container);\r\n }\r\n }\r\n\r\n public onClick(event: Event): void {\r\n if (this.openMethod == NgtDropdownOpenMethod.CLICK) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.toggle();\r\n }\r\n }\r\n\r\n public onRightClick(event: Event): void {\r\n if (this.openMethod == NgtDropdownOpenMethod.RIGHT_CLICK) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.toggle();\r\n }\r\n }\r\n\r\n public shouldReverseXPosition(): boolean {\r\n if (!this.autoXReverse || this.reverseXPosition !== undefined) {\r\n return this.reverseXPosition;\r\n }\r\n\r\n if (this.isOpen) {\r\n this.bindContainerXPosition();\r\n this.isXPositionReversed = !(this.containerXPosition > document.documentElement.clientWidth);\r\n\r\n return this.isXPositionReversed;\r\n }\r\n }\r\n\r\n public shouldReverseYPosition(): boolean {\r\n if (!this.autoYReverse || this.reverseYPosition !== undefined) {\r\n return this.reverseYPosition;\r\n }\r\n\r\n if (this.isOpen) {\r\n this.bindContainerYPosition();\r\n this.isYPositionReversed = this.containerYPosition > (document.documentElement.clientHeight * 0.9);\r\n\r\n return this.isYPositionReversed;\r\n }\r\n }\r\n\r\n private bindContainerXPosition(): void {\r\n if (!this.containerXPosition && this.containerRef.nativeElement.offsetWidth) {\r\n setTimeout(() => {\r\n this.containerXPosition = this.containerRef.nativeElement.getBoundingClientRect().x\r\n + this.containerRef.nativeElement.offsetWidth;\r\n });\r\n }\r\n }\r\n\r\n private bindContainerYPosition(): void {\r\n if (!this.containerYPosition && this.containerRef?.nativeElement.offsetHeight) {\r\n setTimeout(() => {\r\n this.containerYPosition = this.containerRef.nativeElement.getBoundingClientRect().y\r\n + this.containerRef.nativeElement.offsetHeight;\r\n });\r\n }\r\n }\r\n\r\n private watchHover(host: any, container: any): void {\r\n const interval = setInterval(() => {\r\n if (!host || !container || !this.isInHover(host, container)) {\r\n this.close();\r\n clearInterval(interval);\r\n }\r\n }, 1000);\r\n }\r\n\r\n private isInHover(host: any, container: any): boolean {\r\n return host.parentElement.querySelector(':hover') == host ||\r\n container.parentElement.querySelector(':hover') == container;\r\n }\r\n\r\n private destroySubscriptions(): void {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n this.subscriptions = [];\r\n }\r\n}\r\n\r\nexport enum NgtDropdownOpenMethod {\r\n CLICK = 'CLICK',\r\n RIGHT_CLICK = 'RIGHT_CLICK',\r\n HOVER = 'HOVER'\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgtDropdownComponent } from './ngt-dropdown.component';\r\nimport { NgtDropdownContainerComponent } from './ngt-dropdown-container/ngt-dropdown-container.component';\r\n\r\n@NgModule({\r\n declarations: [NgtDropdownComponent, NgtDropdownContainerComponent],\r\n exports: [NgtDropdownComponent, NgtDropdownContainerComponent],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class NgtDropdownModule { }\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { NgtSvgModule } from \"../ngt-svg/ngt-svg.module\";\r\nimport { NgtHelperComponent } from \"./ngt-helper.component\";\r\nimport { NgtDropdownModule } from '../ngt-dropdown/ngt-dropdown.module';\r\n\r\n@NgModule({\r\n declarations: [NgtHelperComponent],\r\n exports: [NgtHelperComponent],\r\n imports: [\r\n CommonModule,\r\n NgtSvgModule,\r\n NgtDropdownModule\r\n ]\r\n})\r\nexport class NgtHelperModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { NgtShiningModule } from '../ngt-shining/ngt-shining.module';\r\nimport { NgtCheckboxComponent } from './ngt-checkbox.component';\r\nimport {NgtHelperModule} from \"../ngt-helper/ngt-helper.module\";\r\n\r\n@NgModule({\r\n declarations: [NgtCheckboxComponent],\r\n exports: [NgtCheckboxComponent],\r\n imports: [\r\n CommonModule,\r\n NgtShiningModule,\r\n NgtHelperModule,\r\n ]\r\n})\r\nexport class NgtCheckboxModule { }\r\n","import { Component, Optional, SkipSelf } from '@angular/core';\r\nimport { NgtTranslateService } from '../../../services/http/ngt-translate.service';\r\nimport { NgtFormComponent } from '../ngt-form.component';\r\n\r\n@Component({\r\n selector: 'ngt-form-validation-message',\r\n templateUrl: './ngt-form-validation-message.component.html',\r\n})\r\nexport class NgtFormValidationMessageComponent {\r\n public constructor(\r\n @Optional() @SkipSelf()\r\n public ngtForm: NgtFormComponent,\r\n @Optional()\r\n public ngtTranslateService: NgtTranslateService\r\n ) {\r\n if (!ngtForm) {\r\n console.error('The ngt-form-validation-message must be inside a ngt-form!');\r\n }\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { NgtFormValidationMessageComponent } from './ngt-form-validation-message.component';\r\n\r\n@NgModule({\r\n declarations: [NgtFormValidationMessageComponent],\r\n exports: [NgtFormValidationMessageComponent],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class NgtFormValidationMessageModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { NgtFormValidationMessageModule } from './ngt-form-validation-message/ngt-form-validation-message.module';\r\nimport { NgtFormComponent } from './ngt-form.component';\r\n\r\n@NgModule({\r\n declarations: [NgtFormComponent],\r\n exports: [NgtFormComponent],\r\n imports: [\r\n CommonModule,\r\n NgtFormValidationMessageModule\r\n ]\r\n})\r\nexport class NgtFormModule { }\r\n","import { Component, Input, Optional } from '@angular/core';\r\nimport { ControlContainer, FormControl } from '@angular/forms';\r\nimport { NgtTranslateService } from '../../services/http/ngt-translate.service';\r\n\r\n@Component({\r\n selector: 'ngt-validation',\r\n templateUrl: './ngt-validation.component.html',\r\n styleUrls: ['./ngt-validation.component.css']\r\n})\r\nexport class NgtValidationComponent {\r\n @Input() public control: FormControl;\r\n @Input() public container: ControlContainer;\r\n @Input() public minValue: number;\r\n @Input() public minLength: number;\r\n\r\n public constructor(\r\n @Optional()\r\n public ngtTranslateService: NgtTranslateService\r\n ) { }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { NgtValidationComponent } from './ngt-validation.component';\r\n\r\n@NgModule({\r\n declarations: [NgtValidationComponent],\r\n exports: [NgtValidationComponent],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class NgtValidationModule { }\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef, EventEmitter,\r\n Host,\r\n Injector,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional, Output,\r\n Renderer2,\r\n Self,\r\n SimpleChanges,\r\n SkipSelf,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { AbstractControl, AsyncValidatorFn, ControlContainer, NgForm, Validators } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\r\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport {\r\n NgtHttpFindExistingResourceInterface,\r\n NgtHttpFindExistingResourceResponse,\r\n NgtHttpResourceService,\r\n} from '../../services/http/ngt-http-resource.service';\r\nimport { NgtHttpValidationResponse, NgtHttpValidationService } from '../../services/http/ngt-http-validation.service';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\r\n\r\nlet Inputmask = require('inputmask');\r\n\r\n@Component({\r\n selector: 'ngt-input',\r\n templateUrl: './ngt-input.component.html',\r\n styleUrls: ['./ngt-input.component.css'],\r\n providers: [\r\n NgtMakeProvider(NgtInputComponent),\r\n ],\r\n viewProviders: [\r\n { provide: ControlContainer, useExisting: NgForm }\r\n ]\r\n})\r\nexport class NgtInputComponent extends NgtBaseNgModel implements OnInit, OnDestroy {\r\n @ViewChild(\"element\", { static: true }) public element: ElementRef;\r\n\r\n // Visual\r\n @Input() public label: string;\r\n @Input() public placeholder: string = '';\r\n @Input() public shining: boolean;\r\n @Input() public loading: boolean;\r\n @Input() public helpTitle: string;\r\n @Input() public helpTextColor: string = 'text-green-500';\r\n @Input() public helpText: string;\r\n @Input() public innerLeftIcon: string;\r\n @Input() public innerLeftIconColor: string;\r\n @Input() public innerRightIcon: string;\r\n @Input() public innerRightIconColor: string;\r\n @Input() public decimalMaskPrecision: number = 2;\r\n\r\n //Behavior\r\n @Input() public isDisabled: boolean;\r\n @Input() public isReadonly: boolean;\r\n @Input() public type: string = 'text';\r\n @Input() public name: string;\r\n @Input() public mask: string;\r\n @Input() public focus: boolean;\r\n @Input() public allowClear: boolean;\r\n @Input() public jit: boolean;\r\n\r\n //Validations\r\n @Input() public findExistingResource: NgtHttpFindExistingResourceInterface;\r\n @Input() public isRequired: boolean;\r\n @Input() public uniqueResource: any;\r\n @Input() public minValue: number;\r\n @Input() public maxValue: number;\r\n @Input() public maxLength: number;\r\n @Input() public minLength: number;\r\n @Input() public match: string;\r\n @Input() public multipleOf: number;\r\n @Input() public externalServerDependency: boolean;\r\n\r\n @Output() public onClickLeftIcon: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() public onClickRightIcon: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n public existingResourceId: string;\r\n public componentReady: boolean;\r\n public inputProperties: {\r\n htmlType?: string;\r\n length?: number;\r\n } = {};\r\n\r\n public ngtStyle: NgtStylizableService;\r\n\r\n private emailValidatorTimeout: any;\r\n private uniqueValidatorTimeout: any;\r\n private searchExistingResourceTimeout: any;\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n public constructor(\r\n private injector: Injector,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n @Optional() @Host()\r\n public formContainer: ControlContainer,\r\n @Optional() @SkipSelf()\r\n private ngtFormComponent: NgtFormComponent,\r\n private renderer: Renderer2,\r\n @Optional() @SkipSelf()\r\n private ngtValidationService: NgtHttpValidationService,\r\n @Optional() @SkipSelf()\r\n private ngtResourceService: NgtHttpResourceService,\r\n private changeDetector: ChangeDetectorRef\r\n ) {\r\n super();\r\n\r\n if (this.ngtFormComponent) {\r\n this.shining = this.ngtFormComponent.isShining();\r\n\r\n this.subscriptions.push(\r\n this.ngtFormComponent.onShiningChange.subscribe((shining: boolean) => {\r\n this.shining = shining;\r\n })\r\n );\r\n }\r\n\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtInput', {\r\n h: 'h-12',\r\n rounded: 'rounded',\r\n text: 'text-sm',\r\n fontCase: '',\r\n color: {\r\n border: 'border-gray-400 focus:border-gray-700',\r\n bg: 'bg-bg-white focus:bg-white',\r\n text: 'text-gray-800'\r\n }\r\n });\r\n }\r\n\r\n public setFocus() {\r\n setTimeout(() => {\r\n this.element.nativeElement.focus();\r\n }, 200);\r\n }\r\n\r\n public clearInput(event?: Event) {\r\n if (event) {\r\n event.stopPropagation();\r\n }\r\n\r\n this.element.nativeElement.value = '';\r\n this.value = '';\r\n\r\n this.markAsPristine();\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges) {\r\n this.setupMasks(changes.mask ? changes.mask.previousValue : null);\r\n\r\n if (changes.match || changes.isRequired || changes.type || changes.mask || changes.minValue) {\r\n this.updateValidations();\r\n }\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.destroySubscriptions();\r\n }\r\n\r\n public change(value: any) {\r\n if (value && typeof value === 'string' && this.mask == 'decimal') {\r\n value = parseFloat(value);\r\n }\r\n\r\n if (!this.getNativeValue()) {\r\n this.element.nativeElement.value = value;\r\n }\r\n\r\n if (!value && value !== 0) {\r\n this.clearInput();\r\n }\r\n\r\n let nativeValue = this.getNativeValue();\r\n\r\n if (this.mask) {\r\n let ngModelValue = this.removeMasks(nativeValue);\r\n\r\n if (nativeValue && ngModelValue != this.value) {\r\n this.value = ngModelValue;\r\n }\r\n } else {\r\n let ngModelValue = this.removeMasks(value);\r\n\r\n if (value && ngModelValue != value) {\r\n this.value = ngModelValue;\r\n }\r\n\r\n if (this.value != nativeValue) {\r\n this.element.nativeElement.value = ngModelValue;\r\n }\r\n }\r\n\r\n if (this.componentReady) {\r\n this.onValueChangeEvent.emit(this.value);\r\n }\r\n\r\n if (this.ngtResourceService && this.findExistingResource && this.value) {\r\n this.searchExistingResource();\r\n }\r\n }\r\n\r\n public ngOnInit() {\r\n if (!this.formContainer) {\r\n console.error(\"The element must be inside a <form #form='ngForm'> tag!\", this.element.nativeElement);\r\n }\r\n\r\n if (!this.name) {\r\n console.error(\"The element must contain a name attribute!\", this.element.nativeElement);\r\n } else {\r\n setTimeout(() => {\r\n this.componentReady = true;\r\n setTimeout(() => {\r\n this.initComponent();\r\n\r\n if (!this.getElementTitle() || this.getElementTitle() === 'null') {\r\n this.element.nativeElement.parentElement.parentElement.title = '';\r\n }\r\n });\r\n }, 500);\r\n }\r\n }\r\n\r\n public getInputPaddings() {\r\n let paddingClass: string = '';\r\n\r\n if (this.innerLeftIcon) {\r\n paddingClass += 'pl-8 pr-4 ';\r\n } else {\r\n paddingClass += 'px-4 ';\r\n }\r\n\r\n if (this.innerRightIcon || this.allowClear || this.type == 'password') {\r\n if (this.allowClear && this.value && (this.innerRightIcon || this.type == 'password')) {\r\n paddingClass += 'pr-16 ';\r\n } else {\r\n paddingClass += 'pr-8 ';\r\n }\r\n }\r\n\r\n return paddingClass;\r\n }\r\n\r\n public showPassword() {\r\n this.element.nativeElement.type = 'text';\r\n this.changeDetector.detectChanges();\r\n }\r\n\r\n public hidePassword() {\r\n this.element.nativeElement.type = 'password';\r\n this.changeDetector.detectChanges();\r\n }\r\n\r\n private initComponent() {\r\n if (this.formContainer && this.formContainer.control && (this.formControl = this.formContainer.control.get(this.name))) {\r\n if (this.focus) {\r\n this.setFocus();\r\n }\r\n\r\n let watch = \"change\";\r\n\r\n if (this.jit) {\r\n watch += \" keyup keydown keypress\";\r\n }\r\n\r\n watch.split(' ').forEach((evt) => {\r\n this.renderer.listen(this.element.nativeElement, evt, () => {\r\n let nativeValue = this.removeMasks(this.getNativeValue());\r\n\r\n if (this.value != nativeValue) {\r\n this.value = nativeValue;\r\n }\r\n });\r\n });\r\n\r\n this.renderer.listen(this.element.nativeElement, \"keydown\", (event) => {\r\n if (this.element.nativeElement && this.element.nativeElement.value && this.element.nativeElement.value.length >= this.maxLength) {\r\n // Backspace and delete\r\n if (event.keyCode != 8 && event.keyCode != 46) {\r\n event.preventDefault();\r\n\r\n return false;\r\n }\r\n }\r\n });\r\n\r\n this.updateValidations();\r\n\r\n if (this.match) {\r\n this.renderer.listen(this.element.nativeElement, \"keypress\", () => {\r\n this.matchValidator();\r\n });\r\n }\r\n\r\n if (this.value) {\r\n this.formControl.markAsDirty();\r\n } else {\r\n this.formControl.markAsPristine();\r\n }\r\n }\r\n\r\n this.setupProperties();\r\n }\r\n\r\n private updateValidations() {\r\n if (!this.formControl) {\r\n return;\r\n }\r\n\r\n const syncValidators = [];\r\n\r\n if (this.type == 'email') {\r\n syncValidators.push(Validators.email);\r\n }\r\n\r\n if (this.isRequired) {\r\n syncValidators.push(Validators.required);\r\n }\r\n\r\n if (this.maxLength) {\r\n syncValidators.push(Validators.maxLength(this.maxLength));\r\n }\r\n\r\n if (this.minLength) {\r\n syncValidators.push(Validators.minLength(this.minLength));\r\n }\r\n\r\n if (this.mask == 'cnpj-cpf') {\r\n syncValidators.push(this.cnpjCpfValidator());\r\n }\r\n\r\n if (this.mask == 'time') {\r\n syncValidators.push(this.timeValidator());\r\n }\r\n\r\n if (this.match) {\r\n syncValidators.push(this.matchValidator());\r\n }\r\n\r\n if (this.minValue !== undefined) {\r\n syncValidators.push(this.minValueValidator());\r\n }\r\n\r\n if (this.multipleOf) {\r\n syncValidators.push(this.multipleOfValidator());\r\n }\r\n\r\n if (this.externalServerDependency) {\r\n syncValidators.push(this.externalServerDependencyValidator());\r\n }\r\n\r\n setTimeout(() => {\r\n this.formControl.setValidators(syncValidators);\r\n\r\n const asyncValidators = [];\r\n\r\n if (this.uniqueResource) {\r\n asyncValidators.push(this.uniqueValidator());\r\n }\r\n\r\n if (this.type == 'email' && this.hasEmailServiceValidation()) {\r\n asyncValidators.push(this.emailValidator());\r\n }\r\n\r\n this.formControl.setAsyncValidators(asyncValidators);\r\n this.formControl.updateValueAndValidity();\r\n });\r\n }\r\n\r\n private setupMasks(previousMask?: string) {\r\n if (this.mask != previousMask && !this.mask) {\r\n Inputmask.remove(this.element.nativeElement);\r\n\r\n return this.clearInput();\r\n }\r\n\r\n let masks = {\r\n 'cpf': '999.999.999-99',\r\n 'cnpj': '99.999.999/9999-99',\r\n 'decimal': {\r\n digits: this.decimalMaskPrecision,\r\n groupSeparator: '.',\r\n radixPoint: ',',\r\n autoGroup: true,\r\n repeat: 16,\r\n rightAlign: false,\r\n max: this.maxValue,\r\n },\r\n 'cnpj-cpf': {\r\n mask: ['999.999.999-99', '99.999.999/9999-99'],\r\n keepStatic: true\r\n },\r\n 'cellphone': {\r\n mask: ['(99) 9999-9999', '(99) 99999-9999'],\r\n keepStatic: true\r\n },\r\n 'plate': {\r\n mask: ['AAA-9999', 'AAA9A99'],\r\n keepStatic: true\r\n },\r\n 'cep': '99999-999',\r\n 'integer': {\r\n max: this.maxValue,\r\n rightAlign: false\r\n },\r\n 'time': '99:99',\r\n };\r\n\r\n if (this.mask == \"decimal\") {\r\n Inputmask('decimal', masks[this.mask]).mask(this.element.nativeElement);\r\n } else if (this.mask == \"integer\") {\r\n Inputmask(\"integer\", masks[this.mask]).mask(this.element.nativeElement);\r\n } else {\r\n Inputmask(masks[this.mask]).mask(this.element.nativeElement);\r\n }\r\n }\r\n\r\n private setupProperties() {\r\n let props = {\r\n shortText: {\r\n htmlType: \"text\",\r\n length: 20\r\n },\r\n text: {\r\n htmlType: \"text\",\r\n length: 100\r\n },\r\n longText: {\r\n htmlType: \"text\",\r\n length: 150\r\n },\r\n extraLongText: {\r\n htmlType: \"text\",\r\n length: 300\r\n },\r\n password: {\r\n htmlType: \"password\",\r\n length: 150\r\n },\r\n email: {\r\n htmlType: \"text\",\r\n length: 100,\r\n },\r\n decimal: {\r\n htmlType: \"text\",\r\n length: 9,\r\n }\r\n };\r\n\r\n if (this.type in props) {\r\n this.inputProperties = props[this.type];\r\n this.maxLength = this.inputProperties.length;\r\n } else {\r\n console.warn(\"Type [\" + this.type + \"] is not a valid tail-form-input type!\", this.element.nativeElement);\r\n }\r\n }\r\n\r\n private minValueValidator() {\r\n return (control: AbstractControl) => parseFloat(control.value) < this.minValue ? { 'minValue': true } : null;\r\n }\r\n\r\n private multipleOfValidator() {\r\n return (control: AbstractControl) => {\r\n if (control.value) {\r\n return (control.value % this.multipleOf !== 0) ? { 'multipleOf': true } : null;\r\n }\r\n };\r\n }\r\n\r\n private externalServerDependencyValidator() {\r\n // TODO: Validar tempo de requisição\r\n return (control: AbstractControl) => !control.value ? { 'externalServerDependency': true } : null;\r\n }\r\n\r\n private timeValidator() {\r\n const regexExp = new RegExp('^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$');\r\n\r\n return (control: AbstractControl) => {\r\n if (control.value) {\r\n if (regexExp.test(control.value)) {\r\n return null;\r\n } else {\r\n return { 'time': true };\r\n }\r\n }\r\n };\r\n }\r\n\r\n private cnpjCpfValidator() {\r\n return (control: AbstractControl) => {\r\n if (!control.value) {\r\n return null;\r\n }\r\n\r\n if (control.value && control.value.length <= 11) {\r\n if (this.validatorCPF(control.value)) {\r\n return null;\r\n } else {\r\n return { 'cpf': true };\r\n }\r\n } else {\r\n if (control.value && this.validatorCNPJ(control.value)) {\r\n return null;\r\n } else {\r\n return { 'cnpj': true };\r\n }\r\n }\r\n };\r\n }\r\n\r\n private matchValidator() {\r\n return (control: AbstractControl) => {\r\n if (this.value != this.match) {\r\n return { 'match': true };\r\n } else {\r\n return null;\r\n }\r\n };\r\n }\r\n\r\n private emailValidator(): AsyncValidatorFn {\r\n if (!this.ngtValidationService) {\r\n throw new Error(\"In order to use email validation you must provide a implementation for NgtHttpValidationService class!\");\r\n }\r\n\r\n return (control: AbstractControl) => {\r\n if (this.emailValidatorTimeout) {\r\n clearTimeout(this.emailValidatorTimeout);\r\n }\r\n\r\n if (this.value) {\r\n return new Promise((resolve) => {\r\n this.emailValidatorTimeout = setTimeout(() => {\r\n this.loading = true;\r\n\r\n this.ngtValidationService.emailValidation(this.value).then((response: NgtHttpValidationResponse) => {\r\n this.loading = false;\r\n resolve(response.valid ? null : { 'email': true });\r\n }).catch(() => {\r\n this.loading = false;\r\n resolve(null);\r\n });\r\n }, 500);\r\n });\r\n }\r\n\r\n return Promise.resolve(null);\r\n };\r\n }\r\n\r\n private async searchExistingResource(): Promise<void> {\r\n if (this.searchExistingResourceTimeout) {\r\n clearTimeout(this.searchExistingResourceTimeout);\r\n }\r\n\r\n this.searchExistingResourceTimeout = setTimeout(() => {\r\n this.loading = true;\r\n this.findExistingResource.value = this.value;\r\n\r\n this.ngtResourceService.findExisting(this.findExistingResource)\r\n .then((response: NgtHttpFindExistingResourceResponse) => this.existingResourceId = response.id)\r\n .catch(() => this.existingResourceId = null)\r\n .finally(() => this.loading = false);\r\n }, 500);\r\n }\r\n\r\n private uniqueValidator(): AsyncValidatorFn {\r\n if (!this.ngtValidationService) {\r\n throw new Error(\"In order to use unique validation you must provide a implementation for NgtHttpValidationService class!\");\r\n }\r\n\r\n return (control: AbstractControl) => {\r\n if (this.uniqueValidatorTimeout) {\r\n clearTimeout(this.uniqueValidatorTimeout);\r\n }\r\n\r\n if (this.value && this.uniqueResource) {\r\n return new Promise((resolve) => {\r\n this.uniqueValidatorTimeout = setTimeout(() => {\r\n this.loading = true;\r\n\r\n this.ngtValidationService.unique(this.uniqueResource, this.value).then((response: NgtHttpValidationResponse) => {\r\n this.loading = false;\r\n\r\n resolve(response.valid ? null : { 'unique': true });\r\n }).catch(() => {\r\n this.loading = false;\r\n resolve(null);\r\n });\r\n }, 500);\r\n });\r\n }\r\n\r\n return Promise.resolve(null);\r\n };\r\n }\r\n\r\n private validatorCNPJ(value) {\r\n let b = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\r\n\r\n if ((value = value.replace(/[^\\d]/g, \"\")).length != 14) {\r\n return false;\r\n }\r\n\r\n if (/0{14}/.test(value)) {\r\n return false;\r\n }\r\n\r\n let n = 0;\r\n\r\n for (let i = 0; i < 12; n += value[i] * b[++i]) {\r\n ;\r\n }\r\n\r\n if (value[12] != (((n %= 11) < 2) ? 0 : 11 - n)) {\r\n return false;\r\n }\r\n\r\n n = 0;\r\n\r\n for (let i = 0; i <= 12; n += value[i] * b[i++]) {\r\n ;\r\n }\r\n\r\n if (value[13] != (((n %= 11) < 2) ? 0 : 11 - n)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n };\r\n\r\n private validatorCPF(value) {\r\n let numeros, digitos, soma, i, resultado, digitos_iguais;\r\n\r\n digitos_iguais = 1;\r\n\r\n if (value.length < 11) {\r\n return false;\r\n }\r\n\r\n for (i = 0; i < value.length - 1; i++) {\r\n if (value.charAt(i) != value.charAt(i + 1)) {\r\n digitos_iguais = 0;\r\n break;\r\n }\r\n }\r\n\r\n if (!digitos_iguais) {\r\n numeros = value.substring(0, 9);\r\n digitos = value.substring(9);\r\n soma = 0;\r\n\r\n for (i = 10; i > 1; i--) {\r\n soma += numeros.charAt(10 - i) * i;\r\n }\r\n\r\n resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;\r\n\r\n if (resultado != digitos.charAt(0)) {\r\n return false;\r\n }\r\n\r\n numeros = value.substring(0, 10);\r\n soma = 0;\r\n\r\n for (i = 11; i > 1; i--) {\r\n soma += numeros.charAt(11 - i) * i;\r\n }\r\n\r\n resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;\r\n\r\n if (resultado != digitos.charAt(1)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n private getNativeValue() {\r\n return this.element.nativeElement.value;\r\n }\r\n\r\n private getElementTitle(): string {\r\n return this.element.nativeElement.parentElement.parentElement.title;\r\n }\r\n\r\n private removeMasks(value: string) {\r\n if (this.mask == \"decimal\") {\r\n value = (value + \"\")\r\n .replace(/\\./g, '')\r\n .replace(',', '.');\r\n } else if (this.mask == \"cnpj-cpf\" || this.mask == \"cpf\" || this.mask == \"cnpj\") {\r\n value = (value + \"\")\r\n .replace('.', '')\r\n .replace('.', '')\r\n .replace('-', '')\r\n .replace('/', '');\r\n } else if (this.mask == \"cellphone\") {\r\n value = (value + \"\")\r\n .replace('(', '')\r\n .replace(')', '')\r\n .replace(' ', '')\r\n .replace('-', '');\r\n }\r\n\r\n return value;\r\n }\r\n\r\n private hasEmailServiceValidation(): boolean {\r\n return typeof this.ngtValidationService.emailValidation === 'function';\r\n }\r\n\r\n private destroySubscriptions() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n this.subscriptions = [];\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { NgtFormModule } from '../ngt-form/ngt-form.module';\r\nimport { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\r\nimport { NgtShiningModule } from '../ngt-shining/ngt-shining.module';\r\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\r\nimport { NgtValidationModule } from '../ngt-validation/ngt-validation.module';\r\nimport { NgtInputComponent } from './ngt-input.component';\r\n\r\n@NgModule({\r\n declarations: [NgtInputComponent],\r\n exports: [NgtInputComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgtValidationModule,\r\n NgtShiningModule,\r\n NgtSvgModule,\r\n NgtFormModule,\r\n NgtHelperModule\r\n ]\r\n})\r\nexport class NgtInputModule { }\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngt-modal-body',\r\n templateUrl: './ngt-modal-body.component.html',\r\n styleUrls: ['./ngt-modal-body.component.css']\r\n})\r\nexport class NgtModalBodyComponent { }\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngt-modal-footer',\r\n templateUrl: './ngt-modal-footer.component.html',\r\n styleUrls: ['./ngt-modal-footer.component.css']\r\n})\r\nexport class NgtModalFooterComponent { }\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { ChangeDetectorRef, Component, EventEmitter, Injector, Input, Optional, Output, Self } from '@angular/core';\r\n\r\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\n\r\n@Component({\r\n selector: 'ngt-modal',\r\n templateUrl: './ngt-modal.component.html',\r\n styleUrls: ['./ngt-modal.component.css'],\r\n animations: [\r\n trigger('fade', [\r\n state('void', style({ opacity: 0 })),\r\n transition(':enter, :leave', [\r\n animate(300)\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class NgtModalComponent {\r\n @Input() public customLayout: boolean = false;\r\n @Input() public disableDefaultCloses: boolean = false;\r\n @Input() public ngtStyle: NgtStylizableService;\r\n\r\n @Output() public onCloseModal: EventEmitter<any> = new EventEmitter();\r\n @Output() public onOpenModal: EventEmitter<any> = new EventEmitter();\r\n\r\n public isOpen: boolean = false;\r\n\r\n private keydownEventWasAdded: boolean = false;\r\n\r\n public constructor(\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private injector: Injector,\r\n @Self() @Optional() private tailStylizableDirective: NgtStylizableDirective,\r\n ) {\r\n if (this.tailStylizableDirective) {\r\n this.ngtStyle = this.tailStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtModal', {\r\n w: 'md:max-w-md',\r\n py: 'py-4',\r\n px: 'px-6',\r\n overflow: 'overflow-visible',\r\n color: {}\r\n });\r\n }\r\n\r\n public close() {\r\n this.isOpen = false;\r\n this.changeDetectorRef.detectChanges();\r\n this.onCloseModal.emit();\r\n }\r\n\r\n public open() {\r\n this.isOpen = true;\r\n this.changeDetectorRef.detectChanges();\r\n this.addKeydownEventListener();\r\n this.onOpenModal.emit();\r\n }\r\n\r\n private addKeydownEventListener() {\r\n if (!this.disableDefaultCloses && !this.keydownEventWasAdded) {\r\n this.keydownEventWasAdded = true;\r\n\r\n window.addEventListener('keydown', (event: any) => {\r\n if (event.keyCode == 27) {\r\n this.close();\r\n }\r\n }, true);\r\n }\r\n }\r\n}\r\n","import { Component, Injector, Input, Optional, Self, SkipSelf } from '@angular/core';\r\n\r\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\r\nimport { NgtModalComponent } from '../ngt-modal.component';\r\n\r\n@Component({\r\n selector: 'ngt-modal-header',\r\n templateUrl: './ngt-modal-header.component.html',\r\n styleUrls: ['./ngt-modal-header.component.css']\r\n})\r\nexport class NgtModalHeaderComponent {\r\n @Input() public ngtModal: NgtModalComponent;\r\n\r\n public ngtStyle: NgtStylizableService;\r\n\r\n public constructor(\r\n @Optional() @SkipSelf()\r\n private ngtModalInstance: NgtModalComponent,\r\n private injector: Injector,\r\n @Self() @Optional() private tailStylizableDirective: NgtStylizableDirective,\r\n ) {\r\n if (ngtModalInstance) {\r\n this.ngtModal = ngtModalInstance;\r\n }\r\n\r\n if (this.tailStylizableDirective) {\r\n this.ngtStyle = this.tailStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtModalHeader', {\r\n pb: 'pb-3',\r\n color: {}\r\n });\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { NgtModalBodyComponent } from './ngt-modal-body/ngt-modal-body.component';\r\nimport { NgtModalFooterComponent } from './ngt-modal-footer/ngt-modal-footer.component';\r\nimport { NgtModalHeaderComponent } from './ngt-modal-header/ngt-modal-header.component';\r\nimport { NgtModalComponent } from './ngt-modal.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n NgtModalComponent,\r\n NgtModalHeaderComponent,\r\n NgtModalBodyComponent,\r\n NgtModalFooterComponent\r\n ],\r\n exports: [\r\n NgtModalComponent,\r\n NgtModalHeaderComponent,\r\n NgtModalBodyComponent,\r\n NgtModalFooterComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class NgtModalModule { }\r\n","import { Component, Injector, Input, Optional, Self } from '@angular/core';\r\n\r\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\n\r\n@Component({\r\n selector: 'ngt-action',\r\n templateUrl: './ngt-action.component.html',\r\n styleUrls: ['./ngt-action.component.css']\r\n})\r\nexport class NgtActionComponent {\r\n @Input() public href: string;\r\n @Input() public icon: string;\r\n @Input() public ngtStyle: NgtStylizableService;\r\n @Input() public isDisabled: boolean;\r\n\r\n public constructor(\r\n private injector: Injector,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n ) {\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtAction', {\r\n h: 'h-full',\r\n w: 'w-full',\r\n color: {\r\n bg: 'bg-gray-500',\r\n text: 'text-white',\r\n border: '',\r\n },\r\n text: 'text-xl',\r\n border: 'border-0',\r\n });\r\n }\r\n\r\n public onClick(event: Event) {\r\n if (this.isDisabled) {\r\n event.stopPropagation();\r\n }\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { NgtActionComponent } from './ngt-action.component';\r\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\r\n\r\n@NgModule({\r\n declarations: [NgtActionComponent],\r\n exports: [NgtActionComponent],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n NgtSvgModule\r\n ]\r\n})\r\nexport class NgtActionModule { }\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({ selector: '[ngt-select-option]' })\r\nexport class NgtSelectOptionTmp {\r\n public constructor(public template: TemplateRef<any>) { }\r\n}\r\n\r\n@Directive({ selector: '[ngt-select-option-selected]' })\r\nexport class NgtSelectOptionSelectedTmp {\r\n public constructor(public template: TemplateRef<any>) { }\r\n}\r\n\r\n@Directive({ selector: '[ngt-select-header]' })\r\nexport class NgtSelectHeaderTmp {\r\n public constructor(public template: TemplateRef<any>) { }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n DoCheck,\r\n EventEmitter,\r\n Host,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n Self,\r\n SimpleChanges,\r\n SkipSelf,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { AbstractControl, ControlContainer, NgForm } from '@angular/forms';\r\nimport { NgOption, NgSelectComponent } from '@ng-select/ng-select';\r\nimport { Observable, Observer, Subject, Subscription } from 'rxjs';\r\n\r\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\r\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { getEnumFromString } from '../../helpers/enum/enum';\r\nimport { uuid } from '../../helpers/uuid';\r\nimport { NgtHttpResponse, NgtHttpService } from '../../services/http/ngt-http.service';\r\nimport { NgtTranslateService } from '../../services/http/ngt-translate.service';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\r\nimport { NgtSelectHeaderTmp, NgtSelectOptionSelectedTmp, NgtSelectOptionTmp } from './ngt-select.directive';\r\n\r\n@Component({\r\n selector: 'ngt-select',\r\n templateUrl: './ngt-select.component.html',\r\n styleUrls: ['./ngt-select.component.css'],\r\n providers: [\r\n NgtMakeProvider(NgtSelectComponent)\r\n ],\r\n viewProviders: [\r\n { provide: ControlContainer, useExisting: NgForm }\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class NgtSelectComponent extends NgtBaseNgModel implements OnChanges, OnDestroy, OnInit, DoCheck {\r\n @ViewChild(NgSelectComponent, { static: true }) public ngSelectComponent: NgSelectComponent;\r\n @ContentChild(NgtSelectOptionTmp, { read: TemplateRef }) public ngtOptionTemplate: TemplateRef<any>;\r\n @ContentChild(NgtSelectOptionSelectedTmp, { read: TemplateRef }) public ngtOptionSelectedTemplate: TemplateRef<any>;\r\n @ContentChild(NgtSelectHeaderTmp, { read: TemplateRef }) public ngtSelectHeaderTemplate: TemplateRef<any>;\r\n\r\n /** Visual */\r\n @Input() public label: string = '';\r\n @Input() public labelIcon: string;\r\n @Input() public labelIconColor: string;\r\n @Input() public helpTitle: string;\r\n @Input() public helpText: string;\r\n @Input() public helpTextColor: string = 'text-green-500';\r\n @Input() public shining = false;\r\n @Input() public loading: boolean = false;\r\n @Input() public loadingText: string = '';\r\n @Input() public notFoundText: string = '';\r\n @Input() public dropdownPosition = 'auto';\r\n @Input() public typeToSearchText: string = '';\r\n @Input() public clearAllTooltip: string = '';\r\n @Input() public placeholder: string = '';\r\n @Input() public createText: string = '';\r\n @Input() public labelForId: string = '';\r\n @Input() public dropdownPanelMinHeight: NgtSelectDropdownPanelHeight = NgtSelectDropdownPanelHeight.AUTO;\r\n\r\n /** Behavior */\r\n @Input() public name: string;\r\n @Input() public allowCreate: boolean | Promise<any> | Function = false;\r\n @Input() public allowOriginalItemsUnselect: boolean = true;\r\n @Input() public isDisabled: boolean = false;\r\n @Input() public remoteResource: any;\r\n @Input() public hideSelected: boolean;\r\n @Input() public bindLabel: string = 'name';\r\n @Input() public bindValue: string;\r\n @Input() public items: Array<any> | Observable<any> = [];\r\n @Input() public closeOnSelect: boolean = true;\r\n @Input() public clearable: boolean = true;\r\n @Input() public groupBy: string | Function = null;\r\n @Input() public maxSelectedItems: number;\r\n @Input() public multiple: boolean = false;\r\n @Input() public searchable: boolean = true;\r\n @Input() public clearSearchOnAdd: boolean = true;\r\n @Input() public virtualScroll: boolean = true;\r\n @Input() public tabIndex: number;\r\n @Input() public typeahead: Subject<any>;\r\n @Input() public groupValue: (groupKey: string, cildren: any[]) => Object;\r\n @Input() public trackBy: (item: any) => any;\r\n\r\n /** Validation */\r\n @Input() public isRequired: boolean = false;\r\n\r\n @Output() public onLoadRemoteResource: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n public nativeName = uuid();\r\n public ngtStyle: NgtStylizableService;\r\n public ngSelectItems: any = [];\r\n public nativeValue: any;\r\n public componentReady: boolean = false;\r\n\r\n private ngSearchObserver: Observer<any>;\r\n private originalPerPage = 15;\r\n private subscriptions: Array<Subscription> = [];\r\n private originalItems: Array<any>;\r\n\r\n private currentState = {\r\n filters: {},\r\n sort: {\r\n field: '',\r\n direction: ''\r\n },\r\n pagination: {\r\n count: null,\r\n page: 1,\r\n pages: null,\r\n total: null,\r\n from: null,\r\n to: null,\r\n per_page: null\r\n }\r\n };\r\n\r\n private searchTimeout: any;\r\n private becameVisible: boolean;\r\n\r\n public constructor(\r\n @Optional() @Self()\r\n public ngtStylizableDirective: NgtStylizableDirective,\r\n private injector: Injector,\r\n @Optional() @Host()\r\n public formContainer: ControlContainer,\r\n @Optional() @SkipSelf()\r\n public ngtFormComponent: NgtFormComponent,\r\n private ngtHttp: NgtHttpService,\r\n private changeDetector: ChangeDetectorRef,\r\n @Optional()\r\n public ngtTranslateService: NgtTranslateService\r\n ) {\r\n super();\r\n\r\n if (this.ngtFormComponent) {\r\n this.shining = this.ngtFormComponent.isShining();\r\n\r\n this.subscriptions.push(\r\n this.ngtFormComponent.onShiningChange.subscribe((shining: boolean) => {\r\n this.shining = shining;\r\n })\r\n );\r\n }\r\n\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtSelect', {\r\n h: 'h-12',\r\n text: 'text-sm',\r\n fontCase: '',\r\n color: {\r\n bg: 'bg-white'\r\n }\r\n });\r\n }\r\n\r\n @Input() public compareWith = (a: any, b: any) => a === b;\r\n\r\n public ngOnInit() {\r\n if (!this.formContainer) {\r\n console.error(\"The element must be inside a <form #form='ngForm'> tag!\");\r\n }\r\n\r\n if (!this.name) {\r\n console.error(\"The element must contain a name attribute!\");\r\n }\r\n\r\n if (!this.multiple && this.isRequired) {\r\n this.clearable = false;\r\n }\r\n\r\n if (this.multiple) {\r\n this.closeOnSelect = false;\r\n }\r\n\r\n setTimeout(() => {\r\n this.componentReady = true;\r\n this.initComponentValidation();\r\n }, 500);\r\n\r\n this.ngSelectItems = new Observable((observer) => {\r\n this.ngSearchObserver = observer;\r\n observer.next([]);\r\n });\r\n }\r\n\r\n public ngAfterViewInit() {\r\n this.bindInnerInputUniqueId();\r\n }\r\n\r\n public ngDoCheck() {\r\n if (!this.becameVisible && !this.isHidden()) {\r\n this.becameVisible = true;\r\n\r\n this.initNgSelectItems();\r\n\r\n setTimeout(() => {\r\n this.replaceShowAddTag();\r\n\r\n this.ngSelectComponent.itemsList.mapSelectedItems();\r\n\r\n if (!this.getElementTitle() || this.getElementTitle() === 'null') {\r\n this.ngSelectComponent.element.parentElement.parentElement.parentElement.title = '';\r\n }\r\n\r\n this.originalItems = this.ngSelectComponent.selectedItems?.map((element) => element.value);\r\n\r\n this.changeDetector.detectChanges();\r\n }, 500);\r\n }\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.destroySubscriptions();\r\n }\r\n\r\n public removeItem(event: Event, item: any) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n return this.ngSelectComponent.clearItem(item);\r\n }\r\n\r\n public refresh() {\r\n this.initNgSelectItems();\r\n this.initComponentValidation();\r\n }\r\n\r\n public reset() {\r\n this.value = undefined;\r\n this.nativeValue = undefined;\r\n this.refresh();\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges) {\r\n if (changes.isRequired) {\r\n this.updateValidations();\r\n }\r\n\r\n if ((changes.remoteResource && this.becameVisible) || changes.items) {\r\n this.initNgSelectItems();\r\n }\r\n\r\n if (changes.dropdownPanelMinHeight) {\r\n this.dropdownPanelMinHeight = getEnumFromString(changes.dropdownPanelMinHeight.currentValue, NgtSelectDropdownPanelHeight);\r\n }\r\n }\r\n\r\n public setFocus() {\r\n setTimeout(() => {\r\n this.ngSelectComponent.focus();\r\n });\r\n }\r\n\r\n public onClearSelect() {\r\n if (!this.nativeValue) {\r\n this.markAsPristine();\r\n }\r\n\r\n this.currentState.filters = {};\r\n }\r\n\r\n public onRemoveSelectedItem(item: NgOption) {\r\n if (!this.allowOriginalItemsUnselect && this.hadPreviousSelection(item.value)) {\r\n setTimeout(() => this.ngSelectComponent.select(item));\r\n }\r\n }\r\n\r\n public getFilterInputValue() {\r\n let inputField = this.ngSelectComponent.searchInput ?\r\n this.ngSelectComponent.searchInput :\r\n this.ngSelectComponent['searchInput'];\r\n\r\n if (\r\n inputField &&\r\n inputField.nativeElement\r\n ) {\r\n return inputField.nativeElement.value;\r\n }\r\n }\r\n\r\n public search(filters: any) {\r\n this.currentState.filters = { ...this.currentState.filters, ...filters };\r\n\r\n if (!this.remoteResource) {\r\n return;\r\n }\r\n\r\n if (this.searchTimeout) {\r\n clearTimeout(this.searchTimeout);\r\n }\r\n\r\n this.loading = true;\r\n this.changeDetector.detectChanges();\r\n\r\n this.searchTimeout = setTimeout(() => {\r\n this.subscriptions.push(\r\n this.ngtHttp\r\n .get(this.remoteResource, this.currentState.filters, this.currentState.pagination)\r\n .subscribe(\r\n (response: NgtHttpResponse) => {\r\n this.loading = false;\r\n this.ngSearchObserver.next(response.data);\r\n this.onLoadRemoteResource.emit(response.data);\r\n this.currentState.pagination = response.meta.pagination;\r\n this.changeDetector.detectChanges();\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.changeDetector.detectChanges();\r\n console.error(error);\r\n this.ngSearchObserver.next([]);\r\n }\r\n )\r\n );\r\n }, 500);\r\n }\r\n\r\n public onNativeChange(value) {\r\n if (this.hasChangesBetweenModels(this.value, value)) {\r\n this.value = value;\r\n }\r\n }\r\n\r\n public change(value) {\r\n if (this.hasChangesBetweenModels(value, this.nativeValue)) {\r\n if (Array.isArray(value)) {\r\n value = value.map((val) => val);\r\n }\r\n\r\n this.nativeValue = value;\r\n\r\n if (!value) {\r\n this.markAsPristine();\r\n }\r\n }\r\n }\r\n\r\n public onScroll({ end }) {\r\n let currentPerPage = this.currentState.pagination.per_page;\r\n let maxItensInBackend = this.currentState.pagination.total;\r\n\r\n if (end >= currentPerPage && end <= maxItensInBackend) {\r\n this.currentState.pagination.per_page = parseInt(this.currentState.pagination.per_page) + this.originalPerPage;\r\n this.search({});\r\n }\r\n }\r\n\r\n public hasSelectedValue() {\r\n return this.value && JSON.stringify(this.value);\r\n }\r\n\r\n public getSelectClass() {\r\n let selectClass = this.dropdownPanelMinHeight ? 'ng-select-dropdown-panel-' + this.dropdownPanelMinHeight : 'ng-select-dropdown-panel-auto';\r\n\r\n if (this.isDisabled) {\r\n selectClass += ' select-border-disabled';\r\n } else if (this.formControl && this.formControl.errors && (this.formControl.dirty || (this.formContainer && this.formContainer['submitted']))) {\r\n selectClass += ' select-border-error';\r\n } else {\r\n selectClass += ' select-border-normal';\r\n }\r\n\r\n if (this.multiple) {\r\n selectClass += ` h-auto ${this.ngtStyle.compile(['color.bg', 'color.text'])}`;\r\n } else {\r\n selectClass += ` ${this.ngtStyle.compile(['h', 'color.bg', 'color.text'])}`;\r\n }\r\n\r\n return selectClass;\r\n }\r\n\r\n private initNgSelectItems() {\r\n if (this.remoteResource && this.becameVisible) {\r\n this.ngSelectItems = new Observable(observer => {\r\n this.ngSearchObserver = observer;\r\n this.search({});\r\n });\r\n\r\n this.typeahead = new Subject();\r\n\r\n this.subscriptions.push(\r\n this.typeahead.subscribe((term) => {\r\n this.search({ term: term });\r\n })\r\n );\r\n } else if (this.items instanceof Observable) {\r\n this.ngSelectItems = this.items;\r\n } else {\r\n if (!this.items) {\r\n this.items = [];\r\n }\r\n\r\n this.ngSelectItems = new Observable((observer) => {\r\n this.ngSearchObserver = observer;\r\n observer.next(this.items);\r\n });\r\n }\r\n }\r\n\r\n private initComponentValidation() {\r\n if (this.formContainer && this.formContainer.control && (this.formControl = this.formContainer.control.get(this.name))) {\r\n this.formControl = this.formContainer.control.get(this.name);\r\n this.markAsPristine();\r\n this.updateValidations();\r\n }\r\n }\r\n\r\n private getElementTitle(): string {\r\n return this.ngSelectComponent.element.parentElement.parentElement.parentElement.title;\r\n }\r\n\r\n private hasChangesBetweenModels(value, nativeValue) {\r\n return JSON.stringify(value) !== JSON.stringify(nativeValue);\r\n }\r\n\r\n private updateValidations() {\r\n if (!this.formControl) {\r\n return;\r\n }\r\n\r\n let syncValidators = [];\r\n\r\n if (this.isRequired) {\r\n syncValidators.push(this.isRequiredValidator());\r\n }\r\n\r\n setTimeout(() => {\r\n this.formControl.setValidators(syncValidators);\r\n this.formControl.updateValueAndValidity();\r\n });\r\n }\r\n\r\n private isRequiredValidator() {\r\n return (control: AbstractControl) => {\r\n if (this.multiple) {\r\n if (Array.isArray(this.value) && this.value.length > 0) {\r\n return null;\r\n }\r\n } else if (control.value && JSON.stringify(control.value)) {\r\n return null;\r\n }\r\n\r\n return { 'required': true };\r\n };\r\n }\r\n\r\n private replaceShowAddTag() {\r\n Object.defineProperty(this.ngSelectComponent, 'showAddTag', {\r\n get: () => {\r\n if (!this.ngSelectComponent['searchTerm']) {\r\n return false;\r\n }\r\n\r\n const term = this.ngSelectComponent['searchTerm'].toLocaleLowerCase();\r\n\r\n return this.ngSelectComponent.addTag && !this.ngSelectComponent.loading\r\n && (!this.hasTermInFilteredItems(term) && (!this.hasTermInSelectedItems(term)\r\n || !this.ngSelectComponent.hideSelected && this.ngSelectComponent.isOpen));\r\n }\r\n });\r\n }\r\n\r\n private bindInnerInputUniqueId() {\r\n const childInputs = this.ngSelectComponent.element.getElementsByTagName('input');\r\n\r\n if (childInputs?.length) {\r\n const innerInput = childInputs[0];\r\n\r\n innerInput.id = uuid();\r\n }\r\n }\r\n\r\n private hasTermInFilteredItems(term: string) {\r\n const filteredItems = this.ngSelectComponent.itemsList.filteredItems;\r\n\r\n if (this.isColoquentResource()) {\r\n return filteredItems.some((element: any) => {\r\n const elementValue = (<any>element.value).getAttribute(this.bindLabel);\r\n\r\n return elementValue && elementValue.toLocaleLowerCase() === term;\r\n });\r\n }\r\n\r\n return filteredItems.some((element: any) => {\r\n const elementValue = (<any>element.value)[this.bindLabel];\r\n\r\n return elementValue && elementValue.toLocaleLowerCase() === term;\r\n });\r\n }\r\n\r\n private hasTermInSelectedItems(term: string) {\r\n const selectedItems = this.ngSelectComponent.selectedItems;\r\n\r\n if (this.isColoquentResource()) {\r\n return selectedItems.some((element: any) => {\r\n const elementValue = (<any>element.value).getAttribute(this.bindLabel);\r\n\r\n return elementValue && elementValue.toLocaleLowerCase() === term;\r\n });\r\n }\r\n\r\n return selectedItems.some((element: any) => {\r\n const elementValue = (<any>element.value)[this.bindLabel];\r\n\r\n return elementValue && elementValue.toLocaleLowerCase() === term;\r\n });\r\n }\r\n\r\n private hadPreviousSelection(item: any): boolean {\r\n return !!this.originalItems?.find(element => this.compareWith(element, item));\r\n }\r\n\r\n private isColoquentResource() {\r\n const filteredItems = this.ngSelectComponent.itemsList.filteredItems;\r\n\r\n return filteredItems && filteredItems.length && typeof filteredItems[0].value['getAttribute'] === 'function';\r\n }\r\n\r\n private isHidden(): boolean {\r\n return this.ngSelectComponent.element.offsetParent === null;\r\n }\r\n\r\n private destroySubscriptions() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n this.subscriptions = [];\r\n }\r\n}\r\n\r\nexport enum NgtSelectDropdownPanelHeight {\r\n AUTO = 'auto',\r\n XS = 'xs',\r\n MD = 'md',\r\n SM = 'sm',\r\n LG = 'lg',\r\n XL = 'xl'\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n\r\nimport { NgtFormModule } from '../ngt-form/ngt-form.module';\r\nimport { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\r\nimport { NgtShiningModule } from '../ngt-shining/ngt-shining.module';\r\nimport { NgtValidationModule } from '../ngt-validation/ngt-validation.module';\r\nimport { NgtSelectComponent } from './ngt-select.component';\r\nimport { NgtSelectHeaderTmp, NgtSelectOptionSelectedTmp, NgtSelectOptionTmp } from './ngt-select.directive';\r\nimport {NgtSvgModule} from \"../ngt-svg/ngt-svg.module\";\r\n\r\n@NgModule({\r\n declarations: [\r\n NgtSelectComponent,\r\n NgtSelectOptionTmp,\r\n NgtSelectOptionSelectedTmp,\r\n NgtSelectHeaderTmp\r\n ],\r\n exports: [\r\n NgtSelectComponent,\r\n NgtSelectOptionTmp,\r\n NgtSelectOptionSelectedTmp,\r\n NgtSelectHeaderTmp\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NgSelectModule,\r\n NgtValidationModule,\r\n NgtFormModule,\r\n NgtShiningModule,\r\n NgtHelperModule,\r\n NgtSvgModule\r\n ]\r\n})\r\nexport class NgtSelectModule { }\r\n","import { Component, EventEmitter, Injector, Input, Optional, Output } from '@angular/core';\r\n\r\nimport { NgtHttpMeta, NgtHttpPagination } from '../../services/http/ngt-http.service';\r\nimport { NgtTranslateService } from '../../services/http/ngt-translate.service';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\n\r\n@Component({\r\n selector: 'ngt-pagination',\r\n templateUrl: './ngt-pagination.component.html',\r\n styleUrls: ['./ngt-pagination.component.css']\r\n})\r\nexport class NgtPaginationComponent {\r\n @Input() public pagesInterval: number;\r\n\r\n @Output() public onPageChange: EventEmitter<number> = new EventEmitter();\r\n @Output() public onPerPageChange: EventEmitter<number> = new EventEmitter();\r\n\r\n /** Styles */\r\n public ngtPaginationActivePageButtonStyle: NgtStylizableService;\r\n public ngtPaginationNextPreviousButtonStyle: NgtStylizableService;\r\n public ngtPaginationNextPreviousSectionButtonStyle: NgtStylizableService;\r\n public ngtPaginationFirstLastButtonStyle: NgtStylizableService;\r\n public ngtPaginationPageButtonStyle: NgtStylizableService;\r\n\r\n public sectionStartPage: number;\r\n public sectionEndPage: number;\r\n public displayNextSectionButton: boolean;\r\n public displayPreviousSectionButton: boolean;\r\n public displayPagination: boolean = true;\r\n\r\n public pagination: NgtHttpPagination = {\r\n count: null,\r\n page: 1,\r\n pages: null,\r\n total: null,\r\n from: null,\r\n to: null,\r\n per_page: null\r\n };\r\n\r\n public pages = [];\r\n\r\n public registersPerPageOptions = [\r\n 5, 10, 15, 30, 50, 100\r\n ];\r\n\r\n public currentRegistersPerPage: number = 15;\r\n\r\n public constructor(\r\n private injector: Injector,\r\n @Optional()\r\n public ngtTranslateService: NgtTranslateService\r\n ) {\r\n this.ngtPaginationNextPreviousButtonStyle = new NgtStylizableService();\r\n this.ngtPaginationNextPreviousSectionButtonStyle = new NgtStylizableService();\r\n this.ngtPaginationFirstLastButtonStyle = new NgtStylizableService();\r\n this.ngtPaginationActivePageButtonStyle = new NgtStylizableService();\r\n this.ngtPaginationPageButtonStyle = new NgtStylizableService();\r\n\r\n this.ngtPaginationNextPreviousButtonStyle.load(this.injector, 'NgtPaginationNextPreviousButton', {\r\n h: 'h-8',\r\n w: 'w-8',\r\n color: {\r\n text: 'text-white',\r\n bg: 'bg-gray-700'\r\n }\r\n });\r\n\r\n this.ngtPaginationNextPreviousSectionButtonStyle.load(this.injector, 'NgtPaginationNextPreviousButton', {\r\n h: 'h-8',\r\n w: 'w-8',\r\n color: {\r\n text: 'text-white',\r\n bg: 'bg-gray-300'\r\n }\r\n });\r\n\r\n this.ngtPaginationFirstLastButtonStyle.load(this.injector, 'NgtPaginationFirstLastButton', {\r\n h: 'h-8',\r\n w: 'w-8',\r\n color: {\r\n text: 'text-white',\r\n bg: 'bg-gray-900'\r\n }\r\n });\r\n\r\n this.ngtPaginationActivePageButtonStyle.load(this.injector, 'NgtPaginationActivePageButton', {\r\n h: 'h-8',\r\n w: 'w-8',\r\n color: {\r\n text: 'text-white',\r\n bg: 'bg-gray-500'\r\n }\r\n });\r\n\r\n this.ngtPaginationPageButtonStyle.load(this.injector, 'NgtPaginationPageButton', {\r\n h: 'h-8',\r\n w: 'w-8',\r\n color: {\r\n text: 'text-white',\r\n bg: 'bg-gray-300'\r\n }\r\n });\r\n }\r\n\r\n public onRegistersPerPageChange(value: any) {\r\n if (value && this.pagination.per_page != value) {\r\n this.pagination.per_page = value;\r\n this.currentRegistersPerPage = value;\r\n\r\n this.onPerPageChange.emit(value);\r\n }\r\n }\r\n\r\n public async goToPage(page: number) {\r\n this.onPageChange.emit(page);\r\n }\r\n\r\n public async goToPreviousPage() {\r\n if ((this.pagination.page - 1) > 0) {\r\n return this.goToPage(this.pagination.page - 1);\r\n }\r\n }\r\n\r\n public async goToNextPage() {\r\n if ((this.pagination.page + 1) <= this.pagination.pages) {\r\n return this.goToPage(this.pagination.page + 1);\r\n }\r\n }\r\n\r\n public async goToPreviousSection() {\r\n return this.goToPage(this.sectionStartPage - 1);\r\n }\r\n\r\n public async goToNextSection() {\r\n return this.goToPage(this.sectionEndPage + 1);\r\n }\r\n\r\n public async goToFirstPage() {\r\n if (this.pagination.page != 1) {\r\n return this.goToPage(1);\r\n }\r\n }\r\n\r\n public async goToLastPage() {\r\n if (this.pagination.page != this.pagination.pages) {\r\n return this.goToPage(this.pagination.pages);\r\n }\r\n }\r\n\r\n public getCurrentPage() {\r\n return this.pagination.page;\r\n }\r\n\r\n public getPagination() {\r\n return this.pagination;\r\n }\r\n\r\n public proccessPagination(meta: NgtHttpMeta) {\r\n this.pages = [];\r\n this.pagination = meta.pagination;\r\n\r\n this.sectionStartPage = Math.floor((this.pagination.page - 1) / this.pagesInterval) * this.pagesInterval + 1;\r\n this.sectionEndPage = this.sectionStartPage + (this.pagesInterval - 1);\r\n\r\n const totalPages = this.pagination.pages;\r\n\r\n for (let i = this.sectionStartPage; i <= this.sectionEndPage && i <= totalPages; i++) {\r\n this.pages.push(i);\r\n }\r\n\r\n this.bindDisplayedButtonSections(this.sectionStartPage, this.sectionEndPage, totalPages);\r\n this.displayPagination = true;\r\n }\r\n\r\n public resetPagination() {\r\n this.pagination = {\r\n count: null,\r\n page: 1,\r\n pages: null,\r\n total: null,\r\n from: null,\r\n to: null,\r\n per_page: null\r\n };\r\n }\r\n\r\n private bindDisplayedButtonSections(sectionStartPage: number, sectionEndPage: number, totalPages: number) {\r\n this.displayPreviousSectionButton = sectionStartPage > 1 ? true : false;\r\n this.displayNextSectionButton = sectionEndPage < totalPages ? true : false;\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { NgtStylizableModule } from '../../directives/ngt-stylizable/ngt-stylizable.module';\r\nimport { NgtActionModule } from '../ngt-action/ngt-action.module';\r\nimport { NgtSelectModule } from '../ngt-select/ngt-select.module';\r\nimport { NgtPaginationComponent } from './ngt-pagination.component';\r\n\r\n@NgModule({\r\n declarations: [NgtPaginationComponent],\r\n exports: [NgtPaginationComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NgtStylizableModule,\r\n NgtActionModule,\r\n NgtSelectModule,\r\n ]\r\n})\r\nexport class NgtPaginationModule { }\r\n","import { Component, Injector, Input, Optional, Self } from '@angular/core';\r\n\r\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\n\r\n@Component({\r\n selector: 'ngt-tag',\r\n templateUrl: './ngt-tag.component.html',\r\n styleUrls: ['./ngt-tag.component.css']\r\n})\r\nexport class NgtTagComponent {\r\n @Input() public icon: string;\r\n\r\n public ngtStyle: NgtStylizableService;\r\n\r\n public constructor(\r\n private injector: Injector,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n ) {\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'Tag', {\r\n color: {\r\n bg: 'bg-gray-500',\r\n text: 'text-white'\r\n }\r\n });\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\r\nimport { NgtTagComponent } from './ngt-tag.component';\r\n\r\n@NgModule({\r\n declarations: [NgtTagComponent],\r\n exports: [NgtTagComponent],\r\n imports: [\r\n CommonModule,\r\n NgtSvgModule\r\n ]\r\n})\r\nexport class NgtTagModule { }\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Injector,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { getEnumFromString } from '../../helpers/enum/enum';\r\nimport { NgtHttpPagination, NgtHttpResponse, NgtHttpService } from '../../services/http/ngt-http.service';\r\nimport { NgtTranslateService } from '../../services/http/ngt-translate.service';\r\nimport { NgtInputComponent } from '../ngt-input/ngt-input.component';\r\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.component';\r\nimport { NgtPaginationComponent } from '../ngt-pagination/ngt-pagination.component';\r\n\r\n@Component({\r\n selector: 'ngt-datatable',\r\n templateUrl: './ngt-datatable.component.html',\r\n styleUrls: ['./ngt-datatable.component.css']\r\n})\r\nexport class NgtDatatableComponent implements OnInit, OnDestroy {\r\n @ViewChild('table', { static: true }) public table: ElementRef;\r\n @ViewChild('ngtPagination', { static: true }) public ngtPagination: NgtPaginationComponent;\r\n @ViewChild('searchModal', { static: true }) public searchModal: NgtModalComponent;\r\n\r\n @Input() public remoteResource: any;\r\n @Input() public type: NgtDatatableType = NgtDatatableType.REMOTE;\r\n @Input() public filterTagBgColor: string = 'bg-blue-500';\r\n @Input() public inputSearch: NgtInputComponent;\r\n @Input() public searchDelay: number = 500;\r\n @Input() public searchTermMinLength: number = 1;\r\n @Input() public searchTermOnEnter: boolean = true;\r\n @Input() public defaultFilters: any = {};\r\n @Input() public filtersDescription = {};\r\n\r\n @Output() public onDataChange: EventEmitter<any> = new EventEmitter();\r\n @Output() public onClearFilter: EventEmitter<any> = new EventEmitter();\r\n @Output() public onClearSelectedElements: EventEmitter<any> = new EventEmitter();\r\n @Output() public onSelectedElementsChange: EventEmitter<Array<NgtCheckedElement>> = new EventEmitter();\r\n @Output() public onToogleAllCheckboxes: EventEmitter<any> = new EventEmitter();\r\n @Output() public onToogleCheckbox: EventEmitter<NgtCheckedElement> = new EventEmitter();\r\n @Output() public onOpenSearchModal: EventEmitter<string> = new EventEmitter();\r\n @Output() public onSearch: EventEmitter<any> = new EventEmitter();\r\n\r\n public searchModalTemplate: TemplateRef<any>;\r\n public data = [];\r\n public loading = false;\r\n public cleaningFilter = false;\r\n public componentReady = false;\r\n public filtersTranslated = [];\r\n public emptyStateVisible: boolean;\r\n public columnCount = [];\r\n public selectedElements: Array<NgtCheckedElement> = [];\r\n\r\n private searching: boolean;\r\n private searchTimeout: any;\r\n private subscriptions: Array<Subscription> = [];\r\n private currentState = {\r\n filters: {\r\n defaultFilters: {},\r\n silentFilters: {},\r\n qualifiedFilters: {},\r\n },\r\n sort: {\r\n field: '',\r\n direction: ''\r\n }\r\n };\r\n\r\n public constructor(\r\n private injector: Injector,\r\n private ngtHttpService: NgtHttpService,\r\n private changeDetector: ChangeDetectorRef,\r\n @Optional()\r\n public ngtTranslateService: NgtTranslateService\r\n ) { }\r\n\r\n public ngOnInit() {\r\n if (this.table && this.table.nativeElement && this.table.nativeElement.rows\r\n && this.table.nativeElement.rows[0] && this.table.nativeElement.rows[0].cells) {\r\n this.columnCount = this.table.nativeElement.rows[0].cells;\r\n }\r\n\r\n if (this.inputSearch) {\r\n this.initSearchWithInput();\r\n }\r\n\r\n this.initCheckboxEvent();\r\n\r\n if (this.searchDelay == 500) {\r\n this.searchDelay = this.injector.get('NgtDatatableSearchDelay', 500);\r\n }\r\n\r\n if (this.searchTermMinLength == 1) {\r\n this.searchTermMinLength = this.injector.get('NgtDatatableSearchTermMinLength', 1);\r\n }\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.destroySubscriptions();\r\n }\r\n\r\n public setSearchModalTemplate(template: TemplateRef<any>) {\r\n this.searchModalTemplate = template;\r\n }\r\n\r\n public openSearchModal(reference?: string) {\r\n this.searchModal.open();\r\n this.onOpenSearchModal.emit(reference);\r\n }\r\n\r\n public clearSelectedElements() {\r\n this.selectedElements = [];\r\n this.onClearSelectedElements.emit();\r\n }\r\n\r\n public getCurrentState() {\r\n return this.currentState;\r\n }\r\n\r\n public init() {\r\n this.componentReady = true;\r\n }\r\n\r\n public async search(\r\n filters: Object,\r\n searchType: NgtDatatableSearchType = NgtDatatableSearchType.DEFAULT,\r\n applyDelayOnSearch: boolean = true\r\n ) {\r\n if (this.canApplyFilters(filters)) {\r\n this.onSearch.emit(filters);\r\n\r\n if (searchType == NgtDatatableSearchType.DEFAULT) {\r\n this.currentState.filters.defaultFilters = { ...this.currentState.filters.defaultFilters, ...filters };\r\n } else {\r\n this.currentState.filters.silentFilters = { ...this.currentState.filters.silentFilters, ...filters };\r\n }\r\n\r\n this.applyFiltersDescription();\r\n\r\n return this.apply(1, applyDelayOnSearch);\r\n }\r\n }\r\n\r\n public async sort(field: any, direction: any) {\r\n this.currentState.sort = {\r\n field: field,\r\n direction: direction\r\n };\r\n\r\n return this.apply(this.ngtPagination.getCurrentPage());\r\n }\r\n\r\n public async refresh(stayInPage: NgtDatatableParam = NgtDatatableParam.RESET_PAGE, loader: NgtDatatableParam = NgtDatatableParam.ENABLE_LOADER) {\r\n return this.apply(\r\n stayInPage ? this.ngtPagination.getCurrentPage() : 1,\r\n false,\r\n loader\r\n ).then(() => !this.data?.length ? this.apply(1, false) : null);\r\n }\r\n\r\n public getData() {\r\n return this.data;\r\n }\r\n\r\n public getCurrentSort() {\r\n return this.currentState.sort;\r\n }\r\n\r\n public setPerPage(perPage: number) {\r\n this.ngtPagination.onRegistersPerPageChange(perPage);\r\n }\r\n\r\n public applyFiltersDescription() {\r\n if (!this.cleaningFilter) {\r\n this.filtersTranslated = [];\r\n\r\n for (let reference in this.currentState.filters.defaultFilters) {\r\n if (this.filtersDescription[reference] && this.currentState.filters.defaultFilters[reference]) {\r\n this.filtersTranslated.push({\r\n reference: reference,\r\n value: this.currentState.filters.defaultFilters[reference],\r\n translation: this.filtersDescription[reference]\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n public setFilterDescription(reference: string, description: string) {\r\n this.filtersDescription[reference] = description;\r\n }\r\n\r\n public removeFilter(reference?: any) {\r\n this.cleaningFilter = true;\r\n\r\n if (!reference) {\r\n this.currentState.filters.defaultFilters = {};\r\n this.currentState.filters.silentFilters = {};\r\n this.filtersTranslated = [];\r\n } else {\r\n delete this.currentState.filters.defaultFilters[reference];\r\n delete this.currentState.filters.silentFilters[reference];\r\n\r\n this.filtersTranslated = this.filtersTranslated.filter(element => element && element.reference !== reference);\r\n }\r\n\r\n this.onClearFilter.emit(reference);\r\n\r\n if (this.inputSearch && (reference === 'term' || !reference)) {\r\n this.inputSearch.clearInput();\r\n }\r\n\r\n this.apply(this.ngtPagination.getCurrentPage(), false).then(() => this.cleaningFilter = false);\r\n }\r\n\r\n public hasAppliedFilter(filter: Object | NgtCustomFilter | string): boolean {\r\n const reference: string = typeof filter === 'string' ? filter : Object.keys(filter ?? {})[0];\r\n const appliedFilters = this.currentState.filters.qualifiedFilters;\r\n\r\n return !!Object.keys(appliedFilters).find(key => key == reference);\r\n }\r\n\r\n public hasAppliedFilters(searchType: NgtDatatableSearchType = NgtDatatableSearchType.DEFAULT) {\r\n let appliedFilters = {};\r\n\r\n if (searchType == NgtDatatableSearchType.DEFAULT) {\r\n appliedFilters = this.currentState.filters.defaultFilters;\r\n } else if (searchType == NgtDatatableSearchType.SILENT) {\r\n appliedFilters = this.currentState.filters.silentFilters;\r\n } else {\r\n appliedFilters = { ...this.currentState.filters.defaultFilters, ...this.currentState.filters.silentFilters };\r\n }\r\n\r\n return !!Object.values(appliedFilters)?.find(filter => !!filter);\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges) {\r\n if (changes.inputSearch) {\r\n if (changes.inputSearch.currentValue) {\r\n this.initSearchWithInput();\r\n }\r\n }\r\n\r\n if (changes.type) {\r\n this.type = getEnumFromString(changes.type.currentValue, NgtDatatableType);\r\n }\r\n }\r\n\r\n public async apply(page = 1, applyDelayOnSearch: boolean = true, loader: NgtDatatableParam = NgtDatatableParam.ENABLE_LOADER) {\r\n return new Promise<void>(resolve => {\r\n if (!this.componentReady) {\r\n return resolve();\r\n } else if (this.searchTimeout) {\r\n clearTimeout(this.searchTimeout);\r\n }\r\n\r\n this.ngtPagination.displayPagination = false;\r\n this.selectedElements = [];\r\n\r\n if (this.type === NgtDatatableType.REMOTE) {\r\n if (this.remoteResource) {\r\n if (loader) {\r\n this.loading = true;\r\n this.bindVisibilityAttributes();\r\n }\r\n\r\n if (applyDelayOnSearch) {\r\n this.searchTimeout = setTimeout(() => {\r\n this.loadData(page).then(() => resolve());\r\n }, this.searchDelay);\r\n } else {\r\n this.loadData(page).then(() => resolve());\r\n }\r\n } else {\r\n console.error('The property [remoteResource] needs to be present to be able to make remote search');\r\n }\r\n } else if (this.type == NgtDatatableType.FIXED) {\r\n this.bindVisibilityAttributes();\r\n\r\n resolve();\r\n }\r\n });\r\n }\r\n\r\n private loadData(page: number) {\r\n return new Promise<void>((resolve, reject) => {\r\n const pagination: NgtHttpPagination = { ...this.ngtPagination.getPagination(), ...{ page: page } };\r\n\r\n this.currentState.filters.qualifiedFilters = this.getQualifiedFilters();\r\n this.searching = true;\r\n\r\n if (this.inputSearch) {\r\n this.inputSearch.isDisabled = true;\r\n }\r\n\r\n this.subscriptions.push(\r\n this.ngtHttpService.get(\r\n this.remoteResource, this.currentState.filters.qualifiedFilters, pagination, this.currentState.sort\r\n ).subscribe(\r\n (response: NgtHttpResponse) => {\r\n this.proccessRemoteResponse(response.data);\r\n this.ngtPagination.proccessPagination(response.meta);\r\n\r\n this.searching = false;\r\n this.loading = false;\r\n\r\n if (this.inputSearch) {\r\n this.inputSearch.isDisabled = false;\r\n }\r\n\r\n this.onDataChange.emit(this.data);\r\n this.bindVisibilityAttributes();\r\n\r\n resolve();\r\n },\r\n (error) => {\r\n console.error(error);\r\n this.loading = false;\r\n this.inputSearch.isDisabled = false;\r\n this.changeDetector.detectChanges();\r\n\r\n reject();\r\n }\r\n )\r\n );\r\n });\r\n }\r\n\r\n private getQualifiedFilters() {\r\n const qualifiedFilters = {};\r\n const requestedFilters = { ...this.currentState.filters.defaultFilters, ...this.currentState.filters.silentFilters };\r\n\r\n if (requestedFilters) {\r\n for (const reference in requestedFilters) {\r\n const filter = requestedFilters[reference];\r\n\r\n if (this.isValidFilter(filter)) {\r\n if (filter instanceof NgtCustomFilter) {\r\n if (filter.tagLabel) {\r\n this.filtersDescription[reference] = filter.tagLabel;\r\n this.applyFiltersDescription();\r\n }\r\n\r\n qualifiedFilters[reference] = filter.term;\r\n } else {\r\n qualifiedFilters[reference] = filter;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return qualifiedFilters;\r\n }\r\n\r\n private bindVisibilityAttributes() {\r\n this.changeDetector.detectChanges();\r\n\r\n if (this.type == NgtDatatableType.REMOTE && !this.data.length && !this.loading) {\r\n this.emptyStateVisible = true;\r\n } else if (this.type == NgtDatatableType.FIXED) {\r\n this.emptyStateVisible = false;\r\n } else {\r\n this.emptyStateVisible = false;\r\n }\r\n\r\n this.changeDetector.detectChanges();\r\n }\r\n\r\n private proccessRemoteResponse(response: any) {\r\n this.data = response;\r\n }\r\n\r\n private initSearchWithInput() {\r\n this.subscriptions.push(\r\n this.inputSearch.onValueChange().subscribe((value: string) => {\r\n if (this.currentState.filters.defaultFilters['term']) {\r\n if (!value) {\r\n this.removeFilter('term');\r\n } else if (value.length < this.searchTermMinLength) {\r\n delete this.currentState.filters.defaultFilters['term'];\r\n\r\n this.search({ term: '' });\r\n }\r\n }\r\n\r\n if (value.length >= this.searchTermMinLength) {\r\n this.search({ term: value });\r\n }\r\n })\r\n );\r\n\r\n if (this.searchTermOnEnter) {\r\n this.inputSearch.element.nativeElement.addEventListener('keydown', (event: any) => {\r\n event.stopImmediatePropagation();\r\n\r\n if (event.keyCode == 13) {\r\n if (this.inputSearch.value && this.inputSearch.value.length >= this.searchTermMinLength) {\r\n this.apply(1, false);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n private initCheckboxEvent() {\r\n this.subscriptions.push(\r\n this.onToogleCheckbox.subscribe((checkedElement: NgtCheckedElement) => {\r\n this.selectedElements = this.selectedElements.filter(item => item.id !== checkedElement.id);\r\n\r\n if (checkedElement.checked) {\r\n this.selectedElements.push(checkedElement);\r\n }\r\n\r\n this.onSelectedElementsChange.emit(this.selectedElements);\r\n })\r\n );\r\n }\r\n\r\n private canApplyFilters(filters: Object): boolean {\r\n if (!this.searching) {\r\n for (const reference in filters) {\r\n if (this.isValidFilter(filters[reference])) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private isValidFilter(filter: Object | NgtCustomFilter): boolean {\r\n const value: string | NgtCustomFilter = Object.values(filter ?? {})[0];\r\n const hasValue: boolean = !!((value instanceof NgtCustomFilter && value.term) || value);\r\n const isApplied: boolean = this.hasAppliedFilter(filter);\r\n\r\n return isApplied || (!isApplied && hasValue);\r\n }\r\n\r\n private destroySubscriptions() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n this.subscriptions = [];\r\n }\r\n}\r\n\r\nexport enum NgtDatatableType {\r\n REMOTE = 'REMOTE',\r\n FIXED = 'FIXED'\r\n}\r\n\r\nexport enum NgtDatatableSearchType {\r\n DEFAULT = 'DEFAULT',\r\n SILENT = 'SILENT',\r\n}\r\n\r\nexport enum NgtDatatableParam {\r\n STAY_IN_PAGE = 1,\r\n RESET_PAGE = 0,\r\n ENABLE_LOADER = 1,\r\n DISABLE_LOADER = 0\r\n}\r\n\r\nexport class NgtCheckedElement {\r\n public id: string;\r\n public checked: boolean;\r\n public reference: any;\r\n}\r\n\r\nexport class NgtCustomFilter {\r\n public term: string;\r\n public tagValue: string;\r\n public tagLabel?: string;\r\n}\r\n","import { Component, ElementRef, Injector, Optional, Self } from '@angular/core';\r\n\r\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\r\n\r\n@Component({\r\n selector: '[ngt-tbody]',\r\n templateUrl: './ngt-tbody.component.html',\r\n styleUrls: ['./ngt-tbody.component.css'],\r\n})\r\nexport class NgtTbodyComponent {\r\n public ngtStyle: NgtStylizableService;\r\n\r\n public constructor(\r\n private injector: Injector,\r\n private hostElement: ElementRef,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n ) {\r\n this.bindNgtStyle();\r\n }\r\n\r\n private bindNgtStyle() {\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtTbody', {\r\n color: {\r\n bg: 'bg-white',\r\n text: '',\r\n border: ''\r\n }\r\n });\r\n\r\n this.hostElement.nativeElement.classList += this.ngtStyle.compile([\r\n 'h',\r\n 'px',\r\n 'py',\r\n 'pb',\r\n 'pl',\r\n 'pr',\r\n 'pt',\r\n 'mb',\r\n 'ml',\r\n 'mr',\r\n 'mt',\r\n 'border',\r\n 'color.bg',\r\n 'color.text',\r\n 'color.border',\r\n 'text',\r\n 'font',\r\n ]);\r\n }\r\n}\r\n","import { Component, ElementRef, Injector, Input, OnDestroy, Optional, Output, Self, SkipSelf, ViewChild, EventEmitter } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { uuid } from '../../../helpers/uuid';\r\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\r\nimport { NgtCheckboxComponent } from '../../ngt-checkbox/ngt-checkbox.component';\r\nimport { NgtDatatableComponent } from '../ngt-datatable.component';\r\n\r\n@Component({\r\n selector: '[ngt-td-check]',\r\n templateUrl: './ngt-td-check.component.html',\r\n styleUrls: ['./ngt-td-check.component.css'],\r\n})\r\nexport class NgtTdCheckComponent implements OnDestroy {\r\n @ViewChild(NgtCheckboxComponent, { static: true }) public checkbox: NgtCheckboxComponent;\r\n @Input() public reference: any;\r\n @Input() public checked: boolean = false;\r\n @Output() public onCheckboxInit: EventEmitter<any> = new EventEmitter();\r\n\r\n public ngtStyle: NgtStylizableService;\r\n\r\n private id = uuid();\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n public constructor(\r\n private injector: Injector,\r\n private hostElement: ElementRef,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n @Optional() @SkipSelf()\r\n private ngtDataTable: NgtDatatableComponent\r\n ) {\r\n this.bindNgtStyle();\r\n }\r\n\r\n public ngAfterContentInit() {\r\n if (this.ngtDataTable) {\r\n this.subscriptions.push(\r\n this.ngtDataTable.onToogleAllCheckboxes.subscribe((checked: boolean) => {\r\n this.checked = checked;\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.ngtDataTable.onClearSelectedElements.subscribe(() => {\r\n this.checked = false;\r\n })\r\n );\r\n\r\n this.onCheckboxInit.emit({\r\n id: this.id,\r\n checked: this.checked,\r\n reference: this.reference\r\n });\r\n }\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.destroySubscriptions();\r\n }\r\n\r\n public onCheckboxChange(checked: boolean) {\r\n if (this.ngtDataTable) {\r\n this.ngtDataTable.onToogleCheckbox.emit({\r\n id: this.id,\r\n checked: checked,\r\n reference: this.reference\r\n });\r\n }\r\n }\r\n\r\n private bindNgtStyle() {\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtTdCheck', {\r\n py: 'py-4',\r\n px: 'px-6',\r\n text: 'text-center',\r\n border: 'border-b',\r\n color: {\r\n border: ''\r\n }\r\n });\r\n\r\n this.hostElement.nativeElement.classList += this.ngtStyle.compile([\r\n 'h',\r\n 'px',\r\n 'py',\r\n 'pb',\r\n 'pl',\r\n 'pr',\r\n 'pt',\r\n 'mb',\r\n 'ml',\r\n 'mr',\r\n 'mt',\r\n 'border',\r\n 'color.border',\r\n ]);\r\n }\r\n\r\n private destroySubscriptions() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n this.subscriptions = [];\r\n }\r\n}\r\n","import { Component, ElementRef, Injector, Optional, Self } from '@angular/core';\r\n\r\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\r\n\r\n@Component({\r\n selector: '[ngt-td]',\r\n templateUrl: './ngt-td.component.html',\r\n styleUrls: ['./ngt-td.component.css'],\r\n})\r\nexport class NgtTdComponent {\r\n public ngtStyle: NgtStylizableService;\r\n\r\n public constructor(\r\n private injector: Injector,\r\n private hostElement: ElementRef,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n ) {\r\n this.bindNgtStyle();\r\n }\r\n\r\n private bindNgtStyle() {\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtTd', {\r\n py: 'py-4',\r\n px: 'px-6',\r\n border: 'border-b',\r\n break: 'break-words',\r\n color: {\r\n bg: '',\r\n text: '',\r\n border: ''\r\n }\r\n });\r\n\r\n this.hostElement.nativeElement.classList += this.ngtStyle.compile([\r\n 'h',\r\n 'px',\r\n 'py',\r\n 'pb',\r\n 'pl',\r\n 'pr',\r\n 'pt',\r\n 'mb',\r\n 'ml',\r\n 'mr',\r\n 'mt',\r\n 'border',\r\n 'color.bg',\r\n 'color.text',\r\n 'color.border',\r\n 'text',\r\n 'font',\r\n 'break'\r\n ]);\r\n }\r\n}\r\n","import { AfterContentInit, Component, ElementRef, Injector, OnDestroy, Optional, Self, SkipSelf } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\r\nimport { NgtDatatableComponent } from '../ngt-datatable.component';\r\n\r\n@Component({\r\n selector: '[ngt-th-check]',\r\n templateUrl: './ngt-th-check.component.html',\r\n styleUrls: ['./ngt-th-check.component.css'],\r\n})\r\nexport class NgtThCheckComponent implements AfterContentInit, OnDestroy {\r\n public checked = false;\r\n public ngtStyle: NgtStylizableService;\r\n\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n public constructor(\r\n private injector: Injector,\r\n private hostElement: ElementRef,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n @Optional() @SkipSelf()\r\n private ngtDataTable: NgtDatatableComponent\r\n ) {\r\n this.bindNgtStyle();\r\n }\r\n\r\n public ngAfterContentInit() {\r\n if (this.ngtDataTable) {\r\n this.subscriptions.push(\r\n this.ngtDataTable.onDataChange.subscribe(() => {\r\n this.checked = false;\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.ngtDataTable.onClearSelectedElements.subscribe(() => {\r\n this.checked = false;\r\n })\r\n );\r\n }\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.destroySubscriptions();\r\n }\r\n\r\n public onCheckboxChange(checked: boolean) {\r\n if (this.ngtDataTable) {\r\n this.ngtDataTable.onToogleAllCheckboxes.emit(checked);\r\n }\r\n }\r\n\r\n private bindNgtStyle() {\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtThCheck', {\r\n py: 'py-4',\r\n px: 'px-6',\r\n text: 'text-center',\r\n border: 'border-b',\r\n color: {\r\n border: '',\r\n bg: 'bg-gray-500',\r\n text: 'text-white'\r\n }\r\n });\r\n\r\n this.hostElement.nativeElement.classList += this.ngtStyle.compile([\r\n 'h',\r\n 'px',\r\n 'py',\r\n 'pb',\r\n 'pl',\r\n 'pr',\r\n 'pt',\r\n 'mb',\r\n 'ml',\r\n 'mr',\r\n 'mt',\r\n 'border',\r\n 'color.border',\r\n 'color.bg',\r\n 'color.text'\r\n ]);\r\n }\r\n\r\n private destroySubscriptions() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n this.subscriptions = [];\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Optional,\r\n Output,\r\n Self,\r\n SimpleChanges,\r\n SkipSelf,\r\n TemplateRef,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\r\nimport { NgtInputComponent } from '../../ngt-input/ngt-input.component';\r\nimport { NgtDatatableComponent } from '../ngt-datatable.component';\r\n\r\n@Component({\r\n selector: '[ngt-th]',\r\n templateUrl: './ngt-th.component.html',\r\n styleUrls: ['./ngt-th.component.css'],\r\n})\r\nexport class NgtThComponent implements OnChanges, OnDestroy {\r\n @ViewChild('searchInput') public searchInput: NgtInputComponent;\r\n @ViewChild('modal', { static: true }) public modal: TemplateRef<any>;\r\n\r\n @Input() public reference: string;\r\n @Input() public sortReference: string;\r\n @Input() public sortable: boolean;\r\n @Input() public searchable: boolean;\r\n @Input() public hasCustomSearch: boolean = false;\r\n @Input() public searchLabel: string;\r\n @Input() public sortableTooltip: NgtSortableTooltip = {\r\n ascending: 'Ordenar de Z a A',\r\n descending: 'Limpar ordenação',\r\n unordered: 'Ordenar de A a Z'\r\n };\r\n\r\n @Output() public onEnableSearch = new EventEmitter();\r\n\r\n public inputFocused: boolean = false;\r\n public isCurrentSort = false;\r\n public sortDirection = '';\r\n public searchTerm: any;\r\n public customSearchTerm: any;\r\n public ngtStyle: NgtStylizableService;\r\n\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n public constructor(\r\n private injector: Injector,\r\n private hostElement: ElementRef,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n @Optional() @SkipSelf()\r\n public ngtDataTable: NgtDatatableComponent\r\n ) {\r\n if (this.checkDataTable()) {\r\n this.subscriptions.push(\r\n this.ngtDataTable.onDataChange.subscribe(() => {\r\n this.isCurrentSort = this.ngtDataTable.getCurrentSort().field == this.getSortReference();\r\n\r\n if (this.isCurrentSort) {\r\n this.sortDirection = this.ngtDataTable.getCurrentSort().direction;\r\n }\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.ngtDataTable.onClearFilter.subscribe((reference) => {\r\n if (reference == this.reference || !reference) {\r\n this.searchTerm = '';\r\n this.customSearchTerm = null;\r\n }\r\n })\r\n );\r\n }\r\n\r\n this.bindNgtStyle();\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges) {\r\n if (changes.searchLabel && this.checkDataTable) {\r\n this.ngtDataTable.setFilterDescription(this.reference, this.searchLabel);\r\n }\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.destroySubscriptions();\r\n }\r\n\r\n public async sort() {\r\n if (this.sortable && this.checkDataTable() && this.checkReference()) {\r\n let sortDirection = this.getNextSortDirection();\r\n\r\n if (sortDirection) {\r\n await this.ngtDataTable.sort(this.getSortReference(), sortDirection);\r\n } else {\r\n this.ngtDataTable.sort('', '');\r\n }\r\n\r\n this.sortDirection = sortDirection;\r\n }\r\n }\r\n\r\n public enableSearch(event: any) {\r\n event.stopPropagation();\r\n\r\n this.ngtDataTable.setSearchModalTemplate(this.modal);\r\n this.ngtDataTable.openSearchModal(this.reference);\r\n\r\n setTimeout(() => {\r\n if (this.searchInput) {\r\n this.searchInput.setFocus();\r\n }\r\n }, 100);\r\n\r\n this.onEnableSearch.emit();\r\n }\r\n\r\n public search(term: any) {\r\n if (!this.hasCustomSearch && this.searchTerm === undefined\r\n && this.customSearchTerm === undefined && !term) {\r\n return;\r\n }\r\n\r\n if (this.searchable && this.reference) {\r\n let filter = {};\r\n\r\n filter[this.reference] = term;\r\n this.ngtDataTable.search(filter);\r\n }\r\n }\r\n\r\n public customSearch(term: any) {\r\n this.customSearchTerm = term;\r\n }\r\n\r\n public getTooltip() {\r\n if (this.sortable && this.sortableTooltip) {\r\n if (this.sortDirection == 'asc') {\r\n return this.sortableTooltip.ascending;\r\n } else if (this.sortDirection == 'desc') {\r\n return this.sortableTooltip.descending;\r\n }\r\n\r\n return this.sortableTooltip.unordered;\r\n }\r\n\r\n return '';\r\n }\r\n\r\n private getSortReference() {\r\n return this.sortReference ? this.sortReference : this.reference;\r\n }\r\n\r\n private checkDataTable() {\r\n if (!this.ngtDataTable) {\r\n console.error('The [ngt-th] must be inside of a [ngt-datatable]');\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private checkReference() {\r\n if (!this.reference && !this.sortReference) {\r\n console.error('The [ngt-th] must have a [reference] or a [sortReference] property to be able to sort');\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private getNextSortDirection() {\r\n switch (this.sortDirection) {\r\n case 'asc': return 'desc';\r\n case 'desc': return '';\r\n case '': return 'asc';\r\n }\r\n }\r\n\r\n private bindNgtStyle() {\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtTh', {\r\n py: 'py-4',\r\n px: 'px-6',\r\n font: 'font-bold',\r\n text: 'text-sm',\r\n border: 'border-b',\r\n justifyContent: 'justify-center',\r\n color: {\r\n bg: '',\r\n text: '',\r\n border: ''\r\n }\r\n });\r\n\r\n this.hostElement.nativeElement.classList += this.ngtStyle.compile([\r\n 'h',\r\n 'px',\r\n 'py',\r\n 'pb',\r\n 'pl',\r\n 'pr',\r\n 'pt',\r\n 'mb',\r\n 'ml',\r\n 'mr',\r\n 'mt',\r\n 'border',\r\n 'color.bg',\r\n 'color.text',\r\n 'color.border',\r\n 'text',\r\n 'font',\r\n ]);\r\n }\r\n\r\n private destroySubscriptions() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n this.subscriptions = [];\r\n }\r\n}\r\n\r\nexport interface NgtSortableTooltip {\r\n ascending: string;\r\n descending: string;\r\n unordered: string;\r\n}\r\n","import { Component, ElementRef, Injector, Optional, Self } from '@angular/core';\r\n\r\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\r\n\r\n@Component({\r\n selector: '[ngt-thead]',\r\n templateUrl: './ngt-thead.component.html',\r\n styleUrls: ['./ngt-thead.component.css'],\r\n})\r\nexport class NgtTheadComponent {\r\n public ngtStyle: NgtStylizableService;\r\n\r\n public constructor(\r\n private injector: Injector,\r\n private hostElement: ElementRef,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n ) {\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtThead', {\r\n color: {\r\n bg: 'bg-gray-200',\r\n text: '',\r\n border: ''\r\n }\r\n });\r\n\r\n this.hostElement.nativeElement.classList += this.ngtStyle.compile([\r\n 'h',\r\n 'px',\r\n 'py',\r\n 'pb',\r\n 'pl',\r\n 'pr',\r\n 'pt',\r\n 'mb',\r\n 'ml',\r\n 'mr',\r\n 'mt',\r\n 'border',\r\n 'color.bg',\r\n 'color.text',\r\n 'color.border',\r\n 'text',\r\n 'font',\r\n 'rounded'\r\n ]);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n HostBinding,\r\n Injector,\r\n Input,\r\n Optional,\r\n Self,\r\n SkipSelf,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\r\nimport { NgtTbodyComponent } from '../ngt-tbody/ngt-tbody.component';\r\nimport { NgtTheadComponent } from '../ngt-thead/ngt-thead.component';\r\n\r\n@Component({\r\n selector: '[ngt-tr]',\r\n templateUrl: './ngt-tr.component.html',\r\n styleUrls: ['./ngt-tr.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class NgtTrComponent {\r\n @HostBinding('class.evenStripped') @Input() public evenStripped: boolean;\r\n @HostBinding('class.oddStripped') @Input() public oddStripped: boolean;\r\n\r\n public ngtStyle: NgtStylizableService;\r\n\r\n public constructor(\r\n private injector: Injector,\r\n private hostElement: ElementRef,\r\n @SkipSelf() @Optional() private ngtThead: NgtTheadComponent,\r\n @SkipSelf() @Optional() private ngtTbody: NgtTbodyComponent,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n ) {\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtTr', {\r\n border: 'border-r border-t md:border-r-0 md:border-t-0',\r\n color: {\r\n bg: '',\r\n text: '',\r\n border: ''\r\n }\r\n }, [this.getInheritanceStyles()]);\r\n\r\n this.hostElement.nativeElement.classList += this.ngtStyle.compile([\r\n 'h',\r\n 'px',\r\n 'py',\r\n 'pb',\r\n 'pl',\r\n 'pr',\r\n 'pt',\r\n 'mb',\r\n 'ml',\r\n 'mr',\r\n 'mt',\r\n 'border',\r\n 'color.bg',\r\n 'color.text',\r\n 'color.border',\r\n 'text',\r\n 'font',\r\n ]);\r\n }\r\n\r\n private getInheritanceStyles() {\r\n if (this.ngtThead) {\r\n return 'NgtTheadStyle';\r\n } else if (this.ngtTbody) {\r\n return 'NgtTbodyStyle';\r\n }\r\n\r\n return '';\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { NgtStylizableModule } from '../../directives/ngt-stylizable/ngt-stylizable.module';\r\nimport { NgtCheckboxModule } from '../ngt-checkbox/ngt-checkbox.module';\r\nimport { NgtInputModule } from '../ngt-input/ngt-input.module';\r\nimport { NgtModalModule } from '../ngt-modal/ngt-modal.module';\r\nimport { NgtPaginationModule } from '../ngt-pagination/ngt-pagination.module';\r\nimport { NgtShiningModule } from '../ngt-shining/ngt-shining.module';\r\nimport { NgtTagModule } from '../ngt-tag/ngt-tag.module';\r\nimport { NgtDatatableComponent } from './ngt-datatable.component';\r\nimport { NgtTbodyComponent } from './ngt-tbody/ngt-tbody.component';\r\nimport { NgtTdCheckComponent } from './ngt-td-check/ngt-td-check.component';\r\nimport { NgtTdComponent } from './ngt-td/ngt-td.component';\r\nimport { NgtThCheckComponent } from './ngt-th-check/ngt-th-check.component';\r\nimport { NgtThComponent } from './ngt-th/ngt-th.component';\r\nimport { NgtTheadComponent } from './ngt-thead/ngt-thead.component';\r\nimport { NgtTrComponent } from './ngt-tr/ngt-tr.component';\r\nimport { NgtActionModule } from '../ngt-action/ngt-action.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n NgtDatatableComponent,\r\n NgtTbodyComponent,\r\n NgtTdComponent,\r\n NgtTdCheckComponent,\r\n NgtThComponent,\r\n NgtThCheckComponent,\r\n NgtTheadComponent,\r\n NgtTrComponent\r\n ],\r\n exports: [\r\n NgtDatatableComponent,\r\n NgtTbodyComponent,\r\n NgtTdComponent,\r\n NgtTdCheckComponent,\r\n NgtThComponent,\r\n NgtThCheckComponent,\r\n NgtTheadComponent,\r\n NgtTrComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NgtShiningModule,\r\n NgtPaginationModule,\r\n NgtCheckboxModule,\r\n NgtInputModule,\r\n NgtModalModule,\r\n NgtTagModule,\r\n NgtActionModule,\r\n NgtStylizableModule\r\n ]\r\n})\r\nexport class NgtDatatableModule { }\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, Injector, Input, Optional, Self } from '@angular/core';\r\n\r\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\n\r\n@Component({\r\n selector: 'ngt-floating-button',\r\n templateUrl: './ngt-floating-button.component.html',\r\n styleUrls: ['./ngt-floating-button.component.css'],\r\n animations: [\r\n trigger('fadeY', [\r\n state('void', style({ opacity: 0, transform: 'translateY(10px)' })),\r\n transition(':enter, :leave', [\r\n animate(300)\r\n ])\r\n ]),\r\n\r\n trigger('openClose', [\r\n state('open', style({\r\n transform: 'rotate(180deg)'\r\n })),\r\n state('closed', style({\r\n transform: 'rotate(-180deg)'\r\n })),\r\n transition('open => closed', [\r\n animate('0.5s ease-in')\r\n ]),\r\n transition('closed => open', [\r\n animate('0.5s ease-in')\r\n ]),\r\n ]),\r\n ]\r\n})\r\nexport class NgtFloatingButtonComponent {\r\n @Input() public menus: Array<NgtFloatingButtonMenu>;\r\n @Input() public icon: string;\r\n @Input() public label: string;\r\n @Input() public withAnimation: boolean = false;\r\n\r\n public isOpen: boolean = false;\r\n public ngtStyle: NgtStylizableService;\r\n\r\n public constructor(\r\n private injector: Injector,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n ) {\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtFloatingButton', {\r\n color: {\r\n bg: 'bg-blue-500',\r\n text: 'text-white',\r\n },\r\n px: 'px-4',\r\n py: 'py-4',\r\n h: 'h-12',\r\n w: 'w-12'\r\n });\r\n }\r\n\r\n public toggleMenu() {\r\n this.isOpen = !(this.isOpen);\r\n }\r\n\r\n public openExternalLink(url: string) {\r\n window.open(url, \"_blank\");\r\n this.toggleMenu();\r\n }\r\n\r\n public onClick(event: Event, menu: NgtFloatingButtonMenu) {\r\n event.stopPropagation();\r\n this.toggleMenu();\r\n\r\n if (typeof menu.action === 'function') {\r\n return menu.action();\r\n }\r\n\r\n throw new Error('Action must be a function!');\r\n }\r\n\r\n public isTypeAction(menu: NgtFloatingButtonMenu) {\r\n return menu.type == NgtFloatingButtonType.ACTION;\r\n }\r\n\r\n public isTypeNavigation(menu: NgtFloatingButtonMenu) {\r\n return menu.type == NgtFloatingButtonType.NAVIGATION;\r\n }\r\n}\r\n\r\nexport interface NgtFloatingButtonMenu {\r\n name?: string;\r\n type: NgtFloatingButtonType;\r\n icon?: string;\r\n tooltip?: string;\r\n externalLink?: boolean;\r\n url?: string;\r\n action?: Function;\r\n}\r\n\r\nexport enum NgtFloatingButtonType {\r\n NAVIGATION = 'NAVIGATION',\r\n ACTION = 'ACTION'\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\r\nimport { NgtFloatingButtonComponent } from './ngt-floating-button.component';\r\n\r\n@NgModule({\r\n declarations: [NgtFloatingButtonComponent],\r\n exports: [NgtFloatingButtonComponent],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n NgtSvgModule\r\n ]\r\n})\r\nexport class NgtFloatingButtonModule { }\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n Host,\r\n Input,\r\n OnDestroy,\r\n Optional,\r\n Renderer2,\r\n SkipSelf,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { ControlContainer, NgForm } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\r\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\r\n\r\n@Component({\r\n selector: 'ngt-slider',\r\n templateUrl: './ngt-slider.component.html',\r\n styleUrls: ['./ngt-slider.component.css'],\r\n providers: [\r\n NgtMakeProvider(NgtSliderComponent),\r\n ],\r\n viewProviders: [\r\n { provide: ControlContainer, useExisting: NgForm }\r\n ]\r\n})\r\nexport class NgtSliderComponent extends NgtBaseNgModel implements AfterViewInit, OnDestroy {\r\n @ViewChild('element', { static: true }) public element: ElementRef;\r\n @ViewChild('display', { static: true }) public display: ElementRef;\r\n\r\n @Input() public label: string;\r\n @Input() public shining: boolean;\r\n @Input() public name: string;\r\n @Input() public min: string = '0';\r\n @Input() public max: string = '100';\r\n @Input() public step: string = '1';\r\n @Input() public color: NgtSliderColorSchemeEnum = NgtSliderColorSchemeEnum.PRIMARY;\r\n\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n public constructor(\r\n @Optional() @Host()\r\n public formContainer: ControlContainer,\r\n private renderer: Renderer2,\r\n @Optional() @SkipSelf()\r\n private ngtFormComponent: NgtFormComponent,\r\n ) {\r\n super();\r\n\r\n if (this.ngtFormComponent) {\r\n this.shining = this.ngtFormComponent.isShining();\r\n\r\n this.subscriptions.push(\r\n this.ngtFormComponent.onShiningChange.subscribe((shining: boolean) => {\r\n this.shining = shining;\r\n })\r\n );\r\n }\r\n }\r\n\r\n public ngAfterViewInit() {\r\n setTimeout(() => {\r\n this.display.nativeElement.innerHTML = this.value;\r\n }, 500);\r\n\r\n this.renderer.listen(this.element.nativeElement, 'change', () => {\r\n this.onNativeChange(this.element.nativeElement.value);\r\n });\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.destroySubscriptions();\r\n }\r\n\r\n public change(value: boolean) {\r\n this.element.nativeElement.value = value;\r\n }\r\n\r\n public onNativeChange(value: boolean) {\r\n this.value = value;\r\n }\r\n\r\n private destroySubscriptions() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n this.subscriptions = [];\r\n }\r\n}\r\n\r\nexport enum NgtSliderColorSchemeEnum {\r\n PRIMARY = 'primary',\r\n SUCCESS = 'success',\r\n WARNING = 'warning',\r\n DANGER = 'danger'\r\n};\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { NgtShiningModule } from '../ngt-shining/ngt-shining.module';\r\nimport { NgtSliderComponent } from './ngt-slider.component';\r\n\r\n@NgModule({\r\n declarations: [NgtSliderComponent],\r\n exports: [NgtSliderComponent],\r\n imports: [\r\n CommonModule,\r\n NgtShiningModule,\r\n ]\r\n})\r\nexport class NgtSliderModule { }\r\n","import { Component, EventEmitter, Output } from '@angular/core';\r\n\r\nimport { NgtRadioButtonComponent } from '../ngt-radio-button.component';\r\n\r\n@Component({\r\n selector: '[ngt-radio-button-container]',\r\n templateUrl: './ngt-radio-button-container.component.html',\r\n})\r\nexport class NgtRadioButtonContainerComponent {\r\n @Output() public onActiveRadioButtonChange = new EventEmitter();\r\n\r\n public setActiveRadioButton(activeRadioButton: NgtRadioButtonComponent) {\r\n this.onActiveRadioButtonChange.emit(activeRadioButton);\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n Host,\r\n Injector,\r\n Input,\r\n OnDestroy,\r\n Optional,\r\n Renderer2,\r\n Self,\r\n SkipSelf,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { ControlContainer, NgForm } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\r\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\r\nimport { NgtRadioButtonContainerComponent } from './ngt-radio-button-container/ngt-radio-button-container.component';\r\n\r\n@Component({\r\n selector: 'ngt-radio-button',\r\n templateUrl: './ngt-radio-button.component.html',\r\n styleUrls: ['./ngt-radio-button.component.css'],\r\n providers: [\r\n NgtMakeProvider(NgtRadioButtonComponent),\r\n ],\r\n viewProviders: [\r\n { provide: ControlContainer, useExisting: NgForm }\r\n ]\r\n})\r\nexport class NgtRadioButtonComponent extends NgtBaseNgModel implements AfterViewInit, OnDestroy {\r\n @ViewChild('element', { static: true }) public element: ElementRef;\r\n\r\n @Input() public label: string;\r\n @Input() public shining: boolean = false;\r\n @Input() public name: string;\r\n\r\n public ngtStyle: NgtStylizableService;\r\n\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n public constructor(\r\n private injector: Injector,\r\n @Optional() @Host()\r\n public formContainer: ControlContainer,\r\n private renderer: Renderer2,\r\n @Self() @Optional()\r\n private ngtStylizableDirective: NgtStylizableDirective,\r\n @Optional() @SkipSelf()\r\n private ngtFormComponent: NgtFormComponent,\r\n @Optional() @SkipSelf()\r\n private ngtRadioButtonContainer: NgtRadioButtonContainerComponent\r\n ) {\r\n super();\r\n\r\n if (this.ngtFormComponent) {\r\n this.shining = this.ngtFormComponent.isShining();\r\n\r\n this.subscriptions.push(\r\n this.ngtFormComponent.onShiningChange.subscribe((shining: boolean) => {\r\n this.shining = shining;\r\n })\r\n );\r\n }\r\n\r\n if (this.ngtRadioButtonContainer) {\r\n this.subscriptions.push(\r\n this.ngtRadioButtonContainer.onActiveRadioButtonChange.subscribe((activeRadioButton: NgtRadioButtonComponent) => {\r\n this.value = (activeRadioButton.name === this.name);\r\n })\r\n );\r\n }\r\n\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtCheckbox', {\r\n color: {\r\n text: 'text-gray-500',\r\n border: 'border-gray-500',\r\n }\r\n });\r\n }\r\n\r\n public ngAfterViewInit() {\r\n this.renderer.listen(this.element.nativeElement, 'change', (value) => {\r\n this.onNativeChange(this.element.nativeElement.checked);\r\n });\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.destroySubscriptions();\r\n }\r\n\r\n public change(value: boolean) {\r\n if (value) {\r\n this.element.nativeElement.checked = value;\r\n\r\n if (this.ngtRadioButtonContainer) {\r\n this.ngtRadioButtonContainer.setActiveRadioButton(this);\r\n }\r\n }\r\n }\r\n\r\n public onNativeChange(value: boolean) {\r\n this.value = value ? value : !value;\r\n\r\n if (this.ngtRadioButtonContainer) {\r\n this.ngtRadioButtonContainer.setActiveRadioButton(this);\r\n }\r\n }\r\n\r\n private destroySubscriptions() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n this.subscriptions = [];\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { NgtShiningModule } from '../ngt-shining/ngt-shining.module';\r\nimport { NgtRadioButtonContainerComponent } from './ngt-radio-button-container/ngt-radio-button-container.component';\r\nimport { NgtRadioButtonComponent } from './ngt-radio-button.component';\r\n\r\n@NgModule({\r\n declarations: [NgtRadioButtonComponent, NgtRadioButtonContainerComponent],\r\n exports: [NgtRadioButtonComponent, NgtRadioButtonContainerComponent],\r\n imports: [\r\n CommonModule,\r\n NgtShiningModule,\r\n ]\r\n})\r\nexport class NgtRadioButtonModule { }\r\n","import {\r\n Component,\r\n ElementRef,\r\n Host,\r\n Injector,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Renderer2,\r\n Self,\r\n SkipSelf,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { ControlContainer, NgForm, Validators } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\r\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtTranslateService } from '../../services/http/ngt-translate.service';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\r\n\r\n@Component({\r\n selector: 'ngt-textarea',\r\n templateUrl: './ngt-textarea.component.html',\r\n styleUrls: ['./ngt-textarea.component.css'],\r\n providers: [\r\n NgtMakeProvider(NgtTextareaComponent),\r\n ],\r\n viewProviders: [\r\n { provide: ControlContainer, useExisting: NgForm }\r\n ]\r\n})\r\nexport class NgtTextareaComponent extends NgtBaseNgModel implements OnInit, OnDestroy {\r\n @ViewChild(\"element\", { static: true }) public element: ElementRef;\r\n\r\n // Visual\r\n @Input() public label: string = \"\";\r\n @Input() public placeholder: string = \"\";\r\n @Input() public rows: string = \"3\";\r\n @Input() public helpTitle: string;\r\n @Input() public showCharactersLength: boolean = false;\r\n @Input() public helpText: boolean = false;\r\n @Input() public helpTextColor: string = 'text-green-500';\r\n @Input() public shining: boolean = false;\r\n\r\n // Behavior\r\n @Input() public name: string;\r\n @Input() public isDisabled: boolean = false;\r\n @Input() public isReadonly: boolean = false;\r\n @Input() public jit: boolean = false;\r\n @Input() public focus: boolean = false;\r\n\r\n // Validation\r\n @Input() public isRequired: boolean = false;\r\n @Input() public maxLength: number = 300;\r\n\r\n public componentReady = false;\r\n public ngtStyle: NgtStylizableService;\r\n\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n public constructor(\r\n private injector: Injector,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n @Optional() @Host()\r\n public formContainer: ControlContainer,\r\n @Optional() @SkipSelf()\r\n private ngtFormComponent: NgtFormComponent,\r\n private renderer: Renderer2,\r\n @Optional()\r\n public ngtTranslateService: NgtTranslateService\r\n ) {\r\n super();\r\n\r\n if (this.ngtFormComponent) {\r\n this.shining = this.ngtFormComponent.isShining();\r\n\r\n this.subscriptions.push(\r\n this.ngtFormComponent.onShiningChange.subscribe((shining: boolean) => {\r\n this.shining = shining;\r\n })\r\n );\r\n }\r\n\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtTextarea', {\r\n text: 'text-sm',\r\n fontCase: '',\r\n color: {\r\n border: 'border-gray-400 focus:border-gray-700',\r\n bg: 'bg-bg-white focus:bg-white',\r\n text: 'text-gray-800'\r\n }\r\n });\r\n }\r\n\r\n public ngOnChanges(changes) {\r\n if (changes.isRequired) {\r\n this.updateValidations();\r\n }\r\n }\r\n\r\n public ngOnInit() {\r\n if (!this.formContainer) {\r\n console.warn(\"The element must be inside a <form #form='ngForm'> tag!\", this.element.nativeElement);\r\n }\r\n\r\n if (!this.name) {\r\n console.warn(\"The element must contain a name attribute!\", this.element.nativeElement);\r\n } else {\r\n setTimeout(() => {\r\n this.componentReady = true;\r\n\r\n setTimeout(() => {\r\n this.initComponent();\r\n });\r\n }, 500);\r\n }\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.destroySubscriptions();\r\n }\r\n\r\n public setFocus() {\r\n setTimeout(() => {\r\n this.element.nativeElement.focus();\r\n }, 200);\r\n }\r\n\r\n public clear() {\r\n this.element.nativeElement.value = '';\r\n this.value = '';\r\n }\r\n\r\n public change(value) {\r\n let nativeValue = this.getNativeValue();\r\n let ngModelValue = value ? value : '';\r\n\r\n if (this.componentReady) {\r\n this.onValueChangeEvent.emit(this.value);\r\n }\r\n\r\n if (this.value != nativeValue) {\r\n this.element.nativeElement.value = ngModelValue;\r\n }\r\n }\r\n\r\n public getRemainingCharacters() {\r\n if (this.element.nativeElement && this.element.nativeElement.value && this.element.nativeElement.value.length) {\r\n if ((this.maxLength - this.element.nativeElement.value.length) > 0) {\r\n return this.maxLength - this.element.nativeElement.value.length;\r\n } else {\r\n return 0;\r\n }\r\n }\r\n\r\n return this.maxLength;\r\n }\r\n\r\n private initComponent() {\r\n if (this.formContainer && this.formContainer.control && (this.formControl = this.formContainer.control.get(this.name))) {\r\n if (this.focus) {\r\n this.setFocus();\r\n }\r\n\r\n let watch = \"change\";\r\n\r\n if (this.jit) {\r\n watch += \" keyup keydown keypress\";\r\n }\r\n\r\n watch.split(' ').forEach((evt) => {\r\n this.renderer.listen(this.element.nativeElement, evt, () => {\r\n let nativeValue = this.getNativeValue();\r\n\r\n if (this.value != nativeValue) {\r\n this.value = nativeValue;\r\n }\r\n });\r\n });\r\n\r\n this.renderer.listen(this.element.nativeElement, \"keydown\", (event) => {\r\n if (this.element.nativeElement && this.element.nativeElement.value && this.element.nativeElement.value.length >= this.maxLength) {\r\n // Backspace and delete\r\n if (event.keyCode != 8 && event.keyCode != 46) {\r\n event.preventDefault();\r\n\r\n return false;\r\n }\r\n }\r\n });\r\n\r\n this.updateValidations();\r\n\r\n if (this.value) {\r\n this.formControl.markAsDirty();\r\n } else {\r\n this.formControl.markAsPristine();\r\n }\r\n } else {\r\n console.warn(\"The element must contain a ngModel property\", this.element.nativeElement);\r\n }\r\n }\r\n\r\n private updateValidations() {\r\n if (!this.formControl) {\r\n return;\r\n }\r\n\r\n let syncValidators = [];\r\n\r\n if (this.isRequired) {\r\n syncValidators.push(Validators.required);\r\n }\r\n\r\n if (this.maxLength) {\r\n syncValidators.push(Validators.maxLength(this.maxLength));\r\n }\r\n\r\n setTimeout(() => {\r\n this.formControl.setValidators(syncValidators);\r\n this.formControl.updateValueAndValidity();\r\n });\r\n }\r\n\r\n private getNativeValue() {\r\n return this.element.nativeElement.value;\r\n }\r\n\r\n private destroySubscriptions() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n this.subscriptions = [];\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { NgtFormModule } from '../ngt-form/ngt-form.module';\r\nimport { NgtShiningModule } from '../ngt-shining/ngt-shining.module';\r\nimport { NgtValidationModule } from '../ngt-validation/ngt-validation.module';\r\nimport { NgtTextareaComponent } from './ngt-textarea.component';\r\n\r\n@NgModule({\r\n declarations: [NgtTextareaComponent],\r\n exports: [NgtTextareaComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgtValidationModule,\r\n NgtShiningModule,\r\n NgtFormModule\r\n ]\r\n})\r\nexport class NgtTextareaModule { }\r\n","import {\r\n Component,\r\n Host,\r\n Injector,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Self,\r\n SimpleChanges,\r\n SkipSelf,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { ControlContainer, NgForm, Validators } from '@angular/forms';\r\nimport { FlatpickrOptions, Ng2FlatpickrComponent } from 'ng2-flatpickr';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\r\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { getEnumFromString } from '../../helpers/enum/enum';\r\nimport { uuid } from '../../helpers/uuid';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\r\n\r\nconst Brazil = require(\"flatpickr/dist/l10n/pt.js\").default.pt;\r\nconst US = require(\"flatpickr/dist/l10n/default.js\").default;\r\nlet moment = require('moment');\r\n\r\n@Component({\r\n selector: 'ngt-date',\r\n templateUrl: './ngt-date.component.html',\r\n styleUrls: ['./ngt-date.component.css'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n NgtMakeProvider(NgtDateComponent),\r\n ],\r\n viewProviders: [\r\n { provide: ControlContainer, useExisting: NgForm }\r\n ]\r\n})\r\nexport class NgtDateComponent extends NgtBaseNgModel implements OnInit, OnDestroy {\r\n @ViewChild(\"ng2FlatpickrComponent\", { static: true }) public ng2FlatpickrComponent: Ng2FlatpickrComponent;\r\n\r\n // Visual\r\n @Input() public label: string = \"\";\r\n @Input() public placeholder: string = \"dd/mm/yyyy\";\r\n @Input() public helpTitle: string;\r\n @Input() public helpText: string;\r\n @Input() public helpTextColor: string = 'text-green-500';\r\n @Input() public shining = false;\r\n @Input() public dateFormat: string = 'd/m/Y H:i';\r\n @Input() public dateFormatNgModel = 'YYYY-MM-DD HH:mm:00';\r\n\r\n // Behavior\r\n @Input() public name: string;\r\n @Input() public isDisabled: boolean = false;\r\n @Input() public isReadonly: boolean = false;\r\n @Input() public mode: NgtDateMode;\r\n @Input() public time_24hr: boolean = true;\r\n @Input() public enableTime: boolean = true;\r\n @Input() public noCalendar: boolean = false;\r\n @Input() public minuteIncrement: number = 1;\r\n @Input() public allowInput: boolean = false;\r\n @Input() public locale: NgtDateLocale;\r\n @Input() public allowClear: boolean = true;\r\n @Input() public minDate: string;\r\n @Input() public maxDate: string;\r\n @Input() public defaultDate: string;\r\n\r\n // Validation\r\n @Input() public isRequired: boolean = false;\r\n\r\n public ngtStyle: NgtStylizableService;\r\n public dateConfig: FlatpickrOptions;\r\n public nativeValue: any;\r\n public componentReady = false;\r\n public nativeName = uuid();\r\n public inputProperties: {\r\n htmlType?: string;\r\n length?: number;\r\n } = {};\r\n\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n public constructor(\r\n private injector: Injector,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n @Optional() @Host()\r\n public formContainer: ControlContainer,\r\n @Optional() @SkipSelf()\r\n private ngtFormComponent: NgtFormComponent\r\n ) {\r\n super();\r\n\r\n if (this.ngtFormComponent) {\r\n this.shining = this.ngtFormComponent.isShining();\r\n\r\n this.subscriptions.push(\r\n this.ngtFormComponent.onShiningChange.subscribe((shining: boolean) => {\r\n this.shining = shining;\r\n })\r\n );\r\n }\r\n\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtDate', {\r\n h: 'h-12',\r\n text: 'text-sm',\r\n fontCase: '',\r\n color: {\r\n text: 'text-gray-800'\r\n }\r\n });\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges) {\r\n if (changes.isRequired) {\r\n this.updateValidations();\r\n }\r\n\r\n if (changes.mode) {\r\n this.mode = getEnumFromString(changes.mode.currentValue, NgtDateMode);\r\n }\r\n\r\n if (changes.locale) {\r\n this.locale = getEnumFromString(changes.locale.currentValue, NgtDateLocale);\r\n }\r\n }\r\n\r\n public ngOnInit() {\r\n this.dateConfig = {\r\n dateFormat: this.dateFormat,\r\n mode: this.getDateMode(),\r\n minuteIncrement: this.minuteIncrement,\r\n minDate: this.minDate,\r\n maxDate: this.maxDate,\r\n time_24hr: this.time_24hr,\r\n enableTime: this.enableTime,\r\n noCalendar: this.noCalendar,\r\n allowInput: this.allowInput,\r\n locale: this.getLocale(),\r\n onChange: (selectedDates, dateStr, instance) => this.onNativeChange(selectedDates, instance, true),\r\n onClose: (selectedDates, dateStr, instance) => this.onNativeChange(selectedDates, instance, false),\r\n };\r\n\r\n if (!this.formContainer) {\r\n console.error(\"The element must be inside a <form #form='ngForm'> tag!\");\r\n }\r\n\r\n if (!this.name) {\r\n console.error(\"The element must contain a name attribute!\");\r\n } else {\r\n setTimeout(() => {\r\n this.componentReady = true;\r\n setTimeout(() => {\r\n this.initComponent();\r\n });\r\n }, 500);\r\n }\r\n }\r\n\r\n public ngOnDestroy() {\r\n const flatpickrElement = document.getElementsByClassName('flatpickr-calendar');\r\n\r\n if (flatpickrElement?.length) {\r\n flatpickrElement[flatpickrElement.length - 1].remove();\r\n }\r\n\r\n this.destroySubscriptions();\r\n }\r\n\r\n public clearInput(clearInstance = false) {\r\n this.value = '';\r\n this.nativeValue = '';\r\n\r\n if (this.ng2FlatpickrComponent && clearInstance) {\r\n this.ng2FlatpickrComponent.setDateFromInput('');\r\n }\r\n }\r\n\r\n public change(value: any) {\r\n if (this.componentReady) {\r\n this.onValueChangeEvent.emit(this.value);\r\n }\r\n\r\n if (!value || (value instanceof Object && !Object.keys(value).length)) {\r\n return this.clearInput();\r\n }\r\n\r\n if (value && value != this.nativeValue) {\r\n let firstValue = moment(value);\r\n\r\n if ((value instanceof Object && Object.keys(value).length) || (value instanceof Array && value.length)) {\r\n firstValue = moment(value[0]);\r\n\r\n if (value.length == 2) {\r\n firstValue = firstValue;\r\n\r\n let secondValue = moment(value[1]);\r\n\r\n if (firstValue.isValid() && secondValue.isValid()) {\r\n return (<any>this.ng2FlatpickrComponent.flatpickr).setDate([\r\n firstValue.format(this.getMomentDateFormat()),\r\n secondValue.format(this.getMomentDateFormat())\r\n ], true, this.dateFormat);\r\n }\r\n }\r\n }\r\n\r\n if (firstValue.isValid()) {\r\n return (<any>this.ng2FlatpickrComponent.flatpickr).setDate(firstValue.format(this.getMomentDateFormat()), true, this.dateFormat);\r\n }\r\n\r\n this.ng2FlatpickrComponent.setDateFromInput('');\r\n this.clearInput();\r\n }\r\n }\r\n\r\n public onNativeChange(value: any, instance: any, triggerClose: boolean) {\r\n if (!value || (value instanceof Object && !Object.keys(value).length)) {\r\n if (triggerClose) {\r\n instance.close();\r\n }\r\n\r\n return this.clearInput();\r\n }\r\n\r\n if (this.mode == NgtDateMode.RANGE) {\r\n this.nativeValue = [];\r\n\r\n value.forEach(element => {\r\n element = moment(element);\r\n\r\n if (element && element.isValid()) {\r\n this.nativeValue.push(element.format(this.dateFormatNgModel));\r\n }\r\n });\r\n } else if (value[0]) {\r\n value = moment(value[0]);\r\n\r\n if (value && value.isValid()) {\r\n this.nativeValue = value.format(this.dateFormatNgModel);\r\n }\r\n }\r\n\r\n if (this.value != this.nativeValue) {\r\n this.value = this.nativeValue;\r\n }\r\n }\r\n\r\n public getNativeValue() {\r\n let nativeValue: any = this.nativeValue;\r\n\r\n if (nativeValue && nativeValue.format) {\r\n nativeValue = nativeValue.format(this.dateFormatNgModel);\r\n }\r\n\r\n return nativeValue;\r\n }\r\n\r\n public getFormattedNativeValue() {\r\n let nativeValue: any = this.nativeValue;\r\n\r\n if (nativeValue && Array.isArray(nativeValue)) {\r\n let formattedNativeValue: string = '';\r\n\r\n nativeValue.forEach(element => {\r\n element = moment(element);\r\n\r\n if (element.format && !this.enableTime) {\r\n formattedNativeValue += element.format('DD/MM/YYYY') + ' ';\r\n } else if (element.format && this.enableTime) {\r\n formattedNativeValue += element.format('DD/MM/YYYY HH:mm:00') + ' ';\r\n }\r\n });\r\n\r\n return formattedNativeValue;\r\n } else if (nativeValue) {\r\n nativeValue = moment(nativeValue);\r\n\r\n if (nativeValue.format && !this.enableTime) {\r\n return nativeValue.format('DD/MM/YYYY') + ' ';\r\n } else if (nativeValue.format && this.enableTime) {\r\n return nativeValue.format('DD/MM/YYYY HH:mm:00') + ' ';\r\n }\r\n }\r\n\r\n return this.placeholder;\r\n }\r\n\r\n public hasErrors(): boolean {\r\n return this.formControl?.errors && (this.formControl?.dirty || (this.formContainer && this.formContainer['submitted']));\r\n }\r\n\r\n private initComponent() {\r\n if (this.formContainer && this.formContainer.control && (this.formControl = this.formContainer.control.get(this.name))) {\r\n if (this.defaultDate) {\r\n this.value = moment(this.defaultDate).format(this.dateFormatNgModel);\r\n }\r\n\r\n this.updateValidations();\r\n\r\n if (this.value) {\r\n this.formControl.markAsDirty();\r\n } else {\r\n this.formControl.markAsPristine();\r\n }\r\n }\r\n }\r\n\r\n private updateValidations() {\r\n if (!this.formControl) {\r\n return;\r\n }\r\n\r\n let syncValidators = [];\r\n\r\n if (this.isRequired) {\r\n syncValidators.push(Validators.required);\r\n }\r\n\r\n setTimeout(() => {\r\n this.formControl.setValidators(syncValidators);\r\n this.formControl.updateValueAndValidity();\r\n });\r\n }\r\n\r\n private getLocale() {\r\n if (this.locale) {\r\n if (this.locale == NgtDateLocale.BRAZIL) {\r\n return Brazil;\r\n }\r\n }\r\n\r\n return US;\r\n }\r\n\r\n private getDateMode() {\r\n if (this.mode) {\r\n if (this.mode == NgtDateMode.RANGE) {\r\n return 'range';\r\n }\r\n }\r\n\r\n return 'single';\r\n }\r\n\r\n private getMomentDateFormat() {\r\n let dateFormat = '';\r\n\r\n for (let i = 0; i < this.dateFormat.length; i++) {\r\n switch (this.dateFormat.charAt(i)) {\r\n case 'd':\r\n dateFormat += 'DD';\r\n break;\r\n case 'm':\r\n dateFormat += 'MM';\r\n break;\r\n case 'M':\r\n dateFormat += 'MMM';\r\n break;\r\n case 'Y':\r\n dateFormat += 'YYYY';\r\n break;\r\n case '/':\r\n dateFormat += '/';\r\n break;\r\n case '-':\r\n dateFormat += '-';\r\n break;\r\n case ':':\r\n dateFormat += ':';\r\n break;\r\n case 'H':\r\n dateFormat += 'HH';\r\n break;\r\n case 'i':\r\n dateFormat += 'mm';\r\n break;\r\n case 's':\r\n dateFormat += 'ss';\r\n break;\r\n default:\r\n if (this.dateFormat.charAt(i) != '.') {\r\n dateFormat += this.dateFormat.charAt(i);\r\n }\r\n }\r\n }\r\n\r\n return dateFormat ? dateFormat : 'DD/MM/YYYY HH:mm:00';\r\n }\r\n\r\n private destroySubscriptions() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n this.subscriptions = [];\r\n }\r\n}\r\n\r\nexport enum NgtDateLocale {\r\n BRAZIL = 'BRAZIL',\r\n US = 'US'\r\n}\r\n\r\nexport enum NgtDateMode {\r\n SINGLE = 'SINGLE',\r\n RANGE = 'RANGE'\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { Ng2FlatpickrModule } from 'ng2-flatpickr';\r\n\r\nimport { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\r\nimport { NgtShiningModule } from '../ngt-shining/ngt-shining.module';\r\nimport { NgtValidationModule } from '../ngt-validation/ngt-validation.module';\r\nimport { NgtDateComponent } from './ngt-date.component';\r\n\r\n@NgModule({\r\n declarations: [NgtDateComponent],\r\n exports: [NgtDateComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n Ng2FlatpickrModule,\r\n NgtValidationModule,\r\n NgtShiningModule,\r\n NgtHelperModule,\r\n ]\r\n})\r\nexport class NgtDateModule { }\r\n","import { Component, Injector, Input, OnChanges, OnDestroy, Optional, Self, SimpleChanges, SkipSelf } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\r\n\r\n@Component({\r\n selector: 'ngt-button',\r\n templateUrl: './ngt-button.component.html',\r\n styleUrls: ['./ngt-button.component.css'],\r\n})\r\nexport class NgtButtonComponent implements OnChanges, OnDestroy {\r\n @Input() public link: boolean = false;\r\n @Input() public href: string;\r\n @Input() public type: string = 'success';\r\n @Input() public loading: boolean = false;\r\n @Input() public isDisabled: boolean = false;\r\n @Input() public noSubmit: boolean = false;\r\n\r\n public ngtStyle: NgtStylizableService;\r\n\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n public constructor(\r\n @Optional() @SkipSelf()\r\n private ngtFormComponent: NgtFormComponent,\r\n private injector: Injector,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n ) {\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n if (this.ngtFormComponent) {\r\n this.subscriptions.push(\r\n this.ngtFormComponent.onLoadingChange.subscribe((loading: boolean) => {\r\n this.loading = loading;\r\n })\r\n );\r\n }\r\n }\r\n\r\n public onClick(event: Event) {\r\n if (this.isDisabled || this.loading) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges) {\r\n if (changes.type) {\r\n if (changes.type.currentValue == 'success') {\r\n this.ngtStyle.load(this.injector, 'NgtSuccessButton', {\r\n color: {\r\n bg: 'bg-green-500',\r\n text: 'text-white text-sm',\r\n },\r\n px: 'px-4',\r\n py: 'py-2'\r\n });\r\n } else if (changes.type.currentValue == 'warning') {\r\n this.ngtStyle.load(this.injector, 'NgtWarningButton', {\r\n color: {\r\n bg: 'bg-orange-500',\r\n text: 'text-white text-sm',\r\n },\r\n px: 'px-4',\r\n py: 'py-2'\r\n });\r\n } else if (changes.type.currentValue == 'danger') {\r\n this.ngtStyle.load(this.injector, 'NgtDangerButton', {\r\n color: {\r\n bg: 'bg-red-500',\r\n text: 'text-white text-sm',\r\n },\r\n px: 'px-4',\r\n py: 'py-2'\r\n });\r\n } else {\r\n this.ngtStyle.load(this.injector, 'NgtInfoButton', {\r\n color: {\r\n bg: 'bg-blue-500',\r\n text: 'text-white text-sm',\r\n },\r\n px: 'px-4',\r\n py: 'py-2'\r\n });\r\n }\r\n }\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.destroySubscriptions();\r\n }\r\n\r\n private destroySubscriptions() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n this.subscriptions = [];\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { NgtFormModule } from '../ngt-form/ngt-form.module';\r\nimport { NgtButtonComponent } from './ngt-button.component';\r\n\r\n@NgModule({\r\n declarations: [NgtButtonComponent],\r\n exports: [NgtButtonComponent],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n NgtFormModule\r\n ]\r\n})\r\nexport class NgtButtonModule { }\r\n","import { Component, Injector, Optional, Self } from '@angular/core';\r\n\r\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\r\n\r\n@Component({\r\n selector: 'ngt-portlet-body',\r\n templateUrl: './ngt-portlet-body.component.html',\r\n styleUrls: ['./ngt-portlet-body.component.css']\r\n})\r\nexport class NgtPortletBodyComponent {\r\n public ngtStyle: NgtStylizableService;\r\n\r\n public constructor(\r\n private injector: Injector,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n ) {\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtPortletBody', {\r\n color: {\r\n text: 'text-black'\r\n }\r\n }, ['NgtPortletStyle']);\r\n }\r\n}\r\n","import { Component, Injector, Optional, Self } from '@angular/core';\r\n\r\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\r\n\r\n@Component({\r\n selector: 'ngt-portlet-footer',\r\n templateUrl: './ngt-portlet-footer.component.html',\r\n styleUrls: ['./ngt-portlet-footer.component.css']\r\n})\r\nexport class NgtPortletFooterComponent {\r\n public ngtStyle: NgtStylizableService;\r\n\r\n public constructor(\r\n private injector: Injector,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n ) {\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtPortletFooter', {\r\n color: {\r\n bg: 'bg-gray-200',\r\n text: 'text-black'\r\n }\r\n }, ['NgtPortletStyle']);\r\n }\r\n}\r\n","import { Component, Injector, Input, Optional, Self } from '@angular/core';\r\n\r\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';\r\n\r\n@Component({\r\n selector: 'ngt-portlet-header',\r\n templateUrl: './ngt-portlet-header.component.html',\r\n styleUrls: ['./ngt-portlet-header.component.css']\r\n})\r\nexport class NgtPortletHeaderComponent {\r\n @Input() public caption: string = '';\r\n @Input() public icon: string = '';\r\n @Input() public helperTitle: string = '';\r\n @Input() public helperText: string = '';\r\n @Input() public helperIconColor: string = '';\r\n\r\n public ngtStyle: NgtStylizableService;\r\n\r\n public constructor(\r\n private injector: Injector,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n ) {\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtPortletHeader', {\r\n h: 'h-auto',\r\n w: 'w-auto',\r\n text: 'text-xl',\r\n fontCase: '',\r\n border: 'border-b',\r\n color: {}\r\n }, ['NgtPortletStyle']);\r\n }\r\n}\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, Injector, Input, Optional, Self } from '@angular/core';\r\n\r\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\n\r\n@Component({\r\n selector: 'ngt-portlet',\r\n templateUrl: './ngt-portlet.component.html',\r\n styleUrls: ['./ngt-portlet.component.css'],\r\n animations: [\r\n trigger('fadeUp', [\r\n state('void', style({ transform: 'translateY(20px)', opacity: 0 })),\r\n transition(':enter', [\r\n animate(500)\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class NgtPortletComponent {\r\n @Input() public caption: string;\r\n @Input() public icon: string = null;\r\n @Input() public customLayout: boolean = false;\r\n @Input() public withFooter: boolean = false;\r\n @Input() public withBody: boolean = true;\r\n @Input() public helpTitle: string = '';\r\n @Input() public helpText: string = '';\r\n @Input() public helpIconColor: string = '';\r\n\r\n public ngtStyle: NgtStylizableService;\r\n\r\n public constructor(\r\n private injector: Injector,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective,\r\n ) {\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtPortlet', {\r\n h: 'h-auto',\r\n shadow: 'shadow',\r\n color: {}\r\n });\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { NgtPortletBodyComponent } from './ngt-portlet-body/ngt-portlet-body.component';\r\nimport { NgtPortletFooterComponent } from './ngt-portlet-footer/ngt-portlet-footer.component';\r\nimport { NgtPortletHeaderComponent } from './ngt-portlet-header/ngt-portlet-header.component';\r\nimport { NgtPortletComponent } from './ngt-portlet.component';\r\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\r\nimport { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n NgtPortletComponent,\r\n NgtPortletHeaderComponent,\r\n NgtPortletBodyComponent,\r\n NgtPortletFooterComponent\r\n ],\r\n exports: [\r\n NgtPortletComponent,\r\n NgtPortletHeaderComponent,\r\n NgtPortletBodyComponent,\r\n NgtPortletFooterComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n NgtSvgModule,\r\n NgtHelperModule\r\n ]\r\n})\r\nexport class NgtPortletModule { }\r\n","export enum Size {\r\n AUTO = 'AUTO',\r\n XS = 'XS',\r\n SM = 'SM',\r\n MD = 'MD',\r\n XL = 'XL',\r\n FULL = 'FULL'\r\n};\r\n","import { animate, AnimationStyleMetadata, state, style, transition, trigger } from '@angular/animations';\r\n\r\nexport function slideLeftToRightAnimation(name: string, duration: any, customStyle?: AnimationStyleMetadata) {\r\n return trigger(name, [\r\n state('void', customStyle ? customStyle : style({ transform: 'translateX(-50px)', opacity: 0 })),\r\n transition(':enter, :leave', [\r\n animate(duration)\r\n ])\r\n ]);\r\n}\r\n\r\nexport function slideRightToLeftAnimation(name: string, duration: any, customStyle?: AnimationStyleMetadata) {\r\n return trigger(name, [\r\n state('void', customStyle ? customStyle : style({ transform: 'translateX(50px)', opacity: 0 })),\r\n transition(':enter, :leave', [\r\n animate(duration)\r\n ])\r\n ]);\r\n}\r\n\r\nexport function fadeDownAnimation(name: string, duration: any, customStyle?: AnimationStyleMetadata) {\r\n return trigger(name, [\r\n state('void', customStyle ? customStyle : style({ transform: 'translateY(-20px)', opacity: 0 })),\r\n transition(':enter, :leave', [\r\n animate(duration)\r\n ])\r\n ]);\r\n}\r\n\r\nexport function fadeUpAnimation(name: string, duration: any, customStyle?: AnimationStyleMetadata) {\r\n return trigger(name, [\r\n state('void', customStyle ? customStyle : style({ transform: 'translateY(20px)', opacity: 0 })),\r\n transition(':enter, :leave', [\r\n animate(duration)\r\n ])\r\n ]);\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n Injector,\r\n Input,\r\n Optional,\r\n Self,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\nimport { fadeDownAnimation } from '../../animations/ngt-angular-animations';\r\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { Size } from '../../enums/size.enum';\r\nimport { getEnumFromString } from '../../helpers/enum/enum';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\n\r\n@Component({\r\n selector: 'ngt-sidenav',\r\n templateUrl: './ngt-sidenav.component.html',\r\n styleUrls: ['./ngt-sidenav.component.css'],\r\n animations: [\r\n fadeDownAnimation('fadeDownAnimation', 600)\r\n ],\r\n})\r\n\r\nexport class NgtSidenavComponent implements AfterViewInit {\r\n @ViewChild('sideMenu', { static: true }) public sideMenuRef: ElementRef;\r\n @ViewChild('container', { static: true }) public containerRef: ElementRef;\r\n\r\n @Input() public size: Size = Size.XS;\r\n @Input() public initVisible: boolean = false;\r\n @Input() public closeMenuOnMobileView: boolean = true;\r\n\r\n public visible: boolean = false;\r\n public open: boolean = false;\r\n public isMenuContracted: boolean = false;\r\n public ngtStyle: NgtStylizableService;\r\n\r\n private screenWidth: number;\r\n\r\n public constructor(\r\n private injector: Injector,\r\n @Self() @Optional() private ngtStyleDirective: NgtStylizableDirective,\r\n ) {\r\n if (this.ngtStyleDirective) {\r\n this.ngtStyle = this.ngtStyleDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'Sidenav', {\r\n h: 'md:h-auto h-screen',\r\n color: {}\r\n });\r\n\r\n this.bindScreenSize();\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n public bindScreenSize(event?) {\r\n this.screenWidth = window.innerWidth;\r\n }\r\n\r\n public ngAfterViewInit() {\r\n if (this.initVisible) {\r\n setTimeout(() => {\r\n this.visible = true;\r\n });\r\n }\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges) {\r\n if (changes.size) {\r\n this.size = getEnumFromString(changes.size.currentValue, Size);\r\n }\r\n }\r\n\r\n public toggleMenu() {\r\n if (this.open) {\r\n this.closeMenu();\r\n } else {\r\n this.openMenu();\r\n }\r\n }\r\n\r\n public closeMenu() {\r\n this.open = false;\r\n }\r\n\r\n public openMenu() {\r\n this.open = true;\r\n }\r\n\r\n public getNavSize() {\r\n switch (this.size) {\r\n case Size.AUTO: return 'md:w-auto w-4/12';\r\n case Size.XS: return 'md:w-1/12 w-4/12';\r\n case Size.SM: return 'md:w-2/12 w-5/12';\r\n case Size.MD: return 'md:w-4/12 w-6/12';\r\n case Size.XL: return 'md:w-6/12 w-full';\r\n case Size.FULL: return 'w-full';\r\n }\r\n }\r\n\r\n public getContainerSize() {\r\n if (!this.visible) {\r\n return 'w-full';\r\n }\r\n\r\n if (this.isMobileView()) {\r\n return 'w-full';\r\n }\r\n\r\n switch (this.size) {\r\n case Size.AUTO: return 'w-full';\r\n case Size.XS: return 'md:w-11/12 w-full';\r\n case Size.SM: return 'md:w-10/12 w-full';\r\n case Size.MD: return 'md:w-8/12 w-full';\r\n case Size.XL: return 'md:w-6/12 w-full';\r\n case Size.FULL: return 'w-full';\r\n }\r\n }\r\n\r\n public toggleMenuSize(size: Size) {\r\n if (this.isMenuContracted) {\r\n this.size = size;\r\n this.isMenuContracted = false;\r\n } else {\r\n this.size = Size.AUTO;\r\n this.isMenuContracted = true;\r\n }\r\n }\r\n\r\n public isMobileView() {\r\n if (!this.closeMenuOnMobileView) {\r\n return false;\r\n }\r\n\r\n return this.screenWidth < 1024;\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { NgtSidenavComponent } from './ngt-sidenav.component';\r\n\r\n@NgModule({\r\n declarations: [NgtSidenavComponent],\r\n exports: [NgtSidenavComponent],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class NgtSidenavModule { }\r\n","import { Component, ElementRef, Injector, Input, Optional, Self, ViewChild } from '@angular/core';\r\n\r\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\n\r\n@Component({\r\n selector: 'ngt-header-nav',\r\n templateUrl: './ngt-header-nav.component.html',\r\n styleUrls: ['./ngt-header-nav.component.css']\r\n})\r\nexport class NgtHeaderNavComponent {\r\n @ViewChild('element', { static: true }) public element: ElementRef;\r\n\r\n @Input() public ngtStyle: NgtStylizableService;\r\n\r\n public constructor(\r\n private injector: Injector,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective\r\n ) {\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'HeaderNav', {\r\n h: 'h-auto',\r\n color: {}\r\n });\r\n }\r\n\r\n public ngAfterViewInit() {\r\n this.element.nativeElement.classList.add('tail-animate-fade-up');\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgtHeaderNavComponent } from './ngt-header-nav.component';\r\n\r\n@NgModule({\r\n declarations: [NgtHeaderNavComponent],\r\n exports: [NgtHeaderNavComponent],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class NgtHeaderNavModule { }\r\n","import { Component, Injector, Input, Optional, Self } from '@angular/core';\r\n\r\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\n\r\n@Component({\r\n selector: 'ngt-content',\r\n templateUrl: './ngt-content.component.html',\r\n styleUrls: ['./ngt-content.component.css']\r\n})\r\nexport class NgtContentComponent {\r\n @Input() public ngtStyle: NgtStylizableService;\r\n\r\n public constructor(\r\n private injector: Injector,\r\n @Self() @Optional() private tailStylizableDirective: NgtStylizableDirective\r\n ) {\r\n if (this.tailStylizableDirective) {\r\n this.ngtStyle = this.tailStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'Content', {\r\n color: {}\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgtContentComponent } from './ngt-content.component';\r\n\r\n@NgModule({\r\n declarations: [NgtContentComponent],\r\n exports: [NgtContentComponent],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class NgtContentModule { }\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, EventEmitter, Injector, Input, Optional, Output, Self } from '@angular/core';\r\n\r\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\n\r\n@Component({\r\n selector: 'ngt-section',\r\n templateUrl: './ngt-section.component.html',\r\n styleUrls: ['./ngt-section.component.css'],\r\n animations: [\r\n trigger('enterAnimation', [\r\n state('void', style({ transform: 'translateY(-20px)', opacity: 0 })),\r\n transition(':enter', [\r\n animate(400)\r\n ])\r\n ]),\r\n ]\r\n})\r\nexport class NgtSectionComponent {\r\n @Input() public icon: string;\r\n @Input() public caption: string;\r\n @Input() public subtitle: string;\r\n @Input() public accordion = false;\r\n @Input() public showSection = true;\r\n @Input() public helpTitle: string = '';\r\n @Input() public helpText: string = '';\r\n @Input() public helpIconColor: string = '';\r\n\r\n @Output() public onToggleSection: EventEmitter<any> = new EventEmitter();\r\n\r\n public ngtSectionStyle: NgtStylizableService;\r\n public ngtCaptionStyle: NgtStylizableService;\r\n public ngtSubtitleStyle: NgtStylizableService;\r\n\r\n public constructor(\r\n private injector: Injector,\r\n @Self() @Optional() private ngtStylizableDirective: NgtStylizableDirective\r\n ) {\r\n this.ngtCaptionStyle = new NgtStylizableService();\r\n this.ngtSubtitleStyle = new NgtStylizableService();\r\n\r\n if (this.ngtStylizableDirective) {\r\n this.ngtSectionStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtSectionStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtSectionStyle.load(this.injector, 'NgtSection', {\r\n h: 'h-12',\r\n w: 'w-12',\r\n my: 'my-1',\r\n pr: 'pr-1',\r\n px: 'md:px-5',\r\n color: {\r\n text: 'text-gray-800'\r\n }\r\n });\r\n\r\n this.ngtCaptionStyle.load(this.injector, 'NgtSectionCaption', {\r\n text: 'text-sm',\r\n font: 'font-normal',\r\n ml: 'ml-2',\r\n pb: 'pb-2',\r\n border: 'border-none',\r\n color: {\r\n text: 'text-gray-800',\r\n border: ''\r\n }\r\n });\r\n\r\n this.ngtSubtitleStyle.load(this.injector, 'NgtSectionSubtitle', {\r\n text: 'text-xs',\r\n font: 'font-normal',\r\n border: 'border-none',\r\n ml: 'ml-2',\r\n color: {\r\n text: 'text-gray-500',\r\n border: ''\r\n }\r\n });\r\n }\r\n\r\n public open() {\r\n this.showSection = true;\r\n this.onToggleSection.emit(this.showSection);\r\n }\r\n\r\n public close() {\r\n this.showSection = false;\r\n this.onToggleSection.emit(this.showSection);\r\n }\r\n\r\n public toggle() {\r\n this.showSection = !this.showSection;\r\n this.onToggleSection.emit(this.showSection);\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { NgtStylizableModule } from '../../directives/ngt-stylizable/ngt-stylizable.module';\r\nimport { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\r\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\r\nimport { NgtSectionComponent } from './ngt-section.component';\r\n\r\n@NgModule({\r\n declarations: [NgtSectionComponent],\r\n exports: [NgtSectionComponent],\r\n imports: [\r\n CommonModule,\r\n NgtStylizableModule,\r\n NgtSvgModule,\r\n NgtHelperModule\r\n ]\r\n})\r\nexport class NgtSectionModule { }\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Host,\r\n HostListener,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n Self,\r\n SimpleChanges,\r\n SkipSelf,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { AbstractControl, ControlContainer, NgForm } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\r\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\r\nimport { uuid } from '../../helpers/uuid';\r\nimport { NgtHttpPagination, NgtHttpResponse, NgtHttpService } from '../../services/http/ngt-http.service';\r\nimport { NgtTranslateService } from '../../services/http/ngt-translate.service';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\r\nimport { NgtInputComponent } from '../ngt-input/ngt-input.component';\r\n\r\n@Component({\r\n selector: 'ngt-multi-select',\r\n templateUrl: './ngt-multi-select.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: ['./ngt-multi-select.component.css'],\r\n providers: [\r\n NgtMakeProvider(NgtMultiSelectComponent)\r\n ],\r\n viewProviders: [\r\n { provide: ControlContainer, useExisting: NgForm }\r\n ]\r\n})\r\nexport class NgtMultiSelectComponent extends NgtBaseNgModel implements OnInit, OnDestroy, OnChanges {\r\n @ViewChild('containerRef') public containerRef: ElementRef;\r\n @ViewChild('inputSearch') public inputSearch: NgtInputComponent;\r\n @ViewChild('elementCheckboxTemplate') public elementCheckboxTemplate: TemplateRef<any>;\r\n\r\n /** Visual */\r\n @Input() public customOptionTemplate: TemplateRef<any>;\r\n @Input() public customHeaderTemplate: TemplateRef<any>;\r\n @Input() public label: string;\r\n @Input() public helpTitle: string;\r\n @Input() public helpText: string;\r\n @Input() public helpTextColor: string = 'text-green-500';\r\n @Input() public shining: boolean = false;\r\n @Input() public loading: boolean = false;\r\n\r\n /** Behavior */\r\n @Input() public bindLabel: string | Function = 'name';\r\n @Input() public bindSearch: string = 'name';\r\n @Input() public itemsPerPage: number = 15;\r\n @Input() public name: string;\r\n @Input() public remoteResource: any;\r\n @Input() public items: Array<any> = [];\r\n @Input() public searchable: boolean = true;\r\n\r\n /** Validation */\r\n @Input() public isRequired: boolean;\r\n @Input() public isDisabled: boolean;\r\n\r\n @Output() public onDataChange: EventEmitter<Array<NgtSelectContainerSelectableElementInterface>> = new EventEmitter();\r\n\r\n public searchTerm: string = '';\r\n public searchInputName: string = uuid();\r\n\r\n public selectAllCheckboxName: string = uuid();\r\n public displayOnlySelectedName: string = uuid();\r\n\r\n public selectedElements: Array<NgtSelectContainerSelectableElementInterface> = [];\r\n public itemsTotal: number;\r\n public selectAllCheckbox: boolean;\r\n public displayOnlySelected: boolean;\r\n\r\n public nativeName: string = uuid();\r\n public nativeValue: any;\r\n\r\n public ngtStyle: NgtStylizableService;\r\n public selectableElements: Array<NgtSelectContainerSelectableElementInterface> = [];\r\n public selectableElementsOnSearch: Array<NgtSelectContainerSelectableElementInterface> = [];\r\n public componentReady: boolean;\r\n\r\n private pagination: NgtHttpPagination = {\r\n count: null,\r\n page: 1,\r\n pages: null,\r\n total: null,\r\n from: null,\r\n to: null,\r\n per_page: null\r\n };\r\n\r\n private subscriptions: Array<Subscription> = [];\r\n private inSearch: boolean;\r\n private searchTimeout: any;\r\n private previousSearchTerm: string = '';\r\n private becameVisible: boolean;\r\n\r\n public constructor(\r\n private ngtHttpService: NgtHttpService,\r\n private injector: Injector,\r\n private changeDetector: ChangeDetectorRef,\r\n\r\n @Optional() @Self()\r\n public ngtStylizableDirective: NgtStylizableDirective,\r\n\r\n @Optional() @Host()\r\n public formContainer: ControlContainer,\r\n\r\n @Optional() @SkipSelf()\r\n public ngtFormComponent: NgtFormComponent,\r\n\r\n @Optional()\r\n public ngtTranslateService: NgtTranslateService\r\n ) {\r\n super();\r\n\r\n if (this.ngtFormComponent) {\r\n this.shining = this.ngtFormComponent.isShining();\r\n\r\n this.subscriptions.push(\r\n this.ngtFormComponent.onShiningChange.subscribe((shining: boolean) => {\r\n this.shining = shining;\r\n })\r\n );\r\n }\r\n\r\n if (this.ngtStylizableDirective) {\r\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\r\n } else {\r\n this.ngtStyle = new NgtStylizableService();\r\n }\r\n\r\n this.ngtStyle.load(this.injector, 'NgtMultiSelect', { h: 'h-64' });\r\n }\r\n\r\n @HostListener('scroll', ['$event'])\r\n public onScroll(event: any): void {\r\n const isScrollEnd = event.target.scrollTop && event.target.offsetHeight + event.target.scrollTop >= (event.target.scrollHeight - 30);\r\n\r\n if (isScrollEnd && !this.loading && !this.displayOnlySelected && this.selectableElements?.length\r\n && this.pagination.per_page < this.pagination.total) {\r\n const currentPerPage = typeof this.pagination.per_page === 'string'\r\n ? Number.parseInt(this.pagination.per_page)\r\n : this.pagination.per_page;\r\n\r\n setTimeout(() => this.loadData(currentPerPage + this.itemsPerPage, this.searchTerm));\r\n }\r\n }\r\n\r\n public ngOnInit(): void {\r\n if (!this.formContainer) {\r\n console.error(\"The element must be inside a <form #form='ngForm'> tag!\");\r\n }\r\n\r\n if (!this.name) {\r\n console.error(\"The element must contain a name attribute!\");\r\n }\r\n }\r\n\r\n public ngDoCheck(): void {\r\n if (!this.becameVisible && !this.isHidden()) {\r\n this.becameVisible = true;\r\n\r\n this.loadData().then(() => this.initComponentValidation());\r\n }\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.isRequired && this.componentReady) {\r\n this.updateValidations();\r\n }\r\n\r\n if (changes.isDisabled) {\r\n this.displayOnlySelected = changes.isDisabled.currentValue;\r\n }\r\n\r\n if (changes.items) {\r\n this.bindSelectableElements(changes.items.currentValue);\r\n this.componentReady = true;\r\n }\r\n\r\n if (changes.remoteResource && this.becameVisible) {\r\n this.loadData().then(() => this.initComponentValidation());\r\n }\r\n\r\n if (changes.itemsPerPage) {\r\n this.pagination.per_page = changes.itemsPerPage.currentValue;\r\n }\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.destroySubscriptions();\r\n }\r\n\r\n public setFocus(): void {\r\n setTimeout(() => this.inputSearch.setFocus());\r\n }\r\n\r\n public refresh(): void {\r\n this.loadData(this.itemsPerPage, this.searchTerm);\r\n }\r\n\r\n public reset(): void {\r\n this.value = [];\r\n this.nativeValue = [];\r\n this.selectedElements = [];\r\n this.refresh();\r\n }\r\n\r\n public selectAll(): void {\r\n if (!this.loading && !this.isDisabled) {\r\n this.selectAllCheckbox = !this.selectAllCheckbox;\r\n\r\n this.value = [];\r\n this.nativeValue = [];\r\n this.selectedElements = [];\r\n\r\n this.loadData(this.selectAllCheckbox ? this.pagination.total : this.itemsPerPage)\r\n .then(() => {\r\n this.containerRef?.nativeElement?.scrollTo({ top: 0 });\r\n this.selectableElements.forEach(element => element.isSelected = this.selectAllCheckbox);\r\n\r\n if (this.selectAllCheckbox) {\r\n this.selectedElements = this.selectableElements;\r\n }\r\n });\r\n }\r\n }\r\n\r\n public onNativeChange(selectableElement: NgtSelectContainerSelectableElementInterface): void {\r\n if (this.componentReady) {\r\n this.handleElementSelection(selectableElement);\r\n\r\n if (this.hasChangesBetweenBindings(this.value, this.selectedElements)) {\r\n this.value = this.selectedElements.map(e => e.value);\r\n }\r\n }\r\n }\r\n\r\n public change(selectedElements: Array<any>): void {\r\n if (this.hasChangesBetweenBindings(selectedElements, this.selectedElements)) {\r\n if (this.selectableElements?.length) {\r\n this.bindSelectedElements(selectedElements);\r\n\r\n this.selectableElements.filter(element => this.isSelectedElement(element))\r\n .forEach(element => element.isSelected = true);\r\n\r\n this.selectableElementsOnSearch.filter(element => this.isSelectedElement(element))\r\n .forEach(element => element.isSelected = true);\r\n } else {\r\n this.selectedElements = selectedElements?.map(\r\n element => ({ uuid: uuid(), isSelected: true, value: element })\r\n ) ?? [];\r\n\r\n this.changeDetector.detectChanges();\r\n }\r\n\r\n if (!selectedElements?.length) {\r\n this.markAsPristine();\r\n }\r\n }\r\n }\r\n\r\n public toggleItem(event: Event, selectableElement: NgtSelectContainerSelectableElementInterface): void {\r\n event.stopImmediatePropagation();\r\n\r\n if (!this.isDisabled) {\r\n selectableElement.isSelected = !selectableElement.isSelected;\r\n\r\n this.handleElementSelection(selectableElement);\r\n }\r\n }\r\n\r\n public search(term: string): void {\r\n if (!this.componentReady || term === undefined || term === null || term === this.previousSearchTerm) {\r\n return;\r\n }\r\n\r\n if (this.searchTimeout) {\r\n clearTimeout(this.searchTimeout);\r\n }\r\n\r\n this.searchTimeout = setTimeout(() => {\r\n this.previousSearchTerm = term;\r\n\r\n if (!term) {\r\n this.inSearch = false;\r\n\r\n if (this.items?.length) {\r\n return;\r\n }\r\n }\r\n\r\n this.inSearch = true;\r\n\r\n if (this.items?.length) {\r\n this.selectableElementsOnSearch = this.selectableElements.filter(\r\n item => this.getSelectableElementValue(item).includes(term)\r\n );\r\n } else {\r\n this.loadData(this.itemsPerPage, term);\r\n }\r\n }, 500);\r\n }\r\n\r\n public getSelectableElements(): Array<any> {\r\n if (this.inSearch && this.items?.length) {\r\n return this.selectableElementsOnSearch;\r\n } else if (this.displayOnlySelected) {\r\n return this.selectedElements;\r\n }\r\n\r\n return this.selectableElements;\r\n }\r\n\r\n public getSelectableElementValue(selectableItem: any): string {\r\n if (typeof this.bindLabel === 'function') {\r\n return this.bindLabel(selectableItem.value);\r\n } else if (typeof selectableItem.value['getAttribute'] === 'function') {\r\n return selectableItem.value.getAttribute(this.bindLabel);\r\n }\r\n\r\n return selectableItem.value[this.bindLabel];\r\n }\r\n\r\n public hasValidationErrors(): boolean {\r\n return this.formControl?.errors && (\r\n this.formControl.dirty || (this.formContainer && this.formContainer['submitted'])\r\n );\r\n }\r\n\r\n private handleElementSelection(selectableElement: NgtSelectContainerSelectableElementInterface): void {\r\n if (selectableElement.isSelected && !this.isSelectedElement(selectableElement)) {\r\n this.selectedElements.push(selectableElement);\r\n } else if (!selectableElement.isSelected && this.isSelectedElement(selectableElement)) {\r\n this.selectedElements = this.selectedElements.filter(\r\n selectedElement => selectedElement.uuid !== selectableElement.uuid\r\n );\r\n\r\n if (this.displayOnlySelected && !this.selectedElements.length) {\r\n this.displayOnlySelected = false;\r\n }\r\n }\r\n }\r\n\r\n private async loadData(perpage: number = this.itemsPerPage, searchTerm?: string): Promise<void> {\r\n return new Promise<void>((resolve, reject) => {\r\n if (this.remoteResource) {\r\n if (perpage == this.itemsPerPage) {\r\n this.containerRef?.nativeElement?.scrollTo({ top: 0 });\r\n }\r\n\r\n this.selectableElements = [];\r\n this.loading = true;\r\n\r\n const pagination: NgtHttpPagination = { ...this.pagination, ...{ per_page: perpage } };\r\n const filters = searchTerm ? { [this.bindSearch]: searchTerm } : null;\r\n\r\n this.subscriptions.push(\r\n this.ngtHttpService.get(\r\n this.remoteResource, filters, pagination\r\n ).subscribe(\r\n (response: NgtHttpResponse) => {\r\n this.bindSelectableElements(response.data);\r\n this.pagination = response.meta.pagination;\r\n\r\n this.itemsTotal = this.pagination.total;\r\n this.loading = false;\r\n\r\n this.onDataChange.emit(this.selectableElements);\r\n this.componentReady = true;\r\n this.changeDetector.detectChanges();\r\n\r\n setTimeout(() => this.displayOnlySelected = this.isDisabled);\r\n\r\n resolve();\r\n },\r\n (error) => {\r\n console.error(error);\r\n this.loading = false;\r\n this.changeDetector.detectChanges();\r\n\r\n reject();\r\n }\r\n )\r\n );\r\n } else {\r\n console.error('The property [remoteResource] needs to be present to be able to make remote search');\r\n }\r\n });\r\n }\r\n\r\n private bindSelectableElements(data: Array<any>): void {\r\n const formattedElements: Array<NgtSelectContainerSelectableElementInterface> = [];\r\n\r\n data.forEach(item => {\r\n const alreadySelected = this.findSelectedElement(item);\r\n\r\n if (alreadySelected) {\r\n formattedElements.push(alreadySelected);\r\n } else {\r\n formattedElements.push({ uuid: uuid(), isSelected: false, value: item });\r\n }\r\n });\r\n\r\n this.selectableElements = formattedElements;\r\n }\r\n\r\n private bindSelectedElements(selectedElements: Array<any>): void {\r\n this.selectableElements.forEach(selectableElement => {\r\n const shouldBeSelected: boolean = !!selectedElements?.find(\r\n selectedElement => this.compareWith(selectedElement, selectableElement.value)\r\n );\r\n\r\n if (shouldBeSelected) {\r\n selectableElement.isSelected = true;\r\n this.handleElementSelection(selectableElement);\r\n }\r\n });\r\n }\r\n\r\n private initComponentValidation(): void {\r\n if (this.formContainer?.control && (this.formControl = this.formContainer.control.get(this.name))) {\r\n this.formControl = this.formContainer.control.get(this.name);\r\n this.markAsPristine();\r\n this.updateValidations();\r\n }\r\n }\r\n\r\n private updateValidations(): void {\r\n const syncValidators = [];\r\n\r\n if (this.isRequired) {\r\n syncValidators.push(this.isRequiredValidator());\r\n }\r\n\r\n setTimeout(() => {\r\n this.formControl.setValidators(syncValidators);\r\n this.formControl.updateValueAndValidity();\r\n });\r\n }\r\n\r\n private isRequiredValidator(): any {\r\n return (control: AbstractControl) => {\r\n if (Array.isArray(this.value) && this.value.length > 0) {\r\n return null;\r\n }\r\n\r\n return { 'required': true };\r\n };\r\n }\r\n\r\n private findSelectedElement(item: any): any {\r\n return this.selectedElements.find(selectedElement => this.compareWith(selectedElement.value, item));\r\n }\r\n\r\n private compareWith(a: any, b: any): boolean {\r\n if (typeof a['getApiId'] === 'function' && typeof b['getApiId'] === 'function') {\r\n return a.getApiId() == b.getApiId();\r\n } else if (a.id && b.id) {\r\n return a.id == b.id;\r\n }\r\n\r\n return JSON.stringify(a) === JSON.stringify(b);\r\n }\r\n\r\n private hasChangesBetweenBindings(value: Array<any>, nativeValue: Array<any>): boolean {\r\n if (value?.length && !value[0].uuid) {\r\n nativeValue = nativeValue.map(element => element.value);\r\n }\r\n\r\n return JSON.stringify(value) !== JSON.stringify(nativeValue);\r\n }\r\n\r\n private isSelectedElement(selectableElement: NgtSelectContainerSelectableElementInterface): boolean {\r\n return !!this.selectedElements.find(selectedElement => selectedElement.uuid === selectableElement.uuid);\r\n }\r\n\r\n private isHidden(): boolean {\r\n return !this.containerRef?.nativeElement.offsetParent;\r\n }\r\n\r\n private destroySubscriptions(): void {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n this.subscriptions = [];\r\n }\r\n}\r\n\r\nexport interface NgtSelectContainerSelectableElementInterface {\r\n uuid: string;\r\n isSelected: boolean;\r\n value: any;\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { NgtStylizableModule } from '../../directives/ngt-stylizable/ngt-stylizable.module';\r\nimport { NgtCheckboxModule } from '../ngt-checkbox/ngt-checkbox.module';\r\nimport { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\r\nimport { NgtInputModule } from '../ngt-input/ngt-input.module';\r\nimport { NgtShiningModule } from '../ngt-shining/ngt-shining.module';\r\nimport { NgtValidationModule } from '../ngt-validation/ngt-validation.module';\r\nimport { NgtMultiSelectComponent } from './ngt-multi-select.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n NgtMultiSelectComponent\r\n ],\r\n exports: [\r\n NgtMultiSelectComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NgtValidationModule,\r\n NgtShiningModule,\r\n NgtHelperModule,\r\n NgtInputModule,\r\n NgtCheckboxModule,\r\n NgtStylizableModule\r\n ]\r\n})\r\nexport class NgtMultiSelectModule { }\r\n","import { Observable } from 'rxjs';\r\n\r\nexport abstract class NgtAttachmentHttpService {\r\n abstract preview(attachment: any): Observable<NgtAttachmentHttpResponse>;\r\n\r\n abstract thumbnail(attachment: any): Observable<NgtAttachmentHttpResponse>;\r\n\r\n abstract download(attachment: any): Observable<any>;\r\n\r\n abstract upload(remoteResource: any, file: any): Observable<any>;\r\n}\r\n\r\nexport interface NgtAttachmentHttpResponse {\r\n data?: any;\r\n}\r\n","import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ngt-dropzone-file-viewer',\r\n styleUrls: ['./ngt-dropzone-file-viewer.component.css'],\r\n templateUrl: './ngt-dropzone-file-viewer.component.html'\r\n})\r\nexport class NgtDropzoneFileViewerComponent {\r\n @Input() public url: string = '';\r\n @Input() public fileName: string = '';\r\n @Output() public onClose: EventEmitter<any> = new EventEmitter();\r\n\r\n public canShowViewer: boolean = false;\r\n\r\n public constructor() { }\r\n\r\n @HostListener('window:keydown', ['$event'])\r\n public keyEvent(event: KeyboardEvent) {\r\n if (event.code == 'Escape') {\r\n this.canShowViewer = false;\r\n setTimeout(() => {\r\n this.onClose.emit();\r\n }, 500);\r\n }\r\n }\r\n\r\n public init() {\r\n this.canShowViewer = true;\r\n }\r\n\r\n public close() {\r\n this.canShowViewer = false;\r\n this.onClose.emit();\r\n }\r\n\r\n public downloadFile() {\r\n let file = document.createElement(\"a\");\r\n\r\n file.target = '_blank';\r\n file.href = this.url;\r\n file.setAttribute(\"download\", this.fileName);\r\n file.click();\r\n }\r\n}\r\n","import {\r\n AfterContentChecked,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Host,\r\n Injector,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n SimpleChanges,\r\n SkipSelf,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { ControlContainer, NgForm, Validators } from '@angular/forms';\r\nimport { NgxDropzoneChangeEvent, NgxDropzoneComponent } from 'ngx-dropzone';\r\nimport { forkJoin, Subscription } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport Viewer from 'viewerjs';\r\n\r\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\r\nimport { getEnumFromString } from '../../helpers/enum/enum';\r\nimport { NgtAttachmentHttpService } from '../../services/http/ngt-attachment-http.service';\r\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\r\nimport { NgtDropzoneFileViewerComponent } from './ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component';\r\n\r\nexport interface NgtDropzoneFile {\r\n downloadUrl: string;\r\n previewUrl: string;\r\n thumbnailUrl: string;\r\n name: string;\r\n mimeType: string;\r\n fileSize: any;\r\n};\r\n\r\nexport enum NgtDropzoneFileTypeEnum {\r\n DOC = 'DOC',\r\n PDF = 'PDF',\r\n XLS = 'XLS',\r\n OTHER = 'OTHER'\r\n}\r\n\r\nexport enum NgtDropzonePreviewType {\r\n DEFAULT = 'DEFAULT',\r\n IMAGE = 'IMAGE',\r\n VIDEO = 'VIDEO'\r\n}\r\n\r\nexport enum NgtDropzoneErrorType {\r\n DEFAULT = 'DEFAULT',\r\n SIZE = 'SIZE',\r\n NO_MULTIPLE = 'NO_MULTIPLE',\r\n ITEMS_LIMIT = 'ITEMS_LIMIT',\r\n TYPE = 'TYPE'\r\n}\r\n\r\n@Component({\r\n selector: 'ngt-dropzone',\r\n templateUrl: './ngt-dropzone.component.html',\r\n styleUrls: ['./ngt-dropzone.component.css'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n NgtMakeProvider(NgtDropzoneComponent),\r\n ],\r\n viewProviders: [\r\n { provide: ControlContainer, useExisting: NgForm }\r\n ]\r\n})\r\nexport class NgtDropzoneComponent extends NgtBaseNgModel implements OnInit, OnDestroy, AfterContentChecked {\r\n @ViewChild('container') public container: ElementRef;\r\n @ViewChild('ngxDropzone', { static: true }) public ngxDropzone: NgxDropzoneComponent;\r\n @ViewChild(NgtDropzoneFileViewerComponent, { static: true }) public ngtDropzoneFileViewer: NgtDropzoneFileViewerComponent;\r\n\r\n // Visual\r\n @Input() public label: string;\r\n @Input() public placeholder: string;\r\n @Input() public helpTextColor: string = 'text-green-500';\r\n @Input() public helpText: string;\r\n @Input() public helpTitle: string;\r\n\r\n // Behavior\r\n @Input() public resources: Array<NgtDropzoneFile> = [];\r\n @Input() public multipleSelection: boolean = false;\r\n @Input() public itemsLimit: number;\r\n @Input() public showFileName: boolean = false;\r\n @Input() public disableClick: boolean = false;\r\n @Input() public disabled: boolean = false;\r\n @Input() public viewMode: boolean = false;\r\n @Input() public removable: boolean = false;\r\n @Input() public verticalExpandable: boolean = false;\r\n @Input() public acceptedFiles: string = '*' /** Mime type */;\r\n @Input() public maxFileSize: number; /** Bytes */\r\n @Input() public previewType: NgtDropzonePreviewType = NgtDropzonePreviewType.DEFAULT;\r\n @Input() public isRequired: boolean = false;\r\n @Input() public name: string;\r\n @Input() public remoteResource: any;\r\n\r\n @Output() public onFileSelected: EventEmitter<NgxDropzoneChangeEvent> = new EventEmitter();\r\n @Output() public onFileSelectError: EventEmitter<NgtDropzoneErrorType> = new EventEmitter();\r\n @Output() public onFileUploadFail: EventEmitter<any> = new EventEmitter();\r\n @Output() public onFileRemoved = new EventEmitter();\r\n @Output() public onFileUploaded = new EventEmitter();\r\n @Output() public onFilePreviewLoaded = new EventEmitter();\r\n\r\n public dropzoneHeight: string = '180px';\r\n public uploadedResources = [];\r\n public forceDisableClick: boolean = false;\r\n public nativeValue = [];\r\n public showNgtDropzoneFileViewer: boolean = false;\r\n public componentReady = false;\r\n public loading: boolean = false;\r\n public ngtDropzoneLoaderStyle: NgtStylizableService;\r\n public imageViewerOptions: any = {\r\n navbar: true,\r\n toolbar: {\r\n zoomIn: true,\r\n zoomOut: true,\r\n reset: true,\r\n rotateLeft: true,\r\n rotateRight: true,\r\n prev: true,\r\n next: true,\r\n }\r\n };\r\n\r\n private subscriptions: Array<Subscription> = [];\r\n\r\n public constructor(\r\n @Optional() @Host()\r\n public formContainer: ControlContainer,\r\n @Optional() @SkipSelf()\r\n private ngtAttachmentHttpService: NgtAttachmentHttpService,\r\n private injector: Injector,\r\n private changeDetector: ChangeDetectorRef,\r\n ) {\r\n super();\r\n\r\n this.ngtDropzoneLoaderStyle = new NgtStylizableService();\r\n\r\n this.ngtDropzoneLoaderStyle.load(this.injector, 'NgtDropzoneLoader', {\r\n h: 'h-8',\r\n color: {\r\n text: 'text-gray-600'\r\n }\r\n });\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges) {\r\n if (changes.previewType) {\r\n this.previewType = getEnumFromString(changes.previewType.currentValue, NgtDropzonePreviewType);\r\n }\r\n }\r\n\r\n public ngAfterContentChecked() {\r\n if (this.container && this.container.nativeElement) {\r\n this.dropzoneHeight = `${this.container.nativeElement.parentElement.offsetHeight}px`;\r\n\r\n this.changeDetector.detectChanges();\r\n }\r\n }\r\n\r\n public ngOnInit() {\r\n setTimeout(() => {\r\n this.componentReady = true;\r\n\r\n setTimeout(() => {\r\n this.initComponent();\r\n });\r\n }, 500);\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.destroySubscriptions();\r\n }\r\n\r\n public onImageClick(element, index?) {\r\n if (!this.viewMode) {\r\n this.forceDisableClick = true;\r\n }\r\n\r\n const ngtDropzoneComponent = this;\r\n\r\n if (index) {\r\n this.imageViewerOptions = { ...this.imageViewerOptions, ...{ initialViewIndex: index } };\r\n }\r\n\r\n const viewer = new Viewer(element, {\r\n ...this.imageViewerOptions, ...{\r\n hidden() {\r\n ngtDropzoneComponent.forceDisableClick = false;\r\n viewer.destroy();\r\n }\r\n }\r\n });\r\n\r\n viewer.show();\r\n }\r\n\r\n public onFileClick(url, name) {\r\n this.forceDisableClick = true;\r\n this.showNgtDropzoneFileViewer = true;\r\n this.ngtDropzoneFileViewer.url = url;\r\n this.ngtDropzoneFileViewer.fileName = name;\r\n this.ngtDropzoneFileViewer.init();\r\n\r\n this.subscriptions.push(this.ngtDropzoneFileViewer.onClose.subscribe(() => {\r\n this.showNgtDropzoneFileViewer = false;\r\n this.forceDisableClick = false;\r\n }));\r\n }\r\n\r\n public async onSelect(event: NgxDropzoneChangeEvent) {\r\n if (event.rejectedFiles.length) {\r\n for (const rejectedFile of <any>event.rejectedFiles) {\r\n if (rejectedFile.reason == 'size') {\r\n this.onFileSelectError.emit(NgtDropzoneErrorType.SIZE);\r\n break;\r\n } else if (rejectedFile.reason == 'no_multiple') {\r\n this.onFileSelectError.emit(NgtDropzoneErrorType.NO_MULTIPLE);\r\n break;\r\n } else if (rejectedFile.reason == 'type') {\r\n this.onFileSelectError.emit(NgtDropzoneErrorType.TYPE);\r\n break;\r\n } else {\r\n this.onFileSelectError.emit(NgtDropzoneErrorType.DEFAULT);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (this.itemsLimit) {\r\n if (this.itemsLimit == 1 && event.addedFiles\r\n && event.addedFiles.length == this.itemsLimit && this.uploadedResources.length == this.itemsLimit) {\r\n this.uploadedResources = [];\r\n }\r\n\r\n if (event.addedFiles\r\n && event.addedFiles.length + this.uploadedResources.length <= this.itemsLimit) {\r\n this.onFileSelected.emit(event);\r\n this.uploadFiles(event.addedFiles);\r\n } else {\r\n this.onFileSelectError.emit(NgtDropzoneErrorType.ITEMS_LIMIT);\r\n }\r\n } else {\r\n this.onFileSelected.emit(event);\r\n this.uploadFiles(event.addedFiles);\r\n }\r\n }\r\n\r\n public async uploadFiles(files: Array<File>) {\r\n if (files && files.length) {\r\n let temporaryFiles = [];\r\n let temporaryAttachments = [];\r\n let observables = [];\r\n\r\n this.loading = true;\r\n\r\n files.forEach(file => {\r\n observables.push(this.ngtAttachmentHttpService.upload(this.remoteResource, file).pipe(\r\n map((response: any) => {\r\n if (response && response.data) {\r\n if (response.data.attributes && response.data.attributes.data) {\r\n file['url'] = response.data.attributes.data.url;\r\n }\r\n\r\n temporaryFiles.push({\r\n id: response.data.id,\r\n size: file.size,\r\n file: file\r\n });\r\n response.data['loaded'] = true;\r\n temporaryAttachments.push(response.data);\r\n }\r\n })\r\n ));\r\n });\r\n\r\n this.subscriptions.push(\r\n forkJoin(observables).subscribe(\r\n (response) => {\r\n this.uploadedResources.push(...temporaryFiles);\r\n\r\n if (this.itemsLimit == 1) {\r\n this.onNativeChange([...temporaryAttachments]);\r\n } else {\r\n this.onNativeChange([...temporaryAttachments, ...this.nativeValue]);\r\n }\r\n\r\n this.onFileUploaded.emit();\r\n this.loading = false;\r\n },\r\n (error) => {\r\n this.onFileUploadFail.emit(error);\r\n this.loading = false;\r\n })\r\n );\r\n }\r\n }\r\n\r\n public async loadFilePreview(attachments: any) {\r\n if (attachments && attachments.length && attachments[0]) {\r\n let temporaryResource = [];\r\n let observables = [];\r\n\r\n attachments.forEach(attachment => {\r\n if (!(attachment instanceof File) && !attachment.loaded) {\r\n this.loading = true;\r\n attachment['loaded'] = true;\r\n observables.push(this.ngtAttachmentHttpService.thumbnail(attachment).pipe(\r\n map((response: any) => {\r\n temporaryResource.push({\r\n id: response.data.getApiId(),\r\n file: response.data.getAttribute('file')\r\n });\r\n })\r\n ));\r\n }\r\n });\r\n\r\n this.subscriptions.push(\r\n forkJoin(observables).subscribe(\r\n (response) => {\r\n this.uploadedResources.push(...temporaryResource);\r\n this.onNativeChange(attachments);\r\n this.onFilePreviewLoaded.emit();\r\n this.loading = false;\r\n },\r\n (error) => {\r\n this.loading = false;\r\n })\r\n );\r\n }\r\n }\r\n\r\n public onRemove(resource: any) {\r\n this.uploadedResources.splice(this.uploadedResources.indexOf(resource), 1);\r\n this.nativeValue = this.nativeValue.filter(element => element.id != resource.id);\r\n this.onNativeChange(this.nativeValue);\r\n this.onFileRemoved.emit(resource);\r\n }\r\n\r\n public isImage(resource: any) {\r\n return this.previewType == 'IMAGE' || (resource.file && resource.file.type && resource.file.type.includes('image'));\r\n }\r\n\r\n public isVideo(resource: any) {\r\n return this.previewType == 'VIDEO' || (resource.file && resource.file.type && resource.file.type.includes('video'));\r\n }\r\n\r\n public isAudio(resource: any) {\r\n return (resource.file && resource.file.type && resource.file.type.includes('audio'));\r\n }\r\n\r\n public isFile(resource: any) {\r\n return !this.isImage(resource) && !this.isAudio(resource) && !this.isVideo(resource);\r\n }\r\n\r\n public getFormattedFileSize(resource: any) {\r\n if (resource) {\r\n let size = resource.size || resource.fileSize;\r\n\r\n if (!size) {\r\n if (resource.file && resource.file.size) {\r\n size = resource.file.size;\r\n } else {\r\n size = 0;\r\n }\r\n }\r\n\r\n if (parseFloat(size) > 1000000) {\r\n return (parseFloat(size) / 1000000).toFixed(2) + ' Mb';\r\n }\r\n\r\n return Math.round(parseFloat(size) / 1000) + ' Kb';\r\n }\r\n }\r\n\r\n public onNativeChange(value: any) {\r\n if (value === undefined) {\r\n this.value = [];\r\n this.nativeValue = [];\r\n } else {\r\n this.nativeValue = value;\r\n\r\n if (JSON.stringify(this.value) != JSON.stringify(this.nativeValue)) {\r\n this.value = this.nativeValue;\r\n }\r\n }\r\n }\r\n\r\n public change(value: any) {\r\n if (value && !this.viewMode) {\r\n this.onNativeChange(Array.isArray(value) ? value : [value]);\r\n\r\n if (this.componentReady) {\r\n this.loadFilePreview(Array.isArray(value) ? value : [value]);\r\n }\r\n }\r\n }\r\n\r\n public downloadFile(attachment: any) {\r\n this.ngtAttachmentHttpService.download(attachment).subscribe(() => { });\r\n }\r\n\r\n public reset() {\r\n this.uploadedResources = [];\r\n this.value = [];\r\n this.nativeValue = [];\r\n this.initComponent();\r\n }\r\n\r\n public openFileSelector() {\r\n document.getElementById('ngxDropzone').click();\r\n }\r\n\r\n private initComponent() {\r\n if (this.viewMode) {\r\n this.previewType = NgtDropzonePreviewType.DEFAULT;\r\n\r\n return;\r\n }\r\n\r\n if (this.formContainer && this.formContainer.control\r\n && (this.formControl = this.formContainer.control.get(this.name))) {\r\n this.resetFilesLoad();\r\n this.loadFilePreview(Array.isArray(this.value) ? this.value : [this.value]);\r\n this.updateValidations();\r\n\r\n if (this.value) {\r\n this.formControl.markAsDirty();\r\n } else {\r\n this.formControl.markAsPristine();\r\n }\r\n }\r\n }\r\n\r\n private resetFilesLoad() {\r\n if (Array.isArray(this.value)) {\r\n this.value.forEach(element => {\r\n if (element) {\r\n element['loaded'] = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n private updateValidations() {\r\n if (!this.formControl) {\r\n return;\r\n }\r\n\r\n let syncValidators = [];\r\n\r\n if (this.isRequired) {\r\n syncValidators.push(Validators.required);\r\n }\r\n\r\n syncValidators.push();\r\n\r\n setTimeout(() => {\r\n this.formControl.setValidators(syncValidators);\r\n this.formControl.updateValueAndValidity();\r\n });\r\n }\r\n\r\n private destroySubscriptions() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n this.subscriptions = [];\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { NgxDropzonePreviewComponent } from 'ngx-dropzone';\r\n\r\nimport { NgtDropzoneFileTypeEnum } from '../ngt-dropzone.component';\r\n\r\n@Component({\r\n selector: 'custom-dropzone-preview',\r\n templateUrl: './custom-dropzone-preview.component.html',\r\n providers: [\r\n {\r\n provide: NgxDropzonePreviewComponent,\r\n useExisting: CustomDropzonePreviewComponent\r\n }\r\n ]\r\n})\r\nexport class CustomDropzonePreviewComponent extends NgxDropzonePreviewComponent implements OnInit {\r\n public fileType: NgtDropzoneFileTypeEnum;\r\n\r\n public constructor(public sanitizer: DomSanitizer) {\r\n super(sanitizer);\r\n }\r\n\r\n public ngOnInit(): void {\r\n if (!this.file) {\r\n console.error('No file to read. Please provide a file using the [file] Input property.');\r\n\r\n return;\r\n }\r\n\r\n this.bindFileType();\r\n }\r\n\r\n private bindFileType(): void {\r\n if (this.file.type.includes('.sheet')) {\r\n this.fileType = NgtDropzoneFileTypeEnum.XLS;\r\n } else if (this.file.type.includes('pdf')) {\r\n this.fileType = NgtDropzoneFileTypeEnum.PDF;\r\n } else if (this.file.type.includes('.document')) {\r\n this.fileType = NgtDropzoneFileTypeEnum.DOC;\r\n } else {\r\n this.fileType = NgtDropzoneFileTypeEnum.OTHER;\r\n }\r\n }\r\n}\r\n","import { AfterViewInit, Component, Input, SimpleChanges, SkipSelf, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { NgtDropzoneComponent, NgtDropzoneFile, NgtDropzoneFileTypeEnum } from '../ngt-dropzone.component';\r\n\r\n@Component({\r\n selector: 'ngt-dropzone-view',\r\n templateUrl: './ngt-dropzone-view.component.html',\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class NgtDropzoneViewComponent implements AfterViewInit {\r\n @Input() public resources: Array<any>;\r\n\r\n public images: Array<NgtDropzoneFile>;\r\n public audios: Array<NgtDropzoneFile>;\r\n public videos: Array<NgtDropzoneFile>;\r\n public files: Array<NgtDropzoneFile>;\r\n\r\n public ngtDropzoneViewFileTypeEnum = NgtDropzoneFileTypeEnum;\r\n\r\n public constructor(\r\n @SkipSelf()\r\n public ngtDropzoneComponent: NgtDropzoneComponent\r\n ) { }\r\n\r\n public ngAfterViewInit() { }\r\n\r\n public ngOnChanges(changes: SimpleChanges) {\r\n if (changes.resources) {\r\n this.loadFiles();\r\n }\r\n }\r\n\r\n public loadFiles() {\r\n this.images = this.resources.filter((resource) => this.isImage(resource));\r\n this.audios = this.resources.filter((resource) => this.isAudio(resource));\r\n this.videos = this.resources.filter((resource) => this.isVideo(resource));\r\n this.files = this.resources.filter((resource) => this.isFile(resource));\r\n }\r\n\r\n public onImageClick(index) {\r\n const imagesDiv = document.createElement(\"div\");\r\n\r\n this.images.forEach((image: NgtDropzoneFile) => {\r\n let imageElement = document.createElement(\"img\");\r\n\r\n imageElement.src = image.previewUrl;\r\n\r\n imagesDiv.appendChild(imageElement);\r\n });\r\n\r\n this.ngtDropzoneComponent.onImageClick(imagesDiv, index);\r\n }\r\n\r\n public getFileType(resource: NgtDropzoneFile): NgtDropzoneFileTypeEnum {\r\n if (resource.mimeType.includes('.sheet')) {\r\n return NgtDropzoneFileTypeEnum.XLS;\r\n }\r\n\r\n if (resource.mimeType.includes('pdf')) {\r\n return NgtDropzoneFileTypeEnum.PDF;\r\n }\r\n\r\n if (resource.mimeType.includes('.document')) {\r\n return NgtDropzoneFileTypeEnum.DOC;\r\n }\r\n\r\n return NgtDropzoneFileTypeEnum.OTHER;\r\n }\r\n\r\n private isImage(resource: NgtDropzoneFile) {\r\n return resource.mimeType.includes('image');\r\n }\r\n\r\n private isAudio(resource: NgtDropzoneFile) {\r\n return resource.mimeType.includes('audio');\r\n }\r\n\r\n private isVideo(resource: NgtDropzoneFile) {\r\n return resource.mimeType.includes('video');\r\n }\r\n\r\n private isFile(resource: NgtDropzoneFile) {\r\n return !this.isImage(resource) && !this.isAudio(resource) && !this.isVideo(resource);\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgxDocViewerModule } from 'ngx-doc-viewer';\r\nimport { NgxDropzoneModule } from 'ngx-dropzone';\r\nimport { NgxViewerModule } from 'ngx-viewer';\r\n\r\nimport { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\r\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\r\nimport { NgtValidationModule } from '../ngt-validation/ngt-validation.module';\r\nimport { CustomDropzonePreviewComponent } from './custom-dropzone-preview/custom-dropzone-preview.component';\r\nimport { NgtDropzoneFileViewerComponent } from './ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component';\r\nimport { NgtDropzoneViewComponent } from './ngt-dropzone-view/ngt-dropzone-view.component';\r\nimport { NgtDropzoneComponent } from './ngt-dropzone.component';\r\n\r\n@NgModule({\r\n exports: [NgtDropzoneComponent],\r\n declarations: [\r\n NgtDropzoneComponent,\r\n NgtDropzoneFileViewerComponent,\r\n NgtDropzoneViewComponent,\r\n CustomDropzonePreviewComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NgtValidationModule,\r\n NgxDropzoneModule,\r\n NgxViewerModule,\r\n NgtSvgModule,\r\n NgxDocViewerModule,\r\n NgtHelperModule,\r\n ]\r\n})\r\nexport class NgtDropzoneModule { }\r\n","/*\r\n * Public API Surface of ng-tailwind\r\n */\r\n\r\n//Translate\r\nexport * from './services/http/ngt-translate.service';\r\n\r\n//NgtHttpService\r\nexport * from './services/http/ngt-http.service';\r\n\r\n//NgtHttpValidationService\r\nexport * from './services/http/ngt-http-validation.service';\r\n\r\n//NgtHttpResourceService\r\nexport * from './services/http/ngt-http-resource.service';\r\n\r\n//NgtDatatable\r\nexport * from './components/ngt-datatable/ngt-datatable.module';\r\nexport * from './components/ngt-datatable/ngt-datatable.component';\r\nexport * from './components/ngt-datatable/ngt-tbody/ngt-tbody.component';\r\nexport * from './components/ngt-datatable/ngt-td/ngt-td.component';\r\nexport * from './components/ngt-datatable/ngt-td-check/ngt-td-check.component';\r\nexport * from './components/ngt-datatable/ngt-th/ngt-th.component';\r\nexport * from './components/ngt-datatable/ngt-th-check/ngt-th-check.component';\r\nexport * from './components/ngt-datatable/ngt-thead/ngt-thead.component';\r\nexport * from './components/ngt-datatable/ngt-tr/ngt-tr.component';\r\n\r\n//NgtPagination\r\nexport * from './components/ngt-pagination/ngt-pagination.module';\r\nexport * from './components/ngt-pagination/ngt-pagination.component';\r\n\r\n//NgtDropdown\r\nexport * from './components/ngt-dropdown/ngt-dropdown.module';\r\nexport * from './components/ngt-dropdown/ngt-dropdown.component';\r\nexport * from './components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component';\r\n\r\n//NgtFloatingButton\r\nexport * from './components/ngt-floating-button/ngt-floating-button.module';\r\nexport * from './components/ngt-floating-button/ngt-floating-button.component';\r\n\r\n//NgtTag\r\nexport * from './components/ngt-tag/ngt-tag.module';\r\nexport * from './components/ngt-tag/ngt-tag.component';\r\n\r\n//NgtAction\r\nexport * from './components/ngt-action/ngt-action.module';\r\nexport * from './components/ngt-action/ngt-action.component';\r\n\r\n//NgtCheckbox\r\nexport * from './components/ngt-checkbox/ngt-checkbox.module';\r\nexport * from './components/ngt-checkbox/ngt-checkbox.component';\r\n\r\n//NgtSlider\r\nexport * from './components/ngt-slider/ngt-slider.module';\r\nexport * from './components/ngt-slider/ngt-slider.component';\r\n\r\n//NgtRadioButton\r\nexport * from './components/ngt-radio-button/ngt-radio-button.module';\r\nexport * from './components/ngt-radio-button/ngt-radio-button.component';\r\nexport * from './components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component';\r\n\r\n//NgtTextarea\r\nexport * from './components/ngt-textarea/ngt-textarea.module';\r\nexport * from './components/ngt-textarea/ngt-textarea.component';\r\n\r\n//NgtModal\r\nexport * from './components/ngt-modal/ngt-modal.module';\r\nexport * from './components/ngt-modal/ngt-modal.component';\r\nexport * from './components/ngt-modal/ngt-modal-header/ngt-modal-header.component';\r\nexport * from './components/ngt-modal/ngt-modal-body/ngt-modal-body.component';\r\nexport * from './components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component';\r\n\r\n//NgtDate\r\nexport * from './components/ngt-date/ngt-date.module';\r\nexport * from './components/ngt-date/ngt-date.component';\r\n\r\n//NgtButton\r\nexport * from './components/ngt-button/ngt-button.module';\r\nexport * from './components/ngt-button/ngt-button.component';\r\n\r\n//NgtPortlet\r\nexport * from './components/ngt-portlet/ngt-portlet.module';\r\nexport * from './components/ngt-portlet/ngt-portlet.component';\r\nexport * from './components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component';\r\nexport * from './components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component';\r\nexport * from './components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component';\r\nexport * from './enums/size.enum';\r\n\r\n//NgtSidenav\r\nexport * from './components/ngt-sidenav/ngt-sidenav.module';\r\nexport * from './components/ngt-sidenav/ngt-sidenav.component';\r\n\r\n//NgtHeader\r\nexport * from './components/ngt-header-nav/ngt-header-nav.module';\r\nexport * from './components/ngt-header-nav/ngt-header-nav.component';\r\n\r\n//NgtContent\r\nexport * from './components/ngt-content/ngt-content.module';\r\nexport * from './components/ngt-content/ngt-content.component';\r\n\r\n// NgtSection\r\nexport * from './components/ngt-section/ngt-section.module';\r\nexport * from './components/ngt-section/ngt-section.component';\r\n\r\n//NgtInput\r\nexport * from './components/ngt-input/ngt-input.module';\r\nexport * from './components/ngt-input/ngt-input.component';\r\n\r\n//NgtStylizable\r\nexport * from './directives/ngt-stylizable/ngt-stylizable.module';\r\nexport * from './directives/ngt-stylizable/ngt-stylizable.directive';\r\n\r\n//NgtSelect\r\nexport * from './components/ngt-select/ngt-select.module';\r\nexport * from './components/ngt-select/ngt-select.component';\r\nexport * from './components/ngt-select/ngt-select.directive';\r\n\r\n//NgtSelectContainer\r\nexport * from './components/ngt-multi-select/ngt-multi-select.module';\r\nexport * from './components/ngt-multi-select/ngt-multi-select.component';\r\n\r\n//NgtSvg\r\nexport * from './components/ngt-svg/ngt-svg.module';\r\nexport * from './components/ngt-svg/ngt-svg.component';\r\n\r\n//NgtShining\r\nexport * from './components/ngt-shining/ngt-shining.module';\r\nexport * from './components/ngt-shining/ngt-shining.component';\r\n\r\n//NgtForm\r\nexport * from './components/ngt-form/ngt-form.module';\r\nexport * from './components/ngt-form/ngt-form.component';\r\nexport * from './components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.module';\r\nexport * from './components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component';\r\n\r\n//NgtHttpFormService\r\nexport * from './services/http/ngt-http-form.service';\r\n\r\n//NgtDropzone\r\nexport * from './components/ngt-dropzone/ngt-dropzone.module';\r\nexport * from './components/ngt-dropzone/ngt-dropzone.component';\r\nexport * from './services/http/ngt-attachment-http.service';\r\n\r\n//NgtAnimations\r\nexport * from './animations/ngt-angular-animations';\r\n\r\n// NgtHelper\r\nexport * from './components/ngt-helper/ngt-helper.module';\r\nexport * from './components/ngt-helper/ngt-helper.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {NgtBaseNgModel as ɵa,NgtMakeProvider as ɵb} from './base/ngt-base-ng-model';\nexport {CustomDropzonePreviewComponent as ɵg} from './components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component';\nexport {NgtDropzoneFileViewerComponent as ɵe} from './components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component';\nexport {NgtDropzoneViewComponent as ɵf} from './components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component';\nexport {NgtValidationComponent as ɵd} from './components/ngt-validation/ngt-validation.component';\nexport {NgtValidationModule as ɵc} from './components/ngt-validation/ngt-validation.module';"],"names":["Directive","Input","NgModule","CommonModule","NgtShiningWidth","Component","Injector","Self","Optional","EventEmitter","NG_VALUE_ACCESSOR","forwardRef","Observable","zip","NgtFormState","ControlContainer","Host","NgForm","Router","ActivatedRoute","Output","NgtCheckboxMode","trigger","state","style","transition","animate","Renderer2","SkipSelf","ViewChild","ViewEncapsulation","SvgIconComponent","ElementRef","HttpClientModule","AngularSvgIconModule","NgtDropdownOpenMethod","Validators","ChangeDetectorRef","FormsModule","ReactiveFormsModule","RouterModule","TemplateRef","NgtSelectDropdownPanelHeight","Subject","NgSelectComponent","ContentChild","NgSelectModule","NgtDatatableType","NgtDatatableSearchType","NgtDatatableParam","HostBinding","NgtFloatingButtonType","NgtSliderColorSchemeEnum","NgtDateMode","NgtDateLocale","Ng2FlatpickrModule","Size","HostListener","NgtDropzoneFileTypeEnum","NgtDropzonePreviewType","NgtDropzoneErrorType","Viewer","map","forkJoin","NgxDropzonePreviewComponent","DomSanitizer","NgxDropzoneModule","NgxViewerModule","NgxDocViewerModule"],"mappings":"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"}
|