@datarailsshared/datarailsshared 1.6.210 → 1.6.214
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/datarailsshared-datarailsshared-1.6.214.tgz +0 -0
- package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +3 -3
- package/fesm2022/datarailsshared-datarailsshared.mjs +2 -2
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
- package/package.json +1 -1
- package/datarailsshared-datarailsshared-1.6.210.tgz +0 -0
|
Binary file
|
|
@@ -206,7 +206,7 @@ export class DrChatFormComponent {
|
|
|
206
206
|
i0.ɵɵlistener("drop", function DrChatFormComponent_drop_HostBindingHandler($event) { return ctx.onDrop($event); })("dragover", function DrChatFormComponent_dragover_HostBindingHandler($event) { return ctx.onDragOver($event); })("dragleave", function DrChatFormComponent_dragleave_HostBindingHandler($event) { return ctx.onDragLeave($event); });
|
|
207
207
|
} if (rf & 2) {
|
|
208
208
|
i0.ɵɵclassProp("file-over", ctx.fileOver);
|
|
209
|
-
} }, inputs: { message: "message", messagePlaceholder: "messagePlaceholder", dropFiles: "dropFiles", dropFilePlaceholder: "dropFilePlaceholder", waitForReply: "waitForReply", showDisabledButtonInsteadOfDotFlashing: "showDisabledButtonInsteadOfDotFlashing" }, outputs: { send: "send", abort: "abort", inputChange: "inputChange" }, decls: 10, vars: 14, consts: [["class", "dropped-files", 4, "ngIf"], [1, "message-row"], [1, "message-row__input", 3, "ngClass"], ["type", "text",
|
|
209
|
+
} }, inputs: { message: "message", messagePlaceholder: "messagePlaceholder", dropFiles: "dropFiles", dropFilePlaceholder: "dropFilePlaceholder", waitForReply: "waitForReply", showDisabledButtonInsteadOfDotFlashing: "showDisabledButtonInsteadOfDotFlashing" }, outputs: { send: "send", abort: "abort", inputChange: "inputChange" }, decls: 10, vars: 14, consts: [["class", "dropped-files", 4, "ngIf"], [1, "message-row"], [1, "message-row__input", 3, "ngClass"], ["type", "text", 3, "ngModel", "rows", "placeholder", "focus", "blur", "mouseenter", "mouseleave", "ngModelChange", "keydown.enter"], ["textAreaElement", ""], ["class", "dr-icon-notify send-button", 3, "style", "click", 4, "ngIf"], ["class", "dr-icon-notify send-button-disabled", 3, "click", 4, "ngIf"], ["class", "wait-reply-dot-flashing", 4, "ngIf"], ["theme", "ghost", "class", "abort-button", 3, "click", 4, "ngIf"], [1, "dropped-files"], ["class", "dropped-files__item", 4, "ngFor", "ngForOf"], [1, "dropped-files__item"], [1, "dropped-files__item__preview"], ["class", "dr-icon-file", 4, "ngIf"], [1, "dropped-files__item__name"], [1, "dropped-files__item__remove", "dr-icon-exit", 3, "click"], [1, "dr-icon-file"], [1, "dr-icon-notify", "send-button", 3, "click"], [1, "dr-icon-notify", "send-button-disabled", 3, "click"], [1, "wait-reply-dot-flashing"], ["theme", "ghost", 1, "abort-button", 3, "click"]], template: function DrChatFormComponent_Template(rf, ctx) { if (rf & 1) {
|
|
210
210
|
i0.ɵɵtemplate(0, DrChatFormComponent_div_0_Template, 2, 1, "div", 0);
|
|
211
211
|
i0.ɵɵelementStart(1, "div", 1)(2, "div", 2)(3, "textarea", 3, 4);
|
|
212
212
|
i0.ɵɵlistener("focus", function DrChatFormComponent_Template_textarea_focus_3_listener() { return ctx.inputFocus = true; })("blur", function DrChatFormComponent_Template_textarea_blur_3_listener() { return ctx.inputFocus = false; })("mouseenter", function DrChatFormComponent_Template_textarea_mouseenter_3_listener() { return ctx.inputHover = true; })("mouseleave", function DrChatFormComponent_Template_textarea_mouseleave_3_listener() { return ctx.inputHover = false; })("ngModelChange", function DrChatFormComponent_Template_textarea_ngModelChange_3_listener($event) { return ctx.message = $event; })("ngModelChange", function DrChatFormComponent_Template_textarea_ngModelChange_3_listener($event) { return ctx.onModelChange($event); })("keydown.enter", function DrChatFormComponent_Template_textarea_keydown_enter_3_listener($event) { return ctx.sendMessage($event); });
|
|
@@ -238,7 +238,7 @@ export class DrChatFormComponent {
|
|
|
238
238
|
}
|
|
239
239
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrChatFormComponent, [{
|
|
240
240
|
type: Component,
|
|
241
|
-
args: [{ selector: 'dr-chat-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dropped-files\" *ngIf=\"droppedFiles?.length\">\n <div class=\"dropped-files__item\" *ngFor=\"let file of droppedFiles\">\n <div class=\"dropped-files__item__preview\" [style.background-image]=\"file.urlStyle || 'none'\">\n <i class=\"dr-icon-file\" *ngIf=\"!file.urlStyle\"></i>\n </div>\n <div class=\"dropped-files__item__name\">{{ file.name }}</div>\n <i class=\"dropped-files__item__remove dr-icon-exit\" (click)=\"removeFile(file)\"></i>\n </div>\n</div>\n<div class=\"message-row\">\n <div\n class=\"message-row__input\"\n [ngClass]=\"{ 'message-row__input--focused': inputFocus, 'message-row__input--filled': !!message?.length }\">\n <textarea\n #textAreaElement\n (focus)=\"inputFocus = true\"\n (blur)=\"inputFocus = false\"\n (mouseenter)=\"inputHover = true\"\n (mouseleave)=\"inputHover = false\"\n [(ngModel)]=\"message\"\n [rows]=\"1\"\n [style]=\"getTextAreaHeight(textAreaElement)\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"text\"\n placeholder=\"{{ fileOver ? dropFilePlaceholder : messagePlaceholder }}\"\n
|
|
241
|
+
args: [{ selector: 'dr-chat-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dropped-files\" *ngIf=\"droppedFiles?.length\">\n <div class=\"dropped-files__item\" *ngFor=\"let file of droppedFiles\">\n <div class=\"dropped-files__item__preview\" [style.background-image]=\"file.urlStyle || 'none'\">\n <i class=\"dr-icon-file\" *ngIf=\"!file.urlStyle\"></i>\n </div>\n <div class=\"dropped-files__item__name\">{{ file.name }}</div>\n <i class=\"dropped-files__item__remove dr-icon-exit\" (click)=\"removeFile(file)\"></i>\n </div>\n</div>\n<div class=\"message-row\">\n <div\n class=\"message-row__input\"\n [ngClass]=\"{ 'message-row__input--focused': inputFocus, 'message-row__input--filled': !!message?.length }\">\n <textarea\n #textAreaElement\n (focus)=\"inputFocus = true\"\n (blur)=\"inputFocus = false\"\n (mouseenter)=\"inputHover = true\"\n (mouseleave)=\"inputHover = false\"\n [(ngModel)]=\"message\"\n [rows]=\"1\"\n [style]=\"getTextAreaHeight(textAreaElement)\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"text\"\n placeholder=\"{{ fileOver ? dropFilePlaceholder : messagePlaceholder }}\"\n (keydown.enter)=\"sendMessage($event)\">\n </textarea>\n <i\n *ngIf=\"!waitForReply\"\n [style]=\"getSendButtonPosition(textAreaElement)\"\n (click)=\"sendMessage($event)\"\n class=\"dr-icon-notify send-button\"></i>\n <i\n *ngIf=\"waitForReply && showDisabledButtonInsteadOfDotFlashing\"\n (click)=\"sendMessage($event)\"\n class=\"dr-icon-notify send-button-disabled\"></i>\n <dr-dot-flashing\n *ngIf=\"waitForReply && !showDisabledButtonInsteadOfDotFlashing\"\n class=\"wait-reply-dot-flashing\"></dr-dot-flashing>\n <dr-button *ngIf=\"waitForReply\" (click)=\"abortMessage()\" theme=\"ghost\" class=\"abort-button\">Stop generating</dr-button>\n </div>\n</div>\n", styles: [":host{--send-button-offset: 42px;display:flex;flex-direction:column;align-items:center;padding:0 16px;margin-top:12px}:host .message-row{display:flex;justify-content:center;width:100%;padding:0 0 21px;max-width:956px}:host .message-row__input{position:relative;display:flex;align-items:center;flex-grow:1;flex-direction:row;height:auto;overflow:visible;min-width:265px;border-radius:24px;background:#dfe0e3 border-box;border:1.5px solid transparent;box-shadow:0 2px 16px -10px #603cff29}:host .message-row__input .send-button,:host .message-row__input .send-button-disabled{position:absolute;right:4px;top:2.5px;cursor:pointer;font-size:28px;width:68px;border-radius:100px;display:flex;align-items:center;justify-content:center;height:40px;background:#f0f1f4;color:#aeabac}:host .message-row__input--focused{background:linear-gradient(-90deg,#6969ff,#4eb7df) border-box}:host .message-row__input--filled{background:linear-gradient(-90deg,#6969ff,#4eb7df) border-box}:host .message-row__input--filled .send-button{color:#fff;background:linear-gradient(-90deg,#6969ff,#4eb7df) border-box}:host .message-row__input textarea{font-size:14px;color:#333;line-height:19px;flex-grow:1;resize:none;padding:14px 76px 12px 23px;margin:auto;border:none;border-radius:22.5px}:host .message-row__input textarea:focus{border:none}:host .message-row__input textarea::placeholder{color:#9ea1aa}:host .message-row__input .wait-reply-dot-flashing{position:absolute;right:20px}:host .message-row__input .abort-button{position:absolute;right:0;top:-44px}:host .message-row__input .abort-button::ng-deep button{background:#f2f2ff!important;border-radius:4px}:host input{flex:1}:host input.with-button{border-bottom-right-radius:0;border-top-right-radius:0}:host .dropped-files{display:flex;flex-direction:row;margin-bottom:.5rem;flex-wrap:wrap}:host .dropped-files__item{display:flex;flex-direction:column;justify-content:center;margin:0 10px 10px 0;position:relative}:host .dropped-files__item__preview{background-size:cover;background-position:center;width:64px;height:64px;border-radius:8px;border:1px solid #ccc}:host .dropped-files__item__preview i{font-size:62px}:host .dropped-files__item__name{white-space:nowrap;font-size:12px;color:#8f929e;margin-top:4px;max-width:64px;overflow:hidden;text-overflow:ellipsis}:host .dropped-files__item__remove{position:absolute;right:-4px;top:-4px;cursor:pointer;background:#fff;border-radius:12px;color:#8f929e;border:1px solid #8f929e;font-size:14px}\n"] }]
|
|
242
242
|
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.DomSanitizer }]; }, { message: [{
|
|
243
243
|
type: Input
|
|
244
244
|
}], messagePlaceholder: [{
|
|
@@ -270,4 +270,4 @@ export class DrChatFormComponent {
|
|
|
270
270
|
type: HostListener,
|
|
271
271
|
args: ['dragleave', ['$event']]
|
|
272
272
|
}] }); })();
|
|
273
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItY2hhdC1mb3JtL2NoYXQtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtZm9ybS9jaGF0LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7SUNScEMsd0JBQW1EOzs7O0lBRjNELCtCQUFtRSxjQUFBO0lBRTNELDZFQUFtRDtJQUN2RCxpQkFBTTtJQUNOLCtCQUF1QztJQUFBLFlBQWU7SUFBQSxpQkFBTTtJQUM1RCw2QkFBK0U7SUFBM0IsOE5BQVMsZUFBQSwwQkFBZ0IsQ0FBQSxJQUFDO0lBQUMsaUJBQUksRUFBQTs7O0lBSnpDLGVBQWtEO0lBQWxELDhEQUFrRDtJQUMvRCxlQUFvQjtJQUFwQix3Q0FBb0I7SUFFVixlQUFlO0lBQWYsa0NBQWU7OztJQUw5RCw4QkFBd0Q7SUFDcEQsMkVBTU07SUFDVixpQkFBTTs7O0lBUGdELGVBQWU7SUFBZiw2Q0FBZTs7OztJQTJCN0QsNkJBS3VDO0lBRm5DLGlLQUFTLGVBQUEsMkJBQW1CLENBQUEsSUFBQztJQUVNLGlCQUFJOzs7O0lBSHZDLGdEQUFnRDs7OztJQUlwRCw2QkFHZ0Q7SUFENUMsaUtBQVMsZUFB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RDtZQUk1RCxlQUE2RDtZQUE3RCxzRkFBNkQ7WUFHN0QsZUFBa0I7WUFBbEIsdUNBQWtCOzs7dUZEdkJsQixtQkFBbUI7Y0FOL0IsU0FBUzsyQkFDSSxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU07K0ZBY3RDLE9BQU87a0JBQWYsS0FBSztZQU9HLGtCQUFrQjtrQkFBMUIsS0FBSztZQU9HLFNBQVM7a0JBQWpCLEtBQUs7WUFPRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFPRyxZQUFZO2tCQUFwQixLQUFLO1lBT0csc0NBQXNDO2tCQUE5QyxLQUFLO1lBTUksSUFBSTtrQkFBYixNQUFNO1lBQ0csS0FBSztrQkFBZCxNQUFNO1lBUUcsV0FBVztrQkFBcEIsTUFBTTtZQUV5QixRQUFRO2tCQUF2QyxXQUFXO21CQUFDLGlCQUFpQjtZQVE5QixNQUFNO2tCQURMLFlBQVk7bUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO1lBbUNoQyxVQUFVO2tCQURULFlBQVk7bUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO1lBVXBDLFdBQVc7a0JBRFYsWUFBWTttQkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IElNQUdFX1RZUEVTIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NoYXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWNoYXQtZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICdjaGF0LWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NoYXQtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEckNoYXRGb3JtQ29tcG9uZW50IHtcbiAgICBfdGV4dGFyZWFJbml0aWFsSGVpZ2h0ID0gdHJ1ZTtcbiAgICBpbnB1dEZvY3VzID0gZmFsc2U7XG4gICAgaW5wdXRIb3ZlciA9IGZhbHNlO1xuXG4gICAgZHJvcHBlZEZpbGVzOiBhbnlbXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogUHJlZGVmaW5lZCBtZXNzYWdlIHRleHRcbiAgICAgKlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICovXG4gICAgQElucHV0KCkgbWVzc2FnZSA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogTWVzc2FnZSBwbGFjZWhvbGRlciB0ZXh0XG4gICAgICpcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1lc3NhZ2VQbGFjZWhvbGRlciA9ICdUeXBlIGEgbWVzc2FnZSc7XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHNlbmQgYnV0dG9uXG4gICAgICpcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBASW5wdXQoKSBkcm9wRmlsZXMgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEZpbGUgZHJvcCBwbGFjZWhvbGRlciB0ZXh0XG4gICAgICpcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGRyb3BGaWxlUGxhY2Vob2xkZXIgPSAnRHJvcCBmaWxlIHRvIHNlbmQnO1xuXG4gICAgLyoqXG4gICAgICogUGFyYW1ldGVyIHRvIGNoZWNrIGlzIHNlbmQgbWVzc2FnZSBmdW5jdGlvbiBhdmFpbGFibGVcbiAgICAgKlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHdhaXRGb3JSZXBseSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogUGFyYW1ldGVyIHRvIGNoZWNrIGlzIHNlbmQgbWVzc2FnZSBmdW5jdGlvbiBhdmFpbGFibGVcbiAgICAgKlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNob3dEaXNhYmxlZEJ1dHRvbkluc3RlYWRPZkRvdEZsYXNoaW5nID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8eyBtZXNzYWdlOiBzdHJpbmcsIGZpbGVzOiBGaWxlW10gfT59XG4gICAgICovXG4gICAgQE91dHB1dCgpIHNlbmQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbWVzc2FnZTogc3RyaW5nOyBmaWxlczogRmlsZVtdIH0+KCk7XG4gICAgQE91dHB1dCgpIGFib3J0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0cyB3aGVuIG1lc3NhZ2UgaW5wdXQgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZFxuICAgICAqXG4gICAgICogQHR5cGUge0V2ZW50RW1pdHRlcjxzdHJpbmc+fVxuICAgICAqL1xuXG4gICAgQE91dHB1dCgpIGlucHV0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZpbGUtb3ZlcicpIGZpbGVPdmVyID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByb3RlY3RlZCBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICApIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcbiAgICBvbkRyb3AoZXZlbnQ6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5kcm9wRmlsZXMpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgdGhpcy5maWxlT3ZlciA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGFUcmFuc2Zlcj8uZmlsZXMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGZpbGU7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKElNQUdFX1RZUEVTLmluY2x1ZGVzKGZpbGUudHlwZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMuc3JjID0gZS50YXJnZXQucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcy51cmxTdHlsZSA9IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZShgdXJsKCR7cmVzLnNyY30pYCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZnIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRyb3BwZWRGaWxlcy5wdXNoKHJlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlRmlsZShmaWxlKSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5kcm9wcGVkRmlsZXMuaW5kZXhPZihmaWxlKTtcbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcHBlZEZpbGVzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXG4gICAgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAodGhpcy5kcm9wRmlsZXMpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsZU92ZXIgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSlcbiAgICBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAodGhpcy5kcm9wRmlsZXMpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsZU92ZXIgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbmRNZXNzYWdlKCRldmVudCkge1xuICAgICAgICBpZiAoISRldmVudCB8fCAhJGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAkZXZlbnQgJiYgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAodGhpcy53YWl0Rm9yUmVwbHkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmRyb3BwZWRGaWxlcy5sZW5ndGggfHwgU3RyaW5nKHRoaXMubWVzc2FnZSkudHJpbSgpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3RleHRhcmVhSW5pdGlhbEhlaWdodCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5zZW5kLmVtaXQoeyBtZXNzYWdlOiB0aGlzLm1lc3NhZ2UsIGZpbGVzOiB0aGlzLmRyb3BwZWRGaWxlcyB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSAnJztcbiAgICAgICAgICAgICAgICB0aGlzLmRyb3BwZWRGaWxlcyA9IFtdO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWJvcnRNZXNzYWdlKCkge1xuICAgICAgICB0aGlzLmFib3J0LmVtaXQoKTtcbiAgICB9XG5cbiAgICBvbk1vZGVsQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGV4dGFyZWFJbml0aWFsSGVpZ2h0ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaW5wdXRDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0VGV4dEFyZWFIZWlnaHQodGV4dEFyZWFFbGVtZW50OiBIVE1MVGV4dEFyZWFFbGVtZW50KSB7XG4gICAgICAgIGlmICh0aGlzLl90ZXh0YXJlYUluaXRpYWxIZWlnaHQpIHtcbiAgICAgICAgICAgIHRleHRBcmVhRWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnNDVweCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0ZXh0QXJlYUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJ2F1dG8nO1xuICAgICAgICAgICAgdGV4dEFyZWFFbGVtZW50LnN0eWxlLmhlaWdodCA9IHRleHRBcmVhRWxlbWVudC5zY3JvbGxIZWlnaHQgKyAncHgnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGAke3RleHRBcmVhRWxlbWVudC5zdHlsZS5oZWlnaHR9YDtcbiAgICB9XG5cbiAgICBnZXRTZW5kQnV0dG9uUG9zaXRpb24odGV4dEFyZWFFbGVtZW50OiBIVE1MVGV4dEFyZWFFbGVtZW50KSB7XG4gICAgICAgIHJldHVybiBgdG9wOiBjYWxjKCR7dGhpcy5nZXRUZXh0QXJlYUhlaWdodCh0ZXh0QXJlYUVsZW1lbnQpfSAtIHZhcigtLXNlbmQtYnV0dG9uLW9mZnNldCkpO2A7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRyb3BwZWQtZmlsZXNcIiAqbmdJZj1cImRyb3BwZWRGaWxlcz8ubGVuZ3RoXCI+XG4gICAgPGRpdiBjbGFzcz1cImRyb3BwZWQtZmlsZXNfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgZmlsZSBvZiBkcm9wcGVkRmlsZXNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRyb3BwZWQtZmlsZXNfX2l0ZW1fX3ByZXZpZXdcIiBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCJmaWxlLnVybFN0eWxlIHx8ICdub25lJ1wiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJkci1pY29uLWZpbGVcIiAqbmdJZj1cIiFmaWxlLnVybFN0eWxlXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRyb3BwZWQtZmlsZXNfX2l0ZW1fX25hbWVcIj57eyBmaWxlLm5hbWUgfX08L2Rpdj5cbiAgICAgICAgPGkgY2xhc3M9XCJkcm9wcGVkLWZpbGVzX19pdGVtX19yZW1vdmUgZHItaWNvbi1leGl0XCIgKGNsaWNrKT1cInJlbW92ZUZpbGUoZmlsZSlcIj48L2k+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtZXNzYWdlLXJvd1wiPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJtZXNzYWdlLXJvd19faW5wdXRcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdtZXNzYWdlLXJvd19faW5wdXQtLWZvY3VzZWQnOiBpbnB1dEZvY3VzLCAnbWVzc2FnZS1yb3dfX2lucHV0LS1maWxsZWQnOiAhIW1lc3NhZ2U/Lmxlbmd0aCB9XCI+XG4gICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgI3RleHRBcmVhRWxlbWVudFxuICAgICAgICAgICAgKGZvY3VzKT1cImlucHV0Rm9jdXMgPSB0cnVlXCJcbiAgICAgICAgICAgIChibHVyKT1cImlucHV0Rm9jdXMgPSBmYWxzZVwiXG4gICAgICAgICAgICAobW91c2VlbnRlcik9XCJpbnB1dEhvdmVyID0gdHJ1ZVwiXG4gICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJpbnB1dEhvdmVyID0gZmFsc2VcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtZXNzYWdlXCJcbiAgICAgICAgICAgIFtyb3dzXT1cIjFcIlxuICAgICAgICAgICAgW3N0eWxlXT1cImdldFRleHRBcmVhSGVpZ2h0KHRleHRBcmVhRWxlbWVudClcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgZmlsZU92ZXIgPyBkcm9wRmlsZVBsYWNlaG9sZGVyIDogbWVzc2FnZVBsYWNlaG9sZGVyIH19XCJcbiAgICAgICAgICAgIGRhdGEtYW5hbHl0aWNzPVwiYWktY2hhdC1hY3Rpb25zLXNlbmQtbWVzc2FnZVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJzZW5kTWVzc2FnZSgkZXZlbnQpXCI+XG4gICAgICAgIDwvdGV4dGFyZWE+XG4gICAgICAgIDxpXG4gICAgICAgICAgICAqbmdJZj1cIiF3YWl0Rm9yUmVwbHlcIlxuICAgICAgICAgICAgW3N0eWxlXT1cImdldFNlbmRCdXR0b25Qb3NpdGlvbih0ZXh0QXJlYUVsZW1lbnQpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZW5kTWVzc2FnZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIGRhdGEtYW5hbHl0aWNzPVwiYWktY2hhdC1hY3Rpb25zLXNlbmQtbWVzc2FnZVwiXG4gICAgICAgICAgICBjbGFzcz1cImRyLWljb24tbm90aWZ5IHNlbmQtYnV0dG9uXCI+PC9pPlxuICAgICAgICA8aVxuICAgICAgICAgICAgKm5nSWY9XCJ3YWl0Rm9yUmVwbHkgJiYgc2hvd0Rpc2FibGVkQnV0dG9uSW5zdGVhZE9mRG90Rmxhc2hpbmdcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbmRNZXNzYWdlKCRldmVudClcIlxuICAgICAgICAgICAgY2xhc3M9XCJkci1pY29uLW5vdGlmeSBzZW5kLWJ1dHRvbi1kaXNhYmxlZFwiPjwvaT5cbiAgICAgICAgPGRyLWRvdC1mbGFzaGluZ1xuICAgICAgICAgICAgKm5nSWY9XCJ3YWl0Rm9yUmVwbHkgJiYgIXNob3dEaXNhYmxlZEJ1dHRvbkluc3RlYWRPZkRvdEZsYXNoaW5nXCJcbiAgICAgICAgICAgIGNsYXNzPVwid2FpdC1yZXBseS1kb3QtZmxhc2hpbmdcIj48L2RyLWRvdC1mbGFzaGluZz5cbiAgICAgICAgPGRyLWJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJ3YWl0Rm9yUmVwbHlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImFib3J0TWVzc2FnZSgpXCJcbiAgICAgICAgICAgIGRhdGEtYW5hbHl0aWNzPVwiYWktY2hhdC1hY3Rpb25zLWFib3J0LW1lc3NhZ2VcIlxuICAgICAgICAgICAgdGhlbWU9XCJnaG9zdFwiXG4gICAgICAgICAgICBjbGFzcz1cImFib3J0LWJ1dHRvblwiXG4gICAgICAgICAgICA+U3RvcCBnZW5lcmF0aW5nPC9kci1idXR0b25cbiAgICAgICAgPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItY2hhdC1mb3JtL2NoYXQtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtZm9ybS9jaGF0LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7SUNScEMsd0JBQW1EOzs7O0lBRjNELCtCQUFtRSxjQUFBO0lBRTNELDZFQUFtRDtJQUN2RCxpQkFBTTtJQUNOLCtCQUF1QztJQUFBLFlBQWU7SUFBQSxpQkFBTTtJQUM1RCw2QkFBK0U7SUFBM0IsOE5BQVMsZUFBQSwwQkFBZ0IsQ0FBQSxJQUFDO0lBQUMsaUJBQUksRUFBQTs7O0lBSnpDLGVBQWtEO0lBQWxELDhEQUFrRDtJQUMvRCxlQUFvQjtJQUFwQix3Q0FBb0I7SUFFVixlQUFlO0lBQWYsa0NBQWU7OztJQUw5RCw4QkFBd0Q7SUFDcEQsMkVBTU07SUFDVixpQkFBTTs7O0lBUGdELGVBQWU7SUFBZiw2Q0FBZTs7OztJQTBCN0QsNkJBSXVDO0lBRG5DLGlLQUFTLGVBQUEsMkJBQW1CLENBQUEsSUFBQztJQUNNLGlCQUFJOzs7O0lBRnZDLGdEQUFnRDs7OztJQUdwRCw2QkFHZ0Q7SUFENUMsaUtBQVMsZUFB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RkFBNEQ7WUFJNUQsZUFBNkQ7WUFBN0Qsc0ZBQTZEO1lBRXRELGVBQWtCO1lBQWxCLHVDQUFrQjs7O3VGRHBCekIsbUJBQW1CO2NBTi9CLFNBQVM7MkJBQ0ksY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNOytGQWN0QyxPQUFPO2tCQUFmLEtBQUs7WUFPRyxrQkFBa0I7a0JBQTFCLEtBQUs7WUFPRyxTQUFTO2tCQUFqQixLQUFLO1lBT0csbUJBQW1CO2tCQUEzQixLQUFLO1lBT0csWUFBWTtrQkFBcEIsS0FBSztZQU9HLHNDQUFzQztrQkFBOUMsS0FBSztZQU1JLElBQUk7a0JBQWIsTUFBTTtZQUNHLEtBQUs7a0JBQWQsTUFBTTtZQVFHLFdBQVc7a0JBQXBCLE1BQU07WUFFeUIsUUFBUTtrQkFBdkMsV0FBVzttQkFBQyxpQkFBaUI7WUFROUIsTUFBTTtrQkFETCxZQUFZO21CQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQztZQW1DaEMsVUFBVTtrQkFEVCxZQUFZO21CQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQVVwQyxXQUFXO2tCQURWLFlBQVk7bUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBJTUFHRV9UWVBFUyB9IGZyb20gJy4uLy4uL21vZGVscy9jaGF0JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1jaGF0LWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnY2hhdC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGF0LWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRHJDaGF0Rm9ybUNvbXBvbmVudCB7XG4gICAgX3RleHRhcmVhSW5pdGlhbEhlaWdodCA9IHRydWU7XG4gICAgaW5wdXRGb2N1cyA9IGZhbHNlO1xuICAgIGlucHV0SG92ZXIgPSBmYWxzZTtcblxuICAgIGRyb3BwZWRGaWxlczogYW55W10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIFByZWRlZmluZWQgbWVzc2FnZSB0ZXh0XG4gICAgICpcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1lc3NhZ2UgPSAnJztcblxuICAgIC8qKlxuICAgICAqIE1lc3NhZ2UgcGxhY2Vob2xkZXIgdGV4dFxuICAgICAqXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBASW5wdXQoKSBtZXNzYWdlUGxhY2Vob2xkZXIgPSAnVHlwZSBhIG1lc3NhZ2UnO1xuXG4gICAgLyoqXG4gICAgICogU2hvdyBzZW5kIGJ1dHRvblxuICAgICAqXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgQElucHV0KCkgZHJvcEZpbGVzID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBGaWxlIGRyb3AgcGxhY2Vob2xkZXIgdGV4dFxuICAgICAqXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBASW5wdXQoKSBkcm9wRmlsZVBsYWNlaG9sZGVyID0gJ0Ryb3AgZmlsZSB0byBzZW5kJztcblxuICAgIC8qKlxuICAgICAqIFBhcmFtZXRlciB0byBjaGVjayBpcyBzZW5kIG1lc3NhZ2UgZnVuY3Rpb24gYXZhaWxhYmxlXG4gICAgICpcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBASW5wdXQoKSB3YWl0Rm9yUmVwbHkgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFBhcmFtZXRlciB0byBjaGVjayBpcyBzZW5kIG1lc3NhZ2UgZnVuY3Rpb24gYXZhaWxhYmxlXG4gICAgICpcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBASW5wdXQoKSBzaG93RGlzYWJsZWRCdXR0b25JbnN0ZWFkT2ZEb3RGbGFzaGluZyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPHsgbWVzc2FnZTogc3RyaW5nLCBmaWxlczogRmlsZVtdIH0+fVxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBzZW5kID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1lc3NhZ2U6IHN0cmluZzsgZmlsZXM6IEZpbGVbXSB9PigpO1xuICAgIEBPdXRwdXQoKSBhYm9ydCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiBtZXNzYWdlIGlucHV0IHZhbHVlIGhhcyBiZWVuIGNoYW5nZWRcbiAgICAgKlxuICAgICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8c3RyaW5nPn1cbiAgICAgKi9cblxuICAgIEBPdXRwdXQoKSBpbnB1dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5maWxlLW92ZXInKSBmaWxlT3ZlciA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgKSB7fVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pXG4gICAgb25Ecm9wKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMuZHJvcEZpbGVzKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIHRoaXMuZmlsZU92ZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmIChldmVudC5kYXRhVHJhbnNmZXI/LmZpbGVzKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBmaWxlO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChJTUFHRV9UWVBFUy5pbmNsdWRlcyhmaWxlLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmci5vbmxvYWQgPSAoZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzLnNyYyA9IGUudGFyZ2V0LnJlc3VsdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMudXJsU3R5bGUgPSB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoYHVybCgke3Jlcy5zcmN9KWApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wcGVkRmlsZXMucHVzaChyZXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZUZpbGUoZmlsZSkge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZHJvcHBlZEZpbGVzLmluZGV4T2YoZmlsZSk7XG4gICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3BwZWRGaWxlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKVxuICAgIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMuZHJvcEZpbGVzKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVPdmVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50J10pXG4gICAgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMuZHJvcEZpbGVzKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVPdmVyID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZW5kTWVzc2FnZSgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEkZXZlbnQgfHwgISRldmVudC5zaGlmdEtleSkge1xuICAgICAgICAgICAgJGV2ZW50ICYmICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHRoaXMud2FpdEZvclJlcGx5KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5kcm9wcGVkRmlsZXMubGVuZ3RoIHx8IFN0cmluZyh0aGlzLm1lc3NhZ2UpLnRyaW0oKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90ZXh0YXJlYUluaXRpYWxIZWlnaHQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VuZC5lbWl0KHsgbWVzc2FnZTogdGhpcy5tZXNzYWdlLCBmaWxlczogdGhpcy5kcm9wcGVkRmlsZXMgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gJyc7XG4gICAgICAgICAgICAgICAgdGhpcy5kcm9wcGVkRmlsZXMgPSBbXTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFib3J0TWVzc2FnZSgpIHtcbiAgICAgICAgdGhpcy5hYm9ydC5lbWl0KCk7XG4gICAgfVxuXG4gICAgb25Nb2RlbENoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RleHRhcmVhSW5pdGlhbEhlaWdodCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlucHV0Q2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIGdldFRleHRBcmVhSGVpZ2h0KHRleHRBcmVhRWxlbWVudDogSFRNTFRleHRBcmVhRWxlbWVudCkge1xuICAgICAgICBpZiAodGhpcy5fdGV4dGFyZWFJbml0aWFsSGVpZ2h0KSB7XG4gICAgICAgICAgICB0ZXh0QXJlYUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJzQ1cHgnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGV4dEFyZWFFbGVtZW50LnN0eWxlLmhlaWdodCA9ICdhdXRvJztcbiAgICAgICAgICAgIHRleHRBcmVhRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0ZXh0QXJlYUVsZW1lbnQuc2Nyb2xsSGVpZ2h0ICsgJ3B4JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgJHt0ZXh0QXJlYUVsZW1lbnQuc3R5bGUuaGVpZ2h0fWA7XG4gICAgfVxuXG4gICAgZ2V0U2VuZEJ1dHRvblBvc2l0aW9uKHRleHRBcmVhRWxlbWVudDogSFRNTFRleHRBcmVhRWxlbWVudCkge1xuICAgICAgICByZXR1cm4gYHRvcDogY2FsYygke3RoaXMuZ2V0VGV4dEFyZWFIZWlnaHQodGV4dEFyZWFFbGVtZW50KX0gLSB2YXIoLS1zZW5kLWJ1dHRvbi1vZmZzZXQpKTtgO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkcm9wcGVkLWZpbGVzXCIgKm5nSWY9XCJkcm9wcGVkRmlsZXM/Lmxlbmd0aFwiPlxuICAgIDxkaXYgY2xhc3M9XCJkcm9wcGVkLWZpbGVzX19pdGVtXCIgKm5nRm9yPVwibGV0IGZpbGUgb2YgZHJvcHBlZEZpbGVzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wcGVkLWZpbGVzX19pdGVtX19wcmV2aWV3XCIgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiZmlsZS51cmxTdHlsZSB8fCAnbm9uZSdcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZHItaWNvbi1maWxlXCIgKm5nSWY9XCIhZmlsZS51cmxTdHlsZVwiPjwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wcGVkLWZpbGVzX19pdGVtX19uYW1lXCI+e3sgZmlsZS5uYW1lIH19PC9kaXY+XG4gICAgICAgIDxpIGNsYXNzPVwiZHJvcHBlZC1maWxlc19faXRlbV9fcmVtb3ZlIGRyLWljb24tZXhpdFwiIChjbGljayk9XCJyZW1vdmVGaWxlKGZpbGUpXCI+PC9pPlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibWVzc2FnZS1yb3dcIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibWVzc2FnZS1yb3dfX2lucHV0XCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnbWVzc2FnZS1yb3dfX2lucHV0LS1mb2N1c2VkJzogaW5wdXRGb2N1cywgJ21lc3NhZ2Utcm93X19pbnB1dC0tZmlsbGVkJzogISFtZXNzYWdlPy5sZW5ndGggfVwiPlxuICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICN0ZXh0QXJlYUVsZW1lbnRcbiAgICAgICAgICAgIChmb2N1cyk9XCJpbnB1dEZvY3VzID0gdHJ1ZVwiXG4gICAgICAgICAgICAoYmx1cik9XCJpbnB1dEZvY3VzID0gZmFsc2VcIlxuICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwiaW5wdXRIb3ZlciA9IHRydWVcIlxuICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwiaW5wdXRIb3ZlciA9IGZhbHNlXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibWVzc2FnZVwiXG4gICAgICAgICAgICBbcm93c109XCIxXCJcbiAgICAgICAgICAgIFtzdHlsZV09XCJnZXRUZXh0QXJlYUhlaWdodCh0ZXh0QXJlYUVsZW1lbnQpXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZWxDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IGZpbGVPdmVyID8gZHJvcEZpbGVQbGFjZWhvbGRlciA6IG1lc3NhZ2VQbGFjZWhvbGRlciB9fVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJzZW5kTWVzc2FnZSgkZXZlbnQpXCI+XG4gICAgICAgIDwvdGV4dGFyZWE+XG4gICAgICAgIDxpXG4gICAgICAgICAgICAqbmdJZj1cIiF3YWl0Rm9yUmVwbHlcIlxuICAgICAgICAgICAgW3N0eWxlXT1cImdldFNlbmRCdXR0b25Qb3NpdGlvbih0ZXh0QXJlYUVsZW1lbnQpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZW5kTWVzc2FnZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZHItaWNvbi1ub3RpZnkgc2VuZC1idXR0b25cIj48L2k+XG4gICAgICAgIDxpXG4gICAgICAgICAgICAqbmdJZj1cIndhaXRGb3JSZXBseSAmJiBzaG93RGlzYWJsZWRCdXR0b25JbnN0ZWFkT2ZEb3RGbGFzaGluZ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwic2VuZE1lc3NhZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBjbGFzcz1cImRyLWljb24tbm90aWZ5IHNlbmQtYnV0dG9uLWRpc2FibGVkXCI+PC9pPlxuICAgICAgICA8ZHItZG90LWZsYXNoaW5nXG4gICAgICAgICAgICAqbmdJZj1cIndhaXRGb3JSZXBseSAmJiAhc2hvd0Rpc2FibGVkQnV0dG9uSW5zdGVhZE9mRG90Rmxhc2hpbmdcIlxuICAgICAgICAgICAgY2xhc3M9XCJ3YWl0LXJlcGx5LWRvdC1mbGFzaGluZ1wiPjwvZHItZG90LWZsYXNoaW5nPlxuICAgICAgICA8ZHItYnV0dG9uICpuZ0lmPVwid2FpdEZvclJlcGx5XCIgKGNsaWNrKT1cImFib3J0TWVzc2FnZSgpXCIgdGhlbWU9XCJnaG9zdFwiIGNsYXNzPVwiYWJvcnQtYnV0dG9uXCI+U3RvcCBnZW5lcmF0aW5nPC9kci1idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -7034,7 +7034,7 @@ class DrChatFormComponent {
|
|
|
7034
7034
|
i0.ɵɵlistener("drop", function DrChatFormComponent_drop_HostBindingHandler($event) { return ctx.onDrop($event); })("dragover", function DrChatFormComponent_dragover_HostBindingHandler($event) { return ctx.onDragOver($event); })("dragleave", function DrChatFormComponent_dragleave_HostBindingHandler($event) { return ctx.onDragLeave($event); });
|
|
7035
7035
|
} if (rf & 2) {
|
|
7036
7036
|
i0.ɵɵclassProp("file-over", ctx.fileOver);
|
|
7037
|
-
} }, inputs: { message: "message", messagePlaceholder: "messagePlaceholder", dropFiles: "dropFiles", dropFilePlaceholder: "dropFilePlaceholder", waitForReply: "waitForReply", showDisabledButtonInsteadOfDotFlashing: "showDisabledButtonInsteadOfDotFlashing" }, outputs: { send: "send", abort: "abort", inputChange: "inputChange" }, decls: 10, vars: 14, consts: [["class", "dropped-files", 4, "ngIf"], [1, "message-row"], [1, "message-row__input", 3, "ngClass"], ["type", "text",
|
|
7037
|
+
} }, inputs: { message: "message", messagePlaceholder: "messagePlaceholder", dropFiles: "dropFiles", dropFilePlaceholder: "dropFilePlaceholder", waitForReply: "waitForReply", showDisabledButtonInsteadOfDotFlashing: "showDisabledButtonInsteadOfDotFlashing" }, outputs: { send: "send", abort: "abort", inputChange: "inputChange" }, decls: 10, vars: 14, consts: [["class", "dropped-files", 4, "ngIf"], [1, "message-row"], [1, "message-row__input", 3, "ngClass"], ["type", "text", 3, "ngModel", "rows", "placeholder", "focus", "blur", "mouseenter", "mouseleave", "ngModelChange", "keydown.enter"], ["textAreaElement", ""], ["class", "dr-icon-notify send-button", 3, "style", "click", 4, "ngIf"], ["class", "dr-icon-notify send-button-disabled", 3, "click", 4, "ngIf"], ["class", "wait-reply-dot-flashing", 4, "ngIf"], ["theme", "ghost", "class", "abort-button", 3, "click", 4, "ngIf"], [1, "dropped-files"], ["class", "dropped-files__item", 4, "ngFor", "ngForOf"], [1, "dropped-files__item"], [1, "dropped-files__item__preview"], ["class", "dr-icon-file", 4, "ngIf"], [1, "dropped-files__item__name"], [1, "dropped-files__item__remove", "dr-icon-exit", 3, "click"], [1, "dr-icon-file"], [1, "dr-icon-notify", "send-button", 3, "click"], [1, "dr-icon-notify", "send-button-disabled", 3, "click"], [1, "wait-reply-dot-flashing"], ["theme", "ghost", 1, "abort-button", 3, "click"]], template: function DrChatFormComponent_Template(rf, ctx) { if (rf & 1) {
|
|
7038
7038
|
i0.ɵɵtemplate(0, DrChatFormComponent_div_0_Template, 2, 1, "div", 0);
|
|
7039
7039
|
i0.ɵɵelementStart(1, "div", 1)(2, "div", 2)(3, "textarea", 3, 4);
|
|
7040
7040
|
i0.ɵɵlistener("focus", function DrChatFormComponent_Template_textarea_focus_3_listener() { return ctx.inputFocus = true; })("blur", function DrChatFormComponent_Template_textarea_blur_3_listener() { return ctx.inputFocus = false; })("mouseenter", function DrChatFormComponent_Template_textarea_mouseenter_3_listener() { return ctx.inputHover = true; })("mouseleave", function DrChatFormComponent_Template_textarea_mouseleave_3_listener() { return ctx.inputHover = false; })("ngModelChange", function DrChatFormComponent_Template_textarea_ngModelChange_3_listener($event) { return ctx.message = $event; })("ngModelChange", function DrChatFormComponent_Template_textarea_ngModelChange_3_listener($event) { return ctx.onModelChange($event); })("keydown.enter", function DrChatFormComponent_Template_textarea_keydown_enter_3_listener($event) { return ctx.sendMessage($event); });
|
|
@@ -7066,7 +7066,7 @@ class DrChatFormComponent {
|
|
|
7066
7066
|
}
|
|
7067
7067
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrChatFormComponent, [{
|
|
7068
7068
|
type: Component,
|
|
7069
|
-
args: [{ selector: 'dr-chat-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dropped-files\" *ngIf=\"droppedFiles?.length\">\n <div class=\"dropped-files__item\" *ngFor=\"let file of droppedFiles\">\n <div class=\"dropped-files__item__preview\" [style.background-image]=\"file.urlStyle || 'none'\">\n <i class=\"dr-icon-file\" *ngIf=\"!file.urlStyle\"></i>\n </div>\n <div class=\"dropped-files__item__name\">{{ file.name }}</div>\n <i class=\"dropped-files__item__remove dr-icon-exit\" (click)=\"removeFile(file)\"></i>\n </div>\n</div>\n<div class=\"message-row\">\n <div\n class=\"message-row__input\"\n [ngClass]=\"{ 'message-row__input--focused': inputFocus, 'message-row__input--filled': !!message?.length }\">\n <textarea\n #textAreaElement\n (focus)=\"inputFocus = true\"\n (blur)=\"inputFocus = false\"\n (mouseenter)=\"inputHover = true\"\n (mouseleave)=\"inputHover = false\"\n [(ngModel)]=\"message\"\n [rows]=\"1\"\n [style]=\"getTextAreaHeight(textAreaElement)\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"text\"\n placeholder=\"{{ fileOver ? dropFilePlaceholder : messagePlaceholder }}\"\n
|
|
7069
|
+
args: [{ selector: 'dr-chat-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dropped-files\" *ngIf=\"droppedFiles?.length\">\n <div class=\"dropped-files__item\" *ngFor=\"let file of droppedFiles\">\n <div class=\"dropped-files__item__preview\" [style.background-image]=\"file.urlStyle || 'none'\">\n <i class=\"dr-icon-file\" *ngIf=\"!file.urlStyle\"></i>\n </div>\n <div class=\"dropped-files__item__name\">{{ file.name }}</div>\n <i class=\"dropped-files__item__remove dr-icon-exit\" (click)=\"removeFile(file)\"></i>\n </div>\n</div>\n<div class=\"message-row\">\n <div\n class=\"message-row__input\"\n [ngClass]=\"{ 'message-row__input--focused': inputFocus, 'message-row__input--filled': !!message?.length }\">\n <textarea\n #textAreaElement\n (focus)=\"inputFocus = true\"\n (blur)=\"inputFocus = false\"\n (mouseenter)=\"inputHover = true\"\n (mouseleave)=\"inputHover = false\"\n [(ngModel)]=\"message\"\n [rows]=\"1\"\n [style]=\"getTextAreaHeight(textAreaElement)\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"text\"\n placeholder=\"{{ fileOver ? dropFilePlaceholder : messagePlaceholder }}\"\n (keydown.enter)=\"sendMessage($event)\">\n </textarea>\n <i\n *ngIf=\"!waitForReply\"\n [style]=\"getSendButtonPosition(textAreaElement)\"\n (click)=\"sendMessage($event)\"\n class=\"dr-icon-notify send-button\"></i>\n <i\n *ngIf=\"waitForReply && showDisabledButtonInsteadOfDotFlashing\"\n (click)=\"sendMessage($event)\"\n class=\"dr-icon-notify send-button-disabled\"></i>\n <dr-dot-flashing\n *ngIf=\"waitForReply && !showDisabledButtonInsteadOfDotFlashing\"\n class=\"wait-reply-dot-flashing\"></dr-dot-flashing>\n <dr-button *ngIf=\"waitForReply\" (click)=\"abortMessage()\" theme=\"ghost\" class=\"abort-button\">Stop generating</dr-button>\n </div>\n</div>\n", styles: [":host{--send-button-offset: 42px;display:flex;flex-direction:column;align-items:center;padding:0 16px;margin-top:12px}:host .message-row{display:flex;justify-content:center;width:100%;padding:0 0 21px;max-width:956px}:host .message-row__input{position:relative;display:flex;align-items:center;flex-grow:1;flex-direction:row;height:auto;overflow:visible;min-width:265px;border-radius:24px;background:#dfe0e3 border-box;border:1.5px solid transparent;box-shadow:0 2px 16px -10px #603cff29}:host .message-row__input .send-button,:host .message-row__input .send-button-disabled{position:absolute;right:4px;top:2.5px;cursor:pointer;font-size:28px;width:68px;border-radius:100px;display:flex;align-items:center;justify-content:center;height:40px;background:#f0f1f4;color:#aeabac}:host .message-row__input--focused{background:linear-gradient(-90deg,#6969ff,#4eb7df) border-box}:host .message-row__input--filled{background:linear-gradient(-90deg,#6969ff,#4eb7df) border-box}:host .message-row__input--filled .send-button{color:#fff;background:linear-gradient(-90deg,#6969ff,#4eb7df) border-box}:host .message-row__input textarea{font-size:14px;color:#333;line-height:19px;flex-grow:1;resize:none;padding:14px 76px 12px 23px;margin:auto;border:none;border-radius:22.5px}:host .message-row__input textarea:focus{border:none}:host .message-row__input textarea::placeholder{color:#9ea1aa}:host .message-row__input .wait-reply-dot-flashing{position:absolute;right:20px}:host .message-row__input .abort-button{position:absolute;right:0;top:-44px}:host .message-row__input .abort-button::ng-deep button{background:#f2f2ff!important;border-radius:4px}:host input{flex:1}:host input.with-button{border-bottom-right-radius:0;border-top-right-radius:0}:host .dropped-files{display:flex;flex-direction:row;margin-bottom:.5rem;flex-wrap:wrap}:host .dropped-files__item{display:flex;flex-direction:column;justify-content:center;margin:0 10px 10px 0;position:relative}:host .dropped-files__item__preview{background-size:cover;background-position:center;width:64px;height:64px;border-radius:8px;border:1px solid #ccc}:host .dropped-files__item__preview i{font-size:62px}:host .dropped-files__item__name{white-space:nowrap;font-size:12px;color:#8f929e;margin-top:4px;max-width:64px;overflow:hidden;text-overflow:ellipsis}:host .dropped-files__item__remove{position:absolute;right:-4px;top:-4px;cursor:pointer;background:#fff;border-radius:12px;color:#8f929e;border:1px solid #8f929e;font-size:14px}\n"] }]
|
|
7070
7070
|
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$5.DomSanitizer }]; }, { message: [{
|
|
7071
7071
|
type: Input
|
|
7072
7072
|
}], messagePlaceholder: [{
|