ng-tailwind 2.27.352 → 2.28.352

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.
@@ -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 ngtFileTooLargeForPreview: 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 phoneValidation(phone: 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: any;\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 private _fontCase: 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 get fontCase(): string {\n return this._fontCase;\n }\n\n public set fontCase(fontCase: string) {\n this._fontCase = this.getQualifiedValue('', fontCase);\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 'fontCase'\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.ngtStylizableService.pl = 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 public get fontCase(): string {\n return this.ngtStylizableService.fontCase;\n }\n\n @Input('fontCase')\n public set fontCase(fontCase: string) {\n this.ngtStylizableService.fontCase = fontCase;\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 text: 'text-sm',\n fontCase: '',\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, Injector, Input, Optional, Self, ViewChild, ViewEncapsulation } from '@angular/core';\n\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';\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 helpTextColor: string;\n @Input() public helpText: string;\n @Input() public icon: string;\n @Input() public helpTitle: string;\n @Input() public iconColor: string;\n @Input() public iconTitle: string;\n @Input() public tooltipSize: string = 'max-w-xs';\n\n public ngtStyle: NgtStylizableService;\n\n public constructor(\n @Optional() @Self()\n public ngtStylizableDirective: NgtStylizableDirective,\n @Optional()\n public ngtTranslateService: NgtTranslateService,\n private injector: Injector,\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, 'NgtHelper', {\n text: 'text-sm',\n fontCase: '',\n color: {\n text: 'text-black',\n bg: 'bg-gray-200'\n }\n });\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 public isBindingYPosition: boolean = true;\n public isBindingXPosition: boolean = true;\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\n this.isXPositionReversed = !(this.containerXPosition > document.documentElement.clientWidth);\n\n return !this.isBindingXPosition && 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\n this.isYPositionReversed = this.containerYPosition > (document.documentElement.clientHeight * 0.9);\n\n return !this.isBindingYPosition && this.isYPositionReversed;\n }\n }\n\n private bindContainerXPosition(): void {\n if (!this.containerXPosition && this.containerRef.nativeElement.offsetWidth) {\n this.isBindingXPosition = true;\n\n setTimeout(() => {\n this.containerXPosition = this.containerRef.nativeElement.getBoundingClientRect().x\n + this.containerRef.nativeElement.offsetWidth;\n\n this.isBindingXPosition = false;\n });\n }\n }\n\n private bindContainerYPosition(): void {\n if (!this.containerYPosition && this.containerRef?.nativeElement.offsetHeight) {\n this.isBindingYPosition = true;\n\n setTimeout(() => {\n this.containerYPosition = this.containerRef.nativeElement.getBoundingClientRect().y\n + this.containerRef.nativeElement.offsetHeight;\n\n this.isBindingYPosition = false;\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,\n EventEmitter,\n Host,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n 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\nexport enum NgtInputMaskEnum {\n CPF = 'cpf',\n CNPJ = 'cnpj',\n CPF_CNPJ = 'cnpj-cpf',\n CPF_CNPJ_RUT = 'cnpj-cpf-rut',\n DECIMAL = 'decimal',\n CELLPHONE = 'cellphone',\n PLATE = 'plate',\n CEP = 'cep',\n INTEGER = 'integer',\n TIME = 'time',\n INTERNATIONAL_PHONE = 'international-phone'\n}\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 allowPhoneValidation: boolean;\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 @Output() public validatePhoneResult: 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 phoneValidatorTimeout: 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 text: 'text-sm',\n fontCase: '',\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 hasFocus(): boolean {\n return document.activeElement === this.element.nativeElement;\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\n if (\n (this.mask == NgtInputMaskEnum.CELLPHONE || this.mask == NgtInputMaskEnum.INTERNATIONAL_PHONE)\n && this.allowPhoneValidation && this.value\n ) {\n this.validatePhone();\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' || this.mask == 'cnpj-cpf-rut' || this.mask == '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 [NgtInputMaskEnum.CPF]: '999.999.999-99',\n [NgtInputMaskEnum.CNPJ]: '99.999.999/9999-99',\n [NgtInputMaskEnum.CPF_CNPJ_RUT]: {\n mask: ['999.999.999-99', '99.999.999/9999', '99.999.999/9999-99'],\n keepStatic: true\n },\n [NgtInputMaskEnum.CPF_CNPJ]: {\n mask: ['999.999.999-99', '99.999.999/9999-99'],\n keepStatic: true\n },\n [NgtInputMaskEnum.DECIMAL]: {\n digits: this.decimalMaskPrecision,\n groupSeparator: '.',\n radixPoint: ',',\n autoGroup: true,\n repeat: 16,\n rightAlign: false,\n max: this.maxValue,\n },\n [NgtInputMaskEnum.CELLPHONE]: {\n mask: ['(99) 9999-9999', '(99) 99999-9999'],\n keepStatic: true\n },\n [NgtInputMaskEnum.INTERNATIONAL_PHONE]: {\n mask: ['+99 (99) 9999-9999', '+99 (99) 99999-9999', '+999 (99) 9999-9999', '+999 (99) 99999-9999'],\n keepStatic: true\n },\n [NgtInputMaskEnum.PLATE]: {\n mask: ['AAA-9999', 'AAA9A99'],\n keepStatic: true\n },\n [NgtInputMaskEnum.CEP]: '99999-999',\n [NgtInputMaskEnum.INTEGER]: {\n max: this.maxValue,\n rightAlign: false\n },\n [NgtInputMaskEnum.TIME]: '99:99',\n };\n\n if (this.mask == NgtInputMaskEnum.DECIMAL) {\n Inputmask(NgtInputMaskEnum.DECIMAL, masks[this.mask]).mask(this.element.nativeElement);\n } else if (this.mask == NgtInputMaskEnum.INTEGER) {\n Inputmask(NgtInputMaskEnum.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 if (control.value && control.value.length == 12) {\n return null;\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 async validatePhone(): Promise<void> {\n if (this.phoneValidatorTimeout) {\n clearTimeout(this.phoneValidatorTimeout);\n }\n\n this.phoneValidatorTimeout = setTimeout(() => {\n this.loading = true;\n\n this.ngtValidationService.phoneValidation(this.value)\n .then((response: any) => this.validatePhoneResult.emit(response))\n .finally(() => this.loading = false);\n });\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\" || this.mask == \"cnpj-cpf-rut\") {\n value = (value + \"\")\n .replace('.', '')\n .replace('.', '')\n .replace('-', '')\n .replace('/', '');\n } else if (\n this.mask == NgtInputMaskEnum.CELLPHONE\n || this.mask == NgtInputMaskEnum.INTERNATIONAL_PHONE\n ) {\n value = (value + \"\")\n .replace('(', '')\n .replace(')', '')\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: 'border-0',\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 autoLoad: boolean;\n @Input() public allowCreate: boolean | Promise<any> | Function = false;\n @Input() public allowOriginalItemsUnselect: boolean = true;\n @Input() public isDisabled: boolean = false;\n @Input() public isReadonly: 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 guessCompareWith: boolean = true;\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 @Output() public onClear: EventEmitter<void> = new EventEmitter<void>();\n\n public nativeName = uuid();\n public ngtStyle: NgtStylizableService;\n public ngSelectItems: any = [];\n public nativeValue: any;\n public componentReady: boolean = false;\n public wasClicked: boolean;\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 hadFirstItemsLoad: 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 text: 'text-sm',\n fontCase: '',\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(): void {\n if (!this.hadFirstItemsLoad && this.canLoadItems()) {\n this.hadFirstItemsLoad = 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 || 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 this.onClear.emit();\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\n this.bindCompareWithByResponse(response);\n\n this.ngSearchObserver.next(response.data);\n\n this.onLoadRemoteResource.emit(response.data);\n\n this.currentState.pagination = response.meta.pagination;\n\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.canLoadItems()) {\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 bindCompareWithByResponse(response: NgtHttpResponse): void {\n if (this.guessCompareWith) {\n if (response.data?.length && typeof response.data[0]['getApiId'] === 'function') {\n this.compareWith = (a: any, b: any) => a.getApiId() == b.getApiId();\n } else {\n this.compareWith = (a: any, b: any) => a === b;\n }\n }\n }\n\n private hasTermInFilteredItems(term: string) {\n const filteredItems = this.ngSelectComponent.itemsList.filteredItems;\n\n if (filteredItems?.length && 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 (selectedItems?.length && 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 items = this.ngSelectComponent.itemsList.items;\n\n return items?.length && typeof items[0].value['getAttribute'] === 'function';\n }\n\n private canLoadItems(): boolean {\n return this.autoLoad || (!this.isDisabled && this.wasClicked);\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 filterTagMargin: string = 'mb-4';\n @Input() public paginationMargin: string = 'mt-2 md:mt-8';\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 });\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 });\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 name: string;\n @Input() public shining: boolean;\n @Input() public isSelectable: boolean = true;\n @Input() public isDisabled: boolean;\n\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 @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 { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\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 NgtHelperModule\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 text: 'text-sm',\n fontCase: '',\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;\n\nlet moment = require('moment');\nlet Inputmask = require('inputmask');\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 = \"dd/mm/yyyy\";\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 @Input() public showCalendarIcon: 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 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 = NgtDateLocale.BRAZIL;\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 private lastInputedDateString: string;\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 text: 'text-sm',\n fontCase: '',\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 && !this.enableTime,\n locale: this.getLocale(),\n onChange: (selectedDates, dateStr, instance) => this.onNativeChange(selectedDates, dateStr, instance, true),\n onClose: (selectedDates, dateStr, instance) => this.onNativeChange(selectedDates, dateStr, 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, dateStr: string, instance: any, triggerClose: boolean) {\n if (dateStr && this.allowInput && !this.enableTime && dateStr != this.lastInputedDateString) {\n this.lastInputedDateString = dateStr;\n\n return this.change(this.convertDateToAmericanFormat(dateStr));\n }\n\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 (this.dateFormat == 'H:i') {\n return nativeValue;\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 && !this.value) {\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 if (this.allowInput && !this.enableTime) {\n this.setupDateInputMask();\n }\n }\n }\n\n private setupDateInputMask(): void {\n if (this.locale == NgtDateLocale.BRAZIL) {\n return Inputmask('date', { mask: '99/99/9999' }).mask(this.ng2FlatpickrComponent.flatpickr['input']);\n }\n\n if (this.locale == NgtDateLocale.US) {\n return Inputmask('date', { mask: '9999-99-99' }).mask(this.ng2FlatpickrComponent.flatpickr['input']);\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 return this.locale == NgtDateLocale.US\n ? US\n : Brazil;\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 convertDateToAmericanFormat(dateTimeString: string): string {\n if (this.locale == NgtDateLocale.US) {\n return dateTimeString;\n }\n\n const splittedDate: Array<string> = dateTimeString.split('/');\n\n return `${splittedDate[2]}-${splittedDate[1]}-${splittedDate[0]}`;\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 py: 'py-6',\n px: 'px-4 md:px-8'\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 text: 'text-xl',\n fontCase: '',\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: boolean;\n @Input() public showSection: boolean = true;\n @Input() public removable: boolean;\n @Input() public helpTitle: string;\n @Input() public helpText: string;\n @Input() public helpIconColor: string;\n\n @Output() public onRemove: EventEmitter<void> = new EventEmitter();\n @Output() public onToggleSection: EventEmitter<boolean> = 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(): void {\n this.showSection = true;\n\n this.onToggleSection.emit(this.showSection);\n }\n\n public close(): void {\n this.showSection = false;\n\n this.onToggleSection.emit(this.showSection);\n }\n\n public toggle(): void {\n this.showSection = !this.showSection;\n\n this.onToggleSection.emit(this.showSection);\n }\n\n public remove(event: Event): void {\n event.stopImmediatePropagation();\n\n this.onRemove.emit();\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 { element } from 'protractor';\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 this.onNativeChange(selectableElement);\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, ViewChild } from '@angular/core';\nimport { NgxDocViewerComponent } from 'ngx-doc-viewer';\n\nimport { NgtTranslateService } from '../../../services/http/ngt-translate.service';\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 @ViewChild(NgxDocViewerComponent) public ngxDocViewer: NgxDocViewerComponent;\n\n @Input() public url: string;\n @Input() public fileName: string;\n @Input() public fileSize: number;\n\n @Output() public onClose: EventEmitter<void> = new EventEmitter();\n\n public canShowViewer: boolean;\n public loading: boolean;\n\n public constructor(\n public ngtTranslateService: NgtTranslateService\n ) { }\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(): void {\n if (this.fileSize < 5000000) {\n this.loading = true;\n this.canShowViewer = true;\n\n this.initReloadInterval();\n }\n }\n\n public close(): void {\n this.canShowViewer = false;\n this.onClose.emit();\n }\n\n public downloadFile(): void {\n let file = document.createElement(\"a\");\n\n file.target = '_blank';\n file.href = this.url;\n file.setAttribute(\"download\", this.fileName);\n file.click();\n }\n\n private initReloadInterval(): void {\n const reloadInterval = setInterval(() => {\n this.ngxDocViewer?.iframes.forEach(iframe => {\n if (iframe.nativeElement.contentDocument) {\n this.ngxDocViewer.reloadIFrame(iframe.nativeElement);\n } else {\n clearInterval(reloadInterval);\n this.loading = false;\n }\n });\n }, 3000);\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 { uuid } from '../../helpers/uuid';\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(NgxDropzoneComponent, { 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 onFileUploadInit = 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 ngxElementId: string = uuid();\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 imagePreview(index) {\n const images = this.uploadedResources.filter((resource) => this.isImage(resource));\n const imagesDiv = document.createElement(\"div\");\n\n images.forEach((image) => {\n let imageElement = document.createElement(\"img\");\n\n imageElement.src = image.file.url;\n\n imagesDiv.appendChild(imageElement);\n });\n\n this.onImageClick(imagesDiv, index);\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: string, name: string, size: number) {\n this.forceDisableClick = true;\n this.showNgtDropzoneFileViewer = true;\n this.ngtDropzoneFileViewer.url = url;\n this.ngtDropzoneFileViewer.fileName = name;\n this.ngtDropzoneFileViewer.fileSize = size;\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 this.onFileUploadInit.emit();\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(this.ngxElementId).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","Inputmask","NgtInputMaskEnum","Validators","ChangeDetectorRef","FormsModule","ReactiveFormsModule","RouterModule","TemplateRef","NgtSelectDropdownPanelHeight","Subject","NgSelectComponent","ContentChild","NgSelectModule","NgtDatatableType","NgtDatatableSearchType","NgtDatatableParam","HostBinding","NgtFloatingButtonType","NgtSliderColorSchemeEnum","NgtDateLocale","NgtDateMode","Ng2FlatpickrModule","Size","HostListener","NgxDocViewerComponent","NgtDropzoneFileTypeEnum","NgtDropzonePreviewType","NgtDropzoneErrorType","Viewer","map","forkJoin","NgxDropzoneComponent","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 {\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 ngtFileTooLargeForPreview: 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 phoneValidation(phone: 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: any;\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 private _fontCase: 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 get fontCase(): string {\n return this._fontCase;\n }\n\n public set fontCase(fontCase: string) {\n this._fontCase = this.getQualifiedValue('', fontCase);\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 'fontCase'\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.ngtStylizableService.pl = 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 public get fontCase(): string {\n return this.ngtStylizableService.fontCase;\n }\n\n @Input('fontCase')\n public set fontCase(fontCase: string) {\n this.ngtStylizableService.fontCase = fontCase;\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 text: 'text-sm',\n fontCase: '',\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, Injector, Input, Optional, Self, ViewChild, ViewEncapsulation } from '@angular/core';\n\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';\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 helpTextColor: string;\n @Input() public helpText: string;\n @Input() public icon: string;\n @Input() public helpTitle: string;\n @Input() public iconColor: string;\n @Input() public iconTitle: string;\n @Input() public tooltipSize: string = 'max-w-xs';\n\n public ngtStyle: NgtStylizableService;\n\n public constructor(\n @Optional() @Self()\n public ngtStylizableDirective: NgtStylizableDirective,\n @Optional()\n public ngtTranslateService: NgtTranslateService,\n private injector: Injector,\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, 'NgtHelper', {\n text: 'text-sm',\n fontCase: '',\n color: {\n text: 'text-black',\n bg: 'bg-gray-200'\n }\n });\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 public isBindingYPosition: boolean = true;\n public isBindingXPosition: boolean = true;\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\n this.isXPositionReversed = !(this.containerXPosition > document.documentElement.clientWidth);\n\n return !this.isBindingXPosition && 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\n this.isYPositionReversed = this.containerYPosition > (document.documentElement.clientHeight * 0.9);\n\n return !this.isBindingYPosition && this.isYPositionReversed;\n }\n }\n\n private bindContainerXPosition(): void {\n if (!this.containerXPosition && this.containerRef.nativeElement.offsetWidth) {\n this.isBindingXPosition = true;\n\n setTimeout(() => {\n this.containerXPosition = this.containerRef.nativeElement.getBoundingClientRect().x\n + this.containerRef.nativeElement.offsetWidth;\n\n this.isBindingXPosition = false;\n });\n }\n }\n\n private bindContainerYPosition(): void {\n if (!this.containerYPosition && this.containerRef?.nativeElement.offsetHeight) {\n this.isBindingYPosition = true;\n\n setTimeout(() => {\n this.containerYPosition = this.containerRef.nativeElement.getBoundingClientRect().y\n + this.containerRef.nativeElement.offsetHeight;\n\n this.isBindingYPosition = false;\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,\n EventEmitter,\n Host,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n 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\nexport enum NgtInputMaskEnum {\n CPF = 'cpf',\n CNPJ = 'cnpj',\n CPF_CNPJ = 'cnpj-cpf',\n CPF_CNPJ_RUT = 'cnpj-cpf-rut',\n DECIMAL = 'decimal',\n CELLPHONE = 'cellphone',\n PLATE = 'plate',\n CEP = 'cep',\n INTEGER = 'integer',\n TIME = 'time',\n INTERNATIONAL_PHONE = 'international-phone'\n}\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 allowPhoneValidation: boolean;\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 @Output() public validatePhoneResult: 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 phoneValidatorTimeout: 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 text: 'text-sm',\n fontCase: '',\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 hasFocus(): boolean {\n return document.activeElement === this.element.nativeElement;\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\n if (\n (this.mask == NgtInputMaskEnum.CELLPHONE || this.mask == NgtInputMaskEnum.INTERNATIONAL_PHONE)\n && this.allowPhoneValidation && this.value\n ) {\n this.validatePhone();\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' || this.mask == 'cnpj-cpf-rut' || this.mask == '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 [NgtInputMaskEnum.CPF]: '999.999.999-99',\n [NgtInputMaskEnum.CNPJ]: '99.999.999/9999-99',\n [NgtInputMaskEnum.CPF_CNPJ_RUT]: {\n mask: ['999.999.999-99', '99.999.999/9999', '99.999.999/9999-99'],\n keepStatic: true\n },\n [NgtInputMaskEnum.CPF_CNPJ]: {\n mask: ['999.999.999-99', '99.999.999/9999-99'],\n keepStatic: true\n },\n [NgtInputMaskEnum.DECIMAL]: {\n digits: this.decimalMaskPrecision,\n groupSeparator: '.',\n radixPoint: ',',\n autoGroup: true,\n repeat: 16,\n rightAlign: false,\n max: this.maxValue,\n },\n [NgtInputMaskEnum.CELLPHONE]: {\n mask: ['(99) 9999-9999', '(99) 99999-9999'],\n keepStatic: true\n },\n [NgtInputMaskEnum.INTERNATIONAL_PHONE]: {\n mask: ['+99 (99) 9999-9999', '+99 (99) 99999-9999', '+999 (99) 9999-9999', '+999 (99) 99999-9999'],\n keepStatic: true\n },\n [NgtInputMaskEnum.PLATE]: {\n mask: ['AAA-9999', 'AAA9A99'],\n keepStatic: true\n },\n [NgtInputMaskEnum.CEP]: '99999-999',\n [NgtInputMaskEnum.INTEGER]: {\n max: this.maxValue,\n rightAlign: false\n },\n [NgtInputMaskEnum.TIME]: '99:99',\n };\n\n if (this.mask == NgtInputMaskEnum.DECIMAL) {\n Inputmask(NgtInputMaskEnum.DECIMAL, masks[this.mask]).mask(this.element.nativeElement);\n } else if (this.mask == NgtInputMaskEnum.INTEGER) {\n Inputmask(NgtInputMaskEnum.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: 30\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 if (control.value && control.value.length == 12) {\n return null;\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 async validatePhone(): Promise<void> {\n if (this.phoneValidatorTimeout) {\n clearTimeout(this.phoneValidatorTimeout);\n }\n\n this.phoneValidatorTimeout = setTimeout(() => {\n this.loading = true;\n\n this.ngtValidationService.phoneValidation(this.value)\n .then((response: any) => this.validatePhoneResult.emit(response))\n .finally(() => this.loading = false);\n });\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\" || this.mask == \"cnpj-cpf-rut\") {\n value = (value + \"\")\n .replace('.', '')\n .replace('.', '')\n .replace('-', '')\n .replace('/', '');\n } else if (\n this.mask == NgtInputMaskEnum.CELLPHONE\n || this.mask == NgtInputMaskEnum.INTERNATIONAL_PHONE\n ) {\n value = (value + \"\")\n .replace('(', '')\n .replace(')', '')\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: 'border-0',\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 autoLoad: boolean;\n @Input() public allowCreate: boolean | Promise<any> | Function = false;\n @Input() public allowOriginalItemsUnselect: boolean = true;\n @Input() public isDisabled: boolean = false;\n @Input() public isReadonly: 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 guessCompareWith: boolean = true;\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 @Output() public onClear: EventEmitter<void> = new EventEmitter<void>();\n\n public nativeName = uuid();\n public ngtStyle: NgtStylizableService;\n public ngSelectItems: any = [];\n public nativeValue: any;\n public componentReady: boolean = false;\n public wasClicked: boolean;\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 hadFirstItemsLoad: 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 text: 'text-sm',\n fontCase: '',\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(): void {\n if (!this.hadFirstItemsLoad && this.canLoadItems()) {\n this.hadFirstItemsLoad = 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 || 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 this.onClear.emit();\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\n this.bindCompareWithByResponse(response);\n\n this.ngSearchObserver.next(response.data);\n\n this.onLoadRemoteResource.emit(response.data);\n\n this.currentState.pagination = response.meta.pagination;\n\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.canLoadItems()) {\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 bindCompareWithByResponse(response: NgtHttpResponse): void {\n if (this.guessCompareWith) {\n if (response.data?.length && typeof response.data[0]['getApiId'] === 'function') {\n this.compareWith = (a: any, b: any) => a.getApiId() == b.getApiId();\n } else {\n this.compareWith = (a: any, b: any) => a === b;\n }\n }\n }\n\n private hasTermInFilteredItems(term: string) {\n const filteredItems = this.ngSelectComponent.itemsList.filteredItems;\n\n if (filteredItems?.length && 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 (selectedItems?.length && 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 items = this.ngSelectComponent.itemsList.items;\n\n return items?.length && typeof items[0].value['getAttribute'] === 'function';\n }\n\n private canLoadItems(): boolean {\n return this.autoLoad || (!this.isDisabled && this.wasClicked);\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 filterTagMargin: string = 'mb-4';\n @Input() public paginationMargin: string = 'mt-2 md:mt-8';\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 });\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 });\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 name: string;\n @Input() public shining: boolean;\n @Input() public isSelectable: boolean = true;\n @Input() public isDisabled: boolean;\n\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 @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 { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\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 NgtHelperModule\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 text: 'text-sm',\n fontCase: '',\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;\n\nlet moment = require('moment');\nlet Inputmask = require('inputmask');\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 = \"dd/mm/yyyy\";\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 @Input() public showCalendarIcon: 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 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 = NgtDateLocale.BRAZIL;\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 private lastInputedDateString: string;\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 text: 'text-sm',\n fontCase: '',\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 && !this.enableTime,\n locale: this.getLocale(),\n onChange: (selectedDates, dateStr, instance) => this.onNativeChange(selectedDates, dateStr, instance, true),\n onClose: (selectedDates, dateStr, instance) => this.onNativeChange(selectedDates, dateStr, 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, dateStr: string, instance: any, triggerClose: boolean) {\n if (dateStr && this.allowInput && !this.enableTime && dateStr != this.lastInputedDateString) {\n this.lastInputedDateString = dateStr;\n\n return this.change(this.convertDateToAmericanFormat(dateStr));\n }\n\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 (this.dateFormat == 'H:i') {\n return nativeValue;\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 && !this.value) {\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 if (this.allowInput && !this.enableTime) {\n this.setupDateInputMask();\n }\n }\n }\n\n private setupDateInputMask(): void {\n if (this.locale == NgtDateLocale.BRAZIL) {\n return Inputmask('date', { mask: '99/99/9999' }).mask(this.ng2FlatpickrComponent.flatpickr['input']);\n }\n\n if (this.locale == NgtDateLocale.US) {\n return Inputmask('date', { mask: '9999-99-99' }).mask(this.ng2FlatpickrComponent.flatpickr['input']);\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 return this.locale == NgtDateLocale.US\n ? US\n : Brazil;\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 convertDateToAmericanFormat(dateTimeString: string): string {\n if (this.locale == NgtDateLocale.US) {\n return dateTimeString;\n }\n\n const splittedDate: Array<string> = dateTimeString.split('/');\n\n return `${splittedDate[2]}-${splittedDate[1]}-${splittedDate[0]}`;\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 py: 'py-6',\n px: 'px-4 md:px-8'\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 text: 'text-xl',\n fontCase: '',\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: boolean;\n @Input() public showSection: boolean = true;\n @Input() public removable: boolean;\n @Input() public helpTitle: string;\n @Input() public helpText: string;\n @Input() public helpIconColor: string;\n\n @Output() public onRemove: EventEmitter<void> = new EventEmitter();\n @Output() public onToggleSection: EventEmitter<boolean> = 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(): void {\n this.showSection = true;\n\n this.onToggleSection.emit(this.showSection);\n }\n\n public close(): void {\n this.showSection = false;\n\n this.onToggleSection.emit(this.showSection);\n }\n\n public toggle(): void {\n this.showSection = !this.showSection;\n\n this.onToggleSection.emit(this.showSection);\n }\n\n public remove(event: Event): void {\n event.stopImmediatePropagation();\n\n this.onRemove.emit();\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 { element } from 'protractor';\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 this.onNativeChange(selectableElement);\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, ViewChild } from '@angular/core';\nimport { NgxDocViewerComponent } from 'ngx-doc-viewer';\n\nimport { NgtTranslateService } from '../../../services/http/ngt-translate.service';\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 @ViewChild(NgxDocViewerComponent) public ngxDocViewer: NgxDocViewerComponent;\n\n @Input() public url: string;\n @Input() public fileName: string;\n @Input() public fileSize: number;\n\n @Output() public onClose: EventEmitter<void> = new EventEmitter();\n\n public canShowViewer: boolean;\n public loading: boolean;\n\n public constructor(\n public ngtTranslateService: NgtTranslateService\n ) { }\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(): void {\n if (this.fileSize < 5000000) {\n this.loading = true;\n this.canShowViewer = true;\n\n this.initReloadInterval();\n }\n }\n\n public close(): void {\n this.canShowViewer = false;\n this.onClose.emit();\n }\n\n public downloadFile(): void {\n let file = document.createElement(\"a\");\n\n file.target = '_blank';\n file.href = this.url;\n file.setAttribute(\"download\", this.fileName);\n file.click();\n }\n\n private initReloadInterval(): void {\n const reloadInterval = setInterval(() => {\n this.ngxDocViewer?.iframes.forEach(iframe => {\n if (iframe.nativeElement.contentDocument) {\n this.ngxDocViewer.reloadIFrame(iframe.nativeElement);\n } else {\n clearInterval(reloadInterval);\n this.loading = false;\n }\n });\n }, 3000);\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 { uuid } from '../../helpers/uuid';\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(NgxDropzoneComponent, { 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 onFileUploadInit = 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 ngxElementId: string = uuid();\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 imagePreview(index) {\n const images = this.uploadedResources.filter((resource) => this.isImage(resource));\n const imagesDiv = document.createElement(\"div\");\n\n images.forEach((image) => {\n let imageElement = document.createElement(\"img\");\n\n imageElement.src = image.file.url;\n\n imagesDiv.appendChild(imageElement);\n });\n\n this.onImageClick(imagesDiv, index);\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: string, name: string, size: number) {\n this.forceDisableClick = true;\n this.showNgtDropzoneFileViewer = true;\n this.ngtDropzoneFileViewer.url = url;\n this.ngtDropzoneFileViewer.fileName = name;\n this.ngtDropzoneFileViewer.fileSize = size;\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 this.onFileUploadInit.emit();\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(this.ngxElementId).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","Inputmask","NgtInputMaskEnum","Validators","ChangeDetectorRef","FormsModule","ReactiveFormsModule","RouterModule","TemplateRef","NgtSelectDropdownPanelHeight","Subject","NgSelectComponent","ContentChild","NgSelectModule","NgtDatatableType","NgtDatatableSearchType","NgtDatatableParam","HostBinding","NgtFloatingButtonType","NgtSliderColorSchemeEnum","NgtDateLocale","NgtDateMode","Ng2FlatpickrModule","Size","HostListener","NgxDocViewerComponent","NgtDropzoneFileTypeEnum","NgtDropzonePreviewType","NgtDropzoneErrorType","Viewer","map","forkJoin","NgxDropzoneComponent","NgxDropzonePreviewComponent","DomSanitizer","NgxDropzoneModule","NgxViewerModule","NgxDocViewerModule"],"mappings":"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"}