@100mslive/roomkit-react 0.3.8-alpha.4 → 0.3.9-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.
@@ -8,6 +8,7 @@ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
8
  var __getProtoOf = Object.getPrototypeOf;
9
9
  var __hasOwnProp = Object.prototype.hasOwnProperty;
10
10
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __pow = Math.pow;
11
12
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
13
  var __spreadValues = (a2, b2) => {
13
14
  for (var prop in b2 || (b2 = {}))
@@ -106,7 +107,7 @@ var __async = (__this, __arguments, generator) => {
106
107
  var define_process_env_default;
107
108
  var init_define_process_env = __esm({
108
109
  "<define:process.env>"() {
109
- define_process_env_default = { GITHUB_STATE: "/home/runner/work/_temp/_runner_file_commands/save_state_99ff87f3-70ec-4a4f-affe-f5887196edd9", npm_package_devDependencies_ts_node: "^10.4.0", npm_package_devDependencies__types_node: "^16.11.17", npm_package_devDependencies_rollup: "^2.70.1", npm_package_exports___require: "./dist/index.cjs.js", STATS_TRP: "true", DEPLOYMENT_BASEPATH: "/opt/runner", DOTNET_NOLOGO: "1", 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", USER: "runner", npm_package_devDependencies_jest: "26.6.0", npm_config_version_commit_hooks: "true", npm_config_user_agent: "yarn/1.22.22 npm/? node/v18.20.2 linux x64", npm_config_always_auth: "", NX_WORKSPACE_ROOT: "/home/runner/work/web-sdks/web-sdks", npm_package_devDependencies__rollup_plugin_node_resolve: "^13.1.3", npm_package_scripts_babel: "npx storybook@latest babelrc", CI: "true", 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.10.8-alpha.4", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_99ff87f3-70ec-4a4f-affe-f5887196edd9", PIPX_HOME: "/opt/pipx", npm_node_execpath: "/opt/hostedtoolcache/node/18.20.2/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.13.8-alpha.4", 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.8", npm_package_peerDependencies_react: ">=17.0.2 <19.0.0", npm_package_devDependencies__storybook_addon_links: "^7.0.27", 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_files_1: "src", 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_scripts_controller: "cd packages/hls-controller && yarn start", npm_package_dependencies__stitches_react: "^1.2.8", 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_devDependencies_typedoc_plugin_markdown: "^3.14.0", npm_config_init_license: "MIT", GRADLE_HOME: "/usr/share/gradle-8.7", ANDROID_NDK_LATEST_HOME: "/usr/local/lib/android/sdk/ndk/26.3.11579264", JAVA_HOME_21_X64: "/usr/lib/jvm/temurin-21-jdk-amd64", STATS_RDCL: "true", GITHUB_RETENTION_DAYS: "90", YARN_WRAP_OUTPUT: "false", npm_config_version_tag_prefix: "v", GITHUB_REPOSITORY_OWNER_ID: "73883131", POWERSHELL_DISTRIBUTION_CHANNEL: "GitHub-Actions-ubuntu22", AZURE_EXTENSION_DIR: "/opt/az/azcliextensions", GITHUB_HEAD_REF: "", npm_package_scripts_lint_fix: "yarn lint --fix", npm_config_userconfig: "/home/runner/work/_temp/.npmrc", npm_package_devDependencies__storybook_addon_a11y: "^7.0.27", SYSTEMD_EXEC_PID: "597", npm_package_scripts_postinstall: "husky install && lerna bootstrap", 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_devDependencies__rollup_plugin_image: "^3.0.2", npm_package_keywords_1: "react", GOROOT_1_20_X64: "/opt/hostedtoolcache/go/1.20.14/x64", NVM_DIR: "/home/runner/.nvm", npm_package_readmeFilename: "README.md", 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", GOROOT_1_21_X64: "/opt/hostedtoolcache/go/1.21.9/x64", JAVA_HOME_17_X64: "/usr/lib/jvm/temurin-17-jdk-amd64", ImageVersion: "20240414.1.0", npm_package_devDependencies_prettier: "^2.4.1", npm_package_devDependencies_babel_jest: "^26.6.0", npm_package_scripts_dev: "node ../../scripts/dev", npm_package_keywords_3: "roomkit", RUNNER_OS: "Linux", GITHUB_API_URL: "https://api.github.com", GOROOT_1_22_X64: "/opt/hostedtoolcache/go/1.22.2/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.0.1", npm_package_devDependencies__babel_preset_typescript: "^7.22.5", npm_package_exports___default: "./dist/index.js", RUNNER_USER: "runner", STATS_V3PS: "true", CHROMEWEBDRIVER: "/usr/local/share/chromedriver-linux64", JOURNAL_STREAM: "8:17353", GITHUB_WORKFLOW: "Publish Packages", _: "/usr/local/bin/yarn", npm_package_devDependencies_ts_jest: "26.5.6", npm_package_devDependencies_lerna: "^5.6.2", npm_package_devDependencies__types_jest: "^27.0.3", npm_package_devDependencies__commitlint_config_conventional: "^15.0.0", npm_package_private: "true", npm_package_dependencies__radix_ui_react_accordion: "1.0.0", npm_package_devDependencies__rollup_plugin_commonjs: "^21.0.3", npm_package_devDependencies__babel_preset_react: "^7.22.5", npm_package_module: "dist/index.js", 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.3.8-alpha.4", npm_package_devDependencies__types_lodash_merge: "^4.6.6", npm_package_devDependencies__storybook_cli: "^7.0.27", npm_package_devDependencies__rollup_plugin_json: "^6.0.0", ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE: "/opt/actionarchivecache", STATS_D: "false", GITHUB_RUN_ID: "8749330041", STATS_VMFE: "true", npm_package_workspaces_0: "packages/*", 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", npm_package_devDependencies__storybook_addon_interactions: "^7.0.27", npm_package_devDependencies__storybook_addon_actions: "^7.0.27", GITHUB_REF_TYPE: "branch", BOOTSTRAP_HASKELL_NONINTERACTIVE: "1", GITHUB_WORKFLOW_SHA: "1ac0f11a034d8e0aed06479e20671c86bffd77f8", GITHUB_BASE_REF: "", ImageOS: "ubuntu22", npm_package_workspaces_1: "examples/*", npm_package_scripts_start: 'concurrently "yarn dev" "yarn types"', npm_config_ignore_scripts: "", NX_TASK_HASH: "fca5e903c9a2399e3cdd373a0e29fd3a22d2c47d2154454f738eee43975db61a", npm_package_exports___import: "./dist/index.js", GITHUB_WORKFLOW_REF: "100mslive/web-sdks/.github/workflows/publish.yml@refs/heads/publish-alpha", PERFLOG_LOCATION_SETTING: "RUNNER_PERFLOG", GITHUB_ACTION_REPOSITORY: "", 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--1713507861459-0.8404529433065979:/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/18.20.2/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1713507861261-0.435899755627573:/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/18.20.2/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1713507839160-0.06303379929561603:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.20.2/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1713507838975-0.7068313429725521:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.20.2/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/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/18.20.2/x64/bin/node", ANT_HOME: "/usr/share/ant", DOTNET_MULTILEVEL_LOOKUP: "0", RUNNER_TRACKING_ID: "github_613f38a3-ba05-4673-afed-2c4e52ebfa99", INVOCATION_ID: "9934528957ed4a47acf8a3a1df0d25e2", 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_devDependencies__storybook_react_webpack5: "^7.0.27", npm_package_repository_type: "git", GITHUB_ACTION: "__run_3", GITHUB_RUN_NUMBER: "519", GITHUB_TRIGGERING_ACTOR: "github-actions[bot]", 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: "^15.0.0", npm_package_devDependencies__rollup_plugin_typescript: "^8.3.1", LANG: "C.UTF-8", VCPKG_INSTALLATION_ROOT: "/usr/local/share/vcpkg", npm_package_size_limit_1_limit: "20 KB", 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_devDependencies_rollup_plugin_terser: "^7.0.2", npm_package_devDependencies__types_mdx: "2.0.2", CONDA: "/usr/share/miniconda", RUNNER_NAME: "GitHub Actions 262", XDG_CONFIG_HOME: "/home/runner/.config", STATS_VMD: "true", GITHUB_REF_NAME: "publish-alpha", GITHUB_REPOSITORY: "100mslive/web-sdks", STATS_D_D: "false", npm_lifecycle_script: "rm -rf dist && node ../../scripts/build-webapp", npm_package_size_limit_2_limit: "400 KB", 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_devDependencies_rollup_plugin_import_css: "^3.3.1", npm_package_scripts_types_build: "tsc -p tsconfig.json", npm_package_main: "dist/index.cjs.js", STATS_UE: "true", ANDROID_NDK_ROOT: "/usr/local/lib/android/sdk/ndk/25.2.9519653", 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_scripts_cypress_open: "cypress open", npm_package_scripts_lerna_publish: "lerna publish from-package --dist-tag $PUBLISH_FLAG --yes --no-verify-access", npm_package_scripts_test: "yarn build --no-private && lerna run test", npm_package_devDependencies_concurrently: "^6.4.0", npm_config_version_git_message: "v%s", npm_package_dependencies__radix_ui_react_checkbox: "1.0.0", npm_package_dependencies__100mslive_react_icons: "0.10.8-alpha.4", npm_package_scripts_types: "tsc -w", GITHUB_REPOSITORY_ID: "429826515", GITHUB_ACTIONS: "true", npm_lifecycle_event: "build:only", npm_package_version: "0.3.8-alpha.4", npm_package_size_limit_4_limit: "20 KB", npm_package_size_limit_1_path: "packages/hms-video-store/dist/index.js", npm_package_scripts_build_only: "rm -rf dist && node ../../scripts/build-webapp", 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_scripts_build: "yarn build:only && yarn types:build", npm_package_devDependencies_tslib: "^2.2.0", npm_package_devDependencies_nx: "^14.5.1", 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", RUNNER_PERFLOG: "/home/runner/perflog", npm_package_size_limit_6_limit: "150 KB", npm_package_size_limit_3_path: "packages/roomkit-react/dist/index.js", npm_package_devDependencies_cypress: "^9.5.2", npm_package_devDependencies_rollup_plugin_esbuild: "^5.0.0", GITHUB_SHA: "1ac0f11a034d8e0aed06479e20671c86bffd77f8", 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_config_version_git_tag: "true", npm_config_version_git_sign: "", npm_package_dependencies_qrcode_react: "^3.1.0", GITHUB_REF: "refs/heads/publish-alpha", GITHUB_ACTOR: "github-actions[bot]", 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_config_strict_ssl: "true", LEIN_HOME: "/usr/local/lib/lein", 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_99ff87f3-70ec-4a4f-affe-f5887196edd9", JAVA_HOME: "/usr/lib/jvm/temurin-11-jdk-amd64", PWD: "/home/runner/work/web-sdks/web-sdks/packages/roomkit-react", GITHUB_ACTOR_ID: "41898282", 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_scripts_ybys: "yarn && yarn build --no-private && yarn storybook", npm_package_dependencies__radix_ui_react_progress: "1.0.0", HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS: "3650", STATS_TIS: "mining", 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", LEIN_JAR: "/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar", GHCUP_INSTALL_BASE_PREFIX: "/usr/local", GITHUB_OUTPUT: "/home/runner/work/_temp/_runner_file_commands/set_output_99ff87f3-70ec-4a4f-affe-f5887196edd9", npm_package_scripts_prestart: "rm -rf dist && yarn types:build", npm_package_author_name: "100ms", EDGEWEBDRIVER: "/usr/local/share/edge_driver", STATS_EXT: "true", npm_package_scripts_build_storybook: "sb build", npm_package_devDependencies_postcss: "^8.4.5", npm_package_devDependencies_esbuild: "^0.18.13", npm_config_save_prefix: "^", npm_config_ignore_optional: "", npm_package_dependencies_worker_timers: "^7.0.40", npm_package_typings: "dist/index.d.ts", ANDROID_NDK: "/usr/local/lib/android/sdk/ndk/25.2.9519653", SGX_AESM_ADDR: "1", CHROME_BIN: "/usr/bin/google-chrome", npm_package_scripts_storybook: "sb dev -p 6006", 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", npm_package_devDependencies__storybook_testing_library: "^0.2.0", npm_package_devDependencies__storybook_addon_essentials: "^7.0.27", SELENIUM_JAR_PATH: "/usr/share/java/selenium-server.jar", STATS_EXTP: "https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.172+1/provjobd.data", 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", npm_package_devDependencies_storybook_dark_mode: "^3.0.0", npm_package_devDependencies__storybook_react: "^7.0.27", INIT_CWD: "/home/runner/work/web-sdks/web-sdks", ANDROID_NDK_HOME: "/usr/local/lib/android/sdk/ndk/25.2.9519653", GITHUB_STEP_SUMMARY: "/home/runner/work/_temp/_runner_file_commands/step_summary_99ff87f3-70ec-4a4f-affe-f5887196edd9" };
110
+ define_process_env_default = { GITHUB_STATE: "/home/runner/work/_temp/_runner_file_commands/save_state_c0d9e187-ac5f-4a2f-88a1-f6d6f26858ad", npm_package_devDependencies_ts_node: "^10.4.0", npm_package_devDependencies__types_node: "^16.11.17", npm_package_devDependencies_rollup: "^2.70.1", npm_package_exports___require: "./dist/index.cjs.js", STATS_TRP: "true", DEPLOYMENT_BASEPATH: "/opt/runner", DOTNET_NOLOGO: "1", 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", USER: "runner", npm_package_devDependencies_jest: "26.6.0", npm_config_version_commit_hooks: "true", npm_config_user_agent: "yarn/1.22.22 npm/? node/v18.20.2 linux x64", npm_config_always_auth: "", NX_WORKSPACE_ROOT: "/home/runner/work/web-sdks/web-sdks", npm_package_devDependencies__rollup_plugin_node_resolve: "^13.1.3", npm_package_scripts_babel: "npx storybook@latest babelrc", CI: "true", 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.10.9-alpha.0", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_c0d9e187-ac5f-4a2f-88a1-f6d6f26858ad", PIPX_HOME: "/opt/pipx", npm_node_execpath: "/opt/hostedtoolcache/node/18.20.2/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.13.9-alpha.0", 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.8", npm_package_peerDependencies_react: ">=17.0.2 <19.0.0", npm_package_devDependencies__storybook_addon_links: "^7.0.27", 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_files_1: "src", 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_scripts_controller: "cd packages/hls-controller && yarn start", npm_package_dependencies__stitches_react: "^1.2.8", 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_devDependencies_typedoc_plugin_markdown: "^3.14.0", npm_config_init_license: "MIT", GRADLE_HOME: "/usr/share/gradle-8.7", ANDROID_NDK_LATEST_HOME: "/usr/local/lib/android/sdk/ndk/26.3.11579264", JAVA_HOME_21_X64: "/usr/lib/jvm/temurin-21-jdk-amd64", STATS_RDCL: "true", GITHUB_RETENTION_DAYS: "90", YARN_WRAP_OUTPUT: "false", npm_config_version_tag_prefix: "v", GITHUB_REPOSITORY_OWNER_ID: "73883131", POWERSHELL_DISTRIBUTION_CHANNEL: "GitHub-Actions-ubuntu22", AZURE_EXTENSION_DIR: "/opt/az/azcliextensions", GITHUB_HEAD_REF: "", npm_package_scripts_lint_fix: "yarn lint --fix", npm_config_userconfig: "/home/runner/work/_temp/.npmrc", npm_package_devDependencies__storybook_addon_a11y: "^7.0.27", SYSTEMD_EXEC_PID: "600", npm_package_scripts_postinstall: "husky install && lerna bootstrap", 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_devDependencies__rollup_plugin_image: "^3.0.2", npm_package_keywords_1: "react", GOROOT_1_20_X64: "/opt/hostedtoolcache/go/1.20.14/x64", NVM_DIR: "/home/runner/.nvm", npm_package_readmeFilename: "README.md", 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", GOROOT_1_21_X64: "/opt/hostedtoolcache/go/1.21.9/x64", JAVA_HOME_17_X64: "/usr/lib/jvm/temurin-17-jdk-amd64", ImageVersion: "20240414.1.0", npm_package_devDependencies_prettier: "^2.4.1", npm_package_devDependencies_babel_jest: "^26.6.0", npm_package_scripts_dev: "node ../../scripts/dev", npm_package_keywords_3: "roomkit", RUNNER_OS: "Linux", GITHUB_API_URL: "https://api.github.com", GOROOT_1_22_X64: "/opt/hostedtoolcache/go/1.22.2/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.0.1", npm_package_devDependencies__babel_preset_typescript: "^7.22.5", npm_package_exports___default: "./dist/index.js", RUNNER_USER: "runner", STATS_V3PS: "true", CHROMEWEBDRIVER: "/usr/local/share/chromedriver-linux64", JOURNAL_STREAM: "8:16204", GITHUB_WORKFLOW: "Publish Packages", _: "/usr/local/bin/yarn", npm_package_devDependencies_ts_jest: "26.5.6", npm_package_devDependencies_lerna: "^5.6.2", npm_package_devDependencies__types_jest: "^27.0.3", npm_package_devDependencies__commitlint_config_conventional: "^15.0.0", npm_package_private: "true", npm_package_dependencies__radix_ui_react_accordion: "1.0.0", npm_package_devDependencies__rollup_plugin_commonjs: "^21.0.3", npm_package_devDependencies__babel_preset_react: "^7.22.5", npm_package_module: "dist/index.js", 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.3.9-alpha.0", npm_package_devDependencies__types_lodash_merge: "^4.6.6", npm_package_devDependencies__storybook_cli: "^7.0.27", npm_package_devDependencies__rollup_plugin_json: "^6.0.0", ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE: "/opt/actionarchivecache", STATS_D: "false", GITHUB_RUN_ID: "8795813995", STATS_VMFE: "true", npm_package_workspaces_0: "packages/*", 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", npm_package_devDependencies__storybook_addon_interactions: "^7.0.27", npm_package_devDependencies__storybook_addon_actions: "^7.0.27", GITHUB_REF_TYPE: "branch", BOOTSTRAP_HASKELL_NONINTERACTIVE: "1", GITHUB_WORKFLOW_SHA: "0e749918d6dddfed6208acd8e4dbfed267cc751e", GITHUB_BASE_REF: "", ImageOS: "ubuntu22", npm_package_workspaces_1: "examples/*", npm_package_scripts_start: 'concurrently "yarn dev" "yarn types"', npm_config_ignore_scripts: "", NX_TASK_HASH: "c73f7ad0d8d76d694d83c573acd5cbeb5644d9153d2bffed5630e8b5a3da6760", npm_package_exports___import: "./dist/index.js", STATS_BLT: "true", GITHUB_WORKFLOW_REF: "100mslive/web-sdks/.github/workflows/publish.yml@refs/heads/publish-alpha", PERFLOG_LOCATION_SETTING: "RUNNER_PERFLOG", GITHUB_ACTION_REPOSITORY: "", 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--1713853590495-0.9320070312950524:/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/18.20.2/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1713853590298-0.6572167270280693:/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/18.20.2/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1713853568287-0.2407608006522226:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.20.2/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1713853568112-0.40798663439255645:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.20.2/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/x64/bin/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.2/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/18.20.2/x64/bin/node", ANT_HOME: "/usr/share/ant", DOTNET_MULTILEVEL_LOOKUP: "0", RUNNER_TRACKING_ID: "github_de27e526-2315-43bf-9e3a-967b5769c1eb", INVOCATION_ID: "ae9ae8e32e914b8886baff95608745f2", 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_devDependencies__storybook_react_webpack5: "^7.0.27", npm_package_repository_type: "git", GITHUB_ACTION: "__run_3", GITHUB_RUN_NUMBER: "521", GITHUB_TRIGGERING_ACTOR: "github-actions[bot]", 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: "^15.0.0", npm_package_devDependencies__rollup_plugin_typescript: "^8.3.1", LANG: "C.UTF-8", VCPKG_INSTALLATION_ROOT: "/usr/local/share/vcpkg", npm_package_size_limit_1_limit: "20 KB", 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_devDependencies_rollup_plugin_terser: "^7.0.2", npm_package_devDependencies__types_mdx: "2.0.2", CONDA: "/usr/share/miniconda", RUNNER_NAME: "GitHub Actions 445", XDG_CONFIG_HOME: "/home/runner/.config", STATS_VMD: "true", GITHUB_REF_NAME: "publish-alpha", GITHUB_REPOSITORY: "100mslive/web-sdks", STATS_D_D: "false", npm_lifecycle_script: "rm -rf dist && node ../../scripts/build-webapp", npm_package_size_limit_2_limit: "400 KB", 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_devDependencies_rollup_plugin_import_css: "^3.3.1", npm_package_scripts_types_build: "tsc -p tsconfig.json", npm_package_main: "dist/index.cjs.js", STATS_UE: "true", ANDROID_NDK_ROOT: "/usr/local/lib/android/sdk/ndk/25.2.9519653", 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_scripts_cypress_open: "cypress open", npm_package_scripts_lerna_publish: "lerna publish from-package --dist-tag $PUBLISH_FLAG --yes --no-verify-access", npm_package_scripts_test: "yarn build --no-private && lerna run test", npm_package_devDependencies_concurrently: "^6.4.0", npm_config_version_git_message: "v%s", npm_package_dependencies__radix_ui_react_checkbox: "1.0.0", npm_package_dependencies__100mslive_react_icons: "0.10.9-alpha.0", npm_package_scripts_types: "tsc -w", GITHUB_REPOSITORY_ID: "429826515", GITHUB_ACTIONS: "true", npm_lifecycle_event: "build:only", npm_package_version: "0.3.9-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_scripts_build_only: "rm -rf dist && node ../../scripts/build-webapp", 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_scripts_build: "yarn build:only && yarn types:build", npm_package_devDependencies_tslib: "^2.2.0", npm_package_devDependencies_nx: "^14.5.1", 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", RUNNER_PERFLOG: "/home/runner/perflog", npm_package_size_limit_6_limit: "150 KB", npm_package_size_limit_3_path: "packages/roomkit-react/dist/index.js", npm_package_devDependencies_cypress: "^9.5.2", npm_package_devDependencies_rollup_plugin_esbuild: "^5.0.0", GITHUB_SHA: "0e749918d6dddfed6208acd8e4dbfed267cc751e", 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_config_version_git_tag: "true", npm_config_version_git_sign: "", npm_package_dependencies_qrcode_react: "^3.1.0", GITHUB_REF: "refs/heads/publish-alpha", GITHUB_ACTOR: "github-actions[bot]", 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_config_strict_ssl: "true", LEIN_HOME: "/usr/local/lib/lein", 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_c0d9e187-ac5f-4a2f-88a1-f6d6f26858ad", JAVA_HOME: "/usr/lib/jvm/temurin-11-jdk-amd64", PWD: "/home/runner/work/web-sdks/web-sdks/packages/roomkit-react", GITHUB_ACTOR_ID: "41898282", 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_scripts_ybys: "yarn && yarn build --no-private && yarn storybook", npm_package_dependencies__radix_ui_react_progress: "1.0.0", HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS: "3650", STATS_TIS: "mining", 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", LEIN_JAR: "/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar", GHCUP_INSTALL_BASE_PREFIX: "/usr/local", GITHUB_OUTPUT: "/home/runner/work/_temp/_runner_file_commands/set_output_c0d9e187-ac5f-4a2f-88a1-f6d6f26858ad", npm_package_scripts_prestart: "rm -rf dist && yarn types:build", npm_package_author_name: "100ms", EDGEWEBDRIVER: "/usr/local/share/edge_driver", STATS_EXT: "true", npm_package_scripts_build_storybook: "sb build", npm_package_devDependencies_postcss: "^8.4.5", npm_package_devDependencies_esbuild: "^0.18.13", npm_config_save_prefix: "^", npm_config_ignore_optional: "", npm_package_dependencies_worker_timers: "^7.0.40", npm_package_typings: "dist/index.d.ts", ANDROID_NDK: "/usr/local/lib/android/sdk/ndk/25.2.9519653", SGX_AESM_ADDR: "1", CHROME_BIN: "/usr/bin/google-chrome", npm_package_scripts_storybook: "sb dev -p 6006", 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", npm_package_devDependencies__storybook_testing_library: "^0.2.0", npm_package_devDependencies__storybook_addon_essentials: "^7.0.27", SELENIUM_JAR_PATH: "/usr/share/java/selenium-server.jar", STATS_EXTP: "https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.172+1/provjobd.data", 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", npm_package_devDependencies_storybook_dark_mode: "^3.0.0", npm_package_devDependencies__storybook_react: "^7.0.27", INIT_CWD: "/home/runner/work/web-sdks/web-sdks", ANDROID_NDK_HOME: "/usr/local/lib/android/sdk/ndk/25.2.9519653", GITHUB_STEP_SUMMARY: "/home/runner/work/_temp/_runner_file_commands/step_summary_c0d9e187-ac5f-4a2f-88a1-f6d6f26858ad" };
110
111
  }
111
112
  });
112
113
 
@@ -11160,9 +11161,9 @@ init_define_process_env();
11160
11161
  import React15, { Fragment } from "react";
11161
11162
  import {
11162
11163
  selectConnectionQualityByPeerID,
11163
- selectHMSStats,
11164
+ selectHMSStats as selectHMSStats2,
11164
11165
  simulcastMapping,
11165
- useHMSStatsStore,
11166
+ useHMSStatsStore as useHMSStatsStore2,
11166
11167
  useHMSStore
11167
11168
  } from "@100mslive/react-sdk";
11168
11169
 
@@ -11226,16 +11227,54 @@ var Stats = {
11226
11227
  Gap
11227
11228
  };
11228
11229
 
11230
+ // src/Stats/useQoE.ts
11231
+ init_define_process_env();
11232
+ import { useRef as useRef5 } from "react";
11233
+ import { usePrevious } from "react-use";
11234
+ import { selectHMSStats, useHMSStatsStore } from "@100mslive/react-sdk";
11235
+ var EXPECTED_RESOLUTION = 1280 * 720;
11236
+ var clip = (value, min_value, max_value) => {
11237
+ return Math.max(Math.min(value, max_value), min_value);
11238
+ };
11239
+ var useQoE = ({ videoTrackID, audioTrackID, isLocal = false }) => {
11240
+ const audioTrackStats = useHMSStatsStore(selectHMSStats.trackStatsByID(audioTrackID));
11241
+ const videoTrackStats = useHMSStatsStore(selectHMSStats.trackStatsByID(videoTrackID));
11242
+ const prevVideoTrackStats = usePrevious(videoTrackStats);
11243
+ const prevAudioTrackStats = usePrevious(audioTrackStats);
11244
+ const prevJitterBufferDelayMs = useRef5(0);
11245
+ if (isLocal || videoTrackID && !videoTrackStats || audioTrackID && !audioTrackStats) {
11246
+ return;
11247
+ }
11248
+ const resolutionNorm = ((videoTrackStats == null ? void 0 : videoTrackStats.frameWidth) || 0) * ((videoTrackStats == null ? void 0 : videoTrackStats.frameHeight) || 0) / EXPECTED_RESOLUTION;
11249
+ const framesDecodedInLastSec = (videoTrackStats == null ? void 0 : videoTrackStats.framesDecoded) && (prevVideoTrackStats == null ? void 0 : prevVideoTrackStats.framesDecoded) ? videoTrackStats.framesDecoded - prevVideoTrackStats.framesDecoded : 0;
11250
+ let freezeDurationNorm = 1 - (((videoTrackStats == null ? void 0 : videoTrackStats.totalFreezesDuration) || 0) - ((prevVideoTrackStats == null ? void 0 : prevVideoTrackStats.totalFreezesDuration) || 0));
11251
+ freezeDurationNorm = freezeDurationNorm < 0 ? 0.5 : freezeDurationNorm;
11252
+ freezeDurationNorm = framesDecodedInLastSec === 0 ? 0 : freezeDurationNorm;
11253
+ const fpsNorm = framesDecodedInLastSec / 30;
11254
+ const prevJBDelay = (prevVideoTrackStats == null ? void 0 : prevVideoTrackStats.jitterBufferDelay) || 0;
11255
+ const prevJBEmittedCount = (prevVideoTrackStats == null ? void 0 : prevVideoTrackStats.jitterBufferEmittedCount) || 0;
11256
+ const currentJBDelay = ((videoTrackStats == null ? void 0 : videoTrackStats.jitterBufferDelay) || 0) - prevJBDelay;
11257
+ const currentJBEmittedCount = ((videoTrackStats == null ? void 0 : videoTrackStats.jitterBufferEmittedCount) || 0) - prevJBEmittedCount;
11258
+ const jitterBufferDelayMs = currentJBEmittedCount > 0 ? currentJBDelay * 1e3 / currentJBEmittedCount : prevJitterBufferDelayMs.current;
11259
+ prevJitterBufferDelayMs.current = jitterBufferDelayMs;
11260
+ const delayNorm = 1 - Math.min(1, jitterBufferDelayMs / 2e3);
11261
+ const prevConcealedSamples = ((prevAudioTrackStats == null ? void 0 : prevAudioTrackStats.concealedSamples) || 0) - ((prevAudioTrackStats == null ? void 0 : prevAudioTrackStats.silentConcealedSamples) || 0);
11262
+ const currentConcealedSamples = ((audioTrackStats == null ? void 0 : audioTrackStats.concealedSamples) || 0) - ((audioTrackStats == null ? void 0 : audioTrackStats.silentConcealedSamples) || 0) - prevConcealedSamples;
11263
+ const audioConcealedNorm = 1 - currentConcealedSamples / 48e3;
11264
+ return (5 * __pow(clip(freezeDurationNorm, 0, 1), 3) * __pow(clip(resolutionNorm, 0, 1), 0.3) * __pow(clip(fpsNorm, 0, 1), 0.2) * __pow(clip(delayNorm, 0, 1), 0.5) * __pow(clip(audioConcealedNorm, 0, 1), 2)).toFixed(2);
11265
+ };
11266
+
11229
11267
  // src/Stats/Stats.tsx
11230
11268
  function VideoTileStats({ videoTrackID, audioTrackID, peerID, isLocal = false }) {
11231
11269
  var _a8, _b7, _c;
11232
- const audioSelector = isLocal ? selectHMSStats.localAudioTrackStatsByID : selectHMSStats.trackStatsByID;
11233
- const audioTrackStats = useHMSStatsStore(audioSelector(audioTrackID));
11234
- const localVideoTrackStats = useHMSStatsStore(selectHMSStats.localVideoTrackStatsByID(videoTrackID));
11235
- const remoteVideoTrackStats = useHMSStatsStore(selectHMSStats.trackStatsByID(videoTrackID));
11270
+ const audioSelector = isLocal ? selectHMSStats2.localAudioTrackStatsByID : selectHMSStats2.trackStatsByID;
11271
+ const audioTrackStats = useHMSStatsStore2(audioSelector(audioTrackID));
11272
+ const localVideoTrackStats = useHMSStatsStore2(selectHMSStats2.localVideoTrackStatsByID(videoTrackID));
11273
+ const remoteVideoTrackStats = useHMSStatsStore2(selectHMSStats2.trackStatsByID(videoTrackID));
11236
11274
  const videoTrackStats = isLocal ? localVideoTrackStats == null ? void 0 : localVideoTrackStats[0] : remoteVideoTrackStats;
11237
11275
  const downlinkScore = (_a8 = useHMSStore(selectConnectionQualityByPeerID(peerID))) == null ? void 0 : _a8.downlinkQuality;
11238
- const availableOutgoingBitrate = useHMSStatsStore(selectHMSStats.availablePublishBitrate);
11276
+ const availableOutgoingBitrate = useHMSStatsStore2(selectHMSStats2.availablePublishBitrate);
11277
+ const qoe = useQoE({ videoTrackID, audioTrackID, isLocal });
11239
11278
  if (!(audioTrackStats || videoTrackStats)) {
11240
11279
  return null;
11241
11280
  }
@@ -11282,7 +11321,7 @@ function VideoTileStats({ videoTrackID, audioTrackID, peerID, isLocal = false })
11282
11321
  value: formatBytes(stat.bitrate, "b/s")
11283
11322
  }
11284
11323
  ), /* @__PURE__ */ React15.createElement(Stats.Gap, null));
11285
- })) : /* @__PURE__ */ React15.createElement(Fragment, null, /* @__PURE__ */ React15.createElement(
11324
+ })) : /* @__PURE__ */ React15.createElement(Fragment, null, /* @__PURE__ */ React15.createElement(StatsRow, { show: isNotNullish(qoe), label: "QoE", value: qoe }), /* @__PURE__ */ React15.createElement(
11286
11325
  StatsRow,
11287
11326
  {
11288
11327
  show: isNotNullishAndNot0(videoTrackStats == null ? void 0 : videoTrackStats.frameWidth),
@@ -11914,7 +11953,7 @@ var Collapsible = {
11914
11953
 
11915
11954
  // src/Prebuilt/App.tsx
11916
11955
  init_define_process_env();
11917
- import React179, { useEffect as useEffect70, useRef as useRef28 } from "react";
11956
+ import React179, { useEffect as useEffect70, useRef as useRef29 } from "react";
11918
11957
  import { match as match15 } from "ts-pattern";
11919
11958
  import {
11920
11959
  HMSReactiveStore,
@@ -11926,7 +11965,7 @@ import {
11926
11965
 
11927
11966
  // src/Prebuilt/components/AppData/AppData.tsx
11928
11967
  init_define_process_env();
11929
- import React23, { useEffect as useEffect5, useMemo as useMemo4, useRef as useRef6 } from "react";
11968
+ import React23, { useEffect as useEffect5, useMemo as useMemo4, useRef as useRef7 } from "react";
11930
11969
  import {
11931
11970
  HMSRoomState,
11932
11971
  selectFullAppData,
@@ -12263,7 +12302,7 @@ import React22 from "react";
12263
12302
 
12264
12303
  // src/Prebuilt/provider/roomLayoutProvider/hooks/useFetchRoomLayout.ts
12265
12304
  init_define_process_env();
12266
- import { useCallback as useCallback5, useEffect as useEffect4, useRef as useRef5, useState as useState5 } from "react";
12305
+ import { useCallback as useCallback5, useEffect as useEffect4, useRef as useRef6, useState as useState5 } from "react";
12267
12306
 
12268
12307
  // src/Prebuilt/provider/roomLayoutProvider/constants/index.ts
12269
12308
  init_define_process_env();
@@ -12345,8 +12384,8 @@ var useFetchRoomLayout = ({
12345
12384
  authToken = ""
12346
12385
  }) => {
12347
12386
  const [layout, setLayout] = useState5(void 0);
12348
- const layoutResp = useRef5();
12349
- const isFetchInProgress = useRef5(false);
12387
+ const layoutResp = useRef6();
12388
+ const isFetchInProgress = useRef6(false);
12350
12389
  const updateRoomLayoutForRole = useCallback5((role) => {
12351
12390
  var _a8;
12352
12391
  if (!layoutResp.current) {
@@ -12704,7 +12743,7 @@ var AppData = React23.memo(() => {
12704
12743
  const { elements } = useRoomLayoutConferencingScreen();
12705
12744
  const toggleVB = useSidepaneToggle(SIDE_PANE_OPTIONS.VB);
12706
12745
  const { isLocalVideoEnabled } = useAVToggle();
12707
- const sidepaneOpenedRef = useRef6(false);
12746
+ const sidepaneOpenedRef = useRef7(false);
12708
12747
  const defaultMediaURL = useMemo4(() => {
12709
12748
  var _a9;
12710
12749
  const media = ((_a9 = elements == null ? void 0 : elements.virtual_background) == null ? void 0 : _a9.background_media) || [];
@@ -12912,7 +12951,7 @@ var AuthToken_default = AuthToken;
12912
12951
 
12913
12952
  // src/Prebuilt/components/ConferenceScreen.tsx
12914
12953
  init_define_process_env();
12915
- import React157, { useEffect as useEffect51, useRef as useRef26, useState as useState66 } from "react";
12954
+ import React157, { useEffect as useEffect51, useRef as useRef27, useState as useState66 } from "react";
12916
12955
  import { v4 as uuid3 } from "uuid";
12917
12956
  import {
12918
12957
  HMSRoomState as HMSRoomState7,
@@ -13224,7 +13263,7 @@ var Sheet = {
13224
13263
 
13225
13264
  // src/Prebuilt/components/Settings/DeviceSettings.jsx
13226
13265
  init_define_process_env();
13227
- import React29, { Fragment as Fragment2, useEffect as useEffect8, useRef as useRef8, useState as useState8 } from "react";
13266
+ import React29, { Fragment as Fragment2, useEffect as useEffect8, useRef as useRef9, useState as useState8 } from "react";
13228
13267
  import { useMedia } from "react-use";
13229
13268
  import {
13230
13269
  DeviceType,
@@ -13286,9 +13325,9 @@ var DialogDropdownTrigger = React28.forwardRef(({ title, css: css2, open, icon,
13286
13325
 
13287
13326
  // src/Prebuilt/components/hooks/useAudioOutputTest.tsx
13288
13327
  init_define_process_env();
13289
- import { useEffect as useEffect7, useRef as useRef7, useState as useState7 } from "react";
13328
+ import { useEffect as useEffect7, useRef as useRef8, useState as useState7 } from "react";
13290
13329
  var useAudioOutputTest = ({ deviceId }) => {
13291
- const audioRef = useRef7(null);
13330
+ const audioRef = useRef8(null);
13292
13331
  const [playing, setPlaying] = useState7(false);
13293
13332
  useEffect7(() => {
13294
13333
  if (audioRef.current && deviceId) {
@@ -13387,7 +13426,7 @@ var DeviceSelector = ({ title, devices, selection, onChange, icon, children = nu
13387
13426
  var _a8, _b7;
13388
13427
  const [open, setOpen] = useState8(false);
13389
13428
  const selectionBg = useDropdownSelection();
13390
- const ref = useRef8(null);
13429
+ const ref = useRef9(null);
13391
13430
  return /* @__PURE__ */ React29.createElement(Box, { css: { mb: "$10" } }, /* @__PURE__ */ React29.createElement(Text, { css: { mb: "$4" } }, title), /* @__PURE__ */ React29.createElement(
13392
13431
  Flex,
13393
13432
  {
@@ -14112,7 +14151,7 @@ var useDropdownList = ({ name, open }) => {
14112
14151
 
14113
14152
  // src/Prebuilt/common/hooks.ts
14114
14153
  init_define_process_env();
14115
- import { useCallback as useCallback8, useEffect as useEffect12, useRef as useRef9, useState as useState11 } from "react";
14154
+ import { useCallback as useCallback8, useEffect as useEffect12, useRef as useRef10, useState as useState11 } from "react";
14116
14155
  import { useMedia as useMedia3 } from "react-use";
14117
14156
  import { JoinForm_JoinBtnType as JoinForm_JoinBtnType2 } from "@100mslive/types-prebuilt/elements/join_form";
14118
14157
  import {
@@ -15244,7 +15283,7 @@ var PIP = ({ content = null }) => {
15244
15283
 
15245
15284
  // src/Prebuilt/components/RoleChangeModal.jsx
15246
15285
  init_define_process_env();
15247
- import React44, { forwardRef, useRef as useRef10, useState as useState16 } from "react";
15286
+ import React44, { forwardRef, useRef as useRef11, useState as useState16 } from "react";
15248
15287
  import { selectPeerByID, useHMSActions as useHMSActions11, useHMSStore as useHMSStore16 } from "@100mslive/react-sdk";
15249
15288
  import { CheckIcon as CheckIcon2, ChevronDownIcon as ChevronDownIcon3, ChevronUpIcon as ChevronUpIcon3 } from "@100mslive/react-icons";
15250
15289
  var PeerName = forwardRef((_a8, ref) => {
@@ -15274,7 +15313,7 @@ var RoleChangeModal = ({ peerId, onOpenChange }) => {
15274
15313
  const [open, setOpen] = useState16(false);
15275
15314
  const selectionBg = useDropdownSelection();
15276
15315
  const [peerNameRef, setPeerNameRef] = useState16();
15277
- const ref = useRef10();
15316
+ const ref = useRef11();
15278
15317
  if (!peer) {
15279
15318
  return null;
15280
15319
  }
@@ -15388,7 +15427,7 @@ import { InfoIcon } from "@100mslive/react-icons";
15388
15427
 
15389
15428
  // src/Prebuilt/primitives/DialogContent.jsx
15390
15429
  init_define_process_env();
15391
- import React45, { useRef as useRef11 } from "react";
15430
+ import React45, { useRef as useRef12 } from "react";
15392
15431
  import { CheckIcon as CheckIcon3, CloudUploadIcon, CrossIcon as CrossIcon7 } from "@100mslive/react-icons";
15393
15432
  var DialogContent = (_a8) => {
15394
15433
  var _b7 = _a8, { Icon: Icon4, title, closeable = true, children, css: css2, iconCSS = {} } = _b7, props = __objRest(_b7, ["Icon", "title", "closeable", "children", "css", "iconCSS"]);
@@ -15465,7 +15504,7 @@ var DialogSelect = (_a8) => {
15465
15504
  };
15466
15505
  var DialogInputFile = (_a8) => {
15467
15506
  var _b7 = _a8, { value, onChange, placeholder, disabled, type } = _b7, props = __objRest(_b7, ["value", "onChange", "placeholder", "disabled", "type"]);
15468
- const inputRef = useRef11();
15507
+ const inputRef = useRef12();
15469
15508
  return /* @__PURE__ */ React45.createElement(
15470
15509
  DialogCol,
15471
15510
  {
@@ -15676,14 +15715,14 @@ var StartRecording_default = StartRecording;
15676
15715
 
15677
15716
  // src/Prebuilt/components/StatsForNerds.jsx
15678
15717
  init_define_process_env();
15679
- import React48, { useEffect as useEffect14, useMemo as useMemo5, useRef as useRef12, useState as useState19 } from "react";
15718
+ import React48, { useEffect as useEffect14, useMemo as useMemo5, useRef as useRef13, useState as useState19 } from "react";
15680
15719
  import { match as match3, P as P2 } from "ts-pattern";
15681
15720
  import {
15682
- selectHMSStats as selectHMSStats2,
15721
+ selectHMSStats as selectHMSStats3,
15683
15722
  selectLocalPeerID as selectLocalPeerID2,
15684
15723
  selectPeersMap,
15685
15724
  selectTracksMap as selectTracksMap2,
15686
- useHMSStatsStore as useHMSStatsStore2,
15725
+ useHMSStatsStore as useHMSStatsStore3,
15687
15726
  useHMSStore as useHMSStore18
15688
15727
  } from "@100mslive/react-sdk";
15689
15728
  var StatsForNerds = ({ onOpenChange }) => {
@@ -15696,7 +15735,7 @@ var StatsForNerds = ({ onOpenChange }) => {
15696
15735
  const [selectedStat, setSelectedStat] = useState19(statsOptions[0]);
15697
15736
  const [showStatsOnTiles, setShowStatsOnTiles] = useSetUiSettings(UI_SETTINGS.showStatsOnTiles);
15698
15737
  const [open, setOpen] = useState19(false);
15699
- const ref = useRef12();
15738
+ const ref = useRef13();
15700
15739
  const selectionBg = useDropdownSelection();
15701
15740
  useEffect14(() => {
15702
15741
  if (selectedStat.id !== "local-peer" && !tracksWithLabels.find((track) => track.id === selectedStat.id)) {
@@ -15792,7 +15831,7 @@ var useTracksWithLabel = () => {
15792
15831
  };
15793
15832
  var LocalPeerStats = () => {
15794
15833
  var _a8, _b7, _c, _d, _e, _f, _g, _h2, _i;
15795
- const stats = useHMSStatsStore2(selectHMSStats2.localPeerStats);
15834
+ const stats = useHMSStatsStore3(selectHMSStats3.localPeerStats);
15796
15835
  if (!stats) {
15797
15836
  return null;
15798
15837
  }
@@ -15816,9 +15855,9 @@ var TrackStats = ({ trackID, layer, local }) => {
15816
15855
  {
15817
15856
  layer: P2.when((layer2) => !!layer2)
15818
15857
  },
15819
- () => selectHMSStats2.localVideoTrackStatsByLayer(layer)(trackID)
15820
- ).with({ local: P2.when((local2) => !!local2) }, () => selectHMSStats2.localAudioTrackStatsByID(trackID)).otherwise(() => selectHMSStats2.trackStatsByID(trackID));
15821
- const stats = useHMSStatsStore2(selector);
15858
+ () => selectHMSStats3.localVideoTrackStatsByLayer(layer)(trackID)
15859
+ ).with({ local: P2.when((local2) => !!local2) }, () => selectHMSStats3.localAudioTrackStatsByID(trackID)).otherwise(() => selectHMSStats3.trackStatsByID(trackID));
15860
+ const stats = useHMSStatsStore3(selector);
15822
15861
  if (!stats) {
15823
15862
  return null;
15824
15863
  }
@@ -15863,15 +15902,15 @@ var formatBytes2 = (bytes, unit = "B", decimals = 2) => {
15863
15902
 
15864
15903
  // src/Prebuilt/components/MoreSettings/BulkRoleChangeModal.jsx
15865
15904
  init_define_process_env();
15866
- import React49, { useCallback as useCallback11, useRef as useRef13, useState as useState20 } from "react";
15905
+ import React49, { useCallback as useCallback11, useRef as useRef14, useState as useState20 } from "react";
15867
15906
  import { useHMSActions as useHMSActions13 } from "@100mslive/react-sdk";
15868
15907
  import { AlertTriangleIcon as AlertTriangleIcon4, ChangeRoleIcon, CheckIcon as CheckIcon4 } from "@100mslive/react-icons";
15869
15908
  var BulkRoleChangeModal = ({ onOpenChange }) => {
15870
15909
  var _a8, _b7;
15871
15910
  const roles = useFilteredRoles();
15872
15911
  const hmsActions = useHMSActions13();
15873
- const ref = useRef13(null);
15874
- const roleRef = useRef13(null);
15912
+ const ref = useRef14(null);
15913
+ const roleRef = useRef14(null);
15875
15914
  const [selectedBulkRole, setBulkRole] = useState20([]);
15876
15915
  const [selectedRole, setRole] = useState20("");
15877
15916
  const [bulkRoleDialog, setBulkRoleDialog] = useState20(false);
@@ -16307,7 +16346,7 @@ var DesktopOptions = ({
16307
16346
 
16308
16347
  // src/Prebuilt/components/MoreSettings/SplitComponents/MwebOptions.tsx
16309
16348
  init_define_process_env();
16310
- import React59, { useRef as useRef15, useState as useState28 } from "react";
16349
+ import React59, { useRef as useRef16, useState as useState28 } from "react";
16311
16350
  import { useClickAway } from "react-use";
16312
16351
  import { match as match5 } from "ts-pattern";
16313
16352
  import {
@@ -16340,7 +16379,7 @@ import {
16340
16379
 
16341
16380
  // src/Prebuilt/components/Header/StreamActions.tsx
16342
16381
  init_define_process_env();
16343
- import React55, { useCallback as useCallback17, useEffect as useEffect16, useRef as useRef14, useState as useState25 } from "react";
16382
+ import React55, { useCallback as useCallback17, useEffect as useEffect16, useRef as useRef15, useState as useState25 } from "react";
16344
16383
  import { useMedia as useMedia6 } from "react-use";
16345
16384
 
16346
16385
  // ../hms-video-store/dist/index.js
@@ -18528,7 +18567,7 @@ import { v4 as eo } from "uuid";
18528
18567
  import { v4 as so } from "uuid";
18529
18568
  import { v4 as co } from "uuid";
18530
18569
  import { EventEmitter2 as lo } from "eventemitter2";
18531
- var Dt = __toESM(require_lib());
18570
+ var wt = __toESM(require_lib());
18532
18571
  import { EventEmitter2 as xo } from "eventemitter2";
18533
18572
  import { v4 as Vo } from "uuid";
18534
18573
  import { EventEmitter2 as Fo } from "eventemitter2";
@@ -18562,12 +18601,12 @@ var Zi = (a2, e) => {
18562
18601
  };
18563
18602
  var _a7 = (a2, e) => () => (e || a2((e = { exports: {} }).exports, e), e.exports);
18564
18603
  var nr = _a7((yc, Wa) => {
18565
- Wa.exports = { version: "0.12.8-alpha.4", 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", "src"], 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": "^1.0.1", 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.36", "@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"] };
18604
+ Wa.exports = { version: "0.12.9-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", "src"], 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": "^1.0.1", 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.36", "@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"] };
18566
18605
  });
18567
18606
  var er = ((n) => (n.Disconnected = "Disconnected", n.Preview = "Preview", n.Connecting = "Connecting", n.Connected = "Connected", n.Reconnecting = "Reconnecting", n.Disconnecting = "Disconnecting", n.Failed = "Failed", n))(er || {});
18568
18607
  var Na = ((e) => (e.CHAT = "chat", e))(Na || {});
18569
18608
  var jr = ((t) => (t.INFO = "info", t.ERROR = "error", t))(jr || {});
18570
- var tr = ((w) => (w.PEER_JOINED = "PEER_JOINED", w.PEER_LEFT = "PEER_LEFT", w.PEER_LIST = "PEER_LIST", w.NEW_MESSAGE = "NEW_MESSAGE", w.ERROR = "ERROR", w.RECONNECTING = "RECONNECTING", w.RECONNECTED = "RECONNECTED", w.TRACK_ADDED = "TRACK_ADDED", w.TRACK_REMOVED = "TRACK_REMOVED", w.TRACK_MUTED = "TRACK_MUTED", w.TRACK_UNMUTED = "TRACK_UNMUTED", w.TRACK_DEGRADED = "TRACK_DEGRADED", w.TRACK_RESTORED = "TRACK_RESTORED", w.TRACK_DESCRIPTION_CHANGED = "TRACK_DESCRIPTION_CHANGED", w.ROLE_UPDATED = "ROLE_UPDATED", w.CHANGE_TRACK_STATE_REQUEST = "CHANGE_TRACK_STATE_REQUEST", w.CHANGE_MULTI_TRACK_STATE_REQUEST = "CHANGE_MULTI_TRACK_STATE_REQUEST", w.ROOM_ENDED = "ROOM_ENDED", w.REMOVED_FROM_ROOM = "REMOVED_FROM_ROOM", w.DEVICE_CHANGE_UPDATE = "DEVICE_CHANGE_UPDATE", w.PLAYLIST_TRACK_ENDED = "PLAYLIST_TRACK_ENDED", w.NAME_UPDATED = "NAME_UPDATED", w.METADATA_UPDATED = "METADATA_UPDATED", w.POLL_CREATED = "POLL_CREATED", w.POLL_STARTED = "POLL_STARTED", w.POLL_STOPPED = "POLL_STOPPED", w.POLL_VOTES_UPDATED = "POLL_VOTES_UPDATED", w.POLLS_LIST = "POLLS_LIST", w.HAND_RAISE_CHANGED = "HAND_RAISE_CHANGED", w))(tr || {});
18609
+ var tr = ((D) => (D.PEER_JOINED = "PEER_JOINED", D.PEER_LEFT = "PEER_LEFT", D.PEER_LIST = "PEER_LIST", D.NEW_MESSAGE = "NEW_MESSAGE", D.ERROR = "ERROR", D.RECONNECTING = "RECONNECTING", D.RECONNECTED = "RECONNECTED", D.TRACK_ADDED = "TRACK_ADDED", D.TRACK_REMOVED = "TRACK_REMOVED", D.TRACK_MUTED = "TRACK_MUTED", D.TRACK_UNMUTED = "TRACK_UNMUTED", D.TRACK_DEGRADED = "TRACK_DEGRADED", D.TRACK_RESTORED = "TRACK_RESTORED", D.TRACK_DESCRIPTION_CHANGED = "TRACK_DESCRIPTION_CHANGED", D.ROLE_UPDATED = "ROLE_UPDATED", D.CHANGE_TRACK_STATE_REQUEST = "CHANGE_TRACK_STATE_REQUEST", D.CHANGE_MULTI_TRACK_STATE_REQUEST = "CHANGE_MULTI_TRACK_STATE_REQUEST", D.ROOM_ENDED = "ROOM_ENDED", D.REMOVED_FROM_ROOM = "REMOVED_FROM_ROOM", D.DEVICE_CHANGE_UPDATE = "DEVICE_CHANGE_UPDATE", D.PLAYLIST_TRACK_ENDED = "PLAYLIST_TRACK_ENDED", D.NAME_UPDATED = "NAME_UPDATED", D.METADATA_UPDATED = "METADATA_UPDATED", D.POLL_CREATED = "POLL_CREATED", D.POLL_STARTED = "POLL_STARTED", D.POLL_STOPPED = "POLL_STOPPED", D.POLL_VOTES_UPDATED = "POLL_VOTES_UPDATED", D.POLLS_LIST = "POLLS_LIST", D.HAND_RAISE_CHANGED = "HAND_RAISE_CHANGED", D))(tr || {});
18571
18610
  var Jr = ((t) => (t.audio = "audio", t.video = "video", t))(Jr || {});
18572
18611
  function He(a2, e) {
18573
18612
  let t, i;
@@ -19131,14 +19170,14 @@ var Eh = createSelector(B, (a2) => a2.id);
19131
19170
  var G = (a2) => a2.peers;
19132
19171
  var ai = (a2) => a2.messages.byID;
19133
19172
  var xs = (a2) => a2.messages.allIDs;
19134
- var D = (a2) => a2.tracks;
19173
+ var w = (a2) => a2.tracks;
19135
19174
  var br = (a2) => a2.appData;
19136
19175
  var po = (a2) => a2.speakers;
19137
19176
  var Re = createSelector([B], (a2) => a2 && a2.isConnected);
19138
19177
  var bh = createSelector([Re, B], (a2, e) => a2 ? e.peerCount !== void 0 ? e.peerCount || 1 : e.peers.length : Math.max(e.peerCount !== void 0 ? e.peerCount : e.peers.length - 1, 0));
19139
19178
  var ho = (a2) => a2.hideLocalPeer;
19140
19179
  var le = createSelector([B, G, ho], (a2, e, t) => t ? a2.peers.filter((i) => a2.localPeer !== i).map((i) => e[i]) : a2.peers.map((i) => e[i]));
19141
- var mo = createSelector(D, (a2) => Object.values(a2));
19180
+ var mo = createSelector(w, (a2) => Object.values(a2));
19142
19181
  var z = createSelector(B, G, (a2, e) => e[a2.localPeer]);
19143
19182
  var ge = createSelector(B, (a2) => a2.localPeer);
19144
19183
  var Ih = createSelector(z, (a2) => a2 == null ? void 0 : a2.name);
@@ -19164,11 +19203,11 @@ var Ch = createSelector(G, po, (a2, e) => {
19164
19203
  }
19165
19204
  return null;
19166
19205
  });
19167
- var Rr = createSelector(z, D, (a2, e) => {
19206
+ var Rr = createSelector(z, w, (a2, e) => {
19168
19207
  let { video: t, audio: i } = He(e, a2);
19169
19208
  return !!(t || i);
19170
19209
  });
19171
- var go = createSelector(G, D, (a2, e) => {
19210
+ var go = createSelector(G, w, (a2, e) => {
19172
19211
  let t;
19173
19212
  for (let i in a2) {
19174
19213
  let r = a2[i], { video: s, audio: o } = He(e, r);
@@ -19178,15 +19217,15 @@ var go = createSelector(G, D, (a2, e) => {
19178
19217
  }
19179
19218
  return t;
19180
19219
  });
19181
- var wh = createSelector(go, (a2) => !!a2);
19182
- var Dh = createSelector(G, D, (a2, e) => {
19220
+ var Dh = createSelector(go, (a2) => !!a2);
19221
+ var wh = createSelector(G, w, (a2, e) => {
19183
19222
  for (let t in a2) {
19184
19223
  let i = a2[t], { audio: r, video: s } = He(e, i);
19185
19224
  if (!s && r)
19186
19225
  return i;
19187
19226
  }
19188
19227
  });
19189
- var _h = createSelector(G, D, (a2, e) => {
19228
+ var _h = createSelector(G, w, (a2, e) => {
19190
19229
  let t = [], i = [];
19191
19230
  for (let r in a2) {
19192
19231
  let s = a2[r], { video: o, audio: n } = He(e, s);
@@ -19194,14 +19233,14 @@ var _h = createSelector(G, D, (a2, e) => {
19194
19233
  }
19195
19234
  return t.concat(i);
19196
19235
  });
19197
- var Nh = createSelector(G, D, (a2, e) => {
19236
+ var Nh = createSelector(G, w, (a2, e) => {
19198
19237
  for (let t in e) {
19199
19238
  let i = e[t];
19200
19239
  if (rt(i) && it(i) && i.peerId)
19201
19240
  return a2[i.peerId];
19202
19241
  }
19203
19242
  });
19204
- var Oh = createSelector(G, D, (a2, e) => {
19243
+ var Oh = createSelector(G, w, (a2, e) => {
19205
19244
  for (let t in e) {
19206
19245
  let i = e[t];
19207
19246
  if ($t(i) && i.peerId)
@@ -19340,26 +19379,26 @@ var ta = (a2, e) => e;
19340
19379
  var Mo = (a2, e) => e;
19341
19380
  var yo = (a2, e) => e;
19342
19381
  var W = createSelector([G, Cr], (a2, e) => e ? a2[e] : null);
19343
- var Lr = createSelector([D, Tt], (a2, e) => e ? a2[e] : null);
19344
- var ko = createSelector([D, Tt], (a2, e) => {
19382
+ var Lr = createSelector([w, Tt], (a2, e) => e ? a2[e] : null);
19383
+ var ko = createSelector([w, Tt], (a2, e) => {
19345
19384
  if (!e)
19346
19385
  return null;
19347
19386
  let t = a2[e];
19348
19387
  return (t == null ? void 0 : t.type) === "video" ? t : null;
19349
19388
  });
19350
- var Eo = createSelector([D, Tt], (a2, e) => {
19389
+ var Eo = createSelector([w, Tt], (a2, e) => {
19351
19390
  if (!e)
19352
19391
  return null;
19353
19392
  let t = a2[e];
19354
19393
  return (t == null ? void 0 : t.type) === "audio" ? t : null;
19355
19394
  });
19356
- var Po = createSelector([D, Tt], (a2, e) => {
19395
+ var Po = createSelector([w, Tt], (a2, e) => {
19357
19396
  if (!e)
19358
19397
  return null;
19359
19398
  let t = a2[e];
19360
19399
  return (t == null ? void 0 : t.type) === "audio" && (t == null ? void 0 : t.source) === "screen" ? t : null;
19361
19400
  });
19362
- var Ao = createSelector([D, Tt], (a2, e) => {
19401
+ var Ao = createSelector([w, Tt], (a2, e) => {
19363
19402
  if (!e)
19364
19403
  return null;
19365
19404
  let t = a2[e];
@@ -19416,34 +19455,34 @@ var Im = b((a2, e) => {
19416
19455
  return i ? a2.tracks[i] : void 0;
19417
19456
  }
19418
19457
  });
19419
- var Rm = b(createSelector(D, W, (a2, e) => {
19458
+ var Rm = b(createSelector(w, W, (a2, e) => {
19420
19459
  let t = e == null ? void 0 : e.auxiliaryTracks.find((i) => {
19421
19460
  let r = a2[i];
19422
19461
  return rt(r) && it(r);
19423
19462
  });
19424
19463
  return t ? a2[t] : void 0;
19425
19464
  }));
19426
- var Hm = b(createSelector(D, W, (a2, e) => {
19465
+ var Hm = b(createSelector(w, W, (a2, e) => {
19427
19466
  let t = e == null ? void 0 : e.auxiliaryTracks.find((i) => {
19428
19467
  let r = a2[i];
19429
19468
  return rt(r) && tt(r);
19430
19469
  });
19431
19470
  return t ? a2[t] : void 0;
19432
19471
  }));
19433
- var Cm = b(createSelector(D, W, (a2, e) => {
19472
+ var Cm = b(createSelector(w, W, (a2, e) => {
19434
19473
  let t = e == null ? void 0 : e.auxiliaryTracks.find((i) => {
19435
19474
  let r = a2[i];
19436
19475
  return $t(r) && tt(r);
19437
19476
  });
19438
19477
  return t ? a2[t] : void 0;
19439
19478
  }));
19440
- var sa = b(createSelector(D, W, (a2, e) => He(a2, e)));
19479
+ var sa = b(createSelector(w, W, (a2, e) => He(a2, e)));
19441
19480
  var aa = (a2) => createSelector(sa(a2), (e) => e.audio);
19442
- var wm = b((a2, e) => {
19481
+ var Dm = b((a2, e) => {
19443
19482
  let t = W(a2, e);
19444
19483
  return Ue(a2, t == null ? void 0 : t.audioTrack);
19445
19484
  });
19446
- var Dm = b((a2, e) => {
19485
+ var wm = b((a2, e) => {
19447
19486
  let t = W(a2, e);
19448
19487
  return Ue(a2, t == null ? void 0 : t.videoTrack);
19449
19488
  });
@@ -19506,26 +19545,26 @@ var Co = createSelector(St, (a2) => a2.filter((e) => {
19506
19545
  return !e.recipientPeer && !((t = e.recipientRoles) != null && t.length);
19507
19546
  }));
19508
19547
  var Lo = createSelector([da, ta], (a2) => a2 ? a2.filter((e) => !e.read).length : 0);
19509
- var wo = createSelector([ca, Cr], (a2) => a2 ? a2.filter((e) => !e.read).length : 0);
19548
+ var Do = createSelector([ca, Cr], (a2) => a2 ? a2.filter((e) => !e.read).length : 0);
19510
19549
  var Bm = createSelector(Co, (a2) => a2.filter((e) => !e.read).length);
19511
19550
  var Vm = b(ca);
19512
19551
  var Fm = b(da);
19513
19552
  var Gm = b(Lo);
19514
- var Wm = b(wo);
19553
+ var Wm = b(Do);
19515
19554
  var la = b(bo);
19516
- var eS = createSelector([G, D], (a2, e) => Object.values(a2).map((i) => {
19555
+ var eS = createSelector([G, w], (a2, e) => Object.values(a2).map((i) => {
19517
19556
  var r;
19518
19557
  return { peer: i, isAudioEnabled: i.audioTrack ? (r = e[i.audioTrack]) == null ? void 0 : r.enabled : false };
19519
19558
  }));
19520
- var Do = (a2) => a2.roleChangeRequests[0] || null;
19521
- var tS = createSelector([Do, G, ue], (a2, e, t) => a2 ? { requestedBy: a2.requestedBy ? e[a2.requestedBy] : void 0, role: t[a2.roleName], token: a2.token } : null);
19559
+ var wo = (a2) => a2.roleChangeRequests[0] || null;
19560
+ var tS = createSelector([wo, G, ue], (a2, e, t) => a2 ? { requestedBy: a2.requestedBy ? e[a2.requestedBy] : void 0, role: t[a2.roleName], token: a2.token } : null);
19522
19561
  var iS = createSelector([oi], (a2) => st(a2));
19523
19562
  var rS = createSelector([Gs], (a2) => st(a2));
19524
- var No = createSelector([J, D], (a2, e) => {
19563
+ var No = createSelector([J, w], (a2, e) => {
19525
19564
  let t = null;
19526
19565
  return a2 && (t = e[a2]), (t == null ? void 0 : t.plugins) || [];
19527
19566
  });
19528
- var Oo = createSelector([te, D], (a2, e) => {
19567
+ var Oo = createSelector([te, w], (a2, e) => {
19529
19568
  let t = null;
19530
19569
  return a2 && (t = e[a2]), (t == null ? void 0 : t.plugins) || [];
19531
19570
  });
@@ -19824,7 +19863,7 @@ var LiveStatus = () => {
19824
19863
  const { isHLSRunning, isRTMPRunning } = useRecordingStreaming6();
19825
19864
  const hlsState = useHMSStore26(selectHLSState4);
19826
19865
  const isMobile = useMedia6(config.media.md);
19827
- const intervalRef = useRef14(null);
19866
+ const intervalRef = useRef15(null);
19828
19867
  const { screenType } = useRoomLayoutConferencingScreen();
19829
19868
  const [liveTime, setLiveTime] = useState25(0);
19830
19869
  const startTimer = useCallback17(() => {
@@ -20281,7 +20320,7 @@ var MwebOptions = ({
20281
20320
  const { showPolls } = useShowPolls();
20282
20321
  const togglePollView = usePollViewToggle();
20283
20322
  const peerCount = useHMSStore30(selectPeerCount3);
20284
- const emojiCardRef = useRef15(null);
20323
+ const emojiCardRef = useRef16(null);
20285
20324
  const { isBRBOn, toggleBRB, isHandRaised, toggleHandRaise } = useMyMetadata();
20286
20325
  const { unreadPollQuiz, setUnreadPollQuiz } = useUnreadPollQuizPresent();
20287
20326
  const { title, description } = useRoomLayoutHeader();
@@ -22184,7 +22223,7 @@ import React101 from "react";
22184
22223
 
22185
22224
  // src/Prebuilt/components/Polls/CreatePollQuiz/PollsQuizMenu.tsx
22186
22225
  init_define_process_env();
22187
- import React82, { useEffect as useEffect21, useMemo as useMemo6, useRef as useRef16, useState as useState35 } from "react";
22226
+ import React82, { useEffect as useEffect21, useMemo as useMemo6, useRef as useRef17, useState as useState35 } from "react";
22188
22227
  import {
22189
22228
  selectLocalPeerRoleName,
22190
22229
  selectPermissions as selectPermissions15,
@@ -22345,7 +22384,7 @@ var AddMenu = () => {
22345
22384
  const [titleError, setTitleError] = useState35("");
22346
22385
  const { setPollState } = usePollViewState();
22347
22386
  const [interactionType, setInteractionType] = useState35("Poll" /* POLL */);
22348
- const inputRef = useRef16(null);
22387
+ const inputRef = useRef17(null);
22349
22388
  useEffect21(() => {
22350
22389
  if (inputRef.current) {
22351
22390
  inputRef.current.focus();
@@ -22475,7 +22514,7 @@ import { AddCircleIcon as AddCircleIcon2 } from "@100mslive/react-icons";
22475
22514
 
22476
22515
  // src/Prebuilt/components/Polls/CreateQuestions/QuestionForm.tsx
22477
22516
  init_define_process_env();
22478
- import React90, { useCallback as useCallback21, useRef as useRef17, useState as useState36 } from "react";
22517
+ import React90, { useCallback as useCallback21, useRef as useRef18, useState as useState36 } from "react";
22479
22518
  import { AddCircleIcon, TrashIcon as TrashIcon3 } from "@100mslive/react-icons";
22480
22519
 
22481
22520
  // src/Prebuilt/components/Polls/CreateQuestions/DeleteQuestionModal.tsx
@@ -22769,7 +22808,7 @@ var QuestionForm = ({
22769
22808
  isQuiz
22770
22809
  }) => {
22771
22810
  var _a8;
22772
- const ref = useRef17(null);
22811
+ const ref = useRef18(null);
22773
22812
  const selectionBg = useDropdownSelection();
22774
22813
  const [openDelete, setOpenDelete] = useState36(false);
22775
22814
  const [open, setOpen] = useState36(false);
@@ -23367,7 +23406,7 @@ import React98 from "react";
23367
23406
 
23368
23407
  // src/Prebuilt/components/Polls/Voting/QuestionCard.jsx
23369
23408
  init_define_process_env();
23370
- import React97, { useCallback as useCallback22, useMemo as useMemo9, useRef as useRef18, useState as useState40 } from "react";
23409
+ import React97, { useCallback as useCallback22, useMemo as useMemo9, useRef as useRef19, useState as useState40 } from "react";
23371
23410
  import { match as match8 } from "ts-pattern";
23372
23411
  import { selectLocalPeer, selectLocalPeerRoleName as selectLocalPeerRoleName2, useHMSActions as useHMSActions31, useHMSStore as useHMSStore49 } from "@100mslive/react-sdk";
23373
23412
  import { CheckCircleIcon as CheckCircleIcon5, ChevronDownIcon as ChevronDownIcon5, CrossCircleIcon } from "@100mslive/react-icons";
@@ -23402,7 +23441,7 @@ var QuestionCard2 = ({
23402
23441
  const isLive = pollState === "started";
23403
23442
  const pollEnded = pollState === "stopped";
23404
23443
  const canRespond = isLive && !localPeerResponse;
23405
- const startTime = useRef18(Date.now());
23444
+ const startTime = useRef19(Date.now());
23406
23445
  const isCorrectAnswer = checkCorrectAnswer(answer, localPeerResponse, type);
23407
23446
  const [singleOptionAnswer, setSingleOptionAnswer] = useState40();
23408
23447
  const [multipleOptionAnswer, setMultipleOptionAnswer] = useState40(/* @__PURE__ */ new Set());
@@ -23821,7 +23860,7 @@ import { CrossIcon as CrossIcon21 } from "@100mslive/react-icons";
23821
23860
 
23822
23861
  // src/Prebuilt/components/Chat/Chat.tsx
23823
23862
  init_define_process_env();
23824
- import React117, { useCallback as useCallback30, useRef as useRef22 } from "react";
23863
+ import React117, { useCallback as useCallback30, useRef as useRef23 } from "react";
23825
23864
  import { useMedia as useMedia17 } from "react-use";
23826
23865
  import { match as match9 } from "ts-pattern";
23827
23866
  import { selectHMSMessagesCount, useHMSActions as useHMSActions40, useHMSStore as useHMSStore62, useHMSVanillaStore as useHMSVanillaStore10 } from "@100mslive/react-sdk";
@@ -23829,7 +23868,7 @@ import { ChevronDownIcon as ChevronDownIcon8 } from "@100mslive/react-icons";
23829
23868
 
23830
23869
  // src/Prebuilt/components/Chat/ChatBody.tsx
23831
23870
  init_define_process_env();
23832
- import React109, { Fragment as Fragment10, useCallback as useCallback26, useEffect as useEffect26, useLayoutEffect, useMemo as useMemo10, useRef as useRef19, useState as useState46 } from "react";
23871
+ import React109, { Fragment as Fragment10, useCallback as useCallback26, useEffect as useEffect26, useLayoutEffect, useMemo as useMemo10, useRef as useRef20, useState as useState46 } from "react";
23833
23872
  import { useMedia as useMedia12 } from "react-use";
23834
23873
  import AutoSizer from "react-virtualized-auto-sizer";
23835
23874
  import { VariableSizeList } from "react-window";
@@ -24330,7 +24369,7 @@ var ChatMessage = React109.memo(
24330
24369
  ({ index, style = {}, message }) => {
24331
24370
  var _a8, _b7, _c;
24332
24371
  const { elements } = useRoomLayoutConferencingScreen();
24333
- const rowRef = useRef19(null);
24372
+ const rowRef = useRef20(null);
24334
24373
  const isMobile = useMedia12(config.media.md);
24335
24374
  const isPrivateChatEnabled = !!((_a8 = elements == null ? void 0 : elements.chat) == null ? void 0 : _a8.private_chat_enabled);
24336
24375
  const isOverlay = ((_b7 = elements == null ? void 0 : elements.chat) == null ? void 0 : _b7.is_overlay) && isMobile;
@@ -24560,7 +24599,7 @@ var ChatBody = React109.forwardRef(
24560
24599
  return (messages == null ? void 0 : messages.filter((message) => message.type === "chat" && !blacklistedMessageIDSet.has(message.id))) || [];
24561
24600
  }, [blacklistedMessageIDs, messages]);
24562
24601
  const vanillaStore = useHMSVanillaStore9();
24563
- const rerenderOnFirstMount = useRef19(false);
24602
+ const rerenderOnFirstMount = useRef20(false);
24564
24603
  useEffect26(() => {
24565
24604
  const unsubscribe = vanillaStore.subscribe(() => {
24566
24605
  if (!listRef.current) {
@@ -24607,7 +24646,7 @@ var PinnedBy = ({
24607
24646
 
24608
24647
  // src/Prebuilt/components/Chat/ChatFooter.tsx
24609
24648
  init_define_process_env();
24610
- import React112, { useCallback as useCallback28, useEffect as useEffect28, useRef as useRef21, useState as useState49 } from "react";
24649
+ import React112, { useCallback as useCallback28, useEffect as useEffect28, useRef as useRef22, useState as useState49 } from "react";
24611
24650
  import { useMedia as useMedia15 } from "react-use";
24612
24651
  import data2 from "@emoji-mart/data";
24613
24652
  import Picker from "@emoji-mart/react";
@@ -24930,9 +24969,9 @@ var useChatDraftMessage = () => {
24930
24969
 
24931
24970
  // src/Prebuilt/components/Chat/useEmojiPickerStyles.js
24932
24971
  init_define_process_env();
24933
- import { useEffect as useEffect27, useRef as useRef20 } from "react";
24972
+ import { useEffect as useEffect27, useRef as useRef21 } from "react";
24934
24973
  var useEmojiPickerStyles = (showing) => {
24935
- const ref = useRef20(null);
24974
+ const ref = useRef21(null);
24936
24975
  useEffect27(() => {
24937
24976
  if (showing) {
24938
24977
  setTimeout(() => {
@@ -25009,7 +25048,7 @@ function EmojiPicker({ onSelect }) {
25009
25048
  var ChatFooter = ({ onSend, children }) => {
25010
25049
  var _a8, _b7, _c, _d;
25011
25050
  const hmsActions = useHMSActions38();
25012
- const inputRef = useRef21(null);
25051
+ const inputRef = useRef22(null);
25013
25052
  const [draftMessage, setDraftMessage] = useChatDraftMessage();
25014
25053
  const isMobile = useMedia15(config.media.md);
25015
25054
  const { elements, screenType } = useRoomLayoutConferencingScreen();
@@ -25426,7 +25465,7 @@ var PinnedMessage = () => {
25426
25465
  var Chat = () => {
25427
25466
  var _a8, _b7;
25428
25467
  const { elements } = useRoomLayoutConferencingScreen();
25429
- const listRef = useRef22(null);
25468
+ const listRef = useRef23(null);
25430
25469
  const hmsActions = useHMSActions40();
25431
25470
  const vanillaStore = useHMSVanillaStore10();
25432
25471
  const { enabled: isChatEnabled = true } = useHMSStore62(Sm("chatState" /* CHAT_STATE */)) || {};
@@ -27359,7 +27398,7 @@ import { selectLocalPeer as selectLocalPeer9, useHMSStore as useHMSStore75 } fro
27359
27398
 
27360
27399
  // src/Prebuilt/components/InsetTile.tsx
27361
27400
  init_define_process_env();
27362
- import React136, { useEffect as useEffect36, useRef as useRef23 } from "react";
27401
+ import React136, { useEffect as useEffect36, useRef as useRef24 } from "react";
27363
27402
  import Draggable from "react-draggable";
27364
27403
  import { useMedia as useMedia26 } from "react-use";
27365
27404
  import {
@@ -27423,7 +27462,7 @@ var InsetTile = ({ peerId }) => {
27423
27462
  width = 240;
27424
27463
  height = width / aspectRatio;
27425
27464
  }
27426
- const nodeRef = useRef23(null);
27465
+ const nodeRef = useRef24(null);
27427
27466
  useEffect36(() => {
27428
27467
  const node = nodeRef.current;
27429
27468
  if (!node || !window.ResizeObserver) {
@@ -27648,10 +27687,10 @@ var useTileLayout = ({
27648
27687
  tileHeight = maxRowHeight;
27649
27688
  const calcWidths = aspectRatios.map((aR) => tileHeight * aR);
27650
27689
  tileWidth = 0;
27651
- for (const w of calcWidths) {
27652
- if (w < width) {
27653
- if (tileWidth < w) {
27654
- tileWidth = w;
27690
+ for (const w2 of calcWidths) {
27691
+ if (w2 < width) {
27692
+ if (tileWidth < w2) {
27693
+ tileWidth = w2;
27655
27694
  }
27656
27695
  }
27657
27696
  }
@@ -27722,7 +27761,7 @@ import { selectLocalPeer as selectLocalPeer10, useHMSStore as useHMSStore77 } fr
27722
27761
 
27723
27762
  // src/Prebuilt/components/SecondaryTiles.tsx
27724
27763
  init_define_process_env();
27725
- import React141, { useEffect as useEffect40, useRef as useRef24, useState as useState59 } from "react";
27764
+ import React141, { useEffect as useEffect40, useRef as useRef25, useState as useState59 } from "react";
27726
27765
  import { useMedia as useMedia29 } from "react-use";
27727
27766
  import { selectAppData as selectAppData9, selectSessionStore as selectSessionStore11, selectTrackByID as selectTrackByID4, useHMSStore as useHMSStore76 } from "@100mslive/react-sdk";
27728
27767
 
@@ -27815,7 +27854,7 @@ var SecondaryTiles = ({ peers, onPageChange, onPageSize, edgeToEdge, hasSidebar
27815
27854
  const spotlightPeerId = useHMSStore76(selectSessionStore11("spotlight" /* SPOTLIGHT */));
27816
27855
  const activeScreensharePeerId = useHMSStore76(selectAppData9(APP_DATA.activeScreensharePeerId));
27817
27856
  const pinnedPeer = (_a8 = useHMSStore76(selectTrackByID4(pinnedTrackId))) == null ? void 0 : _a8.peerId;
27818
- const pageChangedAfterPinning = useRef24(false);
27857
+ const pageChangedAfterPinning = useRef25(false);
27819
27858
  const pagesWithTiles = usePagesWithTiles({
27820
27859
  peers: spotlightPeerId || pinnedPeer ? [...peers].sort((p1, p2) => {
27821
27860
  if (activeScreensharePeerId === p1.id) {
@@ -27957,7 +27996,7 @@ import { selectPeersScreenSharing, useHMSStore as useHMSStore79 } from "@100msli
27957
27996
 
27958
27997
  // src/Prebuilt/components/ScreenshareTile.tsx
27959
27998
  init_define_process_env();
27960
- import React145, { useRef as useRef25, useState as useState62 } from "react";
27999
+ import React145, { useRef as useRef26, useState as useState62 } from "react";
27961
28000
  import { useFullscreen as useFullscreen2, useMedia as useMedia31 } from "react-use";
27962
28001
  import screenfull2 from "screenfull";
27963
28002
  import {
@@ -28128,7 +28167,7 @@ var Tile2 = ({ peerId, width = "100%", height = "100%" }) => {
28128
28167
  const [isMouseHovered, setIsMouseHovered] = useState62(false);
28129
28168
  const isMobile = useMedia31(config.media.md);
28130
28169
  const showStatsOnTiles = useUISettings(UI_SETTINGS.showStatsOnTiles);
28131
- const fullscreenRef = useRef25(null);
28170
+ const fullscreenRef = useRef26(null);
28132
28171
  const [fullscreen, setFullscreen] = useState62(false);
28133
28172
  const isFullscreen = useFullscreen2(fullscreenRef, fullscreen, {
28134
28173
  onClose: () => setFullscreen(false)
@@ -28953,7 +28992,7 @@ var useCloseScreenshareWhiteboard = () => {
28953
28992
  };
28954
28993
 
28955
28994
  // src/Prebuilt/layouts/VideoStreamingSection.tsx
28956
- var HLSView = React153.lazy(() => import("./HLSView-KESSHZG2.js"));
28995
+ var HLSView = React153.lazy(() => import("./HLSView-SZL2TSWE.js"));
28957
28996
  var VideoStreamingSection = ({
28958
28997
  screenType,
28959
28998
  elements,
@@ -29284,13 +29323,13 @@ var ConferenceScreen = () => {
29284
29323
  const [hideControls, setHideControls] = useState66(false);
29285
29324
  const dropdownList = useHMSStore88(selectAppData11(APP_DATA.dropdownList));
29286
29325
  const authTokenInAppData = useAuthToken();
29287
- const headerRef = useRef26(null);
29288
- const footerRef = useRef26(null);
29326
+ const headerRef = useRef27(null);
29327
+ const footerRef = useRef27(null);
29289
29328
  const isMobileDevice = isAndroid || isIOS || isIPadOS;
29290
- const dropdownListRef = useRef26();
29329
+ const dropdownListRef = useRef27();
29291
29330
  const [isHLSStarted] = useSetAppDataByKey(APP_DATA.hlsStarted);
29292
29331
  const showChat = !!((_a8 = screenProps.elements) == null ? void 0 : _a8.chat);
29293
- const autoRoomJoined = useRef26(isPreviewScreenEnabled);
29332
+ const autoRoomJoined = useRef27(isPreviewScreenEnabled);
29294
29333
  const isMobileHLSStream = useMobileHLSStream();
29295
29334
  const isLandscapeHLSStream = useLandscapeHLSStream();
29296
29335
  const isMwebHLSStream = isMobileHLSStream || isLandscapeHLSStream;
@@ -30919,7 +30958,7 @@ function RemoteStopScreenshare() {
30919
30958
 
30920
30959
  // src/Prebuilt/components/hooks/useAutoStartStreaming.tsx
30921
30960
  init_define_process_env();
30922
- import { useCallback as useCallback39, useEffect as useEffect69, useRef as useRef27 } from "react";
30961
+ import { useCallback as useCallback39, useEffect as useEffect69, useRef as useRef28 } from "react";
30923
30962
  import {
30924
30963
  selectIsConnectedToRoom as selectIsConnectedToRoom12,
30925
30964
  selectPermissions as selectPermissions20,
@@ -30934,7 +30973,7 @@ var useAutoStartStreaming = () => {
30934
30973
  const hmsActions = useHMSActions54();
30935
30974
  const isConnected = useHMSStore98(selectIsConnectedToRoom12);
30936
30975
  const { isHLSRunning, isRTMPRunning, isHLSRecordingOn, isBrowserRecordingOn } = useRecordingStreaming12();
30937
- const streamStartedRef = useRef27(false);
30976
+ const streamStartedRef = useRef28(false);
30938
30977
  const startHLS = useCallback39(() => __async(void 0, null, function* () {
30939
30978
  try {
30940
30979
  if (isHLSStarted || !showStreamingUI || isHLSRunning || isRTMPRunning || isHLSRecordingOn || isBrowserRecordingOn) {
@@ -30986,7 +31025,7 @@ var HMSPrebuilt = React179.forwardRef(
30986
31025
  onJoin
30987
31026
  }, ref) => {
30988
31027
  var _a8, _b7, _c, _d;
30989
- const reactiveStore = useRef28();
31028
+ const reactiveStore = useRef29();
30990
31029
  const [hydrated, setHydrated] = React179.useState(false);
30991
31030
  useEffect70(() => {
30992
31031
  setHydrated(true);
@@ -31298,4 +31337,4 @@ lodash/lodash.js:
31298
31337
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
31299
31338
  *)
31300
31339
  */
31301
- //# sourceMappingURL=chunk-KRTJ2T7F.js.map
31340
+ //# sourceMappingURL=chunk-BKAJ6YG4.js.map