lib-portal-angular 0.0.53 → 0.0.54

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"lib-portal-angular.mjs","sources":["../../../projects/lib-portal-angular/src/lib/service/auth-service.service.ts","../../../projects/lib-portal-angular/src/lib/components/custom-switch/custom-switch.component.ts","../../../projects/lib-portal-angular/src/lib/components/custom-switch/custom-switch.component.html","../../../projects/lib-portal-angular/src/lib/components/alert/alert.component.ts","../../../projects/lib-portal-angular/src/lib/components/alert/alert.component.html","../../../projects/lib-portal-angular/src/lib/components/app-background/app-background.component.ts","../../../projects/lib-portal-angular/src/lib/enum/ButtonClassesEnum.ts","../../../projects/lib-portal-angular/src/lib/components/badge/badge.component.ts","../../../projects/lib-portal-angular/src/lib/components/button/button.component.ts","../../../projects/lib-portal-angular/src/lib/components/basic-registration/basic-registration.component.ts","../../../projects/lib-portal-angular/src/lib/components/basic-registration/basic-registration.component.html","../../../projects/lib-portal-angular/src/lib/components/card/card.component.ts","../../../projects/lib-portal-angular/src/lib/components/checkbox/checkbox.component.ts","../../../projects/lib-portal-angular/src/lib/components/code-highlight/code-highlight.component.ts","../../../projects/lib-portal-angular/src/lib/directive/autofocus-directive/autofocus.directive.ts","../../../projects/lib-portal-angular/src/lib/components/confirmation/confirmation.component.ts","../../../projects/lib-portal-angular/src/lib/components/confirmation/confirmation.component.html","../../../projects/lib-portal-angular/src/lib/components/custom-pagination/custom-pagination.component.ts","../../../projects/lib-portal-angular/src/lib/components/custom-pagination/custom-pagination.component.html","../../../projects/lib-portal-angular/src/lib/components/imput/input.component.ts","../../../projects/lib-portal-angular/src/lib/components/multi-select/multi-select.component.ts","../../../projects/lib-portal-angular/src/lib/components/radio/radio.component.ts","../../../projects/lib-portal-angular/src/lib/components/search-input/search-input.component.ts","../../../projects/lib-portal-angular/src/lib/components/search-input/search-input.component.html","../../../projects/lib-portal-angular/src/lib/components/select/select.component.ts","../../../projects/lib-portal-angular/src/lib/service/refresh-service.service.ts","../../../projects/lib-portal-angular/src/lib/components/tables/data-table.component.ts","../../../projects/lib-portal-angular/src/lib/components/tables/data-table.component.html","../../../projects/lib-portal-angular/src/lib/components/textarea/textarea.component.ts","../../../projects/lib-portal-angular/src/lib/components/tree-node/tree-node.component.ts","../../../projects/lib-portal-angular/src/lib/components/tree-node/tree-node.component.html","../../../projects/lib-portal-angular/src/lib/icons/lucide-icons.module.ts","../../../projects/lib-portal-angular/src/lib/components/components.module.ts","../../../projects/lib-portal-angular/src/lib/components/alert/notification.service.ts","../../../projects/lib-portal-angular/src/lib/components/confirmation/confirmation.service.ts","../../../projects/lib-portal-angular/src/lib/components/tables/data-paginate.service.ts","../../../projects/lib-portal-angular/src/lib/service/route-parameter.service.ts","../../../projects/lib-portal-angular/src/lib/lib-portal-angular.module.ts","../../../projects/lib-portal-angular/src/public-api.ts","../../../projects/lib-portal-angular/src/lib-portal-angular.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n private userRoles: string[] = [];\n\n constructor() {\n this.loadUserRoles();\n }\n\n private loadUserRoles(): void {\n const storedUser = localStorage.getItem('user');\n if (!storedUser) {\n throw new Error('User not found in localStorage');\n }\n const { role } = JSON.parse(storedUser);\n if (!role || !Array.isArray(role)) {\n throw new Error('Roles not found or invalid in localStorage');\n }\n this.userRoles = role.flatMap((roleArray: number[]) => roleArray.map(role => role.toString()));\n }\n\n public hasPermission(requiredPermissions: string[]): boolean {\n if (this.userRoles.length === 0) {\n throw new Error('No roles found for the user');\n }\n return requiredPermissions.every(permission => this.userRoles.includes(permission));\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AuthService } from '../../service/auth-service.service';\n\n@Component({\n selector: 'argenta-custom-switch',\n templateUrl: './custom-switch.component.html',\n styleUrls: ['./custom-switch.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CustomSwitchComponent {\n @Input() checked: boolean = false;\n @Input() label: string = '';\n @Input() permissions: string[] = [];\n @Output() switchChange = new EventEmitter<boolean>();\n\n constructor(private authService: AuthService) { }\n\n toggleSwitch() {\n this.checked = !this.checked;\n this.switchChange.emit(this.checked);\n }\n\n hasPermission(): boolean {\n if (!this.permissions || this.permissions.length === 0) {\n return true;\n }\n\n try {\n return this.authService.hasPermission(this.permissions);\n } catch (error: unknown) {\n if (error instanceof Error) {\n console.error('Permission error:', error.message);\n } else {\n console.error('Unknown error occurred during permission check');\n }\n return true;\n }\n }\n}\n","<ng-container *ngIf=\"hasPermission()\">\n <div class=\"form-check form-switch\">\n <input \n class=\"form-check-input\" \n type=\"checkbox\" \n [checked]=\"checked\" \n (change)=\"toggleSwitch()\" \n id=\"flexSwitchCheckDefault\" \n />\n <label class=\"form-check-label\" for=\"flexSwitchCheckDefault\">\n {{ label }}\n </label>\n </div>\n</ng-container>\n","import { AfterViewInit, Component, Input, OnInit } from '@angular/core';\nimport { Alert } from './notification.service';\n\n@Component({\n selector: 'lib-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss']\n})\nexport class AlertComponent implements OnInit, AfterViewInit {\n @Input() alerts: Alert[] = [];\n private closeTimeouts: { [key: string]: any } = {}; // Armazena os temporizadores para cada alerta\n\n ngOnInit(): void {\n // Inicia o temporizador de fechamento para cada alerta quando a página é carregada\n this.alerts.forEach(alert => {\n this.closeTimeouts[alert.message] = setTimeout(() => {\n this.closeAlert(alert);\n }, 6000); // Fecha após 8 segundos\n });\n }\n\n ngAfterViewInit(): void {\n // Adiciona a classe 'show' após um curto atraso para acionar a animação\n setTimeout(() => {\n this.alerts.forEach(alert => {\n const element = document.getElementById(`alert-${alert.message}`);\n if (element) {\n element.classList.add('show');\n }\n });\n }, 10); // Pequeno atraso para garantir que o elemento esteja no DOM\n }\n\n closeAlert(alert: Alert) {\n const element = document.getElementById(`alert-${alert.message}`);\n if (element) {\n element.classList.remove('show');\n setTimeout(() => {\n this.alerts = this.alerts.filter(a => a !== alert);\n }, 500); // Duração da animação de saída\n } else {\n this.alerts = this.alerts.filter(a => a !== alert);\n }\n }\n\n getAlertClass(alert: Alert) {\n return {\n 'alert-container': true,\n 'alert-dismissible': true,\n [`alert-${alert.type}`]: true\n };\n }\n\n getAlertIconClass(alert: Alert) {\n switch (alert.type) {\n case 'success':\n return 'success-icon'; // Classe para o ícone de sucesso\n case 'info':\n return 'info-icon'; // Classe para o ícone de informação\n case 'warning':\n return 'warning-icon'; // Classe para o ícone de aviso\n case 'danger':\n return 'danger-icon'; // Classe para o ícone de erro\n default:\n return '';\n }\n }\n\n onMouseEnter(alert: Alert) {\n // Cancela o temporizador quando o mouse entra no alerta\n if (this.closeTimeouts[alert.message]) {\n clearTimeout(this.closeTimeouts[alert.message]);\n delete this.closeTimeouts[alert.message];\n }\n }\n\n onMouseLeave(alert: Alert) {\n // Inicia um novo temporizador para fechar o alerta após 2 segundos quando o mouse sai do alerta\n this.closeTimeouts[alert.message] = setTimeout(() => {\n this.closeAlert(alert);\n }, 2000); // Fechar após 2 segundos\n }\n}\n","<div *ngFor=\"let alert of alerts\" \n [ngClass]=\"getAlertClass(alert)\" \n role=\"alert\" \n [id]=\"'alert-' + alert.message\"\n (mouseenter)=\"onMouseEnter(alert)\" \n (mouseleave)=\"onMouseLeave(alert)\">\n <button type=\"button\" class=\"close\" (click)=\"closeAlert(alert)\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n <div class=\"alert-header\">\n <span [ngClass]=\"getAlertIconClass(alert)\" class=\"alert-icon\"></span>\n <strong>{{ alert.title }}</strong>\n </div>\n <div class=\"alert-body\">\n {{ alert.message }}\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'argenta-app-background',\n template: `\n <div class=\"row row-car\">\n <div class=\"card\">\n <div class=\"card-content\">\n <ng-content></ng-content>\n </div>\n </div> \n </div>\n `,\n styles: [` \n .card {\n border-radius: 10px;\n padding: 1rem;\n background-color: #FFFFFF; /* Cor de fundo ajustada */\n border: none; /* Remover borda */\n }\n .row-car{\n margin-left: -0.8rem;\n margin-right: -0.8rem;\n }\n `]\n})\nexport class AppBackgroundComponent { }\n","export enum ButtonClasses {\n Primary = 'btn-primary',\n Secondary = 'btn-secondary',\n Success = 'btn-success',\n Danger = 'btn-danger',\n Warning = 'btn-warning',\n Info = 'btn-info',\n Light = 'btn-light',\n Dark = 'btn-dark',\n Link = 'btn-link'\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { ButtonClasses } from '../../enum/ButtonClassesEnum';\n\n@Component({\n selector: 'sim-app-badge',\n template: `\n <button\n class=\"notification-button\"\n [ngStyle]=\"getDynamicStyles()\"\n (click)=\"onClick()\"\n [class.hovered]=\"isHovered\"\n [class.clicked]=\"isClicked\"\n (mousedown)=\"onMouseDown()\"\n (mouseup)=\"onMouseUp()\"\n (mouseleave)=\"onMouseLeave()\"\n (mouseenter)=\"onMouseEnter()\">\n {{ label }}\n <span class=\"badge\">{{ badgeContent }}</span>\n </button>\n `,\n styles: [`\n .notification-button {\n position: relative;\n display: inline-block;\n width: 155px;\n height: 58px;\n padding: 14px 29px 14px 36px;\n border-radius: 6px;\n border: none;\n font-size: 16px;\n font-weight: bold;\n text-align: center;\n transition: opacity 0.3s;\n }\n .badge {\n position: absolute;\n width: 52px; /* Largura fixa */\n height: 32px; /* Altura fixa */\n top: -15px;\n right: -20px;\n background-color: #dc3545;\n color: #FFFFFF;\n border-radius: 16px; /* Arredondamento das bordas */\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: bold;\n font-size: 14px;\n font-family: 'Inter', sans-serif;\n }\n .notification-button.hovered {\n opacity: 0.8;\n }\n .notification-button.clicked {\n opacity: 0.6;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BadgeComponent {\n @Input() label: string = 'Mensagem';\n @Input() badgeContent: string = '+45';\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n @Input() btnClass: ButtonClasses = ButtonClasses.Primary;\n @Output() buttonClick: EventEmitter<void> = new EventEmitter<void>();\n\n isHovered: boolean = false;\n isClicked: boolean = false;\n isActive: boolean = false;\n\n getDynamicStyles() {\n let backgroundColor = '';\n let textColor = '#fff'; // Default text color\n let borderColor = '';\n\n switch (this.btnClass) {\n case ButtonClasses.Primary:\n backgroundColor = '#00444C';\n break;\n case ButtonClasses.Secondary:\n backgroundColor = '#2CA58D';\n break;\n case ButtonClasses.Success:\n backgroundColor = '#00C853';\n break;\n case ButtonClasses.Danger:\n backgroundColor = '#D32F2F';\n break;\n case ButtonClasses.Warning:\n backgroundColor = '#FFC107';\n break;\n case ButtonClasses.Info:\n backgroundColor = '#3EC9D6';\n break;\n case ButtonClasses.Light:\n backgroundColor = '#EEF2F6';\n textColor = '#00444C'; // Custom text color for Light\n break;\n case ButtonClasses.Dark:\n backgroundColor = '#111936';\n break;\n case ButtonClasses.Link:\n backgroundColor = 'transparent';\n borderColor = '#DDE5E9';\n textColor = '#00444C'; // Custom text color for Link\n break;\n default:\n backgroundColor = '#00444C';\n break;\n }\n\n const hoverFilter = this.isHovered ? 'brightness(80%)' : 'none'; // Adjusted hover brightness\n const activeFilter = this.isClicked ? 'brightness(60%)' : hoverFilter; // Adjusted active brightness\n\n return {\n 'margin-top': `${this.marginTop}rem`,\n 'margin-bottom': `${this.marginBottom}rem`,\n 'margin-left': `${this.marginLeft}rem`,\n 'margin-right': `${this.marginRight}rem`,\n 'background-color': backgroundColor,\n 'color': textColor,\n 'border': borderColor ? `1px solid ${borderColor}` : 'none',\n 'transition': 'background-color 0.3s, border-color 0.3s, filter 0.3s',\n 'filter': activeFilter\n };\n }\n\n onClick() {\n this.buttonClick.emit();\n }\n\n @HostListener('mouseenter')\n onMouseEnter() {\n this.isHovered = true;\n }\n\n @HostListener('mouseleave')\n onMouseLeave() {\n this.isHovered = false;\n this.isClicked = false;\n }\n\n @HostListener('mousedown')\n onMouseDown() {\n this.isClicked = true;\n }\n\n @HostListener('mouseup')\n onMouseUp() {\n this.isClicked = false;\n }\n}\n","import { Component, EventEmitter, Input, Output, OnInit, OnChanges, SimpleChanges, ChangeDetectionStrategy } from '@angular/core';\nimport { ButtonClasses } from '../../enum/ButtonClassesEnum';\nimport { AuthService } from '../../service/auth-service.service';\n\n@Component({\n selector: 'argenta-custom-button',\n template: `\n <ng-container *ngIf=\"hasPermission()\">\n <button [type]=\"type\"\n class=\"btn\"\n [ngClass]=\"btnClass\"\n [ngStyle]=\"dynamicStyles\"\n (click)=\"onClick($event)\"\n [disabled]=\"disabled\"\n [attr.autofocus]=\"autofocus ? true : null\"\n [attr.form]=\"form\"\n [attr.formaction]=\"formaction\"\n [attr.formenctype]=\"formenctype\"\n [attr.formmethod]=\"formmethod\"\n [attr.formnovalidate]=\"formnovalidate\"\n [attr.formtarget]=\"formtarget\"\n [attr.name]=\"name\"\n [attr.value]=\"value\">\n {{ label }}\n </button>\n </ng-container>\n `,\n styles: [`\n .btn {\n padding: 0.5rem 1rem;\n border-radius: 0.25rem;\n transition: background-color 0.3s, border-color 0.3s, filter 0.3s;\n font-family: 'Inter', sans-serif;\n font-size: 16px;\n font-weight: 600;\n line-height: 24px;\n letter-spacing: 0.005em;\n text-align: left;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonComponent implements OnInit, OnChanges {\n @Input() type: string = 'button';\n @Input() label: string = 'Submit';\n @Input() btnClass: ButtonClasses = ButtonClasses.Primary;\n @Input() fontSize: string = '1rem';\n @Input() disabled: boolean = false;\n @Input() autofocus: boolean = false;\n @Input() form: string | null = null;\n @Input() formaction: string | null = null;\n @Input() formenctype: string | null = null;\n @Input() formmethod: string | null = null;\n @Input() formnovalidate: boolean = false;\n @Input() formtarget: string | null = null;\n @Input() name: string | null = null;\n @Input() value: string | null = null;\n @Input() permissions: string[] = [];\n\n @Output() onButtonClick: EventEmitter<Event> = new EventEmitter<Event>();\n\n private isHovered: boolean = false;\n private isActive: boolean = false;\n\n constructor(private authService: AuthService) { }\n\n ngOnInit(): void {\n this.validateInputs();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes) {\n this.validateInputs();\n }\n }\n\n private validateInputs(): void {\n const validTypes = ['button', 'submit', 'reset'];\n const validClasses = Object.values(ButtonClasses);\n\n if (!validTypes.includes(this.type)) {\n throw new Error(`Invalid type: ${this.type}. Allowed values are: ${validTypes.join(', ')}`);\n }\n\n if (!validClasses.includes(this.btnClass)) {\n throw new Error(`Invalid btnClass: ${this.btnClass}. Allowed values are: ${validClasses.join(', ')}`);\n }\n\n if (typeof this.disabled !== 'boolean') {\n throw new Error(`Invalid disabled value: ${this.disabled}. It should be a boolean.`);\n }\n\n if (typeof this.autofocus !== 'boolean') {\n throw new Error(`Invalid autofocus value: ${this.autofocus}. It should be a boolean.`);\n }\n\n if (this.permissions && !Array.isArray(this.permissions)) {\n throw new Error(`Invalid permissions value: ${this.permissions}. It should be an array of strings.`);\n }\n }\n\n onClick(event: Event) {\n this.onButtonClick.emit(event);\n }\n\n get dynamicStyles() {\n return this.calculateDynamicStyles();\n }\n\n private calculateDynamicStyles() {\n let backgroundColor = '';\n let textColor = '#fff'; // Default text color\n let borderColor = '';\n\n switch (this.btnClass) {\n case ButtonClasses.Primary:\n backgroundColor = '#00444C';\n break;\n case ButtonClasses.Secondary:\n backgroundColor = '#2CA58D';\n break;\n case ButtonClasses.Success:\n backgroundColor = '#00C853';\n break;\n case ButtonClasses.Danger:\n backgroundColor = '#D32F2F';\n break;\n case ButtonClasses.Warning:\n backgroundColor = '#FFC107';\n break;\n case ButtonClasses.Info:\n backgroundColor = '#3EC9D6';\n break;\n case ButtonClasses.Light:\n backgroundColor = '#EEF2F6';\n textColor = '#00444C'; // Custom text color for Light\n break;\n case ButtonClasses.Dark:\n backgroundColor = '#111936';\n break;\n case ButtonClasses.Link:\n backgroundColor = 'transparent';\n borderColor = '#DDE5E9';\n textColor = '#00444C'; // Custom text color for Link\n break;\n default:\n backgroundColor = '#00444C';\n break;\n }\n\n const hoverFilter = this.isHovered ? 'brightness(80%)' : 'none'; // Adjusted hover brightness\n const activeFilter = this.isActive ? 'brightness(60%)' : hoverFilter; // Adjusted active brightness\n\n return {\n 'font-size': this.fontSize,\n 'background-color': backgroundColor,\n 'color': textColor,\n 'border': borderColor ? `1px solid ${borderColor}` : 'none',\n 'transition': 'background-color 0.3s, border-color 0.3s, filter 0.3s',\n 'filter': activeFilter\n };\n }\n\n hasPermission(): boolean {\n if (!this.permissions || this.permissions.length === 0) {\n return true;\n }\n\n try {\n return this.authService.hasPermission(this.permissions);\n } catch (error: unknown) {\n if (error instanceof Error) {\n console.error('Permission error:', error.message);\n } else {\n console.error('Unknown error occurred during permission check');\n }\n return true;\n }\n }\n\n onCancel(event: Event) {\n console.log('Cancel button clicked', event);\n // Lógica para o cancelamento\n }\n\n onSave(event: Event) {\n console.log('Save button clicked', event);\n // Lógica para salvar alterações\n }\n}\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\nimport { AuthService } from '../../service/auth-service.service';\nimport { ButtonClasses } from '../../enum/ButtonClassesEnum';\n\n@Component({\n selector: 'argenta-basic-registration',\n templateUrl: './basic-registration.component.html',\n styleUrls: ['./basic-registration.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BasicRegistrationComponent {\n @Input() cancelLabel: string = 'Cancelar';\n @Input() saveLabel: string = 'Salvar';\n @Input() cancelPermissions: string[] = [];\n @Input() savePermissions: string[] = [];\n\n @Output() cancelClick: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() saveClick: EventEmitter<Event> = new EventEmitter<Event>();\n ButtonClasses = ButtonClasses;\n\n constructor(private authService: AuthService) { }\n\n hasPermission(permissions: string[]): boolean {\n if (!permissions || permissions.length === 0) {\n return true;\n }\n\n try {\n return this.authService.hasPermission(permissions);\n } catch (error: unknown) {\n if (error instanceof Error) {\n console.error('Permission error:', error.message);\n } else {\n console.error('Unknown error occurred during permission check');\n }\n return true;\n }\n }\n\n handleCancel(event: Event) {\n this.cancelClick.emit(event);\n }\n\n handleSave(event: Event) {\n this.saveClick.emit(event);\n }\n}\n","<div class=\"row row-car\">\n <div class=\"card\">\n <div class=\"card-content\" style=\"margin-top: 2.5rem;\">\n <ng-content></ng-content> <!-- Permite a inclusão de conteúdo dinâmico -->\n </div>\n <div class=\"card-footer\">\n <div class=\"button-group\">\n <argenta-custom-button\n *ngIf=\"hasPermission(cancelPermissions)\"\n [type]=\"'button'\"\n [label]=\"cancelLabel\"\n [btnClass]=\"ButtonClasses.Light\"\n (onButtonClick)=\"handleCancel($event)\"\n class=\"argenta-custom-button\">\n </argenta-custom-button>\n <argenta-custom-button\n *ngIf=\"hasPermission(savePermissions)\"\n [type]=\"'submit'\"\n [label]=\"saveLabel\"\n [btnClass]=\"ButtonClasses.Primary\"\n (onButtonClick)=\"handleSave($event)\"\n class=\"argenta-custom-button\">\n </argenta-custom-button>\n </div>\n </div>\n </div> \n</div>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sim-app-card',\n template: `\n <div class=\"card mb-3\">\n <div class=\"card-header\">\n <h3>{{ cardTitle }}</h3>\n </div>\n <div class=\"card-body\">\n <ng-content></ng-content>\n </div>\n </div>\n `\n})\nexport class CardComponent {\n @Input() cardTitle: string = 'Default Title';\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-checkbox',\n template: `\n <div\n class=\"form-group form-check\"\n [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n [id]=\"id\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onChange($event)\"\n />\n <label class=\"form-check-label\" [for]=\"id\">{{ label }}</label>\n </div>\n `,\n styles: [`\n .form-check-input {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem; /* Define o tamanho padrão da fonte para o input */\n }\n .form-check-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem; /* Define o tamanho padrão da fonte para o label */\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() id: string = 'defaultCheckbox';\n @Input() checked: boolean = false;\n @Input() disabled: boolean = false;\n @Input() label: string = 'Check me out';\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() checkedChange = new EventEmitter<boolean>();\n\n private onChangeFn: (value: boolean) => void = () => { };\n private onTouchedFn: () => void = () => { };\n\n onChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.checked = input.checked;\n this.onChangeFn(this.checked);\n this.checkedChange.emit(this.checked);\n }\n\n writeValue(value: boolean): void {\n this.checked = value;\n }\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouchedFn = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport hljs from 'highlight.js';\n\n@Component({\n selector: 'app-code-highlight',\n template: `\n <div class=\"code-container\">\n <pre><code #codeElement [innerHTML]=\"highlightedCode\"></code></pre>\n <button (click)=\"copyCode()\">Copy</button>\n </div>\n `,\n styles: [`\n .code-container {\n position: relative;\n }\n pre {\n background-color: #2d2d2d;\n color: #f8f8f2;\n padding: 1rem;\n border-radius: 5px;\n overflow-x: auto;\n }\n button {\n position: absolute;\n top: 10px;\n right: 10px;\n background-color: #f8f8f2;\n border: none;\n padding: 0.5rem 1rem;\n cursor: pointer;\n border-radius: 5px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n transition: background-color 0.3s, transform 0.2s, box-shadow 0.2s;\n }\n button:hover {\n background-color: #e0e0e0;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);\n }\n button:active {\n background-color: #d0d0d0;\n transform: scale(0.98);\n }\n `]\n})\nexport class CodeHighlightComponent implements AfterViewInit {\n @Input() code: string = ''; // Definindo um valor padrão\n @Input() language: string = 'typescript';\n @ViewChild('codeElement') codeElement!: ElementRef; // Usando operador de asserção não nula\n\n highlightedCode: string = '';\n\n constructor(private cdr: ChangeDetectorRef) { }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.highlightCode();\n this.cdr.detectChanges();\n });\n }\n\n highlightCode() {\n const code = hljs.highlight(this.language, this.code).value;\n this.highlightedCode = code;\n }\n\n copyCode() {\n const codeElement = this.codeElement.nativeElement;\n navigator.clipboard.writeText(codeElement.innerText).then(() => {\n alert('Code copied to clipboard!');\n });\n }\n}\n","import { AfterViewInit, Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[appAutofocus]'\n})\nexport class AutofocusDirective implements AfterViewInit {\n constructor(private elementRef: ElementRef) { }\n\n ngAfterViewInit() {\n this.elementRef.nativeElement.focus();\n }\n}\n","import { Component, Input, ChangeDetectionStrategy, OnDestroy } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-confirmation',\n templateUrl: './confirmation.component.html',\n styleUrls: ['./confirmation.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ConfirmationComponent implements OnDestroy {\n @Input() title: string = 'Confirmação';\n @Input() message: string = 'Você tem certeza que deseja continuar?';\n @Input() confirmButtonText: string = 'Sim';\n @Input() cancelButtonText: string = 'Não';\n\n constructor(public activeModal: NgbActiveModal) { }\n\n confirm() {\n this.activeModal.close('confirm');\n }\n\n cancel() {\n this.activeModal.dismiss('cancel');\n }\n\n ngOnDestroy() {\n // Clear any subscriptions if there were any\n }\n}\n","<div class=\"modal-header\">\n <h5 class=\"modal-title\" id=\"confirmationModalLabel\">{{ title }}</h5>\n</div>\n<div class=\"modal-body\">\n <p>{{ message }}</p>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">{{ cancelButtonText }}</button>\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"confirm()\" appAutofocus>{{ confirmButtonText }}</button>\n</div>\n","import { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'custom-pagination',\n templateUrl: './custom-pagination.component.html',\n styleUrls: ['./custom-pagination.component.scss']\n})\nexport class CustomPaginationComponent implements OnDestroy {\n @Input() totalItems: number = 0;\n @Input() itemsPerPage: number = 10;\n @Input() currentPage: number = 1;\n @Input() showPageInfo: boolean = true; // Mostrar ou esconder a informação da página\n @Output() pageChange: EventEmitter<number> = new EventEmitter<number>();\n\n\n maxSize: number = 5; // Número máximo de botões de página visíveis\n\n private destroy$ = new Subject<void>();\n\n get totalPages(): number {\n return Math.ceil(this.totalItems / this.itemsPerPage);\n }\n\n changePage(page: number) {\n if (page >= 1 && page <= this.totalPages) {\n this.currentPage = page;\n this.pageChange.emit(this.currentPage);\n }\n }\n\n get pages(): number[] {\n const pages: number[] = [];\n const half = Math.floor(this.maxSize / 2);\n let start = Math.max(this.currentPage - half, 1);\n let end = start + this.maxSize - 1;\n\n if (end > this.totalPages) {\n end = this.totalPages;\n start = Math.max(end - this.maxSize + 1, 1);\n }\n\n for (let i = start; i <= end; i++) {\n pages.push(i);\n }\n return pages;\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","<nav *ngIf=\"totalPages > 0\">\n <ul class=\"pagination\">\n <li class=\"page-item\" [class.disabled]=\"currentPage === 1\">\n <a class=\"page-link\" (click)=\"changePage(1)\">&laquo;&laquo;</a>\n </li>\n <li class=\"page-item\" [class.disabled]=\"currentPage === 1\">\n <a class=\"page-link\" (click)=\"changePage(currentPage - 1)\">&laquo;</a>\n </li>\n <li class=\"page-item\" *ngFor=\"let page of pages\" [class.active]=\"page === currentPage\">\n <a class=\"page-link\" (click)=\"changePage(page)\">{{ page }}</a>\n </li>\n <li class=\"page-item\" [class.disabled]=\"currentPage === totalPages\">\n <a class=\"page-link\" (click)=\"changePage(currentPage + 1)\">&raquo;</a>\n </li>\n <li class=\"page-item\" [class.disabled]=\"currentPage === totalPages\">\n <a class=\"page-link\" (click)=\"changePage(totalPages)\">&raquo;&raquo;</a>\n </li>\n </ul>\n</nav>\n","import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, OnDestroy, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { AuthService } from '../../service/auth-service.service';\n\n@Component({\n selector: 'argenta-custom-input',\n styleUrls: ['./input.component.scss'],\n template: `\n <div *ngIf=\"hasPermission()\" class=\"form-group\">\n <label [for]=\"id\" [ngClass]=\"'label-styles'\">{{ label }}</label>\n <input [type]=\"type\"\n class=\"form-control custom-input\"\n [id]=\"id\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"value\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"keyupEvent.emit($event)\"\n (keydown)=\"keydownEvent.emit($event)\"\n (keypress)=\"keypressEvent.emit($event)\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [required]=\"required\"\n [attr.pattern]=\"pattern\"\n [autofocus]=\"autofocus\">\n </div>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class InputComponent implements ControlValueAccessor, OnDestroy {\n @Input() label: string = 'Default Label';\n @Input() placeholder: string = '';\n @Input() id: string = 'inputId';\n @Input() type: string = 'text';\n @Input() disabled: boolean = false;\n @Input() readonly: boolean = false;\n @Input() maxlength: number | null = null;\n @Input() minlength: number | null = null;\n @Input() required: boolean = false;\n @Input() pattern: string | null = null;\n @Input() autofocus: boolean = false;\n\n @Input() labelFontWeight: number = 400;\n\n @Input() permissions: string[] | undefined;\n\n @Output() inputEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() changeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() focusEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() blurEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() keyupEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keydownEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keypressEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n value: string = '';\n\n private subscriptions: Subscription[] = [];\n\n constructor(private authService: AuthService) { }\n\n onInput(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n this.value = inputElement.value;\n this.onChangeCallback(this.value);\n this.inputEvent.emit(event);\n }\n\n onChange(event: Event) {\n this.changeEvent.emit(event);\n }\n\n onFocus(event: FocusEvent) {\n this.focusEvent.emit(event);\n }\n\n onBlur(event: FocusEvent) {\n this.onTouchedCallback();\n this.blurEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n hasPermission(): boolean {\n if (!this.permissions || this.permissions.length === 0) {\n return true;\n }\n\n try {\n return this.authService.hasPermission(this.permissions);\n } catch (error: unknown) {\n if (error instanceof Error) {\n console.error('Permission error:', error.message);\n } else {\n console.error('Unknown error occurred during permission check');\n }\n return true;\n }\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Observable, of, Subject } from 'rxjs';\nimport { debounceTime, switchMap, catchError, startWith, map } from 'rxjs/operators';\nimport { AuthService } from '../../service/auth-service.service';\nimport { HttpClient } from '@angular/common/http';\n\n@Component({\n selector: 'argenta-custom-multi-select',\n styleUrls: ['./multi-select.component.scss'],\n template: `\n <div *ngIf=\"hasPermission()\" class=\"form-group\">\n <label [for]=\"id\" class=\"form-label\">{{ label }}</label>\n <ng-select\n [class.course-entry]=\"isCourseEntered\"\n class=\"ng-select\"\n [items]=\"filteredItems | async\"\n [multiple]=\"true\"\n [closeOnSelect]=\"closeOnSelect\"\n [hideSelected]=\"true\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [(ngModel)]=\"selected\"\n [compareWith]=\"compareFn\"\n (change)=\"onSelectedChange($event)\"\n (keyup)=\"onKeyUp($event)\"\n (input)=\"onInputChange($event)\"\n [id]=\"id\"\n [placeholder]=\"selected && selected.length === 0 ? placeholder : ''\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n >\n <ng-template ng-option-tmp let-item=\"item\">\n {{ item[bindLabel] }}\n </ng-template>\n </ng-select>\n </div>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiSelectComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MultiSelectComponent implements ControlValueAccessor, OnInit {\n @Input() label: string = 'Multi Select';\n @Input() data: any[] = []; // Accepts an array of generic objects\n @Input() placeholder: string = 'Select items';\n @Input() selected: any[] = []; // The selected variable should be an array\n @Input() id: string = 'multiSelectId';\n @Input() bindLabel: string = ''; // Generic dynamic label\n @Input() bindValue: string = ''; // Generic dynamic value\n @Input() permissions: string[] | undefined; // Adding permissions as input\n @Input() closeOnSelect: boolean = false; // New property to control dropdown close behavior\n @Input() searchUrl: string = ''; // URL for backend search\n\n @Output() keyupEvent: EventEmitter<any> = new EventEmitter<any>();\n\n private originalData: any[] = []; // Store the original list\n private allItems: any[] = []; // Store the combined list\n items: Observable<any[]> = of([]); // Initialization of the property\n filteredItems: Observable<any[]> = of([]); // Filtered items\n private searchTerms = new Subject<string>(); // For search debounce\n private backendItems: any[] = []; // Items found from backend\n\n constructor(private authService: AuthService, private http: HttpClient) { }\n\n ngOnInit(): void {\n this.originalData = [...this.data]; // Preserve the original data\n this.allItems = [...this.data]; // Initialize allItems with the original data\n this.items = of(this.allItems);\n this.filteredItems = this.searchTerms.pipe(\n debounceTime(700),\n startWith(''), // Start with an empty search to load the original list\n switchMap(term => this.search(term))\n );\n }\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n isCourseEntered = false;\n\n onFocus() {\n this.isCourseEntered = true;\n }\n\n onBlur() {\n this.isCourseEntered = false;\n }\n\n onKeyUp(event: KeyboardEvent): void {\n this.keyupEvent.emit(event);\n }\n\n onSelectedChange(event: any): void {\n const newlySelectedItems = event.filter((item: any) => !this.selected.includes(item));\n this.selected = event;\n\n // Check if any newly selected item is from backendItems\n const addedFromBackend = this.backendItems.filter((item: any) => newlySelectedItems.includes(item));\n\n if (addedFromBackend.length > 0) {\n // Transform the backend items to match the format expected by the component\n const transformedItems = addedFromBackend.map((item: any) => ({\n [this.bindValue]: item[this.bindValue],\n [this.bindLabel]: item[this.bindLabel]\n }));\n\n // Add backend items to the allItems list and update the observable\n this.originalData = [...this.originalData, ...transformedItems];\n this.allItems = [...this.originalData];\n this.items = of(this.allItems); // Update the observable with new data\n this.backendItems = []; // Clear backend items after processing\n this.searchTerms.next(''); // Reset the search term to update the list\n console.log('Added items from backend to the list and reset the dropdown.');\n }\n\n this.onChangeCallback(this.selected);\n }\n\n onInputChange(event: any): void {\n const input = event.target.value;\n this.searchTerms.next(input);\n }\n\n search(term: string): Observable<any[]> {\n if (!term.trim()) {\n // If the search term is empty, show the complete list\n return of(this.allItems);\n }\n\n const filtered = this.allItems.filter((item: any) =>\n item[this.bindLabel].toLowerCase().includes(term.toLowerCase())\n );\n\n if (filtered.length > 0) {\n console.log('Items filtered locally.');\n return of(filtered);\n } else if (this.searchUrl) {\n return this.http.get<any>(`${this.searchUrl}?term=${term}`).pipe(\n map((response: any) => {\n if (response && response.length > 0) {\n // Transform the backend items to match the format expected by the component\n const transformedItems = response.map((item: any) => ({\n [this.bindValue]: item[this.bindValue],\n [this.bindLabel]: item[this.bindLabel]\n }));\n this.backendItems = transformedItems;\n return [...filtered, ...transformedItems];\n } else {\n console.log('No items found in the backend search.');\n return filtered;\n }\n }),\n catchError((error: any) => {\n console.error('Error fetching from backend:', error);\n return of(filtered);\n })\n );\n } else {\n console.log('No search URL provided and no items found locally.');\n return of(filtered);\n }\n }\n\n writeValue(value: any): void {\n this.selected = value || [];\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // No implementation needed for this example\n }\n\n compareFn = (item1: any, item2: any): boolean => {\n return item1 && item2 ? item1[this.bindValue] === item2[this.bindValue] : item1 === item2;\n };\n\n hasPermission(): boolean {\n if (!this.permissions || this.permissions.length === 0) {\n return true;\n }\n\n try {\n return this.authService.hasPermission(this.permissions);\n } catch (error: unknown) {\n if (error instanceof Error) {\n console.error('Permission error:', error.message);\n } else {\n console.error('Unknown error occurred during permission check');\n }\n return true;\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-radio',\n template: `\n <div class=\"form-check\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <input class=\"form-check-input\"\n type=\"radio\"\n [name]=\"name\"\n [id]=\"id\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"handleRadioChange($event)\"\n [disabled]=\"disabled\">\n <label class=\"form-check-label\" [for]=\"id\">{{ label }}</label>\n </div>\n `,\n styles: [`\n .form-check {\n font-family: Arial, sans-serif;\n font-size: 1rem; /* Define o tamanho padrão da fonte */\n }\n .form-check-input {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n margin-right: 0.5rem;\n }\n .form-check-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RadioComponent implements ControlValueAccessor {\n @Input() name: string = 'defaultRadio';\n @Input() id: string = 'radioId';\n @Input() value: string = 'default';\n @Input() checked: boolean = false;\n @Input() disabled: boolean = false;\n @Input() label: string = 'Radio label';\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() changeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n handleRadioChange(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n this.checked = inputElement.checked;\n this.onChangeCallback(this.checked);\n this.changeEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.checked = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, forwardRef } from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'argenta-search-input',\n templateUrl: './search-input.component.html',\n styleUrls: ['./search-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SearchInputComponent),\n multi: true\n }\n ]\n})\nexport class SearchInputComponent implements OnInit, OnDestroy, ControlValueAccessor {\n @Input() id: string = '';\n @Input() label: string = 'Search';\n @Input() type: string = 'text';\n @Input() placeholder: string = 'Type to search...';\n @Input() value: string = '';\n @Input() disabled: boolean = false;\n @Input() readonly: boolean = false;\n @Input() autofocus: boolean = false;\n @Input() maxlength: number | null = null;\n @Input() minlength: number | null = null;\n @Input() required: boolean = false;\n @Input() pattern: string | null = null;\n @Input() debounceTime: number = 700; // Valor padrão\n\n @Output() search = new EventEmitter<string>();\n @Output() inputChange = new EventEmitter<string>();\n @Output() change = new EventEmitter<Event>();\n @Output() focus = new EventEmitter<Event>();\n @Output() blur = new EventEmitter<Event>();\n @Output() keyup = new EventEmitter<KeyboardEvent>();\n @Output() keydown = new EventEmitter<KeyboardEvent>();\n @Output() keypress = new EventEmitter<KeyboardEvent>();\n\n private searchSubject: Subject<string> = new Subject<string>();\n private searchSubscription: Subscription = new Subscription();\n\n constructor() { }\n\n ngOnInit(): void {\n this.searchSubscription = this.searchSubject.pipe(\n debounceTime(this.debounceTime)\n ).subscribe((searchText) => {\n this.search.emit(searchText);\n });\n }\n\n onInput(event: Event): void {\n const inputElement = event.target as HTMLInputElement;\n const value = inputElement.value;\n this.value = value;\n this.inputChange.emit(value); // Emite o valor de input imediatamente\n this.searchSubject.next(value);\n this.onChangeFn(value); // Chame onChangeFn para notificar o Angular Forms sobre a mudança\n }\n\n onChange(event: Event): void {\n this.change.emit(event);\n }\n\n onFocus(event: Event): void {\n this.focus.emit(event);\n }\n\n onBlur(event: Event): void {\n this.blur.emit(event);\n this.onTouchedFn(); // Chame onTouchedFn para notificar o Angular Forms sobre o blur\n }\n\n onKeyup(event: KeyboardEvent): void {\n this.keyup.emit(event);\n }\n\n onKeydown(event: KeyboardEvent): void {\n this.keydown.emit(event);\n }\n\n onKeypress(event: KeyboardEvent): void {\n this.keypress.emit(event);\n }\n\n ngOnDestroy(): void {\n this.searchSubscription.unsubscribe();\n }\n\n getLabelStyles() {\n return {\n fontFamily: 'Inter',\n fontSize: '16px',\n lineHeight: '19.36px',\n };\n }\n\n // ControlValueAccessor interface implementation\n onChangeFn: (value: string) => void = () => { };\n onTouchedFn: () => void = () => { };\n\n writeValue(value: string): void {\n this.value = value;\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouchedFn = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<div class=\"form-group\">\n <label [for]=\"id\" [ngStyle]=\"getLabelStyles()\">{{ label }}</label>\n <input [type]=\"type\"\n class=\"form-control custom-input\"\n [id]=\"id\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"value\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (keypress)=\"onKeypress($event)\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [required]=\"required\"\n [attr.pattern]=\"pattern\"\n [autofocus]=\"autofocus\">\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, OnDestroy, OnChanges, SimpleChanges, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { AuthService } from '../../service/auth-service.service';\n\n@Component({\n selector: 'argenta-custom-select',\n styleUrls: ['./select.component.scss'],\n template: `\n <div *ngIf=\"hasPermission()\" class=\"form-group\">\n <label [for]=\"id\" [ngClass]=\"'label-styles'\">{{ label }}</label>\n <div class=\"select-container\">\n <select class=\"form-control custom-select\"\n [id]=\"id\"\n [value]=\"value\"\n (change)=\"onSelectChange($event)\"\n [disabled]=\"disabled\">\n <option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.label }}</option>\n </select>\n <lucide-icon name=\"chevron-down\" [size]=\"16\" color=\"#5E6366\" [strokeWidth]=\"1.75\"></lucide-icon>\n </div>\n </div>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SelectComponent implements ControlValueAccessor, OnDestroy, OnChanges {\n @Input() label: string = 'Default Label';\n @Input() id: string = 'selectId';\n @Input() disabled: boolean = false;\n @Input() options: { value: any, label: string }[] = [];\n @Input() permissions: string[] | undefined;\n\n @Output() changeEvent: EventEmitter<any> = new EventEmitter<any>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n value: any;\n private destroy$ = new Subject<void>();\n\n constructor(private authService: AuthService) { }\n\n onSelectChange(event: Event) {\n const selectElement = event.target as HTMLSelectElement;\n this.value = selectElement.value;\n this.onChangeCallback(this.value);\n this.changeEvent.emit(this.value);\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['options'] && changes['options'].currentValue !== changes['options'].previousValue) {\n this.updateOptions(changes['options'].currentValue);\n }\n }\n\n updateOptions(newOptions: { value: any, label: string }[]): void {\n this.options = newOptions;\n }\n\n hasPermission(): boolean {\n if (!this.permissions || this.permissions.length === 0) {\n return true;\n }\n\n try {\n return this.authService.hasPermission(this.permissions);\n } catch (error: unknown) {\n if (error instanceof Error) {\n console.error('Permission error:', error.message);\n } else {\n console.error('Unknown error occurred during permission check');\n }\n return true;\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RefreshService {\n private refreshSubject = new Subject<void>();\n\n get refresh$(): Observable<void> {\n return this.refreshSubject.asObservable();\n }\n\n refresh() {\n this.refreshSubject.next();\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ButtonClasses } from '../../enum/ButtonClassesEnum'; // Importando o enum\nimport { AuthService } from '../../service/auth-service.service';\nimport { RefreshService } from '../../service/refresh-service.service';\nimport { IDataIndexPaginate, IPaginateResult } from './data-paginate.service';\n\n@Component({\n selector: 'argenta-list-data-table',\n templateUrl: './data-table.component.html',\n styleUrls: ['./data-table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DataTableComponent implements OnInit, OnChanges, OnDestroy {\n @Input() columns: { label: string, prop: string }[] = [];\n @Input() hiddenColumns: string[] = [];\n @Input() defaultItemsPerPage: number = 10;\n @Input() itemsPerPageLabel: string = 'Items per page:';\n @Input() showActionColumn: boolean = false;\n @Input() actionColumnLabel: string = 'Actions';\n @Input() totalItems: number = 0;\n @Input() fetchDataFunction: (params: IDataIndexPaginate) => Observable<IPaginateResult<any>> = () => {\n return new Observable(subscriber => subscriber.error('Implement the fetchDataFunction to fetch paginated data from the back-end.'));\n };\n @Input() editPermissions: string[] = [];\n @Input() deletePermissions: string[] = [];\n @Input() viewPermissions: string[] = [];\n @Input() showPageInfo: boolean = true;\n @Input() pageText: string = 'Page';\n @Input() ofText: string = 'of';\n @Input() filterDescription: string = '';\n\n @Input() buttonLabel: string = 'Novo perfil'; // Adicionando o Input para o label do botão\n\n @Output() sortChange: EventEmitter<any> = new EventEmitter();\n @Output() pageChange: EventEmitter<number> = new EventEmitter();\n @Output() itemsPerPageChange: EventEmitter<number> = new EventEmitter();\n @Output() onEditTable: EventEmitter<any> = new EventEmitter();\n @Output() onDeleteTable: EventEmitter<any> = new EventEmitter();\n @Output() onViewTable: EventEmitter<any> = new EventEmitter();\n @Output() onButtonClick: EventEmitter<void> = new EventEmitter(); // Novo evento\n\n itemsPerPageOptions: number[] = [5, 10, 15, 25];\n currentPage: number = 1;\n sortColumn: string = '';\n sortDirection: 'asc' | 'desc' = 'asc';\n pagedData: any[] = [];\n isLoading = false;\n private destroy$ = new Subject<void>();\n private isInitialized = false; // Flag para evitar chamadas duplas\n ButtonClasses = ButtonClasses;\n\n labelStyle = {\n 'font-family': 'Inter, Arial, sans-serif',\n 'font-size': '14px',\n 'color': '#000'\n };\n\n constructor(private cdr: ChangeDetectorRef, private authService: AuthService, private refreshService: RefreshService) { }\n\n ngOnInit() {\n this.fetchData();\n this.refreshService.refresh$\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n if (this.isInitialized) {\n this.refreshData();\n }\n });\n this.isInitialized = true;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['totalItems'] || changes['defaultItemsPerPage'] || changes['currentPage'] || changes['fetchDataFunction'] || changes['filterDescription']) {\n this.fetchData();\n }\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n fetchData() {\n if (this.fetchDataFunction) {\n this.isLoading = true;\n const params: IDataIndexPaginate = {\n filterDescription: this.filterDescription,\n pageNumber: this.currentPage,\n pageSize: this.defaultItemsPerPage,\n sortColumn: this.sortColumn,\n sortDirection: this.sortDirection\n };\n this.fetchDataFunction(params).pipe(\n takeUntil(this.destroy$)\n ).subscribe({\n next: (result) => {\n this.pagedData = result.items;\n this.totalItems = result.totalItems;\n this.isLoading = false;\n this.cdr.markForCheck();\n },\n error: (error) => {\n console.error('Error fetching data:', error);\n this.isLoading = false;\n }\n });\n }\n }\n\n refreshData() {\n this.fetchData();\n }\n\n onSort(column: string) {\n this.sortColumn = column;\n this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';\n this.sortChange.emit({ column, direction: this.sortDirection });\n this.fetchData();\n }\n\n onPageChange(page: number) {\n this.currentPage = page;\n this.pageChange.emit(page);\n this.fetchData();\n }\n\n onItemsPerPageChange() {\n this.currentPage = 1;\n this.itemsPerPageChange.emit(this.defaultItemsPerPage);\n this.fetchData();\n }\n\n handleAction(action: string, item: any, index: number) {\n switch (action) {\n case 'edit':\n if (this.hasPermission(this.editPermissions)) {\n this.onEditTable.emit({ item, index });\n }\n break;\n case 'delete':\n if (this.hasPermission(this.deletePermissions)) {\n this.onDeleteTable.emit({ item, index });\n }\n break;\n case 'view':\n if (this.hasPermission(this.viewPermissions)) {\n this.onViewTable.emit({ item, index });\n }\n break;\n }\n }\n\n hasPermission(requiredPermissions: string[]): boolean {\n if (!requiredPermissions || requiredPermissions.length === 0) {\n return true;\n }\n\n try {\n return this.authService.hasPermission(requiredPermissions);\n } catch (error: unknown) {\n if (error instanceof Error) {\n console.error('Permission error:', error.message);\n } else {\n console.error('Unknown error occurred during permission check');\n }\n return true;\n }\n }\n\n isColumnHidden(columnProp: string): boolean {\n return this.hiddenColumns.includes(columnProp);\n }\n\n onSearch(searchText: string) {\n this.filterDescription = searchText;\n this.currentPage = 1; // Resetar para a primeira página\n this.fetchData();\n }\n\n onNewButtonClick() {\n this.onButtonClick.emit(); // Emitindo o evento\n }\n}\n","<div class=\"data-table-header\" style=\"margin-top: 2.5rem;\">\n <div class=\"left-section\">\n <div class=\"form-group\">\n <label for=\"itemsPerPageSelect\" class=\"items-per-page-label\">{{ itemsPerPageLabel }}</label>\n <select\n id=\"itemsPerPageSelect\"\n class=\"form-control form-control-sm d-inline-block w-auto custom-select\"\n [(ngModel)]=\"defaultItemsPerPage\"\n (ngModelChange)=\"onItemsPerPageChange()\">\n <option *ngFor=\"let option of itemsPerPageOptions\" [value]=\"option\">{{ option }}</option>\n </select>\n </div>\n </div>\n <div class=\"right-section\">\n <button class=\"custom-button\" (click)=\"onNewButtonClick()\">\n <lucide-icon name=\"plus\" [size]=\"28\" [strokeWidth]=\"1.75\"></lucide-icon>\n {{ buttonLabel }}\n </button>\n </div>\n</div>\n\n<div class=\"search-input-container\">\n <argenta-search-input id=\"search\" label=\"\" placeholder=\"Buscar\" [(ngModel)]=\"filterDescription\" (search)=\"onSearch($event)\"></argenta-search-input>\n</div>\n\n<div class=\"table-responsive\" style=\"margin-top: 1rem;\">\n <table class=\"table table-hover\">\n <thead>\n <tr>\n <ng-container *ngFor=\"let column of columns\">\n <th *ngIf=\"!isColumnHidden(column.prop)\" (click)=\"onSort(column.prop)\">\n {{ column.label }}\n </th>\n </ng-container>\n <th *ngIf=\"showActionColumn\" class=\"text-end\" style=\"padding-right: 6.3rem;\">{{ actionColumnLabel }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of pagedData; let i = index\">\n <ng-container *ngFor=\"let column of columns\">\n <td *ngIf=\"!isColumnHidden(column.prop)\">\n {{ item[column.prop] }}\n </td>\n </ng-container>\n <td *ngIf=\"showActionColumn\" class=\"text-end\">\n <div class=\"d-flex justify-content-end\">\n <div *ngIf=\"hasPermission(editPermissions) && onEditTable.observers.length > 0\" (click)=\"handleAction('edit', item, i)\" class=\"clickable-icon\" style=\"margin-right: 1.5rem;\">\n <lucide-icon name=\"square-pen\" [size]=\"20\" color=\"#2CA58D\" [strokeWidth]=\"1.75\"></lucide-icon>\n </div>\n <div *ngIf=\"hasPermission(viewPermissions) && onViewTable.observers.length > 0\" (click)=\"handleAction('view', item, i)\" class=\"clickable-icon\" style=\"margin-right: 1.5rem;\">\n <lucide-icon name=\"user-round\" [size]=\"20\" color=\"#2CA58D\" [strokeWidth]=\"1.75\"></lucide-icon>\n </div>\n <div *ngIf=\"hasPermission(deletePermissions) && onDeleteTable.observers.length > 0\" (click)=\"handleAction('delete', item, i)\" class=\"clickable-icon\" style=\"margin-right: 1.5rem;\">\n <i-lucide name=\"trash-2\" [size]=\"20\" color=\"#F26E6E\" [strokeWidth]=\"1.75\"></i-lucide>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n\n<div class=\"text-center pagination-controls\">\n <custom-pagination\n [totalItems]=\"totalItems\"\n [itemsPerPage]=\"defaultItemsPerPage\"\n [currentPage]=\"currentPage\"\n [showPageInfo]=\"showPageInfo\"\n (pageChange)=\"onPageChange($event)\">\n </custom-pagination>\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-textarea',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"id\" class=\"form-label\">{{ label }}</label>\n <textarea class=\"form-control custom-textarea\"\n [id]=\"id\"\n [rows]=\"rows\"\n [placeholder]=\"placeholder\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (keypress)=\"onKeypress($event)\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [autofocus]=\"autofocus\"></textarea>\n </div>\n `,\n styles: [`\n .form-group {\n margin-bottom: 1rem;\n }\n .form-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TextareaComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TextareaComponent implements ControlValueAccessor {\n @Input() label: string = 'Default Label';\n @Input() placeholder: string = 'Default Placeholder';\n @Input() id: string = 'textareaId';\n @Input() rows: number = 3;\n @Input() disabled: boolean = false;\n @Input() readonly: boolean = false;\n @Input() maxlength: number | null = null;\n @Input() minlength: number | null = null;\n @Input() required: boolean = false;\n @Input() autofocus: boolean = false;\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() inputEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() changeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() focusEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() blurEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() keyupEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keydownEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keypressEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n value: string = '';\n\n onInput(event: Event) {\n const inputElement = event.target as HTMLTextAreaElement;\n this.value = inputElement.value;\n this.onChangeCallback(this.value);\n this.inputEvent.emit(event);\n }\n\n onChange(event: Event) {\n this.changeEvent.emit(event);\n }\n\n onFocus(event: FocusEvent) {\n this.focusEvent.emit(event);\n }\n\n onBlur(event: FocusEvent) {\n this.onTouchedCallback();\n this.blurEvent.emit(event);\n }\n\n onKeyup(event: KeyboardEvent) {\n this.keyupEvent.emit(event);\n }\n\n onKeydown(event: KeyboardEvent) {\n this.keydownEvent.emit(event);\n }\n\n onKeypress(event: KeyboardEvent) {\n this.keypressEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ITreeNode } from './Itree-node';\n\n@Component({\n selector: 'argenta-custom-tree-node',\n templateUrl: './tree-node.component.html',\n styleUrls: ['./tree-node.component.scss']\n})\nexport class TreeNodeComponent implements OnInit {\n @Input() title: string = '';\n @Input() nodes: ITreeNode[] = [];\n @Input() isRoot: boolean = true;\n @Output() nodeSelected = new EventEmitter<ITreeNode>();\n\n ngOnInit() {\n if (this.isRoot && !this.title) {\n this.title = 'Tree Node';\n }\n }\n\n onNodeSelected(node: ITreeNode, event: any) {\n node.selected = event.target.checked;\n if (node.children) {\n this.toggleChildren(node.children, node.selected);\n }\n this.updateParentSelection(this.nodes);\n this.nodeSelected.emit(node);\n }\n\n toggleChildren(children: ITreeNode[], selected: boolean) {\n children.forEach(child => {\n child.selected = selected;\n if (child.children) {\n this.toggleChildren(child.children, selected);\n }\n });\n }\n\n onChildNodeSelected(node: ITreeNode) {\n this.updateParentSelection(this.nodes);\n this.nodeSelected.emit(node);\n }\n\n updateParentSelection(nodes: ITreeNode[]) {\n nodes.forEach(node => {\n if (node.children) {\n const anyChildSelected = node.children.some(child => child.selected);\n if (anyChildSelected) {\n node.selected = true;\n }\n // Recursive call for nested parents\n this.updateParentSelection(node.children);\n }\n });\n }\n\n toggleCollapse(node: ITreeNode) {\n node.collapsed = !node.collapsed;\n }\n}\n","<div *ngIf=\"isRoot\" class=\"tree-title\">{{ title || 'Tree Node' }}</div>\n<ul class=\"tree\">\n <li *ngFor=\"let node of nodes\">\n <div class=\"node-content\">\n <span *ngIf=\"node.children\" class=\"toggle-icon\" (click)=\"toggleCollapse(node)\"\n [ngClass]=\"{'collapsed-icon': node.collapsed, 'expanded-icon': !node.collapsed}\">\n {{ node.collapsed ? '▶' : '▼' }}\n </span>\n <span *ngIf=\"!node.children\" class=\"dot\"></span> <!-- Bolinha cinza para nós sem filhos -->\n <label class=\"custom-checkbox\">\n <input type=\"checkbox\" [checked]=\"node.selected\" (change)=\"onNodeSelected(node, $event)\" />\n <span class=\"checkmark\"></span>\n </label>\n <label class=\"node-label\">{{ node.name }}</label>\n </div>\n <argenta-custom-tree-node *ngIf=\"node.children && !node.collapsed\" [nodes]=\"node.children\" [isRoot]=\"false\" (nodeSelected)=\"onChildNodeSelected(node)\"></argenta-custom-tree-node>\n </li>\n</ul>\n","import { NgModule } from '@angular/core';\nimport { icons, LucideAngularModule } from 'lucide-angular';\n\n// Select some icons (use an object, not an array)\n@NgModule({\n imports: [LucideAngularModule.pick(icons)],\n exports: [LucideAngularModule],\n})\nexport class LucideIconsModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { AutofocusDirective } from '../directive/autofocus-directive/autofocus.directive';\nimport { LucideIconsModule } from '../icons/lucide-icons.module';\nimport { AlertComponent } from './alert/alert.component';\nimport { AppBackgroundComponent } from './app-background/app-background.component';\nimport { BadgeComponent } from './badge/badge.component';\nimport { BasicRegistrationComponent } from './basic-registration/basic-registration.component';\nimport { ButtonComponent } from './button/button.component';\nimport { CardComponent } from './card/card.component';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { CodeHighlightComponent } from './code-highlight/code-highlight.component';\nimport { ConfirmationComponent } from './confirmation/confirmation.component';\nimport { CustomPaginationComponent } from './custom-pagination/custom-pagination.component';\nimport { InputComponent } from './imput/input.component';\nimport { MultiSelectComponent } from './multi-select/multi-select.component';\nimport { RadioComponent } from './radio/radio.component';\nimport { SearchInputComponent } from './search-input/search-input.component';\nimport { SelectComponent } from './select/select.component';\nimport { DataTableComponent } from './tables/data-table.component';\nimport { TextareaComponent } from './textarea/textarea.component';\nimport { TreeNodeComponent } from './tree-node/tree-node.component';\nimport { CustomSwitchComponent } from './custom-switch/custom-switch.component';\n\n@NgModule({\n declarations: [\n ButtonComponent,\n CardComponent,\n InputComponent,\n CheckboxComponent,\n TextareaComponent,\n SelectComponent,\n RadioComponent,\n MultiSelectComponent,\n DataTableComponent,\n CodeHighlightComponent,\n BadgeComponent,\n AlertComponent,\n ConfirmationComponent,\n AutofocusDirective,\n CustomPaginationComponent,\n TreeNodeComponent,\n SearchInputComponent,\n AppBackgroundComponent,\n BasicRegistrationComponent,\n CustomSwitchComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NgSelectModule,\n LucideIconsModule,\n ],\n exports: [\n ButtonComponent,\n CardComponent,\n InputComponent,\n CheckboxComponent,\n TextareaComponent,\n SelectComponent,\n RadioComponent,\n MultiSelectComponent,\n FormsModule,\n ReactiveFormsModule,\n NgSelectModule,\n DataTableComponent,\n CodeHighlightComponent,\n BadgeComponent,\n AlertComponent,\n ConfirmationComponent,\n CustomPaginationComponent,\n TreeNodeComponent,\n SearchInputComponent,\n LucideIconsModule,\n AppBackgroundComponent,\n BasicRegistrationComponent,\n CustomSwitchComponent,\n ],\n})\nexport class ComponentsModule { }\n","import { ApplicationRef, ComponentRef, createComponent, Injectable, Injector } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AlertComponent } from './alert.component';\n\nexport interface Alert {\n type: 'success' | 'info' | 'warning' | 'danger';\n title: string;\n message: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotificationService {\n private alertsSubject = new Subject<Alert>();\n alerts$ = this.alertsSubject.asObservable();\n\n constructor(\n private appRef: ApplicationRef,\n private injector: Injector\n ) { }\n\n showAlert(type: 'success' | 'info' | 'warning' | 'danger', title: string, message: string) {\n const alert: Alert = { type, title, message };\n this.alertsSubject.next(alert);\n\n // Create the alert component dynamically\n const componentRef: ComponentRef<AlertComponent> = createComponent(AlertComponent, { environmentInjector: this.appRef.injector });\n componentRef.instance.alerts = [alert];\n\n this.appRef.attachView(componentRef.hostView);\n const domElem = (componentRef.hostView as any).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n \n \n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { ConfirmationComponent } from './confirmation.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConfirmationService implements OnDestroy {\n private modalRef: NgbModalRef | null = null;\n\n constructor(private modalService: NgbModal) { }\n\n confirm(\n title: string,\n message: string,\n confirmButtonText: string = 'Sim',\n cancelButtonText: string = 'Não'\n ): Promise<boolean> {\n this.modalRef = this.modalService.open(ConfirmationComponent, { backdrop: 'static', keyboard: false });\n this.modalRef.componentInstance.title = title;\n this.modalRef.componentInstance.message = message;\n this.modalRef.componentInstance.confirmButtonText = confirmButtonText;\n this.modalRef.componentInstance.cancelButtonText = cancelButtonText;\n\n return this.modalRef.result.then((result) => {\n return result === 'confirm';\n }, () => {\n return false;\n }).finally(() => {\n this.modalRef = null; // Clear the reference after the modal is closed\n });\n }\n\n ngOnDestroy() {\n if (this.modalRef) {\n this.modalRef.dismiss();\n this.modalRef = null;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nexport interface IDataIndexPaginate {\n filterDescription?: string;\n pageNumber: number;\n pageSize: number;\n sortColumn: string;\n sortDirection: 'asc' | 'desc';\n}\n\nexport interface IPaginateResult<T> {\n items: T[];\n totalItems: number;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DataPaginateService {\n constructor(private http: HttpClient) { }\n\n fetchData<T>(url: string, params: IDataIndexPaginate): Observable<IPaginateResult<T>> {\n let httpParams = new HttpParams()\n .set('page', params.pageNumber.toString())\n .set('limit', params.pageSize.toString())\n .set('sort', params.sortColumn)\n .set('order', params.sortDirection);\n\n if (params.filterDescription) {\n httpParams = httpParams.set('description', params.filterDescription);\n }\n\n return this.http.get<{ meta: { total: number }, data: T[] }>(url, { params: httpParams }).pipe(\n map(response => {\n const items = response.data || [];\n const totalItems = response.meta.total || 0;\n return {\n items,\n totalItems\n };\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as CryptoJS from 'crypto-js';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RouterParameterService {\n private secretKey = '9db3589f$h86115&@b457bdff422c232e0e04c!ibe14374970aef0fe0ba054618f!='\n setParameter(data: string): string {\n return CryptoJS.AES.encrypt(data, this.secretKey).toString();\n }\n\n getParameter(data: string): string {\n const bytes = CryptoJS.AES.decrypt(data, this.secretKey);\n return bytes.toString(CryptoJS.enc.Utf8);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NotificationService } from './components/alert/notification.service';\nimport { ComponentsModule } from './components/components.module';\nimport { ConfirmationService } from './components/confirmation/confirmation.service';\nimport { DataPaginateService } from './components/tables/data-paginate.service';\nimport { RefreshService } from './service/refresh-service.service';\nimport { RouterParameterService } from './service/route-parameter.service';\n\n@NgModule({\n imports: [\n ComponentsModule,\n \n ],\n exports: [\n ComponentsModule, \n ],\n providers: [\n NotificationService,\n ConfirmationService,\n DataPaginateService,\n RefreshService,\n RouterParameterService,\n ],\n})\nexport class LibPortalAngularModule { }\n","/*\n * Public API Surface of sim-lib\n *\n * Este arquivo exporta todos os componentes, enums e módulos necessários\n * para que os consumidores da biblioteca possam utilizá-los em suas aplicações.\n */\n\n// Componentes\nexport * from './lib/components/custom-switch/custom-switch.component';\nexport * from './lib/components/alert/alert.component';\nexport * from './lib/components/app-background/app-background.component';\nexport * from './lib/components/badge/badge.component';\nexport * from './lib/components/basic-registration/basic-registration.component';\nexport * from './lib/components/button/button.component';\nexport * from './lib/components/card/card.component';\nexport * from './lib/components/checkbox/checkbox.component';\nexport * from './lib/components/code-highlight/code-highlight.component';\nexport * from './lib/components/confirmation/confirmation.component';\nexport * from './lib/components/custom-pagination/custom-pagination.component';\nexport * from './lib/components/imput/input.component';\nexport * from './lib/components/multi-select/multi-select.component';\nexport * from './lib/components/radio/radio.component';\nexport * from './lib/components/search-input/search-input.component';\nexport * from './lib/components/select/select.component';\nexport * from './lib/components/tables/data-table.component';\nexport * from './lib/components/textarea/textarea.component';\nexport * from './lib/components/tree-node/tree-node.component';\n\n// Enums\nexport * from './lib/enum/ButtonClassesEnum';\n\n// Módulos\nexport * from './lib/components/components.module';\nexport * from './lib/icons/lucide-icons.module';\nexport * from './lib/lib-portal-angular.module';\n\n\n// Service\nexport * from './lib/components/alert/notification.service';\nexport * from './lib/components/confirmation/confirmation.service';\nexport * from './lib/components/tables/data-paginate.service';\nexport * from './lib/service/refresh-service.service';\nexport * from './lib/service/route-parameter.service';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AuthService","i2","i3.ButtonComponent","i1","i2.AutofocusDirective","i3","i4","i2.RefreshService","i5","i6.CustomPaginationComponent","i7.SearchInputComponent"],"mappings":"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"}
1
+ {"version":3,"file":"lib-portal-angular.mjs","sources":["../../../projects/lib-portal-angular/src/lib/service/auth-service.service.ts","../../../projects/lib-portal-angular/src/lib/components/custom-switch/custom-switch.component.ts","../../../projects/lib-portal-angular/src/lib/components/custom-switch/custom-switch.component.html","../../../projects/lib-portal-angular/src/lib/components/alert/alert.component.ts","../../../projects/lib-portal-angular/src/lib/components/alert/alert.component.html","../../../projects/lib-portal-angular/src/lib/components/app-background/app-background.component.ts","../../../projects/lib-portal-angular/src/lib/enum/ButtonClassesEnum.ts","../../../projects/lib-portal-angular/src/lib/components/badge/badge.component.ts","../../../projects/lib-portal-angular/src/lib/components/button/button.component.ts","../../../projects/lib-portal-angular/src/lib/components/basic-registration/basic-registration.component.ts","../../../projects/lib-portal-angular/src/lib/components/basic-registration/basic-registration.component.html","../../../projects/lib-portal-angular/src/lib/components/card/card.component.ts","../../../projects/lib-portal-angular/src/lib/components/checkbox/checkbox.component.ts","../../../projects/lib-portal-angular/src/lib/components/code-highlight/code-highlight.component.ts","../../../projects/lib-portal-angular/src/lib/directive/autofocus-directive/autofocus.directive.ts","../../../projects/lib-portal-angular/src/lib/components/confirmation/confirmation.component.ts","../../../projects/lib-portal-angular/src/lib/components/confirmation/confirmation.component.html","../../../projects/lib-portal-angular/src/lib/components/custom-pagination/custom-pagination.component.ts","../../../projects/lib-portal-angular/src/lib/components/custom-pagination/custom-pagination.component.html","../../../projects/lib-portal-angular/src/lib/components/imput/input.component.ts","../../../projects/lib-portal-angular/src/lib/components/multi-select/multi-select.component.ts","../../../projects/lib-portal-angular/src/lib/components/multi-select/multi-select.component.html","../../../projects/lib-portal-angular/src/lib/components/radio/radio.component.ts","../../../projects/lib-portal-angular/src/lib/components/search-input/search-input.component.ts","../../../projects/lib-portal-angular/src/lib/components/search-input/search-input.component.html","../../../projects/lib-portal-angular/src/lib/components/select/select.component.ts","../../../projects/lib-portal-angular/src/lib/service/refresh-service.service.ts","../../../projects/lib-portal-angular/src/lib/components/tables/data-table.component.ts","../../../projects/lib-portal-angular/src/lib/components/tables/data-table.component.html","../../../projects/lib-portal-angular/src/lib/components/textarea/textarea.component.ts","../../../projects/lib-portal-angular/src/lib/components/tree-node/tree-node.component.ts","../../../projects/lib-portal-angular/src/lib/components/tree-node/tree-node.component.html","../../../projects/lib-portal-angular/src/lib/icons/lucide-icons.module.ts","../../../projects/lib-portal-angular/src/lib/components/components.module.ts","../../../projects/lib-portal-angular/src/lib/components/alert/notification.service.ts","../../../projects/lib-portal-angular/src/lib/components/confirmation/confirmation.service.ts","../../../projects/lib-portal-angular/src/lib/components/tables/data-paginate.service.ts","../../../projects/lib-portal-angular/src/lib/service/route-parameter.service.ts","../../../projects/lib-portal-angular/src/lib/lib-portal-angular.module.ts","../../../projects/lib-portal-angular/src/public-api.ts","../../../projects/lib-portal-angular/src/lib-portal-angular.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n private userRoles: string[] = [];\n\n constructor() {\n this.loadUserRoles();\n }\n\n private loadUserRoles(): void {\n const storedUser = localStorage.getItem('user');\n if (!storedUser) {\n throw new Error('User not found in localStorage');\n }\n const { role } = JSON.parse(storedUser);\n if (!role || !Array.isArray(role)) {\n throw new Error('Roles not found or invalid in localStorage');\n }\n this.userRoles = role.flatMap((roleArray: number[]) => roleArray.map(role => role.toString()));\n }\n\n public hasPermission(requiredPermissions: string[]): boolean {\n if (this.userRoles.length === 0) {\n throw new Error('No roles found for the user');\n }\n return requiredPermissions.every(permission => this.userRoles.includes(permission));\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AuthService } from '../../service/auth-service.service';\n\n@Component({\n selector: 'argenta-custom-switch',\n templateUrl: './custom-switch.component.html',\n styleUrls: ['./custom-switch.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CustomSwitchComponent {\n @Input() checked: boolean = false;\n @Input() label: string = '';\n @Input() permissions: string[] = [];\n @Output() switchChange = new EventEmitter<boolean>();\n\n constructor(private authService: AuthService) { }\n\n toggleSwitch() {\n this.checked = !this.checked;\n this.switchChange.emit(this.checked);\n }\n\n hasPermission(): boolean {\n if (!this.permissions || this.permissions.length === 0) {\n return true;\n }\n\n try {\n return this.authService.hasPermission(this.permissions);\n } catch (error: unknown) {\n if (error instanceof Error) {\n console.error('Permission error:', error.message);\n } else {\n console.error('Unknown error occurred during permission check');\n }\n return true;\n }\n }\n}\n","<ng-container *ngIf=\"hasPermission()\">\n <div class=\"form-check form-switch\">\n <input \n class=\"form-check-input\" \n type=\"checkbox\" \n [checked]=\"checked\" \n (change)=\"toggleSwitch()\" \n id=\"flexSwitchCheckDefault\" \n />\n <label class=\"form-check-label\" for=\"flexSwitchCheckDefault\">\n {{ label }}\n </label>\n </div>\n</ng-container>\n","import { AfterViewInit, Component, Input, OnInit } from '@angular/core';\nimport { Alert } from './notification.service';\n\n@Component({\n selector: 'lib-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss']\n})\nexport class AlertComponent implements OnInit, AfterViewInit {\n @Input() alerts: Alert[] = [];\n private closeTimeouts: { [key: string]: any } = {}; // Armazena os temporizadores para cada alerta\n\n ngOnInit(): void {\n // Inicia o temporizador de fechamento para cada alerta quando a página é carregada\n this.alerts.forEach(alert => {\n this.closeTimeouts[alert.message] = setTimeout(() => {\n this.closeAlert(alert);\n }, 6000); // Fecha após 8 segundos\n });\n }\n\n ngAfterViewInit(): void {\n // Adiciona a classe 'show' após um curto atraso para acionar a animação\n setTimeout(() => {\n this.alerts.forEach(alert => {\n const element = document.getElementById(`alert-${alert.message}`);\n if (element) {\n element.classList.add('show');\n }\n });\n }, 10); // Pequeno atraso para garantir que o elemento esteja no DOM\n }\n\n closeAlert(alert: Alert) {\n const element = document.getElementById(`alert-${alert.message}`);\n if (element) {\n element.classList.remove('show');\n setTimeout(() => {\n this.alerts = this.alerts.filter(a => a !== alert);\n }, 500); // Duração da animação de saída\n } else {\n this.alerts = this.alerts.filter(a => a !== alert);\n }\n }\n\n getAlertClass(alert: Alert) {\n return {\n 'alert-container': true,\n 'alert-dismissible': true,\n [`alert-${alert.type}`]: true\n };\n }\n\n getAlertIconClass(alert: Alert) {\n switch (alert.type) {\n case 'success':\n return 'success-icon'; // Classe para o ícone de sucesso\n case 'info':\n return 'info-icon'; // Classe para o ícone de informação\n case 'warning':\n return 'warning-icon'; // Classe para o ícone de aviso\n case 'danger':\n return 'danger-icon'; // Classe para o ícone de erro\n default:\n return '';\n }\n }\n\n onMouseEnter(alert: Alert) {\n // Cancela o temporizador quando o mouse entra no alerta\n if (this.closeTimeouts[alert.message]) {\n clearTimeout(this.closeTimeouts[alert.message]);\n delete this.closeTimeouts[alert.message];\n }\n }\n\n onMouseLeave(alert: Alert) {\n // Inicia um novo temporizador para fechar o alerta após 2 segundos quando o mouse sai do alerta\n this.closeTimeouts[alert.message] = setTimeout(() => {\n this.closeAlert(alert);\n }, 2000); // Fechar após 2 segundos\n }\n}\n","<div *ngFor=\"let alert of alerts\" \n [ngClass]=\"getAlertClass(alert)\" \n role=\"alert\" \n [id]=\"'alert-' + alert.message\"\n (mouseenter)=\"onMouseEnter(alert)\" \n (mouseleave)=\"onMouseLeave(alert)\">\n <button type=\"button\" class=\"close\" (click)=\"closeAlert(alert)\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n <div class=\"alert-header\">\n <span [ngClass]=\"getAlertIconClass(alert)\" class=\"alert-icon\"></span>\n <strong>{{ alert.title }}</strong>\n </div>\n <div class=\"alert-body\">\n {{ alert.message }}\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'argenta-app-background',\n template: `\n <div class=\"row row-car\">\n <div class=\"card\">\n <div class=\"card-content\">\n <ng-content></ng-content>\n </div>\n </div> \n </div>\n `,\n styles: [` \n .card {\n border-radius: 10px;\n padding: 1rem;\n background-color: #FFFFFF; /* Cor de fundo ajustada */\n border: none; /* Remover borda */\n }\n .row-car{\n margin-left: -0.8rem;\n margin-right: -0.8rem;\n }\n `]\n})\nexport class AppBackgroundComponent { }\n","export enum ButtonClasses {\n Primary = 'btn-primary',\n Secondary = 'btn-secondary',\n Success = 'btn-success',\n Danger = 'btn-danger',\n Warning = 'btn-warning',\n Info = 'btn-info',\n Light = 'btn-light',\n Dark = 'btn-dark',\n Link = 'btn-link'\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { ButtonClasses } from '../../enum/ButtonClassesEnum';\n\n@Component({\n selector: 'sim-app-badge',\n template: `\n <button\n class=\"notification-button\"\n [ngStyle]=\"getDynamicStyles()\"\n (click)=\"onClick()\"\n [class.hovered]=\"isHovered\"\n [class.clicked]=\"isClicked\"\n (mousedown)=\"onMouseDown()\"\n (mouseup)=\"onMouseUp()\"\n (mouseleave)=\"onMouseLeave()\"\n (mouseenter)=\"onMouseEnter()\">\n {{ label }}\n <span class=\"badge\">{{ badgeContent }}</span>\n </button>\n `,\n styles: [`\n .notification-button {\n position: relative;\n display: inline-block;\n width: 155px;\n height: 58px;\n padding: 14px 29px 14px 36px;\n border-radius: 6px;\n border: none;\n font-size: 16px;\n font-weight: bold;\n text-align: center;\n transition: opacity 0.3s;\n }\n .badge {\n position: absolute;\n width: 52px; /* Largura fixa */\n height: 32px; /* Altura fixa */\n top: -15px;\n right: -20px;\n background-color: #dc3545;\n color: #FFFFFF;\n border-radius: 16px; /* Arredondamento das bordas */\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: bold;\n font-size: 14px;\n font-family: 'Inter', sans-serif;\n }\n .notification-button.hovered {\n opacity: 0.8;\n }\n .notification-button.clicked {\n opacity: 0.6;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BadgeComponent {\n @Input() label: string = 'Mensagem';\n @Input() badgeContent: string = '+45';\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n @Input() btnClass: ButtonClasses = ButtonClasses.Primary;\n @Output() buttonClick: EventEmitter<void> = new EventEmitter<void>();\n\n isHovered: boolean = false;\n isClicked: boolean = false;\n isActive: boolean = false;\n\n getDynamicStyles() {\n let backgroundColor = '';\n let textColor = '#fff'; // Default text color\n let borderColor = '';\n\n switch (this.btnClass) {\n case ButtonClasses.Primary:\n backgroundColor = '#00444C';\n break;\n case ButtonClasses.Secondary:\n backgroundColor = '#2CA58D';\n break;\n case ButtonClasses.Success:\n backgroundColor = '#00C853';\n break;\n case ButtonClasses.Danger:\n backgroundColor = '#D32F2F';\n break;\n case ButtonClasses.Warning:\n backgroundColor = '#FFC107';\n break;\n case ButtonClasses.Info:\n backgroundColor = '#3EC9D6';\n break;\n case ButtonClasses.Light:\n backgroundColor = '#EEF2F6';\n textColor = '#00444C'; // Custom text color for Light\n break;\n case ButtonClasses.Dark:\n backgroundColor = '#111936';\n break;\n case ButtonClasses.Link:\n backgroundColor = 'transparent';\n borderColor = '#DDE5E9';\n textColor = '#00444C'; // Custom text color for Link\n break;\n default:\n backgroundColor = '#00444C';\n break;\n }\n\n const hoverFilter = this.isHovered ? 'brightness(80%)' : 'none'; // Adjusted hover brightness\n const activeFilter = this.isClicked ? 'brightness(60%)' : hoverFilter; // Adjusted active brightness\n\n return {\n 'margin-top': `${this.marginTop}rem`,\n 'margin-bottom': `${this.marginBottom}rem`,\n 'margin-left': `${this.marginLeft}rem`,\n 'margin-right': `${this.marginRight}rem`,\n 'background-color': backgroundColor,\n 'color': textColor,\n 'border': borderColor ? `1px solid ${borderColor}` : 'none',\n 'transition': 'background-color 0.3s, border-color 0.3s, filter 0.3s',\n 'filter': activeFilter\n };\n }\n\n onClick() {\n this.buttonClick.emit();\n }\n\n @HostListener('mouseenter')\n onMouseEnter() {\n this.isHovered = true;\n }\n\n @HostListener('mouseleave')\n onMouseLeave() {\n this.isHovered = false;\n this.isClicked = false;\n }\n\n @HostListener('mousedown')\n onMouseDown() {\n this.isClicked = true;\n }\n\n @HostListener('mouseup')\n onMouseUp() {\n this.isClicked = false;\n }\n}\n","import { Component, EventEmitter, Input, Output, OnInit, OnChanges, SimpleChanges, ChangeDetectionStrategy } from '@angular/core';\nimport { ButtonClasses } from '../../enum/ButtonClassesEnum';\nimport { AuthService } from '../../service/auth-service.service';\n\n@Component({\n selector: 'argenta-custom-button',\n template: `\n <ng-container *ngIf=\"hasPermission()\">\n <button [type]=\"type\"\n class=\"btn\"\n [ngClass]=\"btnClass\"\n [ngStyle]=\"dynamicStyles\"\n (click)=\"onClick($event)\"\n [disabled]=\"disabled\"\n [attr.autofocus]=\"autofocus ? true : null\"\n [attr.form]=\"form\"\n [attr.formaction]=\"formaction\"\n [attr.formenctype]=\"formenctype\"\n [attr.formmethod]=\"formmethod\"\n [attr.formnovalidate]=\"formnovalidate\"\n [attr.formtarget]=\"formtarget\"\n [attr.name]=\"name\"\n [attr.value]=\"value\">\n {{ label }}\n </button>\n </ng-container>\n `,\n styles: [`\n .btn {\n padding: 0.5rem 1rem;\n border-radius: 0.25rem;\n transition: background-color 0.3s, border-color 0.3s, filter 0.3s;\n font-family: 'Inter', sans-serif;\n font-size: 16px;\n font-weight: 600;\n line-height: 24px;\n letter-spacing: 0.005em;\n text-align: left;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonComponent implements OnInit, OnChanges {\n @Input() type: string = 'button';\n @Input() label: string = 'Submit';\n @Input() btnClass: ButtonClasses = ButtonClasses.Primary;\n @Input() fontSize: string = '1rem';\n @Input() disabled: boolean = false;\n @Input() autofocus: boolean = false;\n @Input() form: string | null = null;\n @Input() formaction: string | null = null;\n @Input() formenctype: string | null = null;\n @Input() formmethod: string | null = null;\n @Input() formnovalidate: boolean = false;\n @Input() formtarget: string | null = null;\n @Input() name: string | null = null;\n @Input() value: string | null = null;\n @Input() permissions: string[] = [];\n\n @Output() onButtonClick: EventEmitter<Event> = new EventEmitter<Event>();\n\n private isHovered: boolean = false;\n private isActive: boolean = false;\n\n constructor(private authService: AuthService) { }\n\n ngOnInit(): void {\n this.validateInputs();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes) {\n this.validateInputs();\n }\n }\n\n private validateInputs(): void {\n const validTypes = ['button', 'submit', 'reset'];\n const validClasses = Object.values(ButtonClasses);\n\n if (!validTypes.includes(this.type)) {\n throw new Error(`Invalid type: ${this.type}. Allowed values are: ${validTypes.join(', ')}`);\n }\n\n if (!validClasses.includes(this.btnClass)) {\n throw new Error(`Invalid btnClass: ${this.btnClass}. Allowed values are: ${validClasses.join(', ')}`);\n }\n\n if (typeof this.disabled !== 'boolean') {\n throw new Error(`Invalid disabled value: ${this.disabled}. It should be a boolean.`);\n }\n\n if (typeof this.autofocus !== 'boolean') {\n throw new Error(`Invalid autofocus value: ${this.autofocus}. It should be a boolean.`);\n }\n\n if (this.permissions && !Array.isArray(this.permissions)) {\n throw new Error(`Invalid permissions value: ${this.permissions}. It should be an array of strings.`);\n }\n }\n\n onClick(event: Event) {\n this.onButtonClick.emit(event);\n }\n\n get dynamicStyles() {\n return this.calculateDynamicStyles();\n }\n\n private calculateDynamicStyles() {\n let backgroundColor = '';\n let textColor = '#fff'; // Default text color\n let borderColor = '';\n\n switch (this.btnClass) {\n case ButtonClasses.Primary:\n backgroundColor = '#00444C';\n break;\n case ButtonClasses.Secondary:\n backgroundColor = '#2CA58D';\n break;\n case ButtonClasses.Success:\n backgroundColor = '#00C853';\n break;\n case ButtonClasses.Danger:\n backgroundColor = '#D32F2F';\n break;\n case ButtonClasses.Warning:\n backgroundColor = '#FFC107';\n break;\n case ButtonClasses.Info:\n backgroundColor = '#3EC9D6';\n break;\n case ButtonClasses.Light:\n backgroundColor = '#EEF2F6';\n textColor = '#00444C'; // Custom text color for Light\n break;\n case ButtonClasses.Dark:\n backgroundColor = '#111936';\n break;\n case ButtonClasses.Link:\n backgroundColor = 'transparent';\n borderColor = '#DDE5E9';\n textColor = '#00444C'; // Custom text color for Link\n break;\n default:\n backgroundColor = '#00444C';\n break;\n }\n\n const hoverFilter = this.isHovered ? 'brightness(80%)' : 'none'; // Adjusted hover brightness\n const activeFilter = this.isActive ? 'brightness(60%)' : hoverFilter; // Adjusted active brightness\n\n return {\n 'font-size': this.fontSize,\n 'background-color': backgroundColor,\n 'color': textColor,\n 'border': borderColor ? `1px solid ${borderColor}` : 'none',\n 'transition': 'background-color 0.3s, border-color 0.3s, filter 0.3s',\n 'filter': activeFilter\n };\n }\n\n hasPermission(): boolean {\n if (!this.permissions || this.permissions.length === 0) {\n return true;\n }\n\n try {\n return this.authService.hasPermission(this.permissions);\n } catch (error: unknown) {\n if (error instanceof Error) {\n console.error('Permission error:', error.message);\n } else {\n console.error('Unknown error occurred during permission check');\n }\n return true;\n }\n }\n\n onCancel(event: Event) {\n console.log('Cancel button clicked', event);\n // Lógica para o cancelamento\n }\n\n onSave(event: Event) {\n console.log('Save button clicked', event);\n // Lógica para salvar alterações\n }\n}\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\nimport { AuthService } from '../../service/auth-service.service';\nimport { ButtonClasses } from '../../enum/ButtonClassesEnum';\n\n@Component({\n selector: 'argenta-basic-registration',\n templateUrl: './basic-registration.component.html',\n styleUrls: ['./basic-registration.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BasicRegistrationComponent {\n @Input() cancelLabel: string = 'Cancelar';\n @Input() saveLabel: string = 'Salvar';\n @Input() cancelPermissions: string[] = [];\n @Input() savePermissions: string[] = [];\n\n @Output() cancelClick: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() saveClick: EventEmitter<Event> = new EventEmitter<Event>();\n ButtonClasses = ButtonClasses;\n\n constructor(private authService: AuthService) { }\n\n hasPermission(permissions: string[]): boolean {\n if (!permissions || permissions.length === 0) {\n return true;\n }\n\n try {\n return this.authService.hasPermission(permissions);\n } catch (error: unknown) {\n if (error instanceof Error) {\n console.error('Permission error:', error.message);\n } else {\n console.error('Unknown error occurred during permission check');\n }\n return true;\n }\n }\n\n handleCancel(event: Event) {\n this.cancelClick.emit(event);\n }\n\n handleSave(event: Event) {\n this.saveClick.emit(event);\n }\n}\n","<div class=\"row row-car\">\n <div class=\"card\">\n <div class=\"card-content\" style=\"margin-top: 2.5rem;\">\n <ng-content></ng-content> <!-- Permite a inclusão de conteúdo dinâmico -->\n </div>\n <div class=\"card-footer\">\n <div class=\"button-group\">\n <argenta-custom-button\n *ngIf=\"hasPermission(cancelPermissions)\"\n [type]=\"'button'\"\n [label]=\"cancelLabel\"\n [btnClass]=\"ButtonClasses.Light\"\n (onButtonClick)=\"handleCancel($event)\"\n class=\"argenta-custom-button\">\n </argenta-custom-button>\n <argenta-custom-button\n *ngIf=\"hasPermission(savePermissions)\"\n [type]=\"'submit'\"\n [label]=\"saveLabel\"\n [btnClass]=\"ButtonClasses.Primary\"\n (onButtonClick)=\"handleSave($event)\"\n class=\"argenta-custom-button\">\n </argenta-custom-button>\n </div>\n </div>\n </div> \n</div>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sim-app-card',\n template: `\n <div class=\"card mb-3\">\n <div class=\"card-header\">\n <h3>{{ cardTitle }}</h3>\n </div>\n <div class=\"card-body\">\n <ng-content></ng-content>\n </div>\n </div>\n `\n})\nexport class CardComponent {\n @Input() cardTitle: string = 'Default Title';\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-checkbox',\n template: `\n <div\n class=\"form-group form-check\"\n [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n [id]=\"id\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onChange($event)\"\n />\n <label class=\"form-check-label\" [for]=\"id\">{{ label }}</label>\n </div>\n `,\n styles: [`\n .form-check-input {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem; /* Define o tamanho padrão da fonte para o input */\n }\n .form-check-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem; /* Define o tamanho padrão da fonte para o label */\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() id: string = 'defaultCheckbox';\n @Input() checked: boolean = false;\n @Input() disabled: boolean = false;\n @Input() label: string = 'Check me out';\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() checkedChange = new EventEmitter<boolean>();\n\n private onChangeFn: (value: boolean) => void = () => { };\n private onTouchedFn: () => void = () => { };\n\n onChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.checked = input.checked;\n this.onChangeFn(this.checked);\n this.checkedChange.emit(this.checked);\n }\n\n writeValue(value: boolean): void {\n this.checked = value;\n }\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouchedFn = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport hljs from 'highlight.js';\n\n@Component({\n selector: 'app-code-highlight',\n template: `\n <div class=\"code-container\">\n <pre><code #codeElement [innerHTML]=\"highlightedCode\"></code></pre>\n <button (click)=\"copyCode()\">Copy</button>\n </div>\n `,\n styles: [`\n .code-container {\n position: relative;\n }\n pre {\n background-color: #2d2d2d;\n color: #f8f8f2;\n padding: 1rem;\n border-radius: 5px;\n overflow-x: auto;\n }\n button {\n position: absolute;\n top: 10px;\n right: 10px;\n background-color: #f8f8f2;\n border: none;\n padding: 0.5rem 1rem;\n cursor: pointer;\n border-radius: 5px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n transition: background-color 0.3s, transform 0.2s, box-shadow 0.2s;\n }\n button:hover {\n background-color: #e0e0e0;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);\n }\n button:active {\n background-color: #d0d0d0;\n transform: scale(0.98);\n }\n `]\n})\nexport class CodeHighlightComponent implements AfterViewInit {\n @Input() code: string = ''; // Definindo um valor padrão\n @Input() language: string = 'typescript';\n @ViewChild('codeElement') codeElement!: ElementRef; // Usando operador de asserção não nula\n\n highlightedCode: string = '';\n\n constructor(private cdr: ChangeDetectorRef) { }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.highlightCode();\n this.cdr.detectChanges();\n });\n }\n\n highlightCode() {\n const code = hljs.highlight(this.language, this.code).value;\n this.highlightedCode = code;\n }\n\n copyCode() {\n const codeElement = this.codeElement.nativeElement;\n navigator.clipboard.writeText(codeElement.innerText).then(() => {\n alert('Code copied to clipboard!');\n });\n }\n}\n","import { AfterViewInit, Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[appAutofocus]'\n})\nexport class AutofocusDirective implements AfterViewInit {\n constructor(private elementRef: ElementRef) { }\n\n ngAfterViewInit() {\n this.elementRef.nativeElement.focus();\n }\n}\n","import { Component, Input, ChangeDetectionStrategy, OnDestroy } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-confirmation',\n templateUrl: './confirmation.component.html',\n styleUrls: ['./confirmation.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ConfirmationComponent implements OnDestroy {\n @Input() title: string = 'Confirmação';\n @Input() message: string = 'Você tem certeza que deseja continuar?';\n @Input() confirmButtonText: string = 'Sim';\n @Input() cancelButtonText: string = 'Não';\n\n constructor(public activeModal: NgbActiveModal) { }\n\n confirm() {\n this.activeModal.close('confirm');\n }\n\n cancel() {\n this.activeModal.dismiss('cancel');\n }\n\n ngOnDestroy() {\n // Clear any subscriptions if there were any\n }\n}\n","<div class=\"modal-header\">\n <h5 class=\"modal-title\" id=\"confirmationModalLabel\">{{ title }}</h5>\n</div>\n<div class=\"modal-body\">\n <p>{{ message }}</p>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">{{ cancelButtonText }}</button>\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"confirm()\" appAutofocus>{{ confirmButtonText }}</button>\n</div>\n","import { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'custom-pagination',\n templateUrl: './custom-pagination.component.html',\n styleUrls: ['./custom-pagination.component.scss']\n})\nexport class CustomPaginationComponent implements OnDestroy {\n @Input() totalItems: number = 0;\n @Input() itemsPerPage: number = 10;\n @Input() currentPage: number = 1;\n @Input() showPageInfo: boolean = true; // Mostrar ou esconder a informação da página\n @Output() pageChange: EventEmitter<number> = new EventEmitter<number>();\n\n\n maxSize: number = 5; // Número máximo de botões de página visíveis\n\n private destroy$ = new Subject<void>();\n\n get totalPages(): number {\n return Math.ceil(this.totalItems / this.itemsPerPage);\n }\n\n changePage(page: number) {\n if (page >= 1 && page <= this.totalPages) {\n this.currentPage = page;\n this.pageChange.emit(this.currentPage);\n }\n }\n\n get pages(): number[] {\n const pages: number[] = [];\n const half = Math.floor(this.maxSize / 2);\n let start = Math.max(this.currentPage - half, 1);\n let end = start + this.maxSize - 1;\n\n if (end > this.totalPages) {\n end = this.totalPages;\n start = Math.max(end - this.maxSize + 1, 1);\n }\n\n for (let i = start; i <= end; i++) {\n pages.push(i);\n }\n return pages;\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","<nav *ngIf=\"totalPages > 0\">\n <ul class=\"pagination\">\n <li class=\"page-item\" [class.disabled]=\"currentPage === 1\">\n <a class=\"page-link\" (click)=\"changePage(1)\">&laquo;&laquo;</a>\n </li>\n <li class=\"page-item\" [class.disabled]=\"currentPage === 1\">\n <a class=\"page-link\" (click)=\"changePage(currentPage - 1)\">&laquo;</a>\n </li>\n <li class=\"page-item\" *ngFor=\"let page of pages\" [class.active]=\"page === currentPage\">\n <a class=\"page-link\" (click)=\"changePage(page)\">{{ page }}</a>\n </li>\n <li class=\"page-item\" [class.disabled]=\"currentPage === totalPages\">\n <a class=\"page-link\" (click)=\"changePage(currentPage + 1)\">&raquo;</a>\n </li>\n <li class=\"page-item\" [class.disabled]=\"currentPage === totalPages\">\n <a class=\"page-link\" (click)=\"changePage(totalPages)\">&raquo;&raquo;</a>\n </li>\n </ul>\n</nav>\n","import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, OnDestroy, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { AuthService } from '../../service/auth-service.service';\n\n@Component({\n selector: 'argenta-custom-input',\n styleUrls: ['./input.component.scss'],\n template: `\n <div *ngIf=\"hasPermission()\" class=\"form-group\">\n <label [for]=\"id\" [ngClass]=\"'label-styles'\">{{ label }}</label>\n <input [type]=\"type\"\n class=\"form-control custom-input\"\n [id]=\"id\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"value\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"keyupEvent.emit($event)\"\n (keydown)=\"keydownEvent.emit($event)\"\n (keypress)=\"keypressEvent.emit($event)\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [required]=\"required\"\n [attr.pattern]=\"pattern\"\n [autofocus]=\"autofocus\">\n </div>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class InputComponent implements ControlValueAccessor, OnDestroy {\n @Input() label: string = 'Default Label';\n @Input() placeholder: string = '';\n @Input() id: string = 'inputId';\n @Input() type: string = 'text';\n @Input() disabled: boolean = false;\n @Input() readonly: boolean = false;\n @Input() maxlength: number | null = null;\n @Input() minlength: number | null = null;\n @Input() required: boolean = false;\n @Input() pattern: string | null = null;\n @Input() autofocus: boolean = false;\n\n @Input() labelFontWeight: number = 400;\n\n @Input() permissions: string[] | undefined;\n\n @Output() inputEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() changeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() focusEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() blurEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() keyupEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keydownEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keypressEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n value: string = '';\n\n private subscriptions: Subscription[] = [];\n\n constructor(private authService: AuthService) { }\n\n onInput(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n this.value = inputElement.value;\n this.onChangeCallback(this.value);\n this.inputEvent.emit(event);\n }\n\n onChange(event: Event) {\n this.changeEvent.emit(event);\n }\n\n onFocus(event: FocusEvent) {\n this.focusEvent.emit(event);\n }\n\n onBlur(event: FocusEvent) {\n this.onTouchedCallback();\n this.blurEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n hasPermission(): boolean {\n if (!this.permissions || this.permissions.length === 0) {\n return true;\n }\n\n try {\n return this.authService.hasPermission(this.permissions);\n } catch (error: unknown) {\n if (error instanceof Error) {\n console.error('Permission error:', error.message);\n } else {\n console.error('Unknown error occurred during permission check');\n }\n return true;\n }\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, OnInit, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Observable, of, Subject } from 'rxjs';\nimport { catchError, debounceTime, map, startWith, switchMap } from 'rxjs/operators';\nimport { AuthService } from '../../service/auth-service.service';\n\n@Component({\n selector: 'argenta-custom-multi-select',\n templateUrl: './multi-select.component.html',\n styleUrls: ['./multi-select.component.scss'],\n template: `\n \n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiSelectComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MultiSelectComponent implements ControlValueAccessor, OnInit {\n @Input() label: string = 'Multi Select';\n @Input() data: any[] = []; // Accepts an array of generic objects\n @Input() placeholder: string = 'Select items';\n @Input() selected: any; // The selected variable can be a single value or an array\n @Input() id: string = 'multiSelectId';\n @Input() bindLabel: string = ''; // Generic dynamic label\n @Input() bindValue: string = ''; // Generic dynamic value\n @Input() permissions: string[] | undefined; // Adding permissions as input\n @Input() closeOnSelect: boolean = false; // New property to control dropdown close behavior\n @Input() searchUrl: string = ''; // URL for backend search\n @Input() multiple: boolean = true; // New property to control single or multiple selection\n\n @Output() keyupEvent: EventEmitter<any> = new EventEmitter<any>();\n\n private originalData: any[] = []; // Store the original list\n private allItems: any[] = []; // Store the combined list\n items: Observable<any[]> = of([]); // Initialization of the property\n filteredItems: Observable<any[]> = of([]); // Filtered items\n private searchTerms = new Subject<string>(); // For search debounce\n private backendItems: any[] = []; // Items found from backend\n\n constructor(private authService: AuthService, private http: HttpClient) { }\n\n ngOnInit(): void {\n this.originalData = [...this.data]; // Preserve the original data\n this.allItems = [...this.data]; // Initialize allItems with the original data\n this.items = of(this.allItems);\n\n if (this.searchUrl) {\n this.fetchInitialData().subscribe(data => {\n this.allItems = data;\n this.items = of(this.allItems);\n this.filteredItems = this.searchTerms.pipe(\n debounceTime(700),\n startWith(''), // Start with an empty search to load the original list\n switchMap(term => this.search(term))\n );\n });\n } else {\n this.filteredItems = this.searchTerms.pipe(\n debounceTime(700),\n startWith(''), // Start with an empty search to load the original list\n switchMap(term => this.search(term))\n );\n }\n }\n\n private fetchInitialData(): Observable<any[]> {\n return this.http.get<any>(this.searchUrl).pipe(\n map((response: any) => {\n if (response && response.length > 0) {\n return response.map((item: any) => ({\n [this.bindValue]: item[this.bindValue],\n [this.bindLabel]: item[this.bindLabel]\n }));\n }\n return [];\n }),\n catchError((error: any) => {\n console.error('Error fetching initial data from backend:', error);\n return of([]);\n })\n );\n }\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n isCourseEntered = false;\n\n onFocus() {\n this.isCourseEntered = true;\n }\n\n onBlur() {\n this.isCourseEntered = false;\n }\n\n onKeyUp(event: KeyboardEvent): void {\n this.keyupEvent.emit(event);\n }\n\n onSelectedChange(event: any): void {\n if (this.multiple) {\n this.selected = event;\n } else {\n this.selected = event ? event : null;\n }\n\n const newlySelectedItems = this.multiple\n ? event.filter((item: any) => !this.selected.includes(item))\n : [this.selected];\n\n // Check if any newly selected item is from backendItems\n const addedFromBackend = this.backendItems.filter((item: any) => newlySelectedItems.includes(item));\n\n if (addedFromBackend.length > 0) {\n // Transform the backend items to match the format expected by the component\n const transformedItems = addedFromBackend.map((item: any) => ({\n [this.bindValue]: item[this.bindValue],\n [this.bindLabel]: item[this.bindLabel]\n }));\n\n // Add backend items to the allItems list and update the observable\n this.originalData = [...this.originalData, ...transformedItems];\n this.allItems = [...this.originalData];\n this.items = of(this.allItems); // Update the observable with new data\n this.backendItems = []; // Clear backend items after processing\n this.searchTerms.next(''); // Reset the search term to update the list\n console.log('Added items from backend to the list and reset the dropdown.');\n }\n\n this.onChangeCallback(this.selected);\n }\n\n onInputChange(event: any): void {\n const input = event.target.value;\n this.searchTerms.next(input);\n }\n\n search(term: string): Observable<any[]> {\n if (!term.trim()) {\n // If the search term is empty, show the complete list\n return of(this.allItems);\n }\n\n const filtered = this.allItems.filter((item: any) =>\n item[this.bindLabel].toLowerCase().includes(term.toLowerCase())\n );\n\n if (filtered.length > 0) {\n console.log('Items filtered locally.');\n return of(filtered);\n } else if (this.searchUrl) {\n return this.http.get<any>(`${this.searchUrl}?term=${term}`).pipe(\n map((response: any) => {\n if (response && response.length > 0) {\n // Transform the backend items to match the format expected by the component\n const transformedItems = response.map((item: any) => ({\n [this.bindValue]: item[this.bindValue],\n [this.bindLabel]: item[this.bindLabel]\n }));\n this.backendItems = transformedItems;\n return [...filtered, ...transformedItems];\n } else {\n console.log('No items found in the backend search.');\n return filtered;\n }\n }),\n catchError((error: any) => {\n console.error('Error fetching from backend:', error);\n return of(filtered);\n })\n );\n } else {\n console.log('No search URL provided and no items found locally.');\n return of(filtered);\n }\n }\n\n writeValue(value: any): void {\n this.selected = value || (this.multiple ? [] : null);\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // No implementation needed for this example\n }\n\n compareFn = (item1: any, item2: any): boolean => {\n return item1 && item2 ? item1[this.bindValue] === item2[this.bindValue] : item1 === item2;\n };\n\n hasPermission(): boolean {\n if (!this.permissions || this.permissions.length === 0) {\n return true;\n }\n\n try {\n return this.authService.hasPermission(this.permissions);\n } catch (error: unknown) {\n if (error instanceof Error) {\n console.error('Permission error:', error.message);\n } else {\n console.error('Unknown error occurred during permission check');\n }\n return true;\n }\n }\n}\n","<div *ngIf=\"hasPermission()\" class=\"form-group\">\n <label [for]=\"id\" class=\"form-label\" style=\"margin-top: 2rem;\">{{ label }}</label>\n <ng-select\n [class.course-entry]=\"isCourseEntered\"\n class=\"ng-select\"\n [items]=\"filteredItems | async\"\n [multiple]=\"multiple\"\n [closeOnSelect]=\"closeOnSelect\"\n [hideSelected]=\"true\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [(ngModel)]=\"selected\"\n [compareWith]=\"compareFn\"\n (change)=\"onSelectedChange($event)\"\n (keyup)=\"onKeyUp($event)\"\n (input)=\"onInputChange($event)\"\n [id]=\"id\"\n [placeholder]=\"selected && (multiple ? selected.length === 0 : !selected) ? placeholder : ''\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n >\n <ng-template ng-option-tmp let-item=\"item\">\n {{ item[bindLabel] }}\n </ng-template>\n </ng-select>\n </div>","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-radio',\n template: `\n <div class=\"form-check\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <input class=\"form-check-input\"\n type=\"radio\"\n [name]=\"name\"\n [id]=\"id\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"handleRadioChange($event)\"\n [disabled]=\"disabled\">\n <label class=\"form-check-label\" [for]=\"id\">{{ label }}</label>\n </div>\n `,\n styles: [`\n .form-check {\n font-family: Arial, sans-serif;\n font-size: 1rem; /* Define o tamanho padrão da fonte */\n }\n .form-check-input {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n margin-right: 0.5rem;\n }\n .form-check-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RadioComponent implements ControlValueAccessor {\n @Input() name: string = 'defaultRadio';\n @Input() id: string = 'radioId';\n @Input() value: string = 'default';\n @Input() checked: boolean = false;\n @Input() disabled: boolean = false;\n @Input() label: string = 'Radio label';\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() changeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n handleRadioChange(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n this.checked = inputElement.checked;\n this.onChangeCallback(this.checked);\n this.changeEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.checked = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, forwardRef } from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'argenta-search-input',\n templateUrl: './search-input.component.html',\n styleUrls: ['./search-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SearchInputComponent),\n multi: true\n }\n ]\n})\nexport class SearchInputComponent implements OnInit, OnDestroy, ControlValueAccessor {\n @Input() id: string = '';\n @Input() label: string = 'Search';\n @Input() type: string = 'text';\n @Input() placeholder: string = 'Type to search...';\n @Input() value: string = '';\n @Input() disabled: boolean = false;\n @Input() readonly: boolean = false;\n @Input() autofocus: boolean = false;\n @Input() maxlength: number | null = null;\n @Input() minlength: number | null = null;\n @Input() required: boolean = false;\n @Input() pattern: string | null = null;\n @Input() debounceTime: number = 700; // Valor padrão\n\n @Output() search = new EventEmitter<string>();\n @Output() inputChange = new EventEmitter<string>();\n @Output() change = new EventEmitter<Event>();\n @Output() focus = new EventEmitter<Event>();\n @Output() blur = new EventEmitter<Event>();\n @Output() keyup = new EventEmitter<KeyboardEvent>();\n @Output() keydown = new EventEmitter<KeyboardEvent>();\n @Output() keypress = new EventEmitter<KeyboardEvent>();\n\n private searchSubject: Subject<string> = new Subject<string>();\n private searchSubscription: Subscription = new Subscription();\n\n constructor() { }\n\n ngOnInit(): void {\n this.searchSubscription = this.searchSubject.pipe(\n debounceTime(this.debounceTime)\n ).subscribe((searchText) => {\n this.search.emit(searchText);\n });\n }\n\n onInput(event: Event): void {\n const inputElement = event.target as HTMLInputElement;\n const value = inputElement.value;\n this.value = value;\n this.inputChange.emit(value); // Emite o valor de input imediatamente\n this.searchSubject.next(value);\n this.onChangeFn(value); // Chame onChangeFn para notificar o Angular Forms sobre a mudança\n }\n\n onChange(event: Event): void {\n this.change.emit(event);\n }\n\n onFocus(event: Event): void {\n this.focus.emit(event);\n }\n\n onBlur(event: Event): void {\n this.blur.emit(event);\n this.onTouchedFn(); // Chame onTouchedFn para notificar o Angular Forms sobre o blur\n }\n\n onKeyup(event: KeyboardEvent): void {\n this.keyup.emit(event);\n }\n\n onKeydown(event: KeyboardEvent): void {\n this.keydown.emit(event);\n }\n\n onKeypress(event: KeyboardEvent): void {\n this.keypress.emit(event);\n }\n\n ngOnDestroy(): void {\n this.searchSubscription.unsubscribe();\n }\n\n getLabelStyles() {\n return {\n fontFamily: 'Inter',\n fontSize: '16px',\n lineHeight: '19.36px',\n };\n }\n\n // ControlValueAccessor interface implementation\n onChangeFn: (value: string) => void = () => { };\n onTouchedFn: () => void = () => { };\n\n writeValue(value: string): void {\n this.value = value;\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouchedFn = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<div class=\"form-group\">\n <label [for]=\"id\" [ngStyle]=\"getLabelStyles()\">{{ label }}</label>\n <input [type]=\"type\"\n class=\"form-control custom-input\"\n [id]=\"id\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"value\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (keypress)=\"onKeypress($event)\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [required]=\"required\"\n [attr.pattern]=\"pattern\"\n [autofocus]=\"autofocus\">\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, OnDestroy, OnChanges, SimpleChanges, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { AuthService } from '../../service/auth-service.service';\n\n@Component({\n selector: 'argenta-custom-select',\n styleUrls: ['./select.component.scss'],\n template: `\n <div *ngIf=\"hasPermission()\" class=\"form-group\">\n <label [for]=\"id\" [ngClass]=\"'label-styles'\">{{ label }}</label>\n <div class=\"select-container\">\n <select class=\"form-control custom-select\"\n [id]=\"id\"\n [value]=\"value\"\n (change)=\"onSelectChange($event)\"\n [disabled]=\"disabled\">\n <option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.label }}</option>\n </select>\n <lucide-icon name=\"chevron-down\" [size]=\"16\" color=\"#5E6366\" [strokeWidth]=\"1.75\"></lucide-icon>\n </div>\n </div>\n `,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SelectComponent implements ControlValueAccessor, OnDestroy, OnChanges {\n @Input() label: string = 'Default Label';\n @Input() id: string = 'selectId';\n @Input() disabled: boolean = false;\n @Input() options: { value: any, label: string }[] = [];\n @Input() permissions: string[] | undefined;\n\n @Output() changeEvent: EventEmitter<any> = new EventEmitter<any>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n value: any;\n private destroy$ = new Subject<void>();\n\n constructor(private authService: AuthService) { }\n\n onSelectChange(event: Event) {\n const selectElement = event.target as HTMLSelectElement;\n this.value = selectElement.value;\n this.onChangeCallback(this.value);\n this.changeEvent.emit(this.value);\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['options'] && changes['options'].currentValue !== changes['options'].previousValue) {\n this.updateOptions(changes['options'].currentValue);\n }\n }\n\n updateOptions(newOptions: { value: any, label: string }[]): void {\n this.options = newOptions;\n }\n\n hasPermission(): boolean {\n if (!this.permissions || this.permissions.length === 0) {\n return true;\n }\n\n try {\n return this.authService.hasPermission(this.permissions);\n } catch (error: unknown) {\n if (error instanceof Error) {\n console.error('Permission error:', error.message);\n } else {\n console.error('Unknown error occurred during permission check');\n }\n return true;\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RefreshService {\n private refreshSubject = new Subject<void>();\n\n get refresh$(): Observable<void> {\n return this.refreshSubject.asObservable();\n }\n\n refresh() {\n this.refreshSubject.next();\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ButtonClasses } from '../../enum/ButtonClassesEnum'; // Importando o enum\nimport { AuthService } from '../../service/auth-service.service';\nimport { RefreshService } from '../../service/refresh-service.service';\nimport { IDataIndexPaginate, IPaginateResult } from './data-paginate.service';\n\n@Component({\n selector: 'argenta-list-data-table',\n templateUrl: './data-table.component.html',\n styleUrls: ['./data-table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DataTableComponent implements OnInit, OnChanges, OnDestroy {\n @Input() columns: { label: string, prop: string }[] = [];\n @Input() hiddenColumns: string[] = [];\n @Input() defaultItemsPerPage: number = 10;\n @Input() itemsPerPageLabel: string = 'Items per page:';\n @Input() showActionColumn: boolean = false;\n @Input() actionColumnLabel: string = 'Actions';\n @Input() totalItems: number = 0;\n @Input() fetchDataFunction: (params: IDataIndexPaginate) => Observable<IPaginateResult<any>> = () => {\n return new Observable(subscriber => subscriber.error('Implement the fetchDataFunction to fetch paginated data from the back-end.'));\n };\n @Input() editPermissions: string[] = [];\n @Input() deletePermissions: string[] = [];\n @Input() viewPermissions: string[] = [];\n @Input() showPageInfo: boolean = true;\n @Input() pageText: string = 'Page';\n @Input() ofText: string = 'of';\n @Input() filterDescription: string = '';\n\n @Input() buttonLabel: string = 'Novo perfil'; // Adicionando o Input para o label do botão\n\n @Output() sortChange: EventEmitter<any> = new EventEmitter();\n @Output() pageChange: EventEmitter<number> = new EventEmitter();\n @Output() itemsPerPageChange: EventEmitter<number> = new EventEmitter();\n @Output() onEditTable: EventEmitter<any> = new EventEmitter();\n @Output() onDeleteTable: EventEmitter<any> = new EventEmitter();\n @Output() onViewTable: EventEmitter<any> = new EventEmitter();\n @Output() onButtonClick: EventEmitter<void> = new EventEmitter(); // Novo evento\n\n itemsPerPageOptions: number[] = [5, 10, 15, 25];\n currentPage: number = 1;\n sortColumn: string = '';\n sortDirection: 'asc' | 'desc' = 'asc';\n pagedData: any[] = [];\n isLoading = false;\n private destroy$ = new Subject<void>();\n private isInitialized = false; // Flag para evitar chamadas duplas\n ButtonClasses = ButtonClasses;\n\n labelStyle = {\n 'font-family': 'Inter, Arial, sans-serif',\n 'font-size': '14px',\n 'color': '#000'\n };\n\n constructor(private cdr: ChangeDetectorRef, private authService: AuthService, private refreshService: RefreshService) { }\n\n ngOnInit() {\n this.fetchData();\n this.refreshService.refresh$\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n if (this.isInitialized) {\n this.refreshData();\n }\n });\n this.isInitialized = true;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['totalItems'] || changes['defaultItemsPerPage'] || changes['currentPage'] || changes['fetchDataFunction'] || changes['filterDescription']) {\n this.fetchData();\n }\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n fetchData() {\n if (this.fetchDataFunction) {\n this.isLoading = true;\n const params: IDataIndexPaginate = {\n filterDescription: this.filterDescription,\n pageNumber: this.currentPage,\n pageSize: this.defaultItemsPerPage,\n sortColumn: this.sortColumn,\n sortDirection: this.sortDirection\n };\n this.fetchDataFunction(params).pipe(\n takeUntil(this.destroy$)\n ).subscribe({\n next: (result) => {\n this.pagedData = result.items;\n this.totalItems = result.totalItems;\n this.isLoading = false;\n this.cdr.markForCheck();\n },\n error: (error) => {\n console.error('Error fetching data:', error);\n this.isLoading = false;\n }\n });\n }\n }\n\n refreshData() {\n this.fetchData();\n }\n\n onSort(column: string) {\n this.sortColumn = column;\n this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';\n this.sortChange.emit({ column, direction: this.sortDirection });\n this.fetchData();\n }\n\n onPageChange(page: number) {\n this.currentPage = page;\n this.pageChange.emit(page);\n this.fetchData();\n }\n\n onItemsPerPageChange() {\n this.currentPage = 1;\n this.itemsPerPageChange.emit(this.defaultItemsPerPage);\n this.fetchData();\n }\n\n handleAction(action: string, item: any, index: number) {\n switch (action) {\n case 'edit':\n if (this.hasPermission(this.editPermissions)) {\n this.onEditTable.emit({ item, index });\n }\n break;\n case 'delete':\n if (this.hasPermission(this.deletePermissions)) {\n this.onDeleteTable.emit({ item, index });\n }\n break;\n case 'view':\n if (this.hasPermission(this.viewPermissions)) {\n this.onViewTable.emit({ item, index });\n }\n break;\n }\n }\n\n hasPermission(requiredPermissions: string[]): boolean {\n if (!requiredPermissions || requiredPermissions.length === 0) {\n return true;\n }\n\n try {\n return this.authService.hasPermission(requiredPermissions);\n } catch (error: unknown) {\n if (error instanceof Error) {\n console.error('Permission error:', error.message);\n } else {\n console.error('Unknown error occurred during permission check');\n }\n return true;\n }\n }\n\n isColumnHidden(columnProp: string): boolean {\n return this.hiddenColumns.includes(columnProp);\n }\n\n onSearch(searchText: string) {\n this.filterDescription = searchText;\n this.currentPage = 1; // Resetar para a primeira página\n this.fetchData();\n }\n\n onNewButtonClick() {\n this.onButtonClick.emit(); // Emitindo o evento\n }\n}\n","<div class=\"data-table-header\" style=\"margin-top: 2.5rem;\">\n <div class=\"left-section\">\n <div class=\"form-group\">\n <label for=\"itemsPerPageSelect\" class=\"items-per-page-label\">{{ itemsPerPageLabel }}</label>\n <select\n id=\"itemsPerPageSelect\"\n class=\"form-control form-control-sm d-inline-block w-auto custom-select\"\n [(ngModel)]=\"defaultItemsPerPage\"\n (ngModelChange)=\"onItemsPerPageChange()\">\n <option *ngFor=\"let option of itemsPerPageOptions\" [value]=\"option\">{{ option }}</option>\n </select>\n </div>\n </div>\n <div class=\"right-section\">\n <button class=\"custom-button\" (click)=\"onNewButtonClick()\">\n <lucide-icon name=\"plus\" [size]=\"28\" [strokeWidth]=\"1.75\"></lucide-icon>\n {{ buttonLabel }}\n </button>\n </div>\n</div>\n\n<div class=\"search-input-container\">\n <argenta-search-input id=\"search\" label=\"\" placeholder=\"Buscar\" [(ngModel)]=\"filterDescription\" (search)=\"onSearch($event)\"></argenta-search-input>\n</div>\n\n<div class=\"table-responsive\" style=\"margin-top: 1rem;\">\n <table class=\"table table-hover\">\n <thead>\n <tr>\n <ng-container *ngFor=\"let column of columns\">\n <th *ngIf=\"!isColumnHidden(column.prop)\" (click)=\"onSort(column.prop)\">\n {{ column.label }}\n </th>\n </ng-container>\n <th *ngIf=\"showActionColumn\" class=\"text-end\" style=\"padding-right: 6.3rem;\">{{ actionColumnLabel }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of pagedData; let i = index\">\n <ng-container *ngFor=\"let column of columns\">\n <td *ngIf=\"!isColumnHidden(column.prop)\">\n {{ item[column.prop] }}\n </td>\n </ng-container>\n <td *ngIf=\"showActionColumn\" class=\"text-end\">\n <div class=\"d-flex justify-content-end\">\n <div *ngIf=\"hasPermission(editPermissions) && onEditTable.observers.length > 0\" (click)=\"handleAction('edit', item, i)\" class=\"clickable-icon\" style=\"margin-right: 1.5rem;\">\n <lucide-icon name=\"square-pen\" [size]=\"20\" color=\"#2CA58D\" [strokeWidth]=\"1.75\"></lucide-icon>\n </div>\n <div *ngIf=\"hasPermission(viewPermissions) && onViewTable.observers.length > 0\" (click)=\"handleAction('view', item, i)\" class=\"clickable-icon\" style=\"margin-right: 1.5rem;\">\n <lucide-icon name=\"user-round\" [size]=\"20\" color=\"#2CA58D\" [strokeWidth]=\"1.75\"></lucide-icon>\n </div>\n <div *ngIf=\"hasPermission(deletePermissions) && onDeleteTable.observers.length > 0\" (click)=\"handleAction('delete', item, i)\" class=\"clickable-icon\" style=\"margin-right: 1.5rem;\">\n <i-lucide name=\"trash-2\" [size]=\"20\" color=\"#F26E6E\" [strokeWidth]=\"1.75\"></i-lucide>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n\n<div class=\"text-center pagination-controls\">\n <custom-pagination\n [totalItems]=\"totalItems\"\n [itemsPerPage]=\"defaultItemsPerPage\"\n [currentPage]=\"currentPage\"\n [showPageInfo]=\"showPageInfo\"\n (pageChange)=\"onPageChange($event)\">\n </custom-pagination>\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-textarea',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"id\" class=\"form-label\">{{ label }}</label>\n <textarea class=\"form-control custom-textarea\"\n [id]=\"id\"\n [rows]=\"rows\"\n [placeholder]=\"placeholder\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (keypress)=\"onKeypress($event)\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [autofocus]=\"autofocus\"></textarea>\n </div>\n `,\n styles: [`\n .form-group {\n margin-bottom: 1rem;\n }\n .form-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TextareaComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TextareaComponent implements ControlValueAccessor {\n @Input() label: string = 'Default Label';\n @Input() placeholder: string = 'Default Placeholder';\n @Input() id: string = 'textareaId';\n @Input() rows: number = 3;\n @Input() disabled: boolean = false;\n @Input() readonly: boolean = false;\n @Input() maxlength: number | null = null;\n @Input() minlength: number | null = null;\n @Input() required: boolean = false;\n @Input() autofocus: boolean = false;\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() inputEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() changeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() focusEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() blurEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() keyupEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keydownEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keypressEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n value: string = '';\n\n onInput(event: Event) {\n const inputElement = event.target as HTMLTextAreaElement;\n this.value = inputElement.value;\n this.onChangeCallback(this.value);\n this.inputEvent.emit(event);\n }\n\n onChange(event: Event) {\n this.changeEvent.emit(event);\n }\n\n onFocus(event: FocusEvent) {\n this.focusEvent.emit(event);\n }\n\n onBlur(event: FocusEvent) {\n this.onTouchedCallback();\n this.blurEvent.emit(event);\n }\n\n onKeyup(event: KeyboardEvent) {\n this.keyupEvent.emit(event);\n }\n\n onKeydown(event: KeyboardEvent) {\n this.keydownEvent.emit(event);\n }\n\n onKeypress(event: KeyboardEvent) {\n this.keypressEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ITreeNode } from './Itree-node';\n\n@Component({\n selector: 'argenta-custom-tree-node',\n templateUrl: './tree-node.component.html',\n styleUrls: ['./tree-node.component.scss']\n})\nexport class TreeNodeComponent implements OnInit {\n @Input() title: string = '';\n @Input() nodes: ITreeNode[] = [];\n @Input() isRoot: boolean = true;\n @Output() nodeSelected = new EventEmitter<ITreeNode>();\n\n ngOnInit() {\n if (this.isRoot && !this.title) {\n this.title = 'Tree Node';\n }\n }\n\n onNodeSelected(node: ITreeNode, event: any) {\n node.selected = event.target.checked;\n if (node.children) {\n this.toggleChildren(node.children, node.selected);\n }\n this.updateParentSelection(this.nodes);\n this.nodeSelected.emit(node);\n }\n\n toggleChildren(children: ITreeNode[], selected: boolean) {\n children.forEach(child => {\n child.selected = selected;\n if (child.children) {\n this.toggleChildren(child.children, selected);\n }\n });\n }\n\n onChildNodeSelected(node: ITreeNode) {\n this.updateParentSelection(this.nodes);\n this.nodeSelected.emit(node);\n }\n\n updateParentSelection(nodes: ITreeNode[]) {\n nodes.forEach(node => {\n if (node.children) {\n const anyChildSelected = node.children.some(child => child.selected);\n if (anyChildSelected) {\n node.selected = true;\n }\n // Recursive call for nested parents\n this.updateParentSelection(node.children);\n }\n });\n }\n\n toggleCollapse(node: ITreeNode) {\n node.collapsed = !node.collapsed;\n }\n}\n","<div *ngIf=\"isRoot\" class=\"tree-title\">{{ title || 'Tree Node' }}</div>\n<ul class=\"tree\">\n <li *ngFor=\"let node of nodes\">\n <div class=\"node-content\">\n <span *ngIf=\"node.children\" class=\"toggle-icon\" (click)=\"toggleCollapse(node)\"\n [ngClass]=\"{'collapsed-icon': node.collapsed, 'expanded-icon': !node.collapsed}\">\n {{ node.collapsed ? '▶' : '▼' }}\n </span>\n <span *ngIf=\"!node.children\" class=\"dot\"></span> <!-- Bolinha cinza para nós sem filhos -->\n <label class=\"custom-checkbox\">\n <input type=\"checkbox\" [checked]=\"node.selected\" (change)=\"onNodeSelected(node, $event)\" />\n <span class=\"checkmark\"></span>\n </label>\n <label class=\"node-label\">{{ node.name }}</label>\n </div>\n <argenta-custom-tree-node *ngIf=\"node.children && !node.collapsed\" [nodes]=\"node.children\" [isRoot]=\"false\" (nodeSelected)=\"onChildNodeSelected(node)\"></argenta-custom-tree-node>\n </li>\n</ul>\n","import { NgModule } from '@angular/core';\nimport { icons, LucideAngularModule } from 'lucide-angular';\n\n// Select some icons (use an object, not an array)\n@NgModule({\n imports: [LucideAngularModule.pick(icons)],\n exports: [LucideAngularModule],\n})\nexport class LucideIconsModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { AutofocusDirective } from '../directive/autofocus-directive/autofocus.directive';\nimport { LucideIconsModule } from '../icons/lucide-icons.module';\nimport { AlertComponent } from './alert/alert.component';\nimport { AppBackgroundComponent } from './app-background/app-background.component';\nimport { BadgeComponent } from './badge/badge.component';\nimport { BasicRegistrationComponent } from './basic-registration/basic-registration.component';\nimport { ButtonComponent } from './button/button.component';\nimport { CardComponent } from './card/card.component';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { CodeHighlightComponent } from './code-highlight/code-highlight.component';\nimport { ConfirmationComponent } from './confirmation/confirmation.component';\nimport { CustomPaginationComponent } from './custom-pagination/custom-pagination.component';\nimport { InputComponent } from './imput/input.component';\nimport { MultiSelectComponent } from './multi-select/multi-select.component';\nimport { RadioComponent } from './radio/radio.component';\nimport { SearchInputComponent } from './search-input/search-input.component';\nimport { SelectComponent } from './select/select.component';\nimport { DataTableComponent } from './tables/data-table.component';\nimport { TextareaComponent } from './textarea/textarea.component';\nimport { TreeNodeComponent } from './tree-node/tree-node.component';\nimport { CustomSwitchComponent } from './custom-switch/custom-switch.component';\n\n@NgModule({\n declarations: [\n ButtonComponent,\n CardComponent,\n InputComponent,\n CheckboxComponent,\n TextareaComponent,\n SelectComponent,\n RadioComponent,\n MultiSelectComponent,\n DataTableComponent,\n CodeHighlightComponent,\n BadgeComponent,\n AlertComponent,\n ConfirmationComponent,\n AutofocusDirective,\n CustomPaginationComponent,\n TreeNodeComponent,\n SearchInputComponent,\n AppBackgroundComponent,\n BasicRegistrationComponent,\n CustomSwitchComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NgSelectModule,\n LucideIconsModule,\n ],\n exports: [\n ButtonComponent,\n CardComponent,\n InputComponent,\n CheckboxComponent,\n TextareaComponent,\n SelectComponent,\n RadioComponent,\n MultiSelectComponent,\n FormsModule,\n ReactiveFormsModule,\n NgSelectModule,\n DataTableComponent,\n CodeHighlightComponent,\n BadgeComponent,\n AlertComponent,\n ConfirmationComponent,\n CustomPaginationComponent,\n TreeNodeComponent,\n SearchInputComponent,\n LucideIconsModule,\n AppBackgroundComponent,\n BasicRegistrationComponent,\n CustomSwitchComponent,\n ],\n})\nexport class ComponentsModule { }\n","import { ApplicationRef, ComponentRef, createComponent, Injectable, Injector } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AlertComponent } from './alert.component';\n\nexport interface Alert {\n type: 'success' | 'info' | 'warning' | 'danger';\n title: string;\n message: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotificationService {\n private alertsSubject = new Subject<Alert>();\n alerts$ = this.alertsSubject.asObservable();\n\n constructor(\n private appRef: ApplicationRef,\n private injector: Injector\n ) { }\n\n showAlert(type: 'success' | 'info' | 'warning' | 'danger', title: string, message: string) {\n const alert: Alert = { type, title, message };\n this.alertsSubject.next(alert);\n\n // Create the alert component dynamically\n const componentRef: ComponentRef<AlertComponent> = createComponent(AlertComponent, { environmentInjector: this.appRef.injector });\n componentRef.instance.alerts = [alert];\n\n this.appRef.attachView(componentRef.hostView);\n const domElem = (componentRef.hostView as any).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n \n \n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { ConfirmationComponent } from './confirmation.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConfirmationService implements OnDestroy {\n private modalRef: NgbModalRef | null = null;\n\n constructor(private modalService: NgbModal) { }\n\n confirm(\n title: string,\n message: string,\n confirmButtonText: string = 'Sim',\n cancelButtonText: string = 'Não'\n ): Promise<boolean> {\n this.modalRef = this.modalService.open(ConfirmationComponent, { backdrop: 'static', keyboard: false });\n this.modalRef.componentInstance.title = title;\n this.modalRef.componentInstance.message = message;\n this.modalRef.componentInstance.confirmButtonText = confirmButtonText;\n this.modalRef.componentInstance.cancelButtonText = cancelButtonText;\n\n return this.modalRef.result.then((result) => {\n return result === 'confirm';\n }, () => {\n return false;\n }).finally(() => {\n this.modalRef = null; // Clear the reference after the modal is closed\n });\n }\n\n ngOnDestroy() {\n if (this.modalRef) {\n this.modalRef.dismiss();\n this.modalRef = null;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nexport interface IDataIndexPaginate {\n filterDescription?: string;\n pageNumber: number;\n pageSize: number;\n sortColumn: string;\n sortDirection: 'asc' | 'desc';\n}\n\nexport interface IPaginateResult<T> {\n items: T[];\n totalItems: number;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DataPaginateService {\n constructor(private http: HttpClient) { }\n\n fetchData<T>(url: string, params: IDataIndexPaginate): Observable<IPaginateResult<T>> {\n let httpParams = new HttpParams()\n .set('page', params.pageNumber.toString())\n .set('limit', params.pageSize.toString())\n .set('sort', params.sortColumn)\n .set('order', params.sortDirection);\n\n if (params.filterDescription) {\n httpParams = httpParams.set('description', params.filterDescription);\n }\n\n return this.http.get<{ meta: { total: number }, data: T[] }>(url, { params: httpParams }).pipe(\n map(response => {\n const items = response.data || [];\n const totalItems = response.meta.total || 0;\n return {\n items,\n totalItems\n };\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as CryptoJS from 'crypto-js';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RouterParameterService {\n private secretKey = '9db3589f$h86115&@b457bdff422c232e0e04c!ibe14374970aef0fe0ba054618f!='\n setParameter(data: string): string {\n return CryptoJS.AES.encrypt(data, this.secretKey).toString();\n }\n\n getParameter(data: string): string {\n const bytes = CryptoJS.AES.decrypt(data, this.secretKey);\n return bytes.toString(CryptoJS.enc.Utf8);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NotificationService } from './components/alert/notification.service';\nimport { ComponentsModule } from './components/components.module';\nimport { ConfirmationService } from './components/confirmation/confirmation.service';\nimport { DataPaginateService } from './components/tables/data-paginate.service';\nimport { RefreshService } from './service/refresh-service.service';\nimport { RouterParameterService } from './service/route-parameter.service';\n\n@NgModule({\n imports: [\n ComponentsModule,\n \n ],\n exports: [\n ComponentsModule, \n ],\n providers: [\n NotificationService,\n ConfirmationService,\n DataPaginateService,\n RefreshService,\n RouterParameterService,\n ],\n})\nexport class LibPortalAngularModule { }\n","/*\n * Public API Surface of sim-lib\n *\n * Este arquivo exporta todos os componentes, enums e módulos necessários\n * para que os consumidores da biblioteca possam utilizá-los em suas aplicações.\n */\n\n// Componentes\nexport * from './lib/components/custom-switch/custom-switch.component';\nexport * from './lib/components/alert/alert.component';\nexport * from './lib/components/app-background/app-background.component';\nexport * from './lib/components/badge/badge.component';\nexport * from './lib/components/basic-registration/basic-registration.component';\nexport * from './lib/components/button/button.component';\nexport * from './lib/components/card/card.component';\nexport * from './lib/components/checkbox/checkbox.component';\nexport * from './lib/components/code-highlight/code-highlight.component';\nexport * from './lib/components/confirmation/confirmation.component';\nexport * from './lib/components/custom-pagination/custom-pagination.component';\nexport * from './lib/components/imput/input.component';\nexport * from './lib/components/multi-select/multi-select.component';\nexport * from './lib/components/radio/radio.component';\nexport * from './lib/components/search-input/search-input.component';\nexport * from './lib/components/select/select.component';\nexport * from './lib/components/tables/data-table.component';\nexport * from './lib/components/textarea/textarea.component';\nexport * from './lib/components/tree-node/tree-node.component';\n\n// Enums\nexport * from './lib/enum/ButtonClassesEnum';\n\n// Módulos\nexport * from './lib/components/components.module';\nexport * from './lib/icons/lucide-icons.module';\nexport * from './lib/lib-portal-angular.module';\n\n\n// Service\nexport * from './lib/components/alert/notification.service';\nexport * from './lib/components/confirmation/confirmation.service';\nexport * from './lib/components/tables/data-paginate.service';\nexport * from './lib/service/refresh-service.service';\nexport * from './lib/service/route-parameter.service';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AuthService","i2","i3.ButtonComponent","i1","i2.AutofocusDirective","i3","i4","i2.RefreshService","i5","i6.CustomPaginationComponent","i7.SearchInputComponent"],"mappings":"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"}