ctt-puro 0.34.1 → 0.35.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/index.mjs +2 -1
- package/esm2022/lib/components/puro-filter-modal/index.mjs +2 -0
- package/esm2022/lib/components/puro-filter-modal/puro-filter-modal.component.mjs +26 -0
- package/esm2022/lib/components/puro-gallery/puro-gallery.component.mjs +53 -9
- package/esm2022/lib/directives/puro-filter-gallery.directive/puro-filter-gallery.directive.mjs +64 -28
- package/esm2022/lib/services/index.mjs +2 -1
- package/esm2022/lib/services/mapper/mapper.service.mjs +11 -13
- package/esm2022/lib/services/modal-state/index.mjs +2 -0
- package/esm2022/lib/services/modal-state/modal-state.service.mjs +30 -0
- package/fesm2022/ctt-puro.mjs +4165 -4039
- package/fesm2022/ctt-puro.mjs.map +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/puro-filter-modal/index.d.ts +1 -0
- package/lib/components/puro-filter-modal/puro-filter-modal.component.d.ts +12 -0
- package/lib/components/puro-gallery/puro-gallery.component.d.ts +19 -7
- package/lib/directives/puro-filter-gallery.directive/puro-filter-gallery.directive.d.ts +9 -4
- package/lib/services/index.d.ts +1 -0
- package/lib/services/modal-state/index.d.ts +1 -0
- package/lib/services/modal-state/modal-state.service.d.ts +16 -0
- package/package.json +1 -1
|
@@ -18,6 +18,7 @@ export * from './puro-engine-modal';
|
|
|
18
18
|
export * from './puro-events-form';
|
|
19
19
|
export * from './puro-faqs';
|
|
20
20
|
export * from './puro-faqs-img';
|
|
21
|
+
export * from './puro-filter-modal';
|
|
21
22
|
export * from './puro-footer-beachs';
|
|
22
23
|
export * from './puro-footer-hotels';
|
|
23
24
|
export * from './puro-footer-info';
|
|
@@ -76,4 +77,4 @@ export * from './puro-top-slider';
|
|
|
76
77
|
export * from './puro-vertical-info';
|
|
77
78
|
export * from './puro-webmap';
|
|
78
79
|
export * from './puro-zigzag2col';
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4uL3NoYXJlZC9wdXJvLWR5bmFtaWMtaGVhZGluZyc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tNDA0JztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1hZHZhbnRhZ2VzJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1hZHZhbnRhZ2VzLXNtYWxsJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1iYW5uZXItaW5mbyc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tYmFubmVyLWluZm8yJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1iYW5uZXItc2xpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1iYW5uZXI0Y29sJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1ibG9nLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJvLWJsb2ctcG9zdCc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tYnJlYWRjcnVtYic7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tY2FyZWVycy1mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1jYXJ0YSc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tY29udGFjdC1mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1kdWFsLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJvLWVuZ2luZSc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tZW5naW5lLW1vZGFsJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1ldmVudHMtZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tZmFxcyc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tZmFxcy1pbWcnO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJvLWZpbHRlci1tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tZm9vdGVyLWJlYWNocyc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tZm9vdGVyLWhvdGVscyc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tZm9vdGVyLWluZm8nO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJvLWZvb3Rlci1saW5rcyc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tZ2FsbGVyeSc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tZ3JpZDNjb2wtZmlsdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1ncmlkM2NvbC1wbHVzLWZpbHRlcic7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tZ3JpZDNjb2wtc2xpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1ncmlkNGl0ZW1zJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1ncmlkNWl0ZW1zJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1ncmlkNml0ZW1zJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1oZWFkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJvLWhlYWRlci1tb2JpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJvLWhlYWRlci1tb2JpbGUtc3VibWVudSc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8taGVhZC1pbnRybyc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8taG90ZWxzLW1vZGFsJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1pbWctaW5mbyc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8taW5mby1iYW5uZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJvLWluZm8tYmlnJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1pbmZvLWRldGFpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJvLWluZm8tZGV0YWlscy0yY29sJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1pbmZvLWRldGFpbHMtM2NvbCc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8taW5mby1nYWxsZXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1pbmZvLWludHJvJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1pbmZvLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJvLWluZm8tc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJvLWluZm8tc2xpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1pbmZvLXRhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1pbmZvLXZpZGVvJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1pbmZvMmNvbCc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8taW5uZXItY29udGVudCc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tbGFuZ3VhZ2VzLW1vZGFsJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1saXN0LWF3YXJkcyc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tbGlzdC1nZW5lcmFsJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1saXN0LWxvZ29zJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1tYXAtbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tbW9kYWwtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tbXVzaWMtc2xpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1uZXdzbGV0dGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1vZmZlci1iYW5uZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJvLW9mZmVycy1zbGlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJvLXBob3RvLXNsaWRlcic7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tcHJvamVjdHMtZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tc2NoZWR1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJvLXNsaWRlci00aXRlbXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJvLXNsaWRlcjFjb2wnO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJvLXNsaWRlcjJjb2wnO1xuZXhwb3J0ICogZnJvbSAnLi9wdXJvLXNsaWRlcjNjYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1zbGlkZXIzY29sJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1zbGlkZXIzY29sLXJvdW5kJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1zdWJtZW51JztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby1zdWJtZW51LW1vYmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tdGhhbmtzJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby10aW1lbGluZSc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tdG9wLXNsaWRlcic7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8tdmVydGljYWwtaW5mbyc7XG5leHBvcnQgKiBmcm9tICcuL3B1cm8td2VibWFwJztcbmV4cG9ydCAqIGZyb20gJy4vcHVyby16aWd6YWcyY29sJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './puro-filter-modal.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvY29tcG9uZW50cy9wdXJvLWZpbHRlci1tb2RhbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdXJvLWZpbHRlci1tb2RhbC5jb21wb25lbnQnO1xuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, computed } from '@angular/core';
|
|
3
|
+
import { PuroActiveModalDirective } from '../../directives';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../services";
|
|
6
|
+
export class PuroFilterModalComponent {
|
|
7
|
+
constructor(state) {
|
|
8
|
+
this.state = state;
|
|
9
|
+
this.title = computed(() => this.state.roomsTitle());
|
|
10
|
+
this.filters = computed(() => this.state.roomsFilters());
|
|
11
|
+
}
|
|
12
|
+
select(filter) {
|
|
13
|
+
this.state.selectRoom(filter);
|
|
14
|
+
setTimeout(() => this.state.clearRooms(), 0);
|
|
15
|
+
}
|
|
16
|
+
onClose() {
|
|
17
|
+
setTimeout(() => this.state.clearRooms(), 0);
|
|
18
|
+
}
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroFilterModalComponent, deps: [{ token: i1.ModalStateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroFilterModalComponent, isStandalone: true, selector: "lib-filter-modal", ngImport: i0, template: "<div class=\"modal modal--filter\">\n <div class=\"modal__inner\">\n <div class=\"modal__body\">\n <div\n class=\"modal__close js-close\"\n activeModal\n data-modal_name=\"filter\"\n role=\"button\"\n aria-label=\"Close Button\"\n (click)=\"onClose()\"\n >\n <svg aria-hidden=\"true\" focusable=\"false\" class=\"modal__close--icon\">\n <use href=\"#modal-close\"></use>\n </svg>\n </div>\n\n <div class=\"modal__content\">\n @if (title()) { <span class=\"modal__title\">{{ title() }}</span> }\n\n <div class=\"modal__checklist\">\n @for (filter of filters(); track filter.text) {\n <div>\n <label\n class=\"modal__switch js-close\"\n activeModal\n data-modal_name=\"filter\"\n (click)=\"select(filter); onClose()\"\n >\n <div class=\"btn btn__primary--outline\">\n <span>{{ filter.text }}</span>\n </div>\n </label>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroActiveModalDirective, selector: "[activeModal]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroFilterModalComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{ selector: 'lib-filter-modal', standalone: true, imports: [CommonModule, PuroActiveModalDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"modal modal--filter\">\n <div class=\"modal__inner\">\n <div class=\"modal__body\">\n <div\n class=\"modal__close js-close\"\n activeModal\n data-modal_name=\"filter\"\n role=\"button\"\n aria-label=\"Close Button\"\n (click)=\"onClose()\"\n >\n <svg aria-hidden=\"true\" focusable=\"false\" class=\"modal__close--icon\">\n <use href=\"#modal-close\"></use>\n </svg>\n </div>\n\n <div class=\"modal__content\">\n @if (title()) { <span class=\"modal__title\">{{ title() }}</span> }\n\n <div class=\"modal__checklist\">\n @for (filter of filters(); track filter.text) {\n <div>\n <label\n class=\"modal__switch js-close\"\n activeModal\n data-modal_name=\"filter\"\n (click)=\"select(filter); onClose()\"\n >\n <div class=\"btn btn__primary--outline\">\n <span>{{ filter.text }}</span>\n </div>\n </label>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
25
|
+
}], ctorParameters: () => [{ type: i1.ModalStateService }] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1maWx0ZXItbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1maWx0ZXItbW9kYWwvcHVyby1maWx0ZXItbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1maWx0ZXItbW9kYWwvcHVyby1maWx0ZXItbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFVNUQsTUFBTSxPQUFPLHdCQUF3QjtJQUlqQyxZQUE2QixLQUF3QjtRQUF4QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUhyRCxVQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNoRCxZQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUVJLENBQUM7SUFFekQsTUFBTSxDQUFDLE1BQVc7UUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTztRQUNILFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7K0dBYlEsd0JBQXdCO21HQUF4Qix3QkFBd0IsNEVDYnJDLDhwQ0F1Q0EseUREL0JjLFlBQVksK0JBQUUsd0JBQXdCOzs0RkFLdkMsd0JBQXdCO2tCQVJwQyxTQUFTOytCQUNJLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsd0JBQXdCLENBQUMsbUJBR2hDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgUHVyb0FjdGl2ZU1vZGFsRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLWZpbHRlci1tb2RhbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQdXJvQWN0aXZlTW9kYWxEaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdXJvLWZpbHRlci1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3B1cm8tZmlsdGVyLW1vZGFsLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUHVyb0ZpbHRlck1vZGFsQ29tcG9uZW50IHtcbiAgICB0aXRsZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc3RhdGUucm9vbXNUaXRsZSgpKTtcbiAgICBmaWx0ZXJzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zdGF0ZS5yb29tc0ZpbHRlcnMoKSk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHN0YXRlOiBNb2RhbFN0YXRlU2VydmljZSkge31cblxuICAgIHNlbGVjdChmaWx0ZXI6IGFueSkge1xuICAgICAgICB0aGlzLnN0YXRlLnNlbGVjdFJvb20oZmlsdGVyKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnN0YXRlLmNsZWFyUm9vbXMoKSwgMCk7XG4gICAgfVxuXG4gICAgb25DbG9zZSgpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnN0YXRlLmNsZWFyUm9vbXMoKSwgMCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsIG1vZGFsLS1maWx0ZXJcIj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsX19pbm5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbF9fYm9keVwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm1vZGFsX19jbG9zZSBqcy1jbG9zZVwiXG4gICAgICAgIGFjdGl2ZU1vZGFsXG4gICAgICAgIGRhdGEtbW9kYWxfbmFtZT1cImZpbHRlclwiXG4gICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2UgQnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiXG4gICAgICA+XG4gICAgICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIiBjbGFzcz1cIm1vZGFsX19jbG9zZS0taWNvblwiPlxuICAgICAgICAgIDx1c2UgaHJlZj1cIiNtb2RhbC1jbG9zZVwiPjwvdXNlPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWxfX2NvbnRlbnRcIj5cbiAgICAgICAgQGlmICh0aXRsZSgpKSB7IDxzcGFuIGNsYXNzPVwibW9kYWxfX3RpdGxlXCI+e3sgdGl0bGUoKSB9fTwvc3Bhbj4gfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbF9fY2hlY2tsaXN0XCI+XG4gICAgICAgICAgQGZvciAoZmlsdGVyIG9mIGZpbHRlcnMoKTsgdHJhY2sgZmlsdGVyLnRleHQpIHtcbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIGNsYXNzPVwibW9kYWxfX3N3aXRjaCBqcy1jbG9zZVwiXG4gICAgICAgICAgICAgICAgYWN0aXZlTW9kYWxcbiAgICAgICAgICAgICAgICBkYXRhLW1vZGFsX25hbWU9XCJmaWx0ZXJcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3QoZmlsdGVyKTsgb25DbG9zZSgpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4gYnRuX19wcmltYXJ5LS1vdXRsaW5lXCI+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyBmaWx0ZXIudGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,23 +1,67 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, Input } from '@angular/core';
|
|
3
|
-
import { PuroFilterGalleryDirective, PuroLinkTypeDirective, } from '../../directives';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Input, computed, signal, } from '@angular/core';
|
|
3
|
+
import { PuroFilterGalleryDirective, PuroActiveModalDirective, PuroLinkTypeDirective, } from '../../directives';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../services";
|
|
5
6
|
export class PuroGalleryComponent {
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
constructor(modalState) {
|
|
8
|
+
this.modalState = modalState;
|
|
9
|
+
this.filterSelected = signal(undefined);
|
|
10
|
+
// Listas filtros mobile
|
|
11
|
+
this.categoriesFilters = computed(() => (this.filters ?? []).filter((f) => !f.room));
|
|
12
|
+
this.roomsFilters = computed(() => (this.filters ?? []).filter((f) => f.room));
|
|
13
|
+
this.itemsDisplayed = computed(() => {
|
|
14
|
+
if (this.filterSelected()?.all || !this.filterSelected())
|
|
15
|
+
return this.items;
|
|
16
|
+
return this.items?.filter((i) => i.filter === this.filterSelected()?.id);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.filterSelected.set(this.filters?.find((f) => f.all));
|
|
21
|
+
}
|
|
22
|
+
// filtros normales (no rooms)
|
|
23
|
+
filterItems(filter) {
|
|
24
|
+
if (!filter)
|
|
25
|
+
return;
|
|
26
|
+
// Agregador "Rooms": abrir modal
|
|
27
|
+
if (filter.rooms) {
|
|
28
|
+
this.prepareRoomsModal();
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
// Categoría normal o habitación concreta
|
|
32
|
+
this.filterSelected.set(filter);
|
|
33
|
+
}
|
|
34
|
+
// preparar datos para el modal antes/justo al click
|
|
35
|
+
prepareRoomsModal() {
|
|
36
|
+
const list = this.filters?.filter((f) => f.room) ?? [];
|
|
37
|
+
this.modalState.openRooms({
|
|
38
|
+
title: this.roomTitle,
|
|
39
|
+
filters: list,
|
|
40
|
+
onSelect: (f) => this.filterSelected.set(f),
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGalleryComponent, deps: [{ token: i1.ModalStateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGalleryComponent, isStandalone: true, selector: "lib-puro-gallery", inputs: { pretitle: "pretitle", title: "title", roomTitle: "roomTitle", filters: "filters", items: "items", button: "button" }, ngImport: i0, template: "<section class=\"gallery gallery--withTabs\">\n @if (pretitle) {\n <span class=\"gallery__title\">{{ pretitle }}</span>\n }\n @if (title) {\n <h2 class=\"gallery__heading\">{{ title }}</h2>\n }\n\n @if (categoriesFilters()) {\n <ul class=\"gallery__tabs\">\n @for (option of categoriesFilters(); track $index) {\n <!-- Filtros normales -->\n @if (!option.rooms) {\n <li\n role=\"button\"\n class=\"js-filter-gallery\"\n [filterGallery]=\"option\"\n (filterSelect)=\"filterItems($event)\"\n [class.active]=\"\n !filterSelected()?.room &&\n (option.all\n ? !!filterSelected()?.all\n : filterSelected()?.id === option.id)\n \"\n [attr.aria-selected]=\"\n !filterSelected()?.room &&\n (option.all\n ? !!filterSelected()?.all\n : filterSelected()?.id === option.id)\n \"\n [attr.data-filter_category]=\"option.id\"\n [attr.aria-label]=\"option.text\"\n >\n {{ option.text }}\n </li>\n }\n\n <!-- Rooms: MISMO patr\u00F3n que languages -->\n @if (option.rooms) {\n <li\n class=\"js-active-modal\"\n activeModal\n data-modal_name=\"filter\"\n role=\"button\"\n (click)=\"prepareRoomsModal()\"\n [attr.aria-label]=\"option.text || 'Rooms'\"\n >\n {{ option.text }}\n </li>\n }\n }\n </ul>\n <!-- Categor\u00EDas (sin rooms ni room:true) -->\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n [filterGallery]=\"categoriesFilters()\"\n (filterSelect)=\"filterItems($event)\"\n >\n <option value=\"\" selected disabled>Categor\u00EDas</option>\n @for (option of categoriesFilters(); track $index) {\n @if (!option.rooms && !option.room) {\n <option [value]=\"option.id\">{{ option.text }}</option>\n }\n }\n </select>\n <span class=\"icon-right\">\n <svg aria-hidden=\"true\" focusable=\"false\" width=\"15\" height=\"8\">\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n\n <!-- Habitaciones (room:true) -->\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n [filterGallery]=\"roomsFilters()\"\n (filterSelect)=\"filterItems($event)\"\n >\n <option value=\"\" selected disabled>Habitaciones</option>\n @for (option of roomsFilters(); track $index) {\n <option [value]=\"option.id\">{{ option.text }}</option>\n }\n </select>\n <span class=\"icon-right\">\n <svg aria-hidden=\"true\" focusable=\"false\" width=\"15\" height=\"8\">\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n\n <div class=\"gallery__list galleryGrid__for-7\">\n @if (itemsDisplayed()) {\n @for (item of itemsDisplayed(); track $index) {\n <div\n class=\"gallery__item show\"\n [attr.data-category]=\"item.filter\"\n [attr.data-title]=\"item.title\"\n >\n <div\n role=\"button\"\n class=\"gallery__box js-active-modal\"\n activeModal\n data-modal_name=\"gallery\"\n [attr.aria-label]=\"item.title ?? 'Gallery Item'\"\n [attr.data-img]=\"item.img?.src\"\n [attr.data-title]=\"item.title\"\n >\n <div class=\"gallery__graphic\">\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"789\"\n height=\"747\"\n class=\"gallery__graphic--img\"\n [alt]=\"item.title\"\n />\n <div class=\"gallery__zoom\">\n <span>{{ item.title }}</span>\n <i class=\"icon-84\"></i>\n </div>\n }\n </div>\n </div>\n </div>\n }\n }\n </div>\n\n @if (button) {\n <div class=\"btn__group\">\n <a\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n puroLinkType\n [linkType]=\"button.linkType\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n </div>\n }\n</section>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroActiveModalDirective, selector: "[activeModal]" }, { kind: "directive", type: PuroFilterGalleryDirective, selector: "[filterGallery]", inputs: ["filterGallery"], outputs: ["filterSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8
45
|
}
|
|
9
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGalleryComponent, decorators: [{
|
|
10
47
|
type: Component,
|
|
11
|
-
args: [{ selector: 'lib-puro-gallery', standalone: true, imports: [
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
48
|
+
args: [{ selector: 'lib-puro-gallery', standalone: true, imports: [
|
|
49
|
+
CommonModule,
|
|
50
|
+
PuroLinkTypeDirective,
|
|
51
|
+
PuroActiveModalDirective,
|
|
52
|
+
PuroFilterGalleryDirective,
|
|
53
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"gallery gallery--withTabs\">\n @if (pretitle) {\n <span class=\"gallery__title\">{{ pretitle }}</span>\n }\n @if (title) {\n <h2 class=\"gallery__heading\">{{ title }}</h2>\n }\n\n @if (categoriesFilters()) {\n <ul class=\"gallery__tabs\">\n @for (option of categoriesFilters(); track $index) {\n <!-- Filtros normales -->\n @if (!option.rooms) {\n <li\n role=\"button\"\n class=\"js-filter-gallery\"\n [filterGallery]=\"option\"\n (filterSelect)=\"filterItems($event)\"\n [class.active]=\"\n !filterSelected()?.room &&\n (option.all\n ? !!filterSelected()?.all\n : filterSelected()?.id === option.id)\n \"\n [attr.aria-selected]=\"\n !filterSelected()?.room &&\n (option.all\n ? !!filterSelected()?.all\n : filterSelected()?.id === option.id)\n \"\n [attr.data-filter_category]=\"option.id\"\n [attr.aria-label]=\"option.text\"\n >\n {{ option.text }}\n </li>\n }\n\n <!-- Rooms: MISMO patr\u00F3n que languages -->\n @if (option.rooms) {\n <li\n class=\"js-active-modal\"\n activeModal\n data-modal_name=\"filter\"\n role=\"button\"\n (click)=\"prepareRoomsModal()\"\n [attr.aria-label]=\"option.text || 'Rooms'\"\n >\n {{ option.text }}\n </li>\n }\n }\n </ul>\n <!-- Categor\u00EDas (sin rooms ni room:true) -->\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n [filterGallery]=\"categoriesFilters()\"\n (filterSelect)=\"filterItems($event)\"\n >\n <option value=\"\" selected disabled>Categor\u00EDas</option>\n @for (option of categoriesFilters(); track $index) {\n @if (!option.rooms && !option.room) {\n <option [value]=\"option.id\">{{ option.text }}</option>\n }\n }\n </select>\n <span class=\"icon-right\">\n <svg aria-hidden=\"true\" focusable=\"false\" width=\"15\" height=\"8\">\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n\n <!-- Habitaciones (room:true) -->\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n [filterGallery]=\"roomsFilters()\"\n (filterSelect)=\"filterItems($event)\"\n >\n <option value=\"\" selected disabled>Habitaciones</option>\n @for (option of roomsFilters(); track $index) {\n <option [value]=\"option.id\">{{ option.text }}</option>\n }\n </select>\n <span class=\"icon-right\">\n <svg aria-hidden=\"true\" focusable=\"false\" width=\"15\" height=\"8\">\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n\n <div class=\"gallery__list galleryGrid__for-7\">\n @if (itemsDisplayed()) {\n @for (item of itemsDisplayed(); track $index) {\n <div\n class=\"gallery__item show\"\n [attr.data-category]=\"item.filter\"\n [attr.data-title]=\"item.title\"\n >\n <div\n role=\"button\"\n class=\"gallery__box js-active-modal\"\n activeModal\n data-modal_name=\"gallery\"\n [attr.aria-label]=\"item.title ?? 'Gallery Item'\"\n [attr.data-img]=\"item.img?.src\"\n [attr.data-title]=\"item.title\"\n >\n <div class=\"gallery__graphic\">\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"789\"\n height=\"747\"\n class=\"gallery__graphic--img\"\n [alt]=\"item.title\"\n />\n <div class=\"gallery__zoom\">\n <span>{{ item.title }}</span>\n <i class=\"icon-84\"></i>\n </div>\n }\n </div>\n </div>\n </div>\n }\n }\n </div>\n\n @if (button) {\n <div class=\"btn__group\">\n <a\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n puroLinkType\n [linkType]=\"button.linkType\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n </div>\n }\n</section>\n" }]
|
|
54
|
+
}], ctorParameters: () => [{ type: i1.ModalStateService }], propDecorators: { pretitle: [{
|
|
15
55
|
type: Input
|
|
16
56
|
}], title: [{
|
|
17
57
|
type: Input
|
|
58
|
+
}], roomTitle: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], filters: [{
|
|
61
|
+
type: Input
|
|
18
62
|
}], items: [{
|
|
19
63
|
type: Input
|
|
20
64
|
}], button: [{
|
|
21
65
|
type: Input
|
|
22
66
|
}] } });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1nYWxsZXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8tZ2FsbGVyeS9wdXJvLWdhbGxlcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1nYWxsZXJ5L3B1cm8tZ2FsbGVyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUNILDBCQUEwQixFQUMxQixxQkFBcUIsR0FDeEIsTUFBTSxrQkFBa0IsQ0FBQzs7QUFjMUIsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO21HQUFwQixvQkFBb0Isa0xDbkJqQyx1M0dBNEZBLHlERDdFYyxZQUFZLCtCQUFFLHFCQUFxQiw0SUFBRSwwQkFBMEI7OzRGQUloRSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSwwQkFBMEIsQ0FBQzs4QkFLakUsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBQdXJvRmlsdGVyR2FsbGVyeURpcmVjdGl2ZSxcbiAgICBQdXJvTGlua1R5cGVEaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgUHVyb0J1dHRvbkksIFB1cm9JbWFnZUkgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gICAgRHJvcGRvd25PcHRpb24sXG4gICAgUHVyb0Ryb3Bkb3duSSxcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wdXJvLWRyb3Bkb3duLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tZ2FsbGVyeScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQdXJvTGlua1R5cGVEaXJlY3RpdmUsIFB1cm9GaWx0ZXJHYWxsZXJ5RGlyZWN0aXZlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHVyby1nYWxsZXJ5LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcHVyby1nYWxsZXJ5LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHVyb0dhbGxlcnlDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHByZXRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZpbHRlcj86IFB1cm9Ecm9wZG93bkk7XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXRlbXM/OiBQdXJvR2FsbGVyeUl0ZW1bXTtcbiAgICBASW5wdXQoKSBidXR0b24/OiBQdXJvQnV0dG9uSTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvR2FsbGVyeUl0ZW0ge1xuICAgIGltZz86IFB1cm9JbWFnZUk7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgZmlsdGVyPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9HYWxsZXJ5RmlsdGVyIGV4dGVuZHMgRHJvcGRvd25PcHRpb24ge1xuICAgIGFsbD86IGJvb2xlYW47XG4gICAgcm9vbT86IGJvb2xlYW47XG4gICAgcm9vbXM/OiBib29sZWFuO1xufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJnYWxsZXJ5IGdhbGxlcnktLXdpdGhUYWJzXCI+XG4gICAgQGlmIChwcmV0aXRsZSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cImdhbGxlcnlfX3RpdGxlXCI+e3sgcHJldGl0bGUgfX08L3NwYW4+XG4gICAgfVxuICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgPGgyIGNsYXNzPVwiZ2FsbGVyeV9faGVhZGluZ1wiPlxuICAgICAgICAgICAge3sgdGl0bGUgfX1cbiAgICAgICAgPC9oMj5cbiAgICB9XG4gICAgQGlmIChmaWx0ZXIpIHtcbiAgICAgICAgPHVsIGNsYXNzPVwiZ2FsbGVyeV9fdGFic1wiPlxuICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIGZpbHRlci5vcHRpb25zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwianMtZmlsdGVyLWdhbGxlcnlcIlxuICAgICAgICAgICAgICAgICAgICBbZmlsdGVyR2FsbGVyeV09XCJvcHRpb24uY29kZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtZmlsdGVyX2NhdGVnb3J5XT1cIm9wdGlvbi5jb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJvcHRpb24ubmFtZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvdWw+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJmb3JtX19ncm91cCB3aXRoSWNvblwiPlxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybV9fY29udHJvbFwiPlxuICAgICAgICAgICAgPG9wdGlvbiBbZmlsdGVyR2FsbGVyeV09XCIwXCIgc2VsZWN0ZWQgZGlzYWJsZWQ+XG4gICAgICAgICAgICAgICAge3sgZmlsdGVyPy5wbGFjZWhvbGRlciB9fVxuICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICBAaWYgKGZpbHRlcj8ub3B0aW9ucykge1xuICAgICAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBmaWx0ZXI/Lm9wdGlvbnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFtmaWx0ZXJHYWxsZXJ5XT1cIm9wdGlvbi5jb2RlXCIgW3ZhbHVlXT1cIm9wdGlvbi5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvc2VsZWN0PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImljb24tcmlnaHRcIj5cbiAgICAgICAgICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIiB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiOFwiPlxuICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIiNzZWxlY3QtYXJyb3dcIj48L3VzZT5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImdhbGxlcnlfX2xpc3QgZ2FsbGVyeUdyaWRfX2Zvci03XCI+XG4gICAgICAgIEBpZiAoaXRlbXMpIHtcbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJnYWxsZXJ5X19pdGVtIHNob3dcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWNhdGVnb3J5XT1cIml0ZW0uZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10aXRsZV09XCJpdGVtLnRpdGxlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJnYWxsZXJ5X19ib3gganMtYWN0aXZlLW1vZGFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbW9kYWxfbmFtZT1cImdhbGxlcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkdhbGxlcnkgSXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0udGl0bGUgPz8gJ0dhbGxlcnkgSXRlbSdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FsbGVyeV9fZ3JhcGhpY1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pbWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmltZy5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI3ODlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNzQ3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ2FsbGVyeV9fZ3JhcGhpYy0taW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnYWxsZXJ5X196b29tXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uLTg0XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICBAaWYgKGJ1dHRvbikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b24udXJsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3ByaW1hcnktLW91dGxpbmVcIlxuICAgICAgICAgICAgICAgIHB1cm9MaW5rVHlwZVxuICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidXR0b24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBidXR0b24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvc2VjdGlvbj5cbiJdfQ==
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1nYWxsZXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8tZ2FsbGVyeS9wdXJvLWdhbGxlcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1nYWxsZXJ5L3B1cm8tZ2FsbGVyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNILDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIscUJBQXFCLEdBQ3hCLE1BQU0sa0JBQWtCLENBQUM7OztBQWdCMUIsTUFBTSxPQUFPLG9CQUFvQjtJQXdCN0IsWUFBNkIsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFoQjFELG1CQUFjLEdBQUcsTUFBTSxDQUFnQyxTQUFTLENBQUMsQ0FBQztRQUVsRSx3QkFBd0I7UUFDeEIsc0JBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUM5QixDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDOUMsQ0FBQztRQUNGLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRTFFLG1CQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMzQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNwRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FDckIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLEVBQUUsQ0FDaEQsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBRTBELENBQUM7SUFFOUQsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsOEJBQThCO0lBQzlCLFdBQVcsQ0FBQyxNQUEwQjtRQUNsQyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU87UUFFcEIsaUNBQWlDO1FBQ2pDLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLE9BQU87U0FDVjtRQUVELHlDQUF5QztRQUN6QyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsb0RBQW9EO0lBQ3BELGlCQUFpQjtRQUNiLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1lBQ3RCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUztZQUNyQixPQUFPLEVBQUUsSUFBSTtZQUNiLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzlDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBcERRLG9CQUFvQjttR0FBcEIsb0JBQW9CLDRNQzdCakMsdXRMQWlKQSx5REQ3SFEsWUFBWSwrQkFDWixxQkFBcUIsNElBQ3JCLHdCQUF3QiwwREFDeEIsMEJBQTBCOzs0RkFNckIsb0JBQW9CO2tCQWJoQyxTQUFTOytCQUNJLGtCQUFrQixjQUNoQixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLHdCQUF3Qjt3QkFDeEIsMEJBQTBCO3FCQUM3QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTTtzRkFHdEMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBjb21wdXRlZCxcbiAgICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHVyb0ltYWdlSSwgUHVyb0J1dHRvbkkgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gICAgUHVyb0ZpbHRlckdhbGxlcnlEaXJlY3RpdmUsXG4gICAgUHVyb0FjdGl2ZU1vZGFsRGlyZWN0aXZlLFxuICAgIFB1cm9MaW5rVHlwZURpcmVjdGl2ZSxcbn0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBNb2RhbFN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItcHVyby1nYWxsZXJ5JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBQdXJvTGlua1R5cGVEaXJlY3RpdmUsXG4gICAgICAgIFB1cm9BY3RpdmVNb2RhbERpcmVjdGl2ZSxcbiAgICAgICAgUHVyb0ZpbHRlckdhbGxlcnlEaXJlY3RpdmUsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHVyby1nYWxsZXJ5LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcHVyby1nYWxsZXJ5LmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUHVyb0dhbGxlcnlDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHByZXRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHJvb21UaXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBmaWx0ZXJzPzogUHVyb0dhbGxlcnlGaWx0ZXJbXTtcbiAgICBASW5wdXQoKSBpdGVtcz86IFB1cm9HYWxsZXJ5SXRlbVtdO1xuICAgIEBJbnB1dCgpIGJ1dHRvbj86IFB1cm9CdXR0b25JO1xuXG4gICAgZmlsdGVyU2VsZWN0ZWQgPSBzaWduYWw8UHVyb0dhbGxlcnlGaWx0ZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgICAvLyBMaXN0YXMgZmlsdHJvcyBtb2JpbGVcbiAgICBjYXRlZ29yaWVzRmlsdGVycyA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgICh0aGlzLmZpbHRlcnMgPz8gW10pLmZpbHRlcigoZikgPT4gIWYucm9vbSlcbiAgICApO1xuICAgIHJvb21zRmlsdGVycyA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmZpbHRlcnMgPz8gW10pLmZpbHRlcigoZikgPT4gZi5yb29tKSk7XG5cbiAgICBpdGVtc0Rpc3BsYXllZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyU2VsZWN0ZWQoKT8uYWxsIHx8ICF0aGlzLmZpbHRlclNlbGVjdGVkKCkpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pdGVtcztcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXM/LmZpbHRlcihcbiAgICAgICAgICAgIChpKSA9PiBpLmZpbHRlciA9PT0gdGhpcy5maWx0ZXJTZWxlY3RlZCgpPy5pZFxuICAgICAgICApO1xuICAgIH0pO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBtb2RhbFN0YXRlOiBNb2RhbFN0YXRlU2VydmljZSkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlclNlbGVjdGVkLnNldCh0aGlzLmZpbHRlcnM/LmZpbmQoKGYpID0+IGYuYWxsKSk7XG4gICAgfVxuXG4gICAgLy8gZmlsdHJvcyBub3JtYWxlcyAobm8gcm9vbXMpXG4gICAgZmlsdGVySXRlbXMoZmlsdGVyPzogUHVyb0dhbGxlcnlGaWx0ZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFmaWx0ZXIpIHJldHVybjtcblxuICAgICAgICAvLyBBZ3JlZ2Fkb3IgXCJSb29tc1wiOiBhYnJpciBtb2RhbFxuICAgICAgICBpZiAoZmlsdGVyLnJvb21zKSB7XG4gICAgICAgICAgICB0aGlzLnByZXBhcmVSb29tc01vZGFsKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDYXRlZ29yw61hIG5vcm1hbCBvIGhhYml0YWNpw7NuIGNvbmNyZXRhXG4gICAgICAgIHRoaXMuZmlsdGVyU2VsZWN0ZWQuc2V0KGZpbHRlcik7XG4gICAgfVxuXG4gICAgLy8gcHJlcGFyYXIgZGF0b3MgcGFyYSBlbCBtb2RhbCBhbnRlcy9qdXN0byBhbCBjbGlja1xuICAgIHByZXBhcmVSb29tc01vZGFsKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBsaXN0ID0gdGhpcy5maWx0ZXJzPy5maWx0ZXIoKGYpID0+IGYucm9vbSkgPz8gW107XG4gICAgICAgIHRoaXMubW9kYWxTdGF0ZS5vcGVuUm9vbXMoe1xuICAgICAgICAgICAgdGl0bGU6IHRoaXMucm9vbVRpdGxlLFxuICAgICAgICAgICAgZmlsdGVyczogbGlzdCxcbiAgICAgICAgICAgIG9uU2VsZWN0OiAoZikgPT4gdGhpcy5maWx0ZXJTZWxlY3RlZC5zZXQoZiksXG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvR2FsbGVyeUl0ZW0ge1xuICAgIGltZz86IFB1cm9JbWFnZUk7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgZmlsdGVyPzogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBQdXJvR2FsbGVyeUZpbHRlciB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICB0ZXh0Pzogc3RyaW5nO1xuICAgIHJvb21zPzogYm9vbGVhbjsgLy8g4oCcUm9vbXPigJ0gdGFiXG4gICAgcm9vbT86IGJvb2xlYW47IC8vIGNhZGEgaGFiaXRhY2nDs24gZGVudHJvIGRlbCBtb2RhbFxuICAgIGFsbD86IGJvb2xlYW47XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cImdhbGxlcnkgZ2FsbGVyeS0td2l0aFRhYnNcIj5cbiAgICBAaWYgKHByZXRpdGxlKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ2FsbGVyeV9fdGl0bGVcIj57eyBwcmV0aXRsZSB9fTwvc3Bhbj5cbiAgICB9XG4gICAgQGlmICh0aXRsZSkge1xuICAgICAgICA8aDIgY2xhc3M9XCJnYWxsZXJ5X19oZWFkaW5nXCI+e3sgdGl0bGUgfX08L2gyPlxuICAgIH1cblxuICAgIEBpZiAoY2F0ZWdvcmllc0ZpbHRlcnMoKSkge1xuICAgICAgICA8dWwgY2xhc3M9XCJnYWxsZXJ5X190YWJzXCI+XG4gICAgICAgICAgICBAZm9yIChvcHRpb24gb2YgY2F0ZWdvcmllc0ZpbHRlcnMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPCEtLSBGaWx0cm9zIG5vcm1hbGVzIC0tPlxuICAgICAgICAgICAgICAgIEBpZiAoIW9wdGlvbi5yb29tcykge1xuICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJqcy1maWx0ZXItZ2FsbGVyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyR2FsbGVyeV09XCJvcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGZpbHRlclNlbGVjdCk9XCJmaWx0ZXJJdGVtcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIWZpbHRlclNlbGVjdGVkKCk/LnJvb20gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3B0aW9uLmFsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICEhZmlsdGVyU2VsZWN0ZWQoKT8uYWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmlsdGVyU2VsZWN0ZWQoKT8uaWQgPT09IG9wdGlvbi5pZClcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFmaWx0ZXJTZWxlY3RlZCgpPy5yb29tICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvbi5hbGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAhIWZpbHRlclNlbGVjdGVkKCk/LmFsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGZpbHRlclNlbGVjdGVkKCk/LmlkID09PSBvcHRpb24uaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1maWx0ZXJfY2F0ZWdvcnldPVwib3B0aW9uLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwib3B0aW9uLnRleHRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24udGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIDwhLS0gUm9vbXM6IE1JU01PIHBhdHLDs24gcXVlIGxhbmd1YWdlcyAtLT5cbiAgICAgICAgICAgICAgICBAaWYgKG9wdGlvbi5yb29tcykge1xuICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwianMtYWN0aXZlLW1vZGFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZU1vZGFsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW1vZGFsX25hbWU9XCJmaWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJlcGFyZVJvb21zTW9kYWwoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm9wdGlvbi50ZXh0IHx8ICdSb29tcydcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24udGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC91bD5cbiAgICAgICAgPCEtLSBDYXRlZ29yw61hcyAoc2luIHJvb21zIG5pIHJvb206dHJ1ZSkgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtX19ncm91cCB3aXRoSWNvblwiPlxuICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybV9fY29udHJvbFwiXG4gICAgICAgICAgICAgICAgW2ZpbHRlckdhbGxlcnldPVwiY2F0ZWdvcmllc0ZpbHRlcnMoKVwiXG4gICAgICAgICAgICAgICAgKGZpbHRlclNlbGVjdCk9XCJmaWx0ZXJJdGVtcygkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCIgc2VsZWN0ZWQgZGlzYWJsZWQ+Q2F0ZWdvcsOtYXM8L29wdGlvbj5cbiAgICAgICAgICAgICAgICBAZm9yIChvcHRpb24gb2YgY2F0ZWdvcmllc0ZpbHRlcnMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoIW9wdGlvbi5yb29tcyAmJiAhb3B0aW9uLnJvb20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi5pZFwiPnt7IG9wdGlvbi50ZXh0IH19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbi1yaWdodFwiPlxuICAgICAgICAgICAgICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIiB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiOFwiPlxuICAgICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCIjc2VsZWN0LWFycm93XCI+PC91c2U+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gSGFiaXRhY2lvbmVzIChyb29tOnRydWUpIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybV9fZ3JvdXAgd2l0aEljb25cIj5cbiAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm1fX2NvbnRyb2xcIlxuICAgICAgICAgICAgICAgIFtmaWx0ZXJHYWxsZXJ5XT1cInJvb21zRmlsdGVycygpXCJcbiAgICAgICAgICAgICAgICAoZmlsdGVyU2VsZWN0KT1cImZpbHRlckl0ZW1zKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJcIiBzZWxlY3RlZCBkaXNhYmxlZD5IYWJpdGFjaW9uZXM8L29wdGlvbj5cbiAgICAgICAgICAgICAgICBAZm9yIChvcHRpb24gb2Ygcm9vbXNGaWx0ZXJzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCJvcHRpb24uaWRcIj57eyBvcHRpb24udGV4dCB9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPHN2ZyBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCI4XCI+XG4gICAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIiNzZWxlY3QtYXJyb3dcIj48L3VzZT5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPGRpdiBjbGFzcz1cImdhbGxlcnlfX2xpc3QgZ2FsbGVyeUdyaWRfX2Zvci03XCI+XG4gICAgICAgIEBpZiAoaXRlbXNEaXNwbGF5ZWQoKSkge1xuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtc0Rpc3BsYXllZCgpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ2FsbGVyeV9faXRlbSBzaG93XCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1jYXRlZ29yeV09XCJpdGVtLmZpbHRlclwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdGl0bGVdPVwiaXRlbS50aXRsZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ2FsbGVyeV9fYm94IGpzLWFjdGl2ZS1tb2RhbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVNb2RhbFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1tb2RhbF9uYW1lPVwiZ2FsbGVyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0udGl0bGUgPz8gJ0dhbGxlcnkgSXRlbSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1pbWddPVwiaXRlbS5pbWc/LnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRpdGxlXT1cIml0ZW0udGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FsbGVyeV9fZ3JhcGhpY1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pbWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmltZy5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI3ODlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNzQ3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ2FsbGVyeV9fZ3JhcGhpYy0taW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnYWxsZXJ5X196b29tXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uLTg0XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoYnV0dG9uKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIFtocmVmXT1cImJ1dHRvbi51cmxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fcHJpbWFyeS0tb3V0bGluZVwiXG4gICAgICAgICAgICAgICAgcHVyb0xpbmtUeXBlXG4gICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24ubGFiZWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9zZWN0aW9uPlxuIl19
|
package/esm2022/lib/directives/puro-filter-gallery.directive/puro-filter-gallery.directive.mjs
CHANGED
|
@@ -1,43 +1,71 @@
|
|
|
1
|
-
import { Directive, HostListener,
|
|
1
|
+
import { Directive, EventEmitter, HostListener, Input, Output, } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class PuroFilterGalleryDirective {
|
|
4
4
|
constructor(el, renderer) {
|
|
5
5
|
this.el = el;
|
|
6
6
|
this.renderer = renderer;
|
|
7
|
-
this.
|
|
7
|
+
this.filterSelect = new EventEmitter();
|
|
8
|
+
this.hostGallery = null;
|
|
8
9
|
}
|
|
9
10
|
ngAfterViewInit() {
|
|
10
|
-
this.
|
|
11
|
+
this.hostGallery = this.el.nativeElement.closest('section.gallery');
|
|
11
12
|
}
|
|
13
|
+
// TABS (<li>)
|
|
12
14
|
onClick() {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
this.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
const filteredItems = document.querySelectorAll(`.gallery__list .gallery__item[data-category="${activeFilter}"]`);
|
|
26
|
-
filteredItems.forEach((item) => this.renderer.addClass(item, 'show'));
|
|
27
|
-
this.moveShowItemsToTop();
|
|
15
|
+
if (Array.isArray(this.source))
|
|
16
|
+
return;
|
|
17
|
+
const filter = this.source;
|
|
18
|
+
if (!filter)
|
|
19
|
+
return;
|
|
20
|
+
this.filterSelect.emit(filter);
|
|
21
|
+
if (filter.rooms) {
|
|
22
|
+
const tabs = this.qsa('.js-filter-gallery');
|
|
23
|
+
tabs.forEach((f) => this.renderer.removeClass(f, 'active'));
|
|
24
|
+
this.renderer.addClass(this.el.nativeElement, 'active');
|
|
28
25
|
}
|
|
26
|
+
// this.applyFilter(String(filter.id));
|
|
27
|
+
}
|
|
28
|
+
// SELECT (<select>)
|
|
29
|
+
onChange() {
|
|
30
|
+
if (!Array.isArray(this.source))
|
|
31
|
+
return;
|
|
32
|
+
const select = this.el.nativeElement;
|
|
33
|
+
const selected = this.source.find((f) => String(f.id) === select.value);
|
|
34
|
+
if (!selected)
|
|
35
|
+
return;
|
|
36
|
+
// si algún día metes el agregador "Rooms" en el select:
|
|
37
|
+
this.filterSelect.emit(selected);
|
|
38
|
+
// if (selected.rooms) {
|
|
39
|
+
// return;
|
|
40
|
+
// }
|
|
41
|
+
// this.applyFilter(String(selected.id));
|
|
42
|
+
}
|
|
43
|
+
// helpers
|
|
44
|
+
qsa(sel) {
|
|
45
|
+
return (this.hostGallery ?? document).querySelectorAll(sel);
|
|
29
46
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
showItems.forEach((item) => galleryList.prepend(item));
|
|
36
|
-
}
|
|
47
|
+
applyFilter(activeId) {
|
|
48
|
+
const items = Array.from(this.qsa('.gallery__list .gallery__item'));
|
|
49
|
+
items.forEach((i) => this.renderer.removeClass(i, 'show'));
|
|
50
|
+
if (!activeId || activeId === '0' || activeId === 'all') {
|
|
51
|
+
items.forEach((i) => this.renderer.addClass(i, 'show'));
|
|
37
52
|
}
|
|
53
|
+
else {
|
|
54
|
+
items
|
|
55
|
+
.filter((i) => (i.getAttribute('data-category') ?? '') === activeId)
|
|
56
|
+
.forEach((i) => this.renderer.addClass(i, 'show'));
|
|
57
|
+
}
|
|
58
|
+
// mover mostrados arriba (como desktop)
|
|
59
|
+
const list = this.qsa('.gallery__list')[0];
|
|
60
|
+
if (!list)
|
|
61
|
+
return;
|
|
62
|
+
const showItems = Array.from(list.querySelectorAll('.gallery__item.show'));
|
|
63
|
+
const frag = document.createDocumentFragment();
|
|
64
|
+
showItems.forEach((i) => frag.appendChild(i));
|
|
65
|
+
list.prepend(frag);
|
|
38
66
|
}
|
|
39
67
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroFilterGalleryDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
40
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
68
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: PuroFilterGalleryDirective, isStandalone: true, selector: "[filterGallery]", inputs: { source: ["filterGallery", "source"] }, outputs: { filterSelect: "filterSelect" }, host: { listeners: { "click": "onClick()", "change": "onChange()" } }, ngImport: i0 }); }
|
|
41
69
|
}
|
|
42
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroFilterGalleryDirective, decorators: [{
|
|
43
71
|
type: Directive,
|
|
@@ -45,8 +73,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
45
73
|
selector: '[filterGallery]',
|
|
46
74
|
standalone: true,
|
|
47
75
|
}]
|
|
48
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: {
|
|
76
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { source: [{
|
|
77
|
+
type: Input,
|
|
78
|
+
args: ['filterGallery']
|
|
79
|
+
}], filterSelect: [{
|
|
80
|
+
type: Output
|
|
81
|
+
}], onClick: [{
|
|
49
82
|
type: HostListener,
|
|
50
83
|
args: ['click']
|
|
84
|
+
}], onChange: [{
|
|
85
|
+
type: HostListener,
|
|
86
|
+
args: ['change']
|
|
51
87
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1maWx0ZXItZ2FsbGVyeS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvZGlyZWN0aXZlcy9wdXJvLWZpbHRlci1nYWxsZXJ5LmRpcmVjdGl2ZS9wdXJvLWZpbHRlci1nYWxsZXJ5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FHVCxNQUFNLGVBQWUsQ0FBQzs7QUFPdkIsTUFBTSxPQUFPLDBCQUEwQjtJQU1uQyxZQUNZLEVBQWMsRUFDZCxRQUFtQjtRQURuQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQU5yQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBRXZELGdCQUFXLEdBQXVCLElBQUksQ0FBQztJQUs1QyxDQUFDO0lBRUosZUFBZTtRQUNYLElBQUksQ0FBQyxXQUFXLEdBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUE2QixDQUFDLE9BQU8sQ0FDN0QsaUJBQWlCLENBQ3BCLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYztJQUVkLE9BQU87UUFDSCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUFFLE9BQU87UUFDdkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQXVDLENBQUM7UUFDNUQsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBRXBCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRS9CLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNoQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDNUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDekQ7UUFHRCx1Q0FBdUM7SUFDM0MsQ0FBQztJQUVELG9CQUFvQjtJQUVwQixRQUFRO1FBQ0osSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUFFLE9BQU87UUFDeEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFrQyxDQUFDO1FBQzFELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFdEIsd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pDLHdCQUF3QjtRQUN4QixjQUFjO1FBQ2QsSUFBSTtRQUVKLHlDQUF5QztJQUM3QyxDQUFDO0lBRUQsVUFBVTtJQUNGLEdBQUcsQ0FBQyxHQUFXO1FBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxDQUFDLGdCQUFnQixDQUNsRCxHQUFHLENBQ04sQ0FBQztJQUNOLENBQUM7SUFFTyxXQUFXLENBQUMsUUFBdUI7UUFDdkMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQztRQUNwRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUUzRCxJQUFJLENBQUMsUUFBUSxJQUFJLFFBQVEsS0FBSyxHQUFHLElBQUksUUFBUSxLQUFLLEtBQUssRUFBRTtZQUNyRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUMzRDthQUFNO1lBQ0gsS0FBSztpQkFDQSxNQUFNLENBQ0gsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxRQUFRLENBQzlEO2lCQUNBLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDMUQ7UUFFRCx3Q0FBd0M7UUFDeEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBNEIsQ0FBQztRQUN0RSxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDbEIsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLENBQy9DLENBQUM7UUFDRixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUMvQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixDQUFDOytHQW5GUSwwQkFBMEI7bUdBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7dUdBRTJCLE1BQU07c0JBQTdCLEtBQUs7dUJBQUMsZUFBZTtnQkFDWixZQUFZO3NCQUFyQixNQUFNO2dCQWlCUCxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFvQnJCLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQdXJvR2FsbGVyeUZpbHRlciB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvcHVyby1nYWxsZXJ5JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmlsdGVyR2FsbGVyeV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFB1cm9GaWx0ZXJHYWxsZXJ5RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KCdmaWx0ZXJHYWxsZXJ5Jykgc291cmNlPzogUHVyb0dhbGxlcnlGaWx0ZXIgfCBQdXJvR2FsbGVyeUZpbHRlcltdO1xuICAgIEBPdXRwdXQoKSBmaWx0ZXJTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFB1cm9HYWxsZXJ5RmlsdGVyPigpO1xuXG4gICAgcHJpdmF0ZSBob3N0R2FsbGVyeTogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdEdhbGxlcnkgPSAodGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KFxuICAgICAgICAgICAgJ3NlY3Rpb24uZ2FsbGVyeSdcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBUQUJTICg8bGk+KVxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnNvdXJjZSkpIHJldHVybjtcbiAgICAgICAgY29uc3QgZmlsdGVyID0gdGhpcy5zb3VyY2UgYXMgUHVyb0dhbGxlcnlGaWx0ZXIgfCB1bmRlZmluZWQ7XG4gICAgICAgIGlmICghZmlsdGVyKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5maWx0ZXJTZWxlY3QuZW1pdChmaWx0ZXIpO1xuXG4gICAgICAgIGlmIChmaWx0ZXIucm9vbXMpIHtcbiAgICAgICAgICBjb25zdCB0YWJzID0gdGhpcy5xc2EoJy5qcy1maWx0ZXItZ2FsbGVyeScpO1xuICAgICAgICAgIHRhYnMuZm9yRWFjaCgoZikgPT4gdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhmLCAnYWN0aXZlJykpO1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnYWN0aXZlJyk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIHRoaXMuYXBwbHlGaWx0ZXIoU3RyaW5nKGZpbHRlci5pZCkpO1xuICAgIH1cblxuICAgIC8vIFNFTEVDVCAoPHNlbGVjdD4pXG4gICAgQEhvc3RMaXN0ZW5lcignY2hhbmdlJylcbiAgICBvbkNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMuc291cmNlKSkgcmV0dXJuO1xuICAgICAgICBjb25zdCBzZWxlY3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTFNlbGVjdEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zb3VyY2UuZmluZCgoZikgPT4gU3RyaW5nKGYuaWQpID09PSBzZWxlY3QudmFsdWUpO1xuICAgICAgICBpZiAoIXNlbGVjdGVkKSByZXR1cm47XG5cbiAgICAgICAgLy8gc2kgYWxnw7puIGTDrWEgbWV0ZXMgZWwgYWdyZWdhZG9yIFwiUm9vbXNcIiBlbiBlbCBzZWxlY3Q6XG4gICAgICAgIHRoaXMuZmlsdGVyU2VsZWN0LmVtaXQoc2VsZWN0ZWQpO1xuICAgICAgICAvLyBpZiAoc2VsZWN0ZWQucm9vbXMpIHtcbiAgICAgICAgLy8gICAgIHJldHVybjtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIC8vIHRoaXMuYXBwbHlGaWx0ZXIoU3RyaW5nKHNlbGVjdGVkLmlkKSk7XG4gICAgfVxuXG4gICAgLy8gaGVscGVyc1xuICAgIHByaXZhdGUgcXNhKHNlbDogc3RyaW5nKTogTm9kZUxpc3RPZjxIVE1MRWxlbWVudD4ge1xuICAgICAgICByZXR1cm4gKHRoaXMuaG9zdEdhbGxlcnkgPz8gZG9jdW1lbnQpLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KFxuICAgICAgICAgICAgc2VsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseUZpbHRlcihhY3RpdmVJZDogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtcyA9IEFycmF5LmZyb20odGhpcy5xc2EoJy5nYWxsZXJ5X19saXN0IC5nYWxsZXJ5X19pdGVtJykpO1xuICAgICAgICBpdGVtcy5mb3JFYWNoKChpKSA9PiB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGksICdzaG93JykpO1xuXG4gICAgICAgIGlmICghYWN0aXZlSWQgfHwgYWN0aXZlSWQgPT09ICcwJyB8fCBhY3RpdmVJZCA9PT0gJ2FsbCcpIHtcbiAgICAgICAgICAgIGl0ZW1zLmZvckVhY2goKGkpID0+IHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoaSwgJ3Nob3cnKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpdGVtc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgIChpKSA9PiAoaS5nZXRBdHRyaWJ1dGUoJ2RhdGEtY2F0ZWdvcnknKSA/PyAnJykgPT09IGFjdGl2ZUlkXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKChpKSA9PiB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGksICdzaG93JykpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gbW92ZXIgbW9zdHJhZG9zIGFycmliYSAoY29tbyBkZXNrdG9wKVxuICAgICAgICBjb25zdCBsaXN0ID0gdGhpcy5xc2EoJy5nYWxsZXJ5X19saXN0JylbMF0gYXMgSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gICAgICAgIGlmICghbGlzdCkgcmV0dXJuO1xuICAgICAgICBjb25zdCBzaG93SXRlbXMgPSBBcnJheS5mcm9tKFxuICAgICAgICAgICAgbGlzdC5xdWVyeVNlbGVjdG9yQWxsKCcuZ2FsbGVyeV9faXRlbS5zaG93JylcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZnJhZyA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICAgICAgc2hvd0l0ZW1zLmZvckVhY2goKGkpID0+IGZyYWcuYXBwZW5kQ2hpbGQoaSkpO1xuICAgICAgICBsaXN0LnByZXBlbmQoZnJhZyk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './mapper';
|
|
2
|
+
export * from './modal-state';
|
|
2
3
|
export * from './screen-sizer';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFwcGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwtc3RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zY3JlZW4tc2l6ZXInO1xuIl19
|