keevo-components 2.0.231 → 2.0.233
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/keevo-components.module.mjs +12 -6
- package/esm2022/lib/components/kv-card-message/kv-card-message.component.mjs +85 -0
- package/esm2022/lib/components/kv-kanban/kv-kanban.component.mjs +8 -4
- package/esm2022/public-api.mjs +5 -1
- package/fesm2022/keevo-components.mjs +99 -9
- package/fesm2022/keevo-components.mjs.map +1 -1
- package/lib/components/keevo-components.module.d.ts +3 -2
- package/lib/components/kv-button/kv-button.component.d.ts +1 -1
- package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +1 -1
- package/lib/components/kv-card-message/kv-card-message.component.d.ts +51 -0
- package/lib/components/kv-kanban/kv-kanban.component.d.ts +2 -1
- package/lib/components/kv-table/kv-table.component.d.ts +1 -1
- package/lib/components/kv-table-draggable/kv-table-draggable.component.d.ts +1 -1
- package/lib/components/kv-table-expandable/kv-table-expandable.component.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +4 -0
|
@@ -78,6 +78,7 @@ import * as i5$7 from 'primeng/inputtextarea';
|
|
|
78
78
|
import { InputTextareaModule } from 'primeng/inputtextarea';
|
|
79
79
|
import { KnobModule } from 'primeng/knob';
|
|
80
80
|
import { MessageModule } from 'primeng/message';
|
|
81
|
+
import * as i1$8 from 'primeng/messages';
|
|
81
82
|
import { MessagesModule } from 'primeng/messages';
|
|
82
83
|
import * as i8$2 from 'primeng/multiselect';
|
|
83
84
|
import { MultiSelectModule, MultiSelect } from 'primeng/multiselect';
|
|
@@ -11966,6 +11967,86 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
11966
11967
|
}]
|
|
11967
11968
|
}] });
|
|
11968
11969
|
|
|
11970
|
+
/**
|
|
11971
|
+
* Componente para exibição de mensagens em formato de card.
|
|
11972
|
+
*
|
|
11973
|
+
* O componente `kv-card-message` permite renderizar mensagens com diferentes níveis de severidade,
|
|
11974
|
+
* podendo exibir mensagens simples ou listas de mensagens.
|
|
11975
|
+
*
|
|
11976
|
+
* @example
|
|
11977
|
+
* ```html
|
|
11978
|
+
* <kv-card-message [severity]="'success'" [message]="'Operação realizada com sucesso!'"></kv-card-message>
|
|
11979
|
+
*
|
|
11980
|
+
* <kv-card-message [severity]="'error'" [message]="['Erro 1', 'Erro 2', 'Erro 3']"></kv-card-message>
|
|
11981
|
+
* ```
|
|
11982
|
+
*
|
|
11983
|
+
* @input severity - Define o nível de severidade da mensagem ('info' | 'success' | 'warn' | 'error')
|
|
11984
|
+
* @input message - Mensagem a ser exibida (pode ser string única ou array de strings)
|
|
11985
|
+
*/
|
|
11986
|
+
class KvCardMessageComponent {
|
|
11987
|
+
constructor() {
|
|
11988
|
+
/**
|
|
11989
|
+
* Define o nível de severidade da mensagem
|
|
11990
|
+
* @default 'info'
|
|
11991
|
+
*/
|
|
11992
|
+
this.severity = 'info';
|
|
11993
|
+
/**
|
|
11994
|
+
* Array de mensagens do PrimeNG
|
|
11995
|
+
*/
|
|
11996
|
+
this.messages = [];
|
|
11997
|
+
}
|
|
11998
|
+
ngOnInit() {
|
|
11999
|
+
this.buildMessages();
|
|
12000
|
+
}
|
|
12001
|
+
/**
|
|
12002
|
+
* Constrói o array de mensagens para o PrimeNG
|
|
12003
|
+
*/
|
|
12004
|
+
buildMessages() {
|
|
12005
|
+
if (this.isMessageArray()) {
|
|
12006
|
+
this.messages = this.message.map(msg => ({
|
|
12007
|
+
severity: this.severity,
|
|
12008
|
+
detail: msg
|
|
12009
|
+
}));
|
|
12010
|
+
}
|
|
12011
|
+
else {
|
|
12012
|
+
this.messages = [{
|
|
12013
|
+
severity: this.severity,
|
|
12014
|
+
detail: this.message
|
|
12015
|
+
}];
|
|
12016
|
+
}
|
|
12017
|
+
}
|
|
12018
|
+
/**
|
|
12019
|
+
* Verifica se a mensagem é um array
|
|
12020
|
+
* @returns true se message for um array, false caso contrário
|
|
12021
|
+
*/
|
|
12022
|
+
isMessageArray() {
|
|
12023
|
+
return Array.isArray(this.message);
|
|
12024
|
+
}
|
|
12025
|
+
/**
|
|
12026
|
+
* Retorna o ícone apropriado baseado na severidade
|
|
12027
|
+
* @returns Nome do ícone material
|
|
12028
|
+
*/
|
|
12029
|
+
getIcon() {
|
|
12030
|
+
const icons = {
|
|
12031
|
+
info: 'info',
|
|
12032
|
+
success: 'check_circle',
|
|
12033
|
+
warn: 'warning',
|
|
12034
|
+
error: 'cancel'
|
|
12035
|
+
};
|
|
12036
|
+
return icons[this.severity] || 'info';
|
|
12037
|
+
}
|
|
12038
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvCardMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12039
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvCardMessageComponent, isStandalone: true, selector: "kv-card-message", inputs: { severity: "severity", message: "message" }, ngImport: i0, template: "<p-messages\r\n [value]=\"messages\"\r\n [closable]=\"false\">\r\n <ng-template pTemplate let-message>\r\n <div class=\"flex align-items-start\">\r\n <span class=\"material-symbols-outlined mr-2\">{{ getIcon() }}</span>\r\n <span>{{ message.detail }}</span>\r\n </div>\r\n </ng-template>\r\n</p-messages>\r\n", styles: ["::ng-deep .p-message .p-message-wrapper{padding:.5rem 1.5rem!important}::ng-deep .p-message .p-message-wrapper p{margin:0;padding:0;font-size:.9rem}::ng-deep .p-message .p-message-wrapper ul{margin:0;padding-left:1.2rem;list-style-type:disc}::ng-deep .p-message .p-message-wrapper ul li{margin:0;padding:0;font-size:.9rem}::ng-deep .p-message{margin:0;padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i1$8.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }] }); }
|
|
12040
|
+
}
|
|
12041
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvCardMessageComponent, decorators: [{
|
|
12042
|
+
type: Component,
|
|
12043
|
+
args: [{ selector: 'kv-card-message', standalone: true, imports: [CommonModule, MessagesModule], template: "<p-messages\r\n [value]=\"messages\"\r\n [closable]=\"false\">\r\n <ng-template pTemplate let-message>\r\n <div class=\"flex align-items-start\">\r\n <span class=\"material-symbols-outlined mr-2\">{{ getIcon() }}</span>\r\n <span>{{ message.detail }}</span>\r\n </div>\r\n </ng-template>\r\n</p-messages>\r\n", styles: ["::ng-deep .p-message .p-message-wrapper{padding:.5rem 1.5rem!important}::ng-deep .p-message .p-message-wrapper p{margin:0;padding:0;font-size:.9rem}::ng-deep .p-message .p-message-wrapper ul{margin:0;padding-left:1.2rem;list-style-type:disc}::ng-deep .p-message .p-message-wrapper ul li{margin:0;padding:0;font-size:.9rem}::ng-deep .p-message{margin:0;padding:0}\n"] }]
|
|
12044
|
+
}], propDecorators: { severity: [{
|
|
12045
|
+
type: Input
|
|
12046
|
+
}], message: [{
|
|
12047
|
+
type: Input
|
|
12048
|
+
}] } });
|
|
12049
|
+
|
|
11969
12050
|
class KeevoComponentsModule {
|
|
11970
12051
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KeevoComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11971
12052
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: KeevoComponentsModule, imports: [KvAvatarModule,
|
|
@@ -11999,7 +12080,8 @@ class KeevoComponentsModule {
|
|
|
11999
12080
|
KvConfirmationModalModule,
|
|
12000
12081
|
KvFilterCardsModule,
|
|
12001
12082
|
SkeletonModule,
|
|
12002
|
-
KvTableDraggableModule
|
|
12083
|
+
KvTableDraggableModule,
|
|
12084
|
+
KvCardMessageComponent], exports: [KvAvatarModule,
|
|
12003
12085
|
KvButtonsModule,
|
|
12004
12086
|
KvButtonModule,
|
|
12005
12087
|
KvCarouselModule,
|
|
@@ -12030,7 +12112,8 @@ class KeevoComponentsModule {
|
|
|
12030
12112
|
KvTagModule,
|
|
12031
12113
|
KvConfirmationModalModule,
|
|
12032
12114
|
KvFilterCardsModule,
|
|
12033
|
-
KvTableDraggableModule
|
|
12115
|
+
KvTableDraggableModule,
|
|
12116
|
+
KvCardMessageComponent] }); }
|
|
12034
12117
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KeevoComponentsModule, imports: [KvAvatarModule,
|
|
12035
12118
|
KvButtonsModule,
|
|
12036
12119
|
KvButtonModule,
|
|
@@ -12062,7 +12145,8 @@ class KeevoComponentsModule {
|
|
|
12062
12145
|
KvConfirmationModalModule,
|
|
12063
12146
|
KvFilterCardsModule,
|
|
12064
12147
|
SkeletonModule,
|
|
12065
|
-
KvTableDraggableModule,
|
|
12148
|
+
KvTableDraggableModule,
|
|
12149
|
+
KvCardMessageComponent, KvAvatarModule,
|
|
12066
12150
|
KvButtonsModule,
|
|
12067
12151
|
KvButtonModule,
|
|
12068
12152
|
KvCarouselModule,
|
|
@@ -12131,7 +12215,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
12131
12215
|
KvConfirmationModalModule,
|
|
12132
12216
|
KvFilterCardsModule,
|
|
12133
12217
|
SkeletonModule,
|
|
12134
|
-
KvTableDraggableModule
|
|
12218
|
+
KvTableDraggableModule,
|
|
12219
|
+
KvCardMessageComponent
|
|
12135
12220
|
],
|
|
12136
12221
|
exports: [
|
|
12137
12222
|
KvAvatarModule,
|
|
@@ -12165,7 +12250,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
12165
12250
|
KvTagModule,
|
|
12166
12251
|
KvConfirmationModalModule,
|
|
12167
12252
|
KvFilterCardsModule,
|
|
12168
|
-
KvTableDraggableModule
|
|
12253
|
+
KvTableDraggableModule,
|
|
12254
|
+
KvCardMessageComponent
|
|
12169
12255
|
],
|
|
12170
12256
|
}]
|
|
12171
12257
|
}] });
|
|
@@ -14187,6 +14273,7 @@ class KvKanbanComponent {
|
|
|
14187
14273
|
this.columnLists = input([]);
|
|
14188
14274
|
this.cardTemplate = input(null);
|
|
14189
14275
|
this.showColumnsCounter = input(true);
|
|
14276
|
+
this.enableDrag = input(true);
|
|
14190
14277
|
this.onCardMoved = output();
|
|
14191
14278
|
this.onActionClicked = output();
|
|
14192
14279
|
this.onLoadMoreCards = output();
|
|
@@ -14235,7 +14322,10 @@ class KvKanbanComponent {
|
|
|
14235
14322
|
getActionsForCard(card) {
|
|
14236
14323
|
return this.actions().map(action => ({
|
|
14237
14324
|
...action,
|
|
14238
|
-
command: () => {
|
|
14325
|
+
command: (event) => {
|
|
14326
|
+
if (action.command) {
|
|
14327
|
+
action.command(event);
|
|
14328
|
+
}
|
|
14239
14329
|
if (action.label) {
|
|
14240
14330
|
this.onActionClick(action.label, card);
|
|
14241
14331
|
}
|
|
@@ -14249,11 +14339,11 @@ class KvKanbanComponent {
|
|
|
14249
14339
|
return `1 1 calc((100% - ${(totalColumns - 1) * 16}px) / ${totalColumns})`;
|
|
14250
14340
|
}
|
|
14251
14341
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvKanbanComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14252
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvKanbanComponent, isStandalone: true, selector: "kv-kanban", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, columnConfigs: { classPropertyName: "columnConfigs", publicName: "columnConfigs", isSignal: true, isRequired: false, transformFunction: null }, columnLists: { classPropertyName: "columnLists", publicName: "columnLists", isSignal: true, isRequired: false, transformFunction: null }, cardTemplate: { classPropertyName: "cardTemplate", publicName: "cardTemplate", isSignal: true, isRequired: false, transformFunction: null }, showColumnsCounter: { classPropertyName: "showColumnsCounter", publicName: "showColumnsCounter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCardMoved: "onCardMoved", onActionClicked: "onActionClicked", onLoadMoreCards: "onLoadMoreCards", onSelectedCard: "onSelectedCard" }, viewQueries: [{ propertyName: "sharedMenu", first: true, predicate: ["sharedMenu"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"flex w-full h-full\">\r\n <div class=\"board-wrapper flex-column lg:flex-row\" cdkDropListGroup>\r\n \r\n @for(config of columnConfigs(); track $index) {\r\n\r\n <div class=\"board-column\" [style.flex]=\"getColumnFlex()\">\r\n \r\n <div class=\"column-header\" [style.backgroundColor]=\"config.corTitulo\">\r\n <span class=\"text-base font-semibold\">{{ config.nome }}</span>\r\n @if(this.showColumnsCounter()) {\r\n <span class=\"column-count-badge px-2 py-1\" [style.color]=\"config.corTitulo\">{{ config.contador | number:'2.0' }}</span>\r\n }\r\n </div>\r\n\r\n <div \r\n class=\"column-content\"\r\n cdkDropList\r\n [id]=\"config.id.toString()\"\r\n [cdkDropListData]=\"getColumnList()(config.id)\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n (scroll)=\"onScroll($event, config.id)\">\r\n\r\n\r\n @for(item of getColumnList()(config.id); track $index) {\r\n \r\n <div class=\"kanban-card\" cdkDrag>\r\n\r\n @if(actions().length > 0) {\r\n <span class=\"material-symbols-outlined card-menu-btn text-xl text-black-alpha-50 hover:surface-200 border-round-lg\" (click)=\"openCardMenu($event, item)\">\r\n more_vert\r\n </span>\r\n }\r\n \r\n\r\n @if (item.status) {\r\n <div class=\"card-header mt-1\"> <span class=\"status-tag text-xs border-round-3xl py-1 px-2\" \r\n [style.backgroundColor]=\"item.statusColor\"\r\n [style.color]=\"item.statusLabelColor\">\r\n {{ item.status }}\r\n </span>\r\n </div>\r\n }\r\n\r\n <div class=\"card-body ml-1\">\r\n <p class=\"p-0 m-0 text-sm text-black-alpha-70 font-semibold mb-2 pr-4\">\r\n {{ item.titulo }}\r\n </p>\r\n \r\n <ng-container [ngTemplateOutlet]=\"cardTemplate()\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\r\n </div>\r\n\r\n <div *cdkDragPlaceholder class=\"custom-placeholder\"></div>\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n <div class=\"column-footer text-xs text-black-alpha-80\">\r\n Ver {{ getColumnList()(config.id).length }} de {{ config.contador }}\r\n </div>\r\n\r\n </div>\r\n\r\n }\r\n\r\n </div>\r\n</div>\r\n\r\n<p-menu #sharedMenu [model]=\"currentMenuOptions\" [popup]=\"true\" appendTo=\"body\"></p-menu>", styles: [".board-wrapper{display:flex;flex:1 1 0%;gap:16px;overflow-x:auto;padding:20px;height:100
|
|
14342
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvKanbanComponent, isStandalone: true, selector: "kv-kanban", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, columnConfigs: { classPropertyName: "columnConfigs", publicName: "columnConfigs", isSignal: true, isRequired: false, transformFunction: null }, columnLists: { classPropertyName: "columnLists", publicName: "columnLists", isSignal: true, isRequired: false, transformFunction: null }, cardTemplate: { classPropertyName: "cardTemplate", publicName: "cardTemplate", isSignal: true, isRequired: false, transformFunction: null }, showColumnsCounter: { classPropertyName: "showColumnsCounter", publicName: "showColumnsCounter", isSignal: true, isRequired: false, transformFunction: null }, enableDrag: { classPropertyName: "enableDrag", publicName: "enableDrag", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCardMoved: "onCardMoved", onActionClicked: "onActionClicked", onLoadMoreCards: "onLoadMoreCards", onSelectedCard: "onSelectedCard" }, viewQueries: [{ propertyName: "sharedMenu", first: true, predicate: ["sharedMenu"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"flex w-full h-full\">\r\n <div class=\"board-wrapper flex-column lg:flex-row\" cdkDropListGroup>\r\n \r\n @for(config of columnConfigs(); track $index) {\r\n\r\n <div class=\"board-column\" [style.flex]=\"getColumnFlex()\">\r\n \r\n <div class=\"column-header\" [style.backgroundColor]=\"config.corTitulo\">\r\n <span class=\"text-base font-semibold\">{{ config.nome }}</span>\r\n @if(this.showColumnsCounter()) {\r\n <span class=\"column-count-badge px-2 py-1\" [style.color]=\"config.corTitulo\">{{ config.contador | number:'2.0' }}</span>\r\n }\r\n </div>\r\n\r\n <div \r\n class=\"column-content\"\r\n cdkDropList\r\n [id]=\"config.id.toString()\"\r\n [cdkDropListData]=\"getColumnList()(config.id)\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n (scroll)=\"onScroll($event, config.id)\">\r\n\r\n\r\n @for(item of getColumnList()(config.id); track $index) {\r\n \r\n <div class=\"kanban-card\" cdkDrag [cdkDragDisabled]=\"!enableDrag()\">\r\n\r\n @if(actions().length > 0) {\r\n <span class=\"material-symbols-outlined card-menu-btn text-xl text-black-alpha-50 hover:surface-200 border-round-lg\" (click)=\"openCardMenu($event, item)\">\r\n more_vert\r\n </span>\r\n }\r\n \r\n\r\n @if (item.status) {\r\n <div class=\"card-header mt-1\"> <span class=\"status-tag text-xs border-round-3xl py-1 px-2\" \r\n [style.backgroundColor]=\"item.statusColor\"\r\n [style.color]=\"item.statusLabelColor\">\r\n {{ item.status }}\r\n </span>\r\n </div>\r\n }\r\n\r\n <div class=\"card-body ml-1\">\r\n <p class=\"p-0 m-0 text-sm text-black-alpha-70 font-semibold mb-2 pr-4\">\r\n {{ item.titulo }}\r\n </p>\r\n \r\n <ng-container [ngTemplateOutlet]=\"cardTemplate()\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\r\n </div>\r\n\r\n <div *cdkDragPlaceholder class=\"custom-placeholder\"></div>\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n <div class=\"column-footer text-xs text-black-alpha-80\">\r\n Ver {{ getColumnList()(config.id).length }} de {{ config.contador }}\r\n </div>\r\n\r\n </div>\r\n\r\n }\r\n\r\n </div>\r\n</div>\r\n\r\n<p-menu #sharedMenu [model]=\"currentMenuOptions\" [popup]=\"true\" appendTo=\"body\"></p-menu>", styles: [".board-wrapper{display:flex;flex:1 1 0%;gap:16px;overflow-x:auto;padding:20px;height:100%;min-height:0}.board-column{display:flex;flex-direction:column;background-color:#f0f2f5;border-radius:18px;min-width:280px;overflow:visible;min-height:400px;max-height:600px}@media (min-width: 1024px){.board-column{height:100%;max-height:100%;min-height:0}}.column-header{padding:10px 20px;margin:7px;border-radius:18px;color:#fff;display:flex;justify-content:space-between;align-items:center;font-weight:600;gap:8px}.column-header span:first-child{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.column-header .column-count-badge{background-color:#ffffffe6;border-radius:12px;font-size:.85rem;font-weight:700;flex-shrink:0}.column-content{flex:1 1 0;overflow-y:auto;overflow-x:visible;padding:12px;min-height:0}.column-content::-webkit-scrollbar{width:6px}.column-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.kanban-card{background:#fff;border-radius:16px;padding:12px;margin-bottom:8px;box-shadow:0 4px 6px #0000001a;cursor:grab;transition:box-shadow .2s;position:relative}.kanban-card:active{cursor:grabbing}.kanban-card:hover{box-shadow:0 4px 8px #0000001a}.kanban-card.cdk-drag-disabled,.kanban-card.cdk-drag-disabled:active{cursor:default}.card-header{display:flex;margin-bottom:8px}.card-menu-btn{position:absolute;top:12px;right:8px;cursor:pointer;z-index:10;-webkit-user-select:none;user-select:none}.column-footer{padding:10px;text-align:center}.cdk-drag-preview{box-sizing:border-box;border-radius:8px;box-shadow:0 5px 15px #0003;background:#fff}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.column-content.cdk-drop-list-dragging .kanban-card:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}::ng-deep .p-menu{scale:.8;z-index:1000!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i2$3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2$3.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i2$3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2$3.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "ngmodule", type: MenuModule }, { kind: "component", type: i2.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }] }); }
|
|
14253
14343
|
}
|
|
14254
14344
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvKanbanComponent, decorators: [{
|
|
14255
14345
|
type: Component,
|
|
14256
|
-
args: [{ standalone: true, selector: 'kv-kanban', imports: [CommonModule, DragDropModule, MenuModule], template: "<div class=\"flex w-full h-full\">\r\n <div class=\"board-wrapper flex-column lg:flex-row\" cdkDropListGroup>\r\n \r\n @for(config of columnConfigs(); track $index) {\r\n\r\n <div class=\"board-column\" [style.flex]=\"getColumnFlex()\">\r\n \r\n <div class=\"column-header\" [style.backgroundColor]=\"config.corTitulo\">\r\n <span class=\"text-base font-semibold\">{{ config.nome }}</span>\r\n @if(this.showColumnsCounter()) {\r\n <span class=\"column-count-badge px-2 py-1\" [style.color]=\"config.corTitulo\">{{ config.contador | number:'2.0' }}</span>\r\n }\r\n </div>\r\n\r\n <div \r\n class=\"column-content\"\r\n cdkDropList\r\n [id]=\"config.id.toString()\"\r\n [cdkDropListData]=\"getColumnList()(config.id)\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n (scroll)=\"onScroll($event, config.id)\">\r\n\r\n\r\n @for(item of getColumnList()(config.id); track $index) {\r\n \r\n <div class=\"kanban-card\" cdkDrag>\r\n\r\n @if(actions().length > 0) {\r\n <span class=\"material-symbols-outlined card-menu-btn text-xl text-black-alpha-50 hover:surface-200 border-round-lg\" (click)=\"openCardMenu($event, item)\">\r\n more_vert\r\n </span>\r\n }\r\n \r\n\r\n @if (item.status) {\r\n <div class=\"card-header mt-1\"> <span class=\"status-tag text-xs border-round-3xl py-1 px-2\" \r\n [style.backgroundColor]=\"item.statusColor\"\r\n [style.color]=\"item.statusLabelColor\">\r\n {{ item.status }}\r\n </span>\r\n </div>\r\n }\r\n\r\n <div class=\"card-body ml-1\">\r\n <p class=\"p-0 m-0 text-sm text-black-alpha-70 font-semibold mb-2 pr-4\">\r\n {{ item.titulo }}\r\n </p>\r\n \r\n <ng-container [ngTemplateOutlet]=\"cardTemplate()\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\r\n </div>\r\n\r\n <div *cdkDragPlaceholder class=\"custom-placeholder\"></div>\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n <div class=\"column-footer text-xs text-black-alpha-80\">\r\n Ver {{ getColumnList()(config.id).length }} de {{ config.contador }}\r\n </div>\r\n\r\n </div>\r\n\r\n }\r\n\r\n </div>\r\n</div>\r\n\r\n<p-menu #sharedMenu [model]=\"currentMenuOptions\" [popup]=\"true\" appendTo=\"body\"></p-menu>", styles: [".board-wrapper{display:flex;flex:1 1 0%;gap:16px;overflow-x:auto;padding:20px;height:100
|
|
14346
|
+
args: [{ standalone: true, selector: 'kv-kanban', imports: [CommonModule, DragDropModule, MenuModule], template: "<div class=\"flex w-full h-full\">\r\n <div class=\"board-wrapper flex-column lg:flex-row\" cdkDropListGroup>\r\n \r\n @for(config of columnConfigs(); track $index) {\r\n\r\n <div class=\"board-column\" [style.flex]=\"getColumnFlex()\">\r\n \r\n <div class=\"column-header\" [style.backgroundColor]=\"config.corTitulo\">\r\n <span class=\"text-base font-semibold\">{{ config.nome }}</span>\r\n @if(this.showColumnsCounter()) {\r\n <span class=\"column-count-badge px-2 py-1\" [style.color]=\"config.corTitulo\">{{ config.contador | number:'2.0' }}</span>\r\n }\r\n </div>\r\n\r\n <div \r\n class=\"column-content\"\r\n cdkDropList\r\n [id]=\"config.id.toString()\"\r\n [cdkDropListData]=\"getColumnList()(config.id)\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n (scroll)=\"onScroll($event, config.id)\">\r\n\r\n\r\n @for(item of getColumnList()(config.id); track $index) {\r\n \r\n <div class=\"kanban-card\" cdkDrag [cdkDragDisabled]=\"!enableDrag()\">\r\n\r\n @if(actions().length > 0) {\r\n <span class=\"material-symbols-outlined card-menu-btn text-xl text-black-alpha-50 hover:surface-200 border-round-lg\" (click)=\"openCardMenu($event, item)\">\r\n more_vert\r\n </span>\r\n }\r\n \r\n\r\n @if (item.status) {\r\n <div class=\"card-header mt-1\"> <span class=\"status-tag text-xs border-round-3xl py-1 px-2\" \r\n [style.backgroundColor]=\"item.statusColor\"\r\n [style.color]=\"item.statusLabelColor\">\r\n {{ item.status }}\r\n </span>\r\n </div>\r\n }\r\n\r\n <div class=\"card-body ml-1\">\r\n <p class=\"p-0 m-0 text-sm text-black-alpha-70 font-semibold mb-2 pr-4\">\r\n {{ item.titulo }}\r\n </p>\r\n \r\n <ng-container [ngTemplateOutlet]=\"cardTemplate()\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\r\n </div>\r\n\r\n <div *cdkDragPlaceholder class=\"custom-placeholder\"></div>\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n <div class=\"column-footer text-xs text-black-alpha-80\">\r\n Ver {{ getColumnList()(config.id).length }} de {{ config.contador }}\r\n </div>\r\n\r\n </div>\r\n\r\n }\r\n\r\n </div>\r\n</div>\r\n\r\n<p-menu #sharedMenu [model]=\"currentMenuOptions\" [popup]=\"true\" appendTo=\"body\"></p-menu>", styles: [".board-wrapper{display:flex;flex:1 1 0%;gap:16px;overflow-x:auto;padding:20px;height:100%;min-height:0}.board-column{display:flex;flex-direction:column;background-color:#f0f2f5;border-radius:18px;min-width:280px;overflow:visible;min-height:400px;max-height:600px}@media (min-width: 1024px){.board-column{height:100%;max-height:100%;min-height:0}}.column-header{padding:10px 20px;margin:7px;border-radius:18px;color:#fff;display:flex;justify-content:space-between;align-items:center;font-weight:600;gap:8px}.column-header span:first-child{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.column-header .column-count-badge{background-color:#ffffffe6;border-radius:12px;font-size:.85rem;font-weight:700;flex-shrink:0}.column-content{flex:1 1 0;overflow-y:auto;overflow-x:visible;padding:12px;min-height:0}.column-content::-webkit-scrollbar{width:6px}.column-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.kanban-card{background:#fff;border-radius:16px;padding:12px;margin-bottom:8px;box-shadow:0 4px 6px #0000001a;cursor:grab;transition:box-shadow .2s;position:relative}.kanban-card:active{cursor:grabbing}.kanban-card:hover{box-shadow:0 4px 8px #0000001a}.kanban-card.cdk-drag-disabled,.kanban-card.cdk-drag-disabled:active{cursor:default}.card-header{display:flex;margin-bottom:8px}.card-menu-btn{position:absolute;top:12px;right:8px;cursor:pointer;z-index:10;-webkit-user-select:none;user-select:none}.column-footer{padding:10px;text-align:center}.cdk-drag-preview{box-sizing:border-box;border-radius:8px;box-shadow:0 5px 15px #0003;background:#fff}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.column-content.cdk-drop-list-dragging .kanban-card:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}::ng-deep .p-menu{scale:.8;z-index:1000!important}\n"] }]
|
|
14257
14347
|
}] });
|
|
14258
14348
|
|
|
14259
14349
|
/*
|
|
@@ -14268,5 +14358,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
14268
14358
|
* Generated bundle index. Do not edit.
|
|
14269
14359
|
*/
|
|
14270
14360
|
|
|
14271
|
-
export { BaseApiService, BaseChartComponent, BaseComponent, BaseComponentButton, BaseComponentCrud, BaseComponentCrudForm, BaseComponentCrudList, BaseComponentDropDown, BaseComponentDropDownExternal, BaseComponentInput, BaseComponentMultiSelect, BasecomponentTable, BreadcrumbsService, CDN_URLS, CUSTOM_FONTS, CapitalizePipe, ChatService, ComponentProviders, ComponentService, CpfCnpjPipe, DEBOUNCE_TIME, DEFAULT_KV_EDITOR_CONFIG, DEFAULT_QUILL_CONFIG, DocsService, DragDirective, DynamicInputDirective, ERROR_MESSAGES, EnumUtils, FONT_SIZES, FormService, ImageCutterService, ImagensService, KeevoComponentsModule, KeevoValidators, KvAvatarComponent, KvAvatarModule, KvButtonComponent, KvButtonModule, KvButtonPersonalizeComponent, KvButtonPopupComponent, KvButtonSecondaryComponent, KvButtonSuccessComponent, KvButtonsModule, KvCardSelectionComponent, KvCardSelectionModule, KvCarouselComponent, KvCarouselModule, KvChartComponent, KvChartModule, KvCheckComponent, KvConfirmationModalComponent, KvConfirmationModalModule, KvContentViewerComponent, KvContentViewerModule, KvDetailedListComponent, KvDropdownComponent, KvEditorComponent, KvEditorMentionService, KvEditorPdfService, KvEditorQuillService, KvEditorRelatorioService, KvErrorComponent, KvFileUploadComponent, KvFileUploadModule, KvFileViewerComponent, KvFileViewerModule, KvFileViewerNovoComponent, KvFileViewerNovoModule, KvFilterCardComponent, KvFilterCardModule, KvFilterCardsComponent, KvFilterCardsModule, KvFilterFieldsetComponent, KvFilterFieldsetModule, KvGIconComponent, KvGIconModule, KvHomeCardComponent, KvHomeCardModule, KvIconComponent, KvIconModule, KvImageUploadComponent, KvImageUploadModule, KvInputCalendarComponent, KvInputMaskComponent, KvInputNumberAddonComponent, KvInputNumberComponent, KvInputPasswordComponent, KvInputTextAddonComponent, KvInputTextCheckboxComponent, KvInputTextComponent, KvInputTextareaComponent, KvInputTimeComponent, KvInputsModule, KvKanbanComponent, KvLayoutComponent, KvLayoutModule, KvLoaderComponent, KvLoaderModule, KvLoaderService, KvLoginComponent, KvLoginModule, KvModalComponent, KvModalModule, KvMultiSelectComponent, KvOrgchartComponent, KvOrgchartModule, KvPageFormComponent, KvPageFormModule, KvPageStepperComponent, KvPageStepperodule, KvPickListComponent, KvPickListModule, KvProgressBarAlternativeComponent, KvProgressBarAlternativeModule, KvProgressBarModule, KvRadioGroupComponent, KvReportComponent, KvReportModule, KvSelectButtonComponent, KvSelectButtonsComponent, KvStackedBarChartComponent, KvStepperComponent, KvStepperModule, KvStepsComponent, KvSwitchComponent, KvTableComponent, KvTableDraggableComponent, KvTableDraggableModule, KvTableEditComponent, KvTableEditModule, KvTableExpandableComponent, KvTableExpandableModule, KvTableModule, KvTableViewerComponent, KvTagComponent, KvTagModule, KvTagsComponent, KvTagsModule, KvTimelineComponent, KvTreeEnvironmentComponent, KvTreeMultiSelectComponent, KvTreeViewComponent, KvTreetableComponent, KvTreetableModule, KvWidgetCardComponent, KvWorkspaceModule, KvtreeViewModule, MaskPipe, NoArvoreComponent, NotificationService, ObjectService, OrgChartService, PDF_STYLES, PeriodosChart, PipesModule, PrimeNgModule, ProgressBarComponent, TIMEOUTS, TablePaginate, TelefonePipe, TemplateDirective, TranslatePrimeng, WorkspaceComponent, getOrExecute, kvErrorModule, loading, mapToMenuItem, mapaSeverityColors };
|
|
14361
|
+
export { BaseApiService, BaseChartComponent, BaseComponent, BaseComponentButton, BaseComponentCrud, BaseComponentCrudForm, BaseComponentCrudList, BaseComponentDropDown, BaseComponentDropDownExternal, BaseComponentInput, BaseComponentMultiSelect, BasecomponentTable, BreadcrumbsService, CDN_URLS, CUSTOM_FONTS, CapitalizePipe, ChatService, ComponentProviders, ComponentService, CpfCnpjPipe, DEBOUNCE_TIME, DEFAULT_KV_EDITOR_CONFIG, DEFAULT_QUILL_CONFIG, DocsService, DragDirective, DynamicInputDirective, ERROR_MESSAGES, EnumUtils, FONT_SIZES, FormService, ImageCutterService, ImagensService, KeevoComponentsModule, KeevoValidators, KvAvatarComponent, KvAvatarModule, KvButtonComponent, KvButtonModule, KvButtonPersonalizeComponent, KvButtonPopupComponent, KvButtonSecondaryComponent, KvButtonSuccessComponent, KvButtonsModule, KvCardMessageComponent, KvCardSelectionComponent, KvCardSelectionModule, KvCarouselComponent, KvCarouselModule, KvChartComponent, KvChartModule, KvCheckComponent, KvConfirmationModalComponent, KvConfirmationModalModule, KvContentViewerComponent, KvContentViewerModule, KvDetailedListComponent, KvDropdownComponent, KvEditorComponent, KvEditorMentionService, KvEditorPdfService, KvEditorQuillService, KvEditorRelatorioService, KvErrorComponent, KvFileUploadComponent, KvFileUploadModule, KvFileViewerComponent, KvFileViewerModule, KvFileViewerNovoComponent, KvFileViewerNovoModule, KvFilterCardComponent, KvFilterCardModule, KvFilterCardsComponent, KvFilterCardsModule, KvFilterFieldsetComponent, KvFilterFieldsetModule, KvGIconComponent, KvGIconModule, KvHomeCardComponent, KvHomeCardModule, KvIconComponent, KvIconModule, KvImageUploadComponent, KvImageUploadModule, KvInputCalendarComponent, KvInputMaskComponent, KvInputNumberAddonComponent, KvInputNumberComponent, KvInputPasswordComponent, KvInputTextAddonComponent, KvInputTextCheckboxComponent, KvInputTextComponent, KvInputTextareaComponent, KvInputTimeComponent, KvInputsModule, KvKanbanComponent, KvLayoutComponent, KvLayoutModule, KvLoaderComponent, KvLoaderModule, KvLoaderService, KvLoginComponent, KvLoginModule, KvModalComponent, KvModalModule, KvMultiSelectComponent, KvOrgchartComponent, KvOrgchartModule, KvPageFormComponent, KvPageFormModule, KvPageStepperComponent, KvPageStepperodule, KvPickListComponent, KvPickListModule, KvProgressBarAlternativeComponent, KvProgressBarAlternativeModule, KvProgressBarModule, KvRadioGroupComponent, KvReportComponent, KvReportModule, KvSelectButtonComponent, KvSelectButtonsComponent, KvStackedBarChartComponent, KvStepperComponent, KvStepperModule, KvStepsComponent, KvSwitchComponent, KvTableComponent, KvTableDraggableComponent, KvTableDraggableModule, KvTableEditComponent, KvTableEditModule, KvTableExpandableComponent, KvTableExpandableModule, KvTableModule, KvTableViewerComponent, KvTagComponent, KvTagModule, KvTagsComponent, KvTagsModule, KvTimelineComponent, KvTreeEnvironmentComponent, KvTreeMultiSelectComponent, KvTreeViewComponent, KvTreetableComponent, KvTreetableModule, KvWidgetCardComponent, KvWorkspaceModule, KvtreeViewModule, MaskPipe, NoArvoreComponent, NotificationService, ObjectService, OrgChartService, PDF_STYLES, PeriodosChart, PipesModule, PrimeNgModule, ProgressBarComponent, TIMEOUTS, TablePaginate, TelefonePipe, TemplateDirective, TranslatePrimeng, WorkspaceComponent, getOrExecute, kvErrorModule, loading, mapToMenuItem, mapaSeverityColors };
|
|
14272
14362
|
//# sourceMappingURL=keevo-components.mjs.map
|