@streamplace/components 0.9.0 → 0.9.1

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 (138) hide show
  1. package/dist/components/chat/chat-box.d.ts.map +1 -1
  2. package/dist/components/chat/chat-box.js +90 -34
  3. package/dist/components/chat/chat-box.js.map +1 -1
  4. package/dist/components/chat/chat-message.d.ts +4 -0
  5. package/dist/components/chat/chat-message.d.ts.map +1 -1
  6. package/dist/components/chat/chat-message.js +3 -2
  7. package/dist/components/chat/chat-message.js.map +1 -1
  8. package/dist/components/chat/chat.d.ts.map +1 -1
  9. package/dist/components/chat/chat.js +56 -3
  10. package/dist/components/chat/chat.js.map +1 -1
  11. package/dist/components/chat/emoji-suggestions.d.ts.map +1 -1
  12. package/dist/components/chat/emoji-suggestions.js +11 -11
  13. package/dist/components/chat/emoji-suggestions.js.map +1 -1
  14. package/dist/components/chat/mention-suggestions.d.ts.map +1 -1
  15. package/dist/components/chat/mention-suggestions.js +20 -19
  16. package/dist/components/chat/mention-suggestions.js.map +1 -1
  17. package/dist/components/chat/system-message.d.ts +5 -1
  18. package/dist/components/chat/system-message.d.ts.map +1 -1
  19. package/dist/components/chat/system-message.js +4 -4
  20. package/dist/components/chat/system-message.js.map +1 -1
  21. package/dist/components/mobile-player/shared.d.ts +1 -1
  22. package/dist/components/mobile-player/shared.d.ts.map +1 -1
  23. package/dist/components/mobile-player/shared.js +11 -10
  24. package/dist/components/mobile-player/shared.js.map +1 -1
  25. package/dist/components/mobile-player/ui/viewer-context-menu.d.ts +1 -1
  26. package/dist/components/mobile-player/ui/viewer-context-menu.d.ts.map +1 -1
  27. package/dist/components/mobile-player/ui/viewer-context-menu.js +60 -43
  28. package/dist/components/mobile-player/ui/viewer-context-menu.js.map +1 -1
  29. package/dist/components/stream-notification/index.d.ts +3 -0
  30. package/dist/components/stream-notification/index.d.ts.map +1 -0
  31. package/dist/components/stream-notification/index.js +9 -0
  32. package/dist/components/stream-notification/index.js.map +1 -0
  33. package/dist/components/stream-notification/stream-notification-manager.d.ts +36 -0
  34. package/dist/components/stream-notification/stream-notification-manager.d.ts.map +1 -0
  35. package/dist/components/stream-notification/stream-notification-manager.js +96 -0
  36. package/dist/components/stream-notification/stream-notification-manager.js.map +1 -0
  37. package/dist/components/stream-notification/stream-notification.d.ts +5 -0
  38. package/dist/components/stream-notification/stream-notification.d.ts.map +1 -0
  39. package/dist/components/stream-notification/stream-notification.js +146 -0
  40. package/dist/components/stream-notification/stream-notification.js.map +1 -0
  41. package/dist/components/stream-notification/teleport-notification.d.ts +8 -0
  42. package/dist/components/stream-notification/teleport-notification.d.ts.map +1 -0
  43. package/dist/components/stream-notification/teleport-notification.js +116 -0
  44. package/dist/components/stream-notification/teleport-notification.js.map +1 -0
  45. package/dist/components/ui/button.d.ts +1 -1
  46. package/dist/components/ui/button.d.ts.map +1 -1
  47. package/dist/components/ui/button.js +7 -0
  48. package/dist/components/ui/button.js.map +1 -1
  49. package/dist/components/ui/dialog.d.ts +2 -2
  50. package/dist/components/ui/dropdown.d.ts +4 -0
  51. package/dist/components/ui/dropdown.d.ts.map +1 -1
  52. package/dist/components/ui/dropdown.js +41 -15
  53. package/dist/components/ui/dropdown.js.map +1 -1
  54. package/dist/components/ui/index.d.ts +1 -0
  55. package/dist/components/ui/index.d.ts.map +1 -1
  56. package/dist/components/ui/index.js +1 -0
  57. package/dist/components/ui/index.js.map +1 -1
  58. package/dist/components/ui/portal.d.ts +2 -0
  59. package/dist/components/ui/portal.d.ts.map +1 -0
  60. package/dist/components/ui/portal.js +5 -0
  61. package/dist/components/ui/portal.js.map +1 -0
  62. package/dist/components/ui/portal.web.d.ts +11 -0
  63. package/dist/components/ui/portal.web.d.ts.map +1 -0
  64. package/dist/components/ui/portal.web.js +22 -0
  65. package/dist/components/ui/portal.web.js.map +1 -0
  66. package/dist/components/ui/resizeable.d.ts +2 -1
  67. package/dist/components/ui/resizeable.d.ts.map +1 -1
  68. package/dist/components/ui/resizeable.js +68 -26
  69. package/dist/components/ui/resizeable.js.map +1 -1
  70. package/dist/components/ui/text.d.ts +1 -1
  71. package/dist/components/ui/view.d.ts +3 -3
  72. package/dist/index.d.ts +2 -0
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +2 -0
  75. package/dist/index.js.map +1 -1
  76. package/dist/lib/slash-commands/teleport.d.ts +4 -0
  77. package/dist/lib/slash-commands/teleport.d.ts.map +1 -0
  78. package/dist/lib/slash-commands/teleport.js +110 -0
  79. package/dist/lib/slash-commands/teleport.js.map +1 -0
  80. package/dist/lib/slash-commands.d.ts +16 -0
  81. package/dist/lib/slash-commands.d.ts.map +1 -0
  82. package/dist/lib/slash-commands.js +46 -0
  83. package/dist/lib/slash-commands.js.map +1 -0
  84. package/dist/lib/stream-notifications.d.ts +13 -0
  85. package/dist/lib/stream-notifications.d.ts.map +1 -0
  86. package/dist/lib/stream-notifications.js +46 -0
  87. package/dist/lib/stream-notifications.js.map +1 -0
  88. package/dist/lib/system-messages.d.ts +4 -8
  89. package/dist/lib/system-messages.d.ts.map +1 -1
  90. package/dist/lib/system-messages.js +38 -2
  91. package/dist/lib/system-messages.js.map +1 -1
  92. package/dist/lib/theme/atoms.d.ts +193 -193
  93. package/dist/livestream-provider/index.d.ts +7 -2
  94. package/dist/livestream-provider/index.d.ts.map +1 -1
  95. package/dist/livestream-provider/index.js +72 -4
  96. package/dist/livestream-provider/index.js.map +1 -1
  97. package/dist/livestream-store/livestream-state.d.ts +4 -1
  98. package/dist/livestream-store/livestream-state.d.ts.map +1 -1
  99. package/dist/livestream-store/livestream-store.d.ts.map +1 -1
  100. package/dist/livestream-store/livestream-store.js +3 -0
  101. package/dist/livestream-store/livestream-store.js.map +1 -1
  102. package/dist/livestream-store/websocket-consumer.d.ts.map +1 -1
  103. package/dist/livestream-store/websocket-consumer.js +30 -43
  104. package/dist/livestream-store/websocket-consumer.js.map +1 -1
  105. package/dist/streamplace-store/index.d.ts +1 -0
  106. package/dist/streamplace-store/index.d.ts.map +1 -1
  107. package/dist/streamplace-store/index.js +1 -0
  108. package/dist/streamplace-store/index.js.map +1 -1
  109. package/node-compile-cache/v22.15.0-x64-efe9a9df-0/37be0eec +0 -0
  110. package/package.json +4 -2
  111. package/src/components/chat/chat-box.tsx +126 -53
  112. package/src/components/chat/chat-message.tsx +1 -1
  113. package/src/components/chat/chat.tsx +79 -5
  114. package/src/components/chat/emoji-suggestions.tsx +27 -25
  115. package/src/components/chat/mention-suggestions.tsx +36 -33
  116. package/src/components/chat/system-message.tsx +14 -5
  117. package/src/components/mobile-player/shared.tsx +2 -1
  118. package/src/components/mobile-player/ui/viewer-context-menu.tsx +192 -166
  119. package/src/components/stream-notification/index.ts +5 -0
  120. package/src/components/stream-notification/stream-notification-manager.ts +140 -0
  121. package/src/components/stream-notification/stream-notification.tsx +227 -0
  122. package/src/components/stream-notification/teleport-notification.tsx +187 -0
  123. package/src/components/ui/button.tsx +7 -0
  124. package/src/components/ui/dropdown.tsx +96 -26
  125. package/src/components/ui/index.ts +1 -0
  126. package/src/components/ui/portal.tsx +1 -0
  127. package/src/components/ui/portal.web.tsx +37 -0
  128. package/src/components/ui/resizeable.tsx +89 -35
  129. package/src/index.tsx +3 -0
  130. package/src/lib/slash-commands/teleport.ts +136 -0
  131. package/src/lib/slash-commands.ts +65 -0
  132. package/src/lib/stream-notifications.ts +51 -0
  133. package/src/lib/system-messages.ts +52 -2
  134. package/src/livestream-provider/index.tsx +106 -3
  135. package/src/livestream-store/livestream-state.tsx +4 -0
  136. package/src/livestream-store/livestream-store.tsx +3 -0
  137. package/src/livestream-store/websocket-consumer.tsx +35 -54
  138. package/src/streamplace-store/index.tsx +1 -0
@@ -6,6 +6,7 @@ var SystemMessageType;
6
6
  SystemMessageType["stream_start"] = "stream_start";
7
7
  SystemMessageType["stream_end"] = "stream_end";
8
8
  SystemMessageType["notification"] = "notification";
9
+ SystemMessageType["command_error"] = "command_error";
9
10
  })(SystemMessageType || (exports.SystemMessageType = SystemMessageType = {}));
10
11
  /**
11
12
  * Creates a system message with the proper structure
@@ -14,11 +15,13 @@ var SystemMessageType;
14
15
  * @param metadata Optional metadata for the message
15
16
  * @returns A properly formatted ChatMessageViewHydrated object
16
17
  */
18
+ let systemMessageCounter = 0;
17
19
  const createSystemMessage = (type, text, metadata, date = new Date()) => {
18
20
  const now = date;
21
+ const uniqueId = `${now.getTime()}-${systemMessageCounter++}`;
19
22
  return {
20
- uri: `at://did:sys:system/place.stream.chat.message/${now.getTime()}`,
21
- cid: `system-${now.getTime()}`,
23
+ uri: `at://did:sys:system/place.stream.chat.message/${uniqueId}`,
24
+ cid: `system-${uniqueId}`,
22
25
  author: {
23
26
  did: "did:sys:system",
24
27
  handle: type, // Use handle to specify the type of system message
@@ -47,7 +50,40 @@ exports.SystemMessages = {
47
50
  // technically, streams can't 'end' on Streamplace
48
51
  // possibly we could use deleting or editing streams (`endedAt` param) for this?
49
52
  streamEnd: (duration) => (0, exports.createSystemMessage)(SystemMessageType.stream_end, duration ? `Stream has ended. Duration: ${duration}` : "Stream has ended", { duration }),
53
+ teleportArrival: (streamerName, streamerDid, count, chatProfile) => {
54
+ const text = count > 0
55
+ ? `${count} viewer${count !== 1 ? "s" : ""} teleported from ${streamerName}'s stream! Say hi!`
56
+ : `Someone teleported from ${streamerName}'s stream! Say hi!`;
57
+ const message = (0, exports.createSystemMessage)(SystemMessageType.notification, text, {
58
+ streamerName,
59
+ count,
60
+ });
61
+ // create a mention facet for the streamer name so it gets colored using existing mention rendering
62
+ if (chatProfile && streamerDid) {
63
+ const nameStart = text.indexOf(streamerName);
64
+ // encode byte positions
65
+ const encoder = new TextEncoder();
66
+ const byteStart = encoder.encode(text.substring(0, nameStart)).length;
67
+ const byteEnd = byteStart + encoder.encode(streamerName).length;
68
+ message.record.facets = [
69
+ {
70
+ index: {
71
+ byteStart,
72
+ byteEnd,
73
+ },
74
+ features: [
75
+ {
76
+ $type: "app.bsky.richtext.facet#mention",
77
+ did: streamerDid,
78
+ },
79
+ ],
80
+ },
81
+ ];
82
+ }
83
+ return message;
84
+ },
50
85
  notification: (message) => (0, exports.createSystemMessage)(SystemMessageType.notification, message),
86
+ commandError: (message) => (0, exports.createSystemMessage)(SystemMessageType.command_error, message),
51
87
  };
52
88
  /**
53
89
  * Checks if a message is a system message
@@ -1 +1 @@
1
- {"version":3,"file":"system-messages.js","sourceRoot":"","sources":["../../src/lib/system-messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-messages.js","sourceRoot":"","sources":["../../src/lib/system-messages.ts"],"names":[],"mappings":"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"}