@cauca-911/material 12.0.0 → 13.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/assets/i18n/cauca/es-material.json +9 -0
  2. package/assets/i18n/cauca/fr-material.json +1 -1
  3. package/{esm2015/cauca-911-material.js → esm2020/cauca-911-material.mjs} +0 -0
  4. package/esm2020/lib/cauca-input-file/cauca-input-file.component.mjs +148 -0
  5. package/esm2020/lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component.mjs +88 -0
  6. package/{esm2015/lib/cauca-material.component.js → esm2020/lib/cauca-material.component.mjs} +2 -6
  7. package/{esm2015/lib/cauca-material.module.js → esm2020/lib/cauca-material.module.mjs} +0 -0
  8. package/{esm2015/lib/cauca-material.service.js → esm2020/lib/cauca-material.service.mjs} +1 -1
  9. package/esm2020/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.mjs +144 -0
  10. package/{esm2015/lib/cauca-menu-vertical/cauca-menu-vertical.component.js → esm2020/lib/cauca-menu-vertical/cauca-menu-vertical.component.mjs} +7 -16
  11. package/{esm2015/lib/cauca-simple-dialog/cauca-simple-dialog.component.js → esm2020/lib/cauca-simple-dialog/cauca-simple-dialog.component.mjs} +2 -6
  12. package/esm2020/lib/cauca-slideshow/cauca-slideshow.component.mjs +139 -0
  13. package/{esm2015/lib/shared/models/menu-item.js → esm2020/lib/shared/models/menu-item.mjs} +0 -0
  14. package/{esm2015/lib/shared/models/simple-dialog-data.js → esm2020/lib/shared/models/simple-dialog-data.mjs} +0 -0
  15. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  16. package/fesm2015/cauca-911-material.mjs +984 -0
  17. package/fesm2015/cauca-911-material.mjs.map +1 -0
  18. package/{fesm2015/cauca-911-material.js → fesm2020/cauca-911-material.mjs} +31 -71
  19. package/fesm2020/cauca-911-material.mjs.map +1 -0
  20. package/lib/cauca-input-file/cauca-input-file.component.d.ts +1 -1
  21. package/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.d.ts +4 -4
  22. package/lib/cauca-slideshow/cauca-slideshow.component.d.ts +4 -4
  23. package/package.json +26 -13
  24. package/bundles/cauca-911-material.umd.js +0 -1078
  25. package/bundles/cauca-911-material.umd.js.map +0 -1
  26. package/esm2015/lib/cauca-input-file/cauca-input-file.component.js +0 -152
  27. package/esm2015/lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component.js +0 -94
  28. package/esm2015/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.js +0 -152
  29. package/esm2015/lib/cauca-slideshow/cauca-slideshow.component.js +0 -144
  30. package/fesm2015/cauca-911-material.js.map +0 -1
@@ -0,0 +1,139 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { animate, state, style, transition, trigger } from '@angular/animations';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ const _c0 = ["container"];
6
+ function CaucaSlideshowComponent_div_2_Template(rf, ctx) { if (rf & 1) {
7
+ i0.ɵɵelementStart(0, "div");
8
+ i0.ɵɵelement(1, "img", 3);
9
+ i0.ɵɵelementEnd();
10
+ } if (rf & 2) {
11
+ const url_r2 = ctx.$implicit;
12
+ const index_r3 = ctx.index;
13
+ const ctx_r1 = i0.ɵɵnextContext();
14
+ i0.ɵɵproperty("@slideLeftRight", ctx_r1.getState(index_r3));
15
+ i0.ɵɵadvance(1);
16
+ i0.ɵɵproperty("src", url_r2, i0.ɵɵsanitizeUrl);
17
+ } }
18
+ export class CaucaSlideshowComponent {
19
+ constructor() {
20
+ this.height = '150px';
21
+ this.autoPlay = true;
22
+ this.timer = null;
23
+ this.items = [];
24
+ this.states = [];
25
+ this.selectedIndex = 0;
26
+ }
27
+ set images(list) {
28
+ this.items = list;
29
+ this.restart();
30
+ }
31
+ get images() {
32
+ return this.items;
33
+ }
34
+ ngOnInit() {
35
+ this.container.nativeElement.style.height = this.height;
36
+ this.container.nativeElement.style.width = '100%';
37
+ }
38
+ getState(index) {
39
+ if (this.states[index]) {
40
+ return this.states[index];
41
+ }
42
+ return (this.selectedIndex === index ? 'in' : 'out');
43
+ }
44
+ restart() {
45
+ if (this.timer) {
46
+ window.clearInterval(this.timer);
47
+ }
48
+ if (this.images && this.images.length) {
49
+ this.timer = window.setInterval(() => this.changed('next'), 5000);
50
+ }
51
+ }
52
+ next() {
53
+ if (this.selectedIndex < this.items.length - 1) {
54
+ this.selectedIndex++;
55
+ }
56
+ else {
57
+ this.selectedIndex = 0;
58
+ }
59
+ }
60
+ changed(action) {
61
+ this.states[this.selectedIndex] = 'out';
62
+ this[action]();
63
+ this.states[this.selectedIndex] = 'in';
64
+ }
65
+ }
66
+ CaucaSlideshowComponent.ɵfac = function CaucaSlideshowComponent_Factory(t) { return new (t || CaucaSlideshowComponent)(); };
67
+ CaucaSlideshowComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaucaSlideshowComponent, selectors: [["cauca-slideshow"]], viewQuery: function CaucaSlideshowComponent_Query(rf, ctx) { if (rf & 1) {
68
+ i0.ɵɵviewQuery(_c0, 7);
69
+ } if (rf & 2) {
70
+ let _t;
71
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.container = _t.first);
72
+ } }, inputs: { height: "height", autoPlay: "autoPlay", images: "images" }, decls: 3, vars: 1, consts: [[1, "slideshow"], ["container", ""], [4, "ngFor", "ngForOf"], [3, "src"]], template: function CaucaSlideshowComponent_Template(rf, ctx) { if (rf & 1) {
73
+ i0.ɵɵelementStart(0, "div", 0, 1);
74
+ i0.ɵɵtemplate(2, CaucaSlideshowComponent_div_2_Template, 2, 2, "div", 2);
75
+ i0.ɵɵelementEnd();
76
+ } if (rf & 2) {
77
+ i0.ɵɵadvance(2);
78
+ i0.ɵɵproperty("ngForOf", ctx.images);
79
+ } }, directives: [i1.NgForOf], styles: [".slideshow[_ngcontent-%COMP%]{margin:0 auto;position:relative;overflow:hidden}.slideshow[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{width:100%;height:100%;position:absolute}img[_ngcontent-%COMP%]{max-height:100%;max-width:100%;margin:0 auto;display:block}"], data: { animation: [
80
+ trigger('slideUpDown', [
81
+ state('in', style({ transform: 'translateY(0%)' })),
82
+ state('out', style({ transform: 'translateY(-100%)' })),
83
+ transition('in => out', [
84
+ animate('500ms ease-in')
85
+ ]),
86
+ transition('out => in', [
87
+ style({ transform: 'translateY(100%)' }),
88
+ animate('500ms ease-in')
89
+ ]),
90
+ ]),
91
+ trigger('slideLeftRight', [
92
+ state('in', style({ transform: 'translateX(0%)' })),
93
+ state('out', style({ transform: 'translateX(-100%)' })),
94
+ transition('in => out', [
95
+ animate('500ms ease-in')
96
+ ]),
97
+ transition('out => in', [
98
+ style({ transform: 'translateX(100%)' }),
99
+ animate('500ms ease-in')
100
+ ]),
101
+ ]),
102
+ ] } });
103
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaucaSlideshowComponent, [{
104
+ type: Component,
105
+ args: [{ selector: 'cauca-slideshow', animations: [
106
+ trigger('slideUpDown', [
107
+ state('in', style({ transform: 'translateY(0%)' })),
108
+ state('out', style({ transform: 'translateY(-100%)' })),
109
+ transition('in => out', [
110
+ animate('500ms ease-in')
111
+ ]),
112
+ transition('out => in', [
113
+ style({ transform: 'translateY(100%)' }),
114
+ animate('500ms ease-in')
115
+ ]),
116
+ ]),
117
+ trigger('slideLeftRight', [
118
+ state('in', style({ transform: 'translateX(0%)' })),
119
+ state('out', style({ transform: 'translateX(-100%)' })),
120
+ transition('in => out', [
121
+ animate('500ms ease-in')
122
+ ]),
123
+ transition('out => in', [
124
+ style({ transform: 'translateX(100%)' }),
125
+ animate('500ms ease-in')
126
+ ]),
127
+ ]),
128
+ ], template: "<div #container class=\"slideshow\">\n <div *ngFor=\"let url of images; let index = index;\" [@slideLeftRight]=\"getState(index)\">\n <img [src]=\"url\" />\n </div>\n</div>", styles: [".slideshow{margin:0 auto;position:relative;overflow:hidden}.slideshow>div{width:100%;height:100%;position:absolute}img{max-height:100%;max-width:100%;margin:0 auto;display:block}\n"] }]
129
+ }], function () { return []; }, { container: [{
130
+ type: ViewChild,
131
+ args: ['container', { static: true }]
132
+ }], height: [{
133
+ type: Input
134
+ }], autoPlay: [{
135
+ type: Input
136
+ }], images: [{
137
+ type: Input
138
+ }] }); })();
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2Etc2xpZGVzaG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhdWNhLW1hdGVyaWFsL3NyYy9saWIvY2F1Y2Etc2xpZGVzaG93L2NhdWNhLXNsaWRlc2hvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYXRlcmlhbC9zcmMvbGliL2NhdWNhLXNsaWRlc2hvdy9jYXVjYS1zbGlkZXNob3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBc0IsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztJQ0EvRSwyQkFBd0Y7SUFDdEYseUJBQW1CO0lBQ3JCLGlCQUFNOzs7OztJQUY4QywyREFBbUM7SUFDaEYsZUFBVztJQUFYLDhDQUFXOztBRDhCcEIsTUFBTSxPQUFPLHVCQUF1QjtJQXNCbEM7UUFsQk8sV0FBTSxHQUFHLE9BQU8sQ0FBQztRQUVqQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBV2YsVUFBSyxHQUFHLElBQUksQ0FBQztRQUNiLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1osa0JBQWEsR0FBRyxDQUFDLENBQUM7SUFFSCxDQUFDO0lBZHhCLElBQ1csTUFBTSxDQUFDLElBQWM7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQVNNLFFBQVE7UUFDYixJQUFJLENBQUMsU0FB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QyxRQUFRO2tCQURkLEtBQUs7WUFJSyxNQUFNO2tCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjYXVjYS1zbGlkZXNob3cnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2F1Y2Etc2xpZGVzaG93LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2F1Y2Etc2xpZGVzaG93LmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdzbGlkZVVwRG93bicsIFtcbiAgICAgIHN0YXRlKCdpbicsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwJSknIH0pKSxcbiAgICAgIHN0YXRlKCdvdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwMCUpJyB9KSksXG4gICAgICB0cmFuc2l0aW9uKCdpbiA9PiBvdXQnLCBbXG4gICAgICAgIGFuaW1hdGUoJzUwMG1zIGVhc2UtaW4nKVxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCdvdXQgPT4gaW4nLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMDAlKScgfSksXG4gICAgICAgIGFuaW1hdGUoJzUwMG1zIGVhc2UtaW4nKVxuICAgICAgXSksXG4gICAgXSksXG4gICAgdHJpZ2dlcignc2xpZGVMZWZ0UmlnaHQnLCBbXG4gICAgICBzdGF0ZSgnaW4nLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJyB9KSksXG4gICAgICBzdGF0ZSgnb3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKScgfSkpLFxuICAgICAgdHJhbnNpdGlvbignaW4gPT4gb3V0JywgW1xuICAgICAgICBhbmltYXRlKCc1MDBtcyBlYXNlLWluJylcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignb3V0ID0+IGluJywgW1xuICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pLFxuICAgICAgICBhbmltYXRlKCc1MDBtcyBlYXNlLWluJylcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDYXVjYVNsaWRlc2hvd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBjb250YWluZXI6IEVsZW1lbnRSZWY7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWlnaHQgPSAnMTUwcHgnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXV0b1BsYXkgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaW1hZ2VzKGxpc3Q6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5pdGVtcyA9IGxpc3Q7XG4gICAgdGhpcy5yZXN0YXJ0KCk7XG4gIH1cbiAgcHVibGljIGdldCBpbWFnZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSB0aW1lciA9IG51bGw7XG4gIHByaXZhdGUgaXRlbXMgPSBbXTtcbiAgcHJpdmF0ZSBzdGF0ZXMgPSBbXTtcbiAgcHJpdmF0ZSBzZWxlY3RlZEluZGV4ID0gMDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLmhlaWdodDtcbiAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gJzEwMCUnO1xuICB9XG5cbiAgcHVibGljIGdldFN0YXRlKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnN0YXRlc1tpbmRleF0pIHtcbiAgICAgIHJldHVybiB0aGlzLnN0YXRlc1tpbmRleF07XG4gICAgfVxuXG4gICAgcmV0dXJuICh0aGlzLnNlbGVjdGVkSW5kZXggPT09IGluZGV4ID8gJ2luJyA6ICdvdXQnKTtcbiAgfVxuXG4gIHB1YmxpYyByZXN0YXJ0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRpbWVyKSB7XG4gICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaW1hZ2VzICYmIHRoaXMuaW1hZ2VzLmxlbmd0aCkge1xuICAgICAgdGhpcy50aW1lciA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB0aGlzLmNoYW5nZWQoJ25leHQnKSwgNTAwMCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5leHQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCA8IHRoaXMuaXRlbXMubGVuZ3RoIC0gMSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEluZGV4Kys7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IDA7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VkKGFjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZXNbdGhpcy5zZWxlY3RlZEluZGV4XSA9ICdvdXQnO1xuICAgIHRoaXNbYWN0aW9uXSgpO1xuICAgIHRoaXMuc3RhdGVzW3RoaXMuc2VsZWN0ZWRJbmRleF0gPSAnaW4nO1xuICB9XG59XG4iLCI8ZGl2ICNjb250YWluZXIgY2xhc3M9XCJzbGlkZXNob3dcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgdXJsIG9mIGltYWdlczsgbGV0IGluZGV4ID0gaW5kZXg7XCIgW0BzbGlkZUxlZnRSaWdodF09XCJnZXRTdGF0ZShpbmRleClcIj5cbiAgICA8aW1nIFtzcmNdPVwidXJsXCIgLz5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=