kivio 1.0.7 → 1.0.8

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.
@@ -1,22 +1,33 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
3
  import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
3
5
  export class KvAccordionComponent {
4
6
  constructor() {
5
7
  this.isOpen = false;
6
8
  this.title = '';
9
+ this.shouldShowImage = true;
10
+ this.opened = new EventEmitter();
7
11
  }
8
12
  toggle() {
9
13
  this.isOpen = !this.isOpen;
14
+ if (this.isOpen) {
15
+ this.opened.emit();
16
+ }
10
17
  }
11
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: KvAccordionComponent, isStandalone: true, selector: "lib-kv-accordion", inputs: { isOpen: "isOpen", title: "title" }, ngImport: i0, template: "<div class=\"accordion\">\r\n <div class=\"accordion-header\" (click)=\"toggle()\">\r\n <div class=\"accordion-title\">\r\n <img width=\"40px\" [src]=\"'https://i.imgur.com/InRaVrL.jpg'\" alt=\"User Avatar\" class=\"avatar\">\r\n <span>{{ title }}</span>\r\n </div>\r\n <span class=\"accordion-icon\" [class.open]=\"isOpen\">\u25BC</span>\r\n </div>\r\n <div class=\"accordion-content\" [class.open]=\"isOpen\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", styles: [".accordion{width:100%;margin:10px 0;border:1px solid #ddd;border-radius:4px;overflow:hidden;transition:all .3s ease}.accordion-header{padding:15px;background-color:#f8f9fa;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.accordion-header .accordion-title{display:flex;gap:10px}.accordion-header .accordion-title img{border-radius:50px}.accordion-header .accordion-title span{align-self:center}.accordion-header:hover{background-color:#e9ecef}.accordion-icon{transition:transform .3s ease}.accordion-icon.open{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;padding:0 15px;transition:max-height .3s ease-out,padding .3s ease-out}.accordion-content.open{max-height:500px;padding:15px}\n"] }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: KvAccordionComponent, isStandalone: true, selector: "lib-kv-accordion", inputs: { isOpen: "isOpen", title: "title", shouldShowImage: "shouldShowImage" }, outputs: { opened: "opened" }, ngImport: i0, template: "<div class=\"accordion\">\r\n <div class=\"accordion-header\" (click)=\"toggle()\">\r\n <div class=\"accordion-title\">\r\n <ng-container *ngIf=\"shouldShowImage\">\r\n <img width=\"40px\" [src]=\"'https://i.imgur.com/InRaVrL.jpg'\" alt=\"User Avatar\" class=\"avatar\">\r\n </ng-container>\r\n <span>{{ title }}</span>\r\n </div>\r\n <span class=\"accordion-icon\" [class.open]=\"isOpen\">\u25BC</span>\r\n </div>\r\n <div class=\"accordion-content\" [class.open]=\"isOpen\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", styles: [".accordion{width:100%;margin:10px 0;border:1px solid #ddd;border-radius:4px;overflow:hidden;transition:all .3s ease}.accordion-header{padding:15px;background-color:#f8f9fa;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.accordion-header .accordion-title{display:flex;gap:10px}.accordion-header .accordion-title img{border-radius:50px}.accordion-header .accordion-title span{align-self:center}.accordion-header:hover{background-color:#e9ecef}.accordion-icon{transition:transform .3s ease}.accordion-icon.open{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;padding:0 15px;transition:max-height .3s ease-out,padding .3s ease-out}.accordion-content.open{max-height:500px;padding:15px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
13
20
  }
14
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvAccordionComponent, decorators: [{
15
22
  type: Component,
16
- args: [{ selector: 'lib-kv-accordion', standalone: true, imports: [], template: "<div class=\"accordion\">\r\n <div class=\"accordion-header\" (click)=\"toggle()\">\r\n <div class=\"accordion-title\">\r\n <img width=\"40px\" [src]=\"'https://i.imgur.com/InRaVrL.jpg'\" alt=\"User Avatar\" class=\"avatar\">\r\n <span>{{ title }}</span>\r\n </div>\r\n <span class=\"accordion-icon\" [class.open]=\"isOpen\">\u25BC</span>\r\n </div>\r\n <div class=\"accordion-content\" [class.open]=\"isOpen\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", styles: [".accordion{width:100%;margin:10px 0;border:1px solid #ddd;border-radius:4px;overflow:hidden;transition:all .3s ease}.accordion-header{padding:15px;background-color:#f8f9fa;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.accordion-header .accordion-title{display:flex;gap:10px}.accordion-header .accordion-title img{border-radius:50px}.accordion-header .accordion-title span{align-self:center}.accordion-header:hover{background-color:#e9ecef}.accordion-icon{transition:transform .3s ease}.accordion-icon.open{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;padding:0 15px;transition:max-height .3s ease-out,padding .3s ease-out}.accordion-content.open{max-height:500px;padding:15px}\n"] }]
23
+ args: [{ selector: 'lib-kv-accordion', standalone: true, imports: [CommonModule], template: "<div class=\"accordion\">\r\n <div class=\"accordion-header\" (click)=\"toggle()\">\r\n <div class=\"accordion-title\">\r\n <ng-container *ngIf=\"shouldShowImage\">\r\n <img width=\"40px\" [src]=\"'https://i.imgur.com/InRaVrL.jpg'\" alt=\"User Avatar\" class=\"avatar\">\r\n </ng-container>\r\n <span>{{ title }}</span>\r\n </div>\r\n <span class=\"accordion-icon\" [class.open]=\"isOpen\">\u25BC</span>\r\n </div>\r\n <div class=\"accordion-content\" [class.open]=\"isOpen\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", styles: [".accordion{width:100%;margin:10px 0;border:1px solid #ddd;border-radius:4px;overflow:hidden;transition:all .3s ease}.accordion-header{padding:15px;background-color:#f8f9fa;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.accordion-header .accordion-title{display:flex;gap:10px}.accordion-header .accordion-title img{border-radius:50px}.accordion-header .accordion-title span{align-self:center}.accordion-header:hover{background-color:#e9ecef}.accordion-icon{transition:transform .3s ease}.accordion-icon.open{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;padding:0 15px;transition:max-height .3s ease-out,padding .3s ease-out}.accordion-content.open{max-height:500px;padding:15px}\n"] }]
17
24
  }], propDecorators: { isOpen: [{
18
25
  type: Input
19
26
  }], title: [{
20
27
  type: Input
28
+ }], shouldShowImage: [{
29
+ type: Input
30
+ }], opened: [{
31
+ type: Output
21
32
  }] } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdmlvL3NyYy9saWIvY29tcG9uZW50cy9rdi1hY2NvcmRpb24va3YtYWNjb3JkaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdmlvL3NyYy9saWIvY29tcG9uZW50cy9rdi1hY2NvcmRpb24va3YtYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVNqRCxNQUFNLE9BQU8sb0JBQW9CO0lBUGpDO1FBUVcsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFVBQUssR0FBRyxFQUFFLENBQUM7S0FLckI7SUFIQyxNQUFNO1FBQ0osSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQzsrR0FOVSxvQkFBb0I7bUdBQXBCLG9CQUFvQiwwSENUakMsOGdCQVdNOzs0RkRGTyxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxFQUFFOzhCQUtGLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1rdi1hY2NvcmRpb24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW10sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWFjY29yZGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2t2LWFjY29yZGlvbi5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEt2QWNjb3JkaW9uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBpc09wZW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSB0aXRsZSA9ICcnO1xyXG5cclxuICB0b2dnbGUoKSB7XHJcbiAgICB0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlbjtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFjY29yZGlvblwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1oZWFkZXJcIiAoY2xpY2spPVwidG9nZ2xlKClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLXRpdGxlXCI+XHJcbiAgICAgICAgICAgIDxpbWcgd2lkdGg9XCI0MHB4XCIgW3NyY109XCInaHR0cHM6Ly9pLmltZ3VyLmNvbS9JblJhVnJMLmpwZydcIiBhbHQ9XCJVc2VyIEF2YXRhclwiIGNsYXNzPVwiYXZhdGFyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IHRpdGxlIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjb3JkaW9uLWljb25cIiBbY2xhc3Mub3Blbl09XCJpc09wZW5cIj7ilrw8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tY29udGVudFwiIFtjbGFzcy5vcGVuXT1cImlzT3BlblwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdmlvL3NyYy9saWIvY29tcG9uZW50cy9rdi1hY2NvcmRpb24va3YtYWNjb3JkaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdmlvL3NyYy9saWIvY29tcG9uZW50cy9rdi1hY2NvcmRpb24va3YtYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTdkUsTUFBTSxPQUFPLG9CQUFvQjtJQVBqQztRQVFXLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDdEIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0FRN0M7SUFOQyxNQUFNO1FBQ0osSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBRyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7K0dBWFUsb0JBQW9CO21HQUFwQixvQkFBb0IsNkxDVmpDLHltQkFhTSxnMEJEUE0sWUFBWTs7NEZBSVgsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7OEJBS2QsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1rdi1hY2NvcmRpb24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWFjY29yZGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2t2LWFjY29yZGlvbi5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEt2QWNjb3JkaW9uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBpc09wZW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSB0aXRsZSA9ICcnO1xyXG4gIEBJbnB1dCgpIHNob3VsZFNob3dJbWFnZSA9IHRydWU7XHJcbiAgQE91dHB1dCgpIG9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgdG9nZ2xlKCkge1xyXG4gICAgdGhpcy5pc09wZW4gPSAhdGhpcy5pc09wZW47XHJcbiAgICBpZih0aGlzLmlzT3Blbikge1xyXG4gICAgICB0aGlzLm9wZW5lZC5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhY2NvcmRpb25cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24taGVhZGVyXCIgKGNsaWNrKT1cInRvZ2dsZSgpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi10aXRsZVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvdWxkU2hvd0ltYWdlXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIHdpZHRoPVwiNDBweFwiIFtzcmNdPVwiJ2h0dHBzOi8vaS5pbWd1ci5jb20vSW5SYVZyTC5qcGcnXCIgYWx0PVwiVXNlciBBdmF0YXJcIiBjbGFzcz1cImF2YXRhclwiPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgdGl0bGUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhY2NvcmRpb24taWNvblwiIFtjbGFzcy5vcGVuXT1cImlzT3BlblwiPuKWvDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1jb250ZW50XCIgW2NsYXNzLm9wZW5dPVwiaXNPcGVuXCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -177,20 +177,29 @@ class KvAccordionComponent {
177
177
  constructor() {
178
178
  this.isOpen = false;
179
179
  this.title = '';
180
+ this.shouldShowImage = true;
181
+ this.opened = new EventEmitter();
180
182
  }
181
183
  toggle() {
182
184
  this.isOpen = !this.isOpen;
185
+ if (this.isOpen) {
186
+ this.opened.emit();
187
+ }
183
188
  }
184
189
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
185
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: KvAccordionComponent, isStandalone: true, selector: "lib-kv-accordion", inputs: { isOpen: "isOpen", title: "title" }, ngImport: i0, template: "<div class=\"accordion\">\r\n <div class=\"accordion-header\" (click)=\"toggle()\">\r\n <div class=\"accordion-title\">\r\n <img width=\"40px\" [src]=\"'https://i.imgur.com/InRaVrL.jpg'\" alt=\"User Avatar\" class=\"avatar\">\r\n <span>{{ title }}</span>\r\n </div>\r\n <span class=\"accordion-icon\" [class.open]=\"isOpen\">\u25BC</span>\r\n </div>\r\n <div class=\"accordion-content\" [class.open]=\"isOpen\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", styles: [".accordion{width:100%;margin:10px 0;border:1px solid #ddd;border-radius:4px;overflow:hidden;transition:all .3s ease}.accordion-header{padding:15px;background-color:#f8f9fa;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.accordion-header .accordion-title{display:flex;gap:10px}.accordion-header .accordion-title img{border-radius:50px}.accordion-header .accordion-title span{align-self:center}.accordion-header:hover{background-color:#e9ecef}.accordion-icon{transition:transform .3s ease}.accordion-icon.open{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;padding:0 15px;transition:max-height .3s ease-out,padding .3s ease-out}.accordion-content.open{max-height:500px;padding:15px}\n"] }); }
190
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: KvAccordionComponent, isStandalone: true, selector: "lib-kv-accordion", inputs: { isOpen: "isOpen", title: "title", shouldShowImage: "shouldShowImage" }, outputs: { opened: "opened" }, ngImport: i0, template: "<div class=\"accordion\">\r\n <div class=\"accordion-header\" (click)=\"toggle()\">\r\n <div class=\"accordion-title\">\r\n <ng-container *ngIf=\"shouldShowImage\">\r\n <img width=\"40px\" [src]=\"'https://i.imgur.com/InRaVrL.jpg'\" alt=\"User Avatar\" class=\"avatar\">\r\n </ng-container>\r\n <span>{{ title }}</span>\r\n </div>\r\n <span class=\"accordion-icon\" [class.open]=\"isOpen\">\u25BC</span>\r\n </div>\r\n <div class=\"accordion-content\" [class.open]=\"isOpen\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", styles: [".accordion{width:100%;margin:10px 0;border:1px solid #ddd;border-radius:4px;overflow:hidden;transition:all .3s ease}.accordion-header{padding:15px;background-color:#f8f9fa;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.accordion-header .accordion-title{display:flex;gap:10px}.accordion-header .accordion-title img{border-radius:50px}.accordion-header .accordion-title span{align-self:center}.accordion-header:hover{background-color:#e9ecef}.accordion-icon{transition:transform .3s ease}.accordion-icon.open{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;padding:0 15px;transition:max-height .3s ease-out,padding .3s ease-out}.accordion-content.open{max-height:500px;padding:15px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
186
191
  }
187
192
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvAccordionComponent, decorators: [{
188
193
  type: Component,
189
- args: [{ selector: 'lib-kv-accordion', standalone: true, imports: [], template: "<div class=\"accordion\">\r\n <div class=\"accordion-header\" (click)=\"toggle()\">\r\n <div class=\"accordion-title\">\r\n <img width=\"40px\" [src]=\"'https://i.imgur.com/InRaVrL.jpg'\" alt=\"User Avatar\" class=\"avatar\">\r\n <span>{{ title }}</span>\r\n </div>\r\n <span class=\"accordion-icon\" [class.open]=\"isOpen\">\u25BC</span>\r\n </div>\r\n <div class=\"accordion-content\" [class.open]=\"isOpen\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", styles: [".accordion{width:100%;margin:10px 0;border:1px solid #ddd;border-radius:4px;overflow:hidden;transition:all .3s ease}.accordion-header{padding:15px;background-color:#f8f9fa;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.accordion-header .accordion-title{display:flex;gap:10px}.accordion-header .accordion-title img{border-radius:50px}.accordion-header .accordion-title span{align-self:center}.accordion-header:hover{background-color:#e9ecef}.accordion-icon{transition:transform .3s ease}.accordion-icon.open{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;padding:0 15px;transition:max-height .3s ease-out,padding .3s ease-out}.accordion-content.open{max-height:500px;padding:15px}\n"] }]
194
+ args: [{ selector: 'lib-kv-accordion', standalone: true, imports: [CommonModule], template: "<div class=\"accordion\">\r\n <div class=\"accordion-header\" (click)=\"toggle()\">\r\n <div class=\"accordion-title\">\r\n <ng-container *ngIf=\"shouldShowImage\">\r\n <img width=\"40px\" [src]=\"'https://i.imgur.com/InRaVrL.jpg'\" alt=\"User Avatar\" class=\"avatar\">\r\n </ng-container>\r\n <span>{{ title }}</span>\r\n </div>\r\n <span class=\"accordion-icon\" [class.open]=\"isOpen\">\u25BC</span>\r\n </div>\r\n <div class=\"accordion-content\" [class.open]=\"isOpen\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", styles: [".accordion{width:100%;margin:10px 0;border:1px solid #ddd;border-radius:4px;overflow:hidden;transition:all .3s ease}.accordion-header{padding:15px;background-color:#f8f9fa;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.accordion-header .accordion-title{display:flex;gap:10px}.accordion-header .accordion-title img{border-radius:50px}.accordion-header .accordion-title span{align-self:center}.accordion-header:hover{background-color:#e9ecef}.accordion-icon{transition:transform .3s ease}.accordion-icon.open{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;padding:0 15px;transition:max-height .3s ease-out,padding .3s ease-out}.accordion-content.open{max-height:500px;padding:15px}\n"] }]
190
195
  }], propDecorators: { isOpen: [{
191
196
  type: Input
192
197
  }], title: [{
193
198
  type: Input
199
+ }], shouldShowImage: [{
200
+ type: Input
201
+ }], opened: [{
202
+ type: Output
194
203
  }] } });
195
204
 
196
205
  class KvAlertComponent {
@@ -1 +1 @@
1
- {"version":3,"file":"kivio.mjs","sources":["../../../projects/kivio/src/lib/enums/action-type.enum.ts","../../../projects/kivio/src/lib/components/kv-popup/kv-popup.component.ts","../../../projects/kivio/src/lib/components/kv-popup/kv-popup.component.html","../../../projects/kivio/src/lib/components/date-picker/date-picker.component.ts","../../../projects/kivio/src/lib/components/date-picker/date-picker.component.html","../../../projects/kivio/src/lib/components/resource-not-found/resource-not-found.component.ts","../../../projects/kivio/src/lib/components/resource-not-found/resource-not-found.component.html","../../../projects/kivio/src/lib/components/kv-step/kv-step.component.ts","../../../projects/kivio/src/lib/components/kv-step/kv-step.component.html","../../../projects/kivio/src/lib/components/kv-stepper/kv-stepper.component.ts","../../../projects/kivio/src/lib/components/kv-stepper/kv-stepper.component.html","../../../projects/kivio/src/lib/components/kv-accordion/kv-accordion.component.ts","../../../projects/kivio/src/lib/components/kv-accordion/kv-accordion.component.html","../../../projects/kivio/src/lib/components/kv-alert/kv-alert.component.ts","../../../projects/kivio/src/lib/components/kv-alert/kv-alert.component.html","../../../projects/kivio/src/lib/components/kv-side-menu/kv-side-menu.component.ts","../../../projects/kivio/src/lib/components/kv-side-menu/kv-side-menu.component.html","../../../projects/kivio/src/lib/components/kv-main-table/kv-main-table.component.ts","../../../projects/kivio/src/lib/components/kv-main-table/kv-main-table.component.html","../../../projects/kivio/src/lib/factories/form-factory.service.ts","../../../projects/kivio/src/lib/services/navigation.service.ts","../../../projects/kivio/src/lib/services/notification.service.ts","../../../projects/kivio/src/lib/services/session.service.ts","../../../projects/kivio/src/lib/services/auth-interceptor.service.ts","../../../projects/kivio/src/lib/services/auth.service.ts","../../../projects/kivio/src/lib/helpers/auth.helper.ts","../../../projects/kivio/src/lib/validators/password-missmatch.validator.ts","../../../projects/kivio/src/public-api.ts","../../../projects/kivio/src/kivio.ts"],"sourcesContent":["export enum ActionType {\r\n Info = \"info\",\r\n Warn = \"warn\",\r\n Error = \"error\",\r\n Advertise = \"advertise\"\r\n}","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { ActionType } from '../../enums/action-type.enum';\r\n\r\n@Component({\r\n selector: 'lib-kv-popup',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './kv-popup.component.html',\r\n styleUrl: './kv-popup.component.scss'\r\n})\r\nexport class KvPopupComponent{\r\n\r\n @Input() title: string = '';\r\n @Input() description!: string;\r\n @Input() isCustomTemplate!: boolean;\r\n @Input() actionType!: ActionType;\r\n @Output() onAccept: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() onClose: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n public actionTypeEnum = ActionType;\r\n\r\n public onAcceptSubmit(): void {\r\n this.onAccept.emit();\r\n }\r\n\r\n public onCloseSubmit(): void {\r\n this.onClose.emit();\r\n }\r\n}","<div class=\"popup-backdrop\">\r\n <div class=\"popup-container\">\r\n <div class=\"content-container\">\r\n <div *ngIf=\"!isCustomTemplate\">\r\n <ng-container *ngIf=\"actionType === actionTypeEnum.Warn\">\r\n <i class=\"icon material-icons\">error</i>\r\n </ng-container>\r\n <ng-container *ngIf=\"actionType === actionTypeEnum.Advertise\">\r\n <i class=\"icon material-icons\">warning</i>\r\n </ng-container>\r\n </div>\r\n <div>\r\n <div class=\"title\">{{ title }}</div>\r\n <div *ngIf=\"description\">\r\n <p class=\"description\">{{ description }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"isCustomTemplate; else defaultContent\">\r\n <ng-content></ng-content>\r\n </ng-container>\r\n <ng-template #defaultContent>\r\n <ng-container *ngIf=\"actionType === actionTypeEnum.Info\">\r\n <div class=\"button-container\">\r\n <button class=\"button--cancel\" (click)=\"onCloseSubmit()\">Cancel</button>\r\n <button class=\"button--primary\" (click)=\"onAcceptSubmit()\">Aceptar</button>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"actionType === actionTypeEnum.Warn\">\r\n <div class=\"button-container\">\r\n <button class=\"button--cancel\" (click)=\"onCloseSubmit()\">Cancel</button>\r\n <button class=\"button--warn\" (click)=\"onAcceptSubmit()\">Delete</button>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"actionType === actionTypeEnum.Advertise\">\r\n <div class=\"button-container\">\r\n <button class=\"button--cancel\" (click)=\"onCloseSubmit()\">Cancel</button>\r\n <button class=\"button--warn\" (click)=\"onAcceptSubmit()\">Continuar</button>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Output, Input } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-kv-date-picker',\r\n standalone: true,\r\n imports: [FormsModule, CommonModule],\r\n templateUrl: './date-picker.component.html',\r\n styleUrl: './date-picker.component.scss'\r\n})\r\nexport class DatePickerComponent {\r\n @Input() initialDate?: Date;\r\n @Input() showDetails = false;\r\n @Output() dateSelected = new EventEmitter<Date>();\r\n\r\n selectedDate: Date = new Date();\r\n minDate: string = '';\r\n\r\n ngOnInit() {\r\n this.minDate = this.formatDateForInput(new Date());\r\n\r\n if (this.initialDate) {\r\n this.selectedDate = this.initialDate >= new Date(this.minDate) ? this.initialDate : new Date();\r\n }\r\n }\r\n\r\n formatDateForInput(date: Date): string {\r\n const year = date.getFullYear();\r\n const month = String(date.getMonth() + 1).padStart(2, '0');\r\n const day = String(date.getDate()).padStart(2, '0');\r\n return `${year}-${month}-${day}`;\r\n }\r\n\r\n onDateChange(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n const newDate = new Date(input.value + \"T00:00:00\");\r\n\r\n if (newDate >= new Date(this.minDate)) {\r\n this.selectedDate = newDate;\r\n this.dateSelected.emit(this.selectedDate);\r\n } else {\r\n input.value = this.minDate;\r\n }\r\n }\r\n}\r\n","<div class=\"date-picker\">\r\n <input \r\n type=\"date\" \r\n [value]=\"formatDateForInput(selectedDate)\" \r\n [min]=\"minDate\" \r\n (input)=\"onDateChange($event)\" \r\n class=\"form-control\">\r\n \r\n <div *ngIf=\"showDetails\" class=\"date-details\">\r\n <p>{{ selectedDate | date:'fullDate' }}</p>\r\n </div>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-resource-not-found',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './resource-not-found.component.html',\r\n styleUrl: './resource-not-found.component.scss'\r\n})\r\nexport class ResourceNotFoundComponent {\r\n\r\n}\r\n","<div class=\"not-found\">\r\n <h2>Recurso no encontrado</h2>\r\n <p>El recurso consultado no está disponible</p>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, ContentChild, Input, TemplateRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-kv-step',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './kv-step.component.html',\r\n styleUrl: './kv-step.component.scss'\r\n})\r\nexport class KvStepComponent {\r\n @Input() title!: string;\r\n @Input() description!: string;\r\n @ContentChild(TemplateRef) content!: TemplateRef<any>;\r\n}\r\n","<p>kv-step works!</p>\r\n","import { CommonModule } from '@angular/common';\r\nimport { AfterContentInit, Component, ContentChildren, EventEmitter, Input, Output, QueryList, signal, TemplateRef } from '@angular/core';\r\nimport { KvStepComponent } from '../kv-step/kv-step.component';\r\n\r\n@Component({\r\n selector: 'lib-kv-stepper',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './kv-stepper.component.html',\r\n styleUrl: './kv-stepper.component.scss'\r\n})\r\n\r\nexport class KvStepperComponent implements AfterContentInit {\r\n currentStep = signal(0);\r\n \r\n @ContentChildren(KvStepComponent) steps!: QueryList<KvStepComponent>;\r\n\r\n @Input() public isSimpleStepper: boolean = false;\r\n @Input() public isVertical: boolean = false;\r\n @Input() public isAssociated: boolean = false;\r\n @Output() submit = new EventEmitter<void>();\r\n @Output() closeEvent = new EventEmitter<void>();\r\n @Output() isLastStep = new EventEmitter<boolean>();\r\n\r\n ngAfterContentInit() {\r\n if (this.steps.length === 0) {\r\n console.error('No se encontraron pasos en el stepper');\r\n }\r\n }\r\n\r\n next() {\r\n this.isLastStep.emit(true);\r\n if (this.currentStep() < this.steps.length - 1) {\r\n this.currentStep.update(val => val + 1);\r\n }\r\n }\r\n\r\n previous() {\r\n if (this.currentStep() > 0) {\r\n this.currentStep.update(val => val - 1);\r\n this.isLastStep.emit(true);\r\n }\r\n }\r\n\r\n close() {\r\n this.closeEvent.emit();\r\n }\r\n}","<ng-container *ngIf=\"!isSimpleStepper\">\r\n <div class=\"stepper-container\">\r\n <div class=\"step-header\">\r\n <div *ngFor=\"let step of steps; let i = index\" class=\"step-item\" [class.active]=\"currentStep() === i\"\r\n [class.completed]=\"i < currentStep()\">\r\n <div class=\"step-number\">{{ i + 1 }}</div>\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"step-content\">\r\n <ng-container *ngIf=\"steps.get(currentStep())?.content\">\r\n <ng-container *ngTemplateOutlet=\"steps.get(currentStep())!.content\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n \r\n <div class=\"step-actions\">\r\n <button class=\"button--cancel\" (click)=\"close()\">Cancel</button>\r\n <button class=\"button--primary-min\" *ngIf=\"currentStep() > 0\" (click)=\"previous()\">Anterior</button>\r\n <button class=\"button--primary-min\" *ngIf=\"currentStep() < steps.length - 1\" (click)=\"next()\" [disabled]=\"!isAssociated\">Next</button>\r\n <button class=\"button--primary-min\" *ngIf=\"currentStep() === steps.length - 1\" (click)=\"submit.emit()\">Create</button>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"isSimpleStepper && !isVertical\">\r\n <div class=\"stepper-container-simple\">\r\n <div class=\"step-header\">\r\n <div *ngFor=\"let step of steps; let i = index\" class=\"step-item\" [class.active]=\"currentStep() === i\"\r\n [class.completed]=\"i < currentStep()\">\r\n <div class=\"step-number\">{{ i + 1 }}</div>\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"step-content-simple\">\r\n <ng-container *ngIf=\"steps.get(currentStep())?.content\">\r\n <ng-container *ngTemplateOutlet=\"steps.get(currentStep())!.content\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"isSimpleStepper && isVertical\">\r\n <div class=\"stepper-container-vertical\">\r\n <div class=\"vertical-steps\">\r\n <div *ngFor=\"let step of steps; let i = index\" class=\"vertical-step-item\">\r\n <div class=\"step-indicator-container\">\r\n <div class=\"vertical-step-indicator\" \r\n [class.active]=\"currentStep() === i\"\r\n [class.completed]=\"i < currentStep()\">\r\n <div class=\"step-number\">{{ i + 1 }}</div>\r\n </div>\r\n <div class=\"vertical-line\" *ngIf=\"i !== steps.length - 1\"></div>\r\n </div>\r\n <div class=\"title-container\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div class=\"step-description\">{{ step.description }}</div>\r\n </div>\r\n <div class=\"vertical-step-content\" \r\n [class.active]=\"currentStep() === i\"\r\n (click)=\"currentStep.set(i)\">\r\n <div class=\"step-content-vertical\" *ngIf=\"currentStep() === i\">\r\n <ng-container *ngTemplateOutlet=\"step.content\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-kv-accordion',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './kv-accordion.component.html',\r\n styleUrl: './kv-accordion.component.scss'\r\n})\r\nexport class KvAccordionComponent {\r\n @Input() isOpen = false;\r\n @Input() title = '';\r\n\r\n toggle() {\r\n this.isOpen = !this.isOpen;\r\n }\r\n}\r\n","<div class=\"accordion\">\r\n <div class=\"accordion-header\" (click)=\"toggle()\">\r\n <div class=\"accordion-title\">\r\n <img width=\"40px\" [src]=\"'https://i.imgur.com/InRaVrL.jpg'\" alt=\"User Avatar\" class=\"avatar\">\r\n <span>{{ title }}</span>\r\n </div>\r\n <span class=\"accordion-icon\" [class.open]=\"isOpen\">▼</span>\r\n </div>\r\n <div class=\"accordion-content\" [class.open]=\"isOpen\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-kv-alert',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './kv-alert.component.html',\r\n styleUrl: './kv-alert.component.scss'\r\n})\r\nexport class KvAlertComponent implements OnInit{\r\n\r\n @Input() message: string = '';\r\n @Input() description: string = '';\r\n @Input() type = 'warning';\r\n @Input() timeoutDuration: number = 5000;\r\n @Output() close = new EventEmitter<void>();\r\n\r\n ngOnInit() {\r\n if (this.timeoutDuration > 0) {\r\n setTimeout(() => this.onClose(), this.timeoutDuration);\r\n }\r\n }\r\n\r\n onClose() {\r\n this.close.emit();\r\n }\r\n\r\n}\r\n","<div class=\"alert-container\">\r\n <div class=\"icon\" [ngClass]=\"type\">\r\n <ng-container *ngIf=\"type === 'success'\">\r\n <i class=\"icon material-icons\">check</i>\r\n </ng-container>\r\n <ng-container *ngIf=\"type !== 'success'\">\r\n <i class=\"icon material-icons\">close</i>\r\n </ng-container>\r\n </div>\r\n <div class=\"message\">\r\n <strong>{{ message }}</strong>\r\n <p>{{ description }}</p>\r\n </div>\r\n <button class=\"close-btn\" (click)=\"onClose()\">&#10006;</button>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-kv-side-menu',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './kv-side-menu.component.html',\r\n styleUrl: './kv-side-menu.component.scss'\r\n})\r\nexport class KvSideMenuComponent {\r\n @Input() breadcrumb: string = '';\r\n @Output() onEdit: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n @Output() onClose: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() onDelete: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() onSaveChanges: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n public isEditMode: boolean = false;\r\n\r\n public handleEditButtonClicked(): void {\r\n this.isEditMode = !this.isEditMode;\r\n this.onEdit.emit(this.isEditMode);\r\n }\r\n\r\n public handleCloseButtonClicked(): void {\r\n this.onClose.emit();\r\n }\r\n\r\n public handleDeleteButtonClicked(): void {\r\n this.onDelete.emit();\r\n }\r\n\r\n public handleSaveChangesButtonClicked(): void {\r\n this.onSaveChanges.emit();\r\n }\r\n}\r\n","<div class=\"right-menu\">\r\n <div class=\"header\">\r\n <ng-container *ngIf=\"!isEditMode\">\r\n <span>{{ breadcrumb }}</span>\r\n <div>\r\n <button class=\"section-button\" (click)=\"handleDeleteButtonClicked()\"><i class=\"icon material-icons\">delete</i></button>\r\n <button class=\"edit-button section-button\" (click)=\"handleEditButtonClicked()\"><i class=\"icon material-icons\">edit</i></button>\r\n <button class=\"close-button section-button\" (click)=\"handleCloseButtonClicked()\"><i class=\"icon material-icons\">close</i></button>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"isEditMode\">\r\n <button class=\"edit-button section-button\" (click)=\"handleEditButtonClicked()\"><i class=\"icon material-icons\">arrow_back</i></button>\r\n <div>\r\n <button class=\"button--primary-min\" (click)=\"handleSaveChangesButtonClicked()\">Save changes</button>\r\n </div>\r\n </ng-container>\r\n \r\n </div>\r\n <div class=\"body\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-kv-main-table',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule],\r\n templateUrl: './kv-main-table.component.html',\r\n styleUrl: './kv-main-table.component.scss'\r\n})\r\nexport class KvMainTableComponent {\r\n\r\n @Input() columns: { key: string; label: string }[] = [];\r\n @Input() data: any[] = [];\r\n @Input() extraData!: any[];\r\n @Input() showPaginator: boolean = true;\r\n @Output() onNameClicked: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n searchText: string = '';\r\n currentPage: number = 1;\r\n pageSize: number = 5;\r\n\r\n get filteredData() {\r\n return this.data\r\n .filter((item) =>\r\n this.columns.some((col) =>\r\n item[col.key]?.toString().toLowerCase().includes(this.searchText.toLowerCase())\r\n )\r\n )\r\n .slice((this.currentPage - 1) * this.pageSize, this.currentPage * this.pageSize);\r\n }\r\n\r\n totalPages(): number {\r\n return Math.ceil(\r\n this.data.filter((item) =>\r\n this.columns.some((col) =>\r\n item[col.key]?.toString().toLowerCase().includes(this.searchText.toLowerCase())\r\n )\r\n ).length / this.pageSize\r\n );\r\n }\r\n\r\n changePage(direction: number) {\r\n const newPage = this.currentPage + direction;\r\n if (newPage > 0 && newPage <= this.totalPages()) {\r\n this.currentPage = newPage;\r\n }\r\n }\r\n\r\n public getPosName( posId : string): string{\r\n return this.extraData.find( pos => pos.point_of_sale_id === posId)?.name || \"\";\r\n }\r\n\r\n public emitData(data: any){\r\n this.onNameClicked.emit(data);\r\n }\r\n\r\n}\r\n","<div class=\"search-container\">\r\n\r\n <div class=\"search-section\">\r\n <input type=\"text\" placeholder=\"Buscar...\" [(ngModel)]=\"searchText\" />\r\n </div>\r\n</div>\r\n\r\n<table>\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let column of columns\">{{ column.label }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let item of filteredData\">\r\n <td *ngFor=\"let column of columns\">\r\n <div class=\"state\" [ngClass]=\"item[column.key]\">\r\n <ng-container *ngIf=\"column.key === 'name'\">\r\n <a class=\"a-link\" (click)=\"emitData(item)\">{{ item[column.key] }}</a>\r\n </ng-container>\r\n <ng-container *ngIf=\"column.key === 'images'\">\r\n <div class=\"image-container\">\r\n <div *ngFor=\"let image of item[column.key]?.slice(0, 3)\">\r\n <img [src]=\"image\" alt=\"Imagen\">\r\n </div>\r\n <div *ngIf=\"item[column.key]?.length > 3\" class=\"extra-images\">\r\n +{{ item[column.key].length - 3 }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"column.key === 'expire_at'\"> \r\n {{ item[column.key] | date: 'dd/MM/yyyy' }}\r\n </ng-container>\r\n <ng-container *ngIf=\"column.key !== 'expire_at' && column.key !== 'point_of_sale_id' && column.key !== 'name' && column.key !== 'pos_id' && column.key !== 'images'\">\r\n {{ item[column.key] }}\r\n </ng-container>\r\n <ng-container *ngIf=\"column.key === 'point_of_sale_id' || column.key === 'pos_id'\">\r\n {{ getPosName(item[column.key]) }}\r\n </ng-container>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n\r\n<ng-container *ngIf=\"showPaginator\">\r\n <table class=\"table-pagination\">\r\n <tbody>\r\n <tr>\r\n <div class=\"pagination\">\r\n <div class=\"button-section\">\r\n <button (click)=\"changePage(-1)\" [disabled]=\"currentPage === 1\">Previous</button>\r\n <button (click)=\"changePage(1)\" [disabled]=\"currentPage === totalPages()\">Next</button>\r\n </div>\r\n <div class=\"current-section\">\r\n <span>Page {{ currentPage }} of {{ totalPages() }}</span>\r\n </div>\r\n </div>\r\n </tr>\r\n </tbody>\r\n </table>\r\n</ng-container>\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormGroup, ValidatorFn, Validators } from '@angular/forms';\r\nimport { FormFieldConfig } from '../interfaces/form-field.config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FormFactoryService {\r\n constructor(private fb: FormBuilder) { }\r\n\r\n createForm(config: FormFieldConfig[], customValidator?: ValidatorFn): FormGroup {\r\n const formGroup = this.fb.group({}, { validators: customValidator });\r\n config.forEach((field) => {\r\n const control = this.fb.control(\r\n field.defaultValue || '',\r\n field.validators || []\r\n );\r\n formGroup.addControl(field.name, control);\r\n });\r\n return formGroup;\r\n }\r\n\r\n createFormArray(config: FormFieldConfig[], customValidator?: ValidatorFn): FormArray {\r\n const formArray = this.fb.array([], { validators: customValidator });\r\n config.forEach((field) => {\r\n const control = this.fb.control(\r\n field.defaultValue || '',\r\n field.validators || []\r\n );\r\n formArray.push(control);\r\n });\r\n return formArray;\r\n }\r\n\r\n createFormArrayOfGroups(config: FormFieldConfig[], initialCount: number, customValidator?: ValidatorFn): FormArray {\r\n const formArray = this.fb.array<FormGroup>([], { validators: customValidator });\r\n\r\n for (let i = 0; i < initialCount; i++) {\r\n const group = this.createForm(config);\r\n formArray.push(group);\r\n }\r\n\r\n return formArray;\r\n }\r\n\r\n createLoginForm(): FormGroup {\r\n return this.fb.group({\r\n email: ['', [Validators.required, Validators.email]],\r\n password: ['', [Validators.required, Validators.minLength(8)]],\r\n });\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigationService {\r\n constructor(private router: Router) { }\r\n\r\n navigateToLogin(): Promise<boolean> {\r\n return this.router.navigate(['/login']);\r\n }\r\n\r\n navigateToOffers(): Promise<boolean> {\r\n return this.router.navigate(['/dashboard/offers']);\r\n }\r\n\r\n navigateToOffersDetails(id: string): Promise<boolean> {\r\n return this.router.navigate(['/dashboard/offers-details'], {\r\n queryParams: { offerId: id }\r\n });\r\n }\r\n\r\n navigateToResetPassword(): Promise<boolean> {\r\n return this.router.navigate(['/login/reset-password']);\r\n }\r\n\r\n navigateToPointOfSaleDetails(id: string): Promise<boolean> {\r\n return this.router.navigate(['/dashboard/point-of-sale-details'], {\r\n queryParams: { pointOfSaleId: id }\r\n });\r\n }\r\n\r\n navigateToPointOfSale(): Promise<boolean> {\r\n return this.router.navigate(['/dashboard/point-of-sale']);\r\n }\r\n\r\n navigateToItems(): Promise<boolean> {\r\n return this.router.navigate(['/dashboard/items']);\r\n }\r\n\r\n navigateToItemsDetails(id: string, posId: string): Promise<boolean> {\r\n return this.router.navigate(['/dashboard/items-details'], {\r\n queryParams: { itemId: id, pointOfSaleId: posId}\r\n });\r\n }\r\n\r\n navigateToRules(): Promise<boolean> {\r\n return this.router.navigate(['/dashboard/rules']);\r\n }\r\n\r\n navigateToRulesManager(): Promise<boolean> {\r\n return this.router.navigate(['/dashboard/rules-manager']);\r\n }\r\n\r\n navigateToOfferFlow(): Promise<boolean> {\r\n return this.router.navigate(['/dashboard/offer-flow']);\r\n }\r\n\r\n navigateToPayment(price: number): Promise<boolean> {\r\n return this.router.navigate(['/auctions/payment']);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ActionType } from '../enums/action-type.enum';\r\n\r\ninterface PopupState {\r\n show: boolean;\r\n title: string;\r\n actionType?: ActionType;\r\n description: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationService {\r\n private popupState = new BehaviorSubject<PopupState>({\r\n show: false,\r\n title: '',\r\n description: '',\r\n actionType: ActionType.Info\r\n });\r\n\r\n popupState$ = this.popupState.asObservable();\r\n\r\n showNotification(title: string, description: string, actionType?: ActionType): void {\r\n this.popupState.next({\r\n show: true,\r\n title,\r\n description,\r\n actionType: actionType || ActionType.Info\r\n });\r\n }\r\n\r\n hideNotification(): void {\r\n this.popupState.next({\r\n show: false,\r\n title: '',\r\n description: '',\r\n actionType: ActionType.Info\r\n });\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, ReplaySubject, map } from 'rxjs';\r\n\r\ninterface SessionData {\r\n pointsOfSale?: any[];\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class SessionService {\r\n private sessionSubject = new ReplaySubject<SessionData | null>(1);\r\n\r\n constructor() {\r\n this.sessionSubject.next(null);\r\n }\r\n\r\n setSessionData(data: SessionData): void {\r\n this.sessionSubject.next(data);\r\n }\r\n\r\n getCurrentSessionData(): SessionData | null {\r\n let value: SessionData | null = null;\r\n this.sessionSubject.subscribe(v => value = v).unsubscribe();\r\n return value;\r\n }\r\n}","import { inject, Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { CookieService } from \"ngx-cookie-service\";\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n intercept(\r\n request: HttpRequest<unknown>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<unknown>> {\r\n const cookieService = inject(CookieService);\r\n const token = cookieService.get('jwt');\r\n const modifiedReq = request.clone({\r\n headers: request.headers.set('Access_token', token).set('Api_Key', 'OBKmYW3jGK0joRIsEPGcHrrr1nBD4eJGytIpaFvT1URJU81EUl9a22tjPxpiY8s3')\r\n });\r\n return next.handle(modifiedReq);\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { createClient, Session, SupabaseClient } from \"@supabase/supabase-js\";\r\nimport { CookieService } from \"ngx-cookie-service\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n\r\n private supabaseUrl = 'https://dzoxlmxotexjglywjoho.supabase.co';\r\n private supabaseKey = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImR6b3hsbXhvdGV4amdseXdqb2hvIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MzM4MzM5MDYsImV4cCI6MjA0OTQwOTkwNn0.7uTbQYpmjVkM0fZhmj-v5UnjN6IP-u0jmLd5Z4p5D1s';\r\n private supabase: SupabaseClient;\r\n private sessionSubject = new BehaviorSubject<Session | null>(null);\r\n protected refreshTimeout: any;\r\n\r\n constructor(private readonly cookieService: CookieService) {\r\n this.supabase = createClient(this.supabaseUrl, this.supabaseKey);\r\n this.supabase.auth.onAuthStateChange((event, session) => {\r\n this.sessionSubject.next(session);\r\n if (session) {\r\n localStorage.setItem('refresh_token', session.refresh_token || '');\r\n } else {\r\n localStorage.removeItem('refresh_token');\r\n }\r\n });\r\n }\r\n\r\n public signIn(email: string, password: string): Promise<any> {\r\n return this.supabase.auth.signInWithPassword({ email, password });\r\n }\r\n\r\n public signOut(): Promise<any> {\r\n return this.supabase.auth.signOut().then(({ error }) => {\r\n if (error) {\r\n throw error;\r\n }\r\n this.sessionSubject.next(null);\r\n this.cookieService.deleteAll();\r\n localStorage.removeItem('refresh_token');\r\n });\r\n }\r\n\r\n public sendResetPasswordEmail(email: string): Promise<any> {\r\n return this.supabase.auth.resetPasswordForEmail(email);\r\n }\r\n\r\n public setSupabaseSession(accessToken: string, refreshToken: string): Promise<any> {\r\n return this.supabase.auth.setSession({ access_token: accessToken, refresh_token: refreshToken });\r\n }\r\n\r\n public setNewPassword(newPassword: string): Promise<any> {\r\n return this.supabase.auth.updateUser({ password: newPassword });\r\n }\r\n\r\n public getSession(): Promise<any> {\r\n return this.supabase.auth.getSession();\r\n }\r\n\r\n public refreshSession(): Promise<any> {\r\n return this.supabase.auth.refreshSession()\r\n .then(({ data, error }) => {\r\n if (error) {\r\n throw error;\r\n }\r\n if (data.session) {\r\n this.sessionSubject.next(data.session);\r\n localStorage.setItem('refresh_token', data.session.refresh_token || '');\r\n if (this.isValidLoginResponse(data)) {\r\n this.handleSuccessfulRefresh(data);\r\n this.getSession().then(session => {\r\n this.startRefreshTimer(session);\r\n });\r\n }\r\n }\r\n return data;\r\n });\r\n }\r\n\r\n public startRefreshTimer(session: Session) {\r\n const expiresIn = session.expires_in || 3200;\r\n this.refreshTimeout = setTimeout(() => {\r\n this.refreshSession().catch(console.error);\r\n }, (expiresIn - 60) * 1000);\r\n }\r\n\r\n private isValidLoginResponse(data: any): boolean {\r\n return !!(\r\n data?.session?.access_token &&\r\n data?.user?.app_metadata?.role\r\n );\r\n }\r\n\r\n private handleSuccessfulRefresh(data: any): void {\r\n const token = data!.session!.access_token;\r\n this.cookieService.delete('jwt');\r\n this.cookieService.set('jwt', token);\r\n }\r\n\r\n}\r\n","export class AuthHelper {\r\n\r\n public static getUserId(): string | null {\r\n const userSessionString = localStorage.getItem(\"sb-dzoxlmxotexjglywjoho-auth-token\");\r\n\r\n if (!userSessionString) {\r\n console.error(\"No user session found in localStorage.\");\r\n return null;\r\n }\r\n\r\n try {\r\n const userSession = JSON.parse(userSessionString);\r\n\r\n if (userSession?.user?.id) {\r\n return userSession.user.id;\r\n } else {\r\n console.error(\"Invalid user session format: Missing user.id.\");\r\n return null;\r\n }\r\n } catch (error) {\r\n console.error(\"Failed to parse user session:\", error);\r\n return null;\r\n }\r\n }\r\n\r\n public static getUserRole(): string | null {\r\n const userSessionString = localStorage.getItem(\"sb-dzoxlmxotexjglywjoho-auth-token\");\r\n\r\n if (!userSessionString) {\r\n console.error(\"No user session found in localStorage.\");\r\n return null;\r\n }\r\n\r\n try {\r\n const userSession = JSON.parse(userSessionString);\r\n\r\n if (userSession?.user?.app_metadata?.role) {\r\n return userSession?.user?.app_metadata?.role;\r\n } else {\r\n console.error(\"Invalid user session format: Missing user.id.\");\r\n return null;\r\n }\r\n } catch (error) {\r\n console.error(\"Failed to parse user session:\", error);\r\n return null;\r\n }\r\n }\r\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\nexport const passwordMatchValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\r\n const password = control.get('password');\r\n const confirmPassword = control.get('confirmPassword');\r\n\r\n if (!password || !confirmPassword) {\r\n return null;\r\n }\r\n\r\n if (password.pristine || confirmPassword.pristine) {\r\n return null;\r\n }\r\n\r\n return password.value === confirmPassword.value ? null : { passwordMismatch: true };\r\n};","/*\r\n * Public API Surface of kivio\r\n */\r\n\r\n//Components\r\nexport * from './lib/components/kv-popup/kv-popup.component';\r\nexport * from './lib/components/date-picker/date-picker.component';\r\nexport * from './lib/components/resource-not-found/resource-not-found.component'\r\nexport * from './lib/components/kv-stepper/kv-stepper.component';\r\nexport * from './lib/components/kv-step/kv-step.component';\r\nexport * from './lib/components/kv-accordion/kv-accordion.component';\r\nexport * from './lib/components/kv-alert/kv-alert.component';\r\nexport * from './lib/components/kv-side-menu/kv-side-menu.component'\r\nexport * from './lib/components/kv-main-table/kv-main-table.component'\r\n\r\n//Services\r\nexport * from './lib/factories/form-factory.service';\r\nexport * from './lib/services/navigation.service';\r\nexport * from './lib/services/notification.service';\r\nexport * from './lib/services/session.service';\r\nexport * from './lib/services/auth-interceptor.service';\r\nexport * from './lib/services/auth.service';\r\n\r\n//Configs\r\nexport * from './lib/interfaces/form-field.config';\r\n\r\n//Helpers\r\nexport * from './lib/helpers/auth.helper'\r\n\r\n//Validators\r\nexport * from './lib/validators/password-missmatch.validator'\r\n\r\n//Enums\r\nexport * from './lib/enums/action-type.enum'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"kivio.mjs","sources":["../../../projects/kivio/src/lib/enums/action-type.enum.ts","../../../projects/kivio/src/lib/components/kv-popup/kv-popup.component.ts","../../../projects/kivio/src/lib/components/kv-popup/kv-popup.component.html","../../../projects/kivio/src/lib/components/date-picker/date-picker.component.ts","../../../projects/kivio/src/lib/components/date-picker/date-picker.component.html","../../../projects/kivio/src/lib/components/resource-not-found/resource-not-found.component.ts","../../../projects/kivio/src/lib/components/resource-not-found/resource-not-found.component.html","../../../projects/kivio/src/lib/components/kv-step/kv-step.component.ts","../../../projects/kivio/src/lib/components/kv-step/kv-step.component.html","../../../projects/kivio/src/lib/components/kv-stepper/kv-stepper.component.ts","../../../projects/kivio/src/lib/components/kv-stepper/kv-stepper.component.html","../../../projects/kivio/src/lib/components/kv-accordion/kv-accordion.component.ts","../../../projects/kivio/src/lib/components/kv-accordion/kv-accordion.component.html","../../../projects/kivio/src/lib/components/kv-alert/kv-alert.component.ts","../../../projects/kivio/src/lib/components/kv-alert/kv-alert.component.html","../../../projects/kivio/src/lib/components/kv-side-menu/kv-side-menu.component.ts","../../../projects/kivio/src/lib/components/kv-side-menu/kv-side-menu.component.html","../../../projects/kivio/src/lib/components/kv-main-table/kv-main-table.component.ts","../../../projects/kivio/src/lib/components/kv-main-table/kv-main-table.component.html","../../../projects/kivio/src/lib/factories/form-factory.service.ts","../../../projects/kivio/src/lib/services/navigation.service.ts","../../../projects/kivio/src/lib/services/notification.service.ts","../../../projects/kivio/src/lib/services/session.service.ts","../../../projects/kivio/src/lib/services/auth-interceptor.service.ts","../../../projects/kivio/src/lib/services/auth.service.ts","../../../projects/kivio/src/lib/helpers/auth.helper.ts","../../../projects/kivio/src/lib/validators/password-missmatch.validator.ts","../../../projects/kivio/src/public-api.ts","../../../projects/kivio/src/kivio.ts"],"sourcesContent":["export enum ActionType {\r\n Info = \"info\",\r\n Warn = \"warn\",\r\n Error = \"error\",\r\n Advertise = \"advertise\"\r\n}","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { ActionType } from '../../enums/action-type.enum';\r\n\r\n@Component({\r\n selector: 'lib-kv-popup',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './kv-popup.component.html',\r\n styleUrl: './kv-popup.component.scss'\r\n})\r\nexport class KvPopupComponent{\r\n\r\n @Input() title: string = '';\r\n @Input() description!: string;\r\n @Input() isCustomTemplate!: boolean;\r\n @Input() actionType!: ActionType;\r\n @Output() onAccept: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() onClose: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n public actionTypeEnum = ActionType;\r\n\r\n public onAcceptSubmit(): void {\r\n this.onAccept.emit();\r\n }\r\n\r\n public onCloseSubmit(): void {\r\n this.onClose.emit();\r\n }\r\n}","<div class=\"popup-backdrop\">\r\n <div class=\"popup-container\">\r\n <div class=\"content-container\">\r\n <div *ngIf=\"!isCustomTemplate\">\r\n <ng-container *ngIf=\"actionType === actionTypeEnum.Warn\">\r\n <i class=\"icon material-icons\">error</i>\r\n </ng-container>\r\n <ng-container *ngIf=\"actionType === actionTypeEnum.Advertise\">\r\n <i class=\"icon material-icons\">warning</i>\r\n </ng-container>\r\n </div>\r\n <div>\r\n <div class=\"title\">{{ title }}</div>\r\n <div *ngIf=\"description\">\r\n <p class=\"description\">{{ description }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"isCustomTemplate; else defaultContent\">\r\n <ng-content></ng-content>\r\n </ng-container>\r\n <ng-template #defaultContent>\r\n <ng-container *ngIf=\"actionType === actionTypeEnum.Info\">\r\n <div class=\"button-container\">\r\n <button class=\"button--cancel\" (click)=\"onCloseSubmit()\">Cancel</button>\r\n <button class=\"button--primary\" (click)=\"onAcceptSubmit()\">Aceptar</button>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"actionType === actionTypeEnum.Warn\">\r\n <div class=\"button-container\">\r\n <button class=\"button--cancel\" (click)=\"onCloseSubmit()\">Cancel</button>\r\n <button class=\"button--warn\" (click)=\"onAcceptSubmit()\">Delete</button>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"actionType === actionTypeEnum.Advertise\">\r\n <div class=\"button-container\">\r\n <button class=\"button--cancel\" (click)=\"onCloseSubmit()\">Cancel</button>\r\n <button class=\"button--warn\" (click)=\"onAcceptSubmit()\">Continuar</button>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Output, Input } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-kv-date-picker',\r\n standalone: true,\r\n imports: [FormsModule, CommonModule],\r\n templateUrl: './date-picker.component.html',\r\n styleUrl: './date-picker.component.scss'\r\n})\r\nexport class DatePickerComponent {\r\n @Input() initialDate?: Date;\r\n @Input() showDetails = false;\r\n @Output() dateSelected = new EventEmitter<Date>();\r\n\r\n selectedDate: Date = new Date();\r\n minDate: string = '';\r\n\r\n ngOnInit() {\r\n this.minDate = this.formatDateForInput(new Date());\r\n\r\n if (this.initialDate) {\r\n this.selectedDate = this.initialDate >= new Date(this.minDate) ? this.initialDate : new Date();\r\n }\r\n }\r\n\r\n formatDateForInput(date: Date): string {\r\n const year = date.getFullYear();\r\n const month = String(date.getMonth() + 1).padStart(2, '0');\r\n const day = String(date.getDate()).padStart(2, '0');\r\n return `${year}-${month}-${day}`;\r\n }\r\n\r\n onDateChange(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n const newDate = new Date(input.value + \"T00:00:00\");\r\n\r\n if (newDate >= new Date(this.minDate)) {\r\n this.selectedDate = newDate;\r\n this.dateSelected.emit(this.selectedDate);\r\n } else {\r\n input.value = this.minDate;\r\n }\r\n }\r\n}\r\n","<div class=\"date-picker\">\r\n <input \r\n type=\"date\" \r\n [value]=\"formatDateForInput(selectedDate)\" \r\n [min]=\"minDate\" \r\n (input)=\"onDateChange($event)\" \r\n class=\"form-control\">\r\n \r\n <div *ngIf=\"showDetails\" class=\"date-details\">\r\n <p>{{ selectedDate | date:'fullDate' }}</p>\r\n </div>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-resource-not-found',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './resource-not-found.component.html',\r\n styleUrl: './resource-not-found.component.scss'\r\n})\r\nexport class ResourceNotFoundComponent {\r\n\r\n}\r\n","<div class=\"not-found\">\r\n <h2>Recurso no encontrado</h2>\r\n <p>El recurso consultado no está disponible</p>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, ContentChild, Input, TemplateRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-kv-step',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './kv-step.component.html',\r\n styleUrl: './kv-step.component.scss'\r\n})\r\nexport class KvStepComponent {\r\n @Input() title!: string;\r\n @Input() description!: string;\r\n @ContentChild(TemplateRef) content!: TemplateRef<any>;\r\n}\r\n","<p>kv-step works!</p>\r\n","import { CommonModule } from '@angular/common';\r\nimport { AfterContentInit, Component, ContentChildren, EventEmitter, Input, Output, QueryList, signal, TemplateRef } from '@angular/core';\r\nimport { KvStepComponent } from '../kv-step/kv-step.component';\r\n\r\n@Component({\r\n selector: 'lib-kv-stepper',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './kv-stepper.component.html',\r\n styleUrl: './kv-stepper.component.scss'\r\n})\r\n\r\nexport class KvStepperComponent implements AfterContentInit {\r\n currentStep = signal(0);\r\n \r\n @ContentChildren(KvStepComponent) steps!: QueryList<KvStepComponent>;\r\n\r\n @Input() public isSimpleStepper: boolean = false;\r\n @Input() public isVertical: boolean = false;\r\n @Input() public isAssociated: boolean = false;\r\n @Output() submit = new EventEmitter<void>();\r\n @Output() closeEvent = new EventEmitter<void>();\r\n @Output() isLastStep = new EventEmitter<boolean>();\r\n\r\n ngAfterContentInit() {\r\n if (this.steps.length === 0) {\r\n console.error('No se encontraron pasos en el stepper');\r\n }\r\n }\r\n\r\n next() {\r\n this.isLastStep.emit(true);\r\n if (this.currentStep() < this.steps.length - 1) {\r\n this.currentStep.update(val => val + 1);\r\n }\r\n }\r\n\r\n previous() {\r\n if (this.currentStep() > 0) {\r\n this.currentStep.update(val => val - 1);\r\n this.isLastStep.emit(true);\r\n }\r\n }\r\n\r\n close() {\r\n this.closeEvent.emit();\r\n }\r\n}","<ng-container *ngIf=\"!isSimpleStepper\">\r\n <div class=\"stepper-container\">\r\n <div class=\"step-header\">\r\n <div *ngFor=\"let step of steps; let i = index\" class=\"step-item\" [class.active]=\"currentStep() === i\"\r\n [class.completed]=\"i < currentStep()\">\r\n <div class=\"step-number\">{{ i + 1 }}</div>\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"step-content\">\r\n <ng-container *ngIf=\"steps.get(currentStep())?.content\">\r\n <ng-container *ngTemplateOutlet=\"steps.get(currentStep())!.content\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n \r\n <div class=\"step-actions\">\r\n <button class=\"button--cancel\" (click)=\"close()\">Cancel</button>\r\n <button class=\"button--primary-min\" *ngIf=\"currentStep() > 0\" (click)=\"previous()\">Anterior</button>\r\n <button class=\"button--primary-min\" *ngIf=\"currentStep() < steps.length - 1\" (click)=\"next()\" [disabled]=\"!isAssociated\">Next</button>\r\n <button class=\"button--primary-min\" *ngIf=\"currentStep() === steps.length - 1\" (click)=\"submit.emit()\">Create</button>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"isSimpleStepper && !isVertical\">\r\n <div class=\"stepper-container-simple\">\r\n <div class=\"step-header\">\r\n <div *ngFor=\"let step of steps; let i = index\" class=\"step-item\" [class.active]=\"currentStep() === i\"\r\n [class.completed]=\"i < currentStep()\">\r\n <div class=\"step-number\">{{ i + 1 }}</div>\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"step-content-simple\">\r\n <ng-container *ngIf=\"steps.get(currentStep())?.content\">\r\n <ng-container *ngTemplateOutlet=\"steps.get(currentStep())!.content\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"isSimpleStepper && isVertical\">\r\n <div class=\"stepper-container-vertical\">\r\n <div class=\"vertical-steps\">\r\n <div *ngFor=\"let step of steps; let i = index\" class=\"vertical-step-item\">\r\n <div class=\"step-indicator-container\">\r\n <div class=\"vertical-step-indicator\" \r\n [class.active]=\"currentStep() === i\"\r\n [class.completed]=\"i < currentStep()\">\r\n <div class=\"step-number\">{{ i + 1 }}</div>\r\n </div>\r\n <div class=\"vertical-line\" *ngIf=\"i !== steps.length - 1\"></div>\r\n </div>\r\n <div class=\"title-container\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div class=\"step-description\">{{ step.description }}</div>\r\n </div>\r\n <div class=\"vertical-step-content\" \r\n [class.active]=\"currentStep() === i\"\r\n (click)=\"currentStep.set(i)\">\r\n <div class=\"step-content-vertical\" *ngIf=\"currentStep() === i\">\r\n <ng-container *ngTemplateOutlet=\"step.content\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-kv-accordion',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './kv-accordion.component.html',\r\n styleUrl: './kv-accordion.component.scss'\r\n})\r\nexport class KvAccordionComponent {\r\n @Input() isOpen = false;\r\n @Input() title = '';\r\n @Input() shouldShowImage = true;\r\n @Output() opened = new EventEmitter<void>();\r\n\r\n toggle() {\r\n this.isOpen = !this.isOpen;\r\n if(this.isOpen) {\r\n this.opened.emit();\r\n }\r\n }\r\n}\r\n","<div class=\"accordion\">\r\n <div class=\"accordion-header\" (click)=\"toggle()\">\r\n <div class=\"accordion-title\">\r\n <ng-container *ngIf=\"shouldShowImage\">\r\n <img width=\"40px\" [src]=\"'https://i.imgur.com/InRaVrL.jpg'\" alt=\"User Avatar\" class=\"avatar\">\r\n </ng-container>\r\n <span>{{ title }}</span>\r\n </div>\r\n <span class=\"accordion-icon\" [class.open]=\"isOpen\">▼</span>\r\n </div>\r\n <div class=\"accordion-content\" [class.open]=\"isOpen\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-kv-alert',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './kv-alert.component.html',\r\n styleUrl: './kv-alert.component.scss'\r\n})\r\nexport class KvAlertComponent implements OnInit{\r\n\r\n @Input() message: string = '';\r\n @Input() description: string = '';\r\n @Input() type = 'warning';\r\n @Input() timeoutDuration: number = 5000;\r\n @Output() close = new EventEmitter<void>();\r\n\r\n ngOnInit() {\r\n if (this.timeoutDuration > 0) {\r\n setTimeout(() => this.onClose(), this.timeoutDuration);\r\n }\r\n }\r\n\r\n onClose() {\r\n this.close.emit();\r\n }\r\n\r\n}\r\n","<div class=\"alert-container\">\r\n <div class=\"icon\" [ngClass]=\"type\">\r\n <ng-container *ngIf=\"type === 'success'\">\r\n <i class=\"icon material-icons\">check</i>\r\n </ng-container>\r\n <ng-container *ngIf=\"type !== 'success'\">\r\n <i class=\"icon material-icons\">close</i>\r\n </ng-container>\r\n </div>\r\n <div class=\"message\">\r\n <strong>{{ message }}</strong>\r\n <p>{{ description }}</p>\r\n </div>\r\n <button class=\"close-btn\" (click)=\"onClose()\">&#10006;</button>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-kv-side-menu',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './kv-side-menu.component.html',\r\n styleUrl: './kv-side-menu.component.scss'\r\n})\r\nexport class KvSideMenuComponent {\r\n @Input() breadcrumb: string = '';\r\n @Output() onEdit: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n @Output() onClose: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() onDelete: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() onSaveChanges: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n public isEditMode: boolean = false;\r\n\r\n public handleEditButtonClicked(): void {\r\n this.isEditMode = !this.isEditMode;\r\n this.onEdit.emit(this.isEditMode);\r\n }\r\n\r\n public handleCloseButtonClicked(): void {\r\n this.onClose.emit();\r\n }\r\n\r\n public handleDeleteButtonClicked(): void {\r\n this.onDelete.emit();\r\n }\r\n\r\n public handleSaveChangesButtonClicked(): void {\r\n this.onSaveChanges.emit();\r\n }\r\n}\r\n","<div class=\"right-menu\">\r\n <div class=\"header\">\r\n <ng-container *ngIf=\"!isEditMode\">\r\n <span>{{ breadcrumb }}</span>\r\n <div>\r\n <button class=\"section-button\" (click)=\"handleDeleteButtonClicked()\"><i class=\"icon material-icons\">delete</i></button>\r\n <button class=\"edit-button section-button\" (click)=\"handleEditButtonClicked()\"><i class=\"icon material-icons\">edit</i></button>\r\n <button class=\"close-button section-button\" (click)=\"handleCloseButtonClicked()\"><i class=\"icon material-icons\">close</i></button>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"isEditMode\">\r\n <button class=\"edit-button section-button\" (click)=\"handleEditButtonClicked()\"><i class=\"icon material-icons\">arrow_back</i></button>\r\n <div>\r\n <button class=\"button--primary-min\" (click)=\"handleSaveChangesButtonClicked()\">Save changes</button>\r\n </div>\r\n </ng-container>\r\n \r\n </div>\r\n <div class=\"body\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-kv-main-table',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule],\r\n templateUrl: './kv-main-table.component.html',\r\n styleUrl: './kv-main-table.component.scss'\r\n})\r\nexport class KvMainTableComponent {\r\n\r\n @Input() columns: { key: string; label: string }[] = [];\r\n @Input() data: any[] = [];\r\n @Input() extraData!: any[];\r\n @Input() showPaginator: boolean = true;\r\n @Output() onNameClicked: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n searchText: string = '';\r\n currentPage: number = 1;\r\n pageSize: number = 5;\r\n\r\n get filteredData() {\r\n return this.data\r\n .filter((item) =>\r\n this.columns.some((col) =>\r\n item[col.key]?.toString().toLowerCase().includes(this.searchText.toLowerCase())\r\n )\r\n )\r\n .slice((this.currentPage - 1) * this.pageSize, this.currentPage * this.pageSize);\r\n }\r\n\r\n totalPages(): number {\r\n return Math.ceil(\r\n this.data.filter((item) =>\r\n this.columns.some((col) =>\r\n item[col.key]?.toString().toLowerCase().includes(this.searchText.toLowerCase())\r\n )\r\n ).length / this.pageSize\r\n );\r\n }\r\n\r\n changePage(direction: number) {\r\n const newPage = this.currentPage + direction;\r\n if (newPage > 0 && newPage <= this.totalPages()) {\r\n this.currentPage = newPage;\r\n }\r\n }\r\n\r\n public getPosName( posId : string): string{\r\n return this.extraData.find( pos => pos.point_of_sale_id === posId)?.name || \"\";\r\n }\r\n\r\n public emitData(data: any){\r\n this.onNameClicked.emit(data);\r\n }\r\n\r\n}\r\n","<div class=\"search-container\">\r\n\r\n <div class=\"search-section\">\r\n <input type=\"text\" placeholder=\"Buscar...\" [(ngModel)]=\"searchText\" />\r\n </div>\r\n</div>\r\n\r\n<table>\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let column of columns\">{{ column.label }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let item of filteredData\">\r\n <td *ngFor=\"let column of columns\">\r\n <div class=\"state\" [ngClass]=\"item[column.key]\">\r\n <ng-container *ngIf=\"column.key === 'name'\">\r\n <a class=\"a-link\" (click)=\"emitData(item)\">{{ item[column.key] }}</a>\r\n </ng-container>\r\n <ng-container *ngIf=\"column.key === 'images'\">\r\n <div class=\"image-container\">\r\n <div *ngFor=\"let image of item[column.key]?.slice(0, 3)\">\r\n <img [src]=\"image\" alt=\"Imagen\">\r\n </div>\r\n <div *ngIf=\"item[column.key]?.length > 3\" class=\"extra-images\">\r\n +{{ item[column.key].length - 3 }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"column.key === 'expire_at'\"> \r\n {{ item[column.key] | date: 'dd/MM/yyyy' }}\r\n </ng-container>\r\n <ng-container *ngIf=\"column.key !== 'expire_at' && column.key !== 'point_of_sale_id' && column.key !== 'name' && column.key !== 'pos_id' && column.key !== 'images'\">\r\n {{ item[column.key] }}\r\n </ng-container>\r\n <ng-container *ngIf=\"column.key === 'point_of_sale_id' || column.key === 'pos_id'\">\r\n {{ getPosName(item[column.key]) }}\r\n </ng-container>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n\r\n<ng-container *ngIf=\"showPaginator\">\r\n <table class=\"table-pagination\">\r\n <tbody>\r\n <tr>\r\n <div class=\"pagination\">\r\n <div class=\"button-section\">\r\n <button (click)=\"changePage(-1)\" [disabled]=\"currentPage === 1\">Previous</button>\r\n <button (click)=\"changePage(1)\" [disabled]=\"currentPage === totalPages()\">Next</button>\r\n </div>\r\n <div class=\"current-section\">\r\n <span>Page {{ currentPage }} of {{ totalPages() }}</span>\r\n </div>\r\n </div>\r\n </tr>\r\n </tbody>\r\n </table>\r\n</ng-container>\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormGroup, ValidatorFn, Validators } from '@angular/forms';\r\nimport { FormFieldConfig } from '../interfaces/form-field.config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FormFactoryService {\r\n constructor(private fb: FormBuilder) { }\r\n\r\n createForm(config: FormFieldConfig[], customValidator?: ValidatorFn): FormGroup {\r\n const formGroup = this.fb.group({}, { validators: customValidator });\r\n config.forEach((field) => {\r\n const control = this.fb.control(\r\n field.defaultValue || '',\r\n field.validators || []\r\n );\r\n formGroup.addControl(field.name, control);\r\n });\r\n return formGroup;\r\n }\r\n\r\n createFormArray(config: FormFieldConfig[], customValidator?: ValidatorFn): FormArray {\r\n const formArray = this.fb.array([], { validators: customValidator });\r\n config.forEach((field) => {\r\n const control = this.fb.control(\r\n field.defaultValue || '',\r\n field.validators || []\r\n );\r\n formArray.push(control);\r\n });\r\n return formArray;\r\n }\r\n\r\n createFormArrayOfGroups(config: FormFieldConfig[], initialCount: number, customValidator?: ValidatorFn): FormArray {\r\n const formArray = this.fb.array<FormGroup>([], { validators: customValidator });\r\n\r\n for (let i = 0; i < initialCount; i++) {\r\n const group = this.createForm(config);\r\n formArray.push(group);\r\n }\r\n\r\n return formArray;\r\n }\r\n\r\n createLoginForm(): FormGroup {\r\n return this.fb.group({\r\n email: ['', [Validators.required, Validators.email]],\r\n password: ['', [Validators.required, Validators.minLength(8)]],\r\n });\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigationService {\r\n constructor(private router: Router) { }\r\n\r\n navigateToLogin(): Promise<boolean> {\r\n return this.router.navigate(['/login']);\r\n }\r\n\r\n navigateToOffers(): Promise<boolean> {\r\n return this.router.navigate(['/dashboard/offers']);\r\n }\r\n\r\n navigateToOffersDetails(id: string): Promise<boolean> {\r\n return this.router.navigate(['/dashboard/offers-details'], {\r\n queryParams: { offerId: id }\r\n });\r\n }\r\n\r\n navigateToResetPassword(): Promise<boolean> {\r\n return this.router.navigate(['/login/reset-password']);\r\n }\r\n\r\n navigateToPointOfSaleDetails(id: string): Promise<boolean> {\r\n return this.router.navigate(['/dashboard/point-of-sale-details'], {\r\n queryParams: { pointOfSaleId: id }\r\n });\r\n }\r\n\r\n navigateToPointOfSale(): Promise<boolean> {\r\n return this.router.navigate(['/dashboard/point-of-sale']);\r\n }\r\n\r\n navigateToItems(): Promise<boolean> {\r\n return this.router.navigate(['/dashboard/items']);\r\n }\r\n\r\n navigateToItemsDetails(id: string, posId: string): Promise<boolean> {\r\n return this.router.navigate(['/dashboard/items-details'], {\r\n queryParams: { itemId: id, pointOfSaleId: posId}\r\n });\r\n }\r\n\r\n navigateToRules(): Promise<boolean> {\r\n return this.router.navigate(['/dashboard/rules']);\r\n }\r\n\r\n navigateToRulesManager(): Promise<boolean> {\r\n return this.router.navigate(['/dashboard/rules-manager']);\r\n }\r\n\r\n navigateToOfferFlow(): Promise<boolean> {\r\n return this.router.navigate(['/dashboard/offer-flow']);\r\n }\r\n\r\n navigateToPayment(price: number): Promise<boolean> {\r\n return this.router.navigate(['/auctions/payment']);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ActionType } from '../enums/action-type.enum';\r\n\r\ninterface PopupState {\r\n show: boolean;\r\n title: string;\r\n actionType?: ActionType;\r\n description: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationService {\r\n private popupState = new BehaviorSubject<PopupState>({\r\n show: false,\r\n title: '',\r\n description: '',\r\n actionType: ActionType.Info\r\n });\r\n\r\n popupState$ = this.popupState.asObservable();\r\n\r\n showNotification(title: string, description: string, actionType?: ActionType): void {\r\n this.popupState.next({\r\n show: true,\r\n title,\r\n description,\r\n actionType: actionType || ActionType.Info\r\n });\r\n }\r\n\r\n hideNotification(): void {\r\n this.popupState.next({\r\n show: false,\r\n title: '',\r\n description: '',\r\n actionType: ActionType.Info\r\n });\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, ReplaySubject, map } from 'rxjs';\r\n\r\ninterface SessionData {\r\n pointsOfSale?: any[];\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class SessionService {\r\n private sessionSubject = new ReplaySubject<SessionData | null>(1);\r\n\r\n constructor() {\r\n this.sessionSubject.next(null);\r\n }\r\n\r\n setSessionData(data: SessionData): void {\r\n this.sessionSubject.next(data);\r\n }\r\n\r\n getCurrentSessionData(): SessionData | null {\r\n let value: SessionData | null = null;\r\n this.sessionSubject.subscribe(v => value = v).unsubscribe();\r\n return value;\r\n }\r\n}","import { inject, Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { CookieService } from \"ngx-cookie-service\";\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n intercept(\r\n request: HttpRequest<unknown>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<unknown>> {\r\n const cookieService = inject(CookieService);\r\n const token = cookieService.get('jwt');\r\n const modifiedReq = request.clone({\r\n headers: request.headers.set('Access_token', token).set('Api_Key', 'OBKmYW3jGK0joRIsEPGcHrrr1nBD4eJGytIpaFvT1URJU81EUl9a22tjPxpiY8s3')\r\n });\r\n return next.handle(modifiedReq);\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { createClient, Session, SupabaseClient } from \"@supabase/supabase-js\";\r\nimport { CookieService } from \"ngx-cookie-service\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n\r\n private supabaseUrl = 'https://dzoxlmxotexjglywjoho.supabase.co';\r\n private supabaseKey = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImR6b3hsbXhvdGV4amdseXdqb2hvIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MzM4MzM5MDYsImV4cCI6MjA0OTQwOTkwNn0.7uTbQYpmjVkM0fZhmj-v5UnjN6IP-u0jmLd5Z4p5D1s';\r\n private supabase: SupabaseClient;\r\n private sessionSubject = new BehaviorSubject<Session | null>(null);\r\n protected refreshTimeout: any;\r\n\r\n constructor(private readonly cookieService: CookieService) {\r\n this.supabase = createClient(this.supabaseUrl, this.supabaseKey);\r\n this.supabase.auth.onAuthStateChange((event, session) => {\r\n this.sessionSubject.next(session);\r\n if (session) {\r\n localStorage.setItem('refresh_token', session.refresh_token || '');\r\n } else {\r\n localStorage.removeItem('refresh_token');\r\n }\r\n });\r\n }\r\n\r\n public signIn(email: string, password: string): Promise<any> {\r\n return this.supabase.auth.signInWithPassword({ email, password });\r\n }\r\n\r\n public signOut(): Promise<any> {\r\n return this.supabase.auth.signOut().then(({ error }) => {\r\n if (error) {\r\n throw error;\r\n }\r\n this.sessionSubject.next(null);\r\n this.cookieService.deleteAll();\r\n localStorage.removeItem('refresh_token');\r\n });\r\n }\r\n\r\n public sendResetPasswordEmail(email: string): Promise<any> {\r\n return this.supabase.auth.resetPasswordForEmail(email);\r\n }\r\n\r\n public setSupabaseSession(accessToken: string, refreshToken: string): Promise<any> {\r\n return this.supabase.auth.setSession({ access_token: accessToken, refresh_token: refreshToken });\r\n }\r\n\r\n public setNewPassword(newPassword: string): Promise<any> {\r\n return this.supabase.auth.updateUser({ password: newPassword });\r\n }\r\n\r\n public getSession(): Promise<any> {\r\n return this.supabase.auth.getSession();\r\n }\r\n\r\n public refreshSession(): Promise<any> {\r\n return this.supabase.auth.refreshSession()\r\n .then(({ data, error }) => {\r\n if (error) {\r\n throw error;\r\n }\r\n if (data.session) {\r\n this.sessionSubject.next(data.session);\r\n localStorage.setItem('refresh_token', data.session.refresh_token || '');\r\n if (this.isValidLoginResponse(data)) {\r\n this.handleSuccessfulRefresh(data);\r\n this.getSession().then(session => {\r\n this.startRefreshTimer(session);\r\n });\r\n }\r\n }\r\n return data;\r\n });\r\n }\r\n\r\n public startRefreshTimer(session: Session) {\r\n const expiresIn = session.expires_in || 3200;\r\n this.refreshTimeout = setTimeout(() => {\r\n this.refreshSession().catch(console.error);\r\n }, (expiresIn - 60) * 1000);\r\n }\r\n\r\n private isValidLoginResponse(data: any): boolean {\r\n return !!(\r\n data?.session?.access_token &&\r\n data?.user?.app_metadata?.role\r\n );\r\n }\r\n\r\n private handleSuccessfulRefresh(data: any): void {\r\n const token = data!.session!.access_token;\r\n this.cookieService.delete('jwt');\r\n this.cookieService.set('jwt', token);\r\n }\r\n\r\n}\r\n","export class AuthHelper {\r\n\r\n public static getUserId(): string | null {\r\n const userSessionString = localStorage.getItem(\"sb-dzoxlmxotexjglywjoho-auth-token\");\r\n\r\n if (!userSessionString) {\r\n console.error(\"No user session found in localStorage.\");\r\n return null;\r\n }\r\n\r\n try {\r\n const userSession = JSON.parse(userSessionString);\r\n\r\n if (userSession?.user?.id) {\r\n return userSession.user.id;\r\n } else {\r\n console.error(\"Invalid user session format: Missing user.id.\");\r\n return null;\r\n }\r\n } catch (error) {\r\n console.error(\"Failed to parse user session:\", error);\r\n return null;\r\n }\r\n }\r\n\r\n public static getUserRole(): string | null {\r\n const userSessionString = localStorage.getItem(\"sb-dzoxlmxotexjglywjoho-auth-token\");\r\n\r\n if (!userSessionString) {\r\n console.error(\"No user session found in localStorage.\");\r\n return null;\r\n }\r\n\r\n try {\r\n const userSession = JSON.parse(userSessionString);\r\n\r\n if (userSession?.user?.app_metadata?.role) {\r\n return userSession?.user?.app_metadata?.role;\r\n } else {\r\n console.error(\"Invalid user session format: Missing user.id.\");\r\n return null;\r\n }\r\n } catch (error) {\r\n console.error(\"Failed to parse user session:\", error);\r\n return null;\r\n }\r\n }\r\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\nexport const passwordMatchValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\r\n const password = control.get('password');\r\n const confirmPassword = control.get('confirmPassword');\r\n\r\n if (!password || !confirmPassword) {\r\n return null;\r\n }\r\n\r\n if (password.pristine || confirmPassword.pristine) {\r\n return null;\r\n }\r\n\r\n return password.value === confirmPassword.value ? null : { passwordMismatch: true };\r\n};","/*\r\n * Public API Surface of kivio\r\n */\r\n\r\n//Components\r\nexport * from './lib/components/kv-popup/kv-popup.component';\r\nexport * from './lib/components/date-picker/date-picker.component';\r\nexport * from './lib/components/resource-not-found/resource-not-found.component'\r\nexport * from './lib/components/kv-stepper/kv-stepper.component';\r\nexport * from './lib/components/kv-step/kv-step.component';\r\nexport * from './lib/components/kv-accordion/kv-accordion.component';\r\nexport * from './lib/components/kv-alert/kv-alert.component';\r\nexport * from './lib/components/kv-side-menu/kv-side-menu.component'\r\nexport * from './lib/components/kv-main-table/kv-main-table.component'\r\n\r\n//Services\r\nexport * from './lib/factories/form-factory.service';\r\nexport * from './lib/services/navigation.service';\r\nexport * from './lib/services/notification.service';\r\nexport * from './lib/services/session.service';\r\nexport * from './lib/services/auth-interceptor.service';\r\nexport * from './lib/services/auth.service';\r\n\r\n//Configs\r\nexport * from './lib/interfaces/form-field.config';\r\n\r\n//Helpers\r\nexport * from './lib/helpers/auth.helper'\r\n\r\n//Validators\r\nexport * from './lib/validators/password-missmatch.validator'\r\n\r\n//Enums\r\nexport * from './lib/enums/action-type.enum'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -1,8 +1,11 @@
1
+ import { EventEmitter } from '@angular/core';
1
2
  import * as i0 from "@angular/core";
2
3
  export declare class KvAccordionComponent {
3
4
  isOpen: boolean;
4
5
  title: string;
6
+ shouldShowImage: boolean;
7
+ opened: EventEmitter<void>;
5
8
  toggle(): void;
6
9
  static ɵfac: i0.ɵɵFactoryDeclaration<KvAccordionComponent, never>;
7
- static ɵcmp: i0.ɵɵComponentDeclaration<KvAccordionComponent, "lib-kv-accordion", never, { "isOpen": { "alias": "isOpen"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, {}, never, ["*"], true, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<KvAccordionComponent, "lib-kv-accordion", never, { "isOpen": { "alias": "isOpen"; "required": false; }; "title": { "alias": "title"; "required": false; }; "shouldShowImage": { "alias": "shouldShowImage"; "required": false; }; }, { "opened": "opened"; }, never, ["*"], true, never>;
8
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kivio",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.0",
6
6
  "@angular/core": "^17.3.0"