chromium/ash/webui/common/resources/cr_elements/BUILD.gn

# 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.

import("//build/config/chromeos/ui_mode.gni")
import("//ui/webui/resources/tools/build_webui.gni")

assert(is_chromeos_ash)

build_webui("build") {
  grd_prefix = "ash_common_cr_elements"

  web_component_files = [
    "cr_a11y_announcer/cr_a11y_announcer.ts",
    "cr_action_menu/cr_action_menu.ts",
    "cr_button/cr_button.ts",
    "cr_checkbox/cr_checkbox.ts",
    "cr_dialog/cr_dialog.ts",
    "cr_drawer/cr_drawer.ts",
    "cr_expand_button/cr_expand_button.ts",
    "cr_icon_button/cr_icon_button.ts",
    "cr_input/cr_input.ts",
    "cr_link_row/cr_link_row.ts",
    "cr_lottie/cr_lottie.ts",
    "cr_radio_button/cr_card_radio_button.ts",
    "cr_radio_button/cr_radio_button.ts",
    "cr_radio_group/cr_radio_group.ts",
    "cr_search_field/cr_search_field.ts",
    "cr_searchable_drop_down/cr_searchable_drop_down.ts",
    "cr_slider/cr_slider.ts",
    "cr_tab_box/cr_tab_box.ts",
    "cr_tabs/cr_tabs.ts",
    "cr_textarea/cr_textarea.ts",
    "cr_toast/cr_toast.ts",
    "cr_toast/cr_toast_manager.ts",
    "cr_toggle/cr_toggle.ts",
    "cr_toolbar/cr_toolbar.ts",
    "cr_toolbar/cr_toolbar_search_field.ts",
    "cr_toolbar/cr_toolbar_selection_overlay.ts",
    "cr_view_manager/cr_view_manager.ts",
    "localized_link/localized_link.ts",
    "policy/cr_policy_indicator.ts",
    "policy/cr_policy_pref_indicator.ts",
    "policy/cr_tooltip_icon.ts",
  ]

  non_web_component_files = [
    "cr_auto_img/cr_auto_img.ts",
    "cr_container_shadow_mixin.ts",
    "cr_lazy_render/cr_lazy_render.ts",
    "cr_menu_selector/cr_menu_selector.ts",
    "cr_scrollable_mixin.ts",
    "find_shortcut_mixin.ts",
    "focus_row_mixin.ts",
    "i18n_mixin.ts",
    "list_property_update_mixin.ts",
    "cr_radio_button/cr_radio_button_mixin.ts",
    "cr_search_field/cr_search_field_mixin.ts",
    "policy/cr_policy_indicator_mixin.ts",
    "store_client/store_client.ts",
    "web_ui_listener_mixin.ts",
  ]

  icons_html_files = [ "icons.html" ]

  css_files = [
    "action_link.css",
    "cros_color_overrides.css",
    "cr_actionable_row_style.css",
    "cr_hidden_style.css",
    "cr_icons.css",
    "cr_input/cr_input_style.css",
    "cr_nav_menu_item_style.css",
    "cr_page_host_style.css",
    "cr_radio_button/cr_radio_button_style.css",
    "cr_shared_style.css",
    "cr_shared_vars.css",
    "md_select.css",
    "search_highlight_style.css",
  ]
  html_to_wrapper_template = "detect"

  ts_out_dir =
      "$root_gen_dir/ash/webui/common/resources/preprocessed/cr_elements"
  ts_composite = true
  ts_deps = [
    "//third_party/polymer/v3_0:library",
    "//ui/webui/resources/js:build_ts",
  ]
  ts_definitions = [
    "//tools/typescript/definitions/chrome_event.d.ts",
    "//tools/typescript/definitions/pending.d.ts",
    "//tools/typescript/definitions/settings_private.d.ts",
  ]

  webui_context_type = "relative"
  generate_grdp = true
  grd_resource_path_prefix = "ash/common/cr_elements"
}