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

import("//third_party/closure_compiler/compile_js.gni")

js_type_check("closure_compile") {
  deps = [
    ":pin_keyboard",
    ":setup_pin_keyboard",
  ]
}

js_library("pin_keyboard") {
  deps = [
    "//third_party/polymer/v1_0/components-chromium/paper-button:paper-button-extracted",
    "//ui/webui/resources/cr_elements/cr_input:cr_input",
    "//ui/webui/resources/js:i18n_behavior",
  ]
}

js_library("lock_screen_constants") {
  deps = [
    "//ui/webui/resources/cr_elements/cr_profile_avatar_selector:cr_profile_avatar_selector",
    "//ui/webui/resources/js:cr",
  ]
}

js_library("setup_pin_keyboard") {
  deps = [
    ":lock_screen_constants",
    ":pin_keyboard",
    "//ui/webui/resources/cr_components/chromeos/quick_unlock:lock_screen_constants",
    "//ui/webui/resources/js:i18n_behavior",
  ]
  externs_list = [ "$externs_path/quick_unlock_private.js" ]
  extra_sources = [ "$interfaces_path/quick_unlock_private_interface.js" ]
}
