ng-tailwind 6.4.1 → 6.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ng-tailwind.mjs +295 -295
- package/fesm2022/ng-tailwind.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-tailwind.mjs","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/validation/ngt-ability-validation.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-svg/ngt-svg.component.ts","../../../projects/ng-tailwind/src/components/ngt-svg/ngt-svg.component.html","../../../projects/ng-tailwind/src/components/ngt-svg/ngt-svg.module.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-validation-message/ngt-form-validation-message.component.ts","../../../projects/ng-tailwind/src/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.html","../../../projects/ng-tailwind/src/components/ngt-form/ngt-form.component.ts","../../../projects/ng-tailwind/src/components/ngt-form/ngt-form.component.html","../../../projects/ng-tailwind/src/helpers/enum/enum.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-container/ngt-dropdown-container.component.html","../../../projects/ng-tailwind/src/components/ngt-dropdown/ngt-dropdown.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropdown/ngt-dropdown.component.html","../../../projects/ng-tailwind/src/components/ngt-helper/ngt-helper.component.ts","../../../projects/ng-tailwind/src/components/ngt-helper/ngt-helper.component.html","../../../projects/ng-tailwind/src/components/ngt-section/ngt-section.component.ts","../../../projects/ng-tailwind/src/components/ngt-section/ngt-section.component.html","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.html","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.html","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.html","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal.component.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal.component.html","../../../projects/ng-tailwind/src/components/ngt-action/ngt-action.component.ts","../../../projects/ng-tailwind/src/components/ngt-action/ngt-action.component.html","../../../projects/ng-tailwind/src/components/ngt-action/ngt-action.module.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-shining/ngt-shining.component.ts","../../../projects/ng-tailwind/src/components/ngt-shining/ngt-shining.component.html","../../../projects/ng-tailwind/src/components/ngt-shining/ngt-shining.module.ts","../../../projects/ng-tailwind/src/base/ngt-base-ng-model.ts","../../../projects/ng-tailwind/src/components/ngt-checkbox/ngt-checkbox.component.ts","../../../projects/ng-tailwind/src/components/ngt-checkbox/ngt-checkbox.component.html","../../../projects/ng-tailwind/src/components/ngt-checkbox/ngt-checkbox.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.component.html","../../../projects/ng-tailwind/src/components/ngt-validation/ngt-validation.module.ts","../../../projects/ng-tailwind/src/helpers/input-mask/input-mask.helper.ts","../../../projects/ng-tailwind/src/components/ngt-input/ngt-input.component.ts","../../../projects/ng-tailwind/src/components/ngt-input/ngt-input.component.html","../../../projects/ng-tailwind/src/components/ngt-input/ngt-input.module.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal.module.ts","../../../projects/ng-tailwind/src/components/ngt-select/ngt-select.directive.ts","../../../projects/ng-tailwind/src/helpers/promise/promise-helper.ts","../../../projects/ng-tailwind/src/components/ngt-select/ngt-select.component.ts","../../../projects/ng-tailwind/src/components/ngt-select/ngt-select.component.html","../../../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.component.html","../../../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.component.html","../../../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-datatable.component.html","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-tbody/ngt-tbody.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-tbody/ngt-tbody.component.html","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-td-check/ngt-td-check.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-td-check/ngt-td-check.component.html","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-td/ngt-td.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-td/ngt-td.component.html","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-th-check/ngt-th-check.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-th-check/ngt-th-check.component.html","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-th/ngt-th.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-th/ngt-th.component.html","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-thead/ngt-thead.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-thead/ngt-thead.component.html","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-tr/ngt-tr.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-tr/ngt-tr.component.html","../../../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.component.html","../../../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.component.html","../../../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-container/ngt-radio-button-container.component.html","../../../projects/ng-tailwind/src/components/ngt-radio-button/ngt-radio-button.component.ts","../../../projects/ng-tailwind/src/components/ngt-radio-button/ngt-radio-button.component.html","../../../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.component.html","../../../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.component.html","../../../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.component.html","../../../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-body/ngt-portlet-body.component.html","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.ts","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.html","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.ts","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.html","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet.component.ts","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet.component.html","../../../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.component.html","../../../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.component.html","../../../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.component.html","../../../projects/ng-tailwind/src/components/ngt-content/ngt-content.module.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.component.html","../../../projects/ng-tailwind/src/components/ngt-multi-select/ngt-multi-select.module.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone.meta.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.html","../../../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-file-viewer/ngt-dropzone-file-viewer.component.html","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.html","../../../projects/ng-tailwind/src/services/http/ngt-attachment-http.service.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone.component.html","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone.module.ts","../../../projects/ng-tailwind/src/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.ts","../../../projects/ng-tailwind/src/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.html","../../../projects/ng-tailwind/src/components/ngt-popover/ngt-popover.component.ts","../../../projects/ng-tailwind/src/components/ngt-popover/ngt-popover.component.html","../../../projects/ng-tailwind/src/components/ngt-popover/ngt-popover.directive.ts","../../../projects/ng-tailwind/src/components/ngt-popover/ngt-popover.module.ts","../../../projects/ng-tailwind/src/components/ngt-context-menu/ngt-context-menu.component.ts","../../../projects/ng-tailwind/src/components/ngt-context-menu/ngt-context-menu.component.html","../../../projects/ng-tailwind/src/components/ngt-context-menu/ngt-context-menu.directive.ts","../../../projects/ng-tailwind/src/components/ngt-context-menu/ngt-context-menu.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 ngtDatatableSelectAllRegisters: string;\n public abstract ngtDatatableClearSelection: 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 ngtValidationLogin: string;\n public abstract ngtValidationInvalidPassword: 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 public abstract get(connector: any, filters: any, pagination: NgtHttpPagination, sort?: NgtHttpSort): Observable<NgtHttpResponse>;\n\n public abstract post(data: any): Observable<any>;\n\n public abstract put(data: any): Observable<any>;\n\n public 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 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 public abstract emailValidation(email: string): Promise<NgtHttpValidationResponse>;\n\n public abstract phoneValidation(phone: string): Promise<NgtHttpValidationResponse>;\n\n public abstract passwordValidation(password: string, passwordableId?: string, passwordPolicyId?: string): 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","export abstract class NgtAbilityValidationService {\n public abstract hasManagePermission(): Promise<boolean>;\n\n public abstract isSectionHidden(section: string): Promise<boolean>;\n\n public abstract isSectionEnabled(section: string): Promise<boolean>;\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 _gap: 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 get h(): string {\n return this._h;\n }\n\n public get w(): string {\n return this._w;\n }\n\n public get p(): string {\n return this._p;\n }\n\n public get px(): string {\n return this._px;\n }\n\n public get py(): string {\n return this._py;\n }\n\n public get pt(): string {\n return this._pt;\n }\n\n public get pr(): string {\n return this._pr;\n }\n\n public get pb(): string {\n return this._pb;\n }\n\n public get pl(): string {\n return this._pl;\n }\n\n public get m(): string {\n return this._m;\n }\n\n public get mx(): string {\n return this._mx;\n }\n\n public get my(): string {\n return this._my;\n }\n\n public get mt(): string {\n return this._mt;\n }\n\n public get mr(): string {\n return this._mr;\n }\n\n public get mb(): string {\n return this._mb;\n }\n\n public get ml(): string {\n return this._ml;\n }\n\n public get gap(): string {\n return this._gap;\n }\n\n public get border(): string {\n return this._border;\n }\n\n public get shadow(): string {\n return this._shadow;\n }\n\n public get rounded(): string {\n return this._rounded;\n }\n\n public get font(): string {\n return this._font;\n }\n\n public get text(): string {\n return this._text;\n }\n\n public get breakWords(): string {\n return this._breakWords;\n }\n\n public get overflow(): string {\n return this._overflow;\n }\n\n public get position(): string {\n return this._position;\n }\n\n public get justifyContent(): string {\n return this._justifyContent;\n }\n\n public get cursor(): string {\n return this._cursor;\n }\n\n public get fontCase(): string {\n return this._fontCase;\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 set h(h: string) {\n this._h = this.getQualifiedValue('h-', h);\n }\n\n public set w(w: string) {\n this._w = this.getQualifiedValue('w-', w);\n }\n\n public set p(p: string) {\n this._p = this.getQualifiedValue('p-', p);\n }\n\n public set px(px: string) {\n this._px = this.getQualifiedValue('px-', px);\n }\n\n public set py(py: string) {\n this._py = this.getQualifiedValue('py-', py);\n }\n\n public set pt(pt: string) {\n this._pt = this.getQualifiedValue('pt-', pt);\n }\n\n public set pr(pr: string) {\n this._pr = this.getQualifiedValue('pr-', pr);\n }\n\n public set pb(pb: string) {\n this._pb = this.getQualifiedValue('pb-', pb);\n }\n\n public set pl(pl: string) {\n this._pl = this.getQualifiedValue('pl-', pl);\n }\n\n public set m(m: string) {\n this._m = this.getQualifiedValue('m-', m);\n }\n\n public set mx(mx: string) {\n this._mx = this.getQualifiedValue('mx-', mx);\n }\n\n public set my(my: string) {\n this._my = this.getQualifiedValue('my-', my);\n }\n\n public set mt(mt: string) {\n this._mt = this.getQualifiedValue('mt-', mt);\n }\n\n public set mr(mr: string) {\n this._mr = this.getQualifiedValue('mr-', mr);\n }\n\n public set mb(mb: string) {\n this._mb = this.getQualifiedValue('mb-', mb);\n }\n\n public set ml(ml: string) {\n this._ml = this.getQualifiedValue('ml-', ml);\n }\n\n public set gap(gap: string) {\n this._gap = this.getQualifiedValue('gap-', gap);\n }\n\n public set border(border: string) {\n this._border = this.getQualifiedValue('border', border);\n }\n\n public set shadow(shadow: string) {\n this._shadow = this.getQualifiedValue('shadow', shadow);\n }\n\n public set rounded(rounded: string) {\n this._rounded = this.getQualifiedValue('rounded', rounded);\n }\n\n public set font(font: string) {\n this._font = this.getQualifiedValue('font', font);\n }\n\n public set text(text: string) {\n this._text = this.getQualifiedValue('text', text);\n }\n\n public set breakWords(breakWords: string) {\n this._breakWords = this.getQualifiedValue('break', breakWords);\n }\n\n public set overflow(overflow: string) {\n this._overflow = this.getQualifiedValue('overflow', overflow);\n }\n\n public set position(position: string) {\n this._position = position;\n }\n\n public set justifyContent(justifyContent: string) {\n this._justifyContent = this.getQualifiedValue('justify', justifyContent);\n }\n\n public set cursor(cursor: string) {\n this._cursor = this.getQualifiedValue('cursor', cursor);\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 standalone: false\n})\nexport class NgtStylizableDirective {\n private ngtStylizableService: NgtStylizableService;\n\n public constructor() {\n this.ngtStylizableService = new NgtStylizableService();\n }\n\n public get color() {\n return this.ngtStylizableService.color;\n }\n\n public get h(): string {\n return this.ngtStylizableService.h;\n }\n\n public get w(): string {\n return this.ngtStylizableService.w;\n }\n\n public get p(): string {\n return this.ngtStylizableService.p;\n }\n\n public get px(): string {\n return this.ngtStylizableService.px;\n }\n\n public get py(): string {\n return this.ngtStylizableService.py;\n }\n\n public get pt(): string {\n return this.ngtStylizableService.pt;\n }\n\n public get pr(): string {\n return this.ngtStylizableService.pr;\n }\n\n public get pb(): string {\n return this.ngtStylizableService.pb;\n }\n\n public get pl(): string {\n return this.ngtStylizableService.pl;\n }\n\n public get m(): string {\n return this.ngtStylizableService.m;\n }\n\n public get mx(): string {\n return this.ngtStylizableService.mx;\n }\n\n public get my(): string {\n return this.ngtStylizableService.my;\n }\n\n public get mt(): string {\n return this.ngtStylizableService.mt;\n }\n\n public get mr(): string {\n return this.ngtStylizableService.mr;\n }\n\n public get mb(): string {\n return this.ngtStylizableService.mb;\n }\n\n public get ml(): string {\n return this.ngtStylizableService.ml;\n }\n\n public get gap(): string {\n return this.ngtStylizableService.gap;\n }\n\n public get border(): string {\n return this.ngtStylizableService.border;\n }\n\n public get shadow(): string {\n return this.ngtStylizableService.shadow;\n }\n\n public get rounded(): string {\n return this.ngtStylizableService.rounded;\n }\n\n public get font(): string {\n return this.ngtStylizableService.font;\n }\n\n public get text(): string {\n return this.ngtStylizableService.text;\n }\n\n public get breakWords(): string {\n return this.ngtStylizableService.breakWords;\n }\n\n public get overflow(): string {\n return this.ngtStylizableService.overflow;\n }\n\n public get position(): string {\n return this.ngtStylizableService.position;\n }\n\n public get justifyContent(): string {\n return this.ngtStylizableService.justifyContent;\n }\n\n public get cursor(): string {\n return this.ngtStylizableService.cursor;\n }\n\n public get fontCase(): string {\n return this.ngtStylizableService.fontCase;\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 @Input('h')\n public set h(h: string) {\n this.ngtStylizableService.h = h;\n }\n\n @Input('w')\n public set w(w: string) {\n this.ngtStylizableService.w = w;\n }\n\n @Input('p')\n public set p(p: string) {\n this.ngtStylizableService.p = p;\n }\n\n @Input('px')\n public set px(px: string) {\n this.ngtStylizableService.px = px;\n }\n\n @Input('py')\n public set py(py: string) {\n this.ngtStylizableService.py = py;\n }\n\n @Input('pt')\n public set pt(pt: string) {\n this.ngtStylizableService.pt = pt;\n }\n\n @Input('pr')\n public set pr(pr: string) {\n this.ngtStylizableService.pr = pr;\n }\n\n @Input('pb')\n public set pb(pb: string) {\n this.ngtStylizableService.pb = pb;\n }\n\n @Input('pl')\n public set pl(pl: string) {\n this.ngtStylizableService.pl = pl;\n }\n\n @Input('m')\n public set m(m: string) {\n this.ngtStylizableService.m = m;\n }\n\n @Input('mx')\n public set mx(mx: string) {\n this.ngtStylizableService.mx = mx;\n }\n\n @Input('my')\n public set my(my: string) {\n this.ngtStylizableService.my = my;\n }\n\n @Input('mt')\n public set mt(mt: string) {\n this.ngtStylizableService.mt = mt;\n }\n\n @Input('mr')\n public set mr(mr: string) {\n this.ngtStylizableService.mr = mr;\n }\n\n @Input('mb')\n public set mb(mb: string) {\n this.ngtStylizableService.mb = mb;\n }\n\n @Input('ml')\n public set ml(ml: string) {\n this.ngtStylizableService.ml = ml;\n }\n\n @Input('gap')\n public set gap(gap: string) {\n this.ngtStylizableService.gap = gap;\n }\n\n @Input('border')\n public set border(border: string) {\n this.ngtStylizableService.border = border;\n }\n\n @Input('shadow')\n public set shadow(shadow: string) {\n this.ngtStylizableService.shadow = shadow;\n }\n\n @Input('rounded')\n public set rounded(rounded: string) {\n this.ngtStylizableService.rounded = rounded;\n }\n\n @Input('font')\n public set font(font: string) {\n this.ngtStylizableService.font = font;\n }\n\n @Input('text')\n public set text(text: string) {\n this.ngtStylizableService.text = text;\n }\n\n @Input('breakWords')\n public set breakWords(breakWords: string) {\n this.ngtStylizableService.breakWords = breakWords;\n }\n\n @Input('overflow')\n public set overflow(overflow: string) {\n this.ngtStylizableService.overflow = overflow;\n }\n\n @Input('position')\n public set position(position: string) {\n this.ngtStylizableService.position = position;\n }\n\n @Input('justifyContent')\n public set justifyContent(justifyContent: string) {\n this.ngtStylizableService.justifyContent = justifyContent;\n }\n\n @Input('cursor')\n public set cursor(cursor: string) {\n this.ngtStylizableService.cursor = cursor;\n }\n\n @Input('fontCase')\n public set fontCase(fontCase: string) {\n this.ngtStylizableService.fontCase = fontCase;\n }\n\n public getNgtStylizableService() {\n return this.ngtStylizableService;\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 {\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 standalone: false\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 `${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","<svg-icon [src]='src' class=\"flex {{ class }}\"></svg-icon>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AngularSvgIconModule } from 'angular-svg-icon';\n\nimport { NgtSvgComponent } from './ngt-svg.component';\n\n@NgModule({\n imports: [\n CommonModule,\n AngularSvgIconModule.forRoot()\n ],\n declarations: [NgtSvgComponent],\n exports: [NgtSvgComponent]\n})\nexport class NgtSvgModule { }\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 public abstract loadResourceById(resource: any, resourceId: any): Observable<any>;\n\n public abstract saveResource(resource: any): Observable<any>;\n}\n","import { Component, Input, Optional } from '@angular/core';\n\nimport { NgtTranslateService } from '../../../services/http/ngt-translate.service';\n\n@Component({\n selector: 'ngt-form-validation-message',\n templateUrl: './ngt-form-validation-message.component.html',\n standalone: false\n})\nexport class NgtFormValidationMessageComponent {\n @Input() public canShowValidationMessage: boolean;\n @Input() public message: string;\n\n public constructor(\n @Optional()\n public ngtTranslateService: NgtTranslateService\n ) { }\n}\n","<div *ngIf=\"canShowValidationMessage\" class=\"mb-5 p-2 rounded bg-red-500 text-white text-xs\">\n {{ message || ngtTranslateService.ngtFormDefaultValidationMessage }}\n</div>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Host,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n} 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';\nimport { NgtAbilityValidationService } from '../../services/validation/ngt-ability-validation.service';;\n\nexport enum NgtFormState {\n CREATING = 'CREATING',\n EDITING = 'EDITING'\n};\n\n@Component({\n selector: 'ngt-form',\n templateUrl: './ngt-form.component.html',\n standalone: false\n})\nexport class NgtFormComponent implements OnInit, OnDestroy, AfterViewInit {\n public static onSubmitInvalidForm: EventEmitter<NgForm> = new EventEmitter;\n\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 @Input() public isDisabled: boolean;\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 public router: Router,\n public route: ActivatedRoute,\n\n @Optional() @Host()\n public formContainer: ControlContainer,\n\n @Optional() @Host()\n public ngForm: NgForm,\n\n private changeDetector: ChangeDetectorRef,\n private ngtHttpFormService: NgtHttpFormService,\n\n @Optional()\n private ngtAbilityValidationService: NgtAbilityValidationService\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 async ngAfterViewInit(): Promise<void> {\n if (this.isDisabled === undefined && this.ngtAbilityValidationService) {\n this.isDisabled = !(await this.ngtAbilityValidationService.hasManagePermission());\n\n this.changeDetector.detectChanges();\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(null);\n })\n );\n });\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<ngt-form-validation-message *ngIf='!customLayout' [canShowValidationMessage]=\"canShowValidationMessage()\"\n [message]=\"message\">\n</ngt-form-validation-message>\n\n<fieldset [disabled]=\"isDisabled\" style=\"min-inline-size: 100% !important\">\n <ng-content></ng-content>\n</fieldset>","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","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 standalone: false\n})\nexport class NgtDropdownContainerComponent {\n @Output() public onActiveDropdownChange = new EventEmitter();\n\n public setActiveDropdown(activeDropdown) {\n this.onActiveDropdownChange.emit(activeDropdown);\n }\n}\n","<ng-content></ng-content>","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n ChangeDetectorRef,\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\nexport enum NgtDropdownOpenMethod {\n CLICK = 'CLICK',\n POPOVER_CLICK = 'POPOVER_CLICK',\n RIGHT_CLICK = 'RIGHT_CLICK',\n HOVER = 'HOVER'\n}\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 standalone: false\n})\nexport class NgtDropdownComponent implements OnDestroy {\n @ViewChild('container', { static: true }) public containerRef: ElementRef;\n\n @Input() public scrollable: boolean;\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;\n public isXPositionReversed: boolean;\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 private changeDetector: ChangeDetectorRef\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 this.changeDetector.detectChanges();\n\n this.bindContainerXPosition();\n this.bindContainerYPosition();\n\n this.onToggle.emit(this.isOpen);\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 this.onToggle.emit(this.isOpen);\n }\n\n public toggle(): void {\n setTimeout(() => {\n if (this.isOpen) {\n this.close();\n } else {\n this.open();\n }\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 && !this.isBindingXPosition) {\n this.isXPositionReversed = !(this.containerXPosition > document.documentElement.clientWidth);\n\n return this.isXPositionReversed;\n }\n }\n\n public shouldReverseYPosition(): boolean {\n if (!this.autoYReverse || this.reverseYPosition !== undefined) {\n return this.reverseYPosition;\n }\n\n if (this.isOpen && !this.isBindingYPosition) {\n this.isYPositionReversed = this.containerYPosition > (document.documentElement.clientHeight * 0.9);\n\n return this.isYPositionReversed;\n }\n }\n\n private bindContainerXPosition(): void {\n if (!this.containerXPosition && this.containerRef.nativeElement.offsetWidth) {\n 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 this.changeDetector.detectChanges();\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 this.changeDetector.detectChanges();\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","<div class=\"sm:relative\">\n <div (mouseenter)=\"onHover(host, container)\" (click)=\"onClick($event, host, container)\"\n (contextmenu)=\"onRightClick($event)\" #host>\n <ng-content select='[host]'></ng-content>\n </div>\n\n <div [hidden]='!isOpen'\n class=\"{{ shouldReverseYPosition() ? 'mb-12 bottom-0' : 'mt-4' }} {{ shouldReverseXPosition() ? 'left-0': 'right-0' }} ngt-dropdown-container sm:mr-0 mr-3 max-w-xs absolute\"\n [@openClose]=\"isOpen ? 'open' : 'closed'\" (mouseenter)=\"onHover(host, container)\"\n (click)='closeOnSelectOption()' style=\"z-index: 1100 !important;\" #container>\n\n <div *ngIf=\"isOpen\" class=\"flex flex-col\" [ngClass]=\"{ 'h-52 overflow-auto':scrollable }\">\n <ng-content select='[container]'></ng-content>\n </div>\n </div>\n</div>\n\n<button *ngIf=\"isOpen && openMethod != 'HOVER'\" type=\"button\"\n class=\"fixed z-40 inset-0 h-full w-full opacity-0 cursor-default\" (click)='toggle()'>\n</button>","import {\n Component, ElementRef, Injector, Input, Optional, Self, ViewChild, ViewEncapsulation\n} 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 standalone: false\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 @Input() public autoXReverse: boolean = true;\n @Input() public helperReverseYPosition: boolean;\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-xs',\n fontCase: '',\n px: 'px-2',\n gap: '',\n color: {\n text: 'text-black',\n bg: 'bg-gray-200'\n }\n });\n }\n}\n","<ngt-dropdown class=\"flex w-full hover:opacity-100\" [closeOnClick]=\"true\" [autoXReverse]=\"autoXReverse\" [reverseYPosition]=\"helperReverseYPosition\" #dropdownRef>\n <div class=\"flex rounded-full {{ iconColor ?? 'text-green-500'}} {{ ngtStyle.compile(['px', 'text', 'gap']) }}\" style=\"cursor: help;\"\n host>\n <ngt-svg *ngIf=\"icon\" [class]=\"iconSize\" [src]=\"icon\" style=\"cursor: help;\"></ngt-svg>\n\n <div *ngIf=\"!icon\" style=\"cursor: help;\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path class=\"fill-current\"\n d=\"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z\" />\n </svg>\n </div>\n\n <p *ngIf=\"helpText\" class=\"cursor-pointer {{helpTextColor}}\" style=\"margin-left: 2px\">{{helpText}}</p>\n </div>\n\n <div class=\"bg-gray-100 rounded-lg hover:opacity-100 text-gray-800 {{tooltipSize}} shadow-lg {{ ngtStyle.compile(['text', 'fontCase']) }}\"\n [class.-mb-4]='dropdownRef.isYPositionReversed' container>\n <div\n class=\"{{ ngtStyle.compile(['color.bg', 'color.text']) }} flex justify-center rounded-t-lg hover:opacity-100 font-semibold border-b border-dashed border-gray-400 text-center px-6 py-1\">\n <ngt-svg *ngIf=\"iconTitle\" [src]=\"iconTitle\" style=\"margin-right: 3px\"></ngt-svg>\n <span class=\"text-xs\">{{ helpTitle || ngtTranslateService.ngtStandardHelperTitle }}</span>\n </div>\n <div class=\"px-2 py-1 text-center hover:opacity-100\">\n <ng-content></ng-content>\n </div>\n </div>\n</ngt-dropdown>\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, Injector, Input, Optional, Output, Self, ViewChild\n} from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtAbilityValidationService } from '../../services/validation/ngt-ability-validation.service';;\n\n@Component({\n selector: 'ngt-section',\n templateUrl: './ngt-section.component.html',\n animations: [\n trigger('enterAnimation', [\n state('void', style({ transform: 'translateY(-20px)', opacity: 0 })),\n transition(':enter', [\n animate(400)\n ])\n ]),\n ],\n standalone: false\n})\nexport class NgtSectionComponent implements AfterViewInit {\n @ViewChild('elementRef') public elementRef: ElementRef;\n\n @Input() public name: string;\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 @Input() public isDisabled: boolean;\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 canDisplay: boolean;\n\n public constructor(\n private injector: Injector,\n private changeDetector: ChangeDetectorRef,\n\n @Self() @Optional()\n private ngtStylizableDirective: NgtStylizableDirective,\n\n @Optional()\n private ngtAbilityValidationService: NgtAbilityValidationService\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 mb: 'mb-6',\n pr: 'pr-1',\n px: 'md:px-5',\n border: 'border-b-4 md:border-b-0 border-dashed md:border-solid md:border-l',\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 px: 'px-5',\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 async ngAfterViewInit(): Promise<void> {\n if (!this.ngtAbilityValidationService || !this.name) {\n this.canDisplay = true;\n\n this.changeDetector.detectChanges();\n }\n\n if (this.ngtAbilityValidationService && this.name) {\n if (this.isDisabled === undefined) {\n this.isDisabled = !(await this.ngtAbilityValidationService.isSectionEnabled(this.name));\n }\n\n this.canDisplay = !(await this.ngtAbilityValidationService.isSectionHidden(this.name));\n }\n\n this.changeDetector.detectChanges();\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 scrollTo(): void {\n this.elementRef.nativeElement.scrollIntoView({ behavior: \"smooth\" });\n }\n\n public remove(event: Event): void {\n event.stopImmediatePropagation();\n\n this.onRemove.emit();\n }\n}\n","<div *ngIf=\"canDisplay\" class=\"flex {{ ngtSectionStyle.compile(['mb']) }}\" #elementRef>\n <ngt-svg *ngIf=\"icon\" [src]='icon'\n class=\"hidden md:block {{ ngtSectionStyle.compile(['color.text', 'h', 'w', 'my', 'pr']) }}\">\n </ngt-svg>\n\n <div\n class=\"w-full pb-4 md:pb-0 {{ accordion && !showSection ? 'flex' : '' }} {{ ngtSectionStyle.compile(['border']) }}\">\n <div *ngIf=\"!accordion && caption\" class=\"flex\">\n <span class=\"pl-5 {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n {{ caption }}\n </span>\n\n <span *ngIf=\"subtitle\"\n class=\"self-center {{ ngtSubtitleStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml']) }}\">\n {{ subtitle }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" class=\"ml-1 hover:opacity-100 opacity-100\"\n [iconColor]=\"helpIconColor\">\n {{ helpText }}\n </ngt-helper>\n </div>\n\n <ng-container *ngIf=\"accordion\">\n <div class=\"flex flex-wrap items-center cursor-pointer {{ helpText ? '' : 'hover:opacity-75' }} {{ accordion && showSection ? ngtCaptionStyle.compile(['pb', 'px']) : ngtCaptionStyle.compile(['py', 'px']) }}\"\n (click)='toggle()' style=\"max-width: fit-content;\">\n <div *ngIf=\"!showSection\"\n class=\"flex {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M2.82 4.59l9.18 9.16 9.18 -9.16 2.82 2.82 -12 12 -12 -12 2.82 -2.82z\" />\n </svg>\n </div>\n\n <div *ngIf=\"showSection\"\n class=\"flex {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M2.82 19.41l9.18 -9.16 9.18 9.16 2.82 -2.82 -12 -12 -12 12 2.82 2.82z\" />\n </svg>\n </div>\n\n <span [class]=\"ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml'])\">\n {{ caption }}\n </span>\n\n <span *ngIf=\"subtitle\"\n [class]=\"ngtSubtitleStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml'])\">\n {{ subtitle }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" class=\"ml-1\" [iconColor]=\"helpIconColor\"\n class=\"ml-1 hover:opacity-100 opacity-100\">\n {{ helpText }}\n </ngt-helper>\n\n <div *ngIf=\"removable\"\n class=\"flex items-center justify-center h-6 w-6 ml-2 rounded-full hover:bg-red-500 hover:text-white text-gray-600 text-sm\"\n (click)='remove($event)'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M4 21.33c0,1.47 1.2,2.67 2.67,2.67l10.66 0c1.47,0 2.67,-1.2 2.67,-2.67l0 -16 -16 0 0 16zm17.33 -20l-4.66 0 -1.34 -1.33 -6.66 0 -1.34 1.33 -4.66 0 0 2.67 18.66 0 0 -2.67z\" />\n </svg>\n </div>\n </div>\n </ng-container>\n\n <div *ngIf='showSection' class=\"{{ ngtSectionStyle.compile(['px', 'pl']) }}\" [@enterAnimation]='!showSection'>\n <fieldset [disabled]=\"isDisabled\" style=\"min-inline-size: 100% !important\">\n <ng-content></ng-content>\n </fieldset>\n </div>\n </div>\n</div>","import { Component, EventEmitter, 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-modal-header',\n templateUrl: './ngt-modal-header.component.html',\n standalone: false\n})\nexport class NgtModalHeaderComponent {\n public static onCloseModalByHeader: EventEmitter<void> = new EventEmitter();\n\n @Input() public disableDefaultCloses: boolean;\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 if (!this.ngtStyle) {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtModalHeader', {\n pb: 'pb-3',\n color: {}\n });\n }\n\n public emitOnCloseEvent(): void {\n NgtModalHeaderComponent.onCloseModalByHeader.emit();\n }\n}\n","<div\n class=\"flex w-full items-center {{ ngtStyle.compile(['px', 'py', 'pb', 'pt', 'pl', 'pr', 'mx', 'my', 'mb', 'mt', 'ml', 'mr', 'color.bg', 'color.text']) }}\">\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"!disableDefaultCloses\">\n <div class=\"cursor-pointer z-50 absolute right-0 top-0 m-2\" (click)='emitOnCloseEvent()'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\">\n <path\n d=\"M14.53 4.53l-1.06-1.06L9 7.94 4.53 3.47 3.47 4.53 7.94 9l-4.47 4.47 1.06 1.06L9 10.06l4.47 4.47 1.06-1.06L10.06 9z\">\n </path>\n </svg>\n </div>\n </ng-container>\n</div>\n","import { AfterViewInit, ChangeDetectorRef, Component, Injector, Input, Optional, Self } from '@angular/core';\nimport { NgtAbilityValidationService } from '../../../services/validation/ngt-ability-validation.service';\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-body',\n templateUrl: './ngt-modal-body.component.html',\n standalone: false\n})\nexport class NgtModalBodyComponent implements AfterViewInit {\n @Input() public ngtStyle: NgtStylizableService;\n @Input() public isDisabled: boolean;\n\n public constructor(\n private injector: Injector,\n private changeDetector: ChangeDetectorRef,\n\n @Self() @Optional()\n private tailStylizableDirective: NgtStylizableDirective,\n\n @Optional()\n private ngtAbilityValidationService: NgtAbilityValidationService\n ) {\n if (this.tailStylizableDirective) {\n this.ngtStyle = this.tailStylizableDirective.getNgtStylizableService();\n } else if (!this.ngtStyle) {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtModalBody', {\n px: 'px-0',\n py: 'py-0'\n });\n }\n\n public async ngAfterViewInit(): Promise<void> {\n if (this.isDisabled === undefined && this.ngtAbilityValidationService) {\n this.isDisabled = !(await this.ngtAbilityValidationService.hasManagePermission());\n\n this.changeDetector.detectChanges();\n }\n }\n}\n","<div class=\"flex flex-col w-full {{ ngtStyle.compile(['px', 'py']) }}\">\n <fieldset [disabled]=\"isDisabled\" style=\"min-inline-size: 100% !important\">\n <ng-content></ng-content>\n </fieldset>\n</div>","import { Component, Injector, Input, Optional, Self } from '@angular/core';\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-footer',\n templateUrl: './ngt-modal-footer.component.html',\n standalone: false\n})\nexport class NgtModalFooterComponent {\n @Input() public ngtStyle: NgtStylizableService;\n\n public constructor(\n private injector: Injector,\n\n @Self() @Optional()\n private tailStylizableDirective: NgtStylizableDirective,\n ) {\n if (this.tailStylizableDirective) {\n this.ngtStyle = this.tailStylizableDirective.getNgtStylizableService();\n } else if (!this.ngtStyle) {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtModalFooter', {\n px: 'px-0',\n py: 'py-1'\n });\n }\n}\n","<div class=\"flex w-full {{ ngtStyle.compile(['px', 'py']) }}\">\n <ng-content></ng-content>\n</div>","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Injector,\n Input,\n Optional,\n Output,\n Self,\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 { NgtModalHeaderComponent } from './ngt-modal-header/ngt-modal-header.component';\nimport { NgtAbilityValidationService } from '../../services/validation/ngt-ability-validation.service';\n\n@Component({\n selector: 'ngt-modal',\n templateUrl: './ngt-modal.component.html',\n animations: [\n trigger('fade', [\n state('void', style({ opacity: 0 })),\n transition(':enter, :leave', [\n animate(300)\n ])\n ])\n ],\n standalone: false\n})\nexport class NgtModalComponent implements AfterViewInit {\n @Input() public customLayout: boolean = false;\n @Input() public disableDefaultCloses: boolean = false;\n @Input() public isDisabled: boolean;\n @Input() public ngtStyle: NgtStylizableService;\n\n @Output() public onCloseModal: EventEmitter<void> = new EventEmitter();\n @Output() public onOpenModal: EventEmitter<void> = new EventEmitter();\n\n public isOpen: boolean = false;\n public viewMode: boolean = false;\n\n private keydownEventWasAdded: boolean = false;\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private changeDetectorRef: ChangeDetectorRef,\n private injector: Injector,\n\n @Self() @Optional()\n private tailStylizableDirective: NgtStylizableDirective,\n\n @Optional()\n private ngtAbilityValidationService: NgtAbilityValidationService\n ) {\n if (this.tailStylizableDirective) {\n this.ngtStyle = this.tailStylizableDirective.getNgtStylizableService();\n } else if (!this.ngtStyle) {\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 border: 'border border-teal-500',\n overflow: 'overflow-visible',\n color: {}\n });\n }\n\n public async ngAfterViewInit(): Promise<void> {\n if (this.isDisabled === undefined && this.ngtAbilityValidationService) {\n this.isDisabled = !(await this.ngtAbilityValidationService.hasManagePermission());\n\n this.changeDetectorRef.detectChanges();\n }\n }\n\n public close() {\n this.isOpen = false;\n this.changeDetectorRef.detectChanges();\n\n this.destroySubscriptions();\n\n this.onCloseModal.emit();\n }\n\n public open() {\n this.isOpen = true;\n this.changeDetectorRef.detectChanges();\n\n this.addKeydownEventListener();\n this.bindOnCloseModalByHeaderSubscription();\n\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 if (this.viewMode) {\n this.closeViewMode();\n event.stopPropagation();\n }\n }\n }, true);\n }\n }\n\n private bindOnCloseModalByHeaderSubscription(): void {\n this.subscriptions.push(\n NgtModalHeaderComponent.onCloseModalByHeader.subscribe(() => this.close())\n );\n }\n\n private destroySubscriptions(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n\n this.subscriptions = [];\n }\n\n private closeViewMode(): void {\n this.viewMode = false;\n }\n}\n","<div class=\"flex min-w-full relative justify-center text-gray-700\">\n <div *ngIf=\"isOpen\" class=\"flex fixed min-w-full h-full inset-0 px-6 py-6 md:py-0 md:px-0 justify-center\"\n style=\"background: rgba(0,0,0,.7); z-index: 1100 !important;\" @fade>\n <ng-container *ngIf=\"!disableDefaultCloses\">\n <button class=\"fixed inset-0 h-full w-full bg-black opacity-0 cursor-default z-0\" tabindex=\"-1\"\n type=\"button\" (click)='close()'>\n </button>\n </ng-container>\n\n <div class=\"{{ ngtStyle.compile(['w', 'overflow', 'border']) }} relative bg-white w-full self-center rounded shadow-lg z-10\"\n style=\"max-height: 85%;\">\n <div class=\"cursor-default text-left {{ ngtStyle.compile(['py', 'px']) }}\">\n <div *ngIf=\"!customLayout\">\n <ngt-modal-header class=\"w-full\" [disableDefaultCloses]=\"disableDefaultCloses\">\n <ng-content select='[header]'></ng-content>\n </ngt-modal-header>\n </div>\n\n <ng-container *ngIf=\"!customLayout\">\n <fieldset [disabled]=\"isDisabled\" style=\"min-inline-size: 100% !important\">\n <ngt-modal-body [isDisabled]=\"isDisabled\">\n <ng-content select='[body]'></ng-content>\n </ngt-modal-body>\n </fieldset>\n </ng-container>\n\n <!--Footer-->\n <ng-container *ngIf=\"!customLayout\">\n <ngt-modal-footer>\n <ng-content select='[footer]'></ng-content>\n </ngt-modal-footer>\n </ng-container>\n\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>","import {\n Component,\n Injector,\n Input,\n OnDestroy,\n Optional,\n Self,\n SkipSelf,\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 { NgtFormComponent } from '../ngt-form/ngt-form.component';\nimport { NgtSectionComponent } from '../ngt-section/ngt-section.component';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.component';\nimport { NgtModalBodyComponent } from '../ngt-modal/ngt-modal-body/ngt-modal-body.component';\n\n@Component({\n selector: 'ngt-action',\n templateUrl: './ngt-action.component.html',\n standalone: false\n})\nexport class NgtActionComponent implements OnDestroy {\n @Input() public href: string;\n @Input() public icon: string;\n @Input() public ngtStyle: NgtStylizableService;\n @Input() public isDisabled: boolean;\n @Input() public forceEnable: boolean;\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private injector: Injector,\n\n @Self() @Optional()\n private ngtStylizableDirective: NgtStylizableDirective,\n\n @Optional() @SkipSelf()\n public ngtForm: NgtFormComponent,\n\n @Optional() @SkipSelf()\n public ngtSection: NgtSectionComponent,\n\n @Optional() @SkipSelf()\n public ngtModal: NgtModalComponent,\n\n @Optional() @SkipSelf()\n public ngtModalBody: NgtModalBodyComponent\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-sm',\n border: 'border-0',\n });\n }\n\n public ngOnDestroy() {\n this.destroySubscriptions();\n }\n\n public onClick(event: Event) {\n if (this.disabled()) {\n event.stopPropagation();\n }\n }\n\n public disabled(): boolean {\n return !this.forceEnable && (this.isDisabled || this.isDisabledByParent());\n }\n\n private isDisabledByParent(): boolean {\n return this.ngtForm?.isDisabled\n || this.ngtSection?.isDisabled\n || this.ngtModal?.isDisabled;\n }\n\n private destroySubscriptions(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<a *ngIf=\"href\"\n [class]=\"disabled() ? 'block rounded-full cursor-not-allowed text-gray-600 bg-gray-400 hover:bg-gray-400 opacity-50' : 'cursor-pointer'\"\n [routerLink]=\"href\" (click)='onClick($event)'>\n <div\n class=\"flex justify-center rounded-full {{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text', 'px', 'py', 'shadow', 'text']) }}\">\n <ngt-svg [src]=\"icon\" class='self-center' *ngIf=\"icon\">\n </ngt-svg>\n <div class=\"self-center\">\n <ng-content></ng-content>\n </div>\n </div>\n</a>\n\n<a *ngIf=\"!href\"\n [class]=\"disabled() ? 'block rounded-full cursor-not-allowed text-gray-600 bg-gray-400 hover:bg-gray-400 opacity-50' : 'cursor-pointer'\"\n (click)='onClick($event)'>\n <div\n class=\"flex justify-center rounded-full {{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text', 'px', 'py', 'shadow', 'text', 'border', 'color.border']) }}\">\n <ngt-svg [src]=\"icon\" class='self-center' *ngIf=\"icon\"></ngt-svg>\n <div class=\"self-center\">\n <ng-content></ng-content>\n </div>\n </div>\n</a>","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 { NgtActionComponent } from './ngt-action.component';\n\n@NgModule({\n declarations: [NgtActionComponent],\n exports: [NgtActionComponent],\n imports: [\n CommonModule,\n RouterModule,\n NgtSvgModule\n ]\n})\nexport class NgtActionModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtDropdownContainerComponent } from './ngt-dropdown-container/ngt-dropdown-container.component';\nimport { NgtDropdownComponent } from './ngt-dropdown.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 { 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\nexport enum NgtShiningWidth {\n xs = 'xs',\n sm = 'sm',\n lg = 'lg',\n xl = 'xl',\n}\n\n@Component({\n selector: 'ngt-shining',\n templateUrl: './ngt-shining.component.html',\n styleUrls: ['./ngt-shining.component.css'],\n standalone: false\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","<div class=\"text-center w-full h-full ngt-shining-{{ shiningWidth }} {{ ngtStyle.compile(['rounded']) }}\"></div>","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","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 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 onValueChange() {\n return this.onValueChangeEvent;\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","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Host,\n Injector,\n Input,\n OnChanges,\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';\nimport { NgtSectionComponent } from '../ngt-section/ngt-section.component';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.component';\n\nexport enum NgtCheckboxMode {\n DEFAULT = 'DEFAULT',\n TOGGLE = 'TOGGLE',\n SIDE_TOGGLE = 'SIDE_TOGGLE',\n RADIO = 'RADIO'\n}\n\n@Component({\n selector: 'ngt-checkbox',\n templateUrl: './ngt-checkbox.component.html',\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 trigger('slideRightToLeft', [\n state('void', style({ transform: 'translateX(4px) rotate(45deg)', opacity: 0 })),\n transition(':enter', [\n animate(200)\n ])\n ])\n ],\n standalone: false\n})\nexport class NgtCheckboxComponent extends NgtBaseNgModel implements AfterViewInit, OnChanges, 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 @Input() public helperAutoXReverse: boolean = true;\n\n public ngtStyle: NgtStylizableService;\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private injector: Injector,\n private renderer: Renderer2,\n\n @Optional() @Host()\n public formContainer: ControlContainer,\n\n @Self() @Optional()\n private ngtStylizableDirective: NgtStylizableDirective,\n\n @Optional() @SkipSelf()\n private ngtForm: NgtFormComponent,\n\n @Optional() @SkipSelf()\n private ngtSection: NgtSectionComponent,\n\n @Optional() @SkipSelf()\n private ngtModal: NgtModalComponent\n ) {\n super();\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(): void {\n this.renderer.listen(this.element.nativeElement, 'change', (value) => {\n this.onNativeChange(this.element.nativeElement.checked);\n });\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes.mode) {\n this.mode = getEnumFromString(changes.mode.currentValue, NgtCheckboxMode);\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 isSideToggleMode(): boolean {\n return this.mode === NgtCheckboxMode.SIDE_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 disabled(): boolean {\n return this.isDisabled || this.isDisabledByParent();\n }\n\n private isDisabledByParent(): boolean {\n return this.ngtForm?.isDisabled\n || this.ngtSection?.isDisabled\n || this.ngtModal?.isDisabled;\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<label class=\"flex items-center {{ disabled() ? 'cursor-not-allowed opacity-50' : 'cursor-pointer' }}\"\n [class.flex-col]='isToggleMode()' style=\"max-width: max-content;\">\n <input type=\"checkbox\" [name]='name' class=\"hidden\" ([ngModel])='value' [disabled]=\"disabled() || isClickDisabled\"\n #element>\n\n <span *ngIf=\"isToggleMode() && label\" class=\"flex\">\n <span class=\"{{ ngtStyle.compile(['text', 'fontCase']) }} mb-2\">{{ label }}</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n </span>\n\n <ng-container *ngIf=\"isDefaultMode()\">\n <div style=\"transition: background-color .2s ease-out\" class=\"{{ value ? ngtStyle.compile(['color.bg']) : 'bg-white' }} {{ ngtStyle.compile(['h', 'w']) }}\n shadow rounded border border-gray-400 {{ !shining ? 'flex justify-center' : 'hidden' }}\">\n <svg class=\"fill-current self-center text-white pointer-events-none\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\">\n <path d=\"M0 11l2-2 5 5L18 3l2 2L7 18z\" />\n </svg>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isRadioMode()\">\n <div style=\"transition: background-color .2s ease-out\"\n class=\"{{ value ? ngtStyle.compile(['color.border', 'color.text']) : 'border-gray-500' }}\n shadow w-6 h-6 rounded-full border-2 border-gray-400 {{ !shining ? 'flex justify-center' : 'hidden' }}\">\n <svg *ngIf=\"value\" class=\"fill-current self-center h-3\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 29.107 29.107\">\n <path\n d=\"M14.554 0C6.561 0 0 6.562 0 14.552c0 7.996 6.561 14.555 14.554 14.555 7.996 0 14.553-6.559 14.553-14.555C29.106 6.562 22.55 0 14.554 0z\" />\n </svg>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isToggleMode() || isSideToggleMode()\">\n <div class=\"shadow w-14 h-7 rounded-full border border-gray-400 {{ shining ? 'hidden' : 'flex' }}\"\n [class.justify-end]=\"value\" style=\"padding: 1px;\">\n <div *ngIf=\"value\"\n class=\"flex text-sm text-white {{ ngtStyle.compile(['color.bg']) }} pointer-events-none rounded-full px-1.5 py-2\"\n @slideLeftToRight>\n <svg class=\"fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M0 11l2-2 5 5L18 3l2 2L7 18z\" />\n </svg>\n </div>\n\n <div *ngIf=\"!value\" class=\"flex text-xl text-white bg-gray-300 pointer-events-none rounded-full px-1 py-3\"\n @slideRightToLeft>\n <svg class=\"fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path class=\"heroicon-ui\"\n d=\"M16.24 14.83a1 1 0 0 1-1.41 1.41L12 13.41l-2.83 2.83a1 1 0 0 1-1.41-1.41L10.59 12 7.76 9.17a1 1 0 0 1 1.41-1.41L12 10.59l2.83-2.83a1 1 0 0 1 1.41 1.41L13.41 12l2.83 2.83z\" />\n </svg>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf='label && !shining && !isToggleMode()'>\n <span class=\"{{ ngtStyle.compile(['text', 'fontCase']) }} ml-2\">{{ label }}</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n </ng-container>\n</label>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"w-16 h-12\"></ngt-shining>\n </div>\n</ng-container>\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 { NgtCheckboxComponent } from './ngt-checkbox.component';\n\n@NgModule({\n declarations: [NgtCheckboxComponent],\n exports: [NgtCheckboxComponent],\n imports: [\n CommonModule,\n NgtShiningModule,\n NgtHelperModule,\n ]\n})\nexport class NgtCheckboxModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtFormValidationMessageComponent } from './ngt-form-validation-message/ngt-form-validation-message.component';\nimport { NgtFormComponent } from './ngt-form.component';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n NgtFormComponent,\n NgtFormValidationMessageComponent\n ],\n exports: [\n NgtFormComponent,\n NgtFormValidationMessageComponent\n ]\n\n})\nexport class NgtFormModule { }\n","import { Component, Input, Optional } from '@angular/core';\nimport { ControlContainer, UntypedFormControl } from '@angular/forms';\n\nimport { NgtTranslateService } from '../../services/http/ngt-translate.service';\n\n@Component({\n selector: 'ngt-validation',\n templateUrl: './ngt-validation.component.html',\n standalone: false\n})\nexport class NgtValidationComponent {\n @Input() public control: UntypedFormControl;\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","<div type=\"hidden\" class=\"text-xxs text-red-700 font-bold\">\n <span class=\"help-block has-error\" *ngIf=\"control?.errors?.maxlength\">\n {{ ngtTranslateService.ngtValidationMaxCharactersExceded }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.required && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationRequiredField }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.email && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidEmail }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.login && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationLogin }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalid_password && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidPassword }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.unique && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationAlreadyExists }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.cnpj && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidCnpj }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.cpf && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidCpf }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.password && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationPasswordRequiredMinCharacters }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.match && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationFieldsNotMatch }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalidDate && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidDate }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.time && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidPrevision }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.externalServerDependency && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationExternalServerUnavailable }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.minValue && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationValueMustBeGreaterThan(minValue) }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.minlength && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationMinLengthField(minLength) }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalid_custom_validator && (control?.dirty || (container && container['submitted']))\">\n {{ control.errors.invalid_custom_validator }}\n </span>\n</div>","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 { ElementRef } from '@angular/core';\nimport Inputmask from 'inputmask/dist/inputmask.es6.js';\n\nexport enum InputMaskEnum {\n CPF = 'cpf',\n CNPJ = 'cnpj',\n CUIT = 'cuit',\n RUT = 'rut',\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 NUMERIC_STRING = 'numeric-string',\n TIME = 'time',\n INTERNATIONAL_PHONE = 'international-phone',\n DATE = 'date'\n}\n\nexport function applyInputMask(element: ElementRef, mask: InputMaskEnum, parameters?: any): void {\n Inputmask(mask, parameters).mask(element);\n}\n\nexport function removeInputMask(element: ElementRef): void {\n Inputmask.remove(element);\n}\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 TemplateRef,\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 { applyInputMask, InputMaskEnum, removeInputMask } from '../../helpers/input-mask/input-mask.helper';\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 { 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 { NgtSectionComponent } from '../ngt-section/ngt-section.component';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.component';\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 standalone: false\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 @Input() public uppercase: boolean = false;\n @Input() public customInnerContentTemplate: TemplateRef<any>;\n @Input() public helperReverseYPosition: boolean;\n @Input() public helperAutoXReverse: boolean = true;\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 @Input() public useInputEvent: boolean;\n\n //Validations\n @Input() public findExistingResource: NgtHttpFindExistingResourceInterface;\n @Input() public allowPhoneValidation: boolean;\n @Input() public validatePassword: boolean;\n @Input() public passwordableId: string;\n @Input() public passwordPolicyId: string;\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 validateMinValueOnMask: boolean;\n @Input() public externalServerDependency: boolean;\n @Input() public customValidator: () => AsyncValidatorFn;\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 passwordValidatorTimeout: 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 private renderer: Renderer2,\n private changeDetector: ChangeDetectorRef,\n\n @Self() @Optional()\n private ngtStylizableDirective: NgtStylizableDirective,\n\n @Optional() @Host()\n public formContainer: ControlContainer,\n\n @Optional() @SkipSelf()\n private ngtFormComponent: NgtFormComponent,\n\n @Optional() @SkipSelf()\n private ngtValidationService: NgtHttpValidationService,\n\n @Optional() @SkipSelf()\n private ngtResourceService: NgtHttpResourceService,\n\n @Optional() @SkipSelf()\n private ngtForm: NgtFormComponent,\n\n @Optional() @SkipSelf()\n private ngtSection: NgtSectionComponent,\n\n @Optional() @SkipSelf()\n private ngtModal: NgtModalComponent,\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, 'NgtInput', {\n h: 'h-12',\n rounded: 'rounded',\n text: 'text-sm',\n font: 'font-normal',\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 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 this.changeDetector.detectChanges();\n\n setTimeout(() => {\n this.initComponent();\n this.changeDetector.detectChanges();\n\n if (!this.getElementTitle() || this.getElementTitle() === 'null') {\n this.element.nativeElement.parentElement.parentElement.title = '';\n }\n\n this.changeDetector.detectChanges();\n });\n }, 500);\n }\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 onNativeChange() {\n if (this.hasChangesBetweenModels()) {\n this.value = this.removeMasks(this.getNativeValue());\n }\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() || (this.validateMinValueOnMask)) {\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 == InputMaskEnum.CELLPHONE || this.mask == InputMaskEnum.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 setFocus() {\n setTimeout(() => {\n this.element.nativeElement.focus();\n }, 200);\n }\n\n public clearInput(event?: Event) {\n if (event) {\n event.stopPropagation();\n }\n\n this.element.nativeElement.value = '';\n this.value = '';\n\n this.markAsPristine();\n }\n\n public restorePlaceholder(): void {\n setTimeout(() => this.element.nativeElement.placeholder = this.placeholder);\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 getInputPaddings() {\n let paddingClass: string = '';\n\n if (this.innerLeftIcon || this.customInnerContentTemplate) {\n paddingClass += 'pl-10 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-10 ';\n } else {\n paddingClass += 'pr-8 ';\n }\n }\n\n return paddingClass;\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 public hasFocus(): boolean {\n return document.activeElement === this.element.nativeElement;\n }\n\n public disabled(): boolean {\n return this.isDisabled || this.isDisabledByParent();\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 if (this.type == 'login' && this.hasEmailServiceValidation()) {\n asyncValidators.push(this.emailValidator(true));\n }\n\n if (this.type == 'password' && this.validatePassword && this.hasPasswordValidation()) {\n asyncValidators.push(this.passwordValidator());\n }\n\n if (this.customValidator) {\n asyncValidators.push(this.customValidator());\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 removeInputMask(this.element.nativeElement);\n\n return this.clearInput();\n }\n\n let masks = {\n [InputMaskEnum.CPF]: {\n mask: ['999.999.999-99'],\n showMaskOnHover: false\n },\n [InputMaskEnum.CNPJ]: {\n mask: ['99.999.999/9999-99'],\n showMaskOnHover: false\n },\n [InputMaskEnum.CUIT]: {\n mask: ['99-99999999-9'],\n clearMaskOnLostFocus: false\n },\n [InputMaskEnum.RUT]: {\n mask: ['999999999999'],\n clearMaskOnLostFocus: false\n },\n [InputMaskEnum.CPF_CNPJ_RUT]: {\n mask: ['999.999.999-99', '999999999999', '99.999.999/9999-99'],\n keepStatic: true,\n showMaskOnHover: false\n },\n [InputMaskEnum.CPF_CNPJ]: {\n mask: ['999.999.999-99', '99.999.999/9999-99'],\n keepStatic: true,\n showMaskOnHover: false\n },\n [InputMaskEnum.DECIMAL]: {\n digits: this.decimalMaskPrecision,\n groupSeparator: '.',\n radixPoint: ',',\n autoGroup: true,\n repeat: 16,\n rightAlign: false,\n max: this.maxValue,\n showMaskOnHover: false\n },\n [InputMaskEnum.CELLPHONE]: {\n mask: ['(99) 999-999', '(99) 9999-9999', '(99) 99999-9999'],\n keepStatic: true,\n showMaskOnHover: false\n },\n [InputMaskEnum.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 showMaskOnHover: false\n },\n [InputMaskEnum.PLATE]: {\n mask: ['AAA-9&99'],\n keepStatic: true,\n showMaskOnHover: false\n },\n [InputMaskEnum.CEP]: {\n mask: ['99999-999'],\n showMaskOnHover: false\n },\n [InputMaskEnum.INTEGER]: {\n max: this.maxValue,\n min: this.validateMinValueOnMask ? this.minValue : undefined,\n rightAlign: false,\n showMaskOnHover: false\n },\n [InputMaskEnum.NUMERIC_STRING]: {\n regex: \"[0-9]*\",\n showMaskOnHover: false\n },\n [InputMaskEnum.TIME]: '99:99',\n };\n\n if (this.mask == InputMaskEnum.DECIMAL) {\n applyInputMask(this.element.nativeElement, InputMaskEnum.DECIMAL, masks[this.mask]);\n } else if (this.mask == InputMaskEnum.INTEGER) {\n applyInputMask(this.element.nativeElement, InputMaskEnum.INTEGER, masks[this.mask]);\n } else {\n applyInputMask(this.element.nativeElement, masks[this.mask]);\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 customText: {\n htmlType: \"text\",\n length: this.maxLength\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(isLoginValidation: boolean = false): AsyncValidatorFn {\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)\n .then((response: NgtHttpValidationResponse) => {\n this.loading = false;\n\n if (isLoginValidation) {\n resolve(response.valid ? { 'login': true } : null);\n }\n\n resolve(response.valid ? null : { 'email': true });\n })\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 passwordValidator(): AsyncValidatorFn {\n return (control: AbstractControl) => {\n if (this.passwordValidatorTimeout) {\n clearTimeout(this.passwordValidatorTimeout);\n }\n\n if (this.value) {\n return new Promise((resolve) => {\n this.passwordValidatorTimeout = setTimeout(() => {\n this.loading = true;\n\n this.ngtValidationService.passwordValidation(this.value, this.passwordableId, this.passwordPolicyId)\n .then((response: NgtHttpValidationResponse) => {\n this.loading = false;\n\n resolve(response.valid ? null : { 'invalid_password': true });\n })\n .catch(() => {\n this.loading = false;\n\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\" || this.mask == \"cuit\") {\n value = (value + \"\")\n .replace(/[^\\d]/g, '');\n } else if (\n this.mask == InputMaskEnum.CELLPHONE\n || this.mask == InputMaskEnum.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 hasPasswordValidation(): boolean {\n return typeof this.ngtValidationService?.passwordValidation === 'function';\n }\n\n private isDisabledByParent(): boolean {\n return this.ngtForm?.isDisabled\n || this.ngtSection?.isDisabled\n || this.ngtModal?.isDisabled;\n }\n\n private hasChangesBetweenModels(): boolean {\n return this.removeMasks(this.getNativeValue()) !== this.value;\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<label *ngIf=\"label\" class=\"mb-2 flex {{ ngtStyle.compile(['color.text', 'text', 'font']) }}\" [hidden]='shining'>\n {{ label }}:\n\n <span *ngIf=\"isRequired\" class=\"text-red-500 font-bold text-md ml-1\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [helperReverseYPosition]=\"helperReverseYPosition\" [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n <span [innerHtml]=\"helpText\"></span>\n </ngt-helper>\n</label>\n\n<div class=\"{{ shining ? 'hidden' : 'flex relative'}}\">\n <input autocomplete=\"new-password\"\n class=\"flex border appearance-none focus:outline-none leading-tight w-full {{ getInputPaddings() }} {{ ngtStyle.compile(['h', 'text', 'color.border', 'color.bg', 'color.text', 'rounded', 'cursor']) }}\"\n [disabled]=\"disabled()\" [readonly]=\"isReadonly || loading\" [placeholder]=\"placeholder\"\n [style]=\"uppercase ? 'text-transform: uppercase!important':''\"\n [ngClass]=\"{'input-has-error border-red-700': formControl?.errors && (formControl?.dirty || (formContainer && formContainer['submitted']))}\"\n [attr.type]=\"inputProperties.htmlType\" (mouseleave)=\"restorePlaceholder()\" (focusout)=\"restorePlaceholder()\"\n (input)=\"useInputEvent ? onNativeChange() : null\" (change)=\"!useInputEvent ? onNativeChange() : null\" #element>\n <span *ngIf=\"innerLeftIcon\"\n class=\"absolute self-center px-2 {{ innerLeftIconColor }} {{ onClickLeftIcon ? 'cursor-pointer' : '' }}\"\n (click)=\"onClickLeftIcon.emit()\">\n\n <ngt-svg *ngIf=\"!showRoundedIcon\" class=\"text-xs fill-current\" [src]='innerLeftIcon'></ngt-svg>\n <img *ngIf=\"showRoundedIcon\" class=\"rounded-full h-4\" [src]='innerLeftIcon'>\n </span>\n\n <div *ngIf=\"customInnerContentTemplate\" class=\"absolute self-center px-2\">\n <ng-container [ngTemplateOutlet]=\"customInnerContentTemplate\"></ng-container>\n </div>\n\n <div class=\"flex absolute h-full justify-end right-0 w-auto\">\n <span *ngIf=\"!disabled() && allowClear && value && !loading\"\n class=\"self-center right-0 px-2 text-red-400 cursor-pointer\" (click)='clearInput($event)'>\n <svg class=\"fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M19.1 17.2l-5.3-5.3 5.3-5.3-1.8-1.8-5.3 5.4-5.3-5.3-1.8 1.7 5.3 5.3-5.3 5.3L6.7 19l5.3-5.3 5.3 5.3 1.8-1.8z\" />\n </svg>\n </span>\n\n <span *ngIf=\"loading\" class=\"self-center right-0 px-2 text-gray-500\">\n <div class=\"div-loader\"></div>\n </span>\n\n <span *ngIf=\"type == 'password' && value\" class=\"self-center px-2 cursor-pointer\">\n <svg *ngIf=\"element.type == 'password'\" class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\" (click)='showPassword()'>\n <path\n d=\"M.2 10a11 11 0 0 1 19.6 0A11 11 0 0 1 .2 10zm9.8 4a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm0-2a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n\n <svg *ngIf=\"element.type == 'text'\" class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\" (click)='hidePassword()'>\n <path\n d=\"M12.81 4.36l-1.77 1.78a4 4 0 0 0-4.9 4.9l-2.76 2.75C2.06 12.79.96 11.49.2 10a11 11 0 0 1 12.6-5.64zm3.8 1.85c1.33 1 2.43 2.3 3.2 3.79a11 11 0 0 1-12.62 5.64l1.77-1.78a4 4 0 0 0 4.9-4.9l2.76-2.75zm-.25-3.99l1.42 1.42L3.64 17.78l-1.42-1.42L16.36 2.22z\" />\n </svg>\n </span>\n\n <span *ngIf=\"innerRightIcon && type != 'password'\"\n class=\"self-center px-2 {{ innerRightIconColor }} {{ onClickRightIcon ? 'cursor-pointer' : '' }}\"\n (click)=\"onClickRightIcon.emit()\">\n <ngt-svg class=\"text-xxs fill-current\" [src]='innerRightIcon'></ngt-svg>\n </span>\n </div>\n</div>\n\n<ng-container *ngIf=\"showCharactersLength && maxTotalCharsCount && !shining\">\n <p class=\"text-xxs mt-1\">\n {{ ngtTranslateService.ngtTextAreaRemainingCharacters }}:\n <span class=\"font-semibold\">{{ getRemainingCharacters() }}</span>\n </p>\n</ng-container>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"{{ ngtStyle.compile(['h']) }} w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<input *ngIf='componentReady' type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n\n<ng-content></ng-content>\n\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\" [minValue]='minValue' [minLength]='minLength'>\n</ngt-validation>\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 { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\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 { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ngt-select-option]',\n standalone: false\n})\nexport class NgtSelectOptionTmp {\n public constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({\n selector: '[ngt-select-option-selected]',\n standalone: false\n})\nexport class NgtSelectOptionSelectedTmp {\n public constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({\n selector: '[ngt-select-header]',\n standalone: false\n})\nexport class NgtSelectHeaderTmp {\n public constructor(public template: TemplateRef<any>) { }\n}\n","export function delay(ms: number) {\n return new Promise(resolve => setTimeout(resolve, ms));\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 { DropdownPosition, 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 { NgtSectionComponent } from '../ngt-section/ngt-section.component';\nimport { NgtSelectHeaderTmp, NgtSelectOptionSelectedTmp, NgtSelectOptionTmp } from './ngt-select.directive';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.component';\nimport { delay } from '../../helpers/promise/promise-helper';\n\nexport enum NgtSelectDropdownPanelHeight {\n AUTO = 'auto',\n XS = 'xs',\n MD = 'md',\n SM = 'sm',\n LG = 'lg',\n XL = 'xl'\n}\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 standalone: false\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 @Input() public helperReverseYPosition: boolean;\n @Input() public helperAutoXReverse: boolean = true;\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 autoSelectUniqueOption: boolean = false;\n @Input() public groupValue: (groupKey: string, cildren: any[]) => Object;\n @Input() public trackBy: (item: any) => any;\n @Input() public sortSelectedItemsFn: (a: any, b: any) => any;\n @Input() public isAllowedToRemoveFn: (a: any) => boolean;\n\n /** Validation */\n @Input() public isRequired: boolean = false;\n\n @Output() public onLoadRemoteResource: EventEmitter<any> = new EventEmitter<any>();\n @Output() public onSelectedItemRemove: EventEmitter<any> = new EventEmitter<any>();\n @Output() public onClear: EventEmitter<void> = new EventEmitter<void>();\n @Output() public onClose: 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\n @Optional() @Host()\n public formContainer: ControlContainer,\n\n @Optional()\n public ngtTranslateService: NgtTranslateService,\n\n private injector: Injector,\n private ngtHttp: NgtHttpService,\n private changeDetector: ChangeDetectorRef,\n\n @Optional() @SkipSelf()\n private ngtForm: NgtFormComponent,\n\n @Optional() @SkipSelf()\n private ngtSection: NgtSectionComponent,\n\n @Optional() @SkipSelf()\n private ngtModal: NgtModalComponent\n ) {\n super();\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 this.bindSubscriptions();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\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 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 onOpen(): void {\n const parentElements = document.querySelectorAll('#ngtSelectParentContainer');\n\n if (this.dropdownPosition == 'auto' && parentElements?.length) {\n const parentContainer = parentElements[parentElements.length - 1];\n\n this.calculateDropdownPosition(parentContainer);\n }\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 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.cantRemoveItem(item.value)) {\n setTimeout(() => this.ngSelectComponent.select(item));\n\n return;\n }\n\n this.onSelectedItemRemove.emit(item.value);\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 itemSearchFn = (term: string, item: any) => {\n if (this.remoteResource) {\n return null;\n }\n\n let formattedValue;\n\n if (typeof item == 'string') {\n formattedValue = item;\n }\n\n if (!this.bindLabel) {\n return null;\n }\n\n if (typeof item['getAttribute'] == 'function') {\n formattedValue = item.getAttribute([this.bindLabel]);\n } else if (typeof item == 'object') {\n formattedValue = item[this.bindLabel];\n }\n\n return formattedValue\n ? formattedValue.toLocaleLowerCase().includes(term.toLocaleLowerCase())\n : null;\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 if (this.canAutoSelectUniqueOption(response)) {\n this.onNativeChange(response.data[0]);\n }\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): void {\n if (this.hasChangesBetweenModels(this.value, value)) {\n this.value = this.sortSelectedItems(value);\n }\n }\n\n public change(value): void {\n if (this.hasChangesBetweenModels(value, this.nativeValue)) {\n if (Array.isArray(value)) {\n value = value.map((val) => val);\n }\n\n this.nativeValue = this.sortSelectedItems(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 cantRemoveItem(itemValue: any): boolean {\n return (!this.allowOriginalItemsUnselect && this.hadPreviousSelection(itemValue))\n || (this.isAllowedToRemoveFn && !this.isAllowedToRemoveFn(itemValue));\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.disabled()) {\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 public disabled(): boolean {\n return this.isDisabled || this.isDisabledByParent();\n }\n\n private async calculateDropdownPosition(parentContainer: Element): Promise<void> {\n while (!this.componentReady || this.loading || this.ngSelectComponent.showNoItemsFound()) {\n await delay(200);\n\n if (this.ngSelectComponent.showNoItemsFound() && !this.loading && this.componentReady) {\n break;\n }\n }\n\n this.changeDetector.detectChanges();\n\n setTimeout(() => {\n const ngSelectElement = this.ngSelectComponent.element;\n const ngSelectHeight = ngSelectElement.offsetHeight;\n const ngSelectYPosition = ngSelectElement.getBoundingClientRect().y;\n\n const dropdownHeight = this.ngSelectComponent.dropdownPanel.contentElementRef.nativeElement.offsetHeight;\n const openedSelectHeight = ngSelectHeight + dropdownHeight;\n\n const parentYPosition = parentContainer.getBoundingClientRect().y;\n const ngSelectYPositionInsideParent = ngSelectYPosition - parentYPosition;\n\n const openedSelectTotalHeight = openedSelectHeight + ngSelectYPositionInsideParent;\n const parentContainerHeight = parentContainer.clientHeight;\n\n const fitsOnTop = openedSelectHeight < ngSelectYPositionInsideParent;\n const fitsOnBottom = openedSelectTotalHeight < parentContainerHeight;\n\n const dropdownPosition: DropdownPosition = !fitsOnBottom && fitsOnTop\n ? 'top'\n : 'bottom';\n\n (<any>this.ngSelectComponent.dropdownPanel['_currentPosition']) = dropdownPosition;\n\n this.ngSelectComponent.dropdownPanel['_updateDropdownClass'](dropdownPosition);\n });\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 if (this.canAutoSelectUniqueOption()) {\n this.onNativeChange(this.items[0]);\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 sortSelectedItems(value: any): any {\n if (this.sortSelectedItemsFn && value instanceof Array && value.length > 1) {\n return value.sort((a, b) => this.sortSelectedItemsFn(a, b));\n }\n\n return value;\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.disabled() && this.wasClicked);\n }\n\n private canAutoSelectUniqueOption(response?: NgtHttpResponse): boolean {\n return !this.value && this.autoSelectUniqueOption\n && (\n (Array.isArray(response?.data) && response?.data?.length === 1)\n || (!response && Array.isArray(this.items) && this.items?.length == 1)\n );\n }\n\n private bindSubscriptions(): void {\n if (this.ngtForm) {\n this.shining = this.ngtForm.isShining();\n\n this.subscriptions.push(\n this.ngtForm.onShiningChange.subscribe((shining: boolean) => {\n this.shining = shining;\n })\n );\n }\n\n this.changeDetector.detectChanges();\n }\n\n private isDisabledByParent(): boolean {\n return this.ngtForm?.isDisabled\n || this.ngtSection?.isDisabled\n || this.ngtModal?.isDisabled;\n }\n\n private destroySubscriptions(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<label *ngIf=\"label\" [hidden]='shining'\n class=\"{{ shining ? '' : 'block' }} {{ ngtStyle.compile(['color.text', 'text', 'font', 'fontCase']) }} mb-2 flex\">\n <ngt-svg *ngIf=\"labelIcon\" class=\"mr-1 {{labelIconColor}}\" src=\"{{labelIcon}}\"></ngt-svg>\n {{ label }}:\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [helperReverseYPosition]=\"helperReverseYPosition\" [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<div [hidden]='shining' class=\"{{ ngtStyle.compile(['text']) }} {{ getSelectClass() }} normal-case\"\n style=\"min-height: 2.5rem;\">\n <ng-select class=\"custom\" [(ngModel)]='nativeValue' [name]='nativeName' [addTag]='allowCreate'\n [addTagText]=\"createText || ngtTranslateService.ngtSelectCreateText\" [bindLabel]=\"bindLabel\"\n [multiple]=\"multiple\" [hideSelected]=\"hideSelected\" [typeahead]=\"typeahead\"\n [notFoundText]=\"notFoundText || ngtTranslateService.ngtSelectNotFoundText\" [searchable]=\"searchable\"\n [searchFn]=\"itemSearchFn\" [disabled]='disabled() || isReadonly' [clearable]=\"clearable && hasSelectedValue()\"\n [closeOnSelect]=\"closeOnSelect\" [trackByFn]=\"trackBy\" [labelForId]=\"labelForId\"\n [typeToSearchText]=\"typeToSearchText || ngtTranslateService.ngtSelectTypeToSearchText\"\n [placeholder]=\"placeholder || ngtTranslateService.ngtSelectPlaceholder\" [dropdownPosition]=\"dropdownPosition\"\n [groupBy]=\"groupBy\" [clearAllText]=\"clearAllTooltip || ngtTranslateService.ngtSelectClearAllTooltip\"\n [clearSearchOnAdd]=\"clearSearchOnAdd\" [bindValue]=\"bindValue\" [virtualScroll]=\"virtualScroll\"\n [loadingText]=\"loadingText || ngtTranslateService.ngtSelectLoadingText\" [maxSelectedItems]=\"maxSelectedItems\"\n [tabIndex]=\"tabIndex\" [items]=\"ngSelectItems | async\" [groupValue]=\"groupValue\" [loading]=\"loading\"\n [compareWith]='compareWith' [inputAttrs]=\"inputAttrs\" (scroll)=\"onScroll($event)\" (close)=\"onClose.emit()\"\n (change)=\"onNativeChange($event)\" (clear)='onClearSelect()' (remove)='onRemoveSelectedItem($event)'\n (open)=\"onOpen()\" (click)=\"wasClicked = true\">\n\n <ng-template *ngIf='ngtSelectHeaderTemplate' ng-header-tmp>\n <ng-template [ngTemplateOutlet]=\"ngtSelectHeaderTemplate\">\n </ng-template>\n </ng-template>\n\n <ng-template ng-label-tmp let-item=\"item\">\n <div class=\"flex w-full items-center pr-1\">\n <ng-container *ngIf=\"multiple && !cantRemoveItem(item)\">\n <div class=\"ng-value-icon px-1 h-full border-r mr-2 {{ ngtStyle.compile(['color.text', 'text']) }} cursor-pointer\"\n (click)='removeItem($event, item)'>\n <svg class=\"ng-value-icon fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\">\n <path\n d=\"M19.1 17.2l-5.3-5.3 5.3-5.3-1.8-1.8-5.3 5.4-5.3-5.3-1.8 1.7 5.3 5.3-5.3 5.3L6.7 19l5.3-5.3 5.3 5.3 1.8-1.8z\" />\n </svg>\n </div>\n </ng-container>\n\n <ng-template *ngIf='ngtOptionSelectedTemplate' [ngTemplateOutlet]=\"ngtOptionSelectedTemplate\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-template>\n\n <ng-template *ngIf='!ngtOptionSelectedTemplate' [ngTemplateOutlet]=\"ngtOptionTemplate\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-template>\n </div>\n </ng-template>\n\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"ngtOptionTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, index: index, searchTerm: search }\">\n </ng-template>\n </ng-template>\n </ng-select>\n</div>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"{{ ngtStyle.compile(['h']) }} w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>\n\n<input *ngIf='componentReady' type='hidden' [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">","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 { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\nimport { NgtValidationModule } from '../ngt-validation/ngt-validation.module';\nimport { NgtSelectComponent } from './ngt-select.component';\nimport { NgtSelectHeaderTmp, NgtSelectOptionSelectedTmp, NgtSelectOptionTmp } from './ngt-select.directive';\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 standalone: false\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-6',\n w: 'w-6',\n color: {\n text: 'text-white',\n bg: 'bg-gray-700'\n }\n });\n\n this.ngtPaginationNextPreviousSectionButtonStyle.load(this.injector, 'NgtPaginationNextPreviousButton', {\n h: 'h-6',\n w: 'w-6',\n color: {\n text: 'text-white',\n bg: 'bg-gray-300'\n }\n });\n\n this.ngtPaginationFirstLastButtonStyle.load(this.injector, 'NgtPaginationFirstLastButton', {\n h: 'h-6',\n w: 'w-6',\n color: {\n text: 'text-white',\n bg: 'bg-gray-900'\n }\n });\n\n this.ngtPaginationActivePageButtonStyle.load(this.injector, 'NgtPaginationActivePageButton', {\n h: 'h-6',\n w: 'w-6',\n color: {\n text: 'text-white',\n bg: 'bg-gray-500'\n }\n });\n\n this.ngtPaginationPageButtonStyle.load(this.injector, 'NgtPaginationPageButton', {\n h: 'h-6',\n w: 'w-6',\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;\n this.displayNextSectionButton = sectionEndPage < totalPages;\n }\n}\n","<div class=\"{{ displayPagination ? 'flex' : 'hidden' }} items-center w-full h-full relative\">\n <ul class=\"flex justify-start\">\n <!-- FIRST -->\n <li (click)='goToFirstPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationFirstLastButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\" focusable=\"false\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path\n d=\"M18.41 7.41L17 6l-6 6l6 6l1.41-1.41L13.83 12l4.58-4.59m-6 0L11 6l-6 6l6 6l1.41-1.41L7.83 12l4.58-4.59z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- PREVIOUS -->\n <li (click)='goToPreviousPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path d=\"M15.41 16.58L10.83 12l4.58-4.59L14 6l-6 6l6 6l1.41-1.42z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- PREVIOUS SECTION -->\n <li *ngIf=\"displayPreviousSectionButton\" (click)='goToPreviousSection()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousSectionButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path\n d=\"M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n </ngt-action>\n </li>\n\n <ng-container *ngFor='let page of pages'>\n <ng-container *ngIf='page == pagination.page'>\n <li class=\"mr-2\">\n <ngt-action class=\"text-xs\" [ngtStyle]='ngtPaginationActivePageButtonStyle' [forceEnable]=\"true\">\n {{ page }}\n </ngt-action>\n </li>\n </ng-container>\n\n <ng-container *ngIf='page !== pagination.page'>\n <li (click)='goToPage(page)' class=\"mr-2\">\n <ngt-action class=\"text-xs\" [ngtStyle]='ngtPaginationPageButtonStyle' [forceEnable]=\"true\">\n {{ page }}\n </ngt-action>\n </li>\n </ng-container>\n\n </ng-container>\n\n <!-- NEXT SECTION -->\n <li *ngIf=\"displayNextSectionButton\" (click)='goToNextSection()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousSectionButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path\n d=\"M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- NEXT -->\n <li (click)='goToNextPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path d=\"M8.59 16.58L13.17 12L8.59 7.41L10 6l6 6l-6 6l-1.41-1.42z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- LAST -->\n <li (click)='goToLastPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationFirstLastButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\" focusable=\"false\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path\n d=\"M5.59 7.41L7 6l6 6l-6 6l-1.41-1.41L10.17 12L5.59 7.41m6 0L13 6l6 6l-6 6l-1.41-1.41L16.17 12l-4.58-4.59z\" />\n </svg>\n </ngt-action>\n </li>\n </ul>\n\n <!-- REGISTERS PER PAGE -->\n <div class=\"flex items-center w-auto absolute right-0\">\n <ngt-select class='block w-20 left-0' [searchable]='false' [clearable]='false' dropdownPosition='top'\n [items]='registersPerPageOptions' name='registersPerPageSelect' [(ngModel)]=\"currentRegistersPerPage\"\n h='h-auto' (ngModelChange)='onRegistersPerPageChange($event)' ngt-stylizable>\n <ng-template let-item=\"item\" let-index=\"index\" ngt-select-option>\n {{ item ? item : '' }}\n </ng-template>\n </ngt-select>\n\n <P class=\"text-xs ml-2\">\n {{ ngtTranslateService.ngtPagination(pagination.from, pagination.to, pagination.total) }}\n </P>\n </div>\n</div>\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 standalone: false\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","<button type=\"button\"\n class=\"rounded-full w-full cursor-pointer font-semibold focus:outline-none block px-4 text-xs {{ ngtStyle.compile(['color.bg', 'color.text']) }}\">\n <span class=\"flex items-center justify-center\">\n <ng-content></ng-content>\n <ngt-svg *ngIf=\"icon\" [src]='icon' class=\"fill-current self-center pl-1\"></ngt-svg>\n\n <span *ngIf=\"!icon\" class=\"text-sm\">\n <svg class=\"fill-current self-center pl-1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\">\n <path\n d=\"M15 3C8.373 3 3 8.373 3 15s5.373 12 12 12 12-5.373 12-12S21.627 3 15 3zm4.707 15.293a.999.999 0 11-1.414 1.414L15 16.414l-3.293 3.293a.997.997 0 01-1.414 0 .999.999 0 010-1.414L13.586 15l-3.293-3.293a.999.999 0 111.414-1.414L15 13.586l3.293-3.293a.999.999 0 111.414 1.414L16.414 15l3.293 3.293z\" />\n </svg>\n </span>\n </span>\n</button>\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';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\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\n@Component({\n selector: 'ngt-datatable',\n templateUrl: './ngt-datatable.component.html',\n styleUrls: ['./ngt-datatable.component.css'],\n standalone: false\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 @Input() public canSelectAllRegisters: boolean = false;\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 onSelectAllRegisters: EventEmitter<void> = 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 hasSelectedAllElements: boolean;\n public selectedElements: Array<NgtCheckedElement> = [];\n\n public filterModalStyle: NgtStylizableService = new NgtStylizableService();\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 this.filterModalStyle.load(this.injector, 'FilterModal', {\n w: 'md:max-w-md',\n py: 'py-4',\n px: 'px-6',\n border: 'border border-teal-500',\n overflow: 'overflow-visible',\n color: {}\n });\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 async removeFilter(reference?: string, refresh: boolean = true): Promise<void> {\n return new Promise(resolve => {\n if (reference && !this.hasAppliedFilter(reference)) {\n return resolve();\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 return this.apply(this.ngtPagination.getCurrentPage(), false)\n .then(() => {\n this.cleaningFilter = false;\n\n resolve();\n });\n }\n\n resolve();\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 public getTagFilterValue(filter: any): string {\n const filtersTag = this.getFiltersTagArray(filter);\n\n return filtersTag.length > 1\n ? filtersTag[0] + \" +\"\n : filtersTag[0];\n }\n\n public getTitle(filter: any): string {\n const filtersTag = this.getFiltersTagArray(filter);\n\n return filtersTag.length > 1\n ? filtersTag.slice(1).join(\",\")\n : '';\n }\n\n private getFiltersTagArray(filter: any): string[] {\n const tag = filter?.value?.tagValue ? filter.value.tagValue : filter.value;\n\n return tag.split(\",\");\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\n if (response.meta) {\n this.ngtPagination.proccessPagination(response.meta);\n }\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 if (Object.prototype.hasOwnProperty.call(requestedFilters, reference)) {\n const filter = requestedFilters[reference];\n\n if (this.isValidFilter(filter, reference)) {\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\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 this.subscriptions.push(\n this.onSelectAllRegisters.subscribe(() => {\n this.hasSelectedAllElements = !this.hasSelectedAllElements;\n\n if (!this.hasSelectedAllElements) {\n this.selectedElements = [];\n }\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], reference)) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n private isValidFilter(filter: string | NgtCustomFilter, reference: string): boolean {\n const hasValue: boolean = !!((filter instanceof NgtCustomFilter && filter.term) || filter);\n const isApplied: boolean = this.hasAppliedFilter(reference);\n\n return isApplied || (!isApplied && hasValue);\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<div class=\"w-full\">\n <div class=\"flex flex-wrap w-full\">\n <ngt-tag *ngIf=\"hasAppliedFilters()\" class=\"w-full sm:w-auto {{ filterTagMargin }}\"\n [class.sm:mr-4]=\"filterTagMargin == 'mb-4'\" color.bg=\"bg-red-500\" (click)=\"removeFilter()\" ngt-stylizable>\n Limpar Filtros\n </ngt-tag>\n\n <ng-container *ngIf=\"hasAppliedFilters()\">\n <ng-container *ngFor=\"let filter of filtersTranslated\">\n <ngt-tag class=\"w-full sm:w-auto {{ filterTagMargin }}\" [class.sm:mr-4]=\"filterTagMargin == 'mb-4'\"\n [color.bg]=\"filterTagBgColor\" (click)=\"removeFilter(filter.reference)\" ngt-stylizable\n [title]=\"getTitle(filter)\">\n {{ filter.translation + ': ' + getTagFilterValue(filter) }}\n </ngt-tag>\n </ng-container>\n </ng-container>\n </div>\n\n <table style=\"display: table;\" class=\"text-left w-full border-collapse table-responsive\" #table>\n <ng-content></ng-content>\n </table>\n\n <p *ngIf=\"emptyStateVisible\" class=\"mt-8 mx-auto self-center text-center text-xl\">\n {{ ngtTranslateService.ngtDatatableNoDataFound }}\n </p>\n\n <div *ngIf=\"loading\">\n <div *ngFor=\"let i of [1, 2, 3, 4]\" class=\"flex w-full mt-3\">\n <ng-container *ngIf=\"columnCount.length >= 2\">\n <ng-container *ngFor=\"let j of columnCount; let last = last\">\n <ng-container *ngIf=\"last\">\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n </ng-container>\n\n <ng-container *ngIf=\"!last\">\n <ngt-shining class=\"h-10 w-full mr-10\"></ngt-shining>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"columnCount.length < 2\">\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n <ngt-shining class=\"h-10 w-full mr-10 ml-10\"></ngt-shining>\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n </ng-container>\n </div>\n </div>\n</div>\n\n<div class=\"clearfix {{ paginationMargin }}\" [hidden]='!data || data.length == 0'>\n <ngt-pagination [pagesInterval]='4' (onPageChange)='apply($event, false)' (onPerPageChange)='apply(1, false)'\n #ngtPagination>\n </ngt-pagination>\n</div>\n\n<ngt-modal [customLayout]=\"true\" [isDisabled]=\"false\" [ngtStyle]=\"filterModalStyle\" #searchModal>\n <ng-container *ngTemplateOutlet=\"searchModalTemplate\"></ng-container>\n</ngt-modal>","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 standalone: false\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","<ng-content></ng-content>","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 standalone: false\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","<ngt-checkbox [(ngModel)]='checked' [isDisabled]=\"isDisabled\" (ngModelChange)='onCheckboxChange($event)'></ngt-checkbox>\n<ng-content></ng-content>","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 standalone: false\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-5',\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","<ng-content></ng-content>","import {\n AfterContentInit, Component, ElementRef, Injector, OnDestroy, Optional, Self, SkipSelf, ViewChild\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NgtTranslateService } from '../../../services/http/ngt-translate.service';\n\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\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-th-check]',\n templateUrl: './ngt-th-check.component.html',\n standalone: false\n})\nexport class NgtThCheckComponent implements AfterContentInit, OnDestroy {\n @ViewChild(NgtCheckboxComponent) public ngtCheckbox: NgtCheckboxComponent;\n\n public checked = false;\n public ngtStyle: NgtStylizableService;\n public hasSelectedAllCheckboxes: boolean;\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private injector: Injector,\n private hostElement: ElementRef,\n\n @Self() @Optional()\n private ngtStylizableDirective: NgtStylizableDirective,\n\n @Optional() @SkipSelf()\n private ngtDataTable: NgtDatatableComponent,\n\n @Optional()\n public ngtTranslateService: NgtTranslateService,\n ) {\n this.bindNgtStyle();\n\n if (this.hasSelectedAllElements()) {\n this.checked = true;\n this.hasSelectedAllCheckboxes = true;\n }\n }\n\n public getSelectAllElementsCheckboxStyle(): string {\n return this.hasSelectedAllElements()\n ? `${this.ngtCheckbox?.ngtStyle.compile(['color.bg'])} text-white`\n : `hover:${this.ngtCheckbox?.ngtStyle.compile(['color.bg'])} hover:text-white bg-white`;\n }\n\n public hasSelectedAllElements(): boolean {\n return this.ngtDataTable?.hasSelectedAllElements;\n }\n\n public canSelectAllFilter(): boolean {\n return this.ngtDataTable?.canSelectAllRegisters;\n }\n\n public getPaginationTotal(): number {\n return this.ngtDataTable?.ngtPagination?.getPagination()?.total;\n }\n\n public onToggleSelectAllElements(): void {\n this.ngtDataTable?.onSelectAllRegisters.emit();\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 this.hasSelectedAllCheckboxes = checked;\n this.checked = checked;\n\n if (!checked && this.hasSelectedAllElements()) {\n this.hasSelectedAllCheckboxes = true;\n this.checked = true;\n }\n }\n }\n\n private bindNgtStyle() {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, '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","<ng-container *ngIf=\"canSelectAllFilter(); else default\">\n <div class=\"flex items-center content-center relative w-10\">\n <ngt-checkbox [(ngModel)]='checked' (ngModelChange)='onCheckboxChange($event)'\n (click)=\"$event.stopPropagation()\">\n </ngt-checkbox>\n\n <div *ngIf=\"hasSelectedAllCheckboxes\" class=\"rounded-md border border-gray-400 p-1 ml-1 cursor-pointer relative\"\n [ngClass]=\"getSelectAllElementsCheckboxStyle()\"\n [title]=\"hasSelectedAllElements() ? ngtTranslateService.ngtDatatableClearSelection : ngtTranslateService.ngtDatatableSelectAllRegisters\"\n (click)=\"onToggleSelectAllElements()\">\n <svg class=\"fill-current self-center h-4\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\n <path\n d=\"M342.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 178.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l80 80c12.5 12.5 32.8 12.5 45.3 0l160-160zm96 128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 402.7 54.6 297.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l256-256z\" />\n </svg>\n\n <div *ngIf=\"hasSelectedAllElements()\"\n class=\"rounded-xl absolute top-0 text-xs right-0 -mt-5 -mr-2 py-1 px-2 text-center text-white bg-blue-500\">\n {{ getPaginationTotal() }}\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #default>\n <ngt-checkbox [(ngModel)]='checked' (ngModelChange)='onCheckboxChange($event)' (click)=\"$event.stopPropagation()\">\n </ngt-checkbox>\n</ng-template>\n\n<ng-content></ng-content>\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 standalone: false\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 modalWidth: string = 'md:max-w-md';\n @Input() public searchModalOverflow: string = 'overflow-visible';\n @Input() public sortable: boolean;\n @Input() public searchable: boolean;\n @Input() public hasCustomSearch: boolean = false;\n @Input() public searchLabel: string;\n @Input() public searchIcon: 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\n public ngtStyle: NgtStylizableService;\n public filterModalHeaderStyle: NgtStylizableService = new NgtStylizableService();\n public filterModalBodyStyle: NgtStylizableService = new 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.searchModal.ngtStyle.w = this.modalWidth;\n this.ngtDataTable.searchModal.ngtStyle.overflow = this.searchModalOverflow;\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 this.filterModalHeaderStyle.load(this.injector, 'FilterModalHeader', {\n pb: 'pb-3',\n color: {}\n });\n\n this.filterModalBodyStyle.load(this.injector, 'FilterModalBody', {\n px: 'px-0',\n py: 'py-0'\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","<div class=\"flex items-center w-full {{ ngtStyle.compile(['justifyContent']) }}\" [title]=\"getTooltip()\" (click)='sort()'\n [class.cursor-pointer]='sortable'>\n <ng-content></ng-content>\n <ng-container *ngIf='sortable && isCurrentSort'>\n <svg *ngIf=\"sortDirection == 'asc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z\" />\n </svg>\n\n <svg *ngIf=\"sortDirection == 'desc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M10.707 7.05L10 6.343 4.343 12l1.414 1.414L10 9.172l4.243 4.242L15.657 12z\" />\n </svg>\n </ng-container>\n\n <ng-container *ngIf='searchable'>\n <div (click)='enableSearch($event)' class=\"float-right ml-2\" title=\"Filtrar\">\n <ngt-action class=\"text-lg\" h='h-6' w='w-6' [forceEnable]=\"true\" ngt-stylizable>\n <svg class=\"fill-current self-center\" viewBox=\"0 0 1792 1792\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M1595 295q17 41-14 70l-493 493v742q0 42-39 59-13 5-25 5-27 0-45-19l-256-256q-19-19-19-45V858L211 365q-31-29-14-70 17-39 59-39h1280q42 0 59 39z\" />\n </svg>\n </ngt-action>\n </div>\n </ng-container>\n</div>\n\n<ng-template #modal>\n <ngt-modal-header [disableDefaultCloses]=\"ngtDataTable.searchModal.disableDefaultCloses\"\n [ngtStyle]=\"filterModalHeaderStyle\" (onClose)=\"ngtDataTable.searchModal.close()\">\n <ngt-svg *ngIf=\"searchIcon\" [src]=\"searchIcon\" class=\"text-sm\">\n </ngt-svg>\n\n <svg *ngIf=\"!searchIcon\" class=\"fill-current self-center text-sm\" viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.0042 6.84417L11.8042 2.04417V-0.355835H-0.195801V2.04417L4.6042 6.84417V11.6442L7.0042 9.24417V6.84417Z\" />\n </svg>\n\n <span *ngIf=\"searchLabel\" class=\"font-semibold text-sm ml-2\">\n {{ searchLabel }}\n </span>\n\n <ng-content select='[customSearchHeader]'></ng-content>\n </ngt-modal-header>\n\n <ngt-modal-body [isDisabled]=\"false\" [ngtStyle]=\"filterModalBodyStyle\">\n <ngt-input *ngIf=\"!hasCustomSearch\" jit='true' [(ngModel)]='searchTerm' (ngModelChange)='search($event)'\n placeholder='Pesquisar...' name='{{ reference }}_filter' #searchInput>\n </ngt-input>\n\n <div [hidden]='!hasCustomSearch'>\n <ng-content select='[customSearch]'></ng-content>\n </div>\n </ngt-modal-body>\n</ng-template>","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 standalone: false\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","<ng-content></ng-content>","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 standalone: false\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","<ng-content></ng-content>","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 { 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 { NgtSvgModule } from '../ngt-svg/ngt-svg.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 NgtSvgModule\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\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\n@Component({\n selector: 'ngt-floating-button',\n templateUrl: './ngt-floating-button.component.html',\n animations: [\n trigger('fadeY', [\n state('void', style({ opacity: 0, transform: 'translateY(10px)' })),\n transition(':enter, :leave', [\n animate(300)\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 standalone: false\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","<button (click)=\"toggleMenu()\" *ngIf=\"isOpen\" tabindex=\"-1\"\n class=\"fixed z-10 inset-0 h-full w-full bg-black opacity-0 cursor-default\"></button>\n\n<div class=\"{{ ngtStyle.compile(['w']) }} rounded-full relative z-20\" *ngIf=\"isOpen\" @fadeY>\n <ng-container *ngFor=\"let menu of menus; let i = index\">\n <div class=\"my-2 rounded-full shadow-xl\">\n <a *ngIf=\"isTypeNavigation(menu)\" [routerLink]=\"menu.externalLink ? null : menu.url\"\n (click)='menu.externalLink ? openExternalLink(menu.url) : toggleMenu()' title=\"{{ menu.tooltip }}\"\n class=\"{{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text']) }} flex items-center justify-center rounded-full hover:opacity-75\">\n <span *ngIf=\"menu.name\"\n class=\"text-xs font-semibold {{ menu.icon ? 'pr-2' : '' }}\">{{ menu.name }}</span>\n <ngt-svg *ngIf=\"menu.icon\" [src]='menu.icon' class=\"fill-current\"></ngt-svg>\n </a>\n\n <div *ngIf=\"isTypeAction(menu)\" title=\"{{ menu.tooltip }}\" (click)='onClick($event, menu)'\n class=\"{{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text']) }} flex items-center justify-center rounded-full hover:opacity-75 cursor-pointer\">\n <span *ngIf=\"menu.name\"\n class=\"text-xs font-semibold {{ menu.icon ? 'pr-2' : '' }}\">{{ menu.name }}</span>\n <ngt-svg *ngIf=\"menu.icon\" [src]='menu.icon' class=\"fill-current\"></ngt-svg>\n </div>\n </div>\n </ng-container>\n</div>\n\n<!-- Abrir menu -->\n<div (click)=\"toggleMenu()\"\n class=\"flex z-20 justify-center {{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text', 'px', 'py']) }} focus:outline-none hover:opacity-75 cursor-pointer rounded-full outline-none\">\n <span *ngIf=\"label\"\n class=\"{{ icon ? 'pr-2' : '' }} self-center text-center text-xs font-semibold w-full\">{{ label }}</span>\n <ngt-svg *ngIf=\"icon\" [@openClose]=\"withAnimation ? isOpen ? 'open' : 'closed' : ''\" [src]='icon'\n class=\"fill-current\"></ngt-svg>\n</div>\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\nexport enum NgtSliderColorSchemeEnum {\n PRIMARY = 'primary',\n SUCCESS = 'success',\n WARNING = 'warning',\n DANGER = 'danger'\n};\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 standalone: false\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 isDisabled: boolean;\n @Input() public showPercentageSymbol: 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 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","<div class=\"flex flex-col\">\n <span *ngIf='label && !shining' class=\"text-sm mb-2\">{{ label }}:</span>\n\n <div class=\"{{ shining ? 'hidden' : 'flex' }} items-center\">\n <input class=\"block w-full cursor-pointer overflow-hidden appearance-none bg-gray-400 {{color}}\"\n [class.cursor-not-allowed]=\"isDisabled\" type=\"range\" [name]='name' ([ngModel])='value' [min]='min'\n [max]='max' [step]='step' [disabled]=\"isDisabled\" #element>\n\n <span id='display' class=\"text-xs ml-2 font-semibold\" #display>{{ value }}</span>\n <span *ngIf=\"showPercentageSymbol\" class=\"text-xs font-semibold\">%</span>\n </div>\n</div>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"w-full h-6\"></ngt-shining>\n </div>\n</ng-container>","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 standalone: false\n})\nexport class NgtRadioButtonContainerComponent {\n @Output() public onActiveRadioButtonChange = new EventEmitter();\n\n public setActiveRadioButton(activeRadioButton: NgtRadioButtonComponent) {\n this.onActiveRadioButtonChange.emit(activeRadioButton);\n }\n}\n","<ng-content></ng-content>","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 { NgtSectionComponent } from '../ngt-section/ngt-section.component';\nimport { NgtRadioButtonContainerComponent } from './ngt-radio-button-container/ngt-radio-button-container.component';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.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 standalone: false\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 @Input() public selectedHexColor: string;\n\n @Input() public helpTitle: string;\n @Input() public helpTextColor: string = 'text-green-500';\n @Input() public helpText: string;\n @Input() public helperReverseYPosition: boolean;\n @Input() public helperAutoXReverse: boolean = true;\n\n public ngtStyle: NgtStylizableService;\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private injector: Injector,\n private renderer: Renderer2,\n\n @Self() @Optional()\n private ngtStylizableDirective: NgtStylizableDirective,\n\n @Optional() @SkipSelf()\n private ngtForm: NgtFormComponent,\n\n @Optional() @SkipSelf()\n private ngtSection: NgtSectionComponent,\n\n @Optional() @SkipSelf()\n private ngtModal: NgtModalComponent,\n\n @Optional() @SkipSelf()\n private ngtRadioButtonContainer: NgtRadioButtonContainerComponent,\n\n @Optional() @Host()\n public formContainer: ControlContainer\n ) {\n super();\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 public disabled(): boolean {\n return this.isDisabled || this.isDisabledByParent();\n }\n\n public getStyle(): string {\n let baseStyle = 'width: 20px; height: 20px;';\n\n if (this.selectedHexColor) {\n baseStyle += ` color: ${this.selectedHexColor}`;\n }\n\n return baseStyle;\n }\n\n private isDisabledByParent(): boolean {\n return this.ngtForm?.isDisabled\n || this.ngtSection?.isDisabled\n || this.ngtModal?.isDisabled;\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<label\n class=\"inline-flex items-center {{ disabled() || !isSelectable ? 'cursor-not-allowed opacity-50' : 'cursor-pointer' }}\">\n <input type=\"checkbox\" [name]='name' class=\"hidden\" ([ngModel])='value' [disabled]='disabled() || !isSelectable'\n #element>\n\n <div class=\"{{ value ? ngtStyle.compile(['color.border', 'color.text']) : 'border-gray-500' }}\n shadow rounded-full border border-gray-400 text-sm {{ !shining ? 'flex justify-center items-center' : 'hidden' }}\"\n [style]=\"getStyle()\">\n\n <div style=\"width: 14px; height: 14px;\">\n <svg *ngIf=\"value\" class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 29.107 29.107\">\n\n <path\n d=\"M14.554 0C6.561 0 0 6.562 0 14.552c0 7.996 6.561 14.555 14.554 14.555 7.996 0 14.553-6.559 14.553-14.555C29.106 6.562 22.55 0 14.554 0z\" />\n </svg>\n </div>\n </div>\n\n <span *ngIf='label && !shining' class=\"text-xs ml-2\" [class.line-through]='!isSelectable'>\n {{ label }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" class=\"ml-1\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [autoXReverse]=\"helperAutoXReverse\" [helperReverseYPosition]=\"helperReverseYPosition\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"w-16 h-12\"></ngt-shining>\n </div>\n</ng-container>","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 providers: [\n NgtMakeProvider(NgtTextareaComponent),\n ],\n viewProviders: [\n { provide: ControlContainer, useExisting: NgForm }\n ],\n standalone: false\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 font: 'font-normal',\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","<label class=\"{{ shining ? '' : 'block' }} mb-2 flex {{ ngtStyle.compile(['text', 'font', 'color.text']) }}\"\n *ngIf=\"label\" [hidden]='shining'>\n {{ label }}:\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<div class=\"flex flex-col\">\n <div class=\"{{ shining ? '' : 'flex'}}\" [hidden]='shining'>\n <textarea [rows]='rows' autocomplete=\"new-password\" attr.type=\"text\"\n class=\"appearance-none block border focus:outline-none leading-tight text-xs px-3 py-3 rounded w-full {{ ngtStyle.compile(['h', 'color.border', 'color.bg', 'color.text']) }}\"\n [disabled]=\"isDisabled\" [readonly]=\"isReadonly\" placeholder=\"{{ placeholder ? placeholder : ''}}\"\n [ngClass]=\"{'textarea-has-error border-red-700': formControl?.errors && (formControl?.dirty || (formContainer && formContainer['submitted']))}\"\n #element>\n </textarea>\n </div>\n\n <ng-container *ngIf=\"showCharactersLength && !shining\">\n <p class=\"text-xxs mt-1\">\n {{ ngtTranslateService.ngtTextAreaRemainingCharacters }}: <span class=\"font-semibold\">\n {{ getRemainingCharacters() }}\n </span>\n </p>\n </ng-container>\n</div>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<input *ngIf='componentReady' class=\"text-xs\" type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n\n<ng-content></ng-content>\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>\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 { english } from 'flatpickr/dist/l10n/default.js';\nimport { Portuguese } from 'flatpickr/dist/l10n/pt.js';\nimport moment from 'moment';\nimport { FlatpickrOptions } from 'ev-date-picker';\nimport { EvDatePickerComponent } from 'ev-date-picker/ev-date-picker.component';\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 { applyInputMask, InputMaskEnum } from '../../helpers/input-mask/input-mask.helper';\nimport { uuid } from '../../helpers/uuid';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\nimport { NgtSectionComponent } from '../ngt-section/ngt-section.component';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.component';\n\nexport enum NgtDateLocale {\n BRAZIL = 'BRAZIL',\n US = 'US'\n}\n\nexport enum NgtDateMode {\n SINGLE = 'SINGLE',\n RANGE = 'RANGE'\n}\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 standalone: false\n})\nexport class NgtDateComponent extends NgtBaseNgModel implements OnInit, OnDestroy {\n @ViewChild('evDatePicker', { static: true }) public evDatePicker: EvDatePickerComponent;\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 @Input() public helperReverseYPosition: boolean;\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 @Optional() @Host()\n public formContainer: ControlContainer,\n\n private injector: Injector,\n\n @Self() @Optional()\n private ngtStylizableDirective: NgtStylizableDirective,\n\n @Optional() @SkipSelf()\n private ngtForm: NgtFormComponent,\n\n @Optional() @SkipSelf()\n private ngtSection: NgtSectionComponent,\n\n @Optional() @SkipSelf()\n private ngtModal: NgtModalComponent\n ) {\n super();\n\n if (this.ngtForm) {\n this.shining = this.ngtForm.isShining();\n\n this.subscriptions.push(\n this.ngtForm.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-10',\n text: 'text-xs',\n px: 'px-4',\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 this.evDatePicker.flatpickr['calendarContainer']?.remove();\n\n this.destroySubscriptions();\n }\n\n public clearInput(clearInstance = false) {\n this.value = '';\n this.nativeValue = '';\n\n if (this.evDatePicker && clearInstance) {\n this.evDatePicker.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 let secondValue = moment(value[1]);\n\n if (firstValue.isValid() && secondValue.isValid()) {\n return (<any>this.evDatePicker.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.evDatePicker.flatpickr).setDate(firstValue.format(this.getMomentDateFormat()), true, this.dateFormat);\n }\n\n this.evDatePicker.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 public disabled(): boolean {\n return this.isDisabled || this.isDisabledByParent();\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 applyInputMask(this.evDatePicker.flatpickr['input'], InputMaskEnum.DATE, { mask: '99/99/9999' });\n }\n\n if (this.locale == NgtDateLocale.US) {\n return applyInputMask(this.evDatePicker.flatpickr['input'], InputMaskEnum.DATE, { mask: '9999-99-99' });\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 ? english\n : Portuguese;\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 isDisabledByParent(): boolean {\n return this.ngtForm?.isDisabled\n || this.ngtSection?.isDisabled\n || this.ngtModal?.isDisabled;\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<label *ngIf=\"label\" [hidden]=\"shining\"\n class=\"{{ shining ? '' : 'block' }} mb-2 {{ ngtStyle.compile(['text', 'fontCase']) }} flex\">\n {{ label }}:\n\n <span *ngIf=\"isRequired\" class=\"text-red-500 font-bold text-xxs ml-1\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" class=\"ml-1\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [helperReverseYPosition]=\"helperReverseYPosition\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<div [hidden]=\"shining || disabled() || isReadonly\" class=\"relative\">\n <div class=\"overflow-hidden border {{ ngtStyle.compile(['h', 'color.text', 'px', 'py', 'text', 'rounded', 'color.text', 'color.bg', 'color.border']) }}\"\n [class.border-error]=\"hasErrors()\">\n <ev-date-picker class=\"block h-full w-full\" [config]=\"dateConfig\" disabled=\"true\" [placeholder]=\"placeholder\"\n #evDatePicker>\n </ev-date-picker>\n\n <div *ngIf=\"allowClear && value\"\n class=\"flex h-full absolute items-center right-0 top-0 w-auto cursor-pointer {{ showCalendarIcon ? 'mr-5' : 'mr-2' }}\"\n (click)=\"clearInput(true)\">\n <svg class=\"fill-current text-red-400\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M19.1 17.2l-5.3-5.3 5.3-5.3-1.8-1.8-5.3 5.4-5.3-5.3-1.8 1.7 5.3 5.3-5.3 5.3L6.7 19l5.3-5.3 5.3 5.3 1.8-1.8z\" />\n </svg>\n </div>\n\n <div *ngIf=\"showCalendarIcon\"\n class=\"flex h-full absolute items-center right-0 top-0 w-auto cursor-pointer mr-2\">\n <svg class=\"fill-current text-sm\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M19,4H17V3a1,1,0,0,0-2,0V4H9V3A1,1,0,0,0,7,3V4H5A3,3,0,0,0,2,7V19a3,3,0,0,0,3,3H19a3,3,0,0,0,3-3V7A3,3,0,0,0,19,4Zm1,15a1,1,0,0,1-1,1H5a1,1,0,0,1-1-1V12H20Zm0-9H4V7A1,1,0,0,1,5,6H7V7A1,1,0,0,0,9,7V6h6V7a1,1,0,0,0,2,0V6h2a1,1,0,0,1,1,1Z\" />\n </svg>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"shining\">\n <div class=\"flex\">\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"disabled() || isReadonly\">\n <div\n class=\"{{disabled() ? 'disabledDiv' : ''}} {{ngtStyle.compile(['h'])}} w-full text-xs px-4 rounded appearance-none flex items-center border border-gray-400\">\n {{ getFormattedNativeValue() }}\n </div>\n</ng-container>\n\n<input *ngIf=\"componentReady\" type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n\n<ng-content></ng-content>\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { EvDatePickerModule } from 'ev-date-picker';\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 EvDatePickerModule,\n NgtValidationModule,\n NgtShiningModule,\n NgtHelperModule,\n ]\n})\nexport class NgtDateModule { }\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Self,\n SimpleChanges,\n SkipSelf,\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 { NgtFormComponent } from '../ngt-form/ngt-form.component';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.component';\nimport { NgtSectionComponent } from '../ngt-section/ngt-section.component';\n\n@Component({\n selector: 'ngt-button',\n templateUrl: './ngt-button.component.html',\n styleUrls: ['./ngt-button.component.css'],\n standalone: false\n})\nexport class NgtButtonComponent implements AfterViewInit, OnChanges, OnDestroy {\n @Input() public href: string;\n @Input() public type: string = 'success';\n @Input() public link: boolean;\n @Input() public loading: boolean;\n @Input() public isDisabled: boolean;\n @Input() public forceEnable: boolean;\n @Input() public noSubmit: boolean;\n\n public ngtStyle: NgtStylizableService;\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private changeDetector: ChangeDetectorRef,\n private injector: Injector,\n\n @Optional() @SkipSelf()\n private ngtForm: NgtFormComponent,\n\n @Optional() @SkipSelf()\n private ngtSection: NgtSectionComponent,\n\n @Optional() @SkipSelf()\n private ngtModal: NgtModalComponent,\n\n @Self() @Optional()\n 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, 'NgtButton', {\n px: 'px-2',\n py: 'py-1',\n text: 'text-xs',\n font: 'font-normal',\n w: 'w-full',\n h: 'h-full',\n rounded: 'rounded'\n });\n }\n\n public onClick(event: Event): void {\n if (this.disabled() || this.loading) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n public ngAfterViewInit(): void {\n this.bindSubscriptions();\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-xs',\n }\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-xs',\n }\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-xs',\n }\n });\n } else {\n this.ngtStyle.load(this.injector, 'NgtInfoButton', {\n color: {\n bg: 'bg-blue-500',\n text: 'text-white text-xs',\n }\n });\n }\n }\n }\n\n public disabled(): boolean {\n return !this.forceEnable && (this.isDisabled || this.isDisabledByParent());\n }\n\n public ngOnDestroy(): void {\n this.destroySubscriptions();\n }\n\n private bindSubscriptions(): void {\n if (this.ngtForm) {\n this.loading = this.ngtForm.isLoading();\n\n this.changeDetector.detectChanges();\n\n this.subscriptions.push(\n this.ngtForm.onLoadingChange.subscribe((loading: boolean) => {\n this.loading = loading;\n })\n );\n }\n }\n\n private isDisabledByParent(): boolean {\n return this.ngtForm?.isDisabled\n || this.ngtSection?.isDisabled\n || this.ngtModal?.isDisabled;\n }\n\n private destroySubscriptions(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<div class=\"relative {{ngtStyle.compile(['w', 'h'])}}\" (click)='onClick($event)'>\n <ng-container *ngIf='!link'>\n <button [ngClass]=\"{ 'disabled-button': disabled(), 'loading-button': loading }\" [disabled]=\"disabled()\"\n [type]=\"(loading || disabled() || noSubmit) ? 'button' : 'submit'\"\n class=\"flex justify-center items-center focus:outline-none cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font', 'w', 'h', 'rounded']) }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\n <span *ngIf=\"loading\" class=\"ml-2\">\n <div class=\"div-loader h-5 w-5\"></div>\n </span>\n </button>\n </ng-container>\n\n <ng-container *ngIf='link'>\n <a [routerLink]='href ? href : null' [ngClass]=\"{ 'disabled-button': disabled(), 'loading-button': loading }\"\n class=\"flex justify-center items-center focus:outline-none cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font','w', 'h', 'rounded']) }}\">\n <span class=\"w-full\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </span>\n\n <span *ngIf=\"loading\" class=\"ml-1\">\n <div class=\"div-loader\"></div>\n </span>\n </a>\n </ng-container>\n\n <legend *ngIf=\"forceEnable\" class=\"absolute top-0 cursor-pointer hover:opacity-25 hover:bg-gray-100 {{ ngtStyle.compile(['w', 'h']) }}\"\n (click)='onClick($event)'>\n </legend>\n</div>","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 standalone: false\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","<div class=\"{{ ngtStyle.compile(['color.text', 'color.bg', 'py', 'px']) }}\">\n <ng-content></ng-content>\n</div>\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 standalone: false\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 px: 'px-6',\n py: 'py-3',\n color: {\n bg: 'bg-gray-200',\n text: 'text-black'\n }\n }, ['NgtPortletStyle']);\n }\n}\n","<div class=\"block w-full {{ ngtStyle.compile(['color.text', 'color.bg', 'px', 'py', 'pb']) }}\">\n <div class=\"block w-full\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"block md:float-left w-full md:w-auto\">\n <ng-content select=\"[left-footer]\"></ng-content>\n </div>\n\n <div class=\"block md:float-right w-full md:w-auto\">\n <ng-content select=\"[right-footer]\"></ng-content>\n </div>\n</div>","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 standalone: false\n})\nexport class NgtPortletHeaderComponent {\n @Input() public caption: string = '';\n @Input() public icon: string = '';\n @Input() public iconSize: string = 'text-xl';\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 font: 'font-medium',\n border: 'border-b',\n px: 'px-4',\n color: {}\n }, ['NgtPortletStyle']);\n }\n}\n","<div [class]=\"ngtStyle.compile(['h', 'color.text', 'color.bg', 'border', 'text'])\">\n <div class=\"flex flex-wrap md:flex-nowrap h-full relative {{ ngtStyle.compile(['px']) }} py-2\">\n <div *ngIf=\"caption || icon\" class=\"flex md:whitespace-nowrap items-center gap-2\">\n <ngt-svg *ngIf=\"icon\" [src]=\"icon\" [class]=\"iconSize\"></ngt-svg>\n\n <div class=\"flex self-center gap-1 {{ ngtStyle.compile(['font']) }}\">\n {{ caption }}\n\n <ngt-helper *ngIf=\"helperText\" [helpTitle]=\"helperTitle\" class=\"mt-1\" [iconColor]=\"helperIconColor\">\n {{ helperText }}\n </ngt-helper>\n </div>\n </div>\n\n <div [hidden]='!leftHeader?.children[0]?.children?.length'\n class=\"self-center {{ ngtStyle.compile(['position', 'w']) }}\" #leftHeader>\n <ng-content select=\"[left-header]\"></ng-content>\n </div>\n\n <div [hidden]='!header?.children[0]?.children?.length'\n class=\"self-center {{ ngtStyle.compile(['position', 'w']) }}\" #header>\n <ng-content select=\"[header]\"></ng-content>\n </div>\n\n <div class=\"{{ !rightHeader?.children[0]?.children?.length ? 'hidden' : 'flex justify-end ml-auto self-center' }} {{ ngtStyle.compile(['position', 'w']) }}\"\n #rightHeader>\n <ng-content select=\"[right-header]\"></ng-content>\n </div>\n </div>\n</div>","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 animations: [\n trigger('fadeUp', [\n state('void', style({ transform: 'translateY(20px)', opacity: 0 })),\n transition(':enter', [\n animate(500)\n ])\n ])\n ],\n standalone: false\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","<div class=\"w-full {{ ngtStyle.compile(['h', 'color.bg', 'color.text', 'p', 'px', 'py', 'pl', 'pr', 'pt', 'pb', 'm', 'mx', 'my', 'ml', 'mr', 'mt', 'mb', 'shadow']) }}\"\n @fadeUp>\n <div *ngIf=\"!customLayout\">\n <ngt-portlet-header [icon]='icon' [caption]='caption' [helperText]=\"helpText\" [helperTitle]=\"helpTitle\"\n [helperIconColor]=\"helpIconColor\">\n <div right-header>\n <ng-content select='[right-header]'></ng-content>\n </div>\n\n <div left-header>\n <ng-content select='[left-header]'></ng-content>\n </div>\n\n <div header>\n <ng-content select='[header]'></ng-content>\n </div>\n </ngt-portlet-header>\n </div>\n\n <ng-container *ngIf=\"!customLayout && withBody\">\n <ngt-portlet-body>\n <ng-content select='[body]'></ng-content>\n </ngt-portlet-body>\n </ng-container>\n\n <ng-container *ngIf=\"!customLayout && withFooter\">\n <ngt-portlet-footer>\n <div right-footer>\n <ng-content select='[right-footer]'></ng-content>\n </div>\n\n <div left-footer>\n <ng-content select='[left-footer]'></ng-content>\n </div>\n\n <div footer>\n <ng-content select='[footer]'></ng-content>\n </div>\n </ngt-portlet-footer>\n </ng-container>\n\n <ng-content></ng-content>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\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';\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 animations: [\n fadeDownAnimation('fadeDownAnimation', 600)\n ],\n standalone: false\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","<div class=\"flex h-full w-full\">\n <ng-container *ngIf=\"visible\">\n <div class=\"{{ getNavSize() }} {{ ngtStyle.compile(['color.bg', 'h']) }} {{ open ? 'block' : 'hidden' }} top-auto fixed {{ isMobileView() ? '' : 'sm:static sm:block' }}\"\n @fadeDownAnimation #sideMenu>\n <ng-content select='[sideMenu]'></ng-content>\n </div>\n\n <ng-container *ngIf=\"open\">\n <button (click)='closeMenu()' tabindex=\"-1\"\n class=\"fixed z-30 inset-0 h-full w-full bg-black opacity-50 cursor-default\">\n </button>\n </ng-container>\n </ng-container>\n\n <div class=\"flex-wrap {{ getContainerSize() }} overflow-auto\" #container>\n <ng-content></ng-content>\n </div>\n</div>\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 standalone: false\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","<section class=\"flex\">\n <nav class=\"w-full relative {{ ngtStyle.compile(['color.bg']) }}\" #element>\n <div class=\"h-full\">\n <!-- Float Left -->\n <div class=\"float-left flex\">\n <ng-content select=\"[left-header]\"></ng-content>\n </div>\n \n <!-- Float Right -->\n <div class=\"float-right flex h-full\">\n <ng-content select=\"[right-header]\"></ng-content>\n </div>\n \n <!-- Fallback -->\n <ng-content></ng-content>\n </div>\n </nav>\n</section>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\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 standalone: false\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","<div class=\"flex flex-col\">\n <div class='flex-grow {{ ngtStyle.compile([\"color.bg\"]) }}'>\n <ng-content></ng-content>\n </div>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\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 { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtStylizableModule } from '../../directives/ngt-stylizable/ngt-stylizable.module';\nimport { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\nimport { NgtSectionComponent } from './ngt-section.component';\n\n@NgModule({\n declarations: [NgtSectionComponent],\n exports: [NgtSectionComponent],\n imports: [\n CommonModule,\n NgtStylizableModule,\n NgtSvgModule,\n NgtHelperModule\n ]\n})\nexport class NgtSectionModule { }\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Host,\n HostListener,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Self,\n SimpleChanges,\n SkipSelf,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AbstractControl, ControlContainer, NgForm } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { uuid } from '../../helpers/uuid';\nimport { NgtHttpPagination, NgtHttpResponse, NgtHttpService } from '../../services/http/ngt-http.service';\nimport { NgtTranslateService } from '../../services/http/ngt-translate.service';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\nimport { NgtInputComponent } from '../ngt-input/ngt-input.component';\nimport { NgtSectionComponent } from '../ngt-section/ngt-section.component';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.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 standalone: false\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 helperReverseYPosition: boolean;\n @Input() public helperAutoXReverse: boolean = true;\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 @Input() public allowOriginalItemsUnselect: boolean = true;\n @Input() public allowSelectAll: boolean = true;\n @Input() public autoSelectUniqueOption: boolean;\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 private selectableResourcesCount: number;\n private originalItems: Array<NgtSelectContainerSelectableElementInterface>;\n\n public constructor(\n private ngtHttpService: NgtHttpService,\n private injector: Injector,\n private changeDetector: ChangeDetectorRef,\n\n @Optional() @SkipSelf()\n private ngtForm: NgtFormComponent,\n\n @Optional() @SkipSelf()\n private ngtSection: NgtSectionComponent,\n\n @Optional() @SkipSelf()\n private ngtModal: NgtModalComponent,\n\n @Optional() @Self()\n private ngtStylizableDirective: NgtStylizableDirective,\n\n @Optional() @Host()\n public formContainer: ControlContainer,\n\n @Optional()\n public ngtTranslateService: NgtTranslateService\n ) {\n super();\n\n if (this.ngtForm) {\n this.shining = this.ngtForm.isShining();\n\n this.subscriptions.push(\n this.ngtForm.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(() => {\n this.initComponentValidation();\n\n if (this.canAutoSelectUniqueOption()) {\n this.selectableElements[0].isSelected = true;\n\n this.onNativeChange(this.selectableElements[0]);\n }\n\n this.originalItems = [...this.selectedElements];\n });\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 = this.disabled();\n }\n\n if (changes.items) {\n this.bindSelectableElements(changes.items.currentValue);\n\n this.componentReady = true;\n\n if (this.canAutoSelectUniqueOption()) {\n this.selectableElements[0].isSelected = true;\n\n this.onNativeChange(this.selectableElements[0]);\n }\n }\n\n if (changes.remoteResource && this.becameVisible) {\n this.loadData().then(() => {\n this.initComponentValidation();\n\n if (this.canAutoSelectUniqueOption()) {\n this.selectableElements[0].isSelected = true;\n\n this.onNativeChange(this.selectableElements[0]);\n }\n });\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 async refresh(itemsPerPage?: number, searchTerm?: string): Promise<void> {\n this.itemsPerPage = itemsPerPage !== undefined ? itemsPerPage : this.itemsPerPage;\n this.searchTerm = searchTerm !== undefined ? searchTerm : this.searchTerm;\n\n return 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.allowSelectAll && !this.loading && !this.disabled()) {\n this.selectAllCheckbox = !this.selectAllCheckbox;\n\n this.value = [];\n this.nativeValue = [];\n this.selectedElements = this.allowOriginalItemsUnselect ? [] : [...this.originalItems];\n\n const perpage = this.selectAllCheckbox ? this.pagination.total : this.itemsPerPage;\n\n this.loadData(perpage, this.searchTerm)\n .then(() => {\n this.containerRef?.nativeElement?.scrollTo({ top: 0 });\n\n this.selectableElements.forEach(\n element => element.isSelected = this.selectAllCheckbox || this.isSelectedElement(element)\n );\n\n if (this.selectAllCheckbox) {\n this.selectedElements = this.selectableElements;\n }\n });\n }\n }\n\n public selectElements(elements: Array<any>): void {\n if (!this.disabled()) {\n const elementIds = this.isColoquentResources() ? elements.map(element => element.getApiId()) : elements;\n\n this.selectableElements.forEach(\n (selectableElement: NgtSelectContainerSelectableElementInterface) => {\n const value = selectableElement.value;\n\n if (\n !selectableElement.isSelected\n && (\n (this.isColoquentResources() && elementIds.includes(value.getApiId()))\n || elementIds.includes(value)\n )\n ) {\n selectableElement.isSelected = true;\n\n this.handleElementSelection(selectableElement);\n }\n }\n );\n }\n }\n\n public toggleItem(selectableElement: NgtSelectContainerSelectableElementInterface, event?: Event): void {\n event?.stopImmediatePropagation();\n\n if (!this.disabled() && this.canSelectItem(selectableElement)) {\n selectableElement.isSelected = !selectableElement.isSelected;\n\n this.handleElementSelection(selectableElement);\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 search(term: string): void {\n if (!this.componentReady || term === undefined || term === null || term === this.previousSearchTerm || this.loading) {\n return;\n }\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.previousSearchTerm = term;\n this.selectAllCheckbox = this.selectedElements?.length == this.selectableResourcesCount;\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 public canSelectItem(item: NgtSelectContainerSelectableElementInterface): boolean {\n return !this.disabled()\n && (\n this.allowOriginalItemsUnselect\n || !this.originalItems?.some(originalItem => originalItem.uuid == item.uuid)\n );\n }\n\n public disabled(): boolean {\n return this.isDisabled || this.isDisabledByParent();\n }\n\n private handleElementSelection(selectableElement: NgtSelectContainerSelectableElementInterface): void {\n if (selectableElement.isSelected && !this.isSelectedElement(selectableElement)) {\n this.selectedElements.push(selectableElement);\n } else if (!selectableElement.isSelected && this.isSelectedElement(selectableElement)) {\n this.selectedElements = this.selectedElements.filter(\n selectedElement => selectedElement.uuid !== selectableElement.uuid\n );\n\n 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 (this.loading) {\n return resolve();\n }\n\n if (perpage == this.itemsPerPage) {\n this.containerRef?.nativeElement?.scrollTo({ top: 0 });\n }\n\n this.selectableElements = [];\n this.loading = true;\n this.itemsPerPage = perpage;\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\n this.pagination = response.meta.pagination;\n this.itemsTotal = this.pagination.total;\n this.loading = false;\n\n if (!this.selectableResourcesCount && !searchTerm) {\n this.selectableResourcesCount = this.pagination.total;\n }\n\n this.onDataChange.emit(this.selectableElements);\n this.componentReady = true;\n this.changeDetector.detectChanges();\n\n setTimeout(() => this.displayOnlySelected = this.disabled());\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 canAutoSelectUniqueOption(): boolean {\n return this.autoSelectUniqueOption\n && (!this.value || !this.value?.length)\n && this.selectableElements?.length == 1;\n }\n\n private isHidden(): boolean {\n return !this.containerRef?.nativeElement.offsetParent;\n }\n\n private isColoquentResources(): boolean {\n return this.selectableElements?.length && typeof this.selectableElements[0].value['getApiId'] === 'function';\n }\n\n private isDisabledByParent(): boolean {\n return this.ngtForm?.isDisabled\n || this.ngtSection?.isDisabled\n || this.ngtModal?.isDisabled;\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","<label *ngIf=\"label && !shining\" class=\"flex text-xs\" [class.mb-2]='!hasValidationErrors()'>\n {{ label }}:\n\n <span *ngIf=\"isRequired\" class=\"text-red-500 font-bold text-xs ml-1\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [helperReverseYPosition]=\"helperReverseYPosition\" [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<ngt-validation [hidden]='shining' class=\"block mb-1\" [control]='formControl' [container]='formContainer'>\n</ngt-validation>\n\n<div class=\"{{ shining ? 'hidden' : 'flex flex-col' }} border w-full rounded {{ ngtStyle.compile(['h']) }}\"\n style=\"min-height: 13rem;\" [class.border-red-500]='hasValidationErrors()' [class.disabled-background]='disabled()'>\n <div class=\"flex items-center w-full p-2 border-b\">\n <ngt-checkbox *ngIf=\"allowSelectAll\" class=\"flex\" title=\"Selecionar todos\" [isDisabled]='loading || disabled()'\n [label]=\"!searchable ? 'Selecionar todos' : ''\" [(ngModel)]=\"selectAllCheckbox\"\n [name]=\"selectAllCheckboxName\" [isClickDisabled]='true' h='h-4' w='w-4' (click)='selectAll()'\n ngt-stylizable>\n </ngt-checkbox>\n\n <ngt-input *ngIf=\"searchable\" class=\"block w-full\" [class.pl-2]=\"allowSelectAll\" [name]='searchInputName'\n [(ngModel)]='searchTerm' placeholder='Buscar...' [allowClear]='true' [jit]='true' h='h-10'\n (ngModelChange)='search($event)' [loading]='loading' [isDisabled]='disabled()' ngt-stylizable #inputSearch>\n </ngt-input>\n </div>\n\n <div *ngIf=\"loading\" class=\"flex flex-col gap-3 px-3 h-full w-full cursor-wait\">\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n </div>\n\n <div class=\"w-full overflow-y-auto text-xs {{ loading ? 'hidden' : 'flex flex-col' }}\" (scroll)='onScroll($event)'\n #containerRef>\n <ng-container *ngIf=\"customHeaderTemplate\" [ngTemplateOutlet]=\"customHeaderTemplate\">\n </ng-container>\n\n <ng-container *ngFor=\"let element of getSelectableElements(); let i = index\">\n <div class=\"flex w-full items-center hover:bg-gray-200 {{ disabled() ? 'cursor-not-allowed' : 'cursor-pointer' }}\"\n [class.p-2]='!customOptionTemplate' (click)='toggleItem(element, $event)'>\n <ng-template let-element #elementCheckboxTemplate>\n <ngt-checkbox class=\"flex pr-2\" [name]='element.uuid' [(ngModel)]=\"element.isSelected\"\n (ngModelChange)='onNativeChange(element)' [isClickDisabled]='true'\n [isDisabled]='!canSelectItem(element)' h='h-5' w='w-5' (click)='toggleItem(element, $event)'\n ngt-stylizable>\n </ngt-checkbox>\n </ng-template>\n\n <ng-template let-element #defaultOptionTemplate>\n {{ getSelectableElementValue(element) }}\n </ng-template>\n\n <ng-container *ngIf=\"!customOptionTemplate\" [ngTemplateOutlet]=\"elementCheckboxTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: element }\">\n </ng-container>\n\n <ng-container [ngTemplateOutlet]=\"customOptionTemplate || defaultOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: element, index: i }\">\n </ng-container>\n </div>\n </ng-container>\n\n <p *ngIf=\"!getSelectableElements()?.length\" class=\"text-center mt-4\">\n {{ ngtTranslateService.ngtMultiSelectNoDataFound }}\n </p>\n </div>\n</div>\n\n<div class=\"{{ shining ? 'hidden' : 'flex' }} w-full items-center mt-2\">\n <span class=\"text-xs mr-4\">\n {{ selectedElements?.length || 0 }} / {{ itemsTotal || 0 }}\n </span>\n\n <ngt-checkbox class=\"flex\" label=\"Visualizar selecionados\" [name]='displayOnlySelectedName'\n [(ngModel)]=\"displayOnlySelected\" [isDisabled]='loading || disabled()' h='h-5' w='w-5' ngt-stylizable>\n </ngt-checkbox>\n</div>\n\n<ngt-shining *ngIf='shining' class=\"block w-full {{ ngtStyle.compile(['h']) }}\" style=\"min-height: 16rem;\"\n rounded='rounded' ngt-stylizable>\n</ngt-shining>\n\n<input *ngIf='componentReady' type='hidden' [ngModel]='value' [name]='name' [value]='value'>","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","export 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","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { NgxDropzonePreviewComponent } from 'ngx-dropzone';\n\nimport { NgtDropzoneFileTypeEnum } from '../ngt-dropzone.meta';\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 standalone: false\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","<div class=\"flex flex-col items-center w-48 cursor-pointer hover:opacity-75\">\n <div class=\"w-full flex justify-center border-2 rounded py-4 text-6xl\">\n <svg *ngIf=\"fileType == 'OTHER'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path class=\"heroicon-ui\" fill=\"#4a5568\"\n d=\"M6 2h9a1 1 0 0 1 .7.3l4 4a1 1 0 0 1 .3.7v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4c0-1.1.9-2 2-2zm9 2.41V7h2.59L15 4.41zM18 9h-3a2 2 0 0 1-2-2V4H6v16h12V9zm-2 7a1 1 0 0 1-1 1H9a1 1 0 0 1 0-2h6a1 1 0 0 1 1 1zm0-4a1 1 0 0 1-1 1H9a1 1 0 0 1 0-2h6a1 1 0 0 1 1 1zm-5-4a1 1 0 0 1-1 1H9a1 1 0 1 1 0-2h1a1 1 0 0 1 1 1z\" />\n </svg>\n\n <svg *ngIf=\"fileType == 'DOC'\" fill=\"#4a5568\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M14.4 0l-9.6 0c-1.33,0 -2.4,1.08 -2.4,2.4l0 19.2c0,1.33 1.07,2.4 2.4,2.4l14.4 0c1.33,0 2.4,-1.07 2.4,-2.4l0 -14.4 -7.2 -7.2 0 0zm4.8 21.6l-14.4 0 0 -19.2 8.4 0 0 6 6 0 0 13.2 0 0zm-0.78 -12l-2.52 10.8 -1.68 0 -2.16 -8.15 -2.16 8.15 -1.68 0 -2.64 -10.8 1.8 0 1.68 8.17 2.16 -8.17 1.56 0 2.16 8.17 1.68 -8.17 1.8 0z\" />\n </svg>\n\n <svg *ngIf=\"fileType == 'XLS'\" fill=\"#4a5568\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M14.4 0l-9.6 0c-1.33,0 -2.4,1.08 -2.4,2.4l0 19.2c0,1.33 1.07,2.4 2.4,2.4l14.4 0c1.33,0 2.4,-1.07 2.4,-2.4l0 -14.4 -7.2 -7.2 0 0zm4.8 21.6l-14.4 0 0 -19.2 8.4 0 0 6 6 0 0 13.2 0 0zm-6.12 -6.6l3.48 5.4 -2.16 0 -2.4 -4.08 -2.4 4.08 -2.16 0 3.48 -5.4 -3.48 -5.4 2.16 0 2.4 4.08 2.4 -4.08 2.16 0 -3.48 5.4z\" />\n </svg>\n\n <svg *ngIf=\"fileType == 'PDF'\" fill=\"#4a5568\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M14.4 0l7.2 7.2 0 14.4c0,1.32 -1.08,2.4 -2.4,2.4l-14.4 0c-1.32,0 -2.4,-1.08 -2.4,-2.4l0 -19.2c0,-1.32 1.08,-2.4 2.4,-2.4l9.6 0 0 0zm4.8 21.6l0 -13.2 -6 0 0 -6 -8.4 0 0 19.2 14.4 0 0 0zm-8.5 -9.23c-0.28,-0.92 -0.92,-3.87 0.76,-3.92 1.68,-0.05 0.58,3.74 0.58,3.74 0.46,1.79 2.42,3.07 2.42,3.07 0.6,-0.18 4.02,-0.57 3.54,1.21 -0.52,1.77 -4.2,0.1 -4.2,0.1 -2.34,0.17 -4.09,0.8 -4.09,0.8 -1.36,2.53 -2.94,3.63 -3.59,2.56 -0.8,-1.33 2.56,-3.04 2.56,-3.04 1.74,-2.83 2,-4.47 2.02,-4.52l0 0zm0.78 1.01c-0.48,1.56 -1.44,3.23 -1.44,3.23 1.02,-0.41 3.26,-0.88 3.26,-0.88 -1.37,-1.2 -1.79,-2.34 -1.82,-2.35l0 0zm3.77 2.6c0,0 2.1,0.79 2.15,0.47 0.08,-0.32 -1.6,-0.61 -2.15,-0.47l0 0zm-6.79 1.79c-0.93,0.36 -1.81,1.9 -1.6,1.9 0.22,0.01 1.1,-0.72 1.6,-1.9l0 0zm3.02 -6.66c0,-0.06 0.52,-2.01 0,-2.07 -0.36,-0.04 -0.01,2.02 0,2.07z\" />\n </svg>\n\n <svg *ngIf=\"fileType == 'DWG'\" version=\"1.0\" xmlns=\"http://www.w3.org/2000/svg\" width=\"512.000000pt\" height=\"512.000000pt\"\n viewBox=\"0 0 512.000000 512.000000\" preserveAspectRatio=\"xMidYMid meet\">\n <g transform=\"translate(0.000000,512.000000) scale(0.100000,-0.100000)\" fill=\"#4a5568\" stroke=\"none\">\n <path\n d=\"M830 5104 c-42 -18 -86 -58 -108 -99 -15 -27 -17 -109 -20 -871 l-3 -842 -92 -4 c-112 -5 -179 -32 -235 -92 -81 -88 -77 -39 -77 -946 0 -801 0 -805 21 -851 54 -116 140 -169 291 -177 l92 -5 3 -536 c3 -588 1 -562 65 -623 65 -62 -61 -58 1793 -58 1854 0 1728 -4 1793 58 64 61 62 35 65 623 l3 536 92 5 c151 8 237 61 291 177 21 46 21 50 21 851 0 907 4 858 -77 946 -56 60 -123 87 -235 92 l-93 4 -1 302 c-1 165 -4 312 -8 326 -8 30 -994 1160 -1033 1184 -24 15 -138 16 -1270 16 -1088 -1 -1247 -3 -1278 -16z m2400 -714 l0 -530 29 -32 29 -33 466 -3 466 -3 0 -249 0 -250 -1660 0 -1660 0 0 815 0 815 1165 0 1165 0 0 -530z m1093 -1516 c87 -16 127 -32 127 -48 -1 -17 -48 -197 -54 -203 -2 -3 -27 2 -54 11 -131 44 -323 40 -429 -9 -72 -33 -146 -110 -174 -182 -27 -72 -36 -204 -19 -282 26 -120 110 -221 217 -261 70 -26 193 -36 251 -21 l42 12 0 124 0 125 -95 0 -95 0 0 110 0 110 230 0 230 0 0 -320 0 -320 -27 -11 c-16 -6 -71 -20 -123 -32 -129 -29 -401 -31 -500 -4 -116 33 -189 74 -266 151 -114 114 -164 244 -164 426 0 265 115 460 331 563 52 25 117 50 144 57 122 30 283 31 428 4z m-3042 -12 c304 -82 457 -320 419 -653 -35 -312 -215 -491 -545 -544 -94 -16 -317 -20 -448 -9 l-77 7 0 602 0 603 83 10 c45 6 174 9 287 7 170 -2 218 -6 281 -23z m808 -34 c16 -81 96 -524 127 -705 15 -90 29 -161 31 -160 2 2 14 66 28 143 20 116 101 518 145 722 l12 52 147 0 147 0 28 -147 c67 -356 104 -564 116 -648 13 -92 29 -144 30 -95 0 42 47 310 107 608 l56 282 138 0 c77 0 139 -3 139 -7 0 -5 -217 -853 -301 -1175 l-10 -38 -149 0 c-133 0 -149 2 -154 18 -13 44 -127 653 -141 759 -9 65 -18 119 -19 120 -1 2 -12 -55 -24 -125 -13 -70 -55 -272 -94 -449 l-71 -323 -152 0 -151 0 -142 598 c-78 328 -142 603 -142 610 0 9 36 12 144 12 l145 0 10 -52z m2131 -2088 l0 -480 -1660 0 -1660 0 0 480 0 480 1660 0 1660 0 0 -480z\" />\n\n <path\n d=\"M923 2673 l-23 -4 0 -399 0 -399 43 -6 c60 -9 200 12 261 39 140 63 212 207 204 411 -3 86 -8 109 -34 165 -51 108 -128 167 -249 189 -57 11 -157 13 -202 4z\" />\n </g>\n </svg>\n </div>\n</div>\n\n<ngx-dropzone-remove-badge *ngIf=\"removable\" (click)=\"_remove($event)\" style=\"top: -15px !important;\">\n</ngx-dropzone-remove-badge>","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 standalone: false\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 = 30000000; /** 30 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","<div style=\"width:100%; height: 100%;\">\n <div style=\"width:100%; height: 100%;\">\n <div class=\"w-full py-5 pr-10\">\n <div class=\"w-full flex justify-end text-2xl\">\n <div *ngIf=\"canDownloadFile\" class=\"cursor-pointer\" (click)=\"downloadFile()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path fill=\"#fff\" d=\"M13 8V2H7v6H2l8 8 8-8h-5zM0 18h20v2H0v-2z\" />\n </svg>\n </div>\n\n \n\n <div class=\"cursor-pointer\" (click)=\"close()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path fill=\"#fff\"\n d=\"M24 2.42l-2.42 -2.42 -9.58 9.58 -9.58 -9.58 -2.42 2.42 9.58 9.58 -9.58 9.58 2.42 2.42 9.58 -9.58 9.58 9.58 2.42 -2.42 -9.58 -9.58 9.58 -9.58z\" />\n </svg>\n </div>\n\n </div>\n\n <div class=\"w-full justify-center text-center text-2xl font-mono text-white\">\n {{ fileName }}\n </div>\n </div>\n\n <div *ngIf=\"fileSize > maxFileSize\" class=\"flex w-full h-full justify-center items-center\">\n <div class=\"flex flex-col w-auto bg-gray-700 rounded-lg p-6\" style=\"max-width: 80%;\">\n <p class=\"text-white font-medium text-center w-full\">\n {{\n canDownloadFile\n ? ngtTranslateService.ngtFileTooLargeForPreview\n : ngtTranslateService.ngtFileTooLargeForPreviewNoDownloadPermission\n }}\n </p>\n\n <div *ngIf=\"canDownloadFile\" class=\"cursor-pointer mt-5 text-2xl self-center border rounded p-2\"\n (click)=\"downloadFile()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path fill=\"#fff\" d=\"M13 8V2H7v6H2l8 8 8-8h-5zM0 18h20v2H0v-2z\" />\n </svg>\n </div>\n </div>\n </div>\n\n <div class=\"px-10\" style=\"width:100%; height: 83%;\" *ngIf=\"canShowViewer\">\n <eloverde-doc-viewer class=\"h-full w-full flex justify-center\" [url]=\"url\" [disableContent]=\"disableContent\"\n (loaded)=\"loading = false\" (onClose)=\"handleClose()\">\n </eloverde-doc-viewer>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"loading\" class=\"flex fixed inset-0 justify-center items-center w-full h-full cursor-wait z-50\">\n <div class=\"div-loader\"></div>\n</div>","import { Component, EventEmitter, Input, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';\n\nimport { NgtDropzoneFile, NgtDropzoneFileTypeEnum } from '../ngt-dropzone.meta';\n\n@Component({\n selector: 'ngt-dropzone-view',\n templateUrl: './ngt-dropzone-view.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\nexport class NgtDropzoneViewComponent {\n @Input() public resources: Array<any>;\n @Input() public dropzoneHeight: string;\n @Input() public loading: boolean;\n @Input() public placeholder: string;\n\n @Output() public onImageClick: EventEmitter<{ div: HTMLDivElement; index: number }> = new EventEmitter();\n @Output() public onFileClick: EventEmitter<{ previewUrl: string; name: string; fileSize: number }> = new EventEmitter();\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 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 handleImageClick(index: number): void {\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.onImageClick.emit({ div: imagesDiv, index });\n }\n\n public handleFileClick(previewUrl: string, name: string, fileSize: number): void {\n this.onFileClick.emit({ previewUrl, name, fileSize });\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 public getFormattedFileSize(resource: any): string {\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 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","<div class=\"border-2 border-dotted border-gray-400 rounded p-2 flex items-center overflow-x-auto overflow-y-hidden\"\n [ngStyle]=\"{ 'height': dropzoneHeight }\">\n <div *ngIf=\"loading\" class=\"flex absolute justify-center items-center w-full h-full cursor-wait z-10\">\n <div class=\"div-loader\"></div>\n </div>\n\n <div [class]=\"loading ? 'hidden' : 'flex items-center'\">\n <ng-container *ngIf=\"images?.length\">\n <div class=\"flex py-5\">\n <div *ngFor=\"let image of images; let index = index\" class=\"w-48 mr-8\">\n <div class=\"flex flex-col w-48 mx-4 cursor-pointer\"\n title=\"{{ image.name || '' }} ({{ getFormattedFileSize(image) }})\"\n (click)=\"handleImageClick(index)\">\n <img [src]=\"image.thumbnailUrl\" [alt]=\"image.name\" class=\"w-full h-32\">\n\n <p class=\"w-full truncate text-gray-500 text-center text-sm font-mono\">\n {{ image.name || '' }}\n </p>\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"audios?.length\">\n <ng-container *ngFor=\"let audio of audios\">\n <div class=\"flex flex-col w-48 mx-4 py-5\">\n <audio controls>\n <source [src]=\"audio.previewUrl\">\n </audio>\n\n <p class=\"w-full truncate text-gray-500 text-center text-sm font-mono\">\n {{ audio.name || '' }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"videos?.length\">\n <ng-container *ngFor=\"let video of videos\">\n <div class=\"flex flex-col w-48 mx-4 py-5\">\n <video width=\"240\" controls>\n <source [src]=\"video.previewUrl\">\n </video>\n\n <p class=\"w-full truncate text-gray-500 text-center text-sm font-mono\">\n {{ video.name || '' }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"files?.length\">\n <ng-container *ngFor=\"let file of files\">\n <div class=\"flex flex-col w-48 mr-6 cursor-pointer\"\n (click)=\"handleFileClick(file.previewUrl, file.name, file.fileSize)\">\n <div class=\"w-full flex justify-center border-2 rounded py-4 text-6xl\">\n <svg *ngIf=\"getFileType(file) == ngtDropzoneViewFileTypeEnum.OTHER\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path class=\"heroicon-ui\" fill=\"#4a5568\"\n d=\"M6 2h9a1 1 0 0 1 .7.3l4 4a1 1 0 0 1 .3.7v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4c0-1.1.9-2 2-2zm9 2.41V7h2.59L15 4.41zM18 9h-3a2 2 0 0 1-2-2V4H6v16h12V9zm-2 7a1 1 0 0 1-1 1H9a1 1 0 0 1 0-2h6a1 1 0 0 1 1 1zm0-4a1 1 0 0 1-1 1H9a1 1 0 0 1 0-2h6a1 1 0 0 1 1 1zm-5-4a1 1 0 0 1-1 1H9a1 1 0 1 1 0-2h1a1 1 0 0 1 1 1z\" />\n </svg>\n\n <svg *ngIf=\"getFileType(file) == ngtDropzoneViewFileTypeEnum.DOC\" fill=\"#4a5568\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M14.4 0l-9.6 0c-1.33,0 -2.4,1.08 -2.4,2.4l0 19.2c0,1.33 1.07,2.4 2.4,2.4l14.4 0c1.33,0 2.4,-1.07 2.4,-2.4l0 -14.4 -7.2 -7.2 0 0zm4.8 21.6l-14.4 0 0 -19.2 8.4 0 0 6 6 0 0 13.2 0 0zm-0.78 -12l-2.52 10.8 -1.68 0 -2.16 -8.15 -2.16 8.15 -1.68 0 -2.64 -10.8 1.8 0 1.68 8.17 2.16 -8.17 1.56 0 2.16 8.17 1.68 -8.17 1.8 0z\" />\n </svg>\n\n <svg *ngIf=\"getFileType(file) == ngtDropzoneViewFileTypeEnum.XLS\" fill=\"#4a5568\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M14.4 0l-9.6 0c-1.33,0 -2.4,1.08 -2.4,2.4l0 19.2c0,1.33 1.07,2.4 2.4,2.4l14.4 0c1.33,0 2.4,-1.07 2.4,-2.4l0 -14.4 -7.2 -7.2 0 0zm4.8 21.6l-14.4 0 0 -19.2 8.4 0 0 6 6 0 0 13.2 0 0zm-6.12 -6.6l3.48 5.4 -2.16 0 -2.4 -4.08 -2.4 4.08 -2.16 0 3.48 -5.4 -3.48 -5.4 2.16 0 2.4 4.08 2.4 -4.08 2.16 0 -3.48 5.4z\" />\n </svg>\n\n <svg *ngIf=\"getFileType(file) == ngtDropzoneViewFileTypeEnum.PDF\" fill=\"#4a5568\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M14.4 0l7.2 7.2 0 14.4c0,1.32 -1.08,2.4 -2.4,2.4l-14.4 0c-1.32,0 -2.4,-1.08 -2.4,-2.4l0 -19.2c0,-1.32 1.08,-2.4 2.4,-2.4l9.6 0 0 0zm4.8 21.6l0 -13.2 -6 0 0 -6 -8.4 0 0 19.2 14.4 0 0 0zm-8.5 -9.23c-0.28,-0.92 -0.92,-3.87 0.76,-3.92 1.68,-0.05 0.58,3.74 0.58,3.74 0.46,1.79 2.42,3.07 2.42,3.07 0.6,-0.18 4.02,-0.57 3.54,1.21 -0.52,1.77 -4.2,0.1 -4.2,0.1 -2.34,0.17 -4.09,0.8 -4.09,0.8 -1.36,2.53 -2.94,3.63 -3.59,2.56 -0.8,-1.33 2.56,-3.04 2.56,-3.04 1.74,-2.83 2,-4.47 2.02,-4.52l0 0zm0.78 1.01c-0.48,1.56 -1.44,3.23 -1.44,3.23 1.02,-0.41 3.26,-0.88 3.26,-0.88 -1.37,-1.2 -1.79,-2.34 -1.82,-2.35l0 0zm3.77 2.6c0,0 2.1,0.79 2.15,0.47 0.08,-0.32 -1.6,-0.61 -2.15,-0.47l0 0zm-6.79 1.79c-0.93,0.36 -1.81,1.9 -1.6,1.9 0.22,0.01 1.1,-0.72 1.6,-1.9l0 0zm3.02 -6.66c0,-0.06 0.52,-2.01 0,-2.07 -0.36,-0.04 -0.01,2.02 0,2.07z\" />\n </svg>\n </div>\n\n <p class=\"w-full truncate text-gray-500 text-center text-sm font-mono\">\n {{ file.name || '' }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n </div>\n\n <div *ngIf=\"!loading && !resources?.length\" class=\"px-2 text-center w-full\">\n {{ placeholder }}\n </div>\n</div>","import { Observable } from 'rxjs';\n\nexport abstract class NgtAttachmentHttpService {\n public abstract preview(attachment: any): Observable<NgtAttachmentHttpResponse>;\n\n public abstract download(attachment: any): Observable<any>;\n\n public abstract upload(remoteResource: any, file: any): Observable<any>;\n}\n\nexport interface NgtAttachmentHttpResponse {\n data?: any;\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';\nimport { NgtDropzoneErrorType, NgtDropzoneFile, NgtDropzonePreviewType } from './ngt-dropzone.meta';\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\nimport { NgtSectionComponent } from '../ngt-section/ngt-section.component';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.component';\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 standalone: false\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 isRequired: boolean;\n @Input() public hideNgxDropzone: boolean;\n @Input() public acceptedFiles: string = '*' /** Mime type */;\n @Input() public unacceptedFiles: string; /** Mime type */;\n @Input() public maxFileSize: number; /** Bytes */;\n @Input() public previewType: NgtDropzonePreviewType = NgtDropzonePreviewType.DEFAULT;\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\n private injector: Injector,\n private changeDetector: ChangeDetectorRef,\n\n @Optional() @SkipSelf()\n private ngtAttachmentHttpService: NgtAttachmentHttpService,\n\n @Optional() @SkipSelf()\n private ngtForm: NgtFormComponent,\n\n @Optional() @SkipSelf()\n private ngtSection: NgtSectionComponent,\n\n @Optional() @SkipSelf()\n private ngtModal: NgtModalComponent\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 !== null && index !== undefined) {\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 const temporaryFiles = [];\n const temporaryAttachments = [];\n const observables = [];\n const unacceptedFiles = [];\n\n this.loading = true;\n this.onFileUploadInit.emit();\n\n files.forEach(file => {\n if (file.type.includes(this.unacceptedFiles)) {\n return unacceptedFiles.push(file);\n }\n\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 if (!observables.length && unacceptedFiles.length) {\n this.loading = false;\n\n return this.onFileSelectError.emit(NgtDropzoneErrorType.TYPE);\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 if (unacceptedFiles.length) {\n this.onFileSelectError.emit(NgtDropzoneErrorType.TYPE);\n }\n\n setTimeout(() => this.changeDetector.detectChanges(), 500);\n },\n (error) => {\n this.onFileUploadFail.emit(error);\n this.loading = false;\n\n setTimeout(() => this.changeDetector.detectChanges(), 500);\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: any) => {\n if (!(attachment instanceof File) && !attachment.loaded) {\n this.loading = true;\n\n attachment['loaded'] = true;\n\n observables.push(this.ngtAttachmentHttpService.preview(attachment)\n .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 setTimeout(() => this.changeDetector.detectChanges(), 500);\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?.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 public isDisabled(): boolean {\n return this.disabled || this.isDisabledByParent();\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 isDisabledByParent(): boolean {\n return this.ngtForm?.isDisabled\n || this.ngtSection?.isDisabled\n || this.ngtModal?.isDisabled;\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<div class=\"flex flex-col h-full w-full\" #container>\n <label *ngIf=\"label\" class=\"flex mb-2 text-sm\">\n {{ label }}:\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n </label>\n\n <div *ngIf=\"!viewMode\" class=\"h-full w-full relative\">\n <div *ngIf=\"loading && !hideNgxDropzone\"\n class=\"flex absolute justify-center items-center w-full h-full cursor-wait z-10\">\n <div class=\"div-loader\"></div>\n </div>\n\n <ngx-dropzone [id]=\"ngxElementId\" [multiple]='multipleSelection' [maxFileSize]='maxFileSize'\n (change)='onSelect($event)' [class.single-attachment]='itemsLimit == 1' [accept]='acceptedFiles'\n [disabled]='isDisabled() || loading' [expandable]='verticalExpandable'\n [disableClick]='disableClick || forceDisableClick' [ngStyle]=\"{ 'height': dropzoneHeight }\"\n [ngClass]=\"{ 'hidden':hideNgxDropzone }\" #ngxDropzone>\n <ng-container *ngIf=\"!loading\">\n <ngx-dropzone-label *ngIf=\"!uploadedResources?.length\" class=\"px-2\">\n {{ placeholder }}\n </ngx-dropzone-label>\n\n <ng-container *ngFor=\"let resource of uploadedResources; let index = index\">\n <div class=\"flex flex-col w-48 mx-4\"\n title=\"{{ resource?.file?.name || '' }} ({{ getFormattedFileSize(resource) }})\">\n <custom-dropzone-preview *ngIf=\"previewType == 'DEFAULT' && isFile(resource)\"\n [file]='resource.file' [removable]=\"removable\" (removed)=\"onRemove(resource)\"\n (click)=\"onFileClick(resource.file.url, resource.file.name, resource.file.size)\"\n ngProjectAs=\"ngx-dropzone-preview\">\n </custom-dropzone-preview>\n\n <div *ngIf=\"isImage(resource)\" class=\"cursor-pointer\" (click)=\"imagePreview(index)\" #gallery>\n <ngx-dropzone-image-preview class=\"image-preview-default-class\" [file]=\"resource.file\"\n [removable]=\"removable\" (removed)=\"onRemove(resource)\">\n </ngx-dropzone-image-preview>\n </div>\n\n <ngx-dropzone-video-preview *ngIf=\"isVideo(resource) || isAudio(resource)\"\n [file]=\"resource.file\" [removable]=\"removable\" (removed)=\"onRemove(resource)\">\n </ngx-dropzone-video-preview>\n\n <p *ngIf=\"showFileName\"\n class=\"w-full truncate text-gray-500 text-center text-sm font-mono mt-2\">\n {{ resource?.file?.name || '' }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n </ngx-dropzone>\n </div>\n\n <ngt-dropzone-view *ngIf=\"viewMode\" class=\"h-full w-full\" [resources]=\"resources\" [loading]=\"loading\"\n [placeholder]=\"placeholder\" [dropzoneHeight]=\"dropzoneHeight\"\n (onFileClick)=\"onFileClick($event.previewUrl, $event.name, $event.fileSize)\"\n (onImageClick)=\"onImageClick($event.div, $event.index)\">\n </ngt-dropzone-view>\n\n <ngt-dropzone-file-viewer [hidden]=\"!showNgtDropzoneFileViewer\" (onClose)=\"forceDisableClick = false\"\n [canDownloadFile]=\"canDownloadFile\" [disableContent]=\"canDownloadFile ? 'none' : 'popout'\">\n </ngt-dropzone-file-viewer>\n\n <input *ngIf='componentReady' type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n <ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>\n</div>","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';\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 NgtSvgModule,\n EloverdeDocViewerModule,\n NgtHelperModule\n ]\n})\nexport class NgtDropzoneModule { }\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { Component, EventEmitter, HostListener, Output, TemplateRef } from '@angular/core';\n\nexport enum NgtPopoverPosition {\n DEFAULT = 'TOP',\n TOP = 'TOP',\n BOTTOM = 'BOTTOM',\n}\n\n@Component({\n selector: 'ngt-popover-tooltip',\n templateUrl: './ngt-popover-tooltip.component.html',\n animations: [\n trigger('enterAnimation', [\n state('void', style({ transform: 'translateY(-20px)', opacity: 0 })),\n transition(':enter', [\n animate(200)\n ])\n ]),\n ],\n standalone: false\n})\nexport class NgtPopoverTooltipComponent {\n @Output() public onMouseHoverEvent: EventEmitter<void> = new EventEmitter();\n @Output() public onMouseLeaveEvent: EventEmitter<void> = new EventEmitter();\n\n public popover: string;\n public popoverTemplate: TemplateRef<any>;\n public position: NgtPopoverPosition = NgtPopoverPosition.DEFAULT;\n public positionX: number;\n public positionY: number;\n\n public positionClasses: any = {\n [NgtPopoverPosition.TOP]: '-mt-10',\n [NgtPopoverPosition.BOTTOM]: '-mb-10',\n };\n\n public popoverTemplateStyle: string = 'text-xxs';\n\n @HostListener('mouseleave')\n public onMouseLeave(): void {\n this.onMouseLeaveEvent.emit();\n }\n\n @HostListener('mouseenter')\n public onMouseEnter(): void {\n this.onMouseHoverEvent.emit();\n }\n}\n","<div class=\"bg-white rounded-lg shadow-2xl border border-gray-200 absolute max-w-7xl\"\n [ngClass]=\"positionClasses[position]\" [style.left.px]=\"positionX\" [style.top.px]=\"positionY\"\n style=\"z-index: 999999 !important; width: max-content !important;\" (click)=\"$event.stopPropagation()\"\n @enterAnimation>\n\n <div *ngIf=\"!popoverTemplate; else showTemplate\"\n class=\"px-2 py-1 text-gray-700 whitespace-nowrap {{popoverTemplateStyle}}\">\n {{ popover }}\n </div>\n\n <ng-template #showTemplate>\n <ng-container [ngTemplateOutlet]=\"popoverTemplate\"></ng-container>\n </ng-template>\n</div>","import {\n Component, ElementRef, EventEmitter, Injector, Input, Optional, Output, Self, ViewChild\n} 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\nexport enum NgtPopoverOpenMethod {\n CLICK = 'CLICK',\n POPOVER_CLICK = 'POPOVER_CLICK',\n RIGHT_CLICK = 'RIGHT_CLICK',\n HOVER = 'HOVER'\n}\n\n@Component({\n selector: 'ngt-popover',\n templateUrl: './ngt-popover.component.html',\n standalone: false\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","<ngt-dropdown class=\"flex w-full hover:opacity-100\" [closeOnClick]=\"closeOnClick\" [openMethod]=\"openMethod\"\n [autoYReverse]=\"false\" [reverseXPosition]=\"!placeOnLeft\" [reverseYPosition]=\"!placeOnBottom\"\n [closeTimeout]=\"closeTimeout\" (onHostClick)=\"fireClickEvent()\" #dropdownRef>\n <div #hostDiv host>\n <ng-content></ng-content>\n </div>\n\n <div class=\"bg-gray-100 text-sm rounded-lg hover:opacity-100 text-gray-800 shadow-lg -mb-4\"\n [ngClass]=\"ngtStyle.compile(stylesToCompile)\" container>\n\n <ng-content select=\"[popover-content]\"></ng-content>\n </div>\n</ngt-dropdown>\n","import {\n ComponentRef,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { Subscription } from 'rxjs';\nimport { NgtPopoverPosition, NgtPopoverTooltipComponent } from './ngt-popover-tooltip/ngt-popover-tooltip.component';\nimport { NgtPopoverOpenMethod } from './ngt-popover.component';\n\n@Directive({\n selector: '[ngt-popover]',\n standalone: false\n})\nexport class NgtPopoverDirective implements OnDestroy {\n @Input() public ngtPopoverContent: string;\n @Input() public ngtPopoverTemplate: TemplateRef<any>;\n @Input() public ngtPopoverPosition: NgtPopoverPosition = NgtPopoverPosition.DEFAULT;\n @Input() public ngtPopoverTemplateStyle: string = 'text-xxs';\n\n @Input() public dismissDelay: number = 1000;\n @Input() public showDelay: number = 1000;\n @Input() public closeOnClick: boolean;\n @Input() public openMethod: 'HOVER' | 'CLICK' = NgtPopoverOpenMethod.HOVER;\n\n private componentRef: ComponentRef<NgtPopoverTooltipComponent> = null;\n private dismissTimeoutInstance: any;\n private showTimeoutInstance: any;\n\n private toolTipMouseHoverSubscription: Subscription;\n private toolTipMouseLeaveSubscription: Subscription;\n\n public constructor(\n private elementRef: ElementRef,\n private viewContainerRef: ViewContainerRef\n ) { }\n\n @HostListener('click')\n public onClick(): void {\n if (this.openMethod != NgtPopoverOpenMethod.CLICK) {\n return;\n }\n\n if (!this.componentRef) {\n this.createPopover();\n\n return;\n }\n\n this.destroy();\n }\n\n @HostListener('document:click', ['$event.target'])\n public onDocumentClick(target: HTMLElement) {\n if (\n this.closeOnClick\n && !this.componentRef?.location?.nativeElement?.contains(target)\n && target !== this.elementRef.nativeElement\n && target !== this.componentRef?.location?.nativeElement\n ) {\n this.destroy();\n }\n }\n\n @HostListener('mouseleave')\n public onMouseLeave(): void {\n if (this.showTimeoutInstance) {\n clearTimeout(this.showTimeoutInstance);\n }\n\n if (this.closeOnClick) {\n return;\n }\n\n if (this.dismissTimeoutInstance) {\n clearTimeout(this.dismissTimeoutInstance);\n }\n\n this.dismissTimeoutInstance = setTimeout(() => this.destroy(), this.dismissDelay);\n }\n\n @HostListener('mouseenter')\n public onMouseEnter(): void {\n if (this.componentRef || this.openMethod != NgtPopoverOpenMethod.HOVER) {\n return;\n }\n\n this.showTimeoutInstance = setTimeout(() => this.createPopover(), this.showDelay);\n }\n\n public ngOnDestroy(): void {\n this.destroy();\n }\n\n private createPopover(): void {\n this.componentRef = this.viewContainerRef.createComponent(NgtPopoverTooltipComponent);\n\n this.setupPopoverComponent();\n }\n\n private destroy(): void {\n this.toolTipMouseHoverSubscription?.unsubscribe();\n this.toolTipMouseLeaveSubscription?.unsubscribe();\n this.componentRef?.destroy();\n this.componentRef = null;\n }\n\n private setupPopoverComponent(): void {\n if (!this.componentRef) {\n return;\n }\n\n const rect = this.elementRef.nativeElement.getBoundingClientRect();\n\n this.componentRef.instance.positionX = rect.left;\n this.componentRef.instance.positionY = (this.ngtPopoverPosition === NgtPopoverPosition.TOP)\n ? rect.top\n : rect.bottom;\n\n this.componentRef.instance.popover = this.ngtPopoverContent;\n this.componentRef.instance.popoverTemplate = this.ngtPopoverTemplate;\n this.componentRef.instance.position = this.ngtPopoverPosition;\n this.componentRef.instance.popoverTemplateStyle = this.ngtPopoverTemplateStyle;\n\n this.bindSubscriptions();\n\n document.body.appendChild(this.componentRef.location.nativeElement);\n }\n\n private bindSubscriptions(): void {\n this.toolTipMouseHoverSubscription = this.componentRef.instance\n .onMouseHoverEvent\n .subscribe(() => {\n if (this.dismissTimeoutInstance) {\n clearTimeout(this.dismissTimeoutInstance);\n }\n });\n\n this.toolTipMouseLeaveSubscription = this.componentRef.instance\n .onMouseLeaveEvent\n .subscribe(() => this.onMouseLeave());\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtDropdownModule } from '../ngt-dropdown/ngt-dropdown.module';\nimport { NgtPopoverTooltipComponent } from './ngt-popover-tooltip/ngt-popover-tooltip.component';\nimport { NgtPopoverComponent } from './ngt-popover.component';\nimport { NgtPopoverDirective } from './ngt-popover.directive';\n\n@NgModule({\n exports: [\n NgtPopoverComponent,\n NgtPopoverDirective\n ],\n declarations: [\n NgtPopoverComponent,\n NgtPopoverTooltipComponent,\n NgtPopoverDirective\n ],\n imports: [\n CommonModule,\n NgtDropdownModule\n ]\n})\nexport class NgtPopoverModule { }\n","import { Component, EventEmitter, Output, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'ngt-context-menu',\n templateUrl: './ngt-context-menu.component.html',\n standalone: false\n})\n\nexport class NgtContextMenuComponent {\n @Output() public onMenuItemClick: EventEmitter<NgtContextMenuOptionInterface> = new EventEmitter();\n @Output() public onTemplateClick: EventEmitter<void> = new EventEmitter();\n\n public positionX: number;\n public positionY: number;\n\n public menuTemplate: TemplateRef<any>;\n public menuItems: NgtContextMenuOptionInterface[] = [];\n\n public hasOptions(): boolean {\n return !this.menuTemplate && !!this.menuItems?.length;\n }\n}\n\nexport interface NgtContextMenuOptionInterface {\n caption: string;\n background_color?: string;\n icon?: string;\n value: string;\n disabled?: boolean;\n}\n","<div class=\"absolute max-w-7xl -mr-10 -mb-10\" style=\"z-index: 999999 !important; width: max-content !important;\"\n [style.left.px]=\"positionX\" [style.top.px]=\"positionY\" (click)=\"$event.stopPropagation()\">\n\n <ng-container *ngIf=\"hasOptions(); else showTemplate\">\n <ul class=\"cursor-pointer rounded-xl bg-white border border-gray-200 shadow-2xl\">\n <li *ngFor=\"let item of menuItems; last as isLast; first as isFirst\"\n class=\"flex items-center w-full px-4 py-2 gap-3 text-sm\" [class.text-gray-700]=\"!item.disabled\"\n [class.text-gray-400]=\"item.disabled\" [class.cursor-not-allowed]=\"item.disabled\"\n [class.rounded-b-xl]=\"isLast\" [class.rounded-t-xl]=\"isFirst\"\n [ngClass]=\"item.disabled ? '' : (item.background_color || 'hover:bg-green-500')\"\n (click)=\"!item.disabled && onMenuItemClick.emit(item)\">\n\n <ngt-svg *ngIf=\"item.icon\" class=\"text-lg\" [src]=\"item.icon\"></ngt-svg>\n {{ item.caption }}\n </li>\n </ul>\n </ng-container>\n\n <ng-template #showTemplate>\n <div class=\"block rounded-lg bg-white border border-gray-200 w-full h-auto shadow-2xl\"\n (click)=\"onTemplateClick.emit()\">\n <ng-container [ngTemplateOutlet]=\"menuTemplate\"></ng-container>\n </div>\n </ng-template>\n</div>\n","import {\n ChangeDetectorRef,\n ComponentRef,\n Directive,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { NgtContextMenuComponent, NgtContextMenuOptionInterface } from './ngt-context-menu.component';\n\n@Directive({\n selector: '[ngt-contextmenu]',\n standalone: false\n})\nexport class NgtContextMenuDirective implements OnDestroy {\n @Output() public onNgtContextMenuClick: EventEmitter<NgtContextMenuOptionInterface> = new EventEmitter();\n @Output() public onOpenNgtContextMenu: EventEmitter<NgtContextMenuComponent> = new EventEmitter();\n\n @Input() public ngtContextMenuOptions: NgtContextMenuOptionInterface[];\n @Input() public ngtContextMenuTemplate: TemplateRef<any>;\n\n private componentRef: ComponentRef<NgtContextMenuComponent> = null;\n private menuItemClickSubscription: Subscription;\n private templateClickSubscription: Subscription;\n\n public constructor(\n private viewContainerRef: ViewContainerRef,\n private changeDetector: ChangeDetectorRef,\n ) { }\n\n @HostListener('contextmenu', ['$event'])\n public onContextMenu(event: MouseEvent) {\n event.preventDefault();\n\n setTimeout(() => {\n this.destroy();\n this.createComponent(event);\n }, 50);\n }\n\n @HostListener('document:contextmenu', ['$event'])\n public onDocumentContextMenuClick(event: MouseEvent) {\n event.preventDefault();\n\n this.destroy();\n this.changeDetector.detectChanges();\n }\n\n @HostListener('document:click')\n public onDocumentClick() {\n this.destroy();\n }\n\n @HostListener('click')\n public onClick() {\n this.destroy();\n }\n\n public ngOnDestroy(): void {\n this.destroy();\n }\n\n private createComponent(event: MouseEvent): void {\n this.componentRef = this.viewContainerRef.createComponent(NgtContextMenuComponent);\n\n this.componentRef.instance.positionX = event.clientX;\n this.componentRef.instance.positionY = event.clientY;\n this.componentRef.instance.menuItems = this.ngtContextMenuOptions;\n this.componentRef.instance.menuTemplate = this.ngtContextMenuTemplate;\n\n this.bindSubscriptions();\n\n document.body.appendChild(this.componentRef.location.nativeElement);\n\n this.onOpenNgtContextMenu.emit(this.componentRef.instance);\n }\n\n private bindSubscriptions(): void {\n this.menuItemClickSubscription = this.componentRef.instance\n .onMenuItemClick\n .subscribe((event) => {\n this.onNgtContextMenuClick.emit(event);\n\n this.destroy();\n });\n\n this.templateClickSubscription = this.componentRef.instance\n .onTemplateClick\n .subscribe((event) => this.destroy());\n }\n\n private destroy(): void {\n this.menuItemClickSubscription?.unsubscribe();\n this.templateClickSubscription?.unsubscribe();\n this.componentRef?.destroy();\n\n this.componentRef = null;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\nimport { NgtContextMenuComponent } from './ngt-context-menu.component';\nimport { NgtContextMenuDirective } from './ngt-context-menu.directive';\n\n@NgModule({\n declarations: [\n NgtContextMenuDirective,\n NgtContextMenuComponent,\n ],\n exports: [\n NgtContextMenuDirective,\n NgtContextMenuComponent,\n ],\n imports: [\n CommonModule,\n NgtSvgModule\n ],\n})\nexport class NgtContextMenuModule { }\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//NgtAbilityValidationService\nexport * from './services/validation/ngt-ability-validation.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.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 './components/ngt-dropzone/ngt-dropzone.meta';\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';\nexport * from './components/ngt-popover/ngt-popover.directive';\n\n// NgtContextMenu\nexport * from './components/ngt-context-menu/ngt-context-menu.module';\nexport * from './components/ngt-context-menu/ngt-context-menu.component';\nexport * from './components/ngt-context-menu/ngt-context-menu.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgtTranslateService","i1","i2","i3.NgtHttpFormService","i4.NgtAbilityValidationService","i5","i6.NgtFormValidationMessageComponent","i1.NgtDropdownContainerComponent","i1.NgtStylizableDirective","i2.NgtTranslateService","i3","i4.NgtSvgComponent","i5.NgtDropdownComponent","i2.NgtAbilityValidationService","i5.NgtHelperComponent","i4.NgtModalHeaderComponent","i5.NgtModalBodyComponent","i6.NgtModalFooterComponent","i2.NgtFormComponent","i3.NgtSectionComponent","i4.NgtModalComponent","i6","i7","i8.NgtSvgComponent","i2.NgtStylizableDirective","i3.NgtFormComponent","i4.NgtSectionComponent","i5.NgtModalComponent","i7.NgtShiningComponent","i8.NgtHelperComponent","i4.NgtHttpValidationService","i5.NgtHttpResourceService","i6.NgtSectionComponent","i7.NgtModalComponent","i8.NgtTranslateService","i9","i10.NgtValidationComponent","i11.NgtShiningComponent","i12.NgtSvgComponent","i13.NgtHelperComponent","i3.NgtTranslateService","i4.NgtHttpService","i5.NgtFormComponent","i8","i12.NgtHelperComponent","i13.NgtSvgComponent","i4.NgtStylizableDirective","i5.NgtActionComponent","i6.NgtSelectComponent","i7.NgtSelectOptionTmp","i3.NgtSvgComponent","i1.NgtHttpService","i4.NgtShiningComponent","i5.NgtPaginationComponent","i6.NgtModalComponent","i7.NgtTagComponent","i8.NgtStylizableDirective","i2.NgtDatatableComponent","i4.NgtCheckboxComponent","i4","i6.NgtCheckboxComponent","i5.NgtInputComponent","i6.NgtModalHeaderComponent","i7.NgtModalBodyComponent","i8.NgtActionComponent","i9.NgtSvgComponent","i1.NgtTheadComponent","i2.NgtTbodyComponent","i3.NgtStylizableDirective","i5.NgtRadioButtonContainerComponent","i8.NgtShiningComponent","i9.NgtHelperComponent","i4.NgtTranslateService","i6.NgtValidationComponent","i8.NgtValidationComponent","i9.NgtShiningComponent","i10.NgtHelperComponent","i1.NgtFormComponent","i2.NgtSectionComponent","i3.NgtModalComponent","i4.NgtHelperComponent","i3.NgtPortletHeaderComponent","i4.NgtPortletBodyComponent","i5.NgtPortletFooterComponent","i5.NgtStylizableDirective","i7.NgtTranslateService","i9.NgtValidationComponent","i10.NgtShiningComponent","i11.NgtHelperComponent","i12.NgtInputComponent","i13.NgtCheckboxComponent","i2.NgtAttachmentHttpService","i7.NgtValidationComponent","i10.NgtDropzoneFileViewerComponent","i11.NgtDropzoneViewComponent","i12.CustomDropzonePreviewComponent","i4.NgtDropdownComponent","i2.NgtSvgComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-tailwind.mjs","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/validation/ngt-ability-validation.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-svg/ngt-svg.component.ts","../../../projects/ng-tailwind/src/components/ngt-svg/ngt-svg.component.html","../../../projects/ng-tailwind/src/components/ngt-svg/ngt-svg.module.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-validation-message/ngt-form-validation-message.component.ts","../../../projects/ng-tailwind/src/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.html","../../../projects/ng-tailwind/src/components/ngt-form/ngt-form.component.ts","../../../projects/ng-tailwind/src/components/ngt-form/ngt-form.component.html","../../../projects/ng-tailwind/src/helpers/enum/enum.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-container/ngt-dropdown-container.component.html","../../../projects/ng-tailwind/src/components/ngt-dropdown/ngt-dropdown.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropdown/ngt-dropdown.component.html","../../../projects/ng-tailwind/src/components/ngt-helper/ngt-helper.component.ts","../../../projects/ng-tailwind/src/components/ngt-helper/ngt-helper.component.html","../../../projects/ng-tailwind/src/components/ngt-section/ngt-section.component.ts","../../../projects/ng-tailwind/src/components/ngt-section/ngt-section.component.html","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.html","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.html","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.html","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal.component.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal.component.html","../../../projects/ng-tailwind/src/components/ngt-action/ngt-action.component.ts","../../../projects/ng-tailwind/src/components/ngt-action/ngt-action.component.html","../../../projects/ng-tailwind/src/components/ngt-action/ngt-action.module.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-shining/ngt-shining.component.ts","../../../projects/ng-tailwind/src/components/ngt-shining/ngt-shining.component.html","../../../projects/ng-tailwind/src/components/ngt-shining/ngt-shining.module.ts","../../../projects/ng-tailwind/src/base/ngt-base-ng-model.ts","../../../projects/ng-tailwind/src/components/ngt-checkbox/ngt-checkbox.component.ts","../../../projects/ng-tailwind/src/components/ngt-checkbox/ngt-checkbox.component.html","../../../projects/ng-tailwind/src/components/ngt-checkbox/ngt-checkbox.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.component.html","../../../projects/ng-tailwind/src/components/ngt-validation/ngt-validation.module.ts","../../../projects/ng-tailwind/src/helpers/input-mask/input-mask.helper.ts","../../../projects/ng-tailwind/src/components/ngt-input/ngt-input.component.ts","../../../projects/ng-tailwind/src/components/ngt-input/ngt-input.component.html","../../../projects/ng-tailwind/src/components/ngt-input/ngt-input.module.ts","../../../projects/ng-tailwind/src/components/ngt-modal/ngt-modal.module.ts","../../../projects/ng-tailwind/src/components/ngt-select/ngt-select.directive.ts","../../../projects/ng-tailwind/src/helpers/promise/promise-helper.ts","../../../projects/ng-tailwind/src/components/ngt-select/ngt-select.component.ts","../../../projects/ng-tailwind/src/components/ngt-select/ngt-select.component.html","../../../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.component.html","../../../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.component.html","../../../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-datatable.component.html","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-tbody/ngt-tbody.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-tbody/ngt-tbody.component.html","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-td-check/ngt-td-check.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-td-check/ngt-td-check.component.html","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-td/ngt-td.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-td/ngt-td.component.html","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-th-check/ngt-th-check.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-th-check/ngt-th-check.component.html","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-th/ngt-th.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-th/ngt-th.component.html","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-thead/ngt-thead.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-thead/ngt-thead.component.html","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-tr/ngt-tr.component.ts","../../../projects/ng-tailwind/src/components/ngt-datatable/ngt-tr/ngt-tr.component.html","../../../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.component.html","../../../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.component.html","../../../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-container/ngt-radio-button-container.component.html","../../../projects/ng-tailwind/src/components/ngt-radio-button/ngt-radio-button.component.ts","../../../projects/ng-tailwind/src/components/ngt-radio-button/ngt-radio-button.component.html","../../../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.component.html","../../../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.component.html","../../../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.component.html","../../../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-body/ngt-portlet-body.component.html","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.ts","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.html","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.ts","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.html","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet.component.ts","../../../projects/ng-tailwind/src/components/ngt-portlet/ngt-portlet.component.html","../../../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.component.html","../../../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.component.html","../../../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.component.html","../../../projects/ng-tailwind/src/components/ngt-content/ngt-content.module.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.component.html","../../../projects/ng-tailwind/src/components/ngt-multi-select/ngt-multi-select.module.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone.meta.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.html","../../../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-file-viewer/ngt-dropzone-file-viewer.component.html","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.html","../../../projects/ng-tailwind/src/services/http/ngt-attachment-http.service.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone.component.ts","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone.component.html","../../../projects/ng-tailwind/src/components/ngt-dropzone/ngt-dropzone.module.ts","../../../projects/ng-tailwind/src/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.ts","../../../projects/ng-tailwind/src/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.html","../../../projects/ng-tailwind/src/components/ngt-popover/ngt-popover.component.ts","../../../projects/ng-tailwind/src/components/ngt-popover/ngt-popover.component.html","../../../projects/ng-tailwind/src/components/ngt-popover/ngt-popover.directive.ts","../../../projects/ng-tailwind/src/components/ngt-popover/ngt-popover.module.ts","../../../projects/ng-tailwind/src/components/ngt-context-menu/ngt-context-menu.component.ts","../../../projects/ng-tailwind/src/components/ngt-context-menu/ngt-context-menu.component.html","../../../projects/ng-tailwind/src/components/ngt-context-menu/ngt-context-menu.directive.ts","../../../projects/ng-tailwind/src/components/ngt-context-menu/ngt-context-menu.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 ngtDatatableSelectAllRegisters: string;\n public abstract ngtDatatableClearSelection: 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 ngtValidationLogin: string;\n public abstract ngtValidationInvalidPassword: 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 public abstract get(connector: any, filters: any, pagination: NgtHttpPagination, sort?: NgtHttpSort): Observable<NgtHttpResponse>;\n\n public abstract post(data: any): Observable<any>;\n\n public abstract put(data: any): Observable<any>;\n\n public 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 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 public abstract emailValidation(email: string): Promise<NgtHttpValidationResponse>;\n\n public abstract phoneValidation(phone: string): Promise<NgtHttpValidationResponse>;\n\n public abstract passwordValidation(password: string, passwordableId?: string, passwordPolicyId?: string): 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","export abstract class NgtAbilityValidationService {\n public abstract hasManagePermission(): Promise<boolean>;\n\n public abstract isSectionHidden(section: string): Promise<boolean>;\n\n public abstract isSectionEnabled(section: string): Promise<boolean>;\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 _gap: 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 get h(): string {\n return this._h;\n }\n\n public get w(): string {\n return this._w;\n }\n\n public get p(): string {\n return this._p;\n }\n\n public get px(): string {\n return this._px;\n }\n\n public get py(): string {\n return this._py;\n }\n\n public get pt(): string {\n return this._pt;\n }\n\n public get pr(): string {\n return this._pr;\n }\n\n public get pb(): string {\n return this._pb;\n }\n\n public get pl(): string {\n return this._pl;\n }\n\n public get m(): string {\n return this._m;\n }\n\n public get mx(): string {\n return this._mx;\n }\n\n public get my(): string {\n return this._my;\n }\n\n public get mt(): string {\n return this._mt;\n }\n\n public get mr(): string {\n return this._mr;\n }\n\n public get mb(): string {\n return this._mb;\n }\n\n public get ml(): string {\n return this._ml;\n }\n\n public get gap(): string {\n return this._gap;\n }\n\n public get border(): string {\n return this._border;\n }\n\n public get shadow(): string {\n return this._shadow;\n }\n\n public get rounded(): string {\n return this._rounded;\n }\n\n public get font(): string {\n return this._font;\n }\n\n public get text(): string {\n return this._text;\n }\n\n public get breakWords(): string {\n return this._breakWords;\n }\n\n public get overflow(): string {\n return this._overflow;\n }\n\n public get position(): string {\n return this._position;\n }\n\n public get justifyContent(): string {\n return this._justifyContent;\n }\n\n public get cursor(): string {\n return this._cursor;\n }\n\n public get fontCase(): string {\n return this._fontCase;\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 set h(h: string) {\n this._h = this.getQualifiedValue('h-', h);\n }\n\n public set w(w: string) {\n this._w = this.getQualifiedValue('w-', w);\n }\n\n public set p(p: string) {\n this._p = this.getQualifiedValue('p-', p);\n }\n\n public set px(px: string) {\n this._px = this.getQualifiedValue('px-', px);\n }\n\n public set py(py: string) {\n this._py = this.getQualifiedValue('py-', py);\n }\n\n public set pt(pt: string) {\n this._pt = this.getQualifiedValue('pt-', pt);\n }\n\n public set pr(pr: string) {\n this._pr = this.getQualifiedValue('pr-', pr);\n }\n\n public set pb(pb: string) {\n this._pb = this.getQualifiedValue('pb-', pb);\n }\n\n public set pl(pl: string) {\n this._pl = this.getQualifiedValue('pl-', pl);\n }\n\n public set m(m: string) {\n this._m = this.getQualifiedValue('m-', m);\n }\n\n public set mx(mx: string) {\n this._mx = this.getQualifiedValue('mx-', mx);\n }\n\n public set my(my: string) {\n this._my = this.getQualifiedValue('my-', my);\n }\n\n public set mt(mt: string) {\n this._mt = this.getQualifiedValue('mt-', mt);\n }\n\n public set mr(mr: string) {\n this._mr = this.getQualifiedValue('mr-', mr);\n }\n\n public set mb(mb: string) {\n this._mb = this.getQualifiedValue('mb-', mb);\n }\n\n public set ml(ml: string) {\n this._ml = this.getQualifiedValue('ml-', ml);\n }\n\n public set gap(gap: string) {\n this._gap = this.getQualifiedValue('gap-', gap);\n }\n\n public set border(border: string) {\n this._border = this.getQualifiedValue('border', border);\n }\n\n public set shadow(shadow: string) {\n this._shadow = this.getQualifiedValue('shadow', shadow);\n }\n\n public set rounded(rounded: string) {\n this._rounded = this.getQualifiedValue('rounded', rounded);\n }\n\n public set font(font: string) {\n this._font = this.getQualifiedValue('font', font);\n }\n\n public set text(text: string) {\n this._text = this.getQualifiedValue('text', text);\n }\n\n public set breakWords(breakWords: string) {\n this._breakWords = this.getQualifiedValue('break', breakWords);\n }\n\n public set overflow(overflow: string) {\n this._overflow = this.getQualifiedValue('overflow', overflow);\n }\n\n public set position(position: string) {\n this._position = position;\n }\n\n public set justifyContent(justifyContent: string) {\n this._justifyContent = this.getQualifiedValue('justify', justifyContent);\n }\n\n public set cursor(cursor: string) {\n this._cursor = this.getQualifiedValue('cursor', cursor);\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 standalone: false\n})\nexport class NgtStylizableDirective {\n private ngtStylizableService: NgtStylizableService;\n\n public constructor() {\n this.ngtStylizableService = new NgtStylizableService();\n }\n\n public get color() {\n return this.ngtStylizableService.color;\n }\n\n public get h(): string {\n return this.ngtStylizableService.h;\n }\n\n public get w(): string {\n return this.ngtStylizableService.w;\n }\n\n public get p(): string {\n return this.ngtStylizableService.p;\n }\n\n public get px(): string {\n return this.ngtStylizableService.px;\n }\n\n public get py(): string {\n return this.ngtStylizableService.py;\n }\n\n public get pt(): string {\n return this.ngtStylizableService.pt;\n }\n\n public get pr(): string {\n return this.ngtStylizableService.pr;\n }\n\n public get pb(): string {\n return this.ngtStylizableService.pb;\n }\n\n public get pl(): string {\n return this.ngtStylizableService.pl;\n }\n\n public get m(): string {\n return this.ngtStylizableService.m;\n }\n\n public get mx(): string {\n return this.ngtStylizableService.mx;\n }\n\n public get my(): string {\n return this.ngtStylizableService.my;\n }\n\n public get mt(): string {\n return this.ngtStylizableService.mt;\n }\n\n public get mr(): string {\n return this.ngtStylizableService.mr;\n }\n\n public get mb(): string {\n return this.ngtStylizableService.mb;\n }\n\n public get ml(): string {\n return this.ngtStylizableService.ml;\n }\n\n public get gap(): string {\n return this.ngtStylizableService.gap;\n }\n\n public get border(): string {\n return this.ngtStylizableService.border;\n }\n\n public get shadow(): string {\n return this.ngtStylizableService.shadow;\n }\n\n public get rounded(): string {\n return this.ngtStylizableService.rounded;\n }\n\n public get font(): string {\n return this.ngtStylizableService.font;\n }\n\n public get text(): string {\n return this.ngtStylizableService.text;\n }\n\n public get breakWords(): string {\n return this.ngtStylizableService.breakWords;\n }\n\n public get overflow(): string {\n return this.ngtStylizableService.overflow;\n }\n\n public get position(): string {\n return this.ngtStylizableService.position;\n }\n\n public get justifyContent(): string {\n return this.ngtStylizableService.justifyContent;\n }\n\n public get cursor(): string {\n return this.ngtStylizableService.cursor;\n }\n\n public get fontCase(): string {\n return this.ngtStylizableService.fontCase;\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 @Input('h')\n public set h(h: string) {\n this.ngtStylizableService.h = h;\n }\n\n @Input('w')\n public set w(w: string) {\n this.ngtStylizableService.w = w;\n }\n\n @Input('p')\n public set p(p: string) {\n this.ngtStylizableService.p = p;\n }\n\n @Input('px')\n public set px(px: string) {\n this.ngtStylizableService.px = px;\n }\n\n @Input('py')\n public set py(py: string) {\n this.ngtStylizableService.py = py;\n }\n\n @Input('pt')\n public set pt(pt: string) {\n this.ngtStylizableService.pt = pt;\n }\n\n @Input('pr')\n public set pr(pr: string) {\n this.ngtStylizableService.pr = pr;\n }\n\n @Input('pb')\n public set pb(pb: string) {\n this.ngtStylizableService.pb = pb;\n }\n\n @Input('pl')\n public set pl(pl: string) {\n this.ngtStylizableService.pl = pl;\n }\n\n @Input('m')\n public set m(m: string) {\n this.ngtStylizableService.m = m;\n }\n\n @Input('mx')\n public set mx(mx: string) {\n this.ngtStylizableService.mx = mx;\n }\n\n @Input('my')\n public set my(my: string) {\n this.ngtStylizableService.my = my;\n }\n\n @Input('mt')\n public set mt(mt: string) {\n this.ngtStylizableService.mt = mt;\n }\n\n @Input('mr')\n public set mr(mr: string) {\n this.ngtStylizableService.mr = mr;\n }\n\n @Input('mb')\n public set mb(mb: string) {\n this.ngtStylizableService.mb = mb;\n }\n\n @Input('ml')\n public set ml(ml: string) {\n this.ngtStylizableService.ml = ml;\n }\n\n @Input('gap')\n public set gap(gap: string) {\n this.ngtStylizableService.gap = gap;\n }\n\n @Input('border')\n public set border(border: string) {\n this.ngtStylizableService.border = border;\n }\n\n @Input('shadow')\n public set shadow(shadow: string) {\n this.ngtStylizableService.shadow = shadow;\n }\n\n @Input('rounded')\n public set rounded(rounded: string) {\n this.ngtStylizableService.rounded = rounded;\n }\n\n @Input('font')\n public set font(font: string) {\n this.ngtStylizableService.font = font;\n }\n\n @Input('text')\n public set text(text: string) {\n this.ngtStylizableService.text = text;\n }\n\n @Input('breakWords')\n public set breakWords(breakWords: string) {\n this.ngtStylizableService.breakWords = breakWords;\n }\n\n @Input('overflow')\n public set overflow(overflow: string) {\n this.ngtStylizableService.overflow = overflow;\n }\n\n @Input('position')\n public set position(position: string) {\n this.ngtStylizableService.position = position;\n }\n\n @Input('justifyContent')\n public set justifyContent(justifyContent: string) {\n this.ngtStylizableService.justifyContent = justifyContent;\n }\n\n @Input('cursor')\n public set cursor(cursor: string) {\n this.ngtStylizableService.cursor = cursor;\n }\n\n @Input('fontCase')\n public set fontCase(fontCase: string) {\n this.ngtStylizableService.fontCase = fontCase;\n }\n\n public getNgtStylizableService() {\n return this.ngtStylizableService;\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 {\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 standalone: false\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 `${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","<svg-icon [src]='src' class=\"flex {{ class }}\"></svg-icon>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AngularSvgIconModule } from 'angular-svg-icon';\n\nimport { NgtSvgComponent } from './ngt-svg.component';\n\n@NgModule({\n imports: [\n CommonModule,\n AngularSvgIconModule.forRoot()\n ],\n declarations: [NgtSvgComponent],\n exports: [NgtSvgComponent]\n})\nexport class NgtSvgModule { }\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 public abstract loadResourceById(resource: any, resourceId: any): Observable<any>;\n\n public abstract saveResource(resource: any): Observable<any>;\n}\n","import { Component, Input, Optional } from '@angular/core';\n\nimport { NgtTranslateService } from '../../../services/http/ngt-translate.service';\n\n@Component({\n selector: 'ngt-form-validation-message',\n templateUrl: './ngt-form-validation-message.component.html',\n standalone: false\n})\nexport class NgtFormValidationMessageComponent {\n @Input() public canShowValidationMessage: boolean;\n @Input() public message: string;\n\n public constructor(\n @Optional()\n public ngtTranslateService: NgtTranslateService\n ) { }\n}\n","<div *ngIf=\"canShowValidationMessage\" class=\"mb-5 p-2 rounded bg-red-500 text-white text-xs\">\n {{ message || ngtTranslateService.ngtFormDefaultValidationMessage }}\n</div>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Host,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n} 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';\nimport { NgtAbilityValidationService } from '../../services/validation/ngt-ability-validation.service';;\n\nexport enum NgtFormState {\n CREATING = 'CREATING',\n EDITING = 'EDITING'\n};\n\n@Component({\n selector: 'ngt-form',\n templateUrl: './ngt-form.component.html',\n standalone: false\n})\nexport class NgtFormComponent implements OnInit, OnDestroy, AfterViewInit {\n public static onSubmitInvalidForm: EventEmitter<NgForm> = new EventEmitter;\n\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 @Input() public isDisabled: boolean;\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 public router: Router,\n public route: ActivatedRoute,\n\n @Optional() @Host()\n public formContainer: ControlContainer,\n\n @Optional() @Host()\n public ngForm: NgForm,\n\n private changeDetector: ChangeDetectorRef,\n private ngtHttpFormService: NgtHttpFormService,\n\n @Optional()\n private ngtAbilityValidationService: NgtAbilityValidationService\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 async ngAfterViewInit(): Promise<void> {\n if (this.isDisabled === undefined && this.ngtAbilityValidationService) {\n this.isDisabled = !(await this.ngtAbilityValidationService.hasManagePermission());\n\n this.changeDetector.detectChanges();\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(null);\n })\n );\n });\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<ngt-form-validation-message *ngIf='!customLayout' [canShowValidationMessage]=\"canShowValidationMessage()\"\n [message]=\"message\">\n</ngt-form-validation-message>\n\n<fieldset [disabled]=\"isDisabled\" style=\"min-inline-size: 100% !important\">\n <ng-content></ng-content>\n</fieldset>","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","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 standalone: false\n})\nexport class NgtDropdownContainerComponent {\n @Output() public onActiveDropdownChange = new EventEmitter();\n\n public setActiveDropdown(activeDropdown) {\n this.onActiveDropdownChange.emit(activeDropdown);\n }\n}\n","<ng-content></ng-content>","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n ChangeDetectorRef,\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\nexport enum NgtDropdownOpenMethod {\n CLICK = 'CLICK',\n POPOVER_CLICK = 'POPOVER_CLICK',\n RIGHT_CLICK = 'RIGHT_CLICK',\n HOVER = 'HOVER'\n}\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 standalone: false\n})\nexport class NgtDropdownComponent implements OnDestroy {\n @ViewChild('container', { static: true }) public containerRef: ElementRef;\n\n @Input() public scrollable: boolean;\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;\n public isXPositionReversed: boolean;\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 private changeDetector: ChangeDetectorRef\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 this.changeDetector.detectChanges();\n\n this.bindContainerXPosition();\n this.bindContainerYPosition();\n\n this.onToggle.emit(this.isOpen);\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 this.onToggle.emit(this.isOpen);\n }\n\n public toggle(): void {\n setTimeout(() => {\n if (this.isOpen) {\n this.close();\n } else {\n this.open();\n }\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 && !this.isBindingXPosition) {\n this.isXPositionReversed = !(this.containerXPosition > document.documentElement.clientWidth);\n\n return this.isXPositionReversed;\n }\n }\n\n public shouldReverseYPosition(): boolean {\n if (!this.autoYReverse || this.reverseYPosition !== undefined) {\n return this.reverseYPosition;\n }\n\n if (this.isOpen && !this.isBindingYPosition) {\n this.isYPositionReversed = this.containerYPosition > (document.documentElement.clientHeight * 0.9);\n\n return this.isYPositionReversed;\n }\n }\n\n private bindContainerXPosition(): void {\n if (!this.containerXPosition && this.containerRef.nativeElement.offsetWidth) {\n 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 this.changeDetector.detectChanges();\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 this.changeDetector.detectChanges();\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","<div class=\"sm:relative\">\n <div (mouseenter)=\"onHover(host, container)\" (click)=\"onClick($event, host, container)\"\n (contextmenu)=\"onRightClick($event)\" #host>\n <ng-content select='[host]'></ng-content>\n </div>\n\n <div [hidden]='!isOpen'\n class=\"{{ shouldReverseYPosition() ? 'mb-12 bottom-0' : 'mt-4' }} {{ shouldReverseXPosition() ? 'left-0': 'right-0' }} ngt-dropdown-container sm:mr-0 mr-3 max-w-xs absolute\"\n [@openClose]=\"isOpen ? 'open' : 'closed'\" (mouseenter)=\"onHover(host, container)\"\n (click)='closeOnSelectOption()' style=\"z-index: 1100 !important;\" #container>\n\n <div *ngIf=\"isOpen\" class=\"flex flex-col\" [ngClass]=\"{ 'h-52 overflow-auto':scrollable }\">\n <ng-content select='[container]'></ng-content>\n </div>\n </div>\n</div>\n\n<button *ngIf=\"isOpen && openMethod != 'HOVER'\" type=\"button\"\n class=\"fixed z-40 inset-0 h-full w-full opacity-0 cursor-default\" (click)='toggle()'>\n</button>","import {\n Component, ElementRef, Injector, Input, Optional, Self, ViewChild, ViewEncapsulation\n} 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 standalone: false\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 @Input() public autoXReverse: boolean = true;\n @Input() public helperReverseYPosition: boolean;\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-xs',\n fontCase: '',\n px: 'px-2',\n gap: '',\n color: {\n text: 'text-black',\n bg: 'bg-gray-200'\n }\n });\n }\n}\n","<ngt-dropdown class=\"flex w-full hover:opacity-100\" [closeOnClick]=\"true\" [autoXReverse]=\"autoXReverse\" [reverseYPosition]=\"helperReverseYPosition\" #dropdownRef>\n <div class=\"flex rounded-full {{ iconColor ?? 'text-green-500'}} {{ ngtStyle.compile(['px', 'text', 'gap']) }}\" style=\"cursor: help;\"\n host>\n <ngt-svg *ngIf=\"icon\" [class]=\"iconSize\" [src]=\"icon\" style=\"cursor: help;\"></ngt-svg>\n\n <div *ngIf=\"!icon\" style=\"cursor: help;\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path class=\"fill-current\"\n d=\"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z\" />\n </svg>\n </div>\n\n <p *ngIf=\"helpText\" class=\"cursor-pointer {{helpTextColor}}\" style=\"margin-left: 2px\">{{helpText}}</p>\n </div>\n\n <div class=\"bg-gray-100 rounded-lg hover:opacity-100 text-gray-800 {{tooltipSize}} shadow-lg {{ ngtStyle.compile(['text', 'fontCase']) }}\"\n [class.-mb-4]='dropdownRef.isYPositionReversed' container>\n <div\n class=\"{{ ngtStyle.compile(['color.bg', 'color.text']) }} flex justify-center rounded-t-lg hover:opacity-100 font-semibold border-b border-dashed border-gray-400 text-center px-6 py-1\">\n <ngt-svg *ngIf=\"iconTitle\" [src]=\"iconTitle\" style=\"margin-right: 3px\"></ngt-svg>\n <span class=\"text-xs\">{{ helpTitle || ngtTranslateService.ngtStandardHelperTitle }}</span>\n </div>\n <div class=\"px-2 py-1 text-center hover:opacity-100\">\n <ng-content></ng-content>\n </div>\n </div>\n</ngt-dropdown>\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, Injector, Input, Optional, Output, Self, ViewChild\n} from '@angular/core';\n\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtAbilityValidationService } from '../../services/validation/ngt-ability-validation.service';;\n\n@Component({\n selector: 'ngt-section',\n templateUrl: './ngt-section.component.html',\n animations: [\n trigger('enterAnimation', [\n state('void', style({ transform: 'translateY(-20px)', opacity: 0 })),\n transition(':enter', [\n animate(400)\n ])\n ]),\n ],\n standalone: false\n})\nexport class NgtSectionComponent implements AfterViewInit {\n @ViewChild('elementRef') public elementRef: ElementRef;\n\n @Input() public name: string;\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 @Input() public isDisabled: boolean;\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 canDisplay: boolean;\n\n public constructor(\n private injector: Injector,\n private changeDetector: ChangeDetectorRef,\n\n @Self() @Optional()\n private ngtStylizableDirective: NgtStylizableDirective,\n\n @Optional()\n private ngtAbilityValidationService: NgtAbilityValidationService\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 mb: 'mb-6',\n pr: 'pr-1',\n px: 'md:px-5',\n border: 'border-b-4 md:border-b-0 border-dashed md:border-solid md:border-l',\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 px: 'px-5',\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 async ngAfterViewInit(): Promise<void> {\n if (!this.ngtAbilityValidationService || !this.name) {\n this.canDisplay = true;\n\n this.changeDetector.detectChanges();\n }\n\n if (this.ngtAbilityValidationService && this.name) {\n if (this.isDisabled === undefined) {\n this.isDisabled = !(await this.ngtAbilityValidationService.isSectionEnabled(this.name));\n }\n\n this.canDisplay = !(await this.ngtAbilityValidationService.isSectionHidden(this.name));\n }\n\n this.changeDetector.detectChanges();\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 scrollTo(): void {\n this.elementRef.nativeElement.scrollIntoView({ behavior: \"smooth\" });\n }\n\n public remove(event: Event): void {\n event.stopImmediatePropagation();\n\n this.onRemove.emit();\n }\n}\n","<div *ngIf=\"canDisplay\" class=\"flex {{ ngtSectionStyle.compile(['mb']) }}\" #elementRef>\n <ngt-svg *ngIf=\"icon\" [src]='icon'\n class=\"hidden md:block {{ ngtSectionStyle.compile(['color.text', 'h', 'w', 'my', 'pr']) }}\">\n </ngt-svg>\n\n <div\n class=\"w-full pb-4 md:pb-0 {{ accordion && !showSection ? 'flex' : '' }} {{ ngtSectionStyle.compile(['border']) }}\">\n <div *ngIf=\"!accordion && caption\" class=\"flex\">\n <span class=\"pl-5 {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n {{ caption }}\n </span>\n\n <span *ngIf=\"subtitle\"\n class=\"self-center {{ ngtSubtitleStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml']) }}\">\n {{ subtitle }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" class=\"ml-1 hover:opacity-100 opacity-100\"\n [iconColor]=\"helpIconColor\">\n {{ helpText }}\n </ngt-helper>\n </div>\n\n <ng-container *ngIf=\"accordion\">\n <div class=\"flex flex-wrap items-center cursor-pointer {{ helpText ? '' : 'hover:opacity-75' }} {{ accordion && showSection ? ngtCaptionStyle.compile(['pb', 'px']) : ngtCaptionStyle.compile(['py', 'px']) }}\"\n (click)='toggle()' style=\"max-width: fit-content;\">\n <div *ngIf=\"!showSection\"\n class=\"flex {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M2.82 4.59l9.18 9.16 9.18 -9.16 2.82 2.82 -12 12 -12 -12 2.82 -2.82z\" />\n </svg>\n </div>\n\n <div *ngIf=\"showSection\"\n class=\"flex {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M2.82 19.41l9.18 -9.16 9.18 9.16 2.82 -2.82 -12 -12 -12 12 2.82 2.82z\" />\n </svg>\n </div>\n\n <span [class]=\"ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml'])\">\n {{ caption }}\n </span>\n\n <span *ngIf=\"subtitle\"\n [class]=\"ngtSubtitleStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml'])\">\n {{ subtitle }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" class=\"ml-1\" [iconColor]=\"helpIconColor\"\n class=\"ml-1 hover:opacity-100 opacity-100\">\n {{ helpText }}\n </ngt-helper>\n\n <div *ngIf=\"removable\"\n class=\"flex items-center justify-center h-6 w-6 ml-2 rounded-full hover:bg-red-500 hover:text-white text-gray-600 text-sm\"\n (click)='remove($event)'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M4 21.33c0,1.47 1.2,2.67 2.67,2.67l10.66 0c1.47,0 2.67,-1.2 2.67,-2.67l0 -16 -16 0 0 16zm17.33 -20l-4.66 0 -1.34 -1.33 -6.66 0 -1.34 1.33 -4.66 0 0 2.67 18.66 0 0 -2.67z\" />\n </svg>\n </div>\n </div>\n </ng-container>\n\n <div *ngIf='showSection' class=\"{{ ngtSectionStyle.compile(['px', 'pl']) }}\" [@enterAnimation]='!showSection'>\n <fieldset [disabled]=\"isDisabled\" style=\"min-inline-size: 100% !important\">\n <ng-content></ng-content>\n </fieldset>\n </div>\n </div>\n</div>","import { Component, EventEmitter, 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-modal-header',\n templateUrl: './ngt-modal-header.component.html',\n standalone: false\n})\nexport class NgtModalHeaderComponent {\n public static onCloseModalByHeader: EventEmitter<void> = new EventEmitter();\n\n @Input() public disableDefaultCloses: boolean;\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 if (!this.ngtStyle) {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtModalHeader', {\n pb: 'pb-3',\n color: {}\n });\n }\n\n public emitOnCloseEvent(): void {\n NgtModalHeaderComponent.onCloseModalByHeader.emit();\n }\n}\n","<div\n class=\"flex w-full items-center {{ ngtStyle.compile(['px', 'py', 'pb', 'pt', 'pl', 'pr', 'mx', 'my', 'mb', 'mt', 'ml', 'mr', 'color.bg', 'color.text']) }}\">\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"!disableDefaultCloses\">\n <div class=\"cursor-pointer z-50 absolute right-0 top-0 m-2\" (click)='emitOnCloseEvent()'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\">\n <path\n d=\"M14.53 4.53l-1.06-1.06L9 7.94 4.53 3.47 3.47 4.53 7.94 9l-4.47 4.47 1.06 1.06L9 10.06l4.47 4.47 1.06-1.06L10.06 9z\">\n </path>\n </svg>\n </div>\n </ng-container>\n</div>\n","import { AfterViewInit, ChangeDetectorRef, Component, Injector, Input, Optional, Self } from '@angular/core';\nimport { NgtAbilityValidationService } from '../../../services/validation/ngt-ability-validation.service';\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-body',\n templateUrl: './ngt-modal-body.component.html',\n standalone: false\n})\nexport class NgtModalBodyComponent implements AfterViewInit {\n @Input() public ngtStyle: NgtStylizableService;\n @Input() public isDisabled: boolean;\n\n public constructor(\n private injector: Injector,\n private changeDetector: ChangeDetectorRef,\n\n @Self() @Optional()\n private tailStylizableDirective: NgtStylizableDirective,\n\n @Optional()\n private ngtAbilityValidationService: NgtAbilityValidationService\n ) {\n if (this.tailStylizableDirective) {\n this.ngtStyle = this.tailStylizableDirective.getNgtStylizableService();\n } else if (!this.ngtStyle) {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtModalBody', {\n px: 'px-0',\n py: 'py-0'\n });\n }\n\n public async ngAfterViewInit(): Promise<void> {\n if (this.isDisabled === undefined && this.ngtAbilityValidationService) {\n this.isDisabled = !(await this.ngtAbilityValidationService.hasManagePermission());\n\n this.changeDetector.detectChanges();\n }\n }\n}\n","<div class=\"flex flex-col w-full {{ ngtStyle.compile(['px', 'py']) }}\">\n <fieldset [disabled]=\"isDisabled\" style=\"min-inline-size: 100% !important\">\n <ng-content></ng-content>\n </fieldset>\n</div>","import { Component, Injector, Input, Optional, Self } from '@angular/core';\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-footer',\n templateUrl: './ngt-modal-footer.component.html',\n standalone: false\n})\nexport class NgtModalFooterComponent {\n @Input() public ngtStyle: NgtStylizableService;\n\n public constructor(\n private injector: Injector,\n\n @Self() @Optional()\n private tailStylizableDirective: NgtStylizableDirective,\n ) {\n if (this.tailStylizableDirective) {\n this.ngtStyle = this.tailStylizableDirective.getNgtStylizableService();\n } else if (!this.ngtStyle) {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, 'NgtModalFooter', {\n px: 'px-0',\n py: 'py-1'\n });\n }\n}\n","<div class=\"flex w-full {{ ngtStyle.compile(['px', 'py']) }}\">\n <ng-content></ng-content>\n</div>","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Injector,\n Input,\n Optional,\n Output,\n Self,\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 { NgtModalHeaderComponent } from './ngt-modal-header/ngt-modal-header.component';\nimport { NgtAbilityValidationService } from '../../services/validation/ngt-ability-validation.service';\n\n@Component({\n selector: 'ngt-modal',\n templateUrl: './ngt-modal.component.html',\n animations: [\n trigger('fade', [\n state('void', style({ opacity: 0 })),\n transition(':enter, :leave', [\n animate(300)\n ])\n ])\n ],\n standalone: false\n})\nexport class NgtModalComponent implements AfterViewInit {\n @Input() public customLayout: boolean = false;\n @Input() public disableDefaultCloses: boolean = false;\n @Input() public isDisabled: boolean;\n @Input() public ngtStyle: NgtStylizableService;\n\n @Output() public onCloseModal: EventEmitter<void> = new EventEmitter();\n @Output() public onOpenModal: EventEmitter<void> = new EventEmitter();\n\n public isOpen: boolean = false;\n public viewMode: boolean = false;\n\n private keydownEventWasAdded: boolean = false;\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private changeDetectorRef: ChangeDetectorRef,\n private injector: Injector,\n\n @Self() @Optional()\n private tailStylizableDirective: NgtStylizableDirective,\n\n @Optional()\n private ngtAbilityValidationService: NgtAbilityValidationService\n ) {\n if (this.tailStylizableDirective) {\n this.ngtStyle = this.tailStylizableDirective.getNgtStylizableService();\n } else if (!this.ngtStyle) {\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 border: 'border border-teal-500',\n overflow: 'overflow-visible',\n color: {}\n });\n }\n\n public async ngAfterViewInit(): Promise<void> {\n if (this.isDisabled === undefined && this.ngtAbilityValidationService) {\n this.isDisabled = !(await this.ngtAbilityValidationService.hasManagePermission());\n\n this.changeDetectorRef.detectChanges();\n }\n }\n\n public close() {\n this.isOpen = false;\n this.changeDetectorRef.detectChanges();\n\n this.destroySubscriptions();\n\n this.onCloseModal.emit();\n }\n\n public open() {\n this.isOpen = true;\n this.changeDetectorRef.detectChanges();\n\n this.addKeydownEventListener();\n this.bindOnCloseModalByHeaderSubscription();\n\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 if (this.viewMode) {\n this.closeViewMode();\n event.stopPropagation();\n }\n }\n }, true);\n }\n }\n\n private bindOnCloseModalByHeaderSubscription(): void {\n this.subscriptions.push(\n NgtModalHeaderComponent.onCloseModalByHeader.subscribe(() => this.close())\n );\n }\n\n private destroySubscriptions(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n\n this.subscriptions = [];\n }\n\n private closeViewMode(): void {\n this.viewMode = false;\n }\n}\n","<div class=\"flex min-w-full relative justify-center text-gray-700\">\n <div *ngIf=\"isOpen\" class=\"flex fixed min-w-full h-full inset-0 px-6 py-6 md:py-0 md:px-0 justify-center\"\n style=\"background: rgba(0,0,0,.7); z-index: 1100 !important;\" @fade>\n <ng-container *ngIf=\"!disableDefaultCloses\">\n <button class=\"fixed inset-0 h-full w-full bg-black opacity-0 cursor-default z-0\" tabindex=\"-1\"\n type=\"button\" (click)='close()'>\n </button>\n </ng-container>\n\n <div class=\"{{ ngtStyle.compile(['w', 'overflow', 'border']) }} relative bg-white w-full self-center rounded shadow-lg z-10\"\n style=\"max-height: 85%;\">\n <div class=\"cursor-default text-left {{ ngtStyle.compile(['py', 'px']) }}\">\n <div *ngIf=\"!customLayout\">\n <ngt-modal-header class=\"w-full\" [disableDefaultCloses]=\"disableDefaultCloses\">\n <ng-content select='[header]'></ng-content>\n </ngt-modal-header>\n </div>\n\n <ng-container *ngIf=\"!customLayout\">\n <fieldset [disabled]=\"isDisabled\" style=\"min-inline-size: 100% !important\">\n <ngt-modal-body [isDisabled]=\"isDisabled\">\n <ng-content select='[body]'></ng-content>\n </ngt-modal-body>\n </fieldset>\n </ng-container>\n\n <!--Footer-->\n <ng-container *ngIf=\"!customLayout\">\n <ngt-modal-footer>\n <ng-content select='[footer]'></ng-content>\n </ngt-modal-footer>\n </ng-container>\n\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>","import {\n Component,\n Injector,\n Input,\n OnDestroy,\n Optional,\n Self,\n SkipSelf,\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 { NgtFormComponent } from '../ngt-form/ngt-form.component';\nimport { NgtSectionComponent } from '../ngt-section/ngt-section.component';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.component';\nimport { NgtModalBodyComponent } from '../ngt-modal/ngt-modal-body/ngt-modal-body.component';\n\n@Component({\n selector: 'ngt-action',\n templateUrl: './ngt-action.component.html',\n standalone: false\n})\nexport class NgtActionComponent implements OnDestroy {\n @Input() public href: string;\n @Input() public icon: string;\n @Input() public ngtStyle: NgtStylizableService;\n @Input() public isDisabled: boolean;\n @Input() public forceEnable: boolean;\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private injector: Injector,\n\n @Self() @Optional()\n private ngtStylizableDirective: NgtStylizableDirective,\n\n @Optional() @SkipSelf()\n public ngtForm: NgtFormComponent,\n\n @Optional() @SkipSelf()\n public ngtSection: NgtSectionComponent,\n\n @Optional() @SkipSelf()\n public ngtModal: NgtModalComponent,\n\n @Optional() @SkipSelf()\n public ngtModalBody: NgtModalBodyComponent\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-sm',\n border: 'border-0',\n });\n }\n\n public ngOnDestroy() {\n this.destroySubscriptions();\n }\n\n public onClick(event: Event) {\n if (this.disabled()) {\n event.stopPropagation();\n }\n }\n\n public disabled(): boolean {\n return !this.forceEnable && (this.isDisabled || this.isDisabledByParent());\n }\n\n private isDisabledByParent(): boolean {\n return this.ngtForm?.isDisabled\n || this.ngtSection?.isDisabled\n || this.ngtModal?.isDisabled;\n }\n\n private destroySubscriptions(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<a *ngIf=\"href\"\n [class]=\"disabled() ? 'block rounded-full cursor-not-allowed text-gray-600 bg-gray-400 hover:bg-gray-400 opacity-50' : 'cursor-pointer'\"\n [routerLink]=\"href\" (click)='onClick($event)'>\n <div\n class=\"flex justify-center rounded-full {{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text', 'px', 'py', 'shadow', 'text']) }}\">\n <ngt-svg [src]=\"icon\" class='self-center' *ngIf=\"icon\">\n </ngt-svg>\n <div class=\"self-center\">\n <ng-content></ng-content>\n </div>\n </div>\n</a>\n\n<a *ngIf=\"!href\"\n [class]=\"disabled() ? 'block rounded-full cursor-not-allowed text-gray-600 bg-gray-400 hover:bg-gray-400 opacity-50' : 'cursor-pointer'\"\n (click)='onClick($event)'>\n <div\n class=\"flex justify-center rounded-full {{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text', 'px', 'py', 'shadow', 'text', 'border', 'color.border']) }}\">\n <ngt-svg [src]=\"icon\" class='self-center' *ngIf=\"icon\"></ngt-svg>\n <div class=\"self-center\">\n <ng-content></ng-content>\n </div>\n </div>\n</a>","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 { NgtActionComponent } from './ngt-action.component';\n\n@NgModule({\n declarations: [NgtActionComponent],\n exports: [NgtActionComponent],\n imports: [\n CommonModule,\n RouterModule,\n NgtSvgModule\n ]\n})\nexport class NgtActionModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtDropdownContainerComponent } from './ngt-dropdown-container/ngt-dropdown-container.component';\nimport { NgtDropdownComponent } from './ngt-dropdown.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 { 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\nexport enum NgtShiningWidth {\n xs = 'xs',\n sm = 'sm',\n lg = 'lg',\n xl = 'xl',\n}\n\n@Component({\n selector: 'ngt-shining',\n templateUrl: './ngt-shining.component.html',\n styleUrls: ['./ngt-shining.component.css'],\n standalone: false\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","<div class=\"text-center w-full h-full ngt-shining-{{ shiningWidth }} {{ ngtStyle.compile(['rounded']) }}\"></div>","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","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 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 onValueChange() {\n return this.onValueChangeEvent;\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","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Host,\n Injector,\n Input,\n OnChanges,\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';\nimport { NgtSectionComponent } from '../ngt-section/ngt-section.component';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.component';\n\nexport enum NgtCheckboxMode {\n DEFAULT = 'DEFAULT',\n TOGGLE = 'TOGGLE',\n SIDE_TOGGLE = 'SIDE_TOGGLE',\n RADIO = 'RADIO'\n}\n\n@Component({\n selector: 'ngt-checkbox',\n templateUrl: './ngt-checkbox.component.html',\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 trigger('slideRightToLeft', [\n state('void', style({ transform: 'translateX(4px) rotate(45deg)', opacity: 0 })),\n transition(':enter', [\n animate(200)\n ])\n ])\n ],\n standalone: false\n})\nexport class NgtCheckboxComponent extends NgtBaseNgModel implements AfterViewInit, OnChanges, 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 @Input() public helperAutoXReverse: boolean = true;\n\n public ngtStyle: NgtStylizableService;\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private injector: Injector,\n private renderer: Renderer2,\n\n @Optional() @Host()\n public formContainer: ControlContainer,\n\n @Self() @Optional()\n private ngtStylizableDirective: NgtStylizableDirective,\n\n @Optional() @SkipSelf()\n private ngtForm: NgtFormComponent,\n\n @Optional() @SkipSelf()\n private ngtSection: NgtSectionComponent,\n\n @Optional() @SkipSelf()\n private ngtModal: NgtModalComponent\n ) {\n super();\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(): void {\n this.renderer.listen(this.element.nativeElement, 'change', (value) => {\n this.onNativeChange(this.element.nativeElement.checked);\n });\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes.mode) {\n this.mode = getEnumFromString(changes.mode.currentValue, NgtCheckboxMode);\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 isSideToggleMode(): boolean {\n return this.mode === NgtCheckboxMode.SIDE_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 disabled(): boolean {\n return this.isDisabled || this.isDisabledByParent();\n }\n\n private isDisabledByParent(): boolean {\n return this.ngtForm?.isDisabled\n || this.ngtSection?.isDisabled\n || this.ngtModal?.isDisabled;\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<label class=\"flex items-center {{ disabled() ? 'cursor-not-allowed opacity-50' : 'cursor-pointer' }}\"\n [class.flex-col]='isToggleMode()' style=\"max-width: max-content;\">\n <input type=\"checkbox\" [name]='name' class=\"hidden\" ([ngModel])='value' [disabled]=\"disabled() || isClickDisabled\"\n #element>\n\n <span *ngIf=\"isToggleMode() && label\" class=\"flex\">\n <span class=\"{{ ngtStyle.compile(['text', 'fontCase']) }} mb-2\">{{ label }}</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n </span>\n\n <ng-container *ngIf=\"isDefaultMode()\">\n <div style=\"transition: background-color .2s ease-out\" class=\"{{ value ? ngtStyle.compile(['color.bg']) : 'bg-white' }} {{ ngtStyle.compile(['h', 'w']) }}\n shadow rounded border border-gray-400 {{ !shining ? 'flex justify-center' : 'hidden' }}\">\n <svg class=\"fill-current self-center text-white pointer-events-none\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\">\n <path d=\"M0 11l2-2 5 5L18 3l2 2L7 18z\" />\n </svg>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isRadioMode()\">\n <div style=\"transition: background-color .2s ease-out\"\n class=\"{{ value ? ngtStyle.compile(['color.border', 'color.text']) : 'border-gray-500' }}\n shadow w-6 h-6 rounded-full border-2 border-gray-400 {{ !shining ? 'flex justify-center' : 'hidden' }}\">\n <svg *ngIf=\"value\" class=\"fill-current self-center h-3\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 29.107 29.107\">\n <path\n d=\"M14.554 0C6.561 0 0 6.562 0 14.552c0 7.996 6.561 14.555 14.554 14.555 7.996 0 14.553-6.559 14.553-14.555C29.106 6.562 22.55 0 14.554 0z\" />\n </svg>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isToggleMode() || isSideToggleMode()\">\n <div class=\"shadow w-14 h-7 rounded-full border border-gray-400 {{ shining ? 'hidden' : 'flex' }}\"\n [class.justify-end]=\"value\" style=\"padding: 1px;\">\n <div *ngIf=\"value\"\n class=\"flex text-sm text-white {{ ngtStyle.compile(['color.bg']) }} pointer-events-none rounded-full px-1.5 py-2\"\n @slideLeftToRight>\n <svg class=\"fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M0 11l2-2 5 5L18 3l2 2L7 18z\" />\n </svg>\n </div>\n\n <div *ngIf=\"!value\" class=\"flex text-xl text-white bg-gray-300 pointer-events-none rounded-full px-1 py-3\"\n @slideRightToLeft>\n <svg class=\"fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path class=\"heroicon-ui\"\n d=\"M16.24 14.83a1 1 0 0 1-1.41 1.41L12 13.41l-2.83 2.83a1 1 0 0 1-1.41-1.41L10.59 12 7.76 9.17a1 1 0 0 1 1.41-1.41L12 10.59l2.83-2.83a1 1 0 0 1 1.41 1.41L13.41 12l2.83 2.83z\" />\n </svg>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf='label && !shining && !isToggleMode()'>\n <span class=\"{{ ngtStyle.compile(['text', 'fontCase']) }} ml-2\">{{ label }}</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n </ng-container>\n</label>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"w-16 h-12\"></ngt-shining>\n </div>\n</ng-container>\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 { NgtCheckboxComponent } from './ngt-checkbox.component';\n\n@NgModule({\n declarations: [NgtCheckboxComponent],\n exports: [NgtCheckboxComponent],\n imports: [\n CommonModule,\n NgtShiningModule,\n NgtHelperModule,\n ]\n})\nexport class NgtCheckboxModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtFormValidationMessageComponent } from './ngt-form-validation-message/ngt-form-validation-message.component';\nimport { NgtFormComponent } from './ngt-form.component';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n NgtFormComponent,\n NgtFormValidationMessageComponent\n ],\n exports: [\n NgtFormComponent,\n NgtFormValidationMessageComponent\n ]\n\n})\nexport class NgtFormModule { }\n","import { Component, Input, Optional } from '@angular/core';\nimport { ControlContainer, UntypedFormControl } from '@angular/forms';\n\nimport { NgtTranslateService } from '../../services/http/ngt-translate.service';\n\n@Component({\n selector: 'ngt-validation',\n templateUrl: './ngt-validation.component.html',\n standalone: false\n})\nexport class NgtValidationComponent {\n @Input() public control: UntypedFormControl;\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","<div type=\"hidden\" class=\"text-xxs text-red-700 font-bold\">\n <span class=\"help-block has-error\" *ngIf=\"control?.errors?.maxlength\">\n {{ ngtTranslateService.ngtValidationMaxCharactersExceded }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.required && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationRequiredField }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.email && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidEmail }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.login && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationLogin }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalid_password && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidPassword }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.unique && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationAlreadyExists }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.cnpj && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidCnpj }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.cpf && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidCpf }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.password && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationPasswordRequiredMinCharacters }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.match && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationFieldsNotMatch }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalidDate && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidDate }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.time && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidPrevision }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.externalServerDependency && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationExternalServerUnavailable }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.minValue && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationValueMustBeGreaterThan(minValue) }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.minlength && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationMinLengthField(minLength) }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalid_custom_validator && (control?.dirty || (container && container['submitted']))\">\n {{ control.errors.invalid_custom_validator }}\n </span>\n</div>","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 { ElementRef } from '@angular/core';\nimport Inputmask from 'inputmask/dist/inputmask.es6.js';\n\nexport enum InputMaskEnum {\n CPF = 'cpf',\n CNPJ = 'cnpj',\n CUIT = 'cuit',\n RUT = 'rut',\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 NUMERIC_STRING = 'numeric-string',\n TIME = 'time',\n INTERNATIONAL_PHONE = 'international-phone',\n DATE = 'date'\n}\n\nexport function applyInputMask(element: ElementRef, mask: InputMaskEnum, parameters?: any): void {\n Inputmask(mask, parameters).mask(element);\n}\n\nexport function removeInputMask(element: ElementRef): void {\n Inputmask.remove(element);\n}\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 TemplateRef,\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 { applyInputMask, InputMaskEnum, removeInputMask } from '../../helpers/input-mask/input-mask.helper';\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 { 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 { NgtSectionComponent } from '../ngt-section/ngt-section.component';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.component';\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 standalone: false\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 @Input() public uppercase: boolean = false;\n @Input() public customInnerContentTemplate: TemplateRef<any>;\n @Input() public helperReverseYPosition: boolean;\n @Input() public helperAutoXReverse: boolean = true;\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 @Input() public useInputEvent: boolean;\n\n //Validations\n @Input() public findExistingResource: NgtHttpFindExistingResourceInterface;\n @Input() public allowPhoneValidation: boolean;\n @Input() public validatePassword: boolean;\n @Input() public passwordableId: string;\n @Input() public passwordPolicyId: string;\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 validateMinValueOnMask: boolean;\n @Input() public externalServerDependency: boolean;\n @Input() public customValidator: () => AsyncValidatorFn;\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 passwordValidatorTimeout: 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 private renderer: Renderer2,\n private changeDetector: ChangeDetectorRef,\n\n @Self() @Optional()\n private ngtStylizableDirective: NgtStylizableDirective,\n\n @Optional() @Host()\n public formContainer: ControlContainer,\n\n @Optional() @SkipSelf()\n private ngtFormComponent: NgtFormComponent,\n\n @Optional() @SkipSelf()\n private ngtValidationService: NgtHttpValidationService,\n\n @Optional() @SkipSelf()\n private ngtResourceService: NgtHttpResourceService,\n\n @Optional() @SkipSelf()\n private ngtForm: NgtFormComponent,\n\n @Optional() @SkipSelf()\n private ngtSection: NgtSectionComponent,\n\n @Optional() @SkipSelf()\n private ngtModal: NgtModalComponent,\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, 'NgtInput', {\n h: 'h-12',\n rounded: 'rounded',\n text: 'text-sm',\n font: 'font-normal',\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 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 this.changeDetector.detectChanges();\n\n setTimeout(() => {\n this.initComponent();\n this.changeDetector.detectChanges();\n\n if (!this.getElementTitle() || this.getElementTitle() === 'null') {\n this.element.nativeElement.parentElement.parentElement.title = '';\n }\n\n this.changeDetector.detectChanges();\n });\n }, 500);\n }\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 onNativeChange() {\n if (this.hasChangesBetweenModels()) {\n this.value = this.removeMasks(this.getNativeValue());\n }\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() || (this.validateMinValueOnMask)) {\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 == InputMaskEnum.CELLPHONE || this.mask == InputMaskEnum.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 setFocus() {\n setTimeout(() => {\n this.element.nativeElement.focus();\n }, 200);\n }\n\n public clearInput(event?: Event) {\n if (event) {\n event.stopPropagation();\n }\n\n this.element.nativeElement.value = '';\n this.value = '';\n\n this.markAsPristine();\n }\n\n public restorePlaceholder(): void {\n setTimeout(() => this.element.nativeElement.placeholder = this.placeholder);\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 getInputPaddings() {\n let paddingClass: string = '';\n\n if (this.innerLeftIcon || this.customInnerContentTemplate) {\n paddingClass += 'pl-10 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-10 ';\n } else {\n paddingClass += 'pr-8 ';\n }\n }\n\n return paddingClass;\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 public hasFocus(): boolean {\n return document.activeElement === this.element.nativeElement;\n }\n\n public disabled(): boolean {\n return this.isDisabled || this.isDisabledByParent();\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 if (this.type == 'login' && this.hasEmailServiceValidation()) {\n asyncValidators.push(this.emailValidator(true));\n }\n\n if (this.type == 'password' && this.validatePassword && this.hasPasswordValidation()) {\n asyncValidators.push(this.passwordValidator());\n }\n\n if (this.customValidator) {\n asyncValidators.push(this.customValidator());\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 removeInputMask(this.element.nativeElement);\n\n return this.clearInput();\n }\n\n let masks = {\n [InputMaskEnum.CPF]: {\n mask: ['999.999.999-99'],\n showMaskOnHover: false\n },\n [InputMaskEnum.CNPJ]: {\n mask: ['99.999.999/9999-99'],\n showMaskOnHover: false\n },\n [InputMaskEnum.CUIT]: {\n mask: ['99-99999999-9'],\n clearMaskOnLostFocus: false\n },\n [InputMaskEnum.RUT]: {\n mask: ['999999999999'],\n clearMaskOnLostFocus: false\n },\n [InputMaskEnum.CPF_CNPJ_RUT]: {\n mask: ['999.999.999-99', '999999999999', '99.999.999/9999-99'],\n keepStatic: true,\n showMaskOnHover: false\n },\n [InputMaskEnum.CPF_CNPJ]: {\n mask: ['999.999.999-99', '99.999.999/9999-99'],\n keepStatic: true,\n showMaskOnHover: false\n },\n [InputMaskEnum.DECIMAL]: {\n digits: this.decimalMaskPrecision,\n groupSeparator: '.',\n radixPoint: ',',\n autoGroup: true,\n repeat: 16,\n rightAlign: false,\n max: this.maxValue,\n showMaskOnHover: false\n },\n [InputMaskEnum.CELLPHONE]: {\n mask: ['(99) 999-999', '(99) 9999-9999', '(99) 99999-9999'],\n keepStatic: true,\n showMaskOnHover: false\n },\n [InputMaskEnum.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 showMaskOnHover: false\n },\n [InputMaskEnum.PLATE]: {\n mask: ['AAA-9&99'],\n keepStatic: true,\n showMaskOnHover: false\n },\n [InputMaskEnum.CEP]: {\n mask: ['99999-999'],\n showMaskOnHover: false\n },\n [InputMaskEnum.INTEGER]: {\n max: this.maxValue,\n min: this.validateMinValueOnMask ? this.minValue : undefined,\n rightAlign: false,\n showMaskOnHover: false\n },\n [InputMaskEnum.NUMERIC_STRING]: {\n regex: \"[0-9]*\",\n showMaskOnHover: false\n },\n [InputMaskEnum.TIME]: '99:99',\n };\n\n if (this.mask == InputMaskEnum.DECIMAL) {\n applyInputMask(this.element.nativeElement, InputMaskEnum.DECIMAL, masks[this.mask]);\n } else if (this.mask == InputMaskEnum.INTEGER) {\n applyInputMask(this.element.nativeElement, InputMaskEnum.INTEGER, masks[this.mask]);\n } else {\n applyInputMask(this.element.nativeElement, masks[this.mask]);\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 customText: {\n htmlType: \"text\",\n length: this.maxLength\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(isLoginValidation: boolean = false): AsyncValidatorFn {\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)\n .then((response: NgtHttpValidationResponse) => {\n this.loading = false;\n\n if (isLoginValidation) {\n resolve(response.valid ? { 'login': true } : null);\n }\n\n resolve(response.valid ? null : { 'email': true });\n })\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 passwordValidator(): AsyncValidatorFn {\n return (control: AbstractControl) => {\n if (this.passwordValidatorTimeout) {\n clearTimeout(this.passwordValidatorTimeout);\n }\n\n if (this.value) {\n return new Promise((resolve) => {\n this.passwordValidatorTimeout = setTimeout(() => {\n this.loading = true;\n\n this.ngtValidationService.passwordValidation(this.value, this.passwordableId, this.passwordPolicyId)\n .then((response: NgtHttpValidationResponse) => {\n this.loading = false;\n\n resolve(response.valid ? null : { 'invalid_password': true });\n })\n .catch(() => {\n this.loading = false;\n\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\" || this.mask == \"cuit\") {\n value = (value + \"\")\n .replace(/[^\\d]/g, '');\n } else if (\n this.mask == InputMaskEnum.CELLPHONE\n || this.mask == InputMaskEnum.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 hasPasswordValidation(): boolean {\n return typeof this.ngtValidationService?.passwordValidation === 'function';\n }\n\n private isDisabledByParent(): boolean {\n return this.ngtForm?.isDisabled\n || this.ngtSection?.isDisabled\n || this.ngtModal?.isDisabled;\n }\n\n private hasChangesBetweenModels(): boolean {\n return this.removeMasks(this.getNativeValue()) !== this.value;\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<label *ngIf=\"label\" class=\"mb-2 flex {{ ngtStyle.compile(['color.text', 'text', 'font']) }}\" [hidden]='shining'>\n <span class=\"truncate\" [title]=\"label\">\n {{ label }}:\n </span>\n\n <span *ngIf=\"isRequired\" class=\"text-red-500 font-bold text-md ml-1\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [helperReverseYPosition]=\"helperReverseYPosition\" [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n <span [innerHtml]=\"helpText\"></span>\n </ngt-helper>\n</label>\n\n<div class=\"{{ shining ? 'hidden' : 'flex relative'}}\">\n <input autocomplete=\"new-password\"\n class=\"flex border appearance-none focus:outline-none leading-tight w-full {{ getInputPaddings() }} {{ ngtStyle.compile(['h', 'text', 'color.border', 'color.bg', 'color.text', 'rounded', 'cursor']) }}\"\n [disabled]=\"disabled()\" [readonly]=\"isReadonly || loading\" [placeholder]=\"placeholder\"\n [style]=\"uppercase ? 'text-transform: uppercase!important':''\"\n [ngClass]=\"{'input-has-error border-red-700': formControl?.errors && (formControl?.dirty || (formContainer && formContainer['submitted']))}\"\n [attr.type]=\"inputProperties.htmlType\" (mouseleave)=\"restorePlaceholder()\" (focusout)=\"restorePlaceholder()\"\n (input)=\"useInputEvent ? onNativeChange() : null\" (change)=\"!useInputEvent ? onNativeChange() : null\" #element>\n <span *ngIf=\"innerLeftIcon\"\n class=\"absolute self-center px-2 {{ innerLeftIconColor }} {{ onClickLeftIcon ? 'cursor-pointer' : '' }}\"\n (click)=\"onClickLeftIcon.emit()\">\n\n <ngt-svg *ngIf=\"!showRoundedIcon\" class=\"text-xs fill-current\" [src]='innerLeftIcon'></ngt-svg>\n <img *ngIf=\"showRoundedIcon\" class=\"rounded-full h-4\" [src]='innerLeftIcon'>\n </span>\n\n <div *ngIf=\"customInnerContentTemplate\" class=\"absolute self-center px-2\">\n <ng-container [ngTemplateOutlet]=\"customInnerContentTemplate\"></ng-container>\n </div>\n\n <div class=\"flex absolute h-full justify-end right-0 w-auto\">\n <span *ngIf=\"!disabled() && allowClear && value && !loading\"\n class=\"self-center right-0 px-2 text-red-400 cursor-pointer\" (click)='clearInput($event)'>\n <svg class=\"fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M19.1 17.2l-5.3-5.3 5.3-5.3-1.8-1.8-5.3 5.4-5.3-5.3-1.8 1.7 5.3 5.3-5.3 5.3L6.7 19l5.3-5.3 5.3 5.3 1.8-1.8z\" />\n </svg>\n </span>\n\n <span *ngIf=\"loading\" class=\"self-center right-0 px-2 text-gray-500\">\n <div class=\"div-loader\"></div>\n </span>\n\n <span *ngIf=\"type == 'password' && value\" class=\"self-center px-2 cursor-pointer\">\n <svg *ngIf=\"element.type == 'password'\" class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\" (click)='showPassword()'>\n <path\n d=\"M.2 10a11 11 0 0 1 19.6 0A11 11 0 0 1 .2 10zm9.8 4a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm0-2a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n\n <svg *ngIf=\"element.type == 'text'\" class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\" (click)='hidePassword()'>\n <path\n d=\"M12.81 4.36l-1.77 1.78a4 4 0 0 0-4.9 4.9l-2.76 2.75C2.06 12.79.96 11.49.2 10a11 11 0 0 1 12.6-5.64zm3.8 1.85c1.33 1 2.43 2.3 3.2 3.79a11 11 0 0 1-12.62 5.64l1.77-1.78a4 4 0 0 0 4.9-4.9l2.76-2.75zm-.25-3.99l1.42 1.42L3.64 17.78l-1.42-1.42L16.36 2.22z\" />\n </svg>\n </span>\n\n <span *ngIf=\"innerRightIcon && type != 'password'\"\n class=\"self-center px-2 {{ innerRightIconColor }} {{ onClickRightIcon ? 'cursor-pointer' : '' }}\"\n (click)=\"onClickRightIcon.emit()\">\n <ngt-svg class=\"text-xxs fill-current\" [src]='innerRightIcon'></ngt-svg>\n </span>\n </div>\n</div>\n\n<ng-container *ngIf=\"showCharactersLength && maxTotalCharsCount && !shining\">\n <p class=\"text-xxs mt-1\">\n {{ ngtTranslateService.ngtTextAreaRemainingCharacters }}:\n <span class=\"font-semibold\">{{ getRemainingCharacters() }}</span>\n </p>\n</ng-container>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"{{ ngtStyle.compile(['h']) }} w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<input *ngIf='componentReady' type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n\n<ng-content></ng-content>\n\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\" [minValue]='minValue' [minLength]='minLength'>\n</ngt-validation>\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 { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\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 { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ngt-select-option]',\n standalone: false\n})\nexport class NgtSelectOptionTmp {\n public constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({\n selector: '[ngt-select-option-selected]',\n standalone: false\n})\nexport class NgtSelectOptionSelectedTmp {\n public constructor(public template: TemplateRef<any>) { }\n}\n\n@Directive({\n selector: '[ngt-select-header]',\n standalone: false\n})\nexport class NgtSelectHeaderTmp {\n public constructor(public template: TemplateRef<any>) { }\n}\n","export function delay(ms: number) {\n return new Promise(resolve => setTimeout(resolve, ms));\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 { DropdownPosition, 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 { NgtSectionComponent } from '../ngt-section/ngt-section.component';\nimport { NgtSelectHeaderTmp, NgtSelectOptionSelectedTmp, NgtSelectOptionTmp } from './ngt-select.directive';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.component';\nimport { delay } from '../../helpers/promise/promise-helper';\n\nexport enum NgtSelectDropdownPanelHeight {\n AUTO = 'auto',\n XS = 'xs',\n MD = 'md',\n SM = 'sm',\n LG = 'lg',\n XL = 'xl'\n}\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 standalone: false\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 @Input() public helperReverseYPosition: boolean;\n @Input() public helperAutoXReverse: boolean = true;\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 autoSelectUniqueOption: boolean = false;\n @Input() public groupValue: (groupKey: string, cildren: any[]) => Object;\n @Input() public trackBy: (item: any) => any;\n @Input() public sortSelectedItemsFn: (a: any, b: any) => any;\n @Input() public isAllowedToRemoveFn: (a: any) => boolean;\n\n /** Validation */\n @Input() public isRequired: boolean = false;\n\n @Output() public onLoadRemoteResource: EventEmitter<any> = new EventEmitter<any>();\n @Output() public onSelectedItemRemove: EventEmitter<any> = new EventEmitter<any>();\n @Output() public onClear: EventEmitter<void> = new EventEmitter<void>();\n @Output() public onClose: 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\n @Optional() @Host()\n public formContainer: ControlContainer,\n\n @Optional()\n public ngtTranslateService: NgtTranslateService,\n\n private injector: Injector,\n private ngtHttp: NgtHttpService,\n private changeDetector: ChangeDetectorRef,\n\n @Optional() @SkipSelf()\n private ngtForm: NgtFormComponent,\n\n @Optional() @SkipSelf()\n private ngtSection: NgtSectionComponent,\n\n @Optional() @SkipSelf()\n private ngtModal: NgtModalComponent\n ) {\n super();\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 this.bindSubscriptions();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\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 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 onOpen(): void {\n const parentElements = document.querySelectorAll('#ngtSelectParentContainer');\n\n if (this.dropdownPosition == 'auto' && parentElements?.length) {\n const parentContainer = parentElements[parentElements.length - 1];\n\n this.calculateDropdownPosition(parentContainer);\n }\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 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.cantRemoveItem(item.value)) {\n setTimeout(() => this.ngSelectComponent.select(item));\n\n return;\n }\n\n this.onSelectedItemRemove.emit(item.value);\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 itemSearchFn = (term: string, item: any) => {\n if (this.remoteResource) {\n return null;\n }\n\n let formattedValue;\n\n if (typeof item == 'string') {\n formattedValue = item;\n }\n\n if (!this.bindLabel) {\n return null;\n }\n\n if (typeof item['getAttribute'] == 'function') {\n formattedValue = item.getAttribute([this.bindLabel]);\n } else if (typeof item == 'object') {\n formattedValue = item[this.bindLabel];\n }\n\n return formattedValue\n ? formattedValue.toLocaleLowerCase().includes(term.toLocaleLowerCase())\n : null;\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 if (this.canAutoSelectUniqueOption(response)) {\n this.onNativeChange(response.data[0]);\n }\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): void {\n if (this.hasChangesBetweenModels(this.value, value)) {\n this.value = this.sortSelectedItems(value);\n }\n }\n\n public change(value): void {\n if (this.hasChangesBetweenModels(value, this.nativeValue)) {\n if (Array.isArray(value)) {\n value = value.map((val) => val);\n }\n\n this.nativeValue = this.sortSelectedItems(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 cantRemoveItem(itemValue: any): boolean {\n return (!this.allowOriginalItemsUnselect && this.hadPreviousSelection(itemValue))\n || (this.isAllowedToRemoveFn && !this.isAllowedToRemoveFn(itemValue));\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.disabled()) {\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 public disabled(): boolean {\n return this.isDisabled || this.isDisabledByParent();\n }\n\n private async calculateDropdownPosition(parentContainer: Element): Promise<void> {\n while (!this.componentReady || this.loading || this.ngSelectComponent.showNoItemsFound()) {\n await delay(200);\n\n if (this.ngSelectComponent.showNoItemsFound() && !this.loading && this.componentReady) {\n break;\n }\n }\n\n this.changeDetector.detectChanges();\n\n setTimeout(() => {\n const ngSelectElement = this.ngSelectComponent.element;\n const ngSelectHeight = ngSelectElement.offsetHeight;\n const ngSelectYPosition = ngSelectElement.getBoundingClientRect().y;\n\n const dropdownHeight = this.ngSelectComponent.dropdownPanel.contentElementRef.nativeElement.offsetHeight;\n const openedSelectHeight = ngSelectHeight + dropdownHeight;\n\n const parentYPosition = parentContainer.getBoundingClientRect().y;\n const ngSelectYPositionInsideParent = ngSelectYPosition - parentYPosition;\n\n const openedSelectTotalHeight = openedSelectHeight + ngSelectYPositionInsideParent;\n const parentContainerHeight = parentContainer.clientHeight;\n\n const fitsOnTop = openedSelectHeight < ngSelectYPositionInsideParent;\n const fitsOnBottom = openedSelectTotalHeight < parentContainerHeight;\n\n const dropdownPosition: DropdownPosition = !fitsOnBottom && fitsOnTop\n ? 'top'\n : 'bottom';\n\n (<any>this.ngSelectComponent.dropdownPanel['_currentPosition']) = dropdownPosition;\n\n this.ngSelectComponent.dropdownPanel['_updateDropdownClass'](dropdownPosition);\n });\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 if (this.canAutoSelectUniqueOption()) {\n this.onNativeChange(this.items[0]);\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 sortSelectedItems(value: any): any {\n if (this.sortSelectedItemsFn && value instanceof Array && value.length > 1) {\n return value.sort((a, b) => this.sortSelectedItemsFn(a, b));\n }\n\n return value;\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.disabled() && this.wasClicked);\n }\n\n private canAutoSelectUniqueOption(response?: NgtHttpResponse): boolean {\n return !this.value && this.autoSelectUniqueOption\n && (\n (Array.isArray(response?.data) && response?.data?.length === 1)\n || (!response && Array.isArray(this.items) && this.items?.length == 1)\n );\n }\n\n private bindSubscriptions(): void {\n if (this.ngtForm) {\n this.shining = this.ngtForm.isShining();\n\n this.subscriptions.push(\n this.ngtForm.onShiningChange.subscribe((shining: boolean) => {\n this.shining = shining;\n })\n );\n }\n\n this.changeDetector.detectChanges();\n }\n\n private isDisabledByParent(): boolean {\n return this.ngtForm?.isDisabled\n || this.ngtSection?.isDisabled\n || this.ngtModal?.isDisabled;\n }\n\n private destroySubscriptions(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<label *ngIf=\"label\" [hidden]='shining'\n class=\"{{ shining ? '' : 'block' }} {{ ngtStyle.compile(['color.text', 'text', 'font', 'fontCase']) }} mb-2 flex\">\n <ngt-svg *ngIf=\"labelIcon\" class=\"mr-1 {{labelIconColor}}\" src=\"{{labelIcon}}\"></ngt-svg>\n \n <span class=\"truncate\" [title]=\"label\">\n {{ label }}:\n </span>\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [helperReverseYPosition]=\"helperReverseYPosition\" [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<div [hidden]='shining' class=\"{{ ngtStyle.compile(['text']) }} {{ getSelectClass() }} normal-case\"\n style=\"min-height: 2.5rem;\">\n <ng-select class=\"custom\" [(ngModel)]='nativeValue' [name]='nativeName' [addTag]='allowCreate'\n [addTagText]=\"createText || ngtTranslateService.ngtSelectCreateText\" [bindLabel]=\"bindLabel\"\n [multiple]=\"multiple\" [hideSelected]=\"hideSelected\" [typeahead]=\"typeahead\"\n [notFoundText]=\"notFoundText || ngtTranslateService.ngtSelectNotFoundText\" [searchable]=\"searchable\"\n [searchFn]=\"itemSearchFn\" [disabled]='disabled() || isReadonly' [clearable]=\"clearable && hasSelectedValue()\"\n [closeOnSelect]=\"closeOnSelect\" [trackByFn]=\"trackBy\" [labelForId]=\"labelForId\"\n [typeToSearchText]=\"typeToSearchText || ngtTranslateService.ngtSelectTypeToSearchText\"\n [placeholder]=\"placeholder || ngtTranslateService.ngtSelectPlaceholder\" [dropdownPosition]=\"dropdownPosition\"\n [groupBy]=\"groupBy\" [clearAllText]=\"clearAllTooltip || ngtTranslateService.ngtSelectClearAllTooltip\"\n [clearSearchOnAdd]=\"clearSearchOnAdd\" [bindValue]=\"bindValue\" [virtualScroll]=\"virtualScroll\"\n [loadingText]=\"loadingText || ngtTranslateService.ngtSelectLoadingText\" [maxSelectedItems]=\"maxSelectedItems\"\n [tabIndex]=\"tabIndex\" [items]=\"ngSelectItems | async\" [groupValue]=\"groupValue\" [loading]=\"loading\"\n [compareWith]='compareWith' [inputAttrs]=\"inputAttrs\" (scroll)=\"onScroll($event)\" (close)=\"onClose.emit()\"\n (change)=\"onNativeChange($event)\" (clear)='onClearSelect()' (remove)='onRemoveSelectedItem($event)'\n (open)=\"onOpen()\" (click)=\"wasClicked = true\">\n\n <ng-template *ngIf='ngtSelectHeaderTemplate' ng-header-tmp>\n <ng-template [ngTemplateOutlet]=\"ngtSelectHeaderTemplate\">\n </ng-template>\n </ng-template>\n\n <ng-template ng-label-tmp let-item=\"item\">\n <div class=\"flex w-full items-center pr-1\">\n <ng-container *ngIf=\"multiple && !cantRemoveItem(item)\">\n <div class=\"ng-value-icon px-1 h-full border-r mr-2 {{ ngtStyle.compile(['color.text', 'text']) }} cursor-pointer\"\n (click)='removeItem($event, item)'>\n <svg class=\"ng-value-icon fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\">\n <path\n d=\"M19.1 17.2l-5.3-5.3 5.3-5.3-1.8-1.8-5.3 5.4-5.3-5.3-1.8 1.7 5.3 5.3-5.3 5.3L6.7 19l5.3-5.3 5.3 5.3 1.8-1.8z\" />\n </svg>\n </div>\n </ng-container>\n\n <ng-template *ngIf='ngtOptionSelectedTemplate' [ngTemplateOutlet]=\"ngtOptionSelectedTemplate\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-template>\n\n <ng-template *ngIf='!ngtOptionSelectedTemplate' [ngTemplateOutlet]=\"ngtOptionTemplate\"\n [ngTemplateOutletContext]=\"{ item: item }\">\n </ng-template>\n </div>\n </ng-template>\n\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"ngtOptionTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, index: index, searchTerm: search }\">\n </ng-template>\n </ng-template>\n </ng-select>\n</div>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"{{ ngtStyle.compile(['h']) }} w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>\n\n<input *ngIf='componentReady' type='hidden' [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">","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 { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\nimport { NgtValidationModule } from '../ngt-validation/ngt-validation.module';\nimport { NgtSelectComponent } from './ngt-select.component';\nimport { NgtSelectHeaderTmp, NgtSelectOptionSelectedTmp, NgtSelectOptionTmp } from './ngt-select.directive';\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 standalone: false\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-6',\n w: 'w-6',\n color: {\n text: 'text-white',\n bg: 'bg-gray-700'\n }\n });\n\n this.ngtPaginationNextPreviousSectionButtonStyle.load(this.injector, 'NgtPaginationNextPreviousButton', {\n h: 'h-6',\n w: 'w-6',\n color: {\n text: 'text-white',\n bg: 'bg-gray-300'\n }\n });\n\n this.ngtPaginationFirstLastButtonStyle.load(this.injector, 'NgtPaginationFirstLastButton', {\n h: 'h-6',\n w: 'w-6',\n color: {\n text: 'text-white',\n bg: 'bg-gray-900'\n }\n });\n\n this.ngtPaginationActivePageButtonStyle.load(this.injector, 'NgtPaginationActivePageButton', {\n h: 'h-6',\n w: 'w-6',\n color: {\n text: 'text-white',\n bg: 'bg-gray-500'\n }\n });\n\n this.ngtPaginationPageButtonStyle.load(this.injector, 'NgtPaginationPageButton', {\n h: 'h-6',\n w: 'w-6',\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;\n this.displayNextSectionButton = sectionEndPage < totalPages;\n }\n}\n","<div class=\"{{ displayPagination ? 'flex' : 'hidden' }} items-center w-full h-full relative\">\n <ul class=\"flex justify-start\">\n <!-- FIRST -->\n <li (click)='goToFirstPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationFirstLastButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\" focusable=\"false\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path\n d=\"M18.41 7.41L17 6l-6 6l6 6l1.41-1.41L13.83 12l4.58-4.59m-6 0L11 6l-6 6l6 6l1.41-1.41L7.83 12l4.58-4.59z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- PREVIOUS -->\n <li (click)='goToPreviousPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path d=\"M15.41 16.58L10.83 12l4.58-4.59L14 6l-6 6l6 6l1.41-1.42z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- PREVIOUS SECTION -->\n <li *ngIf=\"displayPreviousSectionButton\" (click)='goToPreviousSection()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousSectionButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path\n d=\"M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n </ngt-action>\n </li>\n\n <ng-container *ngFor='let page of pages'>\n <ng-container *ngIf='page == pagination.page'>\n <li class=\"mr-2\">\n <ngt-action class=\"text-xs\" [ngtStyle]='ngtPaginationActivePageButtonStyle' [forceEnable]=\"true\">\n {{ page }}\n </ngt-action>\n </li>\n </ng-container>\n\n <ng-container *ngIf='page !== pagination.page'>\n <li (click)='goToPage(page)' class=\"mr-2\">\n <ngt-action class=\"text-xs\" [ngtStyle]='ngtPaginationPageButtonStyle' [forceEnable]=\"true\">\n {{ page }}\n </ngt-action>\n </li>\n </ng-container>\n\n </ng-container>\n\n <!-- NEXT SECTION -->\n <li *ngIf=\"displayNextSectionButton\" (click)='goToNextSection()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousSectionButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path\n d=\"M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- NEXT -->\n <li (click)='goToNextPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path d=\"M8.59 16.58L13.17 12L8.59 7.41L10 6l6 6l-6 6l-1.41-1.42z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- LAST -->\n <li (click)='goToLastPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationFirstLastButtonStyle' [forceEnable]=\"true\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\" focusable=\"false\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path\n d=\"M5.59 7.41L7 6l6 6l-6 6l-1.41-1.41L10.17 12L5.59 7.41m6 0L13 6l6 6l-6 6l-1.41-1.41L16.17 12l-4.58-4.59z\" />\n </svg>\n </ngt-action>\n </li>\n </ul>\n\n <!-- REGISTERS PER PAGE -->\n <div class=\"flex items-center w-auto absolute right-0\">\n <ngt-select class='block w-20 left-0' [searchable]='false' [clearable]='false' dropdownPosition='top'\n [items]='registersPerPageOptions' name='registersPerPageSelect' [(ngModel)]=\"currentRegistersPerPage\"\n h='h-auto' (ngModelChange)='onRegistersPerPageChange($event)' ngt-stylizable>\n <ng-template let-item=\"item\" let-index=\"index\" ngt-select-option>\n {{ item ? item : '' }}\n </ng-template>\n </ngt-select>\n\n <P class=\"text-xs ml-2\">\n {{ ngtTranslateService.ngtPagination(pagination.from, pagination.to, pagination.total) }}\n </P>\n </div>\n</div>\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 standalone: false\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","<button type=\"button\"\n class=\"rounded-full w-full cursor-pointer font-semibold focus:outline-none block px-4 text-xs {{ ngtStyle.compile(['color.bg', 'color.text']) }}\">\n <span class=\"flex items-center justify-center\">\n <ng-content></ng-content>\n <ngt-svg *ngIf=\"icon\" [src]='icon' class=\"fill-current self-center pl-1\"></ngt-svg>\n\n <span *ngIf=\"!icon\" class=\"text-sm\">\n <svg class=\"fill-current self-center pl-1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\">\n <path\n d=\"M15 3C8.373 3 3 8.373 3 15s5.373 12 12 12 12-5.373 12-12S21.627 3 15 3zm4.707 15.293a.999.999 0 11-1.414 1.414L15 16.414l-3.293 3.293a.997.997 0 01-1.414 0 .999.999 0 010-1.414L13.586 15l-3.293-3.293a.999.999 0 111.414-1.414L15 13.586l3.293-3.293a.999.999 0 111.414 1.414L16.414 15l3.293 3.293z\" />\n </svg>\n </span>\n </span>\n</button>\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';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\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\n@Component({\n selector: 'ngt-datatable',\n templateUrl: './ngt-datatable.component.html',\n styleUrls: ['./ngt-datatable.component.css'],\n standalone: false\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 @Input() public canSelectAllRegisters: boolean = false;\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 onSelectAllRegisters: EventEmitter<void> = 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 hasSelectedAllElements: boolean;\n public selectedElements: Array<NgtCheckedElement> = [];\n\n public filterModalStyle: NgtStylizableService = new NgtStylizableService();\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 this.filterModalStyle.load(this.injector, 'FilterModal', {\n w: 'md:max-w-md',\n py: 'py-4',\n px: 'px-6',\n border: 'border border-teal-500',\n overflow: 'overflow-visible',\n color: {}\n });\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 async removeFilter(reference?: string, refresh: boolean = true): Promise<void> {\n return new Promise(resolve => {\n if (reference && !this.hasAppliedFilter(reference)) {\n return resolve();\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 return this.apply(this.ngtPagination.getCurrentPage(), false)\n .then(() => {\n this.cleaningFilter = false;\n\n resolve();\n });\n }\n\n resolve();\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 public getTagFilterValue(filter: any): string {\n const filtersTag = this.getFiltersTagArray(filter);\n\n return filtersTag.length > 1\n ? filtersTag[0] + \" +\"\n : filtersTag[0];\n }\n\n public getTitle(filter: any): string {\n const filtersTag = this.getFiltersTagArray(filter);\n\n return filtersTag.length > 1\n ? filtersTag.slice(1).join(\",\")\n : '';\n }\n\n private getFiltersTagArray(filter: any): string[] {\n const tag = filter?.value?.tagValue ? filter.value.tagValue : filter.value;\n\n return tag.split(\",\");\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\n if (response.meta) {\n this.ngtPagination.proccessPagination(response.meta);\n }\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 if (Object.prototype.hasOwnProperty.call(requestedFilters, reference)) {\n const filter = requestedFilters[reference];\n\n if (this.isValidFilter(filter, reference)) {\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\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 this.subscriptions.push(\n this.onSelectAllRegisters.subscribe(() => {\n this.hasSelectedAllElements = !this.hasSelectedAllElements;\n\n if (!this.hasSelectedAllElements) {\n this.selectedElements = [];\n }\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], reference)) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n private isValidFilter(filter: string | NgtCustomFilter, reference: string): boolean {\n const hasValue: boolean = !!((filter instanceof NgtCustomFilter && filter.term) || filter);\n const isApplied: boolean = this.hasAppliedFilter(reference);\n\n return isApplied || (!isApplied && hasValue);\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<div class=\"w-full\">\n <div class=\"flex flex-wrap w-full\">\n <ngt-tag *ngIf=\"hasAppliedFilters()\" class=\"w-full sm:w-auto {{ filterTagMargin }}\"\n [class.sm:mr-4]=\"filterTagMargin == 'mb-4'\" color.bg=\"bg-red-500\" (click)=\"removeFilter()\" ngt-stylizable>\n Limpar Filtros\n </ngt-tag>\n\n <ng-container *ngIf=\"hasAppliedFilters()\">\n <ng-container *ngFor=\"let filter of filtersTranslated\">\n <ngt-tag class=\"w-full sm:w-auto {{ filterTagMargin }}\" [class.sm:mr-4]=\"filterTagMargin == 'mb-4'\"\n [color.bg]=\"filterTagBgColor\" (click)=\"removeFilter(filter.reference)\" ngt-stylizable\n [title]=\"getTitle(filter)\">\n {{ filter.translation + ': ' + getTagFilterValue(filter) }}\n </ngt-tag>\n </ng-container>\n </ng-container>\n </div>\n\n <table style=\"display: table;\" class=\"text-left w-full border-collapse table-responsive\" #table>\n <ng-content></ng-content>\n </table>\n\n <p *ngIf=\"emptyStateVisible\" class=\"mt-8 mx-auto self-center text-center text-xl\">\n {{ ngtTranslateService.ngtDatatableNoDataFound }}\n </p>\n\n <div *ngIf=\"loading\">\n <div *ngFor=\"let i of [1, 2, 3, 4]\" class=\"flex w-full mt-3\">\n <ng-container *ngIf=\"columnCount.length >= 2\">\n <ng-container *ngFor=\"let j of columnCount; let last = last\">\n <ng-container *ngIf=\"last\">\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n </ng-container>\n\n <ng-container *ngIf=\"!last\">\n <ngt-shining class=\"h-10 w-full mr-10\"></ngt-shining>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"columnCount.length < 2\">\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n <ngt-shining class=\"h-10 w-full mr-10 ml-10\"></ngt-shining>\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n </ng-container>\n </div>\n </div>\n</div>\n\n<div class=\"clearfix {{ paginationMargin }}\" [hidden]='!data || data.length == 0'>\n <ngt-pagination [pagesInterval]='4' (onPageChange)='apply($event, false)' (onPerPageChange)='apply(1, false)'\n #ngtPagination>\n </ngt-pagination>\n</div>\n\n<ngt-modal [customLayout]=\"true\" [isDisabled]=\"false\" [ngtStyle]=\"filterModalStyle\" #searchModal>\n <ng-container *ngTemplateOutlet=\"searchModalTemplate\"></ng-container>\n</ngt-modal>","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 standalone: false\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","<ng-content></ng-content>","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 standalone: false\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","<ngt-checkbox [(ngModel)]='checked' [isDisabled]=\"isDisabled\" (ngModelChange)='onCheckboxChange($event)'></ngt-checkbox>\n<ng-content></ng-content>","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 standalone: false\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-5',\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","<ng-content></ng-content>","import {\n AfterContentInit, Component, ElementRef, Injector, OnDestroy, Optional, Self, SkipSelf, ViewChild\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NgtTranslateService } from '../../../services/http/ngt-translate.service';\n\nimport { NgtStylizableDirective } from '../../../directives/ngt-stylizable/ngt-stylizable.directive';\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-th-check]',\n templateUrl: './ngt-th-check.component.html',\n standalone: false\n})\nexport class NgtThCheckComponent implements AfterContentInit, OnDestroy {\n @ViewChild(NgtCheckboxComponent) public ngtCheckbox: NgtCheckboxComponent;\n\n public checked = false;\n public ngtStyle: NgtStylizableService;\n public hasSelectedAllCheckboxes: boolean;\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private injector: Injector,\n private hostElement: ElementRef,\n\n @Self() @Optional()\n private ngtStylizableDirective: NgtStylizableDirective,\n\n @Optional() @SkipSelf()\n private ngtDataTable: NgtDatatableComponent,\n\n @Optional()\n public ngtTranslateService: NgtTranslateService,\n ) {\n this.bindNgtStyle();\n\n if (this.hasSelectedAllElements()) {\n this.checked = true;\n this.hasSelectedAllCheckboxes = true;\n }\n }\n\n public getSelectAllElementsCheckboxStyle(): string {\n return this.hasSelectedAllElements()\n ? `${this.ngtCheckbox?.ngtStyle.compile(['color.bg'])} text-white`\n : `hover:${this.ngtCheckbox?.ngtStyle.compile(['color.bg'])} hover:text-white bg-white`;\n }\n\n public hasSelectedAllElements(): boolean {\n return this.ngtDataTable?.hasSelectedAllElements;\n }\n\n public canSelectAllFilter(): boolean {\n return this.ngtDataTable?.canSelectAllRegisters;\n }\n\n public getPaginationTotal(): number {\n return this.ngtDataTable?.ngtPagination?.getPagination()?.total;\n }\n\n public onToggleSelectAllElements(): void {\n this.ngtDataTable?.onSelectAllRegisters.emit();\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 this.hasSelectedAllCheckboxes = checked;\n this.checked = checked;\n\n if (!checked && this.hasSelectedAllElements()) {\n this.hasSelectedAllCheckboxes = true;\n this.checked = true;\n }\n }\n }\n\n private bindNgtStyle() {\n if (this.ngtStylizableDirective) {\n this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();\n } else {\n this.ngtStyle = new NgtStylizableService();\n }\n\n this.ngtStyle.load(this.injector, '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","<ng-container *ngIf=\"canSelectAllFilter(); else default\">\n <div class=\"flex items-center content-center relative w-10\">\n <ngt-checkbox [(ngModel)]='checked' (ngModelChange)='onCheckboxChange($event)'\n (click)=\"$event.stopPropagation()\">\n </ngt-checkbox>\n\n <div *ngIf=\"hasSelectedAllCheckboxes\" class=\"rounded-md border border-gray-400 p-1 ml-1 cursor-pointer relative\"\n [ngClass]=\"getSelectAllElementsCheckboxStyle()\"\n [title]=\"hasSelectedAllElements() ? ngtTranslateService.ngtDatatableClearSelection : ngtTranslateService.ngtDatatableSelectAllRegisters\"\n (click)=\"onToggleSelectAllElements()\">\n <svg class=\"fill-current self-center h-4\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\n <path\n d=\"M342.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 178.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l80 80c12.5 12.5 32.8 12.5 45.3 0l160-160zm96 128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 402.7 54.6 297.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l256-256z\" />\n </svg>\n\n <div *ngIf=\"hasSelectedAllElements()\"\n class=\"rounded-xl absolute top-0 text-xs right-0 -mt-5 -mr-2 py-1 px-2 text-center text-white bg-blue-500\">\n {{ getPaginationTotal() }}\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #default>\n <ngt-checkbox [(ngModel)]='checked' (ngModelChange)='onCheckboxChange($event)' (click)=\"$event.stopPropagation()\">\n </ngt-checkbox>\n</ng-template>\n\n<ng-content></ng-content>\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 standalone: false\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 modalWidth: string = 'md:max-w-md';\n @Input() public searchModalOverflow: string = 'overflow-visible';\n @Input() public sortable: boolean;\n @Input() public searchable: boolean;\n @Input() public hasCustomSearch: boolean = false;\n @Input() public searchLabel: string;\n @Input() public searchIcon: 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\n public ngtStyle: NgtStylizableService;\n public filterModalHeaderStyle: NgtStylizableService = new NgtStylizableService();\n public filterModalBodyStyle: NgtStylizableService = new 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.searchModal.ngtStyle.w = this.modalWidth;\n this.ngtDataTable.searchModal.ngtStyle.overflow = this.searchModalOverflow;\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 this.filterModalHeaderStyle.load(this.injector, 'FilterModalHeader', {\n pb: 'pb-3',\n color: {}\n });\n\n this.filterModalBodyStyle.load(this.injector, 'FilterModalBody', {\n px: 'px-0',\n py: 'py-0'\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","<div class=\"flex items-center w-full {{ ngtStyle.compile(['justifyContent']) }}\" [title]=\"getTooltip()\" (click)='sort()'\n [class.cursor-pointer]='sortable'>\n <ng-content></ng-content>\n <ng-container *ngIf='sortable && isCurrentSort'>\n <svg *ngIf=\"sortDirection == 'asc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z\" />\n </svg>\n\n <svg *ngIf=\"sortDirection == 'desc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M10.707 7.05L10 6.343 4.343 12l1.414 1.414L10 9.172l4.243 4.242L15.657 12z\" />\n </svg>\n </ng-container>\n\n <ng-container *ngIf='searchable'>\n <div (click)='enableSearch($event)' class=\"float-right ml-2\" title=\"Filtrar\">\n <ngt-action class=\"text-lg\" h='h-6' w='w-6' [forceEnable]=\"true\" ngt-stylizable>\n <svg class=\"fill-current self-center\" viewBox=\"0 0 1792 1792\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M1595 295q17 41-14 70l-493 493v742q0 42-39 59-13 5-25 5-27 0-45-19l-256-256q-19-19-19-45V858L211 365q-31-29-14-70 17-39 59-39h1280q42 0 59 39z\" />\n </svg>\n </ngt-action>\n </div>\n </ng-container>\n</div>\n\n<ng-template #modal>\n <ngt-modal-header [disableDefaultCloses]=\"ngtDataTable.searchModal.disableDefaultCloses\"\n [ngtStyle]=\"filterModalHeaderStyle\" (onClose)=\"ngtDataTable.searchModal.close()\">\n <ngt-svg *ngIf=\"searchIcon\" [src]=\"searchIcon\" class=\"text-sm\">\n </ngt-svg>\n\n <svg *ngIf=\"!searchIcon\" class=\"fill-current self-center text-sm\" viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.0042 6.84417L11.8042 2.04417V-0.355835H-0.195801V2.04417L4.6042 6.84417V11.6442L7.0042 9.24417V6.84417Z\" />\n </svg>\n\n <span *ngIf=\"searchLabel\" class=\"font-semibold text-sm ml-2\">\n {{ searchLabel }}\n </span>\n\n <ng-content select='[customSearchHeader]'></ng-content>\n </ngt-modal-header>\n\n <ngt-modal-body [isDisabled]=\"false\" [ngtStyle]=\"filterModalBodyStyle\">\n <ngt-input *ngIf=\"!hasCustomSearch\" jit='true' [(ngModel)]='searchTerm' (ngModelChange)='search($event)'\n placeholder='Pesquisar...' name='{{ reference }}_filter' #searchInput>\n </ngt-input>\n\n <div [hidden]='!hasCustomSearch'>\n <ng-content select='[customSearch]'></ng-content>\n </div>\n </ngt-modal-body>\n</ng-template>","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 standalone: false\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","<ng-content></ng-content>","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 standalone: false\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","<ng-content></ng-content>","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 { 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 { NgtSvgModule } from '../ngt-svg/ngt-svg.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 NgtSvgModule\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\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\n@Component({\n selector: 'ngt-floating-button',\n templateUrl: './ngt-floating-button.component.html',\n animations: [\n trigger('fadeY', [\n state('void', style({ opacity: 0, transform: 'translateY(10px)' })),\n transition(':enter, :leave', [\n animate(300)\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 standalone: false\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","<button (click)=\"toggleMenu()\" *ngIf=\"isOpen\" tabindex=\"-1\"\n class=\"fixed z-10 inset-0 h-full w-full bg-black opacity-0 cursor-default\"></button>\n\n<div class=\"{{ ngtStyle.compile(['w']) }} rounded-full relative z-20\" *ngIf=\"isOpen\" @fadeY>\n <ng-container *ngFor=\"let menu of menus; let i = index\">\n <div class=\"my-2 rounded-full shadow-xl\">\n <a *ngIf=\"isTypeNavigation(menu)\" [routerLink]=\"menu.externalLink ? null : menu.url\"\n (click)='menu.externalLink ? openExternalLink(menu.url) : toggleMenu()' title=\"{{ menu.tooltip }}\"\n class=\"{{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text']) }} flex items-center justify-center rounded-full hover:opacity-75\">\n <span *ngIf=\"menu.name\"\n class=\"text-xs font-semibold {{ menu.icon ? 'pr-2' : '' }}\">{{ menu.name }}</span>\n <ngt-svg *ngIf=\"menu.icon\" [src]='menu.icon' class=\"fill-current\"></ngt-svg>\n </a>\n\n <div *ngIf=\"isTypeAction(menu)\" title=\"{{ menu.tooltip }}\" (click)='onClick($event, menu)'\n class=\"{{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text']) }} flex items-center justify-center rounded-full hover:opacity-75 cursor-pointer\">\n <span *ngIf=\"menu.name\"\n class=\"text-xs font-semibold {{ menu.icon ? 'pr-2' : '' }}\">{{ menu.name }}</span>\n <ngt-svg *ngIf=\"menu.icon\" [src]='menu.icon' class=\"fill-current\"></ngt-svg>\n </div>\n </div>\n </ng-container>\n</div>\n\n<!-- Abrir menu -->\n<div (click)=\"toggleMenu()\"\n class=\"flex z-20 justify-center {{ ngtStyle.compile(['h', 'w', 'color.bg', 'color.text', 'px', 'py']) }} focus:outline-none hover:opacity-75 cursor-pointer rounded-full outline-none\">\n <span *ngIf=\"label\"\n class=\"{{ icon ? 'pr-2' : '' }} self-center text-center text-xs font-semibold w-full\">{{ label }}</span>\n <ngt-svg *ngIf=\"icon\" [@openClose]=\"withAnimation ? isOpen ? 'open' : 'closed' : ''\" [src]='icon'\n class=\"fill-current\"></ngt-svg>\n</div>\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\nexport enum NgtSliderColorSchemeEnum {\n PRIMARY = 'primary',\n SUCCESS = 'success',\n WARNING = 'warning',\n DANGER = 'danger'\n};\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 standalone: false\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 isDisabled: boolean;\n @Input() public showPercentageSymbol: 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 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","<div class=\"flex flex-col\">\n <span *ngIf='label && !shining' class=\"text-sm mb-2\">{{ label }}:</span>\n\n <div class=\"{{ shining ? 'hidden' : 'flex' }} items-center\">\n <input class=\"block w-full cursor-pointer overflow-hidden appearance-none bg-gray-400 {{color}}\"\n [class.cursor-not-allowed]=\"isDisabled\" type=\"range\" [name]='name' ([ngModel])='value' [min]='min'\n [max]='max' [step]='step' [disabled]=\"isDisabled\" #element>\n\n <span id='display' class=\"text-xs ml-2 font-semibold\" #display>{{ value }}</span>\n <span *ngIf=\"showPercentageSymbol\" class=\"text-xs font-semibold\">%</span>\n </div>\n</div>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"w-full h-6\"></ngt-shining>\n </div>\n</ng-container>","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 standalone: false\n})\nexport class NgtRadioButtonContainerComponent {\n @Output() public onActiveRadioButtonChange = new EventEmitter();\n\n public setActiveRadioButton(activeRadioButton: NgtRadioButtonComponent) {\n this.onActiveRadioButtonChange.emit(activeRadioButton);\n }\n}\n","<ng-content></ng-content>","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 { NgtSectionComponent } from '../ngt-section/ngt-section.component';\nimport { NgtRadioButtonContainerComponent } from './ngt-radio-button-container/ngt-radio-button-container.component';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.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 standalone: false\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 @Input() public selectedHexColor: string;\n\n @Input() public helpTitle: string;\n @Input() public helpTextColor: string = 'text-green-500';\n @Input() public helpText: string;\n @Input() public helperReverseYPosition: boolean;\n @Input() public helperAutoXReverse: boolean = true;\n\n public ngtStyle: NgtStylizableService;\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private injector: Injector,\n private renderer: Renderer2,\n\n @Self() @Optional()\n private ngtStylizableDirective: NgtStylizableDirective,\n\n @Optional() @SkipSelf()\n private ngtForm: NgtFormComponent,\n\n @Optional() @SkipSelf()\n private ngtSection: NgtSectionComponent,\n\n @Optional() @SkipSelf()\n private ngtModal: NgtModalComponent,\n\n @Optional() @SkipSelf()\n private ngtRadioButtonContainer: NgtRadioButtonContainerComponent,\n\n @Optional() @Host()\n public formContainer: ControlContainer\n ) {\n super();\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 public disabled(): boolean {\n return this.isDisabled || this.isDisabledByParent();\n }\n\n public getStyle(): string {\n let baseStyle = 'width: 20px; height: 20px;';\n\n if (this.selectedHexColor) {\n baseStyle += ` color: ${this.selectedHexColor}`;\n }\n\n return baseStyle;\n }\n\n private isDisabledByParent(): boolean {\n return this.ngtForm?.isDisabled\n || this.ngtSection?.isDisabled\n || this.ngtModal?.isDisabled;\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<label\n class=\"inline-flex items-center {{ disabled() || !isSelectable ? 'cursor-not-allowed opacity-50' : 'cursor-pointer' }}\">\n <input type=\"checkbox\" [name]='name' class=\"hidden\" ([ngModel])='value' [disabled]='disabled() || !isSelectable'\n #element>\n\n <div class=\"{{ value ? ngtStyle.compile(['color.border', 'color.text']) : 'border-gray-500' }}\n shadow rounded-full border border-gray-400 text-sm {{ !shining ? 'flex justify-center items-center' : 'hidden' }}\"\n [style]=\"getStyle()\">\n\n <div style=\"width: 14px; height: 14px;\">\n <svg *ngIf=\"value\" class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 29.107 29.107\">\n\n <path\n d=\"M14.554 0C6.561 0 0 6.562 0 14.552c0 7.996 6.561 14.555 14.554 14.555 7.996 0 14.553-6.559 14.553-14.555C29.106 6.562 22.55 0 14.554 0z\" />\n </svg>\n </div>\n </div>\n\n <span *ngIf='label && !shining' class=\"text-xs ml-2\" [class.line-through]='!isSelectable'>\n {{ label }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" class=\"ml-1\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [autoXReverse]=\"helperAutoXReverse\" [helperReverseYPosition]=\"helperReverseYPosition\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"w-16 h-12\"></ngt-shining>\n </div>\n</ng-container>","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 providers: [\n NgtMakeProvider(NgtTextareaComponent),\n ],\n viewProviders: [\n { provide: ControlContainer, useExisting: NgForm }\n ],\n standalone: false\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 font: 'font-normal',\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","<label class=\"{{ shining ? '' : 'block' }} mb-2 flex {{ ngtStyle.compile(['text', 'font', 'color.text']) }}\"\n *ngIf=\"label\" [hidden]='shining'>\n <span class=\"truncate\" [title]=\"label\">\n {{ label }}:\n </span>\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<div class=\"flex flex-col\">\n <div class=\"{{ shining ? '' : 'flex'}}\" [hidden]='shining'>\n <textarea [rows]='rows' autocomplete=\"new-password\" attr.type=\"text\"\n class=\"appearance-none block border focus:outline-none leading-tight text-xs px-3 py-3 rounded w-full {{ ngtStyle.compile(['h', 'color.border', 'color.bg', 'color.text']) }}\"\n [disabled]=\"isDisabled\" [readonly]=\"isReadonly\" placeholder=\"{{ placeholder ? placeholder : ''}}\"\n [ngClass]=\"{'textarea-has-error border-red-700': formControl?.errors && (formControl?.dirty || (formContainer && formContainer['submitted']))}\"\n #element>\n </textarea>\n </div>\n\n <ng-container *ngIf=\"showCharactersLength && !shining\">\n <p class=\"text-xxs mt-1\">\n {{ ngtTranslateService.ngtTextAreaRemainingCharacters }}: <span class=\"font-semibold\">\n {{ getRemainingCharacters() }}\n </span>\n </p>\n </ng-container>\n</div>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<input *ngIf='componentReady' class=\"text-xs\" type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n\n<ng-content></ng-content>\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>\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 { english } from 'flatpickr/dist/l10n/default.js';\nimport { Portuguese } from 'flatpickr/dist/l10n/pt.js';\nimport moment from 'moment';\nimport { FlatpickrOptions } from 'ev-date-picker';\nimport { EvDatePickerComponent } from 'ev-date-picker/ev-date-picker.component';\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 { applyInputMask, InputMaskEnum } from '../../helpers/input-mask/input-mask.helper';\nimport { uuid } from '../../helpers/uuid';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\nimport { NgtSectionComponent } from '../ngt-section/ngt-section.component';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.component';\n\nexport enum NgtDateLocale {\n BRAZIL = 'BRAZIL',\n US = 'US'\n}\n\nexport enum NgtDateMode {\n SINGLE = 'SINGLE',\n RANGE = 'RANGE'\n}\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 standalone: false\n})\nexport class NgtDateComponent extends NgtBaseNgModel implements OnInit, OnDestroy {\n @ViewChild('evDatePicker', { static: true }) public evDatePicker: EvDatePickerComponent;\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 @Input() public helperReverseYPosition: boolean;\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 @Optional() @Host()\n public formContainer: ControlContainer,\n\n private injector: Injector,\n\n @Self() @Optional()\n private ngtStylizableDirective: NgtStylizableDirective,\n\n @Optional() @SkipSelf()\n private ngtForm: NgtFormComponent,\n\n @Optional() @SkipSelf()\n private ngtSection: NgtSectionComponent,\n\n @Optional() @SkipSelf()\n private ngtModal: NgtModalComponent\n ) {\n super();\n\n if (this.ngtForm) {\n this.shining = this.ngtForm.isShining();\n\n this.subscriptions.push(\n this.ngtForm.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-10',\n text: 'text-xs',\n px: 'px-4',\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 this.evDatePicker.flatpickr['calendarContainer']?.remove();\n\n this.destroySubscriptions();\n }\n\n public clearInput(clearInstance = false) {\n this.value = '';\n this.nativeValue = '';\n\n if (this.evDatePicker && clearInstance) {\n this.evDatePicker.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 let secondValue = moment(value[1]);\n\n if (firstValue.isValid() && secondValue.isValid()) {\n return (<any>this.evDatePicker.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.evDatePicker.flatpickr).setDate(firstValue.format(this.getMomentDateFormat()), true, this.dateFormat);\n }\n\n this.evDatePicker.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 public disabled(): boolean {\n return this.isDisabled || this.isDisabledByParent();\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 applyInputMask(this.evDatePicker.flatpickr['input'], InputMaskEnum.DATE, { mask: '99/99/9999' });\n }\n\n if (this.locale == NgtDateLocale.US) {\n return applyInputMask(this.evDatePicker.flatpickr['input'], InputMaskEnum.DATE, { mask: '9999-99-99' });\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 ? english\n : Portuguese;\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 isDisabledByParent(): boolean {\n return this.ngtForm?.isDisabled\n || this.ngtSection?.isDisabled\n || this.ngtModal?.isDisabled;\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<label *ngIf=\"label\" class=\"{{ shining ? '' : 'block' }} mb-2 {{ngtStyle.compile(['text', 'fontCase'])}} flex\"\n [hidden]='shining'>\n <span class=\"truncate\" [title]=\"label\">\n {{ label }}:\n </span>\n\n <span *ngIf=\"isRequired\" class=\"text-red-500 font-bold text-xxs ml-1\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" class=\"ml-1\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [helperReverseYPosition]=\"helperReverseYPosition\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<div [hidden]=\"shining || disabled() || isReadonly\" class=\"relative\">\n <div class=\"overflow-hidden border {{ ngtStyle.compile(['h', 'color.text', 'px', 'py', 'text', 'rounded', 'color.text', 'color.bg', 'color.border']) }}\"\n [class.border-error]=\"hasErrors()\">\n <ev-date-picker class=\"block h-full w-full\" [config]=\"dateConfig\" disabled=\"true\" [placeholder]=\"placeholder\"\n #evDatePicker>\n </ev-date-picker>\n\n <div *ngIf=\"allowClear && value\"\n class=\"flex h-full absolute items-center right-0 top-0 w-auto cursor-pointer {{ showCalendarIcon ? 'mr-5' : 'mr-2' }}\"\n (click)=\"clearInput(true)\">\n <svg class=\"fill-current text-red-400\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M19.1 17.2l-5.3-5.3 5.3-5.3-1.8-1.8-5.3 5.4-5.3-5.3-1.8 1.7 5.3 5.3-5.3 5.3L6.7 19l5.3-5.3 5.3 5.3 1.8-1.8z\" />\n </svg>\n </div>\n\n <div *ngIf=\"showCalendarIcon\"\n class=\"flex h-full absolute items-center right-0 top-0 w-auto cursor-pointer mr-2\">\n <svg class=\"fill-current text-sm\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M19,4H17V3a1,1,0,0,0-2,0V4H9V3A1,1,0,0,0,7,3V4H5A3,3,0,0,0,2,7V19a3,3,0,0,0,3,3H19a3,3,0,0,0,3-3V7A3,3,0,0,0,19,4Zm1,15a1,1,0,0,1-1,1H5a1,1,0,0,1-1-1V12H20Zm0-9H4V7A1,1,0,0,1,5,6H7V7A1,1,0,0,0,9,7V6h6V7a1,1,0,0,0,2,0V6h2a1,1,0,0,1,1,1Z\" />\n </svg>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"shining\">\n <div class=\"flex\">\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"disabled() || isReadonly\">\n <div\n class=\"{{disabled() ? 'disabledDiv' : ''}} {{ngtStyle.compile(['h'])}} w-full text-xs px-4 rounded appearance-none flex items-center border border-gray-400\">\n {{ getFormattedNativeValue() }}\n </div>\n</ng-container>\n\n<input *ngIf=\"componentReady\" type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n\n<ng-content></ng-content>\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { EvDatePickerModule } from 'ev-date-picker';\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 EvDatePickerModule,\n NgtValidationModule,\n NgtShiningModule,\n NgtHelperModule,\n ]\n})\nexport class NgtDateModule { }\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Self,\n SimpleChanges,\n SkipSelf,\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 { NgtFormComponent } from '../ngt-form/ngt-form.component';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.component';\nimport { NgtSectionComponent } from '../ngt-section/ngt-section.component';\n\n@Component({\n selector: 'ngt-button',\n templateUrl: './ngt-button.component.html',\n styleUrls: ['./ngt-button.component.css'],\n standalone: false\n})\nexport class NgtButtonComponent implements AfterViewInit, OnChanges, OnDestroy {\n @Input() public href: string;\n @Input() public type: string = 'success';\n @Input() public link: boolean;\n @Input() public loading: boolean;\n @Input() public isDisabled: boolean;\n @Input() public forceEnable: boolean;\n @Input() public noSubmit: boolean;\n\n public ngtStyle: NgtStylizableService;\n\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private changeDetector: ChangeDetectorRef,\n private injector: Injector,\n\n @Optional() @SkipSelf()\n private ngtForm: NgtFormComponent,\n\n @Optional() @SkipSelf()\n private ngtSection: NgtSectionComponent,\n\n @Optional() @SkipSelf()\n private ngtModal: NgtModalComponent,\n\n @Self() @Optional()\n 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, 'NgtButton', {\n px: 'px-2',\n py: 'py-1',\n text: 'text-xs',\n font: 'font-normal',\n w: 'w-full',\n h: 'h-full',\n rounded: 'rounded'\n });\n }\n\n public onClick(event: Event): void {\n if (this.disabled() || this.loading) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n public ngAfterViewInit(): void {\n this.bindSubscriptions();\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-xs',\n }\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-xs',\n }\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-xs',\n }\n });\n } else {\n this.ngtStyle.load(this.injector, 'NgtInfoButton', {\n color: {\n bg: 'bg-blue-500',\n text: 'text-white text-xs',\n }\n });\n }\n }\n }\n\n public disabled(): boolean {\n return !this.forceEnable && (this.isDisabled || this.isDisabledByParent());\n }\n\n public ngOnDestroy(): void {\n this.destroySubscriptions();\n }\n\n private bindSubscriptions(): void {\n if (this.ngtForm) {\n this.loading = this.ngtForm.isLoading();\n\n this.changeDetector.detectChanges();\n\n this.subscriptions.push(\n this.ngtForm.onLoadingChange.subscribe((loading: boolean) => {\n this.loading = loading;\n })\n );\n }\n }\n\n private isDisabledByParent(): boolean {\n return this.ngtForm?.isDisabled\n || this.ngtSection?.isDisabled\n || this.ngtModal?.isDisabled;\n }\n\n private destroySubscriptions(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<div class=\"relative {{ngtStyle.compile(['w', 'h'])}}\" (click)='onClick($event)'>\n <ng-container *ngIf='!link'>\n <button [ngClass]=\"{ 'disabled-button': disabled(), 'loading-button': loading }\" [disabled]=\"disabled()\"\n [type]=\"(loading || disabled() || noSubmit) ? 'button' : 'submit'\"\n class=\"flex justify-center items-center focus:outline-none cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font', 'w', 'h', 'rounded']) }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\n <span *ngIf=\"loading\" class=\"ml-2\">\n <div class=\"div-loader h-5 w-5\"></div>\n </span>\n </button>\n </ng-container>\n\n <ng-container *ngIf='link'>\n <a [routerLink]='href ? href : null' [ngClass]=\"{ 'disabled-button': disabled(), 'loading-button': loading }\"\n class=\"flex justify-center items-center focus:outline-none cursor-pointer {{ ngtStyle.compile(['color.bg', 'color.text', 'color.border', 'px', 'py', 'border', 'text', 'font','w', 'h', 'rounded']) }}\">\n <span class=\"w-full\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </span>\n\n <span *ngIf=\"loading\" class=\"ml-1\">\n <div class=\"div-loader\"></div>\n </span>\n </a>\n </ng-container>\n\n <legend *ngIf=\"forceEnable\" class=\"absolute top-0 cursor-pointer hover:opacity-25 hover:bg-gray-100 {{ ngtStyle.compile(['w', 'h']) }}\"\n (click)='onClick($event)'>\n </legend>\n</div>","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 standalone: false\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","<div class=\"{{ ngtStyle.compile(['color.text', 'color.bg', 'py', 'px']) }}\">\n <ng-content></ng-content>\n</div>\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 standalone: false\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 px: 'px-6',\n py: 'py-3',\n color: {\n bg: 'bg-gray-200',\n text: 'text-black'\n }\n }, ['NgtPortletStyle']);\n }\n}\n","<div class=\"block w-full {{ ngtStyle.compile(['color.text', 'color.bg', 'px', 'py', 'pb']) }}\">\n <div class=\"block w-full\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"block md:float-left w-full md:w-auto\">\n <ng-content select=\"[left-footer]\"></ng-content>\n </div>\n\n <div class=\"block md:float-right w-full md:w-auto\">\n <ng-content select=\"[right-footer]\"></ng-content>\n </div>\n</div>","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 standalone: false\n})\nexport class NgtPortletHeaderComponent {\n @Input() public caption: string = '';\n @Input() public icon: string = '';\n @Input() public iconSize: string = 'text-xl';\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 font: 'font-medium',\n border: 'border-b',\n px: 'px-4',\n color: {}\n }, ['NgtPortletStyle']);\n }\n}\n","<div [class]=\"ngtStyle.compile(['h', 'color.text', 'color.bg', 'border', 'text'])\">\n <div class=\"flex flex-wrap md:flex-nowrap h-full relative {{ ngtStyle.compile(['px']) }} py-2\">\n <div *ngIf=\"caption || icon\" class=\"flex md:whitespace-nowrap items-center gap-2\">\n <ngt-svg *ngIf=\"icon\" [src]=\"icon\" [class]=\"iconSize\"></ngt-svg>\n\n <div class=\"flex self-center gap-1 {{ ngtStyle.compile(['font']) }}\">\n {{ caption }}\n\n <ngt-helper *ngIf=\"helperText\" [helpTitle]=\"helperTitle\" class=\"mt-1\" [iconColor]=\"helperIconColor\">\n {{ helperText }}\n </ngt-helper>\n </div>\n </div>\n\n <div [hidden]='!leftHeader?.children[0]?.children?.length'\n class=\"self-center {{ ngtStyle.compile(['position', 'w']) }}\" #leftHeader>\n <ng-content select=\"[left-header]\"></ng-content>\n </div>\n\n <div [hidden]='!header?.children[0]?.children?.length'\n class=\"self-center {{ ngtStyle.compile(['position', 'w']) }}\" #header>\n <ng-content select=\"[header]\"></ng-content>\n </div>\n\n <div class=\"{{ !rightHeader?.children[0]?.children?.length ? 'hidden' : 'flex justify-end ml-auto self-center' }} {{ ngtStyle.compile(['position', 'w']) }}\"\n #rightHeader>\n <ng-content select=\"[right-header]\"></ng-content>\n </div>\n </div>\n</div>","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 animations: [\n trigger('fadeUp', [\n state('void', style({ transform: 'translateY(20px)', opacity: 0 })),\n transition(':enter', [\n animate(500)\n ])\n ])\n ],\n standalone: false\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","<div class=\"w-full {{ ngtStyle.compile(['h', 'color.bg', 'color.text', 'p', 'px', 'py', 'pl', 'pr', 'pt', 'pb', 'm', 'mx', 'my', 'ml', 'mr', 'mt', 'mb', 'shadow']) }}\"\n @fadeUp>\n <div *ngIf=\"!customLayout\">\n <ngt-portlet-header [icon]='icon' [caption]='caption' [helperText]=\"helpText\" [helperTitle]=\"helpTitle\"\n [helperIconColor]=\"helpIconColor\">\n <div right-header>\n <ng-content select='[right-header]'></ng-content>\n </div>\n\n <div left-header>\n <ng-content select='[left-header]'></ng-content>\n </div>\n\n <div header>\n <ng-content select='[header]'></ng-content>\n </div>\n </ngt-portlet-header>\n </div>\n\n <ng-container *ngIf=\"!customLayout && withBody\">\n <ngt-portlet-body>\n <ng-content select='[body]'></ng-content>\n </ngt-portlet-body>\n </ng-container>\n\n <ng-container *ngIf=\"!customLayout && withFooter\">\n <ngt-portlet-footer>\n <div right-footer>\n <ng-content select='[right-footer]'></ng-content>\n </div>\n\n <div left-footer>\n <ng-content select='[left-footer]'></ng-content>\n </div>\n\n <div footer>\n <ng-content select='[footer]'></ng-content>\n </div>\n </ngt-portlet-footer>\n </ng-container>\n\n <ng-content></ng-content>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\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';\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 animations: [\n fadeDownAnimation('fadeDownAnimation', 600)\n ],\n standalone: false\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","<div class=\"flex h-full w-full\">\n <ng-container *ngIf=\"visible\">\n <div class=\"{{ getNavSize() }} {{ ngtStyle.compile(['color.bg', 'h']) }} {{ open ? 'block' : 'hidden' }} top-auto fixed {{ isMobileView() ? '' : 'sm:static sm:block' }}\"\n @fadeDownAnimation #sideMenu>\n <ng-content select='[sideMenu]'></ng-content>\n </div>\n\n <ng-container *ngIf=\"open\">\n <button (click)='closeMenu()' tabindex=\"-1\"\n class=\"fixed z-30 inset-0 h-full w-full bg-black opacity-50 cursor-default\">\n </button>\n </ng-container>\n </ng-container>\n\n <div class=\"flex-wrap {{ getContainerSize() }} overflow-auto\" #container>\n <ng-content></ng-content>\n </div>\n</div>\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 standalone: false\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","<section class=\"flex\">\n <nav class=\"w-full relative {{ ngtStyle.compile(['color.bg']) }}\" #element>\n <div class=\"h-full\">\n <!-- Float Left -->\n <div class=\"float-left flex\">\n <ng-content select=\"[left-header]\"></ng-content>\n </div>\n \n <!-- Float Right -->\n <div class=\"float-right flex h-full\">\n <ng-content select=\"[right-header]\"></ng-content>\n </div>\n \n <!-- Fallback -->\n <ng-content></ng-content>\n </div>\n </nav>\n</section>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\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 standalone: false\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","<div class=\"flex flex-col\">\n <div class='flex-grow {{ ngtStyle.compile([\"color.bg\"]) }}'>\n <ng-content></ng-content>\n </div>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\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 { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtStylizableModule } from '../../directives/ngt-stylizable/ngt-stylizable.module';\nimport { NgtHelperModule } from '../ngt-helper/ngt-helper.module';\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\nimport { NgtSectionComponent } from './ngt-section.component';\n\n@NgModule({\n declarations: [NgtSectionComponent],\n exports: [NgtSectionComponent],\n imports: [\n CommonModule,\n NgtStylizableModule,\n NgtSvgModule,\n NgtHelperModule\n ]\n})\nexport class NgtSectionModule { }\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Host,\n HostListener,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Self,\n SimpleChanges,\n SkipSelf,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AbstractControl, ControlContainer, NgForm } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { NgtBaseNgModel, NgtMakeProvider } from '../../base/ngt-base-ng-model';\nimport { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';\nimport { uuid } from '../../helpers/uuid';\nimport { NgtHttpPagination, NgtHttpResponse, NgtHttpService } from '../../services/http/ngt-http.service';\nimport { NgtTranslateService } from '../../services/http/ngt-translate.service';\nimport { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\nimport { NgtInputComponent } from '../ngt-input/ngt-input.component';\nimport { NgtSectionComponent } from '../ngt-section/ngt-section.component';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.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 standalone: false\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 helperReverseYPosition: boolean;\n @Input() public helperAutoXReverse: boolean = true;\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 @Input() public allowOriginalItemsUnselect: boolean = true;\n @Input() public allowSelectAll: boolean = true;\n @Input() public autoSelectUniqueOption: boolean;\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 private selectableResourcesCount: number;\n private originalItems: Array<NgtSelectContainerSelectableElementInterface>;\n\n public constructor(\n private ngtHttpService: NgtHttpService,\n private injector: Injector,\n private changeDetector: ChangeDetectorRef,\n\n @Optional() @SkipSelf()\n private ngtForm: NgtFormComponent,\n\n @Optional() @SkipSelf()\n private ngtSection: NgtSectionComponent,\n\n @Optional() @SkipSelf()\n private ngtModal: NgtModalComponent,\n\n @Optional() @Self()\n private ngtStylizableDirective: NgtStylizableDirective,\n\n @Optional() @Host()\n public formContainer: ControlContainer,\n\n @Optional()\n public ngtTranslateService: NgtTranslateService\n ) {\n super();\n\n if (this.ngtForm) {\n this.shining = this.ngtForm.isShining();\n\n this.subscriptions.push(\n this.ngtForm.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(() => {\n this.initComponentValidation();\n\n if (this.canAutoSelectUniqueOption()) {\n this.selectableElements[0].isSelected = true;\n\n this.onNativeChange(this.selectableElements[0]);\n }\n\n this.originalItems = [...this.selectedElements];\n });\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 = this.disabled();\n }\n\n if (changes.items) {\n this.bindSelectableElements(changes.items.currentValue);\n\n this.componentReady = true;\n\n if (this.canAutoSelectUniqueOption()) {\n this.selectableElements[0].isSelected = true;\n\n this.onNativeChange(this.selectableElements[0]);\n }\n }\n\n if (changes.remoteResource && this.becameVisible) {\n this.loadData().then(() => {\n this.initComponentValidation();\n\n if (this.canAutoSelectUniqueOption()) {\n this.selectableElements[0].isSelected = true;\n\n this.onNativeChange(this.selectableElements[0]);\n }\n });\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 async refresh(itemsPerPage?: number, searchTerm?: string): Promise<void> {\n this.itemsPerPage = itemsPerPage !== undefined ? itemsPerPage : this.itemsPerPage;\n this.searchTerm = searchTerm !== undefined ? searchTerm : this.searchTerm;\n\n return 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.allowSelectAll && !this.loading && !this.disabled()) {\n this.selectAllCheckbox = !this.selectAllCheckbox;\n\n this.value = [];\n this.nativeValue = [];\n this.selectedElements = this.allowOriginalItemsUnselect ? [] : [...this.originalItems];\n\n const perpage = this.selectAllCheckbox ? this.pagination.total : this.itemsPerPage;\n\n this.loadData(perpage, this.searchTerm)\n .then(() => {\n this.containerRef?.nativeElement?.scrollTo({ top: 0 });\n\n this.selectableElements.forEach(\n element => element.isSelected = this.selectAllCheckbox || this.isSelectedElement(element)\n );\n\n if (this.selectAllCheckbox) {\n this.selectedElements = this.selectableElements;\n }\n });\n }\n }\n\n public selectElements(elements: Array<any>): void {\n if (!this.disabled()) {\n const elementIds = this.isColoquentResources() ? elements.map(element => element.getApiId()) : elements;\n\n this.selectableElements.forEach(\n (selectableElement: NgtSelectContainerSelectableElementInterface) => {\n const value = selectableElement.value;\n\n if (\n !selectableElement.isSelected\n && (\n (this.isColoquentResources() && elementIds.includes(value.getApiId()))\n || elementIds.includes(value)\n )\n ) {\n selectableElement.isSelected = true;\n\n this.handleElementSelection(selectableElement);\n }\n }\n );\n }\n }\n\n public toggleItem(selectableElement: NgtSelectContainerSelectableElementInterface, event?: Event): void {\n event?.stopImmediatePropagation();\n\n if (!this.disabled() && this.canSelectItem(selectableElement)) {\n selectableElement.isSelected = !selectableElement.isSelected;\n\n this.handleElementSelection(selectableElement);\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 search(term: string): void {\n if (!this.componentReady || term === undefined || term === null || term === this.previousSearchTerm || this.loading) {\n return;\n }\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.previousSearchTerm = term;\n this.selectAllCheckbox = this.selectedElements?.length == this.selectableResourcesCount;\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 public canSelectItem(item: NgtSelectContainerSelectableElementInterface): boolean {\n return !this.disabled()\n && (\n this.allowOriginalItemsUnselect\n || !this.originalItems?.some(originalItem => originalItem.uuid == item.uuid)\n );\n }\n\n public disabled(): boolean {\n return this.isDisabled || this.isDisabledByParent();\n }\n\n private handleElementSelection(selectableElement: NgtSelectContainerSelectableElementInterface): void {\n if (selectableElement.isSelected && !this.isSelectedElement(selectableElement)) {\n this.selectedElements.push(selectableElement);\n } else if (!selectableElement.isSelected && this.isSelectedElement(selectableElement)) {\n this.selectedElements = this.selectedElements.filter(\n selectedElement => selectedElement.uuid !== selectableElement.uuid\n );\n\n 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 (this.loading) {\n return resolve();\n }\n\n if (perpage == this.itemsPerPage) {\n this.containerRef?.nativeElement?.scrollTo({ top: 0 });\n }\n\n this.selectableElements = [];\n this.loading = true;\n this.itemsPerPage = perpage;\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\n this.pagination = response.meta.pagination;\n this.itemsTotal = this.pagination.total;\n this.loading = false;\n\n if (!this.selectableResourcesCount && !searchTerm) {\n this.selectableResourcesCount = this.pagination.total;\n }\n\n this.onDataChange.emit(this.selectableElements);\n this.componentReady = true;\n this.changeDetector.detectChanges();\n\n setTimeout(() => this.displayOnlySelected = this.disabled());\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 canAutoSelectUniqueOption(): boolean {\n return this.autoSelectUniqueOption\n && (!this.value || !this.value?.length)\n && this.selectableElements?.length == 1;\n }\n\n private isHidden(): boolean {\n return !this.containerRef?.nativeElement.offsetParent;\n }\n\n private isColoquentResources(): boolean {\n return this.selectableElements?.length && typeof this.selectableElements[0].value['getApiId'] === 'function';\n }\n\n private isDisabledByParent(): boolean {\n return this.ngtForm?.isDisabled\n || this.ngtSection?.isDisabled\n || this.ngtModal?.isDisabled;\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","<label *ngIf=\"label && !shining\" class=\"flex text-xs\" [class.mb-2]='!hasValidationErrors()'>\n <span class=\"truncate\" [title]=\"label\">\n {{ label }}:\n </span>\n\n <span *ngIf=\"isRequired\" class=\"text-red-500 font-bold text-xs ml-1\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [helperReverseYPosition]=\"helperReverseYPosition\" [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<ngt-validation [hidden]='shining' class=\"block mb-1\" [control]='formControl' [container]='formContainer'>\n</ngt-validation>\n\n<div class=\"{{ shining ? 'hidden' : 'flex flex-col' }} border w-full rounded {{ ngtStyle.compile(['h']) }}\"\n style=\"min-height: 13rem;\" [class.border-red-500]='hasValidationErrors()' [class.disabled-background]='disabled()'>\n <div class=\"flex items-center w-full p-2 border-b\">\n <ngt-checkbox *ngIf=\"allowSelectAll\" class=\"flex\" title=\"Selecionar todos\" [isDisabled]='loading || disabled()'\n [label]=\"!searchable ? 'Selecionar todos' : ''\" [(ngModel)]=\"selectAllCheckbox\"\n [name]=\"selectAllCheckboxName\" [isClickDisabled]='true' h='h-4' w='w-4' (click)='selectAll()'\n ngt-stylizable>\n </ngt-checkbox>\n\n <ngt-input *ngIf=\"searchable\" class=\"block w-full\" [class.pl-2]=\"allowSelectAll\" [name]='searchInputName'\n [(ngModel)]='searchTerm' placeholder='Buscar...' [allowClear]='true' [jit]='true' h='h-10'\n (ngModelChange)='search($event)' [loading]='loading' [isDisabled]='disabled()' ngt-stylizable #inputSearch>\n </ngt-input>\n </div>\n\n <div *ngIf=\"loading\" class=\"flex flex-col gap-3 px-3 h-full w-full cursor-wait\">\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n </div>\n\n <div class=\"w-full overflow-y-auto text-xs {{ loading ? 'hidden' : 'flex flex-col' }}\" (scroll)='onScroll($event)'\n #containerRef>\n <ng-container *ngIf=\"customHeaderTemplate\" [ngTemplateOutlet]=\"customHeaderTemplate\">\n </ng-container>\n\n <ng-container *ngFor=\"let element of getSelectableElements(); let i = index\">\n <div class=\"flex w-full items-center hover:bg-gray-200 {{ disabled() ? 'cursor-not-allowed' : 'cursor-pointer' }}\"\n [class.p-2]='!customOptionTemplate' (click)='toggleItem(element, $event)'>\n <ng-template let-element #elementCheckboxTemplate>\n <ngt-checkbox class=\"flex pr-2\" [name]='element.uuid' [(ngModel)]=\"element.isSelected\"\n (ngModelChange)='onNativeChange(element)' [isClickDisabled]='true'\n [isDisabled]='!canSelectItem(element)' h='h-5' w='w-5' (click)='toggleItem(element, $event)'\n ngt-stylizable>\n </ngt-checkbox>\n </ng-template>\n\n <ng-template let-element #defaultOptionTemplate>\n {{ getSelectableElementValue(element) }}\n </ng-template>\n\n <ng-container *ngIf=\"!customOptionTemplate\" [ngTemplateOutlet]=\"elementCheckboxTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: element }\">\n </ng-container>\n\n <ng-container [ngTemplateOutlet]=\"customOptionTemplate || defaultOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: element, index: i }\">\n </ng-container>\n </div>\n </ng-container>\n\n <p *ngIf=\"!getSelectableElements()?.length\" class=\"text-center mt-4\">\n {{ ngtTranslateService.ngtMultiSelectNoDataFound }}\n </p>\n </div>\n</div>\n\n<div class=\"{{ shining ? 'hidden' : 'flex' }} w-full items-center mt-2\">\n <span class=\"text-xs mr-4\">\n {{ selectedElements?.length || 0 }} / {{ itemsTotal || 0 }}\n </span>\n\n <ngt-checkbox class=\"flex\" label=\"Visualizar selecionados\" [name]='displayOnlySelectedName'\n [(ngModel)]=\"displayOnlySelected\" [isDisabled]='loading || disabled()' h='h-5' w='w-5' ngt-stylizable>\n </ngt-checkbox>\n</div>\n\n<ngt-shining *ngIf='shining' class=\"block w-full {{ ngtStyle.compile(['h']) }}\" style=\"min-height: 16rem;\"\n rounded='rounded' ngt-stylizable>\n</ngt-shining>\n\n<input *ngIf='componentReady' type='hidden' [ngModel]='value' [name]='name' [value]='value'>","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","export 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","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { NgxDropzonePreviewComponent } from 'ngx-dropzone';\n\nimport { NgtDropzoneFileTypeEnum } from '../ngt-dropzone.meta';\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 standalone: false\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","<div class=\"flex flex-col items-center w-48 cursor-pointer hover:opacity-75\">\n <div class=\"w-full flex justify-center border-2 rounded py-4 text-6xl\">\n <svg *ngIf=\"fileType == 'OTHER'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path class=\"heroicon-ui\" fill=\"#4a5568\"\n d=\"M6 2h9a1 1 0 0 1 .7.3l4 4a1 1 0 0 1 .3.7v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4c0-1.1.9-2 2-2zm9 2.41V7h2.59L15 4.41zM18 9h-3a2 2 0 0 1-2-2V4H6v16h12V9zm-2 7a1 1 0 0 1-1 1H9a1 1 0 0 1 0-2h6a1 1 0 0 1 1 1zm0-4a1 1 0 0 1-1 1H9a1 1 0 0 1 0-2h6a1 1 0 0 1 1 1zm-5-4a1 1 0 0 1-1 1H9a1 1 0 1 1 0-2h1a1 1 0 0 1 1 1z\" />\n </svg>\n\n <svg *ngIf=\"fileType == 'DOC'\" fill=\"#4a5568\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M14.4 0l-9.6 0c-1.33,0 -2.4,1.08 -2.4,2.4l0 19.2c0,1.33 1.07,2.4 2.4,2.4l14.4 0c1.33,0 2.4,-1.07 2.4,-2.4l0 -14.4 -7.2 -7.2 0 0zm4.8 21.6l-14.4 0 0 -19.2 8.4 0 0 6 6 0 0 13.2 0 0zm-0.78 -12l-2.52 10.8 -1.68 0 -2.16 -8.15 -2.16 8.15 -1.68 0 -2.64 -10.8 1.8 0 1.68 8.17 2.16 -8.17 1.56 0 2.16 8.17 1.68 -8.17 1.8 0z\" />\n </svg>\n\n <svg *ngIf=\"fileType == 'XLS'\" fill=\"#4a5568\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M14.4 0l-9.6 0c-1.33,0 -2.4,1.08 -2.4,2.4l0 19.2c0,1.33 1.07,2.4 2.4,2.4l14.4 0c1.33,0 2.4,-1.07 2.4,-2.4l0 -14.4 -7.2 -7.2 0 0zm4.8 21.6l-14.4 0 0 -19.2 8.4 0 0 6 6 0 0 13.2 0 0zm-6.12 -6.6l3.48 5.4 -2.16 0 -2.4 -4.08 -2.4 4.08 -2.16 0 3.48 -5.4 -3.48 -5.4 2.16 0 2.4 4.08 2.4 -4.08 2.16 0 -3.48 5.4z\" />\n </svg>\n\n <svg *ngIf=\"fileType == 'PDF'\" fill=\"#4a5568\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M14.4 0l7.2 7.2 0 14.4c0,1.32 -1.08,2.4 -2.4,2.4l-14.4 0c-1.32,0 -2.4,-1.08 -2.4,-2.4l0 -19.2c0,-1.32 1.08,-2.4 2.4,-2.4l9.6 0 0 0zm4.8 21.6l0 -13.2 -6 0 0 -6 -8.4 0 0 19.2 14.4 0 0 0zm-8.5 -9.23c-0.28,-0.92 -0.92,-3.87 0.76,-3.92 1.68,-0.05 0.58,3.74 0.58,3.74 0.46,1.79 2.42,3.07 2.42,3.07 0.6,-0.18 4.02,-0.57 3.54,1.21 -0.52,1.77 -4.2,0.1 -4.2,0.1 -2.34,0.17 -4.09,0.8 -4.09,0.8 -1.36,2.53 -2.94,3.63 -3.59,2.56 -0.8,-1.33 2.56,-3.04 2.56,-3.04 1.74,-2.83 2,-4.47 2.02,-4.52l0 0zm0.78 1.01c-0.48,1.56 -1.44,3.23 -1.44,3.23 1.02,-0.41 3.26,-0.88 3.26,-0.88 -1.37,-1.2 -1.79,-2.34 -1.82,-2.35l0 0zm3.77 2.6c0,0 2.1,0.79 2.15,0.47 0.08,-0.32 -1.6,-0.61 -2.15,-0.47l0 0zm-6.79 1.79c-0.93,0.36 -1.81,1.9 -1.6,1.9 0.22,0.01 1.1,-0.72 1.6,-1.9l0 0zm3.02 -6.66c0,-0.06 0.52,-2.01 0,-2.07 -0.36,-0.04 -0.01,2.02 0,2.07z\" />\n </svg>\n\n <svg *ngIf=\"fileType == 'DWG'\" version=\"1.0\" xmlns=\"http://www.w3.org/2000/svg\" width=\"512.000000pt\" height=\"512.000000pt\"\n viewBox=\"0 0 512.000000 512.000000\" preserveAspectRatio=\"xMidYMid meet\">\n <g transform=\"translate(0.000000,512.000000) scale(0.100000,-0.100000)\" fill=\"#4a5568\" stroke=\"none\">\n <path\n d=\"M830 5104 c-42 -18 -86 -58 -108 -99 -15 -27 -17 -109 -20 -871 l-3 -842 -92 -4 c-112 -5 -179 -32 -235 -92 -81 -88 -77 -39 -77 -946 0 -801 0 -805 21 -851 54 -116 140 -169 291 -177 l92 -5 3 -536 c3 -588 1 -562 65 -623 65 -62 -61 -58 1793 -58 1854 0 1728 -4 1793 58 64 61 62 35 65 623 l3 536 92 5 c151 8 237 61 291 177 21 46 21 50 21 851 0 907 4 858 -77 946 -56 60 -123 87 -235 92 l-93 4 -1 302 c-1 165 -4 312 -8 326 -8 30 -994 1160 -1033 1184 -24 15 -138 16 -1270 16 -1088 -1 -1247 -3 -1278 -16z m2400 -714 l0 -530 29 -32 29 -33 466 -3 466 -3 0 -249 0 -250 -1660 0 -1660 0 0 815 0 815 1165 0 1165 0 0 -530z m1093 -1516 c87 -16 127 -32 127 -48 -1 -17 -48 -197 -54 -203 -2 -3 -27 2 -54 11 -131 44 -323 40 -429 -9 -72 -33 -146 -110 -174 -182 -27 -72 -36 -204 -19 -282 26 -120 110 -221 217 -261 70 -26 193 -36 251 -21 l42 12 0 124 0 125 -95 0 -95 0 0 110 0 110 230 0 230 0 0 -320 0 -320 -27 -11 c-16 -6 -71 -20 -123 -32 -129 -29 -401 -31 -500 -4 -116 33 -189 74 -266 151 -114 114 -164 244 -164 426 0 265 115 460 331 563 52 25 117 50 144 57 122 30 283 31 428 4z m-3042 -12 c304 -82 457 -320 419 -653 -35 -312 -215 -491 -545 -544 -94 -16 -317 -20 -448 -9 l-77 7 0 602 0 603 83 10 c45 6 174 9 287 7 170 -2 218 -6 281 -23z m808 -34 c16 -81 96 -524 127 -705 15 -90 29 -161 31 -160 2 2 14 66 28 143 20 116 101 518 145 722 l12 52 147 0 147 0 28 -147 c67 -356 104 -564 116 -648 13 -92 29 -144 30 -95 0 42 47 310 107 608 l56 282 138 0 c77 0 139 -3 139 -7 0 -5 -217 -853 -301 -1175 l-10 -38 -149 0 c-133 0 -149 2 -154 18 -13 44 -127 653 -141 759 -9 65 -18 119 -19 120 -1 2 -12 -55 -24 -125 -13 -70 -55 -272 -94 -449 l-71 -323 -152 0 -151 0 -142 598 c-78 328 -142 603 -142 610 0 9 36 12 144 12 l145 0 10 -52z m2131 -2088 l0 -480 -1660 0 -1660 0 0 480 0 480 1660 0 1660 0 0 -480z\" />\n\n <path\n d=\"M923 2673 l-23 -4 0 -399 0 -399 43 -6 c60 -9 200 12 261 39 140 63 212 207 204 411 -3 86 -8 109 -34 165 -51 108 -128 167 -249 189 -57 11 -157 13 -202 4z\" />\n </g>\n </svg>\n </div>\n</div>\n\n<ngx-dropzone-remove-badge *ngIf=\"removable\" (click)=\"_remove($event)\" style=\"top: -15px !important;\">\n</ngx-dropzone-remove-badge>","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 standalone: false\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 = 30000000; /** 30 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","<div style=\"width:100%; height: 100%;\">\n <div style=\"width:100%; height: 100%;\">\n <div class=\"w-full py-5 pr-10\">\n <div class=\"w-full flex justify-end text-2xl\">\n <div *ngIf=\"canDownloadFile\" class=\"cursor-pointer\" (click)=\"downloadFile()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path fill=\"#fff\" d=\"M13 8V2H7v6H2l8 8 8-8h-5zM0 18h20v2H0v-2z\" />\n </svg>\n </div>\n\n \n\n <div class=\"cursor-pointer\" (click)=\"close()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path fill=\"#fff\"\n d=\"M24 2.42l-2.42 -2.42 -9.58 9.58 -9.58 -9.58 -2.42 2.42 9.58 9.58 -9.58 9.58 2.42 2.42 9.58 -9.58 9.58 9.58 2.42 -2.42 -9.58 -9.58 9.58 -9.58z\" />\n </svg>\n </div>\n\n </div>\n\n <div class=\"w-full justify-center text-center text-2xl font-mono text-white\">\n {{ fileName }}\n </div>\n </div>\n\n <div *ngIf=\"fileSize > maxFileSize\" class=\"flex w-full h-full justify-center items-center\">\n <div class=\"flex flex-col w-auto bg-gray-700 rounded-lg p-6\" style=\"max-width: 80%;\">\n <p class=\"text-white font-medium text-center w-full\">\n {{\n canDownloadFile\n ? ngtTranslateService.ngtFileTooLargeForPreview\n : ngtTranslateService.ngtFileTooLargeForPreviewNoDownloadPermission\n }}\n </p>\n\n <div *ngIf=\"canDownloadFile\" class=\"cursor-pointer mt-5 text-2xl self-center border rounded p-2\"\n (click)=\"downloadFile()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path fill=\"#fff\" d=\"M13 8V2H7v6H2l8 8 8-8h-5zM0 18h20v2H0v-2z\" />\n </svg>\n </div>\n </div>\n </div>\n\n <div class=\"px-10\" style=\"width:100%; height: 83%;\" *ngIf=\"canShowViewer\">\n <eloverde-doc-viewer class=\"h-full w-full flex justify-center\" [url]=\"url\" [disableContent]=\"disableContent\"\n (loaded)=\"loading = false\" (onClose)=\"handleClose()\">\n </eloverde-doc-viewer>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"loading\" class=\"flex fixed inset-0 justify-center items-center w-full h-full cursor-wait z-50\">\n <div class=\"div-loader\"></div>\n</div>","import { Component, EventEmitter, Input, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';\n\nimport { NgtDropzoneFile, NgtDropzoneFileTypeEnum } from '../ngt-dropzone.meta';\n\n@Component({\n selector: 'ngt-dropzone-view',\n templateUrl: './ngt-dropzone-view.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\nexport class NgtDropzoneViewComponent {\n @Input() public resources: Array<any>;\n @Input() public dropzoneHeight: string;\n @Input() public loading: boolean;\n @Input() public placeholder: string;\n\n @Output() public onImageClick: EventEmitter<{ div: HTMLDivElement; index: number }> = new EventEmitter();\n @Output() public onFileClick: EventEmitter<{ previewUrl: string; name: string; fileSize: number }> = new EventEmitter();\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 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 handleImageClick(index: number): void {\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.onImageClick.emit({ div: imagesDiv, index });\n }\n\n public handleFileClick(previewUrl: string, name: string, fileSize: number): void {\n this.onFileClick.emit({ previewUrl, name, fileSize });\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 public getFormattedFileSize(resource: any): string {\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 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","<div class=\"border-2 border-dotted border-gray-400 rounded p-2 flex items-center overflow-x-auto overflow-y-hidden\"\n [ngStyle]=\"{ 'height': dropzoneHeight }\">\n <div *ngIf=\"loading\" class=\"flex absolute justify-center items-center w-full h-full cursor-wait z-10\">\n <div class=\"div-loader\"></div>\n </div>\n\n <div [class]=\"loading ? 'hidden' : 'flex items-center'\">\n <ng-container *ngIf=\"images?.length\">\n <div class=\"flex py-5\">\n <div *ngFor=\"let image of images; let index = index\" class=\"w-48 mr-8\">\n <div class=\"flex flex-col w-48 mx-4 cursor-pointer\"\n title=\"{{ image.name || '' }} ({{ getFormattedFileSize(image) }})\"\n (click)=\"handleImageClick(index)\">\n <img [src]=\"image.thumbnailUrl\" [alt]=\"image.name\" class=\"w-full h-32\">\n\n <p class=\"w-full truncate text-gray-500 text-center text-sm font-mono\">\n {{ image.name || '' }}\n </p>\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"audios?.length\">\n <ng-container *ngFor=\"let audio of audios\">\n <div class=\"flex flex-col w-48 mx-4 py-5\">\n <audio controls>\n <source [src]=\"audio.previewUrl\">\n </audio>\n\n <p class=\"w-full truncate text-gray-500 text-center text-sm font-mono\">\n {{ audio.name || '' }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"videos?.length\">\n <ng-container *ngFor=\"let video of videos\">\n <div class=\"flex flex-col w-48 mx-4 py-5\">\n <video width=\"240\" controls>\n <source [src]=\"video.previewUrl\">\n </video>\n\n <p class=\"w-full truncate text-gray-500 text-center text-sm font-mono\">\n {{ video.name || '' }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"files?.length\">\n <ng-container *ngFor=\"let file of files\">\n <div class=\"flex flex-col w-48 mr-6 cursor-pointer\"\n (click)=\"handleFileClick(file.previewUrl, file.name, file.fileSize)\">\n <div class=\"w-full flex justify-center border-2 rounded py-4 text-6xl\">\n <svg *ngIf=\"getFileType(file) == ngtDropzoneViewFileTypeEnum.OTHER\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path class=\"heroicon-ui\" fill=\"#4a5568\"\n d=\"M6 2h9a1 1 0 0 1 .7.3l4 4a1 1 0 0 1 .3.7v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4c0-1.1.9-2 2-2zm9 2.41V7h2.59L15 4.41zM18 9h-3a2 2 0 0 1-2-2V4H6v16h12V9zm-2 7a1 1 0 0 1-1 1H9a1 1 0 0 1 0-2h6a1 1 0 0 1 1 1zm0-4a1 1 0 0 1-1 1H9a1 1 0 0 1 0-2h6a1 1 0 0 1 1 1zm-5-4a1 1 0 0 1-1 1H9a1 1 0 1 1 0-2h1a1 1 0 0 1 1 1z\" />\n </svg>\n\n <svg *ngIf=\"getFileType(file) == ngtDropzoneViewFileTypeEnum.DOC\" fill=\"#4a5568\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M14.4 0l-9.6 0c-1.33,0 -2.4,1.08 -2.4,2.4l0 19.2c0,1.33 1.07,2.4 2.4,2.4l14.4 0c1.33,0 2.4,-1.07 2.4,-2.4l0 -14.4 -7.2 -7.2 0 0zm4.8 21.6l-14.4 0 0 -19.2 8.4 0 0 6 6 0 0 13.2 0 0zm-0.78 -12l-2.52 10.8 -1.68 0 -2.16 -8.15 -2.16 8.15 -1.68 0 -2.64 -10.8 1.8 0 1.68 8.17 2.16 -8.17 1.56 0 2.16 8.17 1.68 -8.17 1.8 0z\" />\n </svg>\n\n <svg *ngIf=\"getFileType(file) == ngtDropzoneViewFileTypeEnum.XLS\" fill=\"#4a5568\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M14.4 0l-9.6 0c-1.33,0 -2.4,1.08 -2.4,2.4l0 19.2c0,1.33 1.07,2.4 2.4,2.4l14.4 0c1.33,0 2.4,-1.07 2.4,-2.4l0 -14.4 -7.2 -7.2 0 0zm4.8 21.6l-14.4 0 0 -19.2 8.4 0 0 6 6 0 0 13.2 0 0zm-6.12 -6.6l3.48 5.4 -2.16 0 -2.4 -4.08 -2.4 4.08 -2.16 0 3.48 -5.4 -3.48 -5.4 2.16 0 2.4 4.08 2.4 -4.08 2.16 0 -3.48 5.4z\" />\n </svg>\n\n <svg *ngIf=\"getFileType(file) == ngtDropzoneViewFileTypeEnum.PDF\" fill=\"#4a5568\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M14.4 0l7.2 7.2 0 14.4c0,1.32 -1.08,2.4 -2.4,2.4l-14.4 0c-1.32,0 -2.4,-1.08 -2.4,-2.4l0 -19.2c0,-1.32 1.08,-2.4 2.4,-2.4l9.6 0 0 0zm4.8 21.6l0 -13.2 -6 0 0 -6 -8.4 0 0 19.2 14.4 0 0 0zm-8.5 -9.23c-0.28,-0.92 -0.92,-3.87 0.76,-3.92 1.68,-0.05 0.58,3.74 0.58,3.74 0.46,1.79 2.42,3.07 2.42,3.07 0.6,-0.18 4.02,-0.57 3.54,1.21 -0.52,1.77 -4.2,0.1 -4.2,0.1 -2.34,0.17 -4.09,0.8 -4.09,0.8 -1.36,2.53 -2.94,3.63 -3.59,2.56 -0.8,-1.33 2.56,-3.04 2.56,-3.04 1.74,-2.83 2,-4.47 2.02,-4.52l0 0zm0.78 1.01c-0.48,1.56 -1.44,3.23 -1.44,3.23 1.02,-0.41 3.26,-0.88 3.26,-0.88 -1.37,-1.2 -1.79,-2.34 -1.82,-2.35l0 0zm3.77 2.6c0,0 2.1,0.79 2.15,0.47 0.08,-0.32 -1.6,-0.61 -2.15,-0.47l0 0zm-6.79 1.79c-0.93,0.36 -1.81,1.9 -1.6,1.9 0.22,0.01 1.1,-0.72 1.6,-1.9l0 0zm3.02 -6.66c0,-0.06 0.52,-2.01 0,-2.07 -0.36,-0.04 -0.01,2.02 0,2.07z\" />\n </svg>\n </div>\n\n <p class=\"w-full truncate text-gray-500 text-center text-sm font-mono\">\n {{ file.name || '' }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n </div>\n\n <div *ngIf=\"!loading && !resources?.length\" class=\"px-2 text-center w-full\">\n {{ placeholder }}\n </div>\n</div>","import { Observable } from 'rxjs';\n\nexport abstract class NgtAttachmentHttpService {\n public abstract preview(attachment: any): Observable<NgtAttachmentHttpResponse>;\n\n public abstract download(attachment: any): Observable<any>;\n\n public abstract upload(remoteResource: any, file: any): Observable<any>;\n}\n\nexport interface NgtAttachmentHttpResponse {\n data?: any;\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';\nimport { NgtDropzoneErrorType, NgtDropzoneFile, NgtDropzonePreviewType } from './ngt-dropzone.meta';\nimport { NgtFormComponent } from '../ngt-form/ngt-form.component';\nimport { NgtSectionComponent } from '../ngt-section/ngt-section.component';\nimport { NgtModalComponent } from '../ngt-modal/ngt-modal.component';\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 standalone: false\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 isRequired: boolean;\n @Input() public hideNgxDropzone: boolean;\n @Input() public acceptedFiles: string = '*' /** Mime type */;\n @Input() public unacceptedFiles: string; /** Mime type */;\n @Input() public maxFileSize: number; /** Bytes */;\n @Input() public previewType: NgtDropzonePreviewType = NgtDropzonePreviewType.DEFAULT;\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\n private injector: Injector,\n private changeDetector: ChangeDetectorRef,\n\n @Optional() @SkipSelf()\n private ngtAttachmentHttpService: NgtAttachmentHttpService,\n\n @Optional() @SkipSelf()\n private ngtForm: NgtFormComponent,\n\n @Optional() @SkipSelf()\n private ngtSection: NgtSectionComponent,\n\n @Optional() @SkipSelf()\n private ngtModal: NgtModalComponent\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 !== null && index !== undefined) {\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 const temporaryFiles = [];\n const temporaryAttachments = [];\n const observables = [];\n const unacceptedFiles = [];\n\n this.loading = true;\n this.onFileUploadInit.emit();\n\n files.forEach(file => {\n if (file.type.includes(this.unacceptedFiles)) {\n return unacceptedFiles.push(file);\n }\n\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 if (!observables.length && unacceptedFiles.length) {\n this.loading = false;\n\n return this.onFileSelectError.emit(NgtDropzoneErrorType.TYPE);\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 if (unacceptedFiles.length) {\n this.onFileSelectError.emit(NgtDropzoneErrorType.TYPE);\n }\n\n setTimeout(() => this.changeDetector.detectChanges(), 500);\n },\n (error) => {\n this.onFileUploadFail.emit(error);\n this.loading = false;\n\n setTimeout(() => this.changeDetector.detectChanges(), 500);\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: any) => {\n if (!(attachment instanceof File) && !attachment.loaded) {\n this.loading = true;\n\n attachment['loaded'] = true;\n\n observables.push(this.ngtAttachmentHttpService.preview(attachment)\n .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 setTimeout(() => this.changeDetector.detectChanges(), 500);\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?.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 public isDisabled(): boolean {\n return this.disabled || this.isDisabledByParent();\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 isDisabledByParent(): boolean {\n return this.ngtForm?.isDisabled\n || this.ngtSection?.isDisabled\n || this.ngtModal?.isDisabled;\n }\n\n private destroySubscriptions() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n this.subscriptions = [];\n }\n}\n","<div class=\"flex flex-col h-full w-full\" #container>\n <label *ngIf=\"label\" class=\"flex mb-2 text-sm\">\n {{ label }}:\n\n <span class=\"text-red-500 font-bold text-md ml-1\" *ngIf=\"isRequired\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n </label>\n\n <div *ngIf=\"!viewMode\" class=\"h-full w-full relative\">\n <div *ngIf=\"loading && !hideNgxDropzone\"\n class=\"flex absolute justify-center items-center w-full h-full cursor-wait z-10\">\n <div class=\"div-loader\"></div>\n </div>\n\n <ngx-dropzone [id]=\"ngxElementId\" [multiple]='multipleSelection' [maxFileSize]='maxFileSize'\n (change)='onSelect($event)' [class.single-attachment]='itemsLimit == 1' [accept]='acceptedFiles'\n [disabled]='isDisabled() || loading' [expandable]='verticalExpandable'\n [disableClick]='disableClick || forceDisableClick' [ngStyle]=\"{ 'height': dropzoneHeight }\"\n [ngClass]=\"{ 'hidden':hideNgxDropzone }\" #ngxDropzone>\n <ng-container *ngIf=\"!loading\">\n <ngx-dropzone-label *ngIf=\"!uploadedResources?.length\" class=\"px-2\">\n {{ placeholder }}\n </ngx-dropzone-label>\n\n <ng-container *ngFor=\"let resource of uploadedResources; let index = index\">\n <div class=\"flex flex-col w-48 mx-4\"\n title=\"{{ resource?.file?.name || '' }} ({{ getFormattedFileSize(resource) }})\">\n <custom-dropzone-preview *ngIf=\"previewType == 'DEFAULT' && isFile(resource)\"\n [file]='resource.file' [removable]=\"removable\" (removed)=\"onRemove(resource)\"\n (click)=\"onFileClick(resource.file.url, resource.file.name, resource.file.size)\"\n ngProjectAs=\"ngx-dropzone-preview\">\n </custom-dropzone-preview>\n\n <div *ngIf=\"isImage(resource)\" class=\"cursor-pointer\" (click)=\"imagePreview(index)\" #gallery>\n <ngx-dropzone-image-preview class=\"image-preview-default-class\" [file]=\"resource.file\"\n [removable]=\"removable\" (removed)=\"onRemove(resource)\">\n </ngx-dropzone-image-preview>\n </div>\n\n <ngx-dropzone-video-preview *ngIf=\"isVideo(resource) || isAudio(resource)\"\n [file]=\"resource.file\" [removable]=\"removable\" (removed)=\"onRemove(resource)\">\n </ngx-dropzone-video-preview>\n\n <p *ngIf=\"showFileName\"\n class=\"w-full truncate text-gray-500 text-center text-sm font-mono mt-2\">\n {{ resource?.file?.name || '' }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n </ngx-dropzone>\n </div>\n\n <ngt-dropzone-view *ngIf=\"viewMode\" class=\"h-full w-full\" [resources]=\"resources\" [loading]=\"loading\"\n [placeholder]=\"placeholder\" [dropzoneHeight]=\"dropzoneHeight\"\n (onFileClick)=\"onFileClick($event.previewUrl, $event.name, $event.fileSize)\"\n (onImageClick)=\"onImageClick($event.div, $event.index)\">\n </ngt-dropzone-view>\n\n <ngt-dropzone-file-viewer [hidden]=\"!showNgtDropzoneFileViewer\" (onClose)=\"forceDisableClick = false\"\n [canDownloadFile]=\"canDownloadFile\" [disableContent]=\"canDownloadFile ? 'none' : 'popout'\">\n </ngt-dropzone-file-viewer>\n\n <input *ngIf='componentReady' type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n <ngt-validation [control]=\"formControl\" [container]=\"formContainer\"></ngt-validation>\n</div>","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';\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 NgtSvgModule,\n EloverdeDocViewerModule,\n NgtHelperModule\n ]\n})\nexport class NgtDropzoneModule { }\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { Component, EventEmitter, HostListener, Output, TemplateRef } from '@angular/core';\n\nexport enum NgtPopoverPosition {\n DEFAULT = 'TOP',\n TOP = 'TOP',\n BOTTOM = 'BOTTOM',\n}\n\n@Component({\n selector: 'ngt-popover-tooltip',\n templateUrl: './ngt-popover-tooltip.component.html',\n animations: [\n trigger('enterAnimation', [\n state('void', style({ transform: 'translateY(-20px)', opacity: 0 })),\n transition(':enter', [\n animate(200)\n ])\n ]),\n ],\n standalone: false\n})\nexport class NgtPopoverTooltipComponent {\n @Output() public onMouseHoverEvent: EventEmitter<void> = new EventEmitter();\n @Output() public onMouseLeaveEvent: EventEmitter<void> = new EventEmitter();\n\n public popover: string;\n public popoverTemplate: TemplateRef<any>;\n public position: NgtPopoverPosition = NgtPopoverPosition.DEFAULT;\n public positionX: number;\n public positionY: number;\n\n public positionClasses: any = {\n [NgtPopoverPosition.TOP]: '-mt-10',\n [NgtPopoverPosition.BOTTOM]: '-mb-10',\n };\n\n public popoverTemplateStyle: string = 'text-xxs';\n\n @HostListener('mouseleave')\n public onMouseLeave(): void {\n this.onMouseLeaveEvent.emit();\n }\n\n @HostListener('mouseenter')\n public onMouseEnter(): void {\n this.onMouseHoverEvent.emit();\n }\n}\n","<div class=\"bg-white rounded-lg shadow-2xl border border-gray-200 absolute max-w-7xl\"\n [ngClass]=\"positionClasses[position]\" [style.left.px]=\"positionX\" [style.top.px]=\"positionY\"\n style=\"z-index: 999999 !important; width: max-content !important;\" (click)=\"$event.stopPropagation()\"\n @enterAnimation>\n\n <div *ngIf=\"!popoverTemplate; else showTemplate\"\n class=\"px-2 py-1 text-gray-700 whitespace-nowrap {{popoverTemplateStyle}}\">\n {{ popover }}\n </div>\n\n <ng-template #showTemplate>\n <ng-container [ngTemplateOutlet]=\"popoverTemplate\"></ng-container>\n </ng-template>\n</div>","import {\n Component, ElementRef, EventEmitter, Injector, Input, Optional, Output, Self, ViewChild\n} 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\nexport enum NgtPopoverOpenMethod {\n CLICK = 'CLICK',\n POPOVER_CLICK = 'POPOVER_CLICK',\n RIGHT_CLICK = 'RIGHT_CLICK',\n HOVER = 'HOVER'\n}\n\n@Component({\n selector: 'ngt-popover',\n templateUrl: './ngt-popover.component.html',\n standalone: false\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","<ngt-dropdown class=\"flex w-full hover:opacity-100\" [closeOnClick]=\"closeOnClick\" [openMethod]=\"openMethod\"\n [autoYReverse]=\"false\" [reverseXPosition]=\"!placeOnLeft\" [reverseYPosition]=\"!placeOnBottom\"\n [closeTimeout]=\"closeTimeout\" (onHostClick)=\"fireClickEvent()\" #dropdownRef>\n <div #hostDiv host>\n <ng-content></ng-content>\n </div>\n\n <div class=\"bg-gray-100 text-sm rounded-lg hover:opacity-100 text-gray-800 shadow-lg -mb-4\"\n [ngClass]=\"ngtStyle.compile(stylesToCompile)\" container>\n\n <ng-content select=\"[popover-content]\"></ng-content>\n </div>\n</ngt-dropdown>\n","import {\n ComponentRef,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { Subscription } from 'rxjs';\nimport { NgtPopoverPosition, NgtPopoverTooltipComponent } from './ngt-popover-tooltip/ngt-popover-tooltip.component';\nimport { NgtPopoverOpenMethod } from './ngt-popover.component';\n\n@Directive({\n selector: '[ngt-popover]',\n standalone: false\n})\nexport class NgtPopoverDirective implements OnDestroy {\n @Input() public ngtPopoverContent: string;\n @Input() public ngtPopoverTemplate: TemplateRef<any>;\n @Input() public ngtPopoverPosition: NgtPopoverPosition = NgtPopoverPosition.DEFAULT;\n @Input() public ngtPopoverTemplateStyle: string = 'text-xxs';\n\n @Input() public dismissDelay: number = 1000;\n @Input() public showDelay: number = 1000;\n @Input() public closeOnClick: boolean;\n @Input() public openMethod: 'HOVER' | 'CLICK' = NgtPopoverOpenMethod.HOVER;\n\n private componentRef: ComponentRef<NgtPopoverTooltipComponent> = null;\n private dismissTimeoutInstance: any;\n private showTimeoutInstance: any;\n\n private toolTipMouseHoverSubscription: Subscription;\n private toolTipMouseLeaveSubscription: Subscription;\n\n public constructor(\n private elementRef: ElementRef,\n private viewContainerRef: ViewContainerRef\n ) { }\n\n @HostListener('click')\n public onClick(): void {\n if (this.openMethod != NgtPopoverOpenMethod.CLICK) {\n return;\n }\n\n if (!this.componentRef) {\n this.createPopover();\n\n return;\n }\n\n this.destroy();\n }\n\n @HostListener('document:click', ['$event.target'])\n public onDocumentClick(target: HTMLElement) {\n if (\n this.closeOnClick\n && !this.componentRef?.location?.nativeElement?.contains(target)\n && target !== this.elementRef.nativeElement\n && target !== this.componentRef?.location?.nativeElement\n ) {\n this.destroy();\n }\n }\n\n @HostListener('mouseleave')\n public onMouseLeave(): void {\n if (this.showTimeoutInstance) {\n clearTimeout(this.showTimeoutInstance);\n }\n\n if (this.closeOnClick) {\n return;\n }\n\n if (this.dismissTimeoutInstance) {\n clearTimeout(this.dismissTimeoutInstance);\n }\n\n this.dismissTimeoutInstance = setTimeout(() => this.destroy(), this.dismissDelay);\n }\n\n @HostListener('mouseenter')\n public onMouseEnter(): void {\n if (this.componentRef || this.openMethod != NgtPopoverOpenMethod.HOVER) {\n return;\n }\n\n this.showTimeoutInstance = setTimeout(() => this.createPopover(), this.showDelay);\n }\n\n public ngOnDestroy(): void {\n this.destroy();\n }\n\n private createPopover(): void {\n this.componentRef = this.viewContainerRef.createComponent(NgtPopoverTooltipComponent);\n\n this.setupPopoverComponent();\n }\n\n private destroy(): void {\n this.toolTipMouseHoverSubscription?.unsubscribe();\n this.toolTipMouseLeaveSubscription?.unsubscribe();\n this.componentRef?.destroy();\n this.componentRef = null;\n }\n\n private setupPopoverComponent(): void {\n if (!this.componentRef) {\n return;\n }\n\n const rect = this.elementRef.nativeElement.getBoundingClientRect();\n\n this.componentRef.instance.positionX = rect.left;\n this.componentRef.instance.positionY = (this.ngtPopoverPosition === NgtPopoverPosition.TOP)\n ? rect.top\n : rect.bottom;\n\n this.componentRef.instance.popover = this.ngtPopoverContent;\n this.componentRef.instance.popoverTemplate = this.ngtPopoverTemplate;\n this.componentRef.instance.position = this.ngtPopoverPosition;\n this.componentRef.instance.popoverTemplateStyle = this.ngtPopoverTemplateStyle;\n\n this.bindSubscriptions();\n\n document.body.appendChild(this.componentRef.location.nativeElement);\n }\n\n private bindSubscriptions(): void {\n this.toolTipMouseHoverSubscription = this.componentRef.instance\n .onMouseHoverEvent\n .subscribe(() => {\n if (this.dismissTimeoutInstance) {\n clearTimeout(this.dismissTimeoutInstance);\n }\n });\n\n this.toolTipMouseLeaveSubscription = this.componentRef.instance\n .onMouseLeaveEvent\n .subscribe(() => this.onMouseLeave());\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtDropdownModule } from '../ngt-dropdown/ngt-dropdown.module';\nimport { NgtPopoverTooltipComponent } from './ngt-popover-tooltip/ngt-popover-tooltip.component';\nimport { NgtPopoverComponent } from './ngt-popover.component';\nimport { NgtPopoverDirective } from './ngt-popover.directive';\n\n@NgModule({\n exports: [\n NgtPopoverComponent,\n NgtPopoverDirective\n ],\n declarations: [\n NgtPopoverComponent,\n NgtPopoverTooltipComponent,\n NgtPopoverDirective\n ],\n imports: [\n CommonModule,\n NgtDropdownModule\n ]\n})\nexport class NgtPopoverModule { }\n","import { Component, EventEmitter, Output, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'ngt-context-menu',\n templateUrl: './ngt-context-menu.component.html',\n standalone: false\n})\n\nexport class NgtContextMenuComponent {\n @Output() public onMenuItemClick: EventEmitter<NgtContextMenuOptionInterface> = new EventEmitter();\n @Output() public onTemplateClick: EventEmitter<void> = new EventEmitter();\n\n public positionX: number;\n public positionY: number;\n\n public menuTemplate: TemplateRef<any>;\n public menuItems: NgtContextMenuOptionInterface[] = [];\n\n public hasOptions(): boolean {\n return !this.menuTemplate && !!this.menuItems?.length;\n }\n}\n\nexport interface NgtContextMenuOptionInterface {\n caption: string;\n background_color?: string;\n icon?: string;\n value: string;\n disabled?: boolean;\n}\n","<div class=\"absolute max-w-7xl -mr-10 -mb-10\" style=\"z-index: 999999 !important; width: max-content !important;\"\n [style.left.px]=\"positionX\" [style.top.px]=\"positionY\" (click)=\"$event.stopPropagation()\">\n\n <ng-container *ngIf=\"hasOptions(); else showTemplate\">\n <ul class=\"cursor-pointer rounded-xl bg-white border border-gray-200 shadow-2xl\">\n <li *ngFor=\"let item of menuItems; last as isLast; first as isFirst\"\n class=\"flex items-center w-full px-4 py-2 gap-3 text-sm\" [class.text-gray-700]=\"!item.disabled\"\n [class.text-gray-400]=\"item.disabled\" [class.cursor-not-allowed]=\"item.disabled\"\n [class.rounded-b-xl]=\"isLast\" [class.rounded-t-xl]=\"isFirst\"\n [ngClass]=\"item.disabled ? '' : (item.background_color || 'hover:bg-green-500')\"\n (click)=\"!item.disabled && onMenuItemClick.emit(item)\">\n\n <ngt-svg *ngIf=\"item.icon\" class=\"text-lg\" [src]=\"item.icon\"></ngt-svg>\n {{ item.caption }}\n </li>\n </ul>\n </ng-container>\n\n <ng-template #showTemplate>\n <div class=\"block rounded-lg bg-white border border-gray-200 w-full h-auto shadow-2xl\"\n (click)=\"onTemplateClick.emit()\">\n <ng-container [ngTemplateOutlet]=\"menuTemplate\"></ng-container>\n </div>\n </ng-template>\n</div>\n","import {\n ChangeDetectorRef,\n ComponentRef,\n Directive,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { NgtContextMenuComponent, NgtContextMenuOptionInterface } from './ngt-context-menu.component';\n\n@Directive({\n selector: '[ngt-contextmenu]',\n standalone: false\n})\nexport class NgtContextMenuDirective implements OnDestroy {\n @Output() public onNgtContextMenuClick: EventEmitter<NgtContextMenuOptionInterface> = new EventEmitter();\n @Output() public onOpenNgtContextMenu: EventEmitter<NgtContextMenuComponent> = new EventEmitter();\n\n @Input() public ngtContextMenuOptions: NgtContextMenuOptionInterface[];\n @Input() public ngtContextMenuTemplate: TemplateRef<any>;\n\n private componentRef: ComponentRef<NgtContextMenuComponent> = null;\n private menuItemClickSubscription: Subscription;\n private templateClickSubscription: Subscription;\n\n public constructor(\n private viewContainerRef: ViewContainerRef,\n private changeDetector: ChangeDetectorRef,\n ) { }\n\n @HostListener('contextmenu', ['$event'])\n public onContextMenu(event: MouseEvent) {\n event.preventDefault();\n\n setTimeout(() => {\n this.destroy();\n this.createComponent(event);\n }, 50);\n }\n\n @HostListener('document:contextmenu', ['$event'])\n public onDocumentContextMenuClick(event: MouseEvent) {\n event.preventDefault();\n\n this.destroy();\n this.changeDetector.detectChanges();\n }\n\n @HostListener('document:click')\n public onDocumentClick() {\n this.destroy();\n }\n\n @HostListener('click')\n public onClick() {\n this.destroy();\n }\n\n public ngOnDestroy(): void {\n this.destroy();\n }\n\n private createComponent(event: MouseEvent): void {\n this.componentRef = this.viewContainerRef.createComponent(NgtContextMenuComponent);\n\n this.componentRef.instance.positionX = event.clientX;\n this.componentRef.instance.positionY = event.clientY;\n this.componentRef.instance.menuItems = this.ngtContextMenuOptions;\n this.componentRef.instance.menuTemplate = this.ngtContextMenuTemplate;\n\n this.bindSubscriptions();\n\n document.body.appendChild(this.componentRef.location.nativeElement);\n\n this.onOpenNgtContextMenu.emit(this.componentRef.instance);\n }\n\n private bindSubscriptions(): void {\n this.menuItemClickSubscription = this.componentRef.instance\n .onMenuItemClick\n .subscribe((event) => {\n this.onNgtContextMenuClick.emit(event);\n\n this.destroy();\n });\n\n this.templateClickSubscription = this.componentRef.instance\n .onTemplateClick\n .subscribe((event) => this.destroy());\n }\n\n private destroy(): void {\n this.menuItemClickSubscription?.unsubscribe();\n this.templateClickSubscription?.unsubscribe();\n this.componentRef?.destroy();\n\n this.componentRef = null;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NgtSvgModule } from '../ngt-svg/ngt-svg.module';\nimport { NgtContextMenuComponent } from './ngt-context-menu.component';\nimport { NgtContextMenuDirective } from './ngt-context-menu.directive';\n\n@NgModule({\n declarations: [\n NgtContextMenuDirective,\n NgtContextMenuComponent,\n ],\n exports: [\n NgtContextMenuDirective,\n NgtContextMenuComponent,\n ],\n imports: [\n CommonModule,\n NgtSvgModule\n ],\n})\nexport class NgtContextMenuModule { }\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//NgtAbilityValidationService\nexport * from './services/validation/ngt-ability-validation.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.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 './components/ngt-dropzone/ngt-dropzone.meta';\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';\nexport * from './components/ngt-popover/ngt-popover.directive';\n\n// NgtContextMenu\nexport * from './components/ngt-context-menu/ngt-context-menu.module';\nexport * from './components/ngt-context-menu/ngt-context-menu.component';\nexport * from './components/ngt-context-menu/ngt-context-menu.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgtTranslateService","i1","i2","i3.NgtHttpFormService","i4.NgtAbilityValidationService","i5","i6.NgtFormValidationMessageComponent","i1.NgtDropdownContainerComponent","i1.NgtStylizableDirective","i2.NgtTranslateService","i3","i4.NgtSvgComponent","i5.NgtDropdownComponent","i2.NgtAbilityValidationService","i5.NgtHelperComponent","i4.NgtModalHeaderComponent","i5.NgtModalBodyComponent","i6.NgtModalFooterComponent","i2.NgtFormComponent","i3.NgtSectionComponent","i4.NgtModalComponent","i6","i7","i8.NgtSvgComponent","i2.NgtStylizableDirective","i3.NgtFormComponent","i4.NgtSectionComponent","i5.NgtModalComponent","i7.NgtShiningComponent","i8.NgtHelperComponent","i4.NgtHttpValidationService","i5.NgtHttpResourceService","i6.NgtSectionComponent","i7.NgtModalComponent","i8.NgtTranslateService","i9","i10.NgtValidationComponent","i11.NgtShiningComponent","i12.NgtSvgComponent","i13.NgtHelperComponent","i3.NgtTranslateService","i4.NgtHttpService","i5.NgtFormComponent","i8","i12.NgtHelperComponent","i13.NgtSvgComponent","i4.NgtStylizableDirective","i5.NgtActionComponent","i6.NgtSelectComponent","i7.NgtSelectOptionTmp","i3.NgtSvgComponent","i1.NgtHttpService","i4.NgtShiningComponent","i5.NgtPaginationComponent","i6.NgtModalComponent","i7.NgtTagComponent","i8.NgtStylizableDirective","i2.NgtDatatableComponent","i4.NgtCheckboxComponent","i4","i6.NgtCheckboxComponent","i5.NgtInputComponent","i6.NgtModalHeaderComponent","i7.NgtModalBodyComponent","i8.NgtActionComponent","i9.NgtSvgComponent","i1.NgtTheadComponent","i2.NgtTbodyComponent","i3.NgtStylizableDirective","i5.NgtRadioButtonContainerComponent","i8.NgtShiningComponent","i9.NgtHelperComponent","i4.NgtTranslateService","i6.NgtValidationComponent","i8.NgtValidationComponent","i9.NgtShiningComponent","i10.NgtHelperComponent","i1.NgtFormComponent","i2.NgtSectionComponent","i3.NgtModalComponent","i4.NgtHelperComponent","i3.NgtPortletHeaderComponent","i4.NgtPortletBodyComponent","i5.NgtPortletFooterComponent","i5.NgtStylizableDirective","i7.NgtTranslateService","i9.NgtValidationComponent","i10.NgtShiningComponent","i11.NgtHelperComponent","i12.NgtInputComponent","i13.NgtCheckboxComponent","i2.NgtAttachmentHttpService","i7.NgtValidationComponent","i10.NgtDropzoneFileViewerComponent","i11.NgtDropzoneViewComponent","i12.CustomDropzonePreviewComponent","i4.NgtDropdownComponent","i2.NgtSvgComponent"],"mappings":"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"}
|