blob: 9326194add4279a5400928fc34ce49c04e8b895b [file] [log] [blame]
<link rel="import" href="chrome://resources/html/polymer.html">
<link rel="import" href="chrome://resources/cr_elements/cr_drawer/cr_drawer.html">
<link rel="import" href="chrome://resources/cr_elements/cr_toolbar/cr_toolbar.html">
<link rel="import" href="chrome://resources/cr_elements/icons.html">
<link rel="import" href="chrome://resources/polymer/v1_0/paper-styles/color.html">
<link rel="import" href="../direction_delegate.html">
<link rel="import" href="../global_scroll_target_behavior.html">
<link rel="import" href="../i18n_setup.html">
<link rel="import" href="../icons.html">
<link rel="import" href="../settings_main/settings_main.html">
<link rel="import" href="../settings_menu/settings_menu.html">
<link rel="import" href="../settings_shared_css.html">
<link rel="import" href="../page_visibility.html">
<link rel="import" href="../prefs/prefs.html">
<link rel="import" href="../route.html">
<link rel="import" href="../settings_vars_css.html">
<if expr="chromeos">
<link rel="import" href="chrome://resources/cr_elements/chromeos/network/cr_onc_types.html">
</if>
<dom-module id="settings-ui">
<template>
<style include="settings-shared">
:host {
@apply(--layout-fit);
color: var(--primary-text-color);
display: flex;
flex-direction: column;
line-height: 154%; /* Apply 20px line-height to all texts by default. */
overflow: hidden; /* Prevent double scroll bar bugs. */
user-select: text;
}
.last {
display: flex;
justify-content: flex-end;
width: 100%;
}
dialog[is='cr-drawer'] {
z-index: 2;
}
cr-toolbar {
@apply(--layout-center);
--cr-toolbar-field-width: var(--settings-card-max-width);
--iron-icon-fill-color: white;
background-color: var(--google-blue-700);
color: white;
min-height: 56px;
z-index: 2;
}
#container {
flex: 1;
overflow: overlay;
position: relative;
}
#dropShadow {
/* TODO(dpapad): This box-shadow is repeated in Settings, History and
Downloads. Define a CSS variable instead and re-use. */
box-shadow: inset 0 5px 6px -3px rgba(0, 0, 0, 0.4);
height: 6px;
left: 0;
opacity: 0;
pointer-events: none;
position: absolute;
right: 0;
top: 56px;
transition: opacity 500ms;
z-index: 1;
}
#dropShadow.has-shadow {
opacity: 1;
}
</style>
<settings-prefs id="prefs" prefs="{{prefs}}"></settings-prefs>
<cr-toolbar page-name="$i18n{settings}"
clear-label="$i18n{clearSearch}"
search-prompt="$i18n{searchPrompt}"
on-cr-toolbar-menu-tap="onMenuButtonTap_"
spinner-active="[[toolbarSpinnerActive_]]"
menu-label="$i18n{menuButtonLabel}"
on-search-changed="onSearchChanged_"
role="banner"
show-menu>
</cr-toolbar>
<dialog id="drawer" is="cr-drawer" on-close="onMenuClosed_"
heading="$i18n{settings}">
<div class="drawer-content">
<template is="dom-if" id="drawerTemplate">
<settings-menu page-visibility="[[pageVisibility_]]"
show-android-apps="[[showAndroidApps_]]"
show-multidevice="[[showMultidevice_]]"
have-play-store-app="[[havePlayStoreApp_]]"
on-iron-activate="onIronActivate_"
advanced-opened="{{advancedOpened_}}">
</settings-menu>
</template>
</div>
</dialog>
<div id="dropShadow"></div>
<div id="container" class="no-outline">
<!-- Used by IntersectionObserver, has a 0px height intentionally -->
<div id="intersectionProbe"></div>
<settings-main id="main" prefs="{{prefs}}"
toolbar-spinner-active="{{toolbarSpinnerActive_}}"
page-visibility="[[pageVisibility_]]"
show-android-apps="[[showAndroidApps_]]"
show-multidevice="[[showMultidevice_]]"
have-play-store-app="[[havePlayStoreApp_]]"
advanced-toggle-expanded="{{advancedOpened_}}">
</settings-main>
</div>
</template>
<script src="settings_ui.js"></script>
</dom-module>