matcha-components 19.55.0 → 19.57.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/fesm2022/matcha-components.mjs +260 -13
- package/fesm2022/matcha-components.mjs.map +1 -1
- package/lib/matcha-button/button/button.component.d.ts +1 -0
- package/lib/matcha-modal/modal/modal.component.d.ts +16 -1
- package/lib/matcha-modal/modal.service.d.ts +22 -0
- package/lib/matcha-modal/overlay.service.d.ts +81 -0
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Output, Input, Component, ContentChildren, ElementRef, Renderer2,
|
|
2
|
+
import { EventEmitter, Output, Input, Component, ContentChildren, ElementRef, Renderer2, HostBinding, Inject, HostListener, ContentChild, Directive, forwardRef, NgModule, createComponent, Injectable } from '@angular/core';
|
|
3
3
|
import { animation, style, animate, trigger, transition, useAnimation, state, query, stagger, animateChild, sequence, group } from '@angular/animations';
|
|
4
4
|
import { Subscription, Subject } from 'rxjs';
|
|
5
5
|
import { debounceTime } from 'rxjs/operators';
|
|
@@ -639,6 +639,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
639
639
|
}] } });
|
|
640
640
|
|
|
641
641
|
class MatchaButtonComponent {
|
|
642
|
+
get colorAttr() {
|
|
643
|
+
return this.color;
|
|
644
|
+
}
|
|
642
645
|
get basic() { return this._basic; }
|
|
643
646
|
set basic(v) { this._basic = v === 'false' ? false : !!v; }
|
|
644
647
|
get outline() { return this._outline; }
|
|
@@ -789,7 +792,7 @@ class MatchaButtonComponent {
|
|
|
789
792
|
});
|
|
790
793
|
}
|
|
791
794
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MatchaButtonComponent, deps: [{ token: ElementRef }, { token: Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
792
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: MatchaButtonComponent, isStandalone: false, selector: "[matcha-button]", inputs: { size: "size", sizeXs: ["size-xs", "sizeXs"], sizeSm: ["size-sm", "sizeSm"], sizeMd: ["size-md", "sizeMd"], sizeLg: ["size-lg", "sizeLg"], sizeXl: ["size-xl", "sizeXl"], color: "color", basic: "basic", outline: "outline", alpha: "alpha", pill: "pill", link: "link", icon: "icon" }, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] }); }
|
|
795
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: MatchaButtonComponent, isStandalone: false, selector: "[matcha-button]", inputs: { size: "size", sizeXs: ["size-xs", "sizeXs"], sizeSm: ["size-sm", "sizeSm"], sizeMd: ["size-md", "sizeMd"], sizeLg: ["size-lg", "sizeLg"], sizeXl: ["size-xl", "sizeXl"], color: "color", basic: "basic", outline: "outline", alpha: "alpha", pill: "pill", link: "link", icon: "icon" }, host: { properties: { "attr.color": "this.colorAttr" } }, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] }); }
|
|
793
796
|
}
|
|
794
797
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MatchaButtonComponent, decorators: [{
|
|
795
798
|
type: Component,
|
|
@@ -821,6 +824,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
821
824
|
}], color: [{
|
|
822
825
|
type: Input,
|
|
823
826
|
args: ['color']
|
|
827
|
+
}], colorAttr: [{
|
|
828
|
+
type: HostBinding,
|
|
829
|
+
args: ['attr.color']
|
|
824
830
|
}], basic: [{
|
|
825
831
|
type: Input
|
|
826
832
|
}], outline: [{
|
|
@@ -1247,11 +1253,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
1247
1253
|
|
|
1248
1254
|
class MatchaModalContentComponent {
|
|
1249
1255
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MatchaModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1250
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: MatchaModalContentComponent, isStandalone: false, 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-
|
|
1256
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: MatchaModalContentComponent, isStandalone: false, 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: [""] }); }
|
|
1251
1257
|
}
|
|
1252
1258
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MatchaModalContentComponent, decorators: [{
|
|
1253
1259
|
type: Component,
|
|
1254
|
-
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-
|
|
1260
|
+
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" }]
|
|
1255
1261
|
}] });
|
|
1256
1262
|
|
|
1257
1263
|
class MatchaModalHeaderComponent {
|
|
@@ -1285,11 +1291,11 @@ class MatchaModalFooterComponent {
|
|
|
1285
1291
|
});
|
|
1286
1292
|
}
|
|
1287
1293
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MatchaModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1288
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: MatchaModalFooterComponent, isStandalone: false, 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 mt-16 mt-md-24 gap-16\">\n
|
|
1294
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: MatchaModalFooterComponent, isStandalone: false, 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: MatchaDividerComponent, selector: "matcha-divider", inputs: ["gap", "gap-sm", "gap-md", "gap-lg", "gap-xl", "vertical"] }] }); }
|
|
1289
1295
|
}
|
|
1290
1296
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MatchaModalFooterComponent, decorators: [{
|
|
1291
1297
|
type: Component,
|
|
1292
|
-
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 mt-16 mt-md-24 gap-16\">\n
|
|
1298
|
+
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" }]
|
|
1293
1299
|
}], propDecorators: { buttonType: [{
|
|
1294
1300
|
type: Input,
|
|
1295
1301
|
args: ['']
|
|
@@ -1305,21 +1311,87 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
1305
1311
|
}] });
|
|
1306
1312
|
|
|
1307
1313
|
class MatchaModalComponent {
|
|
1308
|
-
|
|
1309
|
-
this.
|
|
1314
|
+
get sizeAttr() {
|
|
1315
|
+
return this.size;
|
|
1316
|
+
}
|
|
1317
|
+
get sizeAttrXs() {
|
|
1318
|
+
return this.sizeXs;
|
|
1319
|
+
}
|
|
1320
|
+
get sizeAttrSm() {
|
|
1321
|
+
return this.sizeSm;
|
|
1322
|
+
}
|
|
1323
|
+
get sizeAttrMd() {
|
|
1324
|
+
return this.sizeMd;
|
|
1325
|
+
}
|
|
1326
|
+
get sizeAttrLg() {
|
|
1327
|
+
return this.sizeLg;
|
|
1328
|
+
}
|
|
1329
|
+
get sizeAttrXl() {
|
|
1330
|
+
return this.sizeXl;
|
|
1310
1331
|
}
|
|
1311
1332
|
get classes() {
|
|
1312
|
-
const activeClasses = `
|
|
1333
|
+
const activeClasses = `matcha-modal flex-column elevation-8 ${this.class}`;
|
|
1313
1334
|
return activeClasses;
|
|
1314
1335
|
}
|
|
1336
|
+
constructor() {
|
|
1337
|
+
this.size = null;
|
|
1338
|
+
this.sizeXs = null;
|
|
1339
|
+
this.sizeSm = null;
|
|
1340
|
+
this.sizeMd = null;
|
|
1341
|
+
this.sizeLg = null;
|
|
1342
|
+
this.sizeXl = null;
|
|
1343
|
+
this.class = '';
|
|
1344
|
+
this.hasBackdrop = true;
|
|
1345
|
+
this.backdropClass = '';
|
|
1346
|
+
}
|
|
1315
1347
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MatchaModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1316
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: MatchaModalComponent, isStandalone: false, selector: "matcha-modal", inputs: { class: "class" }, host: { properties: { "class": "this.classes" } }, ngImport: i0, template: "<div
|
|
1348
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: MatchaModalComponent, isStandalone: false, 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: [""] }); }
|
|
1317
1349
|
}
|
|
1318
1350
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MatchaModalComponent, decorators: [{
|
|
1319
1351
|
type: Component,
|
|
1320
|
-
args: [{ selector: 'matcha-modal', standalone: false, template: "<div
|
|
1321
|
-
}], propDecorators: {
|
|
1352
|
+
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>" }]
|
|
1353
|
+
}], ctorParameters: () => [], propDecorators: { size: [{
|
|
1354
|
+
type: Input,
|
|
1355
|
+
args: ['size']
|
|
1356
|
+
}], sizeXs: [{
|
|
1357
|
+
type: Input,
|
|
1358
|
+
args: ['size-xs']
|
|
1359
|
+
}], sizeSm: [{
|
|
1360
|
+
type: Input,
|
|
1361
|
+
args: ['size-sm']
|
|
1362
|
+
}], sizeMd: [{
|
|
1363
|
+
type: Input,
|
|
1364
|
+
args: ['size-md']
|
|
1365
|
+
}], sizeLg: [{
|
|
1366
|
+
type: Input,
|
|
1367
|
+
args: ['size-lg']
|
|
1368
|
+
}], sizeXl: [{
|
|
1369
|
+
type: Input,
|
|
1370
|
+
args: ['size-xl']
|
|
1371
|
+
}], class: [{
|
|
1372
|
+
type: Input
|
|
1373
|
+
}], hasBackdrop: [{
|
|
1374
|
+
type: Input
|
|
1375
|
+
}], backdropClass: [{
|
|
1322
1376
|
type: Input
|
|
1377
|
+
}], sizeAttr: [{
|
|
1378
|
+
type: HostBinding,
|
|
1379
|
+
args: ['attr.size']
|
|
1380
|
+
}], sizeAttrXs: [{
|
|
1381
|
+
type: HostBinding,
|
|
1382
|
+
args: ['attr.size-xs']
|
|
1383
|
+
}], sizeAttrSm: [{
|
|
1384
|
+
type: HostBinding,
|
|
1385
|
+
args: ['arrt.size-sm']
|
|
1386
|
+
}], sizeAttrMd: [{
|
|
1387
|
+
type: HostBinding,
|
|
1388
|
+
args: ['attr.size-md']
|
|
1389
|
+
}], sizeAttrLg: [{
|
|
1390
|
+
type: HostBinding,
|
|
1391
|
+
args: ['attr.size-lg']
|
|
1392
|
+
}], sizeAttrXl: [{
|
|
1393
|
+
type: HostBinding,
|
|
1394
|
+
args: ['attr.size-xl']
|
|
1323
1395
|
}], classes: [{
|
|
1324
1396
|
type: HostBinding,
|
|
1325
1397
|
args: ['class']
|
|
@@ -2367,6 +2439,174 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
2367
2439
|
}]
|
|
2368
2440
|
}] });
|
|
2369
2441
|
|
|
2442
|
+
/**
|
|
2443
|
+
* Serviço responsável pela implementação técnica do overlay e backdrop dos modais.
|
|
2444
|
+
*
|
|
2445
|
+
* Este serviço lida com a criação e gerenciamento do container do overlay,
|
|
2446
|
+
* criação do backdrop e manipulação do DOM. É um serviço de baixo nível
|
|
2447
|
+
* utilizado internamente pelo MatchaModalService.
|
|
2448
|
+
*
|
|
2449
|
+
* @example
|
|
2450
|
+
* ```typescript
|
|
2451
|
+
* constructor(private overlayService: MatchaOverlayService) {}
|
|
2452
|
+
*
|
|
2453
|
+
* createOverlay() {
|
|
2454
|
+
* this.overlayService.open(MyComponent);
|
|
2455
|
+
* }
|
|
2456
|
+
* ```
|
|
2457
|
+
*/
|
|
2458
|
+
class MatchaOverlayService {
|
|
2459
|
+
constructor(appRef, injector, rendererFactory) {
|
|
2460
|
+
this.appRef = appRef;
|
|
2461
|
+
this.injector = injector;
|
|
2462
|
+
this.rendererFactory = rendererFactory;
|
|
2463
|
+
this.overlayContainer = null;
|
|
2464
|
+
this.activeModal = null;
|
|
2465
|
+
this.backdrop = null;
|
|
2466
|
+
this.renderer = this.rendererFactory.createRenderer(null, null);
|
|
2467
|
+
}
|
|
2468
|
+
/**
|
|
2469
|
+
* Cria o container do overlay se ainda não existir.
|
|
2470
|
+
* O container é um elemento div que será usado para hospedar os modais.
|
|
2471
|
+
*
|
|
2472
|
+
* @private
|
|
2473
|
+
*/
|
|
2474
|
+
createOverlayContainer() {
|
|
2475
|
+
if (!this.overlayContainer) {
|
|
2476
|
+
this.overlayContainer = this.renderer.createElement('div');
|
|
2477
|
+
this.renderer.addClass(this.overlayContainer, 'matcha-overlay-container');
|
|
2478
|
+
this.renderer.appendChild(document.body, this.overlayContainer);
|
|
2479
|
+
}
|
|
2480
|
+
}
|
|
2481
|
+
/**
|
|
2482
|
+
* Remove o container do overlay do DOM.
|
|
2483
|
+
*
|
|
2484
|
+
* @private
|
|
2485
|
+
*/
|
|
2486
|
+
removeOverlayContainer() {
|
|
2487
|
+
if (this.overlayContainer) {
|
|
2488
|
+
this.renderer.removeChild(document.body, this.overlayContainer);
|
|
2489
|
+
this.overlayContainer = null;
|
|
2490
|
+
}
|
|
2491
|
+
}
|
|
2492
|
+
/**
|
|
2493
|
+
* Cria o backdrop do modal se ainda não existir.
|
|
2494
|
+
* O backdrop é um elemento div que cria o efeito de escurecimento
|
|
2495
|
+
* por trás do modal.
|
|
2496
|
+
*
|
|
2497
|
+
* @private
|
|
2498
|
+
*/
|
|
2499
|
+
createBackdrop() {
|
|
2500
|
+
if (!this.backdrop) {
|
|
2501
|
+
this.backdrop = this.renderer.createElement('div');
|
|
2502
|
+
this.renderer.addClass(this.backdrop, 'matcha-modal-backdrop');
|
|
2503
|
+
this.renderer.appendChild(document.body, this.backdrop);
|
|
2504
|
+
}
|
|
2505
|
+
}
|
|
2506
|
+
/**
|
|
2507
|
+
* Remove o backdrop do modal do DOM.
|
|
2508
|
+
*
|
|
2509
|
+
* @private
|
|
2510
|
+
*/
|
|
2511
|
+
removeBackdrop() {
|
|
2512
|
+
if (this.backdrop) {
|
|
2513
|
+
this.renderer.removeChild(document.body, this.backdrop);
|
|
2514
|
+
this.backdrop = null;
|
|
2515
|
+
}
|
|
2516
|
+
}
|
|
2517
|
+
/**
|
|
2518
|
+
* Abre um componente dentro de um modal.
|
|
2519
|
+
*
|
|
2520
|
+
* @param component - O componente que será exibido dentro do modal
|
|
2521
|
+
* @param config - Configurações opcionais para o modal
|
|
2522
|
+
* @returns Uma referência ao componente criado
|
|
2523
|
+
*
|
|
2524
|
+
* @example
|
|
2525
|
+
* ```typescript
|
|
2526
|
+
* const componentRef = this.overlayService.open(MyComponent, {
|
|
2527
|
+
* data: { id: 1 }
|
|
2528
|
+
* });
|
|
2529
|
+
* ```
|
|
2530
|
+
*/
|
|
2531
|
+
open(component, config = {}) {
|
|
2532
|
+
this.createOverlayContainer();
|
|
2533
|
+
this.createBackdrop();
|
|
2534
|
+
const componentRef = createComponent(component, {
|
|
2535
|
+
environmentInjector: this.appRef.injector,
|
|
2536
|
+
elementInjector: this.injector
|
|
2537
|
+
});
|
|
2538
|
+
const componentElement = componentRef.hostView.rootNodes[0];
|
|
2539
|
+
this.renderer.appendChild(this.overlayContainer, componentElement);
|
|
2540
|
+
this.appRef.attachView(componentRef.hostView);
|
|
2541
|
+
this.activeModal = componentRef;
|
|
2542
|
+
return componentRef;
|
|
2543
|
+
}
|
|
2544
|
+
/**
|
|
2545
|
+
* Fecha o modal atualmente aberto e remove o backdrop e o container.
|
|
2546
|
+
*
|
|
2547
|
+
* @example
|
|
2548
|
+
* ```typescript
|
|
2549
|
+
* this.overlayService.close();
|
|
2550
|
+
* ```
|
|
2551
|
+
*/
|
|
2552
|
+
close() {
|
|
2553
|
+
if (this.activeModal) {
|
|
2554
|
+
this.appRef.detachView(this.activeModal.hostView);
|
|
2555
|
+
this.activeModal.destroy();
|
|
2556
|
+
this.activeModal = null;
|
|
2557
|
+
this.removeBackdrop();
|
|
2558
|
+
this.removeOverlayContainer();
|
|
2559
|
+
}
|
|
2560
|
+
}
|
|
2561
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MatchaOverlayService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2562
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MatchaOverlayService, providedIn: 'root' }); }
|
|
2563
|
+
}
|
|
2564
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MatchaOverlayService, decorators: [{
|
|
2565
|
+
type: Injectable,
|
|
2566
|
+
args: [{
|
|
2567
|
+
providedIn: 'root'
|
|
2568
|
+
}]
|
|
2569
|
+
}], ctorParameters: () => [{ type: i0.ApplicationRef }, { type: i0.Injector }, { type: i0.RendererFactory2 }] });
|
|
2570
|
+
|
|
2571
|
+
class MatchaModalService {
|
|
2572
|
+
constructor(overlayService) {
|
|
2573
|
+
this.overlayService = overlayService;
|
|
2574
|
+
this.afterCloseSubject = new Subject();
|
|
2575
|
+
this.currentData = {};
|
|
2576
|
+
}
|
|
2577
|
+
open(component, data = {}) {
|
|
2578
|
+
this.currentData = data;
|
|
2579
|
+
const componentRef = this.overlayService.open(component, data);
|
|
2580
|
+
// Injeta os dados no componente
|
|
2581
|
+
componentRef.instance.data = data;
|
|
2582
|
+
if (componentRef.instance.afterClose) {
|
|
2583
|
+
componentRef.instance.afterClose.subscribe((result) => {
|
|
2584
|
+
this.afterCloseSubject.next(result);
|
|
2585
|
+
});
|
|
2586
|
+
}
|
|
2587
|
+
return {
|
|
2588
|
+
componentRef,
|
|
2589
|
+
afterClose: this.afterCloseSubject.asObservable()
|
|
2590
|
+
};
|
|
2591
|
+
}
|
|
2592
|
+
close(result) {
|
|
2593
|
+
this.afterCloseSubject.next(result);
|
|
2594
|
+
this.overlayService.close();
|
|
2595
|
+
this.currentData = {};
|
|
2596
|
+
}
|
|
2597
|
+
getData() {
|
|
2598
|
+
return this.currentData;
|
|
2599
|
+
}
|
|
2600
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MatchaModalService, deps: [{ token: MatchaOverlayService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2601
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MatchaModalService, providedIn: 'root' }); }
|
|
2602
|
+
}
|
|
2603
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MatchaModalService, decorators: [{
|
|
2604
|
+
type: Injectable,
|
|
2605
|
+
args: [{
|
|
2606
|
+
providedIn: 'root'
|
|
2607
|
+
}]
|
|
2608
|
+
}], ctorParameters: () => [{ type: MatchaOverlayService }] });
|
|
2609
|
+
|
|
2370
2610
|
class MatchaModalModule {
|
|
2371
2611
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MatchaModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2372
2612
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: MatchaModalModule, declarations: [MatchaModalHeaderComponent,
|
|
@@ -2383,7 +2623,10 @@ class MatchaModalModule {
|
|
|
2383
2623
|
MatchaModalFooterComponent,
|
|
2384
2624
|
MatchaModalOptionsComponent,
|
|
2385
2625
|
MatchaModalComponent] }); }
|
|
2386
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MatchaModalModule,
|
|
2626
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MatchaModalModule, providers: [
|
|
2627
|
+
MatchaModalService,
|
|
2628
|
+
MatchaOverlayService
|
|
2629
|
+
], imports: [CommonModule,
|
|
2387
2630
|
MatchaIconModule,
|
|
2388
2631
|
MatchaTitleModule,
|
|
2389
2632
|
MatchaDividerModule,
|
|
@@ -2414,6 +2657,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
2414
2657
|
MatchaModalFooterComponent,
|
|
2415
2658
|
MatchaModalOptionsComponent,
|
|
2416
2659
|
MatchaModalComponent
|
|
2660
|
+
],
|
|
2661
|
+
providers: [
|
|
2662
|
+
MatchaModalService,
|
|
2663
|
+
MatchaOverlayService
|
|
2417
2664
|
]
|
|
2418
2665
|
}]
|
|
2419
2666
|
}] });
|