@100mslive/roomkit-react 0.3.15-alpha.2 → 0.3.15-alpha.3

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.cjs.js CHANGED
@@ -109,7 +109,7 @@ var __async = (__this, __arguments, generator) => {
109
109
  var define_process_env_default;
110
110
  var init_define_process_env = __esm({
111
111
  "<define:process.env>"() {
112
- define_process_env_default = { GITHUB_STATE: "/home/runner/work/_temp/_runner_file_commands/save_state_f4f0319b-28f9-441a-97ae-06aad93daf26", 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", 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", npm_package_dependencies__100mslive_hms_whiteboard: "0.0.5-alpha.2", 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.3 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_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.15-alpha.2", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_f4f0319b-28f9-441a-97ae-06aad93daf26", PIPX_HOME: "/opt/pipx", npm_node_execpath: "/opt/hostedtoolcache/node/18.20.3/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.15-alpha.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.9", 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.8", 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: "589", 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_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.11/x64", JAVA_HOME_17_X64: "/usr/lib/jvm/temurin-17-jdk-amd64", ImageVersion: "20240624.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.4/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:18261", 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__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.15-alpha.2", npm_package_devDependencies__types_lodash_merge: "^4.6.6", npm_package_devDependencies__storybook_cli: "^7.0.27", ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE: "/opt/actionarchivecache", STATS_D: "false", GITHUB_RUN_ID: "9746352945", 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: "da2cd3ce25b00c03fd1305ff2f151fcb5e0840e8", 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: "1101512e02e8cae8ab6e59a1dba928462f8b08eca0d34d20ac7187b3fb0a076a", 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--1719845255643-0.8007600975529412:/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.3/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.3/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.3/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1719845255444-0.24442683776429042:/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.3/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.3/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.3/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1719845229615-0.5556985847101121:/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.3/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.3/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.3/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1719845229427-0.707417800571092:/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.3/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.3/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.3/x64/bin/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.3/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.3/x64/bin/node", ANT_HOME: "/usr/share/ant", DOTNET_MULTILEVEL_LOOKUP: "0", RUNNER_TRACKING_ID: "github_55a92866-2abe-4453-b956-7e0636bb056c", INVOCATION_ID: "05f9dbe39d95407bb809759e561847a9", 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: "592", 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", 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__types_mdx: "2.0.2", CONDA: "/usr/share/miniconda", RUNNER_NAME: "GitHub Actions 390", 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_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.15-alpha.2", npm_package_scripts_types: "tsc -w", GITHUB_REPOSITORY_ID: "429826515", GITHUB_ACTIONS: "true", npm_lifecycle_event: "build:only", npm_package_version: "0.3.15-alpha.2", 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", GITHUB_SHA: "da2cd3ce25b00c03fd1305ff2f151fcb5e0840e8", 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_f4f0319b-28f9-441a-97ae-06aad93daf26", 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_f4f0319b-28f9-441a-97ae-06aad93daf26", 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.181+6/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_knip: "^5.11.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_f4f0319b-28f9-441a-97ae-06aad93daf26" };
112
+ define_process_env_default = { GITHUB_STATE: "/home/runner/work/_temp/_runner_file_commands/save_state_1db57682-586b-4fa3-a400-cb4cc61029e6", 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", 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", npm_package_dependencies__100mslive_hms_whiteboard: "0.0.5-alpha.3", 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.3 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_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.15-alpha.3", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_1db57682-586b-4fa3-a400-cb4cc61029e6", PIPX_HOME: "/opt/pipx", npm_node_execpath: "/opt/hostedtoolcache/node/18.20.3/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.15-alpha.3", 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.9", 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.8", 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: "599", 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_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.11/x64", JAVA_HOME_17_X64: "/usr/lib/jvm/temurin-17-jdk-amd64", ImageVersion: "20240624.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.4/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:20589", 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__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.15-alpha.3", npm_package_devDependencies__types_lodash_merge: "^4.6.6", npm_package_devDependencies__storybook_cli: "^7.0.27", ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE: "/opt/actionarchivecache", STATS_D: "false", GITHUB_RUN_ID: "9760875901", 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: "810df7bc6d978b45e2c3052343692e982bad600a", 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: "986d00f79f3ae897ba21437b95f1f9bb740fe0a9b5eb128244afaa3217e837ed", 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--1719923141428-0.2272077605588494:/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.3/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.3/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.3/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1719923141224-0.3159860824976266:/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.3/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.3/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.3/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1719923116291-0.3849274411697532:/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.3/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.3/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.3/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1719923116113-0.3975031629995336:/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.3/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.3/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.3/x64/bin/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.3/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.3/x64/bin/node", ANT_HOME: "/usr/share/ant", DOTNET_MULTILEVEL_LOOKUP: "0", RUNNER_TRACKING_ID: "github_8d648c6b-da17-4762-a942-79d63c2b0100", INVOCATION_ID: "d18e7eb4780e490a9bc5c417f75d7794", 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: "593", 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", 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__types_mdx: "2.0.2", CONDA: "/usr/share/miniconda", RUNNER_NAME: "GitHub Actions 269", 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_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.15-alpha.3", npm_package_scripts_types: "tsc -w", GITHUB_REPOSITORY_ID: "429826515", GITHUB_ACTIONS: "true", npm_lifecycle_event: "build:only", npm_package_version: "0.3.15-alpha.3", 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", GITHUB_SHA: "810df7bc6d978b45e2c3052343692e982bad600a", 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_1db57682-586b-4fa3-a400-cb4cc61029e6", 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_1db57682-586b-4fa3-a400-cb4cc61029e6", 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.181+6/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_knip: "^5.11.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_1db57682-586b-4fa3-a400-cb4cc61029e6" };
113
113
  }
114
114
  });
115
115
 
@@ -20042,7 +20042,7 @@ var init_dist = __esm({
20042
20042
  };
20043
20043
  Xa = (a2, e) => () => (e || a2((e = { exports: {} }).exports, e), e.exports);
20044
20044
  Mr = Xa((Fc, no) => {
20045
- no.exports = { version: "0.12.15-alpha.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", "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"] };
20045
+ no.exports = { version: "0.12.15-alpha.3", 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"] };
20046
20046
  });
20047
20047
  Sr = ((n) => (n.Disconnected = "Disconnected", n.Preview = "Preview", n.Connecting = "Connecting", n.Connected = "Connected", n.Reconnecting = "Reconnecting", n.Disconnecting = "Disconnecting", n.Failed = "Failed", n))(Sr || {});
20048
20048
  Za = ((e) => (e.CHAT = "chat", e))(Za || {});
@@ -30706,9 +30706,9 @@ var init_ScreenshareLayout = __esm({
30706
30706
  }
30707
30707
  });
30708
30708
 
30709
- // ../../../../../../../tmp/tmp-2786-CxaJduQrdIq9/1906ec3fbe31/index.css
30710
- var init_ec3fbe31 = __esm({
30711
- "../../../../../../../tmp/tmp-2786-CxaJduQrdIq9/1906ec3fbe31/index.css"() {
30709
+ // ../../../../../../../tmp/tmp-2795-Mjd50SyOcRBo/19073686d4c1/index.css
30710
+ var init_d4c1 = __esm({
30711
+ "../../../../../../../tmp/tmp-2795-Mjd50SyOcRBo/19073686d4c1/index.css"() {
30712
30712
  }
30713
30713
  });
30714
30714
 
@@ -30730,7 +30730,7 @@ var init_WhiteboardLayout = __esm({
30730
30730
  init_ProminenceLayout();
30731
30731
  init_useUISettings();
30732
30732
  init_constants();
30733
- init_ec3fbe31();
30733
+ init_d4c1();
30734
30734
  WhiteboardEmbed = () => {
30735
30735
  const isMobile = (0, import_react_use42.useMedia)(config.media.md);
30736
30736
  const { token, endpoint, zoomToContent } = (0, import_react_sdk92.useWhiteboard)(isMobile);
@@ -35904,53 +35904,75 @@ var init_TextArea2 = __esm({
35904
35904
  }
35905
35905
  });
35906
35906
 
35907
- // src/Diagnostics/components.tsx
35908
- var import_react238, DiagnosticsSteps, DiagnosticsContext, TestContainer, TestFooter;
35909
- var init_components = __esm({
35910
- "src/Diagnostics/components.tsx"() {
35907
+ // src/Diagnostics/DiagnosticsContext.ts
35908
+ var import_react238, DiagnosticsStep, initialSteps, DiagnosticsContext, useDiagnostics;
35909
+ var init_DiagnosticsContext = __esm({
35910
+ "src/Diagnostics/DiagnosticsContext.ts"() {
35911
35911
  "use strict";
35912
35912
  init_define_process_env();
35913
35913
  import_react238 = __toESM(require("react"));
35914
- init_Button2();
35915
- init_Layout();
35916
- init_Text2();
35917
- DiagnosticsSteps = {
35918
- browser: "Browser Support",
35919
- video: "Test Video",
35920
- audio: "Test Audio",
35921
- connectivity: "Connection Quality"
35914
+ DiagnosticsStep = /* @__PURE__ */ ((DiagnosticsStep2) => {
35915
+ DiagnosticsStep2[DiagnosticsStep2["BROWSER"] = 0] = "BROWSER";
35916
+ DiagnosticsStep2[DiagnosticsStep2["VIDEO"] = 1] = "VIDEO";
35917
+ DiagnosticsStep2[DiagnosticsStep2["AUDIO"] = 2] = "AUDIO";
35918
+ DiagnosticsStep2[DiagnosticsStep2["CONNECTIVITY"] = 3] = "CONNECTIVITY";
35919
+ return DiagnosticsStep2;
35920
+ })(DiagnosticsStep || {});
35921
+ initialSteps = {
35922
+ [0 /* BROWSER */]: { name: "Browser Support" },
35923
+ [1 /* VIDEO */]: { name: "Test Video" },
35924
+ [2 /* AUDIO */]: { name: "Test Audio" },
35925
+ [3 /* CONNECTIVITY */]: { name: "Connection Quality" }
35922
35926
  };
35923
35927
  DiagnosticsContext = import_react238.default.createContext({
35924
- activeStep: "video",
35928
+ activeStepIndex: 0,
35925
35929
  setActiveStep: () => {
35926
35930
  return;
35927
35931
  },
35928
- connectivityTested: false,
35929
- setConnectivityTested: () => {
35932
+ steps: initialSteps,
35933
+ updateStep: () => {
35930
35934
  return;
35931
35935
  }
35932
35936
  });
35937
+ useDiagnostics = () => {
35938
+ const context = (0, import_react238.useContext)(DiagnosticsContext);
35939
+ const activeStep = context.steps[context.activeStepIndex];
35940
+ return __spreadProps(__spreadValues({}, context), { activeStep });
35941
+ };
35942
+ }
35943
+ });
35944
+
35945
+ // src/Diagnostics/components.tsx
35946
+ var import_react239, TestContainer, TestFooter;
35947
+ var init_components = __esm({
35948
+ "src/Diagnostics/components.tsx"() {
35949
+ "use strict";
35950
+ init_define_process_env();
35951
+ import_react239 = __toESM(require("react"));
35952
+ init_Button2();
35953
+ init_Layout();
35954
+ init_Text2();
35955
+ init_DiagnosticsContext();
35933
35956
  TestContainer = ({ css: css2, children }) => {
35934
- return /* @__PURE__ */ import_react238.default.createElement(Box, { css: __spreadValues({ p: "$10" }, css2) }, children);
35957
+ return /* @__PURE__ */ import_react239.default.createElement(Box, { css: __spreadValues({ p: "$10" }, css2) }, children);
35935
35958
  };
35936
35959
  TestFooter = ({
35937
35960
  error,
35938
35961
  ctaText,
35939
35962
  children
35940
35963
  }) => {
35941
- const { hmsDiagnostics, activeStep, setActiveStep } = (0, import_react238.useContext)(DiagnosticsContext);
35964
+ const { hmsDiagnostics, activeStepIndex: activeStep, setActiveStep } = useDiagnostics();
35942
35965
  const onNextStep = () => {
35943
- if (activeStep === "audio") {
35966
+ if (activeStep === 2 /* AUDIO */) {
35944
35967
  hmsDiagnostics == null ? void 0 : hmsDiagnostics.stopMicCheck();
35945
- } else if (activeStep === "video") {
35968
+ } else if (activeStep === 1 /* VIDEO */) {
35946
35969
  hmsDiagnostics == null ? void 0 : hmsDiagnostics.stopCameraCheck();
35947
- } else if (activeStep === "connectivity") {
35970
+ } else if (activeStep === 3 /* CONNECTIVITY */) {
35948
35971
  hmsDiagnostics == null ? void 0 : hmsDiagnostics.stopConnectivityCheck();
35949
35972
  }
35950
- const keys = Object.keys(DiagnosticsSteps);
35951
- setActiveStep((step) => keys[keys.indexOf(step) + 1]);
35973
+ setActiveStep((step) => step + 1);
35952
35974
  };
35953
- return /* @__PURE__ */ import_react238.default.createElement(
35975
+ return /* @__PURE__ */ import_react239.default.createElement(
35954
35976
  Flex,
35955
35977
  {
35956
35978
  css: {
@@ -35968,8 +35990,8 @@ var init_components = __esm({
35968
35990
  "@lg": { flexDirection: "column", gap: "$8" }
35969
35991
  }
35970
35992
  },
35971
- /* @__PURE__ */ import_react238.default.createElement(Box, null, error && /* @__PURE__ */ import_react238.default.createElement(Text, { css: { c: "$alert_error_default" } }, "Error: ", error.message)),
35972
- children ? children : /* @__PURE__ */ import_react238.default.createElement(Flex, { align: "center", css: { gap: "$8", "@lg": { flexDirection: "column" } } }, /* @__PURE__ */ import_react238.default.createElement(Text, { css: { c: "$on_primary_medium" } }, ctaText), /* @__PURE__ */ import_react238.default.createElement(Flex, { align: "center", gap: "4" }, /* @__PURE__ */ import_react238.default.createElement(Button, { onClick: onNextStep, variant: "standard", outlined: true }, "Skip"), /* @__PURE__ */ import_react238.default.createElement(Button, { disabled: !!error, onClick: onNextStep }, "Yes")))
35993
+ /* @__PURE__ */ import_react239.default.createElement(Box, null, error && /* @__PURE__ */ import_react239.default.createElement(Text, { css: { c: "$alert_error_default" } }, "Error: ", error.message)),
35994
+ children ? children : /* @__PURE__ */ import_react239.default.createElement(Flex, { align: "center", css: { gap: "$8", "@lg": { flexDirection: "column" } } }, /* @__PURE__ */ import_react239.default.createElement(Text, { css: { c: "$on_primary_medium" } }, ctaText), /* @__PURE__ */ import_react239.default.createElement(Flex, { align: "center", gap: "4" }, /* @__PURE__ */ import_react239.default.createElement(Button, { onClick: onNextStep, variant: "standard", outlined: true }, "Skip"), /* @__PURE__ */ import_react239.default.createElement(Button, { disabled: !!error, onClick: onNextStep }, "Yes")))
35973
35995
  );
35974
35996
  };
35975
35997
  }
@@ -36932,12 +36954,12 @@ var require_prop_types = __commonJS({
36932
36954
  });
36933
36955
 
36934
36956
  // src/Diagnostics/DeviceSelector.jsx
36935
- var import_react239, import_prop_types, DeviceSelector2;
36957
+ var import_react240, import_prop_types, DeviceSelector2;
36936
36958
  var init_DeviceSelector = __esm({
36937
36959
  "src/Diagnostics/DeviceSelector.jsx"() {
36938
36960
  "use strict";
36939
36961
  init_define_process_env();
36940
- import_react239 = __toESM(require("react"));
36962
+ import_react240 = __toESM(require("react"));
36941
36963
  import_prop_types = __toESM(require_prop_types());
36942
36964
  init_Dropdown2();
36943
36965
  init_Layout();
@@ -36945,9 +36967,9 @@ var init_DeviceSelector = __esm({
36945
36967
  init_Text2();
36946
36968
  DeviceSelector2 = ({ title, devices, selection, onChange, icon, children = null }) => {
36947
36969
  var _a7, _b7;
36948
- const [open, setOpen] = (0, import_react239.useState)(false);
36949
- const ref = (0, import_react239.useRef)(null);
36950
- return /* @__PURE__ */ import_react239.default.createElement(Box, { css: { mb: "$6" } }, /* @__PURE__ */ import_react239.default.createElement(Text, { css: { mb: "$4" } }, title), /* @__PURE__ */ import_react239.default.createElement(
36970
+ const [open, setOpen] = (0, import_react240.useState)(false);
36971
+ const ref = (0, import_react240.useRef)(null);
36972
+ return /* @__PURE__ */ import_react240.default.createElement(Box, { css: { mb: "$6" } }, /* @__PURE__ */ import_react240.default.createElement(Text, { css: { mb: "$4" } }, title), /* @__PURE__ */ import_react240.default.createElement(
36951
36973
  Flex,
36952
36974
  {
36953
36975
  align: "center",
@@ -36959,7 +36981,7 @@ var init_DeviceSelector = __esm({
36959
36981
  }
36960
36982
  }
36961
36983
  },
36962
- /* @__PURE__ */ import_react239.default.createElement(Dropdown.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ import_react239.default.createElement(
36984
+ /* @__PURE__ */ import_react240.default.createElement(Dropdown.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ import_react240.default.createElement(
36963
36985
  DialogDropdownTrigger,
36964
36986
  {
36965
36987
  ref,
@@ -36967,7 +36989,7 @@ var init_DeviceSelector = __esm({
36967
36989
  title: ((_a7 = devices.find(({ deviceId }) => deviceId === selection)) == null ? void 0 : _a7.label) || "Select device from list",
36968
36990
  open
36969
36991
  }
36970
- ), /* @__PURE__ */ import_react239.default.createElement(Dropdown.Portal, null, /* @__PURE__ */ import_react239.default.createElement(
36992
+ ), /* @__PURE__ */ import_react240.default.createElement(Dropdown.Portal, null, /* @__PURE__ */ import_react240.default.createElement(
36971
36993
  Dropdown.Content,
36972
36994
  {
36973
36995
  align: "start",
@@ -36981,7 +37003,7 @@ var init_DeviceSelector = __esm({
36981
37003
  }
36982
37004
  },
36983
37005
  devices.map((device) => {
36984
- return /* @__PURE__ */ import_react239.default.createElement(
37006
+ return /* @__PURE__ */ import_react240.default.createElement(
36985
37007
  Dropdown.Item,
36986
37008
  {
36987
37009
  key: device.label,
@@ -37009,12 +37031,12 @@ var init_DeviceSelector = __esm({
37009
37031
  });
37010
37032
 
37011
37033
  // src/Diagnostics/AudioTest.tsx
37012
- var import_react240, import_react_sdk127, import_react_icons110, SelectContainer, MicTest, SpeakerTest, AudioTest;
37034
+ var import_react241, import_react_sdk127, import_react_icons110, SelectContainer, MicTest, SpeakerTest, AudioTest;
37013
37035
  var init_AudioTest = __esm({
37014
37036
  "src/Diagnostics/AudioTest.tsx"() {
37015
37037
  "use strict";
37016
37038
  init_define_process_env();
37017
- import_react240 = __toESM(require("react"));
37039
+ import_react241 = __toESM(require("react"));
37018
37040
  import_react_sdk127 = require("@100mslive/react-sdk");
37019
37041
  import_react_icons110 = require("@100mslive/react-icons");
37020
37042
  init_PermissionErrorModal();
@@ -37024,35 +37046,36 @@ var init_AudioTest = __esm({
37024
37046
  init_Progress();
37025
37047
  init_Text2();
37026
37048
  init_DeviceSelector();
37049
+ init_DiagnosticsContext();
37027
37050
  init_useAudioOutputTest();
37028
37051
  init_constants();
37029
- SelectContainer = ({ children }) => /* @__PURE__ */ import_react240.default.createElement(Box, { css: { w: "calc(50% - 0.75rem)", "@lg": { w: "100%" } } }, children);
37052
+ SelectContainer = ({ children }) => /* @__PURE__ */ import_react241.default.createElement(Box, { css: { w: "calc(50% - 0.75rem)", "@lg": { w: "100%" } } }, children);
37030
37053
  MicTest = ({ setError }) => {
37031
37054
  var _a7, _b7;
37032
- const { hmsDiagnostics } = (0, import_react240.useContext)(DiagnosticsContext);
37055
+ const { hmsDiagnostics } = useDiagnostics();
37033
37056
  const devices = (0, import_react_sdk127.useHMSStore)(import_react_sdk127.selectDevices);
37034
- const [isRecording, setIsRecording] = (0, import_react240.useState)(false);
37035
- const [selectedMic, setSelectedMic] = (0, import_react240.useState)(((_a7 = devices.audioInput[0]) == null ? void 0 : _a7.deviceId) || "default");
37057
+ const [isRecording, setIsRecording] = (0, import_react241.useState)(false);
37058
+ const [selectedMic, setSelectedMic] = (0, import_react241.useState)(((_a7 = devices.audioInput[0]) == null ? void 0 : _a7.deviceId) || "default");
37036
37059
  const trackID = (0, import_react_sdk127.useHMSStore)(import_react_sdk127.selectLocalAudioTrackID);
37037
37060
  const audioLevel = (0, import_react_sdk127.useHMSStore)((0, import_react_sdk127.selectTrackAudioByID)(trackID));
37038
37061
  const { audioOutputDeviceId } = (0, import_react_sdk127.useHMSStore)(import_react_sdk127.selectLocalMediaSettings);
37039
37062
  const { playing, setPlaying, audioRef } = useAudioOutputTest({
37040
37063
  deviceId: audioOutputDeviceId || ((_b7 = devices.audioOutput[0]) == null ? void 0 : _b7.deviceId)
37041
37064
  });
37042
- return /* @__PURE__ */ import_react240.default.createElement(SelectContainer, null, /* @__PURE__ */ import_react240.default.createElement(
37065
+ return /* @__PURE__ */ import_react241.default.createElement(SelectContainer, null, /* @__PURE__ */ import_react241.default.createElement(
37043
37066
  DeviceSelector2,
37044
37067
  {
37045
37068
  title: "Microphone (Input)",
37046
37069
  devices: devices.audioInput,
37047
37070
  selection: selectedMic,
37048
- icon: /* @__PURE__ */ import_react240.default.createElement(import_react_icons110.MicOnIcon, null),
37071
+ icon: /* @__PURE__ */ import_react241.default.createElement(import_react_icons110.MicOnIcon, null),
37049
37072
  onChange: (deviceId) => {
37050
37073
  setError(void 0);
37051
37074
  setSelectedMic(deviceId);
37052
37075
  hmsDiagnostics == null ? void 0 : hmsDiagnostics.stopMicCheck();
37053
37076
  }
37054
37077
  }
37055
- ), /* @__PURE__ */ import_react240.default.createElement(Flex, { css: { gap: "$6", alignItems: "center" } }, /* @__PURE__ */ import_react240.default.createElement(
37078
+ ), /* @__PURE__ */ import_react241.default.createElement(Flex, { css: { gap: "$6", alignItems: "center" } }, /* @__PURE__ */ import_react241.default.createElement(
37056
37079
  Button,
37057
37080
  {
37058
37081
  variant: "standard",
@@ -37072,9 +37095,9 @@ var init_AudioTest = __esm({
37072
37095
  },
37073
37096
  disabled: devices.audioInput.length === 0 || playing
37074
37097
  },
37075
- isRecording ? /* @__PURE__ */ import_react240.default.createElement(import_react_icons110.StopIcon, null) : /* @__PURE__ */ import_react240.default.createElement(import_react_icons110.MicOnIcon, null),
37098
+ isRecording ? /* @__PURE__ */ import_react241.default.createElement(import_react_icons110.StopIcon, null) : /* @__PURE__ */ import_react241.default.createElement(import_react_icons110.MicOnIcon, null),
37076
37099
  isRecording ? "Stop Recording" : "Record"
37077
- ), /* @__PURE__ */ import_react240.default.createElement(
37100
+ ), /* @__PURE__ */ import_react241.default.createElement(
37078
37101
  Button,
37079
37102
  {
37080
37103
  icon: true,
@@ -37088,9 +37111,9 @@ var init_AudioTest = __esm({
37088
37111
  },
37089
37112
  disabled: playing || (hmsDiagnostics == null ? void 0 : hmsDiagnostics.getRecordedAudio()) === TEST_AUDIO_URL
37090
37113
  },
37091
- /* @__PURE__ */ import_react240.default.createElement(import_react_icons110.SpeakerIcon, null),
37114
+ /* @__PURE__ */ import_react241.default.createElement(import_react_icons110.SpeakerIcon, null),
37092
37115
  playing ? "Playing..." : "Playback"
37093
- ), /* @__PURE__ */ import_react240.default.createElement(
37116
+ ), /* @__PURE__ */ import_react241.default.createElement(
37094
37117
  "audio",
37095
37118
  {
37096
37119
  ref: audioRef,
@@ -37098,7 +37121,7 @@ var init_AudioTest = __esm({
37098
37121
  onPlay: () => setPlaying(true),
37099
37122
  style: { display: "none" }
37100
37123
  }
37101
- )), /* @__PURE__ */ import_react240.default.createElement(Flex, { align: "center", css: { mt: "$4", maxWidth: "10rem", opacity: isRecording ? "1" : "0", gap: "$4" } }, /* @__PURE__ */ import_react240.default.createElement(Text, null, /* @__PURE__ */ import_react240.default.createElement(import_react_icons110.MicOnIcon, null)), /* @__PURE__ */ import_react240.default.createElement(Progress.Root, { value: audioLevel, css: { h: "$2" } }, /* @__PURE__ */ import_react240.default.createElement(
37124
+ )), /* @__PURE__ */ import_react241.default.createElement(Flex, { align: "center", css: { mt: "$4", maxWidth: "10rem", opacity: isRecording ? "1" : "0", gap: "$4" } }, /* @__PURE__ */ import_react241.default.createElement(Text, null, /* @__PURE__ */ import_react241.default.createElement(import_react_icons110.MicOnIcon, null)), /* @__PURE__ */ import_react241.default.createElement(Progress.Root, { value: audioLevel, css: { h: "$2" } }, /* @__PURE__ */ import_react241.default.createElement(
37102
37125
  Progress.Content,
37103
37126
  {
37104
37127
  style: {
@@ -37114,15 +37137,15 @@ var init_AudioTest = __esm({
37114
37137
  const devices = (0, import_react_sdk127.useHMSStore)(import_react_sdk127.selectDevices);
37115
37138
  const { audioOutputDeviceId } = (0, import_react_sdk127.useHMSStore)(import_react_sdk127.selectLocalMediaSettings);
37116
37139
  if (devices.audioOutput.length === 0) {
37117
- return /* @__PURE__ */ import_react240.default.createElement(import_react240.default.Fragment, null);
37140
+ return /* @__PURE__ */ import_react241.default.createElement(import_react241.default.Fragment, null);
37118
37141
  }
37119
- return /* @__PURE__ */ import_react240.default.createElement(SelectContainer, null, /* @__PURE__ */ import_react240.default.createElement(
37142
+ return /* @__PURE__ */ import_react241.default.createElement(SelectContainer, null, /* @__PURE__ */ import_react241.default.createElement(
37120
37143
  DeviceSelector2,
37121
37144
  {
37122
37145
  title: "Speaker (Output)",
37123
37146
  devices: devices.audioOutput,
37124
37147
  selection: audioOutputDeviceId || ((_a7 = devices.audioOutput[0]) == null ? void 0 : _a7.deviceId),
37125
- icon: /* @__PURE__ */ import_react240.default.createElement(import_react_icons110.SpeakerIcon, null),
37148
+ icon: /* @__PURE__ */ import_react241.default.createElement(import_react_icons110.SpeakerIcon, null),
37126
37149
  onChange: (deviceId) => {
37127
37150
  actions.setAudioOutputDevice(deviceId);
37128
37151
  }
@@ -37130,12 +37153,19 @@ var init_AudioTest = __esm({
37130
37153
  ));
37131
37154
  };
37132
37155
  AudioTest = () => {
37133
- const { hmsDiagnostics } = (0, import_react240.useContext)(DiagnosticsContext);
37134
- const [error, setError] = (0, import_react240.useState)();
37135
- (0, import_react240.useEffect)(() => {
37156
+ const { hmsDiagnostics, updateStep } = useDiagnostics();
37157
+ const [error, setErrorAlone] = (0, import_react241.useState)();
37158
+ const setError = (0, import_react241.useCallback)(
37159
+ (err) => {
37160
+ updateStep(2 /* AUDIO */, { hasFailed: !!err });
37161
+ setErrorAlone(err);
37162
+ },
37163
+ [updateStep, setErrorAlone]
37164
+ );
37165
+ (0, import_react241.useEffect)(() => {
37136
37166
  hmsDiagnostics == null ? void 0 : hmsDiagnostics.requestPermission({ audio: true }).catch((error2) => setError(error2));
37137
- }, [hmsDiagnostics]);
37138
- return /* @__PURE__ */ import_react240.default.createElement(import_react240.default.Fragment, null, /* @__PURE__ */ import_react240.default.createElement(TestContainer, null, /* @__PURE__ */ import_react240.default.createElement(Text, { variant: "body2", css: { c: "$on_primary_medium" } }, "Record a 10 second audio clip and play it back to check that your microphone and speaker are working. If they aren't, make sure your volume is turned up, try a different speaker or microphone, or check your bluetooth settings."), /* @__PURE__ */ import_react240.default.createElement(
37167
+ }, [hmsDiagnostics, setError]);
37168
+ return /* @__PURE__ */ import_react241.default.createElement(import_react241.default.Fragment, null, /* @__PURE__ */ import_react241.default.createElement(TestContainer, null, /* @__PURE__ */ import_react241.default.createElement(Text, { variant: "body2", css: { c: "$on_primary_medium" } }, "Record a 10 second audio clip and play it back to check that your microphone and speaker are working. If they aren't, make sure your volume is turned up, try a different speaker or microphone, or check your bluetooth settings."), /* @__PURE__ */ import_react241.default.createElement(
37139
37169
  Flex,
37140
37170
  {
37141
37171
  css: {
@@ -37147,24 +37177,25 @@ var init_AudioTest = __esm({
37147
37177
  }
37148
37178
  }
37149
37179
  },
37150
- /* @__PURE__ */ import_react240.default.createElement(MicTest, { setError }),
37151
- /* @__PURE__ */ import_react240.default.createElement(SpeakerTest, null)
37152
- )), /* @__PURE__ */ import_react240.default.createElement(TestFooter, { error, ctaText: "Does your audio sound good?" }), /* @__PURE__ */ import_react240.default.createElement(PermissionErrorModal, { error }));
37180
+ /* @__PURE__ */ import_react241.default.createElement(MicTest, { setError }),
37181
+ /* @__PURE__ */ import_react241.default.createElement(SpeakerTest, null)
37182
+ )), /* @__PURE__ */ import_react241.default.createElement(TestFooter, { error, ctaText: "Does your audio sound good?" }), /* @__PURE__ */ import_react241.default.createElement(PermissionErrorModal, { error }));
37153
37183
  };
37154
37184
  }
37155
37185
  });
37156
37186
 
37157
37187
  // src/Diagnostics/BrowserTest.tsx
37158
- var import_react241, import_react_sdk128, CMS_MEDIA_SERVER, operatingSystemIconInfo, browserTypeIconInfo, CheckDetails, BrowserTest;
37188
+ var import_react242, import_react_sdk128, CMS_MEDIA_SERVER, operatingSystemIconInfo, browserTypeIconInfo, CheckDetails, BrowserTest;
37159
37189
  var init_BrowserTest = __esm({
37160
37190
  "src/Diagnostics/BrowserTest.tsx"() {
37161
37191
  "use strict";
37162
37192
  init_define_process_env();
37163
- import_react241 = __toESM(require("react"));
37193
+ import_react242 = __toESM(require("react"));
37164
37194
  import_react_sdk128 = require("@100mslive/react-sdk");
37165
37195
  init_components();
37166
37196
  init_Layout();
37167
37197
  init_Text2();
37198
+ init_DiagnosticsContext();
37168
37199
  CMS_MEDIA_SERVER = "https://storage.googleapis.com/100ms-cms-prod/";
37169
37200
  operatingSystemIconInfo = {
37170
37201
  tizen: {
@@ -37245,44 +37276,45 @@ var init_BrowserTest = __esm({
37245
37276
  icon: `${CMS_MEDIA_SERVER}cms/Opera_0f3bf4eb19/Opera_0f3bf4eb19.svg`
37246
37277
  }
37247
37278
  };
37248
- CheckDetails = ({ title, value, iconURL }) => /* @__PURE__ */ import_react241.default.createElement(Box, { css: { w: "100%", my: "$10", p: "$10", r: "$1", bg: "$surface_default", "@lg": { w: "auto" } } }, /* @__PURE__ */ import_react241.default.createElement(Text, { css: { c: "$on_primary_medium", mb: "$6" } }, title), /* @__PURE__ */ import_react241.default.createElement(Flex, { align: "center" }, iconURL && /* @__PURE__ */ import_react241.default.createElement(Box, { css: { size: "2rem", r: "$round", bg: "$surface_brighter", mr: "$4" } }, /* @__PURE__ */ import_react241.default.createElement("img", { style: { objectFit: "contain", width: "2rem" }, src: iconURL, alt: value })), /* @__PURE__ */ import_react241.default.createElement(Text, null, value)));
37279
+ CheckDetails = ({ title, value, iconURL }) => /* @__PURE__ */ import_react242.default.createElement(Box, { css: { w: "100%", my: "$10", p: "$10", r: "$1", bg: "$surface_default", "@lg": { w: "auto" } } }, /* @__PURE__ */ import_react242.default.createElement(Text, { css: { c: "$on_primary_medium", mb: "$6" } }, title), /* @__PURE__ */ import_react242.default.createElement(Flex, { align: "center" }, iconURL && /* @__PURE__ */ import_react242.default.createElement(Box, { css: { size: "2rem", r: "$round", bg: "$surface_brighter", mr: "$4" } }, /* @__PURE__ */ import_react242.default.createElement("img", { style: { objectFit: "contain", width: "2rem" }, src: iconURL, alt: value })), /* @__PURE__ */ import_react242.default.createElement(Text, null, value)));
37249
37280
  BrowserTest = () => {
37250
37281
  var _a7, _b7, _c, _d;
37251
- const { hmsDiagnostics } = (0, import_react241.useContext)(DiagnosticsContext);
37252
- const [error, setError] = (0, import_react241.useState)();
37253
- (0, import_react241.useEffect)(() => {
37282
+ const { hmsDiagnostics, updateStep } = useDiagnostics();
37283
+ const [error, setError] = (0, import_react242.useState)();
37284
+ (0, import_react242.useEffect)(() => {
37254
37285
  try {
37255
37286
  hmsDiagnostics == null ? void 0 : hmsDiagnostics.checkBrowserSupport();
37256
37287
  } catch (err) {
37288
+ updateStep(0 /* BROWSER */, { hasFailed: true });
37257
37289
  setError(err);
37258
37290
  }
37259
- }, [hmsDiagnostics]);
37260
- return /* @__PURE__ */ import_react241.default.createElement(import_react241.default.Fragment, null, /* @__PURE__ */ import_react241.default.createElement(TestContainer, { css: { display: "flex", gap: "$8", "@lg": { display: "block" } } }, /* @__PURE__ */ import_react241.default.createElement(
37291
+ }, [hmsDiagnostics, updateStep]);
37292
+ return /* @__PURE__ */ import_react242.default.createElement(import_react242.default.Fragment, null, /* @__PURE__ */ import_react242.default.createElement(TestContainer, { css: { display: "flex", gap: "$8", "@lg": { display: "block" } } }, /* @__PURE__ */ import_react242.default.createElement(
37261
37293
  CheckDetails,
37262
37294
  {
37263
37295
  title: "Browser",
37264
37296
  iconURL: import_react_sdk128.parsedUserAgent.getBrowser().name && ((_b7 = browserTypeIconInfo[(_a7 = import_react_sdk128.parsedUserAgent.getBrowser().name) == null ? void 0 : _a7.toLowerCase()]) == null ? void 0 : _b7.icon),
37265
37297
  value: `${import_react_sdk128.parsedUserAgent.getBrowser().name} ${import_react_sdk128.parsedUserAgent.getBrowser().version}`
37266
37298
  }
37267
- ), /* @__PURE__ */ import_react241.default.createElement(
37299
+ ), /* @__PURE__ */ import_react242.default.createElement(
37268
37300
  CheckDetails,
37269
37301
  {
37270
37302
  title: "Operating system",
37271
37303
  iconURL: import_react_sdk128.parsedUserAgent.getOS().name && ((_d = operatingSystemIconInfo[(_c = import_react_sdk128.parsedUserAgent.getOS().name) == null ? void 0 : _c.toLowerCase()]) == null ? void 0 : _d.icon),
37272
37304
  value: `${import_react_sdk128.parsedUserAgent.getOS().name} ${import_react_sdk128.parsedUserAgent.getOS().version}`
37273
37305
  }
37274
- )), /* @__PURE__ */ import_react241.default.createElement(TestFooter, { error, ctaText: "Is your device information correct?" }));
37306
+ )), /* @__PURE__ */ import_react242.default.createElement(TestFooter, { error, ctaText: "Is your device information correct?" }));
37275
37307
  };
37276
37308
  }
37277
37309
  });
37278
37310
 
37279
37311
  // src/Diagnostics/ConnectivityTest.tsx
37280
- var import_react242, import_react_sdk129, import_react_icons111, Regions, ConnectivityStateMessage, ConnectivityTestStepResult, DetailedInfo, MediaServerResult, SignallingResult, AudioStats, VideoStats, Footer3, ConnectivityTestReport, RegionSelector, ConnectivityTest, downloadJson;
37312
+ var import_react243, import_react_sdk129, import_react_icons111, Regions, ConnectivityStateMessage, ConnectivityTestStepResult, DetailedInfo, MediaServerResult, SignallingResult, AudioStats, VideoStats, Footer3, ConnectivityTestReport, RegionSelector, ConnectivityTest, downloadJson;
37281
37313
  var init_ConnectivityTest = __esm({
37282
37314
  "src/Diagnostics/ConnectivityTest.tsx"() {
37283
37315
  "use strict";
37284
37316
  init_define_process_env();
37285
- import_react242 = __toESM(require("react"));
37317
+ import_react243 = __toESM(require("react"));
37286
37318
  import_react_sdk129 = require("@100mslive/react-sdk");
37287
37319
  import_react_icons111 = require("@100mslive/react-icons");
37288
37320
  init_components();
@@ -37291,6 +37323,7 @@ var init_ConnectivityTest = __esm({
37291
37323
  init_Loading2();
37292
37324
  init_Stats2();
37293
37325
  init_Text2();
37326
+ init_DiagnosticsContext();
37294
37327
  Regions = {
37295
37328
  in: "India",
37296
37329
  eu: "Europe",
@@ -37311,8 +37344,8 @@ var init_ConnectivityTest = __esm({
37311
37344
  success,
37312
37345
  children
37313
37346
  }) => {
37314
- const [hideDetails, setHideDetails] = (0, import_react242.useState)(false);
37315
- return /* @__PURE__ */ import_react242.default.createElement(Box, { css: { my: "$10", p: "$10", r: "$1", bg: "$surface_bright" } }, /* @__PURE__ */ import_react242.default.createElement(Text, { css: { c: "$on_primary_medium", mb: "$6" } }, title), success ? /* @__PURE__ */ import_react242.default.createElement(Flex, null, /* @__PURE__ */ import_react242.default.createElement(Text, { css: { c: "$alert_success" } }, /* @__PURE__ */ import_react242.default.createElement(import_react_icons111.CheckCircleIcon, { width: "1.5rem", height: "1.5rem" })), /* @__PURE__ */ import_react242.default.createElement(Text, { variant: "lg", css: { ml: "$4" } }, status)) : /* @__PURE__ */ import_react242.default.createElement(Flex, null, /* @__PURE__ */ import_react242.default.createElement(Text, { css: { c: "$alert_error_bright" } }, /* @__PURE__ */ import_react242.default.createElement(import_react_icons111.CrossCircleIcon, { width: "1.5rem", height: "1.5rem" })), /* @__PURE__ */ import_react242.default.createElement(Text, { variant: "lg", css: { ml: "$4" } }, "Failed")), /* @__PURE__ */ import_react242.default.createElement(
37347
+ const [hideDetails, setHideDetails] = (0, import_react243.useState)(true);
37348
+ return /* @__PURE__ */ import_react243.default.createElement(Box, { css: { my: "$10", p: "$10", r: "$1", bg: "$surface_bright" } }, /* @__PURE__ */ import_react243.default.createElement(Text, { css: { c: "$on_primary_medium", mb: "$6" } }, title), success ? /* @__PURE__ */ import_react243.default.createElement(Flex, null, /* @__PURE__ */ import_react243.default.createElement(Text, { css: { c: "$alert_success" } }, /* @__PURE__ */ import_react243.default.createElement(import_react_icons111.CheckCircleIcon, { width: "1.5rem", height: "1.5rem" })), /* @__PURE__ */ import_react243.default.createElement(Text, { variant: "lg", css: { ml: "$4" } }, status)) : /* @__PURE__ */ import_react243.default.createElement(Flex, null, /* @__PURE__ */ import_react243.default.createElement(Text, { css: { c: "$alert_error_bright" } }, /* @__PURE__ */ import_react243.default.createElement(import_react_icons111.CrossCircleIcon, { width: "1.5rem", height: "1.5rem" })), /* @__PURE__ */ import_react243.default.createElement(Text, { variant: "lg", css: { ml: "$4" } }, "Failed")), /* @__PURE__ */ import_react243.default.createElement(
37316
37349
  Flex,
37317
37350
  {
37318
37351
  onClick: () => setHideDetails(!hideDetails),
@@ -37322,8 +37355,8 @@ var init_ConnectivityTest = __esm({
37322
37355
  color: "$primary_bright"
37323
37356
  }
37324
37357
  },
37325
- hideDetails ? /* @__PURE__ */ import_react242.default.createElement(import_react_icons111.EyeOpenIcon, null) : /* @__PURE__ */ import_react242.default.createElement(import_react_icons111.EyeCloseIcon, null),
37326
- /* @__PURE__ */ import_react242.default.createElement(
37358
+ hideDetails ? /* @__PURE__ */ import_react243.default.createElement(import_react_icons111.EyeOpenIcon, null) : /* @__PURE__ */ import_react243.default.createElement(import_react_icons111.EyeCloseIcon, null),
37359
+ /* @__PURE__ */ import_react243.default.createElement(
37327
37360
  Text,
37328
37361
  {
37329
37362
  variant: "caption",
@@ -37334,38 +37367,38 @@ var init_ConnectivityTest = __esm({
37334
37367
  hideDetails ? "View" : "Hide",
37335
37368
  " detailed information"
37336
37369
  )
37337
- ), !hideDetails ? /* @__PURE__ */ import_react242.default.createElement(Box, null, children) : null);
37370
+ ), !hideDetails ? /* @__PURE__ */ import_react243.default.createElement(Box, null, children) : null);
37338
37371
  };
37339
37372
  DetailedInfo = ({
37340
37373
  title,
37341
37374
  value,
37342
37375
  Icon: Icon4
37343
37376
  }) => {
37344
- return /* @__PURE__ */ import_react242.default.createElement(Box, { css: { flex: "50%", mt: "$6" } }, /* @__PURE__ */ import_react242.default.createElement(Text, { variant: "caption", css: { fontWeight: "$semiBold", c: "$on_primary_medium" } }, title), /* @__PURE__ */ import_react242.default.createElement(Flex, { css: { mt: "$xs", alignItems: "flex-start" } }, Icon4 && /* @__PURE__ */ import_react242.default.createElement(Text, { css: { mr: "$4" } }, /* @__PURE__ */ import_react242.default.createElement(Icon4, { width: "1rem", height: "1rem" })), /* @__PURE__ */ import_react242.default.createElement(Text, { variant: "caption" }, value)));
37377
+ return /* @__PURE__ */ import_react243.default.createElement(Box, { css: { flex: "50%", mt: "$6" } }, /* @__PURE__ */ import_react243.default.createElement(Text, { variant: "caption", css: { fontWeight: "$semiBold", c: "$on_primary_medium" } }, title), /* @__PURE__ */ import_react243.default.createElement(Flex, { css: { mt: "$xs", alignItems: "flex-start" } }, Icon4 && /* @__PURE__ */ import_react243.default.createElement(Text, { css: { mr: "$4" } }, /* @__PURE__ */ import_react243.default.createElement(Icon4, { width: "1rem", height: "1rem" })), /* @__PURE__ */ import_react243.default.createElement(Text, { variant: "caption" }, value)));
37345
37378
  };
37346
37379
  MediaServerResult = ({ result }) => {
37347
37380
  var _a7, _b7, _c, _d;
37348
- return /* @__PURE__ */ import_react242.default.createElement(
37381
+ return /* @__PURE__ */ import_react243.default.createElement(
37349
37382
  ConnectivityTestStepResult,
37350
37383
  {
37351
37384
  title: "Media server connection test",
37352
37385
  success: (result == null ? void 0 : result.isPublishICEConnected) && result.isSubscribeICEConnected
37353
37386
  },
37354
- /* @__PURE__ */ import_react242.default.createElement(Flex, { css: { flexWrap: "wrap" } }, /* @__PURE__ */ import_react242.default.createElement(
37387
+ /* @__PURE__ */ import_react243.default.createElement(Flex, { css: { flexWrap: "wrap" } }, /* @__PURE__ */ import_react243.default.createElement(
37355
37388
  DetailedInfo,
37356
37389
  {
37357
37390
  title: "Media Captured",
37358
37391
  value: ((_a7 = result == null ? void 0 : result.stats) == null ? void 0 : _a7.audio.bytesSent) ? "Yes" : "No",
37359
37392
  Icon: ((_b7 = result == null ? void 0 : result.stats) == null ? void 0 : _b7.audio.bytesSent) ? import_react_icons111.CheckCircleIcon : import_react_icons111.CrossCircleIcon
37360
37393
  }
37361
- ), /* @__PURE__ */ import_react242.default.createElement(
37394
+ ), /* @__PURE__ */ import_react243.default.createElement(
37362
37395
  DetailedInfo,
37363
37396
  {
37364
37397
  title: "Media Published",
37365
37398
  value: ((_c = result == null ? void 0 : result.stats) == null ? void 0 : _c.audio.bitrateSent) ? "Yes" : "No",
37366
37399
  Icon: ((_d = result == null ? void 0 : result.stats) == null ? void 0 : _d.audio.bytesSent) ? import_react_icons111.CheckCircleIcon : import_react_icons111.CrossCircleIcon
37367
37400
  }
37368
- ), (result == null ? void 0 : result.connectionQualityScore) ? /* @__PURE__ */ import_react242.default.createElement(
37401
+ ), (result == null ? void 0 : result.connectionQualityScore) ? /* @__PURE__ */ import_react243.default.createElement(
37369
37402
  DetailedInfo,
37370
37403
  {
37371
37404
  title: "Connection Quality Score (CQS)",
@@ -37375,27 +37408,27 @@ var init_ConnectivityTest = __esm({
37375
37408
  );
37376
37409
  };
37377
37410
  SignallingResult = ({ result }) => {
37378
- return /* @__PURE__ */ import_react242.default.createElement(ConnectivityTestStepResult, { title: "Signalling server connection test", success: result == null ? void 0 : result.isConnected }, /* @__PURE__ */ import_react242.default.createElement(Flex, { css: { flexWrap: "wrap" } }, /* @__PURE__ */ import_react242.default.createElement(
37411
+ return /* @__PURE__ */ import_react243.default.createElement(ConnectivityTestStepResult, { title: "Signalling server connection test", success: result == null ? void 0 : result.isConnected }, /* @__PURE__ */ import_react243.default.createElement(Flex, { css: { flexWrap: "wrap" } }, /* @__PURE__ */ import_react243.default.createElement(
37379
37412
  DetailedInfo,
37380
37413
  {
37381
37414
  title: "Signalling Gateway",
37382
37415
  value: (result == null ? void 0 : result.isConnected) ? "Reachable" : "Unreachable",
37383
37416
  Icon: (result == null ? void 0 : result.isConnected) ? import_react_icons111.CheckCircleIcon : import_react_icons111.CrossCircleIcon
37384
37417
  }
37385
- ), /* @__PURE__ */ import_react242.default.createElement(DetailedInfo, { title: "Websocket URL", value: (result == null ? void 0 : result.websocketUrl) || "N/A", Icon: import_react_icons111.LinkIcon })));
37418
+ ), /* @__PURE__ */ import_react243.default.createElement(DetailedInfo, { title: "Websocket URL", value: (result == null ? void 0 : result.websocketUrl) || "N/A", Icon: import_react_icons111.LinkIcon })));
37386
37419
  };
37387
37420
  AudioStats = ({ stats }) => {
37388
- return /* @__PURE__ */ import_react242.default.createElement(ConnectivityTestStepResult, { title: "Audio", status: "Received", success: !!(stats == null ? void 0 : stats.bytesSent) }, stats && /* @__PURE__ */ import_react242.default.createElement(Flex, { css: { flexWrap: "wrap" } }, /* @__PURE__ */ import_react242.default.createElement(DetailedInfo, { title: "Bytes Sent", value: formatBytes(stats.bytesSent) }), /* @__PURE__ */ import_react242.default.createElement(DetailedInfo, { title: "Bytes Received", value: formatBytes(stats.bytesReceived) }), /* @__PURE__ */ import_react242.default.createElement(DetailedInfo, { title: "Packets Received", value: stats.packetsReceived.toString() }), /* @__PURE__ */ import_react242.default.createElement(DetailedInfo, { title: "Packets Lost", value: stats.packetsLost.toString() }), /* @__PURE__ */ import_react242.default.createElement(DetailedInfo, { title: "Bitrate Sent", value: formatBytes(stats.bitrateSent, "b/s") }), /* @__PURE__ */ import_react242.default.createElement(DetailedInfo, { title: "Bitrate Received", value: formatBytes(stats.bitrateReceived, "b/s") }), /* @__PURE__ */ import_react242.default.createElement(DetailedInfo, { title: "Round Trip Time", value: `${stats.roundTripTime} ms` })));
37421
+ return /* @__PURE__ */ import_react243.default.createElement(ConnectivityTestStepResult, { title: "Audio", status: "Received", success: !!(stats == null ? void 0 : stats.bytesSent) }, stats && /* @__PURE__ */ import_react243.default.createElement(Flex, { css: { flexWrap: "wrap" } }, /* @__PURE__ */ import_react243.default.createElement(DetailedInfo, { title: "Bytes Sent", value: formatBytes(stats.bytesSent) }), /* @__PURE__ */ import_react243.default.createElement(DetailedInfo, { title: "Bytes Received", value: formatBytes(stats.bytesReceived) }), /* @__PURE__ */ import_react243.default.createElement(DetailedInfo, { title: "Packets Received", value: stats.packetsReceived.toString() }), /* @__PURE__ */ import_react243.default.createElement(DetailedInfo, { title: "Packets Lost", value: stats.packetsLost.toString() }), /* @__PURE__ */ import_react243.default.createElement(DetailedInfo, { title: "Bitrate Sent", value: formatBytes(stats.bitrateSent, "b/s") }), /* @__PURE__ */ import_react243.default.createElement(DetailedInfo, { title: "Bitrate Received", value: formatBytes(stats.bitrateReceived, "b/s") }), /* @__PURE__ */ import_react243.default.createElement(DetailedInfo, { title: "Round Trip Time", value: `${stats.roundTripTime} ms` })));
37389
37422
  };
37390
37423
  VideoStats = ({ stats }) => {
37391
- return /* @__PURE__ */ import_react242.default.createElement(ConnectivityTestStepResult, { title: "Video", status: "Received", success: !!(stats == null ? void 0 : stats.bytesSent) }, stats && /* @__PURE__ */ import_react242.default.createElement(Flex, { css: { flexWrap: "wrap" } }, /* @__PURE__ */ import_react242.default.createElement(DetailedInfo, { title: "Bytes Sent", value: formatBytes(stats.bytesSent) }), /* @__PURE__ */ import_react242.default.createElement(DetailedInfo, { title: "Bytes Received", value: formatBytes(stats.bytesReceived) }), /* @__PURE__ */ import_react242.default.createElement(DetailedInfo, { title: "Packets Received", value: stats.packetsReceived.toString() }), /* @__PURE__ */ import_react242.default.createElement(DetailedInfo, { title: "Packets Lost", value: stats.packetsLost.toString() }), /* @__PURE__ */ import_react242.default.createElement(DetailedInfo, { title: "Bitrate Sent", value: formatBytes(stats.bitrateSent, "b/s") }), /* @__PURE__ */ import_react242.default.createElement(DetailedInfo, { title: "Bitrate Received", value: formatBytes(stats.bitrateReceived, "b/s") }), /* @__PURE__ */ import_react242.default.createElement(DetailedInfo, { title: "Round Trip Time", value: `${stats.roundTripTime} ms` })));
37424
+ return /* @__PURE__ */ import_react243.default.createElement(ConnectivityTestStepResult, { title: "Video", status: "Received", success: !!(stats == null ? void 0 : stats.bytesSent) }, stats && /* @__PURE__ */ import_react243.default.createElement(Flex, { css: { flexWrap: "wrap" } }, /* @__PURE__ */ import_react243.default.createElement(DetailedInfo, { title: "Bytes Sent", value: formatBytes(stats.bytesSent) }), /* @__PURE__ */ import_react243.default.createElement(DetailedInfo, { title: "Bytes Received", value: formatBytes(stats.bytesReceived) }), /* @__PURE__ */ import_react243.default.createElement(DetailedInfo, { title: "Packets Received", value: stats.packetsReceived.toString() }), /* @__PURE__ */ import_react243.default.createElement(DetailedInfo, { title: "Packets Lost", value: stats.packetsLost.toString() }), /* @__PURE__ */ import_react243.default.createElement(DetailedInfo, { title: "Bitrate Sent", value: formatBytes(stats.bitrateSent, "b/s") }), /* @__PURE__ */ import_react243.default.createElement(DetailedInfo, { title: "Bitrate Received", value: formatBytes(stats.bitrateReceived, "b/s") }), /* @__PURE__ */ import_react243.default.createElement(DetailedInfo, { title: "Round Trip Time", value: `${stats.roundTripTime} ms` })));
37392
37425
  };
37393
37426
  Footer3 = ({
37394
37427
  error,
37395
37428
  result,
37396
37429
  restart
37397
37430
  }) => {
37398
- return /* @__PURE__ */ import_react242.default.createElement(TestFooter, { error }, /* @__PURE__ */ import_react242.default.createElement(Flex, { css: { gap: "$8", "@lg": { flexDirection: "column" } } }, /* @__PURE__ */ import_react242.default.createElement(Button, { variant: "standard", onClick: restart }, "Restart Test"), /* @__PURE__ */ import_react242.default.createElement(Button, { disabled: !result, onClick: () => result && downloadJson(result, "hms_diagnostics_results") }, "Download Test Report")));
37431
+ return /* @__PURE__ */ import_react243.default.createElement(TestFooter, { error }, /* @__PURE__ */ import_react243.default.createElement(Flex, { css: { gap: "$8", "@lg": { flexDirection: "column" } } }, /* @__PURE__ */ import_react243.default.createElement(Button, { variant: "standard", onClick: restart }, "Restart Test"), /* @__PURE__ */ import_react243.default.createElement(Button, { disabled: !result, onClick: () => result && downloadJson(result, "hms_diagnostics_results") }, "Download Test Report")));
37399
37432
  };
37400
37433
  ConnectivityTestReport = ({
37401
37434
  error,
@@ -37405,14 +37438,14 @@ var init_ConnectivityTest = __esm({
37405
37438
  }) => {
37406
37439
  var _a7, _b7, _c, _d;
37407
37440
  if (error) {
37408
- return /* @__PURE__ */ import_react242.default.createElement(import_react242.default.Fragment, null, /* @__PURE__ */ import_react242.default.createElement(TestContainer, { css: { textAlign: "center" } }, /* @__PURE__ */ import_react242.default.createElement(Text, { css: { c: "$alert_error_default", mb: "$4" } }, /* @__PURE__ */ import_react242.default.createElement(import_react_icons111.CrossCircleIcon, null)), /* @__PURE__ */ import_react242.default.createElement(Text, { variant: "h6" }, "Connectivity Test Failed"), /* @__PURE__ */ import_react242.default.createElement(Text, { variant: "body2", css: { c: "$on_primary_medium" } }, error.message)), /* @__PURE__ */ import_react242.default.createElement(Footer3, { restart: startTest, error }));
37441
+ return /* @__PURE__ */ import_react243.default.createElement(import_react243.default.Fragment, null, /* @__PURE__ */ import_react243.default.createElement(TestContainer, { css: { textAlign: "center" } }, /* @__PURE__ */ import_react243.default.createElement(Text, { css: { c: "$alert_error_default", mb: "$4" } }, /* @__PURE__ */ import_react243.default.createElement(import_react_icons111.CrossCircleIcon, null)), /* @__PURE__ */ import_react243.default.createElement(Text, { variant: "h6" }, "Connectivity Test Failed"), /* @__PURE__ */ import_react243.default.createElement(Text, { variant: "body2", css: { c: "$on_primary_medium" } }, error.message)), /* @__PURE__ */ import_react243.default.createElement(Footer3, { restart: startTest, error }));
37409
37442
  }
37410
37443
  if (result) {
37411
37444
  console.log(result);
37412
- return /* @__PURE__ */ import_react242.default.createElement(import_react242.default.Fragment, null, /* @__PURE__ */ import_react242.default.createElement(TestContainer, null, /* @__PURE__ */ import_react242.default.createElement(Text, { css: { c: "$on_primary_medium" } }, "Connectivity test has been completed."), /* @__PURE__ */ import_react242.default.createElement(SignallingResult, { result: result == null ? void 0 : result.signallingReport }), /* @__PURE__ */ import_react242.default.createElement(MediaServerResult, { result: result == null ? void 0 : result.mediaServerReport }), /* @__PURE__ */ import_react242.default.createElement(AudioStats, { stats: (_b7 = (_a7 = result == null ? void 0 : result.mediaServerReport) == null ? void 0 : _a7.stats) == null ? void 0 : _b7.audio }), /* @__PURE__ */ import_react242.default.createElement(VideoStats, { stats: (_d = (_c = result == null ? void 0 : result.mediaServerReport) == null ? void 0 : _c.stats) == null ? void 0 : _d.video })), /* @__PURE__ */ import_react242.default.createElement(Footer3, { result, restart: startTest, error }));
37445
+ return /* @__PURE__ */ import_react243.default.createElement(import_react243.default.Fragment, null, /* @__PURE__ */ import_react243.default.createElement(TestContainer, null, /* @__PURE__ */ import_react243.default.createElement(Text, { css: { c: "$on_primary_medium" } }, "Connectivity test has been completed."), /* @__PURE__ */ import_react243.default.createElement(SignallingResult, { result: result == null ? void 0 : result.signallingReport }), /* @__PURE__ */ import_react243.default.createElement(MediaServerResult, { result: result == null ? void 0 : result.mediaServerReport }), /* @__PURE__ */ import_react243.default.createElement(AudioStats, { stats: (_b7 = (_a7 = result == null ? void 0 : result.mediaServerReport) == null ? void 0 : _a7.stats) == null ? void 0 : _b7.audio }), /* @__PURE__ */ import_react243.default.createElement(VideoStats, { stats: (_d = (_c = result == null ? void 0 : result.mediaServerReport) == null ? void 0 : _c.stats) == null ? void 0 : _d.video })), /* @__PURE__ */ import_react243.default.createElement(Footer3, { result, restart: startTest, error }));
37413
37446
  }
37414
37447
  if (progress !== void 0) {
37415
- return /* @__PURE__ */ import_react242.default.createElement(TestContainer, { css: { textAlign: "center" } }, /* @__PURE__ */ import_react242.default.createElement(Text, { css: { c: "$primary_bright", display: "flex", justifyContent: "center" } }, /* @__PURE__ */ import_react242.default.createElement(Loading, { size: "3.5rem", color: "currentColor" })), /* @__PURE__ */ import_react242.default.createElement(Text, { variant: "h6", css: { mt: "$8" } }, "Checking your connection..."), /* @__PURE__ */ import_react242.default.createElement(
37448
+ return /* @__PURE__ */ import_react243.default.createElement(TestContainer, { css: { textAlign: "center" } }, /* @__PURE__ */ import_react243.default.createElement(Text, { css: { c: "$primary_bright", display: "flex", justifyContent: "center" } }, /* @__PURE__ */ import_react243.default.createElement(Loading, { size: "3.5rem", color: "currentColor" })), /* @__PURE__ */ import_react243.default.createElement(Text, { variant: "h6", css: { mt: "$8" } }, "Checking your connection..."), /* @__PURE__ */ import_react243.default.createElement(
37416
37449
  Text,
37417
37450
  {
37418
37451
  variant: "body2",
@@ -37428,7 +37461,7 @@ var init_ConnectivityTest = __esm({
37428
37461
  setRegion,
37429
37462
  startTest
37430
37463
  }) => {
37431
- return /* @__PURE__ */ import_react242.default.createElement(TestContainer, { css: { borderBottom: "1px solid $border_default" } }, /* @__PURE__ */ import_react242.default.createElement(Text, { variant: "body1" }, "Select a region"), /* @__PURE__ */ import_react242.default.createElement(Text, { variant: "body2", css: { c: "$on_secondary_low" } }, "Select the closest region for best results"), /* @__PURE__ */ import_react242.default.createElement(
37464
+ return /* @__PURE__ */ import_react243.default.createElement(TestContainer, { css: { borderBottom: "1px solid $border_default" } }, /* @__PURE__ */ import_react243.default.createElement(Text, { variant: "body1" }, "Select a region"), /* @__PURE__ */ import_react243.default.createElement(Text, { variant: "body2", css: { c: "$on_secondary_low" } }, "Select the closest region for best results"), /* @__PURE__ */ import_react243.default.createElement(
37432
37465
  Flex,
37433
37466
  {
37434
37467
  justify: "between",
@@ -37440,7 +37473,7 @@ var init_ConnectivityTest = __esm({
37440
37473
  }
37441
37474
  }
37442
37475
  },
37443
- /* @__PURE__ */ import_react242.default.createElement(
37476
+ /* @__PURE__ */ import_react243.default.createElement(
37444
37477
  Flex,
37445
37478
  {
37446
37479
  css: {
@@ -37450,7 +37483,7 @@ var init_ConnectivityTest = __esm({
37450
37483
  }
37451
37484
  }
37452
37485
  },
37453
- Object.entries(Regions).map(([key, value]) => /* @__PURE__ */ import_react242.default.createElement(
37486
+ Object.entries(Regions).map(([key, value]) => /* @__PURE__ */ import_react243.default.createElement(
37454
37487
  Button,
37455
37488
  {
37456
37489
  key,
@@ -37462,17 +37495,17 @@ var init_ConnectivityTest = __esm({
37462
37495
  value
37463
37496
  ))
37464
37497
  ),
37465
- /* @__PURE__ */ import_react242.default.createElement(Flex, { css: { "@lg": { flexDirection: "column" } } }, /* @__PURE__ */ import_react242.default.createElement(Button, { variant: "primary", onClick: startTest, disabled: !startTest }, startTest ? "Start Test" : "Testing..."))
37498
+ /* @__PURE__ */ import_react243.default.createElement(Flex, { css: { "@lg": { flexDirection: "column" } } }, /* @__PURE__ */ import_react243.default.createElement(Button, { variant: "primary", onClick: startTest, disabled: !startTest }, startTest ? "Start Test" : "Testing..."))
37466
37499
  ));
37467
37500
  };
37468
37501
  ConnectivityTest = () => {
37469
- const { hmsDiagnostics, setConnectivityTested } = (0, import_react242.useContext)(DiagnosticsContext);
37470
- const [region, setRegion] = (0, import_react242.useState)(Object.keys(Regions)[0]);
37471
- const [error, setError] = (0, import_react242.useState)();
37472
- const [progress, setProgress] = (0, import_react242.useState)();
37473
- const [result, setResult] = (0, import_react242.useState)();
37502
+ const { hmsDiagnostics, updateStep } = useDiagnostics();
37503
+ const [region, setRegion] = (0, import_react243.useState)(Object.keys(Regions)[0]);
37504
+ const [error, setError] = (0, import_react243.useState)();
37505
+ const [progress, setProgress] = (0, import_react243.useState)();
37506
+ const [result, setResult] = (0, import_react243.useState)();
37474
37507
  const startTest = () => {
37475
- setConnectivityTested(false);
37508
+ updateStep(3 /* CONNECTIVITY */, { hasFailed: false, isCompleted: false });
37476
37509
  setError(void 0);
37477
37510
  setResult(void 0);
37478
37511
  hmsDiagnostics == null ? void 0 : hmsDiagnostics.startConnectivityCheck(
@@ -37480,22 +37513,23 @@ var init_ConnectivityTest = __esm({
37480
37513
  setProgress(state);
37481
37514
  },
37482
37515
  (result2) => {
37483
- setConnectivityTested(true);
37516
+ updateStep(3 /* CONNECTIVITY */, { isCompleted: true });
37484
37517
  setResult(result2);
37485
37518
  },
37486
37519
  region
37487
37520
  ).catch((error2) => {
37521
+ updateStep(3 /* CONNECTIVITY */, { hasFailed: true });
37488
37522
  setError(error2);
37489
37523
  });
37490
37524
  };
37491
- return /* @__PURE__ */ import_react242.default.createElement(import_react242.default.Fragment, null, /* @__PURE__ */ import_react242.default.createElement(
37525
+ return /* @__PURE__ */ import_react243.default.createElement(import_react243.default.Fragment, null, /* @__PURE__ */ import_react243.default.createElement(
37492
37526
  RegionSelector,
37493
37527
  {
37494
37528
  region,
37495
37529
  setRegion,
37496
37530
  startTest: progress === void 0 || progress === import_react_sdk129.ConnectivityState.COMPLETED ? startTest : void 0
37497
37531
  }
37498
- ), /* @__PURE__ */ import_react242.default.createElement(ConnectivityTestReport, { error, result, progress, startTest }));
37532
+ ), /* @__PURE__ */ import_react243.default.createElement(ConnectivityTestReport, { error, result, progress, startTest }));
37499
37533
  };
37500
37534
  downloadJson = (obj, fileName) => {
37501
37535
  const a2 = document.createElement("a");
@@ -37510,12 +37544,12 @@ var init_ConnectivityTest = __esm({
37510
37544
  });
37511
37545
 
37512
37546
  // src/Diagnostics/VideoTest.tsx
37513
- var import_react243, import_react_sdk130, import_react_icons112, VideoTest;
37547
+ var import_react244, import_react_sdk130, import_react_icons112, VideoTest;
37514
37548
  var init_VideoTest = __esm({
37515
37549
  "src/Diagnostics/VideoTest.tsx"() {
37516
37550
  "use strict";
37517
37551
  init_define_process_env();
37518
- import_react243 = __toESM(require("react"));
37552
+ import_react244 = __toESM(require("react"));
37519
37553
  import_react_sdk130 = require("@100mslive/react-sdk");
37520
37554
  import_react_icons112 = require("@100mslive/react-icons");
37521
37555
  init_PermissionErrorModal();
@@ -37525,17 +37559,21 @@ var init_VideoTest = __esm({
37525
37559
  init_Video2();
37526
37560
  init_VideoTile();
37527
37561
  init_DeviceSelector();
37562
+ init_DiagnosticsContext();
37528
37563
  VideoTest = () => {
37529
- const { hmsDiagnostics } = (0, import_react243.useContext)(DiagnosticsContext);
37564
+ const { hmsDiagnostics, updateStep } = useDiagnostics();
37530
37565
  const allDevices = (0, import_react_sdk130.useHMSStore)(import_react_sdk130.selectDevices);
37531
37566
  const { videoInput } = allDevices;
37532
37567
  const trackID = (0, import_react_sdk130.useHMSStore)(import_react_sdk130.selectLocalVideoTrackID);
37533
37568
  const sdkSelectedDevices = (0, import_react_sdk130.useHMSStore)(import_react_sdk130.selectLocalMediaSettings);
37534
- const [error, setError] = (0, import_react243.useState)();
37535
- (0, import_react243.useEffect)(() => {
37536
- hmsDiagnostics == null ? void 0 : hmsDiagnostics.startCameraCheck().catch((err) => setError(err));
37537
- }, [hmsDiagnostics]);
37538
- return /* @__PURE__ */ import_react243.default.createElement(import_react243.default.Fragment, null, /* @__PURE__ */ import_react243.default.createElement(TestContainer, { css: { display: "flex", "@lg": { flexDirection: "column", alignItems: "center" } } }, trackID && /* @__PURE__ */ import_react243.default.createElement(
37569
+ const [error, setError] = (0, import_react244.useState)();
37570
+ (0, import_react244.useEffect)(() => {
37571
+ hmsDiagnostics == null ? void 0 : hmsDiagnostics.startCameraCheck().catch((err) => {
37572
+ updateStep(1 /* VIDEO */, { hasFailed: true });
37573
+ setError(err);
37574
+ });
37575
+ }, [hmsDiagnostics, updateStep]);
37576
+ return /* @__PURE__ */ import_react244.default.createElement(import_react244.default.Fragment, null, /* @__PURE__ */ import_react244.default.createElement(TestContainer, { css: { display: "flex", "@lg": { flexDirection: "column", alignItems: "center" } } }, trackID && /* @__PURE__ */ import_react244.default.createElement(
37539
37577
  StyledVideoTile.Container,
37540
37578
  {
37541
37579
  css: {
@@ -37545,48 +37583,48 @@ var init_VideoTest = __esm({
37545
37583
  "@lg": { mr: 0, mb: "$10", aspectRatio: "1/1" }
37546
37584
  }
37547
37585
  },
37548
- /* @__PURE__ */ import_react243.default.createElement(Video, { mirror: true, trackId: trackID })
37549
- ), /* @__PURE__ */ import_react243.default.createElement(Flex, { direction: "column", css: { w: "100%" } }, /* @__PURE__ */ import_react243.default.createElement(Text, { variant: "body2", css: { c: "$on_primary_medium", mb: "$10" } }, "Move in front of your camera to make sure it's working. If you don't see your video, try changing the selected camera. If the camera isn't part of your computer, check your settings to make sure your system recognizes it."), /* @__PURE__ */ import_react243.default.createElement(
37586
+ /* @__PURE__ */ import_react244.default.createElement(Video, { mirror: true, trackId: trackID })
37587
+ ), /* @__PURE__ */ import_react244.default.createElement(Flex, { direction: "column", css: { w: "100%" } }, /* @__PURE__ */ import_react244.default.createElement(Text, { variant: "body2", css: { c: "$on_primary_medium", mb: "$10" } }, "Move in front of your camera to make sure it's working. If you don't see your video, try changing the selected camera. If the camera isn't part of your computer, check your settings to make sure your system recognizes it."), /* @__PURE__ */ import_react244.default.createElement(
37550
37588
  DeviceSelector2,
37551
37589
  {
37552
37590
  title: "Video",
37553
37591
  devices: videoInput || [],
37554
- icon: /* @__PURE__ */ import_react243.default.createElement(import_react_icons112.VideoOnIcon, null),
37592
+ icon: /* @__PURE__ */ import_react244.default.createElement(import_react_icons112.VideoOnIcon, null),
37555
37593
  selection: sdkSelectedDevices.videoInputDeviceId,
37556
37594
  onChange: (deviceId) => __async(void 0, null, function* () {
37557
37595
  hmsDiagnostics == null ? void 0 : hmsDiagnostics.stopCameraCheck();
37558
37596
  hmsDiagnostics == null ? void 0 : hmsDiagnostics.startCameraCheck(deviceId);
37559
37597
  })
37560
37598
  }
37561
- ))), /* @__PURE__ */ import_react243.default.createElement(TestFooter, { error, ctaText: "Does your video look good?" }), /* @__PURE__ */ import_react243.default.createElement(PermissionErrorModal, { error }));
37599
+ ))), /* @__PURE__ */ import_react244.default.createElement(TestFooter, { error, ctaText: "Does your video look good?" }), /* @__PURE__ */ import_react244.default.createElement(PermissionErrorModal, { error }));
37562
37600
  };
37563
37601
  }
37564
37602
  });
37565
37603
 
37566
37604
  // src/Diagnostics/Diagnostics.tsx
37567
- var import_react244, import_react_sdk131, import_react_icons113, DiagnosticsStepIcon, Container5, DiagnosticsStepTest, DiagnosticsStepHeader, DiagnosticsStep, DiagnosticsStepsList, DiagnosticsProvider, Diagnostics;
37605
+ var import_react245, import_react_sdk131, import_react_icons113, DiagnosticsStepIcon, Container5, DiagnosticsStepTest, DiagnosticsStepHeader, DiagnosticsStepContainer, DiagnosticsStepsList, DiagnosticsProvider, Diagnostics;
37568
37606
  var init_Diagnostics = __esm({
37569
37607
  "src/Diagnostics/Diagnostics.tsx"() {
37570
37608
  "use strict";
37571
37609
  init_define_process_env();
37572
- import_react244 = __toESM(require("react"));
37610
+ import_react245 = __toESM(require("react"));
37573
37611
  import_react_sdk131 = require("@100mslive/react-sdk");
37574
37612
  import_react_icons113 = require("@100mslive/react-icons");
37575
- init_components();
37576
37613
  init_Layout();
37577
37614
  init_Text2();
37578
37615
  init_Theme();
37579
37616
  init_AudioTest();
37580
37617
  init_BrowserTest();
37581
37618
  init_ConnectivityTest();
37619
+ init_DiagnosticsContext();
37582
37620
  init_VideoTest();
37583
37621
  DiagnosticsStepIcon = {
37584
- video: /* @__PURE__ */ import_react244.default.createElement(import_react_icons113.VideoOnIcon, { width: "2rem", height: "2rem" }),
37585
- audio: /* @__PURE__ */ import_react244.default.createElement(import_react_icons113.MicOnIcon, { width: "2rem", height: "2rem" }),
37586
- browser: /* @__PURE__ */ import_react244.default.createElement(import_react_icons113.GlobeIcon, { width: "2rem", height: "2rem" }),
37587
- connectivity: /* @__PURE__ */ import_react244.default.createElement(import_react_icons113.ConnectivityIcon, { width: "2rem", height: "2rem" })
37622
+ [1 /* VIDEO */]: /* @__PURE__ */ import_react245.default.createElement(import_react_icons113.VideoOnIcon, { width: "2rem", height: "2rem" }),
37623
+ [2 /* AUDIO */]: /* @__PURE__ */ import_react245.default.createElement(import_react_icons113.MicOnIcon, { width: "2rem", height: "2rem" }),
37624
+ [0 /* BROWSER */]: /* @__PURE__ */ import_react245.default.createElement(import_react_icons113.GlobeIcon, { width: "2rem", height: "2rem" }),
37625
+ [3 /* CONNECTIVITY */]: /* @__PURE__ */ import_react245.default.createElement(import_react_icons113.ConnectivityIcon, { width: "2rem", height: "2rem" })
37588
37626
  };
37589
- Container5 = ({ children }) => /* @__PURE__ */ import_react244.default.createElement(
37627
+ Container5 = ({ children }) => /* @__PURE__ */ import_react245.default.createElement(
37590
37628
  Box,
37591
37629
  {
37592
37630
  css: {
@@ -37597,11 +37635,15 @@ var init_Diagnostics = __esm({
37597
37635
  lineHeight: "1.5",
37598
37636
  "-webkit-text-size-adjust": "100%",
37599
37637
  position: "relative",
37600
- h: `calc(100% - 108px)`,
37638
+ h: "100%",
37601
37639
  "@lg": {
37602
37640
  p: "$12"
37603
37641
  },
37604
37642
  overflowY: "auto",
37643
+ boxSizing: "border-box",
37644
+ "& *": {
37645
+ boxSizing: "border-box"
37646
+ },
37605
37647
  "::-webkit-scrollbar-track": {
37606
37648
  WebkitBoxShadow: "inset 0 0 6px rgba(0, 0, 0, 0.3)",
37607
37649
  boxShadow: "inset 0 0 6px rgba(0, 0, 0, 0.3)",
@@ -37621,64 +37663,73 @@ var init_Diagnostics = __esm({
37621
37663
  children
37622
37664
  );
37623
37665
  DiagnosticsStepTest = () => {
37624
- const { activeStep } = (0, import_react244.useContext)(DiagnosticsContext);
37625
- let TestComponent = () => /* @__PURE__ */ import_react244.default.createElement(import_react244.default.Fragment, null);
37626
- if (activeStep === "audio") {
37666
+ const { activeStepIndex } = useDiagnostics();
37667
+ let TestComponent = () => /* @__PURE__ */ import_react245.default.createElement(import_react245.default.Fragment, null);
37668
+ if (activeStepIndex === 2 /* AUDIO */) {
37627
37669
  TestComponent = AudioTest;
37628
- } else if (activeStep === "video") {
37670
+ } else if (activeStepIndex === 1 /* VIDEO */) {
37629
37671
  TestComponent = VideoTest;
37630
- } else if (activeStep === "browser") {
37672
+ } else if (activeStepIndex === 0 /* BROWSER */) {
37631
37673
  TestComponent = BrowserTest;
37632
- } else if (activeStep === "connectivity") {
37674
+ } else if (activeStepIndex === 3 /* CONNECTIVITY */) {
37633
37675
  TestComponent = ConnectivityTest;
37634
37676
  }
37635
- return /* @__PURE__ */ import_react244.default.createElement(TestComponent, { key: activeStep });
37677
+ return /* @__PURE__ */ import_react245.default.createElement(TestComponent, { key: activeStepIndex });
37636
37678
  };
37637
37679
  DiagnosticsStepHeader = () => {
37638
- const { activeStep } = (0, import_react244.useContext)(DiagnosticsContext);
37639
- return /* @__PURE__ */ import_react244.default.createElement(Flex, { css: { py: "$8", px: "$10", alignItems: "center", borderBottom: "1px solid $border_default" } }, /* @__PURE__ */ import_react244.default.createElement(Text, { css: { c: "$primary_bright", mt: "$xs" } }, DiagnosticsStepIcon[activeStep]), /* @__PURE__ */ import_react244.default.createElement(Text, { css: { fontSize: "$h6", ml: "$9" } }, DiagnosticsSteps[activeStep]));
37680
+ const { activeStepIndex, activeStep } = useDiagnostics();
37681
+ return /* @__PURE__ */ import_react245.default.createElement(Flex, { css: { py: "$8", px: "$10", alignItems: "center", borderBottom: "1px solid $border_default" } }, /* @__PURE__ */ import_react245.default.createElement(Text, { css: { c: "$primary_bright", mt: "$xs" } }, DiagnosticsStepIcon[activeStepIndex]), /* @__PURE__ */ import_react245.default.createElement(Text, { css: { fontSize: "$h6", ml: "$9" } }, activeStep.name));
37640
37682
  };
37641
- DiagnosticsStep = () => {
37642
- return /* @__PURE__ */ import_react244.default.createElement(Box, { css: { border: "1px solid $border_default", r: "$1", w: "75%", maxWidth: "65rem", "@lg": { w: "100%" } } }, /* @__PURE__ */ import_react244.default.createElement(DiagnosticsStepHeader, null), /* @__PURE__ */ import_react244.default.createElement(DiagnosticsStepTest, null));
37683
+ DiagnosticsStepContainer = () => {
37684
+ return /* @__PURE__ */ import_react245.default.createElement(Box, { css: { border: "1px solid $border_default", r: "$1", w: "75%", maxWidth: "65rem", "@lg": { w: "100%" } } }, /* @__PURE__ */ import_react245.default.createElement(DiagnosticsStepHeader, null), /* @__PURE__ */ import_react245.default.createElement(DiagnosticsStepTest, null));
37643
37685
  };
37644
37686
  DiagnosticsStepsList = () => {
37645
- const { activeStep, connectivityTested } = (0, import_react244.useContext)(DiagnosticsContext);
37646
- return /* @__PURE__ */ import_react244.default.createElement(Box, { css: { w: "25%", "@lg": { display: "none" } } }, Object.keys(DiagnosticsSteps).map((key) => {
37647
- const keys = Object.keys(DiagnosticsSteps);
37648
- const activeStepIndex = keys.indexOf(activeStep);
37649
- const keyIndex = keys.indexOf(key);
37650
- const isStepCompleted = activeStepIndex > keyIndex || activeStep === "connectivity" && connectivityTested;
37687
+ const { activeStepIndex, activeStep, steps } = useDiagnostics();
37688
+ return /* @__PURE__ */ import_react245.default.createElement(Box, { css: { w: "25%", "@lg": { display: "none" } } }, Object.keys(DiagnosticsStep).filter((key) => !isNaN(Number(key))).map((key) => {
37689
+ const keyIndex = Number(key);
37690
+ const step = steps[keyIndex];
37691
+ const isStepCompleted = activeStepIndex > keyIndex || activeStep.isCompleted;
37651
37692
  let color = "$on_primary_low";
37652
- if (activeStep === key) {
37693
+ let icon = /* @__PURE__ */ import_react245.default.createElement(Text, { css: { c: color, fontSize: "1.75rem" } }, "\u2022");
37694
+ if (activeStepIndex === keyIndex) {
37653
37695
  color = "$on_primary_high";
37696
+ icon = /* @__PURE__ */ import_react245.default.createElement(Text, { css: { c: color, fontSize: "1.75rem" } }, "\u2022");
37654
37697
  }
37655
37698
  if (isStepCompleted) {
37656
37699
  color = "$primary_bright";
37700
+ icon = /* @__PURE__ */ import_react245.default.createElement(import_react_icons113.CheckCircleIcon, { width: "1rem", height: "1rem" });
37657
37701
  }
37658
- return /* @__PURE__ */ import_react244.default.createElement(Flex, { key, css: { mb: "$10", c: color, gap: "$4", alignItems: "center" } }, isStepCompleted ? /* @__PURE__ */ import_react244.default.createElement(import_react_icons113.CheckCircleIcon, { width: "1rem", height: "1rem" }) : /* @__PURE__ */ import_react244.default.createElement(Text, { css: { c: color, fontSize: "1.75rem" } }, "\u2022"), /* @__PURE__ */ import_react244.default.createElement(Text, { css: { c: color } }, DiagnosticsSteps[key]));
37702
+ if (step.hasFailed) {
37703
+ color = "$alert_error_default";
37704
+ icon = /* @__PURE__ */ import_react245.default.createElement(import_react_icons113.CrossCircleIcon, { width: "1rem", height: "1rem" });
37705
+ }
37706
+ return /* @__PURE__ */ import_react245.default.createElement(Flex, { key, css: { mb: "$10", c: color, gap: "$4", alignItems: "center" } }, icon, /* @__PURE__ */ import_react245.default.createElement(Text, { css: { c: color } }, step.name));
37659
37707
  }));
37660
37708
  };
37661
37709
  DiagnosticsProvider = () => {
37662
37710
  const actions = (0, import_react_sdk131.useHMSActions)();
37663
- const [activeStep, setActiveStep] = (0, import_react244.useState)(Object.keys(DiagnosticsSteps)[0]);
37664
- const [connectivityTested, setConnectivityTested] = (0, import_react244.useState)(false);
37665
- const diagnosticsRef = (0, import_react244.useRef)(actions.initDiagnostics());
37666
- return /* @__PURE__ */ import_react244.default.createElement(
37711
+ const [activeStep, setActiveStep] = (0, import_react245.useState)(0);
37712
+ const [steps, setSteps] = (0, import_react245.useState)(initialSteps);
37713
+ const diagnosticsRef = (0, import_react245.useRef)(actions.initDiagnostics());
37714
+ const updateStep = (0, import_react245.useCallback)((step, value) => {
37715
+ setSteps((prevSteps) => __spreadProps(__spreadValues({}, prevSteps), { [step]: __spreadValues(__spreadValues({}, prevSteps[step]), value) }));
37716
+ }, []);
37717
+ return /* @__PURE__ */ import_react245.default.createElement(
37667
37718
  DiagnosticsContext.Provider,
37668
37719
  {
37669
37720
  value: {
37670
37721
  hmsDiagnostics: diagnosticsRef.current,
37671
- activeStep,
37722
+ activeStepIndex: activeStep,
37672
37723
  setActiveStep,
37673
- connectivityTested,
37674
- setConnectivityTested
37724
+ steps,
37725
+ updateStep
37675
37726
  }
37676
37727
  },
37677
- /* @__PURE__ */ import_react244.default.createElement(Container5, null, /* @__PURE__ */ import_react244.default.createElement(Text, { variant: "h4" }, "Pre-call Test"), /* @__PURE__ */ import_react244.default.createElement(Text, { variant: "md", css: { c: "$on_primary_medium" } }, "Make sure your devices and network are good to go, let's get started."), /* @__PURE__ */ import_react244.default.createElement(Flex, { css: { direction: "column", mt: "$12", justifyItems: "center" } }, /* @__PURE__ */ import_react244.default.createElement(DiagnosticsStepsList, null), /* @__PURE__ */ import_react244.default.createElement(DiagnosticsStep, null)))
37728
+ /* @__PURE__ */ import_react245.default.createElement(Container5, null, /* @__PURE__ */ import_react245.default.createElement(Text, { variant: "h4" }, "Pre-call Test"), /* @__PURE__ */ import_react245.default.createElement(Text, { variant: "md", css: { c: "$on_primary_medium" } }, "Make sure your devices and network are good to go, let's get started."), /* @__PURE__ */ import_react245.default.createElement(Flex, { css: { direction: "column", mt: "$12", justifyItems: "center" } }, /* @__PURE__ */ import_react245.default.createElement(DiagnosticsStepsList, null), /* @__PURE__ */ import_react245.default.createElement(DiagnosticsStepContainer, null)))
37678
37729
  );
37679
37730
  };
37680
37731
  Diagnostics = () => {
37681
- return /* @__PURE__ */ import_react244.default.createElement(import_react_sdk131.HMSRoomProvider, null, /* @__PURE__ */ import_react244.default.createElement(HMSThemeProvider, { themeType: "default" }, /* @__PURE__ */ import_react244.default.createElement(DiagnosticsProvider, null)));
37732
+ return /* @__PURE__ */ import_react245.default.createElement(import_react_sdk131.HMSRoomProvider, null, /* @__PURE__ */ import_react245.default.createElement(HMSThemeProvider, { themeType: "default" }, /* @__PURE__ */ import_react245.default.createElement(DiagnosticsProvider, null)));
37682
37733
  };
37683
37734
  }
37684
37735
  });