chainlit 1.1.202__py3-none-any.whl → 1.1.300rc0__py3-none-any.whl
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.
Potentially problematic release.
This version of chainlit might be problematic. Click here for more details.
- chainlit/__init__.py +19 -3
- chainlit/config.py +21 -18
- chainlit/copilot/dist/index.js +429 -396
- chainlit/data/__init__.py +16 -5
- chainlit/data/sql_alchemy.py +44 -25
- chainlit/discord/app.py +4 -2
- chainlit/element.py +4 -12
- chainlit/frontend/dist/assets/{DailyMotion-53376209.js → DailyMotion-e54bf0dc.js} +1 -1
- chainlit/frontend/dist/assets/{Facebook-aee41f5b.js → Facebook-a767c817.js} +1 -1
- chainlit/frontend/dist/assets/{FilePlayer-b2cdb30f.js → FilePlayer-5d19f3d1.js} +1 -1
- chainlit/frontend/dist/assets/{Kaltura-51db0377.js → Kaltura-93bef413.js} +1 -1
- chainlit/frontend/dist/assets/{Mixcloud-cb900886.js → Mixcloud-d5d27c2a.js} +1 -1
- chainlit/frontend/dist/assets/{Mux-79ac59e6.js → Mux-ad063035.js} +1 -1
- chainlit/frontend/dist/assets/{Preview-cfe7584c.js → Preview-a9a0e47e.js} +1 -1
- chainlit/frontend/dist/assets/{SoundCloud-a985707c.js → SoundCloud-1698c4da.js} +1 -1
- chainlit/frontend/dist/assets/{Streamable-3d89aab5.js → Streamable-e5832da9.js} +1 -1
- chainlit/frontend/dist/assets/{Twitch-bf016588.js → Twitch-cd321ef4.js} +1 -1
- chainlit/frontend/dist/assets/{Vidyard-1891ecd7.js → Vidyard-8646c638.js} +1 -1
- chainlit/frontend/dist/assets/{Vimeo-0645662c.js → Vimeo-0e590e3a.js} +1 -1
- chainlit/frontend/dist/assets/{Wistia-3b449fe2.js → Wistia-76f0c9b0.js} +1 -1
- chainlit/frontend/dist/assets/{YouTube-5ea2381e.js → YouTube-a94756f4.js} +1 -1
- chainlit/frontend/dist/assets/index-51fef15f.js +727 -0
- chainlit/frontend/dist/assets/index-53c62926.css +1 -0
- chainlit/frontend/dist/assets/{react-plotly-2ff19c9f.js → react-plotly-d9ffbf69.js} +1 -1
- chainlit/frontend/dist/index.html +2 -2
- chainlit/langchain/callbacks.py +4 -2
- chainlit/llama_index/callbacks.py +2 -2
- chainlit/message.py +17 -17
- chainlit/server.py +38 -38
- chainlit/slack/app.py +0 -1
- chainlit/socket.py +1 -3
- chainlit/step.py +24 -25
- chainlit/translations/en-US.json +1 -3
- chainlit/types.py +10 -0
- chainlit/utils.py +4 -3
- {chainlit-1.1.202.dist-info → chainlit-1.1.300rc0.dist-info}/METADATA +6 -7
- chainlit-1.1.300rc0.dist-info/RECORD +77 -0
- chainlit/frontend/dist/assets/index-a0c5a67e.js +0 -698
- chainlit/frontend/dist/assets/index-d088547c.css +0 -1
- chainlit/playground/__init__.py +0 -2
- chainlit/playground/config.py +0 -36
- chainlit/playground/provider.py +0 -108
- chainlit/playground/providers/__init__.py +0 -11
- chainlit/playground/providers/anthropic.py +0 -118
- chainlit/playground/providers/huggingface.py +0 -75
- chainlit/playground/providers/langchain.py +0 -89
- chainlit/playground/providers/openai.py +0 -386
- chainlit/playground/providers/vertexai.py +0 -171
- chainlit-1.1.202.dist-info/RECORD +0 -86
- {chainlit-1.1.202.dist-info → chainlit-1.1.300rc0.dist-info}/WHEEL +0 -0
- {chainlit-1.1.202.dist-info → chainlit-1.1.300rc0.dist-info}/entry_points.txt +0 -0
chainlit/data/__init__.py
CHANGED
|
@@ -94,7 +94,7 @@ class BaseDataLayer:
|
|
|
94
94
|
pass
|
|
95
95
|
|
|
96
96
|
@queue_until_user_message()
|
|
97
|
-
async def delete_element(self, element_id: str):
|
|
97
|
+
async def delete_element(self, element_id: str, thread_id: Optional[str] = None):
|
|
98
98
|
pass
|
|
99
99
|
|
|
100
100
|
@queue_until_user_message()
|
|
@@ -139,6 +139,9 @@ class BaseDataLayer:
|
|
|
139
139
|
async def delete_user_session(self, id: str) -> bool:
|
|
140
140
|
return True
|
|
141
141
|
|
|
142
|
+
async def build_debug_url(self) -> str:
|
|
143
|
+
return ""
|
|
144
|
+
|
|
142
145
|
|
|
143
146
|
_data_layer: Optional[BaseDataLayer] = None
|
|
144
147
|
|
|
@@ -225,6 +228,14 @@ class ChainlitDataLayer(BaseDataLayer):
|
|
|
225
228
|
"waitForAnswer": metadata.get("waitForAnswer", False),
|
|
226
229
|
}
|
|
227
230
|
|
|
231
|
+
async def build_debug_url(self) -> str:
|
|
232
|
+
try:
|
|
233
|
+
project_id = await self.client.api.get_my_project_id()
|
|
234
|
+
return f"{self.client.api.url}/projects/{project_id}/threads?threadId=[thread_id]¤tStepId=[step_id]"
|
|
235
|
+
except Exception as e:
|
|
236
|
+
logger.error(f"Error building debug url: {e}")
|
|
237
|
+
return ""
|
|
238
|
+
|
|
228
239
|
async def get_user(self, identifier: str) -> Optional[PersistedUser]:
|
|
229
240
|
user = await self.client.api.get_user(identifier=identifier)
|
|
230
241
|
if not user:
|
|
@@ -341,7 +352,7 @@ class ChainlitDataLayer(BaseDataLayer):
|
|
|
341
352
|
return self.attachment_to_element_dict(attachment)
|
|
342
353
|
|
|
343
354
|
@queue_until_user_message()
|
|
344
|
-
async def delete_element(self, element_id: str):
|
|
355
|
+
async def delete_element(self, element_id: str, thread_id: Optional[str] = None):
|
|
345
356
|
await self.client.api.delete_attachment(id=element_id)
|
|
346
357
|
|
|
347
358
|
@queue_until_user_message()
|
|
@@ -456,12 +467,12 @@ class ChainlitDataLayer(BaseDataLayer):
|
|
|
456
467
|
steps = [] # List[StepDict]
|
|
457
468
|
if thread.steps:
|
|
458
469
|
for step in thread.steps:
|
|
459
|
-
if config.ui.hide_cot and
|
|
470
|
+
if config.ui.hide_cot and (
|
|
471
|
+
step.parent_id or "message" not in step.type
|
|
472
|
+
):
|
|
460
473
|
continue
|
|
461
474
|
for attachment in step.attachments:
|
|
462
475
|
elements.append(self.attachment_to_element_dict(attachment))
|
|
463
|
-
if not config.features.prompt_playground and step.generation:
|
|
464
|
-
step.generation = None
|
|
465
476
|
steps.append(self.step_to_step_dict(step))
|
|
466
477
|
|
|
467
478
|
return {
|
chainlit/data/sql_alchemy.py
CHANGED
|
@@ -9,7 +9,7 @@ import aiofiles
|
|
|
9
9
|
import aiohttp
|
|
10
10
|
from chainlit.context import context
|
|
11
11
|
from chainlit.data import BaseDataLayer, BaseStorageClient, queue_until_user_message
|
|
12
|
-
from chainlit.element import
|
|
12
|
+
from chainlit.element import ElementDict
|
|
13
13
|
from chainlit.logger import logger
|
|
14
14
|
from chainlit.step import StepDict
|
|
15
15
|
from chainlit.types import (
|
|
@@ -57,13 +57,17 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
57
57
|
self.async_session = sessionmaker(bind=self.engine, expire_on_commit=False, class_=AsyncSession) # type: ignore
|
|
58
58
|
if storage_provider:
|
|
59
59
|
self.storage_provider: Optional[BaseStorageClient] = storage_provider
|
|
60
|
-
if self.show_logger:
|
|
60
|
+
if self.show_logger:
|
|
61
|
+
logger.info("SQLAlchemyDataLayer storage client initialized")
|
|
61
62
|
else:
|
|
62
63
|
self.storage_provider = None
|
|
63
64
|
logger.warn(
|
|
64
65
|
"SQLAlchemyDataLayer storage client is not initialized and elements will not be persisted!"
|
|
65
66
|
)
|
|
66
67
|
|
|
68
|
+
async def build_debug_url(self) -> str:
|
|
69
|
+
return ""
|
|
70
|
+
|
|
67
71
|
###### SQL Helpers ######
|
|
68
72
|
async def execute_sql(
|
|
69
73
|
self, query: str, parameters: dict
|
|
@@ -104,7 +108,8 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
104
108
|
|
|
105
109
|
###### User ######
|
|
106
110
|
async def get_user(self, identifier: str) -> Optional[PersistedUser]:
|
|
107
|
-
if self.show_logger:
|
|
111
|
+
if self.show_logger:
|
|
112
|
+
logger.info(f"SQLAlchemy: get_user, identifier={identifier}")
|
|
108
113
|
query = "SELECT * FROM users WHERE identifier = :identifier"
|
|
109
114
|
parameters = {"identifier": identifier}
|
|
110
115
|
result = await self.execute_sql(query=query, parameters=parameters)
|
|
@@ -114,20 +119,23 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
114
119
|
return None
|
|
115
120
|
|
|
116
121
|
async def create_user(self, user: User) -> Optional[PersistedUser]:
|
|
117
|
-
if self.show_logger:
|
|
122
|
+
if self.show_logger:
|
|
123
|
+
logger.info(f"SQLAlchemy: create_user, user_identifier={user.identifier}")
|
|
118
124
|
existing_user: Optional["PersistedUser"] = await self.get_user(user.identifier)
|
|
119
125
|
user_dict: Dict[str, Any] = {
|
|
120
126
|
"identifier": str(user.identifier),
|
|
121
127
|
"metadata": json.dumps(user.metadata) or {},
|
|
122
128
|
}
|
|
123
129
|
if not existing_user: # create the user
|
|
124
|
-
if self.show_logger:
|
|
130
|
+
if self.show_logger:
|
|
131
|
+
logger.info("SQLAlchemy: create_user, creating the user")
|
|
125
132
|
user_dict["id"] = str(uuid.uuid4())
|
|
126
133
|
user_dict["createdAt"] = await self.get_current_timestamp()
|
|
127
134
|
query = """INSERT INTO users ("id", "identifier", "createdAt", "metadata") VALUES (:id, :identifier, :createdAt, :metadata)"""
|
|
128
135
|
await self.execute_sql(query=query, parameters=user_dict)
|
|
129
136
|
else: # update the user
|
|
130
|
-
if self.show_logger:
|
|
137
|
+
if self.show_logger:
|
|
138
|
+
logger.info("SQLAlchemy: update user metadata")
|
|
131
139
|
query = """UPDATE users SET "metadata" = :metadata WHERE "identifier" = :identifier"""
|
|
132
140
|
await self.execute_sql(
|
|
133
141
|
query=query, parameters=user_dict
|
|
@@ -136,7 +144,8 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
136
144
|
|
|
137
145
|
###### Threads ######
|
|
138
146
|
async def get_thread_author(self, thread_id: str) -> str:
|
|
139
|
-
if self.show_logger:
|
|
147
|
+
if self.show_logger:
|
|
148
|
+
logger.info(f"SQLAlchemy: get_thread_author, thread_id={thread_id}")
|
|
140
149
|
query = """SELECT "userIdentifier" FROM threads WHERE "id" = :id"""
|
|
141
150
|
parameters = {"id": thread_id}
|
|
142
151
|
result = await self.execute_sql(query=query, parameters=parameters)
|
|
@@ -147,7 +156,8 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
147
156
|
raise ValueError(f"Author not found for thread_id {thread_id}")
|
|
148
157
|
|
|
149
158
|
async def get_thread(self, thread_id: str) -> Optional[ThreadDict]:
|
|
150
|
-
if self.show_logger:
|
|
159
|
+
if self.show_logger:
|
|
160
|
+
logger.info(f"SQLAlchemy: get_thread, thread_id={thread_id}")
|
|
151
161
|
user_threads: Optional[List[ThreadDict]] = await self.get_all_user_threads(
|
|
152
162
|
thread_id=thread_id
|
|
153
163
|
)
|
|
@@ -164,7 +174,8 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
164
174
|
metadata: Optional[Dict] = None,
|
|
165
175
|
tags: Optional[List[str]] = None,
|
|
166
176
|
):
|
|
167
|
-
if self.show_logger:
|
|
177
|
+
if self.show_logger:
|
|
178
|
+
logger.info(f"SQLAlchemy: update_thread, thread_id={thread_id}")
|
|
168
179
|
if context.session.user is not None:
|
|
169
180
|
user_identifier = context.session.user.identifier
|
|
170
181
|
else:
|
|
@@ -201,7 +212,8 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
201
212
|
await self.execute_sql(query=query, parameters=parameters)
|
|
202
213
|
|
|
203
214
|
async def delete_thread(self, thread_id: str):
|
|
204
|
-
if self.show_logger:
|
|
215
|
+
if self.show_logger:
|
|
216
|
+
logger.info(f"SQLAlchemy: delete_thread, thread_id={thread_id}")
|
|
205
217
|
# Delete feedbacks/elements/steps/thread
|
|
206
218
|
feedbacks_query = """DELETE FROM feedbacks WHERE "forId" IN (SELECT "id" FROM steps WHERE "threadId" = :id)"""
|
|
207
219
|
elements_query = """DELETE FROM elements WHERE "threadId" = :id"""
|
|
@@ -216,9 +228,10 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
216
228
|
async def list_threads(
|
|
217
229
|
self, pagination: Pagination, filters: ThreadFilter
|
|
218
230
|
) -> PaginatedResponse:
|
|
219
|
-
if self.show_logger:
|
|
220
|
-
|
|
221
|
-
|
|
231
|
+
if self.show_logger:
|
|
232
|
+
logger.info(
|
|
233
|
+
f"SQLAlchemy: list_threads, pagination={pagination}, filters={filters}"
|
|
234
|
+
)
|
|
222
235
|
if not filters.userId:
|
|
223
236
|
raise ValueError("userId is required")
|
|
224
237
|
all_user_threads: List[ThreadDict] = (
|
|
@@ -276,7 +289,8 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
276
289
|
###### Steps ######
|
|
277
290
|
@queue_until_user_message()
|
|
278
291
|
async def create_step(self, step_dict: "StepDict"):
|
|
279
|
-
if self.show_logger:
|
|
292
|
+
if self.show_logger:
|
|
293
|
+
logger.info(f"SQLAlchemy: create_step, step_id={step_dict.get('id')}")
|
|
280
294
|
if not getattr(context.session.user, "id", None):
|
|
281
295
|
raise ValueError("No authenticated user in context")
|
|
282
296
|
step_dict["showInput"] = (
|
|
@@ -306,12 +320,14 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
306
320
|
|
|
307
321
|
@queue_until_user_message()
|
|
308
322
|
async def update_step(self, step_dict: "StepDict"):
|
|
309
|
-
if self.show_logger:
|
|
323
|
+
if self.show_logger:
|
|
324
|
+
logger.info(f"SQLAlchemy: update_step, step_id={step_dict.get('id')}")
|
|
310
325
|
await self.create_step(step_dict)
|
|
311
326
|
|
|
312
327
|
@queue_until_user_message()
|
|
313
328
|
async def delete_step(self, step_id: str):
|
|
314
|
-
if self.show_logger:
|
|
329
|
+
if self.show_logger:
|
|
330
|
+
logger.info(f"SQLAlchemy: delete_step, step_id={step_id}")
|
|
315
331
|
# Delete feedbacks/elements/steps
|
|
316
332
|
feedbacks_query = """DELETE FROM feedbacks WHERE "forId" = :id"""
|
|
317
333
|
elements_query = """DELETE FROM elements WHERE "forId" = :id"""
|
|
@@ -323,7 +339,8 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
323
339
|
|
|
324
340
|
###### Feedback ######
|
|
325
341
|
async def upsert_feedback(self, feedback: Feedback) -> str:
|
|
326
|
-
if self.show_logger:
|
|
342
|
+
if self.show_logger:
|
|
343
|
+
logger.info(f"SQLAlchemy: upsert_feedback, feedback_id={feedback.id}")
|
|
327
344
|
feedback.id = feedback.id or str(uuid.uuid4())
|
|
328
345
|
feedback_dict = asdict(feedback)
|
|
329
346
|
parameters = {
|
|
@@ -345,7 +362,8 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
345
362
|
return feedback.id
|
|
346
363
|
|
|
347
364
|
async def delete_feedback(self, feedback_id: str) -> bool:
|
|
348
|
-
if self.show_logger:
|
|
365
|
+
if self.show_logger:
|
|
366
|
+
logger.info(f"SQLAlchemy: delete_feedback, feedback_id={feedback_id}")
|
|
349
367
|
query = """DELETE FROM feedbacks WHERE "id" = :feedback_id"""
|
|
350
368
|
parameters = {"feedback_id": feedback_id}
|
|
351
369
|
await self.execute_sql(query=query, parameters=parameters)
|
|
@@ -354,11 +372,10 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
354
372
|
###### Elements ######
|
|
355
373
|
@queue_until_user_message()
|
|
356
374
|
async def create_element(self, element: "Element"):
|
|
357
|
-
if self.show_logger:
|
|
375
|
+
if self.show_logger:
|
|
376
|
+
logger.info(f"SQLAlchemy: create_element, element_id = {element.id}")
|
|
358
377
|
if not getattr(context.session.user, "id", None):
|
|
359
378
|
raise ValueError("No authenticated user in context")
|
|
360
|
-
if isinstance(element, Avatar): # Skip creating elements of type avatar
|
|
361
|
-
return
|
|
362
379
|
if not self.storage_provider:
|
|
363
380
|
logger.warn(
|
|
364
381
|
f"SQLAlchemy: create_element error. No blob_storage_client is configured!"
|
|
@@ -416,8 +433,9 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
416
433
|
await self.execute_sql(query=query, parameters=element_dict_cleaned)
|
|
417
434
|
|
|
418
435
|
@queue_until_user_message()
|
|
419
|
-
async def delete_element(self, element_id: str):
|
|
420
|
-
if self.show_logger:
|
|
436
|
+
async def delete_element(self, element_id: str, thread_id: Optional[str] = None):
|
|
437
|
+
if self.show_logger:
|
|
438
|
+
logger.info(f"SQLAlchemy: delete_element, element_id={element_id}")
|
|
421
439
|
query = """DELETE FROM elements WHERE "id" = :id"""
|
|
422
440
|
parameters = {"id": element_id}
|
|
423
441
|
await self.execute_sql(query=query, parameters=parameters)
|
|
@@ -429,7 +447,8 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
429
447
|
self, user_id: Optional[str] = None, thread_id: Optional[str] = None
|
|
430
448
|
) -> Optional[List[ThreadDict]]:
|
|
431
449
|
"""Fetch all user threads up to self.user_thread_limit, or one thread by id if thread_id is provided."""
|
|
432
|
-
if self.show_logger:
|
|
450
|
+
if self.show_logger:
|
|
451
|
+
logger.info(f"SQLAlchemy: get_all_user_threads")
|
|
433
452
|
user_threads_query = """
|
|
434
453
|
SELECT
|
|
435
454
|
"id" AS thread_id,
|
|
@@ -563,7 +582,7 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
563
582
|
tags=step_feedback.get("step_tags"),
|
|
564
583
|
input=(
|
|
565
584
|
step_feedback.get("step_input", "")
|
|
566
|
-
if step_feedback["step_showinput"] == "true"
|
|
585
|
+
if step_feedback["step_showinput"] == "true"
|
|
567
586
|
else None
|
|
568
587
|
),
|
|
569
588
|
output=step_feedback.get("step_output", ""),
|
chainlit/discord/app.py
CHANGED
|
@@ -104,7 +104,6 @@ class DiscordEmitter(BaseChainlitEmitter):
|
|
|
104
104
|
is_message = step_type in [
|
|
105
105
|
"user_message",
|
|
106
106
|
"assistant_message",
|
|
107
|
-
"system_message",
|
|
108
107
|
]
|
|
109
108
|
is_chain_of_thought = bool(step_dict.get("parentId"))
|
|
110
109
|
is_empty_output = not step_dict.get("output")
|
|
@@ -315,8 +314,11 @@ async def on_message(message: discord.Message):
|
|
|
315
314
|
elif isinstance(message.channel, discord.GroupChannel):
|
|
316
315
|
thread_name = f"{message.channel.name}"
|
|
317
316
|
elif isinstance(message.channel, discord.TextChannel):
|
|
317
|
+
# Discord limits thread names to 100 characters and does not create
|
|
318
|
+
# threads from empty messages.
|
|
319
|
+
discord_thread_name = clean_content(message)[:100] or "Untitled"
|
|
318
320
|
channel = await message.channel.create_thread(
|
|
319
|
-
name=
|
|
321
|
+
name=discord_thread_name, message=message
|
|
320
322
|
)
|
|
321
323
|
thread_name = f"{channel.name}"
|
|
322
324
|
else:
|
chainlit/element.py
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import json
|
|
2
|
+
import mimetypes
|
|
2
3
|
import uuid
|
|
3
4
|
from enum import Enum
|
|
4
5
|
from io import BytesIO
|
|
5
6
|
from typing import Any, ClassVar, List, Literal, Optional, TypedDict, TypeVar, Union
|
|
6
7
|
|
|
7
8
|
import filetype
|
|
8
|
-
import mimetypes
|
|
9
9
|
from chainlit.context import context
|
|
10
10
|
from chainlit.data import get_data_layer
|
|
11
11
|
from chainlit.logger import logger
|
|
@@ -21,7 +21,7 @@ mime_types = {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
ElementType = Literal[
|
|
24
|
-
"image", "
|
|
24
|
+
"image", "text", "pdf", "tasklist", "audio", "video", "file", "plotly"
|
|
25
25
|
]
|
|
26
26
|
ElementDisplay = Literal["inline", "side", "page"]
|
|
27
27
|
ElementSize = Literal["small", "medium", "large"]
|
|
@@ -152,7 +152,7 @@ class Element:
|
|
|
152
152
|
trace_event(f"remove {self.__class__.__name__}")
|
|
153
153
|
data_layer = get_data_layer()
|
|
154
154
|
if data_layer and self.persisted:
|
|
155
|
-
await data_layer.delete_element(self.id)
|
|
155
|
+
await data_layer.delete_element(self.id, self.thread_id)
|
|
156
156
|
await context.emitter.emit("remove_element", {"id": self.id})
|
|
157
157
|
|
|
158
158
|
async def send(self, for_id: str):
|
|
@@ -170,7 +170,7 @@ class Element:
|
|
|
170
170
|
)
|
|
171
171
|
if not self.mime and self.url:
|
|
172
172
|
self.mime = mimetypes.guess_type(self.url)[0]
|
|
173
|
-
|
|
173
|
+
|
|
174
174
|
await self._create()
|
|
175
175
|
|
|
176
176
|
if not self.url and not self.chainlit_key:
|
|
@@ -190,14 +190,6 @@ class Image(Element):
|
|
|
190
190
|
size: ElementSize = "medium"
|
|
191
191
|
|
|
192
192
|
|
|
193
|
-
@dataclass
|
|
194
|
-
class Avatar(Element):
|
|
195
|
-
type: ClassVar[ElementType] = "avatar"
|
|
196
|
-
|
|
197
|
-
async def send(self):
|
|
198
|
-
await super().send(for_id="")
|
|
199
|
-
|
|
200
|
-
|
|
201
193
|
@dataclass
|
|
202
194
|
class Text(Element):
|
|
203
195
|
"""Useful to send a text (not a message) to the UI."""
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as P,r as v,u as D,a as O}from"./index-
|
|
1
|
+
import{g as P,r as v,u as D,a as O}from"./index-51fef15f.js";function b(t,e){for(var r=0;r<e.length;r++){const o=e[r];if(typeof o!="string"&&!Array.isArray(o)){for(const a in o)if(a!=="default"&&!(a in t)){const i=Object.getOwnPropertyDescriptor(o,a);i&&Object.defineProperty(t,a,i.get?i:{enumerable:!0,get:()=>o[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var M=Object.create,s=Object.defineProperty,w=Object.getOwnPropertyDescriptor,S=Object.getOwnPropertyNames,j=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty,E=(t,e,r)=>e in t?s(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,A=(t,e)=>{for(var r in e)s(t,r,{get:e[r],enumerable:!0})},h=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of S(e))!T.call(t,a)&&a!==r&&s(t,a,{get:()=>e[a],enumerable:!(o=w(e,a))||o.enumerable});return t},L=(t,e,r)=>(r=t!=null?M(j(t)):{},h(e||!t||!t.__esModule?s(r,"default",{value:t,enumerable:!0}):r,t)),C=t=>h(s({},"__esModule",{value:!0}),t),n=(t,e,r)=>(E(t,typeof e!="symbol"?e+"":e,r),r),d={};A(d,{default:()=>p});var _=C(d),c=L(v),l=D,f=O;const x="https://api.dmcdn.net/all.js",N="DM",K="dmAsyncInit";class p extends c.Component{constructor(){super(...arguments),n(this,"callPlayer",l.callPlayer),n(this,"onDurationChange",()=>{const e=this.getDuration();this.props.onDuration(e)}),n(this,"mute",()=>{this.callPlayer("setMuted",!0)}),n(this,"unmute",()=>{this.callPlayer("setMuted",!1)}),n(this,"ref",e=>{this.container=e})}componentDidMount(){this.props.onMount&&this.props.onMount(this)}load(e){const{controls:r,config:o,onError:a,playing:i}=this.props,[,y]=e.match(f.MATCH_URL_DAILYMOTION);if(this.player){this.player.load(y,{start:(0,l.parseStartTime)(e),autoplay:i});return}(0,l.getSDK)(x,N,K,u=>u.player).then(u=>{if(!this.container)return;const g=u.player;this.player=new g(this.container,{width:"100%",height:"100%",video:y,params:{controls:r,autoplay:this.props.playing,mute:this.props.muted,start:(0,l.parseStartTime)(e),origin:window.location.origin,...o.params},events:{apiready:this.props.onReady,seeked:()=>this.props.onSeek(this.player.currentTime),video_end:this.props.onEnded,durationchange:this.onDurationChange,pause:this.props.onPause,playing:this.props.onPlay,waiting:this.props.onBuffer,error:m=>a(m)}})},a)}play(){this.callPlayer("play")}pause(){this.callPlayer("pause")}stop(){}seekTo(e,r=!0){this.callPlayer("seek",e),r||this.pause()}setVolume(e){this.callPlayer("setVolume",e)}getDuration(){return this.player.duration||null}getCurrentTime(){return this.player.currentTime}getSecondsLoaded(){return this.player.bufferedTime}render(){const{display:e}=this.props,r={width:"100%",height:"100%",display:e};return c.default.createElement("div",{style:r},c.default.createElement("div",{ref:this.ref}))}}n(p,"displayName","DailyMotion");n(p,"canPlay",f.canPlay.dailymotion);n(p,"loopOnEnded",!0);const R=P(_),I=b({__proto__:null,default:R},[_]);export{I as D};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as _,r as g,u as P,a as m}from"./index-
|
|
1
|
+
import{g as _,r as g,u as P,a as m}from"./index-51fef15f.js";function v(t,e){for(var r=0;r<e.length;r++){const a=e[r];if(typeof a!="string"&&!Array.isArray(a)){for(const s in a)if(s!=="default"&&!(s in t)){const p=Object.getOwnPropertyDescriptor(a,s);p&&Object.defineProperty(t,s,p.get?p:{enumerable:!0,get:()=>a[s]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var O=Object.create,i=Object.defineProperty,D=Object.getOwnPropertyDescriptor,E=Object.getOwnPropertyNames,S=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty,I=(t,e,r)=>e in t?i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,k=(t,e)=>{for(var r in e)i(t,r,{get:e[r],enumerable:!0})},h=(t,e,r,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of E(e))!j.call(t,s)&&s!==r&&i(t,s,{get:()=>e[s],enumerable:!(a=D(e,s))||a.enumerable});return t},w=(t,e,r)=>(r=t!=null?O(S(t)):{},h(e||!t||!t.__esModule?i(r,"default",{value:t,enumerable:!0}):r,t)),F=t=>h(i({},"__esModule",{value:!0}),t),o=(t,e,r)=>(I(t,typeof e!="symbol"?e+"":e,r),r),b={};k(b,{default:()=>l});var d=F(b),u=w(g),n=P,x=m;const c="https://connect.facebook.net/en_US/sdk.js",y="FB",f="fbAsyncInit",L="facebook-player-";class l extends u.Component{constructor(){super(...arguments),o(this,"callPlayer",n.callPlayer),o(this,"playerID",this.props.config.playerId||`${L}${(0,n.randomString)()}`),o(this,"mute",()=>{this.callPlayer("mute")}),o(this,"unmute",()=>{this.callPlayer("unmute")})}componentDidMount(){this.props.onMount&&this.props.onMount(this)}load(e,r){if(r){(0,n.getSDK)(c,y,f).then(a=>a.XFBML.parse());return}(0,n.getSDK)(c,y,f).then(a=>{a.init({appId:this.props.config.appId,xfbml:!0,version:this.props.config.version}),a.Event.subscribe("xfbml.render",s=>{this.props.onLoaded()}),a.Event.subscribe("xfbml.ready",s=>{s.type==="video"&&s.id===this.playerID&&(this.player=s.instance,this.player.subscribe("startedPlaying",this.props.onPlay),this.player.subscribe("paused",this.props.onPause),this.player.subscribe("finishedPlaying",this.props.onEnded),this.player.subscribe("startedBuffering",this.props.onBuffer),this.player.subscribe("finishedBuffering",this.props.onBufferEnd),this.player.subscribe("error",this.props.onError),this.props.muted?this.callPlayer("mute"):this.callPlayer("unmute"),this.props.onReady(),document.getElementById(this.playerID).querySelector("iframe").style.visibility="visible")})})}play(){this.callPlayer("play")}pause(){this.callPlayer("pause")}stop(){}seekTo(e,r=!0){this.callPlayer("seek",e),r||this.pause()}setVolume(e){this.callPlayer("setVolume",e)}getDuration(){return this.callPlayer("getDuration")}getCurrentTime(){return this.callPlayer("getCurrentPosition")}getSecondsLoaded(){return null}render(){const{attributes:e}=this.props.config,r={width:"100%",height:"100%"};return u.default.createElement("div",{style:r,id:this.playerID,className:"fb-video","data-href":this.props.url,"data-autoplay":this.props.playing?"true":"false","data-allowfullscreen":"true","data-controls":this.props.controls?"true":"false",...e})}}o(l,"displayName","Facebook");o(l,"canPlay",x.canPlay.facebook);o(l,"loopOnEnded",!0);const M=_(d),B=v({__proto__:null,default:M},[d]);export{B as F};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as b,r as _,u as O,a as A}from"./index-
|
|
1
|
+
import{g as b,r as _,u as O,a as A}from"./index-51fef15f.js";function R(s,e){for(var t=0;t<e.length;t++){const i=e[t];if(typeof i!="string"&&!Array.isArray(i)){for(const n in i)if(n!=="default"&&!(n in s)){const l=Object.getOwnPropertyDescriptor(i,n);l&&Object.defineProperty(s,n,l.get?l:{enumerable:!0,get:()=>i[n]})}}}return Object.freeze(Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}))}var I=Object.create,u=Object.defineProperty,D=Object.getOwnPropertyDescriptor,w=Object.getOwnPropertyNames,M=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty,U=(s,e,t)=>e in s?u(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,N=(s,e)=>{for(var t in e)u(s,t,{get:e[t],enumerable:!0})},E=(s,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of w(e))!k.call(s,n)&&n!==t&&u(s,n,{get:()=>e[n],enumerable:!(i=D(e,n))||i.enumerable});return s},j=(s,e,t)=>(t=s!=null?I(M(s)):{},E(e||!s||!s.__esModule?u(t,"default",{value:s,enumerable:!0}):t,s)),H=s=>E(u({},"__esModule",{value:!0}),s),r=(s,e,t)=>(U(s,typeof e!="symbol"?e+"":e,t),t),m={};N(m,{default:()=>P});var g=H(m),c=j(_),a=O,d=A;const y=typeof navigator<"u",F=y&&navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1,v=y&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||F)&&!window.MSStream,V=y&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent)&&!window.MSStream,T="https://cdn.jsdelivr.net/npm/hls.js@VERSION/dist/hls.min.js",C="Hls",B="https://cdnjs.cloudflare.com/ajax/libs/dashjs/VERSION/dash.all.min.js",x="dashjs",K="https://cdn.jsdelivr.net/npm/flv.js@VERSION/dist/flv.min.js",G="flvjs",X=/www\.dropbox\.com\/.+/,f=/https:\/\/watch\.cloudflarestream\.com\/([a-z0-9]+)/,W="https://videodelivery.net/{id}/manifest/video.m3u8";class P extends c.Component{constructor(){super(...arguments),r(this,"onReady",(...e)=>this.props.onReady(...e)),r(this,"onPlay",(...e)=>this.props.onPlay(...e)),r(this,"onBuffer",(...e)=>this.props.onBuffer(...e)),r(this,"onBufferEnd",(...e)=>this.props.onBufferEnd(...e)),r(this,"onPause",(...e)=>this.props.onPause(...e)),r(this,"onEnded",(...e)=>this.props.onEnded(...e)),r(this,"onError",(...e)=>this.props.onError(...e)),r(this,"onPlayBackRateChange",e=>this.props.onPlaybackRateChange(e.target.playbackRate)),r(this,"onEnablePIP",(...e)=>this.props.onEnablePIP(...e)),r(this,"onDisablePIP",e=>{const{onDisablePIP:t,playing:i}=this.props;t(e),i&&this.play()}),r(this,"onPresentationModeChange",e=>{if(this.player&&(0,a.supportsWebKitPresentationMode)(this.player)){const{webkitPresentationMode:t}=this.player;t==="picture-in-picture"?this.onEnablePIP(e):t==="inline"&&this.onDisablePIP(e)}}),r(this,"onSeek",e=>{this.props.onSeek(e.target.currentTime)}),r(this,"mute",()=>{this.player.muted=!0}),r(this,"unmute",()=>{this.player.muted=!1}),r(this,"renderSourceElement",(e,t)=>typeof e=="string"?c.default.createElement("source",{key:t,src:e}):c.default.createElement("source",{key:t,...e})),r(this,"renderTrack",(e,t)=>c.default.createElement("track",{key:t,...e})),r(this,"ref",e=>{this.player&&(this.prevPlayer=this.player),this.player=e})}componentDidMount(){this.props.onMount&&this.props.onMount(this),this.addListeners(this.player);const e=this.getSource(this.props.url);e&&(this.player.src=e),(v||this.props.config.forceDisableHls)&&this.player.load()}componentDidUpdate(e){this.shouldUseAudio(this.props)!==this.shouldUseAudio(e)&&(this.removeListeners(this.prevPlayer,e.url),this.addListeners(this.player)),this.props.url!==e.url&&!(0,a.isMediaStream)(this.props.url)&&!(this.props.url instanceof Array)&&(this.player.srcObject=null)}componentWillUnmount(){this.player.removeAttribute("src"),this.removeListeners(this.player),this.hls&&this.hls.destroy()}addListeners(e){const{url:t,playsinline:i}=this.props;e.addEventListener("play",this.onPlay),e.addEventListener("waiting",this.onBuffer),e.addEventListener("playing",this.onBufferEnd),e.addEventListener("pause",this.onPause),e.addEventListener("seeked",this.onSeek),e.addEventListener("ended",this.onEnded),e.addEventListener("error",this.onError),e.addEventListener("ratechange",this.onPlayBackRateChange),e.addEventListener("enterpictureinpicture",this.onEnablePIP),e.addEventListener("leavepictureinpicture",this.onDisablePIP),e.addEventListener("webkitpresentationmodechanged",this.onPresentationModeChange),this.shouldUseHLS(t)||e.addEventListener("canplay",this.onReady),i&&(e.setAttribute("playsinline",""),e.setAttribute("webkit-playsinline",""),e.setAttribute("x5-playsinline",""))}removeListeners(e,t){e.removeEventListener("canplay",this.onReady),e.removeEventListener("play",this.onPlay),e.removeEventListener("waiting",this.onBuffer),e.removeEventListener("playing",this.onBufferEnd),e.removeEventListener("pause",this.onPause),e.removeEventListener("seeked",this.onSeek),e.removeEventListener("ended",this.onEnded),e.removeEventListener("error",this.onError),e.removeEventListener("ratechange",this.onPlayBackRateChange),e.removeEventListener("enterpictureinpicture",this.onEnablePIP),e.removeEventListener("leavepictureinpicture",this.onDisablePIP),e.removeEventListener("webkitpresentationmodechanged",this.onPresentationModeChange),this.shouldUseHLS(t)||e.removeEventListener("canplay",this.onReady)}shouldUseAudio(e){return e.config.forceVideo||e.config.attributes.poster?!1:d.AUDIO_EXTENSIONS.test(e.url)||e.config.forceAudio}shouldUseHLS(e){return V&&this.props.config.forceSafariHLS||this.props.config.forceHLS?!0:v||this.props.config.forceDisableHls?!1:d.HLS_EXTENSIONS.test(e)||f.test(e)}shouldUseDASH(e){return d.DASH_EXTENSIONS.test(e)||this.props.config.forceDASH}shouldUseFLV(e){return d.FLV_EXTENSIONS.test(e)||this.props.config.forceFLV}load(e){const{hlsVersion:t,hlsOptions:i,dashVersion:n,flvVersion:l}=this.props.config;if(this.hls&&this.hls.destroy(),this.dash&&this.dash.reset(),this.shouldUseHLS(e)&&(0,a.getSDK)(T.replace("VERSION",t),C).then(o=>{if(this.hls=new o(i),this.hls.on(o.Events.MANIFEST_PARSED,()=>{this.props.onReady()}),this.hls.on(o.Events.ERROR,(h,p)=>{this.props.onError(h,p,this.hls,o)}),f.test(e)){const h=e.match(f)[1];this.hls.loadSource(W.replace("{id}",h))}else this.hls.loadSource(e);this.hls.attachMedia(this.player),this.props.onLoaded()}),this.shouldUseDASH(e)&&(0,a.getSDK)(B.replace("VERSION",n),x).then(o=>{this.dash=o.MediaPlayer().create(),this.dash.initialize(this.player,e,this.props.playing),this.dash.on("error",this.props.onError),parseInt(n)<3?this.dash.getDebug().setLogToBrowserConsole(!1):this.dash.updateSettings({debug:{logLevel:o.Debug.LOG_LEVEL_NONE}}),this.props.onLoaded()}),this.shouldUseFLV(e)&&(0,a.getSDK)(K.replace("VERSION",l),G).then(o=>{this.flv=o.createPlayer({type:"flv",url:e}),this.flv.attachMediaElement(this.player),this.flv.on(o.Events.ERROR,(h,p)=>{this.props.onError(h,p,this.flv,o)}),this.flv.load(),this.props.onLoaded()}),e instanceof Array)this.player.load();else if((0,a.isMediaStream)(e))try{this.player.srcObject=e}catch{this.player.src=window.URL.createObjectURL(e)}}play(){const e=this.player.play();e&&e.catch(this.props.onError)}pause(){this.player.pause()}stop(){this.player.removeAttribute("src"),this.dash&&this.dash.reset()}seekTo(e,t=!0){this.player.currentTime=e,t||this.pause()}setVolume(e){this.player.volume=e}enablePIP(){this.player.requestPictureInPicture&&document.pictureInPictureElement!==this.player?this.player.requestPictureInPicture():(0,a.supportsWebKitPresentationMode)(this.player)&&this.player.webkitPresentationMode!=="picture-in-picture"&&this.player.webkitSetPresentationMode("picture-in-picture")}disablePIP(){document.exitPictureInPicture&&document.pictureInPictureElement===this.player?document.exitPictureInPicture():(0,a.supportsWebKitPresentationMode)(this.player)&&this.player.webkitPresentationMode!=="inline"&&this.player.webkitSetPresentationMode("inline")}setPlaybackRate(e){try{this.player.playbackRate=e}catch(t){this.props.onError(t)}}getDuration(){if(!this.player)return null;const{duration:e,seekable:t}=this.player;return e===1/0&&t.length>0?t.end(t.length-1):e}getCurrentTime(){return this.player?this.player.currentTime:null}getSecondsLoaded(){if(!this.player)return null;const{buffered:e}=this.player;if(e.length===0)return 0;const t=e.end(e.length-1),i=this.getDuration();return t>i?i:t}getSource(e){const t=this.shouldUseHLS(e),i=this.shouldUseDASH(e),n=this.shouldUseFLV(e);if(!(e instanceof Array||(0,a.isMediaStream)(e)||t||i||n))return X.test(e)?e.replace("www.dropbox.com","dl.dropboxusercontent.com"):e}render(){const{url:e,playing:t,loop:i,controls:n,muted:l,config:o,width:h,height:p}=this.props,L=this.shouldUseAudio(this.props)?"audio":"video",S={width:h==="auto"?h:"100%",height:p==="auto"?p:"100%"};return c.default.createElement(L,{ref:this.ref,src:this.getSource(e),style:S,preload:"auto",autoPlay:t||void 0,controls:n,muted:l,loop:i,...o.attributes},e instanceof Array&&e.map(this.renderSourceElement),o.tracks.map(this.renderTrack))}}r(P,"displayName","FilePlayer");r(P,"canPlay",d.canPlay.file);const z=b(g),J=R({__proto__:null,default:z},[g]);export{J as F};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as y,r as f,u as _,a as m}from"./index-
|
|
1
|
+
import{g as y,r as f,u as _,a as m}from"./index-51fef15f.js";function P(r,e){for(var t=0;t<e.length;t++){const s=e[t];if(typeof s!="string"&&!Array.isArray(s)){for(const a in s)if(a!=="default"&&!(a in r)){const l=Object.getOwnPropertyDescriptor(s,a);l&&Object.defineProperty(r,a,l.get?l:{enumerable:!0,get:()=>s[a]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var g=Object.create,n=Object.defineProperty,b=Object.getOwnPropertyDescriptor,v=Object.getOwnPropertyNames,O=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty,j=(r,e,t)=>e in r?n(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,L=(r,e)=>{for(var t in e)n(r,t,{get:e[t],enumerable:!0})},c=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of v(e))!w.call(r,a)&&a!==t&&n(r,a,{get:()=>e[a],enumerable:!(s=b(e,a))||s.enumerable});return r},K=(r,e,t)=>(t=r!=null?g(O(r)):{},c(e||!r||!r.__esModule?n(t,"default",{value:r,enumerable:!0}):t,r)),D=r=>c(n({},"__esModule",{value:!0}),r),o=(r,e,t)=>(j(r,typeof e!="symbol"?e+"":e,t),t),h={};L(h,{default:()=>i});var d=D(h),u=K(f),p=_,S=m;const T="https://cdn.embed.ly/player-0.1.0.min.js",E="playerjs";class i extends u.Component{constructor(){super(...arguments),o(this,"callPlayer",p.callPlayer),o(this,"duration",null),o(this,"currentTime",null),o(this,"secondsLoaded",null),o(this,"mute",()=>{this.callPlayer("mute")}),o(this,"unmute",()=>{this.callPlayer("unmute")}),o(this,"ref",e=>{this.iframe=e})}componentDidMount(){this.props.onMount&&this.props.onMount(this)}load(e){(0,p.getSDK)(T,E).then(t=>{this.iframe&&(this.player=new t.Player(this.iframe),this.player.on("ready",()=>{setTimeout(()=>{this.player.isReady=!0,this.player.setLoop(this.props.loop),this.props.muted&&this.player.mute(),this.addListeners(this.player,this.props),this.props.onReady()},500)}))},this.props.onError)}addListeners(e,t){e.on("play",t.onPlay),e.on("pause",t.onPause),e.on("ended",t.onEnded),e.on("error",t.onError),e.on("timeupdate",({duration:s,seconds:a})=>{this.duration=s,this.currentTime=a})}play(){this.callPlayer("play")}pause(){this.callPlayer("pause")}stop(){}seekTo(e,t=!0){this.callPlayer("setCurrentTime",e),t||this.pause()}setVolume(e){this.callPlayer("setVolume",e)}setLoop(e){this.callPlayer("setLoop",e)}getDuration(){return this.duration}getCurrentTime(){return this.currentTime}getSecondsLoaded(){return this.secondsLoaded}render(){const e={width:"100%",height:"100%"};return u.default.createElement("iframe",{ref:this.ref,src:this.props.url,frameBorder:"0",scrolling:"no",style:e,allow:"encrypted-media; autoplay; fullscreen;",referrerPolicy:"no-referrer-when-downgrade"})}}o(i,"displayName","Kaltura");o(i,"canPlay",S.canPlay.kaltura);const M=y(d),C=P({__proto__:null,default:M},[d]);export{C as K};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as _,r as f,u as m,a as g}from"./index-
|
|
1
|
+
import{g as _,r as f,u as m,a as g}from"./index-51fef15f.js";function v(t,e){for(var r=0;r<e.length;r++){const s=e[r];if(typeof s!="string"&&!Array.isArray(s)){for(const o in s)if(o!=="default"&&!(o in t)){const n=Object.getOwnPropertyDescriptor(s,o);n&&Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:()=>s[o]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var P=Object.create,i=Object.defineProperty,O=Object.getOwnPropertyDescriptor,b=Object.getOwnPropertyNames,M=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty,x=(t,e,r)=>e in t?i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,j=(t,e)=>{for(var r in e)i(t,r,{get:e[r],enumerable:!0})},c=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of b(e))!w.call(t,o)&&o!==r&&i(t,o,{get:()=>e[o],enumerable:!(s=O(e,o))||s.enumerable});return t},D=(t,e,r)=>(r=t!=null?P(M(t)):{},c(e||!t||!t.__esModule?i(r,"default",{value:t,enumerable:!0}):r,t)),S=t=>c(i({},"__esModule",{value:!0}),t),a=(t,e,r)=>(x(t,typeof e!="symbol"?e+"":e,r),r),d={};j(d,{default:()=>l});var h=S(d),p=D(f),u=m,y=g;const E="https://widget.mixcloud.com/media/js/widgetApi.js",L="Mixcloud";class l extends p.Component{constructor(){super(...arguments),a(this,"callPlayer",u.callPlayer),a(this,"duration",null),a(this,"currentTime",null),a(this,"secondsLoaded",null),a(this,"mute",()=>{}),a(this,"unmute",()=>{}),a(this,"ref",e=>{this.iframe=e})}componentDidMount(){this.props.onMount&&this.props.onMount(this)}load(e){(0,u.getSDK)(E,L).then(r=>{this.player=r.PlayerWidget(this.iframe),this.player.ready.then(()=>{this.player.events.play.on(this.props.onPlay),this.player.events.pause.on(this.props.onPause),this.player.events.ended.on(this.props.onEnded),this.player.events.error.on(this.props.error),this.player.events.progress.on((s,o)=>{this.currentTime=s,this.duration=o}),this.props.onReady()})},this.props.onError)}play(){this.callPlayer("play")}pause(){this.callPlayer("pause")}stop(){}seekTo(e,r=!0){this.callPlayer("seek",e),r||this.pause()}setVolume(e){}getDuration(){return this.duration}getCurrentTime(){return this.currentTime}getSecondsLoaded(){return null}render(){const{url:e,config:r}=this.props,s=e.match(y.MATCH_URL_MIXCLOUD)[1],o={width:"100%",height:"100%"},n=(0,u.queryString)({...r.options,feed:`/${s}/`});return p.default.createElement("iframe",{key:s,ref:this.ref,style:o,src:`https://www.mixcloud.com/widget/iframe/?${n}`,frameBorder:"0",allow:"autoplay"})}}a(l,"displayName","Mixcloud");a(l,"canPlay",y.canPlay.mixcloud);a(l,"loopOnEnded",!0);const T=_(h),A=v({__proto__:null,default:T},[h]);export{A as M};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as m,_ as E,r as g,a as _}from"./index-
|
|
1
|
+
import{g as m,_ as E,r as g,a as _}from"./index-51fef15f.js";function b(r,e){for(var t=0;t<e.length;t++){const i=e[t];if(typeof i!="string"&&!Array.isArray(i)){for(const s in i)if(s!=="default"&&!(s in r)){const o=Object.getOwnPropertyDescriptor(i,s);o&&Object.defineProperty(r,s,o.get?o:{enumerable:!0,get:()=>i[s]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var L=Object.create,u=Object.defineProperty,I=Object.getOwnPropertyDescriptor,k=Object.getOwnPropertyNames,O=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty,M=(r,e,t)=>e in r?u(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,R=(r,e)=>{for(var t in e)u(r,t,{get:e[t],enumerable:!0})},f=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of k(e))!x.call(r,s)&&s!==t&&u(r,s,{get:()=>e[s],enumerable:!(i=I(e,s))||i.enumerable});return r},w=(r,e,t)=>(t=r!=null?L(O(r)):{},f(e||!r||!r.__esModule?u(t,"default",{value:r,enumerable:!0}):t,r)),D=r=>f(u({},"__esModule",{value:!0}),r),n=(r,e,t)=>(M(r,typeof e!="symbol"?e+"":e,t),t),y={};R(y,{default:()=>l});var P=D(y),v=w(g),p=_;const j="https://cdn.jsdelivr.net/npm/@mux/mux-player@VERSION/dist/mux-player.mjs";class l extends v.Component{constructor(){super(...arguments),n(this,"onReady",(...e)=>this.props.onReady(...e)),n(this,"onPlay",(...e)=>this.props.onPlay(...e)),n(this,"onBuffer",(...e)=>this.props.onBuffer(...e)),n(this,"onBufferEnd",(...e)=>this.props.onBufferEnd(...e)),n(this,"onPause",(...e)=>this.props.onPause(...e)),n(this,"onEnded",(...e)=>this.props.onEnded(...e)),n(this,"onError",(...e)=>this.props.onError(...e)),n(this,"onPlayBackRateChange",e=>this.props.onPlaybackRateChange(e.target.playbackRate)),n(this,"onEnablePIP",(...e)=>this.props.onEnablePIP(...e)),n(this,"onSeek",e=>{this.props.onSeek(e.target.currentTime)}),n(this,"onDurationChange",()=>{const e=this.getDuration();this.props.onDuration(e)}),n(this,"mute",()=>{this.player.muted=!0}),n(this,"unmute",()=>{this.player.muted=!1}),n(this,"ref",e=>{this.player=e})}componentDidMount(){this.props.onMount&&this.props.onMount(this),this.addListeners(this.player);const e=this.getPlaybackId(this.props.url);e&&(this.player.playbackId=e)}componentWillUnmount(){this.player.playbackId=null,this.removeListeners(this.player)}addListeners(e){const{playsinline:t}=this.props;e.addEventListener("play",this.onPlay),e.addEventListener("waiting",this.onBuffer),e.addEventListener("playing",this.onBufferEnd),e.addEventListener("pause",this.onPause),e.addEventListener("seeked",this.onSeek),e.addEventListener("ended",this.onEnded),e.addEventListener("error",this.onError),e.addEventListener("ratechange",this.onPlayBackRateChange),e.addEventListener("enterpictureinpicture",this.onEnablePIP),e.addEventListener("leavepictureinpicture",this.onDisablePIP),e.addEventListener("webkitpresentationmodechanged",this.onPresentationModeChange),e.addEventListener("canplay",this.onReady),t&&e.setAttribute("playsinline","")}removeListeners(e){e.removeEventListener("canplay",this.onReady),e.removeEventListener("play",this.onPlay),e.removeEventListener("waiting",this.onBuffer),e.removeEventListener("playing",this.onBufferEnd),e.removeEventListener("pause",this.onPause),e.removeEventListener("seeked",this.onSeek),e.removeEventListener("ended",this.onEnded),e.removeEventListener("error",this.onError),e.removeEventListener("ratechange",this.onPlayBackRateChange),e.removeEventListener("enterpictureinpicture",this.onEnablePIP),e.removeEventListener("leavepictureinpicture",this.onDisablePIP),e.removeEventListener("canplay",this.onReady)}async load(e){var t;const{onError:i,config:s}=this.props;if(!((t=globalThis.customElements)!=null&&t.get("mux-player")))try{const a=j.replace("VERSION",s.version);await E(()=>import(`${a}`),[]),this.props.onLoaded()}catch(a){i(a)}const[,o]=e.match(p.MATCH_URL_MUX);this.player.playbackId=o}play(){const e=this.player.play();e&&e.catch(this.props.onError)}pause(){this.player.pause()}stop(){this.player.playbackId=null}seekTo(e,t=!0){this.player.currentTime=e,t||this.pause()}setVolume(e){this.player.volume=e}enablePIP(){this.player.requestPictureInPicture&&document.pictureInPictureElement!==this.player&&this.player.requestPictureInPicture()}disablePIP(){document.exitPictureInPicture&&document.pictureInPictureElement===this.player&&document.exitPictureInPicture()}setPlaybackRate(e){try{this.player.playbackRate=e}catch(t){this.props.onError(t)}}getDuration(){if(!this.player)return null;const{duration:e,seekable:t}=this.player;return e===1/0&&t.length>0?t.end(t.length-1):e}getCurrentTime(){return this.player?this.player.currentTime:null}getSecondsLoaded(){if(!this.player)return null;const{buffered:e}=this.player;if(e.length===0)return 0;const t=e.end(e.length-1),i=this.getDuration();return t>i?i:t}getPlaybackId(e){const[,t]=e.match(p.MATCH_URL_MUX);return t}render(){const{url:e,playing:t,loop:i,controls:s,muted:o,config:a,width:h,height:c}=this.props,d={width:h==="auto"?h:"100%",height:c==="auto"?c:"100%"};return s===!1&&(d["--controls"]="none"),v.default.createElement("mux-player",{ref:this.ref,"playback-id":this.getPlaybackId(e),style:d,preload:"auto",autoPlay:t||void 0,muted:o?"":void 0,loop:i?"":void 0,...a.attributes})}}n(l,"displayName","Mux");n(l,"canPlay",p.canPlay.mux);const C=m(P),B=b({__proto__:null,default:C},[P]);export{B as M};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as y,r as v}from"./index-
|
|
1
|
+
import{g as y,r as v}from"./index-51fef15f.js";function w(r,e){for(var t=0;t<e.length;t++){const n=e[t];if(typeof n!="string"&&!Array.isArray(n)){for(const a in n)if(a!=="default"&&!(a in r)){const o=Object.getOwnPropertyDescriptor(n,a);o&&Object.defineProperty(r,a,o.get?o:{enumerable:!0,get:()=>n[a]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var P=Object.create,s=Object.defineProperty,O=Object.getOwnPropertyDescriptor,x=Object.getOwnPropertyNames,I=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty,E=(r,e,t)=>e in r?s(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,S=(r,e)=>{for(var t in e)s(r,t,{get:e[t],enumerable:!0})},_=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of x(e))!j.call(r,a)&&a!==t&&s(r,a,{get:()=>e[a],enumerable:!(n=O(e,a))||n.enumerable});return r},C=(r,e,t)=>(t=r!=null?P(I(r)):{},_(e||!r||!r.__esModule?s(t,"default",{value:r,enumerable:!0}):t,r)),N=r=>_(s({},"__esModule",{value:!0}),r),p=(r,e,t)=>(E(r,typeof e!="symbol"?e+"":e,t),t),g={};S(g,{default:()=>k});var m=N(g),i=C(v);const u="64px",d={};class k extends i.Component{constructor(){super(...arguments),p(this,"mounted",!1),p(this,"state",{image:null}),p(this,"handleKeyPress",e=>{(e.key==="Enter"||e.key===" ")&&this.props.onClick()})}componentDidMount(){this.mounted=!0,this.fetchImage(this.props)}componentDidUpdate(e){const{url:t,light:n}=this.props;(e.url!==t||e.light!==n)&&this.fetchImage(this.props)}componentWillUnmount(){this.mounted=!1}fetchImage({url:e,light:t,oEmbedUrl:n}){if(!i.default.isValidElement(t)){if(typeof t=="string"){this.setState({image:t});return}if(d[e]){this.setState({image:d[e]});return}return this.setState({image:null}),window.fetch(n.replace("{url}",e)).then(a=>a.json()).then(a=>{if(a.thumbnail_url&&this.mounted){const o=a.thumbnail_url.replace("height=100","height=480").replace("-d_295x166","-d_640");this.setState({image:o}),d[e]=o}})}}render(){const{light:e,onClick:t,playIcon:n,previewTabIndex:a,previewAriaLabel:o}=this.props,{image:f}=this.state,l=i.default.isValidElement(e),h={display:"flex",alignItems:"center",justifyContent:"center"},c={preview:{width:"100%",height:"100%",backgroundImage:f&&!l?`url(${f})`:void 0,backgroundSize:"cover",backgroundPosition:"center",cursor:"pointer",...h},shadow:{background:"radial-gradient(rgb(0, 0, 0, 0.3), rgba(0, 0, 0, 0) 60%)",borderRadius:u,width:u,height:u,position:l?"absolute":void 0,...h},playIcon:{borderStyle:"solid",borderWidth:"16px 0 16px 26px",borderColor:"transparent transparent transparent white",marginLeft:"7px"}},b=i.default.createElement("div",{style:c.shadow,className:"react-player__shadow"},i.default.createElement("div",{style:c.playIcon,className:"react-player__play-icon"}));return i.default.createElement("div",{style:c.preview,className:"react-player__preview",onClick:t,tabIndex:a,onKeyPress:this.handleKeyPress,...o?{"aria-label":o}:{}},l?e:null,n||b)}}const D=y(m),A=w({__proto__:null,default:D},[m]);export{A as P};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as P,r as g,u as b,a as v}from"./index-
|
|
1
|
+
import{g as P,r as g,u as b,a as v}from"./index-51fef15f.js";function O(t,e){for(var r=0;r<e.length;r++){const s=e[r];if(typeof s!="string"&&!Array.isArray(s)){for(const o in s)if(o!=="default"&&!(o in t)){const i=Object.getOwnPropertyDescriptor(s,o);i&&Object.defineProperty(t,o,i.get?i:{enumerable:!0,get:()=>s[o]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var S=Object.create,l=Object.defineProperty,w=Object.getOwnPropertyDescriptor,j=Object.getOwnPropertyNames,C=Object.getPrototypeOf,E=Object.prototype.hasOwnProperty,D=(t,e,r)=>e in t?l(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,L=(t,e)=>{for(var r in e)l(t,r,{get:e[r],enumerable:!0})},d=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of j(e))!E.call(t,o)&&o!==r&&l(t,o,{get:()=>e[o],enumerable:!(s=w(e,o))||s.enumerable});return t},R=(t,e,r)=>(r=t!=null?S(C(t)):{},d(e||!t||!t.__esModule?l(r,"default",{value:t,enumerable:!0}):r,t)),T=t=>d(l({},"__esModule",{value:!0}),t),a=(t,e,r)=>(D(t,typeof e!="symbol"?e+"":e,r),r),h={};L(h,{default:()=>u});var f=T(h),p=R(g),c=b,M=v;const x="https://w.soundcloud.com/player/api.js",A="SC";class u extends p.Component{constructor(){super(...arguments),a(this,"callPlayer",c.callPlayer),a(this,"duration",null),a(this,"currentTime",null),a(this,"fractionLoaded",null),a(this,"mute",()=>{this.setVolume(0)}),a(this,"unmute",()=>{this.props.volume!==null&&this.setVolume(this.props.volume)}),a(this,"ref",e=>{this.iframe=e})}componentDidMount(){this.props.onMount&&this.props.onMount(this)}load(e,r){(0,c.getSDK)(x,A).then(s=>{if(!this.iframe)return;const{PLAY:o,PLAY_PROGRESS:i,PAUSE:y,FINISH:_,ERROR:m}=s.Widget.Events;r||(this.player=s.Widget(this.iframe),this.player.bind(o,this.props.onPlay),this.player.bind(y,()=>{this.duration-this.currentTime<.05||this.props.onPause()}),this.player.bind(i,n=>{this.currentTime=n.currentPosition/1e3,this.fractionLoaded=n.loadedProgress}),this.player.bind(_,()=>this.props.onEnded()),this.player.bind(m,n=>this.props.onError(n))),this.player.load(e,{...this.props.config.options,callback:()=>{this.player.getDuration(n=>{this.duration=n/1e3,this.props.onReady()})}})})}play(){this.callPlayer("play")}pause(){this.callPlayer("pause")}stop(){}seekTo(e,r=!0){this.callPlayer("seekTo",e*1e3),r||this.pause()}setVolume(e){this.callPlayer("setVolume",e*100)}getDuration(){return this.duration}getCurrentTime(){return this.currentTime}getSecondsLoaded(){return this.fractionLoaded*this.duration}render(){const{display:e}=this.props,r={width:"100%",height:"100%",display:e};return p.default.createElement("iframe",{ref:this.ref,src:`https://w.soundcloud.com/player/?url=${encodeURIComponent(this.props.url)}`,style:r,frameBorder:0,allow:"autoplay"})}}a(u,"displayName","SoundCloud");a(u,"canPlay",M.canPlay.soundcloud);a(u,"loopOnEnded",!0);const N=P(f),F=O({__proto__:null,default:N},[f]);export{F as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as m,r as f,u as _,a as b}from"./index-
|
|
1
|
+
import{g as m,r as f,u as _,a as b}from"./index-51fef15f.js";function P(t,e){for(var r=0;r<e.length;r++){const s=e[r];if(typeof s!="string"&&!Array.isArray(s)){for(const a in s)if(a!=="default"&&!(a in t)){const n=Object.getOwnPropertyDescriptor(s,a);n&&Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:()=>s[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var g=Object.create,l=Object.defineProperty,v=Object.getOwnPropertyDescriptor,O=Object.getOwnPropertyNames,S=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty,L=(t,e,r)=>e in t?l(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,w=(t,e)=>{for(var r in e)l(t,r,{get:e[r],enumerable:!0})},c=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of O(e))!j.call(t,a)&&a!==r&&l(t,a,{get:()=>e[a],enumerable:!(s=v(e,a))||s.enumerable});return t},D=(t,e,r)=>(r=t!=null?g(S(t)):{},c(e||!t||!t.__esModule?l(r,"default",{value:t,enumerable:!0}):r,t)),E=t=>c(l({},"__esModule",{value:!0}),t),o=(t,e,r)=>(L(t,typeof e!="symbol"?e+"":e,r),r),h={};w(h,{default:()=>i});var y=E(h),p=D(f),u=_,d=b;const M="https://cdn.embed.ly/player-0.1.0.min.js",T="playerjs";class i extends p.Component{constructor(){super(...arguments),o(this,"callPlayer",u.callPlayer),o(this,"duration",null),o(this,"currentTime",null),o(this,"secondsLoaded",null),o(this,"mute",()=>{this.callPlayer("mute")}),o(this,"unmute",()=>{this.callPlayer("unmute")}),o(this,"ref",e=>{this.iframe=e})}componentDidMount(){this.props.onMount&&this.props.onMount(this)}load(e){(0,u.getSDK)(M,T).then(r=>{this.iframe&&(this.player=new r.Player(this.iframe),this.player.setLoop(this.props.loop),this.player.on("ready",this.props.onReady),this.player.on("play",this.props.onPlay),this.player.on("pause",this.props.onPause),this.player.on("seeked",this.props.onSeek),this.player.on("ended",this.props.onEnded),this.player.on("error",this.props.onError),this.player.on("timeupdate",({duration:s,seconds:a})=>{this.duration=s,this.currentTime=a}),this.player.on("buffered",({percent:s})=>{this.duration&&(this.secondsLoaded=this.duration*s)}),this.props.muted&&this.player.mute())},this.props.onError)}play(){this.callPlayer("play")}pause(){this.callPlayer("pause")}stop(){}seekTo(e,r=!0){this.callPlayer("setCurrentTime",e),r||this.pause()}setVolume(e){this.callPlayer("setVolume",e*100)}setLoop(e){this.callPlayer("setLoop",e)}getDuration(){return this.duration}getCurrentTime(){return this.currentTime}getSecondsLoaded(){return this.secondsLoaded}render(){const e=this.props.url.match(d.MATCH_URL_STREAMABLE)[1],r={width:"100%",height:"100%"};return p.default.createElement("iframe",{ref:this.ref,src:`https://streamable.com/o/${e}`,frameBorder:"0",scrolling:"no",style:r,allow:"encrypted-media; autoplay; fullscreen;"})}}o(i,"displayName","Streamable");o(i,"canPlay",d.canPlay.streamable);const x=m(y),C=P({__proto__:null,default:x},[y]);export{C as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as w,r as D,u as C,a as N}from"./index-
|
|
1
|
+
import{g as w,r as D,u as C,a as N}from"./index-51fef15f.js";function I(t,e){for(var r=0;r<e.length;r++){const s=e[r];if(typeof s!="string"&&!Array.isArray(s)){for(const a in s)if(a!=="default"&&!(a in t)){const o=Object.getOwnPropertyDescriptor(s,a);o&&Object.defineProperty(t,a,o.get?o:{enumerable:!0,get:()=>s[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var S=Object.create,l=Object.defineProperty,j=Object.getOwnPropertyDescriptor,A=Object.getOwnPropertyNames,M=Object.getPrototypeOf,H=Object.prototype.hasOwnProperty,R=(t,e,r)=>e in t?l(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,x=(t,e)=>{for(var r in e)l(t,r,{get:e[r],enumerable:!0})},_=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of A(e))!H.call(t,a)&&a!==r&&l(t,a,{get:()=>e[a],enumerable:!(s=j(e,a))||s.enumerable});return t},F=(t,e,r)=>(r=t!=null?S(M(t)):{},_(e||!t||!t.__esModule?l(r,"default",{value:t,enumerable:!0}):r,t)),U=t=>_(l({},"__esModule",{value:!0}),t),n=(t,e,r)=>(R(t,typeof e!="symbol"?e+"":e,r),r),P={};x(P,{default:()=>h});var f=U(P),d=F(D),c=C,u=N;const K="https://player.twitch.tv/js/embed/v1.js",V="Twitch",$="twitch-player-";class h extends d.Component{constructor(){super(...arguments),n(this,"callPlayer",c.callPlayer),n(this,"playerID",this.props.config.playerId||`${$}${(0,c.randomString)()}`),n(this,"mute",()=>{this.callPlayer("setMuted",!0)}),n(this,"unmute",()=>{this.callPlayer("setMuted",!1)})}componentDidMount(){this.props.onMount&&this.props.onMount(this)}load(e,r){const{playsinline:s,onError:a,config:o,controls:v}=this.props,i=u.MATCH_URL_TWITCH_CHANNEL.test(e),p=i?e.match(u.MATCH_URL_TWITCH_CHANNEL)[1]:e.match(u.MATCH_URL_TWITCH_VIDEO)[1];if(r){i?this.player.setChannel(p):this.player.setVideo("v"+p);return}(0,c.getSDK)(K,V).then(y=>{this.player=new y.Player(this.playerID,{video:i?"":p,channel:i?p:"",height:"100%",width:"100%",playsinline:s,autoplay:this.props.playing,muted:this.props.muted,controls:i?!0:v,time:(0,c.parseStartTime)(e),...o.options});const{READY:g,PLAYING:m,PAUSE:E,ENDED:O,ONLINE:L,OFFLINE:b,SEEK:T}=y.Player;this.player.addEventListener(g,this.props.onReady),this.player.addEventListener(m,this.props.onPlay),this.player.addEventListener(E,this.props.onPause),this.player.addEventListener(O,this.props.onEnded),this.player.addEventListener(T,this.props.onSeek),this.player.addEventListener(L,this.props.onLoaded),this.player.addEventListener(b,this.props.onLoaded)},a)}play(){this.callPlayer("play")}pause(){this.callPlayer("pause")}stop(){this.callPlayer("pause")}seekTo(e,r=!0){this.callPlayer("seek",e),r||this.pause()}setVolume(e){this.callPlayer("setVolume",e)}getDuration(){return this.callPlayer("getDuration")}getCurrentTime(){return this.callPlayer("getCurrentTime")}getSecondsLoaded(){return null}render(){const e={width:"100%",height:"100%"};return d.default.createElement("div",{style:e,id:this.playerID})}}n(h,"displayName","Twitch");n(h,"canPlay",u.canPlay.twitch);n(h,"loopOnEnded",!0);const W=w(f),G=I({__proto__:null,default:W},[f]);export{G as T};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as m,r as v,u as b,a as O}from"./index-
|
|
1
|
+
import{g as m,r as v,u as b,a as O}from"./index-51fef15f.js";function V(t,e){for(var r=0;r<e.length;r++){const s=e[r];if(typeof s!="string"&&!Array.isArray(s)){for(const a in s)if(a!=="default"&&!(a in t)){const n=Object.getOwnPropertyDescriptor(s,a);n&&Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:()=>s[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var D=Object.create,i=Object.defineProperty,j=Object.getOwnPropertyDescriptor,w=Object.getOwnPropertyNames,S=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty,A=(t,e,r)=>e in t?i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,E=(t,e)=>{for(var r in e)i(t,r,{get:e[r],enumerable:!0})},h=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of w(e))!M.call(t,a)&&a!==r&&i(t,a,{get:()=>e[a],enumerable:!(s=j(e,a))||s.enumerable});return t},L=(t,e,r)=>(r=t!=null?D(S(t)):{},h(e||!t||!t.__esModule?i(r,"default",{value:t,enumerable:!0}):r,t)),R=t=>h(i({},"__esModule",{value:!0}),t),o=(t,e,r)=>(A(t,typeof e!="symbol"?e+"":e,r),r),_={};E(_,{default:()=>y});var f=R(_),c=L(v),d=b,P=O;const x="https://play.vidyard.com/embed/v4.js",C="VidyardV4",N="onVidyardAPI";class y extends c.Component{constructor(){super(...arguments),o(this,"callPlayer",d.callPlayer),o(this,"mute",()=>{this.setVolume(0)}),o(this,"unmute",()=>{this.props.volume!==null&&this.setVolume(this.props.volume)}),o(this,"ref",e=>{this.container=e})}componentDidMount(){this.props.onMount&&this.props.onMount(this)}load(e){const{playing:r,config:s,onError:a,onDuration:n}=this.props,l=e&&e.match(P.MATCH_URL_VIDYARD)[1];this.player&&this.stop(),(0,d.getSDK)(x,C,N).then(p=>{this.container&&(p.api.addReadyListener((u,g)=>{this.player||(this.player=g,this.player.on("ready",this.props.onReady),this.player.on("play",this.props.onPlay),this.player.on("pause",this.props.onPause),this.player.on("seek",this.props.onSeek),this.player.on("playerComplete",this.props.onEnded))},l),p.api.renderPlayer({uuid:l,container:this.container,autoplay:r?1:0,...s.options}),p.api.getPlayerMetadata(l).then(u=>{this.duration=u.length_in_seconds,n(u.length_in_seconds)}))},a)}play(){this.callPlayer("play")}pause(){this.callPlayer("pause")}stop(){window.VidyardV4.api.destroyPlayer(this.player)}seekTo(e,r=!0){this.callPlayer("seek",e),r||this.pause()}setVolume(e){this.callPlayer("setVolume",e)}setPlaybackRate(e){this.callPlayer("setPlaybackSpeed",e)}getDuration(){return this.duration}getCurrentTime(){return this.callPlayer("currentTime")}getSecondsLoaded(){return null}render(){const{display:e}=this.props,r={width:"100%",height:"100%",display:e};return c.default.createElement("div",{style:r},c.default.createElement("div",{ref:this.ref}))}}o(y,"displayName","Vidyard");o(y,"canPlay",P.canPlay.vidyard);const T=m(f),K=V({__proto__:null,default:T},[f]);export{K as V};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as d,r as f,u as m,a as _}from"./index-
|
|
1
|
+
import{g as d,r as f,u as m,a as _}from"./index-51fef15f.js";function P(t,e){for(var r=0;r<e.length;r++){const a=e[r];if(typeof a!="string"&&!Array.isArray(a)){for(const o in a)if(o!=="default"&&!(o in t)){const s=Object.getOwnPropertyDescriptor(a,o);s&&Object.defineProperty(t,o,s.get?s:{enumerable:!0,get:()=>a[o]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var g=Object.create,n=Object.defineProperty,b=Object.getOwnPropertyDescriptor,v=Object.getOwnPropertyNames,O=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty,w=(t,e,r)=>e in t?n(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,j=(t,e)=>{for(var r in e)n(t,r,{get:e[r],enumerable:!0})},h=(t,e,r,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of v(e))!D.call(t,o)&&o!==r&&n(t,o,{get:()=>e[o],enumerable:!(a=b(e,o))||a.enumerable});return t},M=(t,e,r)=>(r=t!=null?g(O(t)):{},h(e||!t||!t.__esModule?n(r,"default",{value:t,enumerable:!0}):r,t)),E=t=>h(n({},"__esModule",{value:!0}),t),i=(t,e,r)=>(w(t,typeof e!="symbol"?e+"":e,r),r),c={};j(c,{default:()=>l});var y=E(c),p=M(f),u=m,L=_;const S="https://player.vimeo.com/api/player.js",V="Vimeo",k=t=>t.replace("/manage/videos","");class l extends p.Component{constructor(){super(...arguments),i(this,"callPlayer",u.callPlayer),i(this,"duration",null),i(this,"currentTime",null),i(this,"secondsLoaded",null),i(this,"mute",()=>{this.setMuted(!0)}),i(this,"unmute",()=>{this.setMuted(!1)}),i(this,"ref",e=>{this.container=e})}componentDidMount(){this.props.onMount&&this.props.onMount(this)}load(e){this.duration=null,(0,u.getSDK)(S,V).then(r=>{if(!this.container)return;const{playerOptions:a,title:o}=this.props.config;this.player=new r.Player(this.container,{url:k(e),autoplay:this.props.playing,muted:this.props.muted,loop:this.props.loop,playsinline:this.props.playsinline,controls:this.props.controls,...a}),this.player.ready().then(()=>{const s=this.container.querySelector("iframe");s.style.width="100%",s.style.height="100%",o&&(s.title=o)}).catch(this.props.onError),this.player.on("loaded",()=>{this.props.onReady(),this.refreshDuration()}),this.player.on("play",()=>{this.props.onPlay(),this.refreshDuration()}),this.player.on("pause",this.props.onPause),this.player.on("seeked",s=>this.props.onSeek(s.seconds)),this.player.on("ended",this.props.onEnded),this.player.on("error",this.props.onError),this.player.on("timeupdate",({seconds:s})=>{this.currentTime=s}),this.player.on("progress",({seconds:s})=>{this.secondsLoaded=s}),this.player.on("bufferstart",this.props.onBuffer),this.player.on("bufferend",this.props.onBufferEnd),this.player.on("playbackratechange",s=>this.props.onPlaybackRateChange(s.playbackRate))},this.props.onError)}refreshDuration(){this.player.getDuration().then(e=>{this.duration=e})}play(){const e=this.callPlayer("play");e&&e.catch(this.props.onError)}pause(){this.callPlayer("pause")}stop(){this.callPlayer("unload")}seekTo(e,r=!0){this.callPlayer("setCurrentTime",e),r||this.pause()}setVolume(e){this.callPlayer("setVolume",e)}setMuted(e){this.callPlayer("setMuted",e)}setLoop(e){this.callPlayer("setLoop",e)}setPlaybackRate(e){this.callPlayer("setPlaybackRate",e)}getDuration(){return this.duration}getCurrentTime(){return this.currentTime}getSecondsLoaded(){return this.secondsLoaded}render(){const{display:e}=this.props,r={width:"100%",height:"100%",overflow:"hidden",display:e};return p.default.createElement("div",{key:this.props.url,ref:this.ref,style:r})}}i(l,"displayName","Vimeo");i(l,"canPlay",L.canPlay.vimeo);i(l,"forceLoad",!0);const T=d(y),C=P({__proto__:null,default:T},[y]);export{C as V};
|