keevo-components 1.8.458 → 1.8.459

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.
@@ -48,16 +48,14 @@ import * as i1$4 from '@angular/common/http';
48
48
  import { HttpHeaders } from '@angular/common/http';
49
49
  import { filter as filter$1 } from 'rxjs/operators';
50
50
  import { DialogModule } from 'primeng/dialog';
51
- import * as i2$2 from 'primeng/slider';
52
- import { SliderModule } from 'primeng/slider';
53
- import { FileUploadModule } from 'primeng/fileupload';
51
+ import { ImageCropperComponent } from 'ngx-image-cropper';
54
52
  import { AccordionModule } from 'primeng/accordion';
55
53
  import { BadgeModule } from 'primeng/badge';
56
54
  import * as i5$9 from 'primeng/breadcrumb';
57
55
  import { BreadcrumbModule } from 'primeng/breadcrumb';
58
56
  import * as i5$4 from 'primeng/calendar';
59
57
  import { CalendarModule } from 'primeng/calendar';
60
- import * as i2$3 from 'primeng/carousel';
58
+ import * as i2$2 from 'primeng/carousel';
61
59
  import { CarouselModule, Carousel } from 'primeng/carousel';
62
60
  import { ChipModule } from 'primeng/chip';
63
61
  import { ConfirmDialogModule } from 'primeng/confirmdialog';
@@ -65,8 +63,9 @@ import * as i7$3 from 'primeng/contextmenu';
65
63
  import { ContextMenuModule } from 'primeng/contextmenu';
66
64
  import { DataViewModule } from 'primeng/dataview';
67
65
  import { EditorModule } from 'primeng/editor';
68
- import * as i2$5 from 'primeng/fieldset';
66
+ import * as i2$4 from 'primeng/fieldset';
69
67
  import { FieldsetModule } from 'primeng/fieldset';
68
+ import { FileUploadModule } from 'primeng/fileupload';
70
69
  import { ImageModule } from 'primeng/image';
71
70
  import * as i5$5 from 'primeng/inputmask';
72
71
  import { InputMaskModule } from 'primeng/inputmask';
@@ -107,7 +106,7 @@ import { ToastModule } from 'primeng/toast';
107
106
  import { ToolbarModule } from 'primeng/toolbar';
108
107
  import * as i1$6 from 'primeng/tree';
109
108
  import { TreeModule } from 'primeng/tree';
110
- import * as i2$4 from 'primeng/selectbutton';
109
+ import * as i2$3 from 'primeng/selectbutton';
111
110
  import { SelectButtonModule } from 'primeng/selectbutton';
112
111
  import * as i3$2 from 'primeng/stepper';
113
112
  import { StepperModule } from 'primeng/stepper';
@@ -115,6 +114,7 @@ import { InputGroupModule } from 'primeng/inputgroup';
115
114
  import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
116
115
  import * as i7$2 from 'primeng/treeselect';
117
116
  import { TreeSelectModule } from 'primeng/treeselect';
117
+ import { SliderModule } from 'primeng/slider';
118
118
  import * as i1$5 from 'ngx-loading';
119
119
  import { NgxLoadingModule } from 'ngx-loading';
120
120
  import Quill from 'quill';
@@ -4260,158 +4260,39 @@ class ImageCutterService {
4260
4260
  }
4261
4261
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ImageCutterService, decorators: [{
4262
4262
  type: Injectable,
4263
- args: [{
4264
- providedIn: 'root'
4265
- }]
4263
+ args: [{ providedIn: 'root' }]
4266
4264
  }], ctorParameters: () => [{ type: i1$3.DialogService }] });
4267
4265
  class SimpleComponent {
4268
4266
  constructor(dynamicDialogRef, dialogService) {
4269
4267
  this.dynamicDialogRef = dynamicDialogRef;
4270
4268
  this.dialogService = dialogService;
4271
- // ? Variavies que recebem os valores do dialog
4269
+ this.imageChangedEvent = null;
4270
+ this.croppedImage = '';
4271
+ //#region Variáveis de controle
4272
4272
  this._variaviesDialog = signal(null);
4273
- //? Referências para o contexto e canvas
4274
- this.canvas = signal(null);
4275
- this.ctx = signal(null);
4276
- this._Image = signal(new Image());
4277
- //? Coordenadas iniciais e finais do desenho
4278
- this.startX = 0;
4279
- this.startY = 0;
4280
- //? Fator de escala da imagem e zoom
4281
- this.scaleFactorReadOnly = computed(() => {
4282
- return Math.min(this.scaleFactor(), this.scaleFactorInicial() + 5);
4283
- });
4284
- this.scaleFactorInicial = signal(null);
4285
- this.scaleFactor = signal(null);
4286
- this.scaleFactorModel = 0;
4287
- this.imageX = 0;
4288
- this.imageY = 0;
4289
- //#region Propriedades computadas de tamanho do canvas e da imagem
4290
- //? Largura e altura do canvas baseado na tamanho da tela
4291
- this.canvasWidth = computed(() => this.widthTela() * 0.5);
4292
- this.canvasHeight = computed(() => this.heigthTela() * 0.5);
4293
- //? Largura e altura da área de corte
4294
- this.cutWidth = computed(() => {
4295
- if (this._variaviesDialog()?.indCircle) {
4296
- return this.radius() * 2;
4297
- }
4298
- else {
4299
- const canvasWidth = this.canvasWidth();
4300
- const maxWidth = canvasWidth * 0.8;
4301
- const proportionalHeight = maxWidth * this.proporcaoImagem();
4302
- return proportionalHeight > this.canvasHeight() * 0.8 ? this.canvasHeight() * 0.8 / this.proporcaoImagem() : maxWidth;
4303
- }
4304
- });
4305
- this.cutHeight = computed(() => {
4306
- if (this._variaviesDialog()?.indCircle) {
4307
- return this.radius() * 2;
4308
- }
4309
- else {
4310
- const canvasHeight = this.canvasHeight();
4311
- const maxHeight = canvasHeight * 0.8;
4312
- const proportionalWidth = maxHeight / this.proporcaoImagem();
4313
- return proportionalWidth > this.canvasWidth() * 0.8 ? this.canvasWidth() * 0.8 * this.proporcaoImagem() : maxHeight;
4314
- }
4315
- });
4316
- //? Largura e altura da imagem no canvas (baseado na escala) - tamanho real da imagem
4317
- this.canvaImageWidth = computed(() => {
4318
- return this._Image().width * this.scaleFactorReadOnly();
4319
- });
4320
- this.canvaImageHeight = computed(() => {
4321
- return this._Image().height * this.scaleFactorReadOnly();
4322
- });
4323
- this.proporcaoImagem = computed(() => {
4324
- return this._variaviesDialog()?.height / this._variaviesDialog()?.width;
4325
- });
4326
- this.radius = computed(() => {
4327
- const minSize = Math.min(this.canvasHeight() * 0.8, this.canvasWidth() * 0.8);
4328
- return minSize / 2;
4329
- });
4330
- //#endregion
4331
- // #region Limites de movimentação da imagem
4332
- //? Limites de movimentação da imagem
4333
- this.indCircle = computed(() => {
4334
- return this._variaviesDialog()?.indCircle;
4335
- });
4336
- this.xMin = computed(() => {
4337
- return !this._variaviesDialog()?.indCircle ? (this.canvasWidth() - this.cutWidth()) / 2 : (this.canvasWidth() - (this.radius() * 2)) / 2;
4338
- });
4339
- this.yMin = computed(() => {
4340
- return !this._variaviesDialog()?.indCircle ? (this.canvasHeight() - this.cutHeight()) / 2 : (this.canvasHeight() - (this.radius() * 2)) / 2;
4341
- });
4342
- this.xMax = computed(() => {
4343
- return !this._variaviesDialog()?.indCircle ? -(this.canvaImageWidth() - (this.xMin()) - this.cutWidth()) : -(this.canvaImageWidth() - (this.xMin()) - (this.radius() * 2));
4344
- });
4345
- this.yMax = computed(() => {
4346
- return !this._variaviesDialog()?.indCircle ? -(this.canvaImageHeight() - (this.yMin()) - this.cutHeight()) : -(this.canvaImageHeight() - (this.yMin()) - (this.radius() * 2));
4347
- });
4348
- // #endregion
4349
- //? Proporção da imagem
4350
- this.widthTela = signal(0);
4351
- this.heigthTela = signal(0);
4352
- //#endregion
4353
- //#region handlers de eventos
4354
- this.comparadorOnZoomChange = this.scaleFactorInicial();
4355
- this.atualizaTamanhoTela();
4356
- }
4357
- setScaleFactorModel(valor) {
4358
- this.scaleFactorModel = valor - this.scaleFactorInicial();
4359
- this.scaleFactor.set(valor);
4273
+ this.aspectRatio = signal(1 / 1);
4360
4274
  }
4361
- onWindowResize() {
4362
- this.atualizaTamanhoTela();
4363
- this.updateCanvasSize();
4364
- this.atualizaCutBorder();
4275
+ fileChangeEvent(event) {
4276
+ this.imageChangedEvent = event;
4365
4277
  }
4366
- atualizaTamanhoTela() {
4367
- this.widthTela.set(window.innerWidth);
4368
- this.heigthTela.set(window.innerHeight);
4278
+ imageCropped(event) {
4279
+ this.croppedImage = event.base64;
4369
4280
  }
4370
- ngAfterViewInit() {
4281
+ imageLoaded(image) { }
4282
+ cropperReady() { }
4283
+ loadImageFailed() { }
4284
+ //#endregion
4285
+ ngAfterContentInit() {
4371
4286
  this.recuperarVariaviesDialog();
4372
- this.inciarReferencias();
4373
- this.iniciarCanvas();
4374
- }
4375
- inciarReferencias() {
4376
- this.canvas.set(this.cropCanvas.nativeElement);
4377
- this.ctx.set(this.canvas().getContext('2d'));
4378
- this._Image().src = this._variaviesDialog()?.imagem;
4379
- }
4380
- iniciarCanvas() {
4381
- this._Image().onload = () => {
4382
- //? Define o tamanho do canvas
4383
- this.canvas().height = this.canvasHeight();
4384
- this.canvas().width = this.canvasWidth();
4385
- this.ajustarZommEPosicaoInicial();
4386
- this.initializeImageMove(this.canvas(), this.ctx(), this._Image());
4387
- this.initializeMouseWheel(this.canvas(), this.ctx(), this._Image());
4388
- this.redrawCanvas(this.ctx(), this._Image());
4389
- };
4287
+ this.recuperaInstanciaDialog();
4288
+ this.setAspectRatio();
4390
4289
  }
4391
- ajustarZommEPosicaoInicial() {
4392
- const cutWidth = this.cutWidth();
4393
- const cutHeight = this.cutHeight();
4394
- const imageWidth = this._Image().width;
4395
- const imageHeight = this._Image().height;
4396
- //? Ajusta possição e zoom inicial
4397
- if (this._variaviesDialog()?.indCircle) {
4398
- const scaleFactor = (this.radius() * 2) / Math.min(imageWidth, imageHeight);
4399
- this.scaleFactorInicial.set(scaleFactor);
4400
- this.setScaleFactorModel(scaleFactor);
4401
- }
4402
- else {
4403
- const scaleFactor = this.cutHeight() === this.cutWidth()
4404
- ? this._Image().width > this._Image().height
4405
- ? this.cutHeight() / imageHeight
4406
- : this.cutWidth() / imageWidth
4407
- : this.cutHeight() > this.cutWidth()
4408
- ? this.cutHeight() / imageHeight
4409
- : this.cutWidth() / imageWidth;
4410
- this.scaleFactorInicial.set(scaleFactor);
4411
- this.setScaleFactorModel(scaleFactor);
4412
- }
4413
- this.imageX = Math.max((this.canvas().width - imageWidth * this.scaleFactorReadOnly()) / 2, this.xMin());
4414
- this.imageY = Math.max((this.canvasHeight() - imageHeight * this.scaleFactorReadOnly()) / 2, this.yMin());
4290
+ setAspectRatio(width = this._variaviesDialog()?.width, height = this._variaviesDialog()?.height) {
4291
+ const gcd = (a, b) => (b === 0 ? a : gcd(b, a % b));
4292
+ const divisor = gcd(width, height);
4293
+ const aspectWidth = width / divisor;
4294
+ const aspectHeight = height / divisor;
4295
+ this.aspectRatio.set(aspectWidth / aspectHeight);
4415
4296
  }
4416
4297
  //#region Métodos de recuperação de dados
4417
4298
  recuperaInstanciaDialog() {
@@ -4427,273 +4308,13 @@ class SimpleComponent {
4427
4308
  this._variaviesDialog.set(this.recuperaInstanciaDialog().data.id);
4428
4309
  }
4429
4310
  //#endregion
4430
- //#region Métodos de atualizacao do canvas
4431
- //? Atualiza o tamanho do canvas
4432
- updateCanvasSize() {
4433
- this.imageX = (this.canvas().width - this._Image().width * this.scaleFactorReadOnly()) / 2;
4434
- this.imageY = (this.canvasHeight() / 2) - (this._Image().height * this.scaleFactorReadOnly()) / 2;
4435
- this.canvas().height = this.canvasHeight();
4436
- this.canvas().width = this.canvasWidth();
4437
- this.redrawCanvas(this.ctx(), this._Image());
4438
- }
4439
- redrawCanvas(ctx, img) {
4440
- if (!ctx)
4441
- return;
4442
- this.drawCropArea(ctx);
4443
- ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
4444
- ctx.filter = 'blur(5px) opacity(0.9)';
4445
- ctx.drawImage(img, this.imageX, this.imageY, img.width * this.scaleFactorReadOnly(), img.height * this.scaleFactorReadOnly());
4446
- ctx.filter = 'none';
4447
- this.drawImageInCropArea(ctx, img);
4448
- }
4449
- //? Desenha a área de corte
4450
- drawCropArea(ctx) {
4451
- if (!ctx)
4452
- return;
4453
- this.atualizaCutBorder();
4454
- const cropX = ctx.canvas.width / 2 - this.cutWidth() / 2;
4455
- const cropY = ctx.canvas.height / 2 - this.cutHeight() / 2;
4456
- const cropXCircle = ctx.canvas.width / 2 - this.radius() / 2;
4457
- const cropYCircle = ctx.canvas.height / 2 - this.radius() / 2;
4458
- ctx.beginPath();
4459
- ctx.strokeStyle = 'transparent';
4460
- ctx.lineWidth = 2;
4461
- if (this._variaviesDialog()?.indCircle) {
4462
- ctx.arc(cropXCircle, cropYCircle, this.radius(), 0, Math.PI * 2, true);
4463
- }
4464
- else {
4465
- ctx.rect(cropX, cropY, this.cutWidth(), this.cutHeight());
4466
- }
4467
- ctx.stroke();
4468
- }
4469
- //? Desenha a imagem na área de corte
4470
- drawImageInCropArea(ctx, img) {
4471
- if (!ctx)
4472
- return;
4473
- const cropX = (ctx.canvas.width - this.cutWidth()) / 2;
4474
- const cropY = (ctx.canvas.height - this.cutHeight()) / 2;
4475
- ctx.save();
4476
- ctx.beginPath();
4477
- if (this._variaviesDialog()?.indCircle) {
4478
- ctx.arc(ctx.canvas.width / 2, ctx.canvas.height / 2, this.radius(), 0, Math.PI * 2, true);
4479
- }
4480
- else {
4481
- ctx.rect(cropX, cropY, this.cutWidth(), this.cutHeight());
4482
- }
4483
- ctx.clip();
4484
- ctx.drawImage(img, this.imageX, this.imageY, img.width * this.scaleFactorReadOnly(), img.height * this.scaleFactorReadOnly());
4485
- ctx.restore();
4486
- }
4487
- atualizaCutBorder() {
4488
- if (this.cropBorder && this.cropBorder.nativeElement) {
4489
- const cropBorderElement = this.cropBorder.nativeElement;
4490
- if (this._variaviesDialog()?.indCircle) {
4491
- cropBorderElement.style.borderRadius = this.radius() * 2 + 'px';
4492
- cropBorderElement.style.width = this.radius() * 2 + 'px';
4493
- cropBorderElement.style.height = this.radius() * 2 + 'px';
4494
- }
4495
- else {
4496
- cropBorderElement.style.width = this.cutWidth() + 'px';
4497
- cropBorderElement.style.height = this.cutHeight() + 'px';
4498
- }
4499
- }
4500
- }
4501
- onZoomChange(e) {
4502
- const prevZoom = this.comparadorOnZoomChange;
4503
- const zoomValue = e.value;
4504
- this.comparadorOnZoomChange = e.value;
4505
- const direction = prevZoom < zoomValue ? 'up' : 'down';
4506
- this.ajustarZoom(direction, e.value);
4507
- }
4508
- initializeMouseWheel(canvas, ctx, img) {
4509
- canvas.onwheel = (e) => {
4510
- e.preventDefault();
4511
- //? Recuperando os valores de zoom e delta atuais
4512
- const direction = e.deltaY > 0 ? 'down' : 'up';
4513
- this.ajustarZoom(direction);
4514
- };
4515
- }
4516
- ajustarZoom(direction, value) {
4517
- const prevScaleFactor = this.scaleFactorReadOnly();
4518
- const delta = direction == 'down' ? -0.015 : 0.015;
4519
- let scaleFactor = prevScaleFactor + (delta * 1.4);
4520
- if (value)
4521
- scaleFactor = value + this.scaleFactorInicial();
4522
- const newHeight = this._Image().height * scaleFactor;
4523
- const newWidth = this._Image().width * scaleFactor;
4524
- if (this._variaviesDialog()?.indCircle) {
4525
- if (newHeight < this.radius() * 2 || newWidth < this.radius() * 2) {
4526
- scaleFactor = prevScaleFactor;
4527
- }
4528
- else {
4529
- this.scaleFactor.set(scaleFactor);
4530
- this.setScaleFactorModel(scaleFactor);
4531
- }
4532
- }
4533
- else {
4534
- if (newHeight < this.cutHeight() || newWidth < this.cutWidth()) {
4535
- scaleFactor = prevScaleFactor;
4536
- }
4537
- else {
4538
- this.scaleFactor.set(scaleFactor);
4539
- this.setScaleFactorModel(scaleFactor);
4540
- }
4541
- }
4542
- this.scaleFactor.set(scaleFactor);
4543
- this.setScaleFactorModel(scaleFactor);
4544
- const canvas = this.cropCanvas.nativeElement;
4545
- const canvasWidth = canvas.offsetWidth;
4546
- const canvasHeight = canvas.offsetHeight;
4547
- const centerX = canvasWidth / 2;
4548
- const centerY = canvasHeight / 2;
4549
- const newCanvasX = centerX - (centerX - this.imageX) * (scaleFactor / prevScaleFactor);
4550
- const newCanvasY = centerY - (centerY - this.imageY) * (scaleFactor / prevScaleFactor);
4551
- this.imageX = newCanvasX;
4552
- this.imageY = newCanvasY;
4553
- if (!this.verificaImagemdentroDosLimiteXmin()) {
4554
- const diffXmin = this.retornaDiffXmax();
4555
- this.moveImage(this.imageX - diffXmin);
4556
- }
4557
- if (!this.verificaImagemdentroDosLimiteXmax()) {
4558
- const diffXmax = this.retornaDiffXmin();
4559
- this.moveImage(this.imageX + diffXmax);
4560
- }
4561
- if (!this.verificaImagemdentroDosLimiteYmax()) {
4562
- const diffYmax = this.retornaDiffYmin();
4563
- this.moveImage(undefined, this.imageY + diffYmax);
4564
- }
4565
- if (!this.verificaImagemdentroDosLimiteYmin()) {
4566
- const diffYmin = this.retornaDiffYmax();
4567
- this.moveImage(undefined, this.imageY - diffYmin);
4568
- }
4569
- this.redrawCanvas(this.ctx(), this._Image());
4570
- }
4571
- verificaImagemdentroDosLimiteXmin() {
4572
- const newImageX = this.imageX;
4573
- return newImageX < this.xMin();
4574
- }
4575
- verificaImagemdentroDosLimiteXmax() {
4576
- const newImageX = this.imageX;
4577
- return newImageX > this.xMax();
4578
- }
4579
- verificaImagemdentroDosLimiteYmin() {
4580
- const newImageY = this.imageY;
4581
- return newImageY < this.yMin();
4582
- }
4583
- verificaImagemdentroDosLimiteYmax() {
4584
- const newImageY = this.imageY;
4585
- return newImageY > this.yMax();
4586
- }
4587
- retornaDiffXmin() {
4588
- const newImageX = this.imageX;
4589
- return this.xMin() - newImageX;
4590
- }
4591
- retornaDiffXmax() {
4592
- const newImageX = this.imageX;
4593
- return newImageX - this.xMax();
4594
- }
4595
- retornaDiffYmin() {
4596
- const newImageY = this.imageY;
4597
- return this.yMin() - newImageY;
4598
- }
4599
- retornaDiffYmax() {
4600
- const newImageY = this.imageY;
4601
- return newImageY - this.yMax();
4602
- }
4603
- initializeImageMove(canvas, ctx, img) {
4604
- let isDragging = false;
4605
- canvas.style.cursor = 'grab';
4606
- canvas.onmousedown = (e) => {
4607
- isDragging = true;
4608
- canvas.style.cursor = 'grabbing';
4609
- this.startX = e.offsetX - this.imageX;
4610
- this.startY = e.offsetY - this.imageY;
4611
- };
4612
- canvas.onmouseup = () => {
4613
- isDragging = false;
4614
- canvas.style.cursor = 'grab';
4615
- };
4616
- canvas.onmouseout = () => {
4617
- isDragging = false;
4618
- canvas.style.cursor = 'grab';
4619
- };
4620
- canvas.onmousemove = (e) => {
4621
- if (isDragging) {
4622
- // Calcula o novo posicionamento da imagem
4623
- let newImageX = e.offsetX - this.startX;
4624
- let newImageY = e.offsetY - this.startY;
4625
- if (newImageX < this.xMin() && newImageX > this.xMax()) {
4626
- this.moveImage(newImageX);
4627
- }
4628
- if (newImageY < this.yMin() && newImageY > this.yMax()) {
4629
- this.moveImage(undefined, newImageY);
4630
- }
4631
- this.redrawCanvas(ctx, img);
4632
- }
4633
- };
4634
- }
4635
- moveImage(dx, dy) {
4636
- this.imageX = (dx ?? this.imageX);
4637
- this.imageY = (dy ?? this.imageY);
4638
- }
4639
- //#endregion
4640
4311
  //#region Métodos de corte e fechamento do modal
4641
4312
  cropImage() {
4642
- const ctx = this.ctx();
4643
- if (ctx) {
4644
- const X = ((this.canvas().width - this._Image().width * this.scaleFactorReadOnly()) / 2);
4645
- const Y = ((this.canvasHeight() / 2) - (this._Image().height * this.scaleFactorReadOnly()) / 2);
4646
- // Recuperar o imageData da imagem que está na área de corte
4647
- let imageData;
4648
- const cropX = (ctx.canvas.width - this.cutWidth()) / 2;
4649
- const cropY = (ctx.canvas.height - this.cutHeight()) / 2;
4650
- if (this._variaviesDialog()?.indCircle) {
4651
- // Create a new canvas with the same dimensions as the circle
4652
- const circleCanvas = document.createElement('canvas');
4653
- const circleCtx = circleCanvas.getContext('2d');
4654
- circleCanvas.width = this.radius() * 2;
4655
- circleCanvas.height = this.radius() * 2;
4656
- // Draw the circle on the new canvas
4657
- circleCtx.beginPath();
4658
- circleCtx.arc(this.radius(), this.radius(), this.radius(), 0, 2 * Math.PI);
4659
- circleCtx.fill();
4660
- // Set the composite operation to 'destination-in' to cut out the circle
4661
- ctx.globalCompositeOperation = 'destination-in';
4662
- // Draw the image on the main canvas using the circle as a mask
4663
- ctx.drawImage(circleCanvas, cropX, cropY);
4664
- // Reset the composite operation to the default value
4665
- ctx.globalCompositeOperation = 'source-over';
4666
- // Get the image data of the cropped circle
4667
- imageData = ctx.getImageData(cropX, cropY, this.radius() * 2, this.radius() * 2);
4668
- }
4669
- else {
4670
- imageData = ctx.getImageData(cropX, cropY, this.cutWidth(), this.cutHeight());
4671
- }
4672
- // Obter os valores de width e height da variável _variaviesDialog
4673
- const variaveisDialog = this._variaviesDialog();
4674
- if (variaveisDialog) {
4675
- const { width, height } = variaveisDialog;
4676
- // Criar um novo canvas e contexto com os valores de width e height
4677
- const newCanvas = document.createElement('canvas');
4678
- const newCtx = newCanvas.getContext('2d');
4679
- newCanvas.width = width;
4680
- newCanvas.height = height;
4681
- if (newCtx) {
4682
- // Redimensionar a imagem para o tamanho especificado
4683
- const tempCanvas = document.createElement('canvas');
4684
- const tempCtx = tempCanvas.getContext('2d');
4685
- tempCanvas.width = this.cutWidth();
4686
- tempCanvas.height = this.cutHeight();
4687
- tempCtx.putImageData(imageData, 0, 0);
4688
- newCtx.drawImage(tempCanvas, 0, 0, width, height);
4689
- window.dispatchEvent(new CustomEvent('cropImage', { detail: {
4690
- result: Promise.resolve(newCanvas.toDataURL()),
4691
- status: true
4692
- } }));
4693
- this.closeCropModal();
4694
- }
4695
- }
4696
- }
4313
+ window.dispatchEvent(new CustomEvent('cropImage', { detail: {
4314
+ result: this.croppedImage,
4315
+ status: true
4316
+ } }));
4317
+ this.closeCropModal();
4697
4318
  }
4698
4319
  closeCropModal() {
4699
4320
  this.dialogInstance.close();
@@ -4706,75 +4327,75 @@ class SimpleComponent {
4706
4327
  this.closeCropModal();
4707
4328
  }
4708
4329
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: SimpleComponent, deps: [{ token: i1$3.DynamicDialogRef }, { token: i1$3.DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
4709
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: SimpleComponent, isStandalone: true, selector: "app-simple-component", host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "cropCanvas", first: true, predicate: ["cropCanvas"], descendants: true }, { propertyName: "cropBorder", first: true, predicate: ["cropBorder"], descendants: true }], ngImport: i0, template: `
4330
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: SimpleComponent, isStandalone: true, selector: "app-simple-component", ngImport: i0, template: `
4710
4331
  <div class="modal-content">
4711
- <div class="crop-container">
4712
- <canvas #cropCanvas class="crop-canvas"></canvas>
4713
- <div #cropBorder class="crop-border"></div>
4714
- </div>
4715
4332
 
4716
- <div class="w-full mt-2">
4717
- <kv-label label="Zoom" style="text-align: left;" />
4718
- <p-slider [(ngModel)]="this.scaleFactorModel" [step]="0.0001" [max]="5" (onChange)="onZoomChange($event)"></p-slider>
4719
- </div>
4333
+ <image-cropper
4334
+ [imageBase64]="_variaviesDialog()?.imagem"
4335
+ (imageCropped)="imageCropped($event)"
4336
+ [aspectRatio]="aspectRatio()"
4337
+ (imageLoaded)="imageLoaded($event)"
4338
+ (cropperReady)="cropperReady()"
4339
+ (loadImageFailed)="loadImageFailed()"
4340
+ [roundCropper]="this._variaviesDialog()?.indCircle"
4341
+ [maintainAspectRatio]="true"
4342
+ [imageQuality]="100"
4343
+ format="jpeg"
4344
+ output='base64'
4345
+ alignImage="center"
4346
+ />
4720
4347
 
4721
- <div class="button-container">
4348
+
4349
+ </div>
4350
+ <div class="button-container">
4722
4351
  <kv-button label="Cancelar" severity="tertiary" icon="close" (click)="cancel()"></kv-button>
4723
4352
  <kv-button label="Recortar" severity="primary" icon="crop" (click)="cropImage()" class="ml-2"></kv-button>
4724
4353
  </div>
4725
4354
 
4726
- </div>
4727
-
4728
4355
 
4729
4356
 
4730
- `, isInline: true, styles: ["img{border-style:solid;border-width:2px;border-radius:50%;object-fit:cover}i{font-size:22px}.botao-alterar-foto{border-style:none;width:max-content;background-color:#002542;color:#000;font-weight:700;cursor:pointer;padding:7px 9px}.botao-alterar-foto i{color:#fff}.botao-excluir-foto{border-style:none;width:max-content;background-color:#002542;color:#000;font-weight:700;cursor:pointer;padding:7px 9px}.botao-excluir-foto i{color:#fff}.btn{position:absolute;top:87%;left:87%;transform:translate(-50%,-50%)}.image-container{display:inline-block;position:relative}.modal-content{position:relative;background-color:#fefefe;margin:1% auto;padding:20px;width:80%;max-width:fit-content;text-align:center;border-radius:12px}.crop-container{display:flex;justify-content:center;align-items:center}.crop-canvas{border:1px solid #d1d5db;border-radius:12px;width:100%;height:auto}.crop-border{position:absolute;border:2px dashed #9ca3af;pointer-events:none}.zoom-container{padding-top:20px;padding-bottom:20px}.button-container{display:flex;align-items:center;justify-content:flex-end;flex-direction:row;margin-top:24px}\n"], dependencies: [{ kind: "ngmodule", type: DialogModule }, { kind: "ngmodule", type: KvModalModule }, { kind: "ngmodule", type: SliderModule }, { kind: "component", type: i2$2.Slider, selector: "p-slider", inputs: ["animate", "disabled", "min", "max", "orientation", "step", "range", "style", "styleClass", "ariaLabel", "ariaLabelledBy", "tabindex", "autofocus"], outputs: ["onChange", "onSlideEnd"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: FileUploadModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: KvButtonModule }, { kind: "component", type: KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "label", "disabled"], outputs: ["onClick"] }, { kind: "ngmodule", type: KvLabelModule }, { kind: "component", type: KvLabelComponent, selector: "kv-label", inputs: ["componentId", "label"] }] }); }
4357
+ `, isInline: true, styles: ["img{border-style:solid;border-width:2px;border-radius:50%;object-fit:cover}i{font-size:22px}.botao-alterar-foto{border-style:none;width:max-content;background-color:#002542;color:#000;font-weight:700;cursor:pointer;padding:7px 9px}.botao-alterar-foto i{color:#fff}.botao-excluir-foto{border-style:none;width:max-content;background-color:#002542;color:#000;font-weight:700;cursor:pointer;padding:7px 9px}.botao-excluir-foto i{color:#fff}.btn{position:absolute;top:87%;left:87%;transform:translate(-50%,-50%)}.image-container{display:inline-block;position:relative}.modal-content{height:60vh;position:relative;background-color:#fefefe;margin:1% auto;padding:20px;width:80%;max-width:fit-content;text-align:center;border-radius:12px;display:flex;align-items:center;justify-content:center}.crop-container{display:flex;justify-content:center;align-items:center}.crop-canvas{border:1px solid #d1d5db;border-radius:12px;width:100%;height:auto}.crop-border{position:absolute;border:2px dashed #9ca3af;pointer-events:none}.zoom-container{padding-top:20px;padding-bottom:20px}.button-container{display:flex;align-items:center;justify-content:flex-end;flex-direction:row;margin-top:24px;position:fixed;bottom:0;background:#fff;width:90%;padding:15px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DialogModule }, { kind: "ngmodule", type: KvModalModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: KvButtonModule }, { kind: "component", type: KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "label", "disabled"], outputs: ["onClick"] }, { kind: "ngmodule", type: KvLabelModule }, { kind: "component", type: ImageCropperComponent, selector: "image-cropper", inputs: ["imageChangedEvent", "imageURL", "imageBase64", "imageFile", "imageAltText", "options", "cropperFrameAriaLabel", "output", "format", "autoCrop", "cropper", "transform", "maintainAspectRatio", "aspectRatio", "resetCropOnAspectRatioChange", "resizeToWidth", "resizeToHeight", "cropperMinWidth", "cropperMinHeight", "cropperMaxHeight", "cropperMaxWidth", "cropperStaticWidth", "cropperStaticHeight", "canvasRotation", "initialStepSize", "roundCropper", "onlyScaleDown", "imageQuality", "backgroundColor", "containWithinAspectRatio", "hideResizeSquares", "allowMoveImage", "checkImageType", "alignImage", "disabled", "hidden"], outputs: ["imageCropped", "startCropImage", "imageLoaded", "cropperReady", "loadImageFailed", "transformChange", "cropperChange"] }] }); }
4731
4358
  }
4732
4359
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: SimpleComponent, decorators: [{
4733
4360
  type: Component,
4734
4361
  args: [{ selector: 'app-simple-component', template: `
4735
4362
  <div class="modal-content">
4736
- <div class="crop-container">
4737
- <canvas #cropCanvas class="crop-canvas"></canvas>
4738
- <div #cropBorder class="crop-border"></div>
4739
- </div>
4740
4363
 
4741
- <div class="w-full mt-2">
4742
- <kv-label label="Zoom" style="text-align: left;" />
4743
- <p-slider [(ngModel)]="this.scaleFactorModel" [step]="0.0001" [max]="5" (onChange)="onZoomChange($event)"></p-slider>
4744
- </div>
4364
+ <image-cropper
4365
+ [imageBase64]="_variaviesDialog()?.imagem"
4366
+ (imageCropped)="imageCropped($event)"
4367
+ [aspectRatio]="aspectRatio()"
4368
+ (imageLoaded)="imageLoaded($event)"
4369
+ (cropperReady)="cropperReady()"
4370
+ (loadImageFailed)="loadImageFailed()"
4371
+ [roundCropper]="this._variaviesDialog()?.indCircle"
4372
+ [maintainAspectRatio]="true"
4373
+ [imageQuality]="100"
4374
+ format="jpeg"
4375
+ output='base64'
4376
+ alignImage="center"
4377
+ />
4745
4378
 
4746
- <div class="button-container">
4379
+
4380
+ </div>
4381
+ <div class="button-container">
4747
4382
  <kv-button label="Cancelar" severity="tertiary" icon="close" (click)="cancel()"></kv-button>
4748
4383
  <kv-button label="Recortar" severity="primary" icon="crop" (click)="cropImage()" class="ml-2"></kv-button>
4749
4384
  </div>
4750
4385
 
4751
- </div>
4752
-
4753
4386
 
4754
4387
 
4755
4388
  `, standalone: true, imports: [
4389
+ CommonModule,
4756
4390
  DialogModule,
4757
4391
  KvModalModule,
4758
- SliderModule,
4759
- CommonModule,
4760
- ButtonModule,
4761
- FileUploadModule,
4762
- SliderModule,
4763
4392
  FormsModule,
4764
4393
  ReactiveFormsModule,
4765
4394
  KvButtonModule,
4766
4395
  KvLabelModule,
4767
- ], styles: ["img{border-style:solid;border-width:2px;border-radius:50%;object-fit:cover}i{font-size:22px}.botao-alterar-foto{border-style:none;width:max-content;background-color:#002542;color:#000;font-weight:700;cursor:pointer;padding:7px 9px}.botao-alterar-foto i{color:#fff}.botao-excluir-foto{border-style:none;width:max-content;background-color:#002542;color:#000;font-weight:700;cursor:pointer;padding:7px 9px}.botao-excluir-foto i{color:#fff}.btn{position:absolute;top:87%;left:87%;transform:translate(-50%,-50%)}.image-container{display:inline-block;position:relative}.modal-content{position:relative;background-color:#fefefe;margin:1% auto;padding:20px;width:80%;max-width:fit-content;text-align:center;border-radius:12px}.crop-container{display:flex;justify-content:center;align-items:center}.crop-canvas{border:1px solid #d1d5db;border-radius:12px;width:100%;height:auto}.crop-border{position:absolute;border:2px dashed #9ca3af;pointer-events:none}.zoom-container{padding-top:20px;padding-bottom:20px}.button-container{display:flex;align-items:center;justify-content:flex-end;flex-direction:row;margin-top:24px}\n"] }]
4768
- }], ctorParameters: () => [{ type: i1$3.DynamicDialogRef }, { type: i1$3.DialogService }], propDecorators: { cropCanvas: [{
4769
- type: ViewChild,
4770
- args: ['cropCanvas']
4771
- }], cropBorder: [{
4772
- type: ViewChild,
4773
- args: ['cropBorder']
4774
- }], onWindowResize: [{
4775
- type: HostListener,
4776
- args: ['window:resize', ['$event']]
4777
- }] } });
4396
+ ImageCropperComponent
4397
+ ], styles: ["img{border-style:solid;border-width:2px;border-radius:50%;object-fit:cover}i{font-size:22px}.botao-alterar-foto{border-style:none;width:max-content;background-color:#002542;color:#000;font-weight:700;cursor:pointer;padding:7px 9px}.botao-alterar-foto i{color:#fff}.botao-excluir-foto{border-style:none;width:max-content;background-color:#002542;color:#000;font-weight:700;cursor:pointer;padding:7px 9px}.botao-excluir-foto i{color:#fff}.btn{position:absolute;top:87%;left:87%;transform:translate(-50%,-50%)}.image-container{display:inline-block;position:relative}.modal-content{height:60vh;position:relative;background-color:#fefefe;margin:1% auto;padding:20px;width:80%;max-width:fit-content;text-align:center;border-radius:12px;display:flex;align-items:center;justify-content:center}.crop-container{display:flex;justify-content:center;align-items:center}.crop-canvas{border:1px solid #d1d5db;border-radius:12px;width:100%;height:auto}.crop-border{position:absolute;border:2px dashed #9ca3af;pointer-events:none}.zoom-container{padding-top:20px;padding-bottom:20px}.button-container{display:flex;align-items:center;justify-content:flex-end;flex-direction:row;margin-top:24px;position:fixed;bottom:0;background:#fff;width:90%;padding:15px}\n"] }]
4398
+ }], ctorParameters: () => [{ type: i1$3.DynamicDialogRef }, { type: i1$3.DialogService }] });
4778
4399
 
4779
4400
  class KvAvatarComponent {
4780
4401
  constructor(imageService, notificationService, imageCutterService) {
@@ -5070,7 +4691,7 @@ class KvCarouselComponent {
5070
4691
  window.open(link, '_blank');
5071
4692
  }
5072
4693
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvCarouselComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
5073
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "17.3.8", type: KvCarouselComponent, selector: "kv-carousel", inputs: { heightCarousel: { classPropertyName: "heightCarousel", publicName: "heightCarousel", isSignal: true, isRequired: false, transformFunction: null }, carouselData: { classPropertyName: "carouselData", publicName: "carouselData", isSignal: false, isRequired: false, transformFunction: null }, autoplayInterval: { classPropertyName: "autoplayInterval", publicName: "autoplayInterval", isSignal: false, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "carouselContainer", first: true, predicate: Carousel, descendants: true, isSignal: true }], ngImport: i0, template: "<p-carousel\r\n [value]=\"carouselData\"\r\n [indicatorStyleClass]=\"'carousel-indicator'\"\r\n [autoplayInterval]=\"autoplayInterval\"\r\n [showIndicators]=\"true\"\r\n [showNavigators]=\"false\"\r\n [numVisible]=\"1\"\r\n [numScroll]=\"1\"\r\n [circular]=\"true\"\r\n styleClass=\"h-full\"\r\n>\r\n >\r\n <ng-template\r\n pTemplate=\"item\"\r\n let-banner\r\n class=\"justify-content-center align-items-center\"\r\n >\r\n <img\r\n [src]=\"banner.img\"\r\n class=\"w-full border-round-banner\"\r\n [style.height.px]=\"heightComputed()\"\r\n (click)=\"navigateToLink(banner.link)\"\r\n />\r\n </ng-template>\r\n</p-carousel>\r\n", styles: ["::ng-deep .p-carousel-indicators{position:absolute;left:50%;transform:translate(-50%);bottom:-1rem}::ng-deep .carousel-indicator{width:15px!important;height:4px!important;margin:-3px!important;padding:0!important;background-color:#eeeeeed0}::ng-deep .carousel-indicator:hover{background-color:#efefef}button.p-carousel-indicator.p-link{background-color:#f0f8ff!important}::ng-deep .p-carousel .p-carousel-content{overflow:hidden!important;position:relative}::ng-deep .border-round-banner{border-radius:20px!important;max-height:500px}\n"], dependencies: [{ kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i2$3.Carousel, selector: "p-carousel", inputs: ["page", "numVisible", "numScroll", "responsiveOptions", "orientation", "verticalViewPortHeight", "contentClass", "indicatorsContentClass", "indicatorsContentStyle", "indicatorStyleClass", "indicatorStyle", "value", "circular", "showIndicators", "showNavigators", "autoplayInterval", "style", "styleClass"], outputs: ["onPage"] }] }); }
4694
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "17.3.8", type: KvCarouselComponent, selector: "kv-carousel", inputs: { heightCarousel: { classPropertyName: "heightCarousel", publicName: "heightCarousel", isSignal: true, isRequired: false, transformFunction: null }, carouselData: { classPropertyName: "carouselData", publicName: "carouselData", isSignal: false, isRequired: false, transformFunction: null }, autoplayInterval: { classPropertyName: "autoplayInterval", publicName: "autoplayInterval", isSignal: false, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "carouselContainer", first: true, predicate: Carousel, descendants: true, isSignal: true }], ngImport: i0, template: "<p-carousel\r\n [value]=\"carouselData\"\r\n [indicatorStyleClass]=\"'carousel-indicator'\"\r\n [autoplayInterval]=\"autoplayInterval\"\r\n [showIndicators]=\"true\"\r\n [showNavigators]=\"false\"\r\n [numVisible]=\"1\"\r\n [numScroll]=\"1\"\r\n [circular]=\"true\"\r\n styleClass=\"h-full\"\r\n>\r\n >\r\n <ng-template\r\n pTemplate=\"item\"\r\n let-banner\r\n class=\"justify-content-center align-items-center\"\r\n >\r\n <img\r\n [src]=\"banner.img\"\r\n class=\"w-full border-round-banner\"\r\n [style.height.px]=\"heightComputed()\"\r\n (click)=\"navigateToLink(banner.link)\"\r\n />\r\n </ng-template>\r\n</p-carousel>\r\n", styles: ["::ng-deep .p-carousel-indicators{position:absolute;left:50%;transform:translate(-50%);bottom:-1rem}::ng-deep .carousel-indicator{width:15px!important;height:4px!important;margin:-3px!important;padding:0!important;background-color:#eeeeeed0}::ng-deep .carousel-indicator:hover{background-color:#efefef}button.p-carousel-indicator.p-link{background-color:#f0f8ff!important}::ng-deep .p-carousel .p-carousel-content{overflow:hidden!important;position:relative}::ng-deep .border-round-banner{border-radius:20px!important;max-height:500px}\n"], dependencies: [{ kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i2$2.Carousel, selector: "p-carousel", inputs: ["page", "numVisible", "numScroll", "responsiveOptions", "orientation", "verticalViewPortHeight", "contentClass", "indicatorsContentClass", "indicatorsContentStyle", "indicatorStyleClass", "indicatorStyle", "value", "circular", "showIndicators", "showNavigators", "autoplayInterval", "style", "styleClass"], outputs: ["onPage"] }] }); }
5074
4695
  }
5075
4696
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvCarouselComponent, decorators: [{
5076
4697
  type: Component,
@@ -5748,7 +5369,7 @@ class KvSelectButtonComponent {
5748
5369
  this.optionClick.emit(event);
5749
5370
  }
5750
5371
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvSelectButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5751
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvSelectButtonComponent, selector: "kv-select-button", inputs: { formGroup: "formGroup", formControlName: "formControlName", options: "options", optionLabel: "optionLabel", optionValue: "optionValue", mutiple: "mutiple", disabled: "disabled", value: "value" }, outputs: { onSelectionChange: "onSelectionChange", optionClick: "optionClick" }, ngImport: i0, template: "@if(value) {\r\n<p-selectButton\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n (onChange)=\"selectionChange($event)\"\r\n (onOptionClick)=\"onOptionClick($event)\"\r\n [multiple]=\"mutiple\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n/>\r\n} @else {\r\n<div [formGroup]=\"formGroup\">\r\n <p-selectButton\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n (onChange)=\"selectionChange($event)\"\r\n (onOptionClick)=\"onOptionClick($event)\"\r\n [multiple]=\"mutiple\"\r\n [disabled]=\"disabled\"\r\n [formControlName]=\"formControlName\"\r\n [(ngModel)]=\"value\"\r\n />\r\n</div>\r\n}", styles: [":host ::ng-deep .p-selectbutton .p-button.p-highlight{background:#183462!important;border:#183462;box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f}\n"], dependencies: [{ kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$4.SelectButton, selector: "p-selectButton", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "style", "styleClass", "ariaLabelledBy", "disabled", "dataKey", "autofocus"], outputs: ["onOptionClick", "onChange"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
5372
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvSelectButtonComponent, selector: "kv-select-button", inputs: { formGroup: "formGroup", formControlName: "formControlName", options: "options", optionLabel: "optionLabel", optionValue: "optionValue", mutiple: "mutiple", disabled: "disabled", value: "value" }, outputs: { onSelectionChange: "onSelectionChange", optionClick: "optionClick" }, ngImport: i0, template: "@if(value) {\r\n<p-selectButton\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n (onChange)=\"selectionChange($event)\"\r\n (onOptionClick)=\"onOptionClick($event)\"\r\n [multiple]=\"mutiple\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n/>\r\n} @else {\r\n<div [formGroup]=\"formGroup\">\r\n <p-selectButton\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n (onChange)=\"selectionChange($event)\"\r\n (onOptionClick)=\"onOptionClick($event)\"\r\n [multiple]=\"mutiple\"\r\n [disabled]=\"disabled\"\r\n [formControlName]=\"formControlName\"\r\n [(ngModel)]=\"value\"\r\n />\r\n</div>\r\n}", styles: [":host ::ng-deep .p-selectbutton .p-button.p-highlight{background:#183462!important;border:#183462;box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f}\n"], dependencies: [{ kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$3.SelectButton, selector: "p-selectButton", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "style", "styleClass", "ariaLabelledBy", "disabled", "dataKey", "autofocus"], outputs: ["onOptionClick", "onChange"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
5752
5373
  }
5753
5374
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvSelectButtonComponent, decorators: [{
5754
5375
  type: Component,
@@ -5839,11 +5460,11 @@ class KvTreeMultiSelectComponent extends BaseComponentMultiSelect {
5839
5460
  this.handleChips();
5840
5461
  }
5841
5462
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTreeMultiSelectComponent, deps: [{ token: ComponentService }, { token: i2$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
5842
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvTreeMultiSelectComponent, selector: "kv-tree-multi-select", inputs: { appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: false, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: false, isRequired: false, transformFunction: null }, itemTemplates: { classPropertyName: "itemTemplates", publicName: "itemTemplates", isSignal: false, isRequired: false, transformFunction: null }, propagateSelectionDown: { classPropertyName: "propagateSelectionDown", publicName: "propagateSelectionDown", isSignal: true, isRequired: false, transformFunction: null }, propagateSelectionUp: { classPropertyName: "propagateSelectionUp", publicName: "propagateSelectionUp", isSignal: true, isRequired: false, transformFunction: null } }, providers: ComponentProviders(KvTreeMultiSelectComponent), usesInheritance: true, ngImport: i0, template: "<span>\r\n <kv-label\r\n [componentId]=\"componentId\"\r\n [label]=\"label && label + (showAsterisk ? '*' : '')\"\r\n />\r\n\r\n <p-treeSelect\r\n inputId=\"tree-multi-select\"\r\n [class]=\"baseInputClass\"\r\n [disabled]=\"disabled\"\r\n [options]=\"options\"\r\n [filter]=\"filter\"\r\n [showClear]=\"showClear\"\r\n [(ngModel)]=\"value\"\r\n (onNodeSelect)=\"selectionChange($event)\"\r\n (onNodeUnselect)=\"selectionChange($event)\"\r\n (onPanelHide)=\"panelHide($event)\"\r\n [appendTo]=\"appendTo\"\r\n [metaKeySelection]=\"false\"\r\n styleClass=\"inputs\"\r\n containerStyleClass=\"inputs\"\r\n selectionMode=\"checkbox\"\r\n display=\"chip\"\r\n [propagateSelectionDown]=\"propagateSelectionDown()\"\r\n [propagateSelectionUp]=\"propagateSelectionUp()\"\r\n >\r\n <ng-template let-value pTemplate=\"value\" class=\"w-full\">\r\n <div\r\n class=\"p-multiselect p-multiselect-chip p-multiselect-label w-full flex flex-nowrap\"\r\n >\r\n <div\r\n #token\r\n *ngFor=\"let chip of chips; let i = index\"\r\n class=\"p-multiselect-token\"\r\n >\r\n <span class=\"p-multiselect-token-label\">{{ chip.label }}</span>\r\n\r\n <TimesCircleIcon\r\n [styleClass]=\"'p-multiselect-token-icon'\"\r\n (click)=\"removerChip(chip, $event)\"\r\n [attr.data-pc-section]=\"'clearicon'\"\r\n [attr.aria-hidden]=\"true\"\r\n />\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n @for (templateItem of itemTemplates; track $index) {\r\n <ng-template let-node [pTemplate]=\"templateItem.type\">\r\n @if(templateItem.template) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"templateItem.template\"\r\n [ngTemplateOutletContext]=\"{ $implicit: node }\"\r\n >\r\n </ng-container>\r\n }\r\n </ng-template>\r\n\r\n }\r\n\r\n <ng-template let-node pTemplate=\"default\">\r\n {{ node.label }}\r\n </ng-template>\r\n </p-treeSelect>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: [":host ::ng-deep .disable .p-treeselect.p-treeselect-chip .p-treeselect-token .p-icon-wrapper{display:none!important}::ng-deep .p-treeselect.p-treeselect-chip .p-treeselect-token{padding:.1rem .4rem}::ng-deep .p-treeselect-label{padding:0rem;display:flex}::ng-deep .p-treeselect-item{font-size:.875rem;padding:.5rem;text-overflow:ellipsis;width:100%}::ng-deep .p-treeselect{width:100%}::ng-deep p-treeselect p-overlay .p-overlay{max-width:100%}::ng-deep .p-treeselect-items-wrapper .p-treeselect-items{padding:.75rem}::ng-deep .p-treeselect-filter{height:1.875rem}::ng-deep .p-treeselect-panel .p-treeselect-items .p-treeselect-empty-message{padding:.75rem;font-size:.875rem}::ng-deep .p-treeselect-panel .p-treeselect-header{padding:.5rem}:host ::ng-deep .p-chips .p-chips-multiple-container .p-chips-token{padding:.1rem .4rem;transform:translateY(-3px)}:host ::ng-deep .p-chips .p-chips-multiple-container{border:none}:host ::ng-deep .p-chip{background:red;padding:.1rem .4rem;font-size:.875rem;margin-right:.5rem;background:#e5e7eb;color:#4b5563;border-radius:16px;height:15px}::ng-deep .p-multiselect.p-multiselect-chip .p-multiselect-token{padding:.1rem .4rem}:host ::ng-deep .p-multiselect.p-multiselect-chip.p-multiselect-label{border:none}:host ::ng-deep .p-treeselect-label,:host ::ng-deep .p-multiselect-label{width:100%;padding:.09rem .4rem;display:flex}:host ::ng-deep .p-multiselect-token{max-width:max-content}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter var,Inter,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter var,Inter,sans-serif!important}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: KvErrorComponent, selector: "kv-error", inputs: ["formControl", "hasError"] }, { kind: "component", type: KvLabelComponent, selector: "kv-label", inputs: ["componentId", "label"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i7$2.TreeSelect, selector: "p-treeSelect", inputs: ["inputId", "scrollHeight", "disabled", "metaKeySelection", "variant", "display", "selectionMode", "tabindex", "ariaLabel", "ariaLabelledBy", "placeholder", "panelClass", "panelStyle", "panelStyleClass", "containerStyle", "containerStyleClass", "labelStyle", "labelStyleClass", "overlayOptions", "emptyMessage", "appendTo", "filter", "filterBy", "filterMode", "filterPlaceholder", "filterLocale", "filterInputAutoFocus", "propagateSelectionDown", "propagateSelectionUp", "showClear", "resetFilterOnHide", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "autofocus", "options", "showTransitionOptions", "hideTransitionOptions", "loading"], outputs: ["onNodeExpand", "onNodeCollapse", "onShow", "onHide", "onClear", "onFilter", "onFocus", "onBlur", "onNodeUnselect", "onNodeSelect"] }, { kind: "component", type: i8$3.TimesCircleIcon, selector: "TimesCircleIcon" }] }); }
5463
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvTreeMultiSelectComponent, selector: "kv-tree-multi-select", inputs: { appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: false, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: false, isRequired: false, transformFunction: null }, itemTemplates: { classPropertyName: "itemTemplates", publicName: "itemTemplates", isSignal: false, isRequired: false, transformFunction: null }, propagateSelectionDown: { classPropertyName: "propagateSelectionDown", publicName: "propagateSelectionDown", isSignal: true, isRequired: false, transformFunction: null }, propagateSelectionUp: { classPropertyName: "propagateSelectionUp", publicName: "propagateSelectionUp", isSignal: true, isRequired: false, transformFunction: null } }, providers: ComponentProviders(KvTreeMultiSelectComponent), usesInheritance: true, ngImport: i0, template: "<span>\n <kv-label\n [componentId]=\"componentId\"\n [label]=\"label && label + (showAsterisk ? '*' : '')\"\n />\n\n <p-treeSelect\n inputId=\"tree-multi-select\"\n [class]=\"baseInputClass\"\n [disabled]=\"disabled\"\n [options]=\"options\"\n [filter]=\"filter\"\n [showClear]=\"showClear\"\n [(ngModel)]=\"value\"\n (onNodeSelect)=\"selectionChange($event)\"\n (onNodeUnselect)=\"selectionChange($event)\"\n (onPanelHide)=\"panelHide($event)\"\n [appendTo]=\"appendTo\"\n [metaKeySelection]=\"false\"\n styleClass=\"inputs\"\n containerStyleClass=\"inputs\"\n selectionMode=\"checkbox\"\n display=\"chip\"\n [propagateSelectionDown]=\"propagateSelectionDown()\"\n [propagateSelectionUp]=\"propagateSelectionUp()\"\n >\n <ng-template let-value pTemplate=\"value\" class=\"w-full\">\n <div\n class=\"p-multiselect p-multiselect-chip p-multiselect-label w-full flex flex-nowrap\"\n >\n <div\n #token\n *ngFor=\"let chip of chips; let i = index\"\n class=\"p-multiselect-token\"\n >\n <span class=\"p-multiselect-token-label\">{{ chip.label }}</span>\n\n <TimesCircleIcon\n [styleClass]=\"'p-multiselect-token-icon'\"\n (click)=\"removerChip(chip, $event)\"\n [attr.data-pc-section]=\"'clearicon'\"\n [attr.aria-hidden]=\"true\"\n />\n </div>\n </div>\n </ng-template>\n\n @for (templateItem of itemTemplates; track $index) {\n <ng-template let-node [pTemplate]=\"templateItem.type\">\n @if(templateItem.template) {\n <ng-container\n [ngTemplateOutlet]=\"templateItem.template\"\n [ngTemplateOutletContext]=\"{ $implicit: node }\"\n >\n </ng-container>\n }\n </ng-template>\n\n }\n\n <ng-template let-node pTemplate=\"default\">\n {{ node.label }}\n </ng-template>\n </p-treeSelect>\n\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\n</span>\n<ng-content></ng-content>\n", styles: [":host ::ng-deep .disable .p-treeselect.p-treeselect-chip .p-treeselect-token .p-icon-wrapper{display:none!important}::ng-deep .p-treeselect.p-treeselect-chip .p-treeselect-token{padding:.1rem .4rem}::ng-deep .p-treeselect-label{padding:0rem;display:flex}::ng-deep .p-treeselect-item{font-size:.875rem;padding:.5rem;text-overflow:ellipsis;width:100%}::ng-deep .p-treeselect{width:100%}::ng-deep p-treeselect p-overlay .p-overlay{max-width:100%}::ng-deep .p-treeselect-items-wrapper .p-treeselect-items{padding:.75rem}::ng-deep .p-treeselect-filter{height:1.875rem}::ng-deep .p-treeselect-panel .p-treeselect-items .p-treeselect-empty-message{padding:.75rem;font-size:.875rem}::ng-deep .p-treeselect-panel .p-treeselect-header{padding:.5rem}:host ::ng-deep .p-chips .p-chips-multiple-container .p-chips-token{padding:.1rem .4rem;transform:translateY(-3px)}:host ::ng-deep .p-chips .p-chips-multiple-container{border:none}:host ::ng-deep .p-chip{background:red;padding:.1rem .4rem;font-size:.875rem;margin-right:.5rem;background:#e5e7eb;color:#4b5563;border-radius:16px;height:15px}::ng-deep .p-multiselect.p-multiselect-chip .p-multiselect-token{padding:.1rem .4rem}:host ::ng-deep .p-multiselect.p-multiselect-chip.p-multiselect-label{border:none}:host ::ng-deep .p-treeselect-label,:host ::ng-deep .p-multiselect-label{width:100%;padding:.09rem .4rem;display:flex}:host ::ng-deep .p-multiselect-token{max-width:max-content}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter var,Inter,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter var,Inter,sans-serif!important}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: KvErrorComponent, selector: "kv-error", inputs: ["formControl", "hasError"] }, { kind: "component", type: KvLabelComponent, selector: "kv-label", inputs: ["componentId", "label"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i7$2.TreeSelect, selector: "p-treeSelect", inputs: ["inputId", "scrollHeight", "disabled", "metaKeySelection", "variant", "display", "selectionMode", "tabindex", "ariaLabel", "ariaLabelledBy", "placeholder", "panelClass", "panelStyle", "panelStyleClass", "containerStyle", "containerStyleClass", "labelStyle", "labelStyleClass", "overlayOptions", "emptyMessage", "appendTo", "filter", "filterBy", "filterMode", "filterPlaceholder", "filterLocale", "filterInputAutoFocus", "propagateSelectionDown", "propagateSelectionUp", "showClear", "resetFilterOnHide", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "autofocus", "options", "showTransitionOptions", "hideTransitionOptions", "loading"], outputs: ["onNodeExpand", "onNodeCollapse", "onShow", "onHide", "onClear", "onFilter", "onFocus", "onBlur", "onNodeUnselect", "onNodeSelect"] }, { kind: "component", type: i8$3.TimesCircleIcon, selector: "TimesCircleIcon" }] }); }
5843
5464
  }
5844
5465
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTreeMultiSelectComponent, decorators: [{
5845
5466
  type: Component,
5846
- args: [{ selector: 'kv-tree-multi-select', providers: ComponentProviders(KvTreeMultiSelectComponent), template: "<span>\r\n <kv-label\r\n [componentId]=\"componentId\"\r\n [label]=\"label && label + (showAsterisk ? '*' : '')\"\r\n />\r\n\r\n <p-treeSelect\r\n inputId=\"tree-multi-select\"\r\n [class]=\"baseInputClass\"\r\n [disabled]=\"disabled\"\r\n [options]=\"options\"\r\n [filter]=\"filter\"\r\n [showClear]=\"showClear\"\r\n [(ngModel)]=\"value\"\r\n (onNodeSelect)=\"selectionChange($event)\"\r\n (onNodeUnselect)=\"selectionChange($event)\"\r\n (onPanelHide)=\"panelHide($event)\"\r\n [appendTo]=\"appendTo\"\r\n [metaKeySelection]=\"false\"\r\n styleClass=\"inputs\"\r\n containerStyleClass=\"inputs\"\r\n selectionMode=\"checkbox\"\r\n display=\"chip\"\r\n [propagateSelectionDown]=\"propagateSelectionDown()\"\r\n [propagateSelectionUp]=\"propagateSelectionUp()\"\r\n >\r\n <ng-template let-value pTemplate=\"value\" class=\"w-full\">\r\n <div\r\n class=\"p-multiselect p-multiselect-chip p-multiselect-label w-full flex flex-nowrap\"\r\n >\r\n <div\r\n #token\r\n *ngFor=\"let chip of chips; let i = index\"\r\n class=\"p-multiselect-token\"\r\n >\r\n <span class=\"p-multiselect-token-label\">{{ chip.label }}</span>\r\n\r\n <TimesCircleIcon\r\n [styleClass]=\"'p-multiselect-token-icon'\"\r\n (click)=\"removerChip(chip, $event)\"\r\n [attr.data-pc-section]=\"'clearicon'\"\r\n [attr.aria-hidden]=\"true\"\r\n />\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n @for (templateItem of itemTemplates; track $index) {\r\n <ng-template let-node [pTemplate]=\"templateItem.type\">\r\n @if(templateItem.template) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"templateItem.template\"\r\n [ngTemplateOutletContext]=\"{ $implicit: node }\"\r\n >\r\n </ng-container>\r\n }\r\n </ng-template>\r\n\r\n }\r\n\r\n <ng-template let-node pTemplate=\"default\">\r\n {{ node.label }}\r\n </ng-template>\r\n </p-treeSelect>\r\n\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: [":host ::ng-deep .disable .p-treeselect.p-treeselect-chip .p-treeselect-token .p-icon-wrapper{display:none!important}::ng-deep .p-treeselect.p-treeselect-chip .p-treeselect-token{padding:.1rem .4rem}::ng-deep .p-treeselect-label{padding:0rem;display:flex}::ng-deep .p-treeselect-item{font-size:.875rem;padding:.5rem;text-overflow:ellipsis;width:100%}::ng-deep .p-treeselect{width:100%}::ng-deep p-treeselect p-overlay .p-overlay{max-width:100%}::ng-deep .p-treeselect-items-wrapper .p-treeselect-items{padding:.75rem}::ng-deep .p-treeselect-filter{height:1.875rem}::ng-deep .p-treeselect-panel .p-treeselect-items .p-treeselect-empty-message{padding:.75rem;font-size:.875rem}::ng-deep .p-treeselect-panel .p-treeselect-header{padding:.5rem}:host ::ng-deep .p-chips .p-chips-multiple-container .p-chips-token{padding:.1rem .4rem;transform:translateY(-3px)}:host ::ng-deep .p-chips .p-chips-multiple-container{border:none}:host ::ng-deep .p-chip{background:red;padding:.1rem .4rem;font-size:.875rem;margin-right:.5rem;background:#e5e7eb;color:#4b5563;border-radius:16px;height:15px}::ng-deep .p-multiselect.p-multiselect-chip .p-multiselect-token{padding:.1rem .4rem}:host ::ng-deep .p-multiselect.p-multiselect-chip.p-multiselect-label{border:none}:host ::ng-deep .p-treeselect-label,:host ::ng-deep .p-multiselect-label{width:100%;padding:.09rem .4rem;display:flex}:host ::ng-deep .p-multiselect-token{max-width:max-content}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter var,Inter,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter var,Inter,sans-serif!important}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}\n"] }]
5467
+ args: [{ selector: 'kv-tree-multi-select', providers: ComponentProviders(KvTreeMultiSelectComponent), template: "<span>\n <kv-label\n [componentId]=\"componentId\"\n [label]=\"label && label + (showAsterisk ? '*' : '')\"\n />\n\n <p-treeSelect\n inputId=\"tree-multi-select\"\n [class]=\"baseInputClass\"\n [disabled]=\"disabled\"\n [options]=\"options\"\n [filter]=\"filter\"\n [showClear]=\"showClear\"\n [(ngModel)]=\"value\"\n (onNodeSelect)=\"selectionChange($event)\"\n (onNodeUnselect)=\"selectionChange($event)\"\n (onPanelHide)=\"panelHide($event)\"\n [appendTo]=\"appendTo\"\n [metaKeySelection]=\"false\"\n styleClass=\"inputs\"\n containerStyleClass=\"inputs\"\n selectionMode=\"checkbox\"\n display=\"chip\"\n [propagateSelectionDown]=\"propagateSelectionDown()\"\n [propagateSelectionUp]=\"propagateSelectionUp()\"\n >\n <ng-template let-value pTemplate=\"value\" class=\"w-full\">\n <div\n class=\"p-multiselect p-multiselect-chip p-multiselect-label w-full flex flex-nowrap\"\n >\n <div\n #token\n *ngFor=\"let chip of chips; let i = index\"\n class=\"p-multiselect-token\"\n >\n <span class=\"p-multiselect-token-label\">{{ chip.label }}</span>\n\n <TimesCircleIcon\n [styleClass]=\"'p-multiselect-token-icon'\"\n (click)=\"removerChip(chip, $event)\"\n [attr.data-pc-section]=\"'clearicon'\"\n [attr.aria-hidden]=\"true\"\n />\n </div>\n </div>\n </ng-template>\n\n @for (templateItem of itemTemplates; track $index) {\n <ng-template let-node [pTemplate]=\"templateItem.type\">\n @if(templateItem.template) {\n <ng-container\n [ngTemplateOutlet]=\"templateItem.template\"\n [ngTemplateOutletContext]=\"{ $implicit: node }\"\n >\n </ng-container>\n }\n </ng-template>\n\n }\n\n <ng-template let-node pTemplate=\"default\">\n {{ node.label }}\n </ng-template>\n </p-treeSelect>\n\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\n</span>\n<ng-content></ng-content>\n", styles: [":host ::ng-deep .disable .p-treeselect.p-treeselect-chip .p-treeselect-token .p-icon-wrapper{display:none!important}::ng-deep .p-treeselect.p-treeselect-chip .p-treeselect-token{padding:.1rem .4rem}::ng-deep .p-treeselect-label{padding:0rem;display:flex}::ng-deep .p-treeselect-item{font-size:.875rem;padding:.5rem;text-overflow:ellipsis;width:100%}::ng-deep .p-treeselect{width:100%}::ng-deep p-treeselect p-overlay .p-overlay{max-width:100%}::ng-deep .p-treeselect-items-wrapper .p-treeselect-items{padding:.75rem}::ng-deep .p-treeselect-filter{height:1.875rem}::ng-deep .p-treeselect-panel .p-treeselect-items .p-treeselect-empty-message{padding:.75rem;font-size:.875rem}::ng-deep .p-treeselect-panel .p-treeselect-header{padding:.5rem}:host ::ng-deep .p-chips .p-chips-multiple-container .p-chips-token{padding:.1rem .4rem;transform:translateY(-3px)}:host ::ng-deep .p-chips .p-chips-multiple-container{border:none}:host ::ng-deep .p-chip{background:red;padding:.1rem .4rem;font-size:.875rem;margin-right:.5rem;background:#e5e7eb;color:#4b5563;border-radius:16px;height:15px}::ng-deep .p-multiselect.p-multiselect-chip .p-multiselect-token{padding:.1rem .4rem}:host ::ng-deep .p-multiselect.p-multiselect-chip.p-multiselect-label{border:none}:host ::ng-deep .p-treeselect-label,:host ::ng-deep .p-multiselect-label{width:100%;padding:.09rem .4rem;display:flex}:host ::ng-deep .p-multiselect-token{max-width:max-content}\n", "@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter var,Inter,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter var,Inter,sans-serif!important}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}\n"] }]
5847
5468
  }], ctorParameters: () => [{ type: ComponentService }, { type: i2$1.FormBuilder }], propDecorators: { appendTo: [{
5848
5469
  type: Input
5849
5470
  }], options: [{
@@ -8966,7 +8587,7 @@ class KvFilterFieldsetComponent {
8966
8587
  this.collapsedEvent.emit(this.isCollapsed);
8967
8588
  }
8968
8589
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvFilterFieldsetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8969
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvFilterFieldsetComponent, selector: "kv-filter-fieldset", inputs: { isExpandable: "isExpandable" }, outputs: { collapsedEvent: "collapsedEvent" }, ngImport: i0, template: "<p-fieldset styleClass=\"p-0 mb-2\">\r\n <ng-template pTemplate=\"header\">\r\n @if(isExpandable) {\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-center {{\r\n isExpandable && 'cursor-pointer'\r\n }}\"\r\n (click)=\"toggleField()\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined flex align-items-center justify-content-center mr-1\"\r\n style=\"font-size: 1.2rem\"\r\n >\r\n {{ isCollapsed ? \"remove\" : \"add\" }}\r\n </span>\r\n\r\n <span class=\"text-xs\"> Filtros </span>\r\n </div>\r\n } @if(!isExpandable) {\r\n <span class=\"text-xs\"> Filtros </span>\r\n }\r\n </ng-template>\r\n\r\n <ng-content></ng-content>\r\n</p-fieldset>\r\n", styles: ["::ng-deep .p-fieldset .p-fieldset-legend{padding:.1rem .1rem 0rem!important;margin-left:1rem}::ng-deep .p-fieldset .p-fieldset-legend{background-color:#fff;border:none}::ng-deep .p-fieldset .p-fieldset-legend:hover{background-color:#f5f5f5}::ng-deep .p-fieldset .p-fieldset-legend:active{background-color:#e0e0e0}::ng-deep .p-fieldset .p-fieldset-content{padding:0 .5rem .5rem}\n"], dependencies: [{ kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i2$5.Fieldset, selector: "p-fieldset", inputs: ["legend", "toggleable", "collapsed", "style", "styleClass", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }] }); }
8590
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvFilterFieldsetComponent, selector: "kv-filter-fieldset", inputs: { isExpandable: "isExpandable" }, outputs: { collapsedEvent: "collapsedEvent" }, ngImport: i0, template: "<p-fieldset styleClass=\"p-0 mb-2\">\r\n <ng-template pTemplate=\"header\">\r\n @if(isExpandable) {\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-center {{\r\n isExpandable && 'cursor-pointer'\r\n }}\"\r\n (click)=\"toggleField()\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined flex align-items-center justify-content-center mr-1\"\r\n style=\"font-size: 1.2rem\"\r\n >\r\n {{ isCollapsed ? \"remove\" : \"add\" }}\r\n </span>\r\n\r\n <span class=\"text-xs\"> Filtros </span>\r\n </div>\r\n } @if(!isExpandable) {\r\n <span class=\"text-xs\"> Filtros </span>\r\n }\r\n </ng-template>\r\n\r\n <ng-content></ng-content>\r\n</p-fieldset>\r\n", styles: ["::ng-deep .p-fieldset .p-fieldset-legend{padding:.1rem .1rem 0rem!important;margin-left:1rem}::ng-deep .p-fieldset .p-fieldset-legend{background-color:#fff;border:none}::ng-deep .p-fieldset .p-fieldset-legend:hover{background-color:#f5f5f5}::ng-deep .p-fieldset .p-fieldset-legend:active{background-color:#e0e0e0}::ng-deep .p-fieldset .p-fieldset-content{padding:0 .5rem .5rem}\n"], dependencies: [{ kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i2$4.Fieldset, selector: "p-fieldset", inputs: ["legend", "toggleable", "collapsed", "style", "styleClass", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }] }); }
8970
8591
  }
8971
8592
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvFilterFieldsetComponent, decorators: [{
8972
8593
  type: Component,