keevo-components 2.0.88 → 2.0.90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/esm2022/lib/api/components/table/table.config.mjs +1 -1
  2. package/esm2022/lib/api/services/pdf.service.mjs +48 -0
  3. package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.mjs +11 -0
  4. package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.mjs +40 -0
  5. package/esm2022/lib/components/kv-inputs/kv-editor/config/kv-editor.config.mjs +108 -0
  6. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +148 -97
  7. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.mjs +7 -0
  8. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.mjs +135 -0
  9. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.mjs +169 -0
  10. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.mjs +78 -0
  11. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.mjs +95 -0
  12. package/esm2022/lib/components/kv-inputs/kv-editor/types/kv-editor.types.mjs +2 -0
  13. package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +28 -4
  14. package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +3 -3
  15. package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +3 -3
  16. package/esm2022/lib/components/kv-table/kv-table.component.mjs +3 -3
  17. package/esm2022/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.mjs +15 -0
  18. package/esm2022/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.mjs +18 -0
  19. package/esm2022/lib/components/kv-table-viewer/kv-table-viewer.component.mjs +166 -0
  20. package/esm2022/lib/components/kv-tags/kv-tags.component.mjs +2 -2
  21. package/esm2022/public-api.mjs +5 -1
  22. package/fesm2022/keevo-components.mjs +1196 -298
  23. package/fesm2022/keevo-components.mjs.map +1 -1
  24. package/lib/api/base-components/base-component-dropdown.d.ts +1 -1
  25. package/lib/api/components/table/table.config.d.ts +2 -0
  26. package/lib/api/services/pdf.service.d.ts +7 -0
  27. package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +1 -1
  28. package/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.d.ts +5 -0
  29. package/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.d.ts +14 -0
  30. package/lib/components/kv-inputs/kv-editor/config/kv-editor.config.d.ts +55 -0
  31. package/lib/components/kv-inputs/kv-editor/kv-editor.component.d.ts +39 -13
  32. package/lib/components/kv-inputs/kv-editor/kv-editor.d.ts +6 -0
  33. package/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.d.ts +41 -0
  34. package/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.d.ts +41 -0
  35. package/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.d.ts +28 -0
  36. package/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.d.ts +45 -0
  37. package/lib/components/kv-inputs/kv-editor/types/kv-editor.types.d.ts +32 -0
  38. package/lib/components/kv-inputs/kv-inputs.module.d.ts +7 -1
  39. package/lib/components/kv-stepper/kv-stepper.component.d.ts +1 -1
  40. package/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.d.ts +8 -0
  41. package/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.d.ts +7 -0
  42. package/lib/components/kv-table-viewer/kv-table-viewer.component.d.ts +64 -0
  43. package/lib/components/kv-tag/kv-tag.component.d.ts +1 -1
  44. package/package.json +6 -4
  45. package/public-api.d.ts +4 -0
@@ -40,7 +40,7 @@ export declare abstract class BaseComponentDropDown extends BaseComponentInput<a
40
40
  protected addClick(event: Event): void;
41
41
  carregarCombo(filtro?: filtroCombo): void;
42
42
  protected carregarComboObs(obs: Observable<any>): void;
43
- emptyMessage(): "Digite para pesquisar" | "Nenhum resultado encontrado";
43
+ emptyMessage(): "Nenhum resultado encontrado" | "Digite para pesquisar";
44
44
  filterOptions(field: string, value: any): void;
45
45
  protected listar(): any;
46
46
  protected listarCombo(value: any): any;
@@ -1,5 +1,6 @@
1
1
  import { TableConfigColumn } from './table.config.column';
2
2
  import { KvMenuItem, ValueOrFn } from './kv-menuitem';
3
+ import { MenuItem } from 'primeng/api';
3
4
  export interface TableConfig {
4
5
  actions?: KvMenuItem[];
5
6
  actionsLote?: ActionsLoteItem[];
@@ -30,5 +31,6 @@ export interface ActionsLoteItem {
30
31
  disabled?: ValueOrFn<boolean | undefined>;
31
32
  visible?: ValueOrFn<boolean | undefined>;
32
33
  label?: ValueOrFn<string>;
34
+ items?: MenuItem[];
33
35
  command?: () => void;
34
36
  }
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class PdfService {
3
+ constructor();
4
+ gerarPdfBlobPorElementoId(elementId: string): Promise<Blob>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<PdfService, never>;
6
+ static ɵprov: i0.ɵɵInjectableDeclaration<PdfService>;
7
+ }
@@ -8,7 +8,7 @@ export declare class KvButtonPopupComponent extends BaseComponentButton {
8
8
  items: MenuItem[];
9
9
  classBtn: string;
10
10
  size: import("@angular/core").InputSignal<"small" | "normal" | "large">;
11
- type: import("@angular/core").InputSignal<"text" | "outline" | "normal">;
11
+ type: import("@angular/core").InputSignal<"text" | "normal" | "outline">;
12
12
  icon: string;
13
13
  constructor();
14
14
  handleShow(): void;
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class KvInstrucoesReportComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<KvInstrucoesReportComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<KvInstrucoesReportComponent, "kv-instrucoes-report", never, {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,14 @@
1
+ import { OnInit, OnDestroy } from '@angular/core';
2
+ import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
3
+ import { DynamicDialogConfig } from 'primeng/dynamicdialog';
4
+ import * as i0 from "@angular/core";
5
+ export declare class KvReportModalComponent implements OnInit, OnDestroy {
6
+ dynamicDialogConfig: DynamicDialogConfig<any>;
7
+ sanitizer: DomSanitizer;
8
+ pdfUrl: SafeResourceUrl | null;
9
+ private objectUrl;
10
+ ngOnInit(): void;
11
+ ngOnDestroy(): void;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<KvReportModalComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<KvReportModalComponent, "kv-report-modal", never, {}, {}, never, never, true, never>;
14
+ }
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Configuração padrão para o KV Editor
3
+ * Este arquivo demonstra as melhores práticas de configuração
4
+ */
5
+ import { KvEditorConfig, KvEditorQuillConfig } from '../types/kv-editor.types';
6
+ /**
7
+ * Configuração padrão do componente KV Editor
8
+ */
9
+ export declare const DEFAULT_KV_EDITOR_CONFIG: KvEditorConfig;
10
+ /**
11
+ * Configuração padrão do Quill Editor
12
+ */
13
+ export declare const DEFAULT_QUILL_CONFIG: Partial<KvEditorQuillConfig>;
14
+ /**
15
+ * Configuração de fontes personalizadas
16
+ */
17
+ export declare const CUSTOM_FONTS: string[];
18
+ /**
19
+ * Configuração de tamanhos de fonte
20
+ */
21
+ export declare const FONT_SIZES: string[];
22
+ /**
23
+ * Configuração de estilos CSS para PDF
24
+ */
25
+ export declare const PDF_STYLES = "\n <style>\n #temp-pdf-render-area { \n font-family: 'Sans Serif', Arial, sans-serif; \n font-size: 11pt;\n line-height: 1.3;\n text-align: justify; \n }\n #temp-pdf-render-area p {\n min-height: 1.3em;\n margin: 0;\n padding: 0;\n }\n #temp-pdf-render-area h1, #temp-pdf-render-area h2, #temp-pdf-render-area h3, \n #temp-pdf-render-area h4, #temp-pdf-render-area h5, #temp-pdf-render-area h6 { \n page-break-after: avoid; \n }\n #temp-pdf-render-area [style*=\"text-align: center\"] {\n text-align: center !important;\n }\n #temp-pdf-render-area p, #temp-pdf-render-area h1, #temp-pdf-render-area h2, \n #temp-pdf-render-area h3, #temp-pdf-render-area h4, #temp-pdf-render-area h5, \n #temp-pdf-render-area h6, #temp-pdf-render-area blockquote, #temp-pdf-render-area ul, \n #temp-pdf-render-area ol, #temp-pdf-render-area li, #temp-pdf-render-area table, \n #temp-pdf-render-area tr, #temp-pdf-render-area img { \n page-break-inside: avoid; \n }\n </style>\n";
26
+ /**
27
+ * Configuração de tempo de debounce para auto-save
28
+ */
29
+ export declare const DEBOUNCE_TIME = 500;
30
+ /**
31
+ * Configuração de URLs CDN
32
+ */
33
+ export declare const CDN_URLS: {
34
+ quillCss: string;
35
+ quillJs: string;
36
+ robotoFont: string;
37
+ };
38
+ /**
39
+ * Configuração de mensagens de erro
40
+ */
41
+ export declare const ERROR_MESSAGES: {
42
+ pdfGeneration: string;
43
+ quillInit: string;
44
+ saveError: string;
45
+ loadError: string;
46
+ };
47
+ /**
48
+ * Configuração de timeouts
49
+ */
50
+ export declare const TIMEOUTS: {
51
+ pdfGeneration: number;
52
+ editorInit: number;
53
+ cssLoad: number;
54
+ autoSave: number;
55
+ };
@@ -1,41 +1,67 @@
1
1
  import { ElementRef, EventEmitter, OnInit, Renderer2 } from '@angular/core';
2
2
  import Quill from 'quill';
3
+ import { OverlayPanel } from 'primeng/overlaypanel';
3
4
  import { BaseComponentInput } from '../../../api/base-components/base-component-input';
4
5
  import { ComponentService } from '../../../api/services/component.service';
6
+ import { KvEditorRelatorio, KvEditorVariavel } from './kv-editor';
5
7
  import * as i0 from "@angular/core";
6
8
  export declare class KvEditorComponent extends BaseComponentInput<string> implements OnInit {
7
9
  private renderer;
8
10
  private el;
9
11
  constructor(componentService: ComponentService, renderer: Renderer2, el: ElementRef);
12
+ private quillService;
13
+ private relatorioService;
14
+ private mentionService;
15
+ private pdfService;
16
+ private dialogService;
17
+ /**
18
+ * @deprecated Essa propriedade não será mais utilizada por esse componente nas próximas versões.
19
+ */
20
+ canvaHeigth: string;
21
+ contentType: 'html' | 'text';
10
22
  readonly: boolean;
11
23
  debug: boolean;
12
24
  onTextChange: EventEmitter<any>;
13
25
  onSelectionChange: EventEmitter<any>;
14
26
  outputRaw: EventEmitter<string>;
15
27
  outputHtml: EventEmitter<string>;
16
- /**
17
- * @deprecated Essa propriedade não será mais utilizada por esse componente nas próximas versões.
18
- */
19
- canvaHeigth: string;
20
28
  private updatingEditor;
29
+ private lastSelectionRange;
30
+ private editorReadyResolver;
31
+ private editorReadyPromise;
21
32
  quill: Quill;
33
+ htmlDoEditor: string;
22
34
  initLoadComplete: import("@angular/core").WritableSignal<boolean>;
23
35
  isLoading: import("@angular/core").WritableSignal<boolean>;
24
36
  editorToolbarHeight: import("@angular/core").WritableSignal<string>;
25
- private editorReadyPromise;
26
- /**
27
- * caso defina como "text" o texto ira ser enviado sem formatação
28
- */
29
- contentType: 'html' | 'text';
37
+ tipoVisualizacao: import("@angular/core").WritableSignal<"valor" | "descricao">;
38
+ filteredVariables: import("@angular/core").WritableSignal<KvEditorVariavel[]>;
39
+ relatorios: import("@angular/core").InputSignal<KvEditorRelatorio[]>;
40
+ idRelatorioInitial: import("@angular/core").InputSignal<number>;
41
+ idRelatorioSelected: import("@angular/core").Signal<number>;
42
+ relatorio: import("@angular/core").Signal<KvEditorRelatorio | null>;
43
+ isLoadingPdf: import("@angular/core").Signal<boolean>;
44
+ opVariables: OverlayPanel;
45
+ mentionAnchor: ElementRef;
46
+ messages: {
47
+ severity: string;
48
+ detail: string;
49
+ }[];
50
+ setRelatorioPorId(id: number): void;
51
+ setRelatorio(relatorio: KvEditorRelatorio): void;
30
52
  ngOnInit(): void;
31
- private editorReadyResolver;
32
53
  handleInit(): Promise<void>;
33
- loadCss(): Promise<void>;
34
54
  initializeQuillEditor(): void;
35
- addQuillCss(): void;
55
+ private setupQuillEvents;
36
56
  writeValue(value: any): void;
37
57
  escrevaValor(htmlvalue: any, rawvalue?: any): Promise<void>;
38
58
  getEditorSize(): void;
59
+ openRelatorio(): Promise<void>;
60
+ handleMention(): void;
61
+ private showVariablesPanel;
62
+ selectVariableFromPanel(variable: KvEditorVariavel): void;
63
+ closeVariablesPanel(): void;
64
+ showInstrucoes(): void;
39
65
  static ɵfac: i0.ɵɵFactoryDeclaration<KvEditorComponent, never>;
40
- static ɵcmp: i0.ɵɵComponentDeclaration<KvEditorComponent, "kv-editor", never, { "readonly": { "alias": "readonly"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "canvaHeigth": { "alias": "canvaHeigth"; "required": false; }; "contentType": { "alias": "contentType"; "required": false; }; }, { "onTextChange": "onTextChange"; "onSelectionChange": "onSelectionChange"; "outputRaw": "outputRaw"; "outputHtml": "outputHtml"; }, never, never, false, never>;
66
+ static ɵcmp: i0.ɵɵComponentDeclaration<KvEditorComponent, "kv-editor", never, { "canvaHeigth": { "alias": "canvaHeigth"; "required": false; }; "contentType": { "alias": "contentType"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "relatorios": { "alias": "relatorios"; "required": false; "isSignal": true; }; "idRelatorioInitial": { "alias": "idRelatorioInitial"; "required": false; "isSignal": true; }; }, { "onTextChange": "onTextChange"; "onSelectionChange": "onSelectionChange"; "outputRaw": "outputRaw"; "outputHtml": "outputHtml"; }, never, never, false, never>;
41
67
  }
@@ -0,0 +1,6 @@
1
+ export * from './types/kv-editor.types';
2
+ export * from './services/kv-editor-quill.service';
3
+ export * from './services/kv-editor-relatorio.service';
4
+ export * from './services/kv-editor-mention.service';
5
+ export * from './services/kv-editor-pdf.service';
6
+ export * from './config/kv-editor.config';
@@ -0,0 +1,41 @@
1
+ import Quill from 'quill';
2
+ import { KvEditorVariavel } from '../types/kv-editor.types';
3
+ import * as i0 from "@angular/core";
4
+ export declare class KvEditorMentionService {
5
+ private filteredVariables;
6
+ private mentionStartIndex;
7
+ private mentionEndIndex;
8
+ /**
9
+ * Processa o sistema de menções durante a digitação
10
+ */
11
+ handleMention(quill: Quill, variaveis: KvEditorVariavel[]): {
12
+ shouldShowPanel: boolean;
13
+ filteredVariables: KvEditorVariavel[];
14
+ mentionBounds?: {
15
+ top: number;
16
+ left: number;
17
+ };
18
+ };
19
+ /**
20
+ * Calcula a posição onde o painel de menções deve aparecer
21
+ */
22
+ private calculateMentionBounds;
23
+ /**
24
+ * Insere uma variável selecionada no editor
25
+ */
26
+ insertVariable(quill: Quill, variable: KvEditorVariavel): void;
27
+ /**
28
+ * Fecha o sistema de menções
29
+ */
30
+ closeMention(): void;
31
+ /**
32
+ * Obtém as variáveis filtradas
33
+ */
34
+ getFilteredVariables(): KvEditorVariavel[];
35
+ /**
36
+ * Cria uma regex especial para busca em texto com HTML
37
+ */
38
+ createInterleavedRegex(text: string): RegExp;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<KvEditorMentionService, never>;
40
+ static ɵprov: i0.ɵɵInjectableDeclaration<KvEditorMentionService>;
41
+ }
@@ -0,0 +1,41 @@
1
+ import { KvEditorRelatorio } from '../types/kv-editor.types';
2
+ import * as i0 from "@angular/core";
3
+ export declare class KvEditorPdfService {
4
+ private pdfService;
5
+ private dialogService;
6
+ private isLoadingPdf;
7
+ /**
8
+ * Obtém o estado de carregamento do PDF
9
+ */
10
+ getIsLoadingPdf(): boolean;
11
+ /**
12
+ * Define o estado de carregamento do PDF
13
+ */
14
+ setIsLoadingPdf(loading: boolean): void;
15
+ /**
16
+ * Gera e abre o modal de relatório
17
+ */
18
+ openRelatorio(htmlContent: string, relatorio: KvEditorRelatorio | null, tipoVisualizacao: 'valor' | 'descricao'): Promise<void>;
19
+ /**
20
+ * Processa o HTML substituindo variáveis e limpando formatação
21
+ */
22
+ private processarHtmlParaPdf;
23
+ /**
24
+ * Adiciona estilos CSS específicos para PDF
25
+ */
26
+ private adicionarEstilosParaPdf;
27
+ /**
28
+ * Gera o blob do PDF
29
+ */
30
+ private gerarPdfBlob;
31
+ /**
32
+ * Abre o modal com o PDF gerado
33
+ */
34
+ private abrirModalRelatorio;
35
+ /**
36
+ * Cria uma regex especial para busca em texto com HTML
37
+ */
38
+ private createInterleavedRegex;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<KvEditorPdfService, never>;
40
+ static ɵprov: i0.ɵɵInjectableDeclaration<KvEditorPdfService>;
41
+ }
@@ -0,0 +1,28 @@
1
+ import Quill from 'quill';
2
+ import { KvEditorQuillConfig } from '../types/kv-editor.types';
3
+ import * as i0 from "@angular/core";
4
+ export declare class KvEditorQuillService {
5
+ private quillInstance;
6
+ /**
7
+ * Carrega o CSS do Quill dinamicamente
8
+ */
9
+ loadCss(): Promise<void>;
10
+ /**
11
+ * Registra os formatos personalizados do Quill
12
+ */
13
+ registerCustomFormats(): void;
14
+ /**
15
+ * Cria uma instância do Quill com a configuração fornecida
16
+ */
17
+ createQuillInstance(selector: string, config: KvEditorQuillConfig): Quill;
18
+ /**
19
+ * Obtém a instância atual do Quill
20
+ */
21
+ getQuillInstance(): Quill | null;
22
+ /**
23
+ * Limpa a instância do Quill
24
+ */
25
+ destroyQuillInstance(): void;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<KvEditorQuillService, never>;
27
+ static ɵprov: i0.ɵɵInjectableDeclaration<KvEditorQuillService>;
28
+ }
@@ -0,0 +1,45 @@
1
+ import { KvEditorRelatorio, KvEditorVariavel } from '../types/kv-editor.types';
2
+ import * as i0 from "@angular/core";
3
+ export declare class KvEditorRelatorioService {
4
+ private relatorios;
5
+ private relatorioSelected;
6
+ private idRelatorioSelected;
7
+ /**
8
+ * Define a lista de relatórios disponíveis
9
+ */
10
+ setRelatorios(relatorios: KvEditorRelatorio[]): void;
11
+ /**
12
+ * Obtém a lista de relatórios
13
+ */
14
+ getRelatorios(): KvEditorRelatorio[];
15
+ /**
16
+ * Seleciona um relatório pelo ID
17
+ */
18
+ setRelatorioPorId(id: number): KvEditorRelatorio | null;
19
+ /**
20
+ * Define o relatório selecionado
21
+ */
22
+ setRelatorio(relatorio: KvEditorRelatorio): void;
23
+ /**
24
+ * Obtém o relatório selecionado
25
+ */
26
+ getRelatorioSelected(): KvEditorRelatorio | null;
27
+ /**
28
+ * Obtém o ID do relatório selecionado
29
+ */
30
+ getIdRelatorioSelected(): number;
31
+ /**
32
+ * Renderiza o template do contrato com as variáveis
33
+ */
34
+ renderContrato(texto: string, variaveis: KvEditorVariavel[]): string;
35
+ /**
36
+ * Renderiza o contrato para PDF (sem formatação HTML)
37
+ */
38
+ renderContratoParaPdf(texto: string, variaveis: KvEditorVariavel[], tipoVisualizacao: 'valor' | 'descricao'): string;
39
+ /**
40
+ * Filtra variáveis baseado no termo de busca
41
+ */
42
+ filtrarVariaveis(termo: string): KvEditorVariavel[];
43
+ static ɵfac: i0.ɵɵFactoryDeclaration<KvEditorRelatorioService, never>;
44
+ static ɵprov: i0.ɵɵInjectableDeclaration<KvEditorRelatorioService>;
45
+ }
@@ -0,0 +1,32 @@
1
+ export interface KvEditorRelatorio {
2
+ id: number;
3
+ label: string;
4
+ descricao: string;
5
+ modeloRelatorio: string;
6
+ variaveis: KvEditorVariavel[];
7
+ }
8
+ export interface KvEditorVariavel {
9
+ id: number;
10
+ descricao: string;
11
+ value: string;
12
+ cor?: string;
13
+ }
14
+ export interface KvEditorConfig {
15
+ contentType: 'html' | 'text';
16
+ readonly: boolean;
17
+ debug: boolean;
18
+ canvaHeigth: string;
19
+ }
20
+ export interface KvEditorEvents {
21
+ onTextChange: any;
22
+ onSelectionChange: any;
23
+ outputRaw: string;
24
+ outputHtml: string;
25
+ }
26
+ export interface KvEditorQuillConfig {
27
+ theme: string;
28
+ modules: any;
29
+ placeholder: string;
30
+ readOnly: boolean;
31
+ debug: boolean;
32
+ }
@@ -25,8 +25,14 @@ import * as i23 from "../kv-label/kv-label.module";
25
25
  import * as i24 from "../../api/modules/primeng.module";
26
26
  import * as i25 from "primeng/selectbutton";
27
27
  import * as i26 from "primeng/icons/timescircle";
28
+ import * as i27 from "../kv-button/kv-button.module";
29
+ import * as i28 from "../kv-tags/kv-tags.module";
30
+ import * as i29 from "primeng/progressspinner";
31
+ import * as i30 from "ngx-loading";
32
+ import * as i31 from "primeng/toast";
33
+ import * as i32 from "primeng/progressbar";
28
34
  export declare class KvInputsModule {
29
35
  static ɵfac: i0.ɵɵFactoryDeclaration<KvInputsModule, never>;
30
- static ɵmod: i0.ɵɵNgModuleDeclaration<KvInputsModule, [typeof i1.KvCheckComponent, typeof i2.KvDropdownComponent, typeof i3.KvEditorComponent, typeof i4.KvInputCalendarComponent, typeof i5.KvInputMaskComponent, typeof i6.KvInputNumberComponent, typeof i7.KvInputPasswordComponent, typeof i8.KvInputTextareaComponent, typeof i9.KvInputTextCheckboxComponent, typeof i10.KvInputTextComponent, typeof i11.KvInputTimeComponent, typeof i12.KvMultiSelectComponent, typeof i13.KvRadioGroupComponent, typeof i14.KvSwitchComponent, typeof i15.KvSelectButtonComponent, typeof i16.KvSelectButtonsComponent, typeof i17.KvTreeMultiSelectComponent, typeof i18.KvInputTextAddonComponent, typeof i19.KvInputNumberAddonComponent], [typeof i20.CommonModule, typeof i21.FormsModule, typeof i22.kvErrorModule, typeof i23.KvLabelModule, typeof i24.PrimeNgModule, typeof i21.ReactiveFormsModule, typeof i25.SelectButtonModule, typeof i26.TimesCircleIcon], [typeof i1.KvCheckComponent, typeof i2.KvDropdownComponent, typeof i3.KvEditorComponent, typeof i4.KvInputCalendarComponent, typeof i5.KvInputMaskComponent, typeof i6.KvInputNumberComponent, typeof i7.KvInputPasswordComponent, typeof i8.KvInputTextareaComponent, typeof i9.KvInputTextCheckboxComponent, typeof i10.KvInputTextComponent, typeof i11.KvInputTimeComponent, typeof i12.KvMultiSelectComponent, typeof i13.KvRadioGroupComponent, typeof i14.KvSwitchComponent, typeof i15.KvSelectButtonComponent, typeof i16.KvSelectButtonsComponent, typeof i17.KvTreeMultiSelectComponent, typeof i18.KvInputTextAddonComponent, typeof i19.KvInputNumberAddonComponent]>;
36
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KvInputsModule, [typeof i1.KvCheckComponent, typeof i2.KvDropdownComponent, typeof i3.KvEditorComponent, typeof i4.KvInputCalendarComponent, typeof i5.KvInputMaskComponent, typeof i6.KvInputNumberComponent, typeof i7.KvInputPasswordComponent, typeof i8.KvInputTextareaComponent, typeof i9.KvInputTextCheckboxComponent, typeof i10.KvInputTextComponent, typeof i11.KvInputTimeComponent, typeof i12.KvMultiSelectComponent, typeof i13.KvRadioGroupComponent, typeof i14.KvSwitchComponent, typeof i15.KvSelectButtonComponent, typeof i16.KvSelectButtonsComponent, typeof i17.KvTreeMultiSelectComponent, typeof i18.KvInputTextAddonComponent, typeof i19.KvInputNumberAddonComponent], [typeof i20.CommonModule, typeof i21.FormsModule, typeof i22.kvErrorModule, typeof i23.KvLabelModule, typeof i24.PrimeNgModule, typeof i21.ReactiveFormsModule, typeof i25.SelectButtonModule, typeof i26.TimesCircleIcon, typeof i27.KvButtonModule, typeof i28.KvTagsModule, typeof i29.ProgressSpinnerModule, typeof i30.NgxLoadingModule, typeof i31.ToastModule, typeof i32.ProgressBarModule], [typeof i1.KvCheckComponent, typeof i2.KvDropdownComponent, typeof i3.KvEditorComponent, typeof i4.KvInputCalendarComponent, typeof i5.KvInputMaskComponent, typeof i6.KvInputNumberComponent, typeof i7.KvInputPasswordComponent, typeof i8.KvInputTextareaComponent, typeof i9.KvInputTextCheckboxComponent, typeof i10.KvInputTextComponent, typeof i11.KvInputTimeComponent, typeof i12.KvMultiSelectComponent, typeof i13.KvRadioGroupComponent, typeof i14.KvSwitchComponent, typeof i15.KvSelectButtonComponent, typeof i16.KvSelectButtonsComponent, typeof i17.KvTreeMultiSelectComponent, typeof i18.KvInputTextAddonComponent, typeof i19.KvInputNumberAddonComponent]>;
31
37
  static ɵinj: i0.ɵɵInjectorDeclaration<KvInputsModule>;
32
38
  }
@@ -5,7 +5,7 @@ export declare class KvStepperComponent {
5
5
  panels: KvStepperPanel[];
6
6
  activeStep: number;
7
7
  orientation: import("@angular/core").InputSignal<"vertical" | "horizontal">;
8
- buttonsAlign: import("@angular/core").InputSignal<"center" | "start" | "end">;
8
+ buttonsAlign: import("@angular/core").InputSignal<"center" | "end" | "start">;
9
9
  linear: import("@angular/core").InputSignal<boolean>;
10
10
  activeStepChange: EventEmitter<number>;
11
11
  concluirCallback: EventEmitter<void>;
@@ -0,0 +1,8 @@
1
+ import { MenuItem } from 'primeng/api';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ActionsLoteFieldComponent {
4
+ selectedItems: import("@angular/core").InputSignal<any[]>;
5
+ actionsLote: import("@angular/core").InputSignal<MenuItem[] | undefined>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<ActionsLoteFieldComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<ActionsLoteFieldComponent, "actions-lote-field", never, { "selectedItems": { "alias": "selectedItems"; "required": false; "isSignal": true; }; "actionsLote": { "alias": "actionsLote"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8
+ }
@@ -0,0 +1,7 @@
1
+ import { MenuItem } from 'primeng/api';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ActionsRowMenuComponent {
4
+ actionsRow: import("@angular/core").InputSignal<MenuItem[] | undefined>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<ActionsRowMenuComponent, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<ActionsRowMenuComponent, "actions-row-menu", never, { "actionsRow": { "alias": "actionsRow"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7
+ }
@@ -0,0 +1,64 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import { TablePageEvent } from 'primeng/table';
3
+ import { CpfCnpjPipe, TelefonePipe, TemplateDirective } from 'projects/keevo-components/src/public-api';
4
+ import { MenuItem } from 'primeng/api';
5
+ import * as i0 from "@angular/core";
6
+ interface ColumnTableViewer {
7
+ field: string;
8
+ header: string;
9
+ width?: string;
10
+ icon?: (rowData: any) => string;
11
+ tag?: (rowData: any) => {
12
+ label: string;
13
+ severity: string;
14
+ icon: string;
15
+ };
16
+ pipe?: 'cpfcnpj' | 'telefone' | 'money' | undefined;
17
+ template?: {
18
+ name: string;
19
+ };
20
+ }
21
+ export declare class KvTableViewerComponent {
22
+ cpfCnpjPipe: CpfCnpjPipe;
23
+ telefonePipe: TelefonePipe;
24
+ columns: import("@angular/core").InputSignal<ColumnTableViewer[]>;
25
+ actionsRow: import("@angular/core").InputSignal<MenuItem[] | undefined>;
26
+ actionsHeader: import("@angular/core").InputSignal<MenuItem[] | undefined>;
27
+ actionsLote: import("@angular/core").InputSignal<MenuItem[] | undefined>;
28
+ data: import("@angular/core").InputSignal<any[]>;
29
+ totalRecords: import("@angular/core").InputSignal<number>;
30
+ loading: import("@angular/core").InputSignal<boolean>;
31
+ rows: import("@angular/core").InputSignal<number>;
32
+ rowsPerPageOptions: import("@angular/core").InputSignal<number[]>;
33
+ paginator: import("@angular/core").InputSignal<boolean>;
34
+ lazy: import("@angular/core").InputSignal<boolean>;
35
+ scrollable: import("@angular/core").InputSignal<boolean>;
36
+ pageLinks: import("@angular/core").InputSignal<number>;
37
+ currentPageReportTemplate: import("@angular/core").InputSignal<string>;
38
+ selectionPageOnly: import("@angular/core").InputSignal<boolean>;
39
+ selectableTable: import("@angular/core").InputSignal<boolean>;
40
+ showHeader: import("@angular/core").InputSignal<boolean>;
41
+ tableViewerSize: import("@angular/core").InputSignal<string>;
42
+ searchInput: import("@angular/core").InputSignal<boolean>;
43
+ filterButton: import("@angular/core").InputSignal<boolean>;
44
+ selectedItems: import("@angular/core").WritableSignal<any[]>;
45
+ selectedItem: import("@angular/core").WritableSignal<any>;
46
+ first: import("@angular/core").WritableSignal<number>;
47
+ onPageChange: import("@angular/core").OutputEmitterRef<TablePageEvent>;
48
+ onClickRowItem: import("@angular/core").OutputEmitterRef<any>;
49
+ onSelectItems: import("@angular/core").OutputEmitterRef<any[]>;
50
+ templates: import("@angular/core").Signal<readonly TemplateDirective[]>;
51
+ _templates: import("@angular/core").InputSignal<Record<string, TemplateRef<any>>>;
52
+ getCustomTemplate: import("@angular/core").Signal<(templatename: string) => TemplateRef<any> | null>;
53
+ hasSelectedItems: import("@angular/core").Signal<any>;
54
+ verifyItemSelecionado: import("@angular/core").Signal<(rowData: any) => any>;
55
+ transformData: import("@angular/core").Signal<(type: string, value: any) => any>;
56
+ handleTableSize: import("@angular/core").Signal<string>;
57
+ constructor();
58
+ handlePageChange(event: TablePageEvent): void;
59
+ rowSelect(rowData: any): void;
60
+ transformMoney(valor: number): string;
61
+ static ɵfac: i0.ɵɵFactoryDeclaration<KvTableViewerComponent, never>;
62
+ static ɵcmp: i0.ɵɵComponentDeclaration<KvTableViewerComponent, "kv-table-viewer", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "actionsRow": { "alias": "actionsRow"; "required": false; "isSignal": true; }; "actionsHeader": { "alias": "actionsHeader"; "required": false; "isSignal": true; }; "actionsLote": { "alias": "actionsLote"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "totalRecords": { "alias": "totalRecords"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "rowsPerPageOptions": { "alias": "rowsPerPageOptions"; "required": false; "isSignal": true; }; "paginator": { "alias": "paginator"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "scrollable": { "alias": "scrollable"; "required": false; "isSignal": true; }; "pageLinks": { "alias": "pageLinks"; "required": false; "isSignal": true; }; "currentPageReportTemplate": { "alias": "currentPageReportTemplate"; "required": false; "isSignal": true; }; "selectionPageOnly": { "alias": "selectionPageOnly"; "required": false; "isSignal": true; }; "selectableTable": { "alias": "selectableTable"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "tableViewerSize": { "alias": "tableViewerSize"; "required": false; "isSignal": true; }; "searchInput": { "alias": "searchInput"; "required": false; "isSignal": true; }; "filterButton": { "alias": "filterButton"; "required": false; "isSignal": true; }; "_templates": { "alias": "_templates"; "required": false; "isSignal": true; }; }, { "onPageChange": "onPageChange"; "onClickRowItem": "onClickRowItem"; "onSelectItems": "onSelectItems"; }, ["templates"], ["[filtro]", "[selectedItemHeader]", "[selectedItem]"], true, never>;
63
+ }
64
+ export {};
@@ -1,6 +1,6 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class KvTagComponent {
3
- severity: import("@angular/core").InputSignal<"danger" | "info" | "success" | "warn" | "system" | "contrast">;
3
+ severity: import("@angular/core").InputSignal<"info" | "success" | "warn" | "danger" | "system" | "contrast">;
4
4
  border: import("@angular/core").InputSignal<boolean>;
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<KvTagComponent, never>;
6
6
  static ɵcmp: i0.ɵɵComponentDeclaration<KvTagComponent, "kv-tag", never, { "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "border": { "alias": "border"; "required": false; "isSignal": true; }; }, {}, never, ["*"], false, never>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keevo-components",
3
- "version": "2.0.88",
3
+ "version": "2.0.90",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.8",
6
6
  "@angular/core": "^17.3.8",
@@ -10,14 +10,16 @@
10
10
  "chart.js": "^4.4.2",
11
11
  "d3": "^7.9.0",
12
12
  "d3-org-chart": "^3.1.1",
13
+ "html2canvas": "^1.4.1",
14
+ "jspdf": "^3.0.1",
15
+ "ng2-pdf-viewer": "^10.2.2",
16
+ "ngx-image-cropper": "^8.1.0",
13
17
  "ngx-loading": "^17.0.0",
14
18
  "primeflex": "^3.3.1",
15
19
  "primeicons": "^7.0.0",
16
20
  "primeng": "17.17.0",
17
21
  "quill": "^2.0.2",
18
- "vkbeautify": "^0.99.3",
19
- "ng2-pdf-viewer": "^10.2.2",
20
- "ngx-image-cropper": "^8.1.0"
22
+ "vkbeautify": "^0.99.3"
21
23
  },
22
24
  "dependencies": {
23
25
  "tslib": "^2.3.0"
package/public-api.d.ts CHANGED
@@ -133,6 +133,10 @@ export * from './lib/components/kv-tree-table/kv-tree-table.module';
133
133
  */
134
134
  export * from './lib/components/kv-table-expandable/kv-table-expandable.component';
135
135
  export * from './lib/components/kv-table-expandable/kv-table-expandable.module';
136
+ /**
137
+ * Table Expandable
138
+ */
139
+ export * from './lib/components/kv-table-viewer/kv-table-viewer.component';
136
140
  /**
137
141
  * Treeview
138
142
  */