{"version":3,"file":"ngx-softfocus.mjs","sources":["../../../projects/ngx-softfocus/src/lib/components/icon/icon.component.ts","../../../projects/ngx-softfocus/src/lib/components/icon/icon.component.html","../../../projects/ngx-softfocus/src/lib/components/button/button.component.ts","../../../projects/ngx-softfocus/src/lib/components/button/button.component.html","../../../projects/ngx-softfocus/src/lib/components/icon/icon.module.ts","../../../projects/ngx-softfocus/src/lib/components/button/button.module.ts","../../../projects/ngx-softfocus/src/lib/components/badge/badge.component.ts","../../../projects/ngx-softfocus/src/lib/components/badge/badge.component.html","../../../projects/ngx-softfocus/src/lib/components/badge/badge.module.ts","../../../projects/ngx-softfocus/src/lib/models/pagination/size-paginations-enum.ts","../../../projects/ngx-softfocus/src/lib/models/table/check-type.ts","../../../projects/ngx-softfocus/src/lib/components/checkbox/checkbox.component.ts","../../../projects/ngx-softfocus/src/lib/components/checkbox/checkbox.component.html","../../../projects/ngx-softfocus/src/lib/components/pagination/pagination.component.ts","../../../projects/ngx-softfocus/src/lib/components/pagination/pagination.component.html","../../../projects/ngx-softfocus/src/lib/services/IdService.ts","../../../projects/ngx-softfocus/src/lib/components/radio/radio.component.ts","../../../projects/ngx-softfocus/src/lib/components/radio/radio.component.html","../../../projects/ngx-softfocus/src/lib/components/table/table.component.ts","../../../projects/ngx-softfocus/src/lib/components/table/table.component.html","../../../projects/ngx-softfocus/src/lib/components/checkbox/checkbox.module.ts","../../../projects/ngx-softfocus/src/lib/components/label/label.component.ts","../../../projects/ngx-softfocus/src/lib/components/label/label.component.html","../../../projects/ngx-softfocus/src/lib/components/label/label.module.ts","../../../projects/ngx-softfocus/src/lib/components/pagination/pagination.module.ts","../../../projects/ngx-softfocus/src/lib/components/radio/radio.module.ts","../../../projects/ngx-softfocus/src/lib/components/table/table.module.ts","../../../projects/ngx-softfocus/src/lib/models/table/button-table-enum.ts","../../../projects/ngx-softfocus/src/lib/components/table/table.ts","../../../projects/ngx-softfocus/src/lib/components/input/input.component.ts","../../../projects/ngx-softfocus/src/lib/components/input/input.component.html","../../../projects/ngx-softfocus/src/lib/components/input/input.module.ts","../../../projects/ngx-softfocus/src/lib/components/hint/hint.component.ts","../../../projects/ngx-softfocus/src/lib/components/hint/hint.component.html","../../../projects/ngx-softfocus/src/lib/components/hint/hint.module.ts","../../../projects/ngx-softfocus/src/lib/components/toggle/toggle.component.ts","../../../projects/ngx-softfocus/src/lib/components/toggle/toggle.component.html","../../../projects/ngx-softfocus/src/lib/components/toggle/toggle.module.ts","../../../projects/ngx-softfocus/src/lib/models/toggle/size-toggle-enum.ts","../../../projects/ngx-softfocus/src/lib/models/toggle/style-toggle-enum.ts","../../../projects/ngx-softfocus/src/lib/models/box/size-box-enum.ts","../../../projects/ngx-softfocus/src/lib/models/box/type-border-radius-enum.ts","../../../projects/ngx-softfocus/src/lib/components/box/box.component.ts","../../../projects/ngx-softfocus/src/lib/components/box/box.component.html","../../../projects/ngx-softfocus/src/lib/components/box/box.module.ts","../../../projects/ngx-softfocus/src/lib/models/component-size.ts","../../../projects/ngx-softfocus/src/lib/models/card-client/card-client-enum.ts","../../../projects/ngx-softfocus/src/lib/models/dropdown/type-dropdown-enum.ts","../../../projects/ngx-softfocus/src/lib/components/dropdown/dropdown.ts","../../../projects/ngx-softfocus/src/lib/utils/graphql-params.ts","../../../projects/ngx-softfocus/src/lib/utils/softfocus-utils.ts","../../../projects/ngx-softfocus/src/lib/components/item-select/item-select.component.ts","../../../projects/ngx-softfocus/src/lib/components/item-select/item-select.component.html","../../../projects/ngx-softfocus/src/lib/components/simple-tooltip/simple-tooltip.component.ts","../../../projects/ngx-softfocus/src/lib/components/simple-tooltip/simple-tooltip.component.html","../../../projects/ngx-softfocus/src/lib/directives/simple-tooltip/simple-tooltip.directive.ts","../../../projects/ngx-softfocus/src/lib/components/dropdown/dropdown.component.ts","../../../projects/ngx-softfocus/src/lib/components/dropdown/dropdown.component.html","../../../projects/ngx-softfocus/src/lib/components/card-client/card-client.component.ts","../../../projects/ngx-softfocus/src/lib/components/card-client/card-client.component.html","../../../projects/ngx-softfocus/src/lib/directives/directives.module.ts","../../../projects/ngx-softfocus/src/lib/components/item-select/item.module.ts","../../../projects/ngx-softfocus/src/lib/components/dropdown/dropdown.module.ts","../../../projects/ngx-softfocus/src/lib/components/card-client/card-client.module.ts","../../../projects/ngx-softfocus/src/lib/components/pagination/pagination.ts","../../../projects/ngx-softfocus/src/lib/components/filter/filter.component.ts","../../../projects/ngx-softfocus/src/lib/components/filter/filter.component.html","../../../projects/ngx-softfocus/src/lib/components/filter/filter.module.ts","../../../projects/ngx-softfocus/src/lib/components/filter/filter.ts","../../../projects/ngx-softfocus/src/lib/components/box-message/box-message.component.ts","../../../projects/ngx-softfocus/src/lib/components/box-message/box-message.component.html","../../../projects/ngx-softfocus/src/lib/components/box-message/box-message.module.ts","../../../projects/ngx-softfocus/src/lib/components/box-message-loading/box-message-loading.component.ts","../../../projects/ngx-softfocus/src/lib/components/box-message-loading/box-message-loading.component.html","../../../projects/ngx-softfocus/src/lib/components/box-message-loading/box-message-loading.module.ts","../../../projects/ngx-softfocus/src/lib/components/simple-tooltip/simple-tooltip.module.ts","../../../projects/ngx-softfocus/src/lib/components/notification/notification.component.ts","../../../projects/ngx-softfocus/src/lib/components/notification/notification.component.html","../../../projects/ngx-softfocus/src/lib/components/notification/notification.module.ts","../../../projects/ngx-softfocus/src/lib/components/notification/notification.ts","../../../projects/ngx-softfocus/src/lib/components/table-v2/table-v2.ts","../../../projects/ngx-softfocus/src/lib/components/table-v2/table-v2.component.ts","../../../projects/ngx-softfocus/src/lib/components/table-v2/table-v2.component.html","../../../projects/ngx-softfocus/src/lib/components/table-v2/table-v2.module.ts","../../../projects/ngx-softfocus/src/public-api.ts","../../../projects/ngx-softfocus/src/ngx-softfocus.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\n\n@Component({\n    selector: 'soft-icon',\n    templateUrl: './icon.component.html',\n    styleUrls: ['./icon.component.scss']\n})\nexport class IconComponent {\n    @Input() type?: string;\n    @Input() width = '1rem';\n    @Input() height = '1rem';\n    @Input() iconLoading = false;\n    @Input() color?: string;\n}\n","<svg *ngIf=\"!iconLoading; else loading\" [style.width]=\"width\" [style.height]=\"height\">\n    <use [attr.fill]=\"color\" [attr.xlink:href]=\"('assets/icons/sprite.css.svg#' + type)\" />\n</svg>\n\n<ng-template #loading>\n    <i class=\"la la-spinner la-pulse la-fw\"></i>\n</ng-template>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n    selector: 'soft-button',\n    templateUrl: './button.component.html',\n    styleUrls: ['./button.component.scss']\n})\nexport class ButtonComponent {\n    @Input() style!: string;\n    @Input() variation!: string;\n    @Input() type = 'button';\n    @Input() size!: string;\n    @Input() shape!: string;\n    @Input() disabled = false;\n    @Input() leftIcon = '';\n    @Input() rightIcon = '';\n    @Input() iconOnly = false;\n    @Input() widthButton?: string | null;\n    @Input() heightButton?: string | null;\n    @Input() functionModal?: () => any;\n    @Input() colorButton?: string | null;\n    @Input() iconColor?: string;\n\n    validateFunction(): any {\n        if (this.functionModal != null){\n            return this.functionModal();\n        } else {\n            return null;\n        }\n    }\n}\n","<button [style.background-color]=\"colorButton\" [style.min-width]=\"widthButton\" [style.justify-content]=\"'center'\"\n    [style.min-height]=\"heightButton\"\n    class=\"ngx-btn {{'ngx-btn-' + style}} {{'ngx-btn-' + size}} {{'ngx-btn-' + variation}} {{'ngx-btn-' + shape}}\"\n    (click)=\"validateFunction()\" [ngClass]=\"{'ngx-btn-icon': iconOnly}\" [disabled]=\"disabled\" [type]=\"type\">\n\n    <soft-icon *ngIf=\"leftIcon || iconOnly\" [type]=\"leftIcon\" [class.left]=\"!iconOnly\" [class.center]=\"iconOnly\"\n        [color]=\"iconColor\"></soft-icon>\n\n    <ng-content></ng-content>\n\n    <soft-icon *ngIf=\"rightIcon\" [type]=\"rightIcon\" [color]=\"iconColor\" class=\"right\"></soft-icon>\n</button>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconComponent } from './icon.component';\n\n@NgModule({\n    declarations: [\n        IconComponent\n    ],\n    exports: [\n        IconComponent\n    ],\n    imports: [\n        CommonModule\n    ]\n})\nexport class IconModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonComponent } from './button.component';\nimport { IconModule } from '../icon/icon.module';\n\n@NgModule({\n    declarations: [\n        ButtonComponent\n    ],\n    exports: [\n        ButtonComponent\n    ],\n    imports: [\n        CommonModule,\n        IconModule\n    ]\n})\nexport class ButtonModule { }\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { COMPONENT_SIZE } from '../../models/component-size';\n\n@Component({\n    selector: 'soft-badge',\n    templateUrl: './badge.component.html',\n    styleUrls: ['./badge.component.scss']\n})\nexport class BadgeComponent {\n\n    @Input() style!: string;\n    @Input() type!: string;\n    @Input() size!: COMPONENT_SIZE;\n    @Input() shape!: string;\n    @Input() disabled = false;\n    @Input() leftIcon = true;\n    @Output() closeVar: EventEmitter<void> = new EventEmitter<void>();\n\n    close(): void {\n        this.closeVar.emit();\n    }\n}\n","<span class=\"dis-flex bdg align-middle {{'bdg-' + style}} {{'bdg-' + size}} {{'bdg-' + type}} {{'bdg-' + shape}}\">\n    <soft-icon [type]=\"'arrows-right-arrow-5-outline'\" class=\"left\" *ngIf=\"leftIcon\"></soft-icon>\n    <ng-content></ng-content>\n    <span class=\"styleIcon\" (click)=\"close()\">\n         <soft-icon [type]=\"'user-interface-close-outline'\" [style.width]=\"'8px'\"></soft-icon>\n    </span>\n</span>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {BadgeComponent} from './badge.component';\nimport { IconModule } from '../icon/icon.module';\nimport {ButtonModule} from '../button/button.module';\n\n@NgModule({\n    declarations: [\n        BadgeComponent\n    ],\n    exports: [\n        BadgeComponent\n    ],\n    imports: [\n        CommonModule,\n        IconModule,\n        ButtonModule\n    ]\n})\nexport class BadgeModule { }\n","export enum SIZE_PAGINATION {\n    LARGE = 'large',\n    MEDIUM = 'medium',\n    SMALL = 'small'\n}\n\nexport enum PAGE_SIZE {\n    FIFTEEN = 15,\n    TWENTY_FIVE = 25,\n    FIFTY = 50,\n    ONE_HUNDRED = 100,\n    FIVE_HUNDRED = 500\n}\n\nexport type TYPE_PAGE_SIZE = 15 | 25 | 50 | 100 | 500;\n","export enum CHECK_TYPE {\n    RADIO = 'RADIO',\n    BOX = 'BOX'\n}\n","import { Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n    selector: 'soft-checkbox',\n    templateUrl: './checkbox.component.html',\n    styleUrls: ['./checkbox.component.scss'],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => CheckboxComponent),\n            multi: true\n        }\n    ]\n})\nexport class CheckboxComponent implements ControlValueAccessor, OnInit {\n    private static usedIds: string[] = [];\n\n    @Input()\n    public size!: string;\n\n    @Input()\n    public style!: string;\n\n    @Input()\n    public disabled = false;\n\n    @Input()\n    public set value(isChecked: boolean) {\n        if (!this.disabled) {\n            this.isChecked = isChecked;\n            this.onChange(isChecked);\n        }\n    }\n\n    @Input()\n    public isChecked = false;\n\n    @Input() justifyStart = false;\n\n    @Output()\n    public clickEvent = new EventEmitter<void>();\n\n    checkboxId!: string;\n\n    public onChange: any = () => { };\n    public onTouch: any = () => { };\n\n    ngOnInit(): void {\n        this.setCheckboxId();\n    }\n\n    setCheckboxId(): void {\n        let novoId = 'checkbox-' + Math.random().toString(36).substring(2, 9);\n\n        while (CheckboxComponent.usedIds.includes(novoId)) {\n            novoId = 'checkbox-' + Math.random().toString(36).substring(2, 9);\n        }\n\n        CheckboxComponent.usedIds.push(novoId);\n        this.checkboxId = novoId;\n    }\n\n    public registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    public registerOnTouched(fn: any): void {\n        this.onTouch = fn;\n    }\n\n    public writeValue(checked: boolean): void {\n        this.isChecked = checked;\n    }\n\n    public setDisabledState(isDisabled: boolean): void {\n        this.disabled = isDisabled;\n    }\n\n    public toggleChecked(): void {\n        if (!this.disabled) {\n            this.isChecked = !this.isChecked;\n            this.onChange(this.isChecked);\n        }\n    }\n\n    public handleClickEvent(): void {\n        this.clickEvent.emit();\n    }\n}\n","<div class=\"checkbox-container\">\n    <label [for]=\"checkboxId\" class=\"checkbox-label {{ 'label-'+ size }}\" [class.justify-start]=\"justifyStart\">\n        <input type=\"checkbox\" [id]=\"checkboxId\" class=\"soft-checkbox {{ 'cbx-'+ size }} {{ style }}\"\n            [disabled]=\"disabled\" [checked]=\"isChecked\" (change)=\"handleClickEvent()\">\n        <ng-content></ng-content>\n    </label>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport {SIZE_PAGINATION, PAGE_SIZE, TYPE_PAGE_SIZE} from '../../models/pagination/size-paginations-enum';\nimport { PageSizeOption, PageStatusEvent } from './pagination';\nimport { BehaviorSubject } from 'rxjs';\n\n@Component({\n    selector: 'soft-pagination',\n    templateUrl: './pagination.component.html',\n    styleUrls: ['./pagination.component.scss']\n})\nexport class PaginationComponent implements OnInit {\n\n    arrowLeftFull = false;\n    arrowLeft = false;\n    arrowRight = false;\n    arrowRightFull = false;\n    currentPage = 1;\n    pageIndexes = new Map<number, number>(\n        [\n            [1, 1],\n            [2, 2],\n            [3, 3]\n        ]\n    );\n    indexPage = 1;\n    totalPages = 0;\n    intervalStart = 0;\n    intervalEnd = 0;\n\n    selectItemsPerPage = [\n        {value: PAGE_SIZE.FIFTEEN, label: '15'},\n        {value: PAGE_SIZE.TWENTY_FIVE, label: '25'},\n        {value: PAGE_SIZE.FIFTY, label: '50'},\n        {value: PAGE_SIZE.ONE_HUNDRED, label: '100'},\n        {value: PAGE_SIZE.FIVE_HUNDRED, label: '500'},\n    ] as PageSizeOption[];\n\n    @Input() size: string = SIZE_PAGINATION.MEDIUM;\n\n    @Input() totalItemsPerPage: TYPE_PAGE_SIZE = PAGE_SIZE.FIFTEEN;\n    @Input() showCursorInformation = false;\n    @Input() showPageSizeDropdown = false;\n    @Output() pageEvent: EventEmitter<PageStatusEvent> = new EventEmitter<PageStatusEvent>();\n    private totalItemsSubject: BehaviorSubject<number> = new BehaviorSubject<number>(0);\n\n    @Input()\n    set totalItems(value: number) {\n        this.totalItemsSubject.next(value);\n    }\n\n    get totalItems(): number {\n        return this.totalItemsSubject.value;\n    }\n\n    ngOnInit(): void {\n        const selectedOption = this.selectItemsPerPage.find(it => it.value === this.totalItemsPerPage);\n        if (selectedOption) {\n            selectedOption.selected = true;\n        }\n        this.refresh();\n        this.totalItemsSubject.subscribe(() => {\n            this.refresh();\n        });\n    }\n\n    calcAmountPages(): void {\n        this.totalPages = Math.ceil(this.totalItems / this.totalItemsPerPage);\n    }\n\n    calcInterval(): void {\n        this.intervalStart = (this.currentPage - 1) * this.totalItemsPerPage + 1;\n        this.intervalEnd = Math.min(this.currentPage * this.totalItemsPerPage, this.totalItems);\n    }\n\n    isLastPage(): boolean {\n        return this.currentPage === this.totalPages;\n    }\n\n    isFirstPage(): boolean {\n        return this.currentPage === 1;\n    }\n\n    shouldPaginate(pageIndex: number): boolean {\n        return pageIndex === 1 && !this.isFirstPage() || pageIndex === 3 && !this.isLastPage();\n    }\n\n    clickFirstPage(): void {\n        this.currentPage = 1;\n        this.pageEvent.emit({currentPage: this.currentPage, pageSize: this.totalItemsPerPage});\n        this.indexPage = 1;\n        this.verifyClickableButtons();\n        this.handleNumberButtons();\n    }\n\n    clickBack(): void {\n        let pageIndex = this.indexPage;\n        if (this.shouldPaginate(pageIndex)) {\n            pageIndex = 2;\n        }\n        this.currentPage = this.currentPage > 1 ? this.currentPage - 1 : 1;\n        this.pageEvent.emit({currentPage: this.currentPage, pageSize: this.totalItemsPerPage});\n        this.indexPage = pageIndex;\n        this.verifyClickableButtons();\n        this.handleNumberButtons();\n    }\n\n    clickPageIndex(pageIndex: number): void {\n        if (this.indexPage === pageIndex) {\n            return;\n        }\n\n        this.currentPage = this.pageIndexes.get(pageIndex) ?? 1;\n        if (this.shouldPaginate(pageIndex)) {\n            pageIndex = 2;\n        }\n\n        this.pageEvent.emit({currentPage: this.currentPage, pageSize: this.totalItemsPerPage});\n        this.indexPage = pageIndex;\n        this.verifyClickableButtons();\n        this.handleNumberButtons();\n    }\n\n    clickNext(): void {\n        let pageIndex = this.indexPage;\n        if (this.shouldPaginate(pageIndex)) {\n            pageIndex = 2;\n        } else {\n            pageIndex++;\n        }\n        this.currentPage = !this.isLastPage() ? this.currentPage + 1 : this.totalPages;\n        this.pageEvent.emit({currentPage: this.currentPage, pageSize: this.totalItemsPerPage});\n        this.indexPage = pageIndex;\n        this.verifyClickableButtons();\n        this.handleNumberButtons();\n    }\n\n    clickLastPage(): void {\n        this.currentPage = this.totalPages;\n        this.pageEvent.emit({currentPage: this.currentPage, pageSize: this.totalItemsPerPage});\n        this.indexPage = 3;\n        this.verifyClickableButtons();\n        this.handleNumberButtons();\n    }\n\n    verifyClickableButtons(): void {\n        this.arrowLeft = this.currentPage > 1;\n        this.arrowLeftFull = this.currentPage > 1;\n        this.arrowRight = this.currentPage < this.totalPages;\n        this.arrowRightFull = this.currentPage < this.totalPages;\n    }\n\n    handleNumberButtons(): void {\n        if (this.totalPages > 3) {\n            if (this.isLastPage()) {\n                this.setPageIndexes(this.totalPages - 2, this.totalPages - 1, this.currentPage);\n            } else if (this.isFirstPage()) {\n                this.setPageIndexes(this.currentPage, this.currentPage + 1, this.currentPage + 2);\n            } else {\n                this.setPageIndexes(this.currentPage - 1, this.currentPage, this.currentPage + 1);\n            }\n        }  else {\n            for (let i = 1; i <= this.totalPages; i++) {\n                this.pageIndexes.set(i, i);\n            }\n        }\n        this.calcInterval();\n    }\n\n    private setPageIndexes(index1: number, index2: number, index3: number): void {\n        this.pageIndexes.set(1, index1);\n        this.pageIndexes.set(2, index2);\n        this.pageIndexes.set(3, index3);\n    }\n\n    refresh(): void {\n        this.calcAmountPages();\n        this.calcInterval();\n        this.verifyClickableButtons();\n    }\n\n    selectPageSize(event: string): void {\n        this.totalItemsPerPage = parseInt(event, 0) as TYPE_PAGE_SIZE;\n        this.currentPage = 1;\n        this.indexPage = 1;\n        this.refresh();\n        this.handleNumberButtons();\n        this.pageEvent.emit({currentPage: this.currentPage, pageSize: this.totalItemsPerPage});\n    }\n}\n","<div class=\"d-flex align-center justify-center\" style=\"gap: 1%\">\n    <div *ngIf=\"showPageSizeDropdown\"  class=\"dropdown-page d-flex align-center\">\n        <select #pageSizeOptions class=\"form-control\" style=\"width: auto\" (change)=\"selectPageSize(pageSizeOptions.value)\">\n            <option *ngFor=\"let item of selectItemsPerPage\" [selected]=\"item.selected\">{{item.label}}</option>\n        </select>\n        <label class=\"label ml-3\">Por página</label>\n    </div>\n    <div class=\"ngx-div-button\">\n        <button class=\"ngx-button ngx-first-button {{'ngx-button-' + size}}\" (click)=\"clickFirstPage()\"\n                [disabled]=\"!this.arrowLeftFull\"\n                [ngClass]=\"{'disabled': !this.arrowLeftFull}\">\n            <soft-icon [type]=\"'arrows-double-chevron-left-outline'\"></soft-icon>\n        </button>\n        <button class=\"ngx-button ngx-middle-button ngx-second-button {{'ngx-button-' + size}}\" (click)=\"clickBack()\"\n                [disabled]=\"!this.arrowLeft\" [ngClass]=\"{'disabled': !this.arrowLeft}\">\n            <soft-icon [type]=\"'arrows-left-arrow-outline'\"></soft-icon>\n        </button>\n        <button *ngFor=\"let map of pageIndexes | keyvalue\" class=\"ngx-button ngx-middle-button {{'ngx-button-' + size}}\" (click)=\"clickPageIndex(map.key)\"\n                [ngClass]=\"{'current-page': this.currentPage === map.value, 'disabled': totalPages < map.value}\" [hidden]=\"totalPages < map.value\">{{map.value}}</button>\n        <button class=\"ngx-button ngx-middle-button ngx-penultimate-button {{'ngx-button-' + size}}\" (click)=\"clickNext()\"\n                [disabled]=\"!this.arrowRight\" [ngClass]=\"{'disabled': !this.arrowRight}\">\n            <soft-icon [type]=\"'arrows-right-arrow-2-outline'\"></soft-icon>\n        </button>\n        <button class=\"ngx-button ngx-last-button {{'ngx-button-' + size}}\" (click)=\"clickLastPage()\"\n                [disabled]=\"!this.arrowRightFull\"\n                [ngClass]=\"{'disabled': !this.arrowRightFull}\">\n            <soft-icon [type]=\"'arrows-double-chevron-right-outline'\"></soft-icon>\n        </button>\n    </div>\n    <label *ngIf=\"showCursorInformation\" class=\"label\">Exibindo {{this.intervalStart}} - {{this.intervalEnd}} de <b>{{this.totalItems}}</b></label>\n</div>\n","import {Injectable} from '@angular/core';\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class IdService {\n    public ids: string[] = [];\n\n    public generate(): string {\n        let isUnique = false;\n        let tempId = '';\n\n        while (!isUnique) {\n            tempId = this.generator();\n            if (!this.idExists(tempId)) {\n                isUnique = true;\n                this.ids.push(tempId);\n            }\n        }\n\n        return tempId;\n    }\n\n    public remove(id: string): void {\n        const index = this.ids.indexOf(id);\n        this.ids.splice(index, 1);\n    }\n\n    private generator(): string {\n        return `${this.S4()}-${this.S4()}`;\n    }\n\n    private idExists(id: string): boolean {\n        return this.ids.includes(id);\n    }\n\n    private S4(): string {\n        return (((1 + Math.random()) * 0x10000) || 0).toString(16).substring(1);\n    }\n}\n","import { Component, Input, forwardRef, OnInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { IdService } from '../../services/IdService';\n\n@Component({\n    selector: 'soft-radio',\n    templateUrl: './radio.component.html',\n    styleUrls: ['./radio.component.scss'],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => RadioComponent),\n            multi: true\n        }\n    ]\n})\n\n\nexport class RadioComponent implements ControlValueAccessor, OnInit {\n\n    @Input()\n    public size!: string;\n\n    @Input()\n    public groupName!: string;\n\n    @Input()\n    public disabled = false;\n\n    @Input()\n    public inputValue?: string;\n\n    @Input()\n    public boldLabel = false;\n\n    public id!: string;\n\n    private idService = new IdService();\n\n    @Input()\n    public set value(value: boolean | string) {\n        this.setIsChecked(value);\n        this.onChange(value);\n    }\n\n    public isChecked = false;\n\n    public onChange: any = (value: any) => { };\n    public onTouch: any = () => { };\n\n    constructor() { }\n\n    ngOnInit(): void {\n        this.id = this.idService.generate();\n    }\n\n    public registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    public registerOnTouched(fn: any): void {\n        this.onTouch = fn;\n    }\n\n    public writeValue(value: boolean | string): void {\n        this.setIsChecked(value);\n        this.onChange(value);\n    }\n\n    public setDisabledState(isDisabled: boolean): void {\n        this.disabled = isDisabled;\n    }\n\n    public toggleChecked(): void {\n        if (this.disabled) {\n            return;\n        }\n        this.isChecked = !this.isChecked;\n        if (this.isChecked && this.inputValue) {\n            this.onChange(this.inputValue);\n        } else {\n            this.onChange(this.isChecked);\n        }\n    }\n\n    setIsChecked(value: boolean | string): void {\n        if (typeof value === 'string') {\n            this.isChecked = value === this.inputValue;\n            return;\n        }\n\n        this.isChecked = value;\n    }\n}\n","<div class=\"radio-container\">\n    <label class=\"radio-label {{ 'label-'+ size }}\" [class.bold-label]=\"boldLabel\" for=\"{{this.id}}\">\n        <input type=\"radio\" name=\"{{groupName}}\"\n               class=\"{{ 'radio-'+ size }}\"\n               [disabled]=\"disabled\"\n               [checked]=\"isChecked\"\n               [value]=\"inputValue\"\n               (change)=\"writeValue(inputValue || true)\"\n               id=\"{{id}}\">\n        <ng-content></ng-content>\n    </label>\n</div>\n","import { AfterViewInit, Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, Renderer2, } from '@angular/core';\nimport { SIZE_PAGINATION } from '../../models/pagination/size-paginations-enum';\nimport { CHECK_TYPE } from '../../models/table/check-type';\nimport { TableConfig } from './table';\nimport { PageStatusEvent } from '../pagination/pagination';\n\n@Component({\n    selector: 'soft-table',\n    templateUrl: './table.component.html',\n    styleUrls: ['./table.component.scss']\n})\nexport class TableComponent implements OnInit, AfterViewInit {\n    @Input() tableConfig!: TableConfig;\n    @Input() data: any[] = [];\n    @Input() maxHeight = '100%';\n    @Input() backgroundColorTable = '#FFFFFF';\n    @Input() paginationSize = SIZE_PAGINATION.SMALL;\n    @Input() removeScroll = false;\n    @Input() firstColumnColor = '#FFFFFF';\n\n    @Output() editSelected = new EventEmitter<number[] | string[]>();\n    @Output() deleteSelected = new EventEmitter<number[] | string[]>();\n    @Output() customButtonSelected = new EventEmitter<number[] | string[]>();\n    @Output() editItem = new EventEmitter<number | string>();\n    @Output() applyCustomFunctionToItem = new EventEmitter<number | string>();\n    @Output() deleteItem = new EventEmitter<number | string>();\n    @Output() addItem = new EventEmitter<number | string>();\n    @Output() altPage = new EventEmitter<number | string>();\n    @Output() itemSelected = new EventEmitter();\n\n    editButton = false;\n    deleteButton = false;\n    customButton = false;\n    customButtonIcon = '';\n    addButton = false;\n    checkType = CHECK_TYPE;\n\n    @HostListener('window:resize')\n    adjustTableOverflowPadding(): void {\n        let paddingScrollTable = 12; // 12 aqui é o tamanho do scrollbar(6) mais o padding-right da table(6).\n        if (this.maxHeight === '100%') {\n            paddingScrollTable -= 6; // Retira o tamanho do scrollbar(6).\n        }\n        if (this.removeScroll) {\n            return;\n        }\n        const tableWidth = this.el.nativeElement.querySelector('.ngx-table').offsetWidth + paddingScrollTable;\n        const divScrollWidth = this.el.nativeElement.querySelector('.ngx-div-scroll').offsetWidth;\n\n        if (tableWidth <= divScrollWidth) {\n            this.renderer.setStyle(this.el.nativeElement.querySelector('.ngx-div-scroll-padding-bottom'), 'bottom', '0');\n        } else {\n            this.renderer.setStyle(this.el.nativeElement.querySelector('.ngx-div-scroll-padding-bottom'), 'bottom', '6px');\n        }\n\n        const tableHeight = this.el.nativeElement.querySelector('.ngx-table').offsetHeight + paddingScrollTable;\n        const divScrollHeight = this.el.nativeElement.querySelector('.ngx-div-scroll').offsetHeight;\n\n        if (tableHeight <= divScrollHeight || this.maxHeight === '100%' || this.maxHeight.replace(/[^0-9]/g, '') > tableHeight) {\n            this.renderer.setStyle(this.el.nativeElement.querySelector('.ngx-div-scroll-padding-right'), 'right', '0');\n        } else {\n            this.renderer.setStyle(this.el.nativeElement.querySelector('.ngx-div-scroll-padding-right'), 'right', '6px');\n        }\n    }\n\n    constructor(private el: ElementRef, private renderer: Renderer2) {\n    }\n\n    ngOnInit(): void {\n        this.mapItems();\n        this.editButton = !!this.tableConfig?.editButton;\n        this.deleteButton = !!this.tableConfig?.deleteButton;\n        this.addButton = !!this.tableConfig?.addButton;\n        this.customButton = !!this.tableConfig?.customButton;\n        this.customButtonIcon = this.tableConfig?.customButtonIcon ?? '';\n\n        if (this.tableConfig.showPagination === undefined) {\n            this.tableConfig.showPagination = true;\n        }\n\n        if (this.tableConfig.showMenuButton === undefined) {\n            this.tableConfig.showMenuButton = true;\n        }\n    }\n\n    ngAfterViewInit(): void {\n        this.adjustTableOverflowPadding();\n    }\n\n    deleteItemFunction(row: any): void {\n        this.deleteItem.emit(this.getId(row));\n    }\n\n    editItemFunction(row: any): void {\n        this.editItem.emit(this.getId(row));\n    }\n\n    customFunctionToItem(row: any): void {\n        this.applyCustomFunctionToItem.emit(this.getId(row));\n    }\n\n    deleteAllSelected(): void {\n        this.deleteSelected.emit(this.itemsChecked());\n    }\n\n    editAllSelected(): void {\n        this.editSelected.emit(this.itemsChecked());\n    }\n\n    applyCustomFunctionToAllSelected(): void {\n        this.customButtonSelected.emit(this.itemsChecked());\n    }\n\n    addIcon(icon: string): boolean {\n        return icon.length > 0 && icon !== '';\n    }\n\n    handleClickCheckbox(row: any): void {\n        this.itemSelected.emit(row);\n    }\n\n    handleClickRadio(row: any): void {\n        this.itemSelected.emit(row);\n    }\n\n    addItemFunction(): void {\n        this.addItem.emit();\n    }\n\n    itemsChecked(): any[] {\n        return this.data.filter(data => data.isChecked).map(x => x[this.tableConfig.columnRefId]);\n    }\n\n    mapItems(): void {\n        this.data.forEach((row, index) => {\n            row.idAuxiliar = index;\n            row.isSelected = this.tableConfig.isSelectAndCheckedDefault ? row.isChecked : false;\n            row.isChecked = this.tableConfig.isSelectAndCheckedDefault ? row.isChecked : false;\n        });\n    }\n\n    focusIn(id: any): void {\n        if (this.tableConfig.checkButtonType !== CHECK_TYPE.BOX) {\n            this.data.forEach(row => {\n                row.isSelected = false;\n                row.isChecked = false;\n            });\n            this.data.find(row => row.idAuxiliar === id.idAuxiliar).isSelected = true;\n            this.data.find(row => row.idAuxiliar === id.idAuxiliar).isChecked = true;\n        }\n    }\n\n    checkItems(): void {\n        this.data[0].isChecked === false ?\n            this.data.forEach(x => x.isChecked = true) :\n            this.data.forEach(x => x.isChecked = false);\n    }\n\n    selectedPage(event: PageStatusEvent): void {\n        this.altPage.emit(event.currentPage);\n    }\n\n    getId(x: any): string | number {\n        return x[this.tableConfig.columnRefId];\n    }\n}\n","<div class=\"ngx-div-primary\">\n    <div class=\"menu-buttons\" *ngIf=\"tableConfig.showMenuButton\">\n        <soft-button [style]=\"'primary'\" size=\"small\" type=\"outline\" variation=\"outline\"\n            [leftIcon]=\"'user-interface-checkedtool-outline'\" [iconOnly]=\"true\"\n            [disabled]=\"!tableConfig.checkButtonType\" (click)=\"checkItems()\"></soft-button>\n        <soft-button [style]=\"'primary'\" size=\"small\" type=\"outline\" variation=\"outline\"\n            [leftIcon]=\"'user-interface-edit-outline'\" [iconOnly]=\"true\" [disabled]=\"!editButton\"\n            (click)=\"editAllSelected()\"></soft-button>\n        <soft-button [style]=\"'primary'\" size=\"small\" type=\"outline\" variation=\"outline\"\n            [leftIcon]=\"'user-interface-edit-outline'\" [iconOnly]=\"true\" [disabled]=\"!customButton\"\n            (click)=\"applyCustomFunctionToAllSelected()\"></soft-button>\n        <soft-button [style]=\"'primary'\" size=\"small\" type=\"outline\" variation=\"outline\"\n            [leftIcon]=\"'user-interface-trash-outline'\" [iconOnly]=\"true\" [disabled]=\"!deleteButton\"\n            (click)=\"deleteAllSelected()\"></soft-button>\n        <soft-button [style]=\"'primary'\" size=\"small\" type=\"outline\" variation=\"outline\"\n            [leftIcon]=\"'user-interface-plus-outline'\" [iconOnly]=\"true\" [disabled]=\"!addButton\"\n            (click)=\"addItemFunction()\"></soft-button>\n    </div>\n\n    <div class=\"ngx-div-scroll-wrapper\">\n        <div class=\"ngx-div-scroll\" style=\"max-height: {{maxHeight}}\"\n            [style.padding-right]=\"removeScroll? '1px': '5px'\">\n            <table class=\"ngx-table\" style=\"background-color: {{backgroundColorTable}}\">\n                <thead class=\"ngx-thead\" style=\"outline: 1px solid {{backgroundColorTable}}\">\n                    <tr style=\"background-color: {{backgroundColorTable}}\">\n                        <th *ngIf=\"tableConfig.checkButtonType\" class=\"ngx-th\"></th>\n\n                        <th class=\"ngx-th\" *ngFor=\"let column of tableConfig.columns\">\n                            <ng-container *ngIf=\"column.header\">\n                                {{ column.header }}\n                            </ng-container>\n                        </th>\n\n                        <th class=\"ngx-th\" *ngIf=\"editButton\"></th>\n\n                        <th class=\"ngx-th\" *ngIf=\"deleteButton\"></th>\n                    </tr>\n                </thead>\n\n                <div class=\"spacer-top\"></div>\n\n                <tbody>\n                    <ng-container *ngFor=\"let row of data\">\n                        <tr class=\"ngx-tr\"\n                            [style.background-color]=\"tableConfig.backgroundColorRow ?? '$support-color-gray-050'\"\n                            (click)=\"focusIn(row)\" [class.selected]=\"tableConfig.useBorderSelected && row.isSelected\">\n                            <td *ngIf=\"tableConfig.checkButtonType\" class=\"td-button-start\"\n                                [style.background-color]=\"firstColumnColor\">\n                                <ng-container [ngSwitch]=\"tableConfig.checkButtonType\">\n                                    <soft-checkbox *ngSwitchCase=\"checkType.BOX\" size=\"large\"\n                                        [isChecked]=\"row.isChecked\" (clickEvent)=\"handleClickCheckbox(row)\">\n                                    </soft-checkbox>\n\n                                    <soft-radio *ngSwitchCase=\"checkType.RADIO\" size=\"large\" groupName=\"checkRadio\"\n                                        [value]=\"row.isChecked\" (click)=\"handleClickRadio(row)\">\n                                    </soft-radio>\n                                </ng-container>\n                            </td>\n\n                            <ng-container *ngFor=\"let column of tableConfig.columns\">\n                                <td class=\"ngx-td\"\n                                    [class.is-last-cell]=\"column.field == tableConfig.columns[(tableConfig.columns.length - 1)].field && !deleteButton\"\n                                    [style.border-radius]=\"column.field == tableConfig.columns[0].field && !tableConfig.checkButtonType ? '8px 0px 0px 8px' :\n                                column.field == tableConfig.columns[(tableConfig.columns.length - 1)].field && (!editButton && !deleteButton) ? '0px 8px 8px 0px' : '0px'\"\n                                    [style.text-align]=\"column.textAlignment\">\n                                    <div class=\"icon-div\" *ngIf=\"column.icon\">\n                                        <soft-icon *ngIf=\"column.icon ? addIcon(column.icon) : false\"\n                                            [class.icon-row]=\"column.icon\"\n                                            [type]=\"column.icon.replace(' ', '')\"></soft-icon>\n                                    </div>\n\n                                    {{ row[column.field] }}\n                                </td>\n                            </ng-container>\n\n                            <td *ngIf=\"editButton\" [class.td-button-start]=\"editButton\"\n                                [class.is-last-button]=\"!deleteButton\" class=\"ngx-td-button\">\n                                <soft-button [style]=\"'support-gray'\" size=\"small\" type=\"empty\"\n                                    leftIcon=\"user-interface-edit-outline\" [iconOnly]=\"true\" variation=\"empty\"\n                                    (click)=\"editItemFunction(row)\"></soft-button>\n                            </td>\n\n                            <td class=\"td-button-middle ngx-td-button\" *ngIf=\"customButton\">\n                                <soft-button [style]=\"'support-gray'\" size=\"small\" type=\"empty\"\n                                    [leftIcon]=\"(customButtonIcon != undefined ? customButtonIcon: '')\"\n                                    [iconOnly]=\"true\" variation=\"empty\"\n                                    (click)=\"customFunctionToItem(row)\"></soft-button>\n                            </td>\n\n                            <td *ngIf=\"deleteButton || tableConfig.deleteButtonConfig\"\n                                class=\"td-button-end ngx-td-button\">\n                                <soft-button [style]=\"'support-gray'\" size=\"small\" type=\"empty\"\n                                    leftIcon=\"user-interface-trash-outline\" variation=\"empty\" [iconOnly]=\"true\"\n                                    [disabled]=\"!!tableConfig.deleteButtonConfig?.disabled\"\n                                    [iconColor]=\"tableConfig.deleteButtonConfig?.iconColor\"\n                                    (click)=\"deleteItemFunction(row)\">\n                                </soft-button>\n                            </td>\n                        </tr>\n\n                        <tr class=\"spacer-bottom\">\n                    </ng-container>\n                </tbody>\n            </table>\n        </div>\n\n        <div class=\"ngx-div-scroll-padding-right\" *ngIf=\"!removeScroll\" [style.background-color]=\"backgroundColorTable\">\n        </div>\n\n        <div class=\"ngx-div-scroll-padding-bottom\" *ngIf=\"!removeScroll\"\n            [style.background-color]=\"backgroundColorTable\">\n        </div>\n    </div>\n\n    <div class=\"table-footer\" *ngIf=\"tableConfig.showPagination && tableConfig.totalItems\">\n        <div class=\"footer-button\">\n            <soft-button [style]=\"'primary'\" variation=\"solid\" type=\"solid\" [disabled]=\"!addButton\"\n                         (click)=\"addItemFunction()\">\n                Adicionar\n            </soft-button>\n        </div>\n        <div class=\"pagination\">\n            <soft-pagination (pageEvent)=\"selectedPage($event)\"\n                             [showCursorInformation]=\"true\"\n                             [totalItems]=\"tableConfig.totalItems\"\n                             [size]=\"paginationSize\"></soft-pagination>\n        </div>\n    </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CheckboxComponent } from './checkbox.component';\nimport { FormsModule } from '@angular/forms';\nimport { IconModule } from '../icon/icon.module';\n\n@NgModule({\n  declarations: [\n    CheckboxComponent\n  ],\n  exports: [\n    CheckboxComponent\n  ],\n  imports: [\n    CommonModule,\n    FormsModule,\n    IconModule\n  ]\n})\nexport class CheckboxModule { }\n","import { Component } from '@angular/core';\n\n@Component({\n    selector: 'soft-label',\n    templateUrl: './label.component.html',\n    styleUrls: ['./label.component.scss']\n})\nexport class LabelComponent {\n\n}\n","<label class=\"ngx-label\">\n    <ng-content></ng-content>\n</label>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LabelComponent } from './label.component';\n\n@NgModule({\n    declarations: [\n        LabelComponent\n    ],\n    exports: [\n        LabelComponent\n    ],\n    imports: [\n        CommonModule\n    ]\n})\nexport class LabelModule { }\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PaginationComponent} from './pagination.component';\nimport {IconModule} from \"../icon/icon.module\";\nimport { LabelModule } from '../label/label.module';\n\n@NgModule({\n    declarations: [\n        PaginationComponent\n    ],\n    exports: [\n        PaginationComponent\n    ],\n    imports: [\n        CommonModule,\n        IconModule,\n        LabelModule\n    ]\n})\nexport class PaginationModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RadioComponent } from './radio.component';\nimport { FormsModule } from '@angular/forms';\nimport { IconModule } from '../icon/icon.module';\n\n@NgModule({\n  declarations: [\n    RadioComponent\n  ],\n  exports: [\n    RadioComponent\n  ],\n  imports: [\n    CommonModule,\n    FormsModule,\n    IconModule\n  ]\n})\nexport class RadioModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '../icon/icon.module';\nimport { TableComponent } from './table.component';\nimport { ButtonModule } from '../button/button.module';\nimport { CheckboxModule } from '../checkbox/checkbox.module';\nimport { PaginationModule } from '../pagination/pagination.module';\nimport { RadioModule } from '../radio/radio.module';\n\n@NgModule({\n    declarations: [\n        TableComponent,\n    ],\n    exports: [\n        TableComponent,\n    ],\n    imports: [\n        CommonModule,\n        IconModule,\n        ButtonModule,\n        CheckboxModule,\n        PaginationModule,\n        RadioModule,\n    ],\n})\nexport class TableModule { }\n","export enum TABLE_BUTTONS {\n    CHECK_BUTTON = 'checkButton',\n    EDIT_BUTTON = 'editButton',\n    DELETE_BUTTON = 'deleteButton',\n    ADD_BUTTON = 'addButton',\n}\n","import { CHECK_TYPE } from '../../models/table/check-type';\n\nexport class TableConfig {\n    columns!: Column[];\n    totalItems?: number;\n    editButton?: boolean;\n    deleteButton?: boolean;\n    addButton?: boolean;\n    customButton?: boolean;\n    customButtonIcon?: string;\n    columnRefId!: string;\n    showPagination?: boolean;\n    showMenuButton?: boolean;\n    checkButtonType?: CHECK_TYPE;\n    useBorderSelected?: boolean;\n    isSelectAndCheckedDefault?: boolean;\n    deleteButtonConfig?: DeleteButtonConfig;\n    backgroundColorRow?: string;\n}\n\nexport class Column {\n    field!: string;\n    header?: string;\n    icon?: string;\n    textAlignment?: string;\n}\n\nexport class DeleteButtonConfig {\n    disabled?: boolean;\n    iconColor?: string;\n}\n","import { Component, forwardRef, Input, OnInit } from '@angular/core';\nimport { ControlValueAccessor, UntypedFormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { defineLocale, ptBrLocale } from 'ngx-bootstrap/chronos';\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\n\n@Component({\n    selector: 'soft-input',\n    templateUrl: './input.component.html',\n    styleUrls: ['./input.component.scss'],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => InputComponent),\n            multi: true\n        }\n    ]\n})\nexport class InputComponent implements ControlValueAccessor, OnInit {\n    @Input() idd?: string;\n    @Input() type!: string;\n    @Input() size!: string;\n    @Input() style!: string;\n    @Input() disabled = false;\n    @Input() placeholder = '';\n    @Input() required = false;\n    @Input() leftIcon = '';\n    @Input() rightIcon = '';\n    @Input() onError = false;\n    @Input() maxLength = 200;\n    @Input() justLetters = false;\n    @Input() titleCase = false;\n    @Input() upperCase = false;\n    @Input() useMaskMoneyConfig = false;\n    @Input() maskMoneyConfig = { prefix: 'R$ ', thousands: '.', decimal: ',', allowNegative: false, align: 'left' };\n    @Input() minimumDate = new Date(new Date().setFullYear(new Date().getFullYear() - 10));\n    @Input() maximumDate = new Date(new Date().setFullYear(new Date().getFullYear() + 10));\n    @Input() isDateField = false;\n    @Input() dateTheme = 'theme-default';\n    @Input() modalPosition: any = 'bottom';\n    @Input() leftIconColor = '#000000';\n    @Input() rightIconColor = '#000000';\n    @Input() pattern = '';\n\n    control: UntypedFormControl = new UntypedFormControl();\n    value: any;\n\n    constructor(private localeService: BsLocaleService) {\n        ptBrLocale.invalidDate = 'Data inválida';\n        defineLocale('customlocale', ptBrLocale);\n        this.localeService.use('customlocale');\n    }\n\n    ngOnInit(): void {\n        this.control = new UntypedFormControl();\n\n        this.control.valueChanges\n            .subscribe(value => {\n                this.value = value.toLocaleDateString(ptBrLocale);\n                this.onChange(this.value);\n            });\n    }\n\n    onChange = (value: any) => { };\n    onTouched = (value: any) => { };\n\n    onKey(event: any): void {\n        this.onChange(event.target.value);\n    }\n\n    onInput(event: any): void {\n        const { value } = event.target;\n        this.value = value;\n        if (this.isDateField) {\n            return;\n        } else if (this.upperCase) {\n            this.value = value.toUpperCase();\n        } else if (this.titleCase) {\n            this.value = value.replace(/\\b[a-z]/g, (char: string) => char.toUpperCase());\n        }\n    }\n\n    onBeforeInput(event: any): void {\n        const { inputType, data } = event;\n        const preventDefault = inputType === 'insertText' && (\n            (this.justLetters && /[^a-zA-Z\\s]/g.test(data)\n            || (this.pattern && !new RegExp(this.pattern).test(data))\n        ));\n        if (preventDefault) {\n            event.preventDefault();\n        }\n    }\n\n    writeValue(value: string): void {\n        this.value = value;\n    }\n\n    registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    registerOnTouched(fn: any): void {\n        this.onTouched = fn;\n    }\n\n    setDisabledState?(isDisabled: boolean): void {\n        this.disabled = isDisabled;\n    }\n}\n","<div class=\"input-container\">\n    <soft-icon *ngIf=\"leftIcon\" class=\"left {{'icon-' + size}}\" [type]=\"leftIcon\" [ngClass]=\"{'disabled': disabled}\"\n        [color]=\"leftIconColor\">\n    </soft-icon>\n\n    <soft-icon *ngIf=\"rightIcon\" class=\"right {{'icon-' + size}}\" [type]=\"rightIcon\"\n        [iconLoading]=\"rightIcon === 'loading'\" [ngClass]=\"{'disabled': disabled}\" [color]=\"rightIconColor\">\n    </soft-icon>\n\n    <div *ngIf=\"useMaskMoneyConfig && !isDateField; else dateField\">\n        <input [id]=\"idd\" class=\"ngx-input {{'ngx-input-' + size}} {{'ngx-input-' + style}}\" [required]=\"required\"\n            [type]=\"'text'\" [placeholder]=\"placeholder\" [disabled]=\"disabled\" [maxLength]=\"maxLength\"\n            (keyup)=\"onKey($event)\" (input)=\"onInput($event)\" (beforeinput)=\"onBeforeInput($event)\"\n            [ngClass]=\"{'on-error': onError}\" currencyMask [(ngModel)]=\"value\" [options]=\"maskMoneyConfig\"\n            autocomplete=\"off\">\n    </div>\n\n    <ng-template #dateField>\n        <div *ngIf=\"isDateField\">\n            <input [id]=\"idd\" class=\"ngx-input {{'ngx-input-' + size}} {{'ngx-input-' + style}}\" [required]=\"required\"\n                [type]=\"type\" [placeholder]=\"placeholder\" [disabled]=\"disabled\" maxLength=\"10\"\n                [ngClass]=\"{'on-error': onError}\" autocomplete=\"off\" bsDatepicker [formControl]=\"control\"\n                [value]=\"value\" [placement]=\"modalPosition\" [minDate]=\"minimumDate\" [maxDate]=\"maximumDate\"\n                [bsConfig]=\"{ showWeekNumbers: false, dateInputFormat: 'DD/MM/YYYY', containerClass: dateTheme}\">\n        </div>\n    </ng-template>\n\n    <div *ngIf=\"!useMaskMoneyConfig && !isDateField\">\n        <input [id]=\"idd\" class=\"ngx-input {{'ngx-input-' + size}} {{'ngx-input-' + style}}\" [required]=\"required\"\n            [type]=\"type\" [value]=\"value\" [placeholder]=\"placeholder\" [disabled]=\"disabled\" [maxLength]=\"maxLength\"\n            (keyup)=\"onKey($event)\" (input)=\"onInput($event)\" (beforeinput)=\"onBeforeInput($event)\"\n            [ngClass]=\"{'on-error': onError}\" autocomplete=\"off\">\n    </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputComponent } from './input.component';\nimport { IconModule } from '../icon/icon.module';\nimport { CurrencyMaskModule } from 'ng2-currency-mask';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\n\n@NgModule({\n    declarations: [\n        InputComponent\n    ],\n    exports: [\n        InputComponent\n    ],\n    imports: [\n        BsDatepickerModule.forRoot(),\n        CommonModule,\n        IconModule,\n        CurrencyMaskModule,\n        FormsModule,\n        ReactiveFormsModule\n    ]\n})\nexport class InputModule { }\n","import { Component, Input } from '@angular/core';\n\n@Component({\n    selector: 'soft-hint',\n    templateUrl: './hint.component.html',\n    styleUrls: ['./hint.component.scss']\n})\nexport class HintComponent {\n    @Input() type = 'info';\n}\n","<span class=\"ngx-span {{'span-' + type}}\">\n    <ng-content></ng-content>\n</span>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HintComponent } from './hint.component';\n\n@NgModule({\n    declarations: [\n        HintComponent\n    ],\n    exports: [\n        HintComponent\n    ],\n    imports: [\n        CommonModule\n    ]\n})\nexport class HintModule { }\n","import {Component, Input, forwardRef, Output, EventEmitter} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n@Component({\n    selector: 'soft-toggle',\n    templateUrl: './toggle.component.html',\n    styleUrls: ['./toggle.component.scss'],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ToggleComponent),\n            multi: true\n        }\n    ]\n})\nexport class ToggleComponent implements ControlValueAccessor {\n\n    @Input()\n    public size!: string;\n\n    @Input()\n    public style!: string;\n\n    @Input()\n    public disabled = false;\n\n    @Input()\n    public intermediate = false;\n\n    @Output('onValueChange')\n    public onValueChange = new EventEmitter();\n\n    @Input()\n    public set value(isChecked: boolean) {\n        if (!this.disabled) {\n            this.isChecked = isChecked;\n            this.onChange(isChecked);\n            this.onValueChange.emit(isChecked);\n        }\n    }\n\n    public isChecked = false;\n    public onChange: any = () => {\n    };\n    public onTouch: any = () => {\n    };\n\n    constructor() {\n    }\n\n    public registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    public registerOnTouched(fn: any): void {\n        this.onTouch = fn;\n    }\n\n    public writeValue(checked: boolean): void {\n        this.isChecked = checked;\n    }\n\n    public setDisabledState(isDisabled: boolean): void {\n        this.disabled = isDisabled;\n    }\n\n    public toggleChecked(): void {\n        if (!this.disabled) {\n            this.isChecked = !this.isChecked;\n            this.onChange(this.isChecked);\n            this.onValueChange.emit(this.isChecked);\n        }\n    }\n\n    public intermediateClick(): void {\n        this.intermediate = false;\n        this.value = true;\n    }\n}\n","<div>\n    <div *ngIf=\"!intermediate\">\n        <input type=\"checkbox\" class=\"{{ 'toggle-'+ size }}\" [disabled]=\"disabled\"\n               [checked]=\"isChecked\" (change)=\"toggleChecked()\">\n    </div>\n    <div *ngIf=\"intermediate\">\n        <button class=\"{{ 'toggle-'+ size }} intermediate\"\n                [disabled]=\"disabled\" (click)=\"intermediateClick()\">\n            <div></div>\n        </button>\n    </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToggleComponent } from './toggle.component';\nimport { FormsModule } from '@angular/forms';\nimport { IconModule } from '../icon/icon.module';\n\n@NgModule({\n  declarations: [\n    ToggleComponent\n  ],\n  exports: [\n    ToggleComponent\n  ],\n  imports: [\n    CommonModule,\n    FormsModule,\n    IconModule\n  ]\n})\nexport class ToggleModule { }\n","export enum SIZE_TOGGLE {\n    GRANDE = 'large',\n    PEQUENO = 'small'\n}\n","export enum STYLE_TOGGLE {\n    PRIMARIO = 'primary'\n}\n","export enum SIZE_BOX {\n    EXTREMAMENTE_GRANDE = 'extreme-large',\n    SUPER_GRANDE = 'super-large',\n    GRANDE = 'large',\n    MEDIO = 'medium',\n    PEQUENO = 'small'\n}\n","export enum TYPE_BORDER_RADIUS {\n    NONE_BORDER_RADIUS = 'none-border-radius',\n    PARTIAL_BORDER_RADIUS_TOP = 'partial-border-radius-top',\n    PARTIAL_BORDER_RADIUS_BOTTOM= 'partial-border-radius-bottom',\n    FULL_BORDER_RADIUS = 'full-border-radius'\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { SIZE_BOX as SIZE_BOX } from '../../models/box/size-box-enum';\nimport { SIZE_TOGGLE as SIZE_TOGGLE } from '../../models/toggle/size-toggle-enum';\nimport { STYLE_TOGGLE as STYLE_TOGGLE } from '../../models/toggle/style-toggle-enum';\nimport { TYPE_BORDER_RADIUS } from '../../models/box/type-border-radius-enum';\n\n@Component({\n    selector: 'soft-box',\n    templateUrl: './box.component.html',\n    styleUrls: ['./box.component.scss']\n})\nexport class BoxComponent {\n    @Input() label!: string;\n    @Input() size: string = SIZE_BOX.MEDIO;\n    @Input() leftIcon?: string;\n    @Input() hideIconInfo = false;\n    @Input() hideBody = false;\n    @Input() valueToggle  = false;\n    @Input() hideToggle = false;\n    @Input() sizeToggle: string = SIZE_TOGGLE.GRANDE;\n    @Input() disableToggle = false;\n    @Input() styleToggle: string = STYLE_TOGGLE.PRIMARIO;\n    @Input() tooltipText?: string;\n    @Input() useShadow = true;\n    @Input() verticalPadding = 24;\n    @Input() horizontalPadding = 24;\n    @Input() boxBodyPaddingTop = 24;\n    @Input() fontSize = 16;\n    @Input() bgColor = 'var(--support-color-gray-050)';\n    @Input() isResponsive = false;\n    @Input() showHeader = true;\n    @Input() marginBox = '';\n    @Input() typeBorderRadius = TYPE_BORDER_RADIUS.FULL_BORDER_RADIUS;\n    @Input() useCollapse = false;\n    @Input() collapsed = false;\n\n    @Output() changeValueToggle = new EventEmitter<boolean>();\n\n    changeValue(value: boolean): void {\n        this.changeValueToggle.emit(value);\n    }\n\n    toggleCollapsed(): void {\n        this.collapsed = !this.collapsed;\n    }\n}\n","<div class=\"box-component\" [ngStyle]=\"{'margin': marginBox} \">\n    <div class=\"box {{!isResponsive ? ('box-' + size) : ''}} {{ typeBorderRadius }}\" [class.box-shadow]=\"useShadow\"\n        [class.box-border]=\"!useShadow\">\n        <div class=\"box-header\"\n            [ngStyle]=\"{'padding': verticalPadding + 'px ' + horizontalPadding + 'px', 'background-color': bgColor}\"\n            *ngIf=\"showHeader\">\n            <div class=\"box-align\">\n                <soft-icon class=\"fs-24\" *ngIf=\"leftIcon\" id=\"leftIcon\" [type]=\"leftIcon\"></soft-icon>\n\n                <span class=\"box-align\" [ngStyle]=\"{'font-size': fontSize + 'px'}\">\n                    {{ label }}\n                </span>\n\n                <span [class.label-with-tooltip]=\"!!tooltipText\" class=\"margin\">\n                    <span *ngIf=\"tooltipText\" class=\"center-tooltip\" id=\"tooltipText\">\n                        {{ tooltipText }}\n                    </span>\n\n                    <soft-icon class=\"fs-12\" *ngIf=\"!hideIconInfo\" id=\"iconInfo\"\n                        type=\"user-interface-exclamation-mark-outline-2\">\n                    </soft-icon>\n                </span>\n            </div>\n\n            <soft-label class=\"box-toggle box-align\" *ngIf=\"!hideToggle\" id=\"hideToggle\">\n                <soft-toggle [style]=\"styleToggle\" [size]=\"sizeToggle\" [value]=\"valueToggle\" [disabled]=\"disableToggle\"\n                    (onValueChange)=\"changeValue($event)\"></soft-toggle>\n            </soft-label>\n\n            <soft-icon *ngIf=\"useCollapse\" type=\"arrows-upper-arrow-outline\" class=\"fs-24 icon-collapse\"\n                [class.collapsed]=\"collapsed\" (click)=\"toggleCollapsed()\"></soft-icon>\n        </div>\n\n        <div class=\"box-body\" *ngIf=\"!hideBody\" id=\"hideBody\"\n            [ngStyle]=\"{'padding': verticalPadding + 'px ' + horizontalPadding + 'px', 'padding-top': boxBodyPaddingTop + 'px'}\"\n            [class.collapsed]=\"collapsed\">\n            <ng-content></ng-content>\n        </div>\n    </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {BoxComponent} from './box.component';\nimport { IconModule } from '../icon/icon.module';\nimport {ToggleModule} from '../toggle/toggle.module';\nimport {LabelModule} from '../label/label.module';\n\n\n@NgModule({\n    declarations: [\n        BoxComponent\n    ],\n    exports: [\n        BoxComponent\n    ],\n    imports: [\n        CommonModule,\n        IconModule,\n        ToggleModule,\n        LabelModule,\n    ]\n\n})\nexport class BoxModule {\n}\n","export enum COMPONENT_SIZE {\n    TINY = 'tiny',\n    SMALL = 'small',\n    MEDIUM = 'medium',\n    LARGE = 'large'\n}\n","export enum TYPE_CARD_CLIENT {\n    SLIM = 'slim',\n    FULL = 'full'\n}\n","export enum DROPDOWN_TYPE {\n    CHECKBOX = 'checkbox',\n    RADIO = 'radio',\n    SELECT = 'select'\n}\n","import { Type } from '@angular/core';\nimport { DROPDOWN_TYPE } from '../../models/dropdown/type-dropdown-enum';\nimport { COMPONENT_SIZE } from '../../models/component-size';\nimport { Subject } from 'rxjs';\n\nexport class DropdownSelectOptionTooltip {\n    component!: Type<any>;\n    data?: any;\n}\n\nexport class DropdownOption {\n    id: any;\n    value: any;\n    visible!: boolean;\n    subValue?: any;\n    extraArgs?: any;\n    tooltip?: DropdownSelectOptionTooltip;\n}\n\nexport class DropdownServiceConfig {\n    functionLoad: any;\n    type!: 'sql' | 'graphql';\n    map!: {\n        id: string;\n        value: string;\n        subValue?: string;\n    };\n    findNullValue = false;\n    initServiceOnComponentRender = false;\n}\n\nexport class DropdownConfig {\n    options: DropdownOption[] = [];\n    defaultOptions: DropdownOption[] = [];\n    selectedOptions!: any[];\n    serviceConfig!: DropdownServiceConfig;\n    leftIcon!: string;\n    rightIcon = 'user-interface-research-outline';\n    type = DROPDOWN_TYPE.CHECKBOX;\n    size = COMPONENT_SIZE.MEDIUM;\n    badgeColor = 'support-gray';\n    badgeType = 'soft';\n    placeholder = 'Selecione uma opção';\n    hint!: string;\n    link!: string;\n    textLink!: string;\n    isCollapsed = false;\n    focus = false;\n    textTitleCase = false;\n    optionSubvalue = false;\n    disabled = false;\n    tooltip?: string;\n    allOptionsVisible = false;\n    selectedOptions$?: Subject<any[]>;\n}\n","export class GraphqParam {\n    param!: string;\n    value!: string | number | boolean | string[] | number[];\n}\n\nexport class GraphqlParams {\n    private params: GraphqParam[] = [];\n\n    set(param: string, value: any): GraphqlParams {\n        const oldParam = this.params.find(p => p.param === param);\n\n        if (oldParam) {\n            oldParam.value = value;\n            return this;\n        }\n\n        this.params.push({\n            param,\n            value\n        });\n\n        return this;\n    }\n\n    getAll(...exceptFields: string[]): string {\n        const query = this.params\n            .map(param => {\n                if (exceptFields.includes(param.param)) {\n                    return null;\n                }\n                return this.paramToString(param);\n            })\n            .filter(value => value)\n            .join(', ');\n\n        return query;\n    }\n\n    removeAll(): void {\n        this.params = [];\n    }\n\n    remove(...params: string[]): void {\n        params.forEach(param => {\n            const index = this.params.findIndex(p => p.param === param);\n            if (index >= 0) {\n                this.params.splice(index, 1);\n            }\n        });\n    }\n\n    private paramToString(param: GraphqParam): string {\n        return `${param.param}: ${this.castParamValue(param.value)}`;\n    }\n\n    private castParamValue(value: any): string {\n        if (typeof value === 'string') {\n            return `\"${value}\"`;\n        } else if (typeof value === 'object') {\n            return `[${value.map((v: any) => {\n                if (typeof v === 'string') {\n                    return `\"${v}\"`;\n                }\n\n                return v;\n            }).join()}]`;\n        } else {\n            return `${value}`;\n        }\n    }\n}\n","export abstract class SoftfocusUtils {\n    static removeAcentos(str: string): string {\n        return str?.normalize('NFD')?.replace(/[\\u0300-\\u036f]/g, '');\n    }\n\n    static formataStringLowerCase(value: any): string {\n        return value?.toString()?.toLowerCase() ?? '';\n    }\n}\n","import { Component, Input, forwardRef, OnInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { IdService } from '../../services/IdService';\n\n@Component({\n    selector: 'soft-item-select',\n    templateUrl: './item-select.component.html',\n    styleUrls: ['./item-select.component.scss'],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ItemSelectComponent),\n            multi: true,\n        },\n    ],\n})\nexport class ItemSelectComponent implements ControlValueAccessor, OnInit {\n    @Input()\n    public size!: string;\n\n    @Input()\n    public groupName!: string;\n\n    @Input()\n    public disabled = false;\n\n    public id!: string;\n\n    private idService = new IdService();\n\n    @Input()\n    public set value(isChecked: boolean) {\n        this.isChecked = isChecked;\n        this.onChange(isChecked);\n    }\n\n    public isChecked = false;\n\n    public onChange: any = () => {};\n    public onTouch: any = () => {};\n\n    constructor() {}\n\n    ngOnInit(): void {\n        this.id = this.idService.generate();\n    }\n\n    public registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    public registerOnTouched(fn: any): void {\n        this.onTouch = fn;\n    }\n\n    public writeValue(checked: boolean): void {\n        this.isChecked = checked;\n    }\n\n    public setDisabledState(isDisabled: boolean): void {\n        this.disabled = isDisabled;\n    }\n\n    public toggleChecked(): void {\n        if (!this.disabled) {\n            this.isChecked = !this.isChecked;\n            this.onChange(this.isChecked);\n        }\n    }\n}\n","<div class=\"ngx-item-select-container\">\n    <label class=\"item-select-label {{ 'label-'+ size }}\" for=\"{{this.id}}\">\n    <input type=\"radio\" name=\"{{groupName}}\"\n        [disabled]=\"disabled\"\n        [checked]=\"isChecked\"\n        id=\"{{this.id}}\">\n    <ng-content></ng-content>\n    </label>\n</div>\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, TemplateRef, ViewChild } from '@angular/core';\n\nexport enum TooltipPosition {\n    TOP = 'top',\n    BOTTOM = 'bottom',\n    LEFT = 'left',\n    RIGHT = 'right',\n    DEFAULT = TOP,\n}\n\n@Component({\n    selector: 'soft-simple-tooltip',\n    templateUrl: './simple-tooltip.component.html',\n    styleUrls: ['./simple-tooltip.component.scss']\n})\nexport class SimpleTooltipComponent implements AfterViewInit {\n    tooltip?: string;\n    tooltipTemplate: TemplateRef<any> | null = null;\n    left!: number;\n    top!: number;\n    position: TooltipPosition = TooltipPosition.DEFAULT;\n    autoPosition = false;\n    minWidth = 'inherit';\n    @ViewChild('tooltipContent') tooltipContent!: ElementRef;\n    hostRef!: Element;\n\n    constructor(private changeDetectorRef: ChangeDetectorRef) {}\n\n    ngAfterViewInit(): void {\n        if (this.autoPosition) {\n            if (this.isTooltipWithinViewport()) {\n                return;\n            }\n            const positionsToTry = [\n                TooltipPosition.TOP,\n                TooltipPosition.BOTTOM,\n                TooltipPosition.LEFT,\n                TooltipPosition.RIGHT,\n            ];\n            for (const position of positionsToTry) {\n                this.position = position;\n                this.getCoordinates();\n                this.changeDetectorRef.detectChanges();\n                if (this.isTooltipWithinViewport()) {\n                    return;\n                }\n            }\n        }\n    }\n\n    public getCoordinates(): void {\n        const { left, right, top, bottom } = this.hostRef.getBoundingClientRect();\n        const PADDING = 15;\n\n        let positionX = 0;\n        let positionY = 0;\n\n        switch (this.position) {\n            case TooltipPosition.TOP: {\n                positionX = Math.round((right - left) / 2 + left);\n                positionY = Math.round(top) - PADDING;\n                break;\n            }\n            case TooltipPosition.BOTTOM: {\n                positionX = Math.round((right - left) / 2 + left);\n                positionY = Math.round(bottom) + PADDING;\n                break;\n            }\n            case TooltipPosition.LEFT: {\n                positionX = Math.round(left) - PADDING;\n                positionY = Math.round(top + (bottom - top) / 2);\n                break;\n            }\n            case TooltipPosition.RIGHT: {\n                positionX = Math.round(right) + PADDING;\n                positionY = Math.round(top + (bottom - top) / 2);\n                break;\n            }\n        }\n        this.left = positionX;\n        this.top = positionY;\n    }\n\n    private isTooltipWithinViewport(): boolean {\n        const { left, top, width, height } = this.tooltipContent.nativeElement.getBoundingClientRect();\n        const viewportWidth = window.innerWidth || document.documentElement.clientWidth;\n        const viewportHeight = window.innerHeight || document.documentElement.clientHeight;\n\n        return (\n            left >= 0 &&\n            top >= 0 &&\n            left + width <= viewportWidth &&\n            top + height <= viewportHeight\n        );\n    }\n}\n","<div #tooltipContent class=\"simple-tooltip\" [ngClass]=\"['simple-tooltip--' + position]\" [style.left.px]=\"left\"\n    [style.top.px]=\"top\" [style.min-width]=\"minWidth\">\n    <ng-container *ngIf=\"tooltip; else tooltipTemplate\">\n        {{ tooltip }}\n    </ng-container>\n</div>\n","import {\n    AfterViewInit,\n    ApplicationRef,\n    ComponentFactoryResolver,\n    ComponentRef,\n    Directive,\n    ElementRef,\n    EmbeddedViewRef,\n    HostListener,\n    Injector,\n    Input,\n    OnDestroy,\n    TemplateRef\n} from '@angular/core';\nimport { SimpleTooltipComponent, TooltipPosition } from '../../components/simple-tooltip/simple-tooltip.component';\n\n@Directive({\n    selector: '[softSimpleTooltip]'\n})\nexport class SimpleTooltipDirective implements OnDestroy {\n    @Input() tooltip?: string;\n    @Input() tooltipTemplate: TemplateRef<any> | null = null;\n    @Input() position: TooltipPosition = TooltipPosition.DEFAULT;\n    @Input() autoPosition = false;\n    @Input() showTooltip = true;\n    @Input() minWidth = 'inherit';\n    private componentRef: ComponentRef<SimpleTooltipComponent> | null = null;\n\n    @HostListener('mouseenter') mouseEnter(): void {\n        if (this.showTooltip && (this.tooltip || this.tooltipTemplate)) {\n            this.addTooltip();\n        }\n    }\n\n    @HostListener('mouseleave') mouseLeave(): void {\n        this.removeTooltip();\n    }\n\n    constructor(\n        private elementRef: ElementRef,\n        private appRef: ApplicationRef,\n        private componentFactoryResolver: ComponentFactoryResolver,\n        private injector: Injector\n    ) { }\n\n    private addTooltip(): void {\n        if (this.componentRef === null) {\n            const componentFactory = this.componentFactoryResolver.resolveComponentFactory(SimpleTooltipComponent);\n            this.componentRef = componentFactory.create(this.injector);\n            this.appRef.attachView(this.componentRef.hostView);\n\n            const domElem: HTMLElement = (this.componentRef.hostView as EmbeddedViewRef<SimpleTooltipComponent>).rootNodes[0];\n            document.body.appendChild(domElem);\n            this.setProperties();\n        }\n    }\n\n    private setProperties(): void {\n        if (this.componentRef !== null) {\n            this.componentRef.instance.hostRef = this.elementRef.nativeElement;\n            this.componentRef.instance.position = this.position;\n            this.componentRef.instance.getCoordinates();\n            this.componentRef.instance.tooltip = this.tooltip;\n            this.componentRef.instance.tooltipTemplate = this.tooltipTemplate;\n            this.componentRef.instance.minWidth = this.minWidth;\n            this.componentRef.instance.autoPosition = this.autoPosition;\n        }\n    }\n\n    private removeTooltip(): void {\n        if (this.componentRef !== null) {\n            this.appRef.detachView(this.componentRef.hostView);\n            this.componentRef.destroy();\n            this.componentRef = null;\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.removeTooltip();\n    }\n}\n","import { HttpParams } from '@angular/common/http';\nimport {\n    AfterViewInit,\n    ChangeDetectorRef,\n    Component,\n    EventEmitter,\n    forwardRef,\n    HostListener,\n    Input,\n    OnChanges,\n    OnDestroy,\n    OnInit,\n    Output,\n    SimpleChanges,\n    ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, UntypedFormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport * as _ from 'lodash';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, map } from 'rxjs/operators';\nimport { DROPDOWN_TYPE } from '../../models/dropdown/type-dropdown-enum';\nimport { IdService } from '../../services/IdService';\nimport { GraphqlParams } from '../../utils/graphql-params';\nimport { SoftfocusUtils } from '../../utils/softfocus-utils';\nimport { InputComponent } from '../input/input.component';\nimport { DropdownConfig, DropdownOption } from './dropdown';\n\n@Component({\n    selector: 'soft-dropdown',\n    templateUrl: './dropdown.component.html',\n    styleUrls: ['./dropdown.component.scss'],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            multi: true,\n            useExisting: forwardRef(() => DropdownComponent),\n        },\n    ],\n})\nexport class DropdownComponent implements ControlValueAccessor, OnInit, OnDestroy, OnChanges, AfterViewInit {\n    constructor(private changeDetector: ChangeDetectorRef) { }\n\n    @Input() idd!: string;\n    @Input() dropdownConfig = new DropdownConfig();\n    @Input() mostraSubValue = true;\n\n    @Output() selectedOptionEvent = new EventEmitter<DropdownOption[]>();\n    @Output() closedDropdownSelectType: EventEmitter<void> = new EventEmitter<void>();\n\n    @ViewChild('softInput') softInput!: InputComponent;\n\n    private idService = new IdService();\n    public id!: string;\n\n    subject$ = new BehaviorSubject<DropdownOption[]>([]);\n    options$!: Observable<DropdownOption[]>;\n    control!: UntypedFormControl;\n    selectedOptions: any[] = [];\n    filterSelected: DropdownOption[] = [];\n    serviceFilterLoading = false;\n    isCollapsed = false;\n    inputValue = '';\n    visibleOptions = false;\n    noOptions = false;\n    focus = false;\n    selectedOptionsVisible = false;\n    checkbox = DROPDOWN_TYPE.CHECKBOX;\n    radio = DROPDOWN_TYPE.RADIO;\n    select = DROPDOWN_TYPE.SELECT;\n    query$ = new Subject<Event>();\n    optionSize: any = {\n        small: 'tiny',\n        medium: 'small',\n        large: 'small',\n    };\n    rightIcon!: string;\n\n    onChange = (value: any) => { };\n    onTouch = (value: any) => { };\n\n    @HostListener('window:click', ['$event']) clickInput(event: any): void {\n        if (!this.dropdownConfig.disabled) {\n            this.setFocus(event);\n            this.clearFilter(event);\n            this.openDropdown(event);\n            this.closeDropdown(event);\n            this.showInputValue(event);\n        }\n    }\n\n    ngOnInit(): void {\n        this.id = this.idService.generate().split('.').join('-');\n        this.control = new UntypedFormControl(null);\n        this.options$ = this.subject$.asObservable();\n        this.subject$.next(this.dropdownConfig.options);\n\n        this.query$.pipe(\n            debounceTime(500),\n            distinctUntilChanged(),\n        ).subscribe(val => {\n            this.filterOptions(val);\n        });\n\n        if (this.dropdownConfig.selectedOptions$) {\n            this.dropdownConfig.selectedOptions$.pipe(\n                distinctUntilChanged(),\n            ).subscribe((options: any) => {\n                this.dropdownConfig.selectedOptions = options;\n                if (this.dropdownConfig.selectedOptions.length > 0) {\n                    this.setSelectedOptions();\n                } else {\n                    this.filterSelected = [];\n                    this.inputValue = '';\n                    this.softInput.value = this.inputValue;\n                    this.selectedOptions = this.dropdownConfig.selectedOptions;\n                    this.writeValue(this.selectedOptions);\n                    this.setSelectedOptionsVisible();\n                }\n                this.changeDetector.detectChanges();\n                this.setRightIcon();\n            });\n        }\n\n        this.setRightIcon();\n    }\n\n    ngAfterViewInit(): void {\n        this.setInitialOption();\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes.options) {\n            this.subject$.next(this.dropdownConfig.options);\n        } else if (changes.dropdownConfig &&\n            changes.dropdownConfig?.previousValue?.options !== changes.dropdownConfig?.currentValue?.options) {\n            this.selectedOptions = [];\n            this.subject$.next(this.dropdownConfig.options);\n            this.changeDetector.detectChanges();\n            this.setRightIcon();\n        }\n    }\n\n    get value(): any[] {\n        return this.selectedOptions;\n    }\n\n    set value(val: number[]) {\n        this.selectedOptions = val ?? [];\n        this.onChange(this.selectedOptions);\n    }\n\n    setInitialOption(): void {\n        this.softInput.value = '';\n        this.changeDetector.detectChanges();\n\n        if (this.dropdownConfig.serviceConfig && this.dropdownConfig.serviceConfig.initServiceOnComponentRender) {\n            const hasSelectedOptions = !!this.dropdownConfig?.selectedOptions?.length;\n            this.loadServiceOptions(null, hasSelectedOptions, true);\n        } else if (this.dropdownConfig?.selectedOptions?.length) {\n            this.setSelectedOptions();\n        }\n    }\n\n    registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    registerOnTouched(fn: any): void {\n        this.onTouch = fn;\n    }\n\n    writeValue(value: any): void {\n        this.value = value;\n    }\n\n    identify(index: number, item: DropdownOption): any {\n        return item.id;\n    }\n\n    setSelectedOptions(): void {\n        if (this.dropdownConfig.selectedOptions) {\n            if (this.dropdownConfig.type === DROPDOWN_TYPE.CHECKBOX) {\n                this.selectedOptions = this.dropdownConfig.selectedOptions;\n                this.selectedOptions.forEach(\n                    opt => this.filterSelected.push(this.getDropdownOptionById(opt))\n                );\n            } else {\n                this.selectedOptions = [this.dropdownConfig.selectedOptions[0]];\n                const option = this.getDropdownOptionById(this.selectedOptions[0]);\n                this.inputValue = option ? option.value : '';\n                this.softInput.value = this.inputValue;\n                this.changeDetector.detectChanges();\n            }\n            this.writeValue(this.selectedOptions);\n            this.setSelectedOptionsVisible();\n        }\n    }\n\n    toggleOption(e: Event, option: DropdownOption): void {\n        if (this.dropdownConfig.type === DROPDOWN_TYPE.CHECKBOX) {\n            if ((e.target as HTMLInputElement).checked) {\n                this.inputValue = '';\n                this.selectedOptions.push(option.id);\n                this.filterSelected.push(option);\n                this.selectedOptionEvent.emit(this.filterSelected);\n            } else {\n                this.removeOption(option.id);\n            }\n        } else if ((e.target as HTMLInputElement).checked && !this.selectedOptions.includes(option.id)) {\n            this.inputValue = option.value;\n            this.selectedOptions.push(option.id);\n            this.filterSelected = [option];\n            this.selectedOptionEvent.emit(this.filterSelected);\n            this.selectedOptions = this.selectedOptions.filter(selected => selected === option.id);\n        } else {\n            this.removeOption(option.id);\n        }\n        this.writeValue(this.selectedOptions);\n        this.setSelectedOptionsVisible();\n        this.closeDropdownAfterToggle();\n    }\n\n    removeOption(id: any): void {\n        setTimeout(() => {\n            this.selectedOptions = this.selectedOptions.filter(\n                option => option !== id\n            );\n            this.filterSelected = this.filterSelected.filter(\n                option => option.id !== id\n            );\n            this.selectedOptionEvent.emit(this.filterSelected);\n            this.writeValue(this.selectedOptions);\n            this.setSelectedOptionsVisible();\n        });\n    }\n\n    filterOptions(event?: any): void {\n        if (this.dropdownConfig.disabled) {\n            return;\n        }\n        const value = (event?.target as HTMLInputElement)?.value || '';\n\n        this.clearListFiltersAndOptions();\n\n        if (this.dropdownConfig.serviceConfig && (this.dropdownConfig.serviceConfig.findNullValue || value.trim())) {\n            this.loadServiceOptions(value, false);\n        }\n\n        if (value.trim().length || !this.dropdownConfig.serviceConfig) {\n            this.options$ = this.options$.pipe(\n                map(options => this.setVisibleOptions(value, options))\n            );\n            this.visibleOptions = this.filterVisibleOptions().length > 0;\n            this.isCollapsed = this.visibleOptions;\n            return;\n        }\n\n        this.noOptions = false;\n        this.visibleOptions = true;\n    }\n\n    loadServiceOptions(value?: string | null, hasSelectedOptions?: boolean, initialLoad?: boolean): void {\n        let params = this.dropdownConfig.serviceConfig.type === 'sql' ? new HttpParams() : new GraphqlParams();\n\n        if (value && value !== '') {\n            params = params.set('search', value);\n        }\n\n        this.serviceFilterLoading = true;\n        this.setRightIcon();\n        this.dropdownConfig.serviceConfig.functionLoad(params).subscribe(\n            (response: any) => {\n                const list = response.results ?? response;\n                if (list.length > 0) {\n                    this.selectedOptions = [];\n                    this.filterSelected = [];\n\n                    const newItens = list.map((object: any) => ({\n                        id: object[(this.dropdownConfig.serviceConfig as any).map.id],\n                        value: object[(this.dropdownConfig.serviceConfig as any).map.value],\n                        visible: true,\n                        subValue: object[(this.dropdownConfig.serviceConfig as any).map.subValue],\n                        extraArgs: object,\n                    }));\n\n                    this.dropdownConfig.options = this.dropdownConfig.defaultOptions?.concat(newItens) || newItens;\n\n                    if (value) {\n                        this.filterSelected = this.setVisibleOptions(value, this.filterSelected);\n                    }\n\n                    const options = _.uniqBy(this.dropdownConfig.options.concat(this.filterSelected), 'id');\n\n                    this.subject$.next(options);\n                    this.visibleOptions = this.filterVisibleOptions().length > 0;\n                    this.isCollapsed = !this.dropdownConfig.disabled && this.visibleOptions && !initialLoad;\n\n                    if (hasSelectedOptions) {\n                        this.setSelectedOptions();\n                    }\n                } else {\n                    this.clearListFiltersAndOptions();\n                    this.noOptions = true;\n                    this.visibleOptions = false;\n                }\n\n                this.serviceFilterLoading = false;\n                this.setRightIcon();\n            }, () => {\n                this.serviceFilterLoading = false;\n                this.setRightIcon();\n            }\n        );\n    }\n\n    setVisibleOptions(value: string, options: DropdownOption[]): DropdownOption[] {\n        return options?.map(option => {\n            if (this.dropdownConfig?.allOptionsVisible) {\n                option.visible = true;\n            } else {\n                const splits = value.split(' ');\n                let visible = false;\n                for (const split of splits) {\n                    const search = SoftfocusUtils.removeAcentos(\n                        this.getValueAndSubValueString(option?.value, option?.subValue)\n                    );\n                    const textoFormatado = SoftfocusUtils.removeAcentos(\n                        split?.toLowerCase()\n                    );\n                    visible = search?.includes(textoFormatado);\n                    if (!visible) {\n                        break;\n                    }\n                }\n                option.visible = visible;\n            }\n            return option;\n        });\n    }\n\n    setSelectedOptionsVisible(): void {\n        this.selectedOptionsVisible = (\n            this.dropdownConfig.type === DROPDOWN_TYPE.CHECKBOX &&\n            this.selectedOptions.length > 0\n        );\n    }\n\n    setFocus(event: any): void {\n        this.focus = !!event.target.closest(`#dropdown-${this.id}`);\n    }\n\n    openDropdown(event: any): void {\n        if (event.target.closest(`#input-dropdown-${this.id}`) && !this.isCollapsed || (this.dropdownConfig.isCollapsed)) {\n            this.isCollapsed = true;\n        }\n    }\n\n    closeDropdown(event: any): void {\n        if (!event.target.closest(`#dropdown-${this.id}`) && !this.dropdownConfig.isCollapsed) {\n            this.isCollapsed = false;\n        }\n    }\n\n    showInputValue(event: any): void {\n        if (!event.target.closest(`#dropdown-${this.id}`)) {\n            if (this.filterSelected?.length && this.dropdownConfig.type === DROPDOWN_TYPE.SELECT) {\n                this.inputValue = this.filterSelected[0].value;\n            }\n            this.softInput.value = this.inputValue;\n        } else {\n            this.softInput.value = '';\n        }\n    }\n\n    clearFilter(event: any): void {\n        if (\n            event.target.closest(`#input-dropdown-${this.id}`) &&\n            this.dropdownConfig.type !== DROPDOWN_TYPE.CHECKBOX &&\n            this.selectedOptions.length > 0\n        ) {\n            if (this.dropdownConfig.serviceConfig) {\n                this.loadServiceOptions('');\n            } else {\n                this.options$ = this.options$.pipe(\n                    map(options => this.setVisibleOptions('', options))\n                );\n            }\n            this.visibleOptions = true;\n        }\n    }\n\n    closeDropdownAfterToggle(): void {\n        if (this.dropdownConfig.type === DROPDOWN_TYPE.SELECT) {\n            this.softInput.value = this.inputValue;\n            this.isCollapsed = false;\n            this.closedDropdownSelectType.emit();\n\n        } else {\n            this.isCollapsed = true;\n        }\n    }\n\n    filterVisibleOptions(): DropdownOption[] {\n        let visibleOptions: DropdownOption[] = [];\n        this.options$.subscribe(options => {\n            visibleOptions = options.filter(option => option.visible);\n        });\n        return visibleOptions;\n    }\n\n    getDropdownOptionById(id: number): any {\n        return this.dropdownConfig.options.find(opt => opt.id === id);\n    }\n\n    ngOnDestroy(): void {\n        this.subject$.unsubscribe();\n    }\n\n    clearListFiltersAndOptions(): void {\n        if (this.dropdownConfig.serviceConfig) {\n            this.dropdownConfig.options = [];\n            this.filterSelected = [];\n        }\n        this.inputValue = '';\n    }\n\n    getValueAndSubValueString(value: any, subValue: any): string {\n        return SoftfocusUtils.formataStringLowerCase(value) + SoftfocusUtils.formataStringLowerCase(subValue);\n    }\n\n    setRightIcon(): void {\n        if (this.serviceFilterLoading) {\n            this.rightIcon = 'loading';\n        } else if (this.dropdownConfig.disabled && !this.dropdownConfig.rightIcon) {\n            this.rightIcon = 'arrows-down-arrow-outline';\n        } else {\n            this.rightIcon = this.dropdownConfig.rightIcon;\n        }\n    }\n}\n","<div softSimpleTooltip [tooltip]=\"dropdownConfig.tooltip\" class=\"ngx-dropdown-container\">\n    <div id=\"dropdown-{{ this.id }}\" class=\"ngx-dropdown\" [class.ngx-focus]=\"focus && dropdownConfig.focus\">\n        <soft-input #softInput [idd]=\"idd\"\n            [class.input-collapsed]=\"isCollapsed && visibleOptions || selectedOptionsVisible\"\n            [ngStyle]=\"{'z-index': isCollapsed ? 2: 0}\" [type]=\"'text'\" [required]=\"true\"\n            [placeholder]=\"dropdownConfig.placeholder\" [size]=\"dropdownConfig.size\" [leftIcon]=\"dropdownConfig.leftIcon\"\n            [rightIcon]=\"rightIcon\" [disabled]=\"dropdownConfig.disabled\" (input)=\"this.query$.next($event)\"\n            (click)=\"filterOptions('')\" >\n        </soft-input>\n\n        <div [class.collapsed]=\"isCollapsed\" [class.ngx-focus]=\"focus && dropdownConfig.focus\">\n            <div id=\"options-dropdown-{{ this.id }}\" *ngIf=\"isCollapsed && visibleOptions\">\n                <div class=\"ngx-dropdown-options-container {{'ngx-dropdown-options-container-' + dropdownConfig.size}}\"\n                    [class.ngx-dropdown-options-collapsed]=\"selectedOptionsVisible\"\n                    *ngIf=\"dropdownConfig.type === checkbox\">\n                    <ng-container *ngFor=\"let option of options$ | async; let i = index\">\n                        <div class=\"{{'ngx-dropdown-option-' + dropdownConfig.size}} {{i == 0 ? 'mt-8' : ''}}\"\n                            *ngIf=\"option.visible\">\n                            <soft-checkbox class=\"ngx-dropdown-option\" id=\"opt-{{ option.id }}\"\n                                [size]=\"optionSize[dropdownConfig.size]\" [value]=\"selectedOptions.includes(option.id)\"\n                                [justifyStart]=\"true\" (change)=\"toggleOption($event, option)\">\n                                <span *ngIf=\"!dropdownConfig.textTitleCase && !dropdownConfig.optionSubvalue\">\n                                    {{ option.value }}\n                                </span>\n                                <span *ngIf=\"dropdownConfig.textTitleCase && !dropdownConfig.optionSubvalue\">\n                                    {{ option.value | titlecase }}\n                                </span>\n                                <span *ngIf=\"!dropdownConfig.textTitleCase && dropdownConfig.optionSubvalue\">\n                                    {{ option.value + ' ' + '(' + option.subValue + ')' }}\n                                </span>\n                                <span *ngIf=\"dropdownConfig.textTitleCase && dropdownConfig.optionSubvalue\">\n                                    {{ option.value + ' ' + '(' + option.subValue + ')' | titlecase }}\n                                </span>\n                            </soft-checkbox>\n                        </div>\n                    </ng-container>\n                </div>\n\n                <div class=\"ngx-dropdown-options-container {{'ngx-dropdown-options-container-' + dropdownConfig.size}}\"\n                    *ngIf=\"dropdownConfig.type === radio\">\n                    <ng-container *ngFor=\"let option of options$ | async; let i = index\">\n                        <div class=\"{{'ngx-dropdown-option-' + dropdownConfig.size}}\" *ngIf=\"option.visible\">\n                            <soft-radio class=\"ngx-dropdown-option {{i == 0 ? 'mt-8' : ''}}\" id=\"opt-{{ option.id }}\"\n                                [size]=\"optionSize[dropdownConfig.size]\" [value]=\"selectedOptions.includes(option.id)\"\n                                [groupName]=\"'radio-dropdown-{{ idd }}'\" (change)=\"toggleOption($event, option)\">\n                                <span *ngIf=\"!dropdownConfig.textTitleCase && !dropdownConfig.optionSubvalue\">\n                                    {{ option.value }}\n                                </span>\n                                <span *ngIf=\"dropdownConfig.textTitleCase && !dropdownConfig.optionSubvalue\">\n                                    {{ option.value | titlecase }}\n                                </span>\n                                <span *ngIf=\"!dropdownConfig.textTitleCase && dropdownConfig.optionSubvalue\">\n                                    {{ option.value + ' ' + '(' + option.subValue + ')' }}\n                                </span>\n                                <span *ngIf=\"dropdownConfig.textTitleCase && dropdownConfig.optionSubvalue\">\n                                    {{ option.value + ' ' + '(' + option.subValue + ')' | titlecase }}\n                                </span>\n                            </soft-radio>\n                        </div>\n                    </ng-container>\n                </div>\n\n                <div class=\"ngx-dropdown-options-container {{'ngx-dropdown-options-container-' + dropdownConfig.size}}\"\n                    *ngIf=\"dropdownConfig.type === select\">\n                    <ng-container *ngFor=\"let option of options$ | async\">\n                        <div class=\"{{'ngx-dropdown-option-' + dropdownConfig.size}}\" *ngIf=\"option.visible\">\n                            <soft-item-select class=\"ngx-dropdown-option\" id=\"opt-{{ option.id }}\"\n                                [size]=\"optionSize[dropdownConfig.size]\" [value]=\"selectedOptions.includes(option.id)\"\n                                [groupName]=\"'select-dropdown-{{ idd }}'\" (change)=\"toggleOption($event, option)\">\n                                <span *ngIf=\"!dropdownConfig.textTitleCase && !dropdownConfig.optionSubvalue\">\n                                    {{ option.value }}\n                                </span>\n                                <span *ngIf=\"dropdownConfig.textTitleCase && !dropdownConfig.optionSubvalue\">\n                                    {{ option.value | titlecase }}\n                                </span>\n                                <span *ngIf=\"!dropdownConfig.textTitleCase && dropdownConfig.optionSubvalue\">\n                                    {{ option.value + ' ' + (mostraSubValue ? '(' + option.subValue + ')' : '') }}\n                                </span>\n                                <span *ngIf=\"dropdownConfig.textTitleCase && dropdownConfig.optionSubvalue\">\n                                    {{ option.value + ' ' + (mostraSubValue ? ('(' + option.subValue + ')' | titlecase)\n                                    : '') }}\n                                </span>\n                            </soft-item-select>\n                        </div>\n                    </ng-container>\n                </div>\n            </div>\n\n            <div id=\"selected-options-dropdown-{{ this.id }}\" class=\"ngx-dropdown-selected-options\"\n                *ngIf=\"selectedOptionsVisible\">\n                <ng-container *ngFor=\"let option of options$ | async; trackBy:identify\">\n                    <soft-badge class=\"ngx-dropdown-badge\" *ngIf=\"selectedOptions.includes(option.id)\"\n                        [size]=\"dropdownConfig.size\" [type]=\"dropdownConfig.badgeType\"\n                        [style]=\"dropdownConfig.badgeColor\" [leftIcon]=\"false\" (closeVar)=\"removeOption(option.id)\">\n                        {{ option.value }}\n                    </soft-badge>\n                </ng-container>\n            </div>\n        </div>\n    </div>\n\n    <!-- NOTE: Necessário replicar esta div para evitar o deslocamento dos componentes quando as opções estão abertas -->\n    <div class=\"ngx-dropdown-selected-options ngx-dropdown-selected-options-extra\"\n        *ngIf=\"selectedOptionsVisible && isCollapsed\">\n        <ng-container *ngFor=\"let option of options$ | async; trackBy:identify\">\n            <soft-badge class=\"ngx-dropdown-badge\" *ngIf=\"selectedOptions.includes(option.id)\"\n                [size]=\"dropdownConfig.size\" [type]=\"dropdownConfig.badgeType\" [style]=\"dropdownConfig.badgeColor\"\n                [leftIcon]=\"false\" (closeVar)=\"removeOption(option.id)\">\n                {{ option.value }}\n            </soft-badge>\n        </ng-container>\n    </div>\n\n    <soft-hint *ngIf=\"!visibleOptions && noOptions\" [type]=\"'error'\" id=\"error-hint\">\n        Nenhum item encontrado\n    </soft-hint>\n\n    <soft-hint *ngIf=\"dropdownConfig.hint && visibleOptions\" id=\"info-hint\">\n        {{ dropdownConfig.hint }}\n\n        <a href=\"{{ dropdownConfig.link }}\" *ngIf=\"dropdownConfig.link\">\n            {{ dropdownConfig.textLink || dropdownConfig.link }}\n        </a>\n    </soft-hint>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { COMPONENT_SIZE } from '../../models/component-size';\nimport { TYPE_CARD_CLIENT } from '../../models/card-client/card-client-enum';\nimport { DROPDOWN_TYPE } from '../../models/dropdown/type-dropdown-enum';\nimport { DropdownConfig, DropdownServiceConfig } from '../dropdown/dropdown';\nimport { Observable } from 'rxjs';\n\n@Component({\n    selector: 'soft-card-client',\n    templateUrl: './card-client.component.html',\n    styleUrls: ['./card-client.component.scss']\n})\nexport class CardClientComponent implements OnInit{\n    @Input() dropTitle!: string;\n    @Input() cardTitle!: string;\n    @Input() textListTitlecase = true;\n    @Input() showOptionSubValue = true;\n    @Input() type: string = TYPE_CARD_CLIENT.SLIM;\n    @Input() size: string = COMPONENT_SIZE.SMALL;\n    @Input() enableRowIcons = true;\n    @Input() enableActionButton = true;\n    @Input() actionButtonLabel = 'Label';\n    @Input() enableCloseButton = true;\n    @Input() serviceConfig!: DropdownServiceConfig;\n    @Input() defaultValue?: Array<ClientData>;\n    @Input() actionButtonFunction?: () => any;\n    @Input() fnTransformSelectedItem!: (value: any) => Observable<Array<ClientData>>;\n    @Input() allOptionsVisibleDropdown = false;\n    @Input() mostraSubValue = true;\n    @Input() pushFirstItemRow = true;\n\n    @Output() itemSelectedEvent: EventEmitter<boolean> = new EventEmitter<boolean>();\n    @Output() defaultValueEvent: EventEmitter<Array<ClientData>> = new EventEmitter<Array<ClientData>>();\n\n    itemSelected = false;\n    loadingData = true;\n    dropDownConfig = new DropdownConfig();\n    rows: Array<ClientData> = [];\n\n    ngOnInit(): void {\n        if (this.hasDefaultValue()) {\n            this.setDefaultValue();\n        } else {\n            this.dropDownConfig.serviceConfig = this.serviceConfig;\n            this.dropDownConfig.type = DROPDOWN_TYPE.SELECT;\n            this.dropDownConfig.size = this.size as COMPONENT_SIZE;\n            this.dropDownConfig.textTitleCase = this.textListTitlecase;\n            this.dropDownConfig.optionSubvalue = this.showOptionSubValue;\n            this.dropDownConfig.allOptionsVisible = this.allOptionsVisibleDropdown;\n        }\n    }\n\n    hasDefaultValue(): boolean {\n        return (this.defaultValue != null && this.defaultValue.length > 0);\n    }\n\n    setDefaultValue(): void {\n        this.rows = this.defaultValue ? this.defaultValue.map(item => ({...item})) : [];\n    }\n\n    selectItem(item: any): void {\n        this.loadingData = false;\n\n        this.rows.length = 0;\n        if (this.pushFirstItemRow) {\n            this.rows.push({ icon: 'users-account-1-outline', content: item[0].value });\n        }\n\n        if (this.type === TYPE_CARD_CLIENT.SLIM) {\n            this.itemSelected = true;\n            this.loadingData = true;\n\n        } else if (this.type === TYPE_CARD_CLIENT.FULL && this.fnTransformSelectedItem) {\n            this.fnTransformSelectedItem(item[0].id)\n                .subscribe(rows => {\n                    this.rows.push(...rows);\n                    this.itemSelected = true;\n                    this.loadingData = true;\n                    this.itemSelectedEvent.emit(true);\n                });\n        }\n    }\n\n    actionButtonSize(): string {\n        switch (this.size) {\n            case 'small': return 'tiny';\n            case 'medium': return 'tiny';\n            case 'large': return 'small';\n            default: return 'tiny';\n        }\n    }\n\n    closeButtonComponent(): void {\n        this.itemSelected = false;\n        this.itemSelectedEvent.emit(this.itemSelected);\n        this.defaultValue = [];\n        this.defaultValueEvent.emit(this.defaultValue);\n    }\n\n    actionButtonComponent(): any {\n        if (this.actionButtonFunction != null) {\n            return this.actionButtonFunction();\n        } else {\n            return null;\n        }\n    }\n}\n\nexport class ClientData {\n    icon!: string;\n    content?: string;\n}\n","<div id=\"drop-down\" class=\"card-client\" *ngIf=\"!itemSelected && !hasDefaultValue()\">\n    <div class=\"title\">\n        <soft-label>{{ this.dropTitle }}</soft-label>\n    </div>\n    <soft-dropdown [dropdownConfig]=\"dropDownConfig\" *ngIf=\"loadingData\"\n                   [mostraSubValue]=\"mostraSubValue\"\n                   (selectedOptionEvent)=\"selectItem($event)\">\n    </soft-dropdown>\n</div>\n<div id=\"card-client\" class=\"card-client\" *ngIf=\"itemSelected || hasDefaultValue()\">\n    <div class=\"title\">\n        <soft-label>{{ this.cardTitle }}</soft-label>\n    </div>\n    <div class=\"data-panel\">\n        <ng-container *ngFor=\"let row of this.rows; let first = first; let last = last;\">\n            <div class=\"data-row\" [ngClass]=\"{ 'border-bottom-row': !last }\">\n\n                <div class=\"data {{'data-size-' + size}}\">\n                    <ng-container *ngIf=\"enableRowIcons\">\n                        <div class=\"icon {{ 'icon-size-' + size}}\" >\n                            <soft-icon type=\"{{ row.icon }}\"></soft-icon>\n                        </div>\n                    </ng-container>\n                    <div class=\"data-info ml-24\">\n                        <span>{{ row.content | titlecase }}</span>\n                    </div>\n                </div>\n\n                <div class=\"data-buttons\">\n                    <ng-container *ngIf=\"enableCloseButton && row != undefined && first\">\n                        <button class=\"close-button\" (click)=\"closeButtonComponent()\">\n                            <div class=\"icon-size\"><soft-icon type=\"user-interface-close-outline\" [width]=\"'8px'\"></soft-icon></div>\n                        </button>\n                    </ng-container>\n                </div>\n\n                <ng-container *ngIf=\"enableActionButton\">\n                    <soft-button class=\"{{this.rows && this.rows.length > 1 ? 'mr-12': 'mr-24'}}\" *ngIf=\"row != undefined && last\"\n                                 [style]=\"'primary'\" size=\"{{ actionButtonSize() }}\" variation=\"solid\"\n                                 (click)=\"actionButtonComponent()\">\n                        {{ this.actionButtonLabel }}\n                    </soft-button>\n                </ng-container>\n            </div>\n        </ng-container>\n    </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SimpleTooltipDirective } from './simple-tooltip/simple-tooltip.directive';\n\n@NgModule({\n    declarations: [\n        SimpleTooltipDirective,\n    ],\n    imports: [\n        CommonModule,\n    ],\n    exports: [\n        SimpleTooltipDirective,\n    ],\n})\nexport class DirectivesModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ItemSelectComponent } from './item-select.component';\n\n@NgModule({\n    declarations: [\n        ItemSelectComponent\n    ],\n    exports: [\n        ItemSelectComponent\n    ],\n    imports: [\n        CommonModule\n    ]\n})\nexport class ItemSelectModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DirectivesModule } from '../../directives/directives.module';\nimport { BadgeModule } from '../badge/badge.module';\nimport { ButtonModule } from '../button/button.module';\nimport { CheckboxModule } from '../checkbox/checkbox.module';\nimport { HintModule } from '../hint/hint.module';\nimport { IconModule } from '../icon/icon.module';\nimport { InputModule } from '../input/input.module';\nimport { ItemSelectModule } from '../item-select/item.module';\nimport { LabelModule } from '../label/label.module';\nimport { RadioModule } from '../radio/radio.module';\nimport { DropdownComponent } from './dropdown.component';\n\n@NgModule({\n    declarations: [\n        DropdownComponent,\n    ],\n    imports: [\n        CommonModule,\n        IconModule,\n        ButtonModule,\n        InputModule,\n        RadioModule,\n        CheckboxModule,\n        ItemSelectModule,\n        LabelModule,\n        BadgeModule,\n        HintModule,\n        DirectivesModule,\n    ],\n    exports: [\n        DropdownComponent,\n    ],\n})\nexport class DropdownModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { CardClientComponent } from './card-client.component';\nimport { ButtonModule } from '../button/button.module';\nimport { IconModule } from '../icon/icon.module';\nimport { LabelModule } from '../label/label.module';\nimport { DropdownModule } from '../dropdown/dropdown.module';\n\n@NgModule({\n    declarations: [\n        CardClientComponent\n    ],\n    imports: [\n        CommonModule,\n        ButtonModule,\n        IconModule,\n        LabelModule,\n        DropdownModule\n    ],\n    exports: [\n        CardClientComponent\n    ]\n})\nexport class CardClientModule {\n}\n","export class PageSizeOption {\n    value!: number;\n    label!: string;\n    selected!: boolean;\n}\n\nexport class PageStatusEvent {\n    currentPage!: number;\n    pageSize!: number;\n}\n","import {\n    AfterViewInit,\n    Component,\n    ElementRef,\n    EventEmitter,\n    forwardRef,\n    HostListener,\n    Input,\n    OnInit,\n    Output,\n    Renderer2\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Filter} from './filter';\nimport {DropdownConfig, DropdownOption} from '../dropdown/dropdown';\n\n@Component({\n    selector: 'soft-filter',\n    templateUrl: './filter.component.html',\n    styleUrls: ['./filter.component.scss'],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => FilterComponent),\n            multi: true\n        }\n    ]\n})\n\nexport class FilterComponent implements OnInit, AfterViewInit {\n\n    @Input() filter!: Filter;\n\n    @Output() itemsSelected: EventEmitter<DropdownOption | DropdownOption[]> = new EventEmitter<DropdownOption | DropdownOption[]>();\n    @Output() filterCheck: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n    dropdownConfig: DropdownConfig = new DropdownConfig();\n    isChecked = false;\n    isDropdownActive = false;\n    isClickInCheck = false;\n    qtdSelected = 0;\n    dropDownWidth = '100px';\n    dropDownHeight = '100px';\n    showDropdown = false;\n\n    @HostListener('click')\n    clickIn(): void {\n        if (!this.isClickInCheck && !this.filter.filterDisabled) {\n            this.openDropdown();\n        }\n    }\n\n    @HostListener('document:click', ['$event'])\n    clickOut(event: any): void {\n        if (!this.isDropdownActive && !this.isClickInCheck && !this.filter.filterDisabled) {\n            this.closeDropdown();\n        }\n        this.isDropdownActive = false;\n        this.isClickInCheck = false;\n    }\n\n    constructor(private el: ElementRef, private renderer: Renderer2) {\n    }\n\n    ngOnInit(): void {\n        this.dropdownConfig.options = this.filter.dropdownOption;\n        this.dropdownConfig.type = this.filter.dropdownType;\n        this.dropdownConfig.size = this.filter.dropdownSize;\n        this.dropdownConfig.placeholder = this.filter.dropdownPlaceholder;\n        this.dropdownConfig.leftIcon = this.filter.dropdownLeftIcon;\n        this.dropdownConfig.isCollapsed = true;\n    }\n\n    ngAfterViewInit(): void {\n        this.adjustDropdownOverflow();\n    }\n\n    openDropdown(): void {\n        this.showDropdown = true;\n        this.renderer.setStyle(this.el.nativeElement.querySelector('.ngx-filter'), 'display', 'none');\n        this.isDropdownActive = true;\n    }\n\n    closeDropdown(): void {\n        this.showDropdown = false;\n        this.renderer.setStyle(this.el.nativeElement.querySelector('.ngx-filter'), 'display', 'inline-flex');\n    }\n\n    adjustDropdownOverflow(): void {\n        this.dropDownWidth = this.el.nativeElement.querySelector('.ngx-filter').offsetWidth + 'px';\n        this.dropDownHeight = this.el.nativeElement.querySelector('.ngx-filter').offsetHeight + 'px';\n    }\n\n    applyFilter(): void {\n        this.isClickInCheck = true;\n        this.isChecked = !this.isChecked;\n        this.filterCheck.emit(this.isChecked);\n    }\n\n    selectedOptionEvent(e: any): void {\n        this.qtdSelected = e.length;\n        this.itemsSelected.emit(e);\n\n        if (this.qtdSelected > 0 && !this.isChecked) {\n            this.isChecked = !this.isChecked;\n            this.filterCheck.emit(this.isChecked);\n        } else if (this.qtdSelected === 0) {\n            this.isChecked = false;\n            this.filterCheck.emit(this.isChecked);\n        }\n    }\n}\n","<div class=\"ngx-filter-container\">\n    <div class=\"ngx-filter\"\n         [ngClass]=\"{'ngx-filter-disabled': this.filter.filterDisabled, 'ngx-filter-check': isChecked}\">\n        <div class=\"ngx-checkbox\">\n            <soft-checkbox [size]=\"'tiny'\" [disabled]=\"this.filter.filterDisabled\"\n                           (click)=\"applyFilter()\" [isChecked]=\"isChecked\"></soft-checkbox>\n        </div>\n        <div class=\"ngx-content\">\n            <ng-content></ng-content>\n        </div>\n        <div class=\"ngx-filter-spacer\"></div>\n        <div class=\"ngx-filter-selected-items\">\n            <span class=\"ngx-filter-selected-quantity\" [innerText]=qtdSelected></span>\n        </div>\n    </div>\n    <div class=\"ngx-dropdown\" [hidden]=\"!showDropdown\" [ngStyle]=\"{'width': dropDownWidth, 'height': dropDownHeight}\">\n        <soft-dropdown [dropdownConfig]=\"dropdownConfig\"\n                       (selectedOptionEvent)=\"this.selectedOptionEvent($event)\"\n                       (closedDropdownSelectType)=\"closeDropdown()\"></soft-dropdown>\n    </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FilterComponent} from './filter.component';\nimport {FormsModule} from '@angular/forms';\nimport {CheckboxModule} from '../checkbox/checkbox.module';\nimport {DropdownModule} from '../dropdown/dropdown.module';\n\n@NgModule({\n    declarations: [\n        FilterComponent\n    ],\n    exports: [\n        FilterComponent\n    ],\n    imports: [\n        CommonModule,\n        FormsModule,\n        CheckboxModule,\n        DropdownModule,\n    ]\n})\nexport class FilterModule {\n}\n","import { DropdownOption } from '../dropdown/dropdown';\nimport { DROPDOWN_TYPE } from '../../models/dropdown/type-dropdown-enum';\nimport { COMPONENT_SIZE } from '../../models/component-size';\n\nexport class Filter {\n    filterDisabled = false;\n    dropdownOption!: DropdownOption[];\n    dropdownType!: DROPDOWN_TYPE;\n    dropdownSize = COMPONENT_SIZE.SMALL;\n    dropdownPlaceholder!: string;\n    dropdownLeftIcon!: string;\n}\n","import { Component, Input, OnInit, TemplateRef } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\n\n@Component({\n    selector: 'soft-box-message',\n    templateUrl: './box-message.component.html',\n    styleUrls: ['./box-message.component.scss']\n})\nexport class BoxMessageComponent implements OnInit {\n    @Input() title!: string;\n    @Input() subtitle!: string;\n    @Input() message!: string;\n    @Input() iconColor = 'red';\n    @Input() iconType = 'user-interface-exclamation-mark-outline-2';\n    @Input() buttonListModal: Array<ModalButton> = [];\n    @Input() useOkButton = false;\n    @Input() onExit!: () => any;\n    @Input() width = '544px';\n    @Input() maxHeight = '216px';\n    @Input() disabled = false;\n    @Input() useBoxShadow = true;\n    @Input() inputTemplate?: TemplateRef<any>;\n    @Input() colorButton = 'primary';\n    @Input() styleClassBox = '';\n\n    ngOnInit(): void {\n        if (this.useOkButton) {\n            this.buttonListModal.push({\n                text: 'OK',\n                colorTextButton: '#fff',\n                colorButton: this.colorButton,\n                widthButton: '106px',\n                heightButton: '42px',\n                variation: 'solid',\n                disabled: false\n            });\n        }\n    }\n\n    handleButtonClick(button: ModalButton): void {\n        if (button.functionModal) {\n            button.functionModal();\n        } else {\n            this.close();\n        }\n    }\n\n    close(): void {\n        this.onExit();\n    }\n}\n\nexport class ModalButton {\n    text!: string;\n    functionModal?: (fieldValue?: string) => any;\n    classButtonModal?: string;\n    colorTextButton?: string;\n    colorButton?: string;\n    widthButton?: string;\n    heightButton?: string;\n    variation?: string;\n    disabled?: boolean;\n    loading?: boolean;\n\n    constructor(\n        text: string,\n        functionModal: () => any,\n        classButtonModal: string,\n        colorTextButton: string,\n        colorButton: string,\n        widthButton: string,\n        heightButton: string,\n        variation: string,\n        disabled: boolean,\n        loading: boolean,\n    ) {\n        this.text = text;\n        this.functionModal = functionModal;\n        this.classButtonModal = classButtonModal;\n        this.colorTextButton = colorTextButton;\n        this.colorButton = colorButton;\n        this.widthButton = widthButton;\n        this.heightButton = heightButton;\n        this.variation = variation;\n        this.disabled = disabled;\n        this.loading = loading;\n    }\n}\n\nexport class InputField {\n    control!: UntypedFormControl;\n    placeholder?: string;\n    requiredMessage?: string;\n}\n","<div class=\"modal-warning {{styleClassBox}}\" [class.box-shadow]=\"useBoxShadow\" [style.width]=\"width\">\n    <div class=\"box\">\n        <div class=\"d-flex align-start flex-row flex-wrap\">\n            <div style=\"flex-basis: 10%\">\n                <soft-icon [type]=\"iconType\" class=\"icon-size\" [style.color]=\"iconColor\"\n                    [style.border-color]=\"iconColor\" [color]=\"iconColor\" width=\"40px\" height=\"40px\">\n                </soft-icon>\n            </div>\n\n            <div class=\"d-flex flex-column\" style=\"flex-basis: 89%\">\n                <span class=\"title-modal\">{{ title }}</span>\n            </div>\n\n            <div class=\"message-modal\" [style.max-height]=\"maxHeight\">\n                <div *ngIf=\"subtitle\" class=\"mb-3\">{{ subtitle }}</div>\n\n                <div *ngIf=\"message\">\n                    <span id=\"mensagem\" [innerHTML]=\"message\"></span>\n                </div>\n\n                <div *ngIf=\"inputTemplate\">\n                    <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n                </div>\n            </div>\n\n            <div class=\"button-spacing\">\n                <soft-button *ngFor=\"let button of buttonListModal\" [style]=\"'primary'\"\n                    [colorButton]=\"button.colorButton\" size=\"medium\" [variation]=\"button.variation!\"\n                    [class]=\"button.classButtonModal ?? 'button-container'\" aria-label=\"Fechar\"\n                    [disabled]=\"!!button.disabled\" [widthButton]=\"button.widthButton\"\n                    [heightButton]=\"button.heightButton\" (click)=\"handleButtonClick(button)\">\n                    <span *ngIf=\"!button.loading; else blocoLoading\" [style.color]=\"button.colorTextButton\">\n                        {{ button.text }}\n                    </span>\n\n                    <ng-template #blocoLoading>\n                        <soft-icon [iconLoading]=\"true\"></soft-icon>\n                    </ng-template>\n                </soft-button>\n            </div>\n\n            <button (click)=\"close()\" class=\"close-modal-button\" aria-label=\"Fechar\">\n                <soft-icon type=\"user-interface-close-outline\"></soft-icon>\n            </button>\n        </div>\n    </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ButtonModule } from '../button/button.module';\nimport { HintModule } from '../hint/hint.module';\nimport { IconModule } from '../icon/icon.module';\nimport { BoxMessageComponent } from './box-message.component';\nimport { InputModule } from '../input/input.module';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n    declarations: [\n        BoxMessageComponent,\n    ],\n    imports: [\n        CommonModule,\n        ButtonModule,\n        IconModule,\n        InputModule,\n        HintModule,\n        ReactiveFormsModule,\n    ],\n    exports: [\n        BoxMessageComponent,\n    ]\n})\nexport class BoxMessageModule { }\n","import {Component, Input} from '@angular/core';\n\n@Component({\n    selector: 'soft-box-message-loading',\n    templateUrl: './box-message-loading.component.html',\n    styleUrls: ['./box-message-loading.component.scss']\n})\nexport class BoxMessageLoadingComponent {\n    @Input() title!: string;\n    @Input() message!: string;\n    @Input() onExit!: () => any;\n    @Input() widthModal = 'auto';\n    @Input() heightModal = 'auto';\n\n    close(): void {\n        this.onExit();\n    }\n}\n","<div class=\"modal-warning\" [style.width]=\"widthModal\" [style.height]=\"heightModal\">\n    <div class=\"box\">\n        <div class=\"title-modal\">\n            <div>\n                <div class=\"carregando\">\n                    <div class=\"spin-loader\" aria-hidden=\"true\"></div>\n                </div>\n                <div class=\"text-center\">\n                    <p id=\"title\" *ngIf=\"this.title\">\n                        {{ this.title }}\n                    </p>\n                    <p class=\"message-modal\" *ngIf=\"this.message\">\n                        {{ this.message }}\n                    </p>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '../icon/icon.module';\nimport { BoxMessageLoadingComponent } from './box-message-loading.component';\n\n@NgModule({\n    declarations: [\n        BoxMessageLoadingComponent\n    ],\n    imports: [\n        CommonModule,\n        IconModule,\n    ],\n    exports: [\n        BoxMessageLoadingComponent\n    ]\n})\nexport class BoxMessageLoadingModule {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SimpleTooltipComponent } from './simple-tooltip.component';\n\n@NgModule({\n    declarations: [\n        SimpleTooltipComponent,\n    ],\n    exports: [\n        SimpleTooltipComponent,\n    ],\n    imports: [\n        CommonModule,\n    ],\n})\nexport class SimpleTooltipModule { }\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Notification } from './notification';\nimport { TooltipPosition } from '../simple-tooltip/simple-tooltip.component';\n\n@Component({\n    selector: 'soft-notification',\n    templateUrl: './notification.component.html',\n    styleUrls: ['./notification.component.scss']\n})\nexport class NotificationComponent {\n\n    @Input() notification!: Notification;\n    @Output() redirect: EventEmitter<void> = new EventEmitter<void>();\n    @Output() deleteNotification: EventEmitter<void> = new EventEmitter<void>();\n    deletingNotification = false;\n    tooltipPosition: TooltipPosition = TooltipPosition.LEFT;\n\n    redirectNotificationEvent(): void {\n        this.redirect.emit();\n    }\n\n    deleteNotificationEvent(event: Event): void {\n        event.stopPropagation();\n        this.deleteNotification.emit();\n        this.deletingNotification = true;\n    }\n\n    calculateDifferenceTime(date: string | undefined): string {\n        if (!date) {\n            return '';\n        }\n        const dateProvidedTimestamp = new Date(date).getTime();\n        const dateNowTimestamp = new Date().getTime();\n        const diffMilisseconds = dateNowTimestamp - dateProvidedTimestamp;\n        const diffSeconds = Math.floor(diffMilisseconds / 1000);\n        const diffMinutes = Math.floor(diffSeconds / 60);\n        const diffHours = Math.floor(diffMinutes / 60);\n        const diffDays = Math.floor(diffHours / 24);\n\n        if (diffMinutes < 60) {\n            return `Há ${diffMinutes} minuto(s)`;\n        }\n        if (diffHours < 24) {\n            return `Há ${diffHours} hora(s)`;\n        }\n        return `Há ${diffDays} dia(s)`;\n    }\n}\n","<div class=\"notification-container d-flex align-items-center justify-content-between\"\n    [class.isRead]=\"notification.isRead\" (click)=\"redirectNotificationEvent()\">\n    <div class=\"icon-container col-1\">\n        <soft-icon\n            class=\"circular-border\"\n            [type]=\"notification.icon\"\n            [color]=\"'#556987'\"\n            [width]=\"'24px'\"\n            [height]=\"'24px'\">\n        </soft-icon>\n    </div>\n    <div class=\"d-flex flex-column notification-info col-10\">\n        <div class=\"notification-title d-flex\">\n            <span class=\"d-flex\">\n                <span class=\"notification-title-span\">\n                    {{ notification.infoTitle | titlecase }}\n                </span>\n                <span class=\"notification-date\">\n                    {{ calculateDifferenceTime(notification.infoDate) }}\n                </span>\n            </span>\n        </div>\n        <div class=\"notification-message d-flex align-items-center\">\n            <div class=\"ellipse\">\n                <soft-icon type=\"ellipse\"\n                    [color]=\"'#556987'\"\n                    [width]=\"'6px'\"\n                    [height]=\"'6px'\">\n                </soft-icon>\n            </div>\n            <div>\n                {{ notification.infoMessage }}\n            </div>\n        </div>\n        <div class=\"notification-details\">\n            {{ notification.infoDetails }}\n        </div>\n    </div>\n    <div class=\"button-spacing col-1\">\n        <button class=\"close-modal-button\" aria-label=\"Fechar\"\n            *ngIf=\"!deletingNotification; else deletingNotificationBlock\"\n                (click)=\"deleteNotificationEvent($event)\">\n            <soft-icon softSimpleTooltip\n                [tooltip]=\"'Excluir'\"\n                [position]=\"tooltipPosition\"\n                type=\"user-interface-trash-outline\"\n                [color]=\"'#556987'\"\n                [width]=\"'14px'\"\n                [height]=\"'14px'\">\n            </soft-icon>\n        </button>\n        <ng-template #deletingNotificationBlock>\n            <soft-icon [iconLoading]=\"true\"></soft-icon>\n        </ng-template>\n    </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NotificationComponent } from './notification.component';\nimport { IconModule } from '../icon/icon.module';\nimport { DirectivesModule } from '../../directives/directives.module';\n\n@NgModule({\n    declarations: [\n        NotificationComponent\n    ],\n    exports: [\n        NotificationComponent\n    ],\n    imports: [\n        CommonModule,\n        IconModule,\n        DirectivesModule\n    ]\n})\nexport class NotificationModule { }\n","export class Notification {\n    id!: number;\n    icon!: string;\n    infoTitle?: string;\n    infoMessage?: string;\n    infoDetails?: string;\n    infoDate?: string;\n    labelBtn!: string;\n    isRead!: boolean;\n}\n","export class HeaderColumn {\r\n    field!: string;\r\n    label!: string;\r\n    sortButton!: boolean;\r\n    sortAsc!: boolean;\r\n}\r\n\r\nexport class DataRow {\r\n    [key: string]: any;\r\n}\r\n\r\nexport class TableV2Config {\r\n    headerStyle? = new HeaderStyle();\r\n    columnStyle? = new ColumnStyle();\r\n    rowStyle? = new RowStyle();\r\n    tableStyle? = new TableStyle();\r\n    scrollVisible? = true;\r\n}\r\n\r\nexport class HeaderStyle {\r\n    fontSize? = '0.75rem';\r\n    fontColor? = '#4D5F7A';\r\n    fontStyle? = 'normal';\r\n    fontWeight? = '400';\r\n    lineHeight? = '1rem';\r\n    fontFamily? = 'Inter';\r\n    border? = 'none';\r\n    padding? = '0 1.25rem';\r\n}\r\n\r\nexport class RowStyle {\r\n    fontSize? = '0.75rem';\r\n    fontColor? = '#4D5F7A';\r\n    fontWeight? = '600';\r\n    padding? = '0 1.25rem';\r\n    textAlign? = 'left';\r\n    border? = '0.03125rem solid #D5DAE1';\r\n    height? = '1.875rem';\r\n    maxHeight? = '31.25rem';\r\n}\r\n\r\nexport class ColumnStyle {\r\n    minWidth? = '11.875rem';\r\n    maxWidth? = '13.75rem';\r\n}\r\n\r\nexport class TableStyle {\r\n    backgroundColor? = '#FFFFFF';\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { HeaderColumn, DataRow, TableV2Config } from './table-v2';\nimport { TooltipPosition } from '../simple-tooltip/simple-tooltip.component';\n\n@Component({\n    selector: 'soft-table-v2',\n    templateUrl: './table-v2.component.html',\n    styleUrls: ['./table-v2.component.scss']\n})\nexport class TableV2Component implements OnInit {\n\n    @Input() tableConfig?: TableV2Config = {};\n    @Input() headerColumns!: HeaderColumn[];\n    @Input() dataRow!: DataRow[];\n    @Output() changeOrder = new EventEmitter<HeaderColumn>();\n    tooltipPosition: TooltipPosition = TooltipPosition.BOTTOM;\n\n    ngOnInit(): void {\n        this.setStylesTable();\n    }\n\n    setStylesTable(): void {\n        const defaultTableConfig = new TableV2Config();\n        this.tableConfig = {\n            headerStyle: {\n                ...defaultTableConfig.headerStyle,\n                ...this.tableConfig?.headerStyle\n            },\n            columnStyle: {\n                ...defaultTableConfig.columnStyle,\n                ...this.tableConfig?.columnStyle\n            },\n            rowStyle: {\n                ...defaultTableConfig.rowStyle,\n                ...this.tableConfig?.rowStyle\n            },\n            tableStyle: {\n                ...defaultTableConfig.tableStyle,\n                ...this.tableConfig?.tableStyle\n            }\n        };\n    }\n\n    sortColumn(headerColumn: HeaderColumn): void {\n        headerColumn.sortAsc = !headerColumn.sortAsc;\n        this.changeOrder.emit(headerColumn);\n    }\n\n}\n","<div class=\"table-container\" [style.background-color]=\"tableConfig?.tableStyle?.backgroundColor\">\n    <table>\n        <thead [style.border]=\"tableConfig?.headerStyle?.border\">\n            <tr [ngStyle]=\"{\n                    'color': tableConfig?.headerStyle?.fontColor,\n                    'font-size': tableConfig?.headerStyle?.fontSize,\n                    'font-family': tableConfig?.headerStyle?.fontFamily,\n                    'font-style': tableConfig?.headerStyle?.fontStyle\n                }\">\n                <th *ngFor=\"let column of headerColumns\"\n                    [ngStyle]=\"{\n                        'font-weight': tableConfig?.headerStyle?.fontWeight,\n                        'line-height': tableConfig?.headerStyle?.lineHeight,\n                        'padding': tableConfig?.headerStyle?.padding,\n                        'min-width': tableConfig?.columnStyle?.minWidth,\n                        'max-width': tableConfig?.columnStyle?.maxWidth\n                    }\">\n                    <div class=\"d-flex\">\n                        <div>{{ column.label }}</div>\n                        <div *ngIf=\"column.sortButton\" class=\"order-button\">\n                            <ng-container *ngIf=\"!column.sortAsc\">\n                                <soft-icon\n                                    [type]=\"'arrows-down-arrow-line-outline'\"\n                                    (click)=\"sortColumn(column)\">\n                                </soft-icon>\n                            </ng-container>\n                            <ng-container *ngIf=\"column.sortAsc\">\n                                <soft-icon\n                                    [type]=\"'arrows-up-arrow-1-outline'\"\n                                    (click)=\"sortColumn(column)\">\n                                </soft-icon>\n                            </ng-container>\n                        </div>\n                    </div>\n                </th>\n            </tr>\n        </thead>\n\n        <div class=\"spacer\"></div>\n        <div class=\"tbody-container\" [style.max-height]=\"tableConfig?.rowStyle?.maxHeight\">\n            <tbody class=\"scrollable-body\" [style.border]=\"tableConfig?.rowStyle?.border\">\n                <ng-container>\n                    <tr *ngFor=\"let row of dataRow; last as isLast\"\n                        [style.border-bottom]=\"isLast ? '' : tableConfig?.rowStyle?.border\"\n                        [ngStyle]=\"{\n                                    'color': tableConfig?.rowStyle?.fontColor,\n                                    'font-size': tableConfig?.rowStyle?.fontSize,\n                                    'font-weight': tableConfig?.rowStyle?.fontWeight,\n                                    'text-align': tableConfig?.rowStyle?.textAlign\n                                }\">\n                        <td class=\"d-flex align-items-center\" *ngFor=\"let column of headerColumns; last as isLast\"\n                            [style.border-right]=\"isLast ? '' : tableConfig?.rowStyle?.border\"\n                            [ngStyle]=\"{\n                                        'padding': tableConfig?.rowStyle?.padding,\n                                        'height': tableConfig?.rowStyle?.height,\n                                        'min-width': tableConfig?.columnStyle?.minWidth,\n                                        'max-width': tableConfig?.columnStyle?.maxWidth\n                                    }\">\n                            <div class=\"row-content\"\n                                softSimpleTooltip\n                                [tooltip]=\"row[column.field] || ''\"\n                                [position]=\"tooltipPosition\">\n                                {{ row[column.field] }}\n                            </div>\n                        </td>\n                    </tr>\n                </ng-container>\n            </tbody>\n        </div>\n    </table>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TableV2Component } from './table-v2.component';\nimport { IconModule } from '../icon/icon.module';\nimport { DirectivesModule } from '../../directives/directives.module';\n\n\n@NgModule({\n    declarations: [\n        TableV2Component,\n    ],\n    exports: [\n        TableV2Component,\n    ],\n    imports: [\n        CommonModule,\n        IconModule,\n        DirectivesModule\n    ]\n})\nexport class TableV2Module { }\n","/*\n * Public API Surface of ngx-softfocus\n */\n\n// Button\nexport * from './lib/components/button/button.module';\nexport * from './lib/components/button/button.component';\n\n\n// Icon\nexport * from './lib/components/icon/icon.module';\nexport * from './lib/components/icon/icon.component';\n\n\n// Badge\nexport * from './lib/components/badge/badge.module';\nexport * from './lib/components/badge/badge.component';\n\n\n// Table\nexport * from './lib/components/table/table.module';\nexport * from './lib/components/table/table.component';\nexport * from './lib/models/table/button-table-enum';\nexport * from './lib/models/table/check-type';\nexport * from './lib/components/table/table';\n\n\n// Input\nexport * from './lib/components/input/input.module';\nexport * from './lib/components/input/input.component';\n\n\n// Label\nexport * from './lib/components/label/label.module';\nexport * from './lib/components/label/label.component';\n\n\n// Hint\nexport * from './lib/components/hint/hint.module';\nexport * from './lib/components/hint/hint.component';\n\n\n// Checkbox\nexport * from './lib/components/checkbox/checkbox.module';\nexport * from './lib/components/checkbox/checkbox.component';\n\n\n// Toggle\nexport * from './lib/components/toggle/toggle.module';\nexport * from './lib/components/toggle/toggle.component';\nexport * from './lib/models/toggle/size-toggle-enum';\nexport * from './lib/models/toggle/style-toggle-enum';\n\n\n// Radio\nexport * from './lib/components/radio/radio.module';\nexport * from './lib/components/radio/radio.component';\n\n\n// Box\nexport * from './lib/components/box/box.module';\nexport * from './lib/components/box/box.component';\nexport * from './lib/models/box/size-box-enum';\nexport * from './lib/models/box/type-border-radius-enum';\n\n\nexport * from './lib/components/card-client/card-client.module';\nexport * from './lib/components/card-client/card-client.component';\n\n\n// Pagination\nexport * from './lib/components/pagination/pagination.module';\nexport * from './lib/components/pagination/pagination';\nexport * from './lib/components/pagination/pagination.component';\nexport * from './lib/models/pagination/size-paginations-enum';\n\n\n// Filter\nexport * from './lib/components/filter/filter.module';\nexport * from './lib/components/filter/filter.component';\nexport * from './lib/components/filter/filter';\n\n\n// Dropdown\nexport * from './lib/components/dropdown/dropdown.module';\nexport * from './lib/components/dropdown/dropdown.component';\nexport * from './lib/models/dropdown/type-dropdown-enum';\nexport * from './lib/components/dropdown/dropdown';\n\n\n// Utils\nexport * from './lib/utils/softfocus-utils';\nexport * from './lib/utils/graphql-params';\nexport * from './lib/models/component-size';\n\n\n// Modal Message Warning\nexport * from './lib/components/box-message/box-message.module';\nexport * from './lib/components/box-message/box-message.component';\n\n\n// Box Message Loading\nexport * from './lib/components/box-message-loading/box-message-loading.module';\nexport * from './lib/components/box-message-loading/box-message-loading.component';\n\n\n// Simple Tooltip component\nexport * from './lib/components/simple-tooltip/simple-tooltip.module';\nexport * from './lib/components/simple-tooltip/simple-tooltip.component';\n\n\n// Simple Tooltip directive\nexport * from './lib/directives/simple-tooltip/simple-tooltip.directive';\n\n\n// Directives\nexport * from './lib/directives/directives.module';\n\n\n// Notification\nexport * from './lib/components/notification/notification.module';\nexport * from './lib/components/notification/notification.component';\nexport * from './lib/components/notification/notification';\n\n\n// TableV2\nexport * from './lib/components/table-v2/table-v2.module';\nexport * from './lib/components/table-v2/table-v2.component';\nexport * from './lib/components/table-v2/table-v2';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.IconComponent","i3.ButtonComponent","i4.CheckboxComponent","i5.PaginationComponent","i6.RadioComponent","i1","i2","i3.IconComponent","i3.ToggleComponent","i4.LabelComponent","i2.InputComponent","i3.RadioComponent","i5.ItemSelectComponent","i6.BadgeComponent","i7.HintComponent","i8.SimpleTooltipDirective","i2.ButtonComponent","i5.DropdownComponent","i2.CheckboxComponent","i3.DropdownComponent","i3.SimpleTooltipDirective"],"mappings":"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"}