@100mslive/roomkit-react 0.5.2 → 0.5.3-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -38,11 +38,20 @@ var __objRest = (source, exclude) => {
38
38
  }
39
39
  return target;
40
40
  };
41
- var __esm = (fn, res) => function __init() {
42
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
41
+ var __esm = (fn, res, err) => function __init() {
42
+ if (err) throw err[0];
43
+ try {
44
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
45
+ } catch (e) {
46
+ throw err = [e], e;
47
+ }
43
48
  };
44
49
  var __commonJS = (cb, mod) => function __require() {
45
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
50
+ try {
51
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
52
+ } catch (e) {
53
+ throw mod = 0, e;
54
+ }
46
55
  };
47
56
  var __export = (target, all) => {
48
57
  for (var name in all)
@@ -95,7 +104,7 @@ var __async = (__this, __arguments, generator) => {
95
104
  var define_process_env_default;
96
105
  var init_define_process_env = __esm({
97
106
  "<define:process.env>"() {
98
- define_process_env_default = { GITHUB_STATE: "/home/runner/work/_temp/_runner_file_commands/save_state_db797efa-b66d-4848-9819-e1d982df2216", npm_package_devDependencies_ts_node: "^10.4.0", npm_package_devDependencies__types_node: "^16.11.17", npm_package_exports___index_css: "./dist/index.css", npm_package_exports___require: "./dist/index.cjs.js", DOTNET_NOLOGO: "1", npm_package_resolutions_tar: "^7.5.13", npm_package_dependencies_screenfull: "^5.1.0", npm_package_dependencies_react_draggable: "^4.4.5", npm_package_dependencies__radix_ui_react_switch: "1.0.0", npm_package_dependencies__100mslive_hms_whiteboard: "0.2.2", USER: "runner", npm_package_resolutions_picomatch: "^2.3.2", npm_package_resolutions__octokit_request: "^8.4.1", npm_package_devDependencies_jest: "^29.7.0", npm_config_version_commit_hooks: "true", npm_config_user_agent: "yarn/1.22.22 npm/? node/v24.15.0 linux x64", npm_config_always_auth: "", NX_WORKSPACE_ROOT: "/home/runner/work/web-sdks/web-sdks", npm_package_scripts_babel: "npx storybook@latest babelrc", CI: "true", npm_package_resolutions____babel_plugin_istanbul_test_exclude_minimatch: "^3.1.4", npm_package_devDependencies__size_limit_file: "^5.0.3", npm_config_bin_links: "true", npm_config_wrap_output: "", npm_package_dependencies__radix_ui_react_tabs: "1.0.0", npm_package_dependencies__100mslive_react_sdk: "0.12.2", USE_BAZEL_FALLBACK_VERSION: "silent:", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_db797efa-b66d-4848-9819-e1d982df2216", PIPX_HOME: "/opt/pipx", npm_node_execpath: "/opt/hostedtoolcache/node/24.15.0/x64/bin/node", npm_config_init_version: "1.0.0", npm_package_dependencies__emoji_mart_react: "^1.0.1", npm_package_dependencies__emoji_mart_data: "^1.0.6", npm_package_dependencies__100mslive_hms_virtual_background: "1.15.2", JAVA_HOME_8_X64: "/usr/lib/jvm/temurin-8-jdk-amd64", NODE_AUTH_TOKEN: "XXXXX-XXXXX-XXXXX-XXXXX", SHLVL: "1", npm_package_dependencies__radix_ui_react_tooltip: "1.0.6", npm_package_dependencies__radix_ui_react_popover: "1.0.6", npm_package_dependencies__100mslive_types_prebuilt: "0.12.12", npm_package_peerDependencies_react: ">=17.0.2 <19.0.0", npm_package_files_0: "dist", HOME: "/home/runner", npm_package_devDependencies__typescript_eslint_parser: "^5.4.0", npm_package_dependencies__radix_ui_react_dialog: "1.0.4", npm_package_devDependencies__types_react_window: "^1.8.5", npm_package_repository_directory: "packages/roomkit-react", RUNNER_TEMP: "/home/runner/work/_temp", GITHUB_EVENT_PATH: "/home/runner/work/_temp/_github_workflow/event.json", npm_package_resolutions__babel_runtime: "^7.29.2", npm_package_resolutions__tldraw_tldraw__radix_ui_react_dialog: "1.0.5", npm_package_scripts_controller: "cd packages/hls-controller && yarn start", npm_package_dependencies__stitches_react: "1.3.1-1", JAVA_HOME_11_X64: "/usr/lib/jvm/temurin-11-jdk-amd64", PIPX_BIN_DIR: "/opt/pipx_bin", GITHUB_REPOSITORY_OWNER: "100mslive", npm_package_engines_node: ">=16", npm_package_resolutions_____nx_devkit_minimatch: "^9.0.7", npm_package_devDependencies_typedoc_plugin_markdown: "^3.14.0", npm_config_init_license: "MIT", GRADLE_HOME: "/usr/share/gradle-9.5.1", ANDROID_NDK_LATEST_HOME: "/usr/local/lib/android/sdk/ndk/29.0.14206865", JAVA_HOME_21_X64: "/usr/lib/jvm/temurin-21-jdk-amd64", GITHUB_RETENTION_DAYS: "90", YARN_WRAP_OUTPUT: "false", npm_config_version_tag_prefix: "v", GITHUB_REPOSITORY_OWNER_ID: "73883131", POWERSHELL_DISTRIBUTION_CHANNEL: "GitHub-Actions-Linux", AZURE_EXTENSION_DIR: "/opt/az/azcliextensions", GITHUB_HEAD_REF: "", npm_package_resolutions__isaacs_brace_expansion: "^5.0.1", npm_package_scripts_lint_fix: "yarn lint --fix", npm_config_userconfig: "/home/runner/work/_temp/.npmrc", SYSTEMD_EXEC_PID: "2068", ACTIONS_ORCHESTRATION_ID: "757b2d91-daf7-4a77-8ce2-61498023b10a.publish_packages.__default", npm_package_resolutions_tmp: "^0.2.3", npm_package_scripts_postinstall: "husky install", npm_package_devDependencies_husky: "^6.0.0", npm_package_dependencies_recordrtc: "^5.6.2", npm_package_dependencies_eventemitter2: "^6.4.9", npm_package_dependencies__radix_ui_react_label: "1.0.0", npm_package_dependencies__radix_ui_react_dropdown_menu: "2.0.5", npm_package_keywords_0: "100mslive", GITHUB_GRAPHQL_URL: "https://api.github.com/graphql", npm_package_description: "100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.", npm_package_devDependencies_typescript: "~4.7.4", npm_package_devDependencies_typedoc: "^0.24.8", npm_package_devDependencies_babel_loader: "^8.2.5", npm_package_keywords_1: "react", JAVA_HOME_25_X64: "/usr/lib/jvm/temurin-25-jdk-amd64", NVM_DIR: "/home/runner/.nvm", npm_package_readmeFilename: "README.md", npm_package_resolutions____typedoc_minimatch: "^9.0.7", npm_package_devDependencies_react: "^18.1.0", npm_package_devDependencies__babel_preset_env: "^7.22.5", npm_package_keywords_2: "prebuilt", DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "1", JAVA_HOME_17_X64: "/usr/lib/jvm/temurin-17-jdk-amd64", ImageVersion: "20260513.135.3", npm_package_resolutions__babel_plugin_transform_modules_systemjs: "^7.29.4", npm_package_devDependencies_prettier: "^2.4.1", npm_package_devDependencies_babel_jest: "^29.7.0", npm_package_scripts_dev: "node ../../scripts/dev", npm_package_keywords_3: "roomkit", LOGNAME: "runner", RUNNER_OS: "Linux", GITHUB_API_URL: "https://api.github.com", GOROOT_1_22_X64: "/opt/hostedtoolcache/go/1.22.12/x64", SWIFT_PATH: "/usr/share/swift/usr/bin", FORCE_COLOR: "true", npm_package_dependencies__radix_ui_react_toast: "1.0.0", npm_package_dependencies__radix_ui_react_radio_group: "1.0.0", npm_package_dependencies__100mslive_hms_noise_cancellation: "0.1.1", npm_package_devDependencies__babel_preset_typescript: "^7.22.5", npm_package_exports___default: "./dist/index.js", CHROMEWEBDRIVER: "/usr/local/share/chromedriver-linux64", GOROOT_1_23_X64: "/opt/hostedtoolcache/go/1.23.12/x64", JOURNAL_STREAM: "9:14360", GITHUB_WORKFLOW: "Publish Packages", _: "/usr/local/bin/yarn", npm_package_devDependencies_ts_jest: "^29.1.1", npm_package_devDependencies_lerna: "^9.0.7", npm_package_devDependencies__types_jest: "^27.0.3", npm_package_devDependencies__commitlint_config_conventional: "^19.6.0", npm_package_private: "true", npm_package_dependencies__radix_ui_react_accordion: "1.0.0", npm_package_devDependencies__babel_preset_react: "^7.22.5", npm_package_module: "dist/index.js", MEMORY_PRESSURE_WATCH: "/sys/fs/cgroup/system.slice/hosted-compute-agent.service/memory.pressure", GOROOT_1_24_X64: "/opt/hostedtoolcache/go/1.24.13/x64", npm_package_scripts_lint: "eslint -c .eslintrc --no-error-on-unmatched-pattern src --ext .js --ext .jsx --ext .ts --ext .tsx", npm_package_devDependencies__typescript_eslint_eslint_plugin: "^5.4.0", npm_config_registry: "https://registry.yarnpkg.com", npm_package_dependencies_react_window: "^1.8.7", npm_package_dependencies__100mslive_hls_player: "0.5.2", npm_package_devDependencies__types_lodash_merge: "^4.6.6", ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE: "/opt/actionarchivecache", GOROOT_1_25_X64: "/opt/hostedtoolcache/go/1.25.10/x64", GITHUB_RUN_ID: "26182512235", npm_package_workspaces_0: "packages/*", npm_package_resolutions_cross_spawn: "^7.0.6", npm_package_scripts_store: "cd packages/hms-video-store && yarn start", npm_package_devDependencies__babel_core: "^7.18.2", npm_package_dependencies_ts_pattern: "4.3.0", GITHUB_REF_TYPE: "branch", BOOTSTRAP_HASKELL_NONINTERACTIVE: "1", GITHUB_WORKFLOW_SHA: "5eca9dfb86d45911a83ab247dd17f35c9ffb4624", GITHUB_BASE_REF: "", ImageOS: "ubuntu24", npm_package_workspaces_1: "examples/*", npm_package_resolutions_qs: "^6.14.2", npm_package_scripts_start: 'concurrently "yarn dev" "yarn types"', npm_config_ignore_scripts: "", NX_TASK_HASH: "17537937963817537172", npm_package_exports___import: "./dist/index.js", GITHUB_WORKFLOW_REF: "100mslive/web-sdks/.github/workflows/publish.yml@refs/heads/main", ACTIONS_ID_TOKEN_REQUEST_TOKEN: "eyJhbGciOiJSUzI1NiIsImtpZCI6IjM4ODI2YjE3LTZhMzAtNWY5Yi1iMTY5LThiZWI4MjAyZjcyMyIsInR5cCI6IkpXVCIsIng1dCI6InlrTmFZNHFNX3RhNGsyVGdaT0NFWUxrY1lsQSJ9.eyJJZGVudGl0eVR5cGVDbGFpbSI6IlN5c3RlbTpTZXJ2aWNlSWRlbnRpdHkiLCJhYyI6Ilt7XCJTY29wZVwiOlwicmVmcy9oZWFkcy9tYWluXCIsXCJQZXJtaXNzaW9uXCI6M31dIiwiYWNzbCI6IjEwIiwiYXVkIjoidnNvOjVlMTJlMDA5LWRkMDEtNGNjYy05ZTg5LTQ1MjMwMjUwM2RiNSIsImJpbGxpbmdfb3duZXJfaWQiOiJFX2tnRE9BQU9FdlEiLCJleHAiOjE3NzkzMjQ1MzYsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd3MvMjAwOC8wNi9pZGVudGl0eS9jbGFpbXMvcHJpbWFyeXNpZCI6ImRkZGRkZGRkLWRkZGQtZGRkZC1kZGRkLWRkZGRkZGRkZGRkZCIsImh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3dzLzIwMDUvMDUvaWRlbnRpdHkvY2xhaW1zL3NpZCI6ImRkZGRkZGRkLWRkZGQtZGRkZC1kZGRkLWRkZGRkZGRkZGRkZCIsImlhdCI6MTc3OTMwMjMzNiwiaXNzIjoiaHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImpvYl9pZCI6ImQ5ZGE5ZmNmLWMyMWYtNTUxZi1hZTcwLTYxMDI5MjEzYTJmYSIsIm5hbWVpZCI6ImRkZGRkZGRkLWRkZGQtZGRkZC1kZGRkLWRkZGRkZGRkZGRkZCIsIm5iZiI6MTc3OTMwMjAzNiwib2lkY19leHRyYSI6IntcImFjdG9yXCI6XCJjeXJpbC1rLTAzMTIyNVwiLFwiYWN0b3JfaWRcIjpcIjI0NzU0Mzk0NlwiLFwiYmFzZV9yZWZcIjpcIlwiLFwiY2hlY2tfcnVuX2lkXCI6XCI3NzAyOTEyODM5MlwiLFwiZXZlbnRfbmFtZVwiOlwid29ya2Zsb3dfZGlzcGF0Y2hcIixcImhlYWRfcmVmXCI6XCJcIixcImpvYl93b3JrZmxvd19yZWZcIjpcIjEwMG1zbGl2ZS93ZWItc2Rrcy8uZ2l0aHViL3dvcmtmbG93cy9wdWJsaXNoLnltbEByZWZzL2hlYWRzL21haW5cIixcImpvYl93b3JrZmxvd19zaGFcIjpcIjVlY2E5ZGZiODZkNDU5MTFhODNhYjI0N2RkMTdmMzVjOWZmYjQ2MjRcIixcInJlZlwiOlwicmVmcy9oZWFkcy9tYWluXCIsXCJyZWZfcHJvdGVjdGVkXCI6XCJ0cnVlXCIsXCJyZWZfdHlwZVwiOlwiYnJhbmNoXCIsXCJyZXBvc2l0b3J5XCI6XCIxMDBtc2xpdmUvd2ViLXNka3NcIixcInJlcG9zaXRvcnlfaWRcIjpcIjQyOTgyNjUxNVwiLFwicmVwb3NpdG9yeV9vd25lclwiOlwiMTAwbXNsaXZlXCIsXCJyZXBvc2l0b3J5X293bmVyX2lkXCI6XCI3Mzg4MzEzMVwiLFwicmVwb3NpdG9yeV92aXNpYmlsaXR5XCI6XCJwdWJsaWNcIixcInJ1bl9hdHRlbXB0XCI6XCIxXCIsXCJydW5faWRcIjpcIjI2MTgyNTEyMjM1XCIsXCJydW5fbnVtYmVyXCI6XCI4MzlcIixcInJ1bm5lcl9lbnZpcm9ubWVudFwiOlwiZ2l0aHViLWhvc3RlZFwiLFwic2hhXCI6XCI1ZWNhOWRmYjg2ZDQ1OTExYTgzYWIyNDdkZDE3ZjM1YzlmZmI0NjI0XCIsXCJ3b3JrZmxvd1wiOlwiUHVibGlzaCBQYWNrYWdlc1wiLFwid29ya2Zsb3dfcmVmXCI6XCIxMDBtc2xpdmUvd2ViLXNka3MvLmdpdGh1Yi93b3JrZmxvd3MvcHVibGlzaC55bWxAcmVmcy9oZWFkcy9tYWluXCIsXCJ3b3JrZmxvd19zaGFcIjpcIjVlY2E5ZGZiODZkNDU5MTFhODNhYjI0N2RkMTdmMzVjOWZmYjQ2MjRcIn0iLCJvaWRjX3N1YiI6InJlcG86MTAwbXNsaXZlL3dlYi1zZGtzOnJlZjpyZWZzL2hlYWRzL21haW4iLCJvcmNoX2lkIjoiNzU3YjJkOTEtZGFmNy00YTc3LThjZTItNjE0OTgwMjNiMTBhLnB1Ymxpc2hfcGFja2FnZXMuX19kZWZhdWx0Iiwib3duZXJfaWQiOiJFX2tnRE9BQU9FdlEiLCJwbGFuX2lkIjoiNzU3YjJkOTEtZGFmNy00YTc3LThjZTItNjE0OTgwMjNiMTBhIiwicmVwb3NpdG9yeV9pZCI6IjQyOTgyNjUxNSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI3Mzg4MzEzMSIsInJlcG9zaXRvcnlfdmlzaWJpbGl0eSI6InB1YmxpYyIsInJ1bl9pZCI6IjI2MTgyNTEyMjM1IiwicnVuX251bWJlciI6IjgzOSIsInJ1bl90eXBlIjoiZnVsbCIsInJ1bm5lcl9pZCI6IjEwMDAzNjE5MjUiLCJydW5uZXJfdHlwZSI6Imhvc3RlZCIsInNjcCI6IkFjdGlvbnMuUmVzdWx0czo3NTdiMmQ5MS1kYWY3LTRhNzctOGNlMi02MTQ5ODAyM2IxMGE6ZDlkYTlmY2YtYzIxZi01NTFmLWFlNzAtNjEwMjkyMTNhMmZhIEFjdGlvbnMuUnVubmVyOjc1N2IyZDkxLWRhZjctNGE3Ny04Y2UyLTYxNDk4MDIzYjEwYTpkOWRhOWZjZi1jMjFmLTU1MWYtYWU3MC02MTAyOTIxM2EyZmEgQWN0aW9ucy5VcGxvYWRBcnRpZmFjdHM6NzU3YjJkOTEtZGFmNy00YTc3LThjZTItNjE0OTgwMjNiMTBhOmQ5ZGE5ZmNmLWMyMWYtNTUxZi1hZTcwLTYxMDI5MjEzYTJmYSBnZW5lcmF0ZV9pZF90b2tlbjo3NTdiMmQ5MS1kYWY3LTRhNzctOGNlMi02MTQ5ODAyM2IxMGE6ZDlkYTlmY2YtYzIxZi01NTFmLWFlNzAtNjEwMjkyMTNhMmZhIEFjdGlvbnMuR2VuZXJpY1JlYWQ6MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwIiwic2hhIjoiNWVjYTlkZmI4NmQ0NTkxMWE4M2FiMjQ3ZGQxN2YzNWM5ZmZiNDYyNCIsInRydXN0X3RpZXIiOiIxIn0.qkXJF2NdyXE3Vy2f0icbOvw3jzGPmNnee3TCO2AOo0zo2Qa2cdQFzaaT2GyfuWid-pkKGi7bmBj8PqRm9N9p7TvaLqXrjMseP5pXkPKZ1Z-MNKgCyZFQNYfhT97DGOEy2rEs-lRq1G4qqDsVSlW77idegNb6t3SIOxkoGuQRxItgwtd8IygpLwa6s63ZztlbwgXadiI5fn8svrNc9ZTbshYRqvjxu24hVYStkOoOc_2tXnmhSx4JMSJYnXQhnS5hSMgyVIiEC4Lc22E4lh4QAQ62PYAWX1dHFPUMqoLeUgTD-_7HNioJZzyUbuUuAMw4DWmU5y7fn_FvzONJ_1tH9g", GITHUB_ACTION_REPOSITORY: "", ENABLE_RUNNER_TRACING: "true", npm_package_resolutions_on_headers: "^1.1.0", npm_package_resolutions_semver: "^7.5.2", npm_package_scripts_prebuilt: "cd packages/roomkit-react && yarn start", npm_package_devDependencies_postcss_loader: "^6.2.1", npm_package_devDependencies_esbuild_loader: "^4.0.2", PATH: "/tmp/yarn--1779302397051-0.41077888945797103:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/24.15.0/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/24.15.0/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/24.15.0/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1779302396879-0.5068959794683833:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/24.15.0/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/24.15.0/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/24.15.0/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1779302377597-0.4491567392544874:/home/runner/.config/yarn/link/node_modules/.bin:/opt/hostedtoolcache/node/24.15.0/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/24.15.0/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/24.15.0/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1779302377432-0.07946300514110849:/home/runner/.config/yarn/link/node_modules/.bin:/opt/hostedtoolcache/node/24.15.0/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/24.15.0/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/24.15.0/x64/bin/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/24.15.0/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin", NODE: "/opt/hostedtoolcache/node/24.15.0/x64/bin/node", ANT_HOME: "/usr/share/ant", DOTNET_MULTILEVEL_LOOKUP: "0", RUNNER_TRACKING_ID: "github_477f0491-523f-405e-b73e-781c19de2953", INVOCATION_ID: "6786e61a22f94247bc14ae44ff1b0736", NPM_CONFIG_USERCONFIG: "/home/runner/work/_temp/.npmrc", RUNNER_TOOL_CACHE: "/opt/hostedtoolcache", npm_package_scripts_size: "size-limit", npm_package_devDependencies_size_limit: "^5.0.3", npm_package_name: "@100mslive/roomkit-react", npm_package_repository_type: "git", GITHUB_ACTION: "__run_3", GITHUB_RUN_NUMBER: "839", GITHUB_TRIGGERING_ACTOR: "cyril-k-031225", RUNNER_ARCH: "X64", XDG_RUNTIME_DIR: "/run/user/1001", AGENT_TOOLSDIRECTORY: "/opt/hostedtoolcache", npm_package_lint_staged____js_ts_jsx_tsx_: "eslint", npm_package_devDependencies_babel_plugin_istanbul: "^6.1.1", LERNA_PACKAGE_NAME: "@100mslive/roomkit-react", npm_package_dependencies__radix_ui_react_select: "1.0.0", npm_package_size_limit_0_limit: "20 KB", npm_package_devDependencies__commitlint_cli: "^19.6.0", npm_config_legacy_peer_deps: "", LANG: "C.UTF-8", VCPKG_INSTALLATION_ROOT: "/usr/local/share/vcpkg", npm_package_size_limit_1_limit: "20 KB", npm_package_resolutions____glob_minimatch: "^3.1.4", npm_package_resolutions_flatted: "^3.4.2", npm_package_devDependencies_eslint_plugin_simple_import_sort: "^8.0.0", npm_package_devDependencies_eslint: "^8.9.0", npm_package_dependencies_react_intersection_observer: "^9.4.3", npm_package_dependencies_react_dom: "^18.2.0", npm_package_devDependencies__types_mdx: "2.0.2", CONDA: "/usr/share/miniconda", RUNNER_NAME: "GitHub Actions 1000361925", XDG_CONFIG_HOME: "/home/runner/.config", GITHUB_REF_NAME: "main", GITHUB_REPOSITORY: "100mslive/web-sdks", npm_lifecycle_script: "rm -rf dist && node ../../scripts/build-webapp", npm_package_size_limit_2_limit: "400 KB", npm_package_resolutions____eslint_minimatch: "^3.1.4", npm_package_resolutions_braces: "^3.0.3", npm_package_resolutions_loader_utils: "^2.0.4", npm_package_devDependencies_dotenv: "^14.2.0", npm_package_dependencies__radix_ui_react_slider: "1.0.0", npm_package_scripts_types_build: "tsc -p tsconfig.json", npm_package_main: "dist/index.cjs.js", ANDROID_NDK_ROOT: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_ACTION_REF: "", DEBIAN_FRONTEND: "noninteractive", npm_package_size_limit_3_limit: "20 KB", npm_package_size_limit_0_path: "packages/hms-video-store/dist/index.cjs.js", npm_package_resolutions_ip_address: "^10.2.0", npm_package_scripts_lerna_publish: "lerna publish from-package --dist-tag $PUBLISH_FLAG --yes", npm_package_scripts_test: "yarn build --no-private && lerna run test", npm_package_devDependencies_concurrently: "^9.2.1", npm_config_version_git_message: "v%s", npm_package_dependencies__radix_ui_react_checkbox: "1.0.0", npm_package_dependencies__100mslive_react_icons: "0.12.2", npm_package_scripts_types: "tsc -w", SHELL: "/bin/bash", GITHUB_REPOSITORY_ID: "429826515", GITHUB_ACTIONS: "true", npm_lifecycle_event: "build:only", npm_package_version: "0.5.2", npm_package_size_limit_4_limit: "20 KB", npm_package_size_limit_1_path: "packages/hms-video-store/dist/index.js", npm_package_resolutions__octokit_request_error: "^5.1.1", npm_package_resolutions_axios: "^1.16.0", npm_package_scripts_build_only: "rm -rf dist && node ../../scripts/build-webapp", npm_package_devDependencies_jest_environment_jsdom: "^29.7.0", NX_ISOLATE_PLUGINS: "false", npm_package_devDependencies__types_react: "^18.1.0", npm_package_sideEffects: "false", npm_package_repository_url: "https://github.com/100mslive/web-sdks.git", npm_package_source: "src/index.ts", GITHUB_REF_PROTECTED: "true", npm_config_argv: '{"remain":[],"cooked":["run","test"],"original":["test"]}', npm_package_size_limit_5_limit: "20 KB", npm_package_size_limit_2_path: "packages/roomkit-react/dist/index.cjs.js", npm_package_resolutions_postcss: "^8.5.14", npm_package_resolutions_fast_uri: "^3.1.2", npm_package_resolutions_follow_redirects: "^1.16.0", npm_package_scripts_build: "yarn build:only && yarn types:build", npm_package_devDependencies_tslib: "^2.2.0", npm_package_devDependencies_lint_staged: "^12.0.3", NX_CLI_SET: "true", npm_package_dependencies_uuid: "^8.3.2", npm_package_dependencies_react_virtualized_auto_sizer: "^1.0.7", npm_package_dependencies_lodash_merge: "^4.6.2", npm_package_dependencies_emoji_mart: "^5.2.2", GITHUB_WORKSPACE: "/home/runner/work/web-sdks/web-sdks", ACCEPT_EULA: "Y", GITHUB_JOB: "publish_packages", npm_package_size_limit_6_limit: "150 KB", npm_package_size_limit_3_path: "packages/roomkit-react/dist/index.js", npm_package_resolutions____nx_minimatch: "^9.0.7", npm_package_resolutions__babel_helpers: "^7.29.2", GITHUB_SHA: "5eca9dfb86d45911a83ab247dd17f35c9ffb4624", GITHUB_RUN_ATTEMPT: "1", npm_package_size_limit_7_limit: "100 KB", npm_package_size_limit_4_path: "packages/hms-virtual-background/dist/index.cjs.js", npm_package_resolutions____tinyglobby_picomatch: "^4.0.4", npm_package_resolutions__adobe_css_tools: "^4.4.4", npm_package_resolutions_form_data: "^4.0.4", npm_config_version_git_tag: "true", npm_config_version_git_sign: "", NX_TASK_TARGET_TARGET: "build", NX_FORKED_TASK_EXECUTOR: "true", npm_package_dependencies_qrcode_react: "^3.1.0", GITHUB_REF: "refs/heads/main", GITHUB_ACTOR: "cyril-k-031225", ANDROID_SDK_ROOT: "/usr/local/lib/android/sdk", npm_package_license: "MIT", npm_package_size_limit_5_path: "packages/hms-virtual-background/dist/index.js", npm_package_resolutions_yaml: "^2.8.3", npm_config_strict_ssl: "true", NX_LOAD_DOT_ENV_FILES: "true", npm_package_size_limit_6_path: "packages/react-icons/dist/index.cjs.js", npm_package_scripts_format: "prettier -w src/**", npm_package_devDependencies_eslint_plugin_prettier: "^4.0.0", npm_package_devDependencies_eslint_config_react_app: "^7.0.0", NX_TASK_TARGET_PROJECT: "@100mslive/roomkit-react", GITHUB_PATH: "/home/runner/work/_temp/_runner_file_commands/add_path_db797efa-b66d-4848-9819-e1d982df2216", JAVA_HOME: "/usr/lib/jvm/temurin-17-jdk-amd64", PWD: "/home/runner/work/web-sdks/web-sdks/packages/roomkit-react", GITHUB_ACTOR_ID: "247543946", RUNNER_WORKSPACE: "/home/runner/work/web-sdks", npm_execpath: "/usr/local/lib/node_modules/yarn/bin/yarn.js", npm_package_size_limit_7_path: "packages/react-icons/dist/index.js", npm_package_resolutions__tootallnate_once: "^3.0.1", npm_package_resolutions____vite_rollup: "^4.59.0", npm_package_scripts_ybys: "yarn && yarn build --no-private", npm_package_dependencies__radix_ui_react_progress: "1.0.0", HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS: "3650", GITHUB_EVENT_NAME: "workflow_dispatch", HOMEBREW_NO_AUTO_UPDATE: "1", ANDROID_HOME: "/usr/local/lib/android/sdk", GITHUB_SERVER_URL: "https://github.com", GECKOWEBDRIVER: "/usr/local/share/gecko_driver", ACTIONS_ID_TOKEN_REQUEST_URL: "https://run-actions-3-azure-eastus.actions.githubusercontent.com/57//idtoken/757b2d91-daf7-4a77-8ce2-61498023b10a/d9da9fcf-c21f-551f-ae70-61029213a2fa?api-version=2.0", GHCUP_INSTALL_BASE_PREFIX: "/usr/local", GITHUB_OUTPUT: "/home/runner/work/_temp/_runner_file_commands/set_output_db797efa-b66d-4848-9819-e1d982df2216", npm_package_scripts_prestart: "rm -rf dist && yarn types:build", npm_package_author_name: "100ms", EDGEWEBDRIVER: "/usr/local/share/edge_driver", npm_package_resolutions_micromatch: "^4.0.8", npm_package_resolutions_js_yaml: "^4.1.1", npm_package_devDependencies_postcss: "^8.4.5", npm_package_devDependencies_esbuild: "^0.27.4", npm_config_save_prefix: "^", npm_config_ignore_optional: "", NX_TUI: "false", npm_package_dependencies_worker_timers: "^7.0.40", npm_package_typings: "dist/index.d.ts", ANDROID_NDK: "/usr/local/lib/android/sdk/ndk/27.3.13750724", SGX_AESM_ADDR: "1", PSModulePath: "/root/.local/share/powershell/Modules:/usr/local/share/powershell/Modules:/opt/microsoft/powershell/7/Modules:/usr/share/az_14.6.0", CHROME_BIN: "/usr/bin/google-chrome", npm_package_resolutions_lodash: "^4.18.1", npm_package_devDependencies_esbuild_plugin_postcss2: "0.1.1", npm_package_dependencies_react_swipeable: "^7.0.1", npm_package_devDependencies_babel_plugin_react_require: "3.1.3", SELENIUM_JAR_PATH: "/usr/share/java/selenium-server.jar", MEMORY_PRESSURE_WRITE: "c29tZSAyMDAwMDAgMjAwMDAwMAA=", npm_package_scripts_reactsdk: "cd packages/react-sdk && yarn start", npm_package_dependencies_react_use: "^17.4.0", npm_package_dependencies__radix_ui_react_collapsible: "1.0.0", INIT_CWD: "/home/runner/work/web-sdks/web-sdks", ANDROID_NDK_HOME: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_STEP_SUMMARY: "/home/runner/work/_temp/_runner_file_commands/step_summary_db797efa-b66d-4848-9819-e1d982df2216", npm_package_resolutions_sass: "^1.83.0" };
107
+ define_process_env_default = { GITHUB_STATE: "/home/runner/work/_temp/_runner_file_commands/save_state_e948db07-9188-49d0-8996-dc586255277c", npm_package_resolutions_js_cookie: "^3.0.7", npm_package_devDependencies_ts_node: "^10.4.0", npm_package_devDependencies__types_node: "^16.11.17", npm_package_exports___index_css: "./dist/index.css", npm_package_exports___require: "./dist/index.cjs.js", DOTNET_NOLOGO: "1", npm_package_resolutions_tar: "^7.5.13", npm_package_dependencies_screenfull: "^5.1.0", npm_package_dependencies_react_draggable: "^4.4.5", npm_package_dependencies__radix_ui_react_switch: "1.0.0", npm_package_dependencies__100mslive_hms_whiteboard: "0.2.3-alpha.0", USER: "runner", npm_package_resolutions_picomatch: "^2.3.2", npm_package_resolutions__octokit_request: "^8.4.1", npm_package_devDependencies_jest: "^29.7.0", npm_config_version_commit_hooks: "true", npm_config_user_agent: "yarn/1.22.22 npm/? node/v24.16.0 linux x64", npm_config_always_auth: "", NX_WORKSPACE_ROOT: "/home/runner/work/web-sdks/web-sdks", npm_package_scripts_babel: "npx storybook@latest babelrc", CI: "true", npm_package_resolutions____babel_plugin_istanbul_test_exclude_minimatch: "^3.1.4", npm_package_devDependencies__size_limit_file: "^5.0.3", npm_config_bin_links: "true", npm_config_wrap_output: "", npm_package_dependencies__radix_ui_react_tabs: "1.0.0", npm_package_dependencies__100mslive_react_sdk: "0.12.3-alpha.0", USE_BAZEL_FALLBACK_VERSION: "silent:", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_e948db07-9188-49d0-8996-dc586255277c", PIPX_HOME: "/opt/pipx", npm_node_execpath: "/opt/hostedtoolcache/node/24.16.0/x64/bin/node", npm_config_init_version: "1.0.0", npm_package_dependencies__emoji_mart_react: "^1.0.1", npm_package_dependencies__emoji_mart_data: "^1.0.6", npm_package_dependencies__100mslive_hms_virtual_background: "1.15.3-alpha.0", JAVA_HOME_8_X64: "/usr/lib/jvm/temurin-8-jdk-amd64", NODE_AUTH_TOKEN: "XXXXX-XXXXX-XXXXX-XXXXX", SHLVL: "1", npm_package_resolutions_shell_quote: "^1.8.4", npm_package_dependencies__radix_ui_react_tooltip: "1.0.6", npm_package_dependencies__radix_ui_react_popover: "1.0.6", npm_package_dependencies__100mslive_types_prebuilt: "0.12.12", npm_package_peerDependencies_react: ">=17.0.2 <19.0.0", npm_package_files_0: "dist", HOME: "/home/runner", npm_package_devDependencies__typescript_eslint_parser: "^5.4.0", npm_package_dependencies__radix_ui_react_dialog: "1.0.4", npm_package_devDependencies__types_react_window: "^1.8.5", npm_package_repository_directory: "packages/roomkit-react", RUNNER_TEMP: "/home/runner/work/_temp", GITHUB_EVENT_PATH: "/home/runner/work/_temp/_github_workflow/event.json", npm_package_resolutions__babel_runtime: "^7.29.2", npm_package_resolutions__tldraw_tldraw__radix_ui_react_dialog: "1.0.5", npm_package_scripts_controller: "cd packages/hls-controller && yarn start", npm_package_dependencies__stitches_react: "1.3.1-1", JAVA_HOME_11_X64: "/usr/lib/jvm/temurin-11-jdk-amd64", PIPX_BIN_DIR: "/opt/pipx_bin", GITHUB_REPOSITORY_OWNER: "100mslive", npm_package_engines_node: ">=16", npm_package_resolutions_____nx_devkit_minimatch: "^9.0.7", npm_package_devDependencies_typedoc_plugin_markdown: "^3.14.0", npm_config_init_license: "MIT", GRADLE_HOME: "/usr/share/gradle-9.5.1", ANDROID_NDK_LATEST_HOME: "/usr/local/lib/android/sdk/ndk/29.0.14206865", JAVA_HOME_21_X64: "/usr/lib/jvm/temurin-21-jdk-amd64", GITHUB_RETENTION_DAYS: "90", YARN_WRAP_OUTPUT: "false", npm_config_version_tag_prefix: "v", GITHUB_REPOSITORY_OWNER_ID: "73883131", POWERSHELL_DISTRIBUTION_CHANNEL: "GitHub-Actions-Linux", AZURE_EXTENSION_DIR: "/opt/az/azcliextensions", GITHUB_HEAD_REF: "", npm_package_resolutions__isaacs_brace_expansion: "^5.0.1", npm_package_scripts_lint_fix: "yarn lint --fix", npm_config_userconfig: "/home/runner/work/_temp/.npmrc", SYSTEMD_EXEC_PID: "2037", ACTIONS_ORCHESTRATION_ID: "399de536-7f4b-4e41-aba5-a1950dd7822e.publish_packages.__default", npm_package_resolutions_tmp: "^0.2.6", npm_package_scripts_postinstall: "husky install", npm_package_devDependencies_husky: "^6.0.0", npm_package_dependencies_recordrtc: "^5.6.2", npm_package_dependencies_eventemitter2: "^6.4.9", npm_package_dependencies__radix_ui_react_label: "1.0.0", npm_package_dependencies__radix_ui_react_dropdown_menu: "2.0.5", npm_package_keywords_0: "100mslive", GITHUB_GRAPHQL_URL: "https://api.github.com/graphql", npm_package_description: "100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.", npm_package_devDependencies_typescript: "~4.7.4", npm_package_devDependencies_typedoc: "^0.24.8", npm_package_devDependencies_babel_loader: "^8.2.5", npm_package_keywords_1: "react", JAVA_HOME_25_X64: "/usr/lib/jvm/temurin-25-jdk-amd64", NVM_DIR: "/home/runner/.nvm", npm_package_readmeFilename: "README.md", npm_package_resolutions____typedoc_minimatch: "^9.0.7", npm_package_devDependencies_react: "^18.1.0", npm_package_devDependencies__babel_preset_env: "^7.22.5", npm_package_keywords_2: "prebuilt", DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "1", JAVA_HOME_17_X64: "/usr/lib/jvm/temurin-17-jdk-amd64", ImageVersion: "20260615.205.1", npm_package_resolutions__babel_plugin_transform_modules_systemjs: "^7.29.4", npm_package_devDependencies_prettier: "^2.4.1", npm_package_devDependencies_babel_jest: "^29.7.0", npm_package_scripts_dev: "node ../../scripts/dev", npm_package_keywords_3: "roomkit", LOGNAME: "runner", RUNNER_OS: "Linux", GITHUB_API_URL: "https://api.github.com", GOROOT_1_22_X64: "/opt/hostedtoolcache/go/1.22.12/x64", SWIFT_PATH: "/usr/share/swift/usr/bin", FORCE_COLOR: "true", npm_package_dependencies__radix_ui_react_toast: "1.0.0", npm_package_dependencies__radix_ui_react_radio_group: "1.0.0", npm_package_dependencies__100mslive_hms_noise_cancellation: "0.1.1", npm_package_devDependencies__babel_preset_typescript: "^7.22.5", npm_package_exports___default: "./dist/index.js", CHROMEWEBDRIVER: "/usr/local/share/chromedriver-linux64", GOROOT_1_23_X64: "/opt/hostedtoolcache/go/1.23.12/x64", JOURNAL_STREAM: "9:16684", GITHUB_WORKFLOW: "Publish Packages", _: "/usr/local/bin/yarn", npm_package_devDependencies_ts_jest: "^29.1.1", npm_package_devDependencies_lerna: "^9.0.7", npm_package_devDependencies__types_jest: "^27.0.3", npm_package_devDependencies__commitlint_config_conventional: "^19.6.0", npm_package_private: "true", npm_package_dependencies__radix_ui_react_accordion: "1.0.0", npm_package_devDependencies__babel_preset_react: "^7.22.5", npm_package_module: "dist/index.js", MEMORY_PRESSURE_WATCH: "/sys/fs/cgroup/system.slice/hosted-compute-agent.service/memory.pressure", GOROOT_1_24_X64: "/opt/hostedtoolcache/go/1.24.13/x64", npm_package_scripts_lint: "eslint -c .eslintrc --no-error-on-unmatched-pattern src --ext .js --ext .jsx --ext .ts --ext .tsx", npm_package_devDependencies__typescript_eslint_eslint_plugin: "^5.4.0", npm_config_registry: "https://registry.yarnpkg.com", npm_package_dependencies_react_window: "^1.8.7", npm_package_dependencies__100mslive_hls_player: "0.5.3-alpha.0", npm_package_devDependencies__types_lodash_merge: "^4.6.6", ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE: "/opt/actionarchivecache", GOROOT_1_25_X64: "/opt/hostedtoolcache/go/1.25.11/x64", GITHUB_RUN_ID: "27704580453", npm_package_workspaces_0: "packages/*", npm_package_resolutions_cross_spawn: "^7.0.6", npm_package_scripts_store: "cd packages/hms-video-store && yarn start", npm_package_devDependencies__babel_core: "^7.18.2", npm_package_dependencies_ts_pattern: "4.3.0", GITHUB_REF_TYPE: "branch", BOOTSTRAP_HASKELL_NONINTERACTIVE: "1", GITHUB_WORKFLOW_SHA: "6e0598e5cb37235c8d377c0a990ebec21ab57df8", GITHUB_BASE_REF: "", ImageOS: "ubuntu24", npm_package_workspaces_1: "examples/*", npm_package_resolutions_qs: "^6.15.2", npm_package_scripts_start: 'concurrently "yarn dev" "yarn types"', npm_config_ignore_scripts: "", NX_TASK_HASH: "4703825063290312234", npm_package_exports___import: "./dist/index.js", GITHUB_WORKFLOW_REF: "100mslive/web-sdks/.github/workflows/publish.yml@refs/heads/enable-pip-safari", ACTIONS_ID_TOKEN_REQUEST_TOKEN: "eyJhbGciOiJSUzI1NiIsImtpZCI6IjM4ODI2YjE3LTZhMzAtNWY5Yi1iMTY5LThiZWI4MjAyZjcyMyIsInR5cCI6IkpXVCIsIng1dCI6InlrTmFZNHFNX3RhNGsyVGdaT0NFWUxrY1lsQSJ9.eyJJZGVudGl0eVR5cGVDbGFpbSI6IlN5c3RlbTpTZXJ2aWNlSWRlbnRpdHkiLCJhYyI6Ilt7XCJTY29wZVwiOlwicmVmcy9oZWFkcy9lbmFibGUtcGlwLXNhZmFyaVwiLFwiUGVybWlzc2lvblwiOjN9LHtcIlNjb3BlXCI6XCJyZWZzL2hlYWRzL21haW5cIixcIlBlcm1pc3Npb25cIjoxfV0iLCJhY3NsIjoiMTAiLCJhdWQiOiJ2c286NWUxMmUwMDktZGQwMS00Y2NjLTllODktNDUyMzAyNTAzZGI1IiwiYmlsbGluZ19vd25lcl9pZCI6IkVfa2dET0FBT0V2USIsImV4cCI6MTc4MTczNjQ5MSwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9wcmltYXJ5c2lkIjoiZGRkZGRkZGQtZGRkZC1kZGRkLWRkZGQtZGRkZGRkZGRkZGRkIiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiZGRkZGRkZGQtZGRkZC1kZGRkLWRkZGQtZGRkZGRkZGRkZGRkIiwiaWF0IjoxNzgxNzE0MjkxLCJpc3MiOiJodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwiam9iX2lkIjoiODU1ODA1ODMtYjZlMS01ODY3LWFlNzktZTQxNjM5MzY4MmRmIiwibmFtZWlkIjoiZGRkZGRkZGQtZGRkZC1kZGRkLWRkZGQtZGRkZGRkZGRkZGRkIiwibmJmIjoxNzgxNzEzOTkxLCJvaWRjX2V4dHJhIjoie1wiYWN0b3JcIjpcInJhdml0ZWphODNcIixcImFjdG9yX2lkXCI6XCI2NzYzMjYxXCIsXCJiYXNlX3JlZlwiOlwiXCIsXCJjaGVja19ydW5faWRcIjpcIjgxOTQ5NjM3MTI0XCIsXCJldmVudF9uYW1lXCI6XCJ3b3JrZmxvd19kaXNwYXRjaFwiLFwiaGVhZF9yZWZcIjpcIlwiLFwiam9iX3dvcmtmbG93X3JlZlwiOlwiMTAwbXNsaXZlL3dlYi1zZGtzLy5naXRodWIvd29ya2Zsb3dzL3B1Ymxpc2gueW1sQHJlZnMvaGVhZHMvZW5hYmxlLXBpcC1zYWZhcmlcIixcImpvYl93b3JrZmxvd19zaGFcIjpcIjZlMDU5OGU1Y2IzNzIzNWM4ZDM3N2MwYTk5MGViZWMyMWFiNTdkZjhcIixcInJlZlwiOlwicmVmcy9oZWFkcy9lbmFibGUtcGlwLXNhZmFyaVwiLFwicmVmX3Byb3RlY3RlZFwiOlwiZmFsc2VcIixcInJlZl90eXBlXCI6XCJicmFuY2hcIixcInJlcG9zaXRvcnlcIjpcIjEwMG1zbGl2ZS93ZWItc2Rrc1wiLFwicmVwb3NpdG9yeV9pZFwiOlwiNDI5ODI2NTE1XCIsXCJyZXBvc2l0b3J5X293bmVyXCI6XCIxMDBtc2xpdmVcIixcInJlcG9zaXRvcnlfb3duZXJfaWRcIjpcIjczODgzMTMxXCIsXCJyZXBvc2l0b3J5X3Zpc2liaWxpdHlcIjpcInB1YmxpY1wiLFwicnVuX2F0dGVtcHRcIjpcIjFcIixcInJ1bl9pZFwiOlwiMjc3MDQ1ODA0NTNcIixcInJ1bl9udW1iZXJcIjpcIjg0MFwiLFwicnVubmVyX2Vudmlyb25tZW50XCI6XCJnaXRodWItaG9zdGVkXCIsXCJzaGFcIjpcIjZlMDU5OGU1Y2IzNzIzNWM4ZDM3N2MwYTk5MGViZWMyMWFiNTdkZjhcIixcIndvcmtmbG93XCI6XCJQdWJsaXNoIFBhY2thZ2VzXCIsXCJ3b3JrZmxvd19yZWZcIjpcIjEwMG1zbGl2ZS93ZWItc2Rrcy8uZ2l0aHViL3dvcmtmbG93cy9wdWJsaXNoLnltbEByZWZzL2hlYWRzL2VuYWJsZS1waXAtc2FmYXJpXCIsXCJ3b3JrZmxvd19zaGFcIjpcIjZlMDU5OGU1Y2IzNzIzNWM4ZDM3N2MwYTk5MGViZWMyMWFiNTdkZjhcIn0iLCJvaWRjX3N1YiI6InJlcG86MTAwbXNsaXZlL3dlYi1zZGtzOnJlZjpyZWZzL2hlYWRzL2VuYWJsZS1waXAtc2FmYXJpIiwib3JjaF9pZCI6IjM5OWRlNTM2LTdmNGItNGU0MS1hYmE1LWExOTUwZGQ3ODIyZS5wdWJsaXNoX3BhY2thZ2VzLl9fZGVmYXVsdCIsIm93bmVyX2lkIjoiRV9rZ0RPQUFPRXZRIiwicGxhbl9pZCI6IjM5OWRlNTM2LTdmNGItNGU0MS1hYmE1LWExOTUwZGQ3ODIyZSIsInJlcG9zaXRvcnlfaWQiOiI0Mjk4MjY1MTUiLCJyZXBvc2l0b3J5X293bmVyX2lkIjoiNzM4ODMxMzEiLCJyZXBvc2l0b3J5X3Zpc2liaWxpdHkiOiJwdWJsaWMiLCJydW5faWQiOiIyNzcwNDU4MDQ1MyIsInJ1bl9udW1iZXIiOiI4NDAiLCJydW5fdHlwZSI6ImZ1bGwiLCJydW5uZXJfaWQiOiIxMDAwNDI4MjkyIiwicnVubmVyX3R5cGUiOiJob3N0ZWQiLCJzY3AiOiJBY3Rpb25zLlJlc3VsdHM6Mzk5ZGU1MzYtN2Y0Yi00ZTQxLWFiYTUtYTE5NTBkZDc4MjJlOjg1NTgwNTgzLWI2ZTEtNTg2Ny1hZTc5LWU0MTYzOTM2ODJkZiBBY3Rpb25zLlJ1bm5lcjozOTlkZTUzNi03ZjRiLTRlNDEtYWJhNS1hMTk1MGRkNzgyMmU6ODU1ODA1ODMtYjZlMS01ODY3LWFlNzktZTQxNjM5MzY4MmRmIEFjdGlvbnMuVXBsb2FkQXJ0aWZhY3RzOjM5OWRlNTM2LTdmNGItNGU0MS1hYmE1LWExOTUwZGQ3ODIyZTo4NTU4MDU4My1iNmUxLTU4NjctYWU3OS1lNDE2MzkzNjgyZGYgZ2VuZXJhdGVfaWRfdG9rZW46Mzk5ZGU1MzYtN2Y0Yi00ZTQxLWFiYTUtYTE5NTBkZDc4MjJlOjg1NTgwNTgzLWI2ZTEtNTg2Ny1hZTc5LWU0MTYzOTM2ODJkZiBBY3Rpb25zLkdlbmVyaWNSZWFkOjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIsInNoYSI6IjZlMDU5OGU1Y2IzNzIzNWM4ZDM3N2MwYTk5MGViZWMyMWFiNTdkZjgiLCJ0cnVzdF90aWVyIjoiMSJ9.2r5N_ApdHyHXZrFfSOEEZ0hK6wyAW8PYV8DBTxViXX13VH-Grroa-giLhhjwkz-sIEraydIKsXnvXhJRekUa9a3l6upHAZ-flTq5p3Cy1GLb_Pn6et2IkCzRcsw3g_2kZgRqU_uDulXGoGf-4OgzWAsGDXykJUEWfi4u-iwKZx9CTRiywg_xrhC3mY_Mu2QuaDuHKzLCF6fQ_44sW7WmbgrHmZV1WJ-y_bcvXFoTTYo15fYspv9aHUR5gDBCwGyGR1EJeLYa0T5b45j0L7nRxZAKfZzIKAR8WYQHxI9D7kVO3eXMTsIfb8xvxAq6KemZZw7aWK2IZQc65mz73X3z9g", GITHUB_ACTION_REPOSITORY: "", ENABLE_RUNNER_TRACING: "true", npm_package_resolutions_on_headers: "^1.1.0", npm_package_resolutions_semver: "^7.5.2", npm_package_scripts_prebuilt: "cd packages/roomkit-react && yarn start", npm_package_devDependencies_postcss_loader: "^6.2.1", npm_package_devDependencies_esbuild_loader: "^4.5.0", PATH: "/tmp/yarn--1781714351755-0.41577409028214074:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/24.16.0/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/24.16.0/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/24.16.0/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1781714351567-0.5071762613108749:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/24.16.0/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/24.16.0/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/24.16.0/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1781714331297-0.7464114779168166:/home/runner/.config/yarn/link/node_modules/.bin:/opt/hostedtoolcache/node/24.16.0/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/24.16.0/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/24.16.0/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1781714331132-0.22226034051053145:/home/runner/.config/yarn/link/node_modules/.bin:/opt/hostedtoolcache/node/24.16.0/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/24.16.0/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/24.16.0/x64/bin/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/24.16.0/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin", NODE: "/opt/hostedtoolcache/node/24.16.0/x64/bin/node", ANT_HOME: "/usr/share/ant", DOTNET_MULTILEVEL_LOOKUP: "0", RUNNER_TRACKING_ID: "github_29b701a3-d63f-4d82-8101-bae8243d743a", INVOCATION_ID: "09a8344721584edcb6082710ec569a36", NPM_CONFIG_USERCONFIG: "/home/runner/work/_temp/.npmrc", RUNNER_TOOL_CACHE: "/opt/hostedtoolcache", npm_package_scripts_size: "size-limit", npm_package_devDependencies_size_limit: "^5.0.3", npm_package_name: "@100mslive/roomkit-react", npm_package_repository_type: "git", GITHUB_ACTION: "__run_3", GITHUB_RUN_NUMBER: "840", GITHUB_TRIGGERING_ACTOR: "raviteja83", RUNNER_ARCH: "X64", XDG_RUNTIME_DIR: "/run/user/1001", AGENT_TOOLSDIRECTORY: "/opt/hostedtoolcache", npm_package_lint_staged____js_ts_jsx_tsx_: "eslint", npm_package_devDependencies_babel_plugin_istanbul: "^6.1.1", LERNA_PACKAGE_NAME: "@100mslive/roomkit-react", npm_package_dependencies__radix_ui_react_select: "1.0.0", npm_package_size_limit_0_limit: "20 KB", npm_package_devDependencies__commitlint_cli: "^19.6.0", npm_config_legacy_peer_deps: "", LANG: "C.UTF-8", VCPKG_INSTALLATION_ROOT: "/usr/local/share/vcpkg", npm_package_size_limit_1_limit: "20 KB", npm_package_resolutions____glob_minimatch: "^3.1.4", npm_package_resolutions_flatted: "^3.4.2", npm_package_devDependencies_eslint_plugin_simple_import_sort: "^8.0.0", npm_package_devDependencies_eslint: "^8.9.0", npm_package_dependencies_react_intersection_observer: "^9.4.3", npm_package_dependencies_react_dom: "^18.2.0", npm_package_devDependencies__types_mdx: "2.0.2", CONDA: "/usr/share/miniconda", RUNNER_NAME: "GitHub Actions 1000428292", XDG_CONFIG_HOME: "/home/runner/.config", GITHUB_REF_NAME: "enable-pip-safari", GITHUB_REPOSITORY: "100mslive/web-sdks", npm_lifecycle_script: "rm -rf dist && node ../../scripts/build-webapp", npm_package_size_limit_2_limit: "400 KB", npm_package_resolutions____eslint_minimatch: "^3.1.4", npm_package_resolutions_braces: "^3.0.3", npm_package_resolutions_loader_utils: "^2.0.4", npm_package_devDependencies_dotenv: "^14.2.0", npm_package_dependencies__radix_ui_react_slider: "1.0.0", npm_package_scripts_types_build: "tsc -p tsconfig.json", npm_package_main: "dist/index.cjs.js", ANDROID_NDK_ROOT: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_ACTION_REF: "", DEBIAN_FRONTEND: "noninteractive", npm_package_size_limit_3_limit: "20 KB", npm_package_size_limit_0_path: "packages/hms-video-store/dist/index.cjs.js", npm_package_resolutions_ip_address: "^10.2.0", npm_package_scripts_lerna_publish: "lerna publish from-package --dist-tag $PUBLISH_FLAG --yes", npm_package_scripts_test: "yarn build --no-private && lerna run test", npm_package_devDependencies_concurrently: "^9.2.1", npm_config_version_git_message: "v%s", npm_package_dependencies__radix_ui_react_checkbox: "1.0.0", npm_package_dependencies__100mslive_react_icons: "0.12.3-alpha.0", npm_package_scripts_types: "tsc -w", SHELL: "/bin/bash", GITHUB_REPOSITORY_ID: "429826515", GITHUB_ACTIONS: "true", npm_lifecycle_event: "build:only", npm_package_version: "0.5.3-alpha.0", npm_package_size_limit_4_limit: "20 KB", npm_package_size_limit_1_path: "packages/hms-video-store/dist/index.js", npm_package_resolutions__octokit_request_error: "^5.1.1", npm_package_resolutions_axios: "^1.16.0", npm_package_scripts_build_only: "rm -rf dist && node ../../scripts/build-webapp", npm_package_devDependencies_jest_environment_jsdom: "^29.7.0", NX_ISOLATE_PLUGINS: "false", npm_package_devDependencies__types_react: "^18.1.0", npm_package_sideEffects: "false", npm_package_repository_url: "https://github.com/100mslive/web-sdks.git", npm_package_source: "src/index.ts", GITHUB_REF_PROTECTED: "false", npm_config_argv: '{"remain":[],"cooked":["run","test"],"original":["test"]}', npm_package_size_limit_5_limit: "20 KB", npm_package_size_limit_2_path: "packages/roomkit-react/dist/index.cjs.js", npm_package_resolutions_postcss: "^8.5.14", npm_package_resolutions_fast_uri: "^3.1.2", npm_package_resolutions_follow_redirects: "^1.16.0", npm_package_resolutions_esbuild: "^0.28.1", npm_package_scripts_build: "yarn build:only && yarn types:build", npm_package_devDependencies_tslib: "^2.2.0", npm_package_devDependencies_lint_staged: "^12.0.3", NX_CLI_SET: "true", npm_package_dependencies_uuid: "^11.1.1", npm_package_dependencies_react_virtualized_auto_sizer: "^1.0.7", npm_package_dependencies_lodash_merge: "^4.6.2", npm_package_dependencies_emoji_mart: "^5.2.2", GITHUB_WORKSPACE: "/home/runner/work/web-sdks/web-sdks", ACCEPT_EULA: "Y", GITHUB_JOB: "publish_packages", npm_package_size_limit_6_limit: "150 KB", npm_package_size_limit_3_path: "packages/roomkit-react/dist/index.js", npm_package_resolutions____nx_minimatch: "^9.0.7", npm_package_resolutions__babel_helpers: "^7.29.2", GITHUB_SHA: "6e0598e5cb37235c8d377c0a990ebec21ab57df8", GITHUB_RUN_ATTEMPT: "1", npm_package_size_limit_7_limit: "100 KB", npm_package_size_limit_4_path: "packages/hms-virtual-background/dist/index.cjs.js", npm_package_resolutions____tinyglobby_picomatch: "^4.0.4", npm_package_resolutions__adobe_css_tools: "^4.4.4", npm_package_resolutions_form_data: "^4.0.4", npm_config_version_git_tag: "true", npm_config_version_git_sign: "", NX_TASK_TARGET_TARGET: "build", NX_FORKED_TASK_EXECUTOR: "true", npm_package_dependencies_qrcode_react: "^3.1.0", ACTIONS_RUNNER_RETURN_JOB_RESULT_FOR_HOSTED: "1", GITHUB_REF: "refs/heads/enable-pip-safari", GITHUB_ACTOR: "raviteja83", ANDROID_SDK_ROOT: "/usr/local/lib/android/sdk", npm_package_license: "MIT", npm_package_size_limit_5_path: "packages/hms-virtual-background/dist/index.js", npm_package_resolutions_yaml: "^2.8.3", npm_config_strict_ssl: "true", NX_LOAD_DOT_ENV_FILES: "true", npm_package_size_limit_6_path: "packages/react-icons/dist/index.cjs.js", npm_package_scripts_format: "prettier -w src/**", npm_package_devDependencies_eslint_plugin_prettier: "^4.0.0", npm_package_devDependencies_eslint_config_react_app: "^7.0.0", NX_TASK_TARGET_PROJECT: "@100mslive/roomkit-react", GITHUB_PATH: "/home/runner/work/_temp/_runner_file_commands/add_path_e948db07-9188-49d0-8996-dc586255277c", JAVA_HOME: "/usr/lib/jvm/temurin-17-jdk-amd64", PWD: "/home/runner/work/web-sdks/web-sdks/packages/roomkit-react", GITHUB_ACTOR_ID: "6763261", RUNNER_WORKSPACE: "/home/runner/work/web-sdks", npm_execpath: "/usr/local/lib/node_modules/yarn/bin/yarn.js", npm_package_size_limit_7_path: "packages/react-icons/dist/index.js", npm_package_resolutions__tootallnate_once: "^3.0.1", npm_package_resolutions____vite_rollup: "^4.59.0", npm_package_scripts_ybys: "yarn && yarn build --no-private", npm_package_dependencies__radix_ui_react_progress: "1.0.0", HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS: "3650", GITHUB_EVENT_NAME: "workflow_dispatch", HOMEBREW_NO_AUTO_UPDATE: "1", ANDROID_HOME: "/usr/local/lib/android/sdk", GITHUB_SERVER_URL: "https://github.com", GECKOWEBDRIVER: "/usr/local/share/gecko_driver", ACTIONS_ID_TOKEN_REQUEST_URL: "https://run-actions-1-azure-eastus.actions.githubusercontent.com/167//idtoken/399de536-7f4b-4e41-aba5-a1950dd7822e/85580583-b6e1-5867-ae79-e416393682df?api-version=2.0", GHCUP_INSTALL_BASE_PREFIX: "/usr/local", GITHUB_OUTPUT: "/home/runner/work/_temp/_runner_file_commands/set_output_e948db07-9188-49d0-8996-dc586255277c", npm_package_scripts_prestart: "rm -rf dist && yarn types:build", npm_package_author_name: "100ms", EDGEWEBDRIVER: "/usr/local/share/edge_driver", npm_package_resolutions_micromatch: "^4.0.8", npm_package_resolutions_js_yaml: "^4.1.1", npm_package_devDependencies_postcss: "^8.4.5", npm_package_devDependencies_esbuild: "^0.28.1", npm_config_save_prefix: "^", npm_config_ignore_optional: "", NX_TUI: "false", npm_package_dependencies_worker_timers: "^7.0.40", npm_package_typings: "dist/index.d.ts", ANDROID_NDK: "/usr/local/lib/android/sdk/ndk/27.3.13750724", SGX_AESM_ADDR: "1", PSModulePath: "/root/.local/share/powershell/Modules:/usr/local/share/powershell/Modules:/opt/microsoft/powershell/7/Modules:/usr/share/az_15.6.1", CHROME_BIN: "/usr/bin/google-chrome", npm_package_resolutions_lodash: "^4.18.1", npm_package_devDependencies_esbuild_plugin_postcss2: "0.1.1", npm_package_dependencies_react_swipeable: "^7.0.1", npm_package_devDependencies_babel_plugin_react_require: "3.1.3", SELENIUM_JAR_PATH: "/usr/share/java/selenium-server.jar", MEMORY_PRESSURE_WRITE: "c29tZSAyMDAwMDAgMjAwMDAwMAA=", npm_package_scripts_reactsdk: "cd packages/react-sdk && yarn start", npm_package_dependencies_react_use: "^17.4.0", npm_package_dependencies__radix_ui_react_collapsible: "1.0.0", INIT_CWD: "/home/runner/work/web-sdks/web-sdks", ANDROID_NDK_HOME: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_STEP_SUMMARY: "/home/runner/work/_temp/_runner_file_commands/step_summary_e948db07-9188-49d0-8996-dc586255277c", npm_package_resolutions_sass: "^1.83.0" };
99
108
  }
100
109
  });
101
110
 
@@ -12628,8 +12637,12 @@ var workerTimers = __toESM(require("worker-timers"));
12628
12637
 
12629
12638
  // src/Prebuilt/components/PIP/pipUtils.js
12630
12639
  init_define_process_env();
12640
+ var PIP_CANVAS_WIDTH = 480;
12641
+ var PIP_CANVAS_HEIGHT = 360;
12631
12642
  var CANVAS_FILL_COLOR;
12632
12643
  var CANVAS_STROKE_COLOR;
12644
+ var BUBBLE_FILL_COLOR;
12645
+ var BUBBLE_TEXT_COLOR;
12633
12646
  function setPIPCanvasColors() {
12634
12647
  if (!CANVAS_FILL_COLOR) {
12635
12648
  CANVAS_FILL_COLOR = window.getComputedStyle(document.documentElement).getPropertyValue("--hms-ui-colors-surface_bright");
@@ -12637,22 +12650,36 @@ function setPIPCanvasColors() {
12637
12650
  if (!CANVAS_STROKE_COLOR) {
12638
12651
  CANVAS_STROKE_COLOR = window.getComputedStyle(document.documentElement).getPropertyValue("--hms-ui-colors-border_bright");
12639
12652
  }
12653
+ if (!BUBBLE_FILL_COLOR) {
12654
+ BUBBLE_FILL_COLOR = window.getComputedStyle(document.documentElement).getPropertyValue("--hms-ui-colors-surface_default");
12655
+ }
12656
+ if (!BUBBLE_TEXT_COLOR) {
12657
+ BUBBLE_TEXT_COLOR = window.getComputedStyle(document.documentElement).getPropertyValue("--hms-ui-colors-on_surface_high");
12658
+ }
12640
12659
  }
12641
12660
  function resetPIPCanvasColors() {
12642
12661
  CANVAS_FILL_COLOR = "";
12643
12662
  CANVAS_STROKE_COLOR = "";
12663
+ BUBBLE_FILL_COLOR = "";
12664
+ BUBBLE_TEXT_COLOR = "";
12644
12665
  }
12645
- function drawVideoElementsOnCanvas(videoElements, canvas) {
12666
+ function drawVideoElementsOnCanvas(videoElements, canvas, message) {
12667
+ const ctx = canvas == null ? void 0 : canvas.getContext("2d");
12668
+ if (!ctx) {
12669
+ return;
12670
+ }
12646
12671
  let videoTiles = videoElements.filter((videoElement) => videoElement.srcObject !== null);
12647
- const ctx = canvas.getContext("2d");
12648
12672
  setPIPCanvasColors();
12649
12673
  ctx.fillStyle = CANVAS_FILL_COLOR;
12650
12674
  ctx.clearRect(0, 0, canvas.width, canvas.height);
12651
12675
  if (videoTiles.length === 0) {
12652
12676
  ctx.fillRect(0, 0, canvas.width, canvas.height);
12653
- return;
12677
+ } else {
12678
+ fillGridTiles(videoTiles.slice(0, 4), ctx, canvas);
12679
+ }
12680
+ if (message && (message.senderName || message.text)) {
12681
+ drawMessageBubble(ctx, canvas, message);
12654
12682
  }
12655
- fillGridTiles(videoTiles.slice(0, 4), ctx, canvas);
12656
12683
  }
12657
12684
  function dummyChangeInCanvas(canvas) {
12658
12685
  const ctx = canvas.getContext("2d");
@@ -12662,8 +12689,8 @@ function dummyChangeInCanvas(canvas) {
12662
12689
  }
12663
12690
  function fillGridTiles(videoElements, ctx, canvas) {
12664
12691
  const offset = 8;
12665
- canvas.width = 480;
12666
- canvas.height = 320;
12692
+ canvas.width = PIP_CANVAS_WIDTH;
12693
+ canvas.height = PIP_CANVAS_HEIGHT;
12667
12694
  ctx.fillStyle = CANVAS_FILL_COLOR;
12668
12695
  ctx.fillRect(0, 0, canvas.width, canvas.height);
12669
12696
  if (videoElements.length > 0) {
@@ -12735,13 +12762,86 @@ function getRenderDimensions(video, width, height) {
12735
12762
  }
12736
12763
  return { width: finalWidth, height: finalHeight };
12737
12764
  }
12765
+ var BUBBLE_MARGIN = 14;
12766
+ var BUBBLE_PADDING_X = 16;
12767
+ var BUBBLE_PADDING_Y = 14;
12768
+ var BUBBLE_SENDER_LINE_HEIGHT = 22;
12769
+ var BUBBLE_TEXT_LINE_HEIGHT = 24;
12770
+ var BUBBLE_LINE_GAP = 4;
12771
+ var BUBBLE_RADIUS = 12;
12772
+ var BUBBLE_SENDER_FONT = "600 18px Inter, Arial, sans-serif";
12773
+ var BUBBLE_TEXT_FONT = "400 19px Inter, Arial, sans-serif";
12774
+ function drawMessageBubble(ctx, canvas, message) {
12775
+ const bubbleWidth = canvas.width - BUBBLE_MARGIN * 2;
12776
+ const bubbleHeight = BUBBLE_PADDING_Y * 2 + BUBBLE_SENDER_LINE_HEIGHT + BUBBLE_LINE_GAP + BUBBLE_TEXT_LINE_HEIGHT;
12777
+ const x = BUBBLE_MARGIN;
12778
+ const y2 = canvas.height - bubbleHeight - BUBBLE_MARGIN;
12779
+ const innerWidth = bubbleWidth - BUBBLE_PADDING_X * 2;
12780
+ ctx.save();
12781
+ ctx.globalAlpha = 0.85;
12782
+ ctx.fillStyle = BUBBLE_FILL_COLOR || CANVAS_FILL_COLOR;
12783
+ traceRoundedRect(ctx, x, y2, bubbleWidth, bubbleHeight, BUBBLE_RADIUS);
12784
+ ctx.fill();
12785
+ ctx.globalAlpha = 1;
12786
+ ctx.lineWidth = 1;
12787
+ ctx.strokeStyle = CANVAS_STROKE_COLOR;
12788
+ traceRoundedRect(ctx, x, y2, bubbleWidth, bubbleHeight, BUBBLE_RADIUS);
12789
+ ctx.stroke();
12790
+ const textColor = BUBBLE_TEXT_COLOR || "#ffffff";
12791
+ ctx.textBaseline = "top";
12792
+ ctx.fillStyle = textColor;
12793
+ const measure = (str) => ctx.measureText(str).width;
12794
+ ctx.font = BUBBLE_SENDER_FONT;
12795
+ ctx.fillText(
12796
+ truncateToWidth(measure, message.senderName || "Anonymous", innerWidth),
12797
+ x + BUBBLE_PADDING_X,
12798
+ y2 + BUBBLE_PADDING_Y
12799
+ );
12800
+ ctx.font = BUBBLE_TEXT_FONT;
12801
+ ctx.globalAlpha = 0.9;
12802
+ ctx.fillText(
12803
+ truncateToWidth(measure, message.text || "", innerWidth),
12804
+ x + BUBBLE_PADDING_X,
12805
+ y2 + BUBBLE_PADDING_Y + BUBBLE_SENDER_LINE_HEIGHT + BUBBLE_LINE_GAP
12806
+ );
12807
+ ctx.restore();
12808
+ }
12809
+ function traceRoundedRect(ctx, x, y2, width, height, radius) {
12810
+ const r = Math.min(radius, width / 2, height / 2);
12811
+ ctx.beginPath();
12812
+ ctx.moveTo(x + r, y2);
12813
+ ctx.arcTo(x + width, y2, x + width, y2 + height, r);
12814
+ ctx.arcTo(x + width, y2 + height, x, y2 + height, r);
12815
+ ctx.arcTo(x, y2 + height, x, y2, r);
12816
+ ctx.arcTo(x, y2, x + width, y2, r);
12817
+ ctx.closePath();
12818
+ }
12819
+ var ELLIPSIS = "\u2026";
12820
+ function truncateToWidth(measure, text, maxWidth) {
12821
+ if (!text) {
12822
+ return "";
12823
+ }
12824
+ if (measure(text) <= maxWidth) {
12825
+ return text;
12826
+ }
12827
+ let lo2 = 0;
12828
+ let hi2 = text.length;
12829
+ while (lo2 < hi2) {
12830
+ const mid = Math.ceil((lo2 + hi2) / 2);
12831
+ if (measure(text.slice(0, mid) + ELLIPSIS) <= maxWidth) {
12832
+ lo2 = mid;
12833
+ } else {
12834
+ hi2 = mid - 1;
12835
+ }
12836
+ }
12837
+ return text.slice(0, lo2) + ELLIPSIS;
12838
+ }
12738
12839
 
12739
12840
  // src/Prebuilt/components/PIP/PIPManager.ts
12740
12841
  var MAX_NUMBER_OF_TILES_IN_PIP = 4;
12741
12842
  var DEFAULT_FPS = 30;
12742
- var DEFAULT_CANVAS_WIDTH = 480;
12743
- var DEFAULT_CANVAS_HEIGHT = 320;
12744
12843
  var LEAVE_EVENT_NAME = "leavepictureinpicture";
12844
+ var MESSAGE_TTL_MS = 4e3;
12745
12845
  var PipManager = class {
12746
12846
  constructor() {
12747
12847
  this.listeners = /* @__PURE__ */ new Set();
@@ -12753,6 +12853,8 @@ var PipManager = class {
12753
12853
  this.onStateChange = null;
12754
12854
  this.tracksToShow = [];
12755
12855
  this.state = "stopped" /* stopped */;
12856
+ this.latestMessage = null;
12857
+ this.messageShownAt = 0;
12756
12858
  this.stop = () => __async(this, null, function* () {
12757
12859
  var _a8, _b7;
12758
12860
  if (this.state === "stopped" /* stopped */) {
@@ -12785,12 +12887,33 @@ var PipManager = class {
12785
12887
  listenToStateChange(cb) {
12786
12888
  this.listeners.add(cb);
12787
12889
  }
12890
+ /**
12891
+ * Show an incoming chat message as a transient bubble on the PIP canvas.
12892
+ * The bubble auto-dismisses after MESSAGE_TTL_MS (handled in the render loop).
12893
+ */
12894
+ setLatestMessage(message) {
12895
+ this.latestMessage = message;
12896
+ this.messageShownAt = Date.now();
12897
+ }
12898
+ /**
12899
+ * @private returns the current message if it is still within its display
12900
+ * window, clearing it once expired.
12901
+ */
12902
+ getActiveMessage() {
12903
+ if (this.latestMessage && Date.now() - this.messageShownAt < MESSAGE_TTL_MS) {
12904
+ return this.latestMessage;
12905
+ }
12906
+ this.latestMessage = null;
12907
+ return null;
12908
+ }
12788
12909
  /**
12789
12910
  * @private
12790
12911
  */
12791
12912
  reset() {
12913
+ var _a8;
12792
12914
  console.debug("resetting PIP state");
12793
12915
  resetPIPCanvasColors();
12916
+ (_a8 = this.pipVideo) == null ? void 0 : _a8.remove();
12794
12917
  this.canvas = null;
12795
12918
  this.pipVideo = null;
12796
12919
  this.timeoutRef = 0;
@@ -12799,12 +12922,14 @@ var PipManager = class {
12799
12922
  this.tracksToShow = [];
12800
12923
  this.onStateChange = null;
12801
12924
  this.state = "stopped" /* stopped */;
12925
+ this.latestMessage = null;
12926
+ this.messageShownAt = 0;
12802
12927
  }
12803
12928
  /**
12804
12929
  * check if PIP is supported in this browser env
12805
12930
  */
12806
12931
  isSupported() {
12807
- return !!document.pictureInPictureEnabled && !isIOS && !(isMacOS && isSafari);
12932
+ return !!document.pictureInPictureEnabled && !isIOS;
12808
12933
  }
12809
12934
  /**
12810
12935
  * check if pip is currently turned on
@@ -12812,6 +12937,24 @@ var PipManager = class {
12812
12937
  isOn() {
12813
12938
  return !!document.pictureInPictureElement;
12814
12939
  }
12940
+ /**
12941
+ * Pre-create the canvas and pip video element and start playing the canvas
12942
+ * stream. Call this ahead of the actual PiP request (e.g. when the menu
12943
+ * holding the PiP option opens) - Safari only honours
12944
+ * requestPictureInPicture() while the click's user activation is alive, and
12945
+ * awaiting a cold video.play() inside the click handler loses it
12946
+ * (NotAllowedError). Chrome needs the video metadata loaded before the
12947
+ * request, which warming up also guarantees.
12948
+ * Safe to call repeatedly; no-op when unsupported or PiP is already active.
12949
+ */
12950
+ warmup() {
12951
+ return __async(this, null, function* () {
12952
+ if (!this.isSupported() || this.state !== "stopped" /* stopped */) {
12953
+ return;
12954
+ }
12955
+ yield this.initMediaElements();
12956
+ });
12957
+ }
12815
12958
  /**
12816
12959
  * request browser to start pip and start the render loop updating the pip
12817
12960
  * video element with peer tracks.
@@ -12820,7 +12963,7 @@ var PipManager = class {
12820
12963
  */
12821
12964
  start(hmsActions, onStateChangeFn) {
12822
12965
  return __async(this, null, function* () {
12823
- var _a8, _b7;
12966
+ var _a8, _b7, _c;
12824
12967
  if (!this.isSupported()) {
12825
12968
  throw new Error("pip is not supported on this browser");
12826
12969
  }
@@ -12833,18 +12976,21 @@ var PipManager = class {
12833
12976
  this.state = "starting" /* starting */;
12834
12977
  try {
12835
12978
  yield this.init(hmsActions, onStateChangeFn);
12836
- (_a8 = this.pipVideo) == null ? void 0 : _a8.addEventListener(LEAVE_EVENT_NAME, this.stop);
12979
+ if ((_a8 = this.pipVideo) == null ? void 0 : _a8.paused) {
12980
+ yield this.pipVideo.play();
12981
+ }
12982
+ (_b7 = this.pipVideo) == null ? void 0 : _b7.addEventListener(LEAVE_EVENT_NAME, this.stop);
12837
12983
  this.renderLoop();
12838
12984
  if (!this.isOn()) {
12839
12985
  yield this.requestPIP();
12840
12986
  }
12841
12987
  console.debug("pip started");
12842
12988
  this.state = "started" /* started */;
12843
- (_b7 = this.onStateChange) == null ? void 0 : _b7.call(this, true);
12989
+ (_c = this.onStateChange) == null ? void 0 : _c.call(this, true);
12844
12990
  this.callListeners(true);
12845
12991
  } catch (err) {
12846
- console.error("error in request pip", err);
12847
12992
  this.state = "stopped" /* stopped */;
12993
+ throw err;
12848
12994
  }
12849
12995
  });
12850
12996
  }
@@ -12893,13 +13039,16 @@ var PipManager = class {
12893
13039
  }
12894
13040
  initializeCanvasAndVideoElement() {
12895
13041
  const canvas = document.createElement("canvas");
12896
- canvas.width = DEFAULT_CANVAS_WIDTH;
12897
- canvas.height = DEFAULT_CANVAS_HEIGHT;
13042
+ canvas.width = PIP_CANVAS_WIDTH;
13043
+ canvas.height = PIP_CANVAS_HEIGHT;
12898
13044
  const pipVideo = document.createElement("video");
12899
- pipVideo.width = DEFAULT_CANVAS_WIDTH;
12900
- pipVideo.height = DEFAULT_CANVAS_HEIGHT;
13045
+ pipVideo.width = PIP_CANVAS_WIDTH;
13046
+ pipVideo.height = PIP_CANVAS_HEIGHT;
12901
13047
  pipVideo.muted = true;
13048
+ pipVideo.playsInline = true;
12902
13049
  pipVideo.srcObject = canvas.captureStream();
13050
+ pipVideo.style.cssText = "position:fixed;bottom:0;right:0;width:2px;height:2px;opacity:0;pointer-events:none;";
13051
+ document.body.appendChild(pipVideo);
12903
13052
  return { canvas, pipVideo };
12904
13053
  }
12905
13054
  initializeVideoElements() {
@@ -12922,10 +13071,15 @@ var PipManager = class {
12922
13071
  if (this.state === "stopping" /* stopping */ || this.state === "stopped" /* stopped */) {
12923
13072
  return;
12924
13073
  }
12925
- if (this.state === "started" /* started */) {
12926
- drawVideoElementsOnCanvas(this.videoElements, this.canvas);
13074
+ try {
13075
+ if (this.state === "started" /* started */) {
13076
+ drawVideoElementsOnCanvas(this.videoElements, this.canvas, this.getActiveMessage());
13077
+ }
13078
+ } catch (error) {
13079
+ console.error("error drawing pip canvas", error);
13080
+ } finally {
13081
+ this.renderLoop();
12927
13082
  }
12928
- this.renderLoop();
12929
13083
  }, delay);
12930
13084
  }
12931
13085
  requestPIP() {
@@ -15177,6 +15331,35 @@ var import_react60 = __toESM(require("react"));
15177
15331
  var import_react_sdk24 = require("@100mslive/react-sdk");
15178
15332
  var import_react_icons20 = require("@100mslive/react-icons");
15179
15333
 
15334
+ // src/Prebuilt/components/PIP/pipMessageUtils.ts
15335
+ init_define_process_env();
15336
+ function pickIncomingMessage(messages, lastShownMessageId, localPeerId) {
15337
+ var _a8;
15338
+ if (!(messages == null ? void 0 : messages.length)) {
15339
+ return { message: null, lastShownMessageId };
15340
+ }
15341
+ const newLastShownMessageId = messages[messages.length - 1].id;
15342
+ const lastShownIndex = messages.findIndex((message) => message.id === lastShownMessageId);
15343
+ if (lastShownMessageId !== void 0 && lastShownIndex === -1) {
15344
+ return { message: null, lastShownMessageId: newLastShownMessageId };
15345
+ }
15346
+ const freshMessages = messages.slice(lastShownIndex + 1);
15347
+ if (!freshMessages.length) {
15348
+ return { message: null, lastShownMessageId };
15349
+ }
15350
+ for (let i = freshMessages.length - 1; i >= 0; i--) {
15351
+ const candidate = freshMessages[i];
15352
+ const text = candidate.message;
15353
+ if (candidate.sender && candidate.sender !== localPeerId && typeof text === "string" && text.trim().length > 0) {
15354
+ return {
15355
+ message: { senderName: (_a8 = candidate.senderName) != null ? _a8 : "Anonymous", text },
15356
+ lastShownMessageId: newLastShownMessageId
15357
+ };
15358
+ }
15359
+ }
15360
+ return { message: null, lastShownMessageId: newLastShownMessageId };
15361
+ }
15362
+
15180
15363
  // src/Prebuilt/components/PIP/SetupMediaSession.js
15181
15364
  init_define_process_env();
15182
15365
  var import_react_sdk23 = require("@100mslive/react-sdk");
@@ -15217,16 +15400,29 @@ var SetupMediaSession = class {
15217
15400
  console.log("leave called from pip");
15218
15401
  this.actions.leave();
15219
15402
  });
15220
- __publicField(this, "setUpHandlers", () => {
15221
- if (navigator.mediaSession) {
15403
+ /**
15404
+ * register the handler against the first action name the browser supports.
15405
+ * Browsers throw a TypeError on action names they don't recognise, and the
15406
+ * same action can go by different names (Chrome calls the leave action
15407
+ * 'hangup', Safari exposes it as 'stop').
15408
+ */
15409
+ __publicField(this, "trySetActionHandler", (actionAliases, handler) => {
15410
+ for (const action of actionAliases) {
15222
15411
  try {
15223
- navigator.mediaSession.setActionHandler("togglemicrophone", this.toggleMic);
15224
- navigator.mediaSession.setActionHandler("togglecamera", this.toggleCam);
15225
- navigator.mediaSession.setActionHandler("hangup", this.leave);
15412
+ navigator.mediaSession.setActionHandler(action, handler);
15413
+ return;
15226
15414
  } catch (err) {
15227
- console.error("error in setting media session handlers", err);
15228
15415
  }
15229
15416
  }
15417
+ console.warn(`media session action '${actionAliases.join("'/'")}' is not supported`);
15418
+ });
15419
+ __publicField(this, "setUpHandlers", () => {
15420
+ if (!navigator.mediaSession) {
15421
+ return;
15422
+ }
15423
+ this.trySetActionHandler(["togglemicrophone"], this.toggleMic);
15424
+ this.trySetActionHandler(["togglecamera"], this.toggleCam);
15425
+ this.trySetActionHandler(["hangup", "stop"], this.leave);
15230
15426
  });
15231
15427
  }
15232
15428
  };
@@ -15239,12 +15435,20 @@ var PIPComponent = ({ content = null }) => {
15239
15435
  const store = (0, import_react_sdk24.useHMSVanillaStore)();
15240
15436
  const onPipToggle = (0, import_react60.useCallback)(() => {
15241
15437
  if (!isPipOn) {
15242
- PictureInPicture.start(hmsActions, setIsPipOn).catch((err) => console.error("error in starting pip", err));
15438
+ PictureInPicture.start(hmsActions, setIsPipOn).catch((err) => {
15439
+ console.error("error in starting pip", err);
15440
+ ToastManager.addToast({ title: "Could not start Picture-in-Picture", variant: "error" });
15441
+ });
15243
15442
  MediaSession.setup(hmsActions, store);
15244
15443
  } else {
15245
15444
  PictureInPicture.stop().catch((err) => console.error("error in stopping pip", err));
15246
15445
  }
15247
15446
  }, [hmsActions, isPipOn, store]);
15447
+ (0, import_react60.useEffect)(() => {
15448
+ if (!isPipOn) {
15449
+ PictureInPicture.warmup().catch((err) => console.error("error in pip warmup", err));
15450
+ }
15451
+ }, [isPipOn]);
15248
15452
  if (!PictureInPicture.isSupported()) {
15249
15453
  return null;
15250
15454
  }
@@ -15255,7 +15459,8 @@ var ActivatedPIP = () => {
15255
15459
  const pinnedTrack = usePinnedTrack();
15256
15460
  (0, import_react60.useEffect)(() => {
15257
15461
  function subscribeToStore() {
15258
- return store.subscribe((tracksMap) => {
15462
+ var _a8, _b7;
15463
+ const unsubscribeTracks = store.subscribe((tracksMap) => {
15259
15464
  let pipPeers = store.getState(import_react_sdk24.selectPeers);
15260
15465
  if (pinnedTrack) {
15261
15466
  pipPeers = pipPeers.filter((peer) => pinnedTrack.peerId === peer.id);
@@ -15264,6 +15469,22 @@ var ActivatedPIP = () => {
15264
15469
  console.error("error in updating pip", err);
15265
15470
  });
15266
15471
  }, import_react_sdk24.selectTracksMap);
15472
+ let lastShownMessageId = (_b7 = (_a8 = store.getState(import_react_sdk24.selectHMSMessages)) == null ? void 0 : _a8.slice(-1)[0]) == null ? void 0 : _b7.id;
15473
+ const unsubscribeMessages = store.subscribe((messages) => {
15474
+ try {
15475
+ const result = pickIncomingMessage(messages, lastShownMessageId, store.getState(import_react_sdk24.selectLocalPeerID));
15476
+ lastShownMessageId = result.lastShownMessageId;
15477
+ if (result.message) {
15478
+ PictureInPicture.setLatestMessage(result.message);
15479
+ }
15480
+ } catch (err) {
15481
+ console.error("error surfacing pip chat message", err);
15482
+ }
15483
+ }, import_react_sdk24.selectHMSMessages);
15484
+ return () => {
15485
+ unsubscribeTracks();
15486
+ unsubscribeMessages();
15487
+ };
15267
15488
  }
15268
15489
  let unsubscribe = PictureInPicture.isOn() ? subscribeToStore() : void 0;
15269
15490
  PictureInPicture.listenToStateChange((isOn) => {
@@ -21781,7 +22002,13 @@ var Ar = (a2, e) => {
21781
22002
  if (a2 != null && di) for (var i of di(a2)) e.indexOf(i) < 0 && Es.call(a2, i) && (t[i] = a2[i]);
21782
22003
  return t;
21783
22004
  };
21784
- var Rn = (a2, e) => () => (e || a2((e = { exports: {} }).exports, e), e.exports);
22005
+ var Rn = (a2, e) => () => {
22006
+ try {
22007
+ return e || a2((e = { exports: {} }).exports, e), e.exports;
22008
+ } catch (t) {
22009
+ throw e = 0, t;
22010
+ }
22011
+ };
21785
22012
  var c = (a2, e, t) => new Promise((i, r) => {
21786
22013
  var s = (d) => {
21787
22014
  try {
@@ -21799,7 +22026,7 @@ var c = (a2, e, t) => new Promise((i, r) => {
21799
22026
  o((t = t.apply(a2, e)).next());
21800
22027
  });
21801
22028
  var _r = Rn((Td, xn) => {
21802
- xn.exports = { version: "0.14.2", license: "MIT", repository: { type: "git", url: "https://github.com/100mslive/web-sdks.git", directory: "packages/hms-video-store" }, main: "dist/index.cjs.js", module: "dist/index.js", typings: "dist/index.d.ts", files: ["dist"], engines: { node: ">=12" }, exports: { ".": { require: "./dist/index.cjs.js", import: "./dist/index.js", default: "./dist/index.js" } }, sideEffects: false, scripts: { prestart: "rm -rf dist && yarn types:build", start: 'concurrently "yarn dev" "yarn types"', dev: "node ../../scripts/dev", "build:only": "node ../../scripts/build", build: "yarn build:only && yarn types:build", types: "tsc -w", "types:build": "tsc -p tsconfig.json", format: "prettier --write src/**/*.ts", test: "jest --maxWorkers=1", "test:watch": "jest --watch", "test:coverage": "jest --coverage", lint: "eslint -c ../../.eslintrc .", "lint:fix": "yarn lint --fix", prepare: "yarn build", size: "size-limit", analyze: "size-limit --why", docs: "rm -rf ./docs && typedoc && rm -f ./docs/README.md && mkdir ./docs/home &&mv ./docs/modules.md ./docs/home/content.md && node ../../scripts/docs-store && npx prettier --write './docs/**/*'" }, name: "@100mslive/hms-video-store", author: "100ms", dependencies: { eventemitter2: "^6.4.9", immer: "^9.0.6", "lodash.isequal": "^4.5.0", reselect: "4.0.0", "sdp-transform": "^2.14.1", "ua-parser-js": "^2.0.6", uuid: "^8.3.2", "webrtc-adapter": "^8.0.0", zustand: "3.5.7" }, devDependencies: { "@types/dom-screen-wake-lock": "^1.0.1", "@types/lodash.isequal": "^4.5.8", "@types/sdp-transform": "^2.4.4", "@types/ua-parser-js": "^0.7.39", "@types/uuid": "^8.3.0", "jest-canvas-mock": "^2.3.1", "jsdom-worker": "^0.3.0", tslib: "^2.2.0" }, description: "@100mslive Core SDK which abstracts the complexities of webRTC while providing a reactive store for data management with a unidirectional data flow", keywords: ["video", "webrtc", "conferencing", "100ms"] };
22029
+ xn.exports = { version: "0.14.3-alpha.0", license: "MIT", repository: { type: "git", url: "https://github.com/100mslive/web-sdks.git", directory: "packages/hms-video-store" }, main: "dist/index.cjs.js", module: "dist/index.js", typings: "dist/index.d.ts", files: ["dist"], engines: { node: ">=12" }, exports: { ".": { require: "./dist/index.cjs.js", import: "./dist/index.js", default: "./dist/index.js" } }, sideEffects: false, scripts: { prestart: "rm -rf dist && yarn types:build", start: 'concurrently "yarn dev" "yarn types"', dev: "node ../../scripts/dev", "build:only": "node ../../scripts/build", build: "yarn build:only && yarn types:build", types: "tsc -w", "types:build": "tsc -p tsconfig.json", format: "prettier --write src/**/*.ts", test: "jest --maxWorkers=1", "test:watch": "jest --watch", "test:coverage": "jest --coverage", lint: "eslint -c ../../.eslintrc .", "lint:fix": "yarn lint --fix", prepare: "yarn build", size: "size-limit", analyze: "size-limit --why", docs: "rm -rf ./docs && typedoc && rm -f ./docs/README.md && mkdir ./docs/home &&mv ./docs/modules.md ./docs/home/content.md && node ../../scripts/docs-store && npx prettier --write './docs/**/*'" }, name: "@100mslive/hms-video-store", author: "100ms", dependencies: { eventemitter2: "^6.4.9", immer: "^9.0.6", "lodash.isequal": "^4.5.0", reselect: "4.0.0", "sdp-transform": "^2.14.1", "ua-parser-js": "^2.0.6", uuid: "^11.1.1", "webrtc-adapter": "^8.0.0", zustand: "3.5.7" }, devDependencies: { "@types/dom-screen-wake-lock": "^1.0.1", "@types/lodash.isequal": "^4.5.8", "@types/sdp-transform": "^2.4.4", "@types/ua-parser-js": "^0.7.39", "@types/uuid": "^8.3.0", "jest-canvas-mock": "^2.3.1", "jsdom-worker": "^0.3.0", tslib: "^2.2.0" }, description: "@100mslive Core SDK which abstracts the complexities of webRTC while providing a reactive store for data management with a unidirectional data flow", keywords: ["video", "webrtc", "conferencing", "100ms"] };
21803
22030
  });
21804
22031
  var Rr = ((o) => (o.Disconnected = "Disconnected", o.Preview = "Preview", o.Connecting = "Connecting", o.Connected = "Connected", o.Reconnecting = "Reconnecting", o.Disconnecting = "Disconnecting", o.Failed = "Failed", o))(Rr || {});
21805
22032
  var Hn = ((e) => (e.CHAT = "chat", e))(Hn || {});