@muraai/mnl-chat 0.0.1-alpha-82b7eb9 → 0.0.1-alpha-51e7ded

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.
Files changed (56) hide show
  1. package/{esm2020 → esm2022}/lib/chat.module.mjs +19 -19
  2. package/esm2022/lib/components/ng-chat/ng-chat.component.mjs +588 -0
  3. package/esm2022/lib/components/ng-chat-friends-list/ng-chat-friends-list.component.mjs +128 -0
  4. package/esm2022/lib/components/ng-chat-options/ng-chat-options.component.mjs +29 -0
  5. package/esm2022/lib/components/ng-chat-window/ng-chat-window.component.mjs +247 -0
  6. package/esm2022/lib/core/message-counter.mjs +25 -0
  7. package/{esm2020 → esm2022}/lib/firstLetter.pipe.mjs +5 -5
  8. package/esm2022/lib/material.module.mjs +60 -0
  9. package/{esm2020 → esm2022}/lib/pipes/emojify.pipe.mjs +4 -4
  10. package/esm2022/lib/pipes/group-message-display-name.pipe.mjs +24 -0
  11. package/esm2022/lib/pipes/linkfy.pipe.mjs +34 -0
  12. package/{esm2020 → esm2022}/lib/pipes/sanitize.pipe.mjs +5 -5
  13. package/{esm2020 → esm2022}/lib/services/chat.service.mjs +5 -5
  14. package/{fesm2020 → fesm2022}/muraai-mnl-chat.mjs +85 -85
  15. package/fesm2022/muraai-mnl-chat.mjs.map +1 -0
  16. package/lib/components/ng-chat/ng-chat.component.d.ts +1 -1
  17. package/lib/components/ng-chat-friends-list/ng-chat-friends-list.component.d.ts +1 -1
  18. package/lib/components/ng-chat-options/ng-chat-options.component.d.ts +1 -1
  19. package/lib/components/ng-chat-window/ng-chat-window.component.d.ts +1 -1
  20. package/lib/material.module.d.ts +2 -2
  21. package/package.json +7 -13
  22. package/esm2020/lib/components/ng-chat/ng-chat.component.mjs +0 -588
  23. package/esm2020/lib/components/ng-chat-friends-list/ng-chat-friends-list.component.mjs +0 -128
  24. package/esm2020/lib/components/ng-chat-options/ng-chat-options.component.mjs +0 -29
  25. package/esm2020/lib/components/ng-chat-window/ng-chat-window.component.mjs +0 -247
  26. package/esm2020/lib/core/message-counter.mjs +0 -25
  27. package/esm2020/lib/material.module.mjs +0 -60
  28. package/esm2020/lib/pipes/group-message-display-name.pipe.mjs +0 -24
  29. package/esm2020/lib/pipes/linkfy.pipe.mjs +0 -34
  30. package/fesm2015/muraai-mnl-chat.mjs +0 -1436
  31. package/fesm2015/muraai-mnl-chat.mjs.map +0 -1
  32. package/fesm2020/muraai-mnl-chat.mjs.map +0 -1
  33. /package/{esm2020 → esm2022}/lib/core/chat-adapter.mjs +0 -0
  34. /package/{esm2020 → esm2022}/lib/core/chat-controller.mjs +0 -0
  35. /package/{esm2020 → esm2022}/lib/core/chat-group-adapter.mjs +0 -0
  36. /package/{esm2020 → esm2022}/lib/core/chat-option.mjs +0 -0
  37. /package/{esm2020 → esm2022}/lib/core/chat-participant-status-descriptor.mjs +0 -0
  38. /package/{esm2020 → esm2022}/lib/core/chat-participant-status.enum.mjs +0 -0
  39. /package/{esm2020 → esm2022}/lib/core/chat-participant-type.enum.mjs +0 -0
  40. /package/{esm2020 → esm2022}/lib/core/chat-participant.mjs +0 -0
  41. /package/{esm2020 → esm2022}/lib/core/default-file-upload-adapter.mjs +0 -0
  42. /package/{esm2020 → esm2022}/lib/core/file-upload-adapter.mjs +0 -0
  43. /package/{esm2020 → esm2022}/lib/core/group.mjs +0 -0
  44. /package/{esm2020 → esm2022}/lib/core/guid.mjs +0 -0
  45. /package/{esm2020 → esm2022}/lib/core/localization.mjs +0 -0
  46. /package/{esm2020 → esm2022}/lib/core/message-type.enum.mjs +0 -0
  47. /package/{esm2020 → esm2022}/lib/core/message.mjs +0 -0
  48. /package/{esm2020 → esm2022}/lib/core/paged-history-chat-adapter.mjs +0 -0
  49. /package/{esm2020 → esm2022}/lib/core/participant-metadata.mjs +0 -0
  50. /package/{esm2020 → esm2022}/lib/core/participant-response.mjs +0 -0
  51. /package/{esm2020 → esm2022}/lib/core/scroll-direction.enum.mjs +0 -0
  52. /package/{esm2020 → esm2022}/lib/core/theme.enum.mjs +0 -0
  53. /package/{esm2020 → esm2022}/lib/core/user.mjs +0 -0
  54. /package/{esm2020 → esm2022}/lib/core/window.mjs +0 -0
  55. /package/{esm2020 → esm2022}/muraai-mnl-chat.mjs +0 -0
  56. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -1,25 +0,0 @@
1
- export class MessageCounter {
2
- static formatUnreadMessagesTotal(totalUnreadMessages) {
3
- if (totalUnreadMessages > 0) {
4
- if (totalUnreadMessages > 99)
5
- return "99+";
6
- else
7
- return String(totalUnreadMessages);
8
- }
9
- // Empty fallback.
10
- return "";
11
- }
12
- /**
13
- * Returns a formatted string containing the total unread messages of a chat window.
14
- * @param window The window instance to count the unread total messages.
15
- * @param currentUserId The current chat instance user id. In this context it would be the sender.
16
- */
17
- static unreadMessagesTotal(window, currentUserId) {
18
- let totalUnreadMessages = 0;
19
- if (window) {
20
- totalUnreadMessages = window.messages.filter(x => x.fromId != currentUserId && !x.dateSeen).length;
21
- }
22
- return MessageCounter.formatUnreadMessagesTotal(totalUnreadMessages);
23
- }
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1jb3VudGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC9zcmMvbGliL2NvcmUvbWVzc2FnZS1jb3VudGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxjQUFjO0lBRWhCLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxtQkFBMkI7UUFFL0QsSUFBSSxtQkFBbUIsR0FBRyxDQUFDLEVBQUM7WUFFeEIsSUFBSSxtQkFBbUIsR0FBRyxFQUFFO2dCQUN4QixPQUFRLEtBQUssQ0FBQzs7Z0JBRWQsT0FBTyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUMxQztRQUVELGtCQUFrQjtRQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQWMsRUFBRSxhQUFrQjtRQUVoRSxJQUFJLG1CQUFtQixHQUFHLENBQUMsQ0FBQztRQUU1QixJQUFJLE1BQU0sRUFBQztZQUNQLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxhQUFhLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDO1NBQ3RHO1FBRUQsT0FBTyxjQUFjLENBQUMseUJBQXlCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN6RSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXaW5kb3cgfSBmcm9tICcuL3dpbmRvdyc7XG5cbmV4cG9ydCBjbGFzcyBNZXNzYWdlQ291bnRlclxue1xuICAgIHB1YmxpYyBzdGF0aWMgZm9ybWF0VW5yZWFkTWVzc2FnZXNUb3RhbCh0b3RhbFVucmVhZE1lc3NhZ2VzOiBudW1iZXIpOiBzdHJpbmdcbiAgICB7XG4gICAgICAgIGlmICh0b3RhbFVucmVhZE1lc3NhZ2VzID4gMCl7XG5cbiAgICAgICAgICAgIGlmICh0b3RhbFVucmVhZE1lc3NhZ2VzID4gOTkpXG4gICAgICAgICAgICAgICAgcmV0dXJuICBcIjk5K1wiO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHJldHVybiBTdHJpbmcodG90YWxVbnJlYWRNZXNzYWdlcyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbXB0eSBmYWxsYmFjay5cbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIGZvcm1hdHRlZCBzdHJpbmcgY29udGFpbmluZyB0aGUgdG90YWwgdW5yZWFkIG1lc3NhZ2VzIG9mIGEgY2hhdCB3aW5kb3cuXG4gICAgICogQHBhcmFtIHdpbmRvdyBUaGUgd2luZG93IGluc3RhbmNlIHRvIGNvdW50IHRoZSB1bnJlYWQgdG90YWwgbWVzc2FnZXMuXG4gICAgICogQHBhcmFtIGN1cnJlbnRVc2VySWQgVGhlIGN1cnJlbnQgY2hhdCBpbnN0YW5jZSB1c2VyIGlkLiBJbiB0aGlzIGNvbnRleHQgaXQgd291bGQgYmUgdGhlIHNlbmRlci5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHVucmVhZE1lc3NhZ2VzVG90YWwod2luZG93OiBXaW5kb3csIGN1cnJlbnRVc2VySWQ6IGFueSk6IHN0cmluZ1xuICAgIHtcbiAgICAgICAgbGV0IHRvdGFsVW5yZWFkTWVzc2FnZXMgPSAwO1xuXG4gICAgICAgIGlmICh3aW5kb3cpe1xuICAgICAgICAgICAgdG90YWxVbnJlYWRNZXNzYWdlcyA9IHdpbmRvdy5tZXNzYWdlcy5maWx0ZXIoeCA9PiB4LmZyb21JZCAhPSBjdXJyZW50VXNlcklkICYmICF4LmRhdGVTZWVuKS5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICByZXR1cm4gTWVzc2FnZUNvdW50ZXIuZm9ybWF0VW5yZWFkTWVzc2FnZXNUb3RhbCh0b3RhbFVucmVhZE1lc3NhZ2VzKTtcbiAgICB9XG59XG4iXX0=
@@ -1,60 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { MatButtonModule } from '@angular/material/button';
3
- import { MatListModule } from '@angular/material/list';
4
- import { MatIconModule } from '@angular/material/icon';
5
- import { MatInputModule } from '@angular/material/input';
6
- import { MatFormFieldModule } from '@angular/material/form-field';
7
- import { MatCardModule } from '@angular/material/card';
8
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
9
- import { MatMenuModule } from '@angular/material/menu';
10
- import * as i0 from "@angular/core";
11
- export function modules() {
12
- return [
13
- MatButtonModule,
14
- MatFormFieldModule,
15
- MatIconModule,
16
- MatInputModule,
17
- FormsModule,
18
- ReactiveFormsModule,
19
- MatMenuModule,
20
- MatListModule,
21
- MatCardModule
22
- ];
23
- }
24
- export class ChatMaterialModule {
25
- }
26
- ChatMaterialModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ChatMaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
27
- ChatMaterialModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ChatMaterialModule, imports: [MatButtonModule,
28
- MatFormFieldModule,
29
- MatIconModule,
30
- MatInputModule,
31
- FormsModule,
32
- ReactiveFormsModule,
33
- MatMenuModule,
34
- MatListModule,
35
- MatCardModule], exports: [MatButtonModule,
36
- MatFormFieldModule,
37
- MatIconModule,
38
- MatInputModule,
39
- FormsModule,
40
- ReactiveFormsModule,
41
- MatMenuModule,
42
- MatListModule,
43
- MatCardModule] });
44
- ChatMaterialModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ChatMaterialModule, imports: [modules(), MatButtonModule,
45
- MatFormFieldModule,
46
- MatIconModule,
47
- MatInputModule,
48
- FormsModule,
49
- ReactiveFormsModule,
50
- MatMenuModule,
51
- MatListModule,
52
- MatCardModule] });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ChatMaterialModule, decorators: [{
54
- type: NgModule,
55
- args: [{
56
- imports: modules(),
57
- exports: modules()
58
- }]
59
- }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC9zcmMvbGliL21hdGVyaWFsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFDdkQsTUFBTSxVQUFVLE9BQU87SUFDckIsT0FBTztRQUNMLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLGNBQWM7UUFDZCxXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGFBQWE7UUFDYixhQUFhO1FBQ2IsYUFBYTtLQUNkLENBQUM7QUFDSixDQUFDO0FBS0QsTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLFlBZjNCLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLGNBQWM7UUFDZCxXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGFBQWE7UUFDYixhQUFhO1FBQ2IsYUFBYSxhQVJiLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLGNBQWM7UUFDZCxXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGFBQWE7UUFDYixhQUFhO1FBQ2IsYUFBYTtnSEFPSixrQkFBa0IsWUFIcEIsT0FBTyxFQUFFLEVBWmhCLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLGNBQWM7UUFDZCxXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGFBQWE7UUFDYixhQUFhO1FBQ2IsYUFBYTsyRkFPSixrQkFBa0I7a0JBSjlCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLE9BQU8sRUFBRTtvQkFDbEIsT0FBTyxFQUFFLE9BQU8sRUFBRTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmV4cG9ydCBmdW5jdGlvbiBtb2R1bGVzKCkge1xuICByZXR1cm4gW1xuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRDYXJkTW9kdWxlXG4gIF07XG59XG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBtb2R1bGVzKCksXG4gIGV4cG9ydHM6IG1vZHVsZXMoKVxufSlcbmV4cG9ydCBjbGFzcyBDaGF0TWF0ZXJpYWxNb2R1bGUge31cbiJdfQ==
@@ -1,24 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { ChatParticipantType } from "../core/chat-participant-type.enum";
3
- import * as i0 from "@angular/core";
4
- /*
5
- * Renders the display name of a participant in a group based on who's sent the message
6
- */
7
- export class GroupMessageDisplayNamePipe {
8
- transform(participant, message) {
9
- if (participant && participant.participantType == ChatParticipantType.Group) {
10
- let group = participant;
11
- let userIndex = group.chattingTo.findIndex(x => x.id == message.fromId);
12
- return group.chattingTo[userIndex >= 0 ? userIndex : 0].displayName;
13
- }
14
- else
15
- return "";
16
- }
17
- }
18
- GroupMessageDisplayNamePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GroupMessageDisplayNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
19
- GroupMessageDisplayNamePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: GroupMessageDisplayNamePipe, name: "groupMessageDisplayName" });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GroupMessageDisplayNamePipe, decorators: [{
21
- type: Pipe,
22
- args: [{ name: 'groupMessageDisplayName' }]
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtbWVzc2FnZS1kaXNwbGF5LW5hbWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQvc3JjL2xpYi9waXBlcy9ncm91cC1tZXNzYWdlLWRpc3BsYXktbmFtZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUl6RTs7RUFFRTtBQUVGLE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsU0FBUyxDQUFDLFdBQTZCLEVBQUUsT0FBZ0I7UUFDckQsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLGVBQWUsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLEVBQzNFO1lBQ0ksSUFBSSxLQUFLLEdBQUcsV0FBb0IsQ0FBQztZQUNqQyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXhFLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztTQUN2RTs7WUFFRyxPQUFPLEVBQUUsQ0FBQztJQUNsQixDQUFDOzt3SEFYUSwyQkFBMkI7c0hBQTNCLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQUR2QyxJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLHlCQUF5QixFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JvdXAgfSBmcm9tIFwiLi4vY29yZS9ncm91cFwiO1xuaW1wb3J0IHsgQ2hhdFBhcnRpY2lwYW50VHlwZSB9IGZyb20gXCIuLi9jb3JlL2NoYXQtcGFydGljaXBhbnQtdHlwZS5lbnVtXCI7XG5pbXBvcnQgeyBJQ2hhdFBhcnRpY2lwYW50IH0gZnJvbSBcIi4uL2NvcmUvY2hhdC1wYXJ0aWNpcGFudFwiO1xuaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gXCIuLi9jb3JlL21lc3NhZ2VcIjtcblxuLypcbiAqIFJlbmRlcnMgdGhlIGRpc3BsYXkgbmFtZSBvZiBhIHBhcnRpY2lwYW50IGluIGEgZ3JvdXAgYmFzZWQgb24gd2hvJ3Mgc2VudCB0aGUgbWVzc2FnZVxuKi9cbkBQaXBlKHtuYW1lOiAnZ3JvdXBNZXNzYWdlRGlzcGxheU5hbWUnfSlcbmV4cG9ydCBjbGFzcyBHcm91cE1lc3NhZ2VEaXNwbGF5TmFtZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0ocGFydGljaXBhbnQ6IElDaGF0UGFydGljaXBhbnQsIG1lc3NhZ2U6IE1lc3NhZ2UpOiBzdHJpbmcge1xuICAgICAgICBpZiAocGFydGljaXBhbnQgJiYgcGFydGljaXBhbnQucGFydGljaXBhbnRUeXBlID09IENoYXRQYXJ0aWNpcGFudFR5cGUuR3JvdXApXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxldCBncm91cCA9IHBhcnRpY2lwYW50IGFzIEdyb3VwO1xuICAgICAgICAgICAgbGV0IHVzZXJJbmRleCA9IGdyb3VwLmNoYXR0aW5nVG8uZmluZEluZGV4KHggPT4geC5pZCA9PSBtZXNzYWdlLmZyb21JZCk7XG5cbiAgICAgICAgICAgIHJldHVybiBncm91cC5jaGF0dGluZ1RvW3VzZXJJbmRleCA+PSAwID8gdXNlckluZGV4IDogMF0uZGlzcGxheU5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxufVxuIl19
@@ -1,34 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /*
4
- * Transforms text containing URLs or E-mails to valid links/mailtos
5
- */
6
- export class LinkfyPipe {
7
- transform(message, pipeEnabled) {
8
- if (pipeEnabled && message && message.length > 1) {
9
- let replacedText;
10
- let replacePatternProtocol;
11
- let replacePatternWWW;
12
- let replacePatternMailTo;
13
- // URLs starting with http://, https://, or ftp://
14
- replacePatternProtocol = /(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim;
15
- replacedText = message.replace(replacePatternProtocol, '<a href="$1" target="_blank">$1</a>');
16
- // URLs starting with "www." (ignoring // before it).
17
- replacePatternWWW = /(^|[^\/])(www\.[\S]+(\b|$))/gim;
18
- replacedText = replacedText.replace(replacePatternWWW, '$1<a href="http://$2" target="_blank">$2</a>');
19
- // Change email addresses to mailto:: links.
20
- replacePatternMailTo = /(([a-zA-Z0-9\-\_\.])+@[a-zA-Z\_]+?(\.[a-zA-Z]{2,6})+)/gim;
21
- replacedText = replacedText.replace(replacePatternMailTo, '<a href="mailto:$1">$1</a>');
22
- return replacedText;
23
- }
24
- else
25
- return message;
26
- }
27
- }
28
- LinkfyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LinkfyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
29
- LinkfyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: LinkfyPipe, name: "linkfy" });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LinkfyPipe, decorators: [{
31
- type: Pipe,
32
- args: [{ name: 'linkfy' }]
33
- }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2Z5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0L3NyYy9saWIvcGlwZXMvbGlua2Z5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBRXBEOztFQUVFO0FBRUYsTUFBTSxPQUFPLFVBQVU7SUFDbkIsU0FBUyxDQUFDLE9BQWUsRUFBRSxXQUFvQjtRQUMzQyxJQUFJLFdBQVcsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQ2hEO1lBQ0ksSUFBSSxZQUFZLENBQUM7WUFDakIsSUFBSSxzQkFBc0IsQ0FBQztZQUMzQixJQUFJLGlCQUFpQixDQUFDO1lBQ3RCLElBQUksb0JBQW9CLENBQUM7WUFFekIsa0RBQWtEO1lBQ2xELHNCQUFzQixHQUFHLHlFQUF5RSxDQUFDO1lBQ25HLFlBQVksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLHFDQUFxQyxDQUFDLENBQUM7WUFFOUYscURBQXFEO1lBQ3JELGlCQUFpQixHQUFHLGdDQUFnQyxDQUFDO1lBQ3JELFlBQVksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLDhDQUE4QyxDQUFDLENBQUM7WUFFdkcsNENBQTRDO1lBQzVDLG9CQUFvQixHQUFHLDBEQUEwRCxDQUFDO1lBQ2xGLFlBQVksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLDRCQUE0QixDQUFDLENBQUM7WUFFeEYsT0FBTyxZQUFZLENBQUM7U0FDdkI7O1lBRUcsT0FBTyxPQUFPLENBQUM7SUFDdkIsQ0FBQzs7dUdBekJRLFVBQVU7cUdBQVYsVUFBVTsyRkFBVixVQUFVO2tCQUR0QixJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLypcbiAqIFRyYW5zZm9ybXMgdGV4dCBjb250YWluaW5nIFVSTHMgb3IgRS1tYWlscyB0byB2YWxpZCBsaW5rcy9tYWlsdG9zXG4qL1xuQFBpcGUoe25hbWU6ICdsaW5rZnknfSlcbmV4cG9ydCBjbGFzcyBMaW5rZnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKG1lc3NhZ2U6IHN0cmluZywgcGlwZUVuYWJsZWQ6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgICAgICBpZiAocGlwZUVuYWJsZWQgJiYgbWVzc2FnZSAmJiBtZXNzYWdlLmxlbmd0aCA+IDEpXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxldCByZXBsYWNlZFRleHQ7XG4gICAgICAgICAgICBsZXQgcmVwbGFjZVBhdHRlcm5Qcm90b2NvbDtcbiAgICAgICAgICAgIGxldCByZXBsYWNlUGF0dGVybldXVztcbiAgICAgICAgICAgIGxldCByZXBsYWNlUGF0dGVybk1haWxUbztcblxuICAgICAgICAgICAgLy8gVVJMcyBzdGFydGluZyB3aXRoIGh0dHA6Ly8sIGh0dHBzOi8vLCBvciBmdHA6Ly9cbiAgICAgICAgICAgIHJlcGxhY2VQYXR0ZXJuUHJvdG9jb2wgPSAvKFxcYihodHRwcz98ZnRwKTpcXC9cXC9bLUEtWjAtOSsmQCNcXC8lPz1+X3whOiwuO10qWy1BLVowLTkrJkAjXFwvJT1+X3xdKS9naW07XG4gICAgICAgICAgICByZXBsYWNlZFRleHQgPSBtZXNzYWdlLnJlcGxhY2UocmVwbGFjZVBhdHRlcm5Qcm90b2NvbCwgJzxhIGhyZWY9XCIkMVwiIHRhcmdldD1cIl9ibGFua1wiPiQxPC9hPicpO1xuXG4gICAgICAgICAgICAvLyBVUkxzIHN0YXJ0aW5nIHdpdGggXCJ3d3cuXCIgKGlnbm9yaW5nIC8vIGJlZm9yZSBpdCkuXG4gICAgICAgICAgICByZXBsYWNlUGF0dGVybldXVyA9IC8oXnxbXlxcL10pKHd3d1xcLltcXFNdKyhcXGJ8JCkpL2dpbTtcbiAgICAgICAgICAgIHJlcGxhY2VkVGV4dCA9IHJlcGxhY2VkVGV4dC5yZXBsYWNlKHJlcGxhY2VQYXR0ZXJuV1dXLCAnJDE8YSBocmVmPVwiaHR0cDovLyQyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+JDI8L2E+Jyk7XG5cbiAgICAgICAgICAgIC8vIENoYW5nZSBlbWFpbCBhZGRyZXNzZXMgdG8gbWFpbHRvOjogbGlua3MuXG4gICAgICAgICAgICByZXBsYWNlUGF0dGVybk1haWxUbyA9IC8oKFthLXpBLVowLTlcXC1cXF9cXC5dKStAW2EtekEtWlxcX10rPyhcXC5bYS16QS1aXXsyLDZ9KSspL2dpbTtcbiAgICAgICAgICAgIHJlcGxhY2VkVGV4dCA9IHJlcGxhY2VkVGV4dC5yZXBsYWNlKHJlcGxhY2VQYXR0ZXJuTWFpbFRvLCAnPGEgaHJlZj1cIm1haWx0bzokMVwiPiQxPC9hPicpO1xuXG4gICAgICAgICAgICByZXR1cm4gcmVwbGFjZWRUZXh0O1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgIH1cbn1cbiJdfQ==