@banta/sdk 4.6.23 → 4.6.25
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/bundles/banta-sdk.umd.js +25 -11
- package/bundles/banta-sdk.umd.js.map +1 -1
- package/bundles/banta-sdk.umd.min.js +1 -1
- package/bundles/banta-sdk.umd.min.js.map +1 -1
- package/esm2015/lib/chat/banta-chat/banta-chat.component.js +11 -4
- package/esm2015/lib/chat/chat-message/chat-message.component.js +1 -1
- package/esm2015/lib/chat/chat-view/chat-view.component.js +6 -4
- package/esm2015/lib/emoji/emoji-selector-button.component.js +9 -5
- package/fesm2015/banta-sdk.js +23 -10
- package/fesm2015/banta-sdk.js.map +1 -1
- package/lib/chat/banta-chat/banta-chat.component.d.ts +4 -0
- package/lib/chat/chat-view/chat-view.component.d.ts +1 -0
- package/lib/emoji/emoji-selector-button.component.d.ts +2 -0
- package/package.json +1 -1
package/bundles/banta-sdk.umd.js
CHANGED
|
@@ -7461,6 +7461,8 @@
|
|
|
7461
7461
|
this.showEmojiPanel = false;
|
|
7462
7462
|
this.overlayX = 'end';
|
|
7463
7463
|
this.overlayY = 'top';
|
|
7464
|
+
this.originX = 'end';
|
|
7465
|
+
this.originY = 'bottom';
|
|
7464
7466
|
}
|
|
7465
7467
|
Object.defineProperty(EmojiSelectorButtonComponent.prototype, "selected", {
|
|
7466
7468
|
get: function () {
|
|
@@ -7482,12 +7484,12 @@
|
|
|
7482
7484
|
*/
|
|
7483
7485
|
EmojiSelectorButtonComponent.prototype.insert = function (str) {
|
|
7484
7486
|
this._selected.next(str);
|
|
7487
|
+
this.close();
|
|
7485
7488
|
};
|
|
7486
7489
|
EmojiSelectorButtonComponent.prototype.close = function () {
|
|
7487
7490
|
if (this.overlayRef) {
|
|
7488
7491
|
this.overlayRef.dispose();
|
|
7489
7492
|
this.overlayRef = null;
|
|
7490
|
-
return;
|
|
7491
7493
|
}
|
|
7492
7494
|
};
|
|
7493
7495
|
EmojiSelectorButtonComponent.prototype.show = function () {
|
|
@@ -7500,8 +7502,8 @@
|
|
|
7500
7502
|
.flexibleConnectedTo(this.elementRef)
|
|
7501
7503
|
.withPositions([
|
|
7502
7504
|
{
|
|
7503
|
-
originX:
|
|
7504
|
-
originY:
|
|
7505
|
+
originX: this.originX,
|
|
7506
|
+
originY: this.originY,
|
|
7505
7507
|
overlayX: this.overlayX,
|
|
7506
7508
|
overlayY: this.overlayY
|
|
7507
7509
|
}
|
|
@@ -7540,7 +7542,9 @@
|
|
|
7540
7542
|
selectorPanelTemplate: [{ type: core.ViewChild, args: ['selectorPanelTemplate',] }],
|
|
7541
7543
|
selected: [{ type: core.Output }],
|
|
7542
7544
|
overlayX: [{ type: core.Input }],
|
|
7543
|
-
overlayY: [{ type: core.Input }]
|
|
7545
|
+
overlayY: [{ type: core.Input }],
|
|
7546
|
+
originX: [{ type: core.Input }],
|
|
7547
|
+
originY: [{ type: core.Input }]
|
|
7544
7548
|
};
|
|
7545
7549
|
|
|
7546
7550
|
var COMPONENTS$1 = [
|
|
@@ -7943,7 +7947,7 @@
|
|
|
7943
7947
|
ChatMessageComponent.decorators = [
|
|
7944
7948
|
{ type: core.Component, args: [{
|
|
7945
7949
|
selector: 'banta-chat-message',
|
|
7946
|
-
template: "<div class=\"message-content\">\r\n <div class=\"user\" (click)=\"selectUser()\">\r\n <div class=\"avatar\" [style.background-image]=\"avatarForUser(message.user)\"></div>\r\n <label>{{message.user.username}}</label>\r\n </div>\r\n <div class=\"content\">\r\n <div (click)=\"select()\">\r\n {{message.message}}\r\n </div>\r\n <div class=\"status\">\r\n <div class=\"count-indicator\" *ngIf=\"message.likes > 0\">\r\n
|
|
7950
|
+
template: "<div class=\"message-content\">\r\n <div class=\"user\" (click)=\"selectUser()\">\r\n <div class=\"avatar\" [style.background-image]=\"avatarForUser(message.user)\"></div>\r\n <label>{{message.user.username}}</label>\r\n </div>\r\n <div class=\"content\">\r\n <div (click)=\"select()\">\r\n {{message.message}}\r\n </div>\r\n <div class=\"status\">\r\n <div class=\"count-indicator\" *ngIf=\"message.likes > 0\">\r\n <mat-icon [inline]=\"true\">star</mat-icon> {{message.likes}}\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"actions\">\r\n <button mat-icon-button matTooltip=\"Upvote\" matTooltipPosition=\"below\" (click)=\"upvote()\">\r\n <mat-icon [inline]=\"true\">thumb_up</mat-icon>\r\n </button>\r\n <button mat-icon-button matTooltip=\"Report\" matTooltipPosition=\"below\" (click)=\"report()\">\r\n <mat-icon [inline]=\"true\">report</mat-icon>\r\n </button>\r\n</div>",
|
|
7947
7951
|
styles: [":host{display:flex;flex-direction:row;align-items:center;padding:0 1em;background-color:#fff;color:#000;transition:background-color .4s ease-out}:host .message-content .content{color:#111}:host:hover{background-color:#ddd}:host.highlight{background:#00121b}:host.highlight:hover{background:#01324d}:host:nth-child(2n){background-color:#eee}:host:nth-child(2n):hover{background:#ddd}:host:nth-child(2n) .message-content .content{color:#222}:host:nth-child(2n).highlight{background:#001a2a}:host:nth-child(2n).highlight:hover{background:#002b44}:host .message-content{display:flex;flex-direction:row;flex-grow:1;align-items:center}:host .message-content .content{display:flex;flex-direction:row;padding:5px 0}:host .message-content .content .status{display:flex;flex-direction:row;align-items:center;margin-left:1em}:host .message-content .content .status mat-icon{margin-left:.5em}:host .user{color:#999;font-weight:400;text-align:right;margin-right:.25em;flex-shrink:0;display:flex;align-items:center}:host .user .avatar{background-position:50%;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0;margin-right:1em;width:2em;height:2em}:host .user:after{content:\":\";margin-right:1em}:host .content{flex-grow:1}:host .actions{flex-shrink:0;white-space:nowrap;opacity:0;transition:opacity .4s ease-out}:host:hover .actions{opacity:1}.count-indicator{white-space:nowrap}:host-context(.mat-dark-theme){background-color:#000;color:#fff}:host-context(.mat-dark-theme) .message-content .content{color:#ddd}:host-context(.mat-dark-theme):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n).highlight{background:#001a2a}:host-context(.mat-dark-theme):nth-child(2n).highlight:hover{background:#002b44}:host-context(.mat-dark-theme):nth-child(2n):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n){background-color:#080808}:host-context(.mat-dark-theme):nth-child(2n) .message-content .content{color:#eee}label{margin:0}"]
|
|
7948
7952
|
},] }
|
|
7949
7953
|
];
|
|
@@ -8050,6 +8054,7 @@
|
|
|
8050
8054
|
this._received$ = this._received.asObservable();
|
|
8051
8055
|
this.messages = [];
|
|
8052
8056
|
this.maxMessages = 200;
|
|
8057
|
+
this.emptyLabel = 'Be the first to chat';
|
|
8053
8058
|
}
|
|
8054
8059
|
Object.defineProperty(ChatViewComponent.prototype, "source", {
|
|
8055
8060
|
get: function () {
|
|
@@ -8211,8 +8216,8 @@
|
|
|
8211
8216
|
ChatViewComponent.decorators = [
|
|
8212
8217
|
{ type: core.Component, args: [{
|
|
8213
8218
|
selector: 'banta-chat-view',
|
|
8214
|
-
template: "<div class=\"message-container\" #messageContainer>\r\n <ng-content select=\"[data-before]\"></ng-content>\r\n <ng-container *ngFor=\"let message of messages\">\r\n <banta-chat-message\r\n *ngIf=\"!message.hidden\"\r\n [message]=\"message\"\r\n [class.highlight]=\"mentionsMe(message)\" \r\n [class.flash]=\"message.id === flashedMessageId\"\r\n (selected)=\"selectMessage(message)\"\r\n (upvoted)=\"upvoteMessage(message)\"\r\n (reported)=\"reportMessage(message)\"\r\n (userSelected)=\"selectMessageUser(message)\"\r\n [attr.data-id]=\"message.id\"\r\n >\r\n </banta-chat-message>\r\n </ng-container>\r\n <ng-content select=\":not([data-before])\"></ng-content>\r\n</div>",
|
|
8215
|
-
styles: [":host{display:flex;flex-direction:column;flex-grow:1}.message-container{flex-grow:1;overflow-y:auto;overflow-x:hidden;height:10em;color:#000;background:#fff;padding:.5em 1em .5em .5em}.message-container.no-scroll{height:auto;overflow-y:visible}:host-context(.mat-dark-theme) .message-container{color:#fff;background:#000}banta-chat-message.flash{-webkit-animation:flash;animation:flash;-webkit-animation-duration:2.5s;animation-duration:2.5s;-webkit-animation-iteration-count:1;animation-iteration-count:1}@-webkit-keyframes flash{0%{transform:scale(1);background:#425700}25%{transform:scale(1.05)}50%{transform:scale(1)}75%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes flash{0%{transform:scale(1);background:#425700}25%{transform:scale(1.05)}50%{transform:scale(1)}75%{transform:scale(1.05)}to{transform:scale(1)}}"]
|
|
8219
|
+
template: "<div class=\"message-container\" #messageContainer>\r\n <ng-content select=\"[data-before]\"></ng-content>\r\n \r\n <div class=\"empty\" *ngIf=\"messages.length === 0\">\r\n {{emptyLabel}}\r\n </div>\r\n \r\n <ng-container *ngFor=\"let message of messages\">\r\n <banta-chat-message\r\n *ngIf=\"!message.hidden\"\r\n [message]=\"message\"\r\n [class.highlight]=\"mentionsMe(message)\" \r\n [class.flash]=\"message.id === flashedMessageId\"\r\n (selected)=\"selectMessage(message)\"\r\n (upvoted)=\"upvoteMessage(message)\"\r\n (reported)=\"reportMessage(message)\"\r\n (userSelected)=\"selectMessageUser(message)\"\r\n [attr.data-id]=\"message.id\"\r\n >\r\n </banta-chat-message>\r\n </ng-container>\r\n <ng-content select=\":not([data-before])\"></ng-content>\r\n</div>",
|
|
8220
|
+
styles: [":host{display:flex;flex-direction:column;flex-grow:1}.message-container{flex-grow:1;overflow-y:auto;overflow-x:hidden;height:10em;color:#000;background:#fff;padding:.5em 1em .5em .5em}.message-container.no-scroll{height:auto;overflow-y:visible}:host-context(.mat-dark-theme) .message-container{color:#fff;background:#000}banta-chat-message.flash{-webkit-animation:flash;animation:flash;-webkit-animation-duration:2.5s;animation-duration:2.5s;-webkit-animation-iteration-count:1;animation-iteration-count:1}@-webkit-keyframes flash{0%{transform:scale(1);background:#425700}25%{transform:scale(1.05)}50%{transform:scale(1)}75%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes flash{0%{transform:scale(1);background:#425700}25%{transform:scale(1.05)}50%{transform:scale(1)}75%{transform:scale(1.05)}to{transform:scale(1)}}.empty{text-align:center;margin:2em;color:#888;font-size:150%}"]
|
|
8216
8221
|
},] }
|
|
8217
8222
|
];
|
|
8218
8223
|
ChatViewComponent.ctorParameters = function () { return [
|
|
@@ -8227,7 +8232,8 @@
|
|
|
8227
8232
|
upvoted: [{ type: core.Output }],
|
|
8228
8233
|
received: [{ type: core.Output }],
|
|
8229
8234
|
messageContainer: [{ type: core.ViewChild, args: ['messageContainer',] }],
|
|
8230
|
-
maxMessages: [{ type: core.Input }]
|
|
8235
|
+
maxMessages: [{ type: core.Input }],
|
|
8236
|
+
emptyLabel: [{ type: core.Input }]
|
|
8231
8237
|
};
|
|
8232
8238
|
|
|
8233
8239
|
/**
|
|
@@ -8241,6 +8247,8 @@
|
|
|
8241
8247
|
this.signInLabel = 'Sign In';
|
|
8242
8248
|
this.sendLabel = 'Send';
|
|
8243
8249
|
this.permissionDeniedLabel = 'Send';
|
|
8250
|
+
this.messageFieldPlaceholder = 'Chat';
|
|
8251
|
+
this.emptyLabel = 'Be the first to chat';
|
|
8244
8252
|
this._selected = new rxjs.Subject();
|
|
8245
8253
|
this._selected$ = this._selected.asObservable();
|
|
8246
8254
|
this._reported = new rxjs.Subject();
|
|
@@ -8426,7 +8434,10 @@
|
|
|
8426
8434
|
case 3:
|
|
8427
8435
|
_b.sent();
|
|
8428
8436
|
_b.label = 4;
|
|
8429
|
-
case 4:
|
|
8437
|
+
case 4:
|
|
8438
|
+
this.chatView.scrollToLatest();
|
|
8439
|
+
this.inputElementRef.nativeElement.focus();
|
|
8440
|
+
return [3 /*break*/, 6];
|
|
8430
8441
|
case 5:
|
|
8431
8442
|
e_1 = _b.sent();
|
|
8432
8443
|
console.error("Failed to send message: ", message);
|
|
@@ -8442,7 +8453,7 @@
|
|
|
8442
8453
|
BantaChatComponent.decorators = [
|
|
8443
8454
|
{ type: core.Component, args: [{
|
|
8444
8455
|
selector: 'banta-chat',
|
|
8445
|
-
template: "<banta-chat-view \r\n #chatView\r\n [source]=\"source\"\r\n (upvoted)=\"upvote($event)\"\r\n (reported)=\"report($event)\"\r\n (selected)=\"select($event)\"\r\n (received)=\"onReceived($event)\"\r\n (userSelected)=\"selectUser($event)\"\r\n ></banta-chat-view>\r\n\r\n<form class=\"new-message\" (submit)=\"sendMessage()\">\r\n \r\n <div class=\"entry-container\">\r\n <input\r\n type=\"text\"\r\n name=\"message\" \r\n autocomplete=\"off\"\r\n (keydown)=\"onKeyDown($event)\"\r\n [(ngModel)]=\"newMessage.message\" />\r\n \r\n <emoji-selector-button\r\n (selected)=\"insertEmoji($event)\"\r\n ></emoji-selector-button>\r\n </div>\r\n\r\n <div class=\"actions\">\r\n\r\n <ng-container *ngIf=\"!user\">\r\n <button type=\"button\" (click)=\"showSignIn()\" mat-raised-button color=\"primary\">{{signInLabel}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"user\">\r\n <button *ngIf=\"canChat\" [disabled]=\"!newMessage.message\" mat-raised-button color=\"primary\">{{sendLabel}}</button>\r\n <button *ngIf=\"!canChat\" type=\"button\" (click)=\"sendPermissionError()\" mat-raised-button color=\"primary\">{{permissionDeniedLabel}}</button>\r\n </ng-container>\r\n </div>\r\n</form>",
|
|
8456
|
+
template: "<banta-chat-view \r\n #chatView\r\n [source]=\"source\"\r\n [emptyLabel]=\"emptyLabel\"\r\n (upvoted)=\"upvote($event)\"\r\n (reported)=\"report($event)\"\r\n (selected)=\"select($event)\"\r\n (received)=\"onReceived($event)\"\r\n (userSelected)=\"selectUser($event)\"\r\n ></banta-chat-view>\r\n\r\n<form class=\"new-message\" (submit)=\"sendMessage()\">\r\n \r\n <div class=\"entry-container\">\r\n <input\r\n #input\r\n type=\"text\"\r\n name=\"message\" \r\n autocomplete=\"off\"\r\n [placeholder]=\"messageFieldPlaceholder\"\r\n (keydown)=\"onKeyDown($event)\"\r\n [(ngModel)]=\"newMessage.message\" />\r\n \r\n <emoji-selector-button\r\n (selected)=\"insertEmoji($event)\"\r\n overlayY=\"bottom\"\r\n overlayX=\"end\"\r\n originY=\"top\"\r\n ></emoji-selector-button>\r\n </div>\r\n\r\n <div class=\"actions\">\r\n\r\n <ng-container *ngIf=\"!user\">\r\n <button type=\"button\" (click)=\"showSignIn()\" mat-raised-button color=\"primary\">{{signInLabel}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"user\">\r\n <button *ngIf=\"canChat\" [disabled]=\"!newMessage.message\" mat-raised-button color=\"primary\">{{sendLabel}}</button>\r\n <button *ngIf=\"!canChat\" type=\"button\" (click)=\"sendPermissionError()\" mat-raised-button color=\"primary\">{{permissionDeniedLabel}}</button>\r\n </ng-container>\r\n </div>\r\n</form>",
|
|
8446
8457
|
styles: [":host{flex-direction:column;border-radius:5px;padding:10px;font-size:10pt;min-height:1px}.entry-container,:host{display:flex;flex-grow:1}.entry-container{flex-direction:row;position:relative}.entry-container emoji-selector-button{position:absolute;right:0;top:.15em}.entry-container input{height:2.6em;font-size:12pt;padding-left:1em}.entry-container input:-webkit-autofill,.entry-container input:-webkit-autofill:focus,.entry-container input:-webkit-autofill:hover{outline:1px solid #9da302;-webkit-text-fill-color:#9da302;-webkit-box-shadow:0 0 0 1000px #211e07 inset;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s;caret-color:#9da302}.entry-container emoji-selector-panel{pointer-events:none;opacity:0;position:absolute;bottom:3.5em;right:0}.entry-container emoji-selector-panel.visible{opacity:1;pointer-events:auto}form{display:flex;padding:.5em 0;align-items:center}form textarea{font-size:14pt;background:#000;color:#fff;border:1px solid #333;min-height:6em;width:100%}form input[type=text]{background:#fff;color:#000;border:1px solid #ccc;width:100%;height:2.5em}form .actions{margin-left:1em}form button{display:block;margin:0 0 0 auto}:host-context(.mat-dark-theme) form input[type=text]{background:#000;color:#fff;border:1px solid #333}"]
|
|
8447
8458
|
},] }
|
|
8448
8459
|
];
|
|
@@ -8456,6 +8467,8 @@
|
|
|
8456
8467
|
signInLabel: [{ type: core.Input }],
|
|
8457
8468
|
sendLabel: [{ type: core.Input }],
|
|
8458
8469
|
permissionDeniedLabel: [{ type: core.Input }],
|
|
8470
|
+
messageFieldPlaceholder: [{ type: core.Input }],
|
|
8471
|
+
emptyLabel: [{ type: core.Input }],
|
|
8459
8472
|
selected: [{ type: core.Output }],
|
|
8460
8473
|
reported: [{ type: core.Output }],
|
|
8461
8474
|
upvoted: [{ type: core.Output }],
|
|
@@ -8463,7 +8476,8 @@
|
|
|
8463
8476
|
permissionDeniedError: [{ type: core.Output }],
|
|
8464
8477
|
signInSelected: [{ type: core.Output }],
|
|
8465
8478
|
received: [{ type: core.Output }],
|
|
8466
|
-
chatView: [{ type: core.ViewChild, args: ['chatView',
|
|
8479
|
+
chatView: [{ type: core.ViewChild, args: ['chatView',] }],
|
|
8480
|
+
inputElementRef: [{ type: core.ViewChild, args: ['input',] }]
|
|
8467
8481
|
};
|
|
8468
8482
|
|
|
8469
8483
|
var COMPONENTS$2 = [
|