# Copyright 2023 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

conditional_files = [
  "debug/no_debug.js",
  "test_api/no_test_api.js",
  "components/oobe_vars/oobe_custom_vars.css.ts",
  "components/oobe_vars/oobe_custom_vars_remora.css.ts",
  "debug/debug.js",
  "debug/quick_start_debugger.js",
  "test_api/test_api.js",
]

conditional_js_files = []
foreach(f, conditional_files) {
  # TODO(b/322301624): Refactor once all conditional files are migrated.
  extension = get_path_info(f, "extension")
  if (extension == "ts") {
    conditional_js_files += [ string_replace(f, ".ts", ".js") ]
  } else {
    conditional_js_files += [ f ]
  }
}

unconditional_existing_files = [
  "cr_ui.ts",
  "display_manager.ts",
  "i18n_setup.ts",
  "install_oobe_error_store.ts",
  "lazy_load_screens.ts",
  "login_ui_tools.ts",
  "multi_tap_detector.ts",
  "oobe.ts",
  "oobe_trace.ts",
  "oobe_trace_start.ts",
  "priority_screens_common_flow.ts",
  "priority_screens_oobe_flow.ts",
  "screens.ts",
]

unconditional_autogenerated_files = [
  "components/behaviors/oobe_dialog_host_behavior.js",
  "components/behaviors/oobe_focus_behavior.js",
  "components/behaviors/oobe_i18n_behavior.js",
  "components/behaviors/oobe_scrollable_behavior.js",
  "components/behaviors/login_screen_behavior.js",
  "components/behaviors/multi_step_behavior.js",
  "components/common_styles/cr_card_radio_group_styles.css.js",
  "components/common_styles/oobe_common_styles.css.js",
  "components/common_styles/oobe_dialog_host_styles.css.js",
  "components/common_styles/oobe_flex_layout_styles.css.js",
  "components/oobe_vars/oobe_shared_vars.css.ts",
]

oobe_screens_ts_files = [
  "screens/oobe/auto_enrollment_check.ts",
  "screens/oobe/consumer_update.ts",
  "screens/oobe/demo_preferences.ts",
  "screens/oobe/demo_setup.ts",
  "screens/oobe/enable_debugging.ts",
  "screens/oobe/enterprise_enrollment.ts",
  "screens/oobe/hid_detection.ts",
  "screens/oobe/oobe_network.ts",
  "screens/oobe/packaged_license.ts",
  "screens/oobe/update.ts",
  "screens/oobe/welcome.ts",
  "screens/oobe/welcome_dialog.ts",
]

oobe_screens_html_files = [
  "components/oobe_icons.html",
  "components/oobe_illo_icons.html",
  "components/oobe_network_icons.html",
]

foreach(f, oobe_screens_ts_files) {
  oobe_screens_html_files += [ string_replace(f, ".ts", ".html") ]
}

oobe_screens_html_wrapped_files = []
foreach(f, oobe_screens_html_files) {
  oobe_screens_html_wrapped_files += [ string_replace(f, ".html", ".html.ts") ]
}

common_screens_ts_files = [
  "screens/common/adb_sideloading.ts",
  "screens/common/add_child.ts",
  "screens/common/app_downloading.ts",
  "screens/common/app_launch_splash.ts",
  "screens/common/assistant_optin.ts",
  "screens/common/autolaunch.ts",
  "screens/common/choobe.ts",
  "screens/common/consolidated_consent.ts",
  "screens/common/device_disabled.ts",
  "screens/common/display_size.ts",
  "screens/common/drive_pinning.ts",
  "screens/common/enable_kiosk.ts",
  "screens/common/error_message.ts",
  "screens/common/family_link_notice.ts",
  "screens/common/gaia_info.ts",
  "screens/common/gaia_signin.ts",
  "screens/common/gesture_navigation.ts",
  "screens/common/guest_tos.ts",
  "screens/common/hw_data_collection.ts",
  "screens/common/install_attributes_error.ts",
  "screens/common/local_state_error.ts",
  "screens/common/managed_terms_of_service.ts",
  "screens/common/marketing_opt_in.ts",
  "screens/common/multidevice_setup.ts",
  "screens/common/offline_ad_login.ts",
  "screens/common/online_authentication_screen.ts",
  "screens/common/oobe_reset.ts",
  "screens/common/os_install.ts",
  "screens/common/os_trial.ts",
  "screens/common/parental_handoff.ts",
  "screens/common/quick_start.ts",
  "screens/common/remote_activity_notification.ts",

  # Template used by the `tools/oobe/generate_screen_template.py` script.
  "screens/common/placeholder.ts",
  "screens/common/recommend_apps.ts",
  "screens/common/saml_confirm_password.ts",
  "screens/common/signin_fatal_error.ts",
  "screens/common/smart_privacy_protection.ts",
  "screens/common/sync_consent.ts",
  "screens/common/theme_selection.ts",
  "screens/common/touchpad_scroll.ts",
  "screens/common/tpm_error.ts",
  "screens/common/user_allowlist_check_screen.ts",
  "screens/common/user_creation.ts",
  "screens/common/wrong_hwid.ts",
]

common_screens_html_files = []
foreach(f, common_screens_ts_files) {
  common_screens_html_files += [ string_replace(f, ".ts", ".html") ]
}

common_screens_html_wrapped_files = []
foreach(f, common_screens_html_files) {
  common_screens_html_wrapped_files +=
      [ string_replace(f, ".html", ".html.ts") ]
}

login_screens_ts_files = [
  "screens/login/arc_vm_data_migration.ts",
  "screens/login/checking_downloading_update.ts",
  "screens/login/encryption_migration.ts",
  "screens/login/lacros_data_backward_migration.ts",
  "screens/login/lacros_data_migration.ts",
  "screens/login/management_transition.ts",
  "screens/login/offline_login.ts",
  "screens/login/update_required_card.ts",
]

login_screens_html_files = []
foreach(f, login_screens_ts_files) {
  login_screens_html_files += [ string_replace(f, ".ts", ".html") ]
}

login_screens_html_wrapped_files = []
foreach(f, login_screens_html_files) {
  login_screens_html_wrapped_files += [ string_replace(f, ".html", ".html.ts") ]
}

osauth_screens_ts_files = [
  "screens/osauth/apply_online_password.ts",
  "screens/osauth/cryptohome_recovery.ts",
  "screens/osauth/cryptohome_recovery_setup.ts",
  "screens/osauth/factor_setup_success.ts",
  "screens/osauth/fingerprint_setup.ts",
  "screens/osauth/gaia_password_changed.ts",
  "screens/osauth/local_password_setup.ts",
  "screens/osauth/local_data_loss_warning.ts",
  "screens/osauth/enter_old_password.ts",
  "screens/osauth/osauth_error.ts",
  "screens/osauth/password_selection.ts",
  "screens/osauth/pin_setup.ts",
]

osauth_screens_html_files = []
foreach(f, osauth_screens_ts_files) {
  osauth_screens_html_files += [ string_replace(f, ".ts", ".html") ]
}

osauth_screens_html_wrapped_files = []
foreach(f, osauth_screens_html_files) {
  osauth_screens_html_wrapped_files +=
      [ string_replace(f, ".html", ".html.ts") ]
}

dialogs_ts_files = [
  "components/dialogs/oobe_adaptive_dialog.ts",
  "components/dialogs/oobe_content_dialog.ts",
  "components/dialogs/oobe_loading_dialog.ts",
  "components/dialogs/oobe_modal_dialog.ts",
]

dialogs_html_files = []
foreach(f, dialogs_ts_files) {
  dialogs_html_files += [ string_replace(f, ".ts", ".html") ]
}

dialogs_html_wrapped_files = []
foreach(f, dialogs_html_files) {
  dialogs_html_wrapped_files += [ string_replace(f, ".html", ".html.ts") ]
}

buttons_ts_files = [
  "components/buttons/oobe_back_button.ts",
  "components/buttons/oobe_icon_button.ts",
  "components/buttons/oobe_next_button.ts",
  "components/buttons/oobe_text_button.ts",
]

buttons_html_files = []
foreach(f, buttons_ts_files) {
  buttons_html_files += [ string_replace(f, ".ts", ".html") ]
}

buttons_html_wrapped_files = []
foreach(f, buttons_html_files) {
  buttons_html_wrapped_files += [ string_replace(f, ".html", ".html.ts") ]
}

buttons_ts_files += [ "components/buttons/oobe_base_button.ts" ]

components_ts_files = [
  "components/api_keys_notice.ts",
  "components/gaia_button.ts",
  "components/gaia_dialog.ts",
  "components/hd_iron_icon.ts",
  "components/network_select_login.ts",
  "components/notification_card.ts",
  "components/oobe_a11y_option.ts",
  "components/oobe_apps_list.ts",
  "components/oobe_carousel.ts",
  "components/oobe_cr_lottie.ts",
  "components/oobe_display_size_selector.ts",
  "components/oobe_i18n_dropdown.ts",
  "components/oobe_screens_list.ts",
  "components/oobe_slide.ts",
  "components/progress_list_item.ts",
  "components/security_token_pin.ts",
  "components/throbber_notice.ts",
  "components/quick_start_pin.ts",
  "components/quick_start_entry_point.ts",
]

components_html_files = []
foreach(f, components_ts_files) {
  components_html_files += [ string_replace(f, ".ts", ".html") ]
}

components_html_wrapped_files = []
foreach(f, components_html_files) {
  components_html_wrapped_files += [ string_replace(f, ".html", ".html.ts") ]
}

# The following components do not have corresponding html files, we are adding
# them after the list of html files has been populated
components_ts_files += [
  "components/display_manager_types.ts",
  "components/keyboard_utils.ts",
  "components/keyboard_utils_oobe.ts",
  "components/long_touch_detector.ts",
  "components/oobe_select.ts",
  "components/oobe_types.ts",
  "components/qr_code_canvas.ts",
  "components/web_view_helper.ts",
  "components/web_view_loader.ts",
]

unconditional_autogenerated_files +=
    oobe_screens_ts_files + oobe_screens_html_wrapped_files +
    common_screens_ts_files + common_screens_html_wrapped_files +
    login_screens_ts_files + login_screens_html_wrapped_files +
    osauth_screens_ts_files + osauth_screens_html_wrapped_files +
    dialogs_ts_files + dialogs_html_wrapped_files + buttons_ts_files +
    buttons_html_wrapped_files + components_ts_files +
    components_html_wrapped_files
