@100mslive/roomkit-react 0.3.15-alpha.1 → 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_0755696e-0a65-4142-852d-4187cced97f2", 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.1", 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.1", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_0755696e-0a65-4142-852d-4187cced97f2", 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.1", 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: "597", npm_package_scripts_postinstall: "husky install && lerna bootstrap", npm_package_devDependencies_husky: "^6.0.0", npm_package_dependencies_recordrtc: "^5.6.2", npm_package_dependencies_eventemitter2: "^6.4.9", npm_package_dependencies__radix_ui_react_label: "1.0.0", npm_package_dependencies__radix_ui_react_dropdown_menu: "2.0.5", npm_package_keywords_0: "100mslive", GITHUB_GRAPHQL_URL: "https://api.github.com/graphql", npm_package_description: "100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.", npm_package_devDependencies_typescript: "~4.7.4", npm_package_devDependencies_typedoc: "^0.24.8", npm_package_devDependencies_babel_loader: "^8.2.5", npm_package_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:20027", 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.1", 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: "9741979690", 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: "d841ae70e97bfd176bcfc86b44f6ad939832fe13", 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: "8d3025fff9a09de54a6f7eedbc9c230c624f4a51531e48abebe9993c51841573", 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--1719827248966-0.07910494089758968:/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--1719827248771-0.2907408618632279:/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--1719827223580-0.152480323754848:/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--1719827223403-0.6512787125964512:/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_78664b3c-0200-4ca8-a8c4-7a8c1af96535", INVOCATION_ID: "a11470939cb945d99a06e16dbdcddaa1", 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: "591", 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 25", 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.1", 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.1", 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: "d841ae70e97bfd176bcfc86b44f6ad939832fe13", 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_0755696e-0a65-4142-852d-4187cced97f2", 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_0755696e-0a65-4142-852d-4187cced97f2", 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_0755696e-0a65-4142-852d-4187cced97f2" };
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.1", 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-2781-CqhvuV54UluO/1906db138fd1/index.css
30710
- var init_db138fd1 = __esm({
30711
- "../../../../../../../tmp/tmp-2781-CqhvuV54UluO/1906db138fd1/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_db138fd1();
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,60 +35904,80 @@ 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: {
35957
35979
  py: "$8",
35958
35980
  px: "$10",
35959
- position: "sticky",
35960
- bottom: "0",
35961
35981
  background: "$background_dim",
35962
35982
  justifyContent: "space-between",
35963
35983
  alignItems: "center",
@@ -35970,8 +35990,8 @@ var init_components = __esm({
35970
35990
  "@lg": { flexDirection: "column", gap: "$8" }
35971
35991
  }
35972
35992
  },
35973
- /* @__PURE__ */ import_react238.default.createElement(Box, null, error && /* @__PURE__ */ import_react238.default.createElement(Text, { css: { c: "$alert_error_default" } }, "Error: ", error.message)),
35974
- 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")))
35975
35995
  );
35976
35996
  };
35977
35997
  }
@@ -36934,12 +36954,12 @@ var require_prop_types = __commonJS({
36934
36954
  });
36935
36955
 
36936
36956
  // src/Diagnostics/DeviceSelector.jsx
36937
- var import_react239, import_prop_types, DeviceSelector2;
36957
+ var import_react240, import_prop_types, DeviceSelector2;
36938
36958
  var init_DeviceSelector = __esm({
36939
36959
  "src/Diagnostics/DeviceSelector.jsx"() {
36940
36960
  "use strict";
36941
36961
  init_define_process_env();
36942
- import_react239 = __toESM(require("react"));
36962
+ import_react240 = __toESM(require("react"));
36943
36963
  import_prop_types = __toESM(require_prop_types());
36944
36964
  init_Dropdown2();
36945
36965
  init_Layout();
@@ -36947,9 +36967,9 @@ var init_DeviceSelector = __esm({
36947
36967
  init_Text2();
36948
36968
  DeviceSelector2 = ({ title, devices, selection, onChange, icon, children = null }) => {
36949
36969
  var _a7, _b7;
36950
- const [open, setOpen] = (0, import_react239.useState)(false);
36951
- const ref = (0, import_react239.useRef)(null);
36952
- 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(
36953
36973
  Flex,
36954
36974
  {
36955
36975
  align: "center",
@@ -36961,7 +36981,7 @@ var init_DeviceSelector = __esm({
36961
36981
  }
36962
36982
  }
36963
36983
  },
36964
- /* @__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(
36965
36985
  DialogDropdownTrigger,
36966
36986
  {
36967
36987
  ref,
@@ -36969,7 +36989,7 @@ var init_DeviceSelector = __esm({
36969
36989
  title: ((_a7 = devices.find(({ deviceId }) => deviceId === selection)) == null ? void 0 : _a7.label) || "Select device from list",
36970
36990
  open
36971
36991
  }
36972
- ), /* @__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(
36973
36993
  Dropdown.Content,
36974
36994
  {
36975
36995
  align: "start",
@@ -36983,7 +37003,7 @@ var init_DeviceSelector = __esm({
36983
37003
  }
36984
37004
  },
36985
37005
  devices.map((device) => {
36986
- return /* @__PURE__ */ import_react239.default.createElement(
37006
+ return /* @__PURE__ */ import_react240.default.createElement(
36987
37007
  Dropdown.Item,
36988
37008
  {
36989
37009
  key: device.label,
@@ -37011,12 +37031,12 @@ var init_DeviceSelector = __esm({
37011
37031
  });
37012
37032
 
37013
37033
  // src/Diagnostics/AudioTest.tsx
37014
- 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;
37015
37035
  var init_AudioTest = __esm({
37016
37036
  "src/Diagnostics/AudioTest.tsx"() {
37017
37037
  "use strict";
37018
37038
  init_define_process_env();
37019
- import_react240 = __toESM(require("react"));
37039
+ import_react241 = __toESM(require("react"));
37020
37040
  import_react_sdk127 = require("@100mslive/react-sdk");
37021
37041
  import_react_icons110 = require("@100mslive/react-icons");
37022
37042
  init_PermissionErrorModal();
@@ -37026,35 +37046,36 @@ var init_AudioTest = __esm({
37026
37046
  init_Progress();
37027
37047
  init_Text2();
37028
37048
  init_DeviceSelector();
37049
+ init_DiagnosticsContext();
37029
37050
  init_useAudioOutputTest();
37030
37051
  init_constants();
37031
- 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);
37032
37053
  MicTest = ({ setError }) => {
37033
37054
  var _a7, _b7;
37034
- const { hmsDiagnostics } = (0, import_react240.useContext)(DiagnosticsContext);
37055
+ const { hmsDiagnostics } = useDiagnostics();
37035
37056
  const devices = (0, import_react_sdk127.useHMSStore)(import_react_sdk127.selectDevices);
37036
- const [isRecording, setIsRecording] = (0, import_react240.useState)(false);
37037
- 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");
37038
37059
  const trackID = (0, import_react_sdk127.useHMSStore)(import_react_sdk127.selectLocalAudioTrackID);
37039
37060
  const audioLevel = (0, import_react_sdk127.useHMSStore)((0, import_react_sdk127.selectTrackAudioByID)(trackID));
37040
37061
  const { audioOutputDeviceId } = (0, import_react_sdk127.useHMSStore)(import_react_sdk127.selectLocalMediaSettings);
37041
37062
  const { playing, setPlaying, audioRef } = useAudioOutputTest({
37042
37063
  deviceId: audioOutputDeviceId || ((_b7 = devices.audioOutput[0]) == null ? void 0 : _b7.deviceId)
37043
37064
  });
37044
- 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(
37045
37066
  DeviceSelector2,
37046
37067
  {
37047
37068
  title: "Microphone (Input)",
37048
37069
  devices: devices.audioInput,
37049
37070
  selection: selectedMic,
37050
- icon: /* @__PURE__ */ import_react240.default.createElement(import_react_icons110.MicOnIcon, null),
37071
+ icon: /* @__PURE__ */ import_react241.default.createElement(import_react_icons110.MicOnIcon, null),
37051
37072
  onChange: (deviceId) => {
37052
37073
  setError(void 0);
37053
37074
  setSelectedMic(deviceId);
37054
37075
  hmsDiagnostics == null ? void 0 : hmsDiagnostics.stopMicCheck();
37055
37076
  }
37056
37077
  }
37057
- ), /* @__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(
37058
37079
  Button,
37059
37080
  {
37060
37081
  variant: "standard",
@@ -37074,9 +37095,9 @@ var init_AudioTest = __esm({
37074
37095
  },
37075
37096
  disabled: devices.audioInput.length === 0 || playing
37076
37097
  },
37077
- 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),
37078
37099
  isRecording ? "Stop Recording" : "Record"
37079
- ), /* @__PURE__ */ import_react240.default.createElement(
37100
+ ), /* @__PURE__ */ import_react241.default.createElement(
37080
37101
  Button,
37081
37102
  {
37082
37103
  icon: true,
@@ -37090,9 +37111,9 @@ var init_AudioTest = __esm({
37090
37111
  },
37091
37112
  disabled: playing || (hmsDiagnostics == null ? void 0 : hmsDiagnostics.getRecordedAudio()) === TEST_AUDIO_URL
37092
37113
  },
37093
- /* @__PURE__ */ import_react240.default.createElement(import_react_icons110.SpeakerIcon, null),
37114
+ /* @__PURE__ */ import_react241.default.createElement(import_react_icons110.SpeakerIcon, null),
37094
37115
  playing ? "Playing..." : "Playback"
37095
- ), /* @__PURE__ */ import_react240.default.createElement(
37116
+ ), /* @__PURE__ */ import_react241.default.createElement(
37096
37117
  "audio",
37097
37118
  {
37098
37119
  ref: audioRef,
@@ -37100,7 +37121,7 @@ var init_AudioTest = __esm({
37100
37121
  onPlay: () => setPlaying(true),
37101
37122
  style: { display: "none" }
37102
37123
  }
37103
- )), /* @__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(
37104
37125
  Progress.Content,
37105
37126
  {
37106
37127
  style: {
@@ -37116,15 +37137,15 @@ var init_AudioTest = __esm({
37116
37137
  const devices = (0, import_react_sdk127.useHMSStore)(import_react_sdk127.selectDevices);
37117
37138
  const { audioOutputDeviceId } = (0, import_react_sdk127.useHMSStore)(import_react_sdk127.selectLocalMediaSettings);
37118
37139
  if (devices.audioOutput.length === 0) {
37119
- return /* @__PURE__ */ import_react240.default.createElement(import_react240.default.Fragment, null);
37140
+ return /* @__PURE__ */ import_react241.default.createElement(import_react241.default.Fragment, null);
37120
37141
  }
37121
- 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(
37122
37143
  DeviceSelector2,
37123
37144
  {
37124
37145
  title: "Speaker (Output)",
37125
37146
  devices: devices.audioOutput,
37126
37147
  selection: audioOutputDeviceId || ((_a7 = devices.audioOutput[0]) == null ? void 0 : _a7.deviceId),
37127
- icon: /* @__PURE__ */ import_react240.default.createElement(import_react_icons110.SpeakerIcon, null),
37148
+ icon: /* @__PURE__ */ import_react241.default.createElement(import_react_icons110.SpeakerIcon, null),
37128
37149
  onChange: (deviceId) => {
37129
37150
  actions.setAudioOutputDevice(deviceId);
37130
37151
  }
@@ -37132,12 +37153,19 @@ var init_AudioTest = __esm({
37132
37153
  ));
37133
37154
  };
37134
37155
  AudioTest = () => {
37135
- const { hmsDiagnostics } = (0, import_react240.useContext)(DiagnosticsContext);
37136
- const [error, setError] = (0, import_react240.useState)();
37137
- (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)(() => {
37138
37166
  hmsDiagnostics == null ? void 0 : hmsDiagnostics.requestPermission({ audio: true }).catch((error2) => setError(error2));
37139
- }, [hmsDiagnostics]);
37140
- 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(
37141
37169
  Flex,
37142
37170
  {
37143
37171
  css: {
@@ -37149,24 +37177,25 @@ var init_AudioTest = __esm({
37149
37177
  }
37150
37178
  }
37151
37179
  },
37152
- /* @__PURE__ */ import_react240.default.createElement(MicTest, { setError }),
37153
- /* @__PURE__ */ import_react240.default.createElement(SpeakerTest, null)
37154
- )), /* @__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 }));
37155
37183
  };
37156
37184
  }
37157
37185
  });
37158
37186
 
37159
37187
  // src/Diagnostics/BrowserTest.tsx
37160
- 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;
37161
37189
  var init_BrowserTest = __esm({
37162
37190
  "src/Diagnostics/BrowserTest.tsx"() {
37163
37191
  "use strict";
37164
37192
  init_define_process_env();
37165
- import_react241 = __toESM(require("react"));
37193
+ import_react242 = __toESM(require("react"));
37166
37194
  import_react_sdk128 = require("@100mslive/react-sdk");
37167
37195
  init_components();
37168
37196
  init_Layout();
37169
37197
  init_Text2();
37198
+ init_DiagnosticsContext();
37170
37199
  CMS_MEDIA_SERVER = "https://storage.googleapis.com/100ms-cms-prod/";
37171
37200
  operatingSystemIconInfo = {
37172
37201
  tizen: {
@@ -37247,44 +37276,45 @@ var init_BrowserTest = __esm({
37247
37276
  icon: `${CMS_MEDIA_SERVER}cms/Opera_0f3bf4eb19/Opera_0f3bf4eb19.svg`
37248
37277
  }
37249
37278
  };
37250
- 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)));
37251
37280
  BrowserTest = () => {
37252
37281
  var _a7, _b7, _c, _d;
37253
- const { hmsDiagnostics } = (0, import_react241.useContext)(DiagnosticsContext);
37254
- const [error, setError] = (0, import_react241.useState)();
37255
- (0, import_react241.useEffect)(() => {
37282
+ const { hmsDiagnostics, updateStep } = useDiagnostics();
37283
+ const [error, setError] = (0, import_react242.useState)();
37284
+ (0, import_react242.useEffect)(() => {
37256
37285
  try {
37257
37286
  hmsDiagnostics == null ? void 0 : hmsDiagnostics.checkBrowserSupport();
37258
37287
  } catch (err) {
37288
+ updateStep(0 /* BROWSER */, { hasFailed: true });
37259
37289
  setError(err);
37260
37290
  }
37261
- }, [hmsDiagnostics]);
37262
- 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(
37263
37293
  CheckDetails,
37264
37294
  {
37265
37295
  title: "Browser",
37266
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),
37267
37297
  value: `${import_react_sdk128.parsedUserAgent.getBrowser().name} ${import_react_sdk128.parsedUserAgent.getBrowser().version}`
37268
37298
  }
37269
- ), /* @__PURE__ */ import_react241.default.createElement(
37299
+ ), /* @__PURE__ */ import_react242.default.createElement(
37270
37300
  CheckDetails,
37271
37301
  {
37272
37302
  title: "Operating system",
37273
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),
37274
37304
  value: `${import_react_sdk128.parsedUserAgent.getOS().name} ${import_react_sdk128.parsedUserAgent.getOS().version}`
37275
37305
  }
37276
- )), /* @__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?" }));
37277
37307
  };
37278
37308
  }
37279
37309
  });
37280
37310
 
37281
37311
  // src/Diagnostics/ConnectivityTest.tsx
37282
- 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;
37283
37313
  var init_ConnectivityTest = __esm({
37284
37314
  "src/Diagnostics/ConnectivityTest.tsx"() {
37285
37315
  "use strict";
37286
37316
  init_define_process_env();
37287
- import_react242 = __toESM(require("react"));
37317
+ import_react243 = __toESM(require("react"));
37288
37318
  import_react_sdk129 = require("@100mslive/react-sdk");
37289
37319
  import_react_icons111 = require("@100mslive/react-icons");
37290
37320
  init_components();
@@ -37293,6 +37323,7 @@ var init_ConnectivityTest = __esm({
37293
37323
  init_Loading2();
37294
37324
  init_Stats2();
37295
37325
  init_Text2();
37326
+ init_DiagnosticsContext();
37296
37327
  Regions = {
37297
37328
  in: "India",
37298
37329
  eu: "Europe",
@@ -37309,41 +37340,65 @@ var init_ConnectivityTest = __esm({
37309
37340
  };
37310
37341
  ConnectivityTestStepResult = ({
37311
37342
  title,
37343
+ status = "Connected",
37312
37344
  success,
37313
37345
  children
37314
37346
  }) => {
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" } }, "Connected")) : /* @__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(Box, null, children));
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(
37349
+ Flex,
37350
+ {
37351
+ onClick: () => setHideDetails(!hideDetails),
37352
+ align: "center",
37353
+ gap: "2",
37354
+ css: {
37355
+ color: "$primary_bright"
37356
+ }
37357
+ },
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(
37360
+ Text,
37361
+ {
37362
+ variant: "caption",
37363
+ css: {
37364
+ color: "$primary_bright"
37365
+ }
37366
+ },
37367
+ hideDetails ? "View" : "Hide",
37368
+ " detailed information"
37369
+ )
37370
+ ), !hideDetails ? /* @__PURE__ */ import_react243.default.createElement(Box, null, children) : null);
37316
37371
  };
37317
37372
  DetailedInfo = ({
37318
37373
  title,
37319
37374
  value,
37320
37375
  Icon: Icon4
37321
37376
  }) => {
37322
- 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)));
37323
37378
  };
37324
37379
  MediaServerResult = ({ result }) => {
37325
37380
  var _a7, _b7, _c, _d;
37326
- return /* @__PURE__ */ import_react242.default.createElement(
37381
+ return /* @__PURE__ */ import_react243.default.createElement(
37327
37382
  ConnectivityTestStepResult,
37328
37383
  {
37329
37384
  title: "Media server connection test",
37330
37385
  success: (result == null ? void 0 : result.isPublishICEConnected) && result.isSubscribeICEConnected
37331
37386
  },
37332
- /* @__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(
37333
37388
  DetailedInfo,
37334
37389
  {
37335
37390
  title: "Media Captured",
37336
37391
  value: ((_a7 = result == null ? void 0 : result.stats) == null ? void 0 : _a7.audio.bytesSent) ? "Yes" : "No",
37337
37392
  Icon: ((_b7 = result == null ? void 0 : result.stats) == null ? void 0 : _b7.audio.bytesSent) ? import_react_icons111.CheckCircleIcon : import_react_icons111.CrossCircleIcon
37338
37393
  }
37339
- ), /* @__PURE__ */ import_react242.default.createElement(
37394
+ ), /* @__PURE__ */ import_react243.default.createElement(
37340
37395
  DetailedInfo,
37341
37396
  {
37342
37397
  title: "Media Published",
37343
37398
  value: ((_c = result == null ? void 0 : result.stats) == null ? void 0 : _c.audio.bitrateSent) ? "Yes" : "No",
37344
37399
  Icon: ((_d = result == null ? void 0 : result.stats) == null ? void 0 : _d.audio.bytesSent) ? import_react_icons111.CheckCircleIcon : import_react_icons111.CrossCircleIcon
37345
37400
  }
37346
- ), (result == null ? void 0 : result.connectionQualityScore) ? /* @__PURE__ */ import_react242.default.createElement(
37401
+ ), (result == null ? void 0 : result.connectionQualityScore) ? /* @__PURE__ */ import_react243.default.createElement(
37347
37402
  DetailedInfo,
37348
37403
  {
37349
37404
  title: "Connection Quality Score (CQS)",
@@ -37353,27 +37408,27 @@ var init_ConnectivityTest = __esm({
37353
37408
  );
37354
37409
  };
37355
37410
  SignallingResult = ({ result }) => {
37356
- 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(
37357
37412
  DetailedInfo,
37358
37413
  {
37359
37414
  title: "Signalling Gateway",
37360
37415
  value: (result == null ? void 0 : result.isConnected) ? "Reachable" : "Unreachable",
37361
37416
  Icon: (result == null ? void 0 : result.isConnected) ? import_react_icons111.CheckCircleIcon : import_react_icons111.CrossCircleIcon
37362
37417
  }
37363
- ), /* @__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 })));
37364
37419
  };
37365
37420
  AudioStats = ({ stats }) => {
37366
- return /* @__PURE__ */ import_react242.default.createElement(ConnectivityTestStepResult, { title: "Audio", 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` })));
37367
37422
  };
37368
37423
  VideoStats = ({ stats }) => {
37369
- return /* @__PURE__ */ import_react242.default.createElement(ConnectivityTestStepResult, { title: "Video", 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` })));
37370
37425
  };
37371
37426
  Footer3 = ({
37372
37427
  error,
37373
37428
  result,
37374
37429
  restart
37375
37430
  }) => {
37376
- 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")));
37377
37432
  };
37378
37433
  ConnectivityTestReport = ({
37379
37434
  error,
@@ -37383,14 +37438,14 @@ var init_ConnectivityTest = __esm({
37383
37438
  }) => {
37384
37439
  var _a7, _b7, _c, _d;
37385
37440
  if (error) {
37386
- 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 }));
37387
37442
  }
37388
37443
  if (result) {
37389
37444
  console.log(result);
37390
- 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 }));
37391
37446
  }
37392
37447
  if (progress !== void 0) {
37393
- 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(
37394
37449
  Text,
37395
37450
  {
37396
37451
  variant: "body2",
@@ -37406,7 +37461,7 @@ var init_ConnectivityTest = __esm({
37406
37461
  setRegion,
37407
37462
  startTest
37408
37463
  }) => {
37409
- 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(
37410
37465
  Flex,
37411
37466
  {
37412
37467
  justify: "between",
@@ -37418,7 +37473,7 @@ var init_ConnectivityTest = __esm({
37418
37473
  }
37419
37474
  }
37420
37475
  },
37421
- /* @__PURE__ */ import_react242.default.createElement(
37476
+ /* @__PURE__ */ import_react243.default.createElement(
37422
37477
  Flex,
37423
37478
  {
37424
37479
  css: {
@@ -37428,7 +37483,7 @@ var init_ConnectivityTest = __esm({
37428
37483
  }
37429
37484
  }
37430
37485
  },
37431
- Object.entries(Regions).map(([key, value]) => /* @__PURE__ */ import_react242.default.createElement(
37486
+ Object.entries(Regions).map(([key, value]) => /* @__PURE__ */ import_react243.default.createElement(
37432
37487
  Button,
37433
37488
  {
37434
37489
  key,
@@ -37440,17 +37495,17 @@ var init_ConnectivityTest = __esm({
37440
37495
  value
37441
37496
  ))
37442
37497
  ),
37443
- /* @__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..."))
37444
37499
  ));
37445
37500
  };
37446
37501
  ConnectivityTest = () => {
37447
- const { hmsDiagnostics, setConnectivityTested } = (0, import_react242.useContext)(DiagnosticsContext);
37448
- const [region, setRegion] = (0, import_react242.useState)(Object.keys(Regions)[0]);
37449
- const [error, setError] = (0, import_react242.useState)();
37450
- const [progress, setProgress] = (0, import_react242.useState)();
37451
- 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)();
37452
37507
  const startTest = () => {
37453
- setConnectivityTested(false);
37508
+ updateStep(3 /* CONNECTIVITY */, { hasFailed: false, isCompleted: false });
37454
37509
  setError(void 0);
37455
37510
  setResult(void 0);
37456
37511
  hmsDiagnostics == null ? void 0 : hmsDiagnostics.startConnectivityCheck(
@@ -37458,22 +37513,23 @@ var init_ConnectivityTest = __esm({
37458
37513
  setProgress(state);
37459
37514
  },
37460
37515
  (result2) => {
37461
- setConnectivityTested(true);
37516
+ updateStep(3 /* CONNECTIVITY */, { isCompleted: true });
37462
37517
  setResult(result2);
37463
37518
  },
37464
37519
  region
37465
37520
  ).catch((error2) => {
37521
+ updateStep(3 /* CONNECTIVITY */, { hasFailed: true });
37466
37522
  setError(error2);
37467
37523
  });
37468
37524
  };
37469
- 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(
37470
37526
  RegionSelector,
37471
37527
  {
37472
37528
  region,
37473
37529
  setRegion,
37474
37530
  startTest: progress === void 0 || progress === import_react_sdk129.ConnectivityState.COMPLETED ? startTest : void 0
37475
37531
  }
37476
- ), /* @__PURE__ */ import_react242.default.createElement(ConnectivityTestReport, { error, result, progress, startTest }));
37532
+ ), /* @__PURE__ */ import_react243.default.createElement(ConnectivityTestReport, { error, result, progress, startTest }));
37477
37533
  };
37478
37534
  downloadJson = (obj, fileName) => {
37479
37535
  const a2 = document.createElement("a");
@@ -37488,12 +37544,12 @@ var init_ConnectivityTest = __esm({
37488
37544
  });
37489
37545
 
37490
37546
  // src/Diagnostics/VideoTest.tsx
37491
- var import_react243, import_react_sdk130, import_react_icons112, VideoTest;
37547
+ var import_react244, import_react_sdk130, import_react_icons112, VideoTest;
37492
37548
  var init_VideoTest = __esm({
37493
37549
  "src/Diagnostics/VideoTest.tsx"() {
37494
37550
  "use strict";
37495
37551
  init_define_process_env();
37496
- import_react243 = __toESM(require("react"));
37552
+ import_react244 = __toESM(require("react"));
37497
37553
  import_react_sdk130 = require("@100mslive/react-sdk");
37498
37554
  import_react_icons112 = require("@100mslive/react-icons");
37499
37555
  init_PermissionErrorModal();
@@ -37503,17 +37559,21 @@ var init_VideoTest = __esm({
37503
37559
  init_Video2();
37504
37560
  init_VideoTile();
37505
37561
  init_DeviceSelector();
37562
+ init_DiagnosticsContext();
37506
37563
  VideoTest = () => {
37507
- const { hmsDiagnostics } = (0, import_react243.useContext)(DiagnosticsContext);
37564
+ const { hmsDiagnostics, updateStep } = useDiagnostics();
37508
37565
  const allDevices = (0, import_react_sdk130.useHMSStore)(import_react_sdk130.selectDevices);
37509
37566
  const { videoInput } = allDevices;
37510
37567
  const trackID = (0, import_react_sdk130.useHMSStore)(import_react_sdk130.selectLocalVideoTrackID);
37511
37568
  const sdkSelectedDevices = (0, import_react_sdk130.useHMSStore)(import_react_sdk130.selectLocalMediaSettings);
37512
- const [error, setError] = (0, import_react243.useState)();
37513
- (0, import_react243.useEffect)(() => {
37514
- hmsDiagnostics == null ? void 0 : hmsDiagnostics.startCameraCheck().catch((err) => setError(err));
37515
- }, [hmsDiagnostics]);
37516
- 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(
37517
37577
  StyledVideoTile.Container,
37518
37578
  {
37519
37579
  css: {
@@ -37523,124 +37583,153 @@ var init_VideoTest = __esm({
37523
37583
  "@lg": { mr: 0, mb: "$10", aspectRatio: "1/1" }
37524
37584
  }
37525
37585
  },
37526
- /* @__PURE__ */ import_react243.default.createElement(Video, { mirror: true, trackId: trackID })
37527
- ), /* @__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(
37528
37588
  DeviceSelector2,
37529
37589
  {
37530
37590
  title: "Video",
37531
37591
  devices: videoInput || [],
37532
- icon: /* @__PURE__ */ import_react243.default.createElement(import_react_icons112.VideoOnIcon, null),
37592
+ icon: /* @__PURE__ */ import_react244.default.createElement(import_react_icons112.VideoOnIcon, null),
37533
37593
  selection: sdkSelectedDevices.videoInputDeviceId,
37534
37594
  onChange: (deviceId) => __async(void 0, null, function* () {
37535
37595
  hmsDiagnostics == null ? void 0 : hmsDiagnostics.stopCameraCheck();
37536
37596
  hmsDiagnostics == null ? void 0 : hmsDiagnostics.startCameraCheck(deviceId);
37537
37597
  })
37538
37598
  }
37539
- ))), /* @__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 }));
37540
37600
  };
37541
37601
  }
37542
37602
  });
37543
37603
 
37544
37604
  // src/Diagnostics/Diagnostics.tsx
37545
- 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;
37546
37606
  var init_Diagnostics = __esm({
37547
37607
  "src/Diagnostics/Diagnostics.tsx"() {
37548
37608
  "use strict";
37549
37609
  init_define_process_env();
37550
- import_react244 = __toESM(require("react"));
37610
+ import_react245 = __toESM(require("react"));
37551
37611
  import_react_sdk131 = require("@100mslive/react-sdk");
37552
37612
  import_react_icons113 = require("@100mslive/react-icons");
37553
- init_components();
37554
37613
  init_Layout();
37555
37614
  init_Text2();
37556
37615
  init_Theme();
37557
37616
  init_AudioTest();
37558
37617
  init_BrowserTest();
37559
37618
  init_ConnectivityTest();
37619
+ init_DiagnosticsContext();
37560
37620
  init_VideoTest();
37561
37621
  DiagnosticsStepIcon = {
37562
- video: /* @__PURE__ */ import_react244.default.createElement(import_react_icons113.VideoOnIcon, { width: "2rem", height: "2rem" }),
37563
- audio: /* @__PURE__ */ import_react244.default.createElement(import_react_icons113.MicOnIcon, { width: "2rem", height: "2rem" }),
37564
- browser: /* @__PURE__ */ import_react244.default.createElement(import_react_icons113.GlobeIcon, { width: "2rem", height: "2rem" }),
37565
- 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" })
37566
37626
  };
37567
- Container5 = ({ children }) => /* @__PURE__ */ import_react244.default.createElement(
37627
+ Container5 = ({ children }) => /* @__PURE__ */ import_react245.default.createElement(
37568
37628
  Box,
37569
37629
  {
37570
37630
  css: {
37571
37631
  px: "120px",
37572
- py: "120px",
37632
+ pt: "120px",
37633
+ pb: "24px",
37573
37634
  bg: "$background_dim",
37574
37635
  lineHeight: "1.5",
37575
37636
  "-webkit-text-size-adjust": "100%",
37576
37637
  position: "relative",
37577
- minHeight: "100vh",
37638
+ h: "100%",
37578
37639
  "@lg": {
37579
37640
  p: "$12"
37641
+ },
37642
+ overflowY: "auto",
37643
+ boxSizing: "border-box",
37644
+ "& *": {
37645
+ boxSizing: "border-box"
37646
+ },
37647
+ "::-webkit-scrollbar-track": {
37648
+ WebkitBoxShadow: "inset 0 0 6px rgba(0, 0, 0, 0.3)",
37649
+ boxShadow: "inset 0 0 6px rgba(0, 0, 0, 0.3)",
37650
+ backgroundColor: "transparent"
37651
+ },
37652
+ "::-webkit-scrollbar": {
37653
+ width: "6px",
37654
+ height: "6px",
37655
+ backgroundColor: "transparent"
37656
+ },
37657
+ "::-webkit-scrollbar-thumb": {
37658
+ backgroundColor: "#657080",
37659
+ borderRadius: "5px"
37580
37660
  }
37581
37661
  }
37582
37662
  },
37583
37663
  children
37584
37664
  );
37585
37665
  DiagnosticsStepTest = () => {
37586
- const { activeStep } = (0, import_react244.useContext)(DiagnosticsContext);
37587
- let TestComponent = () => /* @__PURE__ */ import_react244.default.createElement(import_react244.default.Fragment, null);
37588
- 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 */) {
37589
37669
  TestComponent = AudioTest;
37590
- } else if (activeStep === "video") {
37670
+ } else if (activeStepIndex === 1 /* VIDEO */) {
37591
37671
  TestComponent = VideoTest;
37592
- } else if (activeStep === "browser") {
37672
+ } else if (activeStepIndex === 0 /* BROWSER */) {
37593
37673
  TestComponent = BrowserTest;
37594
- } else if (activeStep === "connectivity") {
37674
+ } else if (activeStepIndex === 3 /* CONNECTIVITY */) {
37595
37675
  TestComponent = ConnectivityTest;
37596
37676
  }
37597
- return /* @__PURE__ */ import_react244.default.createElement(TestComponent, { key: activeStep });
37677
+ return /* @__PURE__ */ import_react245.default.createElement(TestComponent, { key: activeStepIndex });
37598
37678
  };
37599
37679
  DiagnosticsStepHeader = () => {
37600
- const { activeStep } = (0, import_react244.useContext)(DiagnosticsContext);
37601
- 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));
37602
37682
  };
37603
- DiagnosticsStep = () => {
37604
- 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(Box, { css: { maxHeight: "55vh", overflowY: "auto" } }, /* @__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));
37605
37685
  };
37606
37686
  DiagnosticsStepsList = () => {
37607
- const { activeStep, connectivityTested } = (0, import_react244.useContext)(DiagnosticsContext);
37608
- return /* @__PURE__ */ import_react244.default.createElement(Box, { css: { w: "25%", "@lg": { display: "none" } } }, Object.keys(DiagnosticsSteps).map((key) => {
37609
- const keys = Object.keys(DiagnosticsSteps);
37610
- const activeStepIndex = keys.indexOf(activeStep);
37611
- const keyIndex = keys.indexOf(key);
37612
- 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;
37613
37692
  let color = "$on_primary_low";
37614
- if (activeStep === key) {
37693
+ let icon = /* @__PURE__ */ import_react245.default.createElement(Text, { css: { c: color, fontSize: "1.75rem" } }, "\u2022");
37694
+ if (activeStepIndex === keyIndex) {
37615
37695
  color = "$on_primary_high";
37696
+ icon = /* @__PURE__ */ import_react245.default.createElement(Text, { css: { c: color, fontSize: "1.75rem" } }, "\u2022");
37616
37697
  }
37617
37698
  if (isStepCompleted) {
37618
37699
  color = "$primary_bright";
37700
+ icon = /* @__PURE__ */ import_react245.default.createElement(import_react_icons113.CheckCircleIcon, { width: "1rem", height: "1rem" });
37619
37701
  }
37620
- 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));
37621
37707
  }));
37622
37708
  };
37623
37709
  DiagnosticsProvider = () => {
37624
37710
  const actions = (0, import_react_sdk131.useHMSActions)();
37625
- const [activeStep, setActiveStep] = (0, import_react244.useState)(Object.keys(DiagnosticsSteps)[0]);
37626
- const [connectivityTested, setConnectivityTested] = (0, import_react244.useState)(false);
37627
- const diagnosticsRef = (0, import_react244.useRef)(actions.initDiagnostics());
37628
- 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(
37629
37718
  DiagnosticsContext.Provider,
37630
37719
  {
37631
37720
  value: {
37632
37721
  hmsDiagnostics: diagnosticsRef.current,
37633
- activeStep,
37722
+ activeStepIndex: activeStep,
37634
37723
  setActiveStep,
37635
- connectivityTested,
37636
- setConnectivityTested
37724
+ steps,
37725
+ updateStep
37637
37726
  }
37638
37727
  },
37639
- /* @__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)))
37640
37729
  );
37641
37730
  };
37642
37731
  Diagnostics = () => {
37643
- 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)));
37644
37733
  };
37645
37734
  }
37646
37735
  });