ng-tailwind 3.30.366 → 3.30.367

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/components/ngt-popover/ngt-popover.component.ts","../../../projects/ng-tailwind/src/components/ngt-popover/ngt-popover.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 public abstract ngtFileTooLargeForPreviewNoDownloadPermission: 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 (g && (g = 0, op[0] && (_ = 0)), _) 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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\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, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\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 helpTitle: string;\n @Input() public icon: string;\n @Input() public iconSize: 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 px: 'px-2',\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 closeTimeout: number = 1000;\n @Input() public openMethod: NgtDropdownOpenMethod = NgtDropdownOpenMethod.HOVER;\n\n @Output() public onToggle: EventEmitter<boolean> = new EventEmitter();\n @Output() public onHostClick: EventEmitter<any> = 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 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, host: any, container: any): void {\n this.onHostClick?.emit();\n\n if (this.isClickMethod()) {\n event.preventDefault();\n event.stopPropagation();\n\n this.toggle();\n }\n\n if (this.openMethod == NgtDropdownOpenMethod.POPOVER_CLICK) {\n this.watchHover(host, container);\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 }, this.closeTimeout);\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 private isClickMethod(): boolean {\n return this.openMethod == NgtDropdownOpenMethod.CLICK\n || this.openMethod == NgtDropdownOpenMethod.POPOVER_CLICK;\n }\n}\n\nexport enum NgtDropdownOpenMethod {\n CLICK = 'CLICK',\n POPOVER_CLICK = 'POPOVER_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 { NgtTranslateService } from '../../public-api';\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 @Input() public showCharactersLength: boolean = false;\n\n //Behavior\n @Input() public isDisabled: boolean;\n @Input() public isReadonly: boolean;\n @Input() public showRoundedIcon: 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 maxTotalCharsCount: number;\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 @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, '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 public getRemainingCharacters() {\n if (this.element?.nativeElement?.value?.length) {\n if ((this.maxTotalCharsCount - this.element.nativeElement.value.length) > 0) {\n return this.maxTotalCharsCount - this.element.nativeElement.value.length;\n } else {\n return 0;\n }\n }\n\n return this.maxTotalCharsCount;\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.maxTotalCharsCount = this.maxLength;\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) 999-999', '(99) 9999-9999', '(99) 99999-9999'],\n keepStatic: true\n },\n [NgtInputMaskEnum.INTERNATIONAL_PHONE]: {\n mask: ['+999 99 999-999', '+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 inputAttrs: { [key: string]: string };\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?: string, refresh: boolean = true): void {\n if (reference && !this.hasAppliedFilter(reference)) {\n return;\n }\n\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 if (refresh) {\n this.apply(this.ngtPagination.getCurrentPage(), false).then(() => this.cleaningFilter = false);\n }\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 {\n Component,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n OnDestroy,\n Optional,\n Output,\n Self,\n SkipSelf,\n ViewChild,\n} 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 isDisabled: boolean;\n @Input() public checked: boolean = false;\n @Output() public onCheckboxInit: EventEmitter<any> = new EventEmitter();\n\n public ngtStyle: NgtStylizableService;\n\n private id: string = uuid();\n private subscriptions: Array<Subscription> = [];\n private isFirstChange: boolean = true;\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(): void {\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(): void {\n this.destroySubscriptions();\n }\n\n public onCheckboxChange(checked: boolean): void {\n if (this.ngtDataTable && !this.isFirstChange) {\n this.ngtDataTable.onToogleCheckbox.emit({\n id: this.id,\n checked: checked,\n reference: this.reference\n });\n }\n\n this.isFirstChange = false;\n }\n\n private bindNgtStyle(): void {\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(): void {\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 showCharactersLength: boolean = false;\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\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 { NgtHelperModule } from '../ngt-helper/ngt-helper.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 NgtHelperModule,\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 { EloverdeDocViewerComponent } from 'eloverde-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(EloverdeDocViewerComponent) public eloverdeDocViewer: EloverdeDocViewerComponent;\n\n @Input() public url: string;\n @Input() public fileName: string;\n @Input() public fileSize: number;\n @Input() public disableContent: string = 'none';\n @Input() public canDownloadFile: boolean = true;\n\n @Output() public onClose: EventEmitter<void> = new EventEmitter();\n\n public canShowViewer: boolean;\n public loading: boolean;\n public maxFileSize: number = 10000000; /** 10 MB */\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\n setTimeout(() => this.onClose.emit(), 500);\n }\n }\n\n public init(): void {\n if (this.fileSize < this.maxFileSize) {\n this.loading = true;\n this.canShowViewer = true;\n }\n }\n\n public close(): void {\n this.canShowViewer = false;\n }\n\n public handleClose(): void {\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","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 canDownloadFile: boolean = true;\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 { EloverdeDocViewerModule } from 'eloverde-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 EloverdeDocViewerModule,\n NgtHelperModule\n ]\n})\nexport class NgtDropzoneModule { }\n","import { Component, ElementRef, EventEmitter, Injector, Input, Optional, Output, Self, ViewChild } 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-popover',\n templateUrl: './ngt-popover.component.html'\n})\n\nexport class NgtPopoverComponent {\n @ViewChild('dropdownRef', { static: true }) public dropdownRef: ElementRef;\n @ViewChild('hostDiv') public hostDiv: ElementRef;\n\n @Input() public closeTimeout: number;\n @Input() public openMethod: string = NgtPopoverOpenMethod.HOVER;\n\n @Input() public closeOnClick: boolean;\n @Input() public placeOnBottom: boolean;\n @Input() public placeOnLeft: boolean;\n\n @Output() public onClick: EventEmitter<any> = new EventEmitter();\n\n public ngtStyle: NgtStylizableService;\n\n public stylesToCompile: Array<string> = ['h', 'w', 'px', 'py', 'm', 'mx', 'my', 'shadow', 'text', 'border', 'color.border', 'color.bg', 'color.text'];\n\n private clickTimeout;\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, 'NgtPopover', {\n text: 'text-sm',\n fontCase: '',\n py: 'py-3',\n px: 'px-2',\n border: 'border',\n color: {\n border: 'border-gray-400',\n text: 'text-black',\n bg: 'bg-white'\n },\n });\n }\n\n public fireClickEvent(): void {\n if (this.clickTimeout) {\n clearTimeout(this.clickTimeout);\n }\n\n this.clickTimeout = setTimeout(() => {\n this.onClick.emit();\n\n const event = new MouseEvent('click', {bubbles: true});\n\n event.preventDefault();\n event.stopPropagation();\n\n this.hostDiv.nativeElement.dispatchEvent(event);\n }, 500);\n }\n}\n\nexport enum NgtPopoverOpenMethod {\n CLICK = 'CLICK',\n POPOVER_CLICK = 'POPOVER_CLICK',\n RIGHT_CLICK = 'RIGHT_CLICK',\n HOVER = 'HOVER'\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtDropdownModule } from '../ngt-dropdown/ngt-dropdown.module';\nimport { NgtPopoverComponent } from './ngt-popover.component';\n\n@NgModule({\n declarations: [ NgtPopoverComponent ],\n exports: [ NgtPopoverComponent ],\n imports: [\n CommonModule,\n NgtDropdownModule\n ]\n})\nexport class NgtPopoverModule { }\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// NgtPopover\nexport * from './components/ngt-popover/ngt-popover.module';\nexport * from './components/ngt-popover/ngt-popover.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","EloverdeDocViewerComponent","NgtDropzoneFileTypeEnum","NgtDropzonePreviewType","NgtDropzoneErrorType","Viewer","map","forkJoin","NgxDropzoneComponent","NgxDropzonePreviewComponent","DomSanitizer","NgxDropzoneModule","NgxViewerModule","EloverdeDocViewerModule","NgtPopoverOpenMethod"],"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/components/ngt-popover/ngt-popover.component.ts","../../../projects/ng-tailwind/src/components/ngt-popover/ngt-popover.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 public abstract ngtFileTooLargeForPreviewNoDownloadPermission: 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 (g && (g = 0, op[0] && (_ = 0)), _) 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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\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, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\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 helpTitle: string;\n @Input() public icon: string;\n @Input() public iconSize: 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 px: 'px-2',\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 closeTimeout: number = 1000;\n @Input() public openMethod: NgtDropdownOpenMethod = NgtDropdownOpenMethod.HOVER;\n\n @Output() public onToggle: EventEmitter<boolean> = new EventEmitter();\n @Output() public onHostClick: EventEmitter<any> = 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 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, host: any, container: any): void {\n this.onHostClick?.emit();\n\n if (this.isClickMethod()) {\n event.preventDefault();\n event.stopPropagation();\n\n this.toggle();\n }\n\n if (this.openMethod == NgtDropdownOpenMethod.POPOVER_CLICK) {\n this.watchHover(host, container);\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 }, this.closeTimeout);\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 private isClickMethod(): boolean {\n return this.openMethod == NgtDropdownOpenMethod.CLICK\n || this.openMethod == NgtDropdownOpenMethod.POPOVER_CLICK;\n }\n}\n\nexport enum NgtDropdownOpenMethod {\n CLICK = 'CLICK',\n POPOVER_CLICK = 'POPOVER_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 { NgtTranslateService } from '../../public-api';\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 @Input() public showCharactersLength: boolean = false;\n\n //Behavior\n @Input() public isDisabled: boolean;\n @Input() public isReadonly: boolean;\n @Input() public showRoundedIcon: 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 maxTotalCharsCount: number;\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 @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, '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 public getRemainingCharacters() {\n if (this.element?.nativeElement?.value?.length) {\n if ((this.maxTotalCharsCount - this.element.nativeElement.value.length) > 0) {\n return this.maxTotalCharsCount - this.element.nativeElement.value.length;\n } else {\n return 0;\n }\n }\n\n return this.maxTotalCharsCount;\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.maxTotalCharsCount = this.maxLength;\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) 999-999', '(99) 9999-9999', '(99) 99999-9999'],\n keepStatic: true\n },\n [NgtInputMaskEnum.INTERNATIONAL_PHONE]: {\n mask: ['+999 99 999-999', '+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 inputAttrs: { [key: string]: string };\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?: string, refresh: boolean = true): void {\n if (reference && !this.hasAppliedFilter(reference)) {\n return;\n }\n\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 if (refresh) {\n this.apply(this.ngtPagination.getCurrentPage(), false).then(() => this.cleaningFilter = false);\n }\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 {\n Component,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n OnDestroy,\n Optional,\n Output,\n Self,\n SkipSelf,\n ViewChild,\n} 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 isDisabled: boolean;\n @Input() public checked: boolean = false;\n @Output() public onCheckboxInit: EventEmitter<any> = new EventEmitter();\n\n public ngtStyle: NgtStylizableService;\n\n private id: string = uuid();\n private subscriptions: Array<Subscription> = [];\n private isFirstChange: boolean = true;\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(): void {\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(): void {\n this.destroySubscriptions();\n }\n\n public onCheckboxChange(checked: boolean): void {\n if (this.ngtDataTable && !this.isFirstChange) {\n this.ngtDataTable.onToogleCheckbox.emit({\n id: this.id,\n checked: checked,\n reference: this.reference\n });\n }\n\n this.isFirstChange = false;\n }\n\n private bindNgtStyle(): void {\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(): void {\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 showCharactersLength: boolean = false;\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\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 { NgtHelperModule } from '../ngt-helper/ngt-helper.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 NgtHelperModule,\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 { EloverdeDocViewerComponent } from 'eloverde-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(EloverdeDocViewerComponent) public eloverdeDocViewer: EloverdeDocViewerComponent;\n\n @Input() public url: string;\n @Input() public fileName: string;\n @Input() public fileSize: number;\n @Input() public disableContent: string = 'none';\n @Input() public canDownloadFile: boolean = true;\n\n @Output() public onClose: EventEmitter<void> = new EventEmitter();\n\n public canShowViewer: boolean;\n public loading: boolean;\n public maxFileSize: number = 10000000; /** 10 MB */\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\n setTimeout(() => this.onClose.emit(), 500);\n }\n }\n\n public init(): void {\n if (this.fileSize < this.maxFileSize) {\n this.loading = true;\n this.canShowViewer = true;\n }\n }\n\n public close(): void {\n this.canShowViewer = false;\n this.onClose.emit();\n }\n\n public handleClose(): void {\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","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 DWG = 'DWG',\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 canDownloadFile: boolean = true;\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'\n || (\n resource.file && resource.file.type\n && resource.file.type.includes('image')\n && !resource.file.type.includes('dwg')\n );\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 if (this.file.type.includes('.dwg')) {\n this.fileType = NgtDropzoneFileTypeEnum.DWG;\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 { EloverdeDocViewerModule } from 'eloverde-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 EloverdeDocViewerModule,\n NgtHelperModule\n ]\n})\nexport class NgtDropzoneModule { }\n","import { Component, ElementRef, EventEmitter, Injector, Input, Optional, Output, Self, ViewChild } 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-popover',\n templateUrl: './ngt-popover.component.html'\n})\n\nexport class NgtPopoverComponent {\n @ViewChild('dropdownRef', { static: true }) public dropdownRef: ElementRef;\n @ViewChild('hostDiv') public hostDiv: ElementRef;\n\n @Input() public closeTimeout: number;\n @Input() public openMethod: string = NgtPopoverOpenMethod.HOVER;\n\n @Input() public closeOnClick: boolean;\n @Input() public placeOnBottom: boolean;\n @Input() public placeOnLeft: boolean;\n\n @Output() public onClick: EventEmitter<any> = new EventEmitter();\n\n public ngtStyle: NgtStylizableService;\n\n public stylesToCompile: Array<string> = ['h', 'w', 'px', 'py', 'm', 'mx', 'my', 'shadow', 'text', 'border', 'color.border', 'color.bg', 'color.text'];\n\n private clickTimeout;\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, 'NgtPopover', {\n text: 'text-sm',\n fontCase: '',\n py: 'py-3',\n px: 'px-2',\n border: 'border',\n color: {\n border: 'border-gray-400',\n text: 'text-black',\n bg: 'bg-white'\n },\n });\n }\n\n public fireClickEvent(): void {\n if (this.clickTimeout) {\n clearTimeout(this.clickTimeout);\n }\n\n this.clickTimeout = setTimeout(() => {\n this.onClick.emit();\n\n const event = new MouseEvent('click', {bubbles: true});\n\n event.preventDefault();\n event.stopPropagation();\n\n this.hostDiv.nativeElement.dispatchEvent(event);\n }, 500);\n }\n}\n\nexport enum NgtPopoverOpenMethod {\n CLICK = 'CLICK',\n POPOVER_CLICK = 'POPOVER_CLICK',\n RIGHT_CLICK = 'RIGHT_CLICK',\n HOVER = 'HOVER'\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtDropdownModule } from '../ngt-dropdown/ngt-dropdown.module';\nimport { NgtPopoverComponent } from './ngt-popover.component';\n\n@NgModule({\n declarations: [ NgtPopoverComponent ],\n exports: [ NgtPopoverComponent ],\n imports: [\n CommonModule,\n NgtDropdownModule\n ]\n})\nexport class NgtPopoverModule { }\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// NgtPopover\nexport * from './components/ngt-popover/ngt-popover.module';\nexport * from './components/ngt-popover/ngt-popover.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","EloverdeDocViewerComponent","NgtDropzoneFileTypeEnum","NgtDropzonePreviewType","NgtDropzoneErrorType","Viewer","map","forkJoin","NgxDropzoneComponent","NgxDropzonePreviewComponent","DomSanitizer","NgxDropzoneModule","NgxViewerModule","EloverdeDocViewerModule","NgtPopoverOpenMethod"],"mappings":"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"}