ngx-rs-ant 0.0.3 → 0.0.4

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.
@@ -113,10 +113,10 @@ export class ModalComponent {
113
113
  }
114
114
  }
115
115
  ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
116
- ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ModalComponent, selector: "rs-modal", inputs: { title: "title", size: "size", contentTemplate: "contentTemplate" }, host: { listeners: { "document:mouseup": "onMouseup($event)", "document:mousemove": "onMousemove($event)" } }, viewQueries: [{ propertyName: "modalElementRef", first: true, predicate: ["modal"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{ modalInstance: this }\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n", styles: [".modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1)}.modal{position:absolute;top:0;left:0;z-index:var(--devui-z-index-modal, 1050);max-width:100%;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}d-card{height:100%;background-color:var(--devui-base-bg, #ffffff);display:flex;flex-flow:column nowrap}d-card i{position:absolute;top:12px;right:12px;padding:4px;font-size:var(--devui-font-size-card-title, 14px)}d-card i:hover{cursor:pointer;color:var(--devui-danger, #f66f6a);background-color:var(--devui-info-bg, #f2f5fc)}d-card d-card-header{border-bottom:1px solid var(--devui-dividing-line, #f2f2f3)}d-card d-card-content{flex:auto;display:flex;flex-flow:column}\n"], components: [{ type: i1.CardComponent, selector: "d-card", exportAs: ["dCard"] }, { type: i1.CardHeaderComponent, selector: "d-card-header" }], directives: [{ type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.CardTitleDirective, selector: "d-card-title, [dCardTitle]" }, { type: i1.CardContentDirective, selector: "d-card-content, [dCardContent]" }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
116
+ ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ModalComponent, selector: "rs-modal", inputs: { title: "title", size: "size", contentTemplate: "contentTemplate", contentTemplateContext: "contentTemplateContext" }, host: { listeners: { "document:mouseup": "onMouseup($event)", "document:mousemove": "onMousemove($event)" } }, viewQueries: [{ propertyName: "modalElementRef", first: true, predicate: ["modal"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"contentTemplateContext\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n", styles: [".modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1)}.modal{position:absolute;top:0;left:0;z-index:var(--devui-z-index-modal, 1050);max-width:100%;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}d-card{height:100%;background-color:var(--devui-base-bg, #ffffff);display:flex;flex-flow:column nowrap}d-card i{position:absolute;top:12px;right:12px;padding:4px;font-size:var(--devui-font-size-card-title, 14px)}d-card i:hover{cursor:pointer;color:var(--devui-danger, #f66f6a);background-color:var(--devui-info-bg, #f2f5fc)}d-card d-card-header{border-bottom:1px solid var(--devui-dividing-line, #f2f2f3)}d-card d-card-content{flex:auto;display:flex;flex-flow:column}\n"], components: [{ type: i1.CardComponent, selector: "d-card", exportAs: ["dCard"] }, { type: i1.CardHeaderComponent, selector: "d-card-header" }], directives: [{ type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.CardTitleDirective, selector: "d-card-title, [dCardTitle]" }, { type: i1.CardContentDirective, selector: "d-card-content, [dCardContent]" }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
117
117
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalComponent, decorators: [{
118
118
  type: Component,
119
- args: [{ selector: 'rs-modal', template: "<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{ modalInstance: this }\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n", styles: [".modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1)}.modal{position:absolute;top:0;left:0;z-index:var(--devui-z-index-modal, 1050);max-width:100%;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}d-card{height:100%;background-color:var(--devui-base-bg, #ffffff);display:flex;flex-flow:column nowrap}d-card i{position:absolute;top:12px;right:12px;padding:4px;font-size:var(--devui-font-size-card-title, 14px)}d-card i:hover{cursor:pointer;color:var(--devui-danger, #f66f6a);background-color:var(--devui-info-bg, #f2f5fc)}d-card d-card-header{border-bottom:1px solid var(--devui-dividing-line, #f2f2f3)}d-card d-card-content{flex:auto;display:flex;flex-flow:column}\n"] }]
119
+ args: [{ selector: 'rs-modal', template: "<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"contentTemplateContext\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n", styles: [".modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1)}.modal{position:absolute;top:0;left:0;z-index:var(--devui-z-index-modal, 1050);max-width:100%;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}d-card{height:100%;background-color:var(--devui-base-bg, #ffffff);display:flex;flex-flow:column nowrap}d-card i{position:absolute;top:12px;right:12px;padding:4px;font-size:var(--devui-font-size-card-title, 14px)}d-card i:hover{cursor:pointer;color:var(--devui-danger, #f66f6a);background-color:var(--devui-info-bg, #f2f5fc)}d-card d-card-header{border-bottom:1px solid var(--devui-dividing-line, #f2f2f3)}d-card d-card-content{flex:auto;display:flex;flex-flow:column}\n"] }]
120
120
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { title: [{
121
121
  type: Input
122
122
  }], size: [{
@@ -126,6 +126,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
126
126
  args: ['modal', { static: true }]
127
127
  }], contentTemplate: [{
128
128
  type: Input
129
+ }], contentTemplateContext: [{
130
+ type: Input
129
131
  }], onMouseup: [{
130
132
  type: HostListener,
131
133
  args: ['document:mouseup', ['$event']]
@@ -133,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
133
135
  type: HostListener,
134
136
  args: ['document:mousemove', ['$event']]
135
137
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcnMtYW50L3NyYy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ycy1hbnQvc3JjL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBa0MsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3BILE1BQU0sT0FBTyxjQUFjO0lBWXpCLFlBQW1CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFWaEMsU0FBSSxHQUFpQyxTQUFTLENBQUM7UUFDeEQsV0FBTSxHQUFXLEdBQUcsQ0FBQztRQUdyQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixjQUFTLEdBQUcsQ0FBQyxDQUFDO0lBS2QsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO1lBQ3JELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3hELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQ3RELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3hELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1NBQzdEO2FBQU07WUFDTCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO2dCQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQzthQUNuQjtZQUNELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDcEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7WUFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUk7Z0JBQzNDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ3hILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2pGLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBRUQsSUFBSTtRQUNGLGdDQUFnQztRQUNoQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDbEUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO1FBQ3hELE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsS0FBSyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDM0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUcsd0JBQXdCLENBQUM7YUFDN0Y7aUJBQU07Z0JBQ0wsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUcscUJBQXFCLENBQUM7YUFDMUY7U0FDRjtJQUNILENBQUM7SUFFRCxJQUFJO1FBQ0YsY0FBYztJQUNoQixDQUFDO0lBRUQsV0FBVztRQUNULHVCQUF1QjtRQUN2QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDbEUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO1FBQ3hELE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLG9CQUFvQixDQUFDLENBQUM7UUFDL0UsSUFBSSxTQUFTLEVBQUU7WUFDYixTQUFTLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyx3QkFBd0IsQ0FBQztTQUM3RjtJQUNILENBQUM7SUFFRCw0QkFBNEI7UUFDMUIsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLElBQUk7WUFDdkUsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEdBQUcsSUFBSTtZQUN6RSxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJO1lBQ25FLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLElBQUk7U0FDdEUsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBa0I7UUFDNUIsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUNwRixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hHLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVPLGlCQUFpQixDQUFDLE1BQVcsRUFBRSxPQUFZO1FBQ2pELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxNQUFNLEtBQUssT0FBTyxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxLQUFLLElBQUksS0FBSyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDbEMsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDakUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtvQkFDM0QsT0FBTyxJQUFJLENBQUM7aUJBQ2I7YUFDRjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBR0QsU0FBUztRQUNQLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFHRCxXQUFXLENBQUMsTUFBa0I7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBQ0QsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQztRQUNuRCxJQUFJLFVBQVUsR0FBRyxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDaEQsSUFBSSxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2xELFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUM3QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ3pFLFVBQVUsR0FBRyxVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUN2RCxXQUFXLEdBQUcsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDaEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN4RSxXQUFXLEdBQUcsV0FBVyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDNUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN0QyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFDLENBQUM7OzRHQTFIVSxjQUFjO2dHQUFkLGNBQWMscVdDUDNCLGlpQkFjQTs0RkRQYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFVBQVU7aUdBS1gsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFOEIsZUFBZTtzQkFBbEQsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQU1sQyxlQUFlO3NCQURkLEtBQUs7Z0JBMkZOLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNNUMsV0FBVztzQkFEVixZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnMtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSB0aXRsZSE6IHN0cmluZztcbiAgQElucHV0KCkgc2l6ZTogJ2RlZmF1bHQnIHwgJ2xhcmdlJyB8ICdmdWxsJyA9ICdkZWZhdWx0JztcbiAgX3dpZHRoOiBudW1iZXIgPSA0ODA7XG4gIEBWaWV3Q2hpbGQoJ21vZGFsJywge3N0YXRpYzogdHJ1ZX0pIG1vZGFsRWxlbWVudFJlZiE6IEVsZW1lbnRSZWY7XG4gIG1vdmVIYW5kbGVFbCE6IEhUTUxFbGVtZW50O1xuICBtb3ZhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIHRvcFN0YXJ0ID0gMDtcbiAgbGVmdFN0YXJ0ID0gMDtcbiAgQElucHV0KClcbiAgY29udGVudFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc2l6ZSA9PT0gJ2Z1bGwnKSB7XG4gICAgICB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcCA9ICcwcHgnO1xuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5yaWdodCA9ICcwcHgnO1xuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5ib3R0b20gPSAnMHB4JztcbiAgICAgIHRoaXMubW9kYWxFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9ICcwcHgnO1xuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5tYXJnaW4gPSAnMnB4JztcbiAgICAgIHRoaXMubW9kYWxFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuYm94U2hhZG93ID0gJ25vbmUnO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5zaXplID09PSAnbGFyZ2UnKSB7XG4gICAgICAgIHRoaXMuX3dpZHRoID0gOTYwO1xuICAgICAgfVxuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMuX3dpZHRoICsgJ3B4JztcbiAgICAgIHRoaXMubW9kYWxFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudG9wID0gJzQwcHgnO1xuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID1cbiAgICAgICAgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggLSB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKSAvIDIgKyAncHgnO1xuICAgICAgdGhpcy5tb3ZlSGFuZGxlRWwgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdkLWNhcmQtaGVhZGVyJyk7XG4gICAgICB0aGlzLm1vdmVIYW5kbGVFbC5zdHlsZS5jdXJzb3IgPSAnbW92ZSc7XG4gICAgfVxuICB9XG5cbiAgc2hvdygpIHtcbiAgICAvLyDoi6XlrZjlnKjlpJrlsYLmqKHmgIHmoYbvvIzku4Xkv53nlZnmnIDkuIrlsYLpga7nvanpopzoibLvvIzkuIvlsYLpga7nvanorr7nva7kuLrpgI/mmI5cbiAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICBjb25zdCBub2RlTmFtZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm5vZGVOYW1lO1xuICAgIGNvbnN0IG1vZGFscyA9IHBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChub2RlTmFtZSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtb2RhbHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChpID09PSBtb2RhbHMubGVuZ3RoIC0gMSkge1xuICAgICAgICBtb2RhbHNbaV0ucXVlcnlTZWxlY3RvcignLm1vZGFsLWJhY2tkcm9wJykuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3JnYmEoMzcsIDQzLCA1OCwgMC4wNSknO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbW9kYWxzW2ldLnF1ZXJ5U2VsZWN0b3IoJy5tb2RhbC1iYWNrZHJvcCcpLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICdyZ2JhKDM3LCA0MywgNTgsIDApJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoaWRlKCkge1xuICAgIC8vIOWcqHNlcnZpY2XkuK3ph43lhplcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIOiLpeWtmOWcqOWkmuWxguaooeaAgeahhu+8jOS4i+S4gOWxgumBrue9qeiuvue9ruS4uuS4jemAj+aYjlxuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIGNvbnN0IG5vZGVOYW1lID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubm9kZU5hbWU7XG4gICAgY29uc3QgbmV4dE1vZGFsID0gcGFyZW50RWxlbWVudC5xdWVyeVNlbGVjdG9yKG5vZGVOYW1lICsgJzpudGgtbGFzdC1jaGlsZCgyKScpO1xuICAgIGlmIChuZXh0TW9kYWwpIHtcbiAgICAgIG5leHRNb2RhbC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtYmFja2Ryb3AnKS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAncmdiYSgzNywgNDMsIDU4LCAwLjA1KSc7XG4gICAgfVxuICB9XG5cbiAgcmVzb2x2ZU1vZGFsQmFja2Ryb3BQb3NpdGlvbigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJ3aWR0aFwiOiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoICsgJ3B4JyxcbiAgICAgIFwiaGVpZ2h0XCI6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0ICsgJ3B4JyxcbiAgICAgIFwidG9wXCI6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0VG9wICsgJ3B4JyxcbiAgICAgIFwibGVmdFwiOiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldExlZnQgKyAncHgnLFxuICAgIH07XG4gIH1cblxuICBvbk1vdXNlZG93bigkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoJGV2ZW50LmJ1dHRvbiA9PT0gMiB8fCAhdGhpcy5jaGVja0hhbmRsZVRhcmdldCgkZXZlbnQudGFyZ2V0LCB0aGlzLm1vdmVIYW5kbGVFbCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5tb3ZhYmxlID0gdHJ1ZTtcbiAgICB0aGlzLnRvcFN0YXJ0ID0gJGV2ZW50LmNsaWVudFkgLSB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcC5yZXBsYWNlKCdweCcsICcnKTtcbiAgICB0aGlzLmxlZnRTdGFydCA9ICRldmVudC5jbGllbnRYIC0gdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0LnJlcGxhY2UoJ3B4JywgJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0hhbmRsZVRhcmdldCh0YXJnZXQ6IGFueSwgZWxlbWVudDogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0YXJnZXQgPT09IGVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBmb3IgKGxldCBjaGlsZCBpbiBlbGVtZW50LmNoaWxkcmVuKSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGVsZW1lbnQuY2hpbGRyZW4sIGNoaWxkKSkge1xuICAgICAgICBpZiAodGhpcy5jaGVja0hhbmRsZVRhcmdldCh0YXJnZXQsIGVsZW1lbnQuY2hpbGRyZW5bY2hpbGRdKSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNldXAnLCBbJyRldmVudCddKVxuICBvbk1vdXNldXAoKSB7XG4gICAgdGhpcy5tb3ZhYmxlID0gZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZW1vdmUnLCBbJyRldmVudCddKVxuICBvbk1vdXNlbW92ZSgkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMubW92YWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMubW9kYWxFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgbGV0IGN1cnJlbnRUb3AgPSAkZXZlbnQuY2xpZW50WSAtIHRoaXMudG9wU3RhcnQ7XG4gICAgbGV0IGN1cnJlbnRMZWZ0ID0gJGV2ZW50LmNsaWVudFggLSB0aGlzLmxlZnRTdGFydDtcbiAgICBjdXJyZW50VG9wID0gY3VycmVudFRvcCA8IDAgPyAwIDogY3VycmVudFRvcDtcbiAgICBjb25zdCBtYXhUb3AgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgY3VycmVudFRvcCA9IGN1cnJlbnRUb3AgPiBtYXhUb3AgPyBtYXhUb3AgOiBjdXJyZW50VG9wO1xuICAgIGN1cnJlbnRMZWZ0ID0gY3VycmVudExlZnQgPCAwID8gMCA6IGN1cnJlbnRMZWZ0O1xuICAgIGNvbnN0IG1heExlZnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggLSBlbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIGN1cnJlbnRMZWZ0ID0gY3VycmVudExlZnQgPiBtYXhMZWZ0ID8gbWF4TGVmdCA6IGN1cnJlbnRMZWZ0O1xuICAgIGVsZW1lbnQuc3R5bGUudG9wID0gY3VycmVudFRvcCArICdweCc7XG4gICAgZWxlbWVudC5zdHlsZS5sZWZ0ID0gY3VycmVudExlZnQgKyAncHgnO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtYmFja2Ryb3BcIiBbbmdTdHlsZV09XCJyZXNvbHZlTW9kYWxCYWNrZHJvcFBvc2l0aW9uKClcIj5cbiAgPGRpdiAjbW9kYWwgY2xhc3M9XCJtb2RhbFwiPlxuICAgIDxkLWNhcmQ+XG4gICAgICA8aSBjbGFzcz1cImljb24tY2xvc2VcIiAoY2xpY2spPVwiaGlkZSgpXCI+PC9pPlxuICAgICAgPGQtY2FyZC1oZWFkZXIgKG1vdXNlZG93bik9XCJvbk1vdXNlZG93bigkZXZlbnQpXCI+XG4gICAgICAgIDxkLWNhcmQtdGl0bGU+e3t0aXRsZX19PC9kLWNhcmQtdGl0bGU+XG4gICAgICA8L2QtY2FyZC1oZWFkZXI+XG4gICAgICA8ZC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgbW9kYWxJbnN0YW5jZTogdGhpcyB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZC1jYXJkLWNvbnRlbnQ+XG4gICAgPC9kLWNhcmQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcnMtYW50L3NyYy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ycy1hbnQvc3JjL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBa0MsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3BILE1BQU0sT0FBTyxjQUFjO0lBY3pCLFlBQW1CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFaaEMsU0FBSSxHQUFpQyxTQUFTLENBQUM7UUFDeEQsV0FBTSxHQUFXLEdBQUcsQ0FBQztRQUdyQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixjQUFTLEdBQUcsQ0FBQyxDQUFDO0lBT2QsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO1lBQ3JELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3hELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQ3RELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3hELElBQUksQ0FBQyxlQUFlLENBQUMsYUFB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QUMsS0FBSyxDQUFDLElBQUksR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFDLENBQUM7OzRHQTVIVSxjQUFjO2dHQUFkLGNBQWMsdVpDUDNCLGdpQkFjQTs0RkRQYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFVBQVU7aUdBS1gsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFOEIsZUFBZTtzQkFBbEQsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQU1sQyxlQUFlO3NCQURkLEtBQUs7Z0JBR04sc0JBQXNCO3NCQURyQixLQUFLO2dCQTJGTixTQUFTO3NCQURSLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTTVDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxvQkFBb0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JzLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgdGl0bGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpemU6ICdkZWZhdWx0JyB8ICdsYXJnZScgfCAnZnVsbCcgPSAnZGVmYXVsdCc7XG4gIF93aWR0aDogbnVtYmVyID0gNDgwO1xuICBAVmlld0NoaWxkKCdtb2RhbCcsIHtzdGF0aWM6IHRydWV9KSBtb2RhbEVsZW1lbnRSZWYhOiBFbGVtZW50UmVmO1xuICBtb3ZlSGFuZGxlRWwhOiBIVE1MRWxlbWVudDtcbiAgbW92YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICB0b3BTdGFydCA9IDA7XG4gIGxlZnRTdGFydCA9IDA7XG4gIEBJbnB1dCgpXG4gIGNvbnRlbnRUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpXG4gIGNvbnRlbnRUZW1wbGF0ZUNvbnRleHQ6IGFueTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc2l6ZSA9PT0gJ2Z1bGwnKSB7XG4gICAgICB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcCA9ICcwcHgnO1xuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5yaWdodCA9ICcwcHgnO1xuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5ib3R0b20gPSAnMHB4JztcbiAgICAgIHRoaXMubW9kYWxFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9ICcwcHgnO1xuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5tYXJnaW4gPSAnMnB4JztcbiAgICAgIHRoaXMubW9kYWxFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuYm94U2hhZG93ID0gJ25vbmUnO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5zaXplID09PSAnbGFyZ2UnKSB7XG4gICAgICAgIHRoaXMuX3dpZHRoID0gOTYwO1xuICAgICAgfVxuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMuX3dpZHRoICsgJ3B4JztcbiAgICAgIHRoaXMubW9kYWxFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudG9wID0gJzQwcHgnO1xuICAgICAgdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID1cbiAgICAgICAgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggLSB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKSAvIDIgKyAncHgnO1xuICAgICAgdGhpcy5tb3ZlSGFuZGxlRWwgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdkLWNhcmQtaGVhZGVyJyk7XG4gICAgICB0aGlzLm1vdmVIYW5kbGVFbC5zdHlsZS5jdXJzb3IgPSAnbW92ZSc7XG4gICAgfVxuICB9XG5cbiAgc2hvdygpIHtcbiAgICAvLyDoi6XlrZjlnKjlpJrlsYLmqKHmgIHmoYbvvIzku4Xkv53nlZnmnIDkuIrlsYLpga7nvanpopzoibLvvIzkuIvlsYLpga7nvanorr7nva7kuLrpgI/mmI5cbiAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICBjb25zdCBub2RlTmFtZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm5vZGVOYW1lO1xuICAgIGNvbnN0IG1vZGFscyA9IHBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChub2RlTmFtZSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtb2RhbHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChpID09PSBtb2RhbHMubGVuZ3RoIC0gMSkge1xuICAgICAgICBtb2RhbHNbaV0ucXVlcnlTZWxlY3RvcignLm1vZGFsLWJhY2tkcm9wJykuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3JnYmEoMzcsIDQzLCA1OCwgMC4wNSknO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbW9kYWxzW2ldLnF1ZXJ5U2VsZWN0b3IoJy5tb2RhbC1iYWNrZHJvcCcpLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICdyZ2JhKDM3LCA0MywgNTgsIDApJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoaWRlKCkge1xuICAgIC8vIOWcqHNlcnZpY2XkuK3ph43lhplcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIOiLpeWtmOWcqOWkmuWxguaooeaAgeahhu+8jOS4i+S4gOWxgumBrue9qeiuvue9ruS4uuS4jemAj+aYjlxuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIGNvbnN0IG5vZGVOYW1lID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubm9kZU5hbWU7XG4gICAgY29uc3QgbmV4dE1vZGFsID0gcGFyZW50RWxlbWVudC5xdWVyeVNlbGVjdG9yKG5vZGVOYW1lICsgJzpudGgtbGFzdC1jaGlsZCgyKScpO1xuICAgIGlmIChuZXh0TW9kYWwpIHtcbiAgICAgIG5leHRNb2RhbC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtYmFja2Ryb3AnKS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAncmdiYSgzNywgNDMsIDU4LCAwLjA1KSc7XG4gICAgfVxuICB9XG5cbiAgcmVzb2x2ZU1vZGFsQmFja2Ryb3BQb3NpdGlvbigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJ3aWR0aFwiOiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoICsgJ3B4JyxcbiAgICAgIFwiaGVpZ2h0XCI6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0ICsgJ3B4JyxcbiAgICAgIFwidG9wXCI6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0VG9wICsgJ3B4JyxcbiAgICAgIFwibGVmdFwiOiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldExlZnQgKyAncHgnLFxuICAgIH07XG4gIH1cblxuICBvbk1vdXNlZG93bigkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoJGV2ZW50LmJ1dHRvbiA9PT0gMiB8fCAhdGhpcy5jaGVja0hhbmRsZVRhcmdldCgkZXZlbnQudGFyZ2V0LCB0aGlzLm1vdmVIYW5kbGVFbCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5tb3ZhYmxlID0gdHJ1ZTtcbiAgICB0aGlzLnRvcFN0YXJ0ID0gJGV2ZW50LmNsaWVudFkgLSB0aGlzLm1vZGFsRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcC5yZXBsYWNlKCdweCcsICcnKTtcbiAgICB0aGlzLmxlZnRTdGFydCA9ICRldmVudC5jbGllbnRYIC0gdGhpcy5tb2RhbEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0LnJlcGxhY2UoJ3B4JywgJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0hhbmRsZVRhcmdldCh0YXJnZXQ6IGFueSwgZWxlbWVudDogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0YXJnZXQgPT09IGVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBmb3IgKGxldCBjaGlsZCBpbiBlbGVtZW50LmNoaWxkcmVuKSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGVsZW1lbnQuY2hpbGRyZW4sIGNoaWxkKSkge1xuICAgICAgICBpZiAodGhpcy5jaGVja0hhbmRsZVRhcmdldCh0YXJnZXQsIGVsZW1lbnQuY2hpbGRyZW5bY2hpbGRdKSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNldXAnLCBbJyRldmVudCddKVxuICBvbk1vdXNldXAoKSB7XG4gICAgdGhpcy5tb3ZhYmxlID0gZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZW1vdmUnLCBbJyRldmVudCddKVxuICBvbk1vdXNlbW92ZSgkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMubW92YWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMubW9kYWxFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgbGV0IGN1cnJlbnRUb3AgPSAkZXZlbnQuY2xpZW50WSAtIHRoaXMudG9wU3RhcnQ7XG4gICAgbGV0IGN1cnJlbnRMZWZ0ID0gJGV2ZW50LmNsaWVudFggLSB0aGlzLmxlZnRTdGFydDtcbiAgICBjdXJyZW50VG9wID0gY3VycmVudFRvcCA8IDAgPyAwIDogY3VycmVudFRvcDtcbiAgICBjb25zdCBtYXhUb3AgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgY3VycmVudFRvcCA9IGN1cnJlbnRUb3AgPiBtYXhUb3AgPyBtYXhUb3AgOiBjdXJyZW50VG9wO1xuICAgIGN1cnJlbnRMZWZ0ID0gY3VycmVudExlZnQgPCAwID8gMCA6IGN1cnJlbnRMZWZ0O1xuICAgIGNvbnN0IG1heExlZnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggLSBlbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIGN1cnJlbnRMZWZ0ID0gY3VycmVudExlZnQgPiBtYXhMZWZ0ID8gbWF4TGVmdCA6IGN1cnJlbnRMZWZ0O1xuICAgIGVsZW1lbnQuc3R5bGUudG9wID0gY3VycmVudFRvcCArICdweCc7XG4gICAgZWxlbWVudC5zdHlsZS5sZWZ0ID0gY3VycmVudExlZnQgKyAncHgnO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtYmFja2Ryb3BcIiBbbmdTdHlsZV09XCJyZXNvbHZlTW9kYWxCYWNrZHJvcFBvc2l0aW9uKClcIj5cbiAgPGRpdiAjbW9kYWwgY2xhc3M9XCJtb2RhbFwiPlxuICAgIDxkLWNhcmQ+XG4gICAgICA8aSBjbGFzcz1cImljb24tY2xvc2VcIiAoY2xpY2spPVwiaGlkZSgpXCI+PC9pPlxuICAgICAgPGQtY2FyZC1oZWFkZXIgKG1vdXNlZG93bik9XCJvbk1vdXNlZG93bigkZXZlbnQpXCI+XG4gICAgICAgIDxkLWNhcmQtdGl0bGU+e3t0aXRsZX19PC9kLWNhcmQtdGl0bGU+XG4gICAgICA8L2QtY2FyZC1oZWFkZXI+XG4gICAgICA8ZC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImNvbnRlbnRUZW1wbGF0ZUNvbnRleHRcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9kLWNhcmQtY29udGVudD5cbiAgICA8L2QtY2FyZD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -4,7 +4,7 @@ import * as i0 from "@angular/core";
4
4
  export class ModalService {
5
5
  constructor() {
6
6
  }
7
- open(viewContainerRef, title, contentTemplate, size = 'default') {
7
+ open(viewContainerRef, title, size = 'default', contentTemplate, contentTemplateContext) {
8
8
  const modalRef = viewContainerRef.createComponent(ModalComponent);
9
9
  modalRef.instance.hide = () => {
10
10
  modalRef.hostView.destroy();
@@ -12,6 +12,7 @@ export class ModalService {
12
12
  modalRef.instance.title = title;
13
13
  modalRef.instance.contentTemplate = contentTemplate;
14
14
  modalRef.instance.size = size;
15
+ modalRef.instance.contentTemplateContext = contentTemplateContext;
15
16
  modalRef.instance.show();
16
17
  return modalRef.instance;
17
18
  }
@@ -24,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
24
25
  providedIn: 'root'
25
26
  }]
26
27
  }], ctorParameters: function () { return []; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3JzLWFudC9zcmMvbW9kYWwvbW9kYWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFnQyxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7O0FBS2pELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCO0lBQ0EsQ0FBQztJQUVELElBQUksQ0FBQyxnQkFBa0MsRUFBRSxLQUFhLEVBQUUsZUFBaUMsRUFBRSxPQUFxQyxTQUFTO1FBQ3ZJLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsRSxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUU7WUFDNUIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUE7UUFDRCxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDaEMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ3BELFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUM5QixRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUMzQixDQUFDOzswR0FkVSxZQUFZOzhHQUFaLFlBQVksY0FGWCxNQUFNOzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01vZGFsQ29tcG9uZW50fSBmcm9tICcuL21vZGFsLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgb3Blbih2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCB0aXRsZTogc3RyaW5nLCBjb250ZW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sIHNpemU6ICdkZWZhdWx0JyB8ICdsYXJnZScgfCAnZnVsbCcgPSAnZGVmYXVsdCcpIHtcbiAgICBjb25zdCBtb2RhbFJlZiA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KE1vZGFsQ29tcG9uZW50KTtcbiAgICBtb2RhbFJlZi5pbnN0YW5jZS5oaWRlID0gKCkgPT4ge1xuICAgICAgbW9kYWxSZWYuaG9zdFZpZXcuZGVzdHJveSgpO1xuICAgIH1cbiAgICBtb2RhbFJlZi5pbnN0YW5jZS50aXRsZSA9IHRpdGxlO1xuICAgIG1vZGFsUmVmLmluc3RhbmNlLmNvbnRlbnRUZW1wbGF0ZSA9IGNvbnRlbnRUZW1wbGF0ZTtcbiAgICBtb2RhbFJlZi5pbnN0YW5jZS5zaXplID0gc2l6ZTtcbiAgICBtb2RhbFJlZi5pbnN0YW5jZS5zaG93KCk7XG4gICAgcmV0dXJuIG1vZGFsUmVmLmluc3RhbmNlO1xuICB9XG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3JzLWFudC9zcmMvbW9kYWwvbW9kYWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFnQyxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7O0FBS2pELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCO0lBQ0EsQ0FBQztJQUVELElBQUksQ0FBQyxnQkFBa0MsRUFDbEMsS0FBYSxFQUFFLE9BQXFDLFNBQVMsRUFDN0QsZUFBaUMsRUFDakMsc0JBQTJCO1FBQzlCLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsRSxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUU7WUFDNUIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUE7UUFDRCxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDaEMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ3BELFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUM5QixRQUFRLENBQUMsUUFBUSxDQUFDLHNCQUFzQixHQUFHLHNCQUFzQixDQUFDO1FBQ2xFLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQzNCLENBQUM7OzBHQWxCVSxZQUFZOzhHQUFaLFlBQVksY0FGWCxNQUFNOzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01vZGFsQ29tcG9uZW50fSBmcm9tICcuL21vZGFsLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgb3Blbih2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgIHRpdGxlOiBzdHJpbmcsIHNpemU6ICdkZWZhdWx0JyB8ICdsYXJnZScgfCAnZnVsbCcgPSAnZGVmYXVsdCcsXG4gICAgICAgY29udGVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgIGNvbnRlbnRUZW1wbGF0ZUNvbnRleHQ6IGFueSkge1xuICAgIGNvbnN0IG1vZGFsUmVmID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoTW9kYWxDb21wb25lbnQpO1xuICAgIG1vZGFsUmVmLmluc3RhbmNlLmhpZGUgPSAoKSA9PiB7XG4gICAgICBtb2RhbFJlZi5ob3N0Vmlldy5kZXN0cm95KCk7XG4gICAgfVxuICAgIG1vZGFsUmVmLmluc3RhbmNlLnRpdGxlID0gdGl0bGU7XG4gICAgbW9kYWxSZWYuaW5zdGFuY2UuY29udGVudFRlbXBsYXRlID0gY29udGVudFRlbXBsYXRlO1xuICAgIG1vZGFsUmVmLmluc3RhbmNlLnNpemUgPSBzaXplO1xuICAgIG1vZGFsUmVmLmluc3RhbmNlLmNvbnRlbnRUZW1wbGF0ZUNvbnRleHQgPSBjb250ZW50VGVtcGxhdGVDb250ZXh0O1xuICAgIG1vZGFsUmVmLmluc3RhbmNlLnNob3coKTtcbiAgICByZXR1cm4gbW9kYWxSZWYuaW5zdGFuY2U7XG4gIH1cbn1cbiJdfQ==
@@ -116,10 +116,10 @@ class ModalComponent {
116
116
  }
117
117
  }
118
118
  ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
119
- ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ModalComponent, selector: "rs-modal", inputs: { title: "title", size: "size", contentTemplate: "contentTemplate" }, host: { listeners: { "document:mouseup": "onMouseup($event)", "document:mousemove": "onMousemove($event)" } }, viewQueries: [{ propertyName: "modalElementRef", first: true, predicate: ["modal"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{ modalInstance: this }\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n", styles: [".modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1)}.modal{position:absolute;top:0;left:0;z-index:var(--devui-z-index-modal, 1050);max-width:100%;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}d-card{height:100%;background-color:var(--devui-base-bg, #ffffff);display:flex;flex-flow:column nowrap}d-card i{position:absolute;top:12px;right:12px;padding:4px;font-size:var(--devui-font-size-card-title, 14px)}d-card i:hover{cursor:pointer;color:var(--devui-danger, #f66f6a);background-color:var(--devui-info-bg, #f2f5fc)}d-card d-card-header{border-bottom:1px solid var(--devui-dividing-line, #f2f2f3)}d-card d-card-content{flex:auto;display:flex;flex-flow:column}\n"], components: [{ type: i1.CardComponent, selector: "d-card", exportAs: ["dCard"] }, { type: i1.CardHeaderComponent, selector: "d-card-header" }], directives: [{ type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.CardTitleDirective, selector: "d-card-title, [dCardTitle]" }, { type: i1.CardContentDirective, selector: "d-card-content, [dCardContent]" }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
119
+ ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ModalComponent, selector: "rs-modal", inputs: { title: "title", size: "size", contentTemplate: "contentTemplate", contentTemplateContext: "contentTemplateContext" }, host: { listeners: { "document:mouseup": "onMouseup($event)", "document:mousemove": "onMousemove($event)" } }, viewQueries: [{ propertyName: "modalElementRef", first: true, predicate: ["modal"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"contentTemplateContext\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n", styles: [".modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1)}.modal{position:absolute;top:0;left:0;z-index:var(--devui-z-index-modal, 1050);max-width:100%;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}d-card{height:100%;background-color:var(--devui-base-bg, #ffffff);display:flex;flex-flow:column nowrap}d-card i{position:absolute;top:12px;right:12px;padding:4px;font-size:var(--devui-font-size-card-title, 14px)}d-card i:hover{cursor:pointer;color:var(--devui-danger, #f66f6a);background-color:var(--devui-info-bg, #f2f5fc)}d-card d-card-header{border-bottom:1px solid var(--devui-dividing-line, #f2f2f3)}d-card d-card-content{flex:auto;display:flex;flex-flow:column}\n"], components: [{ type: i1.CardComponent, selector: "d-card", exportAs: ["dCard"] }, { type: i1.CardHeaderComponent, selector: "d-card-header" }], directives: [{ type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.CardTitleDirective, selector: "d-card-title, [dCardTitle]" }, { type: i1.CardContentDirective, selector: "d-card-content, [dCardContent]" }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
120
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalComponent, decorators: [{
121
121
  type: Component,
122
- args: [{ selector: 'rs-modal', template: "<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{ modalInstance: this }\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n", styles: [".modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1)}.modal{position:absolute;top:0;left:0;z-index:var(--devui-z-index-modal, 1050);max-width:100%;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}d-card{height:100%;background-color:var(--devui-base-bg, #ffffff);display:flex;flex-flow:column nowrap}d-card i{position:absolute;top:12px;right:12px;padding:4px;font-size:var(--devui-font-size-card-title, 14px)}d-card i:hover{cursor:pointer;color:var(--devui-danger, #f66f6a);background-color:var(--devui-info-bg, #f2f5fc)}d-card d-card-header{border-bottom:1px solid var(--devui-dividing-line, #f2f2f3)}d-card d-card-content{flex:auto;display:flex;flex-flow:column}\n"] }]
122
+ args: [{ selector: 'rs-modal', template: "<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"contentTemplateContext\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n", styles: [".modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1)}.modal{position:absolute;top:0;left:0;z-index:var(--devui-z-index-modal, 1050);max-width:100%;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}d-card{height:100%;background-color:var(--devui-base-bg, #ffffff);display:flex;flex-flow:column nowrap}d-card i{position:absolute;top:12px;right:12px;padding:4px;font-size:var(--devui-font-size-card-title, 14px)}d-card i:hover{cursor:pointer;color:var(--devui-danger, #f66f6a);background-color:var(--devui-info-bg, #f2f5fc)}d-card d-card-header{border-bottom:1px solid var(--devui-dividing-line, #f2f2f3)}d-card d-card-content{flex:auto;display:flex;flex-flow:column}\n"] }]
123
123
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { title: [{
124
124
  type: Input
125
125
  }], size: [{
@@ -129,6 +129,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
129
129
  args: ['modal', { static: true }]
130
130
  }], contentTemplate: [{
131
131
  type: Input
132
+ }], contentTemplateContext: [{
133
+ type: Input
132
134
  }], onMouseup: [{
133
135
  type: HostListener,
134
136
  args: ['document:mouseup', ['$event']]
@@ -140,7 +142,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
140
142
  class ModalService {
141
143
  constructor() {
142
144
  }
143
- open(viewContainerRef, title, contentTemplate, size = 'default') {
145
+ open(viewContainerRef, title, size = 'default', contentTemplate, contentTemplateContext) {
144
146
  const modalRef = viewContainerRef.createComponent(ModalComponent);
145
147
  modalRef.instance.hide = () => {
146
148
  modalRef.hostView.destroy();
@@ -148,6 +150,7 @@ class ModalService {
148
150
  modalRef.instance.title = title;
149
151
  modalRef.instance.contentTemplate = contentTemplate;
150
152
  modalRef.instance.size = size;
153
+ modalRef.instance.contentTemplateContext = contentTemplateContext;
151
154
  modalRef.instance.show();
152
155
  return modalRef.instance;
153
156
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-rs-ant.mjs","sources":["../../../projects/rs-ant/src/modal/modal.component.ts","../../../projects/rs-ant/src/modal/modal.component.html","../../../projects/rs-ant/src/modal/modal.service.ts","../../../projects/rs-ant/src/modal/modal.module.ts","../../../projects/rs-ant/src/public-api.ts","../../../projects/rs-ant/src/ngx-rs-ant.ts"],"sourcesContent":["import {Component, ElementRef, HostListener, Input, OnDestroy, OnInit, TemplateRef, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'rs-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() title!: string;\n @Input() size: 'default' | 'large' | 'full' = 'default';\n _width: number = 480;\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\n moveHandleEl!: HTMLElement;\n movable: boolean = false;\n topStart = 0;\n leftStart = 0;\n @Input()\n contentTemplate!: TemplateRef<any>;\n\n constructor(public elementRef: ElementRef) {\n }\n\n ngOnInit() {\n if (this.size === 'full') {\n this.modalElementRef.nativeElement.style.top = '0px';\n this.modalElementRef.nativeElement.style.right = '0px';\n this.modalElementRef.nativeElement.style.bottom = '0px';\n this.modalElementRef.nativeElement.style.left = '0px';\n this.modalElementRef.nativeElement.style.margin = '2px';\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\n } else {\n if (this.size === 'large') {\n this._width = 960;\n }\n this.modalElementRef.nativeElement.style.width = this._width + 'px';\n this.modalElementRef.nativeElement.style.top = '40px';\n this.modalElementRef.nativeElement.style.left =\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('d-card-header');\n this.moveHandleEl.style.cursor = 'move';\n }\n }\n\n show() {\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const modals = parentElement.querySelectorAll(nodeName);\n for (let i = 0; i < modals.length; i++) {\n if (i === modals.length - 1) {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n } else {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\n }\n }\n }\n\n hide() {\n // 在service中重写\n }\n\n ngOnDestroy(): void {\n // 若存在多层模态框,下一层遮罩设置为不透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const nextModal = parentElement.querySelector(nodeName + ':nth-last-child(2)');\n if (nextModal) {\n nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n }\n }\n\n resolveModalBackdropPosition() {\n return {\n \"width\": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',\n \"height\": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',\n \"top\": this.elementRef.nativeElement.parentElement.offsetTop + 'px',\n \"left\": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',\n };\n }\n\n onMousedown($event: MouseEvent) {\n if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {\n return;\n }\n this.movable = true;\n this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');\n this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');\n }\n\n private checkHandleTarget(target: any, element: any): boolean {\n if (!element) {\n return false;\n }\n if (target === element) {\n return true;\n }\n for (let child in element.children) {\n if (Object.prototype.hasOwnProperty.call(element.children, child)) {\n if (this.checkHandleTarget(target, element.children[child])) {\n return true;\n }\n }\n }\n return false;\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseup() {\n this.movable = false;\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMousemove($event: MouseEvent) {\n if (!this.movable) {\n return;\n }\n $event.stopPropagation();\n $event.preventDefault();\n const element = this.modalElementRef.nativeElement;\n let currentTop = $event.clientY - this.topStart;\n let currentLeft = $event.clientX - this.leftStart;\n currentTop = currentTop < 0 ? 0 : currentTop;\n const maxTop = element.parentElement.offsetHeight - element.offsetHeight;\n currentTop = currentTop > maxTop ? maxTop : currentTop;\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\n element.style.top = currentTop + 'px';\n element.style.left = currentLeft + 'px';\n }\n}\n","<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{ modalInstance: this }\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {ModalComponent} from './modal.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n constructor() {\n }\n\n open(viewContainerRef: ViewContainerRef, title: string, contentTemplate: TemplateRef<any>, size: 'default' | 'large' | 'full' = 'default') {\n const modalRef = viewContainerRef.createComponent(ModalComponent);\n modalRef.instance.hide = () => {\n modalRef.hostView.destroy();\n }\n modalRef.instance.title = title;\n modalRef.instance.contentTemplate = contentTemplate;\n modalRef.instance.size = size;\n modalRef.instance.show();\n return modalRef.instance;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ModalComponent} from './modal.component';\nimport {DevUIModule} from 'ng-devui';\n\n\n@NgModule({\n declarations: [\n ModalComponent\n ],\n imports: [\n CommonModule,\n DevUIModule\n ],\n exports: []\n})\nexport class ModalModule {\n}\n","/*\r\n * Public API Surface of rs-ant\r\n */\r\n\r\nexport * from './modal/modal.service';\r\nexport * from './modal/modal.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;MAOa,cAAc,CAAA;AAYzB,IAAA,WAAA,CAAmB,UAAsB,EAAA;AAAtB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAVhC,QAAA,IAAI,CAAA,IAAA,GAAiC,SAAS,CAAC;AACxD,QAAA,IAAM,CAAA,MAAA,GAAW,GAAG,CAAC;AAGrB,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAQ,CAAA,QAAA,GAAG,CAAC,CAAC;AACb,QAAA,IAAS,CAAA,SAAA,GAAG,CAAC,CAAC;KAKb;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC;YACrD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACvD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;YACxD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;YACtD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;YACxD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;AAC7D,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;AACzB,gBAAA,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;AACnB,aAAA;AACD,YAAA,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACpE,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC;AACtD,YAAA,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI;gBAC3C,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,WAAW,IAAI,CAAC,GAAG,IAAI,CAAC;AACxH,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACjF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;AACzC,SAAA;KACF;IAED,IAAI,GAAA;;QAEF,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC;QACxD,MAAM,MAAM,GAAG,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACxD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtC,YAAA,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3B,gBAAA,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,wBAAwB,CAAC;AAC7F,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,qBAAqB,CAAC;AAC1F,aAAA;AACF,SAAA;KACF;IAED,IAAI,GAAA;;KAEH;IAED,WAAW,GAAA;;QAET,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC;QACxD,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,QAAQ,GAAG,oBAAoB,CAAC,CAAC;AAC/E,QAAA,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,wBAAwB,CAAC;AAC7F,SAAA;KACF;IAED,4BAA4B,GAAA;QAC1B,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI;YACvE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI;YACzE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI;YACnE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI;SACtE,CAAC;KACH;AAED,IAAA,WAAW,CAAC,MAAkB,EAAA;AAC5B,QAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE;YACpF,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;KACnG;IAEO,iBAAiB,CAAC,MAAW,EAAE,OAAY,EAAA;QACjD,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;QACD,IAAI,MAAM,KAAK,OAAO,EAAE;AACtB,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACD,QAAA,KAAK,IAAI,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE;AAClC,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;AACjE,gBAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;AAC3D,oBAAA,OAAO,IAAI,CAAC;AACb,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;IAGD,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACtB;AAGD,IAAA,WAAW,CAAC,MAAkB,EAAA;AAC5B,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO;AACR,SAAA;QACD,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,MAAM,CAAC,cAAc,EAAE,CAAC;AACxB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;QACnD,IAAI,UAAU,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChD,IAAI,WAAW,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;AAClD,QAAA,UAAU,GAAG,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;QAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;AACzE,QAAA,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AACvD,QAAA,WAAW,GAAG,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;QAChD,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;AACxE,QAAA,WAAW,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;QAC5D,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU,GAAG,IAAI,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,WAAW,GAAG,IAAI,CAAC;KACzC;;4GA1HU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,qWCP3B,iiBAcA,EAAA,MAAA,EAAA,CAAA,o3BAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDPa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;+BACE,UAAU,EAAA,QAAA,EAAA,iiBAAA,EAAA,MAAA,EAAA,CAAA,o3BAAA,CAAA,EAAA,CAAA;iGAKX,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAE8B,eAAe,EAAA,CAAA;sBAAlD,SAAS;gBAAC,IAAA,EAAA,CAAA,OAAO,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAA;gBAMlC,eAAe,EAAA,CAAA;sBADd,KAAK;gBA2FN,SAAS,EAAA,CAAA;sBADR,YAAY;uBAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAM5C,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MEzGnC,YAAY,CAAA;AACvB,IAAA,WAAA,GAAA;KACC;IAED,IAAI,CAAC,gBAAkC,EAAE,KAAa,EAAE,eAAiC,EAAE,OAAqC,SAAS,EAAA;QACvI,MAAM,QAAQ,GAAG,gBAAgB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAClE,QAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAK;AAC5B,YAAA,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;AAC9B,SAAC,CAAA;AACD,QAAA,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;AAChC,QAAA,QAAQ,CAAC,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC;AACpD,QAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AAC9B,QAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,QAAQ,CAAC;KAC1B;;0GAdU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA,CAAA;4FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCWY,WAAW,CAAA;;yGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;0GAAX,WAAW,EAAA,YAAA,EAAA,CARpB,cAAc,CAAA,EAAA,OAAA,EAAA,CAGd,YAAY;QACZ,WAAW,CAAA,EAAA,CAAA,CAAA;AAIF,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,EANb,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,WAAW;SACZ,CAAA,EAAA,CAAA,CAAA;4FAGU,WAAW,EAAA,UAAA,EAAA,CAAA;kBAVvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,cAAc;AACf,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;AACZ,qBAAA;AACD,oBAAA,OAAO,EAAE,EAAE;iBACZ,CAAA;;;ACfD;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"ngx-rs-ant.mjs","sources":["../../../projects/rs-ant/src/modal/modal.component.ts","../../../projects/rs-ant/src/modal/modal.component.html","../../../projects/rs-ant/src/modal/modal.service.ts","../../../projects/rs-ant/src/modal/modal.module.ts","../../../projects/rs-ant/src/public-api.ts","../../../projects/rs-ant/src/ngx-rs-ant.ts"],"sourcesContent":["import {Component, ElementRef, HostListener, Input, OnDestroy, OnInit, TemplateRef, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'rs-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() title!: string;\n @Input() size: 'default' | 'large' | 'full' = 'default';\n _width: number = 480;\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\n moveHandleEl!: HTMLElement;\n movable: boolean = false;\n topStart = 0;\n leftStart = 0;\n @Input()\n contentTemplate!: TemplateRef<any>;\n @Input()\n contentTemplateContext: any;\n\n constructor(public elementRef: ElementRef) {\n }\n\n ngOnInit() {\n if (this.size === 'full') {\n this.modalElementRef.nativeElement.style.top = '0px';\n this.modalElementRef.nativeElement.style.right = '0px';\n this.modalElementRef.nativeElement.style.bottom = '0px';\n this.modalElementRef.nativeElement.style.left = '0px';\n this.modalElementRef.nativeElement.style.margin = '2px';\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\n } else {\n if (this.size === 'large') {\n this._width = 960;\n }\n this.modalElementRef.nativeElement.style.width = this._width + 'px';\n this.modalElementRef.nativeElement.style.top = '40px';\n this.modalElementRef.nativeElement.style.left =\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('d-card-header');\n this.moveHandleEl.style.cursor = 'move';\n }\n }\n\n show() {\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const modals = parentElement.querySelectorAll(nodeName);\n for (let i = 0; i < modals.length; i++) {\n if (i === modals.length - 1) {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n } else {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\n }\n }\n }\n\n hide() {\n // 在service中重写\n }\n\n ngOnDestroy(): void {\n // 若存在多层模态框,下一层遮罩设置为不透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const nextModal = parentElement.querySelector(nodeName + ':nth-last-child(2)');\n if (nextModal) {\n nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n }\n }\n\n resolveModalBackdropPosition() {\n return {\n \"width\": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',\n \"height\": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',\n \"top\": this.elementRef.nativeElement.parentElement.offsetTop + 'px',\n \"left\": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',\n };\n }\n\n onMousedown($event: MouseEvent) {\n if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {\n return;\n }\n this.movable = true;\n this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');\n this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');\n }\n\n private checkHandleTarget(target: any, element: any): boolean {\n if (!element) {\n return false;\n }\n if (target === element) {\n return true;\n }\n for (let child in element.children) {\n if (Object.prototype.hasOwnProperty.call(element.children, child)) {\n if (this.checkHandleTarget(target, element.children[child])) {\n return true;\n }\n }\n }\n return false;\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseup() {\n this.movable = false;\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMousemove($event: MouseEvent) {\n if (!this.movable) {\n return;\n }\n $event.stopPropagation();\n $event.preventDefault();\n const element = this.modalElementRef.nativeElement;\n let currentTop = $event.clientY - this.topStart;\n let currentLeft = $event.clientX - this.leftStart;\n currentTop = currentTop < 0 ? 0 : currentTop;\n const maxTop = element.parentElement.offsetHeight - element.offsetHeight;\n currentTop = currentTop > maxTop ? maxTop : currentTop;\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\n element.style.top = currentTop + 'px';\n element.style.left = currentLeft + 'px';\n }\n}\n","<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"contentTemplateContext\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {ModalComponent} from './modal.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n constructor() {\n }\n\n open(viewContainerRef: ViewContainerRef,\n title: string, size: 'default' | 'large' | 'full' = 'default',\n contentTemplate: TemplateRef<any>,\n contentTemplateContext: any) {\n const modalRef = viewContainerRef.createComponent(ModalComponent);\n modalRef.instance.hide = () => {\n modalRef.hostView.destroy();\n }\n modalRef.instance.title = title;\n modalRef.instance.contentTemplate = contentTemplate;\n modalRef.instance.size = size;\n modalRef.instance.contentTemplateContext = contentTemplateContext;\n modalRef.instance.show();\n return modalRef.instance;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ModalComponent} from './modal.component';\nimport {DevUIModule} from 'ng-devui';\n\n\n@NgModule({\n declarations: [\n ModalComponent\n ],\n imports: [\n CommonModule,\n DevUIModule\n ],\n exports: []\n})\nexport class ModalModule {\n}\n","/*\r\n * Public API Surface of rs-ant\r\n */\r\n\r\nexport * from './modal/modal.service';\r\nexport * from './modal/modal.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -116,10 +116,10 @@ class ModalComponent {
116
116
  }
117
117
  }
118
118
  ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
119
- ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ModalComponent, selector: "rs-modal", inputs: { title: "title", size: "size", contentTemplate: "contentTemplate" }, host: { listeners: { "document:mouseup": "onMouseup($event)", "document:mousemove": "onMousemove($event)" } }, viewQueries: [{ propertyName: "modalElementRef", first: true, predicate: ["modal"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{ modalInstance: this }\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n", styles: [".modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1)}.modal{position:absolute;top:0;left:0;z-index:var(--devui-z-index-modal, 1050);max-width:100%;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}d-card{height:100%;background-color:var(--devui-base-bg, #ffffff);display:flex;flex-flow:column nowrap}d-card i{position:absolute;top:12px;right:12px;padding:4px;font-size:var(--devui-font-size-card-title, 14px)}d-card i:hover{cursor:pointer;color:var(--devui-danger, #f66f6a);background-color:var(--devui-info-bg, #f2f5fc)}d-card d-card-header{border-bottom:1px solid var(--devui-dividing-line, #f2f2f3)}d-card d-card-content{flex:auto;display:flex;flex-flow:column}\n"], components: [{ type: i1.CardComponent, selector: "d-card", exportAs: ["dCard"] }, { type: i1.CardHeaderComponent, selector: "d-card-header" }], directives: [{ type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.CardTitleDirective, selector: "d-card-title, [dCardTitle]" }, { type: i1.CardContentDirective, selector: "d-card-content, [dCardContent]" }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
119
+ ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ModalComponent, selector: "rs-modal", inputs: { title: "title", size: "size", contentTemplate: "contentTemplate", contentTemplateContext: "contentTemplateContext" }, host: { listeners: { "document:mouseup": "onMouseup($event)", "document:mousemove": "onMousemove($event)" } }, viewQueries: [{ propertyName: "modalElementRef", first: true, predicate: ["modal"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"contentTemplateContext\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n", styles: [".modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1)}.modal{position:absolute;top:0;left:0;z-index:var(--devui-z-index-modal, 1050);max-width:100%;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}d-card{height:100%;background-color:var(--devui-base-bg, #ffffff);display:flex;flex-flow:column nowrap}d-card i{position:absolute;top:12px;right:12px;padding:4px;font-size:var(--devui-font-size-card-title, 14px)}d-card i:hover{cursor:pointer;color:var(--devui-danger, #f66f6a);background-color:var(--devui-info-bg, #f2f5fc)}d-card d-card-header{border-bottom:1px solid var(--devui-dividing-line, #f2f2f3)}d-card d-card-content{flex:auto;display:flex;flex-flow:column}\n"], components: [{ type: i1.CardComponent, selector: "d-card", exportAs: ["dCard"] }, { type: i1.CardHeaderComponent, selector: "d-card-header" }], directives: [{ type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.CardTitleDirective, selector: "d-card-title, [dCardTitle]" }, { type: i1.CardContentDirective, selector: "d-card-content, [dCardContent]" }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
120
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalComponent, decorators: [{
121
121
  type: Component,
122
- args: [{ selector: 'rs-modal', template: "<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{ modalInstance: this }\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n", styles: [".modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1)}.modal{position:absolute;top:0;left:0;z-index:var(--devui-z-index-modal, 1050);max-width:100%;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}d-card{height:100%;background-color:var(--devui-base-bg, #ffffff);display:flex;flex-flow:column nowrap}d-card i{position:absolute;top:12px;right:12px;padding:4px;font-size:var(--devui-font-size-card-title, 14px)}d-card i:hover{cursor:pointer;color:var(--devui-danger, #f66f6a);background-color:var(--devui-info-bg, #f2f5fc)}d-card d-card-header{border-bottom:1px solid var(--devui-dividing-line, #f2f2f3)}d-card d-card-content{flex:auto;display:flex;flex-flow:column}\n"] }]
122
+ args: [{ selector: 'rs-modal', template: "<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"contentTemplateContext\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n", styles: [".modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1)}.modal{position:absolute;top:0;left:0;z-index:var(--devui-z-index-modal, 1050);max-width:100%;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}d-card{height:100%;background-color:var(--devui-base-bg, #ffffff);display:flex;flex-flow:column nowrap}d-card i{position:absolute;top:12px;right:12px;padding:4px;font-size:var(--devui-font-size-card-title, 14px)}d-card i:hover{cursor:pointer;color:var(--devui-danger, #f66f6a);background-color:var(--devui-info-bg, #f2f5fc)}d-card d-card-header{border-bottom:1px solid var(--devui-dividing-line, #f2f2f3)}d-card d-card-content{flex:auto;display:flex;flex-flow:column}\n"] }]
123
123
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { title: [{
124
124
  type: Input
125
125
  }], size: [{
@@ -129,6 +129,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
129
129
  args: ['modal', { static: true }]
130
130
  }], contentTemplate: [{
131
131
  type: Input
132
+ }], contentTemplateContext: [{
133
+ type: Input
132
134
  }], onMouseup: [{
133
135
  type: HostListener,
134
136
  args: ['document:mouseup', ['$event']]
@@ -140,7 +142,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
140
142
  class ModalService {
141
143
  constructor() {
142
144
  }
143
- open(viewContainerRef, title, contentTemplate, size = 'default') {
145
+ open(viewContainerRef, title, size = 'default', contentTemplate, contentTemplateContext) {
144
146
  const modalRef = viewContainerRef.createComponent(ModalComponent);
145
147
  modalRef.instance.hide = () => {
146
148
  modalRef.hostView.destroy();
@@ -148,6 +150,7 @@ class ModalService {
148
150
  modalRef.instance.title = title;
149
151
  modalRef.instance.contentTemplate = contentTemplate;
150
152
  modalRef.instance.size = size;
153
+ modalRef.instance.contentTemplateContext = contentTemplateContext;
151
154
  modalRef.instance.show();
152
155
  return modalRef.instance;
153
156
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-rs-ant.mjs","sources":["../../../projects/rs-ant/src/modal/modal.component.ts","../../../projects/rs-ant/src/modal/modal.component.html","../../../projects/rs-ant/src/modal/modal.service.ts","../../../projects/rs-ant/src/modal/modal.module.ts","../../../projects/rs-ant/src/public-api.ts","../../../projects/rs-ant/src/ngx-rs-ant.ts"],"sourcesContent":["import {Component, ElementRef, HostListener, Input, OnDestroy, OnInit, TemplateRef, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'rs-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() title!: string;\n @Input() size: 'default' | 'large' | 'full' = 'default';\n _width: number = 480;\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\n moveHandleEl!: HTMLElement;\n movable: boolean = false;\n topStart = 0;\n leftStart = 0;\n @Input()\n contentTemplate!: TemplateRef<any>;\n\n constructor(public elementRef: ElementRef) {\n }\n\n ngOnInit() {\n if (this.size === 'full') {\n this.modalElementRef.nativeElement.style.top = '0px';\n this.modalElementRef.nativeElement.style.right = '0px';\n this.modalElementRef.nativeElement.style.bottom = '0px';\n this.modalElementRef.nativeElement.style.left = '0px';\n this.modalElementRef.nativeElement.style.margin = '2px';\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\n } else {\n if (this.size === 'large') {\n this._width = 960;\n }\n this.modalElementRef.nativeElement.style.width = this._width + 'px';\n this.modalElementRef.nativeElement.style.top = '40px';\n this.modalElementRef.nativeElement.style.left =\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('d-card-header');\n this.moveHandleEl.style.cursor = 'move';\n }\n }\n\n show() {\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const modals = parentElement.querySelectorAll(nodeName);\n for (let i = 0; i < modals.length; i++) {\n if (i === modals.length - 1) {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n } else {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\n }\n }\n }\n\n hide() {\n // 在service中重写\n }\n\n ngOnDestroy(): void {\n // 若存在多层模态框,下一层遮罩设置为不透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const nextModal = parentElement.querySelector(nodeName + ':nth-last-child(2)');\n if (nextModal) {\n nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n }\n }\n\n resolveModalBackdropPosition() {\n return {\n \"width\": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',\n \"height\": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',\n \"top\": this.elementRef.nativeElement.parentElement.offsetTop + 'px',\n \"left\": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',\n };\n }\n\n onMousedown($event: MouseEvent) {\n if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {\n return;\n }\n this.movable = true;\n this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');\n this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');\n }\n\n private checkHandleTarget(target: any, element: any): boolean {\n if (!element) {\n return false;\n }\n if (target === element) {\n return true;\n }\n for (let child in element.children) {\n if (Object.prototype.hasOwnProperty.call(element.children, child)) {\n if (this.checkHandleTarget(target, element.children[child])) {\n return true;\n }\n }\n }\n return false;\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseup() {\n this.movable = false;\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMousemove($event: MouseEvent) {\n if (!this.movable) {\n return;\n }\n $event.stopPropagation();\n $event.preventDefault();\n const element = this.modalElementRef.nativeElement;\n let currentTop = $event.clientY - this.topStart;\n let currentLeft = $event.clientX - this.leftStart;\n currentTop = currentTop < 0 ? 0 : currentTop;\n const maxTop = element.parentElement.offsetHeight - element.offsetHeight;\n currentTop = currentTop > maxTop ? maxTop : currentTop;\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\n element.style.top = currentTop + 'px';\n element.style.left = currentLeft + 'px';\n }\n}\n","<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{ modalInstance: this }\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {ModalComponent} from './modal.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n constructor() {\n }\n\n open(viewContainerRef: ViewContainerRef, title: string, contentTemplate: TemplateRef<any>, size: 'default' | 'large' | 'full' = 'default') {\n const modalRef = viewContainerRef.createComponent(ModalComponent);\n modalRef.instance.hide = () => {\n modalRef.hostView.destroy();\n }\n modalRef.instance.title = title;\n modalRef.instance.contentTemplate = contentTemplate;\n modalRef.instance.size = size;\n modalRef.instance.show();\n return modalRef.instance;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ModalComponent} from './modal.component';\nimport {DevUIModule} from 'ng-devui';\n\n\n@NgModule({\n declarations: [\n ModalComponent\n ],\n imports: [\n CommonModule,\n DevUIModule\n ],\n exports: []\n})\nexport class ModalModule {\n}\n","/*\r\n * Public API Surface of rs-ant\r\n */\r\n\r\nexport * from './modal/modal.service';\r\nexport * from './modal/modal.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-rs-ant.mjs","sources":["../../../projects/rs-ant/src/modal/modal.component.ts","../../../projects/rs-ant/src/modal/modal.component.html","../../../projects/rs-ant/src/modal/modal.service.ts","../../../projects/rs-ant/src/modal/modal.module.ts","../../../projects/rs-ant/src/public-api.ts","../../../projects/rs-ant/src/ngx-rs-ant.ts"],"sourcesContent":["import {Component, ElementRef, HostListener, Input, OnDestroy, OnInit, TemplateRef, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'rs-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() title!: string;\n @Input() size: 'default' | 'large' | 'full' = 'default';\n _width: number = 480;\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\n moveHandleEl!: HTMLElement;\n movable: boolean = false;\n topStart = 0;\n leftStart = 0;\n @Input()\n contentTemplate!: TemplateRef<any>;\n @Input()\n contentTemplateContext: any;\n\n constructor(public elementRef: ElementRef) {\n }\n\n ngOnInit() {\n if (this.size === 'full') {\n this.modalElementRef.nativeElement.style.top = '0px';\n this.modalElementRef.nativeElement.style.right = '0px';\n this.modalElementRef.nativeElement.style.bottom = '0px';\n this.modalElementRef.nativeElement.style.left = '0px';\n this.modalElementRef.nativeElement.style.margin = '2px';\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\n } else {\n if (this.size === 'large') {\n this._width = 960;\n }\n this.modalElementRef.nativeElement.style.width = this._width + 'px';\n this.modalElementRef.nativeElement.style.top = '40px';\n this.modalElementRef.nativeElement.style.left =\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('d-card-header');\n this.moveHandleEl.style.cursor = 'move';\n }\n }\n\n show() {\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const modals = parentElement.querySelectorAll(nodeName);\n for (let i = 0; i < modals.length; i++) {\n if (i === modals.length - 1) {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n } else {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\n }\n }\n }\n\n hide() {\n // 在service中重写\n }\n\n ngOnDestroy(): void {\n // 若存在多层模态框,下一层遮罩设置为不透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const nextModal = parentElement.querySelector(nodeName + ':nth-last-child(2)');\n if (nextModal) {\n nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n }\n }\n\n resolveModalBackdropPosition() {\n return {\n \"width\": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',\n \"height\": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',\n \"top\": this.elementRef.nativeElement.parentElement.offsetTop + 'px',\n \"left\": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',\n };\n }\n\n onMousedown($event: MouseEvent) {\n if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {\n return;\n }\n this.movable = true;\n this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');\n this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');\n }\n\n private checkHandleTarget(target: any, element: any): boolean {\n if (!element) {\n return false;\n }\n if (target === element) {\n return true;\n }\n for (let child in element.children) {\n if (Object.prototype.hasOwnProperty.call(element.children, child)) {\n if (this.checkHandleTarget(target, element.children[child])) {\n return true;\n }\n }\n }\n return false;\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseup() {\n this.movable = false;\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMousemove($event: MouseEvent) {\n if (!this.movable) {\n return;\n }\n $event.stopPropagation();\n $event.preventDefault();\n const element = this.modalElementRef.nativeElement;\n let currentTop = $event.clientY - this.topStart;\n let currentLeft = $event.clientX - this.leftStart;\n currentTop = currentTop < 0 ? 0 : currentTop;\n const maxTop = element.parentElement.offsetHeight - element.offsetHeight;\n currentTop = currentTop > maxTop ? maxTop : currentTop;\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\n element.style.top = currentTop + 'px';\n element.style.left = currentLeft + 'px';\n }\n}\n","<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <d-card>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n <d-card-header (mousedown)=\"onMousedown($event)\">\n <d-card-title>{{title}}</d-card-title>\n </d-card-header>\n <d-card-content>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"contentTemplateContext\"></ng-template>\n </d-card-content>\n </d-card>\n </div>\n</div>\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {ModalComponent} from './modal.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n constructor() {\n }\n\n open(viewContainerRef: ViewContainerRef,\n title: string, size: 'default' | 'large' | 'full' = 'default',\n contentTemplate: TemplateRef<any>,\n contentTemplateContext: any) {\n const modalRef = viewContainerRef.createComponent(ModalComponent);\n modalRef.instance.hide = () => {\n modalRef.hostView.destroy();\n }\n modalRef.instance.title = title;\n modalRef.instance.contentTemplate = contentTemplate;\n modalRef.instance.size = size;\n modalRef.instance.contentTemplateContext = contentTemplateContext;\n modalRef.instance.show();\n return modalRef.instance;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ModalComponent} from './modal.component';\nimport {DevUIModule} from 'ng-devui';\n\n\n@NgModule({\n declarations: [\n ModalComponent\n ],\n imports: [\n CommonModule,\n DevUIModule\n ],\n exports: []\n})\nexport class ModalModule {\n}\n","/*\r\n * Public API Surface of rs-ant\r\n */\r\n\r\nexport * from './modal/modal.service';\r\nexport * from './modal/modal.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare class ModalComponent implements OnInit, OnDestroy {
11
11
  topStart: number;
12
12
  leftStart: number;
13
13
  contentTemplate: TemplateRef<any>;
14
+ contentTemplateContext: any;
14
15
  constructor(elementRef: ElementRef);
15
16
  ngOnInit(): void;
16
17
  show(): void;
@@ -27,5 +28,5 @@ export declare class ModalComponent implements OnInit, OnDestroy {
27
28
  onMouseup(): void;
28
29
  onMousemove($event: MouseEvent): void;
29
30
  static ɵfac: i0.ɵɵFactoryDeclaration<ModalComponent, never>;
30
- static ɵcmp: i0.ɵɵComponentDeclaration<ModalComponent, "rs-modal", never, { "title": "title"; "size": "size"; "contentTemplate": "contentTemplate"; }, {}, never, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModalComponent, "rs-modal", never, { "title": "title"; "size": "size"; "contentTemplate": "contentTemplate"; "contentTemplateContext": "contentTemplateContext"; }, {}, never, never>;
31
32
  }
@@ -3,7 +3,7 @@ import { ModalComponent } from './modal.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class ModalService {
5
5
  constructor();
6
- open(viewContainerRef: ViewContainerRef, title: string, contentTemplate: TemplateRef<any>, size?: 'default' | 'large' | 'full'): ModalComponent;
6
+ open(viewContainerRef: ViewContainerRef, title: string, size: "default" | "full" | "large" | undefined, contentTemplate: TemplateRef<any>, contentTemplateContext: any): ModalComponent;
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<ModalService, never>;
8
8
  static ɵprov: i0.ɵɵInjectableDeclaration<ModalService>;
9
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-rs-ant",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "license": "MIT",
5
5
  "description": "RsAnt components based on Angular and DevUI",
6
6
  "exports": {