matcha-components 19.74.0 → 19.76.0
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/matcha-accordion/accordion/accordion.component.mjs +49 -0
- package/esm2022/lib/matcha-accordion/accordion-content/accordion-content.component.mjs +11 -0
- package/esm2022/lib/matcha-accordion/accordion-header/accordion-header.component.mjs +11 -0
- package/esm2022/lib/matcha-accordion/accordion-item/accordion-item.component.mjs +42 -0
- package/esm2022/lib/matcha-accordion/accordion.module.mjs +59 -0
- package/esm2022/lib/matcha-animations/animations.mjs +352 -0
- package/esm2022/lib/matcha-autocomplete/matcha-autocomplete/matcha-autocomplete.component.mjs +46 -0
- package/esm2022/lib/matcha-autocomplete/matcha-autocomplete.directive.mjs +71 -0
- package/esm2022/lib/matcha-autocomplete/matcha-autocomplete.module.mjs +21 -0
- package/esm2022/lib/matcha-badge/badge.directive.mjs +20 -0
- package/esm2022/lib/matcha-badge/badge.module.mjs +17 -0
- package/esm2022/lib/matcha-button/button/button.component.mjs +205 -0
- package/esm2022/lib/matcha-button/button.module.mjs +17 -0
- package/esm2022/lib/matcha-button-toggle/button-toggle/button-toggle.component.mjs +88 -0
- package/esm2022/lib/matcha-button-toggle/button-toggle.module.mjs +24 -0
- package/esm2022/lib/matcha-card/card/card.component.mjs +81 -0
- package/esm2022/lib/matcha-card/card.module.mjs +40 -0
- package/esm2022/lib/matcha-checkbox/checkbox/checkbox.component.mjs +81 -0
- package/esm2022/lib/matcha-checkbox/checkbox.module.mjs +23 -0
- package/esm2022/lib/matcha-chips/chips.module.mjs +19 -0
- package/esm2022/lib/matcha-chips/matcha-chips.directive.mjs +20 -0
- package/esm2022/lib/matcha-components.module.mjs +55 -0
- package/esm2022/lib/matcha-datepicker/datepicker.directive.mjs +20 -0
- package/esm2022/lib/matcha-datepicker/datepicker.module.mjs +17 -0
- package/esm2022/lib/matcha-divider/divider/divider.component.mjs +66 -0
- package/esm2022/lib/matcha-divider/divider.module.mjs +22 -0
- package/esm2022/lib/matcha-elevation/elevation.directive.mjs +39 -0
- package/esm2022/lib/matcha-elevation/elevation.module.mjs +18 -0
- package/esm2022/lib/matcha-form-field/matcha-error/matcha-error.component.mjs +12 -0
- package/esm2022/lib/matcha-form-field/matcha-form-field/matcha-form-field.component.mjs +51 -0
- package/esm2022/lib/matcha-form-field/matcha-form-field.module.mjs +21 -0
- package/esm2022/lib/matcha-form-field/matcha-label/matcha-label.component.mjs +16 -0
- package/esm2022/lib/matcha-grid/grid.component.mjs +110 -0
- package/esm2022/lib/matcha-grid/grid.module.mjs +18 -0
- package/esm2022/lib/matcha-hint-text/hint/hint-text.component.mjs +38 -0
- package/esm2022/lib/matcha-hint-text/hint.module.mjs +24 -0
- package/esm2022/lib/matcha-icon/icon.component.mjs +36 -0
- package/esm2022/lib/matcha-icon/icon.module.mjs +19 -0
- package/esm2022/lib/matcha-infinite-scroll/matcha-infinite-scroll/matcha-infinite-scroll.component.mjs +46 -0
- package/esm2022/lib/matcha-infinite-scroll/matcha-infinite-scroll-data/matcha-infinite-scroll-data.component.mjs +137 -0
- package/esm2022/lib/matcha-infinite-scroll/matcha-infinite-scroll.module.mjs +21 -0
- package/esm2022/lib/matcha-input/input.directive.mjs +20 -0
- package/esm2022/lib/matcha-input/input.module.mjs +17 -0
- package/esm2022/lib/matcha-masonry/masonry/masonry.component.mjs +77 -0
- package/esm2022/lib/matcha-masonry/masonry.module.mjs +18 -0
- package/esm2022/lib/matcha-menu/menu.component.mjs +54 -0
- package/esm2022/lib/matcha-menu/menu.directive.mjs +53 -0
- package/esm2022/lib/matcha-menu/menu.module.mjs +29 -0
- package/esm2022/lib/matcha-modal/matcha-modal.module.mjs +73 -0
- package/esm2022/lib/matcha-modal/modal/modal.component.mjs +89 -0
- package/esm2022/lib/matcha-modal/modal-content/modal-content.component.mjs +11 -0
- package/esm2022/lib/matcha-modal/modal-footer/modal-footer.component.mjs +35 -0
- package/esm2022/lib/matcha-modal/modal-header/modal-header.component.mjs +12 -0
- package/esm2022/lib/matcha-modal/modal-options/modal-options.component.mjs +11 -0
- package/esm2022/lib/matcha-modal/modal.service.mjs +43 -0
- package/esm2022/lib/matcha-modal/overlay.service.mjs +131 -0
- package/esm2022/lib/matcha-option/matcha-option/matcha-option.component.mjs +33 -0
- package/esm2022/lib/matcha-option/matcha-option.module.mjs +18 -0
- package/esm2022/lib/matcha-option/matcha-option.service.mjs +73 -0
- package/esm2022/lib/matcha-overflow-draggable/matcha-overflow-draggable.component.mjs +54 -0
- package/esm2022/lib/matcha-paginator/paginator.directive.mjs +20 -0
- package/esm2022/lib/matcha-paginator/paginator.module.mjs +18 -0
- package/esm2022/lib/matcha-progress-bar/progress-bar.directive.mjs +20 -0
- package/esm2022/lib/matcha-progress-bar/progress-bar.module.mjs +22 -0
- package/esm2022/lib/matcha-radio-button/matcha-radio-button.directive.mjs +20 -0
- package/esm2022/lib/matcha-radio-button/radio-button.module.mjs +20 -0
- package/esm2022/lib/matcha-ripple/ripple.directive.mjs +71 -0
- package/esm2022/lib/matcha-ripple/ripple.module.mjs +24 -0
- package/esm2022/lib/matcha-select/select.directive.mjs +20 -0
- package/esm2022/lib/matcha-select/select.module.mjs +18 -0
- package/esm2022/lib/matcha-sidenav/sidenav.directive.mjs +20 -0
- package/esm2022/lib/matcha-sidenav/sidenav.module.mjs +18 -0
- package/esm2022/lib/matcha-slide-toggle/slide-toggle/slide-toggle.component.mjs +95 -0
- package/esm2022/lib/matcha-slide-toggle/slide-toggle.module.mjs +21 -0
- package/esm2022/lib/matcha-slider/matcha-slider.directive.mjs +20 -0
- package/esm2022/lib/matcha-slider/slider.module.mjs +20 -0
- package/esm2022/lib/matcha-snackbar/snack-bar.directive.mjs +20 -0
- package/esm2022/lib/matcha-snackbar/snack-bar.module.mjs +18 -0
- package/esm2022/lib/matcha-sort-header/sort-header.directive.mjs +20 -0
- package/esm2022/lib/matcha-sort-header/sort-header.module.mjs +18 -0
- package/esm2022/lib/matcha-spin/spin/spin.component.mjs +85 -0
- package/esm2022/lib/matcha-spin/spin.module.mjs +20 -0
- package/esm2022/lib/matcha-table/table.directive.mjs +20 -0
- package/esm2022/lib/matcha-table/table.module.mjs +18 -0
- package/esm2022/lib/matcha-tabs/tab-item/tab-item.component.mjs +29 -0
- package/esm2022/lib/matcha-tabs/tabs/tabs.component.mjs +68 -0
- package/esm2022/lib/matcha-tabs/tabs.module.mjs +29 -0
- package/esm2022/lib/matcha-title/title/title.component.mjs +66 -0
- package/esm2022/lib/matcha-title/title.module.mjs +18 -0
- package/esm2022/lib/matcha-toolbar/toolbar/toolbar.component.mjs +34 -0
- package/esm2022/lib/matcha-toolbar/toolbar-button/toolbar-button.component.mjs +28 -0
- package/esm2022/lib/matcha-toolbar/toolbar-content/toolbar-content.component.mjs +11 -0
- package/esm2022/lib/matcha-toolbar/toolbar-main-button/toolbar-main-button.component.mjs +20 -0
- package/esm2022/lib/matcha-toolbar/toolbar.module.mjs +53 -0
- package/esm2022/lib/matcha-tooltip/tooltip.directive.mjs +184 -0
- package/esm2022/lib/matcha-tooltip/tooltip.module.mjs +19 -0
- package/esm2022/lib/matcha-tree/tree.directive.mjs +20 -0
- package/esm2022/lib/matcha-tree/tree.module.mjs +18 -0
- package/esm2022/matcha-components.mjs +5 -0
- package/esm2022/public-api.mjs +119 -0
- package/fesm2022/matcha-components.mjs +536 -571
- package/fesm2022/matcha-components.mjs.map +1 -1
- package/lib/matcha-autocomplete/matcha-autocomplete/matcha-autocomplete.component.d.ts +16 -0
- package/lib/matcha-autocomplete/matcha-autocomplete.directive.d.ts +19 -0
- package/lib/matcha-autocomplete/matcha-autocomplete.module.d.ts +11 -0
- package/lib/matcha-components.module.d.ts +19 -18
- package/lib/matcha-form-field/matcha-form-field/matcha-form-field.component.d.ts +1 -1
- package/lib/matcha-option/matcha-option/matcha-option.component.d.ts +14 -0
- package/lib/matcha-option/matcha-option.module.d.ts +8 -0
- package/lib/matcha-option/matcha-option.service.d.ts +24 -0
- package/package.json +3 -1
- package/public-api.d.ts +6 -3
- package/lib/matcha-autocomplete/autocomplete-overview.directive.d.ts +0 -9
- package/lib/matcha-autocomplete/autocomplete.directive.d.ts +0 -9
- package/lib/matcha-autocomplete/autocomplete.module.d.ts +0 -8
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Component, Input, HostBinding } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class MatchaModalComponent {
|
|
4
|
+
get sizeAttr() {
|
|
5
|
+
return this.size;
|
|
6
|
+
}
|
|
7
|
+
get sizeAttrXs() {
|
|
8
|
+
return this.sizeXs;
|
|
9
|
+
}
|
|
10
|
+
get sizeAttrSm() {
|
|
11
|
+
return this.sizeSm;
|
|
12
|
+
}
|
|
13
|
+
get sizeAttrMd() {
|
|
14
|
+
return this.sizeMd;
|
|
15
|
+
}
|
|
16
|
+
get sizeAttrLg() {
|
|
17
|
+
return this.sizeLg;
|
|
18
|
+
}
|
|
19
|
+
get sizeAttrXl() {
|
|
20
|
+
return this.sizeXl;
|
|
21
|
+
}
|
|
22
|
+
get classes() {
|
|
23
|
+
const activeClasses = `matcha-modal flex-column elevation-8 ${this.class}`;
|
|
24
|
+
return activeClasses;
|
|
25
|
+
}
|
|
26
|
+
constructor() {
|
|
27
|
+
this.size = null;
|
|
28
|
+
this.sizeXs = null;
|
|
29
|
+
this.sizeSm = null;
|
|
30
|
+
this.sizeMd = null;
|
|
31
|
+
this.sizeLg = null;
|
|
32
|
+
this.sizeXl = null;
|
|
33
|
+
this.class = '';
|
|
34
|
+
this.hasBackdrop = true;
|
|
35
|
+
this.backdropClass = '';
|
|
36
|
+
}
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MatchaModalComponent, selector: "matcha-modal", inputs: { size: "size", sizeXs: ["size-xs", "sizeXs"], sizeSm: ["size-sm", "sizeSm"], sizeMd: ["size-md", "sizeMd"], sizeLg: ["size-lg", "sizeLg"], sizeXl: ["size-xl", "sizeXl"], class: "class", hasBackdrop: "hasBackdrop", backdropClass: "backdropClass" }, host: { properties: { "attr.size": "this.sizeAttr", "attr.size-xs": "this.sizeAttrXs", "arrt.size-sm": "this.sizeAttrSm", "attr.size-md": "this.sizeAttrMd", "attr.size-lg": "this.sizeAttrLg", "attr.size-xl": "this.sizeAttrXl", "class": "this.classes" } }, ngImport: i0, template: "<div class=\"background-surface elevation-z-4 flex-column matcha-modal radius-8\">\n <ng-content></ng-content>\n</div>", styles: [""] }); }
|
|
39
|
+
}
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaModalComponent, decorators: [{
|
|
41
|
+
type: Component,
|
|
42
|
+
args: [{ selector: 'matcha-modal', standalone: false, template: "<div class=\"background-surface elevation-z-4 flex-column matcha-modal radius-8\">\n <ng-content></ng-content>\n</div>" }]
|
|
43
|
+
}], ctorParameters: () => [], propDecorators: { size: [{
|
|
44
|
+
type: Input,
|
|
45
|
+
args: ['size']
|
|
46
|
+
}], sizeXs: [{
|
|
47
|
+
type: Input,
|
|
48
|
+
args: ['size-xs']
|
|
49
|
+
}], sizeSm: [{
|
|
50
|
+
type: Input,
|
|
51
|
+
args: ['size-sm']
|
|
52
|
+
}], sizeMd: [{
|
|
53
|
+
type: Input,
|
|
54
|
+
args: ['size-md']
|
|
55
|
+
}], sizeLg: [{
|
|
56
|
+
type: Input,
|
|
57
|
+
args: ['size-lg']
|
|
58
|
+
}], sizeXl: [{
|
|
59
|
+
type: Input,
|
|
60
|
+
args: ['size-xl']
|
|
61
|
+
}], class: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], hasBackdrop: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], backdropClass: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}], sizeAttr: [{
|
|
68
|
+
type: HostBinding,
|
|
69
|
+
args: ['attr.size']
|
|
70
|
+
}], sizeAttrXs: [{
|
|
71
|
+
type: HostBinding,
|
|
72
|
+
args: ['attr.size-xs']
|
|
73
|
+
}], sizeAttrSm: [{
|
|
74
|
+
type: HostBinding,
|
|
75
|
+
args: ['arrt.size-sm']
|
|
76
|
+
}], sizeAttrMd: [{
|
|
77
|
+
type: HostBinding,
|
|
78
|
+
args: ['attr.size-md']
|
|
79
|
+
}], sizeAttrLg: [{
|
|
80
|
+
type: HostBinding,
|
|
81
|
+
args: ['attr.size-lg']
|
|
82
|
+
}], sizeAttrXl: [{
|
|
83
|
+
type: HostBinding,
|
|
84
|
+
args: ['attr.size-xl']
|
|
85
|
+
}], classes: [{
|
|
86
|
+
type: HostBinding,
|
|
87
|
+
args: ['class']
|
|
88
|
+
}] } });
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0Y2hhLWNvbXBvbmVudHMvc3JjL2xpYi9tYXRjaGEtbW9kYWwvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0Y2hhLWNvbXBvbmVudHMvc3JjL2xpYi9tYXRjaGEtbW9kYWwvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVE5RCxNQUFNLE9BQU8sb0JBQW9CO0lBbUI3QixJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELElBQ0ksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQ0ksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUNXLE9BQU87UUFDZCxNQUFNLGFBQWEsR0FBRyx3Q0FBd0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNFLE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUM7SUFFRDtRQXJEZSxTQUFJLEdBQWtCLElBQUksQ0FBQztRQUV4QixXQUFNLEdBQWtCLElBQUksQ0FBQztRQUM3QixXQUFNLEdBQWtCLElBQUksQ0FBQztRQUM3QixXQUFNLEdBQWtCLElBQUksQ0FBQztRQUM3QixXQUFNLEdBQWtCLElBQUksQ0FBQztRQUM3QixXQUFNLEdBQWtCLElBQUksQ0FBQztRQUcvQyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBR25CLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBRzVCLGtCQUFhLEdBQVcsRUFBRSxDQUFDO0lBdUN4QixDQUFDOytHQXhESyxvQkFBb0I7bUdBQXBCLG9CQUFvQixxakJDUmpDLDJIQUVNOzs0RkRNTyxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0ksY0FBYyxjQUdaLEtBQUs7d0RBSUYsSUFBSTtzQkFBbEIsS0FBSzt1QkFBQyxNQUFNO2dCQUVLLE1BQU07c0JBQXZCLEtBQUs7dUJBQUMsU0FBUztnQkFDRSxNQUFNO3NCQUF2QixLQUFLO3VCQUFDLFNBQVM7Z0JBQ0UsTUFBTTtzQkFBdkIsS0FBSzt1QkFBQyxTQUFTO2dCQUNFLE1BQU07c0JBQXZCLEtBQUs7dUJBQUMsU0FBUztnQkFDRSxNQUFNO3NCQUF2QixLQUFLO3VCQUFDLFNBQVM7Z0JBR2hCLEtBQUs7c0JBREosS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlGLFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxXQUFXO2dCQU1wQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsY0FBYztnQkFNdkIsVUFBVTtzQkFEYixXQUFXO3VCQUFDLGNBQWM7Z0JBTXZCLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxjQUFjO2dCQU12QixVQUFVO3NCQURiLFdBQVc7dUJBQUMsY0FBYztnQkFNdkIsVUFBVTtzQkFEYixXQUFXO3VCQUFDLGNBQWM7Z0JBTWhCLE9BQU87c0JBRGpCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbWF0Y2hhLW1vZGFsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuc2NzcycsXG4gICAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWF0Y2hhTW9kYWxDb21wb25lbnQge1xuXG4gICAgQElucHV0KCdzaXplJykgc2l6ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoJ3NpemUteHMnKSBzaXplWHM6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgnc2l6ZS1zbScpIHNpemVTbTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCdzaXplLW1kJykgc2l6ZU1kOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoJ3NpemUtbGcnKSBzaXplTGc6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgnc2l6ZS14bCcpIHNpemVYbDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIGNsYXNzOiBzdHJpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgaGFzQmFja2Ryb3A6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBiYWNrZHJvcENsYXNzOiBzdHJpbmcgPSAnJztcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5zaXplJylcbiAgICBnZXQgc2l6ZUF0dHIoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpemU7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnNpemUteHMnKVxuICAgIGdldCBzaXplQXR0clhzKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplWHM7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhcnJ0LnNpemUtc20nKVxuICAgIGdldCBzaXplQXR0clNtKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplU207XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnNpemUtbWQnKVxuICAgIGdldCBzaXplQXR0ck1kKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplTWQ7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnNpemUtbGcnKVxuICAgIGdldCBzaXplQXR0ckxnKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplTGc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnNpemUteGwnKVxuICAgIGdldCBzaXplQXR0clhsKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplWGw7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgcHVibGljIGdldCBjbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGFjdGl2ZUNsYXNzZXMgPSBgbWF0Y2hhLW1vZGFsIGZsZXgtY29sdW1uIGVsZXZhdGlvbi04ICR7dGhpcy5jbGFzc31gO1xuICAgICAgICByZXR1cm4gYWN0aXZlQ2xhc3NlcztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICApIHt9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJiYWNrZ3JvdW5kLXN1cmZhY2UgZWxldmF0aW9uLXotNCBmbGV4LWNvbHVtbiBtYXRjaGEtbW9kYWwgcmFkaXVzLThcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class MatchaModalContentComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MatchaModalContentComponent, selector: "matcha-modal-content", ngImport: i0, template: "\n<div class=\"py-24 pt-0 overflow-auto\" style=\"max-height: calc(100vh - 300px);\n\">\n <div class=\"matcha-card-flat matcha-background-transparent p-0 flex-column--force\">\n <div class=\"flex-column matcha-card-flat matcha-background-transparent px-24 py-0\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [""] }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaModalContentComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ selector: 'matcha-modal-content', standalone: false, template: "\n<div class=\"py-24 pt-0 overflow-auto\" style=\"max-height: calc(100vh - 300px);\n\">\n <div class=\"matcha-card-flat matcha-background-transparent p-0 flex-column--force\">\n <div class=\"flex-column matcha-card-flat matcha-background-transparent px-24 py-0\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n" }]
|
|
10
|
+
}] });
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRjaGEtY29tcG9uZW50cy9zcmMvbGliL21hdGNoYS1tb2RhbC9tb2RhbC1jb250ZW50L21vZGFsLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0Y2hhLWNvbXBvbmVudHMvc3JjL2xpYi9tYXRjaGEtbW9kYWwvbW9kYWwtY29udGVudC9tb2RhbC1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFDLE1BQU0sT0FBTywyQkFBMkI7K0dBQTNCLDJCQUEyQjttR0FBM0IsMkJBQTJCLDREQ1J4QyxnV0FTQTs7NEZERGEsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNJLHNCQUFzQixjQUdwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbWF0Y2hhLW1vZGFsLWNvbnRlbnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tb2RhbC1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWF0Y2hhTW9kYWxDb250ZW50Q29tcG9uZW50IHtcblxufVxuIiwiXG48ZGl2IGNsYXNzPVwicHktMjQgcHQtMCBvdmVyZmxvdy1hdXRvXCIgc3R5bGU9XCJtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzAwcHgpO1xuXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1hdGNoYS1jYXJkLWZsYXQgbWF0Y2hhLWJhY2tncm91bmQtdHJhbnNwYXJlbnQgcC0wIGZsZXgtY29sdW1uLS1mb3JjZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1jb2x1bW4gbWF0Y2hhLWNhcmQtZmxhdCBtYXRjaGEtYmFja2dyb3VuZC10cmFuc3BhcmVudCBweC0yNCBweS0wXCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../matcha-divider/divider/divider.component";
|
|
4
|
+
export class MatchaModalFooterComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.buttonType = 0;
|
|
7
|
+
}
|
|
8
|
+
ngAfterViewInit() {
|
|
9
|
+
const modalFooter = document.querySelectorAll('matcha-modal-footer');
|
|
10
|
+
modalFooter.forEach(footer => {
|
|
11
|
+
const buttons = footer.querySelectorAll('.matcha-button');
|
|
12
|
+
if (buttons.length === 1) {
|
|
13
|
+
buttons.forEach(button => {
|
|
14
|
+
button.classList.add('w-100-p');
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
if (buttons.length > 1) {
|
|
18
|
+
buttons.forEach(button => {
|
|
19
|
+
button.classList.add('max-w-sm-256');
|
|
20
|
+
button.classList.add('w-100-p');
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MatchaModalFooterComponent, selector: "matcha-modal-footer", inputs: { buttonType: ["", "buttonType"] }, ngImport: i0, template: "<div class=\"matcha-section pb-16 px-16 pb-md-24 px-md-24\">\n <matcha-divider></matcha-divider>\n <div class=\"flex-column flex-sm-row w-100-p flex-space-between gap-16\">\n <div class=\"flex-column flex-sm-row w-100-p flex-space-between mt-16 mt-md-24 gap-16\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.MatchaDividerComponent, selector: "matcha-divider", inputs: ["gap", "gap-sm", "gap-md", "gap-lg", "gap-xl", "vertical"] }] }); }
|
|
27
|
+
}
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaModalFooterComponent, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{ selector: 'matcha-modal-footer', standalone: false, template: "<div class=\"matcha-section pb-16 px-16 pb-md-24 px-md-24\">\n <matcha-divider></matcha-divider>\n <div class=\"flex-column flex-sm-row w-100-p flex-space-between gap-16\">\n <div class=\"flex-column flex-sm-row w-100-p flex-space-between mt-16 mt-md-24 gap-16\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n" }]
|
|
31
|
+
}], propDecorators: { buttonType: [{
|
|
32
|
+
type: Input,
|
|
33
|
+
args: ['']
|
|
34
|
+
}] } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGNoYS1jb21wb25lbnRzL3NyYy9saWIvbWF0Y2hhLW1vZGFsL21vZGFsLWZvb3Rlci9tb2RhbC1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0Y2hhLWNvbXBvbmVudHMvc3JjL2xpYi9tYXRjaGEtbW9kYWwvbW9kYWwtZm9vdGVyL21vZGFsLWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUWpELE1BQU0sT0FBTywwQkFBMEI7SUFOdkM7UUFTSSxlQUFVLEdBQW9CLENBQUMsQ0FBQztLQW9CbkM7SUFsQkcsZUFBZTtRQUNYLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3JFLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFFMUQsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN2QixPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUNyQixNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDcEMsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNyQixPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUNyQixNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDckMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3BDLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F0QlEsMEJBQTBCO21HQUExQiwwQkFBMEIsdUdDUnZDLG1XQVFBOzs0RkRBYSwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0kscUJBQXFCLGNBR25CLEtBQUs7OEJBS2pCLFVBQVU7c0JBRFQsS0FBSzt1QkFBQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ21hdGNoYS1tb2RhbC1mb290ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21vZGFsLWZvb3Rlci5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1hdGNoYU1vZGFsRm9vdGVyQ29tcG9uZW50IHtcblxuICAgIEBJbnB1dCgnJylcbiAgICBidXR0b25UeXBlOiBudW1iZXIgfCBzdHJpbmcgPSAwO1xuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBjb25zdCBtb2RhbEZvb3RlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ21hdGNoYS1tb2RhbC1mb290ZXInKTtcbiAgICAgICAgbW9kYWxGb290ZXIuZm9yRWFjaChmb290ZXIgPT4ge1xuICAgICAgICAgICAgY29uc3QgYnV0dG9ucyA9IGZvb3Rlci5xdWVyeVNlbGVjdG9yQWxsKCcubWF0Y2hhLWJ1dHRvbicpO1xuXG4gICAgICAgICAgICBpZiAoYnV0dG9ucy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICBidXR0b25zLmZvckVhY2goYnV0dG9uID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLmNsYXNzTGlzdC5hZGQoJ3ctMTAwLXAnKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChidXR0b25zLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICBidXR0b25zLmZvckVhY2goYnV0dG9uID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLmNsYXNzTGlzdC5hZGQoJ21heC13LXNtLTI1NicpO1xuICAgICAgICAgICAgICAgICAgICBidXR0b24uY2xhc3NMaXN0LmFkZCgndy0xMDAtcCcpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWF0Y2hhLXNlY3Rpb24gcGItMTYgcHgtMTYgcGItbWQtMjQgcHgtbWQtMjRcIj5cbiAgICA8bWF0Y2hhLWRpdmlkZXI+PC9tYXRjaGEtZGl2aWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1jb2x1bW4gZmxleC1zbS1yb3cgdy0xMDAtcCBmbGV4LXNwYWNlLWJldHdlZW4gZ2FwLTE2XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbHVtbiBmbGV4LXNtLXJvdyB3LTEwMC1wIGZsZXgtc3BhY2UtYmV0d2VlbiBtdC0xNiBtdC1tZC0yNCBnYXAtMTZcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../matcha-divider/divider/divider.component";
|
|
4
|
+
export class MatchaModalHeaderComponent {
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MatchaModalHeaderComponent, selector: "matcha-modal-header", ngImport: i0, template: "<!-- [@animate]=\"{ value: '*', params: { delay: '100ms' } }\" -->\n<!-- MATCHA CHECK -->\n<div class=\"matcha-section pt-16 px-16 pt-md-24 px-md-24\">\n <div class=\"d-flex flex-wrap flex-space-between mb-16 mb-md-24\">\n <div class=\"flex-space-between flex-align-center\">\n <ng-content></ng-content>\n </div>\n <div class=\"flex-row flex-end gap-8\">\n <ng-content select=\"matcha-modal-options\"></ng-content>\n </div>\n </div>\n <matcha-divider></matcha-divider>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.MatchaDividerComponent, selector: "matcha-divider", inputs: ["gap", "gap-sm", "gap-md", "gap-lg", "gap-xl", "vertical"] }] }); }
|
|
7
|
+
}
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaModalHeaderComponent, decorators: [{
|
|
9
|
+
type: Component,
|
|
10
|
+
args: [{ selector: 'matcha-modal-header', standalone: false, template: "<!-- [@animate]=\"{ value: '*', params: { delay: '100ms' } }\" -->\n<!-- MATCHA CHECK -->\n<div class=\"matcha-section pt-16 px-16 pt-md-24 px-md-24\">\n <div class=\"d-flex flex-wrap flex-space-between mb-16 mb-md-24\">\n <div class=\"flex-space-between flex-align-center\">\n <ng-content></ng-content>\n </div>\n <div class=\"flex-row flex-end gap-8\">\n <ng-content select=\"matcha-modal-options\"></ng-content>\n </div>\n </div>\n <matcha-divider></matcha-divider>\n</div>\n" }]
|
|
11
|
+
}] });
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGNoYS1jb21wb25lbnRzL3NyYy9saWIvbWF0Y2hhLW1vZGFsL21vZGFsLWhlYWRlci9tb2RhbC1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0Y2hhLWNvbXBvbmVudHMvc3JjL2xpYi9tYXRjaGEtbW9kYWwvbW9kYWwtaGVhZGVyL21vZGFsLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRMUMsTUFBTSxPQUFPLDBCQUEwQjsrR0FBMUIsMEJBQTBCO21HQUExQiwwQkFBMEIsMkRDUnZDLDJoQkFhQTs7NEZETGEsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNJLHFCQUFxQixjQUduQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbWF0Y2hhLW1vZGFsLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbW9kYWwtaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWF0Y2hhTW9kYWxIZWFkZXJDb21wb25lbnQge1xuXG59XG4iLCI8IS0tIFtAYW5pbWF0ZV09XCJ7IHZhbHVlOiAnKicsIHBhcmFtczogeyBkZWxheTogJzEwMG1zJyB9IH1cIiAtLT5cbjwhLS0gTUFUQ0hBIENIRUNLIC0tPlxuPGRpdiBjbGFzcz1cIm1hdGNoYS1zZWN0aW9uIHB0LTE2IHB4LTE2IHB0LW1kLTI0IHB4LW1kLTI0XCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXAgZmxleC1zcGFjZS1iZXR3ZWVuIG1iLTE2IG1iLW1kLTI0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNwYWNlLWJldHdlZW4gZmxleC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXJvdyBmbGV4LWVuZCBnYXAtOFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibWF0Y2hhLW1vZGFsLW9wdGlvbnNcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxtYXRjaGEtZGl2aWRlcj48L21hdGNoYS1kaXZpZGVyPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class MatchaModalOptionsComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaModalOptionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MatchaModalOptionsComponent, selector: "matcha-modal-options", ngImport: i0, template: "<div class=\"flex-row gap-8\">\n <ng-content></ng-content>\n</div>\n", styles: [""] }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaModalOptionsComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ selector: 'matcha-modal-options', standalone: false, template: "<div class=\"flex-row gap-8\">\n <ng-content></ng-content>\n</div>\n" }]
|
|
10
|
+
}] });
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtb3B0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRjaGEtY29tcG9uZW50cy9zcmMvbGliL21hdGNoYS1tb2RhbC9tb2RhbC1vcHRpb25zL21vZGFsLW9wdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0Y2hhLWNvbXBvbmVudHMvc3JjL2xpYi9tYXRjaGEtbW9kYWwvbW9kYWwtb3B0aW9ucy9tb2RhbC1vcHRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFDLE1BQU0sT0FBTywyQkFBMkI7K0dBQTNCLDJCQUEyQjttR0FBM0IsMkJBQTJCLDREQ1J4Qyx5RUFHQTs7NEZES2EsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNJLHNCQUFzQixjQUdwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbWF0Y2hhLW1vZGFsLW9wdGlvbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1vcHRpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vbW9kYWwtb3B0aW9ucy5jb21wb25lbnQuc2NzcycsXG4gICAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWF0Y2hhTW9kYWxPcHRpb25zQ29tcG9uZW50IHtcblxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXgtcm93IGdhcC04XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./overlay.service";
|
|
5
|
+
export class MatchaModalService {
|
|
6
|
+
constructor(overlayService) {
|
|
7
|
+
this.overlayService = overlayService;
|
|
8
|
+
this.afterCloseSubject = new Subject();
|
|
9
|
+
this.currentData = {};
|
|
10
|
+
}
|
|
11
|
+
open(component, data = {}) {
|
|
12
|
+
this.currentData = data;
|
|
13
|
+
const componentRef = this.overlayService.open(component, data);
|
|
14
|
+
// Injeta os dados no componente
|
|
15
|
+
componentRef.instance.data = data;
|
|
16
|
+
if (componentRef.instance.afterClose) {
|
|
17
|
+
componentRef.instance.afterClose.subscribe((result) => {
|
|
18
|
+
this.afterCloseSubject.next(result);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
componentRef,
|
|
23
|
+
afterClose: this.afterCloseSubject.asObservable()
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
close(result) {
|
|
27
|
+
this.afterCloseSubject.next(result);
|
|
28
|
+
this.overlayService.close();
|
|
29
|
+
this.currentData = {};
|
|
30
|
+
}
|
|
31
|
+
getData() {
|
|
32
|
+
return this.currentData;
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaModalService, deps: [{ token: i1.MatchaOverlayService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaModalService, providedIn: 'root' }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaModalService, decorators: [{
|
|
38
|
+
type: Injectable,
|
|
39
|
+
args: [{
|
|
40
|
+
providedIn: 'root'
|
|
41
|
+
}]
|
|
42
|
+
}], ctorParameters: () => [{ type: i1.MatchaOverlayService }] });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGNoYS1jb21wb25lbnRzL3NyYy9saWIvbWF0Y2hhLW1vZGFsL21vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7QUFVM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUk3QixZQUFvQixjQUFvQztRQUFwQyxtQkFBYyxHQUFkLGNBQWMsQ0FBc0I7UUFIaEQsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUN2QyxnQkFBVyxHQUFRLEVBQUUsQ0FBQztJQUU2QixDQUFDO0lBRTVELElBQUksQ0FBMkIsU0FBa0IsRUFBRSxPQUFZLEVBQUU7UUFDL0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRS9ELGdDQUFnQztRQUNoQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFFbEMsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO2dCQUN6RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU87WUFDTCxZQUFZO1lBQ1osVUFBVSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUU7U0FDbEQsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBWTtRQUNoQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQzsrR0FqQ1Usa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdGNoYU92ZXJsYXlTZXJ2aWNlIH0gZnJvbSAnLi9vdmVybGF5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsQ29tcG9uZW50IHtcbiAgYWZ0ZXJDbG9zZT86IE9ic2VydmFibGU8YW55PjtcbiAgZGF0YT86IGFueTtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTWF0Y2hhTW9kYWxTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBhZnRlckNsb3NlU3ViamVjdCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgcHJpdmF0ZSBjdXJyZW50RGF0YTogYW55ID0ge307XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvdmVybGF5U2VydmljZTogTWF0Y2hhT3ZlcmxheVNlcnZpY2UpIHt9XG5cbiAgb3BlbjxUIGV4dGVuZHMgTW9kYWxDb21wb25lbnQ+KGNvbXBvbmVudDogVHlwZTxUPiwgZGF0YTogYW55ID0ge30pIHtcbiAgICB0aGlzLmN1cnJlbnREYXRhID0gZGF0YTtcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLm9wZW4oY29tcG9uZW50LCBkYXRhKTtcblxuICAgIC8vIEluamV0YSBvcyBkYWRvcyBubyBjb21wb25lbnRlXG4gICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmRhdGEgPSBkYXRhO1xuXG4gICAgaWYgKGNvbXBvbmVudFJlZi5pbnN0YW5jZS5hZnRlckNsb3NlKSB7XG4gICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuYWZ0ZXJDbG9zZS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuYWZ0ZXJDbG9zZVN1YmplY3QubmV4dChyZXN1bHQpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbXBvbmVudFJlZixcbiAgICAgIGFmdGVyQ2xvc2U6IHRoaXMuYWZ0ZXJDbG9zZVN1YmplY3QuYXNPYnNlcnZhYmxlKClcbiAgICB9O1xuICB9XG5cbiAgY2xvc2UocmVzdWx0PzogYW55KSB7XG4gICAgdGhpcy5hZnRlckNsb3NlU3ViamVjdC5uZXh0KHJlc3VsdCk7XG4gICAgdGhpcy5vdmVybGF5U2VydmljZS5jbG9zZSgpO1xuICAgIHRoaXMuY3VycmVudERhdGEgPSB7fTtcbiAgfVxuXG4gIGdldERhdGEoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50RGF0YTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { Injectable, createComponent } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Serviço responsável pela implementação técnica do overlay e backdrop dos modais.
|
|
5
|
+
*
|
|
6
|
+
* Este serviço lida com a criação e gerenciamento do container do overlay,
|
|
7
|
+
* criação do backdrop e manipulação do DOM. É um serviço de baixo nível
|
|
8
|
+
* utilizado internamente pelo MatchaModalService.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* constructor(private overlayService: MatchaOverlayService) {}
|
|
13
|
+
*
|
|
14
|
+
* createOverlay() {
|
|
15
|
+
* this.overlayService.open(MyComponent);
|
|
16
|
+
* }
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export class MatchaOverlayService {
|
|
20
|
+
constructor(appRef, injector, rendererFactory) {
|
|
21
|
+
this.appRef = appRef;
|
|
22
|
+
this.injector = injector;
|
|
23
|
+
this.rendererFactory = rendererFactory;
|
|
24
|
+
this.overlayContainer = null;
|
|
25
|
+
this.activeModal = null;
|
|
26
|
+
this.backdrop = null;
|
|
27
|
+
this.renderer = this.rendererFactory.createRenderer(null, null);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Cria o container do overlay se ainda não existir.
|
|
31
|
+
* O container é um elemento div que será usado para hospedar os modais.
|
|
32
|
+
*
|
|
33
|
+
* @private
|
|
34
|
+
*/
|
|
35
|
+
createOverlayContainer() {
|
|
36
|
+
if (!this.overlayContainer) {
|
|
37
|
+
this.overlayContainer = this.renderer.createElement('div');
|
|
38
|
+
this.renderer.addClass(this.overlayContainer, 'matcha-overlay-container');
|
|
39
|
+
this.renderer.appendChild(document.body, this.overlayContainer);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Remove o container do overlay do DOM.
|
|
44
|
+
*
|
|
45
|
+
* @private
|
|
46
|
+
*/
|
|
47
|
+
removeOverlayContainer() {
|
|
48
|
+
if (this.overlayContainer) {
|
|
49
|
+
this.renderer.removeChild(document.body, this.overlayContainer);
|
|
50
|
+
this.overlayContainer = null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Cria o backdrop do modal se ainda não existir.
|
|
55
|
+
* O backdrop é um elemento div que cria o efeito de escurecimento
|
|
56
|
+
* por trás do modal.
|
|
57
|
+
*
|
|
58
|
+
* @private
|
|
59
|
+
*/
|
|
60
|
+
createBackdrop() {
|
|
61
|
+
if (!this.backdrop) {
|
|
62
|
+
this.backdrop = this.renderer.createElement('div');
|
|
63
|
+
this.renderer.addClass(this.backdrop, 'matcha-modal-backdrop');
|
|
64
|
+
this.renderer.appendChild(document.body, this.backdrop);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Remove o backdrop do modal do DOM.
|
|
69
|
+
*
|
|
70
|
+
* @private
|
|
71
|
+
*/
|
|
72
|
+
removeBackdrop() {
|
|
73
|
+
if (this.backdrop) {
|
|
74
|
+
this.renderer.removeChild(document.body, this.backdrop);
|
|
75
|
+
this.backdrop = null;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Abre um componente dentro de um modal.
|
|
80
|
+
*
|
|
81
|
+
* @param component - O componente que será exibido dentro do modal
|
|
82
|
+
* @param config - Configurações opcionais para o modal
|
|
83
|
+
* @returns Uma referência ao componente criado
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* const componentRef = this.overlayService.open(MyComponent, {
|
|
88
|
+
* data: { id: 1 }
|
|
89
|
+
* });
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
open(component, config = {}) {
|
|
93
|
+
this.createOverlayContainer();
|
|
94
|
+
this.createBackdrop();
|
|
95
|
+
const componentRef = createComponent(component, {
|
|
96
|
+
environmentInjector: this.appRef.injector,
|
|
97
|
+
elementInjector: this.injector
|
|
98
|
+
});
|
|
99
|
+
const componentElement = componentRef.hostView.rootNodes[0];
|
|
100
|
+
this.renderer.appendChild(this.overlayContainer, componentElement);
|
|
101
|
+
this.appRef.attachView(componentRef.hostView);
|
|
102
|
+
this.activeModal = componentRef;
|
|
103
|
+
return componentRef;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Fecha o modal atualmente aberto e remove o backdrop e o container.
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```typescript
|
|
110
|
+
* this.overlayService.close();
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
close() {
|
|
114
|
+
if (this.activeModal) {
|
|
115
|
+
this.appRef.detachView(this.activeModal.hostView);
|
|
116
|
+
this.activeModal.destroy();
|
|
117
|
+
this.activeModal = null;
|
|
118
|
+
this.removeBackdrop();
|
|
119
|
+
this.removeOverlayContainer();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaOverlayService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
123
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaOverlayService, providedIn: 'root' }); }
|
|
124
|
+
}
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaOverlayService, decorators: [{
|
|
126
|
+
type: Injectable,
|
|
127
|
+
args: [{
|
|
128
|
+
providedIn: 'root'
|
|
129
|
+
}]
|
|
130
|
+
}], ctorParameters: () => [{ type: i0.ApplicationRef }, { type: i0.Injector }, { type: i0.RendererFactory2 }] });
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0Y2hhLWNvbXBvbmVudHMvc3JjL2xpYi9tYXRjaGEtbW9kYWwvb3ZlcmxheS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWdCLGVBQWUsRUFBZ0YsTUFBTSxlQUFlLENBQUM7O0FBRXhKOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFNL0IsWUFDVSxNQUFzQixFQUN0QixRQUFrQixFQUNsQixlQUFpQztRQUZqQyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQVJuQyxxQkFBZ0IsR0FBdUIsSUFBSSxDQUFDO1FBQzVDLGdCQUFXLEdBQTZCLElBQUksQ0FBQztRQUM3QyxhQUFRLEdBQXVCLElBQUksQ0FBQztRQVExQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztZQUMxRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLHNCQUFzQjtRQUM1QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLGNBQWM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxjQUFjO1FBQ3BCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNILElBQUksQ0FBSSxTQUFrQixFQUFFLFNBQWMsRUFBRTtRQUMxQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdEIsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLFNBQVMsRUFBRTtZQUM5QyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDekMsZUFBZSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQy9CLENBQUMsQ0FBQztRQUVILE1BQU0sZ0JBQWdCLEdBQUksWUFBWSxDQUFDLFFBQWlDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRW5FLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQztRQUVoQyxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILEtBQUs7UUFDSCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDOytHQW5IVSxvQkFBb0I7bUhBQXBCLG9CQUFvQixjQUZuQixNQUFNOzs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgQ29tcG9uZW50UmVmLCBjcmVhdGVDb21wb25lbnQsIEFwcGxpY2F0aW9uUmVmLCBJbmplY3RvciwgVHlwZSwgRW1iZWRkZWRWaWV3UmVmLCBSZW5kZXJlcjIsIFJlbmRlcmVyRmFjdG9yeTIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBTZXJ2acOnbyByZXNwb25zw6F2ZWwgcGVsYSBpbXBsZW1lbnRhw6fDo28gdMOpY25pY2EgZG8gb3ZlcmxheSBlIGJhY2tkcm9wIGRvcyBtb2RhaXMuXG4gKlxuICogRXN0ZSBzZXJ2acOnbyBsaWRhIGNvbSBhIGNyaWHDp8OjbyBlIGdlcmVuY2lhbWVudG8gZG8gY29udGFpbmVyIGRvIG92ZXJsYXksXG4gKiBjcmlhw6fDo28gZG8gYmFja2Ryb3AgZSBtYW5pcHVsYcOnw6NvIGRvIERPTS4gw4kgdW0gc2VydmnDp28gZGUgYmFpeG8gbsOtdmVsXG4gKiB1dGlsaXphZG8gaW50ZXJuYW1lbnRlIHBlbG8gTWF0Y2hhTW9kYWxTZXJ2aWNlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdHJ1Y3Rvcihwcml2YXRlIG92ZXJsYXlTZXJ2aWNlOiBNYXRjaGFPdmVybGF5U2VydmljZSkge31cbiAqXG4gKiBjcmVhdGVPdmVybGF5KCkge1xuICogICB0aGlzLm92ZXJsYXlTZXJ2aWNlLm9wZW4oTXlDb21wb25lbnQpO1xuICogfVxuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1hdGNoYU92ZXJsYXlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBvdmVybGF5Q29udGFpbmVyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGFjdGl2ZU1vZGFsOiBDb21wb25lbnRSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGJhY2tkcm9wOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyXG4gICkge1xuICAgIHRoaXMucmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmlhIG8gY29udGFpbmVyIGRvIG92ZXJsYXkgc2UgYWluZGEgbsOjbyBleGlzdGlyLlxuICAgKiBPIGNvbnRhaW5lciDDqSB1bSBlbGVtZW50byBkaXYgcXVlIHNlcsOhIHVzYWRvIHBhcmEgaG9zcGVkYXIgb3MgbW9kYWlzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVPdmVybGF5Q29udGFpbmVyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vdmVybGF5Q29udGFpbmVyKSB7XG4gICAgICB0aGlzLm92ZXJsYXlDb250YWluZXIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLm92ZXJsYXlDb250YWluZXIsICdtYXRjaGEtb3ZlcmxheS1jb250YWluZXInKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuYm9keSwgdGhpcy5vdmVybGF5Q29udGFpbmVyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIG8gY29udGFpbmVyIGRvIG92ZXJsYXkgZG8gRE9NLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSByZW1vdmVPdmVybGF5Q29udGFpbmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm92ZXJsYXlDb250YWluZXIpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuYm9keSwgdGhpcy5vdmVybGF5Q29udGFpbmVyKTtcbiAgICAgIHRoaXMub3ZlcmxheUNvbnRhaW5lciA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyaWEgbyBiYWNrZHJvcCBkbyBtb2RhbCBzZSBhaW5kYSBuw6NvIGV4aXN0aXIuXG4gICAqIE8gYmFja2Ryb3Agw6kgdW0gZWxlbWVudG8gZGl2IHF1ZSBjcmlhIG8gZWZlaXRvIGRlIGVzY3VyZWNpbWVudG9cbiAgICogcG9yIHRyw6FzIGRvIG1vZGFsLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVCYWNrZHJvcCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYmFja2Ryb3ApIHtcbiAgICAgIHRoaXMuYmFja2Ryb3AgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmJhY2tkcm9wLCAnbWF0Y2hhLW1vZGFsLWJhY2tkcm9wJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmJvZHksIHRoaXMuYmFja2Ryb3ApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgbyBiYWNrZHJvcCBkbyBtb2RhbCBkbyBET00uXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHJlbW92ZUJhY2tkcm9wKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmJhY2tkcm9wKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKGRvY3VtZW50LmJvZHksIHRoaXMuYmFja2Ryb3ApO1xuICAgICAgdGhpcy5iYWNrZHJvcCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFicmUgdW0gY29tcG9uZW50ZSBkZW50cm8gZGUgdW0gbW9kYWwuXG4gICAqXG4gICAqIEBwYXJhbSBjb21wb25lbnQgLSBPIGNvbXBvbmVudGUgcXVlIHNlcsOhIGV4aWJpZG8gZGVudHJvIGRvIG1vZGFsXG4gICAqIEBwYXJhbSBjb25maWcgLSBDb25maWd1cmHDp8O1ZXMgb3BjaW9uYWlzIHBhcmEgbyBtb2RhbFxuICAgKiBAcmV0dXJucyBVbWEgcmVmZXLDqm5jaWEgYW8gY29tcG9uZW50ZSBjcmlhZG9cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLm9wZW4oTXlDb21wb25lbnQsIHtcbiAgICogICBkYXRhOiB7IGlkOiAxIH1cbiAgICogfSk7XG4gICAqIGBgYFxuICAgKi9cbiAgb3BlbjxUPihjb21wb25lbnQ6IFR5cGU8VD4sIGNvbmZpZzogYW55ID0ge30pOiBDb21wb25lbnRSZWY8VD4ge1xuICAgIHRoaXMuY3JlYXRlT3ZlcmxheUNvbnRhaW5lcigpO1xuICAgIHRoaXMuY3JlYXRlQmFja2Ryb3AoKTtcblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IGNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQsIHtcbiAgICAgIGVudmlyb25tZW50SW5qZWN0b3I6IHRoaXMuYXBwUmVmLmluamVjdG9yLFxuICAgICAgZWxlbWVudEluamVjdG9yOiB0aGlzLmluamVjdG9yXG4gICAgfSk7XG5cbiAgICBjb25zdCBjb21wb25lbnRFbGVtZW50ID0gKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdO1xuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5vdmVybGF5Q29udGFpbmVyLCBjb21wb25lbnRFbGVtZW50KTtcblxuICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICB0aGlzLmFjdGl2ZU1vZGFsID0gY29tcG9uZW50UmVmO1xuXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZWNoYSBvIG1vZGFsIGF0dWFsbWVudGUgYWJlcnRvIGUgcmVtb3ZlIG8gYmFja2Ryb3AgZSBvIGNvbnRhaW5lci5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNsb3NlKCk7XG4gICAqIGBgYFxuICAgKi9cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aXZlTW9kYWwpIHtcbiAgICAgIHRoaXMuYXBwUmVmLmRldGFjaFZpZXcodGhpcy5hY3RpdmVNb2RhbC5ob3N0Vmlldyk7XG4gICAgICB0aGlzLmFjdGl2ZU1vZGFsLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuYWN0aXZlTW9kYWwgPSBudWxsO1xuICAgICAgdGhpcy5yZW1vdmVCYWNrZHJvcCgpO1xuICAgICAgdGhpcy5yZW1vdmVPdmVybGF5Q29udGFpbmVyKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../matcha-option.service";
|
|
4
|
+
export class MatchaOptionComponent {
|
|
5
|
+
constructor(changeDetectorRef, matchaOptionService) {
|
|
6
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
7
|
+
this.matchaOptionService = matchaOptionService;
|
|
8
|
+
this.isOptionActive = false;
|
|
9
|
+
}
|
|
10
|
+
selectOption() {
|
|
11
|
+
this.matchaOptionService.setCanShowOptions(true);
|
|
12
|
+
this.matchaOptionService.setSelectedOption(this.value);
|
|
13
|
+
setTimeout(() => {
|
|
14
|
+
this.matchaOptionService.setCanShowOptions(false);
|
|
15
|
+
}, 300);
|
|
16
|
+
}
|
|
17
|
+
setIsOptionActive(isOptionActive, isMouseEvent) {
|
|
18
|
+
if (isMouseEvent) {
|
|
19
|
+
this.matchaOptionService.removeActiveOption();
|
|
20
|
+
}
|
|
21
|
+
this.isOptionActive = isOptionActive;
|
|
22
|
+
this.changeDetectorRef.detectChanges();
|
|
23
|
+
}
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaOptionComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.MatchaOptionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MatchaOptionComponent, selector: "matcha-option", inputs: { value: "value" }, ngImport: i0, template: "<span\n (click)=\"selectOption()\"\n (mouseenter)=\"setIsOptionActive(true, true)\"\n (mouseleave)=\"setIsOptionActive(false, true)\"\n [class.background-bg]=\"isOptionActive\"\n class=\"d-block py-8 cursor-pointer px-16 w-100-p\">\n <ng-content></ng-content>\n</span>\n", styles: [""] }); }
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaOptionComponent, decorators: [{
|
|
28
|
+
type: Component,
|
|
29
|
+
args: [{ selector: 'matcha-option', standalone: false, template: "<span\n (click)=\"selectOption()\"\n (mouseenter)=\"setIsOptionActive(true, true)\"\n (mouseleave)=\"setIsOptionActive(false, true)\"\n [class.background-bg]=\"isOptionActive\"\n class=\"d-block py-8 cursor-pointer px-16 w-100-p\">\n <ng-content></ng-content>\n</span>\n" }]
|
|
30
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.MatchaOptionService }], propDecorators: { value: [{
|
|
31
|
+
type: Input
|
|
32
|
+
}] } });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2hhLW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRjaGEtY29tcG9uZW50cy9zcmMvbGliL21hdGNoYS1vcHRpb24vbWF0Y2hhLW9wdGlvbi9tYXRjaGEtb3B0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGNoYS1jb21wb25lbnRzL3NyYy9saWIvbWF0Y2hhLW9wdGlvbi9tYXRjaGEtb3B0aW9uL21hdGNoYS1vcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTcEUsTUFBTSxPQUFPLHFCQUFxQjtJQUk5QixZQUFvQixpQkFBb0MsRUFBVSxtQkFBd0M7UUFBdEYsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFGbkcsbUJBQWMsR0FBWSxLQUFLLENBQUM7SUFFc0UsQ0FBQztJQUV2RyxZQUFZO1FBQ2YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRU0saUJBQWlCLENBQUMsY0FBdUIsRUFBRSxZQUFxQjtRQUNuRSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDbEQsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQyxDQUFDOytHQXJCUSxxQkFBcUI7bUdBQXJCLHFCQUFxQixpRkNUbEMsa1NBUUE7OzRGRENhLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDSSxlQUFlLGNBR2IsS0FBSzt3SEFHUixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Y2hhT3B0aW9uU2VydmljZSB9IGZyb20gJy4uL21hdGNoYS1vcHRpb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbWF0Y2hhLW9wdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21hdGNoYS1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9tYXRjaGEtb3B0aW9uLmNvbXBvbmVudC5zY3NzJyxcbiAgICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0Y2hhT3B0aW9uQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSB2YWx1ZTogYW55O1xuICAgIHB1YmxpYyBpc09wdGlvbkFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgbWF0Y2hhT3B0aW9uU2VydmljZTogTWF0Y2hhT3B0aW9uU2VydmljZSkge31cblxuICAgIHB1YmxpYyBzZWxlY3RPcHRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWF0Y2hhT3B0aW9uU2VydmljZS5zZXRDYW5TaG93T3B0aW9ucyh0cnVlKTtcbiAgICAgICAgdGhpcy5tYXRjaGFPcHRpb25TZXJ2aWNlLnNldFNlbGVjdGVkT3B0aW9uKHRoaXMudmFsdWUpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubWF0Y2hhT3B0aW9uU2VydmljZS5zZXRDYW5TaG93T3B0aW9ucyhmYWxzZSk7XG4gICAgICAgIH0sIDMwMCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldElzT3B0aW9uQWN0aXZlKGlzT3B0aW9uQWN0aXZlOiBib29sZWFuLCBpc01vdXNlRXZlbnQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKGlzTW91c2VFdmVudCkge1xuICAgICAgICAgICAgdGhpcy5tYXRjaGFPcHRpb25TZXJ2aWNlLnJlbW92ZUFjdGl2ZU9wdGlvbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc09wdGlvbkFjdGl2ZSA9IGlzT3B0aW9uQWN0aXZlO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG59XG4iLCI8c3BhblxuICAgIChjbGljayk9XCJzZWxlY3RPcHRpb24oKVwiXG4gICAgKG1vdXNlZW50ZXIpPVwic2V0SXNPcHRpb25BY3RpdmUodHJ1ZSwgdHJ1ZSlcIlxuICAgIChtb3VzZWxlYXZlKT1cInNldElzT3B0aW9uQWN0aXZlKGZhbHNlLCB0cnVlKVwiXG4gICAgW2NsYXNzLmJhY2tncm91bmQtYmddPVwiaXNPcHRpb25BY3RpdmVcIlxuICAgIGNsYXNzPVwiZC1ibG9jayBweS04IGN1cnNvci1wb2ludGVyIHB4LTE2IHctMTAwLXBcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3NwYW4+XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MatchaOptionComponent } from './matcha-option/matcha-option.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class MatchaOptionModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaOptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MatchaOptionModule, declarations: [MatchaOptionComponent], imports: [CommonModule], exports: [MatchaOptionComponent] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaOptionModule, imports: [CommonModule] }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaOptionModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [MatchaOptionComponent],
|
|
14
|
+
imports: [CommonModule],
|
|
15
|
+
exports: [MatchaOptionComponent],
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2hhLW9wdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRjaGEtY29tcG9uZW50cy9zcmMvbGliL21hdGNoYS1vcHRpb24vbWF0Y2hhLW9wdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7O0FBT2hGLE1BQU0sT0FBTyxrQkFBa0I7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQUpaLHFCQUFxQixhQUMxQixZQUFZLGFBQ1oscUJBQXFCO2dIQUV0QixrQkFBa0IsWUFIakIsWUFBWTs7NEZBR2Isa0JBQWtCO2tCQUw5QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0Y2hhT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9tYXRjaGEtb3B0aW9uL21hdGNoYS1vcHRpb24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtNYXRjaGFPcHRpb25Db21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtNYXRjaGFPcHRpb25Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRjaGFPcHRpb25Nb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class MatchaOptionService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this._optionsSubject = new BehaviorSubject([]);
|
|
7
|
+
this.options$ = this._optionsSubject.asObservable();
|
|
8
|
+
this._activeOptionSubject = new BehaviorSubject(0);
|
|
9
|
+
this.activeOption$ = this._activeOptionSubject.asObservable();
|
|
10
|
+
this._canShowOptionsSubject = new BehaviorSubject(false);
|
|
11
|
+
this.canShowOptions$ = this._canShowOptionsSubject.asObservable();
|
|
12
|
+
this._selectedOptionSubject = new Subject();
|
|
13
|
+
this.selectedOption$ = this._selectedOptionSubject.asObservable();
|
|
14
|
+
}
|
|
15
|
+
setSelectedOption(selectedOption) {
|
|
16
|
+
this._selectedOptionSubject.next(selectedOption);
|
|
17
|
+
}
|
|
18
|
+
getCanShowOptions() {
|
|
19
|
+
return this._canShowOptionsSubject.value;
|
|
20
|
+
}
|
|
21
|
+
setCanShowOptions(canShowOptions) {
|
|
22
|
+
this._canShowOptionsSubject.next(canShowOptions);
|
|
23
|
+
}
|
|
24
|
+
updateOptions(options) {
|
|
25
|
+
this._optionsSubject.next(options);
|
|
26
|
+
}
|
|
27
|
+
updateActiveOption(activeOption) {
|
|
28
|
+
this._activeOptionSubject.next(activeOption);
|
|
29
|
+
}
|
|
30
|
+
resetActiveOption() {
|
|
31
|
+
this.updateActiveOption(0);
|
|
32
|
+
const currentOptions = this._optionsSubject.value;
|
|
33
|
+
const activeOption = this._activeOptionSubject.value;
|
|
34
|
+
currentOptions.forEach((option, index) => {
|
|
35
|
+
index === activeOption ? option.setIsOptionActive(true, false) : option.setIsOptionActive(false, false);
|
|
36
|
+
});
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
removeActiveOption() {
|
|
40
|
+
const currentOptions = this._optionsSubject.value;
|
|
41
|
+
currentOptions.forEach((option) => {
|
|
42
|
+
option.isOptionActive = false;
|
|
43
|
+
});
|
|
44
|
+
this.updateActiveOption(-1);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
changeActiveOption(stepsToMove) {
|
|
48
|
+
const currentOptions = this._optionsSubject.value;
|
|
49
|
+
const lastActiveOption = this._activeOptionSubject.value;
|
|
50
|
+
this.updateActiveOption(Math.max(0, Math.min(currentOptions.length - 1, lastActiveOption + stepsToMove)));
|
|
51
|
+
const currentActiveOption = this._activeOptionSubject.value;
|
|
52
|
+
currentOptions.forEach((option, index) => {
|
|
53
|
+
option.setIsOptionActive(index === currentActiveOption, false);
|
|
54
|
+
});
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
selectActiveOption() {
|
|
58
|
+
const currentOptions = this._optionsSubject.value;
|
|
59
|
+
const activeOption = this._activeOptionSubject.value;
|
|
60
|
+
if (currentOptions[activeOption]) {
|
|
61
|
+
currentOptions[activeOption].selectOption();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaOptionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
65
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaOptionService, providedIn: 'root' }); }
|
|
66
|
+
}
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaOptionService, decorators: [{
|
|
68
|
+
type: Injectable,
|
|
69
|
+
args: [{
|
|
70
|
+
providedIn: 'root',
|
|
71
|
+
}]
|
|
72
|
+
}], ctorParameters: () => [] });
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2hhLW9wdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0Y2hhLWNvbXBvbmVudHMvc3JjL2xpYi9tYXRjaGEtb3B0aW9uL21hdGNoYS1vcHRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU1oRCxNQUFNLE9BQU8sbUJBQW1CO0lBYTVCO1FBWlEsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBMEIsRUFBRSxDQUFDLENBQUM7UUFDcEUsYUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFOUMseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsa0JBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFeEQsMkJBQXNCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDOUQsb0JBQWUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFNUQsMkJBQXNCLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUNoRCxvQkFBZSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVyRCxDQUFDO0lBRVQsaUJBQWlCLENBQUMsY0FBc0I7UUFDM0MsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0saUJBQWlCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQztJQUM3QyxDQUFDO0lBRU0saUJBQWlCLENBQUMsY0FBdUI7UUFDNUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sYUFBYSxDQUFDLE9BQWdDO1FBQ2pELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxZQUFvQjtRQUMxQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTSxpQkFBaUI7UUFDcEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDO1FBQ2xELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7UUFFckQsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNyQyxLQUFLLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVHLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTztJQUNYLENBQUM7SUFFTSxrQkFBa0I7UUFDckIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7UUFDbEQsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzlCLE1BQU0sQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFNUIsT0FBTztJQUNYLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxXQUFtQjtRQUN6QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztRQUNsRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7UUFFekQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFHLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQztRQUU1RCxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3JDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEtBQUssbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPO0lBQ1gsQ0FBQztJQUVNLGtCQUFrQjtRQUNyQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztRQUNsRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDO1FBRXJELElBQUksY0FBYyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDL0IsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2hELENBQUM7SUFDTCxDQUFDOytHQS9FUSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZoQixNQUFNOzs0RkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXRjaGFPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL21hdGNoYS1vcHRpb24vbWF0Y2hhLW9wdGlvbi5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRjaGFPcHRpb25TZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9vcHRpb25zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF0Y2hhT3B0aW9uQ29tcG9uZW50W10+KFtdKTtcbiAgICBwdWJsaWMgb3B0aW9ucyQgPSB0aGlzLl9vcHRpb25zU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIHByaXZhdGUgX2FjdGl2ZU9wdGlvblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gICAgcHVibGljIGFjdGl2ZU9wdGlvbiQgPSB0aGlzLl9hY3RpdmVPcHRpb25TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJpdmF0ZSBfY2FuU2hvd09wdGlvbnNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHVibGljIGNhblNob3dPcHRpb25zJCA9IHRoaXMuX2NhblNob3dPcHRpb25zU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIHByaXZhdGUgX3NlbGVjdGVkT3B0aW9uU3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgICBwdWJsaWMgc2VsZWN0ZWRPcHRpb24kID0gdGhpcy5fc2VsZWN0ZWRPcHRpb25TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgcHVibGljIHNldFNlbGVjdGVkT3B0aW9uKHNlbGVjdGVkT3B0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRPcHRpb25TdWJqZWN0Lm5leHQoc2VsZWN0ZWRPcHRpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDYW5TaG93T3B0aW9ucygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NhblNob3dPcHRpb25zU3ViamVjdC52YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0Q2FuU2hvd09wdGlvbnMoY2FuU2hvd09wdGlvbnM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2FuU2hvd09wdGlvbnNTdWJqZWN0Lm5leHQoY2FuU2hvd09wdGlvbnMpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVPcHRpb25zKG9wdGlvbnM6IE1hdGNoYU9wdGlvbkNvbXBvbmVudFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29wdGlvbnNTdWJqZWN0Lm5leHQob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZUFjdGl2ZU9wdGlvbihhY3RpdmVPcHRpb246IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9hY3RpdmVPcHRpb25TdWJqZWN0Lm5leHQoYWN0aXZlT3B0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXRBY3RpdmVPcHRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlQWN0aXZlT3B0aW9uKDApO1xuICAgICAgICBjb25zdCBjdXJyZW50T3B0aW9ucyA9IHRoaXMuX29wdGlvbnNTdWJqZWN0LnZhbHVlO1xuICAgICAgICBjb25zdCBhY3RpdmVPcHRpb24gPSB0aGlzLl9hY3RpdmVPcHRpb25TdWJqZWN0LnZhbHVlO1xuXG4gICAgICAgIGN1cnJlbnRPcHRpb25zLmZvckVhY2goKG9wdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGluZGV4ID09PSBhY3RpdmVPcHRpb24gPyBvcHRpb24uc2V0SXNPcHRpb25BY3RpdmUodHJ1ZSwgZmFsc2UpIDogb3B0aW9uLnNldElzT3B0aW9uQWN0aXZlKGZhbHNlLCBmYWxzZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlQWN0aXZlT3B0aW9uKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50T3B0aW9ucyA9IHRoaXMuX29wdGlvbnNTdWJqZWN0LnZhbHVlO1xuICAgICAgICBjdXJyZW50T3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgIG9wdGlvbi5pc09wdGlvbkFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZU9wdGlvbigtMSk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHB1YmxpYyBjaGFuZ2VBY3RpdmVPcHRpb24oc3RlcHNUb01vdmU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50T3B0aW9ucyA9IHRoaXMuX29wdGlvbnNTdWJqZWN0LnZhbHVlO1xuICAgICAgICBjb25zdCBsYXN0QWN0aXZlT3B0aW9uID0gdGhpcy5fYWN0aXZlT3B0aW9uU3ViamVjdC52YWx1ZTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZU9wdGlvbihNYXRoLm1heCgwLCBNYXRoLm1pbihjdXJyZW50T3B0aW9ucy5sZW5ndGggLSAxLCBsYXN0QWN0aXZlT3B0aW9uICsgc3RlcHNUb01vdmUpKSk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRBY3RpdmVPcHRpb24gPSB0aGlzLl9hY3RpdmVPcHRpb25TdWJqZWN0LnZhbHVlO1xuXG4gICAgICAgIGN1cnJlbnRPcHRpb25zLmZvckVhY2goKG9wdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIG9wdGlvbi5zZXRJc09wdGlvbkFjdGl2ZShpbmRleCA9PT0gY3VycmVudEFjdGl2ZU9wdGlvbiwgZmFsc2UpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdEFjdGl2ZU9wdGlvbigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudE9wdGlvbnMgPSB0aGlzLl9vcHRpb25zU3ViamVjdC52YWx1ZTtcbiAgICAgICAgY29uc3QgYWN0aXZlT3B0aW9uID0gdGhpcy5fYWN0aXZlT3B0aW9uU3ViamVjdC52YWx1ZTtcblxuICAgICAgICBpZiAoY3VycmVudE9wdGlvbnNbYWN0aXZlT3B0aW9uXSkge1xuICAgICAgICAgICAgY3VycmVudE9wdGlvbnNbYWN0aXZlT3B0aW9uXS5zZWxlY3RPcHRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class MatchaOverflowDraggableComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.dragRef = '';
|
|
6
|
+
}
|
|
7
|
+
dragToScroll() {
|
|
8
|
+
const ele = document.querySelector(`matchaDraggableReference${this.dragRef}`);
|
|
9
|
+
if (ele) {
|
|
10
|
+
let pos = { top: 0, left: 0, x: 0, y: 0 };
|
|
11
|
+
const mouseDownHandler = function (e) {
|
|
12
|
+
pos = {
|
|
13
|
+
// The current scroll
|
|
14
|
+
left: ele.scrollLeft,
|
|
15
|
+
top: ele.scrollTop,
|
|
16
|
+
// Get the current mouse position
|
|
17
|
+
x: e.clientX,
|
|
18
|
+
y: e.clientY,
|
|
19
|
+
};
|
|
20
|
+
ele.setAttribute('style', 'cursor: grabbing; user-select: none');
|
|
21
|
+
document.addEventListener('mousemove', mouseMoveHandler);
|
|
22
|
+
document.addEventListener('mouseup', mouseUpHandler);
|
|
23
|
+
};
|
|
24
|
+
const mouseMoveHandler = function (e) {
|
|
25
|
+
// How far the mouse has been moved
|
|
26
|
+
const dx = e.clientX - pos.x;
|
|
27
|
+
const dy = e.clientY - pos.y;
|
|
28
|
+
// Scroll the element
|
|
29
|
+
ele.scrollTop = pos.top - dy;
|
|
30
|
+
ele.scrollLeft = pos.left - dx;
|
|
31
|
+
};
|
|
32
|
+
const mouseUpHandler = function () {
|
|
33
|
+
document.removeEventListener('mousemove', mouseMoveHandler);
|
|
34
|
+
document.removeEventListener('mouseup', mouseUpHandler);
|
|
35
|
+
ele.setAttribute('style', 'cursor: grab; user-select: initial');
|
|
36
|
+
};
|
|
37
|
+
ele.addEventListener('mousedown', mouseDownHandler);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
get classes() {
|
|
41
|
+
const draggableReference = this.dragRef ? `matchaDraggableReference${this.dragRef}` : '';
|
|
42
|
+
const activeClasses = `${draggableReference}`;
|
|
43
|
+
return activeClasses;
|
|
44
|
+
}
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaOverflowDraggableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MatchaOverflowDraggableComponent, selector: "matcha-overflow-draggable", inputs: { dragRef: "dragRef" }, ngImport: i0, template: "<div [class]=\"classes\">\n <ng-content></ng-content>\n</div>\n", styles: [""] }); }
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaOverflowDraggableComponent, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{ selector: 'matcha-overflow-draggable', standalone: false, template: "<div [class]=\"classes\">\n <ng-content></ng-content>\n</div>\n" }]
|
|
51
|
+
}], propDecorators: { dragRef: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}] } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2hhLW92ZXJmbG93LWRyYWdnYWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRjaGEtY29tcG9uZW50cy9zcmMvbGliL21hdGNoYS1vdmVyZmxvdy1kcmFnZ2FibGUvbWF0Y2hhLW92ZXJmbG93LWRyYWdnYWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRjaGEtY29tcG9uZW50cy9zcmMvbGliL21hdGNoYS1vdmVyZmxvdy1kcmFnZ2FibGUvbWF0Y2hhLW92ZXJmbG93LWRyYWdnYWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTakQsTUFBTSxPQUFPLGdDQUFnQztJQVA3QztRQVFhLFlBQU8sR0FBVyxFQUFFLENBQUM7S0E2Q2pDO0lBM0NVLFlBQVk7UUFDZixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLDJCQUEyQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM5RSxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ04sSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDMUMsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQU07Z0JBQ3JDLEdBQUcsR0FBRztvQkFDRixxQkFBcUI7b0JBQ3JCLElBQUksRUFBRSxHQUFHLENBQUMsVUFBVTtvQkFDcEIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxTQUFTO29CQUNsQixpQ0FBaUM7b0JBQ2pDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTztvQkFDWixDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU87aUJBQ2YsQ0FBQztnQkFDRixHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxxQ0FBcUMsQ0FBQyxDQUFDO2dCQUNqRSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3pELFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDekQsQ0FBQyxDQUFDO1lBRUYsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQU07Z0JBQ3JDLG1DQUFtQztnQkFDbkMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUM3QixNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzdCLHFCQUFxQjtnQkFDckIsR0FBRyxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztnQkFDN0IsR0FBRyxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNuQyxDQUFDLENBQUM7WUFFRixNQUFNLGNBQWMsR0FBRztnQkFDbkIsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUM1RCxRQUFRLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUN4RCxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3BFLENBQUMsQ0FBQztZQUNGLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN4RCxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQVcsT0FBTztRQUNkLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsMkJBQTJCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRXpGLE1BQU0sYUFBYSxHQUFHLEdBQUcsa0JBQWtCLEVBQUUsQ0FBQztRQUM5QyxPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDOytHQTVDUSxnQ0FBZ0M7bUdBQWhDLGdDQUFnQyxpR0NUN0Msb0VBR0E7OzRGRE1hLGdDQUFnQztrQkFQNUMsU0FBUzsrQkFDSSwyQkFBMkIsY0FHekIsS0FBSzs4QkFJUixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbWF0Y2hhLW92ZXJmbG93LWRyYWdnYWJsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21hdGNoYS1vdmVyZmxvdy1kcmFnZ2FibGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21hdGNoYS1vdmVyZmxvdy1kcmFnZ2FibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxufSlcblxuZXhwb3J0IGNsYXNzIE1hdGNoYU92ZXJmbG93RHJhZ2dhYmxlQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBkcmFnUmVmOiBzdHJpbmcgPSAnJztcblxuICAgIHB1YmxpYyBkcmFnVG9TY3JvbGwoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYG1hdGNoYURyYWdnYWJsZVJlZmVyZW5jZSR7dGhpcy5kcmFnUmVmfWApO1xuICAgICAgICBpZiAoZWxlKSB7XG4gICAgICAgICAgICBsZXQgcG9zID0geyB0b3A6IDAsIGxlZnQ6IDAsIHg6IDAsIHk6IDAgfTtcbiAgICAgICAgICAgIGNvbnN0IG1vdXNlRG93bkhhbmRsZXIgPSBmdW5jdGlvbiAoZTogYW55KSB7XG4gICAgICAgICAgICAgICAgcG9zID0ge1xuICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY3VycmVudCBzY3JvbGxcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogZWxlLnNjcm9sbExlZnQsXG4gICAgICAgICAgICAgICAgICAgIHRvcDogZWxlLnNjcm9sbFRvcCxcbiAgICAgICAgICAgICAgICAgICAgLy8gR2V0IHRoZSBjdXJyZW50IG1vdXNlIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgIHg6IGUuY2xpZW50WCxcbiAgICAgICAgICAgICAgICAgICAgeTogZS5jbGllbnRZLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgZWxlLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAnY3Vyc29yOiBncmFiYmluZzsgdXNlci1zZWxlY3Q6IG5vbmUnKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBtb3VzZU1vdmVIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgbW91c2VVcEhhbmRsZXIpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgbW91c2VNb3ZlSGFuZGxlciA9IGZ1bmN0aW9uIChlOiBhbnkpIHtcbiAgICAgICAgICAgICAgICAvLyBIb3cgZmFyIHRoZSBtb3VzZSBoYXMgYmVlbiBtb3ZlZFxuICAgICAgICAgICAgICAgIGNvbnN0IGR4ID0gZS5jbGllbnRYIC0gcG9zLng7XG4gICAgICAgICAgICAgICAgY29uc3QgZHkgPSBlLmNsaWVudFkgLSBwb3MueTtcbiAgICAgICAgICAgICAgICAvLyBTY3JvbGwgdGhlIGVsZW1lbnRcbiAgICAgICAgICAgICAgICBlbGUuc2Nyb2xsVG9wID0gcG9zLnRvcCAtIGR5O1xuICAgICAgICAgICAgICAgIGVsZS5zY3JvbGxMZWZ0ID0gcG9zLmxlZnQgLSBkeDtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IG1vdXNlVXBIYW5kbGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG1vdXNlTW92ZUhhbmRsZXIpO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBtb3VzZVVwSGFuZGxlcik7XG4gICAgICAgICAgICAgICAgZWxlLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAnY3Vyc29yOiBncmFiOyB1c2VyLXNlbGVjdDogaW5pdGlhbCcpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGVsZS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBtb3VzZURvd25IYW5kbGVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkcmFnZ2FibGVSZWZlcmVuY2UgPSB0aGlzLmRyYWdSZWYgPyBgbWF0Y2hhRHJhZ2dhYmxlUmVmZXJlbmNlJHt0aGlzLmRyYWdSZWZ9YCA6ICcnO1xuXG4gICAgICAgIGNvbnN0IGFjdGl2ZUNsYXNzZXMgPSBgJHtkcmFnZ2FibGVSZWZlcmVuY2V9YDtcbiAgICAgICAgcmV0dXJuIGFjdGl2ZUNsYXNzZXM7XG4gICAgfVxuXG59XG4iLCI8ZGl2IFtjbGFzc109XCJjbGFzc2VzXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|